Skip to content

Commit f1423dc

Browse files
committed
Merge branch 'build_native_php' into php-fpm
2 parents c18b630 + 448784f commit f1423dc

File tree

8 files changed

+135
-16
lines changed

8 files changed

+135
-16
lines changed

sapi/scripts/tencent-cloud-object-storage.sh

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -135,27 +135,31 @@ set -u
135135
if [ "${UPLOAD_TYPE}" == 'all' ]; then
136136
SWOOLE_VERSION=$(echo ${SWOOLE_CLI_VERSION} | awk -F '.' '{ printf "%s.%s.%s" ,$1,$2,$3 }')
137137
cd ${__PROJECT__}/var/artifact-hash/${SWOOLE_CLI_VERSION}
138-
${COSCLI} cp swoole-cli-${SWOOLE_VERSION}-cygwin-x64.zip ${COS_BUCKET_FOLDER}
139-
${COSCLI} cp swoole-cli-${SWOOLE_VERSION}-linux-arm64.tar.xz ${COS_BUCKET_FOLDER}
140-
${COSCLI} cp swoole-cli-${SWOOLE_VERSION}-linux-x64.tar.xz ${COS_BUCKET_FOLDER}
141-
${COSCLI} cp swoole-cli-${SWOOLE_VERSION}-macos-arm64.tar.xz ${COS_BUCKET_FOLDER}
142-
${COSCLI} cp swoole-cli-${SWOOLE_VERSION}-macos-x64.tar.xz ${COS_BUCKET_FOLDER}
143-
status=$?
138+
{
139+
${COSCLI} cp --forbid-overwrite --fail-output-path ${__PROJECT__}/var/tencent-cloud-object-storage/upload.log swoole-cli-${SWOOLE_VERSION}-cygwin-x64.zip ${COS_BUCKET_FOLDER}
140+
${COSCLI} cp --forbid-overwrite --fail-output-path ${__PROJECT__}/var/tencent-cloud-object-storage/upload.log swoole-cli-${SWOOLE_VERSION}-linux-arm64.tar.xz ${COS_BUCKET_FOLDER}
141+
${COSCLI} cp --forbid-overwrite --fail-output-path ${__PROJECT__}/var/tencent-cloud-object-storage/upload.log swoole-cli-${SWOOLE_VERSION}-linux-x64.tar.xz ${COS_BUCKET_FOLDER}
142+
${COSCLI} cp --forbid-overwrite --fail-output-path ${__PROJECT__}/var/tencent-cloud-object-storage/upload.log swoole-cli-${SWOOLE_VERSION}-macos-arm64.tar.xz ${COS_BUCKET_FOLDER}
143+
${COSCLI} cp --forbid-overwrite --fail-output-path ${__PROJECT__}/var/tencent-cloud-object-storage/upload.log swoole-cli-${SWOOLE_VERSION}-macos-x64.tar.xz ${COS_BUCKET_FOLDER}
144+
status=$?
145+
} || {
146+
status=$?
147+
}
144148
if [[ $status -ne 0 ]]; then
145149
echo $status
146-
cat ${__PROJECT__}/var/tencent-cloud-object-storage/coscli.log
150+
cat ${__PROJECT__}/var/tencent-cloud-object-storage/upload.log
147151
exit 1
148152
fi
149153
cd ${__PROJECT__}
150154
exit 0
151155
fi
152156

153157
if [ "${UPLOAD_TYPE}" == 'single' ]; then
154-
${COSCLI} cp ${UPLOAD_FILE} ${COS_BUCKET_FOLDER}
158+
${COSCLI} cp --forbid-overwrite --fail-output-path ${__PROJECT__}/var/tencent-cloud-object-storage/upload.log ${UPLOAD_FILE} ${COS_BUCKET_FOLDER}
155159
status=$?
156160
if [[ $status -ne 0 ]]; then
157161
echo $status
158-
cat ${__PROJECT__}/var/tencent-cloud-object-storage/coscli.log
162+
cat ${__PROJECT__}/var/tencent-cloud-object-storage/upload.log
159163
exit 1
160164
fi
161165
exit 0

sapi/src/builder/extension/phpy.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@
1313

1414
$tag = 'v1.0.11';
1515

16+
1617
$python3_prefix = PYTHON3_PREFIX;
18+
# $python3_prefix = '/opt/anaconda3';
19+
1720
$options = [];
1821
$options[] = '--enable-phpy';
1922
$options[] = ' --with-python-version=3.12.2';
@@ -25,6 +28,7 @@
2528

