tebako 0.12.16 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/CMakeLists.txt +2 -2
  3. data/CODE_OF_CONDUCT.adoc +128 -0
  4. data/CONTRIBUTING.adoc +294 -0
  5. data/Gemfile +2 -2
  6. data/INSTALLATION.adoc +233 -0
  7. data/LICENSE.md +33 -0
  8. data/README.adoc +387 -528
  9. data/Rakefile +2 -2
  10. data/cmake/copy_dir.cmake +1 -1
  11. data/common.env +1 -1
  12. data/exe/tebako +2 -2
  13. data/exe/tebako-packager +2 -2
  14. data/include/tebako/tebako-fs.h +2 -2
  15. data/include/tebako/tebako-main.h +2 -2
  16. data/lib/tebako/build_helpers.rb +2 -2
  17. data/lib/tebako/cache_manager.rb +2 -2
  18. data/lib/tebako/cli.rb +19 -10
  19. data/lib/tebako/cli_helpers.rb +1 -1
  20. data/lib/tebako/codegen.rb +2 -2
  21. data/lib/tebako/deploy_helper.rb +9 -8
  22. data/lib/tebako/error.rb +1 -1
  23. data/lib/tebako/options_manager.rb +1 -1
  24. data/lib/tebako/package_descriptor.rb +2 -2
  25. data/lib/tebako/packager/pass1_patch.rb +1 -1
  26. data/lib/tebako/packager/pass1a_patch.rb +1 -1
  27. data/lib/tebako/packager/pass2_patch.rb +1 -1
  28. data/lib/tebako/packager/pass2_patch_crt.rb +1 -1
  29. data/lib/tebako/packager/pass2msys_patch.rb +1 -1
  30. data/lib/tebako/packager/patch.rb +1 -1
  31. data/lib/tebako/packager/patch_buildsystem.rb +2 -2
  32. data/lib/tebako/packager/patch_helpers.rb +2 -2
  33. data/lib/tebako/packager/patch_libraries.rb +9 -10
  34. data/lib/tebako/packager/patch_literals.rb +1 -1
  35. data/lib/tebako/packager/patch_main.rb +2 -2
  36. data/lib/tebako/packager/rubygems_patch.rb +1 -1
  37. data/lib/tebako/packager.rb +1 -1
  38. data/lib/tebako/packager_lite.rb +1 -1
  39. data/lib/tebako/ruby_builder.rb +1 -1
  40. data/lib/tebako/ruby_version.rb +4 -3
  41. data/lib/tebako/scenario_manager.rb +1 -1
  42. data/lib/tebako/stripper.rb +1 -1
  43. data/lib/tebako/version.rb +2 -2
  44. data/lib/tebako.rb +2 -2
  45. data/src/tebako-main.cpp +2 -2
  46. data/tebako.gemspec +2 -2
  47. data/tools/.github/workflows/build-containers.yml +190 -0
  48. data/tools/.github/workflows/lint.yml +3 -3
  49. data/tools/.github/workflows/test.yml +149 -9
  50. data/tools/ci-scripts/arm-brew-install.sh +1 -1
  51. data/tools/ci-scripts/arm-brew-setup.sh +1 -1
  52. data/tools/ci-scripts/level-up.sh +1 -1
  53. data/tools/ci-scripts/patch-fbthrift.sh +5 -1
  54. data/tools/ci-scripts/patch-folly.sh +7 -2
  55. data/tools/ci-scripts/tools.sh +1 -1
  56. data/tools/ci-scripts/x86-brew-install.sh +1 -1
  57. data/tools/ci-scripts/x86-brew-setup.sh +1 -1
  58. data/tools/cmake-scripts/def-external-project.cmake +1 -1
  59. data/tools/cmake-scripts/macos-environment.cmake +2 -2
  60. data/tools/cmake-scripts/msys-environment.cmake +1 -1
  61. data/tools/cmake-scripts/setup-libarchive.cmake +4 -8
  62. data/tools/cmake-scripts/setup-libfmt.cmake +1 -1
  63. data/tools/cmake-scripts/setup-libhowardhinnerdate.cmake +1 -1
  64. data/tools/cmake-scripts/setup-libutfcpp.cmake +2 -2
  65. data/tools/cmake-scripts/setup-openssl-1.1.1.cmake +1 -1
  66. data/tools/docker/alpine-3.17-dev.Dockerfile +49 -0
  67. data/tools/docker/tools/tools.sh +66 -0
  68. data/tools/docker/ubuntu-20.04-dev.Dockerfile +51 -0
  69. data/tools/dwarfs-test-helper/CMakeLists.txt +1 -1
  70. data/tools/include/pro-statvfs.h +1 -1
  71. data/tools/tests/cmake/CMakeLists.txt +1 -1
  72. data/tools/tests/setup-libfmt/CMakeLists.txt +1 -1
  73. data/tools/tests/setup-libhowardhinnerdate/CMakeLists.txt +1 -1
  74. data/tools/tests/setup-librachive/CMakeLists.txt +1 -1
  75. data/tools/tests/setup-libutfcpp/CMakeLists.txt +1 -1
  76. data/tools/tests/setup-openssl/CMakeLists.txt +1 -1
  77. metadata +10 -2
