diff options
| author | Ruben Beltran del Rio <jj@r.bdr.sh> | 2026-03-23 20:52:55 +0100 |
|---|---|---|
| committer | Rubén Beltrán del Río <jj@r.bdr.sh> | 2026-04-05 21:21:51 +0200 |
| commit | d9245d341ed1f258a3dd1073cdfa656115c5b26d (patch) | |
| tree | 17145053f56cd7a3c99377583b8b3a738931422d /scripts | |
| parent | 462d1458c0058ba9d41d6dc7538f6004b3de3c3e (diff) | |
Adapt rest of packaging to use mesonmeson
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/build_appimage.sh | 37 | ||||
| -rwxr-xr-x | scripts/build_arch.sh | 33 | ||||
| -rwxr-xr-x | scripts/build_deb.sh | 31 | ||||
| -rwxr-xr-x | scripts/build_rpm.sh | 36 | ||||
| -rwxr-xr-x | scripts/sync_versions.sh | 20 |
5 files changed, 157 insertions, 0 deletions
diff --git a/scripts/build_appimage.sh b/scripts/build_appimage.sh new file mode 100755 index 0000000..d39f506 --- /dev/null +++ b/scripts/build_appimage.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +set -euo pipefail + +container_image_prefix=$1 +distro=$2 +app_name=$3 +arch=$4 +channel=$5 +linuxdeploy=$6 + +version=`just version` +staging="$(mktemp -d)" + +just dist +tar -xJf "_build/meson-dist/map-${version}.tar.xz" -C "${staging}/" +cp ${linuxdeploy} "${staging}/linuxdeploy.AppImage" + +podman run --rm -v "${staging}:/build:Z" \ + ${container_image_prefix}:${distro} \ + bash -c " + cd /build/map-${version} + meson setup --prefix=/usr _build + meson compile -C _build + DESTDIR=/build/appdir meson install -C _build + cd /build + APPIMAGE_EXTRACT_AND_RUN=1 NO_STRIP=true /build/linuxdeploy.AppImage \ + --appdir=/build/appdir --output=appimage \ + --desktop-file=/build/appdir/usr/share/applications/systems.tranquil.Map.desktop \ + --icon-file=/build/appdir/usr/share/icons/hicolor/scalable/apps/systems.tranquil.Map.svg + mkdir -p /build/out + mv /build/Map*.AppImage /build/out/ + " + +mkdir -p dist +mv ${staging}/out/*.AppImage "dist/${app_name}-${arch}-${channel}.AppImage" +rm -rf "${staging}" diff --git a/scripts/build_arch.sh b/scripts/build_arch.sh new file mode 100755 index 0000000..602b31d --- /dev/null +++ b/scripts/build_arch.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +set -euo pipefail + +container_image_prefix=$1 +distro=$2 +app_name=$3 +arch=$4 +channel=$5 + +version=`just version` +staging="$(mktemp -d)" + +just dist +cp _build/meson-dist/map-${version}.tar.xz "${staging}/" + +cp build-aux/arch/PKGBUILD "${staging}/" + +podman run --rm -v "${staging}:/build:Z" \ + ${container_image_prefix}:${distro} \ + bash -c " + mkdir -p /tmp/pkg + cp /build/*.tar.xz /tmp/pkg + cp /build/PKGBUILD /tmp/pkg + chown -R builder:builder /tmp/pkg + su builder -c 'cd /tmp/pkg && PKGEXT=.pkg.tar.gz makepkg -f' + mkdir -p /build/out + cp /tmp/pkg/map-${version}-1-${arch}.pkg.tar.gz /build/out/ + " + +mkdir -p dist +cp ${staging}/out/*.pkg.tar.gz "dist/${app_name}-${arch}-${channel}-${distro}.pkg.tar.gz" +rm -rf "${staging}" diff --git a/scripts/build_deb.sh b/scripts/build_deb.sh new file mode 100755 index 0000000..66b51fa --- /dev/null +++ b/scripts/build_deb.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +set -euo pipefail + +container_image_prefix=$1 +distro=$2 +app_name=$3 +arch=$4 +channel=$5 + +version=`just version` +staging="$(mktemp -d)" + +just dist +cp _build/meson-dist/map-${version}.tar.xz "${staging}/${app_name}_${version}.orig.tar.xz" +tar -xJf "${staging}/${app_name}_${version}.orig.tar.xz" -C "${staging}" +mkdir -p ${staging}/${app_name}-${version} +cp -r build-aux/debian "${staging}/${app_name}-${version}/debian" + +podman run --rm -v "${staging}:/build:Z" \ + ${container_image_prefix}:${distro} \ + bash -c " + cd /build/${app_name}-${version} + dpkg-buildpackage -us -uc -b + mkdir -p /build/out + cp /build/${app_name}_${version}*_*.deb /build/out/ + " + +mkdir -p dist +cp ${staging}/out/*.deb "dist/${app_name}-${arch}-${channel}-${distro}.deb" +rm -rf "${staging}" diff --git a/scripts/build_rpm.sh b/scripts/build_rpm.sh new file mode 100755 index 0000000..efffef3 --- /dev/null +++ b/scripts/build_rpm.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +set -euo pipefail + +container_image_prefix=$1 +distro=$2 +app_name=$3 +arch=$4 +channel=$5 + +version=`just version` +staging="$(mktemp -d)" + +just dist +cp _build/meson-dist/map-${version}.tar.xz "${staging}/" + +just vendor "${staging}/vendor" +tar -cJf "${staging}/map-${version}-vendor.tar.xz" -C "${staging}" vendor +rm -rf "${staging}/vendor" + +cp build-aux/rpm/map.spec "${staging}/" + +podman run --rm -v "${staging}:/build:Z" \ + ${container_image_prefix}:${distro} \ + bash -c " + mkdir -p ~/rpmbuild/{SOURCES,SPECS} + cp /build/map-*.tar.xz ~/rpmbuild/SOURCES/ + cp /build/map.spec ~/rpmbuild/SPECS/ + rpmbuild -bb ~/rpmbuild/SPECS/map.spec + mkdir -p /build/out + cp ~/rpmbuild/RPMS/${arch}/map-${version}-1.*.rpm /build/out/ + " + +mkdir -p dist +cp ${staging}/out/*.rpm "dist/${app_name}-${arch}-${channel}-${distro}.rpm" +rm -rf "${staging}" diff --git a/scripts/sync_versions.sh b/scripts/sync_versions.sh new file mode 100755 index 0000000..f3955ef --- /dev/null +++ b/scripts/sync_versions.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +version=`just version` + +echo "Using version from meson.build: ${version}" + +# Rust Cargo.toml +echo -ne "\tUpdating: Cargo.toml" +sed -i "s/^version = \"[^\"]*\"$/version = \"$version\"/" Cargo.toml +echo -e "\r\tUpdated: Cargo.toml " + +# Arch PKGBUILD +echo -ne "\tUpdating: PKGBUILD" +sed -i "s/^pkgver=.*$/pkgver=$version/" build-aux/arch/PKGBUILD +echo -e "\r\tUpdated: PKGBUILD " + +# Fedora RPM Spec +echo -ne "\tUpdating: map.spec" +sed -i "s/^Version: .*$/Version: $version/" build-aux/rpm/map.spec +echo -e "\r\tUpdated: map.spec " |