Skip to content

Commit b2cd6eb

Browse files
apply custom patches to minizip and Qt
1 parent 546754a commit b2cd6eb

File tree

133 files changed

+50316
-37
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+50316
-37
lines changed

.github/workflows/rebuildDependencies.yml

Lines changed: 90 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -17,35 +17,35 @@ jobs:
1717
os: macos-14
1818
before_install: macos.sh
1919
conan_profile: macos-intel
20-
conan_system_libs: '*'
21-
# - platform: mac-arm
22-
# os: macos-14
23-
# before_install: macos.sh
24-
# conan_profile: macos-arm
25-
# conan_system_libs: '*'
26-
# - platform: ios
27-
# os: macos-14
28-
# before_install: macos.sh
29-
# conan_profile: ios-arm64
30-
# conan_system_libs: '*'
31-
# - platform: android-armeabi-v7a
32-
# os: ubuntu-24.04
33-
# before_install: android.sh
34-
# conan_profile: android-32-ndk
35-
# conan_system_libs: zlib
36-
# - platform: android-arm64-v8a
37-
# os: ubuntu-24.04
38-
# conan_profile: android-64-ndk
39-
# conan_system_libs: zlib
40-
# - platform: windows-x64
41-
# os: windows-2022
42-
# # before_install: msvc.sh
43-
# conan_profile: msvc-x64
44-
# conan_options: -o target_pre_windows10=True -c tools.cmake.cmaketoolchain:generator=
20+
conan_system_libs: bzip2 libiconv sqlite3 zlib
21+
- platform: mac-arm
22+
os: macos-14
23+
before_install: macos.sh
24+
conan_profile: macos-arm
25+
conan_system_libs: bzip2 libiconv sqlite3 zlib
26+
- platform: ios
27+
os: macos-14
28+
before_install: macos.sh
29+
conan_profile: ios-arm64
30+
conan_system_libs: bzip2 libiconv sqlite3 zlib
31+
- platform: android-armeabi-v7a
32+
os: ubuntu-24.04
33+
before_install: android.sh
34+
conan_profile: android-32-ndk
35+
conan_system_libs: zlib
36+
- platform: android-arm64-v8a
37+
os: ubuntu-24.04
38+
conan_profile: android-64-ndk
39+
conan_system_libs: zlib
40+
- platform: windows-x64
41+
os: windows-2022
42+
# before_install: msvc.sh
43+
conan_profile: msvc-x64
44+
conan_options: -o target_pre_windows10=True
4545
runs-on: ${{ matrix.os }}
4646

4747
steps:
48-
- name: Checkout repository
48+
- name: Checkout VCMI
4949
uses: actions/checkout@v4
5050
# TODO
5151
with:
@@ -79,29 +79,82 @@ jobs:
7979
--single-branch
8080
cd "$systemLibsRepo"
8181
for p in ${{ matrix.conan_system_libs }} ; do
82-
[ -d "$p" ] && conan create "$p" --user system
82+
conan create "$p" --user system
83+
done
84+
85+
steps:
86+
- name: Checkout current
87+
uses: actions/checkout@v4
88+
with:
89+
path: deps
90+
91+
- name: Build recipes with our patches
92+
shell: bash
93+
run: |
94+
cciRepo='conan-center-index'
95+
branchName='master'
96+
recipePathMinizip='recipes/minizip/all'
97+
recipePathQt='recipes/qt/5.x.x'
98+
custom_patches_path="$(pwd)/deps/conan_patches"
99+
100+
git clone "https://github.com/conan-io/$cciRepo.git" \
101+
--branch "$branchName" \
102+
--no-checkout \
103+
--depth 1 \
104+
--no-tags \
105+
--single-branch
106+
cd "$cciRepo"
107+
git sparse-checkout init
108+
git sparse-checkout set "$recipePathMinizip" "$recipePathQt"
109+
git switch "$branchName"
110+
111+
# versions must be synced with: conan_patches/<package>/conandata.yml
112+
# if no custom patches are required for a package, it should be removed from here
113+
for p in minizip/1.3.1 qt/5.15.16 ; do
114+
IFS_OLD="$IFS"
115+
read package version <<<"$p"
116+
IFS="IFS_OLD"
117+
118+
if [[ $package == qt ]] ; then
119+
packagePath="$recipePathQt"
120+
else
121+
packagePath="recipes/$package/all"
122+
fi
123+
124+
conan create "$packagePath" \
125+
--version="$version" \
126+
--profile=CI/conan/${{ matrix.conan_profile }} \
127+
--build=missing \
128+
--test-folder='' \
129+
--core-conf core.sources.patch:extra_path="$custom_patches_path"
83130
done
84131
85132
# TODO: remove when https://github.com/conan-io/conan-center-index/pull/26577 is merged
86133
- name: Build LuaJIT from PR changes
87134
shell: bash
88135
run: |
89-
# TODO: sparse checkout
90-
cciForkRepo='conan-center-index'
91-
git clone "https://github.com/kambala-decapitator/$cciForkRepo.git" \
92-
--branch package/luajit \
136+
cciForkRepo='cci-fork'
137+
branchName='package/luajit'
138+
recipePath='recipes/luajit/all'
139+
140+
git clone "https://github.com/kambala-decapitator/conan-center-index.git" "$cciForkRepo" \
141+
--branch "$branchName" \
142+
--no-checkout \
93143
--depth 1 \
94144
--no-tags \
95145
--single-branch
96-
conan create "$cciForkRepo/recipes/luajit/all" \
146+
cd "$cciForkRepo"
147+
git sparse-checkout init
148+
git sparse-checkout set "$recipePath"
149+
git switch "$branchName"
150+
151+
conan create "$recipePath" \
97152
--version=2.1.0-beta3 \
98153
--profile=CI/conan/${{ matrix.conan_profile }} \
99-
--build=missing
100-
101-
# TODO:
102-
# 1. download our patches
103-
# 2. build patched packages with conan create
154+
--build=missing \
155+
--test-folder=''
104156
157+
# must run in the native platform shell: Qt doesn't build in bash on Windows
105158
- name: Generate conan profile
106159
run: |
107160
conan install . -of conan-generated -b missing -pr CI/conan/${{ matrix.conan_profile }} ${{ matrix.conan_options }}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
patches:
2+
"1.3.1":
3+
- patch_file: "patches/android-pre-24.diff"
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--- a/contrib/minizip/ioapi.h
2+
+++ b/contrib/minizip/ioapi.h
3+
@@ -21,7 +21,7 @@
4+
#ifndef _ZLIBIOAPI64_H
5+
#define _ZLIBIOAPI64_H
6+
7+
-#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__))
8+
+#if (!defined(_WIN32)) && (!defined(WIN32)) && (!defined(__APPLE__)) && !(defined(__ANDROID_API__) && __ANDROID_API__ < 24)
9+
10+
// Linux needs this to support file operation on files larger then 4+GB
11+
// But might need better if/def to select just the platforms that needs them.

0 commit comments

Comments
 (0)