@@ -0,0 +1,190 @@
1
+ # Copyright (c) 2025, [Ribose Inc](https://www.ribose.com).
2
+ # All rights reserved.
3
+ # This file is a part of the Tebako project.
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: build-containers
27
+
28
+ on:
29
+ workflow_dispatch:
30
+ inputs:
31
+ next_version:
32
+ description: |
33
+ Next container version: x.y.z or major/minor/patch
34
+ required: true
35
+ default: 'patch'
36
+ push:
37
+ description: |
38
+ Push the container images to the registry
39
+ required: false
40
+ default: 'false'
41
+
42
+ concurrency:
43
+ group: '${{ github.workflow }}-${{ github.job }}-${{ github.head_ref || github.ref_name }}'
44
+ cancel-in-progress: true
45
+
46
+ jobs:
47
+ build-containers:
48
+ name: ${{ matrix.container }} ${{ matrix.architecture.platform }}
49
+ runs-on: ${{ matrix.architecture.host }}
50
+ permissions:
51
+ contents: read
52
+ packages: write
53
+ strategy:
54
+ fail-fast: false
55
+ matrix:
56
+ container:
57
+ - 'ubuntu-20.04-dev'
58
+ - 'alpine-3.17-dev'
59
+ architecture:
60
+ - { host: 'ubuntu-22.04', platform: linux/amd64, suffix: 'x64', suffix2: 'amd64' }
61
+ - { host: 'ubuntu-22.04-arm', platform: linux/arm64, suffix: 'arm64', suffix2: 'arm64' }
62
+
63
+ outputs:
64
+ tags: ${{ steps.meta.outputs.tags }}
65
+
66
+ steps:
67
+ - name: Checkout
68
+ uses: actions/checkout@v4
69
+ with:
70
+ fetch-depth: 0
71
+
72
+ - name: Set GITHUB_REF
73
+ if: github.event_name == 'workflow_dispatch'
74
+ run: |
75
+ if [[ "${{ github.event.inputs.next_version }}" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
76
+ # Direct version number provided
77
+ VERSION="${{ github.event.inputs.next_version }}"
78
+ echo "Using provided version: $VERSION"
79
+ elif [[ "${{ github.event.inputs.next_version }}" == "major" || "${{ github.event.inputs.next_version }}" == "minor" || "${{ github.event.inputs.next_version }}" == "patch" ]]; then
80
+ # Get latest version tag
81
+ LATEST_TAG=$(git tag --sort=-v:refname | grep -v '\.rc[0-9]\+$' | head -n 1)
82
+ LATEST_VERSION=${LATEST_TAG#v}
83
+
84
+ # Split the version numbers
85
+ IFS='.' read -r MAJOR MINOR PATCH <<< "$LATEST_VERSION"
86
+
87
+ # Calculate the next version based on the increment type
88
+ if [[ "${{ github.event.inputs.next_version }}" == "major" ]]; then
89
+ VERSION="$((MAJOR + 1)).0.0"
90
+ elif [[ "${{ github.event.inputs.next_version }}" == "minor" ]]; then
91
+ VERSION="${MAJOR}.$((MINOR + 1)).0"
92
+ else
93
+ VERSION="${MAJOR}.${MINOR}.$((PATCH + 1))"
94
+ fi
95
+ echo "Calculated next ${{ github.event.inputs.next_version }} version: $VERSION"
96
+ else
97
+ echo "::error::Invalid version format. Please use semantic version (x.y.z) or specify 'major', 'minor', or 'patch'"
98
+ exit 1
99
+ fi
100
+
101
+ TAG="v$VERSION"
102
+ echo "Setting VERSION to $VERSION"
103
+ echo "Setting GITHUB_REF to refs/tags/$TAG"
104
+ echo "GITHUB_REF=refs/tags/$TAG" >> $GITHUB_ENV
105
+ echo "VERSION=$VERSION" >> $GITHUB_ENV
106
+
107
+ - name: Log in to the Container registry
108
+ uses: docker/login-action@v3
109
+ with:
110
+ registry: ghcr.io
111
+ username: ${{ github.repository_owner }}
112
+ password: ${{ secrets.GITHUB_TOKEN }}
113
+
114
+ - name: Docker meta
115
+ id: meta
116
+ uses: docker/metadata-action@v5
117
+ with:
118
+ images: |
119
+ ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}
120
+ tags: |
121
+ type=semver,pattern={{version}}-${{ matrix.architecture.suffix2 }},value=${{ env.VERSION }}
122
+ type=semver,pattern={{major}}.{{minor}}-${{ matrix.architecture.suffix2 }},value=${{ env.VERSION }}
123
+ type=semver,pattern={{major}}-${{ matrix.architecture.suffix2 }},value=${{ env.VERSION }}
124
+ type=sha,suffix=-${{ matrix.architecture.suffix2 }}
125
+ labels: |
126
+ org.opencontainers.image.vendor=Ribose Inc.
127
+ org.opencontainers.image.licenses=BSD-2-Clause
128
+ org.opencontainers.image.documentation=https://www.tamatebako.org
129
+ org.opencontainers.image.source==${{ github.repositoryUrl }}
130
+ org.opencontainers.image.description=Tebako executable packager ${{ matrix.container }} ${{ matrix.architecture.platform }} development container
131
+ annotations: |
132
+ org.opencontainers.image.licenses=BSD-2-Clause
133
+ org.opencontainers.image.description=Tebako executable packager ${{ matrix.container }} ${{ matrix.architecture.platform }} development container
134
+
135
+ - name: Build and push Docker image
136
+ uses: docker/build-push-action@v6
137
+ with:
138
+ context: docker
139
+ file: docker/${{ matrix.container }}.Dockerfile
140
+ push: ${{ github.event.inputs.push == 'true' }}
141
+ tags: ${{ steps.meta.outputs.tags }}
142
+ labels: ${{ steps.meta.outputs.labels }}
143
+ annotations: ${{ steps.meta.outputs.annotations }}
144
+ platforms: ${{ matrix.architecture.platform }}
145
+ build-args: ARCH=${{ matrix.architecture.suffix }}
146
+
147
+ create-manifests:
148
+ name: Create multiarchitecture manifests for ${{ matrix.container }}
149
+ if: ${{ github.event.inputs.push == 'true' }}
150
+ runs-on: ubuntu-22.04
151
+ needs: build-containers
152
+ permissions:
153
+ contents: read
154
+ packages: write
155
+ strategy:
156
+ fail-fast: false
157
+ matrix:
158
+ container:
159
+ - 'ubuntu-20.04-dev'
160
+ - 'alpine-3.17-dev'
161
+ steps:
162
+ - name: Log in to the Container registry
163
+ uses: docker/login-action@v3
164
+ with:
165
+ registry: ghcr.io
166
+ username: ${{ github.repository_owner }}
167
+ password: ${{ secrets.GITHUB_TOKEN }}
168
+
169
+ - name: Create multiarchitecture manifests and push
170
+ run: |
171
+ for tag in $(echo "${{ needs.build-containers.outputs.tags }}" | tr ',' '\n'); do
172
+ if [[ $tag != *:latest ]]; then
173
+ base_tag=$(echo $tag | sed -E 's/.*:(.*)-(amd64|arm64)/\1/')
174
+ echo "Processing $tag, using base tag $base_tag"
175
+ docker manifest create \
176
+ ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}:$base_tag \
177
+ --amend ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}:$base_tag-amd64 \
178
+ --amend ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}:$base_tag-arm64
179
+ docker manifest push ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}:$base_tag
180
+
181
+ if [[ $base_tag == sha* ]]; then
182
+ docker manifest push ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}:$base_tag
183
+ docker manifest create \
184
+ ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}:latest \
185
+ --amend ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}:$base_tag-amd64 \
186
+ --amend ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}:$base_tag-arm64
187
+ docker manifest push ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}:latest
188
+ fi
189
+ fi
190
+ done
@@ -1,6 +1,6 @@
1
- # Copyright (c) 2022-2024, [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2022-2025, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -27,7 +27,7 @@ name: lint
27
27
 
