mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 00:46:58 +02:00
Merge pull request #380 from flatcar/buildbot/automatic-package-updates
Weekly package updates
This commit is contained in:
commit
2c766fda5a
@ -7,5 +7,6 @@
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:bzip:bzip2</remote-id>
|
||||
<remote-id type="gitlab">bzip2/bzip2</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,7 +1,3 @@
|
||||
DIST xz-5.2.5.tar.gz 1791345 BLAKE2B aded57324e129572c41646b3cc3b0b59a459452d9338d9245663b63dac2a463fb1f1b2b1d2d4ad3c09cb71fb8439df52cd94f24db99e782fc899b94a288a3043 SHA512 7443674247deda2935220fbc4dfc7665e5bb5a260be8ad858c8bd7d7b9f0f868f04ea45e62eb17c0a5e6a2de7c7500ad2d201e2d668c48ca29bd9eea5a73a3ce
|
||||
DIST xz-5.2.5.tar.gz.sig 566 BLAKE2B 8b40d8d7913eaebe2595ea41a735d972d1969d8b58f42b2bee6591b51e2e626473fc85d64f1bbbff3cba6b0e1b4423556d6ddaf16f646ccc18ba1bad5cf45d83 SHA512 3aa21484bef0282ed0b83e3fcd5cf3d87bf51fa68e24d55bb11f91bc96f0ac29f468949bc4c8cc20fbd6ad12f5735686fe09ee42efe2b8d728010da9668aa5a9
|
||||
DIST xz-5.2.6.tar.gz 2069602 BLAKE2B 3cc160dc76944ad2a181fbfb23ce386dbbd04e75bbeb0b159aaaf82e2e8157ea8b2bb80b216d79a7c25339bfbd13bd9d8c261789829cc7c3cb86fc893a7b4b94 SHA512 090958dd6c202c989746686094c86707ad4ae835026640080fc0a9d0fad699821b7d5cb3a67e6700661a0938818ba153662366f89ab8ec47e0bae4a3fe9b1961
|
||||
DIST xz-5.2.6.tar.gz.sig 566 BLAKE2B 7c6114d93b4e3c8553108da3985029fc4585bfea5d72fc5028024221e91cc43c3b6cd3b7d169e4c8afed445a6beef7c255ef8420c5266a22ee9449a57cacec5d SHA512 50a1ac0f8f87f8c04c25c69870ba054094abf20b668bdecd42ed247a2eff24b8e52178b6442da84c125a9401a6f98d40ca76b27453833a30807c83128ab70eee
|
||||
DIST xz-5.2.7.tar.gz 2105803 BLAKE2B 5363c5d0403e041c6d2e35b5d3321feeb8e63b8556496373c820975850b50e28e0da903446a49ba516fd9f40e0101dd39cfa9a9b8dd143c9849c84a715bb5d7b SHA512 06329fdbd1d897aa99dc96900c6246457288c586d02bb4869a92dd2f97973f95acb3a2fa9598a20613ea029f816836a8e3b65e36fec2b807b5e7553141429ab9
|
||||
DIST xz-5.2.7.tar.gz.sig 566 BLAKE2B 00702dff24d655ebf30f2bf8bee94406e002164408b9eabb4f461a789482584c2b9c90675b8d1d5e030913e674946aa7392b73fcedf6ac62e3b1e3bc05bf92e6 SHA512 556e05107437fae2c75cc1a93465fce04426707e979403f41c6ee5b748fe7c3f985812a4e3b07785a84f68ef9d9f362ded470af1cceb9f4e8c80620a2699163f
|
||||
DIST xz-5.3.3alpha.tar.gz 2119150 BLAKE2B 031e1a1556cbbd49565c2b72676e46a22c00e0e25bca2938c21d56f2d7f585c294d2a3a5712a3ae5d62fe8fef6e7b2f411fcc3c0ccac4714786209599b599d25 SHA512 c780c6854cb7599ed97629dbf923f5c6802b48e12aa25638c863e2403e56557abffb2b501823d4d53c852b7d09360b9ede355989756fef1daa1fa8cd9395da8d
|
||||
|
@ -1,88 +0,0 @@
|
||||
https://bugs.gentoo.org/837155
|
||||
https://git.tukaani.org/?p=xz.git;a=commitdiff;h=69d1b3fc29677af8ade8dc15dba83f0589cb63d6;hp=bd93b776c1bd15e90661033c918cdeb354dbcc38
|
||||
|
||||
From: Lasse Collin <lasse.collin@tukaani.org>
|
||||
Date: Tue, 29 Mar 2022 19:19:12 +0300
|
||||
Subject: [PATCH 1/1] xzgrep: Fix escaping of malicious filenames
|
||||
(ZDI-CAN-16587).
|
||||
|
||||
Malicious filenames can make xzgrep to write to arbitrary files
|
||||
or (with a GNU sed extension) lead to arbitrary code execution.
|
||||
|
||||
xzgrep from XZ Utils versions up to and including 5.2.5 are
|
||||
affected. 5.3.1alpha and 5.3.2alpha are affected as well.
|
||||
This patch works for all of them.
|
||||
|
||||
This bug was inherited from gzip's zgrep. gzip 1.12 includes
|
||||
a fix for zgrep.
|
||||
|
||||
The issue with the old sed script is that with multiple newlines,
|
||||
the N-command will read the second line of input, then the
|
||||
s-commands will be skipped because it's not the end of the
|
||||
file yet, then a new sed cycle starts and the pattern space
|
||||
is printed and emptied. So only the last line or two get escaped.
|
||||
|
||||
One way to fix this would be to read all lines into the pattern
|
||||
space first. However, the included fix is even simpler: All lines
|
||||
except the last line get a backslash appended at the end. To ensure
|
||||
that shell command substitution doesn't eat a possible trailing
|
||||
newline, a colon is appended to the filename before escaping.
|
||||
The colon is later used to separate the filename from the grep
|
||||
output so it is fine to add it here instead of a few lines later.
|
||||
|
||||
The old code also wasn't POSIX compliant as it used \n in the
|
||||
replacement section of the s-command. Using \<newline> is the
|
||||
POSIX compatible method.
|
||||
|
||||
LC_ALL=C was added to the two critical sed commands. POSIX sed
|
||||
manual recommends it when using sed to manipulate pathnames
|
||||
because in other locales invalid multibyte sequences might
|
||||
cause issues with some sed implementations. In case of GNU sed,
|
||||
these particular sed scripts wouldn't have such problems but some
|
||||
other scripts could have, see:
|
||||
|
||||
info '(sed)Locale Considerations'
|
||||
|
||||
This vulnerability was discovered by:
|
||||
cleemy desu wayo working with Trend Micro Zero Day Initiative
|
||||
|
||||
Thanks to Jim Meyering and Paul Eggert discussing the different
|
||||
ways to fix this and for coordinating the patch release schedule
|
||||
with gzip.
|
||||
--- a/src/scripts/xzgrep.in
|
||||
+++ b/src/scripts/xzgrep.in
|
||||
@@ -180,22 +180,26 @@ for i; do
|
||||
{ test $# -eq 1 || test $no_filename -eq 1; }; then
|
||||
eval "$grep"
|
||||
else
|
||||
+ # Append a colon so that the last character will never be a newline
|
||||
+ # which would otherwise get lost in shell command substitution.
|
||||
+ i="$i:"
|
||||
+
|
||||
+ # Escape & \ | and newlines only if such characters are present
|
||||
+ # (speed optimization).
|
||||
case $i in
|
||||
(*'
|
||||
'* | *'&'* | *'\'* | *'|'*)
|
||||
- i=$(printf '%s\n' "$i" |
|
||||
- sed '
|
||||
- $!N
|
||||
- $s/[&\|]/\\&/g
|
||||
- $s/\n/\\n/g
|
||||
- ');;
|
||||
+ i=$(printf '%s\n' "$i" | LC_ALL=C sed 's/[&\|]/\\&/g; $!s/$/\\/');;
|
||||
esac
|
||||
- sed_script="s|^|$i:|"
|
||||
+
|
||||
+ # $i already ends with a colon so don't add it here.
|
||||
+ sed_script="s|^|$i|"
|
||||
|
||||
# Fail if grep or sed fails.
|
||||
r=$(
|
||||
exec 4>&1
|
||||
- (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&-
|
||||
+ (eval "$grep" 4>&-; echo $? >&4) 3>&- |
|
||||
+ LC_ALL=C sed "$sed_script" >&3 4>&-
|
||||
) || r=2
|
||||
exit $r
|
||||
fi >&3 5>&-
|
@ -1,118 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Remember: we cannot leverage autotools in this ebuild in order
|
||||
# to avoid circular deps with autotools
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.tukaani.org/xz.git"
|
||||
inherit git-r3 autotools
|
||||
|
||||
# bug #272880 and bug #286068
|
||||
BDEPEND="sys-devel/gettext >=sys-devel/libtool-2"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/lassecollin.asc
|
||||
inherit verify-sig
|
||||
|
||||
MY_P="${PN/-utils}-${PV/_}"
|
||||
SRC_URI="https://tukaani.org/xz/${MY_P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( https://tukaani.org/xz/${MY_P}.tar.gz.sig )"
|
||||
|
||||
if [[ ${PV} != *_alpha* ]] && [[ ${PV} != *_beta* ]] ; then
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Utils for managing LZMA compressed files"
|
||||
HOMEPAGE="https://tukaani.org/xz/"
|
||||
|
||||
# See top-level COPYING file as it outlines the various pieces and their licenses.
|
||||
LICENSE="public-domain LGPL-2.1+ GPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="+extra-filters nls static-libs"
|
||||
|
||||
RDEPEND="!<app-arch/lzma-4.63
|
||||
!<app-arch/p7zip-4.57
|
||||
!<app-i18n/man-pages-de-2.16"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-lassecollin )"
|
||||
|
||||
# Tests currently do not account for smaller feature set
|
||||
RESTRICT="!extra-filters? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-xzgrep-ZDI-CAN-16587.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautopoint
|
||||
eautoreconf
|
||||
else
|
||||
# Allow building shared libs on Solaris/x64
|
||||
elibtoolize
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--enable-threads
|
||||
$(use_enable nls)
|
||||
$(use_enable static-libs static)
|
||||
)
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
myconf+=(
|
||||
--disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
|
||||
)
|
||||
fi
|
||||
|
||||
if ! use extra-filters ; then
|
||||
myconf+=(
|
||||
# LZMA1 + LZMA2 for standard .lzma & .xz files
|
||||
--enable-encoders=lzma1,lzma2
|
||||
--enable-decoders=lzma1,lzma2
|
||||
|
||||
# those are used by default, depending on preset
|
||||
--enable-match-finders=hc3,hc4,bt4
|
||||
|
||||
# CRC64 is used by default, though some (old?) files use CRC32
|
||||
--enable-checks=crc32,crc64
|
||||
)
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
export gl_cv_posix_shell="${EPREFIX}"/bin/sh
|
||||
|
||||
# Undo Solaris-based defaults pointing to /usr/xpg5/bin
|
||||
myconf+=( --disable-path-for-script )
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
|
||||
gen_usr_ldscript -a lzma
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
@ -1,117 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Remember: we cannot leverage autotools in this ebuild in order
|
||||
# to avoid circular deps with autotools
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit libtool multilib multilib-minimal preserve-libs usr-ldscript
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://git.tukaani.org/xz.git"
|
||||
inherit git-r3 autotools
|
||||
|
||||
# bug #272880 and bug #286068
|
||||
BDEPEND="sys-devel/gettext >=sys-devel/libtool-2"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/lassecollin.asc
|
||||
inherit verify-sig
|
||||
|
||||
MY_P="${PN/-utils}-${PV/_}"
|
||||
SRC_URI="https://tukaani.org/xz/${MY_P}.tar.gz"
|
||||
SRC_URI+=" verify-sig? ( https://tukaani.org/xz/${MY_P}.tar.gz.sig )"
|
||||
|
||||
if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Utils for managing LZMA compressed files"
|
||||
HOMEPAGE="https://tukaani.org/xz/"
|
||||
|
||||
# See top-level COPYING file as it outlines the various pieces and their licenses.
|
||||
LICENSE="public-domain LGPL-2.1+ GPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="+extra-filters nls static-libs"
|
||||
|
||||
RDEPEND="!<app-arch/lzma-4.63
|
||||
!<app-arch/p7zip-4.57
|
||||
!<app-i18n/man-pages-de-2.16"
|
||||
DEPEND="${RDEPEND}"
|
||||
if [[ ${PV} != 9999 ]] ; then
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-lassecollin )"
|
||||
fi
|
||||
|
||||
# Tests currently do not account for smaller feature set
|
||||
RESTRICT="!extra-filters? ( test )"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautopoint
|
||||
eautoreconf
|
||||
else
|
||||
# Allow building shared libs on Solaris/x64
|
||||
elibtoolize
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myconf=(
|
||||
--enable-threads
|
||||
$(use_enable nls)
|
||||
$(use_enable static-libs static)
|
||||
)
|
||||
|
||||
if ! multilib_is_native_abi ; then
|
||||
myconf+=(
|
||||
--disable-{xz,xzdec,lzmadec,lzmainfo,lzma-links,scripts}
|
||||
)
|
||||
fi
|
||||
|
||||
if ! use extra-filters ; then
|
||||
myconf+=(
|
||||
# LZMA1 + LZMA2 for standard .lzma & .xz files
|
||||
--enable-encoders=lzma1,lzma2
|
||||
--enable-decoders=lzma1,lzma2
|
||||
|
||||
# those are used by default, depending on preset
|
||||
--enable-match-finders=hc3,hc4,bt4
|
||||
|
||||
# CRC64 is used by default, though some (old?) files use CRC32
|
||||
--enable-checks=crc32,crc64
|
||||
)
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
export gl_cv_posix_shell="${EPREFIX}"/bin/sh
|
||||
|
||||
# Undo Solaris-based defaults pointing to /usr/xpg5/bin
|
||||
myconf+=( --disable-path-for-script )
|
||||
fi
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
default
|
||||
|
||||
gen_usr_ldscript -a lzma
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name '*.la' -delete || die
|
||||
rm "${ED}"/usr/share/doc/${PF}/COPYING* || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify /usr/$(get_libdir)/liblzma$(get_libname 0)
|
||||
}
|
@ -23,7 +23,7 @@ else
|
||||
SRC_URI+=" verify-sig? ( https://tukaani.org/xz/${MY_P}.tar.gz.sig )"
|
||||
|
||||
if [[ ${PV} != *_alpha* && ${PV} != *_beta* ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
@ -41,9 +41,6 @@ if [[ ${PV} != 9999 ]] ; then
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-lassecollin )"
|
||||
fi
|
||||
|
||||
# Tests currently do not account for smaller feature set
|
||||
RESTRICT="!extra-filters? ( test )"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
DIST vim-core-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
|
||||
DIST vim-core-9.0.0399.tar.gz 16833387 BLAKE2B f9d6588920b49ef32b82d012e1c4f8a34dc505267b67027a3b4302dd99d7987645c29a91fdb234fffa873b342488b4d9c85d05d3fe7a332042781881a61bea5e SHA512 6b261bf3aaa355e7a42de1785b134bccc51086495578730b9bc3b8e048679caa3a901e576a360cba5f1aa4d164c7f162a3f916e945b3f5f71e893ea30e0ca826
|
||||
DIST vim-core-9.0.0655.tar.gz 16804127 BLAKE2B e021ff4dd370cdd9b39fb9df0a12309215abd780ec297760b92b6caf924882465b28f9ba65d94ad75a229eb01c8f393f24a29a11919a96d78bb6fb45ef2971e3 SHA512 aa267941e835eecbeeffa7989fb525bdf4269f84d9c88d135a26d74ab7d025487863405b6e0f1391023c30193a122ed3e85a7a71bd4dc48058f3fe3377798f38
|
||||
DIST vim-9.0.0099.tar.gz 16712565 BLAKE2B b3277ebda0bb40601d995935422006d1a266bb862be612e69abd057a7342d13457ded5cb4743cf43a09b7d2001438f5a426ba12c30947bb7c193188c5fc13cf7 SHA512 ca0dea7b7fd78cf9c7cd4656611d066540f9d81ab17bcb75c79f0e989bdcfb769940ea29f75445c554b159e9eb3b2c4f9d77448254c3e4e4457b1bf721936498
|
||||
DIST vim-9.0.0399.tar.gz 16833387 BLAKE2B f9d6588920b49ef32b82d012e1c4f8a34dc505267b67027a3b4302dd99d7987645c29a91fdb234fffa873b342488b4d9c85d05d3fe7a332042781881a61bea5e SHA512 6b261bf3aaa355e7a42de1785b134bccc51086495578730b9bc3b8e048679caa3a901e576a360cba5f1aa4d164c7f162a3f916e945b3f5f71e893ea30e0ca826
|
||||
DIST vim-9.0.0655.tar.gz 16804127 BLAKE2B e021ff4dd370cdd9b39fb9df0a12309215abd780ec297760b92b6caf924882465b28f9ba65d94ad75a229eb01c8f393f24a29a11919a96d78bb6fb45ef2971e3 SHA512 aa267941e835eecbeeffa7989fb525bdf4269f84d9c88d135a26d74ab7d025487863405b6e0f1391023c30193a122ed3e85a7a71bd4dc48058f3fe3377798f38
|
||||
DIST vim-patches-vim-9.0.0049-patches.tar.gz 2743 BLAKE2B dff3e215b235e1cbc2c62b1af2d1414d10b794dbee9f5e7797fb3d34e00c2e065c339d4c82bf28aed53e0b5f2f8f1ee5c7ce69851cd63360788609bf144ac922 SHA512 7d5c64d674fa77048fdca7287072c0e488723133e254c10711dbadf750416c368725327ca9b76f332017bc70aa544a9baef671765eabf0d172d39921ffd7d942
|
||||
|
@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
@ -13,7 +13,7 @@ if [[ ${PV} == 9999* ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/vim/vim.git"
|
||||
EGIT_CHECKOUT_DIR=${WORKDIR}/vim-${PV}
|
||||
else
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
SRC_URI="https://github.com/vim/vim/archive/v${PV}.tar.gz -> vim-${PV}.tar.gz
|
||||
https://gitweb.gentoo.org/proj/vim-patches.git/snapshot/vim-patches-vim-9.0.0049-patches.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
@ -1 +1,2 @@
|
||||
DIST qemu-6.0.0.tar.xz 107333232 BLAKE2B 7746329d3e13782b7c346ce4052cc517cfc65cd9b2d514d199e4d5b8570ca79566ec04b0c114db2e97c84e68eb551e0d4cdce1b14b91a88fe08d2a5f682c1418 SHA512 ee3ff00aebec4d8891d2ff6dabe4e667e510b2a4fe3f6190aa34673a91ea32dcd2db2e9bf94c2f1bf05aa79788f17cfbbedc6027c0988ea08a92587b79ee05e4
|
||||
DIST qemu-7.1.0.tar.xz 121833004 BLAKE2B e05f91ce4993c7591a2df08b5fb017f8b8ec2141ab7bfd55d14730ea6b793ac1091de539992058392a5522d4e58beee92a87752707be58e3619b8213ef9f35bf SHA512 c60c5ff8ec99b7552e485768908920658fdd8035ff7a6fa370fb6881957dc8b7e5f18ff1a8f49bd6aa22909ede2a7c084986d8244f12074ccd33ebe40a0c411f
|
||||
|
@ -0,0 +1,85 @@
|
||||
From 33ab5f24913db8d5590fe4155829bd38e7902506 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <33ab5f24913db8d5590fe4155829bd38e7902506.1666164897.git.mprivozn@redhat.com>
|
||||
From: Michal Privoznik <mprivozn@redhat.com>
|
||||
Date: Fri, 14 Oct 2022 09:30:15 +0200
|
||||
Subject: [PATCH] configure: Avoid using strings binary
|
||||
|
||||
When determining the endiandness of the target architecture we're
|
||||
building for a small program is compiled, which in an obfuscated
|
||||
way declares two strings. Then, we look which string is in
|
||||
correct order (using strings binary) and deduct the endiandness.
|
||||
But using the strings binary is problematic, because it's part of
|
||||
toolchain (strings is just a symlink to
|
||||
x86_64-pc-linux-gnu-strings or llvm-strings). And when
|
||||
(cross-)compiling, it requires users to set the symlink to the
|
||||
correct toolchain.
|
||||
|
||||
Fortunately, we have a better alternative anyways. We can mimic
|
||||
what compiler.h is already doing: comparing __BYTE_ORDER__
|
||||
against values for little/big endiandness.
|
||||
|
||||
Bug: https://bugs.gentoo.org/876933
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Message-Id: <d6d9c7043cfe6d976d96694f2b4ecf85cf3206f1.1665732504.git.mprivozn@redhat.com>
|
||||
Cc: qemu-stable@nongnu.org
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
configure | 35 ++++++++++++++++++-----------------
|
||||
1 file changed, 18 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index f9ec050bf8..81561be7c1 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -1423,30 +1423,31 @@ if test "$tcg" = "enabled"; then
|
||||
git_submodules="$git_submodules tests/fp/berkeley-softfloat-3"
|
||||
fi
|
||||
|
||||
-# ---
|
||||
+##########################################
|
||||
# big/little endian test
|
||||
cat > $TMPC << EOF
|
||||
-#include <stdio.h>
|
||||
-short big_endian[] = { 0x4269, 0x4765, 0x4e64, 0x4961, 0x4e00, 0, };
|
||||
-short little_endian[] = { 0x694c, 0x7454, 0x654c, 0x6e45, 0x6944, 0x6e41, 0, };
|
||||
-int main(int argc, char *argv[])
|
||||
-{
|
||||
- return printf("%s %s\n", (char *)big_endian, (char *)little_endian);
|
||||
-}
|
||||
+#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||
+# error LITTLE
|
||||
+#endif
|
||||
+int main(void) { return 0; }
|
||||
EOF
|
||||
|
||||
-if compile_prog ; then
|
||||
- if strings -a $TMPE | grep -q BiGeNdIaN ; then
|
||||
- bigendian="yes"
|
||||
- elif strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
|
||||
- bigendian="no"
|
||||
- else
|
||||
- echo big/little test failed
|
||||
- exit 1
|
||||
- fi
|
||||
+if ! compile_prog ; then
|
||||
+ bigendian="no"
|
||||
else
|
||||
+ cat > $TMPC << EOF
|
||||
+#if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
+# error BIG
|
||||
+#endif
|
||||
+int main(void) { return 0; }
|
||||
+EOF
|
||||
+
|
||||
+ if ! compile_prog ; then
|
||||
+ bigendian="yes"
|
||||
+ else
|
||||
echo big/little test failed
|
||||
exit 1
|
||||
+ fi
|
||||
fi
|
||||
|
||||
##########################################
|
||||
--
|
||||
2.37.3
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
PYTHON_COMPAT=( python3_{7..11} )
|
||||
|
||||
inherit systemd toolchain-funcs udev python-any-r1
|
||||
|
||||
|
@ -0,0 +1,80 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit edo systemd toolchain-funcs python-any-r1 udev
|
||||
|
||||
MY_PN="qemu"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="QEMU Guest Agent (qemu-ga) for use when running inside a VM"
|
||||
HOMEPAGE="https://wiki.qemu.org/Features/GuestAgent"
|
||||
SRC_URI="http://wiki.qemu.org/download/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
|
||||
RDEPEND="dev-libs/glib"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="${PYTHON_DEPS}"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-7.1.0-configure-Avoid-using-strings-binary.patch
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
tc-export AR LD OBJCOPY RANLIB
|
||||
|
||||
local myconf=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir="/usr/$(get_libdir)"
|
||||
--localstatedir=/
|
||||
--disable-bsd-user
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-strip
|
||||
--enable-tools
|
||||
--disable-werror
|
||||
--enable-guest-agent
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
)
|
||||
|
||||
edo ./configure "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin build/qga/qemu-ga
|
||||
|
||||
# Normal init stuff
|
||||
newinitd "${FILESDIR}/qemu-ga.init-r1" qemu-guest-agent
|
||||
newconfd "${FILESDIR}/qemu-ga.conf-r1" qemu-guest-agent
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/qemu-ga.logrotate" qemu-guest-agent
|
||||
|
||||
# systemd stuff
|
||||
udev_newrules "${FILESDIR}/qemu-ga-systemd.udev" 99-qemu-guest-agent.rules
|
||||
|
||||
systemd_newunit "${FILESDIR}/qemu-ga-systemd.service" \
|
||||
qemu-guest-agent.service
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "You should add 'qemu-guest-agent' to the default runlevel."
|
||||
elog "e.g. rc-update add qemu-guest-agent default"
|
||||
udev_reload
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
udev_reload
|
||||
}
|
@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then
|
||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/portage-utils.git"
|
||||
else
|
||||
SRC_URI="https://dev.gentoo.org/~grobian/distfiles/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2"
|
||||
|
@ -0,0 +1,2 @@
|
||||
- curl ([CVE-2022-32221](https://nvd.nist.gov/vuln/detail/CVE-2022-32221), [CVE-2022-35260](https://nvd.nist.gov/vuln/detail/CVE-2022-32221), [CVE-2022-42915](https://nvd.nist.gov/vuln/detail/CVE-2022-32221), [CVE-2022-42916](https://nvd.nist.gov/vuln/detail/CVE-2022-32221))
|
||||
- expat ([CVE-2022-43680](https://nvd.nist.gov/vuln/detail/CVE-2022-43680))
|
@ -0,0 +1,3 @@
|
||||
- XZ utils ([5.2.7](https://git.tukaani.org/?p=xz.git;a=blob;f=NEWS;h=0205423e79ce8297102096b0fc8b030ddf5b2023;hb=d24a57b7fc7e5e9267b84367cb0788d3acf7f569))
|
||||
- Expat ([2.5.0](https://github.com/libexpat/libexpat/blob/R_2_5_0/expat/Changes))
|
||||
- curl ([7.86](https://curl.se/changes.html#7_86_0))
|
@ -1,10 +1,8 @@
|
||||
DIST perl-5.34.0-patches-1.tar.xz 20360 BLAKE2B e60074c49f357d4841708f58b5165a44201783238ff33ee81580bb83ba07d3d2dda447edd30a71ce8c9bafe5e5e0235b68e31a79081c3482bdd589231f0e898e SHA512 909e1fb22cda4ca769b51645b51a64df81b92210cfee388ac57834406bc13e404f0a1e6bad0888fafc73fc34b7fb224801fd02e87fb4c2f9145482ad74374e7b
|
||||
DIST perl-5.34.0.tar.xz 12881416 BLAKE2B 4139e77fbb38b2b72671c0b130233cf5ed35112bbba3301b8ed724739c7ff96b041752aa505b938e257ef6ebf98a9b6dad1858e00f756c841a0520688d974e9a SHA512 691b4b31eacec357191fba777612b4e3eae59e946a22998a50766697c0d61db1d42a9b3bc1e41abf0d1ca1893e4a7c06d7bf3290480cf03d7f79befd7a8a3267
|
||||
DIST perl-5.34.1-zlib-1.2.12-encrypt-standard.zip.bin 207 BLAKE2B b52e1322930d5f7b8d6e3a319d24322b5dffb2313bdc757c0c8eb8713fd03adace199c8449ccc306e49b5b71e3c1b9786b2acb0ab8780a09d718a1c54f653226 SHA512 5a7e0950f0f94bd961fa9cf3e4ab5dd30006bee0f4553da755688a32d0411a4a850a28d4f998b36e7177dcf3aba192b899ca4138e84452baffef1a0b2ed1fb7b
|
||||
DIST perl-5.34.1-zlib-1.2.12.patch.xz 180480 BLAKE2B 39da5c1ef406d018f73e641d86ff81d5257cf1f7d6c1b0caac9651a546d70a2e0fff53bf0fc584907e792cb681a961c8442ab355f8f0c2cfffbb26c997cdbac0 SHA512 b32b57721b10943e21003429b42c535f7833e450f097855162241775a161a557fe0ea86ce615d6a9c885f165f45438cabba5580f9b299796d3a3da5ea720f1ff
|
||||
DIST perl-5.34.1.tar.xz 12760168 BLAKE2B 3768e55f66551c83295153e91d25d568b7b8638789141f7fcd5a304509cb391cb9ad0232ba6ac70113bb0881ddb00ca5b19c53aa01e1e206c44401dad60d8942 SHA512 9261958291b49eea30c120a89e5ee32dc6a5fd46de4869c89c3d6a4c1162d6cf192ebe429d01a293eda93d8680ce15294af27717fd4ec4c75f511c1fa820fdac
|
||||
DIST perl-5.36.0-patches-1.tar.xz 20352 BLAKE2B f5413c75c5bbced230ad7fa692998caef8e4041f3394ae5212dc2aaee465de619b56cf07551be1bb36f2e06b9ed7d0ddda31ad4a7ec81d5c0c64b698ddd80379 SHA512 ab24577b6d71a13d9ccf272efa0881b29933b6a39532ca0d71d4c9a134f451bbe5f3d87c6c851f26114702ac3f92af5c5a72129a458ebee31e372106955eb157
|
||||
DIST perl-5.36.0.tar.xz 13051500 BLAKE2B e4864a4c21e5242df4164c73db8af10f7b9c36b075e0c05777abec79716db7778ccbf2c0c9e7e749518ad310019d2a6b32bd8b5ab2af5a8b16b5d920f83d034f SHA512 6dd6ac2a77566c173c5ab9c238cf555f2c3e592e89abb5600bc23ce1cbd0c349e0233f6417cbbf1f6d0aefc6a734ba491285af0d3dc68a605b658b65c89f1dab
|
||||
DIST perl-cross-1.3.6.tar.gz 110210 BLAKE2B 39074d6f4a526f59de2b1c40432936552e625a5a4e44fbb7ce3c1c3828b12c5298d1ab49b7d34ea92e2a4c8c88f8bbef8cc0c582a3fbbed975cf46d331e89c08 SHA512 d394fbd75d890442aa599eae8893a26540c8b7af966583ad1c3213c3fe0e074415cfed8814de8f397830833fd78267bdc55adc5267168198f269634c2ef3b982
|
||||
DIST perl-cross-1.3.7.tar.gz 118291 BLAKE2B dc9c060857d6905c817e91c3f5b1f546b76e02c6de02dc260185e0de8628a5ead3a557501da75549e2585cd30879190558740e697b1c78a69fa08ccb5649efcd SHA512 1111274f34f8b46e9f418883e9b1652ba4a5a9b4a5880a9a5b38bc8aeb5d75a9f4943233870f5ebf5fbcdc0c30b2983ace11ad051b55d3283327d8f2c15e172c
|
||||
DIST perl-cross-1.4.tar.gz 113861 BLAKE2B 7c7783afccc6a04ab122a7c60b1cff7f0a2725655b2b63325ca25d7b8acb0cf993b496e2a590db943054336337ad215550b6b2a565f1d91a5aa9cfe3a4c36db4 SHA512 bde73cac13c0b42c4c6783d7e30dea491d70b65131e1c8434ef75db1f39a8e15ef5857568b706e8456faa3822402676dd247a1f20f4bed983597fdd5a6b4faad
|
||||
|
@ -1,40 +0,0 @@
|
||||
From: Sergey Poznyakoff <gray@gnu.org>
|
||||
Date: Wed, 23 Jun 2021 10:26:50 +0300
|
||||
Subject: Fix GDBM_File to compile with version 1.20 and earlier
|
||||
|
||||
* ext/GDBM_File/GDBM_File.xs (ITEM_NOT_FOUND): Define conditionally,
|
||||
depending on the GDBM_VERSION_MAJOR and GDBM_VERSION_MINOR.
|
||||
Don't assume GDBM_ITEM_NOT_FOUND is a define (it isn't since
|
||||
gdbm commit d3e27957).
|
||||
|
||||
Origin: backport, https://github.com/Perl/perl5/pull/18924/commits/aacd2398e766500cb5d83c4d76b642fcf31d997a
|
||||
Bug: https://github.com/Perl/perl5/issues/18915
|
||||
Bug-Debian: https://bugs.debian.org/993514
|
||||
---
|
||||
ext/GDBM_File/GDBM_File.xs | 11 +++++------
|
||||
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/ext/GDBM_File/GDBM_File.xs b/ext/GDBM_File/GDBM_File.xs
|
||||
index cd0bb6f..494c288 100644
|
||||
--- a/ext/GDBM_File/GDBM_File.xs
|
||||
+++ b/ext/GDBM_File/GDBM_File.xs
|
||||
@@ -145,14 +145,13 @@ output_datum(pTHX_ SV *arg, char *str, int size)
|
||||
#define gdbm_setopt(db,optflag,optval,optlen) not_here("gdbm_setopt")
|
||||
#endif
|
||||
|
||||
-#ifndef GDBM_ITEM_NOT_FOUND
|
||||
-# define GDBM_ITEM_NOT_FOUND GDBM_NO_ERROR
|
||||
-#endif
|
||||
-
|
||||
+#if GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR < 13
|
||||
/* Prior to 1.13, gdbm_fetch family functions set gdbm_errno to GDBM_NO_ERROR
|
||||
if the requested key did not exist */
|
||||
-#define ITEM_NOT_FOUND() \
|
||||
- (gdbm_errno == GDBM_ITEM_NOT_FOUND || gdbm_errno == GDBM_NO_ERROR)
|
||||
+# define ITEM_NOT_FOUND() (gdbm_errno == GDBM_NO_ERROR)
|
||||
+#else
|
||||
+# define ITEM_NOT_FOUND() (gdbm_errno == GDBM_ITEM_NOT_FOUND)
|
||||
+#endif
|
||||
|
||||
#define CHECKDB(db) do { \
|
||||
if (!db->dbp) { \
|
@ -1,828 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.3.6
|
||||
PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
DIST_AUTHOR=XSAWYERX
|
||||
|
||||
# Greatest first, don't include yourself
|
||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||
PERL_BIN_OLDVERSEN=""
|
||||
|
||||
if [[ "${PV##*.}" == "9999" ]]; then
|
||||
DIST_VERSION=5.30.0
|
||||
else
|
||||
DIST_VERSION="${PV/_rc/-RC}"
|
||||
fi
|
||||
SHORT_PV="${DIST_VERSION%.*}"
|
||||
|
||||
# Even numbered major versions are ABI intercompatible
|
||||
# Odd numbered major versions are not
|
||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||
else
|
||||
SUBSLOT="${DIST_VERSION%.*}"
|
||||
fi
|
||||
|
||||
# Used only in tar paths
|
||||
MY_P="perl-${DIST_VERSION}"
|
||||
# Used in library paths
|
||||
MY_PV="${DIST_VERSION%-RC*}"
|
||||
|
||||
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||
|
||||
SRC_URI="
|
||||
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||
"
|
||||
HOMEPAGE="https://www.perl.org/"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0/${SUBSLOT}"
|
||||
|
||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||
app-arch/bzip2
|
||||
sys-libs/zlib
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
PDEPEND="
|
||||
!minimal? (
|
||||
>=app-admin/perl-cleaner-2.5
|
||||
>=virtual/perl-CPAN-2.290.0
|
||||
>=virtual/perl-Encode-3.120.0
|
||||
>=virtual/perl-File-Temp-0.230.400-r2
|
||||
>=virtual/perl-Data-Dumper-2.154.0
|
||||
virtual/perl-Test-Harness
|
||||
)
|
||||
"
|
||||
# bug 390719, bug 523624
|
||||
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
dual_scripts() {
|
||||
src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
|
||||
src_remove_dual perl-core/CPAN 2.280.0 cpan
|
||||
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||
src_remove_dual perl-core/Encode 3.80.0 enc2xs piconv
|
||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
|
||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
|
||||
src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
|
||||
src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
|
||||
src_remove_dual perl-core/Module-CoreList 5.202.105.200 corelist
|
||||
src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
|
||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||
src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
|
||||
src_remove_dual perl-core/Test-Harness 3.430.0 prove
|
||||
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
||||
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
||||
}
|
||||
|
||||
check_rebuild() {
|
||||
# Fresh install
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
return 0;
|
||||
# Major Upgrade
|
||||
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||
# if the string is anything other than "5.CURRENTMAJOR"
|
||||
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||
echo ""
|
||||
ewarn "UPDATE THE PERL MODULES:"
|
||||
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||
ewarn "to ensure system consistency."
|
||||
ewarn
|
||||
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||
ewarn "Recommended: emerge --depclean -va"
|
||||
ewarn
|
||||
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||
ewarn "remaining rebuilds portage may have missed."
|
||||
ewarn "Use: perl-cleaner --all"
|
||||
return 0;
|
||||
|
||||
# Reinstall w/ USE Change
|
||||
elif
|
||||
( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||
( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
|
||||
( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
|
||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||
echo ""
|
||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||
ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
|
||||
ewarn "You must rebuild all perl-modules installed."
|
||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
case ${CHOST} in
|
||||
*-freebsd*) osname="freebsd" ;;
|
||||
*-dragonfly*) osname="dragonfly" ;;
|
||||
*-netbsd*) osname="netbsd" ;;
|
||||
*-openbsd*) osname="openbsd" ;;
|
||||
*-darwin*) osname="darwin" ;;
|
||||
*-solaris*) osname="solaris" ;;
|
||||
*-cygwin*) osname="cygwin" ;;
|
||||
*) osname="linux" ;;
|
||||
esac
|
||||
|
||||
myarch="${CHOST%%-*}-${osname}"
|
||||
if use debug ; then
|
||||
myarch+="-debug"
|
||||
fi
|
||||
if use quadmath ; then
|
||||
myarch+="-quadmath"
|
||||
fi
|
||||
if use ithreads ; then
|
||||
mythreading="-multi"
|
||||
myarch+="-thread"
|
||||
fi
|
||||
|
||||
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||
|
||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||
|
||||
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
src_remove_dual_file() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
setup)
|
||||
for i in "$@" ; do
|
||||
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual_man() {
|
||||
local i pkg ver ff
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||
ff=${ff##*${i#${i%.[0-9]}}}
|
||||
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
for i in "$@" ; do
|
||||
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare_perlcross() {
|
||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||
|
||||
# bug 794463, needs further analysis what is exactly wrong here
|
||||
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||
|
||||
# bug 604072
|
||||
MAKEOPTS+=" -j1"
|
||||
export MAKEOPTS
|
||||
}
|
||||
|
||||
src_prepare_dynamic() {
|
||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||
}
|
||||
|
||||
# Copy a patch into the patch series
|
||||
# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
|
||||
# - description is optional, but recommended
|
||||
# - all arguments after descriptions are bug URLs
|
||||
add_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local src_name dest_name desc
|
||||
src_name="$1"
|
||||
dest_name="$2"
|
||||
desc="$3"
|
||||
shift; shift; shift;
|
||||
einfo "Adding ${dest_name} to patch bundle"
|
||||
cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
|
||||
if [[ -n "${desc}" ]]; then
|
||||
printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
|
||||
fi
|
||||
if [[ $# -gt 0 ]]; then
|
||||
# Note: when $@ is more than one element, this emits a
|
||||
# line for each element
|
||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||
fi
|
||||
}
|
||||
|
||||
# Remove a patch using a glob expr
|
||||
# eg:
|
||||
# rm_patch *-darwin-Use-CC*
|
||||
#
|
||||
rm_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local expr="$1"
|
||||
local patch="$( cd "${patchdir}"; echo $expr )"
|
||||
einfo "Removing $patch ($expr) from patch bundle"
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
|
||||
else
|
||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||
fi
|
||||
}
|
||||
|
||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
||||
# but this is far easier to debug when things go wrong, and things went wrong
|
||||
# multiple times while I was getting the exact number of slashes right, which
|
||||
# requires circumnavigating both bash and sed escape mechanisms.
|
||||
c_escape_string() {
|
||||
local slash dquote
|
||||
slash='\'
|
||||
dquote='"'
|
||||
re_slash="${slash}${slash}"
|
||||
re_dquote="${slash}${dquote}"
|
||||
|
||||
# Convert \ to \\,
|
||||
# " to \"
|
||||
echo "$1" |\
|
||||
sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
|
||||
sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
|
||||
}
|
||||
c_escape_file() {
|
||||
c_escape_string "$(cat "$1")"
|
||||
}
|
||||
|
||||
apply_patchdir() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local patchoutput="patchlevel-gentoo.h"
|
||||
|
||||
# Inject Patch-Level info into description for patchlevel.h patch
|
||||
# to show in -V
|
||||
local patch_expr="*List-packaged-patches*"
|
||||
local patch="$( cd "${patchdir}"; echo $patch_expr )";
|
||||
einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
|
||||
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
|
||||
>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
|
||||
else
|
||||
eerror "No $patch_expr found in ${patchdir}"
|
||||
fi
|
||||
|
||||
# Compute patch list to apply
|
||||
# different name other than PATCHES to stop default
|
||||
# reapplying it
|
||||
# Single depth is currently only supported, as artifacts can reside
|
||||
# from the old layout being multiple-directories, as well as it grossly
|
||||
# simplifying the patchlevel_gentoo.h generation.
|
||||
local PERL_PATCHES=($(
|
||||
find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
|
||||
grep -E '[.](diff|patch)$' |\
|
||||
sort -n
|
||||
))
|
||||
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
eapply "${WORKDIR}"/patches/${patch}
|
||||
done
|
||||
|
||||
einfo "Generating $patchoutput"
|
||||
|
||||
# This code creates a header file, each iteration
|
||||
# creates one-or-more-lines for each entry found in PERL_PATCHES
|
||||
# and STDOUT is redirected to the .h file
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
local desc_f="${infodir}/${patch}.desc"
|
||||
local bugs_f="${infodir}/${patch}.bugs"
|
||||
|
||||
printf ',"%s"\n' "${patch}"
|
||||
if [[ ! -e "${desc_f}" ]]; then
|
||||
ewarn "No description provided for ${patch} (expected: ${desc_f} )"
|
||||
else
|
||||
local desc="$(c_escape_file "${desc_f}")"
|
||||
printf ',"- %s"\n' "${desc}"
|
||||
fi
|
||||
if [[ -e "${bugs_f}" ]]; then
|
||||
while read -d $'\n' -r line; do
|
||||
local esc_line="$(c_escape_string "${line}")"
|
||||
printf ',"- Bug: %s"\n' "${esc_line}"
|
||||
done <"${bugs_f}"
|
||||
fi
|
||||
done > "${S}/${patchoutput}"
|
||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
|
||||
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||
# Inject bug/desc entries for perl -V
|
||||
# Old example:
|
||||
# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||
# "Fix broken miniperl on hppa"\
|
||||
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||
|
||||
add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\
|
||||
"Fix GDBM_File to compile with version 1.20 and earlier"\
|
||||
"https://bugs.gentoo.org/802945"
|
||||
|
||||
if use prefix ; then
|
||||
add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
|
||||
"Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
|
||||
"https://bugs.gentoo.org/818172"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||
# when -lsocket is used e.g. to get h_errno
|
||||
rm_patch "*-nsl-and-cl*"
|
||||
fi
|
||||
|
||||
apply_patchdir
|
||||
|
||||
tc-is-cross-compiler && src_prepare_perlcross
|
||||
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
# Use errno.h from prefix rather than from host system, bug #645804
|
||||
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# set a soname, fix linking against just built libperl
|
||||
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name (soname) not to reference $D
|
||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||
|
||||
# fix environ linkage absence (only a real issue on Darwin9)
|
||||
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||
Makefile.SH || die
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
myconf() {
|
||||
# the myconf array is declared in src_configure
|
||||
myconf=( "${myconf[@]}" "$@" )
|
||||
}
|
||||
|
||||
# Outputs a list of versions which have been seen in any of the
|
||||
# primary perl @INC prefix paths, such as:
|
||||
# /usr/lib64/perl5/<NUMBER>
|
||||
# /usr/local/lib64/perl5/<NUMBER>
|
||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||
#
|
||||
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||
#
|
||||
find_candidate_inc_versions() {
|
||||
local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
|
||||
local dirs=(
|
||||
"${EROOT}${PRIV_BASE}"
|
||||
"${EROOT}${SITE_BASE}"
|
||||
"${EROOT}${VENDOR_BASE}"
|
||||
)
|
||||
for dir in "${dirs[@]}"; do
|
||||
if [[ ! -e "${dir}" ]]; then
|
||||
continue
|
||||
fi
|
||||
# Without access to readdir() on these dirs, find will not be able
|
||||
# to reveal any @INC directories inside them, and will subsequently prune
|
||||
# them from the built perl's @INC support, breaking our compatiblity options
|
||||
# entirely.
|
||||
if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
|
||||
eerror "Bad permissions on ${dir}, this will probably break things"
|
||||
eerror "Ensure ${dir} is +rx for at least uid=$EUID"
|
||||
eerror "Recommended permission is +rx for all"
|
||||
eerror "> chmod o+rx ${dir}"
|
||||
fi
|
||||
done
|
||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
||||
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
|
||||
}
|
||||
|
||||
# Sort versions passed versiony-ly, remove self-version if present
|
||||
# dedup. Takes each version as an argument
|
||||
sanitize_inc_versions() {
|
||||
local vexclude="${SUBSLOT}"
|
||||
einfo "Normalizing/Sorting candidate list: $*"
|
||||
einfo " to remove '${vexclude}'"
|
||||
# Note, general numeric sort has to be used
|
||||
# for the last component, or unique will convert
|
||||
# 5.30.0 + 5.30 into just 5.30
|
||||
printf "%s\n" "$@" |\
|
||||
grep -vxF "${vexclude}" |\
|
||||
sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
|
||||
}
|
||||
|
||||
versions_to_inclist() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
|
||||
for v; do
|
||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||
echo -n "${v}/ ";
|
||||
done
|
||||
}
|
||||
|
||||
versions_to_gentoolibdirs() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
local root
|
||||
local v
|
||||
for v; do
|
||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||
local fullpath="${EROOT}${root}/${v}"
|
||||
if [[ -e "${fullpath}" ]]; then
|
||||
has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
|
||||
printf "%s:" "${fullpath}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
declare -a myconf
|
||||
|
||||
export LC_ALL="C"
|
||||
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||
|
||||
# Perl has problems compiling with -Os in your flags with glibc
|
||||
replace-flags "-Os" "-O2"
|
||||
|
||||
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||
# fine with glibc and locale.h only.
|
||||
# However, the darwin prefix people have no locale.h ...
|
||||
use elibc_glibc && myconf -Ui_xlocale
|
||||
|
||||
# This flag makes compiling crash in interesting ways
|
||||
filter-flags "-malign-double"
|
||||
|
||||
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||
filter-flags "-flto"
|
||||
|
||||
use sparc && myconf -Ud_longdbl
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
mygdbm='U'
|
||||
mydb='U'
|
||||
if use gdbm ; then
|
||||
mygdbm='D'
|
||||
if use berkdb ; then
|
||||
myndbm='D'
|
||||
fi
|
||||
fi
|
||||
if use berkdb ; then
|
||||
mydb='D'
|
||||
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||
fi
|
||||
|
||||
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||
|
||||
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||
myconf -Ui_db -Ui_ndbm
|
||||
fi
|
||||
|
||||
use ithreads && myconf -Dusethreads
|
||||
|
||||
use quadmath && myconf -Dusequadmath
|
||||
|
||||
if use debug ; then
|
||||
append-cflags "-g"
|
||||
myconf -DDEBUGGING
|
||||
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||
myconf -DDEBUGGING=-g
|
||||
else
|
||||
myconf -DDEBUGGING=none
|
||||
fi
|
||||
|
||||
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||
if tc-is-cross-compiler; then
|
||||
append-cflags "-fwrapv -fno-strict-aliasing"
|
||||
fi
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||
PERL_OLDVERSEN="$( find_candidate_inc_versions )"
|
||||
fi
|
||||
|
||||
# Fixup versions, removing self match, fixing order and dupes
|
||||
PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
|
||||
|
||||
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||
local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
|
||||
einfo "This version of perl may partially support modules previously"
|
||||
einfo "installed in any of the following paths:"
|
||||
for incpath in ${inclist}; do
|
||||
[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
|
||||
done
|
||||
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||
einfo "via world updates and perl-cleaner"
|
||||
# myconf -Dinc_version_list="${inclist}"
|
||||
myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
|
||||
fi
|
||||
|
||||
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||
|
||||
# Make sure we can do the final link #523730, need to set deployment
|
||||
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||
[[ ${CHOST} == *-darwin* ]] && \
|
||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||
|
||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||
# apparently on more recent macOS releases is no longer necessary
|
||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||
|
||||
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||
myconf -Ud_flock
|
||||
|
||||
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||
# something compatible.
|
||||
if use prefix ; then
|
||||
# Set a hook to check for each detected library whether it actually works.
|
||||
export libscheck="
|
||||
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||
) || xxx=/dev/null"
|
||||
|
||||
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||
# We need to use " and not ', as the written config.sh use ' ...
|
||||
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||
fi
|
||||
|
||||
# don't try building ODBM, bug #354453
|
||||
disabled_extensions="ODBM_File"
|
||||
|
||||
if ! use gdbm ; then
|
||||
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||
fi
|
||||
|
||||
myconf -Dnoextensions="${disabled_extensions}"
|
||||
|
||||
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||
|
||||
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||
|
||||
# setting -Dld= to tc-getLD breaks perl and all perl things
|
||||
# https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
|
||||
myconf \
|
||||
-Duseshrplib \
|
||||
-Darchname="${myarch}" \
|
||||
-Dcc="$(tc-getCC)" \
|
||||
-Dar="$(tc-getAR)" \
|
||||
-Dnm="$(tc-getNM)" \
|
||||
-Dcpp="$(tc-getCPP)" \
|
||||
-Dranlib="$(tc-getRANLIB)" \
|
||||
-Dccflags="${CFLAGS}" \
|
||||
-Doptimize="${CFLAGS}" \
|
||||
-Dldflags="${LDFLAGS}" \
|
||||
-Dprefix="${EPREFIX}"'/usr' \
|
||||
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dlibperl="${LIBPERL}" \
|
||||
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||
-Duselargefiles \
|
||||
-Dd_semctl_semun \
|
||||
-Dcf_by='Gentoo' \
|
||||
-Dmyhostname='localhost' \
|
||||
-Dperladmin='root@localhost' \
|
||||
-Ud_csh \
|
||||
-Dsh="${EPREFIX}"/bin/sh \
|
||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||
-Uusenm \
|
||||
"${EXTRA_ECONF[@]}"
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--build="${CBUILD}" \
|
||||
-Dinstallprefix='' \
|
||||
-Dinstallusrbinperl='undef' \
|
||||
-Dusevendorprefix='define' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
else
|
||||
sh Configure \
|
||||
-des \
|
||||
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||
-Dinstallusrbinperl='n' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export NO_GENTOO_NETWORK_TESTS=1;
|
||||
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||
return 0
|
||||
fi
|
||||
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i
|
||||
local coredir="${ARCH_LIB}/CORE"
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||
|
||||
if ! tc-is-static-only ; then
|
||||
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||
|
||||
# This removes ${D} from Config.pm
|
||||
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||
einfo "Removing ${D} from ${i}..."
|
||||
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||
done
|
||||
|
||||
dodoc Changes* README AUTHORS
|
||||
|
||||
if use doc ; then
|
||||
# HTML Documentation
|
||||
# We expect errors, warnings, and such with the following.
|
||||
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||
--podroot='.' \
|
||||
--podpath='lib:ext:pod:vms' \
|
||||
--recurse \
|
||||
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||
fi
|
||||
|
||||
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
check_rebuild
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
dual_scripts
|
||||
|
||||
if [[ -z "${ROOT}" ]] ; then
|
||||
local INC DIR file
|
||||
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||
einfo "Removing old .ph files"
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||
rm -f "${file}"
|
||||
einfo "<< ${file}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
# Silently remove the now empty dirs
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
dual_scripts
|
||||
}
|
@ -1,828 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.3.6
|
||||
PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
DIST_AUTHOR=XSAWYERX
|
||||
|
||||
# Greatest first, don't include yourself
|
||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||
PERL_BIN_OLDVERSEN=""
|
||||
|
||||
if [[ "${PV##*.}" == "9999" ]]; then
|
||||
DIST_VERSION=5.30.0
|
||||
else
|
||||
DIST_VERSION="${PV/_rc/-RC}"
|
||||
fi
|
||||
SHORT_PV="${DIST_VERSION%.*}"
|
||||
|
||||
# Even numbered major versions are ABI intercompatible
|
||||
# Odd numbered major versions are not
|
||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||
else
|
||||
SUBSLOT="${DIST_VERSION%.*}"
|
||||
fi
|
||||
|
||||
# Used only in tar paths
|
||||
MY_P="perl-${DIST_VERSION}"
|
||||
# Used in library paths
|
||||
MY_PV="${DIST_VERSION%-RC*}"
|
||||
|
||||
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||
|
||||
SRC_URI="
|
||||
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||
"
|
||||
HOMEPAGE="https://www.perl.org/"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0/${SUBSLOT}"
|
||||
|
||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||
app-arch/bzip2
|
||||
sys-libs/zlib
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
PDEPEND="
|
||||
!minimal? (
|
||||
>=app-admin/perl-cleaner-2.5
|
||||
>=virtual/perl-CPAN-2.290.0
|
||||
>=virtual/perl-Encode-3.120.0
|
||||
>=virtual/perl-File-Temp-0.230.400-r2
|
||||
>=virtual/perl-Data-Dumper-2.154.0
|
||||
virtual/perl-Test-Harness
|
||||
)
|
||||
"
|
||||
# bug 390719, bug 523624
|
||||
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
dual_scripts() {
|
||||
src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
|
||||
src_remove_dual perl-core/CPAN 2.280.0 cpan
|
||||
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||
src_remove_dual perl-core/Encode 3.80.0 enc2xs piconv
|
||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
|
||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
|
||||
src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
|
||||
src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
|
||||
src_remove_dual perl-core/Module-CoreList 5.202.105.200 corelist
|
||||
src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
|
||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||
src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
|
||||
src_remove_dual perl-core/Test-Harness 3.430.0 prove
|
||||
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
||||
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
||||
}
|
||||
|
||||
check_rebuild() {
|
||||
# Fresh install
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
return 0;
|
||||
# Major Upgrade
|
||||
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||
# if the string is anything other than "5.CURRENTMAJOR"
|
||||
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||
echo ""
|
||||
ewarn "UPDATE THE PERL MODULES:"
|
||||
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||
ewarn "to ensure system consistency."
|
||||
ewarn
|
||||
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||
ewarn "Recommended: emerge --depclean -va"
|
||||
ewarn
|
||||
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||
ewarn "remaining rebuilds portage may have missed."
|
||||
ewarn "Use: perl-cleaner --all"
|
||||
return 0;
|
||||
|
||||
# Reinstall w/ USE Change
|
||||
elif
|
||||
( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||
( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
|
||||
( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
|
||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||
echo ""
|
||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||
ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
|
||||
ewarn "You must rebuild all perl-modules installed."
|
||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
case ${CHOST} in
|
||||
*-freebsd*) osname="freebsd" ;;
|
||||
*-dragonfly*) osname="dragonfly" ;;
|
||||
*-netbsd*) osname="netbsd" ;;
|
||||
*-openbsd*) osname="openbsd" ;;
|
||||
*-darwin*) osname="darwin" ;;
|
||||
*-solaris*) osname="solaris" ;;
|
||||
*-cygwin*) osname="cygwin" ;;
|
||||
*) osname="linux" ;;
|
||||
esac
|
||||
|
||||
myarch="${CHOST%%-*}-${osname}"
|
||||
if use debug ; then
|
||||
myarch+="-debug"
|
||||
fi
|
||||
if use quadmath ; then
|
||||
myarch+="-quadmath"
|
||||
fi
|
||||
if use ithreads ; then
|
||||
mythreading="-multi"
|
||||
myarch+="-thread"
|
||||
fi
|
||||
|
||||
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||
|
||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||
|
||||
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
src_remove_dual_file() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
setup)
|
||||
for i in "$@" ; do
|
||||
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual_man() {
|
||||
local i pkg ver ff
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||
ff=${ff##*${i#${i%.[0-9]}}}
|
||||
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
for i in "$@" ; do
|
||||
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare_perlcross() {
|
||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||
|
||||
# bug 794463, needs further analysis what is exactly wrong here
|
||||
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||
|
||||
# bug 604072
|
||||
MAKEOPTS+=" -j1"
|
||||
export MAKEOPTS
|
||||
}
|
||||
|
||||
src_prepare_dynamic() {
|
||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||
}
|
||||
|
||||
# Copy a patch into the patch series
|
||||
# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
|
||||
# - description is optional, but recommended
|
||||
# - all arguments after descriptions are bug URLs
|
||||
add_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local src_name dest_name desc
|
||||
src_name="$1"
|
||||
dest_name="$2"
|
||||
desc="$3"
|
||||
shift; shift; shift;
|
||||
einfo "Adding ${dest_name} to patch bundle"
|
||||
cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
|
||||
if [[ -n "${desc}" ]]; then
|
||||
printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
|
||||
fi
|
||||
if [[ $# -gt 0 ]]; then
|
||||
# Note: when $@ is more than one element, this emits a
|
||||
# line for each element
|
||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||
fi
|
||||
}
|
||||
|
||||
# Remove a patch using a glob expr
|
||||
# eg:
|
||||
# rm_patch *-darwin-Use-CC*
|
||||
#
|
||||
rm_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local expr="$1"
|
||||
local patch="$( cd "${patchdir}"; echo $expr )"
|
||||
einfo "Removing $patch ($expr) from patch bundle"
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
|
||||
else
|
||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||
fi
|
||||
}
|
||||
|
||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
||||
# but this is far easier to debug when things go wrong, and things went wrong
|
||||
# multiple times while I was getting the exact number of slashes right, which
|
||||
# requires circumnavigating both bash and sed escape mechanisms.
|
||||
c_escape_string() {
|
||||
local slash dquote
|
||||
slash='\'
|
||||
dquote='"'
|
||||
re_slash="${slash}${slash}"
|
||||
re_dquote="${slash}${dquote}"
|
||||
|
||||
# Convert \ to \\,
|
||||
# " to \"
|
||||
echo "$1" |\
|
||||
sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
|
||||
sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
|
||||
}
|
||||
c_escape_file() {
|
||||
c_escape_string "$(cat "$1")"
|
||||
}
|
||||
|
||||
apply_patchdir() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local patchoutput="patchlevel-gentoo.h"
|
||||
|
||||
# Inject Patch-Level info into description for patchlevel.h patch
|
||||
# to show in -V
|
||||
local patch_expr="*List-packaged-patches*"
|
||||
local patch="$( cd "${patchdir}"; echo $patch_expr )";
|
||||
einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
|
||||
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
|
||||
>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
|
||||
else
|
||||
eerror "No $patch_expr found in ${patchdir}"
|
||||
fi
|
||||
|
||||
# Compute patch list to apply
|
||||
# different name other than PATCHES to stop default
|
||||
# reapplying it
|
||||
# Single depth is currently only supported, as artifacts can reside
|
||||
# from the old layout being multiple-directories, as well as it grossly
|
||||
# simplifying the patchlevel_gentoo.h generation.
|
||||
local PERL_PATCHES=($(
|
||||
find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
|
||||
grep -E '[.](diff|patch)$' |\
|
||||
sort -n
|
||||
))
|
||||
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
eapply "${WORKDIR}"/patches/${patch}
|
||||
done
|
||||
|
||||
einfo "Generating $patchoutput"
|
||||
|
||||
# This code creates a header file, each iteration
|
||||
# creates one-or-more-lines for each entry found in PERL_PATCHES
|
||||
# and STDOUT is redirected to the .h file
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
local desc_f="${infodir}/${patch}.desc"
|
||||
local bugs_f="${infodir}/${patch}.bugs"
|
||||
|
||||
printf ',"%s"\n' "${patch}"
|
||||
if [[ ! -e "${desc_f}" ]]; then
|
||||
ewarn "No description provided for ${patch} (expected: ${desc_f} )"
|
||||
else
|
||||
local desc="$(c_escape_file "${desc_f}")"
|
||||
printf ',"- %s"\n' "${desc}"
|
||||
fi
|
||||
if [[ -e "${bugs_f}" ]]; then
|
||||
while read -d $'\n' -r line; do
|
||||
local esc_line="$(c_escape_string "${line}")"
|
||||
printf ',"- Bug: %s"\n' "${esc_line}"
|
||||
done <"${bugs_f}"
|
||||
fi
|
||||
done > "${S}/${patchoutput}"
|
||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
|
||||
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||
# Inject bug/desc entries for perl -V
|
||||
# Old example:
|
||||
# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||
# "Fix broken miniperl on hppa"\
|
||||
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||
|
||||
add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\
|
||||
"Fix GDBM_File to compile with version 1.20 and earlier"\
|
||||
"https://bugs.gentoo.org/802945"
|
||||
|
||||
if use prefix ; then
|
||||
add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
|
||||
"Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
|
||||
"https://bugs.gentoo.org/818172"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||
# when -lsocket is used e.g. to get h_errno
|
||||
rm_patch "*-nsl-and-cl*"
|
||||
fi
|
||||
|
||||
apply_patchdir
|
||||
|
||||
tc-is-cross-compiler && src_prepare_perlcross
|
||||
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
# Use errno.h from prefix rather than from host system, bug #645804
|
||||
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# set a soname, fix linking against just built libperl
|
||||
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name (soname) not to reference $D
|
||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||
|
||||
# fix environ linkage absence (only a real issue on Darwin9)
|
||||
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||
Makefile.SH || die
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
myconf() {
|
||||
# the myconf array is declared in src_configure
|
||||
myconf=( "${myconf[@]}" "$@" )
|
||||
}
|
||||
|
||||
# Outputs a list of versions which have been seen in any of the
|
||||
# primary perl @INC prefix paths, such as:
|
||||
# /usr/lib64/perl5/<NUMBER>
|
||||
# /usr/local/lib64/perl5/<NUMBER>
|
||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||
#
|
||||
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||
#
|
||||
find_candidate_inc_versions() {
|
||||
local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
|
||||
local dirs=(
|
||||
"${EROOT}${PRIV_BASE}"
|
||||
"${EROOT}${SITE_BASE}"
|
||||
"${EROOT}${VENDOR_BASE}"
|
||||
)
|
||||
for dir in "${dirs[@]}"; do
|
||||
if [[ ! -e "${dir}" ]]; then
|
||||
continue
|
||||
fi
|
||||
# Without access to readdir() on these dirs, find will not be able
|
||||
# to reveal any @INC directories inside them, and will subsequently prune
|
||||
# them from the built perl's @INC support, breaking our compatiblity options
|
||||
# entirely.
|
||||
if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
|
||||
eerror "Bad permissions on ${dir}, this will probably break things"
|
||||
eerror "Ensure ${dir} is +rx for at least uid=$EUID"
|
||||
eerror "Recommended permission is +rx for all"
|
||||
eerror "> chmod o+rx ${dir}"
|
||||
fi
|
||||
done
|
||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
||||
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
|
||||
}
|
||||
|
||||
# Sort versions passed versiony-ly, remove self-version if present
|
||||
# dedup. Takes each version as an argument
|
||||
sanitize_inc_versions() {
|
||||
local vexclude="${SUBSLOT}"
|
||||
einfo "Normalizing/Sorting candidate list: $*"
|
||||
einfo " to remove '${vexclude}'"
|
||||
# Note, general numeric sort has to be used
|
||||
# for the last component, or unique will convert
|
||||
# 5.30.0 + 5.30 into just 5.30
|
||||
printf "%s\n" "$@" |\
|
||||
grep -vxF "${vexclude}" |\
|
||||
sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
|
||||
}
|
||||
|
||||
versions_to_inclist() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
|
||||
for v; do
|
||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||
echo -n "${v}/ ";
|
||||
done
|
||||
}
|
||||
|
||||
versions_to_gentoolibdirs() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
local root
|
||||
local v
|
||||
for v; do
|
||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||
local fullpath="${EROOT}${root}/${v}"
|
||||
if [[ -e "${fullpath}" ]]; then
|
||||
has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
|
||||
printf "%s:" "${fullpath}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
declare -a myconf
|
||||
|
||||
export LC_ALL="C"
|
||||
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||
|
||||
# Perl has problems compiling with -Os in your flags with glibc
|
||||
replace-flags "-Os" "-O2"
|
||||
|
||||
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||
# fine with glibc and locale.h only.
|
||||
# However, the darwin prefix people have no locale.h ...
|
||||
use elibc_glibc && myconf -Ui_xlocale
|
||||
|
||||
# This flag makes compiling crash in interesting ways
|
||||
filter-flags "-malign-double"
|
||||
|
||||
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||
filter-flags "-flto"
|
||||
|
||||
use sparc && myconf -Ud_longdbl
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
mygdbm='U'
|
||||
mydb='U'
|
||||
if use gdbm ; then
|
||||
mygdbm='D'
|
||||
if use berkdb ; then
|
||||
myndbm='D'
|
||||
fi
|
||||
fi
|
||||
if use berkdb ; then
|
||||
mydb='D'
|
||||
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||
fi
|
||||
|
||||
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||
|
||||
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||
myconf -Ui_db -Ui_ndbm
|
||||
fi
|
||||
|
||||
use ithreads && myconf -Dusethreads
|
||||
|
||||
use quadmath && myconf -Dusequadmath
|
||||
|
||||
if use debug ; then
|
||||
append-cflags "-g"
|
||||
myconf -DDEBUGGING
|
||||
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||
myconf -DDEBUGGING=-g
|
||||
else
|
||||
myconf -DDEBUGGING=none
|
||||
fi
|
||||
|
||||
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||
if tc-is-cross-compiler; then
|
||||
append-cflags "-fwrapv -fno-strict-aliasing"
|
||||
fi
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||
PERL_OLDVERSEN="$( find_candidate_inc_versions )"
|
||||
fi
|
||||
|
||||
# Fixup versions, removing self match, fixing order and dupes
|
||||
PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
|
||||
|
||||
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||
local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
|
||||
einfo "This version of perl may partially support modules previously"
|
||||
einfo "installed in any of the following paths:"
|
||||
for incpath in ${inclist}; do
|
||||
[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
|
||||
done
|
||||
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||
einfo "via world updates and perl-cleaner"
|
||||
# myconf -Dinc_version_list="${inclist}"
|
||||
myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
|
||||
fi
|
||||
|
||||
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||
|
||||
# Make sure we can do the final link #523730, need to set deployment
|
||||
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||
[[ ${CHOST} == *-darwin* ]] && \
|
||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||
|
||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||
# apparently on more recent macOS releases is no longer necessary
|
||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||
|
||||
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||
myconf -Ud_flock
|
||||
|
||||
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||
# something compatible.
|
||||
if use prefix ; then
|
||||
# Set a hook to check for each detected library whether it actually works.
|
||||
export libscheck="
|
||||
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||
) || xxx=/dev/null"
|
||||
|
||||
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||
# We need to use " and not ', as the written config.sh use ' ...
|
||||
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||
fi
|
||||
|
||||
# don't try building ODBM, bug #354453
|
||||
disabled_extensions="ODBM_File"
|
||||
|
||||
if ! use gdbm ; then
|
||||
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||
fi
|
||||
|
||||
myconf -Dnoextensions="${disabled_extensions}"
|
||||
|
||||
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||
|
||||
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||
|
||||
# setting -Dld= to tc-getLD breaks perl and all perl things
|
||||
# https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
|
||||
myconf \
|
||||
-Duseshrplib \
|
||||
-Darchname="${myarch}" \
|
||||
-Dcc="$(tc-getCC)" \
|
||||
-Dar="$(tc-getAR)" \
|
||||
-Dnm="$(tc-getNM)" \
|
||||
-Dcpp="$(tc-getCPP)" \
|
||||
-Dranlib="$(tc-getRANLIB)" \
|
||||
-Accflags="${CFLAGS}" \
|
||||
-Doptimize="${CFLAGS}" \
|
||||
-Dldflags="${LDFLAGS}" \
|
||||
-Dprefix="${EPREFIX}"'/usr' \
|
||||
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dlibperl="${LIBPERL}" \
|
||||
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||
-Duselargefiles \
|
||||
-Dd_semctl_semun \
|
||||
-Dcf_by='Gentoo' \
|
||||
-Dmyhostname='localhost' \
|
||||
-Dperladmin='root@localhost' \
|
||||
-Ud_csh \
|
||||
-Dsh="${EPREFIX}"/bin/sh \
|
||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||
-Uusenm \
|
||||
"${EXTRA_ECONF[@]}"
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--build="${CBUILD}" \
|
||||
-Dinstallprefix='' \
|
||||
-Dinstallusrbinperl='undef' \
|
||||
-Dusevendorprefix='define' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
else
|
||||
sh Configure \
|
||||
-des \
|
||||
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||
-Dinstallusrbinperl='n' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export NO_GENTOO_NETWORK_TESTS=1;
|
||||
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||
return 0
|
||||
fi
|
||||
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i
|
||||
local coredir="${ARCH_LIB}/CORE"
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||
|
||||
if ! tc-is-static-only ; then
|
||||
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||
|
||||
# This removes ${D} from Config.pm
|
||||
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||
einfo "Removing ${D} from ${i}..."
|
||||
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||
done
|
||||
|
||||
dodoc Changes* README AUTHORS
|
||||
|
||||
if use doc ; then
|
||||
# HTML Documentation
|
||||
# We expect errors, warnings, and such with the following.
|
||||
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||
--podroot='.' \
|
||||
--podpath='lib:ext:pod:vms' \
|
||||
--recurse \
|
||||
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||
fi
|
||||
|
||||
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
check_rebuild
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
dual_scripts
|
||||
|
||||
if [[ -z "${ROOT}" ]] ; then
|
||||
local INC DIR file
|
||||
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||
einfo "Removing old .ph files"
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||
rm -f "${file}"
|
||||
einfo "<< ${file}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
# Silently remove the now empty dirs
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
dual_scripts
|
||||
}
|
@ -1,820 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.3.6
|
||||
PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
DIST_AUTHOR=XSAWYERX
|
||||
|
||||
# Greatest first, don't include yourself
|
||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||
PERL_BIN_OLDVERSEN=""
|
||||
|
||||
if [[ "${PV##*.}" == "9999" ]]; then
|
||||
DIST_VERSION=5.30.0
|
||||
else
|
||||
DIST_VERSION="${PV/_rc/-RC}"
|
||||
fi
|
||||
SHORT_PV="${DIST_VERSION%.*}"
|
||||
|
||||
# Even numbered major versions are ABI intercompatible
|
||||
# Odd numbered major versions are not
|
||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||
else
|
||||
SUBSLOT="${DIST_VERSION%.*}"
|
||||
fi
|
||||
|
||||
# Used only in tar paths
|
||||
MY_P="perl-${DIST_VERSION}"
|
||||
# Used in library paths
|
||||
MY_PV="${DIST_VERSION%-RC*}"
|
||||
|
||||
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||
|
||||
SRC_URI="
|
||||
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||
"
|
||||
HOMEPAGE="https://www.perl.org/"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0/${SUBSLOT}"
|
||||
|
||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb debug doc gdbm ithreads minimal"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||
app-arch/bzip2
|
||||
sys-libs/zlib
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
PDEPEND="
|
||||
!minimal? (
|
||||
>=app-admin/perl-cleaner-2.5
|
||||
>=virtual/perl-CPAN-2.290.0
|
||||
>=virtual/perl-Encode-3.120.0
|
||||
>=virtual/perl-File-Temp-0.230.400-r2
|
||||
>=virtual/perl-Data-Dumper-2.154.0
|
||||
virtual/perl-Test-Harness
|
||||
)
|
||||
"
|
||||
# bug 390719, bug 523624
|
||||
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
dual_scripts() {
|
||||
src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
|
||||
src_remove_dual perl-core/CPAN 2.280.0 cpan
|
||||
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||
src_remove_dual perl-core/Encode 3.80.0 enc2xs piconv
|
||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
|
||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
|
||||
src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
|
||||
src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
|
||||
src_remove_dual perl-core/Module-CoreList 5.202.105.200 corelist
|
||||
src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
|
||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||
src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
|
||||
src_remove_dual perl-core/Test-Harness 3.430.0 prove
|
||||
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
||||
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
||||
}
|
||||
|
||||
check_rebuild() {
|
||||
# Fresh install
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
return 0;
|
||||
# Major Upgrade
|
||||
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||
# if the string is anything other than "5.CURRENTMAJOR"
|
||||
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||
echo ""
|
||||
ewarn "UPDATE THE PERL MODULES:"
|
||||
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||
ewarn "to ensure system consistency."
|
||||
ewarn
|
||||
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||
ewarn "Recommended: emerge --depclean -va"
|
||||
ewarn
|
||||
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||
ewarn "remaining rebuilds portage may have missed."
|
||||
ewarn "Use: perl-cleaner --all"
|
||||
return 0;
|
||||
|
||||
# Reinstall w/ USE Change
|
||||
elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||
echo ""
|
||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||
ewarn "You changed one of the use-flags ithreads or debug."
|
||||
ewarn "You must rebuild all perl-modules installed."
|
||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
case ${CHOST} in
|
||||
*-freebsd*) osname="freebsd" ;;
|
||||
*-dragonfly*) osname="dragonfly" ;;
|
||||
*-netbsd*) osname="netbsd" ;;
|
||||
*-openbsd*) osname="openbsd" ;;
|
||||
*-darwin*) osname="darwin" ;;
|
||||
*-solaris*) osname="solaris" ;;
|
||||
*-cygwin*) osname="cygwin" ;;
|
||||
*) osname="linux" ;;
|
||||
esac
|
||||
|
||||
myarch="${CHOST%%-*}-${osname}"
|
||||
if use debug ; then
|
||||
myarch+="-debug"
|
||||
fi
|
||||
if use ithreads ; then
|
||||
mythreading="-multi"
|
||||
myarch+="-thread"
|
||||
fi
|
||||
|
||||
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||
|
||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||
|
||||
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
src_remove_dual_file() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
setup)
|
||||
for i in "$@" ; do
|
||||
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual_man() {
|
||||
local i pkg ver ff
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||
ff=${ff##*${i#${i%.[0-9]}}}
|
||||
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
for i in "$@" ; do
|
||||
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare_perlcross() {
|
||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||
|
||||
# bug 794463, needs further analysis what is exactly wrong here
|
||||
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||
|
||||
# bug 604072
|
||||
MAKEOPTS+=" -j1"
|
||||
export MAKEOPTS
|
||||
}
|
||||
|
||||
src_prepare_dynamic() {
|
||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||
}
|
||||
|
||||
# Copy a patch into the patch series
|
||||
# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
|
||||
# - description is optional, but recommended
|
||||
# - all arguments after descriptions are bug URLs
|
||||
add_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local src_name dest_name desc
|
||||
src_name="$1"
|
||||
dest_name="$2"
|
||||
desc="$3"
|
||||
shift; shift; shift;
|
||||
einfo "Adding ${dest_name} to patch bundle"
|
||||
cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
|
||||
if [[ -n "${desc}" ]]; then
|
||||
printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
|
||||
fi
|
||||
if [[ $# -gt 0 ]]; then
|
||||
# Note: when $@ is more than one element, this emits a
|
||||
# line for each element
|
||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||
fi
|
||||
}
|
||||
|
||||
# Remove a patch using a glob expr
|
||||
# eg:
|
||||
# rm_patch *-darwin-Use-CC*
|
||||
#
|
||||
rm_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local expr="$1"
|
||||
local patch="$( cd "${patchdir}"; echo $expr )"
|
||||
einfo "Removing $patch ($expr) from patch bundle"
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
|
||||
else
|
||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||
fi
|
||||
}
|
||||
|
||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
||||
# but this is far easier to debug when things go wrong, and things went wrong
|
||||
# multiple times while I was getting the exact number of slashes right, which
|
||||
# requires circumnavigating both bash and sed escape mechanisms.
|
||||
c_escape_string() {
|
||||
local slash dquote
|
||||
slash='\'
|
||||
dquote='"'
|
||||
re_slash="${slash}${slash}"
|
||||
re_dquote="${slash}${dquote}"
|
||||
|
||||
# Convert \ to \\,
|
||||
# " to \"
|
||||
echo "$1" |\
|
||||
sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
|
||||
sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
|
||||
}
|
||||
c_escape_file() {
|
||||
c_escape_string "$(cat "$1")"
|
||||
}
|
||||
|
||||
apply_patchdir() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local patchoutput="patchlevel-gentoo.h"
|
||||
|
||||
# Inject Patch-Level info into description for patchlevel.h patch
|
||||
# to show in -V
|
||||
local patch_expr="*List-packaged-patches*"
|
||||
local patch="$( cd "${patchdir}"; echo $patch_expr )";
|
||||
einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
|
||||
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
|
||||
>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
|
||||
else
|
||||
eerror "No $patch_expr found in ${patchdir}"
|
||||
fi
|
||||
|
||||
# Compute patch list to apply
|
||||
# different name other than PATCHES to stop default
|
||||
# reapplying it
|
||||
# Single depth is currently only supported, as artifacts can reside
|
||||
# from the old layout being multiple-directories, as well as it grossly
|
||||
# simplifying the patchlevel_gentoo.h generation.
|
||||
local PERL_PATCHES=($(
|
||||
find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
|
||||
grep -E '[.](diff|patch)$' |\
|
||||
sort -n
|
||||
))
|
||||
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
eapply "${WORKDIR}"/patches/${patch}
|
||||
done
|
||||
|
||||
einfo "Generating $patchoutput"
|
||||
|
||||
# This code creates a header file, each iteration
|
||||
# creates one-or-more-lines for each entry found in PERL_PATCHES
|
||||
# and STDOUT is redirected to the .h file
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
local desc_f="${infodir}/${patch}.desc"
|
||||
local bugs_f="${infodir}/${patch}.bugs"
|
||||
|
||||
printf ',"%s"\n' "${patch}"
|
||||
if [[ ! -e "${desc_f}" ]]; then
|
||||
ewarn "No description provided for ${patch} (expected: ${desc_f} )"
|
||||
else
|
||||
local desc="$(c_escape_file "${desc_f}")"
|
||||
printf ',"- %s"\n' "${desc}"
|
||||
fi
|
||||
if [[ -e "${bugs_f}" ]]; then
|
||||
while read -d $'\n' -r line; do
|
||||
local esc_line="$(c_escape_string "${line}")"
|
||||
printf ',"- Bug: %s"\n' "${esc_line}"
|
||||
done <"${bugs_f}"
|
||||
fi
|
||||
done > "${S}/${patchoutput}"
|
||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
|
||||
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||
# Inject bug/desc entries for perl -V
|
||||
# Old example:
|
||||
# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||
# "Fix broken miniperl on hppa"\
|
||||
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||
|
||||
add_patch "${FILESDIR}/${P}-gdbm-1.20.patch" "0101-Fix-build-with-gdb120.patch"\
|
||||
"Fix GDBM_File to compile with version 1.20 and earlier"\
|
||||
"https://bugs.gentoo.org/802945"
|
||||
|
||||
if use prefix ; then
|
||||
add_patch "${FILESDIR}/${P}"-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
|
||||
"Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
|
||||
"https://bugs.gentoo.org/818172"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||
# when -lsocket is used e.g. to get h_errno
|
||||
rm_patch "*-nsl-and-cl*"
|
||||
fi
|
||||
|
||||
apply_patchdir
|
||||
|
||||
tc-is-cross-compiler && src_prepare_perlcross
|
||||
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
# Use errno.h from prefix rather than from host system, bug #645804
|
||||
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# set a soname, fix linking against just built libperl
|
||||
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name (soname) not to reference $D
|
||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||
|
||||
# fix environ linkage absence (only a real issue on Darwin9)
|
||||
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||
Makefile.SH || die
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
myconf() {
|
||||
# the myconf array is declared in src_configure
|
||||
myconf=( "${myconf[@]}" "$@" )
|
||||
}
|
||||
|
||||
# Outputs a list of versions which have been seen in any of the
|
||||
# primary perl @INC prefix paths, such as:
|
||||
# /usr/lib64/perl5/<NUMBER>
|
||||
# /usr/local/lib64/perl5/<NUMBER>
|
||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||
#
|
||||
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||
#
|
||||
find_candidate_inc_versions() {
|
||||
local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
|
||||
local dirs=(
|
||||
"${EROOT}${PRIV_BASE}"
|
||||
"${EROOT}${SITE_BASE}"
|
||||
"${EROOT}${VENDOR_BASE}"
|
||||
)
|
||||
for dir in "${dirs[@]}"; do
|
||||
if [[ ! -e "${dir}" ]]; then
|
||||
continue
|
||||
fi
|
||||
# Without access to readdir() on these dirs, find will not be able
|
||||
# to reveal any @INC directories inside them, and will subsequently prune
|
||||
# them from the built perl's @INC support, breaking our compatiblity options
|
||||
# entirely.
|
||||
if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
|
||||
eerror "Bad permissions on ${dir}, this will probably break things"
|
||||
eerror "Ensure ${dir} is +rx for at least uid=$EUID"
|
||||
eerror "Recommended permission is +rx for all"
|
||||
eerror "> chmod o+rx ${dir}"
|
||||
fi
|
||||
done
|
||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
||||
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
|
||||
}
|
||||
|
||||
# Sort versions passed versiony-ly, remove self-version if present
|
||||
# dedup. Takes each version as an argument
|
||||
sanitize_inc_versions() {
|
||||
local vexclude="${SUBSLOT}"
|
||||
einfo "Normalizing/Sorting candidate list: $*"
|
||||
einfo " to remove '${vexclude}'"
|
||||
# Note, general numeric sort has to be used
|
||||
# for the last component, or unique will convert
|
||||
# 5.30.0 + 5.30 into just 5.30
|
||||
printf "%s\n" "$@" |\
|
||||
grep -vxF "${vexclude}" |\
|
||||
sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
|
||||
}
|
||||
|
||||
versions_to_inclist() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
|
||||
for v; do
|
||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||
echo -n "${v}/ ";
|
||||
done
|
||||
}
|
||||
|
||||
versions_to_gentoolibdirs() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
local root
|
||||
local v
|
||||
for v; do
|
||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||
local fullpath="${EROOT}${root}/${v}"
|
||||
if [[ -e "${fullpath}" ]]; then
|
||||
has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
|
||||
printf "%s:" "${fullpath}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
declare -a myconf
|
||||
|
||||
export LC_ALL="C"
|
||||
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||
|
||||
# Perl has problems compiling with -Os in your flags with glibc
|
||||
replace-flags "-Os" "-O2"
|
||||
|
||||
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||
# fine with glibc and locale.h only.
|
||||
# However, the darwin prefix people have no locale.h ...
|
||||
use elibc_glibc && myconf -Ui_xlocale
|
||||
|
||||
# This flag makes compiling crash in interesting ways
|
||||
filter-flags "-malign-double"
|
||||
|
||||
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||
filter-flags "-flto"
|
||||
|
||||
use sparc && myconf -Ud_longdbl
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
mygdbm='U'
|
||||
mydb='U'
|
||||
if use gdbm ; then
|
||||
mygdbm='D'
|
||||
if use berkdb ; then
|
||||
myndbm='D'
|
||||
fi
|
||||
fi
|
||||
if use berkdb ; then
|
||||
mydb='D'
|
||||
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||
fi
|
||||
|
||||
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||
|
||||
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||
myconf -Ui_db -Ui_ndbm
|
||||
fi
|
||||
|
||||
use ithreads && myconf -Dusethreads
|
||||
|
||||
if use debug ; then
|
||||
append-cflags "-g"
|
||||
myconf -DDEBUGGING
|
||||
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||
myconf -DDEBUGGING=-g
|
||||
else
|
||||
myconf -DDEBUGGING=none
|
||||
fi
|
||||
|
||||
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||
if tc-is-cross-compiler; then
|
||||
append-cflags "-fwrapv -fno-strict-aliasing"
|
||||
fi
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||
PERL_OLDVERSEN="$( find_candidate_inc_versions )"
|
||||
fi
|
||||
|
||||
# Fixup versions, removing self match, fixing order and dupes
|
||||
PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
|
||||
|
||||
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||
local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
|
||||
einfo "This version of perl may partially support modules previously"
|
||||
einfo "installed in any of the following paths:"
|
||||
for incpath in ${inclist}; do
|
||||
[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
|
||||
done
|
||||
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||
einfo "via world updates and perl-cleaner"
|
||||
# myconf -Dinc_version_list="${inclist}"
|
||||
myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
|
||||
fi
|
||||
|
||||
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||
|
||||
# Make sure we can do the final link #523730, need to set deployment
|
||||
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||
[[ ${CHOST} == *-darwin* ]] && \
|
||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||
|
||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||
# apparently on more recent macOS releases is no longer necessary
|
||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||
|
||||
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||
myconf -Ud_flock
|
||||
|
||||
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||
# something compatible.
|
||||
if use prefix ; then
|
||||
# Set a hook to check for each detected library whether it actually works.
|
||||
export libscheck="
|
||||
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||
) || xxx=/dev/null"
|
||||
|
||||
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||
# We need to use " and not ', as the written config.sh use ' ...
|
||||
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||
fi
|
||||
|
||||
# don't try building ODBM, bug #354453
|
||||
disabled_extensions="ODBM_File"
|
||||
|
||||
if ! use gdbm ; then
|
||||
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||
fi
|
||||
|
||||
myconf -Dnoextensions="${disabled_extensions}"
|
||||
|
||||
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||
|
||||
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||
|
||||
# setting -Dld= to tc-getLD breaks perl and all perl things
|
||||
# https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
|
||||
myconf \
|
||||
-Duseshrplib \
|
||||
-Darchname="${myarch}" \
|
||||
-Dcc="$(tc-getCC)" \
|
||||
-Dar="$(tc-getAR)" \
|
||||
-Dnm="$(tc-getNM)" \
|
||||
-Dcpp="$(tc-getCPP)" \
|
||||
-Dranlib="$(tc-getRANLIB)" \
|
||||
-Dccflags="${CFLAGS}" \
|
||||
-Doptimize="${CFLAGS}" \
|
||||
-Dldflags="${LDFLAGS}" \
|
||||
-Dprefix="${EPREFIX}"'/usr' \
|
||||
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dlibperl="${LIBPERL}" \
|
||||
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||
-Duselargefiles \
|
||||
-Dd_semctl_semun \
|
||||
-Dcf_by='Gentoo' \
|
||||
-Dmyhostname='localhost' \
|
||||
-Dperladmin='root@localhost' \
|
||||
-Ud_csh \
|
||||
-Dsh="${EPREFIX}"/bin/sh \
|
||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||
-Uusenm \
|
||||
"${EXTRA_ECONF[@]}"
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--build="${CBUILD}" \
|
||||
-Dinstallprefix='' \
|
||||
-Dinstallusrbinperl='undef' \
|
||||
-Dusevendorprefix='define' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
else
|
||||
sh Configure \
|
||||
-des \
|
||||
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||
-Dinstallusrbinperl='n' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export NO_GENTOO_NETWORK_TESTS=1;
|
||||
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||
return 0
|
||||
fi
|
||||
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i
|
||||
local coredir="${ARCH_LIB}/CORE"
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||
|
||||
if ! tc-is-static-only ; then
|
||||
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||
|
||||
# This removes ${D} from Config.pm
|
||||
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||
einfo "Removing ${D} from ${i}..."
|
||||
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||
done
|
||||
|
||||
dodoc Changes* README AUTHORS
|
||||
|
||||
if use doc ; then
|
||||
# HTML Documentation
|
||||
# We expect errors, warnings, and such with the following.
|
||||
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||
--podroot='.' \
|
||||
--podpath='lib:ext:pod:vms' \
|
||||
--recurse \
|
||||
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||
fi
|
||||
|
||||
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
check_rebuild
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
dual_scripts
|
||||
|
||||
if [[ -z "${ROOT}" ]] ; then
|
||||
local INC DIR file
|
||||
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||
einfo "Removing old .ph files"
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||
rm -f "${file}"
|
||||
einfo "<< ${file}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
# Silently remove the now empty dirs
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
dual_scripts
|
||||
}
|
@ -1,824 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.3.7
|
||||
PATCH_BASE="perl-5.34.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
DIST_AUTHOR=XSAWYERX
|
||||
|
||||
# Greatest first, don't include yourself
|
||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||
PERL_BIN_OLDVERSEN=""
|
||||
|
||||
if [[ "${PV##*.}" == "9999" ]]; then
|
||||
DIST_VERSION=5.30.0
|
||||
else
|
||||
DIST_VERSION="${PV/_rc/-RC}"
|
||||
fi
|
||||
SHORT_PV="${DIST_VERSION%.*}"
|
||||
|
||||
# Even numbered major versions are ABI intercompatible
|
||||
# Odd numbered major versions are not
|
||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||
else
|
||||
SUBSLOT="${DIST_VERSION%.*}"
|
||||
fi
|
||||
|
||||
# Used only in tar paths
|
||||
MY_P="perl-${DIST_VERSION}"
|
||||
# Used in library paths
|
||||
MY_PV="${DIST_VERSION%-RC*}"
|
||||
|
||||
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||
|
||||
SRC_URI="
|
||||
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||
"
|
||||
HOMEPAGE="https://www.perl.org/"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0/${SUBSLOT}"
|
||||
|
||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb debug doc gdbm ithreads minimal quadmath"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||
app-arch/bzip2
|
||||
sys-libs/zlib
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
PDEPEND="
|
||||
!minimal? (
|
||||
>=app-admin/perl-cleaner-2.5
|
||||
>=virtual/perl-CPAN-2.290.0
|
||||
>=virtual/perl-Encode-3.120.0
|
||||
>=virtual/perl-File-Temp-0.230.400-r2
|
||||
>=virtual/perl-Data-Dumper-2.154.0
|
||||
virtual/perl-Test-Harness
|
||||
)
|
||||
"
|
||||
# bug 390719, bug 523624
|
||||
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
dual_scripts() {
|
||||
src_remove_dual perl-core/Archive-Tar 2.380.0 ptar ptardiff ptargrep
|
||||
src_remove_dual perl-core/CPAN 2.280.0 cpan
|
||||
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||
src_remove_dual perl-core/Encode 3.80.100_rc enc2xs piconv
|
||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.620.0 instmodsh
|
||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.430.0 xsubpp
|
||||
src_remove_dual perl-core/IO-Compress 2.102.0 zipdetails
|
||||
src_remove_dual perl-core/JSON-PP 4.60.0 json_pp
|
||||
src_remove_dual perl-core/Module-CoreList 5.202.203.130 corelist
|
||||
src_remove_dual perl-core/Pod-Checker 1.740.0 podchecker
|
||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||
src_remove_dual perl-core/Pod-Usage 2.10.0 pod2usage
|
||||
src_remove_dual perl-core/Test-Harness 3.430.0 prove
|
||||
src_remove_dual perl-core/podlators 4.140.0 pod2man pod2text
|
||||
src_remove_dual_man perl-core/podlators 4.140.0 /usr/share/man/man1/perlpodstyle.1
|
||||
}
|
||||
|
||||
check_rebuild() {
|
||||
# Fresh install
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
return 0;
|
||||
# Major Upgrade
|
||||
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||
# if the string is anything other than "5.CURRENTMAJOR"
|
||||
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||
echo ""
|
||||
ewarn "UPDATE THE PERL MODULES:"
|
||||
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||
ewarn "to ensure system consistency."
|
||||
ewarn
|
||||
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||
ewarn "Recommended: emerge --depclean -va"
|
||||
ewarn
|
||||
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||
ewarn "remaining rebuilds portage may have missed."
|
||||
ewarn "Use: perl-cleaner --all"
|
||||
return 0;
|
||||
|
||||
# Reinstall w/ USE Change
|
||||
elif
|
||||
( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||
( use quadmath && ! has_version dev-lang/perl[quadmath] ) || \
|
||||
( ! use quadmath && has_version dev-lang/perl[quadmath] ) || \
|
||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||
echo ""
|
||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||
ewarn "You changed one of the use-flags ithreads, quadmath, or debug."
|
||||
ewarn "You must rebuild all perl-modules installed."
|
||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
case ${CHOST} in
|
||||
*-freebsd*) osname="freebsd" ;;
|
||||
*-dragonfly*) osname="dragonfly" ;;
|
||||
*-netbsd*) osname="netbsd" ;;
|
||||
*-openbsd*) osname="openbsd" ;;
|
||||
*-darwin*) osname="darwin" ;;
|
||||
*-solaris*) osname="solaris" ;;
|
||||
*-cygwin*) osname="cygwin" ;;
|
||||
*) osname="linux" ;;
|
||||
esac
|
||||
|
||||
myarch="${CHOST%%-*}-${osname}"
|
||||
if use debug ; then
|
||||
myarch+="-debug"
|
||||
fi
|
||||
if use quadmath ; then
|
||||
myarch+="-quadmath"
|
||||
fi
|
||||
if use ithreads ; then
|
||||
mythreading="-multi"
|
||||
myarch+="-thread"
|
||||
fi
|
||||
|
||||
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||
|
||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||
|
||||
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
src_remove_dual_file() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
setup)
|
||||
for i in "$@" ; do
|
||||
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual_man() {
|
||||
local i pkg ver ff
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||
ff=${ff##*${i#${i%.[0-9]}}}
|
||||
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
for i in "$@" ; do
|
||||
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare_perlcross() {
|
||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||
|
||||
# bug 794463, needs further analysis what is exactly wrong here
|
||||
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||
|
||||
# bug 604072
|
||||
MAKEOPTS+=" -j1"
|
||||
export MAKEOPTS
|
||||
}
|
||||
|
||||
src_prepare_dynamic() {
|
||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||
}
|
||||
|
||||
# Copy a patch into the patch series
|
||||
# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
|
||||
# - description is optional, but recommended
|
||||
# - all arguments after descriptions are bug URLs
|
||||
add_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local src_name dest_name desc
|
||||
src_name="$1"
|
||||
dest_name="$2"
|
||||
desc="$3"
|
||||
shift; shift; shift;
|
||||
einfo "Adding ${dest_name} to patch bundle"
|
||||
cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
|
||||
if [[ -n "${desc}" ]]; then
|
||||
printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
|
||||
fi
|
||||
if [[ $# -gt 0 ]]; then
|
||||
# Note: when $@ is more than one element, this emits a
|
||||
# line for each element
|
||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||
fi
|
||||
}
|
||||
|
||||
# Remove a patch using a glob expr
|
||||
# eg:
|
||||
# rm_patch *-darwin-Use-CC*
|
||||
#
|
||||
rm_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local expr="$1"
|
||||
local patch="$( cd "${patchdir}"; echo $expr )"
|
||||
einfo "Removing $patch ($expr) from patch bundle"
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
|
||||
else
|
||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||
fi
|
||||
}
|
||||
|
||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
||||
# but this is far easier to debug when things go wrong, and things went wrong
|
||||
# multiple times while I was getting the exact number of slashes right, which
|
||||
# requires circumnavigating both bash and sed escape mechanisms.
|
||||
c_escape_string() {
|
||||
local slash dquote
|
||||
slash='\'
|
||||
dquote='"'
|
||||
re_slash="${slash}${slash}"
|
||||
re_dquote="${slash}${dquote}"
|
||||
|
||||
# Convert \ to \\,
|
||||
# " to \"
|
||||
echo "$1" |\
|
||||
sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
|
||||
sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
|
||||
}
|
||||
c_escape_file() {
|
||||
c_escape_string "$(cat "$1")"
|
||||
}
|
||||
|
||||
apply_patchdir() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local patchoutput="patchlevel-gentoo.h"
|
||||
|
||||
# Inject Patch-Level info into description for patchlevel.h patch
|
||||
# to show in -V
|
||||
local patch_expr="*List-packaged-patches*"
|
||||
local patch="$( cd "${patchdir}"; echo $patch_expr )";
|
||||
einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
|
||||
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
|
||||
>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
|
||||
else
|
||||
eerror "No $patch_expr found in ${patchdir}"
|
||||
fi
|
||||
|
||||
# Compute patch list to apply
|
||||
# different name other than PATCHES to stop default
|
||||
# reapplying it
|
||||
# Single depth is currently only supported, as artifacts can reside
|
||||
# from the old layout being multiple-directories, as well as it grossly
|
||||
# simplifying the patchlevel_gentoo.h generation.
|
||||
local PERL_PATCHES=($(
|
||||
find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
|
||||
grep -E '[.](diff|patch)$' |\
|
||||
sort -n
|
||||
))
|
||||
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
eapply "${WORKDIR}"/patches/${patch}
|
||||
done
|
||||
|
||||
einfo "Generating $patchoutput"
|
||||
|
||||
# This code creates a header file, each iteration
|
||||
# creates one-or-more-lines for each entry found in PERL_PATCHES
|
||||
# and STDOUT is redirected to the .h file
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
local desc_f="${infodir}/${patch}.desc"
|
||||
local bugs_f="${infodir}/${patch}.bugs"
|
||||
|
||||
printf ',"%s"\n' "${patch}"
|
||||
if [[ ! -e "${desc_f}" ]]; then
|
||||
ewarn "No description provided for ${patch} (expected: ${desc_f} )"
|
||||
else
|
||||
local desc="$(c_escape_file "${desc_f}")"
|
||||
printf ',"- %s"\n' "${desc}"
|
||||
fi
|
||||
if [[ -e "${bugs_f}" ]]; then
|
||||
while read -d $'\n' -r line; do
|
||||
local esc_line="$(c_escape_string "${line}")"
|
||||
printf ',"- Bug: %s"\n' "${esc_line}"
|
||||
done <"${bugs_f}"
|
||||
fi
|
||||
done > "${S}/${patchoutput}"
|
||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
|
||||
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||
# Inject bug/desc entries for perl -V
|
||||
# Old example:
|
||||
# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||
# "Fix broken miniperl on hppa"\
|
||||
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||
|
||||
if use prefix ; then
|
||||
add_patch "${FILESDIR}/${PN}"-5.34.0-fallback-getcwd-pwd.patch "0102-5.34.0-fallback-get-cwd-pwd.patch"\
|
||||
"Fix installation during Prefix bootstrap (finding 'pwd' from coreutils)"\
|
||||
"https://bugs.gentoo.org/818172"
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||
# when -lsocket is used e.g. to get h_errno
|
||||
rm_patch "*-nsl-and-cl*"
|
||||
fi
|
||||
|
||||
apply_patchdir
|
||||
|
||||
tc-is-cross-compiler && src_prepare_perlcross
|
||||
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
# Use errno.h from prefix rather than from host system, bug #645804
|
||||
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# set a soname, fix linking against just built libperl
|
||||
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name (soname) not to reference $D
|
||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||
|
||||
# fix environ linkage absence (only a real issue on Darwin9)
|
||||
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||
Makefile.SH || die
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
myconf() {
|
||||
# the myconf array is declared in src_configure
|
||||
myconf=( "${myconf[@]}" "$@" )
|
||||
}
|
||||
|
||||
# Outputs a list of versions which have been seen in any of the
|
||||
# primary perl @INC prefix paths, such as:
|
||||
# /usr/lib64/perl5/<NUMBER>
|
||||
# /usr/local/lib64/perl5/<NUMBER>
|
||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||
#
|
||||
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||
#
|
||||
find_candidate_inc_versions() {
|
||||
local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
|
||||
local dirs=(
|
||||
"${EROOT}${PRIV_BASE}"
|
||||
"${EROOT}${SITE_BASE}"
|
||||
"${EROOT}${VENDOR_BASE}"
|
||||
)
|
||||
for dir in "${dirs[@]}"; do
|
||||
if [[ ! -e "${dir}" ]]; then
|
||||
continue
|
||||
fi
|
||||
# Without access to readdir() on these dirs, find will not be able
|
||||
# to reveal any @INC directories inside them, and will subsequently prune
|
||||
# them from the built perl's @INC support, breaking our compatiblity options
|
||||
# entirely.
|
||||
if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
|
||||
eerror "Bad permissions on ${dir}, this will probably break things"
|
||||
eerror "Ensure ${dir} is +rx for at least uid=$EUID"
|
||||
eerror "Recommended permission is +rx for all"
|
||||
eerror "> chmod o+rx ${dir}"
|
||||
fi
|
||||
done
|
||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
||||
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
|
||||
}
|
||||
|
||||
# Sort versions passed versiony-ly, remove self-version if present
|
||||
# dedup. Takes each version as an argument
|
||||
sanitize_inc_versions() {
|
||||
local vexclude="${SUBSLOT}"
|
||||
einfo "Normalizing/Sorting candidate list: $*"
|
||||
einfo " to remove '${vexclude}'"
|
||||
# Note, general numeric sort has to be used
|
||||
# for the last component, or unique will convert
|
||||
# 5.30.0 + 5.30 into just 5.30
|
||||
printf "%s\n" "$@" |\
|
||||
grep -vxF "${vexclude}" |\
|
||||
sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
|
||||
}
|
||||
|
||||
versions_to_inclist() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
|
||||
for v; do
|
||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||
echo -n "${v}/ ";
|
||||
done
|
||||
}
|
||||
|
||||
versions_to_gentoolibdirs() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
local root
|
||||
local v
|
||||
for v; do
|
||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||
local fullpath="${EROOT}${root}/${v}"
|
||||
if [[ -e "${fullpath}" ]]; then
|
||||
has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
|
||||
printf "%s:" "${fullpath}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
declare -a myconf
|
||||
|
||||
export LC_ALL="C"
|
||||
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||
|
||||
# Perl has problems compiling with -Os in your flags with glibc
|
||||
replace-flags "-Os" "-O2"
|
||||
|
||||
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||
# fine with glibc and locale.h only.
|
||||
# However, the darwin prefix people have no locale.h ...
|
||||
use elibc_glibc && myconf -Ui_xlocale
|
||||
|
||||
# This flag makes compiling crash in interesting ways
|
||||
filter-flags "-malign-double"
|
||||
|
||||
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||
filter-flags "-flto"
|
||||
|
||||
use sparc && myconf -Ud_longdbl
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
mygdbm='U'
|
||||
mydb='U'
|
||||
if use gdbm ; then
|
||||
mygdbm='D'
|
||||
if use berkdb ; then
|
||||
myndbm='D'
|
||||
fi
|
||||
fi
|
||||
if use berkdb ; then
|
||||
mydb='D'
|
||||
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||
fi
|
||||
|
||||
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||
|
||||
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||
myconf -Ui_db -Ui_ndbm
|
||||
fi
|
||||
|
||||
use ithreads && myconf -Dusethreads
|
||||
|
||||
use quadmath && myconf -Dusequadmath
|
||||
|
||||
if use debug ; then
|
||||
append-cflags "-g"
|
||||
myconf -DDEBUGGING
|
||||
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||
myconf -DDEBUGGING=-g
|
||||
else
|
||||
myconf -DDEBUGGING=none
|
||||
fi
|
||||
|
||||
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||
if tc-is-cross-compiler; then
|
||||
append-cflags "-fwrapv -fno-strict-aliasing"
|
||||
fi
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||
PERL_OLDVERSEN="$( find_candidate_inc_versions )"
|
||||
fi
|
||||
|
||||
# Fixup versions, removing self match, fixing order and dupes
|
||||
PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
|
||||
|
||||
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||
local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
|
||||
einfo "This version of perl may partially support modules previously"
|
||||
einfo "installed in any of the following paths:"
|
||||
for incpath in ${inclist}; do
|
||||
[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
|
||||
done
|
||||
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||
einfo "via world updates and perl-cleaner"
|
||||
# myconf -Dinc_version_list="${inclist}"
|
||||
myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
|
||||
fi
|
||||
|
||||
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||
|
||||
# Make sure we can do the final link #523730, need to set deployment
|
||||
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||
[[ ${CHOST} == *-darwin* ]] && \
|
||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||
|
||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||
# apparently on more recent macOS releases is no longer necessary
|
||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||
|
||||
# flock on 32-bit sparc Solaris is broken, fall back to fcntl
|
||||
[[ ${CHOST} == sparc-*-solaris* ]] && \
|
||||
myconf -Ud_flock
|
||||
|
||||
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||
# something compatible.
|
||||
if use prefix ; then
|
||||
# Set a hook to check for each detected library whether it actually works.
|
||||
export libscheck="
|
||||
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||
) || xxx=/dev/null"
|
||||
|
||||
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||
# We need to use " and not ', as the written config.sh use ' ...
|
||||
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||
fi
|
||||
|
||||
# don't try building ODBM, bug #354453
|
||||
disabled_extensions="ODBM_File"
|
||||
|
||||
if ! use gdbm ; then
|
||||
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||
fi
|
||||
|
||||
myconf -Dnoextensions="${disabled_extensions}"
|
||||
|
||||
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||
|
||||
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||
|
||||
# setting -Dld= to tc-getLD breaks perl and all perl things
|
||||
# https://github.com/Perl/perl5/issues/17791#issuecomment-630145202
|
||||
myconf \
|
||||
-Duseshrplib \
|
||||
-Darchname="${myarch}" \
|
||||
-Dcc="$(tc-getCC)" \
|
||||
-Dar="$(tc-getAR)" \
|
||||
-Dnm="$(tc-getNM)" \
|
||||
-Dcpp="$(tc-getCPP)" \
|
||||
-Dranlib="$(tc-getRANLIB)" \
|
||||
-Accflags="${CFLAGS}" \
|
||||
-Doptimize="${CFLAGS}" \
|
||||
-Dldflags="${LDFLAGS}" \
|
||||
-Dprefix="${EPREFIX}"'/usr' \
|
||||
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dlibperl="${LIBPERL}" \
|
||||
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||
-Duselargefiles \
|
||||
-Dd_semctl_semun \
|
||||
-Dcf_by='Gentoo' \
|
||||
-Dmyhostname='localhost' \
|
||||
-Dperladmin='root@localhost' \
|
||||
-Ud_csh \
|
||||
-Dsh="${EPREFIX}"/bin/sh \
|
||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||
-Uusenm \
|
||||
"${EXTRA_ECONF[@]}"
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--build="${CBUILD}" \
|
||||
-Dinstallprefix='' \
|
||||
-Dinstallusrbinperl='undef' \
|
||||
-Dusevendorprefix='define' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
else
|
||||
sh Configure \
|
||||
-des \
|
||||
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||
-Dinstallusrbinperl='n' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export NO_GENTOO_NETWORK_TESTS=1;
|
||||
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||
return 0
|
||||
fi
|
||||
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i
|
||||
local coredir="${ARCH_LIB}/CORE"
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||
|
||||
if ! tc-is-static-only ; then
|
||||
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||
|
||||
# This removes ${D} from Config.pm
|
||||
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||
einfo "Removing ${D} from ${i}..."
|
||||
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||
done
|
||||
|
||||
dodoc Changes* README AUTHORS
|
||||
|
||||
if use doc ; then
|
||||
# HTML Documentation
|
||||
# We expect errors, warnings, and such with the following.
|
||||
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||
--podroot='.' \
|
||||
--podpath='lib:ext:pod:vms' \
|
||||
--recurse \
|
||||
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||
fi
|
||||
|
||||
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
check_rebuild
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
dual_scripts
|
||||
|
||||
if [[ -z "${ROOT}" ]] ; then
|
||||
local INC DIR file
|
||||
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||
einfo "Removing old .ph files"
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||
rm -f "${file}"
|
||||
einfo "<< ${file}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
# Silently remove the now empty dirs
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
dual_scripts
|
||||
}
|
@ -600,9 +600,12 @@ src_configure() {
|
||||
|
||||
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||
if tc-is-cross-compiler; then
|
||||
append-cflags "-fwrapv -fno-strict-aliasing"
|
||||
append-cflags "-fwrapv"
|
||||
fi
|
||||
|
||||
# bug #877659, bug #821577
|
||||
append-cflags -fno-strict-aliasing
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
@ -583,9 +583,12 @@ src_configure() {
|
||||
|
||||
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||
if tc-is-cross-compiler; then
|
||||
append-cflags "-fwrapv -fno-strict-aliasing"
|
||||
append-cflags "-fwrapv"
|
||||
fi
|
||||
|
||||
# bug #877659, bug #821577
|
||||
append-cflags -fno-strict-aliasing
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
@ -1 +1 @@
|
||||
DIST expat-2.4.9.tar.xz 459284 BLAKE2B 105fef732e26b691f6c212341b7377b518d693aa67f106d0ff2f0fbccd798b7526473ed21e22b6d2b6f1ca8aa7d0eb0adc62ffdefc3c2cb81a6af5a379e64de9 SHA512 8508379b4915d84d50f3638678a90792179c98247d1cb5e6e6387d117af4dc148ac7031c1debea8b96e7b710ef436cf0dd5da91f3d22b8186a00cfafe1201169
|
||||
DIST expat-2.5.0.tar.xz 460560 BLAKE2B 670298d076ff3b512a0212170d40cb04c601a11d6b152f215a5302ad3238c69c2386393d7a6c70bc284be35ce97bf27d87115c3391f4bc17406e509d739d3e31 SHA512 2da73b991b7c0c54440485c787e5edeb3567230204e31b3cac1c3a6713ec6f9f1554d3afffc0f8336168dfd5df02db4a69bcf21b4d959723d14162d13ab87516
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST glib-2.72.3.tar.xz 4893484 BLAKE2B 1360c887b07ede3de3a7d31589f3dfc07ada2fe3e7901d3f30048ab9a1379357753ae142c6c107b3fcd6dd61e1401fbe6db22f0e89ea617db2c1073f1900cbe6 SHA512 8834ab7498577c2f659d135b87c27b34e1157be27f6c1fe5af0d64a94654f78cbe6a87e6868966849674c34e88a9d51d2de8d89f78f86aa1e1af3482761f0638
|
||||
DIST glib-2.74.0.tar.xz 5183072 BLAKE2B b21e5a72e2ce3390cbf13601aa902104f1ac1cfbd75181d30cd340f24b5875753f898b229f99c71d47d499be86cddb0191a0072c0c2decc82956a46c16255905 SHA512 5cdadd2f4568c0c3d45083b4d39699abf651e42e020f7bc880cce3ff33d28943118388d17a0632777e843f48009c1f97d5634fde3cb8c69c7c7f35b278ac8225
|
||||
DIST glib-2.74.1.tar.xz 5189452 BLAKE2B 58d977a5d2a100aa9125f2009ae66c6f27232dff70159433076552bdb64f9a6a93d7cb705feba890ee43d6f16d4766f6f1d5502c2e01eeb7e88d5ed0dd205d5c SHA512 21176cb95fcab49a781d02789bf21191a96a34a6391f066699b3c20b414b3169c958bd86623deb34ca55912083862885f7a7d12b67cc041467da2ba94d9e83c3
|
||||
|
287
sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.74.1.ebuild
vendored
Normal file
287
sdk_container/src/third_party/portage-stable/dev-libs/glib/glib-2.74.1.ebuild
vendored
Normal file
@ -0,0 +1,287 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
|
||||
|
||||
DESCRIPTION="The GLib library of C routines"
|
||||
HOMEPAGE="https://www.gtk.org/"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="2"
|
||||
IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
|
||||
RESTRICT="!test? ( test )"
|
||||
#REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
||||
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
||||
# other platforms is not that useful so exclude the dependency in this case.
|
||||
# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
|
||||
# these are used by GIO, which glib[static-libs] consumers don't really seem
|
||||
# to need at all, thus not imposing the deps for now and once some consumers
|
||||
# are actually found to static link libgio-2.0.a, we can revisit and either add
|
||||
# them or just put the (build) deps in that rare consumer instead of recursive
|
||||
# RDEPEND here (due to lack of recursive DEPEND).
|
||||
RDEPEND="
|
||||
!<dev-util/gdbus-codegen-${PV}
|
||||
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},static-libs?]
|
||||
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
|
||||
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
|
||||
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
|
||||
kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
|
||||
selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
|
||||
xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
|
||||
elf? ( virtual/libelf:0= )
|
||||
sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# libxml2 used for optional tests that get automatically skipped
|
||||
BDEPEND="
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt
|
||||
>=sys-devel/gettext-0.19.8
|
||||
gtk-doc? ( >=dev-util/gtk-doc-1.33
|
||||
app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xml-dtd:4.5 )
|
||||
systemtap? ( >=dev-util/systemtap-1.3 )
|
||||
${PYTHON_DEPS}
|
||||
test? ( >=sys-apps/dbus-1.2.14 )
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
|
||||
|
||||
PDEPEND="
|
||||
dbus? ( gnome-base/dconf )
|
||||
mime? ( x11-misc/shared-mime-info )
|
||||
"
|
||||
# shared-mime-info needed for gio/xdgmime, bug #409481
|
||||
# dconf is needed to be able to save settings, bug #498436
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/gio-querymodules$(get_exeext)
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.74.0-crash-gparamspec.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if use kernel_linux ; then
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
if use test ; then
|
||||
CONFIG_CHECK="~IPV6"
|
||||
WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
|
||||
fi
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use test; then
|
||||
# TODO: Review the test exclusions, especially now with meson
|
||||
# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
|
||||
if ! has_version dev-util/desktop-file-utils ; then
|
||||
ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
|
||||
ewarn "think on installing it to get these tests run."
|
||||
sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
|
||||
sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
|
||||
fi
|
||||
|
||||
# gdesktopappinfo requires existing terminal (gnome-terminal or any
|
||||
# other), falling back to xterm if one doesn't exist
|
||||
#if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
|
||||
# ewarn "Some tests will be skipped due to missing terminal program"
|
||||
# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
|
||||
# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
|
||||
sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
|
||||
# desktop-app-info/launch* might fail similarly
|
||||
sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
|
||||
#fi
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=722604
|
||||
sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
|
||||
sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
|
||||
|
||||
ewarn "Tests for search-utils have been skipped"
|
||||
sed -i -e "/search-utils/d" glib/tests/meson.build || die
|
||||
|
||||
# Play nice with network-sandbox, but this approach would defeat the purpose of the test
|
||||
#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
|
||||
else
|
||||
# Don't build tests, also prevents extra deps, bug #512022
|
||||
sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
|
||||
fi
|
||||
|
||||
# Don't build fuzzing binaries - not used
|
||||
sed -i -e '/subdir.*fuzzing/d' meson.build || die
|
||||
|
||||
# gdbus-codegen is a separate package
|
||||
sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
|
||||
|
||||
# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
|
||||
sed -i -e '/install_dir/d' gio/tests/meson.build || die
|
||||
|
||||
cat > "${T}/glib-test-ld-wrapper" <<-EOF
|
||||
#!/usr/bin/env sh
|
||||
exec \${LD:-ld} "\$@"
|
||||
EOF
|
||||
chmod a+x "${T}/glib-test-ld-wrapper" || die
|
||||
sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
|
||||
|
||||
default
|
||||
gnome2_environment_reset
|
||||
# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
if use debug; then
|
||||
append-cflags -DG_ENABLE_DEBUG
|
||||
else
|
||||
append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
|
||||
fi
|
||||
|
||||
# TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
|
||||
#if tc-is-cross-compiler ; then
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=756473
|
||||
# TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
|
||||
#case ${CHOST} in
|
||||
#hppa*|metag*) export glib_cv_stack_grows=yes ;;
|
||||
#*) export glib_cv_stack_grows=no ;;
|
||||
#esac
|
||||
#fi
|
||||
|
||||
local emesonargs=(
|
||||
-Ddefault_library=$(usex static-libs both shared)
|
||||
$(meson_feature selinux)
|
||||
$(meson_use xattr)
|
||||
-Dlibmount=enabled # only used if host_system == 'linux'
|
||||
-Dman=true
|
||||
$(meson_use systemtap dtrace)
|
||||
$(meson_use systemtap)
|
||||
$(meson_feature sysprof)
|
||||
$(meson_native_use_bool gtk-doc gtk_doc)
|
||||
$(meson_use test tests)
|
||||
-Dinstalled_tests=false
|
||||
-Dnls=enabled
|
||||
-Doss_fuzz=disabled
|
||||
$(meson_native_use_feature elf libelf)
|
||||
-Dmultiarch=false
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
export XDG_CONFIG_DIRS=/etc/xdg
|
||||
export XDG_DATA_DIRS=/usr/local/share:/usr/share
|
||||
export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
|
||||
export LC_TIME=C # bug #411967
|
||||
export TZ=UTC
|
||||
unset GSETTINGS_BACKEND # bug #596380
|
||||
python_setup
|
||||
|
||||
# https://bugs.gentoo.org/839807
|
||||
local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
|
||||
addpredict /usr/b
|
||||
|
||||
# Related test is a bit nitpicking
|
||||
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||
|
||||
meson_src_test --timeout-multiplier 2 --no-suite flaky
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
meson_src_install
|
||||
keepdir /usr/$(get_libdir)/gio/modules
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
# These are installed by dev-util/glib-utils
|
||||
# TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
|
||||
rm "${ED}/usr/bin/glib-genmarshal" || die
|
||||
rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
|
||||
rm "${ED}/usr/bin/glib-mkenums" || die
|
||||
rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
|
||||
rm "${ED}/usr/bin/gtester-report" || die
|
||||
rm "${ED}/usr/share/man/man1/gtester-report.1" || die
|
||||
# gdbus-codegen manpage installed by dev-util/gdbus-codegen
|
||||
rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
|
||||
# Make gschemas.compiled belong to glib alone
|
||||
local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
|
||||
|
||||
if [[ -e ${EROOT}${cache} ]]; then
|
||||
cp "${EROOT}"${cache} "${ED}"/${cache} || die
|
||||
else
|
||||
touch "${ED}"${cache} || die
|
||||
fi
|
||||
|
||||
multilib_pkg_preinst() {
|
||||
# Make giomodule.cache belong to glib alone
|
||||
local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
|
||||
|
||||
if [[ -e ${EROOT}${cache} ]]; then
|
||||
cp "${EROOT}"${cache} "${ED}"${cache} || die
|
||||
else
|
||||
touch "${ED}"${cache} || die
|
||||
fi
|
||||
}
|
||||
|
||||
# Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
|
||||
# file due to inability to create it and GIO might not look at any of the modules there
|
||||
if ! tc-is-cross-compiler ; then
|
||||
multilib_foreach_abi multilib_pkg_preinst
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
# glib installs no schemas itself, but we force update for fresh install in case
|
||||
# something has dropped in a schemas file without direct glib dep; and for upgrades
|
||||
# in case the compiled schema format could have changed
|
||||
gnome2_schemas_update
|
||||
|
||||
multilib_pkg_postinst() {
|
||||
gnome2_giomodule_cache_update \
|
||||
|| die "Update GIO modules cache failed (for ${ABI})"
|
||||
}
|
||||
if ! tc-is-cross-compiler ; then
|
||||
multilib_foreach_abi multilib_pkg_postinst
|
||||
else
|
||||
ewarn "Updating of GIO modules cache skipped due to cross-compilation."
|
||||
ewarn "You might want to run gio-querymodules manually on the target for"
|
||||
ewarn "your final image for performance reasons and re-run it when packages"
|
||||
ewarn "installing GIO modules get upgraded or added to the image."
|
||||
fi
|
||||
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "$v" "-lt" "2.63.6"; then
|
||||
ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
|
||||
ewarn "to restart your session for \"Open With\" dialogs to work."
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
|
||||
if [[ -z ${REPLACED_BY_VERSION} ]]; then
|
||||
multilib_pkg_postrm() {
|
||||
rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
|
||||
}
|
||||
multilib_foreach_abi multilib_pkg_postrm
|
||||
rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
|
||||
fi
|
||||
}
|
@ -35,5 +35,6 @@
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:gnome:glib</remote-id>
|
||||
<remote-id type="gnome-gitlab">GNOME/glib</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -5,4 +5,7 @@
|
||||
<email>gnome@gentoo.org</email>
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="gnome-gitlab">GNOME/gobject-introspection</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -6,7 +6,9 @@
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="doctool">Install g-ir-doc-tool for generating documentation
|
||||
from introspected data</flag>
|
||||
<flag name="doctool">Install g-ir-doc-tool for generating documentation from introspected data</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="gnome-gitlab">GNOME/gobject-introspection</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
107
sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.40-r1.ebuild
vendored
Normal file
107
sdk_container/src/third_party/portage-stable/dev-libs/libpcre2/libpcre2-10.40-r1.ebuild
vendored
Normal file
@ -0,0 +1,107 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/philiphazel.asc
|
||||
inherit flag-o-matic libtool multilib-minimal usr-ldscript verify-sig
|
||||
|
||||
PATCH_SET="${PN}-10.36-patchset-01.tar.xz"
|
||||
MY_P="pcre2-${PV/_rc/-RC}"
|
||||
|
||||
DESCRIPTION="Perl-compatible regular expression library"
|
||||
HOMEPAGE="https://www.pcre.org/"
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
# Only the final releases are available here.
|
||||
SRC_URI="https://github.com/PhilipHazel/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2
|
||||
https://ftp.pcre.org/pub/pcre/${MY_P}.tar.bz2
|
||||
verify-sig? ( https://github.com/PhilipHazel/pcre2/releases/download/${MY_P}/${MY_P}.tar.bz2.sig )"
|
||||
else
|
||||
SRC_URI="https://ftp.pcre.org/pub/pcre/Testing/${MY_P}.tar.bz2"
|
||||
fi
|
||||
|
||||
if [[ -n "${PATCH_SET}" ]] ; then
|
||||
SRC_URI+=" https://dev.gentoo.org/~whissi/dist/${PN}/${PATCH_SET}
|
||||
https://dev.gentoo.org/~polynomial-c/dist/${PATCH_SET}"
|
||||
fi
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/3" # libpcre2-posix.so version
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="bzip2 +jit libedit +pcre16 pcre32 +readline static-libs unicode zlib"
|
||||
REQUIRED_USE="?? ( libedit readline )"
|
||||
|
||||
RDEPEND="bzip2? ( app-arch/bzip2 )
|
||||
libedit? ( dev-libs/libedit )
|
||||
readline? ( sys-libs/readline:= )
|
||||
zlib? ( sys-libs/zlib )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-philiphazel )"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/pcre2-config
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
if use verify-sig ; then
|
||||
# Needed for downloaded patch (which is unsigned, which is fine)
|
||||
verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.bz2{,.sig}
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if [[ -d "${WORKDIR}/patches" ]] ; then
|
||||
rm "${WORKDIR}"/patches/pcre2-10.36-001-issue2698.patch || die
|
||||
eapply "${WORKDIR}"/patches
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
elibtoolize
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
append-lfs-flags
|
||||
|
||||
local myeconfargs=(
|
||||
--enable-pcre2-8
|
||||
--enable-shared
|
||||
$(multilib_native_use_enable bzip2 pcre2grep-libbz2)
|
||||
$(multilib_native_use_enable libedit pcre2test-libedit)
|
||||
$(multilib_native_use_enable readline pcre2test-libreadline)
|
||||
$(multilib_native_use_enable zlib pcre2grep-libz)
|
||||
$(use_enable jit)
|
||||
$(use_enable jit pcre2grep-jit)
|
||||
$(use_enable pcre16 pcre2-16)
|
||||
$(use_enable pcre32 pcre2-32)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable unicode)
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
emake V=1 $(multilib_is_native_abi || echo "bin_PROGRAMS=")
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
emake check VERBOSE=yes
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake \
|
||||
DESTDIR="${D}" \
|
||||
$(multilib_is_native_abi || echo "bin_PROGRAMS= dist_html_DATA=") \
|
||||
install
|
||||
multilib_is_native_abi && gen_usr_ldscript -a pcre2-posix
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
@ -1,7 +1,5 @@
|
||||
DIST libxml2-2.10.2.tar.xz 2636304 BLAKE2B 3ccc11ac73a81ee7ea3e565597c95e74923eba3d858c9a915aecf1dcf2fb6ab3e46c6ed2ea504261a822de2ac2132834ffa8ffd039e9e1390a9637a2dac7d6c5 SHA512 c26ee428ae2fae2326fcaec156ed36c5f5d63aeb4839d626f6544a3fad158a1602e9dc0d542b2f947e6a8de0c09ff130da2626a30aec27446ce09614f78466b5
|
||||
DIST libxml2-2.10.3.tar.xz 2639908 BLAKE2B aef2cc87e4632ddc478ff719155fdcb17601a8af37ecc1145ca05e01340935b57f07722e016ca2b27e4b269d47bd2fe97db09119a47849e8745e077e42b8bb66 SHA512 33bb87ae9a45c475c3de09477e5d94840d8f687f893ef7839408bc7267e57611c4f2b863ed8ec819a4b5f1ebd6a122db9f6054c73bceed427d37f3e67f62620c
|
||||
DIST libxml2-2.9.14-patches-r0.tar.bz2 8304 BLAKE2B 067faba5bfcbf81e2ef356925c0d3b4ef0aff7604db049366180b8217b781c60c2746be348c5e1a09de925e54fc69e3e431f7e2199ce326b6ff88ea9352ca45c SHA512 e97bada92a14ef0501a5f7be312d35d26eb52b648102d028dc11b3eef62ee0597540d0b474f54bd015a914a9cb7600d4dc34912b0ead5230136e945d80ae8428
|
||||
DIST libxml2-2.9.14.tar.xz 3129968 BLAKE2B ab584503d5209e4aaf41ae6f44aed5e94c0ae29e28cfba39a9012568aa97515af861b47891b84d2a352a07357626ba50ddb1e344e911fa14ff2ce93c5beff1f1 SHA512 d08e6cafb289c499fdc5b3a12181e032a34f7a249bc66758859f964d3e71e19fd69be79921e1a9d8ab1e692d15b13f5fae95eeb10c3236974d89e218f5107606
|
||||
DIST xmlts20130923.tar.gz 641522 BLAKE2B 63a47bc69278ef510cd0b3779aed729e1b309e30efa0015d28ed051cc03f9dfddb447ab57b07b3393e8f47393d15473b0e199c34cb1f5f746b15ddfaa55670be SHA512 d5c4d26b324ed21f4e0641cd7f8b76dbf9de80df8b519982e44d41c960df29fd03618e02e9693b2d11ad06d19c4a965274c95a048ec3b9653eacb919a7f8b733
|
||||
DIST xsts-2002-01-16.tar.gz 6894439 BLAKE2B 1e9ec63d2c104655e64249e07440a04d862fcbcd4d4e19745d81b34994319b510a531c9d6df1491fae1e90b5d0764f0f1a827251ca8df5d613178b0eab01ef25 SHA512 43300af6d39c1e2221b0ed7318fe14c7464eeb6eb030ed1e22eb29b4ab17f014e2a4c8887c3a46ae5d243e3072da27f00f4e285498ae6f1288177d38d1108288
|
||||
DIST xsts-2004-01-14.tar.gz 2761085 BLAKE2B 41545995fb3a65d053257c376c07d45ffd1041a433bfbdb46d4dd87a5afb60c18c8629a3d988323f9e7a1d709775b5a7e5930276a7121c0725a22705c0976e36 SHA512 32854388d7e720ad67156baf50bf2bae7bd878ca3e35fd7e44e57cad3f434f69d56bbbedd61509f8a1faf01c9eae74a078df8fe130780b182c05c05cb1c39ebe
|
||||
|
@ -23,7 +23,7 @@ if [[ ${PV} == 9999 ]] ; then
|
||||
inherit autotools git-r3
|
||||
else
|
||||
inherit gnome.org libtool
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
SRC_URI+="
|
||||
|
@ -1,187 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Note: Please bump in sync with dev-libs/libxslt
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
inherit autotools flag-o-matic python-r1 multilib-minimal
|
||||
|
||||
XSTS_HOME="http://www.w3.org/XML/2004/xml-schema-test-suite"
|
||||
XSTS_NAME_1="xmlschema2002-01-16"
|
||||
XSTS_NAME_2="xmlschema2004-01-14"
|
||||
XSTS_TARBALL_1="xsts-2002-01-16.tar.gz"
|
||||
XSTS_TARBALL_2="xsts-2004-01-14.tar.gz"
|
||||
XMLCONF_TARBALL="xmlts20130923.tar.gz"
|
||||
|
||||
PATCHSET_VERSION="2.9.14-patches-r0"
|
||||
|
||||
DESCRIPTION="XML C parser and toolkit"
|
||||
HOMEPAGE="http://www.xmlsoft.org/ https://gitlab.gnome.org/GNOME/libxml2"
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxml2"
|
||||
inherit autotools git-r3
|
||||
else
|
||||
inherit gnome.org libtool
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
SRC_URI+="
|
||||
https://dev.gentoo.org/~soap/distfiles/${PN}-${PATCHSET_VERSION}.tar.bz2
|
||||
test? (
|
||||
${XSTS_HOME}/${XSTS_NAME_1}/${XSTS_TARBALL_1}
|
||||
${XSTS_HOME}/${XSTS_NAME_2}/${XSTS_TARBALL_2}
|
||||
https://www.w3.org/XML/Test/${XMLCONF_TARBALL}
|
||||
)"
|
||||
S="${WORKDIR}/${PN}-${PV%_rc*}"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="2"
|
||||
IUSE="debug examples icu lzma +python readline static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.2.8-r1:=[${MULTILIB_USEDEP}]
|
||||
icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
|
||||
lzma? ( >=app-arch/xz-utils-5.0.5-r1:=[${MULTILIB_USEDEP}] )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
readline? ( sys-libs/readline:= )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
BDEPEND+=" dev-util/gtk-doc-am"
|
||||
fi
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/xml2-config
|
||||
)
|
||||
|
||||
DOCS=( NEWS README.md TODO TODO_SCHEMAS python/TODO )
|
||||
|
||||
PATCHES=( "${WORKDIR}"/patches )
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
local tarname=${P/_rc/-rc}.tar.xz
|
||||
|
||||
# ${A} isn't used to avoid unpacking of test tarballs into ${WORKDIR},
|
||||
# as they are needed as tarballs in ${S}/xstc instead and not unpacked
|
||||
unpack ${tarname}
|
||||
|
||||
if [[ -n ${PATCHSET_VERSION} ]] ; then
|
||||
unpack ${PN}-${PATCHSET_VERSION}.tar.bz2
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}" || die
|
||||
|
||||
if use test ; then
|
||||
cp "${DISTDIR}/${XSTS_TARBALL_1}" \
|
||||
"${DISTDIR}/${XSTS_TARBALL_2}" \
|
||||
"${S}"/xstc/ \
|
||||
|| die "Failed to install test tarballs"
|
||||
unpack ${XMLCONF_TARBALL}
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Filter seemingly problematic CFLAGS (bug #26320)
|
||||
filter-flags -fprefetch-loop-arrays -funroll-loops
|
||||
|
||||
# Notes:
|
||||
# The meaning of the 'debug' USE flag does not apply to the --with-debug
|
||||
# switch (enabling the libxml2 debug module). See bug #100898.
|
||||
libxml2_configure() {
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--enable-ipv6 \
|
||||
$(use_with debug run-debug) \
|
||||
$(use_with icu) \
|
||||
$(use_with lzma) \
|
||||
$(use_enable static-libs static) \
|
||||
$(multilib_native_use_with readline) \
|
||||
$(multilib_native_use_with readline history) \
|
||||
"$@"
|
||||
}
|
||||
|
||||
# Build python bindings separately
|
||||
libxml2_configure --without-python
|
||||
|
||||
multilib_is_native_abi && use python &&
|
||||
python_foreach_impl run_in_build_dir libxml2_configure --with-python
|
||||
}
|
||||
|
||||
libxml2_py_emake() {
|
||||
pushd "${BUILD_DIR}"/python >/dev/null || die
|
||||
|
||||
emake top_builddir="${NATIVE_BUILD_DIR}" "$@"
|
||||
|
||||
popd >/dev/null || die
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
default
|
||||
|
||||
if multilib_is_native_abi && use python ; then
|
||||
NATIVE_BUILD_DIR="${BUILD_DIR}"
|
||||
python_foreach_impl run_in_build_dir libxml2_py_emake all
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
ln -s "${S}"/xmlconf || die
|
||||
|
||||
emake check
|
||||
|
||||
multilib_is_native_abi && use python &&
|
||||
python_foreach_impl run_in_build_dir libxml2_py_emake test
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
multilib_is_native_abi && use python &&
|
||||
python_foreach_impl run_in_build_dir libxml2_py_emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
if ! use examples ; then
|
||||
rm -rf "${ED}"/usr/share/doc/${PF}/examples || die
|
||||
rm -rf "${ED}"/usr/share/doc/${PF}/python/examples || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/doc/${PN}-python-${PVR} || die
|
||||
|
||||
find "${ED}" -name '*.la' -delete || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# We don't want to do the xmlcatalog during stage1, as xmlcatalog will not
|
||||
# be in / and stage1 builds to ROOT=/tmp/stage1root. This fixes bug #208887.
|
||||
if [[ -n "${ROOT}" ]]; then
|
||||
elog "Skipping XML catalog creation for stage building (bug #208887)."
|
||||
else
|
||||
# Need an XML catalog, so no-one writes to a non-existent one
|
||||
CATALOG="${EROOT}/etc/xml/catalog"
|
||||
|
||||
# We don't want to clobber an existing catalog though,
|
||||
# only ensure that one is there
|
||||
# <obz@gentoo.org>
|
||||
if [[ ! -e "${CATALOG}" ]]; then
|
||||
[[ -d "${EROOT}/etc/xml" ]] || mkdir -p "${EROOT}/etc/xml"
|
||||
"${EPREFIX}"/usr/bin/xmlcatalog --create > "${CATALOG}"
|
||||
einfo "Created XML catalog in ${CATALOG}"
|
||||
fi
|
||||
fi
|
||||
}
|
@ -11,5 +11,6 @@
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:xmlsoft:libxml2</remote-id>
|
||||
<remote-id type="gnome-gitlab">GNOME/libxml2</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,2 +1 @@
|
||||
DIST libxslt-1.1.35.tar.xz 1827548 BLAKE2B 9667a93e61f50098a512c1351bce2ee937fc5d29488d010b525122d28ffedc73e0930402f3df2d378161a031dc016a15f0f03bdc343f0c4aa5d0b5c454f8002d SHA512 9dd4a699235f50ae9b75b25137e387471635b4b2da0a4e4380879cd49f1513470fcfbfd775269b066eac513a1ffa6860c77ec42747168e2348248f09f60c8c96
|
||||
DIST libxslt-1.1.37.tar.xz 1588572 BLAKE2B 096d93dd7178bf4483207514b1435f5bf426eea4952ffab7cc00c3e85aa736534c4acb5377af9647aa77a0cd793205194509d997a7bb5cae692f65e326566cd8 SHA512 a4e477d2bb918b7d01945e2c7491c3a4aae799dc1602bbd13de55c8a5052e210a20bc45115347eae44473c8b1d03dbc5e4a2aa18c2218f1fdfd376d87cd501ca
|
||||
|
@ -1,75 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit libtool multilib-minimal
|
||||
|
||||
# Note: Please bump this in sync with dev-libs/libxml2.
|
||||
DESCRIPTION="XSLT libraries and tools"
|
||||
HOMEPAGE="https://gitlab.gnome.org/GNOME/libxslt"
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/libxslt"
|
||||
inherit autotools git-r3
|
||||
else
|
||||
inherit gnome.org
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
IUSE="crypt debug examples static-libs"
|
||||
|
||||
BDEPEND=">=virtual/pkgconfig-1"
|
||||
RDEPEND="
|
||||
>=dev-libs/libxml2-2.9.11:2[${MULTILIB_USEDEP}]
|
||||
crypt? ( >=dev-libs/libgcrypt-1.5.3:0=[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/xslt-config
|
||||
)
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/libxslt/xsltconfig.h
|
||||
)
|
||||
|
||||
DOCS=( AUTHORS ChangeLog FEATURES NEWS README TODO )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
eautoreconf
|
||||
else
|
||||
# Prefix always needs elibtoolize if not eautoreconf'd.
|
||||
elibtoolize
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Python bindings were dropped as they were Python 2 only at the time
|
||||
# Work in 1.1.35+ is occurring to add prelim. Python 3 support, so could
|
||||
# restore if something needs them.
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
--with-html-dir="${EPREFIX}"/usr/share/doc/${PF} \
|
||||
--with-html-subdir=html \
|
||||
--without-python \
|
||||
$(use_with crypt crypto) \
|
||||
$(use_with debug) \
|
||||
$(use_with debug mem-debug) \
|
||||
$(use_enable static-libs static) \
|
||||
"$@"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# "default" does not work here - docs are installed by multilib_src_install_all
|
||||
emake DESTDIR="${D}" install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
find "${ED}" -type f -name "*.la" -delete || die
|
||||
}
|
@ -11,5 +11,6 @@
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:xmlsoft:libxslt</remote-id>
|
||||
<remote-id type="gnome-gitlab">GNOME/libxslt</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,5 +1,4 @@
|
||||
DIST linux-5.19.tar.xz 131581464 BLAKE2B 4db03a6830a3b3bbf0837e1912182a443d9a4aa8af20a12e6ec814ed708038452d3c0ccee1258cca671c464d76461536363a8adc56e9d098c9a44ae3484a297a SHA512 00313b2f9b82d2dc3fb8294007cf7d7599d254b717ed2de23c81fa7a1bbcbc2798ad286cb94e2f7f5bd54132d1d764facd90d30f79dbcc6616cc7f926adc2623
|
||||
DIST patch-5.19.12.xz 828424 BLAKE2B fa5c2a42443179dd36ee62b6b14415b261ff528296d8cf6c335012baf1408ab8b981236b247da2f8d0a68ecef5e8bc65b6e77bd8800ef1962b258fdf3f692ac1 SHA512 40ec4228cfac91607a645971ebd85e8b85d20c4d93d5fbe3fbecf87d51958c44ff218f931a1bd8f80157e66d3c956a5391cd9aef027098003b6724a6bc49b8bc
|
||||
DIST patch-5.19.2.xz 475316 BLAKE2B e1a3238a1cfb33178d1d9608821ad1f275165b0df0f4883dfd136ebe2ff31839d4cb82af60a874673b256653a0eca625dcb9016179ae9d1522099465b2014642 SHA512 53aecf0c08ce7bbd10e8f7a75397155054badeedbd20a2ef228c6726436e701095a79ae5322c8052550cbd79b8dc02b7caa30c8916cae5733a2bc04ed3157299
|
||||
DIST patch-5.19.8.xz 695676 BLAKE2B 3b661fec35c883a97f2f2b489e43cb276eb7cfe6818d37cc3482c880d8c52d3f4ce740b9791d30095d21146ae842988f684c2f7bd153359ba8d2adaaef71221c SHA512 16ee25c1a215a9a14e6bcc4ce6b1a7a83cb99c2ea7754974e247e7a84b21cab8d9f56f174fb49fc682f6a79507c0d7dc3c1162226680364eaa2e632bfb52b161
|
||||
DIST perf-5.19-binutils-2.39-patches.tar.xz 5612 BLAKE2B ec3aeadc3e2508f33dddbb419f434885b39b8220d294f3845f0bc96282923ff46dca126a04c732b8286752e56087ba5b2c5ad9526884f6d0b8b6df5665121e5e SHA512 af676e5a600e227d85f89a5ee0cfacfe1845aa56c27ef9da3ebaf578362d7e741375d30565759123b33b86d36bc9981c8c4cda113af32745cc59cf4a9275e73b
|
||||
|
@ -1,125 +0,0 @@
|
||||
# Copyright 2021-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit estack linux-info optfeature python-any-r1 toolchain-funcs
|
||||
|
||||
MY_PV="${PV/_/-}"
|
||||
MY_PV="${MY_PV/-pre/-git}"
|
||||
|
||||
DESCRIPTION="Tool for inspection and simple manipulation of eBPF programs and maps"
|
||||
HOMEPAGE="https://kernel.org/"
|
||||
|
||||
LINUX_V="${PV:0:1}.x"
|
||||
LINUX_VER=$(ver_cut 1-2)
|
||||
LINUX_PATCH=patch-${PV}.xz
|
||||
SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
|
||||
|
||||
LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
|
||||
SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
|
||||
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-util/perf/perf-5.19-binutils-2.39-patches.tar.xz"
|
||||
|
||||
S_K="${WORKDIR}/linux-${LINUX_VER}"
|
||||
S="${S_K}/tools/bpf/bpftool"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~riscv ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
||||
sys-libs/binutils-libs:=
|
||||
sys-libs/zlib:=
|
||||
virtual/libelf:=
|
||||
caps? ( sys-libs/libcap:= )
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
>=sys-kernel/linux-headers-5.8
|
||||
"
|
||||
BDEPEND="
|
||||
${LINUX_PATCH+dev-util/patchutils}
|
||||
${PYTHON_DEPS}
|
||||
dev-python/docutils
|
||||
"
|
||||
|
||||
CONFIG_CHECK="~DEBUG_INFO_BTF"
|
||||
|
||||
# src_unpack and src_prepare are copied from dev-util/perf since
|
||||
# it's building from the same tarball, please keep it in sync with perf
|
||||
src_unpack() {
|
||||
local paths=(
|
||||
tools/bpf kernel/bpf
|
||||
tools/{arch,build,include,lib,perf,scripts} {scripts,include,lib} "arch/*/lib"
|
||||
)
|
||||
|
||||
# We expect the tar implementation to support the -j option (both
|
||||
# GNU tar and libarchive's tar support that).
|
||||
echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
|
||||
tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
|
||||
"${paths[@]/#/linux-${LINUX_VER}/}" || die
|
||||
|
||||
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||
eshopts_push -o noglob
|
||||
ebegin "Filtering partial source patch"
|
||||
filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \
|
||||
> ${P}.patch
|
||||
eend $? || die "filterdiff failed"
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
local a
|
||||
for a in ${A}; do
|
||||
[[ ${a} == ${LINUX_SOURCES} ]] && continue
|
||||
[[ ${a} == ${LINUX_PATCH} ]] && continue
|
||||
unpack ${a}
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
eapply "${WORKDIR}"/${P}.patch
|
||||
popd || die
|
||||
fi
|
||||
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
# Used `git format-patch 00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00`
|
||||
# bug #868123
|
||||
eapply "${WORKDIR}"/perf-5.19-binutils-2.39-patches
|
||||
popd || die
|
||||
|
||||
# dev-python/docutils installs rst2man.py, not rst2man
|
||||
sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die
|
||||
}
|
||||
|
||||
bpftool_make() {
|
||||
local arch=$(tc-arch-kernel)
|
||||
tc-export AR CC LD
|
||||
|
||||
emake V=1 VF=1 \
|
||||
HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
|
||||
EXTRA_CFLAGS="${CFLAGS}" ARCH="${arch}" BPFTOOL_VERSION="${MY_PV}" \
|
||||
prefix="${EPREFIX}"/usr \
|
||||
feature-libcap="$(usex caps 1 0)" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
bpftool_make
|
||||
bpftool_make -C Documentation
|
||||
}
|
||||
|
||||
src_install() {
|
||||
bpftool_make DESTDIR="${D}" install
|
||||
bpftool_make mandir="${ED}"/usr/share/man -C Documentation install
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
optfeature "clang-bpf-co-re support" sys-devel/clang[llvm_targets_BPF]
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST devscripts_2.22.1.tar.xz 989556 BLAKE2B 2a2e3ca9757c710e181e807f0369c137f21070d86b4c51d8b5132ca4add33677edbd26e04a2faae93e9e4586080286888880ce450119579aa40ad205c8e5d857 SHA512 260603e1a655035c5aca3c9734db1bc6aa7e9aa017ece7e9158c57e06a1ee548922ec2defdd9dcb4560743d78aef08d30695b1bc833bd4d77fe1c7497d157c45
|
||||
DIST devscripts_2.22.2.tar.xz 995524 BLAKE2B a7649ea5b790a64b5470a66425e487959b058e9af34be173210277765c8610f7d6da1b9105f97e1da2f84a578ca7514b1dabaa7c38a88c9b1eef29c2f34f97a1 SHA512 d6c47f604a252f58e1cf8ea9fe7387a390683757144bb76cce6915fca1ff7ccb71ce6c87d829f874097d869172774a806b506dc7fb4187876d14e50eaaf92593
|
||||
|
@ -1,35 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PN="devscripts"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Perl script to check for commonly used bash features not defined by POSIX"
|
||||
HOMEPAGE="https://packages.debian.org/devscripts https://salsa.debian.org/debian/devscripts"
|
||||
SRC_URI="mirror://debian/pool/main/d/${MY_PN}/${MY_P/-/_}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}/scripts"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
|
||||
|
||||
# Requires python packages to check tools we don't need anyway
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="dev-lang/perl
|
||||
virtual/perl-Getopt-Long"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed "s@###VERSION###@${PV}@" -i checkbashisms.pl || die
|
||||
}
|
||||
|
||||
src_compile() { :; }
|
||||
|
||||
src_install() {
|
||||
newbin ${PN}.pl ${PN}
|
||||
doman ${PN}.1
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST glib-2.72.3.tar.xz 4893484 BLAKE2B 1360c887b07ede3de3a7d31589f3dfc07ada2fe3e7901d3f30048ab9a1379357753ae142c6c107b3fcd6dd61e1401fbe6db22f0e89ea617db2c1073f1900cbe6 SHA512 8834ab7498577c2f659d135b87c27b34e1157be27f6c1fe5af0d64a94654f78cbe6a87e6868966849674c34e88a9d51d2de8d89f78f86aa1e1af3482761f0638
|
||||
DIST glib-2.74.0.tar.xz 5183072 BLAKE2B b21e5a72e2ce3390cbf13601aa902104f1ac1cfbd75181d30cd340f24b5875753f898b229f99c71d47d499be86cddb0191a0072c0c2decc82956a46c16255905 SHA512 5cdadd2f4568c0c3d45083b4d39699abf651e42e020f7bc880cce3ff33d28943118388d17a0632777e843f48009c1f97d5634fde3cb8c69c7c7f35b278ac8225
|
||||
DIST glib-2.74.1.tar.xz 5189452 BLAKE2B 58d977a5d2a100aa9125f2009ae66c6f27232dff70159433076552bdb64f9a6a93d7cb705feba890ee43d6f16d4766f6f1d5502c2e01eeb7e88d5ed0dd205d5c SHA512 21176cb95fcab49a781d02789bf21191a96a34a6391f066699b3c20b414b3169c958bd86623deb34ca55912083862885f7a7d12b67cc041467da2ba94d9e83c3
|
||||
|
72
sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.74.1.ebuild
vendored
Normal file
72
sdk_container/src/third_party/portage-stable/dev-util/gdbus-codegen/gdbus-codegen-2.74.1.ebuild
vendored
Normal file
@ -0,0 +1,72 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
GNOME_ORG_MODULE="glib"
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
PYTHON_REQ_USE="xml(+)"
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
|
||||
inherit gnome.org distutils-r1
|
||||
|
||||
DESCRIPTION="GDBus code and documentation generator"
|
||||
HOMEPAGE="https://www.gtk.org/"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-libs/libxslt
|
||||
app-text/docbook-xsl-stylesheets
|
||||
"
|
||||
|
||||
S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen"
|
||||
|
||||
python_prepare_all() {
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.56.1-sitedir.patch"
|
||||
)
|
||||
distutils-r1_python_prepare_all
|
||||
|
||||
local MAJOR_VERSION=$(ver_cut 1)
|
||||
local MINOR_VERSION=$(ver_cut 2)
|
||||
sed -e 's:@PYTHON@:python:' gdbus-codegen.in > gdbus-codegen || die
|
||||
sed -e "s:@VERSION@:${PV}:" \
|
||||
-e "s:@MAJOR_VERSION@:${MAJOR_VERSION}:" \
|
||||
-e "s:@MINOR_VERSION@:${MINOR_VERSION}:" config.py.in > config.py || die
|
||||
cp "${FILESDIR}/setup.py-2.32.4" setup.py || die "cp failed"
|
||||
sed -e "s/@PV@/${PV}/" -i setup.py || die "sed setup.py failed"
|
||||
}
|
||||
|
||||
do_xsltproc_command() {
|
||||
# Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/glib-utils)
|
||||
xsltproc \
|
||||
--nonet \
|
||||
--stringparam man.output.quietly 1 \
|
||||
--stringparam funcsynopsis.style ansi \
|
||||
--stringparam man.th.extra1.suppress 1 \
|
||||
--stringparam man.authors.section.enabled 0 \
|
||||
--stringparam man.copyright.section.enabled 0 \
|
||||
-o "${2}" \
|
||||
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \
|
||||
"${1}" || die "manpage generation failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
distutils-r1_src_compile
|
||||
do_xsltproc_command "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.xml" "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
einfo "Skipping tests. This package is tested by dev-libs/glib"
|
||||
einfo "when merged with FEATURES=test"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all # no-op, but prevents QA warning
|
||||
doman "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1"
|
||||
}
|
@ -5,4 +5,7 @@
|
||||
<email>gnome@gentoo.org</email>
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="gnome-gitlab">GNOME/glib</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,2 +1,3 @@
|
||||
DIST glib-2.72.3.tar.xz 4893484 BLAKE2B 1360c887b07ede3de3a7d31589f3dfc07ada2fe3e7901d3f30048ab9a1379357753ae142c6c107b3fcd6dd61e1401fbe6db22f0e89ea617db2c1073f1900cbe6 SHA512 8834ab7498577c2f659d135b87c27b34e1157be27f6c1fe5af0d64a94654f78cbe6a87e6868966849674c34e88a9d51d2de8d89f78f86aa1e1af3482761f0638
|
||||
DIST glib-2.74.0.tar.xz 5183072 BLAKE2B b21e5a72e2ce3390cbf13601aa902104f1ac1cfbd75181d30cd340f24b5875753f898b229f99c71d47d499be86cddb0191a0072c0c2decc82956a46c16255905 SHA512 5cdadd2f4568c0c3d45083b4d39699abf651e42e020f7bc880cce3ff33d28943118388d17a0632777e843f48009c1f97d5634fde3cb8c69c7c7f35b278ac8225
|
||||
DIST glib-2.74.1.tar.xz 5189452 BLAKE2B 58d977a5d2a100aa9125f2009ae66c6f27232dff70159433076552bdb64f9a6a93d7cb705feba890ee43d6f16d4766f6f1d5502c2e01eeb7e88d5ed0dd205d5c SHA512 21176cb95fcab49a781d02789bf21191a96a34a6391f066699b3c20b414b3169c958bd86623deb34ca55912083862885f7a7d12b67cc041467da2ba94d9e83c3
|
||||
|
62
sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.74.1.ebuild
vendored
Normal file
62
sdk_container/src/third_party/portage-stable/dev-util/glib-utils/glib-utils-2.74.1.ebuild
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
GNOME_ORG_MODULE="glib"
|
||||
|
||||
inherit gnome.org python-single-r1
|
||||
|
||||
DESCRIPTION="Build utilities for GLib using projects"
|
||||
HOMEPAGE="https://www.gtk.org/"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0" # /usr/bin utilities that can't be parallel installed by their nature
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
dev-libs/libxslt
|
||||
app-text/docbook-xsl-stylesheets
|
||||
"
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
do_xsltproc_command() {
|
||||
# Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/gdbus-codegen)
|
||||
xsltproc \
|
||||
--nonet \
|
||||
--stringparam man.output.quietly 1 \
|
||||
--stringparam funcsynopsis.style ansi \
|
||||
--stringparam man.th.extra1.suppress 1 \
|
||||
--stringparam man.authors.section.enabled 0 \
|
||||
--stringparam man.copyright.section.enabled 0 \
|
||||
-o "${2}" \
|
||||
http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \
|
||||
"${1}" || die "manpage generation failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-genmarshal.in > gobject/glib-genmarshal || die
|
||||
sed -e "s:@VERSION@:${PV}:g;s:@PYTHON@:python:g" gobject/glib-mkenums.in > gobject/glib-mkenums || die
|
||||
sed -e "s:@GLIB_VERSION@:${PV}:g;s:@PYTHON@:python:g" glib/gtester-report.in > glib/gtester-report || die
|
||||
do_xsltproc_command docs/reference/gobject/glib-genmarshal.xml docs/reference/gobject/glib-genmarshal.1
|
||||
do_xsltproc_command docs/reference/gobject/glib-mkenums.xml docs/reference/gobject/glib-mkenums.1
|
||||
do_xsltproc_command docs/reference/glib/gtester-report.xml docs/reference/glib/gtester-report.1
|
||||
}
|
||||
|
||||
src_install() {
|
||||
python_fix_shebang gobject/glib-genmarshal
|
||||
python_fix_shebang gobject/glib-mkenums
|
||||
python_fix_shebang glib/gtester-report
|
||||
exeinto /usr/bin
|
||||
doexe gobject/glib-genmarshal
|
||||
doexe gobject/glib-mkenums
|
||||
doexe glib/gtester-report
|
||||
doman docs/reference/gobject/glib-genmarshal.1
|
||||
doman docs/reference/gobject/glib-mkenums.1
|
||||
doman docs/reference/glib/gtester-report.1
|
||||
}
|
@ -7,5 +7,6 @@
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:gnome:glib</remote-id>
|
||||
<remote-id type="gnome-gitlab">GNOME/glib</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -5,4 +5,7 @@
|
||||
<email>gnome@gentoo.org</email>
|
||||
<name>Gentoo GNOME Desktop</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="gnome-gitlab">GNOME/gtk-doc</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,4 +1,3 @@
|
||||
DIST meson-0.62.2.tar.gz 2038542 BLAKE2B 51446cd348f3e8681a61ebecf95f5aafcafd90654e3c86d87ee2b68239237bd889b667f3c6543faba7d4b98d7e0ed73d96c6a988913e5262d3b9611b80ff8db2 SHA512 4089588701f0f702eb3b794e0ede78b99f13ec7545d1a7470c7bfd6a857de59673684a543928dd578402578c53f38365a3a59e3e29022fd30a525353818a4195
|
||||
DIST meson-0.63.0.tar.gz 2060688 BLAKE2B 763d35a6dee42d7ef61b00c472681042289f38737374178d43eb8e66c3abe38affd372fca7aea4f4c7cd52f25ad3754485f54f24ac5e453b7a58011397ddbbb8 SHA512 8d427261bb42d2bd1da7d4f7b5f53908044aa2cea6d020fb320b0ab9d9848e17cf28deb12ae6dc139807f9e377db0c8a546561e94301216b634bd77703f17cea
|
||||
DIST meson-0.63.1.tar.gz 2064118 BLAKE2B 2d7bf439ed096cc38d9e676a8837069d10f34299cc5a61773df7a27d9a67fd33ce3b4193f33b35e5d77dc5cc346098e427f70f0dc0eafcebce055940420c785e SHA512 25f96e18bcdbb6346c44d9f8e63035d6cb3d8f781cf43ac5530ddd6f8090f4d16d192f8d331240154602e92b498b410fabb1381dc5f39db1dfb9da05a964d44e
|
||||
DIST meson-0.63.2.tar.gz 2063397 BLAKE2B 765ef8994168bb149cce4dbbbdab4a5531b1c1119db5dace1a66c2728241830c7de075d586187d3f987fcc99e4181176a5910da56552ba735dda110a641d2541 SHA512 770d8d82502c5cd419123e09f6a445d2cbaea4463c5fa79f1497c868bf5defc5e5779a6e550ef5fcf75d57322d2b25b61574f4df0cbf001c4325c6abdbbc30b4
|
||||
DIST meson-0.63.3.tar.gz 2067612 BLAKE2B aa6052330f15aa6b1f64598a60075ea3b245ba4b53d65e760670fd526e3e462c110f95e710a83f91ab32f316fdb66dff1783c79ea832ed11d263fe0a3304eaa8 SHA512 6855b2bfe05d592419bfeaf4346c3d1079319f14de995109c09a7e5e9770cef829f66d659553337b3e54ca0dd6c497bccd4abef720f299173077b664d905864b
|
||||
|
@ -1,110 +0,0 @@
|
||||
# Copyright 2016-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
|
||||
inherit git-r3
|
||||
else
|
||||
MY_P=${P/_/}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open source build system"
|
||||
HOMEPAGE="https://mesonbuild.com/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
dev-util/ninja
|
||||
dev-vcs/git
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
virtual/pkgconfig
|
||||
)
|
||||
"
|
||||
|
||||
python_prepare_all() {
|
||||
local disable_unittests=(
|
||||
# ASAN and sandbox both want control over LD_PRELOAD
|
||||
# https://bugs.gentoo.org/673016
|
||||
-e 's/test_generate_gir_with_address_sanitizer/_&/'
|
||||
|
||||
# ASAN is unsupported on some targets
|
||||
# https://bugs.gentoo.org/692822
|
||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||
|
||||
# https://github.com/mesonbuild/meson/issues/7203
|
||||
-e 's/test_templates/_&/'
|
||||
|
||||
# Broken due to python2 wrapper
|
||||
-e 's/test_python_module/_&/'
|
||||
)
|
||||
|
||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||
|
||||
# Broken due to python2 script created by python_wrapper_setup
|
||||
rm -r "test cases/frameworks/1 boost" || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
tc-export PKG_CONFIG
|
||||
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
|
||||
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
|
||||
else
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
(
|
||||
# test_meson_installed
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
|
||||
# test_cross_file_system_paths
|
||||
unset XDG_DATA_HOME
|
||||
|
||||
# 'test cases/unit/73 summary' expects 80 columns
|
||||
export COLUMNS=80
|
||||
|
||||
# If JAVA_HOME is not set, meson looks for javac in PATH.
|
||||
# If javac is in /usr/bin, meson assumes /usr/include is a valid
|
||||
# JDK include path. Setting JAVA_HOME works around this broken
|
||||
# autodetection. If no JDK is installed, we should end up with an empty
|
||||
# value in JAVA_HOME, and the tests should get skipped.
|
||||
export JAVA_HOME=$(java-config -O 2>/dev/null)
|
||||
|
||||
# Call python3 instead of EPYTHON to satisfy test_meson_uninstalled.
|
||||
python3 run_tests.py
|
||||
) || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins data/shell-completions/zsh/_meson
|
||||
|
||||
dobashcomp data/shell-completions/bash/meson
|
||||
}
|
@ -13,7 +13,7 @@ else
|
||||
MY_P=${P/_/}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 toolchain-funcs
|
||||
|
@ -37,6 +37,10 @@ DEPEND="
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.63-xtools-support.patch
|
||||
)
|
||||
|
||||
python_prepare_all() {
|
||||
local disable_unittests=(
|
||||
# ASAN and sandbox both want control over LD_PRELOAD
|
@ -1,2 +1,2 @@
|
||||
DIST patchelf-0.14.5.tar.gz 124767 BLAKE2B f2e02fb468db7c8c0c4270c7f95ea6c8dc6ffab7ddb0a6479bd5d1dd0481cbc55982af21a13f42076504417264a11e74d50a9f15d3d5735e47019001abf33e41 SHA512 1b7eca84f6fe2d6f6d4469ca1ccdf35dc920d2052ba94b7daeba6c8cb41fdaff20b1e5bac7c8a7650ff12bf4156da87f84d32e75b09958636dc992a1b7b1a59d
|
||||
DIST patchelf-0.15.0.tar.gz 125803 BLAKE2B 08fc2cffd7d9e835c01c828c16762fb0b3c3e422990f2d0028a65a3e0ec849d01bdef699b6f68afa6bf307e34f5e76121fc94460793c95c055552e1d8a68d772 SHA512 3b2d3d6458be5b2d43cd2878dfb1a185a95cc13cd4c94abd0ee79979afb36f46e347acc292b8d9c2954a342b7291774e6a1b63930e9f90a1cf4179ec075ab046
|
||||
DIST patchelf-0.16.1.tar.gz 132450 BLAKE2B 047fe9900eff3a4fef19550b49ea3c53dc8fc77c1d110888af39362dce745c3568e493f91d96cd35d73291da8e0cf4f10121162f4e8a32d43a3c014716477a4c SHA512 62475b942ff07c2eb225760d69eab99af4e9aa14ca51aeb3b7d53a6a1943b02acffc1b2059d985a921f5af7bbaf40a096b8cdf592979260e1e2602db02e7f247
|
||||
|
@ -9,7 +9,7 @@ DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executa
|
||||
HOMEPAGE="https://github.com/NixOS/patchelf"
|
||||
SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 arm arm64 ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~riscv-linux ~x86-linux"
|
||||
KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~riscv-linux ~x86-linux"
|
||||
LICENSE="GPL-3"
|
||||
|
||||
src_prepare() {
|
||||
|
@ -9,7 +9,7 @@ DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executa
|
||||
HOMEPAGE="https://github.com/NixOS/patchelf"
|
||||
SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~riscv-linux ~x86-linux"
|
||||
LICENSE="GPL-3"
|
||||
|
||||
src_prepare() {
|
@ -1,2 +1,3 @@
|
||||
DIST strace-5.17.tar.xz 2281220 BLAKE2B 27e7dc19302c58144b0a7d8de41f717760b8e3cde4ab56892045727597bbfc894bf8f137aee476548c2d16d1e9c8005f931f31a5d2f8bfc4ce5565c2aa01f1ec SHA512 1b63cf7e6e339333b9d24fa20232409192abc815f2ebe2e336ef4acc039cd06c976b3c12e9ce993491a0e6b86c26b90ceba962f580e894b1ff5ab9863bdfcc44
|
||||
DIST strace-5.19.tar.xz 2353276 BLAKE2B 44b9a87f36e66481d8ac2107efbc389fa64c47b2ae7b1cc728241baa1c7d2d5d4d9410622763eb1247b415cad9afdd9f61552d2545388cadf5a33b568ed09af2 SHA512 1ea1c6e12d05bf145bc3c74f8d06b08dfc3eae3a5a21bfe8ab080053dc4c2da8a95be5956652ea62bb083462015a55f9bc1d1023919dcf2929a05211b7dde963
|
||||
DIST strace-6.0.tar.xz 2367144 BLAKE2B ab9cb1f81b01068de5af5125ec2901b57a2f2b24fc01f4f68a284d74eb9fc0f4d583510a353554327845e7c157ea71ca4042ce3c27b3d2b0469d65a13aabfab1 SHA512 2f5aa18949b9f64769eee4e7720e41bf4a61e3b552acad693ff7baed2e662407a7b5e8bfba94ac49bb71639d21cd54084de902fb4337904f48480b25b8e72b54
|
||||
|
108
sdk_container/src/third_party/portage-stable/dev-util/strace/strace-6.0.ebuild
vendored
Normal file
108
sdk_container/src/third_party/portage-stable/dev-util/strace/strace-6.0.ebuild
vendored
Normal file
@ -0,0 +1,108 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools edo flag-o-matic toolchain-funcs
|
||||
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/strace/strace.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A useful diagnostic, instructional, and debugging tool"
|
||||
HOMEPAGE="https://strace.io/"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="aio perl selinux static unwind elfutils"
|
||||
REQUIRED_USE="?? ( unwind elfutils )"
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
LIB_DEPEND="
|
||||
unwind? ( sys-libs/libunwind[static-libs(+)] )
|
||||
elfutils? ( dev-libs/elfutils[static-libs(+)] )
|
||||
selinux? ( sys-libs/libselinux[static-libs(+)] )
|
||||
"
|
||||
# strace only uses the header from libaio to decode structs
|
||||
DEPEND="
|
||||
static? ( ${LIB_DEPEND} )
|
||||
aio? ( >=dev-libs/libaio-0.3.106 )
|
||||
sys-kernel/linux-headers
|
||||
"
|
||||
RDEPEND="
|
||||
!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
perl? ( dev-lang/perl )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-5.11-static.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ! -e configure ]] ; then
|
||||
# git generation
|
||||
sed /autoreconf/d -i bootstrap || die
|
||||
edo ./bootstrap
|
||||
[[ ! -e CREDITS ]] && cp CREDITS{.in,}
|
||||
fi
|
||||
|
||||
eautoreconf
|
||||
|
||||
# Stub out the -k test since it's known to be flaky. bug #545812
|
||||
sed -i '1iexit 77' tests*/strace-k.test || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Set up the default build settings, and then use the names strace expects.
|
||||
tc-export_build_env BUILD_{CC,CPP}
|
||||
local v bv
|
||||
for v in CC CPP {C,CPP,LD}FLAGS ; do
|
||||
bv="BUILD_${v}"
|
||||
export "${v}_FOR_BUILD=${!bv}"
|
||||
done
|
||||
|
||||
filter-lfs-flags # configure handles this sanely
|
||||
|
||||
export ac_cv_header_libaio_h=$(usex aio)
|
||||
use elibc_musl && export ac_cv_header_stdc=no
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-gcc-Werror
|
||||
|
||||
# Don't require mpers support on non-multilib systems. #649560
|
||||
--enable-mpers=check
|
||||
|
||||
$(use_enable static)
|
||||
$(use_with unwind libunwind)
|
||||
$(use_with elfutils libdw)
|
||||
$(use_with selinux libselinux)
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if has usersandbox ${FEATURES} ; then
|
||||
# bug #643044
|
||||
ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use perl ; then
|
||||
exeinto /usr/bin
|
||||
doexe src/strace-graph
|
||||
fi
|
||||
|
||||
dodoc CREDITS
|
||||
}
|
@ -1,4 +1,2 @@
|
||||
DIST nmap-7.92.tar.bz2 10498200 BLAKE2B 0f3022e797ffca7d1d3497990c86bb60ac9a80bb93cb4ec7fcfa4f51782cb8d79d4f0aca0fa6119bfd604cfe7b89af3d4223ce13ad3e6c948c021909aebd956b SHA512 7828367f9dc76ff4d1e8c821260e565fb0c3cb6aba0473d24759133a3006cdf2cb087574f0dd7d2ba47a63754ba4f72e0b78cdae1333a58f05c41d428b56ad59
|
||||
DIST nmap-7.92.tar.bz2.asc 195 BLAKE2B a8052138e58cd8009341a5f3fb3a31f55af9383b9dbb6c7ce858d80541e000b17953c053e9a3a6d86a5551244cf13f181e6e3943095b86335cbb5dae96e20bdd SHA512 300a22ab097bbff67de354de6b22a8e3287f95dd6318fcabd546ba52158e9589b19ede175587c6e31518c47bc118c7dd05db43755def075d810b16945b65e05a
|
||||
DIST nmap-7.93.tar.bz2 10823114 BLAKE2B e9fa0fe0f219258ab29cf59a98f09142ce1e5e70395f6578d57e644d343ff95764a8208f2fd00a686a14217821adb038a1bb4cdf25f355696e68131773cc1995 SHA512 4ec9295e25bd7a215e718c3dbbf09bfe6339b60850f4a8d09b5ad0cbf41a0da8ece0168efc5ca91ba1ecbd83b1d31735d77dacd5f1ec1a9fd212454dd1f0f0fd
|
||||
DIST nmap-7.93.tar.bz2.asc 195 BLAKE2B 0c18200507c8c0901df6f0fa3230330eff72dd5e54f2d862d35a1df26b9ff3b189cebe0b91cdf47c4f87fef523cc6d9c3bcc36a42d8fcc8be7830fc861c64b5f SHA512 9bd8e436a6f7010ba2e3578affc4174fae12e2e7b78e523ceeb94ba44ccd928ac2cf5da52d02a00c4f190f71425671cc817b44a6a2f8d0b42b10d535bb1af3a9
|
||||
|
@ -1,142 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
LUA_COMPAT=( lua5-3 )
|
||||
LUA_REQ_USE="deprecated"
|
||||
inherit autotools lua-single toolchain-funcs
|
||||
|
||||
DESCRIPTION="Network exploration tool and security / port scanner"
|
||||
HOMEPAGE="https://nmap.org/"
|
||||
if [[ ${PV} == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
|
||||
EGIT_REPO_URI="https://github.com/nmap/nmap"
|
||||
|
||||
# Just in case for now as future seems undecided.
|
||||
LICENSE="NPSL"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/nmap.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI="https://nmap.org/dist/${P}.tar.bz2"
|
||||
SRC_URI+=" verify-sig? ( https://nmap.org/dist/sigs/${P}.tar.bz2.asc )"
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
|
||||
LICENSE="|| ( NPSL GPL-2 )"
|
||||
fi
|
||||
|
||||
SLOT="0"
|
||||
IUSE="ipv6 libssh2 ncat nping +nse ssl symlink +system-lua"
|
||||
REQUIRED_USE="
|
||||
system-lua? ( nse ${LUA_REQUIRED_USE} )
|
||||
symlink? ( ncat )
|
||||
"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/liblinear:=
|
||||
dev-libs/libpcre
|
||||
net-libs/libpcap
|
||||
libssh2? (
|
||||
net-libs/libssh2[zlib]
|
||||
sys-libs/zlib
|
||||
)
|
||||
nse? ( sys-libs/zlib )
|
||||
ssl? ( dev-libs/openssl:0= )
|
||||
symlink? (
|
||||
!net-analyzer/netcat
|
||||
!net-analyzer/openbsd-netcat
|
||||
)
|
||||
system-lua? ( ${LUA_DEPS} )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
if [[ ${PV} != *9999* ]] ; then
|
||||
BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-nmap )"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.10_beta1-string.patch
|
||||
"${FILESDIR}"/${PN}-5.21-python.patch
|
||||
"${FILESDIR}"/${PN}-6.46-uninstaller.patch
|
||||
"${FILESDIR}"/${PN}-6.25-liblua-ar.patch
|
||||
"${FILESDIR}"/${PN}-7.25-CXXFLAGS.patch
|
||||
"${FILESDIR}"/${PN}-7.25-libpcre.patch
|
||||
"${FILESDIR}"/${PN}-7.31-libnl.patch
|
||||
"${FILESDIR}"/${PN}-7.80-ac-config-subdirs.patch
|
||||
"${FILESDIR}"/${PN}-7.91-no-FORTIFY_SOURCE.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use system-lua && lua-single_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
rm -r liblinear/ libpcap/ libpcre/ libssh2/ libz/ || die
|
||||
|
||||
cat "${FILESDIR}"/nls.m4 >> "${S}"/acinclude.m4 || die
|
||||
|
||||
default
|
||||
|
||||
sed -i \
|
||||
-e '/^ALL_LINGUAS =/{s|$| id|g;s|jp|ja|g}' \
|
||||
Makefile.in || die
|
||||
|
||||
cp libdnet-stripped/include/config.h.in{,.nmap-orig} || die
|
||||
|
||||
eautoreconf
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# we need the original for a Darwin-specific fix, bug #604432
|
||||
mv libdnet-stripped/include/config.h.in{.nmap-orig,} || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# The bundled libdnet is incompatible with the version available in the
|
||||
# tree, so we cannot use the system library here.
|
||||
econf \
|
||||
$(use_enable ipv6) \
|
||||
$(use_with libssh2) \
|
||||
$(use_with ncat) \
|
||||
$(use_with nping) \
|
||||
$(use_with ssl openssl) \
|
||||
$(usex libssh2 --with-zlib) \
|
||||
$(usex nse --with-liblua=$(usex system-lua yes included '' '') --without-liblua) \
|
||||
$(usex nse --with-zlib) \
|
||||
--cache-file="${S}"/config.cache \
|
||||
--with-libdnet=included \
|
||||
--with-pcre="${ESYSROOT}"/usr \
|
||||
--without-ndiff \
|
||||
--without-zenmap
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local directory
|
||||
for directory in . libnetutil nsock/src \
|
||||
$(usex ncat ncat '') \
|
||||
$(usex nping nping '')
|
||||
do
|
||||
emake -C "${directory}" makefile.dep
|
||||
done
|
||||
|
||||
emake \
|
||||
AR="$(tc-getAR)" \
|
||||
RANLIB="$(tc-getRANLIB)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# See bug #831713 for return of -j1
|
||||
LC_ALL=C emake \
|
||||
-j1 \
|
||||
DESTDIR="${D}" \
|
||||
STRIP=: \
|
||||
nmapdatadir="${EPREFIX}"/usr/share/nmap \
|
||||
install
|
||||
|
||||
dodoc CHANGELOG HACKING docs/README docs/*.txt
|
||||
|
||||
use symlink && dosym /usr/bin/ncat /usr/bin/nc
|
||||
}
|
@ -1,6 +1 @@
|
||||
DIST bind-9.16.27.tar.xz 5084340 BLAKE2B 37b49ce81aa5122493a4feb2bb7be53c5d46ff2ce28456aec31ce1332520a09c10bb2293c736bffe7badbc2bc3d156c05f83367678bd101e17b99ca3ff69bebf SHA512 5c71f228db83aa8cc9e65466d6e5afca4a9f80c693358111a003fe09e1a14522175eb2b6a0f11e2a2cd4fdba01f2ae315de52e394a441b3861ca2a011e02af62
|
||||
DIST bind-9.16.29.tar.xz 5088348 BLAKE2B 17ee1443926327c30f1d5820110b01a193c53eb24e23385b713217a4e49d9c2b5ddb6e1c49cb80d2c9083c71ce7872a26fe3597209f2e3215e6cc7e930e68004 SHA512 b4acbafed370438ac53e73468ccb5ea5745a1c8f764dd96f9c9a027594a3b7ce0d486e7f01138b39795b456265e0e6116cd76e44f5a3329687cd718550ca79fb
|
||||
DIST bind-9.16.30.tar.xz 5086288 BLAKE2B 35fe14b58a018df25563e58a9632b4431f740bc7a708eb823117541548d23b1855e43058cf7323361ca904d5e59d687e282abb73dc8b617e4eb25ef113168e93 SHA512 cc9bcbedf63c2efe0a23f14db3e57fdae46f0509aac58e5840a6805ce4fbd76cad5bfde4d461442adb88c4d947f8d79bf979aeb24aeb9303b6adc8d169b7118c
|
||||
DIST bind-9.16.31.tar.xz 5087424 BLAKE2B 75c9038c00fe289161a15a8e4fdadaef5a6a7f3ca03068ec24e82aa9f30ac82d0ded9cf73df83219058cd81b198ea8f561211a323e31b41407294f6932dc61d3 SHA512 8577b4d021a5a763b8669d59ef6c3499238e87657ca94ccfc530cb9a7a215ee3682002aa6141f5731154cbc43e0e6094372961468811a68bbd2a37e20e287c7e
|
||||
DIST bind-9.16.32.tar.xz 5091860 BLAKE2B df6f2c878138015da580dfaf0e16b5a97b11ead9f99c1425a09da8484954196ea3dafb828ac3ab386200ce2b180646c7eb1e0e62a84c153162270a4a1e19a5fc SHA512 99abedf055901b43e1a85c448ee4c2dd731b7ab77de1454b73c8f9df816aa32262e70e23a8112959d94be990fd4f1c48c36611657ba745670141a7447fd53316
|
||||
DIST bind-9.16.33.tar.xz 5092516 BLAKE2B 4246b61ce91af3d494ace4b8065b4c0043b2cfaf28c6de326691a969837e7d1cfbc0dac6b1e1a5182fc32af68048abcfa1202d00022951f3caa13afb03ebeb69 SHA512 43fd2cea52dfd1115a4cca83830ab5b93208be401cdbbdff2bbf204b8f0d99fb434ad3156d3a21649488cc904ae09f145feba97b9b6918b0cf063ff5e2b10af5
|
||||
|
@ -1,152 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic toolchain-funcs
|
||||
|
||||
MY_PN=${PN//-tools}
|
||||
MY_PV=${PV/_p/-P}
|
||||
MY_PV=${MY_PV/_rc/rc}
|
||||
MY_P="${MY_PN}-${MY_PV}"
|
||||
|
||||
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
|
||||
HOMEPAGE="https://www.isc.org/software/bind"
|
||||
SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+caps doc gssapi idn ipv6 libedit readline xml"
|
||||
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687
|
||||
|
||||
COMMON_DEPEND="
|
||||
dev-libs/libuv:=
|
||||
caps? ( sys-libs/libcap )
|
||||
dev-libs/openssl:=
|
||||
xml? ( dev-libs/libxml2 )
|
||||
idn? ( net-dns/libidn2:= )
|
||||
gssapi? ( virtual/krb5 )
|
||||
libedit? ( dev-libs/libedit )
|
||||
!libedit? (
|
||||
readline? ( sys-libs/readline:= )
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
# sphinx required for man-page and html creation
|
||||
BDEPEND="
|
||||
doc? ( dev-python/sphinx )
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
# bug 479092, requires networking
|
||||
RESTRICT="test"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
export LDFLAGS="${LDFLAGS} -L${EPREFIX}/usr/$(get_libdir)"
|
||||
|
||||
# Disable tests for now, bug 406399
|
||||
sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die
|
||||
|
||||
# Do not disable thread local storage on Solaris, it works with our
|
||||
# toolchain, and it breaks further configure checks
|
||||
sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die
|
||||
|
||||
# bug #220361
|
||||
rm aclocal.m4 || die
|
||||
rm -rf libtool.m4/ || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--localstatedir="${EPREFIX}"/var
|
||||
--without-python
|
||||
--without-libjson
|
||||
--without-zlib
|
||||
--without-lmdb
|
||||
--without-maxminddb
|
||||
--disable-geoip
|
||||
--with-openssl="${ESYSROOT}"/usr
|
||||
$(use_with idn libidn2 "${ESYSROOT}"/usr)
|
||||
$(use_with xml libxml2)
|
||||
$(use_with gssapi)
|
||||
$(use_with readline)
|
||||
$(use_enable caps linux-caps)
|
||||
AR="$(type -P $(tc-getAR))"
|
||||
)
|
||||
|
||||
# bug 607400
|
||||
if use libedit ; then
|
||||
myeconfargs+=( --with-readline=-ledit )
|
||||
elif use readline ; then
|
||||
myeconfargs+=( --with-readline=-lreadline )
|
||||
else
|
||||
myeconfargs+=( --without-readline )
|
||||
fi
|
||||
|
||||
# bug 344029
|
||||
append-cflags "-DDIG_SIGCHASE"
|
||||
|
||||
# to expose CMSG_* macros from sys/sockets.h
|
||||
[[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600"
|
||||
|
||||
# localstatedir for nsupdate -l, bug 395785
|
||||
tc-export BUILD_CC
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
# bug #151839
|
||||
echo '#undef SO_BSDCOMPAT' >> config.h
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local AR=$(tc-getAR)
|
||||
|
||||
emake AR="${AR}" -C lib/
|
||||
emake AR="${AR}" -C bin/delv/
|
||||
emake AR="${AR}" -C bin/dig/
|
||||
emake AR="${AR}" -C bin/nsupdate/
|
||||
emake AR="${AR}" -C bin/dnssec/
|
||||
emake -C doc/man/ man $(usev doc)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local man_dir="${S}/doc/man"
|
||||
local html_dir="${man_dir}/_build/html"
|
||||
|
||||
dodoc README CHANGES
|
||||
|
||||
cd "${S}"/bin/delv || die
|
||||
dobin delv
|
||||
doman ${man_dir}/delv.1
|
||||
|
||||
cd "${S}"/bin/dig || die
|
||||
dobin dig host nslookup
|
||||
doman ${man_dir}/{dig,host,nslookup}.1
|
||||
|
||||
cd "${S}"/bin/nsupdate || die
|
||||
dobin nsupdate
|
||||
doman ${man_dir}/nsupdate.1
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/nsupdate.html
|
||||
fi
|
||||
|
||||
cd "${S}"/bin/dnssec || die
|
||||
for tool in dsfromkey importkey keyfromlabel keygen \
|
||||
revoke settime signzone verify; do
|
||||
dobin dnssec-"${tool}"
|
||||
doman ${man_dir}/dnssec-"${tool}".8
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/dnssec-"${tool}".html
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,156 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic toolchain-funcs
|
||||
|
||||
MY_PN=${PN//-tools}
|
||||
MY_PV=${PV/_p/-P}
|
||||
MY_PV=${MY_PV/_rc/rc}
|
||||
MY_P="${MY_PN}-${MY_PV}"
|
||||
|
||||
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
|
||||
HOMEPAGE="https://www.isc.org/software/bind"
|
||||
SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+caps doc gssapi idn ipv6 libedit readline xml"
|
||||
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687
|
||||
|
||||
COMMON_DEPEND="
|
||||
dev-libs/libuv:=
|
||||
caps? ( sys-libs/libcap )
|
||||
dev-libs/openssl:=
|
||||
xml? ( dev-libs/libxml2 )
|
||||
idn? ( net-dns/libidn2:= )
|
||||
gssapi? ( virtual/krb5 )
|
||||
libedit? ( dev-libs/libedit )
|
||||
!libedit? (
|
||||
readline? ( sys-libs/readline:= )
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
# sphinx required for man-page and html creation
|
||||
BDEPEND="
|
||||
doc? ( dev-python/sphinx )
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
# bug 479092, requires networking
|
||||
RESTRICT="test"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-fortify-source-3.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
export LDFLAGS="${LDFLAGS} -L${EPREFIX}/usr/$(get_libdir)"
|
||||
|
||||
# Disable tests for now, bug 406399
|
||||
sed -i '/^SUBDIRS/s:tests::' bin/Makefile.in lib/Makefile.in || die
|
||||
|
||||
# Do not disable thread local storage on Solaris, it works with our
|
||||
# toolchain, and it breaks further configure checks
|
||||
sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die
|
||||
|
||||
# bug #220361
|
||||
rm aclocal.m4 || die
|
||||
rm -rf libtool.m4/ || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--localstatedir="${EPREFIX}"/var
|
||||
--without-python
|
||||
--without-libjson
|
||||
--without-zlib
|
||||
--without-lmdb
|
||||
--without-maxminddb
|
||||
--disable-geoip
|
||||
--with-openssl="${ESYSROOT}"/usr
|
||||
$(use_with idn libidn2 "${ESYSROOT}"/usr)
|
||||
$(use_with xml libxml2)
|
||||
$(use_with gssapi)
|
||||
$(use_with readline)
|
||||
$(use_enable caps linux-caps)
|
||||
AR="$(type -P $(tc-getAR))"
|
||||
)
|
||||
|
||||
# bug 607400
|
||||
if use libedit ; then
|
||||
myeconfargs+=( --with-readline=-ledit )
|
||||
elif use readline ; then
|
||||
myeconfargs+=( --with-readline=-lreadline )
|
||||
else
|
||||
myeconfargs+=( --without-readline )
|
||||
fi
|
||||
|
||||
# bug 344029
|
||||
append-cflags "-DDIG_SIGCHASE"
|
||||
|
||||
# to expose CMSG_* macros from sys/sockets.h
|
||||
[[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600"
|
||||
|
||||
# localstatedir for nsupdate -l, bug 395785
|
||||
tc-export BUILD_CC
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
# bug #151839
|
||||
echo '#undef SO_BSDCOMPAT' >> config.h
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local AR=$(tc-getAR)
|
||||
|
||||
emake AR="${AR}" -C lib/
|
||||
emake AR="${AR}" -C bin/delv/
|
||||
emake AR="${AR}" -C bin/dig/
|
||||
emake AR="${AR}" -C bin/nsupdate/
|
||||
emake AR="${AR}" -C bin/dnssec/
|
||||
emake -C doc/man/ man $(usev doc)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local man_dir="${S}/doc/man"
|
||||
local html_dir="${man_dir}/_build/html"
|
||||
|
||||
dodoc README CHANGES
|
||||
|
||||
cd "${S}"/bin/delv || die
|
||||
dobin delv
|
||||
doman ${man_dir}/delv.1
|
||||
|
||||
cd "${S}"/bin/dig || die
|
||||
dobin dig host nslookup
|
||||
doman ${man_dir}/{dig,host,nslookup}.1
|
||||
|
||||
cd "${S}"/bin/nsupdate || die
|
||||
dobin nsupdate
|
||||
doman ${man_dir}/nsupdate.1
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/nsupdate.html
|
||||
fi
|
||||
|
||||
cd "${S}"/bin/dnssec || die
|
||||
for tool in dsfromkey importkey keyfromlabel keygen \
|
||||
revoke settime signzone verify; do
|
||||
dobin dnssec-"${tool}"
|
||||
doman ${man_dir}/dnssec-"${tool}".8
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/dnssec-"${tool}".html
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,156 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools flag-o-matic multiprocessing toolchain-funcs
|
||||
|
||||
MY_PN=${PN//-tools}
|
||||
MY_PV=${PV/_p/-P}
|
||||
MY_PV=${MY_PV/_rc/rc}
|
||||
MY_P="${MY_PN}-${MY_PV}"
|
||||
|
||||
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
|
||||
HOMEPAGE="https://www.isc.org/software/bind"
|
||||
SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+caps doc gssapi idn ipv6 libedit readline test xml"
|
||||
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug 409687
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
dev-libs/libuv:=
|
||||
dev-libs/openssl:=
|
||||
caps? ( sys-libs/libcap )
|
||||
xml? ( dev-libs/libxml2 )
|
||||
idn? ( net-dns/libidn2:= )
|
||||
gssapi? ( virtual/krb5 )
|
||||
libedit? ( dev-libs/libedit )
|
||||
!libedit? (
|
||||
readline? ( sys-libs/readline:= )
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
# sphinx required for man-page and html creation
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? ( dev-python/sphinx )
|
||||
test? (
|
||||
dev-util/cmocka
|
||||
dev-util/kyua
|
||||
)
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)"
|
||||
|
||||
# Do not disable thread local storage on Solaris, it works with our
|
||||
# toolchain, and it breaks further configure checks
|
||||
sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die
|
||||
|
||||
# bug #220361
|
||||
rm aclocal.m4 || die
|
||||
rm -rf libtool.m4/ || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--localstatedir="${EPREFIX}"/var
|
||||
--without-python
|
||||
--without-libjson
|
||||
--without-zlib
|
||||
--without-lmdb
|
||||
--without-maxminddb
|
||||
--disable-geoip
|
||||
--with-openssl="${ESYSROOT}"/usr
|
||||
$(use_with idn libidn2 "${ESYSROOT}"/usr)
|
||||
$(use_with xml libxml2)
|
||||
$(use_with gssapi)
|
||||
$(use_with readline)
|
||||
$(use_enable caps linux-caps)
|
||||
AR="$(type -P $(tc-getAR))"
|
||||
)
|
||||
|
||||
# bug 607400
|
||||
if use libedit ; then
|
||||
myeconfargs+=( --with-readline=-ledit )
|
||||
elif use readline ; then
|
||||
myeconfargs+=( --with-readline=-lreadline )
|
||||
else
|
||||
myeconfargs+=( --without-readline )
|
||||
fi
|
||||
|
||||
# bug #344029
|
||||
append-cflags "-DDIG_SIGCHASE"
|
||||
|
||||
# to expose CMSG_* macros from sys/sockets.h
|
||||
[[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600"
|
||||
|
||||
# localstatedir for nsupdate -l, bug #395785
|
||||
tc-export BUILD_CC
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
# bug #151839
|
||||
echo '#undef SO_BSDCOMPAT' >> config.h || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local AR="$(tc-getAR)"
|
||||
|
||||
emake AR="${AR}" -C lib/
|
||||
emake AR="${AR}" -C bin/delv/
|
||||
emake AR="${AR}" -C bin/dig/
|
||||
emake AR="${AR}" -C bin/nsupdate/
|
||||
emake AR="${AR}" -C bin/dnssec/
|
||||
emake -C doc/man/ man $(usev doc)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# system tests ('emake test') require network configuration for IPs etc
|
||||
TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake unit
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local man_dir="${S}/doc/man"
|
||||
local html_dir="${man_dir}/_build/html"
|
||||
|
||||
dodoc README CHANGES
|
||||
|
||||
cd "${S}"/bin/delv || die
|
||||
dobin delv
|
||||
doman ${man_dir}/delv.1
|
||||
|
||||
cd "${S}"/bin/dig || die
|
||||
dobin dig host nslookup
|
||||
doman ${man_dir}/{dig,host,nslookup}.1
|
||||
|
||||
cd "${S}"/bin/nsupdate || die
|
||||
dobin nsupdate
|
||||
doman ${man_dir}/nsupdate.1
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/nsupdate.html
|
||||
fi
|
||||
|
||||
cd "${S}"/bin/dnssec || die
|
||||
for tool in dsfromkey importkey keyfromlabel keygen \
|
||||
revoke settime signzone verify; do
|
||||
dobin dnssec-"${tool}"
|
||||
doman ${man_dir}/dnssec-"${tool}".8
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/dnssec-"${tool}".html
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,157 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools flag-o-matic multiprocessing toolchain-funcs
|
||||
|
||||
MY_PN=${PN//-tools}
|
||||
MY_PV=${PV/_p/-P}
|
||||
MY_PV=${MY_PV/_rc/rc}
|
||||
MY_P="${MY_PN}-${MY_PV}"
|
||||
|
||||
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
|
||||
HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9"
|
||||
SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+caps doc gssapi idn libedit readline test xml"
|
||||
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
dev-libs/libuv:=
|
||||
dev-libs/openssl:=
|
||||
caps? ( sys-libs/libcap )
|
||||
xml? ( dev-libs/libxml2 )
|
||||
idn? ( net-dns/libidn2:= )
|
||||
gssapi? ( virtual/krb5 )
|
||||
libedit? ( dev-libs/libedit )
|
||||
!libedit? (
|
||||
readline? ( sys-libs/readline:= )
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
# sphinx required for man-page and html creation
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? ( dev-python/sphinx )
|
||||
test? (
|
||||
dev-util/cmocka
|
||||
dev-util/kyua
|
||||
)
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)"
|
||||
|
||||
# Do not disable thread local storage on Solaris, it works with our
|
||||
# toolchain, and it breaks further configure checks
|
||||
sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die
|
||||
|
||||
# bug #220361
|
||||
rm aclocal.m4 || die
|
||||
rm -rf libtool.m4/ || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--localstatedir="${EPREFIX}"/var
|
||||
--without-python
|
||||
--without-libjson
|
||||
--without-zlib
|
||||
--without-lmdb
|
||||
--without-maxminddb
|
||||
--disable-geoip
|
||||
--with-openssl="${ESYSROOT}"/usr
|
||||
$(use_with idn libidn2 "${ESYSROOT}"/usr)
|
||||
$(use_with xml libxml2)
|
||||
$(use_with gssapi)
|
||||
$(use_with readline)
|
||||
$(use_enable caps linux-caps)
|
||||
AR="$(type -P $(tc-getAR))"
|
||||
)
|
||||
|
||||
# bug 607400
|
||||
if use libedit ; then
|
||||
myeconfargs+=( --with-readline=-ledit )
|
||||
elif use readline ; then
|
||||
myeconfargs+=( --with-readline=-lreadline )
|
||||
else
|
||||
myeconfargs+=( --without-readline )
|
||||
fi
|
||||
|
||||
# bug #344029
|
||||
append-cflags "-DDIG_SIGCHASE"
|
||||
|
||||
# to expose CMSG_* macros from sys/sockets.h
|
||||
[[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600"
|
||||
|
||||
# localstatedir for nsupdate -l, bug #395785
|
||||
tc-export BUILD_CC
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
# bug #151839
|
||||
echo '#undef SO_BSDCOMPAT' >> config.h || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local AR="$(tc-getAR)"
|
||||
|
||||
emake AR="${AR}" -C lib/
|
||||
emake AR="${AR}" -C bin/delv/
|
||||
emake AR="${AR}" -C bin/dig/
|
||||
emake AR="${AR}" -C bin/nsupdate/
|
||||
emake AR="${AR}" -C bin/dnssec/
|
||||
emake -C doc/man/ man $(usev doc)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# system tests ('emake test') require network configuration for IPs etc
|
||||
# so we run the unit tests instead.
|
||||
TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake unit
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local man_dir="${S}/doc/man"
|
||||
local html_dir="${man_dir}/_build/html"
|
||||
|
||||
dodoc README CHANGES
|
||||
|
||||
cd "${S}"/bin/delv || die
|
||||
dobin delv
|
||||
doman ${man_dir}/delv.1
|
||||
|
||||
cd "${S}"/bin/dig || die
|
||||
dobin dig host nslookup
|
||||
doman ${man_dir}/{dig,host,nslookup}.1
|
||||
|
||||
cd "${S}"/bin/nsupdate || die
|
||||
dobin nsupdate
|
||||
doman ${man_dir}/nsupdate.1
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/nsupdate.html
|
||||
fi
|
||||
|
||||
cd "${S}"/bin/dnssec || die
|
||||
for tool in dsfromkey importkey keyfromlabel keygen \
|
||||
revoke settime signzone verify; do
|
||||
dobin dnssec-"${tool}"
|
||||
doman ${man_dir}/dnssec-"${tool}".8
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/dnssec-"${tool}".html
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,157 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools flag-o-matic multiprocessing toolchain-funcs
|
||||
|
||||
MY_PN=${PN//-tools}
|
||||
MY_PV=${PV/_p/-P}
|
||||
MY_PV=${MY_PV/_rc/rc}
|
||||
MY_P="${MY_PN}-${MY_PV}"
|
||||
|
||||
DESCRIPTION="bind tools: dig, nslookup, host, nsupdate, dnssec-keygen"
|
||||
HOMEPAGE="https://www.isc.org/software/bind https://gitlab.isc.org/isc-projects/bind9"
|
||||
SRC_URI="https://downloads.isc.org/isc/bind9/${PV}/${MY_P}.tar.xz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD BSD-2 GPL-2 HPND ISC MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+caps doc gssapi idn libedit readline test xml"
|
||||
# no PKCS11 currently as it requires OpenSSL to be patched, also see bug #409687
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
dev-libs/libuv:=
|
||||
dev-libs/openssl:=
|
||||
caps? ( sys-libs/libcap )
|
||||
xml? ( dev-libs/libxml2 )
|
||||
idn? ( net-dns/libidn2:= )
|
||||
gssapi? ( virtual/krb5 )
|
||||
libedit? ( dev-libs/libedit )
|
||||
!libedit? (
|
||||
readline? ( sys-libs/readline:= )
|
||||
)
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
# sphinx required for man-page and html creation
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
doc? ( dev-python/sphinx )
|
||||
test? (
|
||||
dev-util/cmocka
|
||||
dev-util/kyua
|
||||
)
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)"
|
||||
|
||||
# Do not disable thread local storage on Solaris, it works with our
|
||||
# toolchain, and it breaks further configure checks
|
||||
sed -i -e '/LDFLAGS=/s/-zrelax=transtls//' configure.ac configure || die
|
||||
|
||||
# bug #220361
|
||||
rm aclocal.m4 || die
|
||||
rm -rf libtool.m4/ || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--localstatedir="${EPREFIX}"/var
|
||||
--without-python
|
||||
--without-libjson
|
||||
--without-zlib
|
||||
--without-lmdb
|
||||
--without-maxminddb
|
||||
--disable-geoip
|
||||
--with-openssl="${ESYSROOT}"/usr
|
||||
$(use_with idn libidn2 "${ESYSROOT}"/usr)
|
||||
$(use_with xml libxml2)
|
||||
$(use_with gssapi)
|
||||
$(use_with readline)
|
||||
$(use_enable caps linux-caps)
|
||||
AR="$(type -P $(tc-getAR))"
|
||||
)
|
||||
|
||||
# bug 607400
|
||||
if use libedit ; then
|
||||
myeconfargs+=( --with-readline=-ledit )
|
||||
elif use readline ; then
|
||||
myeconfargs+=( --with-readline=-lreadline )
|
||||
else
|
||||
myeconfargs+=( --without-readline )
|
||||
fi
|
||||
|
||||
# bug #344029
|
||||
append-cflags "-DDIG_SIGCHASE"
|
||||
|
||||
# to expose CMSG_* macros from sys/sockets.h
|
||||
[[ ${CHOST} == *-solaris* ]] && append-cflags "-D_XOPEN_SOURCE=600"
|
||||
|
||||
# localstatedir for nsupdate -l, bug #395785
|
||||
tc-export BUILD_CC
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
# bug #151839
|
||||
echo '#undef SO_BSDCOMPAT' >> config.h || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local AR="$(tc-getAR)"
|
||||
|
||||
emake AR="${AR}" -C lib/
|
||||
emake AR="${AR}" -C bin/delv/
|
||||
emake AR="${AR}" -C bin/dig/
|
||||
emake AR="${AR}" -C bin/nsupdate/
|
||||
emake AR="${AR}" -C bin/dnssec/
|
||||
emake -C doc/man/ man $(usev doc)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# system tests ('emake test') require network configuration for IPs etc
|
||||
# so we run the unit tests instead.
|
||||
TEST_PARALLEL_JOBS="$(makeopts_jobs)" emake unit
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local man_dir="${S}/doc/man"
|
||||
local html_dir="${man_dir}/_build/html"
|
||||
|
||||
dodoc README CHANGES
|
||||
|
||||
cd "${S}"/bin/delv || die
|
||||
dobin delv
|
||||
doman ${man_dir}/delv.1
|
||||
|
||||
cd "${S}"/bin/dig || die
|
||||
dobin dig host nslookup
|
||||
doman ${man_dir}/{dig,host,nslookup}.1
|
||||
|
||||
cd "${S}"/bin/nsupdate || die
|
||||
dobin nsupdate
|
||||
doman ${man_dir}/nsupdate.1
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/nsupdate.html
|
||||
fi
|
||||
|
||||
cd "${S}"/bin/dnssec || die
|
||||
for tool in dsfromkey importkey keyfromlabel keygen \
|
||||
revoke settime signzone verify; do
|
||||
dobin dnssec-"${tool}"
|
||||
doman ${man_dir}/dnssec-"${tool}".8
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc ${html_dir}/dnssec-"${tool}".html
|
||||
fi
|
||||
done
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
https://gitlab.isc.org/isc-projects/bind9/-/commit/b6670787d25743ddf39dfe8e615828efc928f50d
|
||||
https://gitlab.isc.org/isc-projects/bind9/-/issues/3351
|
||||
https://bugs.gentoo.org/847295
|
||||
|
||||
From: Evan Hunt <each@isc.org>
|
||||
Date: Fri, 13 May 2022 19:59:58 -0700
|
||||
Subject: [PATCH] prevent a possible buffer overflow in configuration check
|
||||
|
||||
corrected code that could have allowed a buffer overfow while
|
||||
parsing named.conf.
|
||||
|
||||
(cherry picked from commit 921043b54161c7a3e6dc4036b038ca4dbc5fe472)
|
||||
--- a/lib/bind9/check.c
|
||||
+++ b/lib/bind9/check.c
|
||||
@@ -2500,8 +2500,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
|
||||
} else if (dns_name_isula(zname)) {
|
||||
ula = true;
|
||||
}
|
||||
- tmp += strlen(tmp);
|
||||
len -= strlen(tmp);
|
||||
+ tmp += strlen(tmp);
|
||||
(void)snprintf(tmp, len, "%u/%s", zclass,
|
||||
(ztype == CFG_ZONE_INVIEW) ? target
|
||||
: (viewname != NULL) ? viewname
|
||||
@@ -3247,8 +3247,8 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
|
||||
char *tmp = keydirbuf;
|
||||
size_t len = sizeof(keydirbuf);
|
||||
dns_name_format(zname, keydirbuf, sizeof(keydirbuf));
|
||||
- tmp += strlen(tmp);
|
||||
len -= strlen(tmp);
|
||||
+ tmp += strlen(tmp);
|
||||
(void)snprintf(tmp, len, "/%s", (dir == NULL) ? "(null)" : dir);
|
||||
tresult = keydirexist(zconfig, (const char *)keydirbuf,
|
||||
kaspname, keydirs, logctx, mctx);
|
||||
GitLab
|
@ -13,6 +13,9 @@
|
||||
part of Samba was problematic and it was deemed better to split
|
||||
them off into their own package
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="cpe">cpe:/a:samba:cifs-utils</remote-id>
|
||||
</upstream>
|
||||
<use>
|
||||
<flag name="ads">Enable Active Directory support and create cifs.idmap binary - idmap support</flag>
|
||||
<flag name="caps">Enable <pkg>sys-libs/libcap-ng</pkg> support</flag>
|
||||
|
@ -1,8 +1,6 @@
|
||||
DIST curl-7.79.1.tar.xz 2465212 BLAKE2B 2b694f96661c0aa0a136fdae4159e0ca8e811557c5a1f0b47cccaaad122f3ddbdaa6450c3835290955baf9357e872ee105a8cb0912064af3d3e38d16beb124ad SHA512 1edb71647a7f4dbb070baf1a019b4751aefeda793ff523c504410bb5cc74e5bffc52f20dd889697d1585f9ca3c4e81b1a9caadd182c30c8358ffd25f33e4db4d
|
||||
DIST curl-7.79.1.tar.xz.asc 488 BLAKE2B cf1864b15ee4b47a61a03968c4fd9526d4c8d0c5a8a0a1357de61758640e6dfda57334df1e63afd94c0064b7e61527623dd20446b27fa0130e0bf92c647d9820 SHA512 4f7930fde0a21358cf0bd8d5cbde5a05efc34202265b4744e59f49d9dc269987f47b4ead77c33e2ae03acabd7b6d6a731c69b91999eea70542f49d9ea0c2ba94
|
||||
DIST curl-7.83.1.tar.xz 2474940 BLAKE2B 491427b12f082c2246ef6cb2a129340079db28bd93b4381889e7328bef1d61a79bb57cba4b8372759baa4f6e77644966ed95cfa8f839ee9db634786757fb1ce0 SHA512 2f63327d6d3687ba36fb7b8d5d3d15599eca33ebfb08681613612ea9c4b629d3b6ce4d2742fa1ebd7a997ed332001d3a4c798985f9277c83b9e7a9aecdb1b1ee
|
||||
DIST curl-7.83.1.tar.xz.asc 488 BLAKE2B 78f7a6d9a32cab97e9ce26430eb2be2bc4e20552cf8c59238f30f127e9d7af5b4f9808c3fe0846c18c8f7a67b49f2f75d865d17b7760bb664872934799949441 SHA512 f0d29de315488c844eb81ed5a89ed6334910970224c8cac43e7e6f2d58c35ad0064c0b6122e69b3a34ce91f4b56873c63e2e8aea1c602ef40711bfd62a01b191
|
||||
DIST curl-7.84.0.tar.xz 2477944 BLAKE2B 811a63285f39a598bc4fd73ae4b8e23e5146b93dcf3eea805345792b7dddd85bbd54240d9871a0dc9f058d58fd7ea7f4efbcb82727218e8afaaae3600bad55e1 SHA512 86231866a35593a1637fbc0c6af3b6761bdfd99fb35580cc52970c36f19604f93dce59fea67a1d5bb4b455f719307599c7916c77d14f2b661f6bf7fb1ca716ce
|
||||
DIST curl-7.84.0.tar.xz.asc 488 BLAKE2B d74dea89fa89b6ed0a928e01987669f7dde0bcbb30423ea0f3af9f31eea1e059d458629d80455d772264d744fab236d4f506545afa1bfbd6ded7e2b27192a7c8 SHA512 80ff5274277ad97448fa53511bab6e8a1c302bcb25fc0916d78b8dc6c6af43d944c37c4ed46668b651cc639ec4964780725117ca0e85168ea66ad7cc98d29702
|
||||
DIST curl-7.85.0.tar.xz 2480648 BLAKE2B 7d0e0212541c05352040391b400e0314e0d38a96b199dfd70ccaaca3fd7f809b7ed96b877c4663c06fc05c483468521458255dcf025226f1bdf4d6c9dd9b8873 SHA512 b57cc31649a4f47cc4b482f56a85c86c8e8aaeaf01bc1b51b065fdb9145a9092bc52535e52a85a66432eb163605b2edbf5bc5c33ea6e40e50f26a69ad1365cbd
|
||||
DIST curl-7.85.0.tar.xz.asc 488 BLAKE2B 8fb84955ee458af7f2cecef4b48c5375db2e8179e5c17a5215a4a92e28e5ec7dd59a9dc057563643016c683e547a04c494276e16d113dbd498f94b7a7183e1e3 SHA512 7022daf84b330b24112d595edee715cdeb881a4ba8a4fa7eec23aed28292e5d943af778f03aadd036d44d875f9e226096ea142d18afe516b6bdbd475fcd3aca6
|
||||
DIST curl-7.86.0.tar.xz 2518356 BLAKE2B a1de7feb229de42bf1deeb5017f97df3b1c10c75fac99bcd0cd21a5dc69b6d8b62520744106d6a113c7a86bd6731dba536a263aabfa22be50d520c43e894acce SHA512 18e03a3c00f22125e07bddb18becbf5acdca22baeb7b29f45ef189a5c56f95b2d51247813f7a9a90f04eb051739e9aa7d3a1c5be397bae75d763a2b918d1b656
|
||||
DIST curl-7.86.0.tar.xz.asc 488 BLAKE2B a9abe2f3af801b3a48be7db09cb82b6bb83bd26a9d5caf51c0d5a4a2e6881fb478f1768a6b71efbd9283563e2c7e2badbc5a6d6df265013e14eee2ec7e9be148 SHA512 9e97d5f44b3c856f401fe30ba713e1ca1f74edfc693dc42f1ce8e43f9f6dd4bf6998c579bc9c5d0f749f475a7d67d232e92ab6f89b95141acdb53e149f2312f0
|
||||
|
@ -12,7 +12,7 @@ SRC_URI="https://curl.haxx.se/download/${P}.tar.xz
|
||||
|
||||
LICENSE="curl"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl sslv3 static-libs test telnet +tftp zstd"
|
||||
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl"
|
||||
IUSE+=" nghttp3 quiche"
|
||||
@ -58,7 +58,7 @@ RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
net-libs/nghttp3[${MULTILIB_USEDEP}]
|
||||
net-libs/ngtcp2[ssl,${MULTILIB_USEDEP}]
|
||||
)
|
||||
quiche? ( >=net-libs/quiche-0.3.0[${MULTILIB_USEDEP}] )
|
||||
quiche? ( >=net-libs/quiche-0.15.0[${MULTILIB_USEDEP}] )
|
||||
idn? ( net-dns/libidn2:0=[static-libs?,${MULTILIB_USEDEP}] )
|
||||
adns? ( net-dns/c-ares:0=[${MULTILIB_USEDEP}] )
|
||||
kerberos? ( >=virtual/krb5-0-r1[${MULTILIB_USEDEP}] )
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
EAPI="8"
|
||||
|
||||
inherit autotools prefix multilib-minimal verify-sig
|
||||
|
||||
@ -12,24 +12,20 @@ SRC_URI="https://curl.haxx.se/download/${P}.tar.xz
|
||||
|
||||
LICENSE="curl"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl sslv3 static-libs test telnet +tftp threads winssl zstd"
|
||||
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl curl_ssl_winssl"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
|
||||
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl"
|
||||
IUSE+=" nghttp3 quiche"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc
|
||||
|
||||
# c-ares must be disabled for threads
|
||||
# only one default ssl provider can be enabled
|
||||
# Only one default ssl provider can be enabled
|
||||
REQUIRED_USE="
|
||||
winssl? ( elibc_Winnt )
|
||||
threads? ( !adns )
|
||||
ssl? (
|
||||
^^ (
|
||||
curl_ssl_gnutls
|
||||
curl_ssl_mbedtls
|
||||
curl_ssl_nss
|
||||
curl_ssl_openssl
|
||||
curl_ssl_winssl
|
||||
)
|
||||
)"
|
||||
|
||||
@ -53,6 +49,7 @@ RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
nss? (
|
||||
dev-libs/nss:0[${MULTILIB_USEDEP}]
|
||||
dev-libs/nss-pem
|
||||
app-misc/ca-certificates
|
||||
)
|
||||
)
|
||||
@ -77,15 +74,11 @@ RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
# curl_ssl_openssl? ( media-video/rtmpdump[-gnutls,ssl] )
|
||||
# )
|
||||
|
||||
# ssl providers to be added:
|
||||
# fbopenssl $(use_with spnego)
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="dev-lang/perl
|
||||
virtual/pkgconfig
|
||||
test? (
|
||||
sys-apps/diffutils
|
||||
dev-lang/perl
|
||||
)
|
||||
verify-sig? ( sec-keys/openpgp-keys-danielstenberg )"
|
||||
|
||||
@ -102,6 +95,8 @@ MULTILIB_CHOST_TOOLS=(
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-7.30.0-prefix.patch
|
||||
"${FILESDIR}"/${PN}-respect-cflags-3.patch
|
||||
"${FILESDIR}"/${P}-proxy-noproxy-tailmatching.patch
|
||||
"${FILESDIR}"/${P}-proxy-noproxy-match-comma.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
@ -117,7 +112,7 @@ multilib_src_configure() {
|
||||
# TODO: in the future, we may want to add wolfssl (https://www.wolfssl.com/)
|
||||
local myconf=()
|
||||
|
||||
myconf+=( --without-gnutls --without-mbedtls --without-nss --without-polarssl --without-ssl --without-winssl )
|
||||
myconf+=( --without-gnutls --without-mbedtls --without-nss --without-ssl )
|
||||
myconf+=( --without-ca-fallback --with-ca-bundle="${EPREFIX}"/etc/ssl/certs/ca-certificates.crt )
|
||||
#myconf+=( --without-default-ssl-backend )
|
||||
if use ssl ; then
|
||||
@ -131,16 +126,12 @@ multilib_src_configure() {
|
||||
fi
|
||||
if use nss || use curl_ssl_nss; then
|
||||
einfo "SSL provided by nss"
|
||||
myconf+=( --with-nss )
|
||||
myconf+=( --with-nss --with-nss-deprecated )
|
||||
fi
|
||||
if use openssl || use curl_ssl_openssl; then
|
||||
einfo "SSL provided by openssl"
|
||||
myconf+=( --with-ssl --with-ca-path="${EPREFIX}"/etc/ssl/certs )
|
||||
fi
|
||||
if use winssl || use curl_ssl_winssl; then
|
||||
einfo "SSL provided by Windows"
|
||||
myconf+=( --with-winssl )
|
||||
fi
|
||||
|
||||
if use curl_ssl_gnutls; then
|
||||
einfo "Default SSL provided by gnutls"
|
||||
@ -154,9 +145,6 @@ multilib_src_configure() {
|
||||
elif use curl_ssl_openssl; then
|
||||
einfo "Default SSL provided by openssl"
|
||||
myconf+=( --with-default-ssl-backend=openssl )
|
||||
elif use curl_ssl_winssl; then
|
||||
einfo "Default SSL provided by Windows"
|
||||
myconf+=( --with-default-ssl-backend=winssl )
|
||||
else
|
||||
eerror "We can't be here because of REQUIRED_USE."
|
||||
fi
|
||||
@ -204,7 +192,7 @@ multilib_src_configure() {
|
||||
--enable-dateparse
|
||||
--enable-dnsshuffle
|
||||
--enable-doh
|
||||
--enable-hidden-symbols
|
||||
--enable-symbol-hiding
|
||||
--enable-http-auth
|
||||
$(use_enable ipv6)
|
||||
--enable-largefile
|
||||
@ -215,13 +203,12 @@ multilib_src_configure() {
|
||||
--enable-proxy
|
||||
--disable-sspi
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable threads threaded-resolver)
|
||||
$(use_enable threads pthreads)
|
||||
--enable-pthreads
|
||||
--enable-threaded-resolver
|
||||
--disable-versioned-symbols
|
||||
--without-amissl
|
||||
--without-bearssl
|
||||
$(use_with brotli)
|
||||
--without-cyassl
|
||||
--without-fish-functions-dir
|
||||
$(use_with http2 nghttp2)
|
||||
--without-hyper
|
||||
@ -229,6 +216,7 @@ multilib_src_configure() {
|
||||
$(use_with kerberos gssapi "${EPREFIX}"/usr)
|
||||
--without-libgsasl
|
||||
--without-libpsl
|
||||
--without-msh3
|
||||
$(use_with nghttp3)
|
||||
$(use_with nghttp3 ngtcp2)
|
||||
$(use_with quiche)
|
||||
@ -236,15 +224,14 @@ multilib_src_configure() {
|
||||
--without-rustls
|
||||
--without-schannel
|
||||
--without-secure-transport
|
||||
--without-spnego
|
||||
$(use_enable websockets)
|
||||
--without-winidn
|
||||
--without-wolfssl
|
||||
--with-zlib
|
||||
$(use_with zstd)
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" \
|
||||
econf "${myconf[@]}"
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
|
||||
if ! multilib_is_native_abi; then
|
||||
# avoid building the client
|
||||
@ -279,11 +266,20 @@ multilib_src_configure() {
|
||||
sed -i -r \
|
||||
-e "/^Libs.private/s:(${libs#|})( |$)::g" \
|
||||
libcurl.pc || die
|
||||
echo "Requires.private: ${priv[*]}" >> libcurl.pc
|
||||
echo "Requires.private: ${priv[*]}" >> libcurl.pc || die
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
multilib_is_native_abi && default_src_test
|
||||
# See https://github.com/curl/curl/blob/master/tests/runtests.pl#L5721
|
||||
# -n: no valgrind (unreliable in sandbox and doesn't work correctly on all arches)
|
||||
# -v: verbose
|
||||
# -a: keep going on failure (so we see everything which breaks, not just 1st test)
|
||||
# -k: keep test files after completion
|
||||
# -am: automake style TAP output
|
||||
# -p: print logs if test fails
|
||||
# Note: if needed, we can disable tests. See e.g. Fedora's packaging
|
||||
# or just read https://github.com/curl/curl/tree/master/tests#run.
|
||||
multilib_is_native_abi && emake test TFLAGS="-n -v -a -k -am -p"
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
@ -12,16 +12,14 @@ SRC_URI="https://curl.haxx.se/download/${P}.tar.xz
|
||||
|
||||
LICENSE="curl"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl sslv3 static-libs test telnet +tftp threads zstd"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+adns alt-svc brotli +ftp gnutls gopher hsts +http2 idn +imap ipv6 kerberos ldap mbedtls nss +openssl +pop3 +progress-meter rtmp samba +smtp ssh ssl sslv3 static-libs test telnet +tftp websockets zstd"
|
||||
IUSE+=" curl_ssl_gnutls curl_ssl_mbedtls curl_ssl_nss +curl_ssl_openssl"
|
||||
IUSE+=" nghttp3 quiche"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/danielstenberg.asc
|
||||
|
||||
# c-ares must be disabled for threads
|
||||
# only one default ssl provider can be enabled
|
||||
# Only one default ssl provider can be enabled
|
||||
REQUIRED_USE="
|
||||
threads? ( !adns )
|
||||
ssl? (
|
||||
^^ (
|
||||
curl_ssl_gnutls
|
||||
@ -51,6 +49,7 @@ RDEPEND="ldap? ( net-nds/openldap:=[${MULTILIB_USEDEP}] )
|
||||
)
|
||||
nss? (
|
||||
dev-libs/nss:0[${MULTILIB_USEDEP}]
|
||||
dev-libs/nss-pem
|
||||
app-misc/ca-certificates
|
||||
)
|
||||
)
|
||||
@ -202,8 +201,8 @@ multilib_src_configure() {
|
||||
--enable-proxy
|
||||
--disable-sspi
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable threads threaded-resolver)
|
||||
$(use_enable threads pthreads)
|
||||
--enable-pthreads
|
||||
--enable-threaded-resolver
|
||||
--disable-versioned-symbols
|
||||
--without-amissl
|
||||
--without-bearssl
|
||||
@ -223,14 +222,14 @@ multilib_src_configure() {
|
||||
--without-rustls
|
||||
--without-schannel
|
||||
--without-secure-transport
|
||||
$(use_enable websockets)
|
||||
--without-winidn
|
||||
--without-wolfssl
|
||||
--with-zlib
|
||||
$(use_with zstd)
|
||||
)
|
||||
|
||||
ECONF_SOURCE="${S}" \
|
||||
econf "${myconf[@]}"
|
||||
ECONF_SOURCE="${S}" econf "${myconf[@]}"
|
||||
|
||||
if ! multilib_is_native_abi; then
|
||||
# avoid building the client
|
||||
@ -265,7 +264,7 @@ multilib_src_configure() {
|
||||
sed -i -r \
|
||||
-e "/^Libs.private/s:(${libs#|})( |$)::g" \
|
||||
libcurl.pc || die
|
||||
echo "Requires.private: ${priv[*]}" >> libcurl.pc
|
||||
echo "Requires.private: ${priv[*]}" >> libcurl.pc || die
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
@ -0,0 +1,86 @@
|
||||
https://bugs.gentoo.org/878365#c2
|
||||
https://github.com/curl/curl/issues/9813
|
||||
https://github.com/curl/curl/commit/efc286b7a62af0568fdcbf3c68791c9955182128
|
||||
|
||||
From efc286b7a62af0568fdcbf3c68791c9955182128 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stenberg <daniel@haxx.se>
|
||||
Date: Thu, 27 Oct 2022 13:54:27 +0200
|
||||
Subject: [PATCH] noproxy: also match with adjacent comma
|
||||
|
||||
If the host name is an IP address and the noproxy string contained that
|
||||
IP address with a following comma, it would erroneously not match.
|
||||
|
||||
Extended test 1614 to verify this combo as well.
|
||||
|
||||
Reported-by: Henning Schild
|
||||
|
||||
Fixes #9813
|
||||
Closes #9814
|
||||
--- a/lib/noproxy.c
|
||||
+++ b/lib/noproxy.c
|
||||
@@ -192,18 +192,22 @@ bool Curl_check_noproxy(const char *name, const char *no_proxy)
|
||||
/* FALLTHROUGH */
|
||||
case TYPE_IPV6: {
|
||||
const char *check = token;
|
||||
- char *slash = strchr(check, '/');
|
||||
+ char *slash;
|
||||
unsigned int bits = 0;
|
||||
char checkip[128];
|
||||
+ if(tokenlen >= sizeof(checkip))
|
||||
+ /* this cannot match */
|
||||
+ break;
|
||||
+ /* copy the check name to a temp buffer */
|
||||
+ memcpy(checkip, check, tokenlen);
|
||||
+ checkip[tokenlen] = 0;
|
||||
+ check = checkip;
|
||||
+
|
||||
+ slash = strchr(check, '/');
|
||||
/* if the slash is part of this token, use it */
|
||||
- if(slash && (slash < &check[tokenlen])) {
|
||||
+ if(slash) {
|
||||
bits = atoi(slash + 1);
|
||||
- /* copy the check name to a temp buffer */
|
||||
- if(tokenlen >= sizeof(checkip))
|
||||
- break;
|
||||
- memcpy(checkip, check, tokenlen);
|
||||
- checkip[ slash - check ] = 0;
|
||||
- check = checkip;
|
||||
+ *slash = 0; /* null terminate there */
|
||||
}
|
||||
if(type == TYPE_IPV6)
|
||||
match = Curl_cidr6_match(name, check, bits);
|
||||
--- a/tests/data/test1614
|
||||
+++ b/tests/data/test1614
|
||||
@@ -16,7 +16,7 @@ unittest
|
||||
proxy
|
||||
</features>
|
||||
<name>
|
||||
-cidr comparisons
|
||||
+noproxy and cidr comparisons
|
||||
</name>
|
||||
</client>
|
||||
<errorcode>
|
||||
--- a/tests/unit/unit1614.c
|
||||
+++ b/tests/unit/unit1614.c
|
||||
@@ -77,6 +77,20 @@ UNITTEST_START
|
||||
{ NULL, NULL, 0, FALSE} /* end marker */
|
||||
};
|
||||
struct noproxy list[]= {
|
||||
+ { "127.0.0.1", "127.0.0.1,localhost", TRUE},
|
||||
+ { "127.0.0.1", "127.0.0.1,localhost,", TRUE},
|
||||
+ { "127.0.0.1", "127.0.0.1/8,localhost,", TRUE},
|
||||
+ { "127.0.0.1", "127.0.0.1/28,localhost,", TRUE},
|
||||
+ { "127.0.0.1", "127.0.0.1/31,localhost,", TRUE},
|
||||
+ { "127.0.0.1", "localhost,127.0.0.1", TRUE},
|
||||
+ { "127.0.0.1", "localhost,127.0.0.1.127.0.0.1.127.0.0.1.127.0.0.1."
|
||||
+ "127.0.0.1.127.0.0.1.127.0.0.1.127.0.0.1.127.0.0.1.127.0.0.1.127."
|
||||
+ "0.0.1.127.0.0.1.127.0.0." /* 128 bytes "address" */, FALSE},
|
||||
+ { "127.0.0.1", "localhost,127.0.0.1.127.0.0.1.127.0.0.1.127.0.0.1."
|
||||
+ "127.0.0.1.127.0.0.1.127.0.0.1.127.0.0.1.127.0.0.1.127.0.0.1.127."
|
||||
+ "0.0.1.127.0.0.1.127.0.0" /* 127 bytes "address" */, FALSE},
|
||||
+ { "localhost", "localhost,127.0.0.1", TRUE},
|
||||
+ { "localhost", "127.0.0.1,localhost", TRUE},
|
||||
{ "foobar", "barfoo", FALSE},
|
||||
{ "foobar", "foobar", TRUE},
|
||||
{ "192.168.0.1", "foobar", FALSE},
|
||||
|
@ -0,0 +1,66 @@
|
||||
https://bugs.gentoo.org/878365#c2
|
||||
https://github.com/curl/curl/issues/9821
|
||||
https://github.com/curl/curl/commit/b830f9ba9e94acf672cd191993ff679fa888838b
|
||||
|
||||
From b830f9ba9e94acf672cd191993ff679fa888838b Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stenberg <daniel@haxx.se>
|
||||
Date: Fri, 28 Oct 2022 10:51:49 +0200
|
||||
Subject: [PATCH] noproxy: fix tail-matching
|
||||
|
||||
Also ignore trailing dots in both host name and comparison pattern.
|
||||
|
||||
Regression in 7.86.0 (from 1e9a538e05c0)
|
||||
|
||||
Extended test 1614 to verify better.
|
||||
|
||||
Reported-by: Henning Schild
|
||||
Fixes #9821
|
||||
Closes #9822
|
||||
--- a/lib/noproxy.c
|
||||
+++ b/lib/noproxy.c
|
||||
@@ -153,9 +153,14 @@ bool Curl_check_noproxy(const char *name, const char *no_proxy)
|
||||
}
|
||||
else {
|
||||
unsigned int address;
|
||||
+ namelen = strlen(name);
|
||||
if(1 == Curl_inet_pton(AF_INET, name, &address))
|
||||
type = TYPE_IPV4;
|
||||
- namelen = strlen(name);
|
||||
+ else {
|
||||
+ /* ignore trailing dots in the host name */
|
||||
+ if(name[namelen - 1] == '.')
|
||||
+ namelen--;
|
||||
+ }
|
||||
}
|
||||
|
||||
while(*p) {
|
||||
@@ -177,12 +182,23 @@ bool Curl_check_noproxy(const char *name, const char *no_proxy)
|
||||
if(tokenlen) {
|
||||
switch(type) {
|
||||
case TYPE_HOST:
|
||||
- if(*token == '.') {
|
||||
- ++token;
|
||||
- --tokenlen;
|
||||
- /* tailmatch */
|
||||
- match = (tokenlen <= namelen) &&
|
||||
- strncasecompare(token, name + (namelen - tokenlen), namelen);
|
||||
+ /* ignore trailing dots in the token to check */
|
||||
+ if(token[tokenlen - 1] == '.')
|
||||
+ tokenlen--;
|
||||
+
|
||||
+ if(tokenlen && (*token == '.')) {
|
||||
+ /* A: example.com matches '.example.com'
|
||||
+ B: www.example.com matches '.example.com'
|
||||
+ C: nonexample.com DOES NOT match '.example.com'
|
||||
+ */
|
||||
+ if((tokenlen - 1) == namelen)
|
||||
+ /* case A, exact match without leading dot */
|
||||
+ match = strncasecompare(token + 1, name, namelen);
|
||||
+ else if(tokenlen < namelen)
|
||||
+ /* case B, tailmatch with leading dot */
|
||||
+ match = strncasecompare(token, name + (namelen - tokenlen),
|
||||
+ tokenlen);
|
||||
+ /* case C passes through, not a match */
|
||||
}
|
||||
else
|
||||
match = (tokenlen == namelen) &&
|
@ -28,7 +28,7 @@
|
||||
<flag name="sslv3">Support for the old/insecure SSLv3 protocol</flag>
|
||||
<flag name="telnet">Enable Telnet protocol support</flag>
|
||||
<flag name="tftp">Enable TFTP support</flag>
|
||||
<flag name="winssl">Enable winssl ssl backend</flag>
|
||||
<flag name="websockets">Enable websockets support</flag>
|
||||
<flag name="zstd">Enable zstd compression</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
|
@ -1,8 +1,6 @@
|
||||
DIST rsync-3.2.4.tar.gz 1114853 BLAKE2B a67fcb9619874f1c5346a876138e59f4bf508a90736f830fb2b4eaf180ab11f15a0a7db9b3b28c3b990b77c2b0973d8e668bf509e4134f464159ed3172f53d80 SHA512 96318e2754fbddf84d16df671c721e577766969dfa415925c4dc1be2e4e60a51246623747a8aec0c6e9c0824e6aa7335235ccd07f3d6fd901f8cf28e2d6e91b6
|
||||
DIST rsync-3.2.4.tar.gz.asc 195 BLAKE2B 9bc2fbd59e5396a91de82f27a461367ad2a129820e2d1926c3b1e26dacf93c676a7231f186c341b6dec9c764a9619b504bc9b5f95925982e78de4607eddf6c65 SHA512 7e1bbebc777d5710345fdec1efd4c2ef1079d6c0ec90272a1a4a51a59ae3cb619b9d1c0ae2f337ecdd06827bb3536b969b6f21f9108f8d21114713aa1750012b
|
||||
DIST rsync-3.2.5.tar.gz 1129957 BLAKE2B a0d1c4a2dbebe37bad4f6e2e5e4fae41c53529d96e0ca5a429d29d1dee8c63c8ee1b7dc686b732a88049c547271260e8361ac798673970d5327d08dda01ce811 SHA512 6d115acb5bae546cd2b5df2c11390f8609107b7a45aa649158d8daa0c9290ab5f15640fdd4000b21d1ab39f7385b85d77cd8fe4628fa13b2adeea6fcd53d057a
|
||||
DIST rsync-3.2.5.tar.gz.asc 195 BLAKE2B 9ca9034afc39299c2178190412b188f561d274d8e38d58a988487f2db14a8135840acf3413096d26f080358b69779fa3b48e292670ba6b23ae4eb0c05f9df614 SHA512 b384f48b2fd459a51715c8ab2a14e540c5fa7f7f12453282db770893d6121b1b3c9809e667ccacaf910fd90548abeb700a2c717d76fbea22fe3d6a22aa6b2c44
|
||||
DIST rsync-3.2.6.tar.gz 1138593 BLAKE2B fa0c4aa9cdffbc9ffd4f81e8c3cdc1fda7080f80c1923084c6d705e6872caaba31c13de4603c9462f312dbbdae76520c27d3f4f40b327f1e66c7127b1d05ea73 SHA512 d141d04732c91e055708e8d1f14b976f9483208a93076bb66dc75cbf87d54f2dcbffc11423f0c9c005d2d4e20cb9c147a7672f7a9c0b987f4e2c39b4c3645cfe
|
||||
DIST rsync-3.2.6.tar.gz.asc 195 BLAKE2B 945c60ca67aa4234bc9d5b38c9228125f3040bccecf60c08892286c1b4fa32878d92bfc78ee664d4f6453ccaaf6d394dbe203f0a8be149e557fabede1c111b07 SHA512 1316b358dfa87ad7c35b2b5d11e0be111a182041150cf9c9ae30f73e0af1430a59136250dc853f784e9e80d0ee20cc46e9a34b07cc7c7a48040db168a8c8941b
|
||||
DIST rsync-3.2.7pre1.tar.gz 1146970 BLAKE2B a41ef2acdff2b4e6703beb47b6ac90ec40d56bb53492b0a7aba268ebaf4e6bc19a7bde8fbac1ae35ed9062f2d37dd9a5ef0dd17ce8f78a0dab9f184959fd2ce5 SHA512 98eac7e0734e7dc8874fa51265419b40431b9bdc1861a16f8ccec6aa2b42df86532fb7585c19f2c814ad2e71ebf420414120cef434c6712279e453b14fd853f9
|
||||
DIST rsync-3.2.7pre1.tar.gz.asc 195 BLAKE2B bb497c19f53e7b465771425c4ee20582b46ea8af652232a58602d8e007fa4a10a237303e46ef22e78432606e95462161930de200b064ab1d2addcadc9dceae50 SHA512 6fb46e8b3a510dd7602003d6ced6d8cda57e5e2c8df4e1f2036c169e51fe21b460b6e6a42fc1c9c8fdc31c37d9992c287d64f529e019d629f35b4a43ab1eb1d8
|
||||
DIST rsync-3.2.7.tar.gz 1149787 BLAKE2B 1b910b321e8d6b49af9f26bef813509f0da12dedd6857897de136d3617c68d38368ce05de13b9b0ef35a5452dca141ebdcdfb6af8456151d0ca0ad546452b504 SHA512 c2afba11a352fd88133f9e96e19d6df80eb864450c83eced13a7faa23df947bccf2ef093f2101df6ee30abff4cbbd39ac802e9aa5f726e42c9caff274fad8377
|
||||
DIST rsync-3.2.7.tar.gz.asc 195 BLAKE2B d2bca9276d9a0c96a9156a8da60e391f58eceb2e1ffaa51b7e7ffd592feaba3ce54772bd563a251e3b30efb0ad07fc96da01158a77dd77c6534eac5d80b46e53 SHA512 bad9f48e033966566c6abf8cd485d35c0d9cf130eafb0c5fff9bcb928882283bbcdd2375e7c2880cf71cf81496ba6b743b61adca3d4678421c32915a2464acc3
|
||||
|
@ -1,53 +0,0 @@
|
||||
https://github.com/WayneD/rsync/commit/9a3449a3980421f84ac55498ba565bc112b20d6c
|
||||
|
||||
In particular, avoids attr configure test failing.
|
||||
|
||||
From 9a3449a3980421f84ac55498ba565bc112b20d6c Mon Sep 17 00:00:00 2001
|
||||
From: Wayne Davison <wayne@opencoder.net>
|
||||
Date: Thu, 18 Aug 2022 17:33:54 -0700
|
||||
Subject: [PATCH] Stop enabling -pedantic-errors.
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1071,21 +1071,6 @@ elif test x"$ac_cv_header_popt_h" != x"yes"; then
|
||||
with_included_popt=yes
|
||||
fi
|
||||
|
||||
-if test x"$GCC" = x"yes"; then
|
||||
- if test x"$with_included_popt" != x"yes"; then
|
||||
- # Turn pedantic warnings into errors to ensure an array-init overflow is an error.
|
||||
- CFLAGS="$CFLAGS -pedantic-errors"
|
||||
- else
|
||||
- # Our internal popt code cannot be compiled with pedantic warnings as errors, so try to
|
||||
- # turn off pedantic warnings (which will not lose the error for array-init overflow).
|
||||
- # Older gcc versions don't understand -Wno-pedantic, so check if --help=warnings lists
|
||||
- # -Wpedantic and use that as a flag.
|
||||
- case `$CC --help=warnings 2>/dev/null | grep Wpedantic` in
|
||||
- *-Wpedantic*) CFLAGS="$CFLAGS -pedantic-errors -Wno-pedantic" ;;
|
||||
- esac
|
||||
- fi
|
||||
-fi
|
||||
-
|
||||
AC_MSG_CHECKING([whether to use included libpopt])
|
||||
if test x"$with_included_popt" = x"yes"; then
|
||||
AC_MSG_RESULT($srcdir/popt)
|
||||
|
||||
--- a/configure.sh
|
||||
+++ b/configure.sh
|
||||
@@ -9982,14 +9982,14 @@ fi
|
||||
if test x"$GCC" = x"yes"; then
|
||||
if test x"$with_included_popt" != x"yes"; then
|
||||
# Turn pedantic warnings into errors to ensure an array-init overflow is an error.
|
||||
- CFLAGS="$CFLAGS -pedantic-errors"
|
||||
+ CFLAGS="$CFLAGS "
|
||||
else
|
||||
# Our internal popt code cannot be compiled with pedantic warnings as errors, so try to
|
||||
# turn off pedantic warnings (which will not lose the error for array-init overflow).
|
||||
# Older gcc versions don't understand -Wno-pedantic, so check if --help=warnings lists
|
||||
# -Wpedantic and use that as a flag.
|
||||
case `$CC --help=warnings 2>/dev/null | grep Wpedantic` in
|
||||
- *-Wpedantic*) CFLAGS="$CFLAGS -pedantic-errors -Wno-pedantic" ;;
|
||||
+ *-Wpedantic*) CFLAGS="$CFLAGS -Wno-pedantic" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
@ -1,164 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10} )
|
||||
inherit flag-o-matic prefix python-single-r1 systemd
|
||||
|
||||
DESCRIPTION="File transfer program to keep remote files into sync"
|
||||
HOMEPAGE="https://rsync.samba.org/"
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/WayneD/rsync.git"
|
||||
inherit autotools git-r3
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/waynedavison.asc
|
||||
inherit verify-sig
|
||||
|
||||
if [[ ${PV} == *_pre* ]] ; then
|
||||
SRC_DIR="src-previews"
|
||||
else
|
||||
SRC_DIR="src"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz
|
||||
verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )"
|
||||
S="${WORKDIR}"/${P/_/}
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="acl examples iconv ipv6 lz4 ssl stunnel system-zlib xattr xxhash zstd"
|
||||
REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="acl? ( virtual/acl )
|
||||
examples? (
|
||||
${PYTHON_DEPS}
|
||||
dev-lang/perl
|
||||
)
|
||||
lz4? ( app-arch/lz4 )
|
||||
ssl? ( dev-libs/openssl:0= )
|
||||
system-zlib? ( sys-libs/zlib )
|
||||
xattr? ( kernel_linux? ( sys-apps/attr ) )
|
||||
xxhash? ( dev-libs/xxhash )
|
||||
zstd? ( >=app-arch/zstd-1.4 )
|
||||
>=dev-libs/popt-1.5
|
||||
iconv? ( virtual/libiconv )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="examples? ( ${PYTHON_DEPS} )"
|
||||
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
BDEPEND+=" ${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/commonmark[${PYTHON_USEDEP}]
|
||||
')"
|
||||
else
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-waynedavison )"
|
||||
fi
|
||||
|
||||
pkg_setup() {
|
||||
# - USE=examples needs Python itself at runtime, but nothing else
|
||||
# - 9999 needs commonmark at build time
|
||||
if [[ ${PV} == *9999 ]] || use examples ; then
|
||||
python-single-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
eaclocal -I m4
|
||||
eautoconf -o configure.sh
|
||||
eautoheader && touch config.h.in
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Force enable IPv6 on musl - upstream bug:
|
||||
# https://bugzilla.samba.org/show_bug.cgi?id=10715
|
||||
use elibc_musl && use ipv6 && append-cppflags -DINET6
|
||||
|
||||
local myeconfargs=(
|
||||
--with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf
|
||||
--without-included-popt
|
||||
$(use_enable acl acl-support)
|
||||
$(use_enable iconv)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable lz4)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_with !system-zlib included-zlib)
|
||||
$(use_enable xattr xattr-support)
|
||||
$(use_enable xxhash)
|
||||
$(use_enable zstd)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd
|
||||
newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd
|
||||
|
||||
dodoc NEWS.md README.md TODO tech_report.tex
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}"/rsyncd.conf-3.0.9-r1 rsyncd.conf
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/rsyncd.logrotate rsyncd
|
||||
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd
|
||||
|
||||
# Install stunnel helpers
|
||||
if use stunnel ; then
|
||||
emake DESTDIR="${D}" install-ssl-daemon
|
||||
fi
|
||||
|
||||
# Install the useful contrib scripts
|
||||
if use examples ; then
|
||||
python_fix_shebang support/
|
||||
|
||||
exeinto /usr/share/rsync
|
||||
doexe support/*
|
||||
|
||||
rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c}
|
||||
fi
|
||||
|
||||
eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd*
|
||||
|
||||
systemd_newunit packaging/systemd/rsync.service rsyncd.service
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \
|
||||
"${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then
|
||||
ewarn "You have disabled chroot support in your rsyncd.conf. This"
|
||||
ewarn "is a security risk which you should fix. Please check your"
|
||||
ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'."
|
||||
fi
|
||||
|
||||
if use stunnel ; then
|
||||
einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature."
|
||||
einfo
|
||||
einfo "You maybe have to update the certificates configured in"
|
||||
einfo "${EROOT}/etc/stunnel/rsync.conf"
|
||||
fi
|
||||
|
||||
if use system-zlib ; then
|
||||
ewarn "Using system-zlib is incompatible with <rsync-3.1.1 when"
|
||||
ewarn "using the --compress option."
|
||||
ewarn
|
||||
ewarn "When syncing with >=rsync-3.1.1 built with bundled zlib,"
|
||||
ewarn "and the --compress option, add --new-compress (-zz)."
|
||||
ewarn
|
||||
ewarn "For syncing the portage tree, add:"
|
||||
ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf"
|
||||
fi
|
||||
}
|
@ -1,171 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Uncomment when introducing a patch which touches configure
|
||||
RSYNC_NEEDS_AUTOCONF=1
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit prefix python-single-r1 systemd
|
||||
|
||||
DESCRIPTION="File transfer program to keep remote files into sync"
|
||||
HOMEPAGE="https://rsync.samba.org/"
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/WayneD/rsync.git"
|
||||
inherit autotools git-r3
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
else
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/waynedavison.asc
|
||||
inherit verify-sig
|
||||
|
||||
if [[ -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then
|
||||
inherit autotools
|
||||
fi
|
||||
|
||||
if [[ ${PV} == *_pre* ]] ; then
|
||||
SRC_DIR="src-previews"
|
||||
else
|
||||
SRC_DIR="src"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
SRC_URI="https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz
|
||||
verify-sig? ( https://rsync.samba.org/ftp/rsync/${SRC_DIR}/${P/_/}.tar.gz.asc )"
|
||||
S="${WORKDIR}"/${P/_/}
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="acl examples iconv lz4 ssl stunnel system-zlib xattr xxhash zstd"
|
||||
REQUIRED_USE+=" examples? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/popt-1.5
|
||||
acl? ( virtual/acl )
|
||||
examples? (
|
||||
${PYTHON_DEPS}
|
||||
dev-lang/perl
|
||||
)
|
||||
lz4? ( app-arch/lz4:= )
|
||||
ssl? ( dev-libs/openssl:= )
|
||||
system-zlib? ( sys-libs/zlib )
|
||||
xattr? ( kernel_linux? ( sys-apps/attr ) )
|
||||
xxhash? ( >=dev-libs/xxhash-0.8 )
|
||||
zstd? ( >=app-arch/zstd-1.4:= )
|
||||
iconv? ( virtual/libiconv )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="examples? ( ${PYTHON_DEPS} )"
|
||||
|
||||
if [[ ${PV} == *9999 ]] ; then
|
||||
BDEPEND+=" ${PYTHON_DEPS}
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/commonmark[${PYTHON_USEDEP}]
|
||||
')"
|
||||
else
|
||||
BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-waynedavison )"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-pedantic-errors.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# - USE=examples needs Python itself at runtime, but nothing else
|
||||
# - 9999 needs commonmark at build time
|
||||
if [[ ${PV} == *9999 ]] || use examples ; then
|
||||
python-single-r1_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} == *9999 || -n ${RSYNC_NEEDS_AUTOCONF} ]] ; then
|
||||
eaclocal -I m4
|
||||
eautoconf -o configure.sh
|
||||
eautoheader && touch config.h.in
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
--with-rsyncd-conf="${EPREFIX}"/etc/rsyncd.conf
|
||||
--without-included-popt
|
||||
--enable-ipv6
|
||||
$(use_enable acl acl-support)
|
||||
$(use_enable iconv)
|
||||
$(use_enable lz4)
|
||||
$(use_enable ssl openssl)
|
||||
$(use_with !system-zlib included-zlib)
|
||||
$(use_enable xattr xattr-support)
|
||||
$(use_enable xxhash)
|
||||
$(use_enable zstd)
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
newconfd "${FILESDIR}"/rsyncd.conf.d rsyncd
|
||||
newinitd "${FILESDIR}"/rsyncd.init.d-r1 rsyncd
|
||||
|
||||
dodoc NEWS.md README.md TODO tech_report.tex
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}"/rsyncd.conf-3.0.9-r1 rsyncd.conf
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/rsyncd.logrotate rsyncd
|
||||
|
||||
insinto /etc/xinetd.d
|
||||
newins "${FILESDIR}"/rsyncd.xinetd-3.0.9-r1 rsyncd
|
||||
|
||||
# Install stunnel helpers
|
||||
if use stunnel ; then
|
||||
emake DESTDIR="${D}" install-ssl-daemon
|
||||
fi
|
||||
|
||||
# Install the useful contrib scripts
|
||||
if use examples ; then
|
||||
python_fix_shebang support/
|
||||
|
||||
exeinto /usr/share/rsync
|
||||
doexe support/*
|
||||
|
||||
rm -f "${ED}"/usr/share/rsync/{Makefile*,*.c}
|
||||
fi
|
||||
|
||||
eprefixify "${ED}"/etc/{,xinetd.d}/rsyncd*
|
||||
|
||||
systemd_newunit packaging/systemd/rsync.service rsyncd.service
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if grep -Eqis '^[[:space:]]use chroot[[:space:]]*=[[:space:]]*(no|0|false)' \
|
||||
"${EROOT}"/etc/rsyncd.conf "${EROOT}"/etc/rsync/rsyncd.conf ; then
|
||||
ewarn "You have disabled chroot support in your rsyncd.conf. This"
|
||||
ewarn "is a security risk which you should fix. Please check your"
|
||||
ewarn "/etc/rsyncd.conf file and fix the setting 'use chroot'."
|
||||
fi
|
||||
|
||||
if use stunnel ; then
|
||||
einfo "Please install \">=net-misc/stunnel-4\" in order to use stunnel feature."
|
||||
einfo
|
||||
einfo "You maybe have to update the certificates configured in"
|
||||
einfo "${EROOT}/etc/stunnel/rsync.conf"
|
||||
fi
|
||||
|
||||
if use system-zlib ; then
|
||||
ewarn "Using system-zlib is incompatible with <rsync-3.1.1 when"
|
||||
ewarn "using the --compress option."
|
||||
ewarn
|
||||
ewarn "When syncing with >=rsync-3.1.1 built with bundled zlib,"
|
||||
ewarn "and the --compress option, add --new-compress (-zz)."
|
||||
ewarn
|
||||
ewarn "For syncing the portage tree, add:"
|
||||
ewarn "PORTAGE_RSYNC_EXTRA_OPTS=\"--new-compress\" to make.conf"
|
||||
fi
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST socat-1.7.4.3.tar.gz 655520 BLAKE2B d91de7ef55332001e6439f64130555b9558338fb9b6c15c91ab5efc8f86a2e7e0f5fe0b292754731a198d83be5f511c3388c65c7c7f559c55691f42703f1849b SHA512 81cb34c245052b6a0ae38a711591358460b6070957af4a9eeb11a3cadb4aff184eeaedabbc7ecdc7fdf21a6126c06f90f19b24a87ce74b30bfd60a3879181046
|
||||
DIST socat-1.7.4.4.tar.bz2 522127 BLAKE2B 221b1c7c1ef0ac9c2402a6917ce7740a7ed857ceae4f4c346ed3c69c261fd0f9ca667e21cab5f97427d3947b06fdb0ac6d090852465878db968a24b8ece587ad SHA512 3eedfbf599ecf1d6fd391d03d710044bc5e18a762395bc4cb151b96fe673d405a6630da3070ecddd5ac558126b56aa65feaa74d528eeb755a04aa0ec61690651
|
||||
DIST socat-2.0.0-b9.tar.bz2 516673 BLAKE2B 808c8821b89ae2463074f87915dfae10f82b66ac6cd0b6ff56ab18f57c704e5a2a3ce76650152dccce41e4bd00e3a937948d4ade0a915b1f0e917c7543c6fc31 SHA512 f728bd634feeeacd2f0e4020c1c6aafdadaef3ba9da818d9ae1195e9f48fb693b2bea8dbbb208af8daddd8d6405217113d5ce31d05c2e9b27f5d2fba6b1cc834
|
||||
|
64
sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.7.4.4.ebuild
vendored
Normal file
64
sdk_container/src/third_party/portage-stable/net-misc/socat/socat-1.7.4.4.ebuild
vendored
Normal file
@ -0,0 +1,64 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit flag-o-matic toolchain-funcs
|
||||
|
||||
MY_P=${P/_beta/-b}
|
||||
DESCRIPTION="Multipurpose relay (SOcket CAT)"
|
||||
HOMEPAGE="http://www.dest-unreach.org/socat/ https://repo.or.cz/socat.git"
|
||||
SRC_URI="http://www.dest-unreach.org/socat/download/${MY_P}.tar.bz2"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
|
||||
IUSE="bindist ipv6 readline ssl tcpd"
|
||||
|
||||
DEPEND="ssl? ( dev-libs/openssl:0= )
|
||||
readline? ( sys-libs/readline:= )
|
||||
tcpd? ( sys-apps/tcp-wrappers )"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
# Tests are a large bash script
|
||||
# Hard to disable individual tests needing network or privileges
|
||||
# in 1.7.4.2: FAILED: 59 329
|
||||
RESTRICT="test ssl? ( readline? ( bindist ) )"
|
||||
|
||||
DOCS=( BUGREPORTS CHANGES DEVELOPMENT EXAMPLES FAQ FILES PORTING README SECURITY )
|
||||
|
||||
pkg_setup() {
|
||||
# bug #587740
|
||||
if use readline && use ssl ; then
|
||||
elog "You are enabling both readline and ssl (openssl) USE flags, the licenses"
|
||||
elog "for these packages conflict. You may not be able to legally"
|
||||
elog "redistribute the resulting binary."
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# bug #293324
|
||||
filter-flags '-Wno-error*'
|
||||
|
||||
tc-export AR
|
||||
|
||||
# getprotobynumber_r doesn't exist on musl, so avoid probing for it
|
||||
# and possibly getting it wrong. TODO: fix configure?
|
||||
# (Grabbed from Alpine Linux: https://git.alpinelinux.org/aports/commit/main/socat/APKBUILD?id=5edc9195355ced3db991c1a7cda5648d52019b11)
|
||||
# bug #831016
|
||||
use elibc_musl && export sc_cv_getprotobynumber_r=2
|
||||
|
||||
econf \
|
||||
$(use_enable ssl openssl) \
|
||||
$(use_enable readline) \
|
||||
$(use_enable ipv6 ip6) \
|
||||
$(use_enable tcpd libwrap)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
docinto html
|
||||
dodoc doc/*.html doc/*.css
|
||||
}
|
@ -73,7 +73,6 @@ x11-wm/mutter -video_cards_nvidia
|
||||
# Only maxima makes a distinction between the 32-bit and 64-bit
|
||||
# USE flags.
|
||||
sci-mathematics/fricas -clozurecl
|
||||
<sci-mathematics/maxima-5.44.0-r5 -clozurecl
|
||||
sci-mathematics/maxima -clozurecl64
|
||||
|
||||
# Thomas Deutschmann <whissi@gentoo.org> (2021-02-17)
|
||||
|
@ -99,7 +99,6 @@ kde-apps/pim-data-exporter:5
|
||||
kde-apps/pim-sieve-editor:5
|
||||
kde-apps/plasma-telepathy-meta:5
|
||||
>=kde-misc/kio-gdrive-22.04.3-r1
|
||||
kde-misc/kmarkdownwebview:5
|
||||
kde-misc/tellico:5
|
||||
kde-misc/zanshin:5
|
||||
mail-client/kube
|
||||
|
@ -1,6 +1,10 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Sam James <sam@gentoo.org> (2022-10-29)
|
||||
# pandoc not keyworded here, bug #878355
|
||||
app-admin/conky doc
|
||||
|
||||
# Volkmar W. Pogatzki <gentoo@pogatzki.net> (2022-08-09)
|
||||
# dev-java/jaxws-api not keyworded
|
||||
>=dev-java/jmock-2.12.0 test
|
||||
|
@ -10,10 +10,6 @@ sci-mathematics/octave sundials
|
||||
# nor is sys-cluster/slurm yet
|
||||
sys-cluster/openmpi openmpi_rm_pbs openmpi_rm_slurm
|
||||
|
||||
# Andreas Sturmlechner <asturm@gentoo.org> (2022-03-03)
|
||||
# dev-util/kdevelop-php is not yet stable, bug #834530
|
||||
<kde-apps/umbrello-21.11.80 php
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2021-12-31)
|
||||
# Don't apply stable masks to python-exec since we're forcing every
|
||||
# impl there anyway. Please keep this in sync with use.stable.mask.
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
# Things without support yet
|
||||
java
|
||||
llvm
|
||||
luajittex
|
||||
lua_single_target_luajit
|
||||
lua_targets_luajit
|
||||
|
@ -1,6 +1,10 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Sam James <sam@gentoo.org> (2022-10-29)
|
||||
# pandoc not keyworded here, bug #878355
|
||||
app-admin/conky doc
|
||||
|
||||
# Bernard Cafarelli <voyageur@gentoo.org> (2022-10-17)
|
||||
# media-libs/libheif not keyworded
|
||||
media-gfx/geeqie heif
|
||||
@ -97,10 +101,6 @@ media-video/obs-studio nvenc
|
||||
# No deps keyworded
|
||||
dev-python/pbr test
|
||||
|
||||
# Benda Xu <heroxbd@gentoo.org> (2020-04-27)
|
||||
# tests optionally depend on dev-python/hypothesis
|
||||
dev-python/numpy test
|
||||
|
||||
# Georgy Yakovlev <gyakovlev@gentoo.org> (2020-04-19)
|
||||
# Unsupported on ppc/ppc64
|
||||
www-client/chromium widevine
|
||||
|
@ -49,10 +49,6 @@ mail-client/thunderbird clang
|
||||
# Requires media-libs/mesa[llvm], which is masked.
|
||||
dev-python/pyopengl test
|
||||
|
||||
# Georgy Yakovlev <gyakovlev@gentoo.org> (2020-03-11)
|
||||
# vc not keyworded on ppc64
|
||||
media-gfx/krita vc
|
||||
|
||||
# Joonas Niilola <juippis@gentoo.org> (2020-02-01)
|
||||
# luajit not keyworded on ppc64, #696222
|
||||
dev-libs/efl lua_single_target_luajit
|
||||
|
@ -1,6 +1,10 @@
|
||||
# Copyright 2019-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Sam James <sam@gentoo.org> (2022-10-29)
|
||||
# pandoc not keyworded here, bug #878355
|
||||
app-admin/conky doc
|
||||
|
||||
# Xin Yang <yangmame@icloud.com> (2022-10-18)
|
||||
# requires qtwebengine, bug #876301
|
||||
app-i18n/fcitx-libpinyin dictionary-manager
|
||||
|
@ -59,7 +59,6 @@ video_cards_nv
|
||||
video_cards_omap
|
||||
video_cards_qxl
|
||||
video_cards_r128
|
||||
video_cards_radeonsi
|
||||
video_cards_siliconmotion
|
||||
video_cards_tegra
|
||||
video_cards_vc4
|
||||
|
@ -1,6 +1,10 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Sam James <sam@gentoo.org> (2022-10-29)
|
||||
# pandoc not keyworded here, bug #878355
|
||||
app-admin/conky doc
|
||||
|
||||
# Andrey Grozin <grozin@gentoo.org> (2022-09-02)
|
||||
# dev-libs/capstone not keyworded
|
||||
dev-lisp/sbcl capstone
|
||||
|
@ -22,10 +22,6 @@ sys-devel/gcc -ada
|
||||
# media-libs/qtav not keyworded yet
|
||||
media-gfx/kphotoalbum qtav
|
||||
|
||||
# Volkmar W. Pogatzki <gentoo@pogatzki.net> (2022-04-25)
|
||||
# Mask tests until test dependencies are keyworded.
|
||||
app-text/pdftk test
|
||||
|
||||
# Arthur Zamarin <arthurzam@gentoo.org> (2022-08-15)
|
||||
# deps not keyworded
|
||||
dev-util/pkgcheck emacs
|
||||
|
@ -21,10 +21,6 @@ sys-devel/clang pie
|
||||
dev-java/openjdk:11 system-bootstrap
|
||||
dev-java/openjdk:17 system-bootstrap
|
||||
|
||||
# Joonas Niilola <juippis@gentoo.org> (2022-01-08)
|
||||
# -xft broken, investigate in bug #830777
|
||||
~x11-misc/xscreensaver-6.02 xft
|
||||
|
||||
# Michał Górny <mgorny@gentoo.org> (2021-11-04)
|
||||
# Enable all LLVM targets unconditionally. Unfortunately, disabling
|
||||
# targets tend to break reverse dependencies (e.g. Rust) and we are yet
|
||||
|
@ -1,4 +0,0 @@
|
||||
# Copyright 2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
>sys-apps/kbd-1.15.5-r99
|
@ -69,6 +69,7 @@ gnome-extra/gnome-browser-connector
|
||||
gnome-extra/gnome-tweaks
|
||||
>=media-gfx/libimagequant-4
|
||||
media-libs/libavif
|
||||
>=media-libs/libopenraw-0.3.2
|
||||
media-video/rav1e
|
||||
>=net-irc/polari-3.37
|
||||
net-libs/quiche
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user