2629
$ext = (new Extension('phpy'))
2730
->withOptions(implode(' ', $options))
31+
//->withOptions('') //不启用编译选项
2832
->withLicense('https://github.com/swoole/phpy/blob/main/LICENSE', Extension::LICENSE_APACHE2)
2933
->withHomePage('https://github.com/swoole/phpy/')
3034
->withManual('https://github.com/swoole/phpy/')

sapi/src/builder/library/imagemagick.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
//->withFileHash('md5', '90eb1a9263b47b7e844eb817fe08932c')
1717
->withPrefix($imagemagick_prefix)
1818
->withBuildCached(false)
19-
->withInstallCached(false)
2019
->withConfigure(
2120
<<<EOF
2221
./configure --help
@@ -25,6 +24,7 @@
2524
PACKAGES_NAMES="\${PACKAGES_NAMES} libcrypto libssl openssl"
2625
PACKAGES_NAMES="\${PACKAGES_NAMES} libxml-2.0"
2726
PACKAGES_NAMES="\${PACKAGES_NAMES} libheif lcms2 libraw libraw_r libtiff-4 "
27+
PACKAGES_NAMES="\${PACKAGES_NAMES} libdeflate "
2828
CPPFLAGS="\$(pkg-config --cflags-only-I --static \$PACKAGES_NAMES ) -I{$bzip2_prefix}/include" \
2929
LDFLAGS="\$(pkg-config --libs-only-L --static \$PACKAGES_NAMES ) -L{$bzip2_prefix}/lib" \
3030
LIBS="\$(pkg-config --libs-only-l --static \$PACKAGES_NAMES ) -lbz2" \
@@ -104,7 +104,9 @@
104104
'libheif',
105105
'lcms2',
106106
'libraw',
107-
'libtiff'
107+
'libtiff',
108+
'libdeflate',
109+
//'libjxl' //咱不启用
108110
)
109111
);
110112
};

