aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.build.yml2
-rw-r--r--Cargo.toml6
-rw-r--r--Makefile24
-rw-r--r--build-aux/PKGBUILD2
4 files changed, 26 insertions, 8 deletions
diff --git a/.build.yml b/.build.yml
index 37d77a6..4fdfeac 100644
--- a/.build.yml
+++ b/.build.yml
@@ -42,4 +42,4 @@ tasks:
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- release: |
cd map-linux
- make -e target=x86_64-unknown-linux-gnu -e flatpak_cargo_generator=/home/build/flatpak-builder-tools/cargo ci
+ make -e clean_images=1 -e target=x86_64-unknown-linux-gnu -e flatpak_cargo_generator=/home/build/flatpak-builder-tools/cargo ci
diff --git a/Cargo.toml b/Cargo.toml
index e53777d..f9bb91f 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -41,7 +41,13 @@ assets = [
{ source = "po/en_US/LC_MESSAGES/systems.tranquil.Map.mo", dest = "/usr/share/locale/en_US/LC_MESSAGES/systems.tranquil.Map.mo", mode = "644" },
]
+[package.metadata.generate-rpm.requires]
+gtk4 = "*"
+libadwaita = "*"
+gtksourceview5 = "*"
+
[package.metadata.deb]
+depends = "libgtk-4-1, libadwaita-1-0, libgtksourceview-5-0"
assets = [
["target/release/map", "/usr/bin/map", "755"],
["resources/logo.svg", "/usr/share/icons/hicolor/scalable/apps/systems.tranquil.Map.svg", "644"],
diff --git a/Makefile b/Makefile
index e7e7bd4..587d164 100644
--- a/Makefile
+++ b/Makefile
@@ -31,6 +31,7 @@ fedora_versions := fedora42 fedora43 fedora-rawhide
debian_versions := bookworm trixie forky
all_containers := arch $(fedora_versions) $(debian_versions)
container_image_prefix := map-build
+clean_images := 0
# Config: Release Location #####################################################
deploy_host := deploy@build.r.bdr.sh
@@ -180,7 +181,7 @@ endif
# Podman wrappers for distro-specific builds
#
-package-pacman-podman:
+package-pacman-podman: build-container-arch
@echo "=== Building Arch package for $(arch) ==="
podman run --rm -v $(CURDIR):/src:Z -w /src $(container_image_prefix):arch bash -c '\
staging=$$(mktemp -d) && \
@@ -188,31 +189,42 @@ package-pacman-podman:
chown -R builder:builder $$staging && \
su builder -c "cd $$staging && make -e profile=$(profile) -e channel=$(channel) -e target=$(target) package-pacman" && \
cp $$staging/$(app_name)-$(arch)-$(channel)-arch.pkg.tar.gz /src/'
+ifeq ($(clean_images),1)
+ podman rmi $(container_image_prefix):arch
+endif
package-rpm-podman:
ifndef distro
$(error distro is required, e.g., make package-rpm-podman distro=fedora43)
endif
+ $(MAKE) build-container-$(distro)
@echo "=== Building RPM for $(distro) ($(arch)) ==="
podman run --rm -v $(CURDIR):/src:Z -w /src $(container_image_prefix):$(distro) \
- make -e profile=$(profile) -e channel=$(channel) -e target=$(target) -e distro=$(distro) package-rpm
+ make package-rpm
+ifeq ($(clean_images),1)
+ podman rmi $(container_image_prefix):$(distro)
+endif
package-deb-podman:
ifndef distro
$(error distro is required, e.g., make package-deb-podman distro=bookworm)
endif
+ $(MAKE) build-container-$(distro)
@echo "=== Building DEB for $(distro) ($(arch)) ==="
podman run --rm -v $(CURDIR):/src:Z -w /src $(container_image_prefix):$(distro) \
- make -e profile=$(profile) -e channel=$(channel) -e target=$(target) -e distro=$(distro) package-deb
+ make package-deb
+ifeq ($(clean_images),1)
+ podman rmi $(container_image_prefix):$(distro)
+endif
package-rpm-all:
@for v in $(fedora_versions); do \
- $(MAKE) -e profile=$(profile) -e channel=$(channel) -e target=$(target) -e distro=$$v package-rpm-podman; \
+ $(MAKE) distro=$$v package-rpm-podman; \
done
package-deb-all:
@for v in $(debian_versions); do \
- $(MAKE) -e profile=$(profile) -e channel=$(channel) -e target=$(target) -e distro=$$v package-deb-podman; \
+ $(MAKE) distro=$$v package-deb-podman; \
done
package: package-tar package-flatpak package-appimage package-pacman-podman package-rpm-all package-deb-all
@@ -250,7 +262,7 @@ distribute: distribute-tar distribute-flatpak distribute-appimage distribute-pac
# Release ######################################################################
release:
- $(MAKE) profile=release build-containers package distribute
+ $(MAKE) profile=release package distribute
# Installation #################################################################
diff --git a/build-aux/PKGBUILD b/build-aux/PKGBUILD
index d330a95..2ab3bba 100644
--- a/build-aux/PKGBUILD
+++ b/build-aux/PKGBUILD
@@ -6,7 +6,7 @@ pkgdesc="Wardley Map editor for Linux"
arch=('x86_64' 'aarch64')
url="https://map.tranquil.systems/map-for-linux"
license=('AGPL-3.0-or-later')
-depends=('gtk4' 'gtksourceview5' 'cairo')
+depends=('gtk4' 'libadwaita' 'gtksourceview5' 'cairo')
makedepends=('cargo' 'gettext')
source=()
sha256sums=()