diff --git a/flatpak/README.md b/flatpak/README.md new file mode 100644 index 00000000..652c83a5 --- /dev/null +++ b/flatpak/README.md @@ -0,0 +1,10 @@ +# gmusicbrowser Flatpack Manifest + +### To build +`flatpak-builder build-dir org.gmusicbrowser.gmusicbrowser.json` + +### To Test run +`flatpak-builder --run build-dir org.gmusicbrowser.gmusicbrowser.json gmusicbrowser` + +### To Package +`flatpak-builder --repo=repo --force-clean build-dir org.gmusicbrowser.gmusicbrowser.json` diff --git a/flatpak/audio-libs.json b/flatpak/audio-libs.json new file mode 100644 index 00000000..06ba0dcd --- /dev/null +++ b/flatpak/audio-libs.json @@ -0,0 +1,45 @@ +{ + "name": "audio-libs", + "modules": [ + { + "name": "libao", + "buildsystem": "autotools", + "sources": [{ + "type": "archive", + "url": "http://downloads.xiph.org/releases/ao/libao-1.2.0.tar.gz", + "sha256": "03ad231ad1f9d64b52474392d63c31197b0bc7bd416e58b1c10a329a5ed89caf" + }] + }, + { + "name": "flac123", + "buildsystem": "autotools", + "sources": [{ + "type": "archive", + "url": "https://master.dl.sourceforge.net/project/flac-tools/flac123/0.0.11/flac123-0.0.11.tar.gz", + "sha256": "2f96da02c28730fcc2c71e9e6975268a4b01b0a298f1bea58a5543192f972b66" + }] + }, + { + "name": "vorbis-tools", + "buildsystem": "autotools", + "sources": [{ + "type": "archive", + "url": "http://downloads.xiph.org/releases/vorbis/vorbis-tools-1.4.0.tar.gz", + "sha256": "a389395baa43f8e5a796c99daf62397e435a7e73531c9f44d9084055a05d22bc" + }, + { + "type": "shell", + "commands": ["cp -p /usr/share/automake-*/config.{sub,guess} ."] + }] + }, + { + "name": "mpg123", + "buildsystem": "autotools", + "sources": [{ + "type": "archive", + "url": "https://iweb.dl.sourceforge.net/project/mpg123/mpg123/1.26.1/mpg123-1.26.1.tar.bz2", + "sha256": "74d6629ab7f3dd9a588b0931528ba7ecfa989a2cad6bf53ffeef9de31b0fe032" + }] + } + ] +} diff --git a/flatpak/org.gmusicbrowser.gmusicbrowser.json b/flatpak/org.gmusicbrowser.gmusicbrowser.json new file mode 100644 index 00000000..85d9d77a --- /dev/null +++ b/flatpak/org.gmusicbrowser.gmusicbrowser.json @@ -0,0 +1,45 @@ +{ + "app-id": "org.gmusicbrowser.gmusicbrowser", + "runtime": "org.gnome.Platform", + "runtime-version": "3.36", + "sdk": "org.gnome.Sdk", + "command": "gmusicbrowser", + "rename-appdata-file": "gmusicbrowser.appdata.xml", + "rename-desktop-file": "gmusicbrowser.desktop", + "rename-icon": "gmusicbrowser", + "copy-icon": true, + "finish-args": [ + "--share=ipc", + "--socket=fallback-x11", + "--socket=wayland", + "--share=network", + "--filesystem=xdg-music", + "--socket=pulseaudio", + "--own-name=org.gmusicbrowser", + "--own-name=org.gmusicbrowser.gmusicbrowser", + "--own-name=org.mpris.MediaPlayer2.gmusicbrowser", + "--env=PERL5LIB=/app/lib" + ], + "build-options" : { + "env": {"PERL5LIB": "/app/lib"} + }, + "modules": [ + "audio-libs.json", + "perl-libs.json", + { + "name": "gmusicbrowser", + "buildsystem": "simple", + "build-commands": [ + "sed -i '7i\\ ' gmusicbrowser.appdata.xml", + "sed -i '34i\\ \\n \\n ' gmusicbrowser.appdata.xml", + "sed -i 's|#!/usr/bin/perl|#!/bin/env perl|g' gmusicbrowser.pl", + "make install prefix='/app'" + ], + "sources": [{ + "type": "git", + "url": "https://github.com/squentin/gmusicbrowser.git", + "commit": "547b6312c9be7647ae5e7f55eb4d7fbf2cd49b8e" + }] + } + ] +} diff --git a/flatpak/perl-libs.json b/flatpak/perl-libs.json new file mode 100644 index 00000000..889dad4d --- /dev/null +++ b/flatpak/perl-libs.json @@ -0,0 +1,249 @@ +{ + "name": "perl-libs", + "modules": [ + { + "name": "perl", + "no-autogen": true, + "config-opts": [ + "-des", + "-Duseshrplib" + ], + "build-options": { + "cflags": "-fPIC", + "ldflags": "-fpic" + }, + "post-install": [ + "find ${FLATPAK_DEST}/lib/perl5/ -name \\*.so -exec chmod u+w {} \\;" + ], + "cleanup": [ + "/man", + "*.pod", + "*.h" + ], + "sources": [ + { + "type": "archive", + "url": "https://www.cpan.org/src/5.0/perl-5.30.1.tar.gz", + "sha256": "bf3d25571ff1ee94186177c2cdef87867fd6a14aa5a84f0b1fb7bf798f42f964" + }, + { + "type": "script", + "dest-filename": "configure", + "commands": [ + "exec ./configure.gnu $@" + ] + } + ] + }, + { + "name": "perl-ExtUtils-Depends", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make test", + "make install" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/X/XA/XAOC/ExtUtils-Depends-0.8000.tar.gz", + "sha256": "780ff72128c04c2a22e6801187aa9c58cab298407f6e9d062706af1c250bbe98" + }] + }, + { + "name": "perl-ExtUtils-PkgConfig", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make test", + "make install" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz", + "sha256": "bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e" + }] + }, + { + "name": "perl-glib", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make test", + "make install" + ], + "post-install": [ + "find ${FLATPAK_DEST}/lib/ -name \\*.so -exec chmod u+w {} \\;" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/X/XA/XAOC/Glib-1.3293.tar.gz", + "sha256": "7316a0c1e7cc5cb3db7211214f45d7bdc2354365a680ac4bd3ac8bf06d1cb500" + }] + }, + { + "name": "perl-Glib-Object-Introspection", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make test", + "make install" + ], + "post-install": [ + "find ${FLATPAK_DEST}/lib/ -name \\*.so -exec chmod u+w {} \\;" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/X/XA/XAOC/Glib-Object-Introspection-0.048.tar.gz", + "sha256": "a64f100c21b884616669255d90fcaf1d11a51cde6ff3f3edcb835a920d2fbd05" + }] + }, + { + "name": "perl-cairo", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make test", + "make install" + ], + "post-install": [ + "find ${FLATPAK_DEST}/lib/ -name \\*.so -exec chmod u+w {} \\;" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/X/XA/XAOC/Cairo-1.107.tar.gz", + "sha256": "5e1de126ddf93bd5b13f13a52f50d7f7af1157265b7f10e53d585ee1827be169" + }] + }, + { + "name": "perl-cairo-gobject", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make install" + ], + "post-install": [ + "find ${FLATPAK_DEST}/lib/ -name \\*.so -exec chmod u+w {} \\;" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/X/XA/XAOC/Cairo-GObject-1.005.tar.gz", + "sha256": "8d896444d71e1d0bca3d24e31e5d82bd0d9542aaed91d1fb7eab367bce675c50" + }] + }, + { + "name": "perl-pango", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make test", + "make install" + ], + "post-install": [ + "find ${FLATPAK_DEST}/lib/ -name \\*.so -exec chmod u+w {} \\;" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/X/XA/XAOC/Pango-1.227.tar.gz", + "sha256": "34b0a422df3fecd7597587048552457d48ae764c43bbefd2a9d62ceb6c8bac71" + }] + }, + { + "name": "perl-gtk3", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make install" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/X/XA/XAOC/Gtk3-0.037.tar.gz", + "sha256": "bf5ae1547294a78ca8ba5a88cb20f99a16e4c82bed55446aa054c944918e3f51" + }] + }, + { + "name": "perl-net-dbus", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make install" + ], + "post-install": [ + "find ${FLATPAK_DEST}/lib/ -name \\*.so -exec chmod u+w {} \\;" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz", + "sha256": "e7a1ac9ef4a1235b3fdbd5888f86c347182306467bd79abc9b0756a64b441cbc" + }] + }, + { + "name": "perl-xml-twig", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make install" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz", + "sha256": "fef75826c24f2b877d0a0d2645212fc4fb9756ed4d2711614ac15c497e8680ad" + }] + }, + { + "name": "perl-xml-parser", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make install" + ], + "post-install": [ + "find ${FLATPAK_DEST}/lib/ -name \\*.so -exec chmod u+w {} \\;" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz", + "sha256": "d331332491c51cccfb4cb94ffc44f9cd73378e618498d4a37df9e043661c515d" + }] + }, + { + "name": "libintl-perl", + "buildsystem": "simple", + "build-commands": [ + "perl Makefile.PL PREFIX=/app LIB=/app/lib", + "make", + "make install" + ], + "post-install": [ + "find ${FLATPAK_DEST}/lib/ -name \\*.so -exec chmod u+w {} \\;" + ], + "sources": [{ + "type": "archive", + "url": "https://cpan.metacpan.org/authors/id/G/GU/GUIDO/libintl-perl-1.31.tar.gz", + "sha256": "cad0b1fd0abfa1340dea089ec45ee3dacd9710c9fd942c064bb8124273b3caa9" + }] + }, + { + "name": "markdown", + "buildsystem": "simple", + "build-commands": [ + "install -D Markdown.pl /app/bin/markdown" + ], + "sources": [{ + "type": "file", + "url": "https://sources.debian.org/data/main/m/markdown/1.0.1-10/Markdown.pl", + "sha256": "764d57b96a35c48d9e3c4ec4c5c3492cff49f365a3f30e1eed71dc66d50e0c85" + }] + } + ] +}