commit:     02fe60e22096b69dc40e26ee864b29c459e33014
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 25 03:50:10 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Oct 25 03:50:10 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=02fe60e2

dev-libs/libgcrypt: add 1.8.8, 1.9.4

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/libgcrypt/Manifest               |  2 +
 dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild | 82 +++++++++++++++++++++++++++++++
 dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild | 82 +++++++++++++++++++++++++++++++
 3 files changed, 166 insertions(+)

diff --git a/dev-libs/libgcrypt/Manifest b/dev-libs/libgcrypt/Manifest
index 7119883d3c..5a23e33ec5 100644
--- a/dev-libs/libgcrypt/Manifest
+++ b/dev-libs/libgcrypt/Manifest
@@ -1 +1,3 @@
 DIST libgcrypt-1.8.7.tar.bz2 2985660 BLAKE2B 
cb2132b826f3f3af240e6c9ac5fd992808aa17ce64144d17452591a5b1e402564af82c021b58f5fd620ebeb5894ac9654835f6d8376ec05ee41fc02189dd6825
 SHA512 
6309d17624d8029848990d225d5924886c951cef691266c8e010fbbb7f678972cee70cbb91d370ad0bcdc8c8761402a090c2c853c9427ec79293624a59da5060
+DIST libgcrypt-1.8.8.tar.bz2 2987685 BLAKE2B 
7b590c06d91403f1bbfa108379b3747271e9c83acc5547a4d43ef9ada9b0b7c78654cdc24f6cd0db012d50628ae4ec9320dcb63a901ec2dadde6a7ed56dbed7e
 SHA512 
9861f3b5da3cb013eb79efbf2859864f8c2c11b41484b051c981c45cc0bf1569202838226da10ebddeb7a7b7f39ebd3a95f107b9bf6f908074ccc9a51ea94db8
+DIST libgcrypt-1.9.4.tar.bz2 3239704 BLAKE2B 
b8244bc12a68955797b0c2b474ac5c95df1014231f7180a2ffa113e3aacedc98eed60ee1e4b30b032a5fcd6a04855ae07142c223906d5db9c28328a71e014f33
 SHA512 
d0e117ac73c94d70e9521ee1e6328691498cc8328f8c4e21338096908f5c04c7b838966eb63d59494565f4e19f506c07dab4f4d922150d75610d9f7b57abbf60

diff --git a/dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild 
b/dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild
new file mode 100644
index 0000000000..9236d04075
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.8.8.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic multilib-minimal
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="http://www.gnupg.org/";
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/20" # subslot = soname major version
+KEYWORDS="~x64-cygwin ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc o-flag-munging static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( virtual/texi2dvi )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.6.1-uscore.patch
+       "${FILESDIR}"/${PN}-multilib-syspath.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+       /usr/bin/libgcrypt-config
+)
+
+src_prepare() {
+       default
+       # missing attribute(sysv_abi) for Cygwin?
+       [[ ${CHOST} == *-cygwin* ]] && rm -f mpi/*/*.S
+       # always use -no-undefined even if upstream is not convinced yet
+       sed -i -e 's/^no_undefined\s*=\s*$/& -no-undefined/' src/Makefile.am || 
die
+       eautoreconf
+}
+
+multilib_src_configure() {
+       if [[ ${CHOST} == *86*-solaris* ]] ; then
+               # ASM code uses GNU ELF syntax, divide in particular, we need to
+               # allow this via ASFLAGS, since we don't have a flag-o-matic
+               # function for that, we'll have to abuse cflags for this
+               append-cflags -Wa,--divide
+       fi
+       local myeconfargs=(
+               --enable-noexecstack
+               $(use_enable o-flag-munging O-flag-munging)
+               $(use_enable static-libs static)
+
+               # disabled due to various applications requiring privileges
+               # after libgcrypt drops them (bug #468616)
+               --without-capabilities
+
+               # http://trac.videolan.org/vlc/ticket/620
+               # causes bus-errors on sparc64-solaris
+               $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+               $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
+               # no cygwin patch yet
+               $([[ ${CHOST} == *-cygwin* ]] && \
+                       echo "gcry_cv_gcc_win64_platform_as_ok=no")
+
+               GPG_ERROR_CONFIG="${EROOT}/usr/bin/${CHOST}-gpg-error-config"
+       )
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
+               $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed 
-e 's/^ *\([^ ]*\) .*/\1/g')
+}
+
+multilib_src_compile() {
+       default
+       multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C 
doc gcrypt.pdf
+}
+
+multilib_src_install() {
+       emake DESTDIR="${D}" install
+       multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
+}
+
+multilib_src_install_all() {
+       default
+       find "${D}" -name '*.la' -delete || die
+}

diff --git a/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild 
b/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
new file mode 100644
index 0000000000..9236d04075
--- /dev/null
+++ b/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic multilib-minimal
+
+DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
+HOMEPAGE="http://www.gnupg.org/";
+SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1 MIT"
+SLOT="0/20" # subslot = soname major version
+KEYWORDS="~x64-cygwin ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos 
~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="doc o-flag-munging static-libs"
+
+RDEPEND=">=dev-libs/libgpg-error-1.25[${MULTILIB_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="doc? ( virtual/texi2dvi )"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-1.6.1-uscore.patch
+       "${FILESDIR}"/${PN}-multilib-syspath.patch
+)
+
+MULTILIB_CHOST_TOOLS=(
+       /usr/bin/libgcrypt-config
+)
+
+src_prepare() {
+       default
+       # missing attribute(sysv_abi) for Cygwin?
+       [[ ${CHOST} == *-cygwin* ]] && rm -f mpi/*/*.S
+       # always use -no-undefined even if upstream is not convinced yet
+       sed -i -e 's/^no_undefined\s*=\s*$/& -no-undefined/' src/Makefile.am || 
die
+       eautoreconf
+}
+
+multilib_src_configure() {
+       if [[ ${CHOST} == *86*-solaris* ]] ; then
+               # ASM code uses GNU ELF syntax, divide in particular, we need to
+               # allow this via ASFLAGS, since we don't have a flag-o-matic
+               # function for that, we'll have to abuse cflags for this
+               append-cflags -Wa,--divide
+       fi
+       local myeconfargs=(
+               --enable-noexecstack
+               $(use_enable o-flag-munging O-flag-munging)
+               $(use_enable static-libs static)
+
+               # disabled due to various applications requiring privileges
+               # after libgcrypt drops them (bug #468616)
+               --without-capabilities
+
+               # http://trac.videolan.org/vlc/ticket/620
+               # causes bus-errors on sparc64-solaris
+               $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
+               $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
+               # no cygwin patch yet
+               $([[ ${CHOST} == *-cygwin* ]] && \
+                       echo "gcry_cv_gcc_win64_platform_as_ok=no")
+
+               GPG_ERROR_CONFIG="${EROOT}/usr/bin/${CHOST}-gpg-error-config"
+       )
+       ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" \
+               $("${S}/configure" --help | grep -- '--without-.*-prefix' | sed 
-e 's/^ *\([^ ]*\) .*/\1/g')
+}
+
+multilib_src_compile() {
+       default
+       multilib_is_native_abi && use doc && VARTEXFONTS="${T}/fonts" emake -C 
doc gcrypt.pdf
+}
+
+multilib_src_install() {
+       emake DESTDIR="${D}" install
+       multilib_is_native_abi && use doc && dodoc doc/gcrypt.pdf
+}
+
+multilib_src_install_all() {
+       default
+       find "${D}" -name '*.la' -delete || die
+}

Reply via email to