构建静态 socat
本项目 派生于jingjingxyk/swoole-cli 项目的
new_dev分支的静态库构建流程
本项目 只需要关注
.github/workflow目录里配置文件的变更
curl -fSL https://github.com/jingjingxyk/swoole-cli/blob/new_dev/setup-socat-runtime.sh?raw=true | bash
# 指定发布版本
curl -fSL https://github.com/jingjingxyk/swoole-cli/blob/new_dev/setup-socat-runtime.sh?raw=true | bash -s -- --version v2.1.0
git clone -b main https://github.com/jingjingxyk/build-static-socat.git
# 或者
git clone --recursive -b socat https://github.com/jingjingxyk/swoole-cli.git
cd swoole-cli
bash setup-php-runtime.sh
# 或者使用镜像
# 来自 https://www.swoole.com/download
bash setup-php-runtime.sh --mirror china
# shell脚本中启用别名扩展功能
shopt -s expand_aliases
__DIR__=$(pwd)
export PATH="${__DIR__}/runtime:$PATH"
ln -sf ${__DIR__}/runtime/swoole-cli ${__DIR__}/runtime/php
alias php="php -d curl.cainfo=${__DIR__}/runtime/cacert.pem -d openssl.cafile=${__DIR__}/runtime/cacert.pem"
which php
php -v
composer install --no-interaction --no-autoloader --no-scripts --profile --no-dev
composer dump-autoload --optimize --profile --no-dev
php prepare.php +socat
bash make-install-deps.sh
bash make.sh all-library
bash make.sh config
如容器已经安装,可跳过执行安装 docker 命令
sh sapi/quickstart/linux/install-docker.sh
sh sapi/quickstart/linux/run-alpine-container.sh
sh sapi/quickstart/linux/connection-swoole-cli-alpine.sh
sh sapi/quickstart/linux/alpine-init.sh
# 使用镜像源安装
sh sapi/quickstart/linux/install-docker.sh --mirror china
sh sapi/quickstart/linux/alpine-init.sh --mirror china
如 homebrew 已安装,可跳过执行安装 homebrew 命令
bash sapi/quickstart/macos/install-homebrew.sh
bash sapi/quickstart/macos/macos-init.sh
# 使用镜像源安装
bash sapi/quickstart/macos/install-homebrew.sh --mirror china
bash sapi/quickstart/macos/macos-init.sh --mirror china
cp build-release-example.sh build-release.sh
# 按你的需求修改配置 OPTIONS="${OPTIONS} --with-libavif=1 "
vi build-release.sh
# 执行构建流程
bash build-release.sh
http://www.dest-unreach.org/socat/
$ ./vendor/bin/phpunit sapi/src/tests/
$ ./vendor/bin/php-cs-fixer fix sapi/src/
$ ./vendor/bin/php-cs-fixer fix sapi/src/tests/
build-static-socat使用了多个其他开源项目,请认真阅读自动生成的bin/LICENSE文件中版权协议,遵守对应开源项目的LICENSEbuild-static-socat本身的软件源代码、文档等内容以Apache 2.0 LICENSE+SWOOLE-CLI LICENSE作为双重授权协议,用户需要同时遵守Apache 2.0 LICENSE和SWOOLE-CLI LICENSE所规定的条款
- 对
swoole-cli代码进行使用、修改、发布的新项目必须含有SWOOLE-CLI LICENSE的全部内容 - 使用
swoole-cli代码重新发布为新项目或者产品时,项目或产品名称不得包含swoole单词