summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flatpak/Makefile25
-rw-r--r--flatpak/activate-hs.patch23
-rw-r--r--flatpak/help2man.json16
-rw-r--r--flatpak/libpcap.json18
-rw-r--r--flatpak/org.freedesktop.Bustle.cabal.json34
-rw-r--r--flatpak/org.freedesktop.Bustle.json517
-rw-r--r--flatpak/org.freedesktop.Bustle.yaml163
7 files changed, 585 insertions, 211 deletions
diff --git a/flatpak/Makefile b/flatpak/Makefile
deleted file mode 100644
index c5f43c0..0000000
--- a/flatpak/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# vim: syntax=make
-EXTRA = --extra-lib-dirs=$(LD_LIBRARY_PATH) --extra-include-dirs=$(C_INCLUDE_PATH)
-
-all: build-.
-
-# make build-foo to build subdirectory foo
-# make build-. to build top-level directory
-# cabal install -j does not pass -j to ghc!
-#
-# Write a mostly-blank config file with no remote repositories. This causes a
-# warning, but without this cabal will attempt to access hackage.haskell.org
-# and fail because there is no network access.
-build-%:
- mkdir -p $$HOME/.cabal
- echo 'jobs: $(FLATPAK_BUILDER_N_JOBS)' > $$HOME/.cabal/config
-
- ( cd $* && cabal configure --global $(EXTRA) )
- ( cd $* && cabal build -j$(FLATPAK_BUILDER_N_JOBS) )
- ( cd $* && cabal copy )
- ( cd $* && cabal register )
-
-install:
-
-# Don't run rules within this file in parallel
-.NOTPARALLEL:
diff --git a/flatpak/activate-hs.patch b/flatpak/activate-hs.patch
deleted file mode 100644
index e56731a..0000000
--- a/flatpak/activate-hs.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- haskell-platform-8.0.2-unknown-posix--full-x86_64/usr/local/haskell/ghc-8.0.2-x86_64/bin/activate-hs.orig 2017-07-20 09:23:35.143426913 +0100
-+++ haskell-platform-8.0.2-unknown-posix--full-x86_64/usr/local/haskell/ghc-8.0.2-x86_64/bin/activate-hs 2017-07-20 09:24:13.346444238 +0100
-@@ -80,13 +80,13 @@
- ### Root check
- ###
-
--if [ "$dryrun" = "no" -a `id -u` -ne 0 ]
--then
-- echo "You must be root to activate a particular Haskell Platform."
-- echo "Please rerun this command sudo:"
-- echo " sudo $0 $originalArgs"
-- exit 1
--fi
-+# if [ "$dryrun" = "no" -a `id -u` -ne 0 ]
-+# then
-+# echo "You must be root to activate a particular Haskell Platform."
-+# echo "Please rerun this command sudo:"
-+# echo " sudo $0 $originalArgs"
-+# exit 1
-+# fi
-
-
- ###
diff --git a/flatpak/help2man.json b/flatpak/help2man.json
new file mode 100644
index 0000000..dc862bf
--- /dev/null
+++ b/flatpak/help2man.json
@@ -0,0 +1,16 @@
+{
+ "//": "for the man page!",
+ "name": "help2man",
+ "buildsystem": "autotools",
+ "sources": [
+ {
+ "type": "archive",
+ "url": "https://ftpmirror.gnu.org/help2man/help2man-1.47.4.tar.xz",
+ "sha256": "d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753"
+ }
+ ],
+ "//": "Nothing needed at runtime",
+ "cleanup": [
+ "*"
+ ]
+}
diff --git a/flatpak/libpcap.json b/flatpak/libpcap.json
new file mode 100644
index 0000000..f528d40
--- /dev/null
+++ b/flatpak/libpcap.json
@@ -0,0 +1,18 @@
+{
+ "name": "libpcap",
+ "buildsystem": "autotools",
+ "sources": [
+ {
+ "type": "archive",
+ "url": "https://www.tcpdump.org/release/libpcap-1.9.1.tar.gz",
+ "sha256": "635237637c5b619bcceba91900666b64d56ecb7be63f298f601ec786ce087094"
+ }
+ ],
+ "cleanup": [
+ "/bin",
+ "/share/man",
+ "*.a",
+ "*.h",
+ "*.pc"
+ ]
+}
diff --git a/flatpak/org.freedesktop.Bustle.cabal.json b/flatpak/org.freedesktop.Bustle.cabal.json
new file mode 100644
index 0000000..38d3012
--- /dev/null
+++ b/flatpak/org.freedesktop.Bustle.cabal.json
@@ -0,0 +1,34 @@
+{
+ "base":
+ {
+ "app-id": "org.freedesktop.Bustle",
+ "runtime": "org.freedesktop.Platform",
+ "runtime-version": "19.08",
+ "sdk": "org.freedesktop.Sdk",
+ "command": "bustle",
+ "finish-args": [
+ "--socket=x11",
+ "--socket=wayland",
+ "--socket=system-bus",
+ "--socket=session-bus",
+ "--filesystem=host"
+ ],
+ "cleanup": [],
+ "cleanup-commands": [
+ "find /app/share/ -type f -not -ipath '*bustle*' -delete"
+ ],
+ "modules": [
+ "libpcap.json",
+ "help2man.json"
+ ]
+ },
+ "main-package": "bustle",
+ "//": [
+ "-j",
+ "--force-reinstalls"
+ ],
+ "cabal-configure-options": [
+ "--extra-include-dirs=/app/include",
+ "--extra-lib-dirs=/app/lib'
+ ]
+}
diff --git a/flatpak/org.freedesktop.Bustle.json b/flatpak/org.freedesktop.Bustle.json
new file mode 100644
index 0000000..0a0c33b
--- /dev/null
+++ b/flatpak/org.freedesktop.Bustle.json
@@ -0,0 +1,517 @@
+{
+ "runtime": "org.freedesktop.Platform",
+ "sdk": "org.freedesktop.Sdk",
+ "command": "bustle",
+ "cleanup": [
+ "/lib/ghc-8.6.5",
+ "/lib/x86_64-linux-ghc-8.6.5",
+ "/share/doc/x86_64-linux-ghc-8.6.5",
+ "/bin/alex",
+ "/bin/happy",
+ "/bin/gtk2hs*"
+ ],
+ "cleanup-commands": [
+ "find /app/share/ -maxdepth 2 -mindepth 2 -type d -path '*ghc*' -not -path '*bustle*' -exec rm -r {} +"
+ ],
+ "runtime-version": "19.08",
+ "modules": [
+ {
+ "only-arches": [
+ "x86_64"
+ ],
+ "cleanup": [
+ "/bin/ghc",
+ "/bin/ghc-8.6.5",
+ "/bin/ghc-pkg",
+ "/bin/ghc-pkg-8.6.5",
+ "/bin/ghci",
+ "/bin/ghci-8.6.5",
+ "/bin/haddock",
+ "/bin/haddock-ghc-8.6.5",
+ "/bin/runghc",
+ "/bin/runghc-8.6.5",
+ "/bin/runhaskell",
+ "/bin/hp2ps",
+ "/bin/hpc",
+ "/bin/hsc2hs",
+ "/lib/libtinfo.so.5",
+ "/lib/debug",
+ "/lib/ghc-8.6.5",
+ "/share/man",
+ "/share/doc/ghc-8.6.5"
+ ],
+ "sources": [
+ {
+ "url": "https://downloads.haskell.org/ghc/8.6.5/ghc-8.6.5-x86_64-deb9-linux.tar.xz",
+ "type": "archive",
+ "sha256": "bc75f5601a9f41d58b2ba161b9e28fad52143a7229060f1e084168d9b2e914df"
+ }
+ ],
+ "build-commands": [
+ "mkdir -p /app/lib",
+ "ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so /app/lib/libtinfo.so.5",
+ "./configure --prefix=/app",
+ "make install"
+ ],
+ "name": "ghc-8.6.5-x86_64",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ "libpcap.json",
+ "help2man.json",
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/alex-3.2.5/alex-3.2.5.tar.gz",
+ "type": "archive",
+ "sha256": "b77c8a1270767c64e2adb21a6e91ee7cd904ba17edae17bc20fd03da5256e0e3"
+ },
+ {
+ "dest-filename": "alex.cabal",
+ "url": "https://hackage.haskell.org/package/alex-3.2.5/revision/0.cabal",
+ "type": "file",
+ "sha256": "af0c4aac67849d8b35e8c16063517642a5c6b809d09fdb040ed9369f91cb26fb"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "alex",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/happy-1.19.12/happy-1.19.12.tar.gz",
+ "type": "archive",
+ "sha256": "fb9a23e41401711a3b288f93cf0a66db9f97da1ce32ec4fffea4b78a0daeb40f"
+ },
+ {
+ "dest-filename": "happy.cabal",
+ "url": "https://hackage.haskell.org/package/happy-1.19.12/revision/0.cabal",
+ "type": "file",
+ "sha256": "acc67bfbf3af87892766781dd064c9447181ea81269a7a1e5fc9ace4a8fa4768"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "happy",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/hashable-1.3.0.0/hashable-1.3.0.0.tar.gz",
+ "type": "archive",
+ "sha256": "822e5413fbccca6ae884d3aba4066422c8b5d58d23d18b9ecb5c03273bb19ab4"
+ },
+ {
+ "dest-filename": "hashable.cabal",
+ "url": "https://hackage.haskell.org/package/hashable-1.3.0.0/revision/1.cabal",
+ "type": "file",
+ "sha256": "4c70f1407881059e93550d3742191254296b2737b793a742bd901348fb3e1fb1"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "hashable",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/primitive-0.7.1.0/primitive-0.7.1.0.tar.gz",
+ "type": "archive",
+ "sha256": "6bebecfdf2a57787d9fd5231bfd612b65a92edd7b33a973b2a0f11312b89a3f0"
+ },
+ {
+ "dest-filename": "primitive.cabal",
+ "url": "https://hackage.haskell.org/package/primitive-0.7.1.0/revision/0.cabal",
+ "type": "file",
+ "sha256": "6a237bb338bcc43193077ff8e8c0f0ce2de14c652231496a15672e8b563a07e2"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "primitive",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/vector-0.12.1.2/vector-0.12.1.2.tar.gz",
+ "type": "archive",
+ "sha256": "3b6e27683f6f20b37b8a35d0fab9e34b57dad72ac64cb16f428726780d4011bd"
+ },
+ {
+ "dest-filename": "vector.cabal",
+ "url": "https://hackage.haskell.org/package/vector-0.12.1.2/revision/0.cabal",
+ "type": "file",
+ "sha256": "9291bc581f36e51d5bda9fce57cb980fbec3dd292996896f285fef39eb80a9a0"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "vector",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/hashtables-1.2.3.4/hashtables-1.2.3.4.tar.gz",
+ "type": "archive",
+ "sha256": "125ce62701fba3f666609f5c75f452005aa5d32dff4eeee3f3903c30b2ed55e6"
+ },
+ {
+ "dest-filename": "hashtables.cabal",
+ "url": "https://hackage.haskell.org/package/hashtables-1.2.3.4/revision/0.cabal",
+ "type": "file",
+ "sha256": "16a77784ba31ce90cfaab198b42a888fd30d838f9fd581c0efc5b7ee6dfe458f"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "hashtables",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/splitmix-0.1/splitmix-0.1.tar.gz",
+ "type": "archive",
+ "sha256": "1c11c87352ddbb13365380fe163f99bb8f8845ebc96ca1d572e5d3a9bf810bfa"
+ },
+ {
+ "dest-filename": "splitmix.cabal",
+ "url": "https://hackage.haskell.org/package/splitmix-0.1/revision/0.cabal",
+ "type": "file",
+ "sha256": "d50c4d0801a35be7875a040470c09863342514930c82a7d25780a6c2efc4fda9"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "splitmix",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/random-1.2.0/random-1.2.0.tar.gz",
+ "type": "archive",
+ "sha256": "e4519cf7c058bfd5bdbe4acc782284acc9e25e74487208619ca83cbcd63fb9de"
+ },
+ {
+ "dest-filename": "random.cabal",
+ "url": "https://hackage.haskell.org/package/random-1.2.0/revision/0.cabal",
+ "type": "file",
+ "sha256": "5ca8674e95c46c7eb90f520c26aea22d403625c97697275434afba66ebd32b05"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "random",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/gtk2hs-buildtools-0.13.8.0/gtk2hs-buildtools-0.13.8.0.tar.gz",
+ "type": "archive",
+ "sha256": "8dbb7dbf004e45e48aa77153bc780120d99a329c6bde76618d46b2a4f3bb8598"
+ },
+ {
+ "dest-filename": "gtk2hs-buildtools.cabal",
+ "url": "https://hackage.haskell.org/package/gtk2hs-buildtools-0.13.8.0/revision/0.cabal",
+ "type": "file",
+ "sha256": "132f38155fc677430a47ea750918973161c876fb6f281d342ac2f07eb99229ce"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "gtk2hs-buildtools",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/utf8-string-1.0.1.1/utf8-string-1.0.1.1.tar.gz",
+ "type": "archive",
+ "sha256": "fb0b9e3acbe0605bcd1c63e51f290a7bbbe6628dfa3294ff453e4235fbaef140"
+ },
+ {
+ "dest-filename": "utf8-string.cabal",
+ "url": "https://hackage.haskell.org/package/utf8-string-1.0.1.1/revision/3.cabal",
+ "type": "file",
+ "sha256": "68cc6cf665e7212334a51b63d6936daeaca023b2cfe8637d130acfe95f91700b"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "utf8-string",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/cairo-0.13.8.1/cairo-0.13.8.1.tar.gz",
+ "type": "archive",
+ "sha256": "1316412d51556205cfc097a354eddf0e51f4d319cde0498626a2854733f4f3c2"
+ },
+ {
+ "dest-filename": "cairo.cabal",
+ "url": "https://hackage.haskell.org/package/cairo-0.13.8.1/revision/0.cabal",
+ "type": "file",
+ "sha256": "1938aaeb5d3504678d995774dfe870f6b66cbd43d336b692fa8779b23b2b67a9"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "cairo",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/glib-0.13.8.1/glib-0.13.8.1.tar.gz",
+ "type": "archive",
+ "sha256": "dcd028ac6d4a7476c14585be1d845b8c4aea4c389f34e809ed1a8df7425c1a9c"
+ },
+ {
+ "dest-filename": "glib.cabal",
+ "url": "https://hackage.haskell.org/package/glib-0.13.8.1/revision/0.cabal",
+ "type": "file",
+ "sha256": "42670daf0c85309281e08ba8559df75daa2e3be642e79fdfa781bef5e59658b0"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "glib",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/gio-0.13.8.1/gio-0.13.8.1.tar.gz",
+ "type": "archive",
+ "sha256": "26d77f1c1d5937a73b98f29b91619d9911756819cb2894ace864626bee41b801"
+ },
+ {
+ "dest-filename": "gio.cabal",
+ "url": "https://hackage.haskell.org/package/gio-0.13.8.1/revision/0.cabal",
+ "type": "file",
+ "sha256": "7404841eefdfffb50c2b5f63879ffe4bf40fb5ddf90a7f633494eca0e23150a5"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "gio",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/pango-0.13.8.1/pango-0.13.8.1.tar.gz",
+ "type": "archive",
+ "sha256": "40a67a56687969cee9dd4cc94a8a3d0beb5ea687c8a2f3da552feb915453c82f"
+ },
+ {
+ "dest-filename": "pango.cabal",
+ "url": "https://hackage.haskell.org/package/pango-0.13.8.1/revision/0.cabal",
+ "type": "file",
+ "sha256": "877b121c0bf87c96d3619effae6751ecfd74b7f7f3227cf3fde012597aed5ed9"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "pango",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/gtk3-0.15.5/gtk3-0.15.5.tar.gz",
+ "type": "archive",
+ "sha256": "c03876dc79436aa467c93db580405f0e8eb7ca44c48d48af0fdcc17d7bafbcf8"
+ },
+ {
+ "dest-filename": "gtk3.cabal",
+ "url": "https://hackage.haskell.org/package/gtk3-0.15.5/revision/0.cabal",
+ "type": "file",
+ "sha256": "e036fe5df496fbefff9e1bc029358ba198b4b73bb4677d3f58e59ee6ec03766a"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "gtk3",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/bustle-0.8.0/bustle-0.8.0.tar.gz",
+ "type": "archive",
+ "sha256": "2fb3e9d9a97db3cd9a3ce763e86947b642bd7733b46206177a1677f08726573c"
+ },
+ {
+ "dest-filename": "bustle.cabal",
+ "url": "https://hackage.haskell.org/package/bustle-0.8.0/revision/0.cabal",
+ "type": "file",
+ "sha256": "d95850cec27147de8a2d6471a7a7a74f52b738783e699be4b8cc6f435d1837e5"
+ }
+ ],
+ "build-commands": [
+ "echo '#! /usr/bin/env runhaskell' >Setup.txt",
+ "echo '> import Distribution.Simple' >>Setup.txt",
+ "echo '> main = defaultMain' >>Setup.txt",
+ "ln -s Setup.txt Setup.lhs || true",
+ "runhaskell Setup configure --prefix=/app --extra-include-dirs=/app/include --extra-lib-dirs=/app/lib",
+ "runhaskell Setup build",
+ "runhaskell Setup install"
+ ],
+ "name": "bustle",
+ "buildsystem": "simple",
+ "builddir": false
+ },
+ {
+ "sources": [
+ {
+ "url": "https://hackage.haskell.org/package/bustle-0.8.0/bustle-0.8.0.tar.gz",
+ "type": "archive",
+ "sha256": "2fb3e9d9a97db3cd9a3ce763e86947b642bd7733b46206177a1677f08726573c"
+ }
+ ],
+ "name": "bustle-c",
+ "buildsystem": "simple",
+ "build-commands": [
+ "make install PREFIX=/app DESTDIR=/"
+ ]
+ }
+ ],
+ "app-id": "org.freedesktop.Bustle",
+ "finish-args": [
+ "--socket=x11",
+ "--socket=wayland",
+ "--socket=system-bus",
+ "--socket=session-bus",
+ "--filesystem=host"
+ ]
+}
diff --git a/flatpak/org.freedesktop.Bustle.yaml b/flatpak/org.freedesktop.Bustle.yaml
deleted file mode 100644
index ade7a30..0000000
--- a/flatpak/org.freedesktop.Bustle.yaml
+++ /dev/null
@@ -1,163 +0,0 @@
-# vim: sts=2 sw=2 et
-app-id: org.freedesktop.Bustle
-runtime: org.gnome.Platform
-runtime-version: "3.28"
-sdk: org.gnome.Sdk
-# Use writable-sdk to install Haskell Platform to usr rather than app:
-# it's only needed to build Bustle, not to run it. All Haskell libraries
-# and the runtime system are statically linked into the bustle binary.
-# The only shared library it needs which is not part of the GNOME SDK
-# is libpcap, which is installed to app.
-writable-sdk: true
-command: bustle
-finish-args:
- - --socket=x11
- - --socket=wayland
- - --socket=system-bus
- - --socket=session-bus
- - --share=ipc
-
- # Allow access to dconf. This is nice to have if, for example, you want to be
- # able to launch the GTK+ Inspector, which is enabled by setting a dconf key.
- # These four incantations are widely cargo-culted.
- - --filesystem=xdg-run/dconf
- - --filesystem=~/.config/dconf:ro
- - --talk-name=ca.desrt.dconf
- - --env=DCONF_USER_CONFIG_DIR=.config/dconf
-
- # No support for GtkFileChooserNative in gtk2hs, so the options are:
- # 1. Use hidden GtkFileChooserButtons and fake clicks on them
- # 2. Just expose the host FS
- - --filesystem=host
-build-options:
- strip: false
- no-debuginfo: true
-cleanup:
- - "*.a"
- - "*.h"
- - /share/man/man?/pcap*
- - /bin/pcap-config
-modules:
- # Why not start your day with a 259MB tarball?
- - name: haskell-platform
- only-arches:
- - x86_64
- sources:
- - type: archive
- url: https://downloads.haskell.org/~platform/8.4.3/haskell-platform-8.4.3-unknown-posix--full-x86_64.tar.gz
- sha256: 1cea60e382ef54ed328beda344be8ec8430ceef34c52a2a115209d1ddfc2887a
- # there are no leading compoments in this file; so the default of 1 makes tar silently extract no files!
- strip-components: 0
- - type: file
- path: activate-hs.patch
- buildsystem: simple
- build-commands:
- # Can't just run install-haskell-platform.sh because it calls
- # activate-hs which, in its pristine form, explicitly checks
- # for UID 0. We know better -- we have permission to write
- # everywhere -- so patch out this check.
- - tar -C / -xf hp-usr-local.tar.gz
- - patch /usr/local/haskell/ghc-8.4.3-x86_64/bin/activate-hs activate-hs.patch
- - /usr/local/haskell/ghc-8.4.3-x86_64/bin/activate-hs --verbose --prefix /usr
- - name: haskell-platform
- only-arches:
- - i386
- sources:
- - type: archive
- url: https://downloads.haskell.org/~platform/8.4.3/haskell-platform-8.4.3-unknown-posix--full-i386.tar.gz
- sha256: 1c8d336ebc2bd2bcd1da1887388e85a250f76fff3387d6b4973cac4444b6b308
- # there are no leading compoments in this file; so the default of 1 makes tar silently extract no files!
- strip-components: 0
- - type: file
- path: activate-hs.patch
- buildsystem: simple
- build-commands:
- # Can't just run install-haskell-platform.sh because it calls
- # activate-hs which, in its pristine form, explicitly checks
- # for UID 0. We know better -- we have permission to write
- # everywhere -- so patch out this check.
- - tar -C / -xf hp-usr-local.tar.gz
- - patch /usr/local/haskell/ghc-8.4.3-i386/bin/activate-hs activate-hs.patch
- - /usr/local/haskell/ghc-8.4.3-i386/bin/activate-hs --verbose --prefix /usr
-
- # pcap dependencies begin here
- - name: libpcap
- sources:
- - type: archive
- url: https://www.tcpdump.org/release/libpcap-1.9.0.tar.gz
- sha256: 2edb88808e5913fdaa8e9c1fcaf272e19b2485338742b5074b9fe44d68f37019
-
- # gtk2hs dependencies begin here
- - name: haskell-hashtables
- sources:
- - type: archive
- url: https://hackage.haskell.org/package/hashtables-1.2.3.1/hashtables-1.2.3.1.tar.gz
- sha256: 8fd1c7c77c267eae6af01f1d9ca427754fb092cfffc8041cd50764a9144b3cbe
- - type: file
- path: Makefile
- no-autogen: true
- - name: haskell-utf8-string
- sources:
- - type: archive
- url: https://hackage.haskell.org/package/utf8-string-1.0.1.1/utf8-string-1.0.1.1.tar.gz
- sha256: fb0b9e3acbe0605bcd1c63e51f290a7bbbe6628dfa3294ff453e4235fbaef140
- - type: file
- url: https://hackage.haskell.org/package/utf8-string-1.0.1.1/revision/3.cabal
- dest-filename: utf8-string.cabal
- sha256: 68cc6cf665e7212334a51b63d6936daeaca023b2cfe8637d130acfe95f91700b
- - type: file
- path: Makefile
- no-autogen: true
- - name: haskell-gtk2hs
- sources:
- # Installing from Git saves us listing each subpackage separately.
- - type: git
- url: https://github.com/gtk2hs/gtk2hs
- # No tags? Great! HEAD as of 2018-07-17
- commit: d3d62fbd9460f23559a9ca44637480b9cc773e43
- - type: file
- path: Makefile
- # Makefile interprets build-% as cabal install %
- make-args:
- - build-tools
- - build-glib
- - build-gio
- - build-cairo
- - build-pango
- - build-gtk # this is the gtk3 version
- no-autogen: true
-
- # for the man page!
- - name: help2man
- sources:
- - type: archive
- url: https://ftpmirror.gnu.org/help2man/help2man-1.47.4.tar.xz
- sha256: d4ecf697d13f14dd1a78c5995f06459bff706fd1ce593d1c02d81667c0207753
- build-options:
- prefix: /usr
-
- # https://github.com/flatpak/flatpak-xdg-utils/pull/10
- - name: flatpak-xdg-utils
- sources:
- - type: git
- url: https://github.com/flatpak/flatpak-xdg-utils.git
- commit: a9afa997da8217bd03ece72fd04221d1597acdb3
- cleanup:
- - /bin/xdg-email
- - /bin/xdg-open
-
- # fired up! ready to go!
- - name: bustle
- sources:
- - type: dir
- path: ..
- skip:
- - .cabal-sandbox
- - cabal.sandbox.config
- - type: file
- path: Makefile
- dest-filename: Makefile-flatpak
- buildsystem: simple
- build-commands:
- - make install PREFIX=/app DESTDIR=/
- - make -f Makefile-flatpak EXTRA='--prefix=/app --flags=-hgettext'