]> git.t-rg.ws Git - slackbuilds.git/commitdiff
Included scripts to make vendored tarballs
authorfsLeg <fsleg@t-rg.ws>
Sat, 16 Aug 2025 18:39:30 +0000 (21:39 +0300)
committerfsLeg <fsleg@t-rg.ws>
Sat, 16 Aug 2025 18:39:30 +0000 (21:39 +0300)
amneziawg-go/mkvendor.sh [new file with mode: 0644]
buf/mkvendor.sh [new file with mode: 0644]
dart-sass/mkvendor.sh [new file with mode: 0644]
element-desktop/mkvendor.sh [changed mode: 0755->0644]
helix/mkvendor.sh [new file with mode: 0644]
popcorntime/mkvendor.sh [new file with mode: 0644]
shadowsocks-rust/mkvendor.sh [new file with mode: 0644]

diff --git a/amneziawg-go/mkvendor.sh b/amneziawg-go/mkvendor.sh
new file mode 100644 (file)
index 0000000..c1b372e
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -e
+
+CWD="$(pwd)"
+TMP="${TMP:-$(mktemp -d)}"
+source "$CWD/amneziawg-go.info"
+OUTPUT="${OUTPUT:-$CWD}"
+export GOPATH="$TMP/cache"
+export GOCACHE="$TMP/cache"
+
+tar xf "$CWD/$PRGNAM-$VERSION.tar.gz" -C "$TMP"
+cd "$TMP/$PRGNAM-$VERSION"
+
+go mod vendor
+
+if [ -f "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar" ]; then
+    rm "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar"
+fi
+
+tar cfJ "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar.xz" vendor/
+
+cd "$CWD"
+su -c "rm -rf \"$TMP\""
diff --git a/buf/mkvendor.sh b/buf/mkvendor.sh
new file mode 100644 (file)
index 0000000..4006245
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -e
+
+CWD="$(pwd)"
+TMP="${TMP:-$(mktemp -d)}"
+source "$CWD/buf.info"
+OUTPUT="${OUTPUT:-$CWD}"
+export GOPATH="$TMP/cache"
+export GOCACHE="$TMP/cache"
+
+tar xf "$CWD/$PRGNAM-$VERSION.tar.gz" -C "$TMP"
+cd "$TMP/$PRGNAM-$VERSION"
+
+go mod vendor
+
+if [ -f "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar" ]; then
+    rm "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar"
+fi
+
+tar cfJ "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar.xz" vendor/
+
+cd "$CWD"
+su -c "rm -rf \"$TMP\""
diff --git a/dart-sass/mkvendor.sh b/dart-sass/mkvendor.sh
new file mode 100644 (file)
index 0000000..4eb96e2
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -e
+
+CWD="$(pwd)"
+TMP="${TMP:-$(mktemp -d)}"
+source "$CWD/dart-sass.info"
+OUTPUT="${OUTPUT:-$CWD}"
+export PUB_CACHE="$TMP/vendor/pub-cache"
+
+tar xf "$CWD/$PRGNAM-$VERSION.tar.gz" -C "$TMP"
+cd "$TMP/$PRGNAM-$VERSION"
+
+dart --disable-analytics
+dart pub get
+
+if [ -f "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar" ]; then
+    rm "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar"
+fi
+
+tar cfJ "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar.xz" -C "$TMP" vendor/
+
+cd "$CWD"
+rm -rf "$TMP"
old mode 100755 (executable)
new mode 100644 (file)
index 01ac108..b13e267
@@ -7,10 +7,10 @@ if [ ! -x "$(which jq)" -o ! -x "$(which 7z)" ]; then
   exit 1
 fi
 
-source element-desktop.info
-
-CWD=$(pwd)
-TMP=$(mktemp -d)
+CWD="$(pwd)"
+TMP="${TMP:-$(mktemp -d)}"
+source "$CWD/element-desktop.info"
+OUTPUT="${OUTPUT:-$CWD}"
 
 export PATH="/opt/rust/bin:$PATH"
 if [ -z "$LD_LIBRARY_PATH" ]; then
@@ -19,19 +19,19 @@ else
   export LD_LIBRARY_PATH="/opt/rust/lib64:$LD_LIBRARY_PATH"
 fi
 
