summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-12-03 04:29:37 +0000
committerSam James <sam@gentoo.org>2021-12-03 04:29:37 +0000
commit464c6642aba8bb66073c95ab04d057b03df996ae (patch)
tree88e2e13f7652c6ec07be9ba28316d44e435388d1 /net-libs
parentnet-misc/openssh: Update for openssl/ldns bindist update (diff)
downloadgentoo-464c6642aba8bb66073c95ab04d057b03df996ae.tar.gz
gentoo-464c6642aba8bb66073c95ab04d057b03df996ae.tar.bz2
gentoo-464c6642aba8bb66073c95ab04d057b03df996ae.zip
net-libs/ldns: restore version pre bindist changes for security stabilisation
Bug: https://bugs.gentoo.org/827968 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/ldns/ldns-1.8.0-r1.ebuild123
1 files changed, 123 insertions, 0 deletions
diff --git a/net-libs/ldns/ldns-1.8.0-r1.ebuild b/net-libs/ldns/ldns-1.8.0-r1.ebuild
new file mode 100644
index 000000000000..5d48f102da5c
--- /dev/null
+++ b/net-libs/ldns/ldns-1.8.0-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{7,8,9,10} )
+inherit python-single-r1 autotools multilib-minimal
+
+DESCRIPTION="a library with the aim to simplify DNS programming in C"
+HOMEPAGE="http://www.nlnetlabs.nl/projects/ldns/"
+SRC_URI="http://www.nlnetlabs.nl/downloads/${PN}/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0/3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+dane doc +ecdsa ed25519 ed448 gost python static-libs vim-syntax"
+
+# configure will die if ecdsa is enabled and ssl is not
+REQUIRED_USE="
+ python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+ ecdsa? (
+ >=dev-libs/openssl-1.0.1e:0=[-bindist(-),${MULTILIB_USEDEP}]
+ )
+ ed25519? (
+ >=dev-libs/openssl-1.1.0:0=[-bindist(-),${MULTILIB_USEDEP}]
+ )
+ ed448? (
+ >=dev-libs/openssl-1.1.1:0=[-bindist(-),${MULTILIB_USEDEP}]
+ )
+ >=dev-libs/openssl-1.0.1e:0=[${MULTILIB_USEDEP}]
+"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )
+ doc? ( app-doc/doxygen )
+"
+
+RESTRICT="test" # 1.6.9 has no test directory
+
+MULTILIB_CHOST_TOOLS=(
+ /usr/bin/ldns-config
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+multilib_src_configure() {
+ # >=openssl-1.1.0 required for dane-ta
+ if has_version "<dev-libs/openssl-1.1.0"; then
+ local dane_ta_usage="--disable-dane-ta-usage"
+ else
+ local dane_ta_usage=""
+ fi
+
+ ECONF_SOURCE=${S} \
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable gost) \
+ $(use_enable ecdsa) \
+ $(use_enable ed25519) \
+ $(use_enable ed448) \
+ $(use_enable dane) \
+ $(multilib_native_use_with python pyldns) \
+ $(multilib_native_use_with python pyldnsx) \
+ --with-ssl="${EPREFIX}"/usr \
+ --enable-sha2 \
+ --without-drill \
+ --without-examples \
+ ${dane_ta_usage} \
+ --disable-rpath
+}
+
+src_prepare() {
+ default
+ # remove non-existing dependency for target packaging/libldns.pc
+ sed -i 's,$(srcdir)/packaging/libldns.pc.in,,' "${S}"/Makefile.in || die 'could not patch Makefile.in'
+
+ # remove $(srcdir) from path for multilib build
+ sed -i 's,$(srcdir)/packaging/libldns.pc,packaging/libldns.pc,' "${S}"/Makefile.in || die 'could not patch Makefile.in'
+
+ # remove Libs.private, see bug #695672
+ sed -i '/^Libs.private:/d' "${S}"/packaging/libldns.pc.in || die 'could not patch libldns.pc.in'
+
+ # backport https://github.com/NLnetLabs/ldns/commit/bc9d017f6fd8b6b5d2ff6e4489a2931d0aab8184
+ sed -i 's/AC_SUBST(VERSION_INFO.*/AC_SUBST(VERSION_INFO, [5:0:2])/' "${S}"/configure.ac || die 'could not patch configure.ac'
+
+ eautoreconf
+}
+
+multilib_src_compile() {
+ default
+
+ if multilib_is_native_abi && use doc ; then
+ emake doxygen
+ fi
+}
+
+multilib_src_install() {
+ default
+
+ if multilib_is_native_abi && use doc ; then
+ dodoc -r doc/html
+ fi
+}
+
+multilib_src_install_all() {
+ dodoc Changelog README*
+
+ find "${D}" -name '*.la' -delete || die
+ use python && python_optimize
+
+ if use vim-syntax ; then
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins libdns.vim
+ fi
+
+ einfo
+ elog "Install net-dns/ldns-utils if you want drill and examples"
+ einfo
+}