28
28
  on:
29
29
  push:
30
- branches: [ master ]
30
+ branches: [ master, main ]
31
31
  pull_request:
32
32
  workflow_dispatch:
33
33
 
@@ -1,6 +1,6 @@
1
- # Copyright (c) 2024, [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2024-2025, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -27,7 +27,7 @@ name: test
27
27
 
28
28
  on:
29
29
  push:
30
- branches: [ master ]
30
+ branches: [ master, main ]
31
31
  pull_request:
32
32
  workflow_dispatch:
33
33
 
@@ -42,7 +42,7 @@ jobs:
42
42
  strategy:
43
43
  fail-fast: false
44
44
  matrix:
45
- os: [ ubuntu-20.04, macos-13, macos-14 ]
45
+ os: [ macos-13, macos-14 ]
46
46
  steps:
47
47
  - name: Checkout
48
48
  uses: actions/checkout@v4
@@ -75,13 +75,62 @@ jobs:
75
75
  test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-targets-release.cmake
76
76
  test -f build/setup-libfmt/deps/lib/pkgconfig/fmt.pc
77
77
 
78
+ test-setup-libfmt-co:
79
+ name: test setup-libfmt on ${{ matrix.architecture.platform }}/${{ matrix.container }}
80
+ runs-on: ${{ matrix.architecture.host }}
81
+ container:
82
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}'
83
+ defaults:
84
+ run:
85
+ shell: bash
86
+ strategy:
87
+ fail-fast: false
88
+ matrix:
89
+ container: [ 'ubuntu-20.04-dev', 'alpine-3.17-dev' ]
90
+ architecture:
91
+ - { host: 'ubuntu-22.04', platform: linux/amd64 }
92
+ - { host: 'ubuntu-22.04-arm', platform: linux/arm64 }
93
+
94
+ steps:
95
+ # JavaScript Actions in Alpine containers are only supported on x64 Linux runners. Doing Linux Arm64
96
+ - name: Checkout
97
+ uses: actions/checkout@v1
98
+
99
+ - name: Run cmake script
100
+ run: |
101
+ cmake -B build/setup-libfmt -DROOT=$PWD -S tests/setup-libfmt
102
+ cmake --build build/setup-libfmt
103
+
104
+ - name: Test setup-libfmt
105
+ run: |
106
+ set -o errexit -o pipefail -o noclobber -o nounset
107
+ test -f build/setup-libfmt/deps/lib/libfmt.a
108
+ test -f build/setup-libfmt/deps/include/fmt/args.h
109
+ test -f build/setup-libfmt/deps/include/fmt/chrono.h
110
+ test -f build/setup-libfmt/deps/include/fmt/color.h
111
+ test -f build/setup-libfmt/deps/include/fmt/compile.h
112
+ test -f build/setup-libfmt/deps/include/fmt/core.h
113
+ test -f build/setup-libfmt/deps/include/fmt/format.h
114
+ test -f build/setup-libfmt/deps/include/fmt/format-inl.h
115
+ test -f build/setup-libfmt/deps/include/fmt/os.h
116
+ test -f build/setup-libfmt/deps/include/fmt/ostream.h
117
+ test -f build/setup-libfmt/deps/include/fmt/printf.h
118
+ test -f build/setup-libfmt/deps/include/fmt/ranges.h
119
+ test -f build/setup-libfmt/deps/include/fmt/std.h
120
+ test -f build/setup-libfmt/deps/include/fmt/xchar.h
121
+ test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-config.cmake
122
+ test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-config-version.cmake
123
+ test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-targets.cmake
124
+ test -f build/setup-libfmt/deps/lib/cmake/fmt/fmt-targets-release.cmake
125
+ test -f build/setup-libfmt/deps/lib/pkgconfig/fmt.pc
126
+
78
127
  test-setup-librachive:
79
128
  name: test setup-librachive on ${{ matrix.os }}
80
129
  runs-on: ${{ matrix.os }}
81
130
  strategy:
82
131
  fail-fast: false
83
132
  matrix:
84
- os: [ ubuntu-20.04, macos-13, macos-14 ]
133
+ os: [ macos-13, macos-14 ]
85
134
  steps:
86
135
  - name: Checkout
87
136
  uses: actions/checkout@v4
@@ -95,7 +144,39 @@ jobs:
95
144
  run: |
96
145
  set -o errexit -o pipefail -o noclobber -o nounset
97
146
  test -f build/setup-librachive/deps/lib/pkgconfig/libarchive.pc
98
- test -f build/setup-librachive/deps/lib/libarchive.so || test -f build/setup-librachive/deps/lib/libarchive.dylib
147
+ test -f build/setup-librachive/deps/lib/libarchive.a
148
+ test -f build/setup-librachive/deps/include/archive.h
149
+ test -f build/setup-librachive/deps/include/archive_entry.h
150
+
151
+ test-setup-librachive-co:
152
+ name: test setup-librachive on ${{ matrix.architecture.platform }}/${{ matrix.container }}
153
+ runs-on: ${{ matrix.architecture.host }}
154
+ container:
155
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}'
156
+ defaults:
157
+ run:
158
+ shell: bash
159
+ strategy:
160
+ fail-fast: false
161
+ matrix:
162
+ container: [ 'ubuntu-20.04-dev', 'alpine-3.17-dev' ]
163
+ architecture:
164
+ - { host: 'ubuntu-22.04', platform: linux/amd64 }
165
+ - { host: 'ubuntu-22.04-arm', platform: linux/arm64 }
166
+
167
+ steps:
168
+ - name: Checkout
169
+ uses: actions/checkout@v1
170
+
171
+ - name: Run cmake script
172
+ run: |
173
+ cmake -B build/setup-librachive -DROOT=$PWD tests/setup-librachive
174
+ cmake --build build/setup-librachive
175
+
176
+ - name: Test setup-librachive
177
+ run: |
178
+ set -o errexit -o pipefail -o noclobber -o nounset
179
+ test -f build/setup-librachive/deps/lib/pkgconfig/libarchive.pc
99
180
  test -f build/setup-librachive/deps/lib/libarchive.a