-cd $TMP
-tar xf $CWD/element-desktop-$VERSION.tar.gz
-tar xf $CWD/element-web-$VERSION.tar.gz
+cd "$TMP"
+tar xf "$CWD/element-desktop-$VERSION.tar.gz"
+tar xf "$CWD/element-web-$VERSION.tar.gz"
 
-BASE_TMP_DIR=$TMP/element-desktop-$VERSION
-export YARN_YARN_OFFLINE_MIRROR=$BASE_TMP_DIR/vendor
-export YARN_CACHE_FOLDER=$BASE_TMP_DIR/cache
-export npm_config_cache=$YARN_CACHE_FOLDER
+BASE_TMP_DIR="$TMP/element-desktop-$VERSION"
+export YARN_YARN_OFFLINE_MIRROR="$BASE_TMP_DIR/vendor"
+export YARN_CACHE_FOLDER="$BASE_TMP_DIR/cache"
+export npm_config_cache="$YARN_CACHE_FOLDER"
 export npm_config_nodedir=/usr
-export XDG_CACHE_HOME=$BASE_TMP_DIR/electron-cache
-export CARGO_HOME=$BASE_TMP_DIR/cargo
+export XDG_CACHE_HOME="$BASE_TMP_DIR/electron-cache"
+export CARGO_HOME="$BASE_TMP_DIR/cargo"
 
-mkdir -p $YARN_YARN_OFFLINE_MIRROR
+mkdir -p "$YARN_YARN_OFFLINE_MIRROR"
 
 # element-web
 cd element-web-$VERSION
@@ -46,11 +46,11 @@ cd ../element-desktop-$VERSION
 
 ## pre-built electron
 EVERSION=$(jq --raw-output '.devDependencies.electron' < package.json)
-mkdir -p $XDG_CACHE_HOME/electron{,-builder}
-if [ -e $CWD/electron-v$EVERSION-linux-x64.zip ]; then
-  cp $CWD/electron-v$EVERSION-linux-x64.zip $XDG_CACHE_HOME/electron/
+mkdir -p "$XDG_CACHE_HOME"/electron{,-builder}
+if [ -e "$CWD/electron-v$EVERSION-linux-x64.zip" ]; then
+  cp "$CWD/electron-v$EVERSION-linux-x64.zip" "$XDG_CACHE_HOME/electron/"
 else
-  wget --directory-prefix=$XDG_CACHE_HOME/electron --tries=0 --retry-on-http-error=503 https://github.com/electron/electron/releases/download/v$EVERSION/electron-v$EVERSION-linux-x64.zip
+  wget --directory-prefix="$XDG_CACHE_HOME/electron" --tries=0 --retry-on-http-error=503 https://github.com/electron/electron/releases/download/v$EVERSION/electron-v$EVERSION-linux-x64.zip
 fi
 
 ## element-desktop itself
@@ -59,28 +59,28 @@ yarn install --frozen-lockfile \
              --no-fund \
              --update-checksums
 yarn cache clean
-EDIR=$(find $XDG_CACHE_HOME/electron -type d -mindepth 1 -maxdepth 1)
-rm $EDIR/electron-v$EVERSION-linux-x64.zip
-ln -s ../electron-v$EVERSION-linux-x64.zip $EDIR/
+EDIR="$(find $XDG_CACHE_HOME/electron -type d -mindepth 1 -maxdepth 1)"
+rm "$EDIR/electron-v$EVERSION-linux-x64.zip"
+ln -s ../electron-v$EVERSION-linux-x64.zip "$EDIR/"
 
 ## pre-built ruby for electron-builder
 FPM_RUBY=$(grep linux-amd64 node_modules/app-builder-lib/out/targets/tools.js | head -1 | cut -d'"' -f2)
 FPM_RUBY_TAG=$(grep 'const fpmPath' node_modules/app-builder-lib/out/targets/tools.js | head -1 | cut -d'"' -f2)
-mkdir -p $XDG_CACHE_HOME/electron-builder/$FPM_RUBY_TAG/$FPM_RUBY_TAG-${FPM_RUBY%.7z}
-if [ -e $CWD/$FPM_RUBY ]; then
-  cp $CWD/$FPM_RUBY $XDG_CACHE_HOME/electron-builder/
+mkdir -p "$XDG_CACHE_HOME/electron-builder/$FPM_RUBY_TAG/$FPM_RUBY_TAG-${FPM_RUBY%.7z}"
+if [ -e "$CWD/$FPM_RUBY" ]; then
+  cp "$CWD/$FPM_RUBY" "$XDG_CACHE_HOME/electron-builder/"
 else
-  wget --directory-prefix=$XDG_CACHE_HOME/electron-builder/ --tries=0 --retry-on-http-error=503 https://github.com/electron-userland/electron-builder-binaries/releases/download/$FPM_RUBY_TAG/$FPM_RUBY
+  wget --directory-prefix="$XDG_CACHE_HOME/electron-builder/" --tries=0 --retry-on-http-error=503 https://github.com/electron-userland/electron-builder-binaries/releases/download/$FPM_RUBY_TAG/$FPM_RUBY
 fi
-7z x -o$XDG_CACHE_HOME/electron-builder/$FPM_RUBY_TAG/$FPM_RUBY_TAG-${FPM_RUBY%.7z} $XDG_CACHE_HOME/electron-builder/$FPM_RUBY
-rm $XDG_CACHE_HOME/electron-builder/$FPM_RUBY
+7z x -o"$XDG_CACHE_HOME/electron-builder/$FPM_RUBY_TAG/$FPM_RUBY_TAG-${FPM_RUBY%.7z}" "$XDG_CACHE_HOME/electron-builder/$FPM_RUBY"
+rm "$XDG_CACHE_HOME/electron-builder/$FPM_RUBY"
 
 ## matrix-seshat
 RUST_PLATFORM=$(rustc -Vv | awk '/host/ {print $2}')
 SESHATVERSION=$(jq --raw-output '.hakDependencies."matrix-seshat"' < package.json | tr -d '^')
 mkdir -p .hak/hakModules .hak/matrix-seshat/$RUST_PLATFORM
-if [ -e $CWD/seshat-$SESHATVERSION.tar.gz ]; then
-  cp $CWD/seshat-$SESHATVERSION.tar.gz .hak/
+if [ -e "$CWD/seshat-$SESHATVERSION.tar.gz" ]; then
+  cp "$CWD/seshat-$SESHATVERSION.tar.gz" .hak/
 else
   wget --directory-prefix=.hak --tries=0 --retry-on-http-error=503 https://github.com/matrix-org/seshat/archive/$SESHATVERSION/seshat-$SESHATVERSION.tar.gz
 fi
@@ -119,7 +119,7 @@ cd ../../../..
 
 # vendor everything
 cd ..
-tar cfJ $CWD/element-desktop-$VERSION-vendored-sources.tar.xz \
+tar cfJ "$OUTPUT/element-desktop-$VERSION-vendored-sources.tar.xz" \
            element-desktop-$VERSION/vendor \
            element-desktop-$VERSION/.hak \
            element-desktop-$VERSION/electron-cache
