summaryrefslogtreecommitdiffstats
path: root/src/unstable/gnome-typewriter-meson/APKBUILD
diff options
context:
space:
mode:
authorLibravatarLarge Libravatar memdmp <memdmpestrogenzone>2025-07-14 19:26:17 +0200
committerLibravatarLarge Libravatar memdmp <memdmpestrogenzone>2025-07-14 19:26:17 +0200
commit87f015c3fc256344b235fbcac0c33b926ac960cb (patch)
tree3c5015e5218a3d41dfe239b0ff2faf2b5516a1c0 /src/unstable/gnome-typewriter-meson/APKBUILD
parent97ad9bbef75469fee399314a624c5ca678ce8727 (diff)
downloadalpine-packages-87f015c3fc256344b235fbcac0c33b926ac960cb.tar.gz
alpine-packages-87f015c3fc256344b235fbcac0c33b926ac960cb.tar.bz2
alpine-packages-87f015c3fc256344b235fbcac0c33b926ac960cb.tar.lz
alpine-packages-87f015c3fc256344b235fbcac0c33b926ac960cb.zip

unstable/gnome-typewriter-menson: Snapshotting

Diffstat (limited to 'src/unstable/gnome-typewriter-meson/APKBUILD')
-rw-r--r--src/unstable/gnome-typewriter-meson/APKBUILD76
1 files changed, 72 insertions, 4 deletions
diff --git a/src/unstable/gnome-typewriter-meson/APKBUILD b/src/unstable/gnome-typewriter-meson/APKBUILD
index dc9a959..41ea2f8 100644
--- a/src/unstable/gnome-typewriter-meson/APKBUILD
+++ b/src/unstable/gnome-typewriter-meson/APKBUILD
@@ -17,9 +17,8 @@ depends="" # .so's will get computed on their own by abuild - the above line rem
makedepends="cargo meson findutils gettext glib-dev gtk-update-icon-cache desktop-file-utils pango-dev gdk-pixbuf-dev openssl-dev gtksourceview5-dev libadwaita-dev libpanel-dev blueprint-compiler"
install=""
subpackages=""
-source="${_reponame}-${_reporef}.tar.gz::${_repourl}/-/archive/${_reporef}/${_reponame}-${_reporef}.tar.gz"
-builddir="${srcdir}/${_reponame}-${_reporef}"
-options="net" # cargo needs net
+source=""
+options=""
provides="gnome-typewriter"
# if complaints about schemas and icon cache etc appear, we may needa make a hook that runs `/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas && /usr/bin/gtk4-update-icon-cache -q -t -f /usr/share/icons/hicolor && /usr/bin/update-desktop-database -q /usr/share/applications` (skipped hooks usually ran when DESTDIR isnt set)
@@ -27,7 +26,75 @@ provides="gnome-typewriter"
_pkgver="${pkgver}"
if [[ "${pkgver}" != "${_reporef}" ]] && [[ "${pkgver}" != "v${_reporef}" ]]; then pkgver="${pkgver}_git${_reporefdate}";from_tag=false;else from_tag=true; fi
+# prepare snapshotting environment so IPv6-only can work
+if [[ "$DISALLOW_SNAPSHOTS" == "1" ]]; then
+ source="${source}
+ ${_reponame}-${_reporef}.tar.gz::${_repourl}/-/archive/${_reporef}/${_reponame}-${_reporef}.tar.gz"
+ builddir="${srcdir}/${_reponame}-${_reporef}"
+else
+ _distpath="archive/gnome-typewriter"
+ # TODO: if we ever contribute this upstream, set VENDOR_SOURCE to default to dev.alpinelinux.org
+ _disturl="${VENDOR_SOURCE:-"consequences.neobot.systems"}:${DIST_UPLOAD_PATH:-""}/$_distpath/"
+ # example usage for local files: VENDOR_SOURCE_PROTOCOL=/var/cache/distfiles/ VENDOR_SOURCE=.
+ # example usage for neobot.systems: VENDOR_SOURCE=consequences.neobot.systems
+ source="${source}
+ ${_reponame}-${_reporef}.tar.gz::${VENDOR_SOURCE_PROTOCOL:-"https://"}${VENDOR_SOURCE:-"consequences.neobot.systems"}/${_distpath}/src.$pkgname-$pkgver-$_reporef.tar.gz
+ ${_reponame}-${_reporef}-vendor.tar.gz::${VENDOR_SOURCE_PROTOCOL:-"https://"}${VENDOR_SOURCE:-"consequences.neobot.systems"}/${_distpath}/$_srcdest/pkg.$pkgname-$pkgver-$_reporef.tar.gz"
+ builddir="${srcdir}/${pkgname}"
+fi
+
+# and now we snapshot!
+snapshot() {
+ clean
+ makedepends="git rsync tar gzip cargo" deps
+
+ # Prepare Git Repo
+ _srcdest="${SRCDEST:-"$srcdir"}"
+ mkdir -p "$srcdir" "$_srcdest"
+ cd "${SRCDEST:-"$srcdir"}"
+ if ! [ -d $pkgname.git ]; then
+ mkdir "$pkgname.git"
+ cd "$pkgname.git"
+ git init
+ git remote add origin "$_repourl"
+ git fetch origin "$_reporef" || return 1
+ else
+ cd "$pkgname.git"
+ git fetch origin "$_reporef" || return 1
+ fi
+
+ # Archive it
+ git archive --prefix="$pkgname/" -o "$_srcdest/src.$pkgname-$pkgver-$_reporef.tar.gz" "$_reporef"
+
+ # Reset to the repo ref and run cargo vendor
+ git reset --hard "$_reporef"
+ cargo vendor vendor --locked
+
+ tar czf "$_srcdest/pkg.$pkgname-$pkgver-$_reporef.tar.gz" vendor
+
+ if [ -n "$_disturl" ]; then # should never happen but just incase
+ for archiveKind in src pkg; do
+ rsync --progress -La "$_srcdest/$archiveKind.$pkgname-$pkgver-$_reporef.tar.gz" "$_disturl"
+ done
+ fi
+}
+
build() {
+ if [[ "$DISALLOW_SNAPSHOTS" != "1" ]]; then
+ mkdir -p ".cargo"
+ echo '
+[source.crates-io]
+replace-with = "vendored-sources"
+
+[source."git+https://gitlab.gnome.org/JanGernert/sourceview5-rs.git?branch=test-fixes"]
+git = "https://gitlab.gnome.org/JanGernert/sourceview5-rs.git"
+branch = "test-fixes"
+replace-with = "vendored-sources"
+
+[source.vendored-sources]
+directory = "vendor"' >> ".cargo/config.toml"
+ ln -s "$srcdir/vendor" vendor
+ fi
meson setup --optimization 3 --buildtype release --prefix /usr build
meson compile -C build
}
@@ -41,5 +108,6 @@ package() {
}
sha512sums="
-be56cc434d996f3bab1844d7b981d562c3c2da51251e38d24c70957b13226ea7c89e19c3a8bc32d0d86f3bb08073c65205309ff588e29f1592aeb36b4da12c93 typewriter-37f6320be5fae77473e5e91919da530e45245f55.tar.gz
+d25be1ac6c432cae46146ea0eb3702625cf859805e702476a75b06edfbfb325e84eee66c03b55021ba7fa1d0a9b912e72ec036037a2989a8dce71a78246e313e typewriter-37f6320be5fae77473e5e91919da530e45245f55.tar.gz
+5bf2aa9513654bdd16a91551a96521cf8ca9c5b435274357665262b6d2ddf8936fb21ec326b3a67c61f021530f11726865ace9d11f303ae2c27a77e30ab54a28 typewriter-37f6320be5fae77473e5e91919da530e45245f55-vendor.tar.gz
"