100
181
  test -f build/setup-librachive/deps/include/archive.h
101
182
  test -f build/setup-librachive/deps/include/archive_entry.h
@@ -106,7 +187,7 @@ jobs:
106
187
  strategy:
107
188
  fail-fast: false
108
189
  matrix:
109
- os: [ ubuntu-20.04, macos-13, macos-14 ]
190
+ os: [ macos-13, macos-14 ]
110
191
  steps:
111
192
  - name: Checkout
112
193
  uses: actions/checkout@v4
@@ -122,13 +203,43 @@ jobs:
122
203
  test -f build/setup-libutfcpp/deps/include/utf8.h
123
204
  test -d build/setup-libutfcpp/deps/include/utf8
124
205
 
206
+ test-setup-libutfcpp-co:
207
+ name: test setup-libutfcpp on ${{ matrix.architecture.platform }}/${{ matrix.container }}
208
+ runs-on: ${{ matrix.architecture.host }}
209
+ container:
210
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}'
211
+ defaults:
212
+ run:
213
+ shell: bash
214
+ strategy:
215
+ fail-fast: false
216
+ matrix:
217
+ container: [ 'ubuntu-20.04-dev', 'alpine-3.17-dev' ]
218
+ architecture:
219
+ - { host: 'ubuntu-22.04', platform: linux/amd64 }
220
+ - { host: 'ubuntu-22.04-arm', platform: linux/arm64 }
221
+ steps:
222
+ - name: Checkout
223
+ uses: actions/checkout@v1
224
+
225
+ - name: Run cmake script
226
+ run: |
227
+ cmake -B build/setup-libutfcpp -DROOT=$PWD tests/setup-libutfcpp
228
+ cmake --build build/setup-libutfcpp
229
+
230
+ - name: Test setup-libutfcpp
231
+ run: |
232
+ set -o errexit -o pipefail -o noclobber -o nounset
233
+ test -f build/setup-libutfcpp/deps/include/utf8.h
234
+ test -d build/setup-libutfcpp/deps/include/utf8
235
+
125
236
  test-setup-libhowardhinnerdate:
