ports: Allow build scripts install to custom path

This will maybe allow packaging ports :)
This commit is contained in:
2026-05-25 15:52:22 +03:00
parent c79e412215
commit bb170ba613
50 changed files with 92 additions and 82 deletions

View File

@@ -20,5 +20,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -19,5 +19,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -23,5 +23,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -19,5 +19,5 @@ build() {
} }
install() { install() {
cp -v bin/gcc/$specseek_arch/specseek_$specseek_arch "$BANAN_SYSROOT/usr/bin/specseek" || exit 1 cp -v bin/gcc/$specseek_arch/specseek_$specseek_arch "$DESTDIR/usr/bin/specseek" || exit 1
} }

View File

@@ -24,5 +24,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -24,5 +24,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -16,7 +16,7 @@ CONFIGURE_OPTIONS=(
) )
post_install() { post_install() {
if [ ! -L $BANAN_SYSROOT/usr/bin/sh ]; then if [ ! -L $DESTDIR/usr/bin/sh ]; then
ln -s bash $BANAN_SYSROOT/usr/bin/sh ln -s bash $DESTDIR/usr/bin/sh
fi fi
} }

View File

@@ -13,14 +13,16 @@ build() {
} }
install() { install() {
cp -v libbz2.so.$VERSION $BANAN_SYSROOT/usr/lib/ || exit 1 mkdir -p "$DESTDIR/usr/lib"
ln -svf libbz2.so.$VERSION $BANAN_SYSROOT/usr/lib/libbz2.so || exit 1 cp -v libbz2.so.$VERSION "$DESTDIR/usr/lib/" || exit 1
ln -svf libbz2.so.$VERSION $BANAN_SYSROOT/usr/lib/libbz2.so.1 || exit 1 ln -svf libbz2.so.$VERSION "$DESTDIR/usr/lib/libbz2.so" || exit 1
ln -svf libbz2.so.$VERSION $BANAN_SYSROOT/usr/lib/libbz2.so.1.0 || exit 1 ln -svf libbz2.so.$VERSION "$DESTDIR/usr/lib/libbz2.so.1" || exit 1
ln -svf libbz2.so.$VERSION "$DESTDIR/usr/lib/libbz2.so.1.0" || exit 1
cp -v bzlib.h $BANAN_SYSROOT/usr/include/ || exit 1 mkdir -p "$DESTDIR/usr/include"
cp -v bzlib.h "$DESTDIR/usr/include/" || exit 1
cat > $BANAN_SYSROOT/usr/lib/pkgconfig/bzip2.pc << EOF cat > $DESTDIR/usr/lib/pkgconfig/bzip2.pc << EOF
prefix=/usr prefix=/usr
exec_prefix=\${prefix} exec_prefix=\${prefix}
bindir=\${exec_prefix}/bin bindir=\${exec_prefix}/bin

View File

@@ -13,10 +13,10 @@ build() {
} }
install() { install() {
rm -rf "$BANAN_SYSROOT/etc/cacert/extracted" rm -rf "$DESTDIR/etc/cacert/extracted"
mkdir -p "$BANAN_SYSROOT/etc/cacert/extracted" mkdir -p "$DESTDIR/etc/cacert/extracted"
cp -vf "../cacert-${VERSION//./-}.pem" "$BANAN_SYSROOT/etc/cacert/cacert.pem" cp -vf "../cacert-${VERSION//./-}.pem" "$DESTDIR/etc/cacert/cacert.pem"
awk '/-----BEGIN CERTIFICATE-----/ {c=1;n++} c {print > sprintf("cert%03d.pem", n)} /-----END CERTIFICATE-----/ {c=0}' "../cacert-${VERSION//./-}.pem" awk '/-----BEGIN CERTIFICATE-----/ {c=1;n++} c {print > sprintf("cert%03d.pem", n)} /-----END CERTIFICATE-----/ {c=0}' "../cacert-${VERSION//./-}.pem"
mv cert*.pem "$BANAN_SYSROOT/etc/cacert/extracted/" mv cert*.pem "$DESTDIR/etc/cacert/extracted/"
} }

View File

@@ -22,5 +22,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -21,6 +21,6 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
cp $BANAN_TOOLCHAIN_DIR/cmake-platform/* $BANAN_SYSROOT/usr/share/cmake-3.26/Modules/Platform/ cp $BANAN_TOOLCHAIN_DIR/cmake-platform/* $DESTDIR/usr/share/cmake-3.26/Modules/Platform/
} }

View File

@@ -25,5 +25,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -18,6 +18,9 @@ build() {
} }
install() { install() {
cp doomgeneric/doomgeneric "${BANAN_SYSROOT}/bin/doom" || exit 1 mkdir -p "$DESTDIR/usr/bin"
cp ../doom1.wad "$BANAN_SYSROOT/home/user/" || exit 1 cp -vf doomgeneric/doomgeneric "$DESTDIR/usr/bin/doom"
mkdir -p "$DESTDIR/home/user"
cp -vf ../doom1.wad "$DESTDIR/home/user/"
} }

View File

@@ -23,7 +23,7 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }
post_install() { post_install() {
@@ -39,9 +39,9 @@ post_install() {
tar xf "$font_name.tar.bz2" || exit 1 tar xf "$font_name.tar.bz2" || exit 1
fi fi
mkdir -p "$BANAN_SYSROOT/usr/share/fonts/TTF" || exit 1 mkdir -p "$DESTDIR/usr/share/fonts/TTF" || exit 1
cp "$font_name/ttf/"* "$BANAN_SYSROOT/usr/share/fonts/TTF/" || exit 1 cp "$font_name/ttf/"* "$DESTDIR/usr/share/fonts/TTF/" || exit 1
cp "$font_name/fontconfig/"* "$BANAN_SYSROOT/usr/share/fontconfig/conf.avail/" || exit 1 cp "$font_name/fontconfig/"* "$DESTDIR/usr/share/fontconfig/conf.avail/" || exit 1
popd &>/dev/null popd &>/dev/null
} }

View File

@@ -23,5 +23,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -22,5 +22,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -18,5 +18,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -17,5 +17,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -26,5 +26,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -14,5 +14,5 @@ build() {
} }
install() { install() {
./waf install --destdir=$BANAN_SYSROOT/home/user/halflife || exit 1 ./waf install --destdir="$DESTDIR/home/user/halflife" || exit 1
} }

View File

@@ -23,7 +23,7 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }
post_install() { post_install() {

View File

@@ -250,6 +250,7 @@ if (( $needs_compile )); then
sha256sum "$BANAN_SYSROOT/usr/lib/libc.a" > "../.compile_hash" sha256sum "$BANAN_SYSROOT/usr/lib/libc.a" > "../.compile_hash"
fi fi
DESTDIR="$BANAN_SYSROOT"
pre_install pre_install
install install
grep -qsxF "$NAME-$VERSION" "$installed_file" || echo "$NAME-$VERSION" >> "$installed_file" grep -qsxF "$NAME-$VERSION" "$installed_file" || echo "$NAME-$VERSION" >> "$installed_file"

View File

@@ -19,5 +19,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -22,5 +22,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -23,5 +23,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -18,5 +18,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -23,5 +23,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -50,5 +50,6 @@ build() {
} }
install() { install() {
cp -v links "$BANAN_SYSROOT/usr/bin/" || exit 1 mkdir -p "$DESTDIR/usr/bin"
cp -v links "$DESTDIR/usr/bin/" || exit 1
} }

View File

@@ -13,5 +13,5 @@ build() {
} }
install() { install() {
make install PLAT=posix INSTALL_TOP="$BANAN_SYSROOT/usr" || exit 1 make install PLAT=posix INSTALL_TOP="$DESTDIR/usr" || exit 1
} }

View File

@@ -74,8 +74,9 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
ln -sf osmesa.pc $BANAN_SYSROOT/usr/lib/pkgconfig/opengl.pc mkdir -p "$DESTDIR/usr/lib/pkgconfig"
ln -sf libOSMesa.so $BANAN_SYSROOT/usr/lib/libGL.so ln -sf osmesa.pc $DESTDIR/usr/lib/pkgconfig/opengl.pc
ln -sf libOSMesa.so $DESTDIR/usr/lib/libGL.so
} }

View File

@@ -9,5 +9,6 @@ configure() {
} }
install() { install() {
cp src/nyancat "$BANAN_SYSROOT/usr/bin/" mkdir -p "$DESTDIR/usr/bin"
cp src/nyancat "$DESTDIR/usr/bin/"
} }

View File

@@ -21,5 +21,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -11,16 +11,16 @@ configure() {
} }
post_install() { post_install() {
rm -f "$BANAN_SYSROOT/etc/ssl/certs"/* rm -f "$DESTDIR/etc/ssl/certs"/*
ln -svf "../cacert/cacert.pem" "$BANAN_SYSROOT/etc/ssl/cert.pem" ln -svf "../cacert/cacert.pem" "$DESTDIR/etc/ssl/cert.pem"
ln -svf "../../cacert/cacert.pem" "$BANAN_SYSROOT/etc/ssl/certs/ca-certificates.crt" ln -svf "../../cacert/cacert.pem" "$DESTDIR/etc/ssl/certs/ca-certificates.crt"
ln -svf "../../cacert/cacert.pem" "$BANAN_SYSROOT/etc/ssl/certs/ca-bundle.crt" ln -svf "../../cacert/cacert.pem" "$DESTDIR/etc/ssl/certs/ca-bundle.crt"
openssl rehash "$BANAN_SYSROOT/etc/cacert/extracted" openssl rehash "$BANAN_SYSROOT/etc/cacert/extracted"
find "$BANAN_SYSROOT/etc/cacert/extracted" -type l -print0 | find "$BANAN_SYSROOT/etc/cacert/extracted" -type l -print0 |
while IFS= read -r -d '' link; do while IFS= read -r -d '' link; do
ln -s "../../cacert/extracted/$(readlink "$link")" "$BANAN_SYSROOT/etc/ssl/certs/${link##*/}" ln -s "../../cacert/extracted/$(readlink "$link")" "$DESTDIR/etc/ssl/certs/${link##*/}"
rm "$link" rm "$link"
done done
} }

