diff options
-rw-r--r-- | flatpak/Makefile | 25 | ||||
-rw-r--r-- | flatpak/activate-hs.patch | 23 | ||||
-rw-r--r-- | flatpak/help2man.json | 16 | ||||
-rw-r--r-- | flatpak/libpcap.json | 18 | ||||
-rw-r--r-- | flatpak/org.freedesktop.Bustle.cabal.json | 34 | ||||
-rw-r--r-- | flatpak/org.freedesktop.Bustle.json | 517 | ||||
-rw-r--r-- | flatpak/org.freedesktop.Bustle.yaml | 163 |
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' |