diff --git a/helix/mkvendor.sh b/helix/mkvendor.sh
new file mode 100644 (file)
index 0000000..1ed2ad9
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+set -e
+
+CWD=$(pwd)
+TMP=$(mktemp -d)
+source $CWD/helix.info
+OUTPUT=${OUTPUT:-$CWD}
+export CARGO_HOME=$TMP
+
+export PATH="/opt/rust/bin:$PATH"
+if [ -z "$LD_LIBRARY_PATH" ]; then
+  export LD_LIBRARY_PATH="/opt/rust/lib64"
+else
+  export LD_LIBRARY_PATH="/opt/rust/lib64:$LD_LIBRARY_PATH"
+fi
+
+mkdir -p $TMP/$PRGNAM-$VERSION
+tar xf $CWD/$PRGNAM-$VERSION-source.tar.xz -C $TMP/$PRGNAM-$VERSION
+cd $TMP/$PRGNAM-$VERSION
+
+# configure cargo-vendor-filterer
+# the [package] definition and existing src/main.rs file are required for vendoring to work
+mkdir -p src
+touch src/main.rs
+cat << EOF >> Cargo.toml
+[package.metadata.vendor-filter]
+platforms = ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabihf"]
+all-features = true
+exclude-crate-paths = [
+  { name = "openssl-src", exclude = "openssl" },
+]
+[package]
+name = "$PRGNAM"
+EOF
+
+cargo-vendor-filterer || cargo vendor --locked
+
+mkdir -p .cargo
+cat << EOF > .cargo/config.toml
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+EOF
+
+tar cfJ $OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar.xz .cargo/ vendor/
+
+cd $CWD
+rm -rf $TMP
diff --git a/popcorntime/mkvendor.sh b/popcorntime/mkvendor.sh
new file mode 100644 (file)
index 0000000..e6f3317
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+set -e
+
+CWD="$(pwd)"
+TMP="${TMP:-$(mktemp -d)}"
+source "$CWD/popcorntime.info"
+TARNAM=popcorn-desktop
+OUTPUT="${OUTPUT:-$CWD}"
+export YARN_CACHE_FOLDER="$TMP/cache"
+export npm_config_cache="$YARN_CACHE_FOLDER"
+export YARN_YARN_OFFLINE_MIRROR="$TMP/vendor"
+
+tar xf "$CWD/$TARNAM-$VERSION.tar.gz" -C "$TMP"
+cd "$TMP/$TARNAM-$VERSION"
+
+# fix links for some dependencies
+# https://aur.archlinux.org/cgit/aur.git/tree/yarn_lock-fixes.patch?h=popcorntime
+cat << EOF > yarn_lock-fixes.patch
+diff --git a/yarn.lock b/yarn.lock
+index 9764d06ef..d7e51c545 100644
+--- a/yarn.lock
++++ b/yarn.lock
+@@ -7227,7 +7227,7 @@ teex@^1.0.1:
+ "temp@github:adam-lynch/node-temp#remove_tmpdir_dep":
+   version "0.8.3"
+-  resolved "git+ssh://git@github.com/adam-lynch/node-temp.git#279c1350cb7e4f02515d91da9e35d39a40774016"
++  resolved "git+https://github.com/adam-lynch/node-temp.git#279c1350cb7e4f02515d91da9e35d39a40774016"
+   dependencies:
+     rimraf "~2.2.6"
+@@ -7994,7 +7994,7 @@ vinyl@^3.0.0:
+ "vtt.js@git+https://github.com/gkatsev/vtt.js.git#vjs-v0.12.1":
+   version "0.12.1"
+-  resolved "git+ssh://git@github.com/gkatsev/vtt.js.git#8ea664e257ec7b5c092f58ac989e3134ff536a7a"
++  resolved "git+https://github.com/gkatsev/vtt.js.git#8ea664e257ec7b5c092f58ac989e3134ff536a7a"
+ w-json@^1.3.10:
+   version "1.3.10"
+EOF
+patch -p1 < yarn_lock-fixes.patch
+
+mkdir -p "$YARN_YARN_OFFLINE_MIRROR"
+yarn install --frozen-lockfile \
+             --ignore-engines \
+             --ignore-scripts \
+             --no-fund \
+             --production
+
+if [ -f "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar" ]; then
+    rm "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar"
+fi
+
+tar cf "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar" -C "$TMP" vendor/
+
+cd "$CWD"
+rm -rf "$TMP"
diff --git a/shadowsocks-rust/mkvendor.sh b/shadowsocks-rust/mkvendor.sh
new file mode 100644 (file)
index 0000000..c3ca2d7
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+set -e
+
+CWD="$(pwd)"
+TMP="${TMP:-$(mktemp -d)}"
+source "$CWD/shadowsocks-rust.info"
+OUTPUT="${OUTPUT:-$CWD}"
+export CARGO_HOME="$TMP"
+
+export PATH="/opt/rust/bin:$PATH"
+if [ -z "$LD_LIBRARY_PATH" ]; then
+  export LD_LIBRARY_PATH="/opt/rust/lib64"
+else
+  export LD_LIBRARY_PATH="/opt/rust/lib64:$LD_LIBRARY_PATH"
+fi
+
+tar xf "$CWD/$PRGNAM-$VERSION.tar.gz" -C "$TMP"
+cd "$TMP/$PRGNAM-$VERSION"
+
+# configure cargo-vendor-filterer
+cat << EOF >> Cargo.toml
+[package.metadata.vendor-filter]
+platforms = ["x86_64-unknown-linux-gnu", "i686-unknown-linux-gnu", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabihf"]
+all-features = true
+exclude-crate-paths = [
+  { name = "openssl-src", exclude = "openssl" },
+]
+EOF
+
+cargo-vendor-filterer || cargo vendor --locked
+
+mkdir -p .cargo
+cat << EOF > .cargo/config.toml
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"
+EOF
+
+if [ -f "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar.xz" ]; then
+    rm "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar.xz"
+fi
+
+tar cfJ "$OUTPUT/$PRGNAM-$VERSION-vendored-sources.tar.xz" .cargo/ vendor/
+
+cd "$CWD"
+rm -rf "$TMP"