View File

@@ -22,5 +22,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -20,5 +20,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -21,5 +21,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -31,9 +31,9 @@ build() {
} }
install() { install() {
cp -v build/quake2-soft "${BANAN_SYSROOT}/bin/quake2" || exit 1 mkdir -p "$DESTDIR/usr/bin"
cp -vf build/quake2-soft "$DESTDIR/usr/bin/quake2" || exit 1
baseq2_tar=$(realpath ../baseq2.tar.gz || exit 1) mkdir -p "$DESTDIR/home/user"
cd "$BANAN_SYSROOT/home/user/" tar xf ../baseq2.tar.gz -C "$DESTDIR/home/user/"
tar xf $baseq2_tar
} }

View File

@@ -20,5 +20,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -24,5 +24,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -26,5 +26,5 @@ configure() {
} }
post_install() { post_install() {
ln -sf $tcc_arch-tcc $BANAN_SYSROOT/usr/bin/tcc ln -sf $tcc_arch-tcc $DESTDIR/usr/bin/tcc
} }

View File

@@ -18,5 +18,5 @@ build() {
} }
install() { install() {
make -C unix install "DESTDIR=$BANAN_SYSROOT" || exit 1 make -C unix install "DESTDIR=$DESTDIR" || exit 1
} }

View File

