Skip to content

Commit

Permalink
app-crypt/gcr: add 4.2.1, enable py3.12, disable LTO
Browse files Browse the repository at this point in the history
The tests fail with LTO enabled, but otherwise seems to work.
As this is a security/crypto package, err on the safe side and disable LTO
overall for now, if this is more than a test failure trigger.

Signed-off-by: Mart Raudsepp <[email protected]>
  • Loading branch information
leio committed Mar 3, 2024
1 parent 6245f2e commit c714512
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 0 deletions.
1 change: 1 addition & 0 deletions app-crypt/gcr/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DIST gcr-3.41.1.tar.xz 1030368 BLAKE2B 9d254b7f2ad864c45200e58b685db97c1ffbc83d29ba8cbda94d30ec565aa3dc5a2535305dc63b3264131b68ec9e48f37ac30d5ba08d0ce156f3b6091cd62dc1 SHA512 dd70d41636ede863d05824b26823a8f572902f7a9b6f09b0c70586ef0d4c046864e6956130b9231850a515a9fbfcd56faf20354c1cf8f697f005827c048a2325
DIST gcr-4.1.0.tar.xz 722776 BLAKE2B 910cef50301a5988979f368501a8c62cf264b8af54c909309c335b06117e0504c39afd5f1c92613f13ce09db154ae5036af1ade50bd7f1482c48efd7abf02d22 SHA512 a91a5b0a7b62f7756dec2e7e19a59a4087a1423ccf24c5dd6d4a18de0a58fd91c5d5c131233360a3334c236b28ee94ec6889fcec1de85771a4b6a5daa5b9e203
DIST gcr-4.2.1.tar.xz 719392 BLAKE2B a9134258f6daa59de4924f6bac01499d3bf87aae5e9d9ff5c69b2289ba0e82ef4c3f93a1ca7b1b007815e51e0c56f10a8abc616b31518dfa83581e8ffc5b3309 SHA512 fbb1664f6e276e35296aec46dab53ff308d031cae2f25b7d1ff5abdb56c5bd3764927d38b997d2ccbd260975f445d71619b2487327786c30b5f34d5e8865ff25
94 changes: 94 additions & 0 deletions app-crypt/gcr/gcr-4.2.1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8
PYTHON_COMPAT=( python3_{10..12} )

inherit flag-o-matic 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="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="
${PYTHON_DEPS}
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) )
"

pkg_setup() {
python-any-r1_pkg_setup
}

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
}

0 comments on commit c714512

Please sign in to comment.