tebako 0.5.6 → 0.5.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CMakeLists.txt +5 -5
- data/README.adoc +1 -1
- data/common.env +1 -1
- data/lib/tebako/version.rb +1 -1
- data/tools/.github/workflows/lint.yml +2 -2
- data/tools/.github/workflows/test.yml +124 -0
- data/tools/.gitignore +1 -0
- data/tools/README.md +44 -0
- data/tools/ci-scripts/patch-fbthrift.sh +21 -1
- data/tools/ci-scripts/patch-folly.sh +70 -42
- data/tools/ci-scripts/tools.sh +63 -0
- data/tools/cmake-scripts/macos-environment.cmake +8 -31
- data/tools/cmake-scripts/setup-libarchive.cmake +92 -0
- data/tools/cmake-scripts/setup-libhowardhinnerdate.cmake +55 -0
- data/tools/cmake-scripts/setup-libutfcpp.cmake +56 -0
- data/tools/{ci-scripts/patch-system-includes.sh → tests/setup-libhowardhinnerdate/CMakeLists.txt} +8 -32
- data/tools/tests/setup-librachive/CMakeLists.txt +35 -0
- data/tools/tests/setup-libutfcpp/CMakeLists.txt +36 -0
- data/version.txt +1 -1
- metadata +11 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c758db2eabf150fbf355a8846ecc907ddc2fc4db251f65f79c74ff9c0d85e137
|
4
|
+
data.tar.gz: 9b2f3b78678594306ae38be14023ba4f5055367b63dec4dc174979afb9b93f41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 76dd4f8812f2290dfcb2e20d7a7f3bb4ec254f7848ea01c79722321170346d35c64caf1ea1f78f42995ee6f143aa8a7b7d8fa5e8bce63b13d944169a4fb175eb
|
7
|
+
data.tar.gz: f2189d1b528edb7bba57c93030d52c2ee59c204810d39e068ded7a2f08644426ce1101c008c4f5dea49f01c7567a5b235ccf46102fd2d19813844050fa760b3d
|
data/CMakeLists.txt
CHANGED
@@ -177,7 +177,7 @@ elseif("${OSTYPE_TXT}" MATCHES "^darwin.*")
|
|
177
177
|
else(${RUBY_VER} VERSION_LESS "3.1.0")
|
178
178
|
set(OPENSSL_VER "3")
|
179
179
|
endif(${RUBY_VER} VERSION_LESS "3.1.0")
|
180
|
-
set(BUILD_OPENSSL_ROOT_DIR "${
|
180
|
+
set(BUILD_OPENSSL_ROOT_DIR "${BREW_PREFIX}/opt/openssl@${OPENSSL_VER}")
|
181
181
|
endif()
|
182
182
|
|
183
183
|
if(IS_DARWIN)
|
@@ -243,7 +243,7 @@ if(IS_MSYS)
|
|
243
243
|
endif(IS_MSYS)
|
244
244
|
|
245
245
|
def_ext_prj_g(INCBIN "348e36b")
|
246
|
-
def_ext_prj_g(DWARFS_WR "v0.4.
|
246
|
+
def_ext_prj_g(DWARFS_WR "v0.4.3")
|
247
247
|
|
248
248
|
find_library(_LIBNCURSES "libncurses.a")
|
249
249
|
if(${_LIBNCURSES} STREQUAL "_LIBNCURSES-NOTFOUND")
|
@@ -428,9 +428,9 @@ endif()
|
|
428
428
|
set(C_FLAGS_DEST cppflags)
|
429
429
|
|
430
430
|
if(IS_DARWIN)
|
431
|
-
string(CONCAT RUBY_C_FLAGS ${RUBY_C_FLAGS} " -I${
|
432
|
-
string(CONCAT RUBY_L_FLAGS ${RUBY_L_FLAGS} " -L${
|
433
|
-
set(OPENSSL_RUBY_OPTION "--with-openssl-dir=${
|
431
|
+
string(CONCAT RUBY_C_FLAGS ${RUBY_C_FLAGS} " -I${BREW_PREFIX}/opt/openssl@${OPENSSL_VER}/include -I${BREW_PREFIX}/opt/zlib/include -I${BREW_PREFIX}/include")
|
432
|
+
string(CONCAT RUBY_L_FLAGS ${RUBY_L_FLAGS} " -L${BREW_PREFIX}/opt/openssl@${OPENSSL_VER}/lib -L${BREW_PREFIX}/opt/zlib/lib -L${BREW_PREFIX}/lib")
|
433
|
+
set(OPENSSL_RUBY_OPTION "--with-openssl-dir=${BREW_PREFIX}/opt/openssl@${OPENSSL_VER}")
|
434
434
|
set(C_FLAGS_DEST cflags)
|
435
435
|
else(IS_DARWIN)
|
436
436
|
string(CONCAT RUBY_L_FLAGS ${RUBY_L_FLAGS} " -static-libgcc")
|
data/README.adoc
CHANGED
@@ -34,7 +34,7 @@ In the future:
|
|
34
34
|
The Tebako packager is tested on the following platforms:
|
35
35
|
|
36
36
|
* Linux: Ubuntu 20.04; Alpine 3.17
|
37
|
-
* macOS: macOS 11
|
37
|
+
* macOS: macOS 11 (Big Sur), 12 (Monterey), 13 (Ventura)
|
38
38
|
* Windows: TBD
|
39
39
|
|
40
40
|
== Supported Ruby versions
|
data/common.env
CHANGED
data/lib/tebako/version.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
|
1
|
+
# Copyright (c) 2022-2024, [Ribose Inc](https://www.ribose.com).
|
2
2
|
# All rights reserved.
|
3
3
|
# This file is a part of tebako
|
4
4
|
#
|
@@ -35,7 +35,7 @@ jobs:
|
|
35
35
|
shellcheck:
|
36
36
|
runs-on: ubuntu-latest
|
37
37
|
steps:
|
38
|
-
- uses: actions/checkout@
|
38
|
+
- uses: actions/checkout@v4
|
39
39
|
- uses: ludeeus/action-shellcheck@master
|
40
40
|
env:
|
41
41
|
SHELLCHECK_OPTS: -x
|
@@ -0,0 +1,124 @@
|
|
1
|
+
# Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
|
2
|
+
# All rights reserved.
|
3
|
+
# This file is a part of tebako
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions
|
7
|
+
# are met:
|
8
|
+
# 1. Redistributions of source code must retain the above copyright
|
9
|
+
# notice, this list of conditions and the following disclaimer.
|
10
|
+
# 2. Redistributions in binary form must reproduce the above copyright
|
11
|
+
# notice, this list of conditions and the following disclaimer in the
|
12
|
+
# documentation and/or other materials provided with the distribution.
|
13
|
+
#
|
14
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
15
|
+
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
16
|
+
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
17
|
+
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
18
|
+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
19
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
20
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
21
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
22
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
23
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
24
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
|
26
|
+
name: test
|
27
|
+
|
28
|
+
on:
|
29
|
+
push:
|
30
|
+
branches: [ master ]
|
31
|
+
pull_request:
|
32
|
+
workflow_dispatch:
|
33
|
+
|
34
|
+
concurrency:
|
35
|
+
group: '${{ github.workflow }}-${{ github.job }}-${{ github.head_ref || github.ref_name }}'
|
36
|
+
cancel-in-progress: true
|
37
|
+
|
38
|
+
jobs:
|
39
|
+
test-setup-librachive:
|
40
|
+
name: test setup-librachive on ${{ matrix.os }}
|
41
|
+
runs-on: ${{ matrix.os }}
|
42
|
+
strategy:
|
43
|
+
fail-fast: false
|
44
|
+
matrix:
|
45
|
+
os: [ ubuntu-20.04, macos-11.0 ]
|
46
|
+
steps:
|
47
|
+
- name: Checkout
|
48
|
+
uses: actions/checkout@v4
|
49
|
+
|
50
|
+
- name: Run cmake script
|
51
|
+
run: |
|
52
|
+
cmake -B build/setup-librachive -DROOT=$PWD tests/setup-librachive
|
53
|
+
cmake --build build/setup-librachive
|
54
|
+
|
55
|
+
- name: Test setup-librachive
|
56
|
+
run: |
|
57
|
+
set -o errexit -o pipefail -o noclobber -o nounset
|
58
|
+
test -f build/setup-librachive/deps/lib/pkgconfig/libarchive.pc
|
59
|
+
test -f build/setup-librachive/deps/lib/libarchive.so || test -f build/setup-librachive/deps/lib/libarchive.dylib
|
60
|
+
test -f build/setup-librachive/deps/lib/libarchive.a
|
61
|
+
test -f build/setup-librachive/deps/include/archive.h
|
62
|
+
test -f build/setup-librachive/deps/include/archive_entry.h
|
63
|
+
|
64
|
+
test-setup-libutfcpp:
|
65
|
+
name: test setup-libutfcpp on ${{ matrix.os }}
|
66
|
+
runs-on: ${{ matrix.os }}
|
67
|
+
strategy:
|
68
|
+
fail-fast: false
|
69
|
+
matrix:
|
70
|
+
os: [ ubuntu-20.04, macos-11.0 ]
|
71
|
+
steps:
|
72
|
+
- name: Checkout
|
73
|
+
uses: actions/checkout@v4
|
74
|
+
|
75
|
+
- name: Run cmake script
|
76
|
+
run: |
|
77
|
+
cmake -B build/setup-libutfcpp -DROOT=$PWD tests/setup-libutfcpp
|
78
|
+
cmake --build build/setup-libutfcpp
|
79
|
+
|
80
|
+
- name: Test setup-libutfcpp
|
81
|
+
run: |
|
82
|
+
set -o errexit -o pipefail -o noclobber -o nounset
|
83
|
+
test -f build/setup-libutfcpp/deps/include/utf8.h
|
84
|
+
test -d build/setup-libutfcpp/deps/include/utf8
|
85
|
+
|
86
|
+
test-setup-libhowardhinnerdate:
|
87
|
+
name: test setup-libhowardhinnerdate on ${{ matrix.os }}
|
88
|
+
runs-on: ${{ matrix.os }}
|
89
|
+
strategy:
|
90
|
+
fail-fast: false
|
91
|
+
matrix:
|
92
|
+
os: [ ubuntu-20.04, macos-11.0 ]
|
93
|
+
steps:
|
94
|
+
- name: Checkout
|
95
|
+
uses: actions/checkout@v4
|
96
|
+
|
97
|
+
- name: Run cmake script
|
98
|
+
run: |
|
99
|
+
cmake -B build/setup-libhowardhinnerdate -DROOT=$PWD tests/setup-libhowardhinnerdate
|
100
|
+
cmake --build build/setup-libhowardhinnerdate
|
101
|
+
|
102
|
+
- name: Test setup-libhowardhinnerdate
|
103
|
+
run: |
|
104
|
+
set -o errexit -o pipefail -o noclobber -o nounset
|
105
|
+
test -f build/setup-libhowardhinnerdate/deps/include/date/date.h
|
106
|
+
|
107
|
+
test-cross-brew-install:
|
108
|
+
name: test arm-brew-setup/install
|
109
|
+
runs-on: macos-11.0
|
110
|
+
steps:
|
111
|
+
- name: Checkout
|
112
|
+
uses: actions/checkout@v4
|
113
|
+
|
114
|
+
- name: Run arm-brew-setup
|
115
|
+
run: ci-scripts/arm-brew-setup.sh $PWD
|
116
|
+
|
117
|
+
- name: Run arm-brew-install
|
118
|
+
run: ci-scripts/arm-brew-install.sh $PWD glog
|
119
|
+
|
120
|
+
- name: Test
|
121
|
+
run: |
|
122
|
+
set -o errexit -o pipefail -o noclobber -o nounset
|
123
|
+
test -f $PWD/arm-homebrew/lib/libgflags.dylib
|
124
|
+
test -f $PWD/arm-homebrew/lib/libglog.dylib
|
data/tools/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
build/
|
data/tools/README.md
CHANGED
@@ -1,5 +1,49 @@
|
|
1
1
|
[![lint](https://github.com/tamatebako/macos-cross-compile/actions/workflows/lint.yml/badge.svg)](https://github.com/tamatebako/macos-cross-compile/actions/workflows/lint.yml)
|
2
|
+
[![test](https://github.com/tamatebako/tebako-tools/actions/workflows/test.yml/badge.svg)](https://github.com/tamatebako/tebako-tools/actions/workflows/test.yml)
|
2
3
|
|
3
4
|
## Tebako portability tools ##
|
4
5
|
|
5
6
|
This repository contains cmake, shell scripts and include files aimed to support tebako builds on different platforms.
|
7
|
+
|
8
|
+
## Homebrew cross-installation scripts ##
|
9
|
+
|
10
|
+
Sometimes you need to build MacOS application in a foreign environment. For example, GitHub Actions provides x86 runners only, but you may need to build and package arm64 binary.
|
11
|
+
Most of the applications rely on external dependencies, so on MacOS you will require a method to use another instance of homebrew to support the target environment.
|
12
|
+
|
13
|
+
Among other tools this repository provides a set of simple scripts to cross install homebrew dependencies
|
14
|
+
|
15
|
+
### arm64 packages on x86_64 system
|
16
|
+
|
17
|
+
```
|
18
|
+
arm-brew-install <arm brew parent folder>
|
19
|
+
arm-brew-setup <arm brew folder> <formula to install 1> ... <formula to install 1>
|
20
|
+
```
|
21
|
+
|
22
|
+
For example
|
23
|
+
|
24
|
+
```
|
25
|
+
arm-brew-install ~/test
|
26
|
+
arm-brew-setup ~/test glog gflags
|
27
|
+
```
|
28
|
+
|
29
|
+
Will create arm brew environment in ~/test/arm-homebrew and install glog and gflags formulae there
|
30
|
+
|
31
|
+
|
32
|
+
### x86_64 packages on arm system
|
33
|
+
|
34
|
+
```
|
35
|
+
x86_64-brew-install <x86_64 brew parent folder>
|
36
|
+
x86_64-brew-setup <x86_64 brew folder> <formula to install 1> ... <formula to install 1>
|
37
|
+
```
|
38
|
+
|
39
|
+
For example
|
40
|
+
|
41
|
+
```
|
42
|
+
x86_64-brew-install ~/test
|
43
|
+
x86_64-brew-setup ~/test glog gflags
|
44
|
+
```
|
45
|
+
|
46
|
+
Will create x86_64 brew environment in ~/test/x86_64-homebrew and install glog and gflags formulae there
|
47
|
+
|
48
|
+
There are related discussions at https://github.com/orgs/Homebrew/discussions/2843
|
49
|
+
and https://stackoverflow.com/questions/70821136/can-i-install-arm64-libraries-on-x86-64-with-homebrew/70822921#70822921
|
@@ -35,7 +35,12 @@ restore_and_save() {
|
|
35
35
|
|
36
36
|
do_patch() {
|
37
37
|
restore_and_save "$1"
|
38
|
-
|
38
|
+
"$gSed" -i "s/$2/$3/g" "$1"
|
39
|
+
}
|
40
|
+
|
41
|
+
do_patch_multiline() {
|
42
|
+
restore_and_save "$1"
|
43
|
+
"$gSed" -i "s/$re/${sbst//$'\n'/"\\n"}/g" "$1"
|
39
44
|
}
|
40
45
|
|
41
46
|
# ....................................................
|
@@ -80,6 +85,21 @@ restore_and_save "$1/CMakeLists.txt"
|
|
80
85
|
re="find_package(OpenSSL REQUIRED)"
|
81
86
|
"$gSed" -i "s/$re/${sbst//$'\n'/"\\n"}/g" "$1/CMakeLists.txt"
|
82
87
|
|
88
|
+
# GCC 13 compatibility
|
89
|
+
# --- thrift/compiler/lib/cpp2/util.cc ---
|
90
|
+
re="#include <stdexcept>"
|
91
|
+
# shellcheck disable=SC2251
|
92
|
+
! IFS= read -r -d '' sbst << EOM
|
93
|
+
#include <stdexcept>
|
94
|
+
|
95
|
+
\/* -- Start of tebako patch -- *\/
|
96
|
+
#include <cstdint>
|
97
|
+
\/* -- End of tebako patch -- *\/
|
98
|
+
EOM
|
99
|
+
|
100
|
+
do_patch_multiline "$1/thrift/compiler/lib/cpp2/util.cc"
|
101
|
+
|
102
|
+
|
83
103
|
if [[ "$OSTYPE" == "msys" ]]; then
|
84
104
|
re="if(WIN32)"
|
85
105
|
sbst="if(MSVC) # tebako patched"
|
@@ -1,5 +1,5 @@
|
|
1
1
|
#! /bin/bash
|
2
|
-
# Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
|
2
|
+
# Copyright (c) 2022-2023, [Ribose Inc](https://www.ribose.com).
|
3
3
|
# All rights reserved.
|
4
4
|
# This file is a part of tebako
|
5
5
|
#
|
@@ -26,6 +26,12 @@
|
|
26
26
|
|
27
27
|
set -o errexit -o pipefail -o noclobber -o nounset
|
28
28
|
|
29
|
+
if [[ "$OSTYPE" == "darwin"* ]]; then
|
30
|
+
GNU_SED="gsed"
|
31
|
+
else
|
32
|
+
GNU_SED="sed"
|
33
|
+
fi
|
34
|
+
|
29
35
|
# ....................................................
|
30
36
|
restore_and_save() {
|
31
37
|
echo "Patching $1"
|
@@ -35,12 +41,12 @@ restore_and_save() {
|
|
35
41
|
|
36
42
|
do_patch() {
|
37
43
|
restore_and_save "$1"
|
38
|
-
|
44
|
+
"$GNU_SED" -i "s/$2/$3/g" "$1"
|
39
45
|
}
|
40
46
|
|
41
47
|
do_patch_multiline() {
|
42
48
|
restore_and_save "$1"
|
43
|
-
|
49
|
+
"$GNU_SED" -i "s/$re/${sbst//$'\n'/"\\n"}/g" "$1"
|
44
50
|
}
|
45
51
|
|
46
52
|
defined_win32_to_msc_ver() {
|
@@ -50,7 +56,7 @@ defined_win32_to_msc_ver() {
|
|
50
56
|
|
51
57
|
re="#ifdef _WIN32"
|
52
58
|
sbst="#ifdef _MSC_VER \/* tebako patched *\/ "
|
53
|
-
|
59
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
54
60
|
}
|
55
61
|
|
56
62
|
defined_n_win32_to_msc_ver() {
|
@@ -60,7 +66,7 @@ defined_n_win32_to_msc_ver() {
|
|
60
66
|
|
61
67
|
re="#ifndef _WIN32"
|
62
68
|
sbst="#ifndef _MSC_VER \/* tebako patched *\/ "
|
63
|
-
|
69
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
64
70
|
}
|
65
71
|
|
66
72
|
defined_msc_ver_to_win32() {
|
@@ -70,7 +76,7 @@ defined_msc_ver_to_win32() {
|
|
70
76
|
|
71
77
|
re="#ifdef _MSC_VER"
|
72
78
|
sbst="#ifdef _WIN32 \/* tebako patched *\/ "
|
73
|
-
|
79
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
74
80
|
}
|
75
81
|
|
76
82
|
funky_stdio_patch() {
|
@@ -80,11 +86,11 @@ funky_stdio_patch() {
|
|
80
86
|
|
81
87
|
re="FILE\* popen(const char\* name, const char\* mode)"
|
82
88
|
sbst="FILE* _folly_popen(const char* name, const char* mode) \/* tebako patched *\/"
|
83
|
-
|
89
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
84
90
|
|
85
91
|
re="int vasprintf(char\*\* dest, const char\* format, va_list ap)"
|
86
92
|
sbst="int _folly_vasprintf(char** dest, const char* format, va_list ap) \/* tebako patched *\/"
|
87
|
-
|
93
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
88
94
|
}
|
89
95
|
|
90
96
|
funky_sysstat_patch() {
|
@@ -94,15 +100,15 @@ funky_sysstat_patch() {
|
|
94
100
|
|
95
101
|
re="int mkdir(const char\* fn, int mode)"
|
96
102
|
sbst="int _folly_mkdir(const char* fn, int mode) \/* tebako patched *\/"
|
97
|
-
|
103
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
98
104
|
|
99
105
|
re="int mkdir(const char\* fn, int \/\* mode \*\/)"
|
100
106
|
sbst="int _folly_mkdir(const char* fn, int \/* mode *\/) \/* tebako patched *\/"
|
101
|
-
|
107
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
102
108
|
|
103
109
|
re="int umask(int md)"
|
104
110
|
sbst="int _folly_umask(int md) \/* tebako patched *\/"
|
105
|
-
|
111
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
106
112
|
}
|
107
113
|
|
108
114
|
funky_string_patch() {
|
@@ -112,7 +118,7 @@ funky_string_patch() {
|
|
112
118
|
|
113
119
|
re="int strncasecmp(const char\* a, const char\* b, size_t c)"
|
114
120
|
sbst="int _folly_strncasecmp(const char* a, const char* b, size_t c) \/* tebako patched *\/"
|
115
|
-
|
121
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
116
122
|
}
|
117
123
|
|
118
124
|
funky_time_patch() {
|
@@ -122,11 +128,11 @@ funky_time_patch() {
|
|
122
128
|
|
123
129
|
re="tm\* gmtime_r(const time_t\* t, tm\* res)"
|
124
130
|
sbst="tm* _folly_gmtime_r(const time_t* t, tm* res) \/* tebako patched *\/"
|
125
|
-
|
131
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
126
132
|
|
127
133
|
re="tm\* localtime_r(const time_t\* t, tm\* o)"
|
128
134
|
sbst="tm* _folly_localtime_r(const time_t* t, tm* o) \/* tebako patched *\/"
|
129
|
-
|
135
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1"
|
130
136
|
}
|
131
137
|
|
132
138
|
funky_formatter_patch() {
|
@@ -138,13 +144,13 @@ funky_formatter_patch() {
|
|
138
144
|
if [[ "$OSTYPE" == "linux-musl"* ]]; then
|
139
145
|
# https://github.com/facebook/folly/issues/1478
|
140
146
|
re="#elif defined(__FreeBSD__)"
|
141
|
-
sbst="#
|
147
|
+
sbst="#elif defined(__FreeBSD__) || defined(__musl__) \/* Tebako patched *\/"
|
142
148
|
do_patch "$1/folly/experimental/symbolizer/Elf.cpp" "$re" "$sbst"
|
143
149
|
|
144
150
|
restore_and_save "$1/CMake/FollyConfigChecks.cmake"
|
145
151
|
re="FOLLY_HAVE_IFUNC"
|
146
152
|
sbst="FOLLY_HAVE_IFUNC_NOT_PATCHED"
|
147
|
-
|
153
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/CMake/FollyConfigChecks.cmake"
|
148
154
|
|
149
155
|
re="set(CMAKE_REQUIRED_FLAGS \"\${FOLLY_ORIGINAL_CMAKE_REQUIRED_FLAGS}\")"
|
150
156
|
|
@@ -164,7 +170,29 @@ check_cxx_source_runs(\"
|
|
164
170
|
# -- End of tebako patch --
|
165
171
|
EOM
|
166
172
|
|
167
|
-
|
173
|
+
"$GNU_SED" -i "s/$re/${sbst//$'\n'/"\\n"}/g" "$1/CMake/FollyConfigChecks.cmake"
|
174
|
+
|
175
|
+
elif [[ "$OSTYPE" == "darwin"* ]]; then
|
176
|
+
re=" set(OPENSSL_ROOT_DIR \"\/usr\/local\/opt\/openssl\" )"
|
177
|
+
|
178
|
+
# shellcheck disable=SC2251
|
179
|
+
! IFS= read -r -d '' sbst << EOM
|
180
|
+
# -- Start of tebako patch --
|
181
|
+
if (NOT OPENSSL_ROOT_DIR)
|
182
|
+
set(OPENSSL_ROOT_DIR \"\/usr\/local\/opt\/openssl\")
|
183
|
+
endif(NOT OPENSSL_ROOT_DIR)
|
184
|
+
# -- End of tebako patch --
|
185
|
+
EOM
|
186
|
+
|
187
|
+
do_patch_multiline "$1/CMakeLists.txt" "$re" "$sbst"
|
188
|
+
|
189
|
+
re="set(OPENSSL_LIBRARIES \"\/usr\/local\/opt\/openssl\/lib\" )"
|
190
|
+
sbst="set(OPENSSL_LIBRARIES \"\${OPENSSL_ROOT_DIR}\/lib\") # tebako patched"
|
191
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/CMakeLists.txt"
|
192
|
+
|
193
|
+
re="set(OPENSSL_INCLUDE_DIR \"\/usr\/local\/opt\/openssl\/include\" )"
|
194
|
+
sbst="set(OPENSSL_INCLUDE_DIR \"\${OPENSSL_ROOT_DIR}\/include\") # tebako patched"
|
195
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/CMakeLists.txt"
|
168
196
|
|
169
197
|
elif [[ "$OSTYPE" == "msys"* ]]; then
|
170
198
|
# --- folly/portability/Stdlib.h ---
|
@@ -184,11 +212,11 @@ elif [[ "$OSTYPE" == "msys"* ]]; then
|
|
184
212
|
|
185
213
|
re="using mode_t = unsigned int;"
|
186
214
|
sbst="\/* using mode_t = unsigned int; --- tebako patched *\/"
|
187
|
-
|
215
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/portability/SysTypes.h"
|
188
216
|
|
189
217
|
re="using uid_t = int;"
|
190
218
|
sbst="using uid_t = short; \/* --- tebako patched *\/"
|
191
|
-
|
219
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/portability/SysTypes.h"
|
192
220
|
|
193
221
|
re="using gid_t = int;"
|
194
222
|
# shellcheck disable=SC2251
|
@@ -196,7 +224,7 @@ elif [[ "$OSTYPE" == "msys"* ]]; then
|
|
196
224
|
using gid_t = short; \/* --- tebako patched *\/
|
197
225
|
using nlink_t = short; \/* --- tebako patched *\/
|
198
226
|
EOM
|
199
|
-
|
227
|
+
"$GNU_SED" -i "s/$re/${sbst//$'\n'/"\\n"}/g" "$1/folly/portability/SysTypes.h"
|
200
228
|
|
201
229
|
# --- folly/portability/SysStat.cpp ---
|
202
230
|
funky_sysstat_patch "$1/folly/portability/SysStat.cpp"
|
@@ -210,7 +238,7 @@ EOM
|
|
210
238
|
\/* -- Start of tebako patch --
|
211
239
|
#define S_IXUSR 0
|
212
240
|
EOM
|
213
|
-
|
241
|
+
"$GNU_SED" -i "s/$re/${sbst//$'\n'/"\\n"}/g" "$1/folly/portability/SysStat.h"
|
214
242
|
|
215
243
|
re="#define S_ISREG(mode) (((mode) & (_S_IFREG)) == (_S_IFREG) ? 1 : 0)"
|
216
244
|
# shellcheck disable=SC2251
|
@@ -223,7 +251,7 @@ EOM
|
|
223
251
|
|
224
252
|
\/* -- End of tebako patch -- *\/
|
225
253
|
EOM
|
226
|
-
|
254
|
+
"$GNU_SED" -i "s/$re/${sbst//$'\n'/"\\n"}/g" "$1/folly/portability/SysStat.h"
|
227
255
|
|
228
256
|
# --- folly/portability/SysTime.h ---
|
229
257
|
re="int gettimeofday(timeval\* tv, folly_port_struct_timezone\*);"
|
@@ -234,54 +262,54 @@ EOM
|
|
234
262
|
defined_msc_ver_to_win32 "$1/folly/FileUtil.cpp"
|
235
263
|
re="(open,"
|
236
264
|
sbst="(\/* tebako patched *\/ folly::portability::fcntl::open,"
|
237
|
-
|
265
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/FileUtil.cpp"
|
238
266
|
|
239
267
|
re="close(tmpFD)"
|
240
268
|
sbst="\/* tebako patched *\/ folly::portability::unistd::close(tmpFD)"
|
241
|
-
|
269
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/FileUtil.cpp"
|
242
270
|
|
243
271
|
re="(close(fd))"
|
244
272
|
sbst="(\/* tebako patched *\/ folly::portability::unistd::close(fd))"
|
245
|
-
|
273
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/FileUtil.cpp"
|
246
274
|
|
247
275
|
re="(read,"
|
248
276
|
sbst="(\/* tebako patched *\/ folly::portability::unistd::read,"
|
249
|
-
|
277
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/FileUtil.cpp"
|
250
278
|
|
251
279
|
re="(write,"
|
252
280
|
sbst="(\/* tebako patched *\/ folly::portability::unistd::write,"
|
253
|
-
|
281
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/FileUtil.cpp"
|
254
282
|
|
255
283
|
re="(dup,"
|
256
284
|
sbst="(\/* tebako patched *\/ folly::portability::unistd::dup,"
|
257
|
-
|
285
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/FileUtil.cpp"
|
258
286
|
|
259
287
|
re="(dup2,"
|
260
288
|
sbst="(\/* tebako patched *\/ folly::portability::unistd::dup2,"
|
261
|
-
|
289
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/FileUtil.cpp"
|
262
290
|
|
263
291
|
# --- folly/experimental/TestUtil.cpp ---
|
264
292
|
defined_win32_to_msc_ver "$1/folly/experimental/TestUtil.cpp"
|
265
293
|
re="dup("
|
266
294
|
sbst="\/* tebako patched *\/ folly::portability::unistd::dup("
|
267
|
-
|
295
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/experimental/TestUtil.cpp"
|
268
296
|
|
269
297
|
re="dup2("
|
270
298
|
sbst="\/* tebako patched *\/ folly::portability::unistd::dup2("
|
271
|
-
|
299
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/experimental/TestUtil.cpp"
|
272
300
|
|
273
301
|
re="lseek("
|
274
302
|
sbst="\/* tebako patched *\/ folly::portability::unistd::lseek("
|
275
|
-
|
303
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/experimental/TestUtil.cpp"
|
276
304
|
|
277
305
|
re="(close("
|
278
306
|
sbst="(\/* tebako patched *\/ folly::portability::unistd::close("
|
279
|
-
|
307
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/experimental/TestUtil.cpp"
|
280
308
|
|
281
309
|
# --- folly/system/MemoryMapping.cpp ---
|
282
310
|
re="0 == ftruncate("
|
283
311
|
sbst="0 == \/* tebako patched *\/ folly::portability::unistd::ftruncate("
|
284
|
-
|
312
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/system/MemoryMapping.cpp"
|
285
313
|
|
286
314
|
# --- folly/portability/SysUio.cpp ---
|
287
315
|
re="lseek(fd,"
|
@@ -295,7 +323,7 @@ EOM
|
|
295
323
|
|
296
324
|
re="lseek(fd, 0,"
|
297
325
|
sbst=" \/* tebako patched *\/ folly::portability::unistd::lseek(fd, 0,"
|
298
|
-
|
326
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/portability/Unistd.cpp"
|
299
327
|
|
300
328
|
# --- folly/logging/ImmediateFileWriter.h ---
|
301
329
|
re="isatty(file"
|
@@ -314,11 +342,11 @@ EOM
|
|
314
342
|
|
315
343
|
re="int getuid();"
|
316
344
|
sbst="uid_t getuid(); \/* tebako patched *\/"
|
317
|
-
|
345
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/portability/Unistd.h"
|
318
346
|
|
319
347
|
re="int getgid();"
|
320
348
|
sbst="gid_t getgid(); \/* tebako patched *\/"
|
321
|
-
|
349
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/portability/Unistd.h"
|
322
350
|
|
323
351
|
# --- folly/portability/Fcntl.cpp ---
|
324
352
|
re="#include <folly\/portability\/Windows\.h>"
|
@@ -352,7 +380,7 @@ EOM
|
|
352
380
|
#ifndef __MINGW32__ \/* -- Tebako patched -- *\/
|
353
381
|
__try {
|
354
382
|
EOM
|
355
|
-
|
383
|
+
"$GNU_SED" -i "s/$re/${sbst//$'\n'/"\\n"}/g" "$1/folly/net/detail/SocketFileDescriptorMap.cpp"
|
356
384
|
|
357
385
|
re="\/\/ We're at the core, we don't get the luxery of SCOPE_EXIT because"
|
358
386
|
# shellcheck disable=SC2251
|
@@ -360,7 +388,7 @@ EOM
|
|
360
388
|
#endif \/* -- Tebako patched -- *\/
|
361
389
|
\/\/ We're at the core, we don't get the luxery of SCOPE_EXIT because
|
362
390
|
EOM
|
363
|
-
|
391
|
+
"$GNU_SED" -i "s/$re/${sbst//$'\n'/"\\n"}/g" "$1/folly/net/detail/SocketFileDescriptorMap.cpp"
|
364
392
|
|
365
393
|
# --- folly/portability/Sockets.h ---
|
366
394
|
restore_and_save "$1/folly/portability/Sockets.h"
|
@@ -378,14 +406,14 @@ EOM
|
|
378
406
|
\/* -- End of tebako patch -- *\/
|
379
407
|
|
380
408
|
EOM
|
381
|
-
|
409
|
+
"$GNU_SED" -i -i "0,/$re/s||${sbst//$'\n'/"\\n"}|g" "$1/folly/portability/Sockets.h"
|
382
410
|
|
383
411
|
# --- folly/portability/Time.cpp ---
|
384
412
|
funky_time_patch "$1/folly/portability/Time.cpp"
|
385
413
|
|
386
414
|
re="(asctime_s(tmpBuf, tm))"
|
387
415
|
sbst="(asctime_s(tmpBuf, 64\/* tebako patched *\/, tm))"
|
388
|
-
|
416
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/portability/Time.cpp"
|
389
417
|
|
390
418
|
# ---
|
391
419
|
re="#if (defined(USE_JEMALLOC) || FOLLY_USE_JEMALLOC) && !FOLLY_SANITIZE"
|
@@ -418,7 +446,7 @@ EOM
|
|
418
446
|
|
419
447
|
re="#if defined(__XROS__)"
|
420
448
|
sbst="#if defined(__XROS__) || defined(__MINGW32__) \/* tebako patched *\/"
|
421
|
-
|
449
|
+
"$GNU_SED" -i "s/$re/$sbst/g" "$1/folly/system/ThreadName.cpp"
|
422
450
|
|
423
451
|
# ---
|
424
452
|
defined_msc_ver_to_win32 "$1/folly/external/farmhash/farmhash.cpp"
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
# Copyright (c) 2023, [Ribose Inc](https://www.ribose.com).
|
3
|
+
# All rights reserved.
|
4
|
+
# This file is a part of tebako
|
5
|
+
#
|
6
|
+
# Redistribution and use in source and binary forms, with or without
|
7
|
+
# modification, are permitted provided that the following conditions
|
8
|
+
# are met:
|
9
|
+
# 1. Redistributions of source code must retain the above copyright
|
10
|
+
# notice, this list of conditions and the following disclaimer.
|
11
|
+
# 2. Redistributions in binary form must reproduce the above copyright
|
12
|
+
# notice, this list of conditions and the following disclaimer in the
|
13
|
+
# documentation and/or other materials provided with the distribution.
|
14
|
+
#
|
15
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
16
|
+
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
17
|
+
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
18
|
+
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
19
|
+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
20
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
21
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
22
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
23
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
24
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
25
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
26
|
+
|
27
|
+
set -o errexit -o pipefail -o noclobber -o nounset
|
28
|
+
|
29
|
+
: "${LOCAL_BUILDS:=/tmp/local_builds}"
|
30
|
+
: "${LOCAL_INSTALLS:=/opt}"
|
31
|
+
: "${CMAKE_VERSION:=3.26.5}"
|
32
|
+
: "${LIBARCHIVE_VERSION:=3.6.2}"
|
33
|
+
: "${ARCH:=linux-x86_64}"
|
34
|
+
|
35
|
+
install_cmake() {
|
36
|
+
echo "Running install_cmake version ${CMAKE_VERSION} for ${ARCH}"
|
37
|
+
local cmake_install="${LOCAL_BUILDS}/cmake"
|
38
|
+
mkdir -p "${cmake_install}"
|
39
|
+
pushd "${cmake_install}"
|
40
|
+
wget "https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-${ARCH}.sh"
|
41
|
+
chmod +x "cmake-${CMAKE_VERSION}-${ARCH}.sh"
|
42
|
+
"./cmake-${CMAKE_VERSION}-${ARCH}.sh" --skip-license --prefix=/usr
|
43
|
+
popd
|
44
|
+
rm -rf "${cmake_install}"
|
45
|
+
}
|
46
|
+
|
47
|
+
build_and_install_libarchive() {
|
48
|
+
echo "Running build_and_install_libarchive version $LIBARCHIVE_VERSION"
|
49
|
+
local libarchive_build="$LOCAL_BUILDS/libarchive"
|
50
|
+
mkdir -p "$libarchive_build"
|
51
|
+
pushd "$libarchive_build"
|
52
|
+
wget "https://github.com/libarchive/libarchive/releases/download/v$LIBARCHIVE_VERSION/libarchive-$LIBARCHIVE_VERSION.tar.xz"
|
53
|
+
tar xf "libarchive-$LIBARCHIVE_VERSION.tar.xz"
|
54
|
+
cd "libarchive-$LIBARCHIVE_VERSION"
|
55
|
+
./configure --prefix="$LOCAL_INSTALLS" --without-iconv --without-xml2 --without-expat
|
56
|
+
make -j8
|
57
|
+
make install
|
58
|
+
popd
|
59
|
+
rm -rf "$libarchive_build"
|
60
|
+
}
|
61
|
+
|
62
|
+
# shellcheck disable=SC2068
|
63
|
+
$@
|
@@ -24,27 +24,23 @@
|
|
24
24
|
# POSSIBILITY OF SUCH DAMAGE.
|
25
25
|
#
|
26
26
|
|
27
|
-
set(GNU_BASH "bash")
|
28
|
-
|
29
27
|
if (CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")
|
30
|
-
# If we are cross compiling TARGET_HOMEBREW will point to homebrew environment for target
|
31
|
-
# If we are not cross-compiling it will be empty
|
32
|
-
# Note that below for Bison, Flex and bash we are using host homebrew environment (just 'brew')
|
33
|
-
# while other packages refer target environment potentially specified by BREW_BIN
|
34
28
|
execute_process(
|
35
29
|
COMMAND brew --prefix
|
36
30
|
RESULT_VARIABLE BREW_PREFIX_RES
|
37
|
-
OUTPUT_VARIABLE
|
31
|
+
OUTPUT_VARIABLE BREW_PREFIX
|
38
32
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
39
33
|
)
|
40
|
-
if(NOT (BREW_PREFIX_RES EQUAL 0 AND EXISTS ${
|
34
|
+
if(NOT (BREW_PREFIX_RES EQUAL 0 AND EXISTS ${BREW_PREFIX}))
|
41
35
|
message(FATAL "Could not find build brew setup")
|
42
36
|
endif()
|
43
37
|
|
44
|
-
message("Using
|
45
|
-
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.me
|
46
|
-
set(
|
47
|
-
set(
|
38
|
+
message(STATUS "Using brew environment at ${BREW_PREFIX}")
|
39
|
+
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.me
|
40
|
+
set(OPENSSL_ROOT_DIR "${BREW_PREFIX}/opt/openssl@3")
|
41
|
+
set(CMAKE_PREFIX_PATH "${BREW_PREFIX}")
|
42
|
+
include_directories("${OPENSSL_ROOT_DIR}/include")
|
43
|
+
include_directories("${TARGET_BREW_PREFIX}/include")
|
48
44
|
|
49
45
|
# https://stackoverflow.com/questions/53877344/cannot-configure-cmake-to-look-for-homebrew-installed-version-of-bison
|
50
46
|
execute_process(
|
@@ -80,25 +76,6 @@ if (CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")
|
|
80
76
|
set(GNU_BASH "${BREW_BASH_PREFIX}/bin/bash")
|
81
77
|
endif()
|
82
78
|
|
83
|
-
if(NOT TARGET_HOMEBREW)
|
84
|
-
set(TARGET_BREW_PREFIX ${BUILD_BREW_PREFIX} )
|
85
|
-
else()
|
86
|
-
execute_process(
|
87
|
-
COMMAND "${TARGET_HOMEBREW}/bin/brew" --prefix
|
88
|
-
RESULT_VARIABLE BREW_PREFIX_RES
|
89
|
-
OUTPUT_VARIABLE TARGET_BREW_PREFIX
|
90
|
-
OUTPUT_STRIP_TRAILING_WHITESPACE
|
91
|
-
)
|
92
|
-
if(NOT (BREW_PREFIX_RES EQUAL 0 AND EXISTS ${TARGET_BREW_PREFIX}))
|
93
|
-
message(FATAL "Could not find target brew setup")
|
94
|
-
endif()
|
95
|
-
endif()
|
96
|
-
|
97
|
-
message("Using target brew environment at ${TARGET_BREW_PREFIX}")
|
98
|
-
set(OPENSSL_ROOT_DIR "${TARGET_BREW_PREFIX}/opt/openssl@1.1")
|
99
|
-
set(CMAKE_PREFIX_PATH "${TARGET_BREW_PREFIX}")
|
100
|
-
include_directories("${TARGET_BREW_PREFIX}/include")
|
101
|
-
|
102
79
|
# Suppress superfluous randlib warnings about "*.a" having no symbols on MacOSX.
|
103
80
|
set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
104
81
|
set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> Scr <TARGET> <LINK_FLAGS> <OBJECTS>")
|
@@ -0,0 +1,92 @@
|
|
1
|
+
# Copyright (c) 2022-2024 [Ribose Inc](https://www.ribose.com).
|
2
|
+
# All rights reserved.
|
3
|
+
# This file is a part of tebako
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions
|
7
|
+
# are met:
|
8
|
+
# 1. Redistributions of source code must retain the above copyright
|
9
|
+
# notice, this list of conditions and the following disclaimer.
|
10
|
+
# 2. Redistributions in binary form must reproduce the above copyright
|
11
|
+
# notice, this list of conditions and the following disclaimer in the
|
12
|
+
# documentation and/or other materials provided with the distribution.
|
13
|
+
#
|
14
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
15
|
+
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
16
|
+
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
17
|
+
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
18
|
+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
19
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
20
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
21
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
22
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
23
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
24
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
|
26
|
+
def_ext_prj_t(LIBARCHIVE "3.6.2" "9e2c1b80d5fbe59b61308fdfab6c79b5021d7ff4ff2489fb12daf0a96a83551d")
|
27
|
+
|
28
|
+
message(STATUS "Collecting libarchive - " v${LIBARCHIVE_VER} " at " ${LIBARCHIVE_SOURCE_DIR})
|
29
|
+
|
30
|
+
set(CMAKE_ARGUMENTS -DCMAKE_INSTALL_PREFIX=${DEPS}
|
31
|
+
-DCMAKE_BUILD_TYPE=Release
|
32
|
+
-DBUILD_SHARED_LIBS:BOOL=OFF
|
33
|
+
-DENABLE_ACL:BOOL=OFF
|
34
|
+
-DENABLE_CNG:BOOL=OFF
|
35
|
+
-DENABLE_ICONV:BOOL=OFF
|
36
|
+
-DENABLE_LIBXML2:BOOL=OFF
|
37
|
+
-DENABLE_BZip2:BOOL=OFF
|
38
|
+
-DENABLE_CPIO:BOOL=OFF
|
39
|
+
-DENABLE_CAT:BOOL=OFF
|
40
|
+
-DENABLE_TAR:BOOL=OFF
|
41
|
+
-DENABLE_TEST:BOOL=OFF
|
42
|
+
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
|
43
|
+
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
|
44
|
+
)
|
45
|
+
|
46
|
+
if(TEBAKO_BUILD_TARGET)
|
47
|
+
list(APPEND CMAKE_ARGUMENTS -DCMAKE_C_FLAGS=--target=${TEBAKO_BUILD_TARGET})
|
48
|
+
list(APPEND CMAKE_ARGUMENTS -DCMAKE_EXE_LINKER_FLAGS=--target=${TEBAKO_BUILD_TARGET})
|
49
|
+
list(APPEND CMAKE_ARGUMENTS -DCMAKE_SHARED_LINKER_FLAGS=--target=${TEBAKO_BUILD_TARGET})
|
50
|
+
endif(TEBAKO_BUILD_TARGET)
|
51
|
+
|
52
|
+
# ...................................................................
|
53
|
+
# libarchive is the module that creates the real pain here
|
54
|
+
# Its shared version looks around to find other shared libraries which
|
55
|
+
# can do the real work. For example, if liblzma.so is found then libarchive
|
56
|
+
# supports lzma encoding.
|
57
|
+
# Static libary is compiled against predefined set of static archive libraries
|
58
|
+
# at the time when binary distribution created. This is not necessarily the
|
59
|
+
# set of libraries which is present at the system where this script is
|
60
|
+
# executed.
|
61
|
+
#
|
62
|
+
# There are two options to fix it:
|
63
|
+
#
|
64
|
+
# 1) Build local version of libarchive.a
|
65
|
+
#
|
66
|
+
# 2) Use LIBARCHIVE_STATIC_LIBRARIES and LIBARCHIVE_STATIC_LDFLAGS that are
|
67
|
+
# set by pkg_check_modules(LIBARCHIVE IMPORTED_TARGET libarchive>=3.1.2)
|
68
|
+
#
|
69
|
+
# Method #1 is implemented here.
|
70
|
+
# ...................................................................
|
71
|
+
|
72
|
+
if(${IS_MSYS})
|
73
|
+
set(__LIBARCHIVE "${DEPS}/lib/libarchive_static.a")
|
74
|
+
else(${IS_MSYS})
|
75
|
+
set(__LIBARCHIVE "${DEPS}/lib/libarchive.a")
|
76
|
+
endif(${IS_MSYS})
|
77
|
+
|
78
|
+
ExternalProject_Add(${LIBARCHIVE_PRJ}
|
79
|
+
PREFIX "${DEPS}"
|
80
|
+
URL http://www.libarchive.org/downloads/libarchive-${LIBARCHIVE_VER}.tar.xz
|
81
|
+
URL_HASH SHA256=${LIBARCHIVE_HASH}
|
82
|
+
DOWNLOAD_NO_PROGRESS true
|
83
|
+
UPDATE_COMMAND ""
|
84
|
+
CMAKE_ARGS ${CMAKE_ARGUMENTS}
|
85
|
+
SOURCE_DIR ${LIBARCHIVE_SOURCE_DIR}
|
86
|
+
BINARY_DIR ${LIBARCHIVE_BINARY_DIR}
|
87
|
+
BUILD_BYPRODUCTS ${__LIBARCHIVE}
|
88
|
+
)
|
89
|
+
|
90
|
+
add_library(_LIBARCHIVE STATIC IMPORTED)
|
91
|
+
set_target_properties(_LIBARCHIVE PROPERTIES IMPORTED_LOCATION ${__LIBARCHIVE})
|
92
|
+
add_dependencies(_LIBARCHIVE ${LIBARCHIVE_PRJ})
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# Copyright (c) 2024 [Ribose Inc](https://www.ribose.com).
|
2
|
+
# All rights reserved.
|
3
|
+
# This file is a part of tebako
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions
|
7
|
+
# are met:
|
8
|
+
# 1. Redistributions of source code must retain the above copyright
|
9
|
+
# notice, this list of conditions and the following disclaimer.
|
10
|
+
# 2. Redistributions in binary form must reproduce the above copyright
|
11
|
+
# notice, this list of conditions and the following disclaimer in the
|
12
|
+
# documentation and/or other materials provided with the distribution.
|
13
|
+
#
|
14
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
15
|
+
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
16
|
+
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
17
|
+
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
18
|
+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
19
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
20
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
21
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
22
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
23
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
24
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
|
26
|
+
def_ext_prj_t(LIBHOWARDHINNANTDATE "3.0.1" "7a390f200f0ccd207e8cff6757e04817c1a0aec3e327b006b7eb451c57ee3538")
|
27
|
+
|
28
|
+
message(STATUS "Collecting libutfcpp - " v${LIBHOWARDHINNANTDATE_VER} " at " ${LIBHOWARDHINNANTDATE_SOURCE_DIR})
|
29
|
+
|
30
|
+
set(CMAKE_ARGUMENTS -DCMAKE_INSTALL_PREFIX=${DEPS}
|
31
|
+
-DUTF8_INSTALL=OFF
|
32
|
+
-DUTF8_SAMPLES=OFF
|
33
|
+
-DUTF8_TESTS=OFF
|
34
|
+
-DCMAKE_BUILD_TYPE=Release
|
35
|
+
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
|
36
|
+
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
|
37
|
+
)
|
38
|
+
|
39
|
+
if(TEBAKO_BUILD_TARGET)
|
40
|
+
list(APPEND CMAKE_ARGUMENTS -DCMAKE_C_FLAGS=--target=${TEBAKO_BUILD_TARGET})
|
41
|
+
list(APPEND CMAKE_ARGUMENTS -DCMAKE_EXE_LINKER_FLAGS=--target=${TEBAKO_BUILD_TARGET})
|
42
|
+
list(APPEND CMAKE_ARGUMENTS -DCMAKE_SHARED_LINKER_FLAGS=--target=${TEBAKO_BUILD_TARGET})
|
43
|
+
endif(TEBAKO_BUILD_TARGET)
|
44
|
+
|
45
|
+
ExternalProject_Add(${LIBHOWARDHINNANTDATE_PRJ}
|
46
|
+
PREFIX "${DEPS}"
|
47
|
+
URL https://github.com/HowardHinnant/date/archive/refs/tags/v${LIBHOWARDHINNANTDATE_VER}.tar.gz
|
48
|
+
URL_HASH SHA256=${LIBHOWARDHINNANTDATE_HASH}
|
49
|
+
DOWNLOAD_NO_PROGRESS true
|
50
|
+
UPDATE_COMMAND ""
|
51
|
+
CMAKE_ARGS ${CMAKE_ARGUMENTS}
|
52
|
+
SOURCE_DIR ${LIBHOWARDHINNANTDATE_SOURCE_DIR}
|
53
|
+
BINARY_DIR ${LIBHOWARDHINNANTDATE_BINARY_DIR}
|
54
|
+
BUILD_BYPRODUCTS ${__LIBHOWARDHINNANTDATE}
|
55
|
+
)
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# Copyright (c) 2022-2024 [Ribose Inc](https://www.ribose.com).
|
2
|
+
# All rights reserved.
|
3
|
+
# This file is a part of tebako
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions
|
7
|
+
# are met:
|
8
|
+
# 1. Redistributions of source code must retain the above copyright
|
9
|
+
# notice, this list of conditions and the following disclaimer.
|
10
|
+
# 2. Redistributions in binary form must reproduce the above copyright
|
11
|
+
# notice, this list of conditions and the following disclaimer in the
|
12
|
+
# documentation and/or other materials provided with the distribution.
|
13
|
+
#
|
14
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
15
|
+
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
16
|
+
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
17
|
+
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
18
|
+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
19
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
20
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
21
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
22
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
23
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
24
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
|
26
|
+
def_ext_prj_t(LIBUTFCPP "3.2.5" "14fd1b3c466814cb4c40771b7f207b61d2c7a0aa6a5e620ca05c00df27f25afd")
|
27
|
+
|
28
|
+
message(STATUS "Collecting libutfcpp - " v${LIBUTFCPP_VER} " at " ${LIBUTFCPP_SOURCE_DIR})
|
29
|
+
|
30
|
+
set(CMAKE_ARGUMENTS -DCMAKE_INSTALL_PREFIX=${DEPS}
|
31
|
+
-DUTF8_INSTALL=OFF
|
32
|
+
-DUTF8_SAMPLES=OFF
|
33
|
+
-DUTF8_TESTS=OFF
|
34
|
+
-DCMAKE_BUILD_TYPE=Release
|
35
|
+
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
|
36
|
+
-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
|
37
|
+
)
|
38
|
+
|
39
|
+
if(TEBAKO_BUILD_TARGET)
|
40
|
+
list(APPEND CMAKE_ARGUMENTS -DCMAKE_C_FLAGS=--target=${TEBAKO_BUILD_TARGET})
|
41
|
+
list(APPEND CMAKE_ARGUMENTS -DCMAKE_EXE_LINKER_FLAGS=--target=${TEBAKO_BUILD_TARGET})
|
42
|
+
list(APPEND CMAKE_ARGUMENTS -DCMAKE_SHARED_LINKER_FLAGS=--target=${TEBAKO_BUILD_TARGET})
|
43
|
+
endif(TEBAKO_BUILD_TARGET)
|
44
|
+
|
45
|
+
ExternalProject_Add(${LIBUTFCPP_PRJ}
|
46
|
+
PREFIX "${DEPS}"
|
47
|
+
URL https://github.com/nemtrif/utfcpp/archive/refs/tags/v${LIBUTFCPP_VER}.tar.gz
|
48
|
+
URL_HASH SHA256=${LIBUTFCPP_HASH}
|
49
|
+
DOWNLOAD_NO_PROGRESS true
|
50
|
+
UPDATE_COMMAND ""
|
51
|
+
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ${LIBUTFCPP_SOURCE_DIR}/source ${DEPS_INCLUDE_DIR}
|
52
|
+
CMAKE_ARGS ${CMAKE_ARGUMENTS}
|
53
|
+
SOURCE_DIR ${LIBUTFCPP_SOURCE_DIR}
|
54
|
+
BINARY_DIR ${LIBUTFCPP_BINARY_DIR}
|
55
|
+
BUILD_BYPRODUCTS ${__LIBUTFCPP}
|
56
|
+
)
|
data/tools/{ci-scripts/patch-system-includes.sh → tests/setup-libhowardhinnerdate/CMakeLists.txt}
RENAMED
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
# Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
|
1
|
+
# Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
|
3
2
|
# All rights reserved.
|
4
3
|
# This file is a part of tebako
|
5
4
|
#
|
@@ -24,36 +23,13 @@
|
|
24
23
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
25
24
|
# POSSIBILITY OF SUCH DAMAGE.
|
26
25
|
|
27
|
-
|
28
|
-
|
29
|
-
# clang (as opposed to gcc) considers it syntax error and there is no easier workaround
|
26
|
+
cmake_minimum_required(VERSION 3.24.0)
|
27
|
+
project(setup-libhowardhinnerdate-test)
|
30
28
|
|
31
|
-
|
29
|
+
include(ExternalProject)
|
32
30
|
|
33
|
-
|
34
|
-
|
35
|
-
echo "Patching $1"
|
36
|
-
test -e "$1.old" && cp -f "$1.old" "$1"
|
37
|
-
cp -f "$1" "$1.old"
|
38
|
-
}
|
31
|
+
set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
32
|
+
set(DEPS ${CMAKE_CURRENT_BINARY_DIR}/deps)
|
39
33
|
|
40
|
-
|
41
|
-
|
42
|
-
re="$2"
|
43
|
-
sbst="__attribute__((nothrow)) \/*Tebako patched *\/ $2"
|
44
|
-
sed -i "s/$re/$sbst/g" "$1"
|
45
|
-
}
|
46
|
-
|
47
|
-
f_stdlib=( "\*malloc" "\*calloc" "\*realloc" "free" "\*aligned_alloc" "posix_memalign" "\*valloc" "\*memalign" )
|
48
|
-
restore_and_save "/usr/include/stdlib.h"
|
49
|
-
for f in "${f_stdlib[@]}"
|
50
|
-
do
|
51
|
-
patch "/usr/include/stdlib.h" "$f"
|
52
|
-
done
|
53
|
-
|
54
|
-
f_sched=( "\*calloc" "free" )
|
55
|
-
restore_and_save "/usr/include/sched.h"
|
56
|
-
for f in "${f_sched[@]}"
|
57
|
-
do
|
58
|
-
patch "/usr/include/sched.h" "$f"
|
59
|
-
done
|
34
|
+
include(${ROOT}/cmake-scripts/def-external-project.cmake)
|
35
|
+
include(${ROOT}/cmake-scripts/setup-libhowardhinnerdate.cmake)
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
|
2
|
+
# All rights reserved.
|
3
|
+
# This file is a part of tebako
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions
|
7
|
+
# are met:
|
8
|
+
# 1. Redistributions of source code must retain the above copyright
|
9
|
+
# notice, this list of conditions and the following disclaimer.
|
10
|
+
# 2. Redistributions in binary form must reproduce the above copyright
|
11
|
+
# notice, this list of conditions and the following disclaimer in the
|
12
|
+
# documentation and/or other materials provided with the distribution.
|
13
|
+
#
|
14
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
15
|
+
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
16
|
+
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
17
|
+
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
18
|
+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
19
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
20
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
21
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
22
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
23
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
24
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
|
26
|
+
cmake_minimum_required(VERSION 3.24.0)
|
27
|
+
project(setup-librachive-test)
|
28
|
+
|
29
|
+
include(ExternalProject)
|
30
|
+
|
31
|
+
set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
32
|
+
set(DEPS ${CMAKE_CURRENT_BINARY_DIR}/deps)
|
33
|
+
|
34
|
+
include(${ROOT}/cmake-scripts/def-external-project.cmake)
|
35
|
+
include(${ROOT}/cmake-scripts/setup-libarchive.cmake)
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
|
2
|
+
# All rights reserved.
|
3
|
+
# This file is a part of tebako
|
4
|
+
#
|
5
|
+
# Redistribution and use in source and binary forms, with or without
|
6
|
+
# modification, are permitted provided that the following conditions
|
7
|
+
# are met:
|
8
|
+
# 1. Redistributions of source code must retain the above copyright
|
9
|
+
# notice, this list of conditions and the following disclaimer.
|
10
|
+
# 2. Redistributions in binary form must reproduce the above copyright
|
11
|
+
# notice, this list of conditions and the following disclaimer in the
|
12
|
+
# documentation and/or other materials provided with the distribution.
|
13
|
+
#
|
14
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
15
|
+
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
16
|
+
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
17
|
+
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
|
18
|
+
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
19
|
+
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
20
|
+
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
21
|
+
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
22
|
+
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
23
|
+
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
24
|
+
# POSSIBILITY OF SUCH DAMAGE.
|
25
|
+
|
26
|
+
cmake_minimum_required(VERSION 3.24.0)
|
27
|
+
project(setup-libutfcpp-test)
|
28
|
+
|
29
|
+
include(ExternalProject)
|
30
|
+
|
31
|
+
set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..)
|
32
|
+
set(DEPS ${CMAKE_CURRENT_BINARY_DIR}/deps)
|
33
|
+
set(DEPS_INCLUDE_DIR ${DEPS}/include)
|
34
|
+
|
35
|
+
include(${ROOT}/cmake-scripts/def-external-project.cmake)
|
36
|
+
include(${ROOT}/cmake-scripts/setup-libutfcpp.cmake)
|
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.8
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tebako
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-02-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -78,21 +78,29 @@ files:
|
|
78
78
|
- tebako.gemspec
|
79
79
|
- tools/.gitattributes
|
80
80
|
- tools/.github/workflows/lint.yml
|
81
|
+
- tools/.github/workflows/test.yml
|
82
|
+
- tools/.gitignore
|
81
83
|
- tools/README.md
|
82
84
|
- tools/ci-scripts/arm-brew-install.sh
|
83
85
|
- tools/ci-scripts/arm-brew-setup.sh
|
84
86
|
- tools/ci-scripts/level-up.sh
|
85
87
|
- tools/ci-scripts/patch-fbthrift.sh
|
86
88
|
- tools/ci-scripts/patch-folly.sh
|
87
|
-
- tools/ci-scripts/
|
89
|
+
- tools/ci-scripts/tools.sh
|
88
90
|
- tools/ci-scripts/x86-brew-install.sh
|
89
91
|
- tools/ci-scripts/x86-brew-setup.sh
|
90
92
|
- tools/cmake-scripts/def-external-project.cmake
|
91
93
|
- tools/cmake-scripts/macos-environment.cmake
|
92
94
|
- tools/cmake-scripts/msys-environment.cmake
|
95
|
+
- tools/cmake-scripts/setup-libarchive.cmake
|
96
|
+
- tools/cmake-scripts/setup-libhowardhinnerdate.cmake
|
97
|
+
- tools/cmake-scripts/setup-libutfcpp.cmake
|
93
98
|
- tools/cmake-scripts/setup-openssl.cmake
|
94
99
|
- tools/cmake-scripts/version.cmake
|
95
100
|
- tools/include/pro-statvfs.h
|
101
|
+
- tools/tests/setup-libhowardhinnerdate/CMakeLists.txt
|
102
|
+
- tools/tests/setup-librachive/CMakeLists.txt
|
103
|
+
- tools/tests/setup-libutfcpp/CMakeLists.txt
|
96
104
|
- version.txt
|
97
105
|
homepage: https://github.com/tamatebako/tebako
|
98
106
|
licenses:
|