@@ -19,9 +19,10 @@ post_install() {
fi fi
eawpats_dir="/usr/share/eawpats" eawpats_dir="/usr/share/eawpats"
mkdir -p "$BANAN_SYSROOT/$eawpats_dir" mkdir -p "$DESTDIR/$eawpats_dir"
unzip -qod "$BANAN_SYSROOT/$eawpats_dir" ../eawpats.zip unzip -qod "$DESTDIR/$eawpats_dir" ../eawpats.zip
cp "$BANAN_SYSROOT/$eawpats_dir/timidity.cfg" "$BANAN_SYSROOT/etc/" mkdir -p "$DESTDIR/etc"
sed -i "s|^dir .*$|dir $eawpats_dir|g" "$BANAN_SYSROOT/etc/timidity.cfg" cp "$DESTDIR/$eawpats_dir/timidity.cfg" "$DESTDIR/etc/"
sed -i "s|^dir .*$|dir $eawpats_dir|g" "$DESTDIR/etc/timidity.cfg"
} }

View File

@@ -15,5 +15,5 @@ build() {
} }
install() { install() {
cp -v tinygb "$BANAN_SYSROOT"/usr/bin || exit 1 cp -v tinygb "$DESTDIR/usr/bin/" || exit 1
} }

View File

@@ -31,9 +31,9 @@ post_install() {
tar xf "tuxracer-data-$VERSION.tar.gz" || exit 1 tar xf "tuxracer-data-$VERSION.tar.gz" || exit 1
fi fi
mkdir -p "$BANAN_SYSROOT/usr/share/tuxracer" || exit 1 mkdir -p "$DESTDIR/usr/share/tuxracer" || exit 1
cp -r "tuxracer-data-$VERSION"/* "$BANAN_SYSROOT/usr/share/tuxracer/" || exit 1 cp -r "tuxracer-data-$VERSION"/* "$DESTDIR/usr/share/tuxracer/" || exit 1
find "$BANAN_SYSROOT/usr/share/tuxracer" -type f -exec chmod 644 {} + find "$DESTDIR/usr/share/tuxracer" -type f -exec chmod 644 {} +
popd popd
} }

View File

@@ -22,13 +22,12 @@ build() {
} }
install() { install() {
./waf install --destdir=$BANAN_SYSROOT/home/user/halflife || exit 1 ./waf install --destdir="$DESTDIR/usr/share/games/halflife" || exit 1
patchelf --add-needed libxash.so $BANAN_SYSROOT/home/user/halflife/xash3d
cat > $BANAN_SYSROOT/home/user/halflife/start.sh << EOF cat > "$DESTDIR/home/user/halflife/start.sh" << EOF
#!/bin/Shell #!/bin/Shell
export LD_LIBRARY_PATH=/home/user/halflife export LD_LIBRARY_PATH=/home/user/halflife
./xash3d -console ./xash3d -console
EOF EOF
chmod +x $BANAN_SYSROOT/home/user/halflife/start.sh chmod +x $DESTDIR/home/user/halflife/start.sh
} }

View File

@@ -18,10 +18,11 @@ build() {
} }
install() { install() {
cp -v build/xbanan/xbanan "$BANAN_SYSROOT/usr/bin" || exit 1 mkdir -p "$DESTDIR/usr/bin"
cp -v build/xbanan/xbanan "$DESTDIR/usr/bin/" || exit 1
mkdir -p "$BANAN_SYSROOT/usr/share/fonts/X11" mkdir -p "$DESTDIR/usr/share/fonts/X11"
cp -r fonts/misc "$BANAN_SYSROOT/usr/share/fonts/X11/" || exit 1 cp -r fonts/misc "$DESTDIR/usr/share/fonts/X11/" || exit 1
} }
post_install() { post_install() {

View File

@@ -21,5 +21,5 @@ build() {
} }
install() { install() {
meson install --destdir="$BANAN_SYSROOT" -C build || exit 1 meson install --destdir="$DESTDIR" -C build || exit 1
} }

View File

@@ -20,5 +20,5 @@ build() {
} }
install() { install() {
cmake --install build ||exit 1 DESTDIR="$DESTDIR" cmake --install build ||exit 1
} }

View File

@@ -17,5 +17,5 @@ build() {
} }
install() { install() {
cmake --install build || exit 1 DESTDIR="$DESTDIR" cmake --install build || exit 1
} }

View File

@@ -16,5 +16,5 @@ build() {
} }
install() { install() {
cmake --install _build ||exit 1 DESTDIR="$DESTDIR" cmake --install _build ||exit 1
} }