summaryrefslogtreecommitdiffstats
path: root/pkg/linux
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/linux')
-rw-r--r--pkg/linux/flatpak/fr.handbrake.HandBrakeCLI.json35
-rw-r--r--pkg/linux/flatpak/fr.handbrake.ghb.json42
-rw-r--r--pkg/linux/module.defs15
-rw-r--r--pkg/linux/module.rules34
4 files changed, 126 insertions, 0 deletions
diff --git a/pkg/linux/flatpak/fr.handbrake.HandBrakeCLI.json b/pkg/linux/flatpak/fr.handbrake.HandBrakeCLI.json
new file mode 100644
index 000000000..c006549b7
--- /dev/null
+++ b/pkg/linux/flatpak/fr.handbrake.HandBrakeCLI.json
@@ -0,0 +1,35 @@
+{
+ "app-id": "fr.handbrake.HandBrakeCLI",
+ "runtime": "org.gnome.Platform",
+ "runtime-version": "3.20",
+ "sdk": "org.gnome.Sdk",
+ "command": "HandBrakeCLI",
+ "finish-args": [
+ /* Needs video */
+ "--filesystem=xdg-videos",
+ /* Home */
+ "--filesystem=home"
+ ],
+ "modules": [
+ {
+ "name": "handbrake",
+ "no-autogen": true,
+ "config-opts": ["--flatpak", "--disable-gtk"],
+ "builddir": true,
+ "post-install": ["rm -rf /app/share"],
+ "sources": [
+ {
+ "type": "archive",
+ "path": "handbrake.tar.bz2",
+ "strip-components": 1
+ },
+ {
+ "type": "archive",
+ "path": "download.tgz",
+ "strip-components": 0
+ }
+ ]
+ }
+ ]
+}
+
diff --git a/pkg/linux/flatpak/fr.handbrake.ghb.json b/pkg/linux/flatpak/fr.handbrake.ghb.json
new file mode 100644
index 000000000..34f578350
--- /dev/null
+++ b/pkg/linux/flatpak/fr.handbrake.ghb.json
@@ -0,0 +1,42 @@
+{
+ "app-id": "fr.handbrake.ghb",
+ "runtime": "org.gnome.Platform",
+ "runtime-version": "3.20",
+ "sdk": "org.gnome.Sdk",
+ "command": "ghb",
+ "finish-args": [
+ /* X11 + XShm access */
+ "--share=ipc", "--socket=x11",
+ /* Wayland access */
+ "--socket=wayland",
+ /* Needed for dconf to work */
+ "--filesystem=xdg-run/dconf", "--filesystem=~/.config/dconf:ro",
+ "--talk-name=ca.desrt.dconf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf",
+ /* Needs video */
+ "--filesystem=xdg-videos",
+ /* Home */
+ "--filesystem=home"
+ ],
+ "modules": [
+ {
+ "name": "handbrake",
+ "no-autogen": true,
+ "config-opts": ["--flatpak"],
+ "builddir": true,
+ "post-install": ["rm /app/bin/HandBrakeCLI"],
+ "sources": [
+ {
+ "type": "archive",
+ "path": "handbrake.tar.bz2",
+ "strip-components": 1
+ },
+ {
+ "type": "archive",
+ "path": "download.tgz",
+ "strip-components": 0
+ }
+ ]
+ }
+ ]
+}
+
diff --git a/pkg/linux/module.defs b/pkg/linux/module.defs
index 2eea7feb9..16a1baebc 100644
--- a/pkg/linux/module.defs
+++ b/pkg/linux/module.defs
@@ -28,6 +28,7 @@ PKG.rpm.src.tar.bz2 = $(STAGE.out.src/)rpm/$(PKG.rpm.basename).tar.bz2
STAGE.out.rpm.src/ = $(STAGE.out.src/)rpm/
PKG.debian = $(PKG.in/)linux/debian
+PKG.flatpak/ = $(PKG.in/)linux/flatpak/
PKG.cli.deb = $(PKG.out/)$(HB.name)-$(HB.debversion)-Ubuntu_CLI_$(BUILD.machine).deb
PKG.gui.deb = $(PKG.out/)$(HB.name)-$(HB.debversion)-Ubuntu_GUI_$(BUILD.machine).deb
PKG.deb.basename = $(HB.name.lower)-$(HB.debversion)
@@ -41,6 +42,18 @@ PKG.gui.tmp.deb = $(PKG.out/)$(HB.name.lower)-gtk_$(HB.debversion)_$(PKG.deb.mac
PKG.native.rpm.stamp = $(RPM.out/).rpm.stamp
PKG.rpm.stamp = $(PKG.out/).rpm.stamp
+PKG.out.flatpak/ = $(PKG.out/)flatpak/
+STAGE.out.flatpak/ = $(STAGE.out/)flatpak/
+PKG.src.flatpak = $(STAGE.out.flatpak/)handbrake.tar.bz2
+PKG.contrib.flatpak = $(STAGE.out.flatpak/)download.tgz
+PKG.gui.manifest.flatpak = $(PKG.flatpak/)fr.handbrake.ghb.json
+PKG.cli.manifest.flatpak = $(PKG.flatpak/)fr.handbrake.HandBrakeCLI.json
+PKG.gui.build.flatpak = $(STAGE.out.flatpak/)$(HB.name)-Flatpak_GUI_$(BUILD.machine).build
+PKG.cli.build.flatpak = $(STAGE.out.flatpak/)$(HB.name)-Flatpak_CLI_$(BUILD.machine).build
+PKG.repo.flatpak = $(PKG.out.flatpak/)$(HB.name)-Flatpak.repo
+PKG.cli.flatpak = $(PKG.out.flatpak/)$(HB.name)-$(HB.version)-Flatpak_CLI_$(BUILD.machine).flatpak
+PKG.gui.flatpak = $(PKG.out.flatpak/)$(HB.name)-$(HB.version)-Flatpak_GUI_$(BUILD.machine).flatpak
+
PKG.gui.native.rpm = $(RPM.out/)RPMS/$(PKG.rpm.machine)/$(HB.name.lower)-gui-$(PKG.rpm.hb.version)-$(PKG.release)$(PKG.rpm.dist).$(PKG.rpm.machine).rpm
PKG.cli.native.rpm = $(RPM.out/)RPMS/$(PKG.rpm.machine)/$(HB.name.lower)-cli-$(PKG.rpm.hb.version)-$(PKG.release)$(PKG.rpm.dist).$(PKG.rpm.machine).rpm
@@ -54,6 +67,8 @@ RPMROOT.out/ = $(PWD)/$(STAGE.out/)rpmroot/
###############################################################################
BUILD.out += $(PKG.src.tar)
+BUILD.out += $(PKG.cli.flatpak)
+BUILD.out += $(PKG.gui.flatpak)
BUILD.out += $(PKG.cli.deb)
BUILD.out += $(PKG.gui.deb)
BUILD.out += $(PKG.cli.rpm)
diff --git a/pkg/linux/module.rules b/pkg/linux/module.rules
index 7054dee6e..e43906a9a 100644
--- a/pkg/linux/module.rules
+++ b/pkg/linux/module.rules
@@ -1,3 +1,4 @@
+pkg.create.flatpak:: $(PKG.gui.flatpak) $(PKG.cli.flatpak)
pkg.create.deb:: $(PKG.gui.deb) $(PKG.cli.deb)
pkg.create.rpm:: $(PKG.rpm.stamp)
pkg.create.src.deb:: $(PKG.src.deb.stamp)
@@ -56,6 +57,38 @@ $(PKG.rpm.stamp): $(PKG.native.rpm.stamp)
$(TOUCH.exe) $(PKG.rpm.stamp)
#
+# Flatpak binary package rules
+#
+$(PKG.src.flatpak): $(PKG.src.tar.bz2)
+ $(MKDIR.exe) -p $(STAGE.out.flatpak/)
+ -$(RM.exe) -rf $(STAGE.out.flatpak/).flatpak-builder
+ $(CP.exe) $(PKG.src.tar.bz2) $(PKG.src.flatpak)
+
+$(PKG.contrib.flatpak):
+ $(MKDIR.exe) -p $(STAGE.out.flatpak/)
+ $(TAR.exe) -C $(SRC/) -czf $(PWD)/$(PKG.contrib.flatpak) download
+
+$(PKG.gui.flatpak): GNUmakefile $(PKG.src.flatpak) $(PKG.contrib.flatpak)
+ make contrib.fetch
+ $(MKDIR.exe) -p $(PKG.out.flatpak/)
+ # Relative paths in the manifest are relative to the location
+ # of the manifest. So put it where we have staged the files that
+ # it needs.
+ $(CP.exe) $(PKG.gui.manifest.flatpak) $(STAGE.out.flatpak/)fr.handbrake.gui.json
+ flatpak-builder --force-clean --gpg-sign=608AD8F6 --repo=$(PKG.repo.flatpak) $(PKG.gui.build.flatpak) $(STAGE.out.flatpak/)fr.handbrake.gui.json
+ flatpak build-bundle $(PKG.repo.flatpak) $(PKG.gui.flatpak) fr.handbrake.ghb
+
+$(PKG.cli.flatpak): GNUmakefile $(PKG.src.flatpak) $(PKG.contrib.flatpak)
+ make contrib.fetch
+ $(MKDIR.exe) -p $(PKG.out.flatpak/)
+ # Relative paths in the manifest are relative to the location
+ # of the manifest. So put it where we have staged the files that
+ # it needs.
+ $(CP.exe) $(PKG.cli.manifest.flatpak) $(STAGE.out.flatpak/)fr.handbrake.HandBrakeCLI.json
+ flatpak-builder --force-clean --gpg-sign=608AD8F6 --repo=$(PKG.repo.flatpak) $(PKG.cli.build.flatpak) $(STAGE.out.flatpak/)fr.handbrake.HandBrakeCLI.json
+ flatpak build-bundle $(PKG.repo.flatpak) $(PKG.cli.flatpak) fr.handbrake.HandBrakeCLI
+
+#
# Debian binary package rules
#
$(PKG.gui.tmp.deb): | $(dir $(PKG.gui.tmp.deb))
@@ -67,6 +100,7 @@ $(PKG.gui.tmp.deb): GNUmakefile
echo $(PKG.out/)
fakeroot $(MAKE) FORCEVERSION="-- -v$(HB.debversion)" BUILDDIR=$(PWD)/$(BUILD) CONFIGURE=configure PKGDESTDIR=$(PWD)/$(PKG.out/) -C $(SRC/) -f debian/rules binary
+
$(PKG.gui.deb): | $(dir $(PKG.gui.deb))
$(PKG.gui.deb): $(PKG.gui.tmp.deb)
$(MV.exe) $(PKG.gui.tmp.deb) $(PKG.gui.deb)