sapi/src/builder/library/lcms2.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
$lib = new Library('lcms2');
1111
$lib->withHomePage('https://littlecms.com/color-engine/')
1212
->withLicense('https://www.opensource.org/licenses/mit-license.php', Library::LICENSE_MIT)
13-
->withUrl('https://sourceforge.net/projects/lcms/files/lcms/2.17/lcms2-2.17.tar.gz')
13+
->withUrl('https://github.com/mm2/Little-CMS/archive/refs/tags/lcms2.17.tar.gz')
1414
->withManual('https://lfs.lug.org.cn/blfs/view/10.0/general/lcms2.html')
1515
->withPrefix($lcms2_prefix)
1616
->withConfigure(
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?php
2+
3+
use SwooleCli\Library;
4+
use SwooleCli\Preprocessor;
5+
6+
return function (Preprocessor $p) {
7+
$libdeflate_prefix = LIBDEFLATE_PREFIX;
8+
$lib = new Library('libdeflate');
9+
$lib->withHomePage('https://github.com/ebiggers/libdeflate')
10+
->withLicense('https://github.com/ebiggers/libdeflate#MIT-1-ov-file', Library::LICENSE_MIT)
11+
->withManual('https://github.com/ebiggers/libdeflate')
12+
->withUrl('https://github.com/ebiggers/libdeflate/releases/download/v1.25/libdeflate-1.25.tar.gz')
13+
->withPrefix($libdeflate_prefix)
14+
->withBuildCached(false)
15+
->withBuildScript(
16+
<<<EOF
17+
mkdir -p build_dir
18+
cd build_dir
19+
cmake -S .. -B . \
20+
-DCMAKE_INSTALL_PREFIX={$libdeflate_prefix} \
21+
-DCMAKE_BUILD_TYPE=Release \
22+
-DLIBDEFLATE_BUILD_SHARED_LIB=OFF \
23+
-DLIBDEFLATE_BUILD_STATIC_LIB=ON \
24+
-DLIBDEFLATE_BUILD_TESTS=OFF
25+
26+
cmake --build . --config Release
27+
28+
cmake --build . --config Release --target install
29+
EOF
30+
)
31+
->withBinPath($libdeflate_prefix . '/bin/')
32+
->withPkgName('libdeflate');
33+
34+
$p->addLibrary($lib);
35+
};
36+
37+

sapi/src/builder/library/libheif.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
->withUrl('https://github.com/strukturag/libheif/releases/download/v1.20.2/libheif-1.20.2.tar.gz')
4242
->withPrefix($libheif_prefix)
4343
->withBuildCached(false)
44-
->withInstallCached(false)
4544
->withBuildScript(
4645
<<<EOF
4746
mkdir -p build
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?php
2+
3+
use SwooleCli\Library;
4+
use SwooleCli\Preprocessor;
5+
6+
return function (Preprocessor $p) {
7+
$libjxl_prefix = LIBJXL_PREFIX;
8+
$brotli_prefix = BROTLI_PREFIX;
9+
$libgif_prefix = GIF_PREFIX;
10+
$libjpeg_prefix = JPEG_PREFIX;
11+
$libpng_prefix = PNG_PREFIX;
12+
$zlib_prefix = ZLIB_PREFIX;
13+
$libwebp_prefix = WEBP_PREFIX;
14+
$cmake_prefix_path = "";
15+
$cmake_prefix_path .= "{$brotli_prefix};";
16+
$cmake_prefix_path .= "{$libgif_prefix};";
17+
$cmake_prefix_path .= "{$libjpeg_prefix};";
18+
$cmake_prefix_path .= "{$libpng_prefix};";
19+
$cmake_prefix_path .= "{$zlib_prefix};";
20+
$cmake_prefix_path .= "{$libwebp_prefix};";
21+
$lib = new Library('libjxl');
22+
$lib->withHomePage('https://github.com/ebiggers/libdeflate')
23+
->withLicense('https://github.com/libjxl/libjxl/#BSD-3-Clause-1-ov-file', Library::LICENSE_BSD)
24+
->withManual('https://github.com/libjxl/libjxl.git')
25+
->withUrl('https://github.com/libjxl/libjxl/archive/refs/tags/v0.11.1.tar.gz')
26+
->withFile('libjxl-v0.11.1.tar.gz')
27+
->withPrefix($libjxl_prefix)
28+
->withBuildCached(false)
29+
->withBuildScript(
30+
<<<EOF
31+
mkdir -p build_dir
32+
cd build_dir
33+
cmake -S .. -B . \
34+
-DCMAKE_INSTALL_PREFIX={$libjxl_prefix} \
35+
-DCMAKE_BUILD_TYPE=Release \
36+
-DJPEGXL_ENABLE_FUZZERS=OFF \
37+
-DBUILD_SHARED_LIBS=OFF \
38+
-DBUILD_STATIC_LIBS=ON \
39+
-DJPEGXL_ENABLE_DOXYGEN=OFF \
40+
-DJPEGXL_ENABLE_MANPAGES=OFF \
41+
-DJPEGXL_ENABLE_BENCHMARK=OFF \
42+
-DJPEGXL_ENABLE_EXAMPLES=OFF \
43+
-DJPEGXL_ENABLE_JNI=OFF \
44+
-DJPEGXL_STATIC=OFF \
45+
-DBUILD_TESTING=OFF \
46+
-DCMAKE_PREFIX_PATH="{$cmake_prefix_path}" \
47+
48+
49+
cmake --build . --config Release
50+
51+
cmake --build . --config Release --target install
52+
EOF
53+
)
54+
->withScriptAfterInstall(
55+
<<<EOF
56+
rm -rf {$libjxl_prefix}/lib/*.so.*
57+
rm -rf {$libjxl_prefix}/lib/*.so
58+
EOF
59+
)
60+
->withBinPath($libjxl_prefix . '/bin/')
61+
->withPkgName('aom')
62+
->withDependentLibraries(
63+
'brotli',
64+
'libgif',
65+
'libjpeg'
66+
) ;
67+
68+
$p->addLibrary($lib);
69+
};
70+
71+
72+
https://github.com/libjxl/libjxl

sapi/src/constants.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
define("LCMS2_PREFIX", $p->getGlobalPrefix() . '/lcms2');
8787
define("OPENJPEG_PREFIX", $p->getGlobalPrefix() . '/openjpeg');
8888

89+
8990
define("ABSL_PREFIX", $p->getGlobalPrefix() . '/absl');
9091

9192
define("MUSL_CROSS_MAKE_PREFIX", $p->getGlobalPrefix() . '/musl_cross_make');
@@ -97,7 +98,7 @@
9798
define("LIBMEMCACHED_PREFIX", $p->getGlobalPrefix() . '/libmemcached');
9899
define("LIBMEMCACHED_AWESOME_PREFIX", $p->getGlobalPrefix() . '/libmemcached_awesome');
99100

100-
define("EXAMPLE_PREFIX", $p->getGlobalPrefix() . '/example');
101-
102-
101+
define("LIBDEFLATE_PREFIX", $p->getGlobalPrefix() . '/libdeflate');
102+
define("LIBJXL_PREFIX", $p->getGlobalPrefix() . '/libjxl');
103103

104+
define("EXAMPLE_PREFIX", $p->getGlobalPrefix() . '/example');

0 commit comments

Comments
 (0)