126
237
  name: test setup-libhowardhinnerdate on ${{ matrix.os }}
127
238
  runs-on: ${{ matrix.os }}
128
239
  strategy:
129
240
  fail-fast: false
130
241
  matrix:
131
- os: [ ubuntu-20.04, macos-13 ]
242
+ os: [ macos-13, macos-14 ]
132
243
  steps:
133
244
  - name: Checkout
134
245
  uses: actions/checkout@v4
@@ -143,6 +254,35 @@ jobs:
143
254
  set -o errexit -o pipefail -o noclobber -o nounset
144
255
  test -f build/setup-libhowardhinnerdate/deps/include/date/date.h
145
256
 
257
+ test-setup-libhowardhinnerdate-co:
258
+ name: test setup-libhowardhinnerdate on ${{ matrix.architecture.platform }}/${{ matrix.container }}
259
+ runs-on: ${{ matrix.architecture.host }}
260
+ container:
261
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-${{ matrix.container }}'
262
+ defaults:
263
+ run:
264
+ shell: bash
265
+ strategy:
266
+ fail-fast: false
267
+ matrix:
268
+ container: [ 'ubuntu-20.04-dev', 'alpine-3.17-dev' ]
269
+ architecture:
270
+ - { host: 'ubuntu-22.04', platform: linux/amd64 }
271
+ - { host: 'ubuntu-22.04-arm', platform: linux/arm64 }
272
+ steps:
273
+ - name: Checkout
274
+ uses: actions/checkout@v1
275
+
276
+ - name: Run cmake script
277
+ run: |
278
+ cmake -B build/setup-libhowardhinnerdate -DROOT=$PWD tests/setup-libhowardhinnerdate
279
+ cmake --build build/setup-libhowardhinnerdate
280
+
281
+ - name: Test setup-libhowardhinnerdate
282
+ run: |
283
+ set -o errexit -o pipefail -o noclobber -o nounset
284
+ test -f build/setup-libhowardhinnerdate/deps/include/date/date.h
285
+
146
286
  test-cross-brew-install:
147
287
  name: test arm-brew-setup/install
148
288
  runs-on: macos-13
@@ -187,7 +327,7 @@ jobs:
187
327
  name: test openssl 1.1.1 setup on alpine
188
328
  runs-on: ubuntu-latest
189
329
  container:
190
- image: alpine:3.17
330
+ image: 'ghcr.io/${{ github.repository_owner }}/tebako-alpine-3.17-dev'
191
331
 
192
332
  steps:
193
333
  - name: Install packages
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -1,7 +1,7 @@
1
1
  #! /bin/bash
2
2
  # Copyright (c) 2022,2024 [Ribose Inc](https://www.ribose.com).
3
3
  # All rights reserved.
4
- # This file is a part of tebako
4
+ # This file is a part of the Tebako project.
5
5
  #
6
6
  # Redistribution and use in source and binary forms, with or without
7
7
  # modification, are permitted provided that the following conditions
@@ -52,6 +52,10 @@ else
52
52
  exit 1
53
53
  fi
54
54
 
55
+ re="cmake_minimum_required(VERSION 3.1.3 FATAL_ERROR)"
56
+ sbst="cmake_minimum_required(VERSION 3.24.0)"
57
+ do_patch "$1/CMakeLists.txt" "$re" "$sbst"
58
+
55
59
  if [[ "$OSTYPE" == "msys" || "$OSTYPE" == "cygwin" ]]; then
56
60
  re="ftruncate(file\.fd(), finalBufferSize),"
57
61
  sbst="folly::portability::unistd::ftruncate(file.fd(), finalBufferSize), \/* tebako patched *\/"
@@ -1,7 +1,7 @@
1
1
  #! /bin/bash
2
- # Copyright (c) 2022-2024, [Ribose Inc](https://www.ribose.com).
2
+ # Copyright (c) 2022-2025, [Ribose Inc](https://www.ribose.com).
3
3
  # All rights reserved.
4
- # This file is a part of tebako
4
+ # This file is a part of the Tebako project.
5
5
  #
6
6
  # Redistribution and use in source and binary forms, with or without
7
7
  # modification, are permitted provided that the following conditions
@@ -148,6 +148,11 @@ funky_formatter_patch() {
148
148
  do_patch "$1" "$re" "$sbst"
149
149
  }
150
150
 
151
+
152
+ re="cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)"
153
+ sbst="cmake_minimum_required(VERSION 3.24.0)"
154
+ do_patch "$1/CMakeLists.txt" "$re" "$sbst"
155
+
151
156
  if [[ "$OSTYPE" == "linux-musl"* ]]; then
152
157
  # https://github.com/facebook/folly/issues/1478
153
158
  re="#elif defined(__FreeBSD__)"
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  # Copyright (c) 2023, [Ribose Inc](https://www.ribose.com).
3
3
  # All rights reserved.
4
- # This file is a part of tebako
4
+ # This file is a part of the Tebako project.
5
5
  #
6
6
  # Redistribution and use in source and binary forms, with or without
7
7
  # modification, are permitted provided that the following conditions
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -2,7 +2,7 @@
2
2
  #
3
3
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
4
4
  # All rights reserved.
5
- # This file is a part of tebako
5
+ # This file is a part of the Tebako project.
6
6
  #
7
7
  # Redistribution and use in source and binary forms, with or without
8
8
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2021-2022 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
- # Copyright (c) 2021-2024, [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2021-2025, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tamatebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2022, [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tamatebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2022-2025 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -23,7 +23,7 @@
23
23
  # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
24
  # POSSIBILITY OF SUCH DAMAGE.
25
25
 
26
- def_ext_prj_t(LIBARCHIVE "3.6.2" "9e2c1b80d5fbe59b61308fdfab6c79b5021d7ff4ff2489fb12daf0a96a83551d")
26
+ def_ext_prj_t(LIBARCHIVE "3.7.9" "ed8b5732e4cd6e30fae909fb945cad8ff9cb7be5c6cdaa3944ec96e4a200c04c")
27
27
 
28
28
  message(STATUS "Collecting libarchive - " v${LIBARCHIVE_VER} " at " ${LIBARCHIVE_SOURCE_DIR})
29
29
 
@@ -74,15 +74,11 @@ endif(DEFINED TEBAKO_BUILD_TARGET)
74
74
  # Method #1 is implemented here.
75
75
  # ...................................................................
76
76
 
77
- if(${IS_MSYS})
78
- set(__LIBARCHIVE "${DEPS}/lib/libarchive_static.a")
79
- else(${IS_MSYS})
80
- set(__LIBARCHIVE "${DEPS}/lib/libarchive.a")
81
- endif(${IS_MSYS})
77
+ set(__LIBARCHIVE "${DEPS}/lib/libarchive.a")
82
78
 
83
79
  ExternalProject_Add(${LIBARCHIVE_PRJ}
84
80
  PREFIX "${DEPS}"
85
- URL http://www.libarchive.org/downloads/libarchive-${LIBARCHIVE_VER}.tar.xz
81
+ URL https://www.libarchive.org/downloads/libarchive-${LIBARCHIVE_VER}.tar.xz
86
82
  URL_HASH SHA256=${LIBARCHIVE_HASH}
87
83
  DOWNLOAD_NO_PROGRESS true
88
84
  UPDATE_COMMAND ""
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2024 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2024 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
- # Copyright (c) 2022-2024 [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2022-2025 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions
@@ -1,6 +1,6 @@
1
1
  # Copyright (c) 2023-2025 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
- # This file is a part of tebako
3
+ # This file is a part of the Tebako project.
4
4
  #
5
5
  # Redistribution and use in source and binary forms, with or without
6
6
  # modification, are permitted provided that the following conditions