diff --git a/temp/gnome-software/445.patch b/temp/gnome-software/445.patch new file mode 100644 index 000000000..a60fb67e0 --- /dev/null +++ b/temp/gnome-software/445.patch @@ -0,0 +1,105 @@ +From e91ea5d802b794947b21d438f3defdfd9309d860 Mon Sep 17 00:00:00 2001 +From: Rasmus Thomsen +Date: Fri, 17 Apr 2020 14:45:59 +0200 +Subject: [PATCH 1/2] build: use meson functionality to generate .pc file + +This should be sufficiently stable now and also fixes a few things +in the pkgconfig file, like minimum required versions of dependants +and also fixes linking against gnome-software with pkgconfig, previously +only -L/usr/lib was passed to the linker and not -lgnome-software +--- + lib/meson.build | 45 +++++++++++---------------------------------- + 1 file changed, 11 insertions(+), 34 deletions(-) + +diff --git a/lib/meson.build b/lib/meson.build +index 376beebd..a41f63bb 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -1,40 +1,6 @@ + cargs = ['-DG_LOG_DOMAIN="Gs"'] + cargs += ['-DLOCALPLUGINDIR=""'] + +-# we can't use conf as this is set_quoted() +- +-pkconf = configuration_data() +-pkconf.set('prefix', get_option('prefix')) +-pkconf.set('libdir', +- join_paths(get_option('prefix'), +- get_option('libdir'))) +-pkconf.set('includedir', +- join_paths(get_option('prefix'), +- get_option('includedir'))) +-pkconf.set('GS_PLUGIN_API_VERSION', gs_plugin_api_version) +-pkconf.set('VERSION', meson.project_version()) +-configure_file( +- input : 'gnome-software.pc.in', +- output : 'gnome-software.pc', +- install_dir: join_paths(get_option('libdir'), 'pkgconfig'), +- configuration : pkconf +-) +- +-# XXX: This can probably be used (after testing), once +-# https://github.com/mesonbuild/meson/pull/1688 is merged +-#pkg = import('pkgconfig') +-# +-#pkg.generate( +-# description : 'GNOME Software is a software center for GNOME', +-# filebase : 'gnome-software', +-# name : 'gnome-software', +-# requires: [ 'gobject-2.0', 'gdk-3.0', 'appstream-glib', 'libsoup-2.4', 'gio-unix-2.0'], +-# requires_private : [ 'gthread-2.0', 'atk' ], +-# subdirs : [ 'gnome-software' ], +-# variables : [ 'plugindir=${libdir}/lib/gs-plugins-' + gs_plugin_api_version ] +-# version : meson.project_version() +-#) +- + install_headers([ + 'gnome-software.h', + 'gs-app.h', +@@ -98,6 +64,17 @@ libgnomesoftware = static_library( + c_args : cargs, + ) + ++pkg = import('pkgconfig') ++ ++pkg.generate( ++ libgnomesoftware, ++ description : 'GNOME Software is a software center for GNOME', ++ filebase : 'gnome-software', ++ name : 'gnome-software', ++ subdirs : 'gnome-software', ++ variables : 'plugindir=${libdir}/gs-plugins-' + gs_plugin_api_version, ++) ++ + executable( + 'gnome-software-cmd', + sources : [ +-- +2.24.1 + + +From d3fae3b356edc59b53e476de19549c118a6bdc78 Mon Sep 17 00:00:00 2001 +From: Rasmus Thomsen +Date: Fri, 17 Apr 2020 15:21:25 +0200 +Subject: [PATCH 2/2] build: install libgnomesoftware + +This is useful for e.g. out-of-tree plugins +--- + lib/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/meson.build b/lib/meson.build +index a41f63bb..1c00d4f3 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -62,6 +62,7 @@ libgnomesoftware = static_library( + ], + dependencies : librarydeps, + c_args : cargs, ++ install: true, + ) + + pkg = import('pkgconfig') +-- +2.24.1 + diff --git a/temp/gnome-software/APKBUILD b/temp/gnome-software/APKBUILD new file mode 100644 index 000000000..0c1bee5e7 --- /dev/null +++ b/temp/gnome-software/APKBUILD @@ -0,0 +1,72 @@ +# Forked from Alpine to apply Purism's mobile patches +pkgname=gnome-software +pkgver=9999_git20191031 +_commit="b915095540fa7ada6778aded0d51a93572762d89" +pkgrel=0 +pkgdesc="Software lets you install and update applications and system extensions" +url="https://wiki.gnome.org/Apps/Software" +arch="all !s390x !mips !mips64" +license="GPL-2.0-or-later" +makedepends="meson appstream-glib-dev gdk-pixbuf-dev libxmlb-dev glib-dev gtk+3.0-dev + json-glib-dev libsoup-dev gnome-desktop-dev gspell-dev polkit-dev gtk-doc + ostree-dev flatpak-dev libgudev-dev gnome-online-accounts-dev libhandy-dev" +options="!check" # lots of failing tests +subpackages="$pkgname-lang $pkgname-doc $pkgname-dbg $pkgname-static + $pkgname-dev $pkgname-plugin-flatpak:flatpak_plugin" +source="https://source.puri.sm/Librem5/gnome-software/-/archive/$_commit/gnome-software-$_commit.tar.gz + 445.patch + install-more-headers.patch + " +builddir="$srcdir/$pkgname-$_commit" + +case "$CARCH" in + x86*) makedepends="$makedepends fwupd-dev" ;; +esac + +# gnome-software-plugin-apk is only a runtime dependency and unfortunately +# not available on other arches yet due to LDC. +case "$CARCH" in + x86_64|aarch64) depends="$depends gnome-software-plugin-apk" ;; +esac + +build() { + case "$CARCH" in + x86*) conf="-Dfwupd=true" ;; + *) conf="-Dfwupd=false" ;; + esac + + + meson \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --localstatedir=/var \ + --buildtype=plain \ + -Dvalgrind=false \ + -Dmalcontent=false \ + -Dpackagekit=false \ + $conf \ + . output + ninja -C output +} + +check() { + ninja -C output test +} + +package() { + DESTDIR="$pkgdir" ninja -C output install +} + +flatpak_plugin() { + pkgdesc="$pkgdesc (flatpak plugin)" + install_if="$pkgname=$pkgver-r$pkgrel flatpak" + depends="" + + amove usr/lib/gs-plugins-13/libgs_plugin_flatpak.so + amove usr/share/metainfo/org.gnome.Software.Plugin.Flatpak.metainfo.xml +} + +sha512sums="12d276f0a30c744c8ff1ee162b75340181a58516389a4ccb1013017c03c5d75eb193f7f79975c02c5de9506c2585a70eb4f67a93410877dcf24e8fb4cbcd006e gnome-software-b915095540fa7ada6778aded0d51a93572762d89.tar.gz +2a8746ac0f948022b10fd29bcaf159d428954061d5ae19db86a09733f69901eda61e109ed4b3d3d484d91c182b2967e4b3bc11ce78774885bb9105a752c55c35 445.patch +e7de617dbdecaa46fad25d8fe7d7ea5db324aaed73555bbe6814357b4ac3b787269653863679cff4318250dcc7729299b549f41220f441d9033a448af28da9dd install-more-headers.patch" diff --git a/temp/gnome-software/install-more-headers.patch b/temp/gnome-software/install-more-headers.patch new file mode 100644 index 000000000..0961263d3 --- /dev/null +++ b/temp/gnome-software/install-more-headers.patch @@ -0,0 +1,36 @@ +From 846e2a60f56b615be6ae7e5c6a6909723e76c836 Mon Sep 17 00:00:00 2001 +From: Rasmus Thomsen +Date: Fri, 17 Apr 2020 18:55:21 +0200 +Subject: [PATCH] build: install more headers + +These are required for building out of tree plugins +--- + lib/meson.build | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/lib/meson.build b/lib/meson.build +index 1c00d4f3..6a2e803e 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -4,12 +4,18 @@ cargs += ['-DLOCALPLUGINDIR=""'] + install_headers([ + 'gnome-software.h', + 'gs-app.h', ++ 'gs-app-collation.h', + 'gs-app-list.h', ++ 'gs-autocleanups.h', + 'gs-category.h', ++ 'gs-ioprio.h', + 'gs-metered.h', + 'gs-os-release.h', + 'gs-plugin.h', + 'gs-plugin-event.h', ++ 'gs-plugin-job.h', ++ 'gs-plugin-loader.h', ++ 'gs-plugin-loader-sync.h', + 'gs-plugin-types.h', + 'gs-plugin-vfuncs.h', + 'gs-utils.h' +-- +2.26.1 +