summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/gcr')
-rw-r--r--app-crypt/gcr/Manifest3
-rw-r--r--app-crypt/gcr/files/3.41.1-implicit-func-decl.patch30
-rw-r--r--app-crypt/gcr/gcr-3.41.1-r2.ebuild (renamed from app-crypt/gcr/gcr-3.40.0.ebuild)50
-rw-r--r--app-crypt/gcr/gcr-4.2.1.ebuild88
-rw-r--r--app-crypt/gcr/metadata.xml13
5 files changed, 165 insertions, 19 deletions
diff --git a/app-crypt/gcr/Manifest b/app-crypt/gcr/Manifest
index cc0e9da4b4eb..520f875e448e 100644
--- a/app-crypt/gcr/Manifest
+++ b/app-crypt/gcr/Manifest
@@ -1 +1,2 @@
-DIST gcr-3.40.0.tar.xz 1011044 BLAKE2B 6b1016f74e5fd3ace32a534a59575db9c39b5deefd2f4f3a747ef7e87a43c7c00b33500d8151009347af9fe6b073c390895bb6e17c577c6e150c780c487b997e SHA512 7118608e7bef7d0cf2eea33cb3286b7f9c3622a38892ce88cf33ed453d343cc33e070831e7b4d0c5cdb43c2e57b3f0b91c7cbd6aa8463982d3af8844b59bcb81
+DIST gcr-3.41.1.tar.xz 1030368 BLAKE2B 9d254b7f2ad864c45200e58b685db97c1ffbc83d29ba8cbda94d30ec565aa3dc5a2535305dc63b3264131b68ec9e48f37ac30d5ba08d0ce156f3b6091cd62dc1 SHA512 dd70d41636ede863d05824b26823a8f572902f7a9b6f09b0c70586ef0d4c046864e6956130b9231850a515a9fbfcd56faf20354c1cf8f697f005827c048a2325
+DIST gcr-4.2.1.tar.xz 719392 BLAKE2B a9134258f6daa59de4924f6bac01499d3bf87aae5e9d9ff5c69b2289ba0e82ef4c3f93a1ca7b1b007815e51e0c56f10a8abc616b31518dfa83581e8ffc5b3309 SHA512 fbb1664f6e276e35296aec46dab53ff308d031cae2f25b7d1ff5abdb56c5bd3764927d38b997d2ccbd260975f445d71619b2487327786c30b5f34d5e8865ff25
diff --git a/app-crypt/gcr/files/3.41.1-implicit-func-decl.patch b/app-crypt/gcr/files/3.41.1-implicit-func-decl.patch
new file mode 100644
index 000000000000..f1f1ddc0b5d9
--- /dev/null
+++ b/app-crypt/gcr/files/3.41.1-implicit-func-decl.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/900152
+
+It doesn't make sense to default XOPEN_SOURCE and subsequently DEFAULT_SOURCE
+as DEFAULT_SOURCE is asking for no extensions. Anyway, just ask for GNU_SOURCE
+as it'll placate both musl and glibc for all of strptime/timegm/getpass and
+gcr-3 is obsolete anyway.
+--- a/gck/meson.build
++++ b/gck/meson.build
+@@ -77,8 +77,7 @@ gck_cflags = [
+ '-DGCK_API_SUBJECT_TO_CHANGE',
+ '-DP11_KIT_API_SUBJECT_TO_CHANGE',
+ '-DPKCS11_REGISTRY_DIR="@0@"'.format(get_option('prefix') / get_option('libdir') / 'pkcs11'),
+- '-D_XOPEN_SOURCE', # Needed for strptime()
+- '-D_DEFAULT_SOURCE', # Needed for timegm
++ '-D_GNU_SOURCE', # Needed for strptime(), timegm, getpass
+ ]
+
+ gck_symbolmap = meson.current_source_dir() / 'libgck.map'
+--- a/gcr/meson.build
++++ b/gcr/meson.build
+@@ -146,7 +146,7 @@ gcr_base_cflags = [
+ '-DGCR_API_SUBJECT_TO_CHANGE',
+ '-DGCK_API_SUBJECT_TO_CHANGE',
+ '-DP11_KIT_API_SUBJECT_TO_CHANGE',
+- '-D_XOPEN_SOURCE', # Needed for strptime()
++ '-D_GNU_SOURCE', # Needed for strptime(), timegm, getpass
+ ]
+
+ gcr_base_symbolmap = meson.current_source_dir() / 'libgcr-base.map'
+
diff --git a/app-crypt/gcr/gcr-3.40.0.ebuild b/app-crypt/gcr/gcr-3.41.1-r2.ebuild
index 781d04088abb..4be077ac83ef 100644
--- a/app-crypt/gcr/gcr-3.40.0.ebuild
+++ b/app-crypt/gcr/gcr-3.41.1-r2.ebuild
@@ -1,9 +1,8 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-VALA_USE_DEPEND="vapigen"
-PYTHON_COMPAT=( python3_{7..9} )
+EAPI=8
+PYTHON_COMPAT=( python3_{9..13} )
inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
@@ -13,16 +12,21 @@ 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 )"
+IUSE="gtk gtk-doc +introspection systemd test +vala"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
RESTRICT="!test? ( test )"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
DEPEND="
>=dev-libs/glib-2.44.0:2
>=dev-libs/libgcrypt-1.2.2:0=
>=app-crypt/p11-kit-0.19.0
+ >=app-crypt/libsecret-0.20
+ systemd? ( sys-apps/systemd:= )
gtk? ( >=x11-libs/gtk+-3.22:3[introspection?] )
>=sys-apps/dbus-1
introspection? ( >=dev-libs/gobject-introspection-1.58:= )
@@ -34,10 +38,7 @@ BDEPEND="
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
- )
+ gtk-doc? ( dev-util/gi-docgen )
>=sys-devel/gettext-0.19.8
test? ( app-crypt/gnupg )
virtual/pkgconfig
@@ -46,6 +47,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/3.38.0-optional-vapi.patch
+ "${FILESDIR}"/3.41.1-implicit-func-decl.patch
)
pkg_setup() {
@@ -53,8 +55,9 @@ pkg_setup() {
}
src_prepare() {
- use vala && vala_src_prepare
- xdg_src_prepare
+ default
+ use vala && vala_setup
+ xdg_environment_reset
}
src_configure() {
@@ -63,6 +66,8 @@ src_configure() {
$(meson_use gtk)
$(meson_use gtk-doc gtk_doc)
-Dgpg_path="${EPREFIX}"/usr/bin/gpg
+ -Dssh_agent=true
+ $(meson_feature systemd)
$(meson_use vala vapi)
)
meson_src_configure
@@ -72,6 +77,25 @@ src_test() {
dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
}
+src_install() {
+ meson_src_install
+
+ # These files are installed by gcr:4
+ local conflicts=(
+ "${ED}"/usr/libexec/gcr-ssh-agent
+ )
+ use systemd && conflicts+=(
+ "${ED}"/usr/lib/systemd/user/gcr-ssh-agent.{service,socket}
+ )
+ einfo "${conflicts[@]}"
+ rm "${conflicts[@]}" || die
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/{gck-1,gcr-3,gcr-ui-3} "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
+
pkg_postinst() {
xdg_pkg_postinst
gnome2_schemas_update
diff --git a/app-crypt/gcr/gcr-4.2.1.ebuild b/app-crypt/gcr/gcr-4.2.1.ebuild
new file mode 100644
index 000000000000..ed823652b725
--- /dev/null
+++ b/app-crypt/gcr/gcr-4.2.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic gnome.org gnome2-utils meson 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="4/gcr-4.4-gck-2.2" # subslot = soname and soversion of libgcr and libgck
+
+IUSE="gtk gtk-doc +introspection systemd test +vala"
+REQUIRED_USE="
+ gtk-doc? ( introspection )
+ vala? ( introspection )
+"
+RESTRICT="!test? ( test )"
+
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ >=dev-libs/glib-2.68.0:2
+ >=dev-libs/libgcrypt-1.2.2:0=
+ >=app-crypt/p11-kit-0.19.0
+ >=app-crypt/libsecret-0.20
+ systemd? ( sys-apps/systemd:= )
+ gtk? ( gui-libs/gtk:4[introspection?] )
+ >=sys-apps/dbus-1
+ introspection? ( >=dev-libs/gobject-introspection-1.58:= )
+ !<app-crypt/gcr-3.41.1-r1
+"
+RDEPEND="${DEPEND}"
+PDEPEND="app-crypt/gnupg"
+BDEPEND="
+ gtk? ( dev-libs/libxml2:2 )
+ dev-util/gdbus-codegen
+ dev-util/glib-utils
+ gtk-doc? ( dev-util/gi-docgen )
+ >=sys-devel/gettext-0.19.8
+ test? ( app-crypt/gnupg )
+ virtual/pkgconfig
+ vala? ( $(vala_depend) )
+"
+
+src_prepare() {
+ default
+ use vala && vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ filter-lto # https://gitlab.gnome.org/GNOME/gcr/-/issues/43
+ local emesonargs=(
+ $(meson_use introspection)
+ $(meson_use gtk gtk4)
+ $(meson_use gtk-doc gtk_doc)
+ -Dgpg_path="${EPREFIX}"/usr/bin/gpg
+ -Dssh_agent=true
+ $(meson_feature systemd)
+ $(meson_use vala vapi)
+ )
+ meson_src_configure
+}
+
+src_test() {
+ dbus-run-session meson test -C "${BUILD_DIR}" || die 'tests failed'
+}
+
+src_install() {
+ meson_src_install
+
+ if use gtk-doc; then
+ mkdir -p "${ED}"/usr/share/gtk-doc/html/ || die
+ mv "${ED}"/usr/share/doc/{gck-2,gcr-4} "${ED}"/usr/share/gtk-doc/html/ || die
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/app-crypt/gcr/metadata.xml b/app-crypt/gcr/metadata.xml
index 39980802b1da..11816fc8230a 100644
--- a/app-crypt/gcr/metadata.xml
+++ b/app-crypt/gcr/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<maintainer type="project">
- <email>gnome@gentoo.org</email>
- <name>Gentoo GNOME Desktop</name>
-</maintainer>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gcr</remote-id>
+ </upstream>
</pkgmetadata>