public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: app-crypt/gcr/files/, app-crypt/gcr/
@ 2020-08-18  7:51 Mart Raudsepp
  0 siblings, 0 replies; 3+ messages in thread
From: Mart Raudsepp @ 2020-08-18  7:51 UTC (permalink / raw
  To: gentoo-commits

commit:     a3f6c7f2781a7f14c8fc158dda15992a10b02564
Author:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 18 07:35:19 2020 +0000
Commit:     Mart Raudsepp <leio <AT> gentoo <DOT> org>
CommitDate: Tue Aug 18 07:42:03 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a3f6c7f2

app-crypt/gcr: bump to 3.36.0

* Port to meson and EAPI-7
* The compatibility libgcr-3.so is now gone
* virtualx usage is gone, as that was needed only for dbus autolaunch,
  which is now handled manually to not need autolaunch
* libtasn1 dep with subslot operator dep is gone, as I don't see any
  direct linkages to it, probably only p11-kit private in modern days
* Added missing gnupg runtime dep, which hopefully doesn't cause
  a build-time circular dep in the way it is done now (including an
  upstream MR that is needed to avoid this at upstream level)
* Dropped unnecessary unconditional libxslt/libxml2 deps, which were
  checked for in autotools (but apparently never used), but are not
  used with meson. However libxml2 is still used as part of gresources
  when ui (USE=gtk) is enabled

Package-Manager: Portage-2.3.103, Repoman-2.3.20
Signed-off-by: Mart Raudsepp <leio <AT> gentoo.org>

 app-crypt/gcr/Manifest                             |  1 +
 .../files/3.36.0-avoid-gnupg-circular-dep.patch    | 52 +++++++++++++
 app-crypt/gcr/files/3.36.0-fix-gck-slot-test.patch | 37 +++++++++
 app-crypt/gcr/files/3.36.0-meson-enum-race.patch   | 31 ++++++++
 .../3.36.0-meson-fix-gtk-doc-without-ui.patch      | 24 ++++++
 app-crypt/gcr/files/3.36.0-meson-vapi-deps.patch   | 48 ++++++++++++
 app-crypt/gcr/files/3.36.0-optional-vapi.patch     | 88 ++++++++++++++++++++++
 app-crypt/gcr/gcr-3.36.0.ebuild                    | 85 +++++++++++++++++++++
 8 files changed, 366 insertions(+)

diff --git a/app-crypt/gcr/Manifest b/app-crypt/gcr/Manifest
index 22bd9c6e136..669d8a20259 100644
--- a/app-crypt/gcr/Manifest
+++ b/app-crypt/gcr/Manifest
@@ -1 +1,2 @@
 DIST gcr-3.34.0.tar.xz 1454244 BLAKE2B fc84e5eaa3b2822d1c04fff3b8b343de2655cce34317327a3594b506172c703a9d4b1d5562ed213bc1ae7df5d31ac1c5ab3c5733cfe8e5edf85e334ce7ff85f4 SHA512 9314b531ed46a42b2c8c1531c7d95003db04f2c8065e46f4e6a84ec26400ce6302ea71c4db42a8c7b98884a0b84d75a0ca65d988aa0fe6de6d897d772b070093
+DIST gcr-3.36.0.tar.xz 1025760 BLAKE2B 03f0d0ed40b600ed80e894111fedff3efcbbaaf6f261d6a44a3649a1acb50c4f35f3dc9a7ddb60f56cab241f68fef83aa5a02a94036e70a6556b35300f2c8fb5 SHA512 0431e7971b73accc62869c9497fcff7c111c453aa6a8ff25b42f19ceae1be0aec52e0e4eb504676f967c6e4f179198c15c521278690822e3457dbc5fe512fd5e

diff --git a/app-crypt/gcr/files/3.36.0-avoid-gnupg-circular-dep.patch b/app-crypt/gcr/files/3.36.0-avoid-gnupg-circular-dep.patch
new file mode 100644
index 00000000000..313b65628e4
--- /dev/null
+++ b/app-crypt/gcr/files/3.36.0-avoid-gnupg-circular-dep.patch
@@ -0,0 +1,52 @@
+From d3fd10fa3d3fe3e2e60a9ca5cfb401faa5e9c5bd Mon Sep 17 00:00:00 2001
+From: Rasmus Thomsen <oss@cogitri.dev>
+Date: Wed, 11 Mar 2020 11:49:08 +0100
+Subject: [PATCH 4/6] meson: allow building without gpg(2) installed
+
+This avoids circular dependencies, such as gcr -> gpg2 -> pinentry -> gcr
+---
+ meson.build       | 7 +++++--
+ meson_options.txt | 5 +++++
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index f19af0f..57b625b 100644
+--- a/meson.build
++++ b/meson.build
+@@ -41,7 +41,10 @@ gobject_dep = dependency('gobject-2.0', version: '>=' + min_glib_version)
+ gio_dep = dependency('gio-2.0', version: '>=' + min_glib_version)
+ gio_unix_dep = dependency('gio-unix-2.0',version: '>=' + min_glib_version)
+ glib_deps = [ glib_dep, gmodule_dep, gthread_dep, gobject_dep, gio_dep, gio_unix_dep, ]
+-gpg_bin = find_program('gpg2', 'gpg')
++gpg_path = get_option('gpg_path')
++if gpg_path == ''
++  gpg_path = find_program('gpg2', 'gpg').path()
++endif
+ libgcrypt_dep = dependency('libgcrypt', version: '>= 1')
+ p11kit_dep = dependency('p11-kit-1', version: '>= 0.19.0')
+ p11_system_config_modules = p11kit_dep.get_pkgconfig_variable('p11_system_config_modules')
+@@ -65,7 +68,7 @@ conf.set('HAVE_GETTEXT', true)
+ conf.set('HAVE_LOCALE_H', cc.has_header('locale.h'))
+ conf.set('HAVE_TIMEGM', cc.has_function('timegm'))
+ conf.set('HAVE_MLOCK', cc.has_function('mlock'))
+-conf.set_quoted('GPG_EXECUTABLE', gpg_bin.path())
++conf.set_quoted('GPG_EXECUTABLE', gpg_path)
+ conf.set_quoted('LIBGCRYPT_VERSION', libgcrypt_dep.version())
+ config_file = configure_file(
+   output: 'config.h',
+diff --git a/meson_options.txt b/meson_options.txt
+index bbdc8e3..ae0f524 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -13,3 +13,8 @@ option('gtk_doc',
+   value: true,
+   description: 'Build the reference documentation (requires gtk-doc)',
+ )
++option('gpg_path',
++  type: 'string',
++  value: '',
++  description: 'Path to gpg, autodetected if not set',
++)
+-- 
+2.20.1
+

diff --git a/app-crypt/gcr/files/3.36.0-fix-gck-slot-test.patch b/app-crypt/gcr/files/3.36.0-fix-gck-slot-test.patch
new file mode 100644
index 00000000000..44a7919ea8d
--- /dev/null
+++ b/app-crypt/gcr/files/3.36.0-fix-gck-slot-test.patch
@@ -0,0 +1,37 @@
+From 4835310d233899f8b541e1c75c79f5c3a9ebf928 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <smcv@debian.org>
+Date: Sun, 15 Mar 2020 13:00:08 +0000
+Subject: [PATCH 1/6] gck-slot: Initialize struct tm to all-zeroes
+
+If the format string for strptime() doesn't include a time zone,
+then the tm_isdst member will be left uninitialized (see NOTES in
+Linux strptime(3)). This means we will be off by an hour from the
+intended time if whatever arbitrary junk is on the stack happens to
+include a positive value for tm.tm_isdst.
+
+Resolves: https://gitlab.gnome.org/GNOME/gcr/issues/42
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=953981
+Signed-off-by: Simon McVittie <smcv@debian.org>
+(cherry picked from commit b1c8213b64fdfcad8c4ae0ff33a31105c0a0a312)
+---
+ gck/gck-slot.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/gck/gck-slot.c b/gck/gck-slot.c
+index f3b2f97..f00857f 100644
+--- a/gck/gck-slot.c
++++ b/gck/gck-slot.c
+@@ -607,7 +607,9 @@ _gck_token_info_from_pkcs11 (CK_TOKEN_INFO_PTR info)
+ {
+ 	GckTokenInfo *token_info;
+ 	gchar *string;
+-	struct tm tm;
++	/* Must be zero-filled, because strptime will leave tm_isdst
++	 * unchanged */
++	struct tm tm = { 0 };
+ 
+ 	token_info = g_new0 (GckTokenInfo, 1);
+ 	token_info->label = gck_string_from_chars (info->label, sizeof (info->label));
+-- 
+2.20.1
+

diff --git a/app-crypt/gcr/files/3.36.0-meson-enum-race.patch b/app-crypt/gcr/files/3.36.0-meson-enum-race.patch
new file mode 100644
index 00000000000..ef9d7a1bc3a
--- /dev/null
+++ b/app-crypt/gcr/files/3.36.0-meson-enum-race.patch
@@ -0,0 +1,31 @@
+From b04d117d5f8275a4c605743825faf2d5a28ae028 Mon Sep 17 00:00:00 2001
+From: Niels De Graef <nielsdegraef@gmail.com>
+Date: Fri, 19 Jun 2020 22:37:31 +0200
+Subject: [PATCH 3/6] meson: Make sure gcr-oids.h is built
+
+Fixes https://gitlab.gnome.org/GNOME/gcr/-/issues/48
+
+(cherry picked from commit 9fca6ae0aa7355c27d0922c561b9fbe18dde5b3d)
+---
+ gcr/meson.build | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/gcr/meson.build b/gcr/meson.build
+index 199452f..06c3a63 100644
+--- a/gcr/meson.build
++++ b/gcr/meson.build
+@@ -178,7 +178,10 @@ endif
+ gcr_base_dep = declare_dependency(
+   link_with: gcr_base_lib,
+   include_directories: include_directories('..'),
+-  sources: gcr_enums_gen[1], # Make sure gcr-enum-types-base.h can be included
++  sources: [
++    gcr_enums_gen[1],
++    gcr_oids[1],
++  ],
+ )
+ 
+ if get_option('introspection')
+-- 
+2.20.1
+

diff --git a/app-crypt/gcr/files/3.36.0-meson-fix-gtk-doc-without-ui.patch b/app-crypt/gcr/files/3.36.0-meson-fix-gtk-doc-without-ui.patch
new file mode 100644
index 00000000000..72950d381ea
--- /dev/null
+++ b/app-crypt/gcr/files/3.36.0-meson-fix-gtk-doc-without-ui.patch
@@ -0,0 +1,24 @@
+From 9343a5b0afb8265e02798c48ab52758d6cdfddf9 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Tue, 18 Aug 2020 09:53:38 +0300
+Subject: [PATCH 6/6] build: Don't build gcr gtk-doc without ui enabled
+
+gcr gtk-doc includes both gcr and gcr ui documentation, so we can't build
+it without ui enabled
+---
+ docs/meson.build | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/docs/meson.build b/docs/meson.build
+index f353516..8984ef2 100644
+--- a/docs/meson.build
++++ b/docs/meson.build
+@@ -1,2 +1,4 @@
+ subdir('reference/gck')
+-subdir('reference/gcr')
++if get_option('gtk')
++  subdir('reference/gcr')
++endif
+-- 
+2.20.1
+

diff --git a/app-crypt/gcr/files/3.36.0-meson-vapi-deps.patch b/app-crypt/gcr/files/3.36.0-meson-vapi-deps.patch
new file mode 100644
index 00000000000..60d1058ee65
--- /dev/null
+++ b/app-crypt/gcr/files/3.36.0-meson-vapi-deps.patch
@@ -0,0 +1,48 @@
+From fc2bc7e230b745dbbd4f4b2cd82e1e5e0c7bf109 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex.kanavin@gmail.com>
+Date: Mon, 11 May 2020 22:19:16 +0000
+Subject: [PATCH 2/6] meson.build: correctly set internal vapi dependencies
+
+If they are set as strings, meson will supply the right
+arguments to vapigen, but will not set the ninja dependencies
+to ensure they get built first, and so races will occur:
+https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/1881/steps/8/logs/step1b
+
+Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+(cherry picked from commit 91712a2e131692fa727a0da2868bc23e8df1bf17)
+---
+ gcr/meson.build | 2 +-
+ ui/meson.build  | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/gcr/meson.build b/gcr/meson.build
+index 254a933..199452f 100644
+--- a/gcr/meson.build
++++ b/gcr/meson.build
+@@ -203,7 +203,7 @@ if get_option('introspection')
+ 
+   gcr_vapi = gnome.generate_vapi('gcr-@0@'.format(gcr_major_version),
+     sources: gcr_gir[0],
+-    packages: [ 'glib-2.0', 'gio-2.0', 'gck-@0@'.format(gck_major_version) ],
++    packages: [ 'glib-2.0', 'gio-2.0', gck_vapi ],
+     metadata_dirs: meson.current_source_dir(),
+     vapi_dirs: [
+       build_root / 'gck',
+diff --git a/ui/meson.build b/ui/meson.build
+index 5ca3753..477412d 100644
+--- a/ui/meson.build
++++ b/ui/meson.build
+@@ -174,8 +174,8 @@ if get_option('introspection')
+     packages: [
+       'glib-2.0',
+       'gio-2.0',
+-      'gck-@0@'.format(gck_major_version),
+-      'gcr-@0@'.format(gcr_major_version),
++      gck_vapi,
++      gcr_vapi,
+       'gtk+-3.0'
+     ],
+     metadata_dirs: meson.current_source_dir(),
+-- 
+2.20.1
+

diff --git a/app-crypt/gcr/files/3.36.0-optional-vapi.patch b/app-crypt/gcr/files/3.36.0-optional-vapi.patch
new file mode 100644
index 00000000000..50969fdae40
--- /dev/null
+++ b/app-crypt/gcr/files/3.36.0-optional-vapi.patch
@@ -0,0 +1,88 @@
+From 525f5c7dbfdff6c1b24510a22eeffa804836e1bf Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Tue, 18 Aug 2020 09:36:19 +0300
+Subject: [PATCH 5/6] build: Make vapi optional
+
+---
+ gck/meson.build   | 2 ++
+ gcr/meson.build   | 2 ++
+ meson_options.txt | 5 +++++
+ ui/meson.build    | 2 ++
+ 4 files changed, 11 insertions(+)
+
+diff --git a/gck/meson.build b/gck/meson.build
+index 756b486..a15f4ed 100644
+--- a/gck/meson.build
++++ b/gck/meson.build
+@@ -142,6 +142,7 @@ if get_option('introspection')
+     install: true,
+   )
+ 
++if get_option('vapi')
+   gck_vapi = gnome.generate_vapi('gck-@0@'.format(gck_major_version),
+     sources: gck_gir[0],
+     metadata_dirs: meson.current_source_dir(),
+@@ -153,6 +154,7 @@ if get_option('introspection')
+     install_dir: get_option('datadir') / 'vala' / 'vapi',
+   )
+ endif
++endif
+ 
+ # pkg-config file
+ pkgconfig.generate(gck_lib,
+diff --git a/gcr/meson.build b/gcr/meson.build
+index 06c3a63..cc642cf 100644
+--- a/gcr/meson.build
++++ b/gcr/meson.build
+@@ -204,6 +204,7 @@ if get_option('introspection')
+     install: true,
+   )
+ 
++if get_option('vapi')
+   gcr_vapi = gnome.generate_vapi('gcr-@0@'.format(gcr_major_version),
+     sources: gcr_gir[0],
+     packages: [ 'glib-2.0', 'gio-2.0', gck_vapi ],
+@@ -217,6 +218,7 @@ if get_option('introspection')
+     install: true,
+   )
+ endif
++endif
+ 
+ # pkg-config file
+ pkgconfig.generate(gcr_base_lib,
+diff --git a/meson_options.txt b/meson_options.txt
+index ae0f524..f68cb95 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -18,3 +18,8 @@ option('gpg_path',
+   value: '',
+   description: 'Path to gpg, autodetected if not set',
+ )
++option('vapi',
++  type: 'boolean',
++  value: true,
++  description: 'Generate vapi data (requires vapigen and introspection option)',
++)
+diff --git a/ui/meson.build b/ui/meson.build
+index 477412d..0b89b24 100644
+--- a/ui/meson.build
++++ b/ui/meson.build
+@@ -169,6 +169,7 @@ if get_option('introspection')
+     install: true,
+   )
+ 
++if get_option('vapi')
+   gcr_ui_vapi = gnome.generate_vapi('gcr-ui-@0@'.format(gcr_major_version),
+     sources: gcr_ui_gir[0],
+     packages: [
+@@ -190,6 +191,7 @@ if get_option('introspection')
+     install: true,
+   )
+ endif
++endif
+ 
+ # gcr-viewer
+ gcr_viewer = executable('gcr-viewer',
+-- 
+2.20.1
+

diff --git a/app-crypt/gcr/gcr-3.36.0.ebuild b/app-crypt/gcr/gcr-3.36.0.ebuild
new file mode 100644
index 00000000000..c966f4aed3d
--- /dev/null
+++ b/app-crypt/gcr/gcr-3.36.0.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VALA_USE_DEPEND="vapigen"
+PYTHON_COMPAT=( python3_{6,7,8} )
+
+inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Libraries for cryptographic UIs and accessing PKCS#11 modules"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/gcr"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="0/1" # subslot = suffix of libgcr-base-3 and co
+
+IUSE="gtk gtk-doc +introspection +vala"
+REQUIRED_USE="vala? ( introspection )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+
+DEPEND="
+	>=dev-libs/glib-2.44.0:2
+	>=dev-libs/libgcrypt-1.2.2:0=
+	>=app-crypt/p11-kit-0.19.0
+	gtk? ( >=x11-libs/gtk+-3.12:3[X,introspection?] )
+	>=sys-apps/dbus-1
+	introspection? ( >=dev-libs/gobject-introspection-1.58:= )
+"
+RDEPEND="${DEPEND}
+	app-crypt/gnupg
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	gtk? ( dev-libs/libxml2:2 )
+	dev-util/gdbus-codegen
+	dev-util/glib-utils
+	gtk-doc? ( >=dev-util/gtk-doc-1.9
+		app-text/docbook-xml-dtd:4.1.2 )
+	>=sys-devel/gettext-0.19.8
+	virtual/pkgconfig
+	vala? ( $(vala_depend) )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PV}-fix-gck-slot-test.patch
+	"${FILESDIR}"/${PV}-meson-vapi-deps.patch
+	"${FILESDIR}"/${PV}-meson-enum-race.patch
+	"${FILESDIR}"/${PV}-avoid-gnupg-circular-dep.patch
+	"${FILESDIR}"/${PV}-optional-vapi.patch
+	"${FILESDIR}"/${PV}-meson-fix-gtk-doc-without-ui.patch
+)
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	use vala && vala_src_prepare
+	xdg_src_prepare
+}
+
+src_configure() {
+	local emesonargs=(
+		$(meson_use introspection)
+		$(meson_use gtk)
+		$(meson_use gtk-doc gtk_doc)
+		-Dgpg_path="${EPREFIX}"/usr/bin/gpg
+		$(meson_use vala vapi)
+	)
+	meson_src_configure
+}
+
+src_test() {
+	dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	gnome2_schemas_update
+}
+
+pkg_postrm() {
+	xdg_pkg_postrm
+	gnome2_schemas_update
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-crypt/gcr/files/, app-crypt/gcr/
@ 2021-01-08 16:24 Matt Turner
  0 siblings, 0 replies; 3+ messages in thread
From: Matt Turner @ 2021-01-08 16:24 UTC (permalink / raw
  To: gentoo-commits

commit:     1e4e3d89728cc93439b3c72872779f9a88a661bb
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Fri Jan  8 04:20:12 2021 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Fri Jan  8 16:23:53 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e4e3d89

app-crypt/gcr: Version bump to 3.38.0

Closes: https://bugs.gentoo.org/751346
Closes: https://bugs.gentoo.org/762799
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 app-crypt/gcr/Manifest                             |  1 +
 .../files/3.38.0-avoid-gnupg-circular-dep.patch    | 52 +++++++++++++
 app-crypt/gcr/files/3.38.0-optional-vapi.patch     | 88 ++++++++++++++++++++++
 app-crypt/gcr/gcr-3.38.0.ebuild                    | 84 +++++++++++++++++++++
 4 files changed, 225 insertions(+)

diff --git a/app-crypt/gcr/Manifest b/app-crypt/gcr/Manifest
index 593256ddcdf..1776e37e762 100644
--- a/app-crypt/gcr/Manifest
+++ b/app-crypt/gcr/Manifest
@@ -1 +1,2 @@
 DIST gcr-3.36.0.tar.xz 1025760 BLAKE2B 03f0d0ed40b600ed80e894111fedff3efcbbaaf6f261d6a44a3649a1acb50c4f35f3dc9a7ddb60f56cab241f68fef83aa5a02a94036e70a6556b35300f2c8fb5 SHA512 0431e7971b73accc62869c9497fcff7c111c453aa6a8ff25b42f19ceae1be0aec52e0e4eb504676f967c6e4f179198c15c521278690822e3457dbc5fe512fd5e
+DIST gcr-3.38.0.tar.xz 1029784 BLAKE2B cf295a9f497d6c54067717e806439166965f90670ed5f7283802bb70c547465d9cc28d452970269d4315d02d24cc31f483a0a1fc1807f9b9720e70aa2b8249b9 SHA512 24c35ac514a67a1dee6a5738e829b55921a490b060ffa597421cea0abac3ddc62695370d2c7b3504c0adfd55b1ade878ad3ca5e6cb869428b4a19f4a11563bc6

diff --git a/app-crypt/gcr/files/3.38.0-avoid-gnupg-circular-dep.patch b/app-crypt/gcr/files/3.38.0-avoid-gnupg-circular-dep.patch
new file mode 100644
index 00000000000..5bb7da0fa78
--- /dev/null
+++ b/app-crypt/gcr/files/3.38.0-avoid-gnupg-circular-dep.patch
@@ -0,0 +1,52 @@
+From b938b0b658852c682ae17d56e0ad9322611e9516 Mon Sep 17 00:00:00 2001
+From: Rasmus Thomsen <oss@cogitri.dev>
+Date: Wed, 11 Mar 2020 11:49:08 +0100
+Subject: [PATCH 1/2] meson: allow building without gpg(2) installed
+
+This avoids circular dependencies, such as gcr -> gpg2 -> pinentry -> gcr
+---
+ meson.build       | 7 +++++--
+ meson_options.txt | 5 +++++
+ 2 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index a26a0f9..02b4c3c 100644
+--- a/meson.build
++++ b/meson.build
+@@ -41,7 +41,10 @@ gobject_dep = dependency('gobject-2.0', version: '>=' + min_glib_version)
+ gio_dep = dependency('gio-2.0', version: '>=' + min_glib_version)
+ gio_unix_dep = dependency('gio-unix-2.0',version: '>=' + min_glib_version)
+ glib_deps = [ glib_dep, gmodule_dep, gthread_dep, gobject_dep, gio_dep, gio_unix_dep, ]
+-gpg_bin = find_program('gpg2', 'gpg')
++gpg_path = get_option('gpg_path')
++if gpg_path == ''
++  gpg_path = find_program('gpg2', 'gpg').path()
++endif
+ libgcrypt_dep = dependency('libgcrypt', version: '>= 1')
+ p11kit_dep = dependency('p11-kit-1', version: '>= 0.19.0')
+ p11_system_config_modules = p11kit_dep.get_pkgconfig_variable('p11_system_config_modules')
+@@ -65,7 +68,7 @@ conf.set('HAVE_GETTEXT', true)
+ conf.set('HAVE_LOCALE_H', cc.has_header('locale.h'))
+ conf.set('HAVE_TIMEGM', cc.has_function('timegm'))
+ conf.set('HAVE_MLOCK', cc.has_function('mlock'))
+-conf.set_quoted('GPG_EXECUTABLE', gpg_bin.path())
++conf.set_quoted('GPG_EXECUTABLE', gpg_path)
+ conf.set_quoted('LIBGCRYPT_VERSION', libgcrypt_dep.version())
+ config_file = configure_file(
+   output: 'config.h',
+diff --git a/meson_options.txt b/meson_options.txt
+index bbdc8e3..ae0f524 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -13,3 +13,8 @@ option('gtk_doc',
+   value: true,
+   description: 'Build the reference documentation (requires gtk-doc)',
+ )
++option('gpg_path',
++  type: 'string',
++  value: '',
++  description: 'Path to gpg, autodetected if not set',
++)
+-- 
+2.26.2
+

diff --git a/app-crypt/gcr/files/3.38.0-optional-vapi.patch b/app-crypt/gcr/files/3.38.0-optional-vapi.patch
new file mode 100644
index 00000000000..d565884994f
--- /dev/null
+++ b/app-crypt/gcr/files/3.38.0-optional-vapi.patch
@@ -0,0 +1,88 @@
+From 6d61774b8556eb4acfa5e7613ee25893d2a7e565 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Tue, 18 Aug 2020 09:36:19 +0300
+Subject: [PATCH 2/2] build: Make vapi optional
+
+---
+ gck/meson.build   | 2 ++
+ gcr/meson.build   | 2 ++
+ meson_options.txt | 5 +++++
+ ui/meson.build    | 2 ++
+ 4 files changed, 11 insertions(+)
+
+diff --git a/gck/meson.build b/gck/meson.build
+index 756b486..a15f4ed 100644
+--- a/gck/meson.build
++++ b/gck/meson.build
+@@ -142,6 +142,7 @@ if get_option('introspection')
+     install: true,
+   )
+ 
++if get_option('vapi')
+   gck_vapi = gnome.generate_vapi('gck-@0@'.format(gck_major_version),
+     sources: gck_gir[0],
+     metadata_dirs: meson.current_source_dir(),
+@@ -153,6 +154,7 @@ if get_option('introspection')
+     install_dir: get_option('datadir') / 'vala' / 'vapi',
+   )
+ endif
++endif
+ 
+ # pkg-config file
+ pkgconfig.generate(gck_lib,
+diff --git a/gcr/meson.build b/gcr/meson.build
+index 06c3a63..cc642cf 100644
+--- a/gcr/meson.build
++++ b/gcr/meson.build
+@@ -204,6 +204,7 @@ if get_option('introspection')
+     install: true,
+   )
+ 
++if get_option('vapi')
+   gcr_vapi = gnome.generate_vapi('gcr-@0@'.format(gcr_major_version),
+     sources: gcr_gir[0],
+     packages: [ 'glib-2.0', 'gio-2.0', gck_vapi ],
+@@ -217,6 +218,7 @@ if get_option('introspection')
+     install: true,
+   )
+ endif
++endif
+ 
+ # pkg-config file
+ pkgconfig.generate(gcr_base_lib,
+diff --git a/meson_options.txt b/meson_options.txt
+index ae0f524..f68cb95 100644
+--- a/meson_options.txt
++++ b/meson_options.txt
+@@ -18,3 +18,8 @@ option('gpg_path',
+   value: '',
+   description: 'Path to gpg, autodetected if not set',
+ )
++option('vapi',
++  type: 'boolean',
++  value: true,
++  description: 'Generate vapi data (requires vapigen and introspection option)',
++)
+diff --git a/ui/meson.build b/ui/meson.build
+index 477412d..0b89b24 100644
+--- a/ui/meson.build
++++ b/ui/meson.build
+@@ -169,6 +169,7 @@ if get_option('introspection')
+     install: true,
+   )
+ 
++if get_option('vapi')
+   gcr_ui_vapi = gnome.generate_vapi('gcr-ui-@0@'.format(gcr_major_version),
+     sources: gcr_ui_gir[0],
+     packages: [
+@@ -190,6 +191,7 @@ if get_option('introspection')
+     install: true,
+   )
+ endif
++endif
+ 
+ # gcr-viewer
+ gcr_viewer = executable('gcr-viewer',
+-- 
+2.26.2
+

diff --git a/app-crypt/gcr/gcr-3.38.0.ebuild b/app-crypt/gcr/gcr-3.38.0.ebuild
new file mode 100644
index 00000000000..1328f530c41
--- /dev/null
+++ b/app-crypt/gcr/gcr-3.38.0.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+VALA_USE_DEPEND="vapigen"
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Libraries for cryptographic UIs and accessing PKCS#11 modules"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/gcr"
+
+LICENSE="GPL-2+ LGPL-2+"
+SLOT="0/1" # subslot = suffix of libgcr-base-3 and co
+
+IUSE="gtk gtk-doc +introspection test +vala"
+REQUIRED_USE="vala? ( introspection )"
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+
+DEPEND="
+	>=dev-libs/glib-2.44.0:2
+	>=dev-libs/libgcrypt-1.2.2:0=
+	>=app-crypt/p11-kit-0.19.0
+	gtk? ( >=x11-libs/gtk+-3.12:3[X,introspection?] )
+	>=sys-apps/dbus-1
+	introspection? ( >=dev-libs/gobject-introspection-1.58:= )
+"
+RDEPEND="${DEPEND}"
+PDEPEND="app-crypt/gnupg"
+BDEPEND="
+	${PYTHON_DEPS}
+	gtk? ( dev-libs/libxml2:2 )
+	dev-util/gdbus-codegen
+	dev-util/glib-utils
+	gtk-doc? (
+		>=dev-util/gtk-doc-1.9
+		app-text/docbook-xml-dtd:4.1.2
+	)
+	>=sys-devel/gettext-0.19.8
+	test? ( app-crypt/gnupg )
+	virtual/pkgconfig
+	vala? ( $(vala_depend) )
+"
+
+PATCHES=(
+	"${FILESDIR}"/${PV}-avoid-gnupg-circular-dep.patch
+	"${FILESDIR}"/${PV}-optional-vapi.patch
+)
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+}
+
+src_prepare() {
+	use vala && vala_src_prepare
+	xdg_src_prepare
+}
+
+src_configure() {
+	local emesonargs=(
+		$(meson_use introspection)
+		$(meson_use gtk)
+		$(meson_use gtk-doc gtk_doc)
+		-Dgpg_path="${EPREFIX}"/usr/bin/gpg
+		$(meson_use vala vapi)
+	)
+	meson_src_configure
+}
+
+src_test() {
+	dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}
+
+pkg_postinst() {
+	xdg_pkg_postinst
+	gnome2_schemas_update
+}
+
+pkg_postrm() {
+	xdg_pkg_postrm
+	gnome2_schemas_update
+}


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: app-crypt/gcr/files/, app-crypt/gcr/
@ 2022-01-18 22:32 Sam James
  0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2022-01-18 22:32 UTC (permalink / raw
  To: gentoo-commits

commit:     28fe1228ccd031ed24a996f9e8b86f2ebe16b375
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 18 22:32:17 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 18 22:32:17 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=28fe1228

app-crypt/gcr: fix build with meson 0.61

Closes: https://bugs.gentoo.org/831428
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../gcr/files/gcr-3.40.0-meson-0.61-build.patch    | 47 ++++++++++++++++++++++
 app-crypt/gcr/gcr-3.40.0.ebuild                    |  3 +-
 2 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/app-crypt/gcr/files/gcr-3.40.0-meson-0.61-build.patch b/app-crypt/gcr/files/gcr-3.40.0-meson-0.61-build.patch
new file mode 100644
index 000000000000..4bf8efbb1d73
--- /dev/null
+++ b/app-crypt/gcr/files/gcr-3.40.0-meson-0.61-build.patch
@@ -0,0 +1,47 @@
+https://gitlab.gnome.org/GNOME/gcr/-/commit/b3ca1d02bb0148ca787ac4aead164d7c8ce2c4d8.patch
+https://bugs.gentoo.org/831428
+
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Wed, 12 Jan 2022 00:24:20 +0100
+Subject: [PATCH] meson: Fix unknown kw argument in gnome.generate_gir
+
+This argument has been removed in Meson 0.61.0:
+
+    gck/meson.build:130:2: ERROR: gnome.generate_gir got unknown keyword arguments "packages"
+
+https://github.com/mesonbuild/meson/commit/f8fc5cb860465718fe7c79a1bf1fe00659f138de:
+
+> The packages argument to gnome.generate_gir was allowed, but never did anything, so stop passing it.
+
+Fixes #89
+--- a/gck/meson.build
++++ b/gck/meson.build
+@@ -131,7 +131,6 @@ if get_option('introspection')
+     sources: gck_gir_sources,
+     namespace: 'Gck',
+     nsversion: '@0@'.format(gck_major_version),
+-    packages: gck_deps,
+     export_packages: 'gck-@0@'.format(gck_major_version),
+     includes: [ 'GObject-2.0', 'Gio-2.0' ],
+     header: 'gck/gck.h',
+--- a/gcr/meson.build
++++ b/gcr/meson.build
+@@ -190,7 +190,6 @@ if get_option('introspection')
+     sources: [ gcr_base_public_sources, gcr_base_headers ],
+     namespace: 'Gcr',
+     nsversion: '@0@'.format(gcr_major_version),
+-    packages: gcr_base_deps,
+     export_packages: 'gcr-base-@0@'.format(gcr_major_version),
+     includes: [
+       'GObject-2.0',
+--- a/ui/meson.build
++++ b/ui/meson.build
+@@ -152,7 +152,6 @@ if get_option('introspection')
+     export_packages: 'gcr-ui-@0@'.format(gcr_major_version),
+     identifier_prefix: 'Gcr',
+     symbol_prefix: 'gcr',
+-    packages: gcr_ui_deps,
+     includes: [
+       'GObject-2.0',
+       'Gio-2.0',
+GitLab

diff --git a/app-crypt/gcr/gcr-3.40.0.ebuild b/app-crypt/gcr/gcr-3.40.0.ebuild
index 44c233571e9d..3a367dc36429 100644
--- a/app-crypt/gcr/gcr-3.40.0.ebuild
+++ b/app-crypt/gcr/gcr-3.40.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -46,6 +46,7 @@ BDEPEND="
 
 PATCHES=(
 	"${FILESDIR}"/3.38.0-optional-vapi.patch
+	"${FILESDIR}"/${P}-meson-0.61-build.patch
 )
 
 pkg_setup() {


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-01-18 22:32 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-18  7:51 [gentoo-commits] repo/gentoo:master commit in: app-crypt/gcr/files/, app-crypt/gcr/ Mart Raudsepp
  -- strict thread matches above, loose matches on Subject: below --
2021-01-08 16:24 Matt Turner
2022-01-18 22:32 Sam James

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox