mirror of
https://github.com/veeso/termscp.git
synced 2026-09-26 05:51:20 -07:00
ci: build musl releases with static Samba dependencies
This commit is contained in:
+57
-25
@@ -42,62 +42,94 @@ jobs:
|
|||||||
rust:1.98-alpine3.22 \
|
rust:1.98-alpine3.22 \
|
||||||
sh -euxc '
|
sh -euxc '
|
||||||
apk add --no-cache \
|
apk add --no-cache \
|
||||||
acl-dev \
|
|
||||||
acl-static \
|
|
||||||
bison \
|
bison \
|
||||||
|
binutils \
|
||||||
build-base \
|
build-base \
|
||||||
cups-dev \
|
|
||||||
cyrus-sasl-dev \
|
|
||||||
cyrus-sasl-static \
|
|
||||||
dbus-dev \
|
|
||||||
file \
|
file \
|
||||||
flex \
|
flex \
|
||||||
git \
|
git \
|
||||||
gettext-static \
|
|
||||||
gnutls-dev \
|
gnutls-dev \
|
||||||
icu-dev \
|
|
||||||
icu-static \
|
|
||||||
jansson-dev \
|
|
||||||
jansson-static \
|
|
||||||
keyutils-dev \
|
|
||||||
libarchive-dev \
|
|
||||||
libarchive-static \
|
|
||||||
libbsd-dev \
|
|
||||||
libbsd-static \
|
|
||||||
libcap-dev \
|
|
||||||
libcap-static \
|
|
||||||
libgit2-dev \
|
libgit2-dev \
|
||||||
libgit2-static \
|
libgit2-static \
|
||||||
libtirpc-dev \
|
|
||||||
libtirpc-static \
|
|
||||||
libunistring-dev \
|
libunistring-dev \
|
||||||
libunistring-static \
|
libunistring-static \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
linux-pam-dev \
|
|
||||||
openldap-dev \
|
|
||||||
openssl-dev \
|
openssl-dev \
|
||||||
openssl-libs-static \
|
openssl-libs-static \
|
||||||
perl \
|
perl \
|
||||||
perl-parse-yapp \
|
perl-parse-yapp \
|
||||||
pkgconf \
|
pkgconf \
|
||||||
python3 \
|
python3 \
|
||||||
|
wget \
|
||||||
|
xz \
|
||||||
zlib-dev \
|
zlib-dev \
|
||||||
zlib-static
|
zlib-static
|
||||||
rustup target add "$TARGET"
|
rustup target add "$TARGET"
|
||||||
cargo fetch --locked
|
cargo fetch --locked
|
||||||
|
NATIVE_CFLAGS="-O2 -fPIC"
|
||||||
|
if [ "$TARGET" = "aarch64-unknown-linux-musl" ]; then
|
||||||
|
NATIVE_CFLAGS="$NATIVE_CFLAGS -mno-outline-atomics"
|
||||||
|
fi
|
||||||
|
export CFLAGS="$NATIVE_CFLAGS"
|
||||||
|
|
||||||
|
mkdir -p /tmp/native
|
||||||
|
wget -q https://ftp.gnu.org/gnu/nettle/nettle-3.10.1.tar.gz \
|
||||||
|
-O /tmp/native/nettle.tar.gz
|
||||||
|
tar -xzf /tmp/native/nettle.tar.gz -C /tmp/native
|
||||||
|
cd /tmp/native/nettle-3.10.1
|
||||||
|
./configure \
|
||||||
|
--prefix=/tmp/native/nettle \
|
||||||
|
--disable-shared \
|
||||||
|
--enable-static \
|
||||||
|
--disable-documentation \
|
||||||
|
--enable-mini-gmp
|
||||||
|
make -j$(getconf _NPROCESSORS_ONLN)
|
||||||
|
make install
|
||||||
|
|
||||||
|
wget -q https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.13.tar.xz \
|
||||||
|
-O /tmp/native/gnutls.tar.xz
|
||||||
|
tar -xf /tmp/native/gnutls.tar.xz -C /tmp/native
|
||||||
|
cd /tmp/native/gnutls-3.8.13
|
||||||
|
PKG_CONFIG_PATH=/tmp/native/nettle/lib/pkgconfig \
|
||||||
|
./configure \
|
||||||
|
--prefix=/tmp/native/gnutls \
|
||||||
|
--disable-shared \
|
||||||
|
--enable-static \
|
||||||
|
--disable-doc \
|
||||||
|
--disable-tests \
|
||||||
|
--disable-nls \
|
||||||
|
--disable-hardware-acceleration \
|
||||||
|
--with-nettle-mini \
|
||||||
|
--with-included-libtasn1 \
|
||||||
|
--with-included-unistring \
|
||||||
|
--without-idn \
|
||||||
|
--without-p11-kit \
|
||||||
|
--without-zlib
|
||||||
|
make -j$(getconf _NPROCESSORS_ONLN)
|
||||||
|
make install
|
||||||
|
|
||||||
|
mkdir -p /tmp/native/pkgconfig
|
||||||
|
sed \
|
||||||
|
-e "s#^Libs:.*#Libs: -L/tmp/native/gnutls/lib -lgnutls -latomic -L/tmp/native/nettle/lib -lhogweed -lnettle#" \
|
||||||
|
-e "/^Requires.private:/d" \
|
||||||
|
-e "s#^Cflags:.*#Cflags: -I/tmp/native/gnutls/include -I/tmp/native/nettle/include#" \
|
||||||
|
/tmp/native/gnutls/lib/pkgconfig/gnutls.pc \
|
||||||
|
> /tmp/native/pkgconfig/gnutls.pc
|
||||||
|
|
||||||
PAVAO_SRC=$(find "${CARGO_HOME:-/usr/local/cargo}/registry/src" \
|
PAVAO_SRC=$(find "${CARGO_HOME:-/usr/local/cargo}/registry/src" \
|
||||||
-type d -name "pavao-src-4.22.11" -print -quit)
|
-type d -name "pavao-src-4.24.6" -print -quit)
|
||||||
test -n "$PAVAO_SRC"
|
test -n "$PAVAO_SRC"
|
||||||
cp -R "$PAVAO_SRC" /tmp/pavao-src
|
cp -R "$PAVAO_SRC" /tmp/pavao-src
|
||||||
perl -0pi -e "s/configure\\.arg\\(\\\"--without-ad-dc\\\"\\);/configure.arg(\\\"--without-ad-dc\\\");\\n configure.arg(\\\"--without-libunwind\\\");/" \
|
perl -0pi -e "s#( \\\"lib/replace/replace\\.c\\\",\\n)#\$1 \\\"lib/replace/closefrom.c\\\",\\n \\\"lib/replace/strptime.c\\\",\\n#" \
|
||||||
/tmp/pavao-src/src/lib.rs
|
/tmp/pavao-src/src/lib.rs
|
||||||
cat >> Cargo.toml <<EOF
|
cat >> Cargo.toml <<EOF
|
||||||
|
|
||||||
[patch.crates-io]
|
[patch.crates-io]
|
||||||
pavao-src = { path = "/tmp/pavao-src" }
|
pavao-src = { path = "/tmp/pavao-src" }
|
||||||
EOF
|
EOF
|
||||||
cargo update -p pavao-src@4.22.11
|
cargo update -p pavao-src@4.24.6
|
||||||
export PKG_CONFIG_ALL_STATIC=1
|
export PKG_CONFIG_ALL_STATIC=1
|
||||||
|
export PKG_CONFIG_PATH=/tmp/native/pkgconfig:/tmp/native/nettle/lib/pkgconfig:/usr/lib/pkgconfig
|
||||||
export RUSTFLAGS="-C target-feature=+crt-static -C link-arg=-static"
|
export RUSTFLAGS="-C target-feature=+crt-static -C link-arg=-static"
|
||||||
cargo build --locked --release --target "$TARGET" \
|
cargo build --locked --release --target "$TARGET" \
|
||||||
--features smb-vendored
|
--features smb-vendored
|
||||||
|
|||||||
Reference in New Issue
Block a user