Merge pull request #301 from flatcar-linux/krnowak/pkg-updates-2017

Update packages and eclasses from 2017
This commit is contained in:
Krzesimir Nowak 2022-03-10 13:29:21 +01:00 committed by GitHub
commit acb91c7506
192 changed files with 2935 additions and 6179 deletions

View File

@ -0,0 +1,8 @@
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-group
ACCT_GROUP_ID=15

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
</maintainer>
</pkgmetadata>

View File

@ -0,0 +1,11 @@
# Copyright 2019-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit acct-user
ACCT_USER_ID=13
ACCT_USER_GROUPS=( man )
acct-user_add_deps

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
</maintainer>
</pkgmetadata>

View File

@ -1,2 +1 @@
DIST lzop-1.03.tar.gz 370775 BLAKE2B c3932c18e13dee788ad405e8241e2366497fae66a7966131baf1880c10974839df12456f6986d975929f7e6005a5dce9887a8af0a2415ec7700ce5b68cf1e100 SHA512 a7a46793e060690f7da3e9dcae8e19f9c3633b84bc6e4a9a7fbf7791361fc7795e00f1d820978b20df8731c165b37244f11203a2936640688e4ade0cc2f5f3d7
DIST lzop-1.04.tar.gz 393483 BLAKE2B ebeceac9492ce45e6976cd5cde262d9755286e1649802e3e16bfae0abdd74714bf86b076816aa309542cadef5bb65971342208763e1b2761fce2332dc9daa38c SHA512 5829b4495ffefab549aa697a05c536ce593c572c9eee6004460583a0090abcd317c6074c4f981dfee6be61ac8d127f02dd37053b6cb782af64db41586a8bbb6e

View File

@ -1,26 +0,0 @@
--- a/src/miniacc.h
+++ b/src/miniacc.h
@@ -4469,12 +4469,12 @@
#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
#elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
#else
- ACCCHK_ASSERT((1 << (8*SIZEOF_INT-1)) < 0)
+ ACCCHK_ASSERT((int)(1u << (8*SIZEOF_INT-1)) < 0)
#endif
ACCCHK_ASSERT((1u << (8*SIZEOF_INT-1)) > 0)
#if 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
#else
- ACCCHK_ASSERT((1l << (8*SIZEOF_LONG-1)) < 0)
+ ACCCHK_ASSERT((long)(1ul << (8*SIZEOF_LONG-1)) < 0)
#endif
ACCCHK_ASSERT((1ul << (8*SIZEOF_LONG-1)) > 0)
#if defined(acc_int16e_t)
@@ -4703,7 +4703,7 @@
#elif 1 && (ACC_CC_LCC || ACC_CC_LCCWIN32) && !defined(ACCCHK_CFG_PEDANTIC)
#elif 1 && (ACC_CC_SUNPROC) && !defined(ACCCHK_CFG_PEDANTIC)
#elif !(ACC_BROKEN_INTEGRAL_PROMOTION) && (SIZEOF_INT > 1)
- ACCCHK_ASSERT( (((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
+ ACCCHK_ASSERT( (int)((unsigned int)((unsigned char)128) << (int)(8*sizeof(int)-8)) < 0)
#endif
#if (ACC_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560))
# pragma option pop

View File

@ -1,38 +0,0 @@
https://bugs.gentoo.org/575450
Fix get of FLAGS register in x32 ABI,
x32 ABI requires to have 64-bit variable to store FLAGS register
instead of size_t that is 32-bit variable, this fix operand
type mismatch when try to pop previous pushf value.
Upstream-status: Submitted
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Index: lzop-1.03/src/miniacc.h
===================================================================
--- lzop-1.03.orig/src/miniacc.h
+++ lzop-1.03/src/miniacc.h
@@ -754,6 +754,9 @@
#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
# define ACC_ARCH_AMD64 1
# define ACC_INFO_ARCH "amd64"
+# if defined(__ILP32__)
+# define ACC_ARCH_AMD64_X32 1
+# endif
#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
# define ACC_ARCH_ARM 1
# define ACC_ARCH_ARM_THUMB 1
@@ -6787,7 +6790,11 @@ ACCLIB_PUBLIC_NOINLINE(void, acc_debug_n
ACCLIB_PUBLIC_NOINLINE(int, acc_debug_align_check_query) (void)
{
#if (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_ASM_SYNTAX_GNUC)
+# if defined(ACC_ARCH_AMD64_X32)
+ unsigned long long r;
+# else
size_t r;
+# endif
__asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) : : __ACC_ASM_CLOBBER);
return (int)(r >> 18) & 1;
#elif (ACC_ARCH_I386) && (ACC_ASM_SYNTAX_MSC)

View File

@ -1,36 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
DESCRIPTION="Utility for fast (even real-time) compression/decompression"
HOMEPAGE="http://www.lzop.org/"
SRC_URI="http://www.lzop.org/download/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm arm64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
IUSE=""
RDEPEND=">=dev-libs/lzo-2"
DEPEND="${RDEPEND}"
PATCHES=(
"${FILESDIR}"/${P}-x32.patch #575450
"${FILESDIR}"/${P}-gcc6.patch #594472
)
HTML_DOCS=( doc/lzop.html )
src_test() {
einfo "compressing config.status to test"
src/lzop config.status || die 'compression failed'
ls -la config.status{,.lzo}
src/lzop -t config.status.lzo || die 'lzo test failed'
src/lzop -dc config.status.lzo | diff config.status - || die 'decompression generated differences from original'
}
src_install() {
default
dodoc doc/lzop.{txt,ps}
}

View File

@ -1,15 +1,15 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
DESCRIPTION="Utility for fast (even real-time) compression/decompression"
HOMEPAGE="http://www.lzop.org/"
SRC_URI="http://www.lzop.org/download/${P}.tar.gz"
HOMEPAGE="https://www.lzop.org/"
SRC_URI="https://www.lzop.org/download/${P}.tar.gz"
LICENSE="GPL-2"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x86-solaris"
KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
IUSE=""
RDEPEND=">=dev-libs/lzo-2"

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>mgorny@gentoo.org</email>

View File

@ -1,7 +1,7 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EAPI=7
DESCRIPTION="Manage /usr/bin/pinentry symlink"
HOMEPAGE="https://www.gentoo.org/proj/en/eselect/"
@ -9,7 +9,7 @@ SRC_URI=""
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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=""
RDEPEND=">=app-eselect/eselect-lib-bin-symlink-0.1.1"

View File

@ -0,0 +1,23 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Manage /usr/bin/pinentry symlink"
HOMEPAGE="https://www.gentoo.org/proj/en/eselect/"
SRC_URI=""
LICENSE="GPL-2"
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=""
RDEPEND=">=app-eselect/eselect-lib-bin-symlink-0.1.1"
S="${FILESDIR}"
src_install() {
default
insinto /usr/share/eselect/modules
newins pinentry.eselect-${PV} pinentry.eselect
}

View File

@ -1,12 +1,12 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
DESCRIPTION="Manage /usr/bin/pinentry implementation"
MAINTAINER="ssuominen@gentoo.org"
VERSION="0.7"
MAINTAINER="zlogene@gentoo.org"
VERSION="0.7.1"
SYMLINK_PATH=/usr/bin/pinentry
SYMLINK_TARGETS=( pinentry-gnome3 pinentry-qt pinentry-gtk-2 pinentry-qt4 pinentry-curses pinentry-tty )
SYMLINK_TARGETS=( pinentry-gnome3 pinentry-qt5 pinentry-curses pinentry-tty )
SYMLINK_DESCRIPTION='pinentry binary'
inherit bin-symlink

View File

@ -0,0 +1,12 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
DESCRIPTION="Manage /usr/bin/pinentry implementation"
MAINTAINER="zlogene@gentoo.org"
VERSION="0.7.2"
SYMLINK_PATH=/usr/bin/pinentry
SYMLINK_TARGETS=( pinentry-efl pinentry-gnome3 pinentry-qt5 pinentry-curses pinentry-tty )
SYMLINK_DESCRIPTION='pinentry binary'
inherit bin-symlink

View File

@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>crypto@gentoo.org</email>
<name>Crypto</name>
</maintainer>
<maintainer type="person">
<email>zlogene@gentoo.org</email>
<name>Mikle Kolyada</name>
</maintainer>
<stabilize-allarches/>
</pkgmetadata>

View File

@ -1,8 +1,3 @@
DIST gentoo-syntax-20160530.tar.gz 18950 SHA256 819495c10e594b2fef1fdcd80afa24ee437fe20b94ad9e7eb9e91f0a5be31919 SHA512 38881c5f16499eb053eb7a5514f6324b2a161f1392a044db0bbaf0cb71a0f17e1edebd4a685ff856a78525fbcb8c6267daa2503cfbc6f94d841cf3f6a25045bd WHIRLPOOL 41018200b7f79eec005f55e80d3f8b1eec1f33acdbf1a8bce03b282a27cf63bb08a4959e0fcd74ecc9972322bbf4b0b89755dbde35cedc87ee9a228d07519a33
DIST gentoo-syntax-20170225.tar.gz 18939 SHA256 f9305c689f8eeb492fc2a7f9e9c90b6af1663e2f16dcf0b95d22e6395a6bb8e2 SHA512 2c01577910eccd413b85c094dbd12bf8445e2f560be1fffc4a4c3130b32587f9c298d8442b5cf12bd7d2950ab8c9e5b95a72f2f41c42c6dc939ffa2c26fd71d5 WHIRLPOOL 7350ddf65ebc9c64fd83997d2e7d9ce329fa434a150ee69b35d54adfd2097319c6492508a0d1d0938453f7ae5068d422448564ad292cb43fc45afb97097efdc7
EBUILD gentoo-syntax-20160530.ebuild 1847 SHA256 693a68dd3d9b40d57a7bb3a7ea1ab77467e99488cc92509d80b05f95839181e9 SHA512 bdaa924cf1b710e067539ed8ba1c39b43736f2f0bef813366c2894392e76a9724d09edc615412c62aafa364826fba9e3087caae6bf1c382e8c9ec6f4f13039aa WHIRLPOOL da803745c783b57b19f158d738afd9661b291260686b78a00984596638856dc722d6918aa3e34e74a82e053733f49d97305b6cdd94f505bcc5f134828b03897d
EBUILD gentoo-syntax-20170225.ebuild 1863 SHA256 3c2d33f8036ff160532414bccfd7a5a2c9e2ef777471d213951673f8edce07e1 SHA512 e5178f85e526f5410eff419f776ba8e55f340cccb292330cc48cc37c846cbb1847fff673dbc4662663a8c10488b66780213ce34eb34c4d001934bf89ff3f6e6a WHIRLPOOL 1834a4a8375c2325de3fd9520e0f50f848f9a39b58f2f5cab25cbd07df9f38b8d31f2fcf6ece58d8c119478f3d14686f31fc4da63be1657a1fbed53664e02be5
EBUILD gentoo-syntax-99999999.ebuild 1860 SHA256 4d39f8486248946734d161581a45f445b1778b8343010fbc6f3f43b30626c96f SHA512 b5db61773f98d50a4c4ab64ee72d50ac98d39de249fec9c3c063a763e58bdf47e0a4f31b71b3dee3ead53cc847b6a0301232e75e440f1115205e2900809e4365 WHIRLPOOL d36a78091ae3f3745ae87c584172e874023f5c33f050223c6b76a50ff7f453d926decf022d37e7a1d7d22e2ec74d6629aaab8b53063a4e142a2e3811f2a25b0a
MISC ChangeLog 4043 SHA256 6d4da7467c253f0203e022ee7ae1aaebc0e6eb0ed71b6ea38dd3d382031cc62f SHA512 7594ac88fd9a7f2d6113df18b6551648f9e275db22c399c7b46b24a44748de25b5df1ac10c870f8f7c892cf94dc5193636f5d026a2128ab64a89aac65a590e13 WHIRLPOOL b640221fc4543211ee21b6db4f69733b1073b06dff7e4764bd5572e0fc5bf8dbbafb10adb27c818b8cc2405395a8c71e7702607ff659eaaff2c693d168ea376a
MISC ChangeLog-2015 24716 SHA256 72e7e4698a1bf43330557a097d50bf03e2745a9b15456c566dd1729ddca8692c SHA512 31fdd45e6cab03f1cdb084b3f91b4559da61e446b4d9d2164fffd783fd397adf4a57916d5e0ff7001e1dcc3edc04134835939e8ce1472e06db25b3dbc31a1cb3 WHIRLPOOL 7d6f9ae480b3e656f2aebd2778bb73ecb4f7cedacc6e88c3901a22379bb57794162675cfe21428a2730805497be1252b8120778f7daeee39bea1554f2930a76e
MISC metadata.xml 446 SHA256 cc5455726253294dbd8c54b5f6f136235f68215d7ca0d5ce9120f6acd566b7cc SHA512 2dc59075bad043ed183529af7484ab54e718774c275ce38e3b96af6b0461b8cf8d704dbcf37cb4aa7fb9dce2db3eb62075ff984ad7ac11fedf3f0bd2a582635c WHIRLPOOL e0b47d774255f3a322819bf507b2212bfac270b654dc4c93cbdc3df50f334a2348075265601b22f01103cda8345962318b03abb0a540680c6a632cb4f978692b
DIST gentoo-syntax-1.tar.bz2 20223 BLAKE2B 846e07354660b4859cc4131a9fbf4f78d3a2ddeda60fc6a3687b649788a52725602dcd22befa9ab9fe88b173eab1470e569076d587326935efaf40d3aaba5b57 SHA512 1e4d947f0edbf6bd24142d683944f30d43b7e0ca86b90311f2e80516d299d9a634a9842cdc90d98a43e7a693f0dd29b3ff8048256bc3fe688591cc2b84808289
DIST gentoo-syntax-20211208.tar.bz2 18844 BLAKE2B 52e7025d46f5101f2e1c44afcbf3cba0756a1ec9c626f7af312bb5bbae518645c06c94bfc48822a721e2e3c1ed5f61376e88a074a9688cf4b5b3c352a99c87c9 SHA512 f1cfe2af440f7ed3042cbaa16558cb6df8038f439a2c3e7067f81751a37098854a3afb1653c7c3656ef85ad1874d2db9271429b92a25f494da6ee5c68819e631
DIST gentoo-syntax-20220220.tar.bz2 19433 BLAKE2B 8f7fbbb56e41f4d682c824deb980035441195785f9ce80fd45808b55cf900c8e0455b5c670f82b1fc639c052792b78de5f0be1142eab853b0cabbd44c6ed0776 SHA512 4b515ca7936a16279c48310d1fa0f58979e35b1d84a2971bdcf4a004784efa3de99619851ac9da5ee0ee77a1f65eb28550d01013cffebd45e39fb70c0136ba12

View File

@ -0,0 +1,44 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit vim-plugin
MY_P=${P/0.}
DESCRIPTION="vim plugin: Gentoo and Portage syntax highlighting"
HOMEPAGE="https://github.com/gentoo/gentoo-syntax"
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-syntax.git/snapshot/${MY_P}.tar.bz2"
S=${WORKDIR}/${MY_P}
LICENSE="vim"
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="ignore-glep31"
VIM_PLUGIN_HELPFILES="gentoo-syntax"
VIM_PLUGIN_MESSAGES="filetype"
src_prepare() {
default
if use ignore-glep31 ; then
for f in ftplugin/*.vim ; do
ebegin "Removing UTF-8 rules from ${f} ..."
sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \
|| die "waah! bad sed voodoo. need more goats."
eend $?
done
fi
}
pkg_postinst() {
vim-plugin_pkg_postinst
if [[ -z ${REPLACING_VERSIONS} ]] ; then
if use ignore-glep31 1>/dev/null ; then
ewarn "You have chosen to disable the rules which ensure GLEP 31"
ewarn "compliance. When editing ebuilds, please make sure you get"
ewarn "the character set correct."
fi
fi
}

View File

@ -0,0 +1,44 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit vim-plugin
MY_P=${P/0.}
DESCRIPTION="vim plugin: Gentoo and Portage syntax highlighting"
HOMEPAGE="https://github.com/gentoo/gentoo-syntax"
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-syntax.git/snapshot/${MY_P}.tar.bz2"
S=${WORKDIR}/${MY_P}
LICENSE="vim"
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="ignore-glep31"
VIM_PLUGIN_HELPFILES="gentoo-syntax"
VIM_PLUGIN_MESSAGES="filetype"
src_prepare() {
default
if use ignore-glep31 ; then
for f in ftplugin/*.vim ; do
ebegin "Removing UTF-8 rules from ${f} ..."
sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \
|| die "waah! bad sed voodoo. need more goats."
eend $?
done
fi
}
pkg_postinst() {
vim-plugin_pkg_postinst
if [[ -z ${REPLACING_VERSIONS} ]] ; then
if use ignore-glep31 1>/dev/null ; then
ewarn "You have chosen to disable the rules which ensure GLEP 31"
ewarn "compliance. When editing ebuilds, please make sure you get"
ewarn "the character set correct."
fi
fi
}

View File

@ -0,0 +1,42 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit vim-plugin
DESCRIPTION="vim plugin: Gentoo and Portage syntax highlighting"
HOMEPAGE="https://github.com/gentoo/gentoo-syntax"
SRC_URI="https://gitweb.gentoo.org/proj/gentoo-syntax.git/snapshot/${P}.tar.bz2"
LICENSE="vim"
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="ignore-glep31"
VIM_PLUGIN_HELPFILES="gentoo-syntax"
VIM_PLUGIN_MESSAGES="filetype"
src_prepare() {
default
if use ignore-glep31 ; then
for f in ftplugin/*.vim ; do
ebegin "Removing UTF-8 rules from ${f} ..."
sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \
|| die "waah! bad sed voodoo. need more goats."
eend $?
done
fi
}
pkg_postinst() {
vim-plugin_pkg_postinst
if [[ -z ${REPLACING_VERSIONS} ]] ; then
if use ignore-glep31 1>/dev/null ; then
ewarn "You have chosen to disable the rules which ensure GLEP 31"
ewarn "compliance. When editing ebuilds, please make sure you get"
ewarn "the character set correct."
fi
fi
}

View File

@ -1,53 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit vim-plugin
if [[ ${PV} == 9999* ]] ; then
EGIT_REPO_URI="https://github.com/gentoo/gentoo-syntax.git"
inherit git-r3
else
SRC_URI="https://github.com/gentoo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Gentoo and portage related syntax highlighting, filetype, and indent settings"
HOMEPAGE="https://github.com/gentoo/gentoo-syntax"
LICENSE="vim"
IUSE="ignore-glep31"
VIM_PLUGIN_HELPFILES="gentoo-syntax"
VIM_PLUGIN_MESSAGES="filetype"
src_prepare() {
default
if use ignore-glep31 ; then
for f in ftplugin/*.vim ; do
ebegin "Removing UTF-8 rules from ${f} ..."
sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \
|| die "waah! bad sed voodoo. need more goats."
eend $?
done
fi
}
pkg_postinst() {
vim-plugin_pkg_postinst
if [[ -z ${REPLACING_VERSIONS} ]] ; then
if use ignore-glep31 1>/dev/null ; then
ewarn "You have chosen to disable the rules which ensure GLEP 31"
ewarn "compliance. When editing ebuilds, please make sure you get"
ewarn "the character set correct."
else
elog "Note for developers and anyone else who edits ebuilds:"
elog " This release of gentoo-syntax now contains filetype rules to set"
elog " fileencoding for ebuilds and ChangeLogs to utf-8 as per GLEP 31."
elog " If you find this feature breaks things, please submit a bug and"
elog " assign it to vim@gentoo.org. You can use the 'ignore-glep31' USE"
elog " flag to remove these rules."
fi
fi
}

View File

@ -1,53 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit vim-plugin
if [[ ${PV} == 9999* ]] ; then
EGIT_REPO_URI="https://github.com/gentoo/gentoo-syntax.git"
inherit git-r3
else
SRC_URI="https://github.com/gentoo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Gentoo and portage related syntax highlighting, filetype, and indent settings"
HOMEPAGE="https://github.com/gentoo/gentoo-syntax"
LICENSE="vim"
IUSE="ignore-glep31"
VIM_PLUGIN_HELPFILES="gentoo-syntax"
VIM_PLUGIN_MESSAGES="filetype"
src_prepare() {
default
if use ignore-glep31 ; then
for f in ftplugin/*.vim ; do
ebegin "Removing UTF-8 rules from ${f} ..."
sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \
|| die "waah! bad sed voodoo. need more goats."
eend $?
done
fi
}
pkg_postinst() {
vim-plugin_pkg_postinst
if [[ -z ${REPLACING_VERSIONS} ]] ; then
if use ignore-glep31 1>/dev/null ; then
ewarn "You have chosen to disable the rules which ensure GLEP 31"
ewarn "compliance. When editing ebuilds, please make sure you get"
ewarn "the character set correct."
else
elog "Note for developers and anyone else who edits ebuilds:"
elog " This release of gentoo-syntax now contains filetype rules to set"
elog " fileencoding for ebuilds and ChangeLogs to utf-8 as per GLEP 31."
elog " If you find this feature breaks things, please submit a bug and"
elog " assign it to vim@gentoo.org. You can use the 'ignore-glep31' USE"
elog " flag to remove these rules."
fi
fi
}

View File

@ -0,0 +1,43 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit git-r3 vim-plugin
DESCRIPTION="vim plugin: Gentoo and Portage syntax highlighting"
HOMEPAGE="https://github.com/gentoo/gentoo-syntax"
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoo-syntax.git
https://github.com/gentoo/gentoo-syntax.git"
LICENSE="vim"
SLOT="0"
KEYWORDS=""
IUSE="ignore-glep31"
VIM_PLUGIN_HELPFILES="gentoo-syntax"
VIM_PLUGIN_MESSAGES="filetype"
src_prepare() {
default
if use ignore-glep31 ; then
for f in ftplugin/*.vim ; do
ebegin "Removing UTF-8 rules from ${f} ..."
sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \
|| die "waah! bad sed voodoo. need more goats."
eend $?
done
fi
}
pkg_postinst() {
vim-plugin_pkg_postinst
if [[ -z ${REPLACING_VERSIONS} ]] ; then
if use ignore-glep31 1>/dev/null ; then
ewarn "You have chosen to disable the rules which ensure GLEP 31"
ewarn "compliance. When editing ebuilds, please make sure you get"
ewarn "the character set correct."
fi
fi
}

View File

@ -1,53 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit vim-plugin
if [[ ${PV} == 9999* ]] ; then
EGIT_REPO_URI="https://github.com/gentoo/gentoo-syntax.git"
inherit git-r3
else
SRC_URI="https://github.com/gentoo/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
DESCRIPTION="Gentoo and portage related syntax highlighting, filetype, and indent settings"
HOMEPAGE="https://github.com/gentoo/gentoo-syntax"
LICENSE="vim"
IUSE="ignore-glep31"
VIM_PLUGIN_HELPFILES="gentoo-syntax"
VIM_PLUGIN_MESSAGES="filetype"
src_prepare() {
default
if use ignore-glep31 ; then
for f in ftplugin/*.vim ; do
ebegin "Removing UTF-8 rules from ${f} ..."
sed -i -e 's~\(setlocal fileencoding=utf-8\)~" \1~' ${f} \
|| die "waah! bad sed voodoo. need more goats."
eend $?
done
fi
}
pkg_postinst() {
vim-plugin_pkg_postinst
if [[ -z ${REPLACING_VERSIONS} ]] ; then
if use ignore-glep31 1>/dev/null ; then
ewarn "You have chosen to disable the rules which ensure GLEP 31"
ewarn "compliance. When editing ebuilds, please make sure you get"
ewarn "the character set correct."
else
elog "Note for developers and anyone else who edits ebuilds:"
elog " This release of gentoo-syntax now contains filetype rules to set"
elog " fileencoding for ebuilds and ChangeLogs to utf-8 as per GLEP 31."
elog " If you find this feature breaks things, please submit a bug and"
elog " assign it to vim@gentoo.org. You can use the 'ignore-glep31' USE"
elog " flag to remove these rules."
fi
fi
}

View File

@ -1,10 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>vim@gentoo.org</email>
<name>Gentoo Vim Project</name>
</maintainer>
<maintainer type="person">
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
<stabilize-allarches/>
<use>
<flag name="ignore-glep31">Remove GLEP 31 (UTF-8 file encodings) settings</flag>
</use>

View File

@ -0,0 +1,7 @@
- whois ([5.5.11](https://github.com/rfc1036/whois/commit/5f5ba8312c04a759dad05723c035549273d07461))
- rpcbind ([1.2.6](https://git.linux-nfs.org/?p=steved/rpcbind.git;a=shortlog;h=refs/tags/rpcbind-1_2_6))
- socat ([1.7.4.3](https://repo.or.cz/socat.git/blob/refs/tags/tag-1.7.4.3:/CHANGES))
- dosfstools ([4.2](https://github.com/dosfstools/dosfstools/releases/tag/v4.2))
- thin-provisioning-tools ([0.9.0](https://github.com/jthornber/thin-provisioning-tools/blob/d6d93c3157631b242a13a81d30f75453e576c55a/CHANGES#L1-L9))
- lsscsi ([0.32](https://sg.danny.cz/scsi/lsscsi.ChangeLog))
- man-db ([2.9.4](https://gitlab.com/cjwatson/man-db/-/tags/2.9.4))

View File

@ -1,9 +1,2 @@
DIST libevent-2.0.22-stable.tar.gz 854987 SHA256 71c2c49f0adadacfdbe6332a372c38cf9c8b7895bb73dabeaa53cdcc1d4e1fa3 SHA512 990637f12e890bfa7f86c194c8b112701436e92b60afb829194879efb85d558b986261e6508fe29bde73981feada874438e2d442cec8ea5730c889954f9bc907 WHIRLPOOL fe465e94a35dc489a86fad93fd4a82d5c314e3a66ebf1bcf8ba29014fe9bd2ebce4546b4a6a9fedee40d17010d73eb89b99596cec1dde3b7f9a4240cf6b6760d
DIST libevent-2.1.8.tar.gz 1026485 SHA256 965cc5a8bb46ce4199a47e9b2c9e1cae3b137e8356ffdad6d94d3b9069b71dc2 SHA512 a2fd3dd111e73634e4aeb1b29d06e420b15c024d7b47778883b5f8a4ff320b5057a8164c6d50b53bd196c79d572ce2639fe6265e03a93304b09c22b41e4c2a17 WHIRLPOOL ac90b6613619e0acf039fa331769449b29a3b7698a6d51b811c9288a550a3178e07b5a18a0982141ee90b7e1c34afdc80658355135963ef487cd243c472ee79a
EBUILD libevent-2.0.22-r2.ebuild 1769 SHA256 03dabfc0b70434c14a4679c7fb3cdad9fffaba55a2f758f7f51c8f3a8eddbc01 SHA512 77913b3adc289cb8f3a74bff68230a70955af312caae4950f1491dacaf4ce9a0783519fba95ee5926d8d3260bf59e703c22dd58150879dc5009621ae886aecaf WHIRLPOOL d364780e1abb88d300424cd4a20509a3f4dce004b08ac5a3bc30f263be9019649e901ef5ecad4896b12af2a3f3be59eb8cab2ec58550906fc0cf4a01ecb7bde6
EBUILD libevent-2.0.22.ebuild 1646 SHA256 2ace2e07d6d54bdc3bf4e98484a05935fbc4e312d890c680b25b98c7497d0982 SHA512 e3cfa5a4a4273d644b241e0bbb7fa9ed77146d798020d8a54259d35f3424a7fd58386f953a00bd11106095ddae519e58be6329f7617a800cb8eae7b67a6c8008 WHIRLPOOL e967beaeda01974450c71b57a4cda3a23aa9f2efd7c4dd4bfea19813f7e765301f63f64c91c68e670bfd545c140969a4137335e53170d1cc5322b80b13f74c8e
EBUILD libevent-2.1.8.ebuild 1719 SHA256 83a29e9746c3d286b6082b4bd905a001652abfb65a0e7783db41d8f48c128730 SHA512 1ab87fbd2e18d3bd265c999850b2a8e71c7767cbc8f868f24681f39913c1b506e8eccb4ce091ca138de7c72cb2663bccab0c255b672ae440c5d2c2b83d7f9bfa WHIRLPOOL 3410bde881828235348d94b30e26b586526dc80ea10bb56393d10dbb1fc434b56f319d9969d29cffc4079e73118fdd492109ffe111debf6a358cf2c32786eabd
EBUILD libevent-9999.ebuild 1205 SHA256 15c6e31e82adaebb6896c2d571e44045dabd185c21b46998e520bf087dd1b1d8 SHA512 ecb96696ecccaf8fffbdf147d3d75c8521cf746498bae305280adc4849f9e0dc740b5e364057a1299a196410fe0204d98edfa6058bd9c0a1c821b8f590264931 WHIRLPOOL 5cc2dcb682a7314a18b2e92f7168a14b928a3b046cd41ffddc1a138c057062caf5bd320ae1ed76bec26ca011433dfb0d662ad6dd6ee61929d0cf00892e077451
MISC ChangeLog 5494 SHA256 eac9ebd3dc3b637174116ebcafef9a3a917e0dd6a80a2e27742996705d13ec24 SHA512 dcc777e00d6d95d6fcb88bbcf7e450a4bd092a3768e2aa8f814c3737f91d6d8a8f0f328a3a6fd25b99505fa657eb7eb30ce05170f4e7ad12e50fb34421fe8f54 WHIRLPOOL 313ab1dbad65948712a90c696d34f1db8e68cde80ca21bc0d2ad4ba54efd890f913f7cd31b327b7cc6c4c4df0482e020d80490c6037626b768f8e687a6b8f8d7
MISC ChangeLog-2015 34971 SHA256 1d4925a7ba78d257b422a8eed3a27603cb6d970624bb6991858895857a2be74b SHA512 c89ef36c02a445e5f78f18d2ef5cdcbad1dbae4980a77a87b75942832a1499f5d1fc4b506d9b7ac01aad831ed15b28504acb00b4c5df3ab7e60aec984535d79a WHIRLPOOL 6b4a1936db5e1c44fd68d2eb9d721d2d8680dcf6d88163510f0004481aac538ac7325bb850a9f940c8579dbe6416a11a85012783653c9612f79654fe2d89f1e2
MISC metadata.xml 547 SHA256 7476b428c7c784eca3a454043553542d9cf2b4e8aaa829faca2684802393a1a4 SHA512 556eebbb7d05a8234e9705126549520a8b8d553cf6331f353bf7a5bad343b0ad56292dbdda5bccec827772faf07bf17f0163e4b479530eea0832e31d9f17f73a WHIRLPOOL 3e57e58f279ee148b674d2c29b56ade51810991389bc2f3e0215d79d27b05d5cc33292807bb0a7cef899ee27cefef197b77c553475a9286a65c42d8654569f82
DIST libevent-2.1.11.tar.gz 1082234 BLAKE2B c6721589834bff027a8149ee0076e1877fba000d1712a405e20030192d9c81b892d0930bc1a4774650bef4cb08c60ac81b5928dc17346492ae7e4ded2125579a SHA512 9d0517b117f128f4f196b19a810524814bab75fa967d533063aaa619d3cf2dca97b443edd5805b764da2993d8e37caa536dce39f68ffcc2a88d32a89204c2de3
DIST libevent-2.1.12.tar.gz 1100847 BLAKE2B bc1ace15f639ecef2e6b3f95976b8830c1d86f1d06606dd949e2978611fdf9859ed4eb9292d13e6e90e3835063edb94aae64a15c518d5dabe680f37d5a7f5290 SHA512 88d8944cd75cbe78bc4e56a6741ca67c017a3686d5349100f1c74f8a68ac0b6410ce64dff160be4a4ba0696ee29540dfed59aaf3c9a02f0c164b00307fcfe84f

View File

@ -1,69 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils libtool multilib-minimal
MY_P="${P}-stable"
DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
HOMEPAGE="http://libevent.org/"
SRC_URI="mirror://sourceforge/levent/files/${MY_P}.tar.gz"
LICENSE="BSD"
# libevent-2.0.so.5
SLOT="0/2.0-5"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="debug libressl +ssl static-libs test +threads"
DEPEND="
ssl? (
!libressl? ( >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] )
libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
)
"
RDEPEND="
${DEPEND}
!<=dev-libs/9libs-1.0
"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/event2/event-config.h
)
S=${WORKDIR}/${MY_P}
DOCS=( README ChangeLog )
src_prepare() {
elibtoolize
# don't waste time building tests/samples
# https://github.com/libevent/libevent/pull/143
# https://github.com/libevent/libevent/pull/144
sed -i \
-e 's|^\(SUBDIRS =.*\)sample test\(.*\)$|\1\2|' \
Makefile.in || die "sed Makefile.in failed"
}
multilib_src_configure() {
ECONF_SOURCE="${S}" \
econf \
$(use_enable debug debug-mode) \
$(use_enable debug malloc-replacement) \
$(use_enable ssl openssl) \
$(use_enable static-libs static) \
$(use_enable threads thread-support)
}
src_test() {
# The test suite doesn't quite work (see bug #406801 for the latest
# installment in a riveting series of reports).
:
# emake -C test check | tee "${T}"/tests
}
multilib_src_install_all() {
einstalldocs
prune_libtool_files
}

View File

@ -1,63 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils libtool multilib-minimal
MY_P="${P}-stable"
DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
HOMEPAGE="http://libevent.org/"
SRC_URI="mirror://sourceforge/levent/files/${MY_P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="debug +ssl static-libs test +threads"
DEPEND="ssl? ( >=dev-libs/openssl-1.0.1h-r2[${MULTILIB_USEDEP}] )"
RDEPEND="
${DEPEND}
!<=dev-libs/9libs-1.0
"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/event2/event-config.h
)
S=${WORKDIR}/${MY_P}
DOCS=( README ChangeLog )
src_prepare() {
elibtoolize
# don't waste time building tests/samples
# https://github.com/libevent/libevent/pull/143
# https://github.com/libevent/libevent/pull/144
sed -i \
-e 's|^\(SUBDIRS =.*\)sample test\(.*\)$|\1\2|' \
Makefile.in || die "sed Makefile.in failed"
}
multilib_src_configure() {
ECONF_SOURCE="${S}" \
econf \
$(use_enable debug debug-mode) \
$(use_enable debug malloc-replacement) \
$(use_enable ssl openssl) \
$(use_enable static-libs static) \
$(use_enable threads thread-support)
}
src_test() {
# The test suite doesn't quite work (see bug #406801 for the latest
# installment in a riveting series of reports).
:
# emake -C test check | tee "${T}"/tests
}
multilib_src_install_all() {
einstalldocs
prune_libtool_files
}

View File

@ -1,40 +1,37 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools eutils multilib-minimal
EAPI=7
inherit multilib-minimal
DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
HOMEPAGE="http://libevent.org/ https://github.com/libevent/libevent/"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/release-${PV}-stable/${P}-stable.tar.gz -> ${P}.tar.gz"
HOMEPAGE="
https://libevent.org/
https://github.com/libevent/libevent/
"
SRC_URI="
https://github.com/${PN}/${PN}/releases/download/release-${PV/_/-}-stable/${P/_/-}-stable.tar.gz -> ${P}.tar.gz
"
LICENSE="BSD"
# libevent-2.1.so.6
SLOT="0/2.1-6"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="debug libressl +ssl static-libs test +threads"
SLOT="0/2.1-7"
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 ~x64-solaris ~x86-solaris"
IUSE="debug +ssl static-libs test +threads"
RESTRICT="!test? ( test )"
DEPEND="
ssl? (
!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
>=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
)
"
RDEPEND="
${DEPEND}
!<=dev-libs/9libs-1.0
"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/event2/event-config.h
)
S=${WORKDIR}/${P}-stable
src_prepare() {
default
eautoreconf
}
S=${WORKDIR}/${P/_/-}-stable
multilib_src_configure() {
# fix out-of-source builds
@ -62,5 +59,5 @@ DOCS=( ChangeLog{,-1.4,-2.0} )
multilib_src_install_all() {
einstalldocs
prune_libtool_files
find "${ED}" -name '*.la' -delete || die
}

View File

@ -0,0 +1,75 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools multilib-minimal
DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
HOMEPAGE="
https://libevent.org/
https://github.com/libevent/libevent/
"
SRC_URI="
https://github.com/${PN}/${PN}/releases/download/release-${PV/_/-}-stable/${P/_/-}-stable.tar.gz -> ${P}.tar.gz
"
LICENSE="BSD"
SLOT="0/2.1-7"
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 ~x64-solaris ~x86-solaris"
IUSE="
+clock-gettime debug malloc-replacement +ssl static-libs test
+threads verbose-debug
"
RESTRICT="!test? ( test )"
DEPEND="
ssl? (
>=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
)
"
RDEPEND="
${DEPEND}
!<=dev-libs/9libs-1.0
"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/event2/event-config.h
)
S=${WORKDIR}/${P/_/-}-stable
src_prepare() {
default
# bug #767472
elibtoolize
}
multilib_src_configure() {
# fix out-of-source builds
mkdir -p test || die
ECONF_SOURCE="${S}" \
econf \
$(use_enable clock-gettime) \
$(use_enable debug debug-mode) \
$(use_enable malloc-replacement malloc-replacement) \
$(use_enable ssl openssl) \
$(use_enable static-libs static) \
$(use_enable test libevent-regress) \
$(use_enable threads thread-support) \
$(use_enable verbose-debug) \
--disable-samples
}
src_test() {
# The test suite doesn't quite work (see bug #406801 for the latest
# installment in a riveting series of reports).
:
# emake -C test check | tee "${T}"/tests
}
DOCS=( ChangeLog{,-1.4,-2.0} )
multilib_src_install_all() {
einstalldocs
find "${ED}" -name '*.la' -delete || die
}

View File

@ -0,0 +1,67 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools git-r3 multilib-minimal
DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
EGIT_BRANCH="patches-$(ver_cut 1-2)"
EGIT_REPO_URI="https://github.com/libevent/libevent"
HOMEPAGE="
https://libevent.org/
https://github.com/libevent/libevent
"
LICENSE="BSD"
# libevent-2.1.so.6
SLOT="0/2.1-7"
KEYWORDS=""
IUSE="
+clock-gettime debug malloc-replacement +ssl static-libs test
+threads verbose-debug
"
RESTRICT="test"
DEPEND="
ssl? (
>=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
)
"
RDEPEND="
${DEPEND}
!<=dev-libs/9libs-1.0
"
MULTILIB_WRAPPED_HEADERS=(
/usr/include/event2/event-config.h
)
DOCS=(
ChangeLog{,-1.4,-2.0}
)
src_prepare() {
default
eautoreconf
}
multilib_src_configure() {
# fix out-of-source builds
mkdir -p test || die
ECONF_SOURCE="${S}" \
econf \
$(use_enable clock-gettime) \
$(use_enable debug debug-mode) \
$(use_enable malloc-replacement malloc-replacement) \
$(use_enable ssl openssl) \
$(use_enable static-libs static) \
$(use_enable test libevent-regress) \
$(use_enable threads thread-support) \
$(use_enable verbose-debug) \
--disable-samples
}
multilib_src_install_all() {
einstalldocs
find "${ED}" -name '*.la' -delete || die
}

View File

@ -1,23 +1,29 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools eutils git-r3 multilib-minimal
EAPI=7
inherit autotools git-r3 multilib-minimal
DESCRIPTION="Library to execute a function when a specific event occurs on a file descriptor"
HOMEPAGE="http://libevent.org/"
EGIT_REPO_URI="https://github.com/libevent/libevent"
HOMEPAGE="
https://libevent.org/
https://github.com/libevent/libevent
"
LICENSE="BSD"
SLOT="0"
KEYWORDS=""
IUSE="debug libressl +ssl static-libs test +threads"
IUSE="
+clock-gettime debug malloc-replacement mbedtls +ssl static-libs
test +threads verbose-debug
"
RESTRICT="test"
DEPEND="
mbedtls? ( net-libs/mbedtls )
ssl? (
!libressl? ( >=dev-libs/openssl-1.0.1h-r2:0[${MULTILIB_USEDEP}] )
libressl? ( dev-libs/libressl[${MULTILIB_USEDEP}] )
>=dev-libs/openssl-1.0.1h-r2:0=[${MULTILIB_USEDEP}]
)
"
RDEPEND="
@ -43,16 +49,19 @@ multilib_src_configure() {
ECONF_SOURCE="${S}" \
econf \
--disable-samples \
$(use_enable clock-gettime) \
$(use_enable debug debug-mode) \
$(use_enable debug malloc-replacement) \
$(use_enable malloc-replacement malloc-replacement) \
$(use_enable mbedtls) \
$(use_enable ssl openssl) \
$(use_enable static-libs static) \
$(use_enable test libevent-regress) \
$(use_enable threads thread-support)
$(use_enable threads thread-support) \
$(use_enable verbose-debug) \
--disable-samples
}
multilib_src_install_all() {
einstalldocs
prune_libtool_files
find "${ED}" -name '*.la' -delete || die
}

View File

@ -1,16 +1,21 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>jer@gentoo.org</email>
<name>Jeroen Roovers</name>
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:niels_provos:libevent</remote-id>
<remote-id type="sourceforge">levent</remote-id>
<remote-id type="github">libevent/libevent</remote-id>
<remote-id type="sourceforge">levent</remote-id>
</upstream>
<use>
<flag name="debug">Support runtime debug mode and malloc hooks (for programmers)</flag>
<flag name="clock-gettime">Disable use of clock_gettime even if it is available</flag>
<flag name="debug">Support for running in debug mode</flag>
<flag name="malloc-replacement">Support for replacing the memory management functions</flag>
<flag name="mbedtls">Support for <pkg>net-libs/mbedtls</pkg> encryption</flag>
<flag name="ssl">Support for <pkg>dev-libs/openssl</pkg> encryption</flag>
<flag name="verbose-debug">Support for verbose debug logging</flag>
</use>
</pkgmetadata>

View File

@ -1 +1,3 @@
DIST libksba-1.3.5.tar.bz2 620649 BLAKE2B 6ed250684e40b4efcc07a86584adfbc659f886919d0306e82e2275c9acb8a1df698c7cc9a917fa66dd906fe473d14fa29507c03e681aed86286d65d9551cb5f6 SHA512 60179bfd109b7b4fd8d2b30a3216540f03f5a13620d9a5b63f1f95788028708a420911619f172ba57e945a6a2fcd2ef7eaafc5585a0eb2b9652cfadf47bf39a2
DIST libksba-1.5.0.tar.bz2 656518 BLAKE2B 077655031f82ff13c596ad0be0d0f15408a5b793f00e3af3516f4f207285f7d76096216c7bf11d2c46c28eb332cc74df39bef84afb0f47184c8ebdd8cb92a86d SHA512 84383e8b084bf47ac646a9aacb174e510ffcab4b966b649e4351990eaf7ce78cc9d199e6c4f3a1be697888c857ee86ecef949c06156790c7d8d0bd0fb0142721
DIST libksba-1.5.1.tar.bz2 659280 BLAKE2B f247a2c9545e3c3ae3bbcf50344ca530ef320d12b9a1e301bca086b0e1a69e6b7a88b912b14f862d82e7ad45bf588754db601d987ee42579d8042e68b5108d33 SHA512 156fe6a36daa7b11ce580366ab36a5fceda253413f0057ace791e4f028fd3158a70a3f6ba1d0c824fafee4420d1076864dbd0911606fb65e14c8b2332b6cc92b
DIST libksba-1.6.0.tar.bz2 662120 BLAKE2B 59bee23f764ab3e0f79fae6074ffe568845b6089ff29b8c5112973490ff5e1436834d5d0b50954ba9fbd6be655f47043a6345181c5c7e552322ceb331d030780 SHA512 a7c76d41dfd8ec6383ac2de3c53848cd9f066b538f6f3cd43175e3c8095df51b96d0a24a573481c0c4856b09b7c224e2b562d88f5c0801e7acfb582ea2739c2b

View File

@ -1,28 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
inherit ltprune
DESCRIPTION="X.509 and CMS (PKCS#7) library"
HOMEPAGE="http://www.gnupg.org/related_software/libksba"
SRC_URI="mirror://gnupg/libksba/${P}.tar.bz2"
LICENSE="LGPL-3+ GPL-2+ GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="static-libs"
RDEPEND=">=dev-libs/libgpg-error-1.8"
DEPEND="${RDEPEND}"
src_configure() {
econf $(use_enable static-libs static)
}
src_install() {
default
# ppl need to use lib*-config for --cflags and --libs
prune_libtool_files
}

View File

@ -0,0 +1,33 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="X.509 and CMS (PKCS#7) library"
HOMEPAGE="http://www.gnupg.org/related_software/libksba"
SRC_URI="mirror://gnupg/libksba/${P}.tar.bz2"
LICENSE="LGPL-3+ GPL-2+ GPL-3"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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="static-libs"
RDEPEND=">=dev-libs/libgpg-error-1.8"
DEPEND="${RDEPEND}"
BDEPEND="sys-devel/bison"
src_configure() {
local myeconfargs=(
$(use_enable static-libs static)
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
)
econf "${myeconfargs[@]}"
}
src_install() {
default
# ppl need to use lib*-config for --cflags and --libs
find "${ED}" -type f -name '*.la' -delete || die
}

View File

@ -0,0 +1,33 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="X.509 and CMS (PKCS#7) library"
HOMEPAGE="http://www.gnupg.org/related_software/libksba"
SRC_URI="mirror://gnupg/libksba/${P}.tar.bz2"
LICENSE="LGPL-3+ GPL-2+ GPL-3"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~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="static-libs"
RDEPEND=">=dev-libs/libgpg-error-1.8"
DEPEND="${RDEPEND}"
BDEPEND="sys-devel/bison"
src_configure() {
local myeconfargs=(
$(use_enable static-libs static)
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
)
econf "${myeconfargs[@]}"
}
src_install() {
default
# ppl need to use lib*-config for --cflags and --libs
find "${ED}" -type f -name '*.la' -delete || die
}

View File

@ -0,0 +1,33 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="X.509 and CMS (PKCS#7) library"
HOMEPAGE="http://www.gnupg.org/related_software/libksba"
SRC_URI="mirror://gnupg/libksba/${P}.tar.bz2"
LICENSE="LGPL-3+ GPL-2+ GPL-3"
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="static-libs"
RDEPEND=">=dev-libs/libgpg-error-1.8"
DEPEND="${RDEPEND}"
BDEPEND="sys-devel/bison"
src_configure() {
local myeconfargs=(
$(use_enable static-libs static)
GPG_ERROR_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-gpg-error-config"
LIBGCRYPT_CONFIG="${ESYSROOT}/usr/bin/${CHOST}-libgcrypt-config"
$("${S}/configure" --help | grep -o -- '--without-.*-prefix')
)
econf "${myeconfargs[@]}"
}
src_install() {
default
# ppl need to use lib*-config for --cflags and --libs
find "${ED}" -type f -name '*.la' -delete || die
}

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>crypto@gentoo.org</email>
<name>Crypto</name>
</maintainer>
</pkgmetadata>
<maintainer type="person">
<name>Lars Wendler</name>
<email>polynomial-c@gentoo.org</email>
</maintainer>
</pkgmetadata>

View File

@ -1,13 +1,2 @@
AUX libpipeline-1.4.1-gnulib-cygwin-sys_select.patch 850 SHA256 122a069e24ed07bab7a65ea31f10e14f755a1a464acb9568dc610f171b94b0a8 SHA512 1aaac731af050193a67a45aae7c100e8a6c4e5328b60b2e6f89ef774f66b6d997a1558b104157f65183191c9940c9d4a904f8b32666021ae20dff6b3e5726990 WHIRLPOOL befcfb16d080bcce5247705a32b82cca6af4ad5b1a6bd7e143b1eb6d901e4b3c625088f9b741abf2bd4785f37eb1a710f4897ce8f12053abdb84939d84c1658a
AUX libpipeline-1.4.1-gnulib-darwin-program_name.patch 683 SHA256 05d93f6ef8e1a94de0739292b9c8d36e14bd29fde83106fbf683fbd7154ac715 SHA512 630d39e2c820935374807f6524ff4ffb0c4b46e7df3b765ca4c794d9fb3cab5882d904bd438ea9351e46e1d66f66c8d3bfb0e376fe24a3b20c8f18f36c47efb8 WHIRLPOOL f67270f796074d8af1b0dd1ce3b1918c7df532c8b72a4ea87986c34d776978f3b53501e874a5e27dc5ebc18ae0c260fe2075a4aec3c6cd74c76ee6d2c6b319e2
DIST libpipeline-1.2.5.tar.gz 779072 SHA256 2de10806d9b7dda54f4098d2c12e36e960b954d1325c0885ac01c3c7ee908d5b SHA512 fd6ec96bd78f921a43e6b8fbb0e8ffd4a2bba35fe87a95dbd98e8b83d04fe2fbe34c4b4a008ca027b683d071f0730f8057d3b9aa2d946f2f7808486f16d97b01 WHIRLPOOL 4a600569d651d41abc4c15984edd11198d85bc67d61431aa87dd1d0e9311de2b4f86cc2f1186b359ed2f34b2e7e95261ed2033f24100697c088ead9508d4120a
DIST libpipeline-1.3.1.tar.gz 787711 SHA256 5cad1b446f135ec3800d32c8c951a1114f4c438609a4c52b262c30301bc8e692 SHA512 0f903f9a268eea7c6d1ddef1210a729d32b423abdbf1e150aaf6705a272dfbcde482302cb06366ce317674bc681c7e3305cd35a83eb3f0451d1c5595f5c6ac5a WHIRLPOOL eb3fc4a337e09552f3e58a06bcbd9ed30d6b95a60b6cadc293e7aceb77a99e488c8c77a757dd93968a48b4fc72d024227fbe176d8ac7a386172bc50b51e54ef2
DIST libpipeline-1.4.0.tar.gz 805155 SHA256 79c759e7fbf17b560a72edce3ff9bb308d7720306c2650e4fae541daabb89bb6 SHA512 0dce585f9d7aea91889804fd7a65a549b41730add0f6156bf8d0409762fed9c29e8843426e8136c9e0a0348734acaabb48ceede1e3e4d9071d4d787d0b8d46f3 WHIRLPOOL 2ba46823c6eacbe7b4a15d135448b2c59c65c431f438d22f1709bea85d819f4358fd685fab00d0e24cf281e92476b8c48aee61e7b406dcd8e142b2e4fa50bf86
DIST libpipeline-1.4.1.tar.gz 805172 SHA256 da46d7b20163aadb9db2faae483f734e9096a7550c84b94029abeab62dd1b9ee SHA512 835d65aa3f9436398b5421544ca7857fe9caed52cd2e70320ea04d6315825e648df930e1c225d4aaf0f2edda2a438f6c00f15c556fb9fd30311560fb8d966797 WHIRLPOOL 1b6688f0388489f015a95397ec6ad34338654bd40c05bc15f30cdbf2e4ad5b1fd53d20f56a6763d398562f39986abf6675236395215bc5819573162eedf17de0
EBUILD libpipeline-1.2.5.ebuild 506 SHA256 da18cc4b0cc3d8a8e808c22ee4c951e516222c878ee73d1fe5ef96fe33b2e60a SHA512 8ea347a009b2cb2cb8dfb8b680f267cdf028377cd5dac15460da865c8610820dcab3a665df38b592ddc6697f35183e9fefb9de72183e86b79d89fd2aa4670373 WHIRLPOOL 22a553312c59608dd7f6db2d1b194e3699aa0fb735c75eed8ac93fc2b0f2c248212c78a318b8545a66d895426606efbeb1a0a7dd9fd0e4996566a64cf6872dac
EBUILD libpipeline-1.3.1.ebuild 519 SHA256 e5123b196b6547340a3d95e2bce0142bcef2efc18eb88c2bc72ffe0b072b1432 SHA512 10e8bc4953caaf1fdb0995dc3a339288b9a91dcf180b8a33db79a7a923a13923c071679116f85223a3ee7a1c0d877ab574e2c055dba86d4a4e8e75da26b212f5 WHIRLPOOL 48e099651025c0607f5a234f0a49e1e1226abf0c196c0ce0dc36410e3a2d3289e2624869fe0f58f8dfa32973df751a3fe2f9f8992af7400e9c7a19843bd1d7bd
EBUILD libpipeline-1.4.0.ebuild 506 SHA256 235bd9255cecabe6f67cc108ae5b6a2916f6d132fdea2cc1ca5c503105e2ad44 SHA512 9215eda7625f54b82d9efc9c4aeb1246f333d4bc9297939fc6d325c933d919c8c0bc5b570669e0c3b16e74f20883dcb37c96925f4350fe5a49fb435c8e500107 WHIRLPOOL 983c8c8d9065bef771169a3b0671fafc5a821ff53d91bdb6ebc83fa072ec9431f1e1150397c1a4dcbe2c6bc41f31dd80708e78cf427404c6c4447d6de1417826
EBUILD libpipeline-1.4.1.ebuild 669 SHA256 e9c4168ec8a80efe78be07d7db6d8b1f503964376a21b30fea828473815c6731 SHA512 ac7f8dc76a8ce2e3dee906022ba3cf57d9a22357b769ebce11d8ca2cfdbc98c665b16722866e6284636f5cb1b7ed4e8bf9e16d8a0d1ca39b8a44083b3444f909 WHIRLPOOL 89f08c30cb17e858f2be1d05df58586bd37533b3c0e35106c386b47792fc694111d589ec8baf74145ed1fc1da44a809b80fa1e6f4ac7815eea5f40ec72fd3029
MISC ChangeLog 3739 SHA256 d0d8f953943ede61da2d781cce85f252dc469e003556bd0a6a11ad9df84740b2 SHA512 9ce074852a2a8962d830ac82f726dc127b460bd19295ba4a1d614c1b1532aed6128a9d6d44e2ab435ec5968a51239f47a358307abd21ec3cd2735bbb41ba433c WHIRLPOOL e973678d829fe13040f3eb3473380ed72af1c240fbf062e5a900375f51bc59392035ed2c4f6458651eb1f5cdac0451cd8ead47151549439201cbfb609f73998c
MISC ChangeLog-2015 8708 SHA256 75350c89d81c9f391c877bcccd317a7f7823fc2b838c3e966f0ffa8b1e4abcb1 SHA512 64ffa5162c6818f069207d3a85d1ff6ab27aa3289704226d821a5639f8ef5b7108a661fee75392c055160cf840e3c7796f11bd05fe807632af504979e80516ae WHIRLPOOL e5f07a1f1be5a3216caaeab99041466e2bbda8629817a393bcf9a20137cc90fb902ec9bd1d1f21b47e767ae19320c66b497198fa0a0fb973303042d2eae9a48d
MISC metadata.xml 253 SHA256 d82c33ef453113a5c1ebe250dcba373c22934a69b0a86c6ab15a5ca589c25b91 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555 WHIRLPOOL e5aee23acff864609953a1e4de768f0e4aef704b44c53c021f28573e1ca5c99f1a46d92935ecec2449f7b4419a36d8373127d0ecfa8d7bae72d835e1839eb3f8
DIST libpipeline-1.5.4.tar.gz 1040952 BLAKE2B 1e8fa839df90d61add79c704856d606599800f1887e056430f0fb0bd61e511c2a0bb98f2f3766f793aa648b404dfc054277d740ee5dd8a27bec740e7a23e0d13 SHA512 98d630553843176c9f6723e4df1fd844df2e71c402ef869027fb5ebe327eb9d55605a11cc159725f191ff3ef2a3a0b5eeff2d3cb1146b0fef5970923b01e433d
DIST libpipeline-1.5.5.tar.gz 956089 BLAKE2B bfa8ed4c96c4dc7cb8360cac201835276dfe39429c993e614d8f396ad9c3175679f5a1ea205a9bf2f8738f8d3066cb50d09a9a5b5fd3d1219ba20adbb40b0e8b SHA512 adb228325c1f11e9f3566f2fc63541a90c88fe24656fc74ed0294d1eb3b80073bf4741fe7c289f53b340702145b11637d37682e3036dce41ec0fe45dcc6d62c5

View File

@ -1,22 +0,0 @@
https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00065.html
--- gnulib/lib/sys_select.in.h.orig 2014-08-03 15:31:22.000000000 +0200
+++ gnulib/lib/sys_select.in.h 2016-05-19 12:57:51.243064700 +0200
@@ -81,7 +81,7 @@
Also, Mac OS X, AIX, HP-UX, IRIX, Solaris, Interix declare select()
in <sys/time.h>.
But avoid namespace pollution on glibc systems. */
-# ifndef __GLIBC__
+# if !(defined __GLIBC__ || defined __NEWLIB__)
# include <sys/time.h>
# endif
@@ -102,7 +102,7 @@
But avoid namespace pollution on glibc systems.
Do this after the include_next (for the sake of OpenBSD 5.0) but before
the split double-inclusion guard (for the sake of Solaris). */
-#if !(defined __GLIBC__ && !defined __UCLIBC__)
+#if !((defined __GLIBC__ || defined __NEWLIB__) && !defined __UCLIBC__)
# include <signal.h>
#endif

View File

@ -1,28 +0,0 @@
https://lists.gnu.org/archive/html/bug-gnulib/2015-02/msg00079.html
From: Margaret Lewicka <address@hidden>
---
lib/error.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/error.c b/lib/error.c
index 6683197..36a3db7 100644
--- gnulib/lib/error.c
+++ gnulib/lib/error.c
@@ -113,9 +113,13 @@ int strerror_r ();
# endif
# endif
+#if defined __APPLE__ && defined __MACH__
+#define program_name (((char **)*_NSGetArgv())[0])
+#else
/* The calling program should define program_name and set it to the
name of the executing program. */
extern char *program_name;
+#endif
# if HAVE_STRERROR_R || defined strerror_r
# define __strerror_r strerror_r
--
2.1.0

View File

@ -1,18 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools-utils
DESCRIPTION="a pipeline manipulation library"
HOMEPAGE="http://libpipeline.nongnu.org/"
SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
IUSE="static-libs test"
DEPEND="virtual/pkgconfig
test? ( dev-libs/check )"

View File

@ -1,18 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools-utils
DESCRIPTION="a pipeline manipulation library"
HOMEPAGE="http://libpipeline.nongnu.org/"
SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
IUSE="static-libs test"
DEPEND="virtual/pkgconfig
test? ( dev-libs/check )"

View File

@ -1,18 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools-utils
DESCRIPTION="a pipeline manipulation library"
HOMEPAGE="http://libpipeline.nongnu.org/"
SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
IUSE="static-libs test"
DEPEND="virtual/pkgconfig
test? ( dev-libs/check )"

View File

@ -1,23 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools-utils
DESCRIPTION="a pipeline manipulation library"
HOMEPAGE="http://libpipeline.nongnu.org/"
SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="static-libs test"
DEPEND="virtual/pkgconfig
test? ( dev-libs/check )"
PATCHES=(
"${FILESDIR}"/${P}-gnulib-cygwin-sys_select.patch
"${FILESDIR}"/${P}-gnulib-darwin-program_name.patch
)

View File

@ -0,0 +1,27 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A pipeline manipulation library"
HOMEPAGE="https://libpipeline.nongnu.org/"
SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
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="test"
RESTRICT="!test? ( test )"
DEPEND="test? ( dev-libs/check )"
BDEPEND="virtual/pkgconfig"
src_configure() {
econf --disable-static
}
src_install() {
default
find "${ED}" -type f -name "*.la" -delete || die
}

View File

@ -0,0 +1,27 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="A pipeline manipulation library"
HOMEPAGE="https://libpipeline.nongnu.org/"
SRC_URI="mirror://nongnu/${PN}/${P}.tar.gz"
LICENSE="GPL-3"
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="test"
RESTRICT="!test? ( test )"
DEPEND="test? ( dev-libs/check )"
BDEPEND="virtual/pkgconfig"
src_configure() {
econf --disable-static
}
src_install() {
default
find "${ED}" -type f -name "*.la" -delete || die
}

View File

@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<maintainer type="project">
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
<upstream>
<remote-id type="gitlab">cjwatson/libpipeline</remote-id>
</upstream>
</pkgmetadata>

View File

@ -1,5 +1 @@
DIST npth-1.3.tar.bz2 295998 SHA256 bca81940436aed0734eb8d0ff8b179e04cc8c087f5625204419f5f45d736a82a SHA512 97b0278cc9448adb42c4a83b8e7bafeed939acaf3dd3a201a1b103df4e48f24224d4bdaeb97903ad1884914ce363cbceffe948a7c1db4f19abf87ca5964f5699 WHIRLPOOL 786dd42c0bb097f47c708cae633f32789d9724cfb5d0e0a12667c754ba32a273ddda6b1c061ad10be1fa2e98dbbcf6850d404e909243fd2e566ba17825f63526
EBUILD npth-1.3.ebuild 676 SHA256 38a29e7985faea5101ba4d3840c0c66a19e5b356feb6d831e6419247071147d3 SHA512 11aa4890d7e405f5248c6ead71a0ebafbba52093c1ab8ad0ce70393db52301c4ec58a70609955163342a399f7acdac4c920dbbd892ac86e7b992623c8195c5cd WHIRLPOOL 8cadb26cc34eedfb10ee5fe9efec1f15a0b474a74a4baf43af0d4109d975bfacb4b3bd07734a8048a739543e0a2b15621db0aece2a6b5ba51f122e031c83b1dc
MISC ChangeLog 5408 SHA256 24d3c17fb4846f9a5fd8dba148b5340236100f58c74ac01d57776661b589e49f SHA512 f56969cb3c3662b5de933fb1d3d66d2d8bde571d1e6252a7b4f6e1cfa658aaee062dfab6054cefad3591c1191b76b284db5dc26676efec7b2fce462e0bdfa7e9 WHIRLPOOL 0ae56e5e8e1f8c1450a3962506c6b879c535956a9022c9939957aac1f692c4afd456b62c0c1faed8aca46e1735548488b0707da329d3700622c206437e92c1bd
MISC ChangeLog-2015 1133 SHA256 90fcc286388de7e44a601fe2705aa4ac168a8b38005ec6860a45605277d3788b SHA512 e358345bb258dc819eae4a519ce83c1ab3609b685689d9098a408d4f8316db8aca3ec92493990452a6c1e076bc712f01ff7ea87dd4268ed4999d957fbefdebf7 WHIRLPOOL 243aca996b604d04323b7f8024fed3ae248d2dc76f54f6b82cea0f9e15db0f4dc15857aecf5c23258759ea4dd77fa4e69544f93346912740a358bc0b5430e9e5
MISC metadata.xml 246 SHA256 97a4242ddb39ec753b766e7bd7b94f9486e997be8bdcf8b86b24e2ed72417f19 SHA512 8ac20e3524a896e77d186b34b589ffe4287593c43fca1d50bcc06cd27e8cb8f5c0da2087622413a748a1738177d5939a50bda7a1e5d0ba36fbf4fb6d7b9bb015 WHIRLPOOL 1c881073f2000444080ab705b5ea51ddb4e3f62c4e952a69415e259d9fd367192e9687023e96233b3d3686528a4f8b63dd99000d11486e7a80922c93f0b1d7be
DIST npth-1.6.tar.bz2 300486 BLAKE2B 665fdb2f4cbe59750b6b4b7c2701ee80a23a122df10c9f8be47c4af5f3bf5968f709637ab3f4878bb68609752fbb6ce1364e109fdfeba64e4db258733a33f3fc SHA512 2ed1012e14a9d10665420b9a23628be7e206fd9348111ec751349b93557ee69f1176bcf7e6b195b35b1c44a5e0e81ee33b713f03d79a33d1ecd9037035afeda2

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>crypto@gentoo.org</email>
<name>Crypto</name>
</maintainer>
<maintainer type="person">
<email>jsmolic@gentoo.org</email>
<name>Jakov Smolić</name>
</maintainer>
</pkgmetadata>

View File

@ -1,24 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit libtool
DESCRIPTION="New GNU Portable Threads Library"
HOMEPAGE="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git"
SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="static-libs"
src_prepare() {
default
elibtoolize # for Solaris shared library
}
src_configure() {
econf $(use_enable static-libs static)
}

View File

@ -0,0 +1,30 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit autotools
DESCRIPTION="New GNU Portable Threads Library"
HOMEPAGE="https://git.gnupg.org/cgi-bin/gitweb.cgi?p=npth.git"
SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
LICENSE="LGPL-2.1+"
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"
src_prepare() {
default
eautoreconf
}
src_configure() {
econf --disable-static
}
src_install() {
default
# no static archives
find "${ED}" -name '*.la' -delete || die
}

View File

@ -1,23 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
MY_PN=gettext
MODULE_AUTHOR=PVANDRY
MODULE_VERSION=1.05
inherit perl-module
DESCRIPTION="A Perl module for accessing the GNU locale utilities"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
DEPEND="sys-devel/gettext"
RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}"/compatibility-with-POSIX-module.diff )
# Disabling the tests - not ready for prime time - mcummings
#SRC_TEST="do"

View File

@ -0,0 +1,25 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_NAME=gettext
DIST_AUTHOR=PVANDRY
DIST_VERSION=1.07
inherit perl-module
DESCRIPTION="A Perl module for accessing the GNU locale utilities"
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"
RDEPEND="
sys-devel/gettext
"
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"
PATCHES=("${FILESDIR}/${P}-no-dot-inc.patch")
S="${WORKDIR}/${PN}-${DIST_VERSION}"

View File

@ -1,22 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_NAME=gettext
DIST_AUTHOR=PVANDRY
DIST_VERSION=1.07
inherit perl-module
DESCRIPTION="A Perl module for accessing the GNU locale utilities"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x64-cygwin ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="sys-devel/gettext"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"
S="${WORKDIR}/${PN}-${DIST_VERSION}"

View File

@ -1,8 +1 @@
AUX compatibility-with-POSIX-module.diff 449 SHA256 e40b9911008c65719f8f890856d1fb77dc5f7f728f68231ec48264e86aae8008 SHA512 079d36e570bbfb6d940c5b02ecd14f685ca004c07e747b019dfb086b4017d0f59e76e94d4f423fe6d43a619d446f5b90443f60731f6008b789822b48d98e9b78 WHIRLPOOL c70513623e3518b419d3b8ce4d42a7f453100f840ab4928be9913b454def0f928bbd52f07d70030343e57b59c98a5359f5944b7be146387c9d3414195e6cb5df
DIST gettext-1.05.tar.gz 7693 SHA256 27367f3dc1be79c9ed178732756e37e4cfce45f9e2a27ebf26e1f40d80124694 SHA512 ce58940be16b7f2b3bde8f321f142486b38874018d37267ecf0587f44a0ea6c7a2d86fc22ce4ac78f3c9cc521e1ef7142009dd8d050aa45bb12a0e64959d37b1 WHIRLPOOL 87b64aae4d24435fcd38804fbcb9d41747f703a004b40b48a0e91718a67bd42958ede87d79deb462325d2bc6d81ba78a0babb9f879ca9176601ab247540bff0c
DIST gettext-1.07.tar.gz 8651 SHA256 909d47954697e7c04218f972915b787bd1244d75e3bd01620bc167d5bbc49c15 SHA512 d3716a597d586ee2ff29472ca7b13aaf67770299de31e5f12abafebc879bbe4a1e1dbc0025cf4f3dc29992955f26cffc3be387d974c3911af095d5b49e67a1c6 WHIRLPOOL d41dc69e46d9ae533989cb8eee3e055f968cff87d45deca91d0a6cad40a7cef584713df965f445eb217304696a7f84cb21882a10653dbe8a43882ca7cdcc272a
EBUILD Locale-gettext-1.50.0-r1.ebuild 668 SHA256 e79790e442279d8fc2f12115d95f92e90fef69a824f6727a033ce38e82fd1918 SHA512 062fb86104b0a2c79a383a8cfc1922a526edc95ae84b9011b8986db407bff7588d523455329642d98b833d10f0675e48b863e1e169ef2646e461d69da9f03247 WHIRLPOOL 88f9531f5b5a55304505ca7c3913f0130437cfd88b6fad572e1395580e263b3d70459f9f5c4da7cf425c33e92d0d9a2d59e9d4aced9f3d82740eaad0627d2c84
EBUILD Locale-gettext-1.70.0.ebuild 625 SHA256 81dabd75554f1968ad14f4911a33d7e576339da142d4abf69022238e0323d304 SHA512 c67cd437f8e977e51e6d6d7cb129fa1d894984e6d3060db228e19e09dd6f7f91e363309d9ed15bb9bf2d4b9bf17193c0e238cb862a50ac9f3436205532d3d953 WHIRLPOOL de8b9cd0167dce780eb220f427ec49493cd70c46de88c9d7c87b4097aa5b3fb4f0de75c22d99b25b5eb5a9fc49ddeee1dc279af821537cddb2654820fee46ad0
MISC ChangeLog 2697 SHA256 f9c56a5d8cae92cbfd4356e47dba2aadded07330ccf33ec23a667375827f19c0 SHA512 2c65896075fbe6d0062b185505ff67fde3731d22c7689b4fc6c17efc4db67b3edafd045b5a7685c7bd4a28de8bc7309130fc8df8ad84451f8e41597dce80b584 WHIRLPOOL fc0fb4c56a1438c4b18958bc8f9effa361174d1dfdbb42b30c964cc0fc25d978dd584718b8735db0669ee55e35b4f63f3b3c8b3292b5878ca5697542b9880d27
MISC ChangeLog-2015 6394 SHA256 1ca5cad5f7f234db21a7f273bb7178fccad5102d7df1ad3b76e82248e48abc55 SHA512 0440cc0e560df5b25f8d67164617f23870443a5e1c0acda2a22444a617cfd8441bc58502984d35a27a33319bb395d036b858ded22dcd249b6510c0ef3923acf9 WHIRLPOOL 2d0cede5efb0714619877398f8cc5cf82e845cfb69d776451ee144265a0eb5f4a834674410d27b57f3a4f3a9ba44e4e4b31c830245bc0a7372ed6e926a125408
MISC metadata.xml 393 SHA256 5682047b2c98cd0d61d48c9d33c749ed17c361eb7679b620d569fdc36b601405 SHA512 368d7a37c00a186733e33eeaa01c12fdfed50f2f45c66bc88d0dfddcfd063aacb6c0953aa76737d8f9f5c2ed392e0eef41279975cf2cfad7fb423b8ca29592b0 WHIRLPOOL 1002806a98a7640b8604aaf60875b017f5ca1dea6ee5b76364f8c25a8ba6ad2507271d96d459d2d1c5570cd14a80eafefb4e536250fb6e235850eafe552dbd64
DIST gettext-1.07.tar.gz 8651 BLAKE2B ecdc105303c0b494d53f985ca0d789d75da33abc85e8579a43af1658d6faa18e2564e18fc6613548acc2add4ce847d03769c1fbe29dbb760b9498f4b251cbb1c SHA512 d3716a597d586ee2ff29472ca7b13aaf67770299de31e5f12abafebc879bbe4a1e1dbc0025cf4f3dc29992955f26cffc3be387d974c3911af095d5b49e67a1c6

View File

@ -0,0 +1,90 @@
From 08c1f219ae209b2475e5a1b025caceb10cb4a41b Mon Sep 17 00:00:00 2001
From: Kim Vandry <vandry@TZoNE.ORG>
Date: Sun, 28 May 2017 19:11:30 +0100
Subject: Update tests to work with @INC that does not contain '.'
Perl 5.25.11 removes '.' from the default @INC, and this breaks
`require "test_data/gen_test_data.pl"` due to not being able to assume
./test_data/gen_test_data.pl is in the @INC load path, and due to
`require` treating paths without leading "/" or "./" as search paths.
This change implements the first solution suggested by the reporter of
the bug: Re-organise test dependencies into a dedicated directory such
as `t/lib` and load that path into @INC with `use lib 't/lib'`.
Bug: https://rt.cpan.org/Ticket/Display.html?id=121458
Bug: https://bugs.gentoo.org/617048
---
MANIFEST | 2 +-
t/frconvert.t | 3 ++-
t/jaconvert.t | 3 ++-
{test_data => t/lib}/gen_test_data.pl | 0
t/raw.t | 3 ++-
5 files changed, 7 insertions(+), 4 deletions(-)
rename {test_data => t/lib}/gen_test_data.pl (100%)
diff --git a/MANIFEST b/MANIFEST
index 9604b91..e9f6e08 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -8,7 +8,7 @@ t/jaconvert.t
t/raw.t
t/use.t
test_data/foo.po
-test_data/gen_test_data.pl
+t/lib/gen_test_data.pl
test_data/jaeuc.po
MANIFEST
META.yml Module YAML meta-data (added by MakeMaker)
diff --git a/t/frconvert.t b/t/frconvert.t
index 2bca28b..9a4f4f5 100644
--- a/t/frconvert.t
+++ b/t/frconvert.t
@@ -1,8 +1,9 @@
#!/usr/bin/env perl -w
use strict;
use Test;
+use lib 't/lib';
BEGIN { plan tests => 1 }
-require "test_data/gen_test_data.pl";
+require "gen_test_data.pl";
gen("foo");
use Locale::gettext;
diff --git a/t/jaconvert.t b/t/jaconvert.t
index 5794dc4..b95c883 100644
--- a/t/jaconvert.t
+++ b/t/jaconvert.t
@@ -1,8 +1,9 @@
#!/usr/bin/env perl -w
use strict;
use Test;
+use lib 't/lib';
BEGIN { plan tests => 1 }
-require "test_data/gen_test_data.pl";
+require "gen_test_data.pl";
gen("jaeuc");
use Locale::gettext;
diff --git a/test_data/gen_test_data.pl b/t/lib/gen_test_data.pl
similarity index 100%
rename from test_data/gen_test_data.pl
rename to t/lib/gen_test_data.pl
diff --git a/t/raw.t b/t/raw.t
index 1e1cf14..7439397 100644
--- a/t/raw.t
+++ b/t/raw.t
@@ -1,8 +1,9 @@
#!/usr/bin/env perl -w
use strict;
use Test;
+use lib 't/lib';
BEGIN { plan tests => 1 }
-require "test_data/gen_test_data.pl";
+require "gen_test_data.pl";
gen("foo");
use Locale::gettext;
--
2.14.3

View File

@ -1,16 +0,0 @@
Bug-Gentoo: https://bugs.gentoo.org/show_bug.cgi?id=237378
Bug: http://rt.cpan.org/Public/Bug/Display.html?id=35680
Bug-Debian: http://bugs.debian.org/479803
Author: Raphaël Hertzog <hertzog@debian.org>
Origin: vendor, http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=479803#20
--- a/gettext.pm
+++ b/gettext.pm
@@ -32,6 +32,7 @@ to internationalize software.
=cut
use Carp;
+use POSIX qw(:locale_h);
require Exporter;
require DynaLoader;

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>perl@gentoo.org</email>

View File

@ -1,9 +1 @@
DIST Text-Unidecode-0.04.tar.gz 103091 SHA256 473da01fd4829fce3183ef6c5d8932a29a9a7c28ee65f066342069a87be16b06 SHA512 518d1cfa13134c133a1c369e3bc6a708c667e0fa500b20a225ddf216098c496968cd0767d3bc372fcc2444f196a485f7a89587cf0caebc3de4417769216683c9 WHIRLPOOL 945c1402b018e6a0b135269cef00a67a5fa0a88d4a316f4821068d2177f7b1c6d1ba77c87593c4d1e651536fd1d841aaaccbd2a08b7c9776d0ea154d2e2e0ff2
DIST Text-Unidecode-1.27.tar.gz 134929 SHA256 11876a90f0ce858d31203e80d62900383bb642ed8a470c67539b607f2a772d02 SHA512 c124e09b75050717fc13716b46ca54e607fd1e093f6ce06db466cda669d772661173a394eac81b5073a757f7af5e0174aa23eac037a356f008268b2bd767428c WHIRLPOOL 91a46f09ea5d758dadadc90db7a3c3b5b7d1ba5c4ec4e75940b25ae7cd8d39b9aa94fef4360937186a966b5c3150a379e981876dc214d6b640ccecb7763af893
DIST Text-Unidecode-1.30.tar.gz 137977 SHA256 6c24f14ddc1d20e26161c207b73ca184eed2ef57f08b5fb2ee196e6e2e88b1c6 SHA512 194f8aba0dcdc7a53338b86370b7cfb6c60d4a8982ada6084f0eb0ccd66ce461b831b6daf04932f039ff1b983dc3cd0c0ced1e8b455955d2699c36120b41a526 WHIRLPOOL e164b71fa9090ca3dc692c471d49524b30814a6186b80083e350466307591867571ed28bfda9a6e977013125f5041cea4e19eb01c4cf0463c2a4cbd1f65c7458
EBUILD Text-Unidecode-0.40.0-r1.ebuild 487 SHA256 b285c6964cac0a4ab9ac24d8daa10f2f512cb75f323e232cdf40757bba251401 SHA512 dd8223995b1a41a2d8af3c02279ba06ee8cf692ad10a28b44a974f213efea5a34e270e02923b9112cbd0ab622ac81def11a2a33d940527fb83f1c0b53040fbef WHIRLPOOL 7a4af32d13e178e4d934974a7fd015844233a26d98c67d11c346eb0c4b51965d151304c7ede5303403953150a44d0deafdbf0ddb741dd095fc496c9a607c2308
EBUILD Text-Unidecode-1.270.0.ebuild 571 SHA256 8bcbdb87532eb31b158be41bec665e5e1672ff76ce51303cd231a5734b2ea8dd SHA512 678812ad5848452d7558488486a832a86261bda040793843f4f9bb684215570aabe1c50c7c27813bf9366ce5480c9178da4e022f9aa736b6fa3b2112ec9aaaa9 WHIRLPOOL f0b25d3b6f9b11323fc5b8615b2af675882a30c974ba74d98f19cbad14a6535affd8954087c055a9f4a67ec0f0df8a87b6fa65d13390efa9e85998604050ed4c
EBUILD Text-Unidecode-1.300.0.ebuild 588 SHA256 484713b1fe9be87d8dd538901187457b9deba3088903db5c12c66885c294d568 SHA512 e64357144aea36f9b828b6c5ddd56e768ebe1841d33580d33dd60981a69687491417530c8865165924ef0c5fdfaad4c9f00840a3044b2e318aadf9d9a38042d6 WHIRLPOOL 8dcc8fad834bf527a9a8aadfe9f1fc35df47a011c180e00e6e03fa2731c2e90b2b965f198c3dc04bbe98220f4ee3e6e3d27153773fa47634ae322d39957dcb25
MISC ChangeLog 3890 SHA256 c9533e3cbf6bf0e2370c441af5313eccbfc4a9aea755a694e16ac4ee51cfafa3 SHA512 867f7a592f730a981f4b578ac867584cf88368d5f62d63274a8dedbae984ac2249012032a50153958c3c98d01dc8a6c2be4297b661e60d0db17f9299ebe3afa6 WHIRLPOOL a6abbc92b76f9b330ee5b191d04f4a309d658628b50edd01dd73fd8d3c95789db04f4e18bd254100df92dbaf5ee9cea03a4aa3067688ece3698502cfe7aa1f8a
MISC ChangeLog-2015 3440 SHA256 83d5abb62801d9697b66d3fa978f4dd6913b9e290e96d5d421e2f5e484f66bf5 SHA512 f9c0cd708c1e959c6f5970ffebd74c260b1268045b4f153c663703c56b8ffdb0bfef1019776baf6334a35ef79f455d91436883ed3eedd9a50334c972a0ccd266 WHIRLPOOL eadbfe3da74849fbf8d97cb827522d418e4995c165db2017ec53b9260d28b15945f213aa4a36f9e6812e551633912f35e52b1e7e383b5a70619e4bfc3059dbd1
MISC metadata.xml 400 SHA256 cb780adc9026838d26a21708faeff3df7b7cda3ef2a8d91a89847e2a6723651f SHA512 843b8dde4d68efb1fa4eae4aa9dfca35fd70812ef65d4b3a4949553dbb95717ea29d6a0de668e055379f2fc8df21d959fae3999250adb3b0a81d6d06b28e50f7 WHIRLPOOL 2e56eef5da8ea741061ce01e738e844f83ba90ea381b1abd54b6b83e703b519f665b919da8f68acf43414145139670da0cd4abdcef474523e6276692c8bad1b9
DIST Text-Unidecode-1.30.tar.gz 137977 BLAKE2B 0deb00376f5bf458c71c6ab1aa96d6ef43c404bf75b886b2c57050d71c4c7e2f3de2ef12b784459346c73717dc8852bb4127992bec71dbcf0f5398a066418f08 SHA512 194f8aba0dcdc7a53338b86370b7cfb6c60d4a8982ada6084f0eb0ccd66ce461b831b6daf04932f039ff1b983dc3cd0c0ced1e8b455955d2699c36120b41a526

View File

@ -1,16 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
MODULE_AUTHOR=SBURKE
MODULE_VERSION=0.04
inherit perl-module
DESCRIPTION="US-ASCII transliterations of Unicode text"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
SRC_TEST=do

View File

@ -1,21 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
MODULE_AUTHOR=SBURKE
MODULE_VERSION=1.27
inherit perl-module
DESCRIPTION="Plain ASCII transliterations of Unicode text"
SLOT="0"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND=""
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"
SRC_TEST="do parallel"

View File

@ -0,0 +1,13 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=SBURKE
DIST_VERSION=1.30
inherit perl-module
DESCRIPTION="Plain ASCII transliterations of Unicode text"
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 ~x64-solaris ~x86-solaris"

View File

@ -1,21 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
DIST_AUTHOR=SBURKE
DIST_VERSION=1.30
inherit perl-module
DESCRIPTION="Plain ASCII transliterations of Unicode text"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND=""
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"
SRC_TEST="do parallel"

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>perl@gentoo.org</email>

View File

@ -1,6 +1 @@
AUX no-dot-inc.patch 602 SHA256 7a8ddcf9b7a7d687c60e4058dfb9e536c22cf0991ed77627d16e8d10c3b54997 SHA512 fdad62c560595ec49f7de0dfd6f1f700abbfdc77053a016053573bb105251684ff4fcf8cf9fb534b2a2eeb5b38c21f089380876e3433fbbc47d0eabe9d542ec0 WHIRLPOOL 8b7840db580f0630018a68a2449bea6e0a3eb22f53e57f5d9131fe5cb8b41f208d0067dc504ae22994b2c0136da642739472c25b820d9c761eda5eb4924fd889
DIST Unicode-EastAsianWidth-1.33.tar.gz 31498 SHA256 41c9f0b50c45dd806a97de73f9fe93516b6c63255e2a5174e5fb2d89635c7797 SHA512 c21e988f460534b370954d0448daec5bfb0a34ec816459f8422943ebe44ff17b5acb8a423d69daba81599111d7fa4aa33a3598e0ea4614eed25a587c1f5690eb WHIRLPOOL 5376518d63b9a2dbfaa3c8e4714994375dd5f59df440c30ed7e84eedcc9a9c6728dc4d6c2726e20593384a5534ed7894ab6666996e0b2e1358c033e46409b9ff
EBUILD Unicode-EastAsianWidth-1.330.0-r1.ebuild 633 SHA256 ae786901ed894ee06196a085fb358b52e124f886be389f20c54504d0c3759780 SHA512 7bb7659f512098ac6373824221edabe6d8189cfbeef9527ad0f5ee36df5350f3277a87edd1099b67c404e5f557fa957555e0ace2401c942e4155d9b6188a8354 WHIRLPOOL c37a54979ad7684e988d01c1c82b329bd5b035d9afe31d403a807d19439e9246cd9c58a2ec7f88077c65c1309c984eacc36e3531379f70fcf209f3c46f7a11e5
MISC ChangeLog 2482 SHA256 efdaa18f4e7c8e3e73d07d2a0bd5b55f620b623ec37023a362145b1bc697de98 SHA512 0b34fdb2a3624e2ffe6a56ae13ae2011107b6221b4a2ef7e44722b17aba4f2a048777ae30abd4659e421d8785795f7ce3fcaf8b451136fa69079209b94020a5e WHIRLPOOL 70a33252a9faf8ef6a22784290b16d56b03a30cbcb2891b43cf2b8bacea3004a2ae5811671be5223571b64b1488f5d7b2ae0856eec92e9b98dc07b0ddebbc9a1
MISC ChangeLog-2015 5912 SHA256 44e885abc6498e103a712c48bf5981b7004275a9b85caf9961f41de35f727394 SHA512 f30c3795bc9c40045b171c53e668df3555e94200f16bbc44e8d2a70c7ccd092e73553884ea21e5757bba34cfc17cde32d0502ca7ef0b3aeec1346dd058f2197c WHIRLPOOL 7cf9378b8bf3eda549621f340cad2238d4c54200a9de89ff3359b33465a01984c41405c77f0324b62a97959135f672fd6a6f5a29d74bd3db6d7c4678b73f2b83
MISC metadata.xml 404 SHA256 fcebdabbf2fa7e5da68cf5b7479934e2fc42abec7d1e720ca2a38a0472845c04 SHA512 0a9b4c003b910b30c439687e339e267459f3f85b877de4baaa4f89b0994771ac8a40b4096dafe5db19fff5c48fa69ac520e897dc59823ff306eb495295454b13 WHIRLPOOL 2d2aca6d12eebb55348efb97e29e672c04f78e19c1cf2c9c371ecd4d8bb1ebf410935bfe7dab43295ffc2da32deca4a052bd26fa3debdc01f6e758072eb70372
DIST Unicode-EastAsianWidth-12.0.tar.gz 52302 BLAKE2B 0754158580de0a442e5ff6a9f3e0cf9d3765e1e5a7cd73a2c748ad003951b571bb71b38c8d92e6badb438e0eea377df9dd2e22ac9e14f9ea8c61672d0679481c SHA512 ec11d12b86d9e3676cf612c40f8e75ce1efdd302b5a6fe5d594306cffcf94f91855b5ee979f7646762605453d08d4b6b47f556e56f01b47d8ca1da8455dc138d

View File

@ -1,21 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
MODULE_AUTHOR=AUDREYT
MODULE_VERSION=1.33
inherit perl-module
DESCRIPTION="East Asian Width properties"
LICENSE="CC0-1.0"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE=""
RDEPEND="virtual/perl-File-Spec"
DEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker"
PATCHES=("${FILESDIR}/no-dot-inc.patch")
SRC_TEST="do"

View File

@ -0,0 +1,21 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DIST_AUTHOR=AUDREYT
DIST_VERSION=12.0
inherit perl-module
DESCRIPTION="East Asian Width properties"
LICENSE="CC0-1.0"
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 ~x64-solaris ~x86-solaris"
RDEPEND="
virtual/perl-File-Spec
"
BDEPEND="${RDEPEND}
virtual/perl-ExtUtils-MakeMaker
"

View File

@ -1,25 +0,0 @@
From 9cb5f1551566addf37a47e935164519842bab0d8 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentfredric@gmail.com>
Date: Sun, 11 Jun 2017 16:10:47 +1200
Subject: [PATCH] Fix for Perl 5.26 w/o '.' in @INC
---
Makefile.PL | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Makefile.PL b/Makefile.PL
index 6745b7c..2db030d 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,6 +1,7 @@
#!/usr/bin/perl
use strict;
-use inc::Module::Package 'Au:dry 1';
+use lib './inc';
+use Module::Package 'Au:dry 1';
my $DefaultVersion = 'v5.0.0';
my $DefaultDate = '2006-02-15';
--
2.13.1

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>perl@gentoo.org</email>

View File

@ -1,2 +1,2 @@
DIST devscripts_2.17.8.tar.xz 696424 SHA256 7e39e296891d2d158b717c0c834cc0c5ab560e5c7d88910e42bf59cda10fbeea SHA512 1495a754346ec3903cb91d9d937b74a1d6a928a84028d19016b7a2d0df5c0f665aba7c777952ae57f5f8b421b696cf631c7a139ea68a98f31030c83b6e67d349 WHIRLPOOL d146b5e3317278b21c49c34af29877e0bb8f463c6bca9ec037953d0da9b53c8aea863d27691fe95667ebedc2d7b1d209d2593b51083537f9c0d8956a34b45855
DIST devscripts_2.17.9.tar.xz 696500 SHA256 0ef164a9b8e774e8aef7a532302e7ce60ba10a72e56da485865222e68033b73b SHA512 00bc2fea2aa2f5806f6ecedee96c09c0ff31d99283e7b242f85c04a63310ada692df2bbef0cfde73dbcf3ac455026a5262b298fb2348528f2a9d7ce7916d97dd WHIRLPOOL 867d946c6d598ccb67e2e19a872c033d9c22b7b270cf2eadbc81da0d1d4a42d444cc705bff69b6b2e35006d72f6131ee101e34ced34faa8e89da7f950aca5c81
DIST devscripts_2.21.2.tar.xz 980516 BLAKE2B 907f2f4e258a8396ad0a28eead1e2058b8e19be205f024ea80c0fbd9621d5ca4299844fe83d66cac7f653a917705d9c36eddb9d51454a7fbb9d7e2b52bc994ff SHA512 a6765d807dc0c2ef7a3d8c59e1262bfe7542c3ca52cda3c1910af253925cb105a9d1bf272c76a86f0b3cdda9c8a4e2d29a660437f73087dd70ee8a444bbedb01
DIST devscripts_2.21.4.tar.xz 981488 BLAKE2B 29339490586a66c6360f599a90e23452fd1e99fd01757e258e082b9550731b3e443b12fb9ce9b8fe6fb229f228a115f87a9b91b8769000afd741eb77e9e7a4a4 SHA512 99250737cabc24bbd21e20de7c787e182492e15cad4288226ed497349cbf3dd45927e1c501d73341e48dfd14ee2285c8cca8ac3b2145c2f02ce4d04ddb881e50

View File

@ -1,34 +1,31 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
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://anonscm.debian.org/cgit/collab-maint/devscripts.git"
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"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
IUSE=""
# Requires python packages to check tools we don't need anyway
RESTRICT="test"
RDEPEND="dev-lang/perl
virtual/perl-Getopt-Long
!<dev-util/rpmdevtools-8.3-r1"
virtual/perl-Getopt-Long"
S="${WORKDIR}/${MY_P}/scripts"
src_prepare() {
default
eapply -p2 "${FILESDIR}"/${PN}-2.15.9-command-vV.patch
sed "s@###VERSION###@${PV}@" -i checkbashisms.pl || die
}

View File

@ -1,37 +1,28 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
EAPI=7
MY_PN="devscripts"
MY_P="${MY_PN}-${PV}"
inherit eutils
DESCRIPTION="Perl script to check for commonly used bash features not defined by POSIX"
HOMEPAGE="https://packages.debian.org/devscripts https://anonscm.debian.org/cgit/collab-maint/devscripts.git"
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 x86"
IUSE=""
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
!<dev-util/rpmdevtools-8.3-r1"
S="${WORKDIR}/${MY_P}/scripts"
PATCHES=(
"${FILESDIR}"/${PN}-2.15.9-command-vV.patch
)
virtual/perl-Getopt-Long"
src_prepare() {
epatch "${PATCHES[@]}"
default
sed "s@###VERSION###@${PV}@" -i checkbashisms.pl || die
}

View File

@ -1,30 +0,0 @@
https://bugs.debian.org/733511
From 50dac50bdfa7ab482bf2277cc1a620a62629c80c Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Tue, 10 Nov 2015 19:39:19 -0500
Subject: [PATCH] checkbashisms: allow `command` to use -v/-V
POSIX permits the -v/-V options:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/command.html
command [-p][-v|-V] command_name
---
scripts/checkbashisms.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/checkbashisms.pl b/scripts/checkbashisms.pl
index 045328c..fe64a6b 100755
--- a/scripts/checkbashisms.pl
+++ b/scripts/checkbashisms.pl
@@ -644,7 +644,7 @@ sub init_hashes {
qr';;?&' => q<;;& and ;& special case operators>,
$LEADIN . qr'jobs\s' => q<jobs>,
# $LEADIN . qr'jobs\s+-[^lp]\s' => q<'jobs' with option other than -l or -p>,
- $LEADIN . qr'command\s+-[^p]\s' => q<'command' with option other than -p>,
+ $LEADIN . qr'command\s+-[^pvV]\s' => q<'command' with option other than -p/-v/-V>,
$LEADIN . qr'setvar\s' => q<setvar 'foo' 'bar' should be eval 'foo="'"$bar"'"'>,
$LEADIN . qr'trap\s+["\']?.*["\']?\s+.*(?:ERR|DEBUG|RETURN)' => q<trap with ERR|DEBUG|RETURN>,
$LEADIN . qr'(?:exit|return)\s+-\d' => q<exit|return with negative status code>,
--
2.6.2

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>robbat2@gentoo.org</email>

View File

@ -1,684 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: apache-2.eclass
# @MAINTAINER:
# polynomial-c@gentoo.org
# @SUPPORTED_EAPIS: 5 6 7
# @BLURB: Provides a common set of functions for apache-2.x ebuilds
# @DESCRIPTION:
# This eclass handles apache-2.x ebuild functions such as LoadModule generation
# and inter-module dependency checking.
inherit autotools flag-o-matic multilib ssl-cert user toolchain-funcs eapi7-ver
[[ ${CATEGORY}/${PN} != www-servers/apache ]] \
&& die "Do not use this eclass with anything else than www-servers/apache ebuilds!"
case ${EAPI:-0} in
0|1|2|3|4)
die "This eclass is banned for EAPI<5"
;;
esac
# settings which are version specific go in here:
case $(ver_cut 1-2) in
2.4)
DEFAULT_MPM_THREADED="event" #509922
CDEPEND=">=dev-libs/apr-1.5.1:=
!www-apache/mod_macro" #492578 #477702
;;
2.2)
DEFAULT_MPM_THREADED="worker"
CDEPEND=">=dev-libs/apr-1.4.5:=" #368651
;;
*)
die "Unknown MAJOR.MINOR apache version."
;;
esac
# ==============================================================================
# INTERNAL VARIABLES
# ==============================================================================
# @ECLASS-VARIABLE: GENTOO_PATCHNAME
# @DESCRIPTION:
# This internal variable contains the prefix for the patch tarball.
# Defaults to the full name and version (including revision) of the package.
# If you want to override this in an ebuild, use:
# ORIG_PR="(revision of Gentoo stuff you want)"
# GENTOO_PATCHNAME="gentoo-${PN}-${PV}${ORIG_PR:+-${ORIG_PR}}"
[[ -n "${GENTOO_PATCHNAME}" ]] || GENTOO_PATCHNAME="gentoo-${PF}"
# @ECLASS-VARIABLE: GENTOO_PATCHDIR
# @DESCRIPTION:
# This internal variable contains the working directory where patches and config
# files are located.
# Defaults to the patchset name appended to the working directory.
[[ -n "${GENTOO_PATCHDIR}" ]] || GENTOO_PATCHDIR="${WORKDIR}/${GENTOO_PATCHNAME}"
# @VARIABLE: GENTOO_DEVELOPER
# @DESCRIPTION:
# This variable needs to be set in the ebuild and contains the name of the
# gentoo developer who created the patch tarball
# @VARIABLE: GENTOO_PATCHSTAMP
# @DESCRIPTION:
# This variable needs to be set in the ebuild and contains the date the patch
# tarball was created at in YYYYMMDD format
# @VARIABLE: GENTOO_PATCH_A
# @DESCRIPTION:
# This variable should contain the entire filename of patch tarball.
# Defaults to the name of the patchset, with a datestamp.
[[ -n "${GENTOO_PATCH_A}" ]] || GENTOO_PATCH_A="${GENTOO_PATCHNAME}-${GENTOO_PATCHSTAMP}.tar.bz2"
SRC_URI="mirror://apache/httpd/httpd-${PV}.tar.bz2
https://dev.gentoo.org/~${GENTOO_DEVELOPER}/dist/apache/${GENTOO_PATCH_A}"
# @VARIABLE: IUSE_MPMS_FORK
# @DESCRIPTION:
# This variable needs to be set in the ebuild and contains a list of forking
# (i.e. non-threaded) MPMs
# @VARIABLE: IUSE_MPMS_THREAD
# @DESCRIPTION:
# This variable needs to be set in the ebuild and contains a list of threaded
# MPMs
# @VARIABLE: IUSE_MODULES
# @DESCRIPTION:
# This variable needs to be set in the ebuild and contains a list of available
# built-in modules
IUSE_MPMS="${IUSE_MPMS_FORK} ${IUSE_MPMS_THREAD}"
IUSE="${IUSE} debug doc gdbm ldap libressl selinux ssl static suexec threads"
for module in ${IUSE_MODULES} ; do
IUSE="${IUSE} apache2_modules_${module}"
done
_apache2_set_mpms() {
local mpm
local ompm
for mpm in ${IUSE_MPMS} ; do
IUSE="${IUSE} apache2_mpms_${mpm}"
REQUIRED_USE+=" apache2_mpms_${mpm}? ("
for ompm in ${IUSE_MPMS} ; do
if [[ "${mpm}" != "${ompm}" ]] ; then
REQUIRED_USE+=" !apache2_mpms_${ompm}"
fi
done
if has ${mpm} ${IUSE_MPMS_FORK} ; then
REQUIRED_USE+=" !threads"
else
REQUIRED_USE+=" threads"
fi
REQUIRED_USE+=" )"
done
if [[ "$(ver_cut 1-2)" != 2.2 ]] ; then
REQUIRED_USE+=" apache2_mpms_prefork? ( !apache2_modules_http2 )"
fi
}
_apache2_set_mpms
unset -f _apache2_set_mpms
DEPEND="${CDEPEND}
dev-lang/perl
=dev-libs/apr-util-1*:=[gdbm=,ldap?]
dev-libs/libpcre
apache2_modules_deflate? ( sys-libs/zlib )
apache2_modules_mime? ( app-misc/mime-types )
gdbm? ( sys-libs/gdbm:= )
ldap? ( =net-nds/openldap-2* )
ssl? (
!libressl? ( >=dev-libs/openssl-1.0.2:0= )
libressl? ( dev-libs/libressl:0= )
)
!=www-servers/apache-1*"
RDEPEND+=" ${DEPEND}
selinux? ( sec-policy/selinux-apache )"
PDEPEND="~app-admin/apache-tools-${PV}"
S="${WORKDIR}/httpd-${PV}"
# @VARIABLE: MODULE_DEPENDS
# @DESCRIPTION:
# This variable needs to be set in the ebuild and contains a space-separated
# list of dependency tokens each with a module and the module it depends on
# separated by a colon
# now extend REQUIRED_USE to reflect the module dependencies to portage
_apache2_set_module_depends() {
local dep
for dep in ${MODULE_DEPENDS} ; do
REQUIRED_USE+=" apache2_modules_${dep%:*}? ( apache2_modules_${dep#*:} )"
done
}
_apache2_set_module_depends
unset -f _apache2_set_module_depends
# ==============================================================================
# INTERNAL FUNCTIONS
# ==============================================================================
# @ECLASS-VARIABLE: MY_MPM
# @DESCRIPTION:
# This internal variable contains the selected MPM after a call to setup_mpm()
# @FUNCTION: setup_mpm
# @DESCRIPTION:
# This internal function makes sure that only one of APACHE2_MPMS was selected
# or a default based on USE=threads is selected if APACHE2_MPMS is empty
setup_mpm() {
MY_MPM=""
for x in ${IUSE_MPMS} ; do
if use apache2_mpms_${x} ; then
# there can at most be one MPM selected because of REQUIRED_USE constraints
MY_MPM=${x}
elog
elog "Selected MPM: ${MY_MPM}"
elog
break
fi
done
if [[ -z "${MY_MPM}" ]] ; then
if use threads ; then
MY_MPM=${DEFAULT_MPM_THREADED}
elog
elog "Selected default threaded MPM: ${MY_MPM}"
elog
else
MY_MPM=prefork
elog
elog "Selected default MPM: ${MY_MPM}"
elog
fi
fi
}
# @VARIABLE: MODULE_CRITICAL
# @DESCRIPTION:
# This variable needs to be set in the ebuild and contains a space-separated
# list of modules critical for the default apache. A user may still
# disable these modules for custom minimal installation at their own risk.
# @FUNCTION: check_module_critical
# @DESCRIPTION:
# This internal function warns the user about modules critical for the default
# apache configuration.
check_module_critical() {
local unsupported=0
for m in ${MODULE_CRITICAL} ; do
if ! has ${m} ${MY_MODS[@]} ; then
ewarn "Module '${m}' is required in the default apache configuration."
unsupported=1
fi
done
if [[ ${unsupported} -ne 0 ]] ; then
ewarn
ewarn "You have disabled one or more required modules"
ewarn "for the default apache configuration."
ewarn "Although this is not an error, please be"
ewarn "aware that this setup is UNSUPPORTED."
ewarn
fi
}
# @ECLASS-VARIABLE: MY_CONF
# @DESCRIPTION:
# This internal variable contains the econf options for the current module
# selection after a call to setup_modules()
# @ECLASS-VARIABLE: MY_MODS
# @DESCRIPTION:
# This internal variable contains a sorted, space separated list of currently
# selected modules after a call to setup_modules()
# @FUNCTION: setup_modules
# @DESCRIPTION:
# This internal function selects all built-in modules based on USE flags and
# APACHE2_MODULES USE_EXPAND flags
setup_modules() {
local mod_type=
if use static ; then
mod_type="static"
else
mod_type="shared"
fi
MY_CONF=( --enable-so=static )
MY_MODS=()
if use ldap ; then
MY_CONF+=( --enable-authnz_ldap=${mod_type} --enable-ldap=${mod_type} )
MY_MODS+=( ldap authnz_ldap )
else
MY_CONF+=( --disable-authnz_ldap --disable-ldap )
fi
if use ssl ; then
MY_CONF+=( --with-ssl --enable-ssl=${mod_type} )
MY_MODS+=( ssl )
else
MY_CONF+=( --without-ssl --disable-ssl )
fi
if use suexec ; then
elog "You can manipulate several configure options of suexec"
elog "through the following environment variables:"
elog
elog " SUEXEC_SAFEPATH: Default PATH for suexec (default: '${EPREFIX}/usr/local/bin:${EPREFIX}/usr/bin:${EPREFIX}/bin')"
if { ver_test ${PV} -ge 2.4.34 && ! use suexec-syslog ; } || ver_test ${PV} -lt 2.4.34 ; then
elog " SUEXEC_LOGFILE: Path to the suexec logfile (default: '${EPREFIX}/var/log/apache2/suexec_log')"
fi
elog " SUEXEC_CALLER: Name of the user Apache is running as (default: apache)"
elog " SUEXEC_DOCROOT: Directory in which suexec will run scripts (default: '${EPREFIX}/var/www')"
elog " SUEXEC_MINUID: Minimum UID, which is allowed to run scripts via suexec (default: 1000)"
elog " SUEXEC_MINGID: Minimum GID, which is allowed to run scripts via suexec (default: 100)"
elog " SUEXEC_USERDIR: User subdirectories (like /home/user/html) (default: public_html)"
elog " SUEXEC_UMASK: Umask for the suexec process (default: 077)"
elog
MY_CONF+=( --with-suexec-safepath="${SUEXEC_SAFEPATH:-${EPREFIX}/usr/local/bin:${EPREFIX}/usr/bin:${EPREFIX}/bin}" )
if ver_test ${PV} -ge 2.4.34 ; then
MY_CONF+=( $(use_with !suexec-syslog suexec-logfile "${SUEXEC_LOGFILE:-${EPREFIX}/var/log/apache2/suexec_log}") )
MY_CONF+=( $(use_with suexec-syslog) )
if use suexec-syslog && use suexec-caps ; then
MY_CONF+=( --enable-suexec-capabilities )
fi
else
MY_CONF+=( --with-suexec-logfile="${SUEXEC_LOGFILE:-${EPREFIX}/var/log/apache2/suexec_log}" )
fi
MY_CONF+=( --with-suexec-bin="${EPREFIX}/usr/sbin/suexec" )
MY_CONF+=( --with-suexec-userdir=${SUEXEC_USERDIR:-public_html} )
MY_CONF+=( --with-suexec-caller=${SUEXEC_CALLER:-apache} )
MY_CONF+=( --with-suexec-docroot="${SUEXEC_DOCROOT:-${EPREFIX}/var/www}" )
MY_CONF+=( --with-suexec-uidmin=${SUEXEC_MINUID:-1000} )
MY_CONF+=( --with-suexec-gidmin=${SUEXEC_MINGID:-100} )
MY_CONF+=( --with-suexec-umask=${SUEXEC_UMASK:-077} )
MY_CONF+=( --enable-suexec=${mod_type} )
MY_MODS+=( suexec )
else
MY_CONF+=( --disable-suexec )
fi
for x in ${IUSE_MODULES} ; do
if use apache2_modules_${x} ; then
MY_CONF+=( --enable-${x}=${mod_type} )
MY_MODS+=( ${x} )
else
MY_CONF+=( --disable-${x} )
fi
done
# sort and uniquify MY_MODS
MY_MODS=( $(echo ${MY_MODS[@]} | tr ' ' '\n' | sort -u) )
check_module_critical
}
# @VARIABLE: MODULE_DEFINES
# @DESCRIPTION:
# This variable needs to be set in the ebuild and contains a space-separated
# list of tokens each mapping a module to a runtime define which can be
# specified in APACHE2_OPTS in /etc/conf.d/apache2 to enable this particular
# module.
# @FUNCTION: generate_load_module
# @DESCRIPTION:
# This internal function generates the LoadModule lines for httpd.conf based on
# the current module selection and MODULE_DEFINES
generate_load_module() {
local endit=0 mod_lines= mod_dir="${ED%/}/usr/$(get_libdir)/apache2/modules"
if use static; then
sed -i -e "/%%LOAD_MODULE%%/d" \
"${GENTOO_PATCHDIR}"/conf/httpd.conf
return
fi
for m in ${MY_MODS[@]} ; do
if [[ -e "${mod_dir}/mod_${m}.so" ]] ; then
for def in ${MODULE_DEFINES} ; do
if [[ "${m}" == "${def%:*}" ]] ; then
mod_lines="${mod_lines}\n<IfDefine ${def#*:}>"
endit=1
fi
done
mod_lines="${mod_lines}\nLoadModule ${m}_module modules/mod_${m}.so"
if [[ ${endit} -ne 0 ]] ; then
mod_lines="${mod_lines}\n</IfDefine>"
endit=0
fi
fi
done
sed -i -e "s:%%LOAD_MODULE%%:${mod_lines}:" \
"${GENTOO_PATCHDIR}"/conf/httpd.conf
}
# @FUNCTION: check_upgrade
# @DESCRIPTION:
# This internal function checks if the previous configuration file for built-in
# modules exists in ROOT and prevents upgrade in this case. Users are supposed
# to convert this file to the new APACHE2_MODULES USE_EXPAND variable and remove
# it afterwards.
check_upgrade() {
if [[ -e "${EROOT}"etc/apache2/apache2-builtin-mods ]]; then
eerror "The previous configuration file for built-in modules"
eerror "(${EROOT}etc/apache2/apache2-builtin-mods) exists on your"
eerror "system."
eerror
eerror "Please read https://wiki.gentoo.org/wiki/Project:Apache/Upgrading"
eerror "for detailed information how to convert this file to the new"
eerror "APACHE2_MODULES USE_EXPAND variable."
eerror
die "upgrade not possible with existing ${ROOT}etc/apache2/apache2-builtin-mods"
fi
}
# ==============================================================================
# EXPORTED FUNCTIONS
# ==============================================================================
# @FUNCTION: apache-2_pkg_setup
# @DESCRIPTION:
# This function selects built-in modules, the MPM and other configure options,
# creates the apache user and group and informs about CONFIG_SYSVIPC being
# needed (we don't depend on kernel sources and therefore cannot check).
apache-2_pkg_setup() {
check_upgrade
# setup apache user and group
enewgroup apache 81
enewuser apache 81 -1 /var/www apache
setup_mpm
setup_modules
if use debug; then
MY_CONF+=( --enable-exception-hook )
fi
elog "Please note that you need SysV IPC support in your kernel."
elog "Make sure CONFIG_SYSVIPC=y is set."
elog
if use userland_BSD; then
elog "On BSD systems you need to add the following line to /boot/loader.conf:"
elog " accf_http_load=\"YES\""
if use ssl ; then
elog " accf_data_load=\"YES\""
fi
elog
fi
}
# @FUNCTION: apache-2_src_prepare
# @DESCRIPTION:
# This function applies patches, configures a custom file-system layout and
# rebuilds the configure scripts.
apache-2_src_prepare() {
#fix prefix in conf files etc (bug #433736)
use !prefix || sed -e "s@/\(usr\|var\|etc\|run\)/@${EPREFIX}&@g" \
-i "${GENTOO_PATCHDIR}"/conf/httpd.conf "${GENTOO_PATCHDIR}"/scripts/* \
"${GENTOO_PATCHDIR}"/docs/*.example "${GENTOO_PATCHDIR}"/patches/*.layout \
"${GENTOO_PATCHDIR}"/init/* "${GENTOO_PATCHDIR}"/conf/vhosts.d/* \
"${GENTOO_PATCHDIR}"/conf/modules.d/* || die
# 03_all_gentoo-apache-tools.patch injects -Wl,-z,now, which is not a good
# idea for everyone
case ${CHOST} in
*-linux-gnu|*-solaris*|*-freebsd*)
# do nothing, these use GNU binutils
:
;;
*-darwin*)
sed -i -e 's/-Wl,-z,now/-Wl,-bind_at_load/g' \
"${GENTOO_PATCHDIR}"/patches/03_all_gentoo_apache-tools.patch
;;
*)
# patch it out to be like upstream
sed -i -e 's/-Wl,-z,now//g' \
"${GENTOO_PATCHDIR}"/patches/03_all_gentoo_apache-tools.patch
;;
esac
# Use correct multilib libdir in gentoo patches
sed -i -e "s:/usr/lib:/usr/$(get_libdir):g" \
"${GENTOO_PATCHDIR}"/{conf/httpd.conf,init/*,patches/config.layout} \
|| die "libdir sed failed"
if [[ "${EAPI}" -ge 6 ]] ; then
default
eapply "${GENTOO_PATCHDIR}"/patches/*.patch
else
epatch "${GENTOO_PATCHDIR}"/patches/*.patch
fi
if [[ ${EAPI} = 5 ]] ; then
# Handle patches from ebuild's PATCHES array if one is given
if [[ -n "${PATCHES}" ]] ; then
local patchestype=$(declare -p PATCHES 2>&-)
if [[ "${patchestype}" != "declare -a PATCHES="* ]] ; then
die "Declaring PATCHES as a variable is forbidden. Please use an array instead."
fi
epatch "${PATCHES[@]}"
fi
# Handle user patches
epatch_user
fi
# Don't rename configure.in _before_ any possible user patches!
if [[ -f "configure.in" ]] ; then
mv configure.{in,ac} || die
fi
# setup the filesystem layout config
cat "${GENTOO_PATCHDIR}"/patches/config.layout >> "${S}"/config.layout || \
die "Failed preparing config.layout!"
sed -i -e "s:version:${PF}:g" "${S}"/config.layout
# apache2.8 instead of httpd.8 (bug #194828)
mv docs/man/{httpd,apache2}.8
sed -i -e 's/httpd\.8/apache2.8/g' Makefile.in
# patched-in MPMs need the build environment rebuilt
sed -i -e '/sinclude/d' configure.ac
AT_M4DIR=build eautoreconf
# ${T} must be not group-writable, else grsec TPE will block it
chmod g-w "${T}"
# This package really should upgrade to using pcre's .pc file.
cat <<-\EOF >"${T}"/pcre-config
#!/bin/bash
flags=()
for flag; do
if [[ ${flag} == "--version" ]]; then
flags+=( --modversion )
else
flags+=( "${flag}" )
fi
done
exec ${PKG_CONFIG} libpcre "${flags[@]}"
EOF
chmod a+x "${T}"/pcre-config
}
# @FUNCTION: apache-2_src_configure
# @DESCRIPTION:
# This function adds compiler flags and runs econf and emake based on MY_MPM and
# MY_CONF
apache-2_src_configure() {
tc-export PKG_CONFIG
# Sanity check in case people have bad mounts/TPE settings. #500928
if ! "${T}"/pcre-config --help >/dev/null ; then
eerror "Could not execute ${T}/pcre-config; do you have bad mount"
eerror "permissions in ${T} or have TPE turned on in your kernel?"
die "check your runtime settings #500928"
fi
# Instead of filtering --as-needed (bug #128505), append --no-as-needed
# Thanks to Harald van Dijk
append-ldflags $(no-as-needed)
# peruser MPM debugging with -X is nearly impossible
if has peruser ${IUSE_MPMS} && use apache2_mpms_peruser ; then
use debug && append-flags -DMPM_PERUSER_DEBUG
fi
# econf overwrites the stuff from config.layout, so we have to put them into
# our myconf line too
MY_CONF+=(
--includedir="${EPREFIX}"/usr/include/apache2
--libexecdir="${EPREFIX}"/usr/$(get_libdir)/apache2/modules
--datadir="${EPREFIX}"/var/www/localhost
--sysconfdir="${EPREFIX}"/etc/apache2
--localstatedir="${EPREFIX}"/var
--with-mpm=${MY_MPM}
--with-apr="${SYSROOT}${EPREFIX}"/usr
--with-apr-util="${SYSROOT}${EPREFIX}"/usr
--with-pcre="${T}"/pcre-config
--with-z="${EPREFIX}"/usr
--with-port=80
--with-program-name=apache2
--enable-layout=Gentoo
)
ac_cv_path_PKGCONFIG=${PKG_CONFIG} \
econf "${MY_CONF[@]}"
sed -i -e 's:apache2\.conf:httpd.conf:' include/ap_config_auto.h || die
}
# @FUNCTION: apache-2_src_install
# @DESCRIPTION:
# This function runs `emake install' and generates, installs and adapts the gentoo
# specific configuration files found in the tarball
apache-2_src_install() {
emake DESTDIR="${D}" MKINSTALLDIRS="mkdir -p" install
# install our configuration files
keepdir /etc/apache2/vhosts.d
keepdir /etc/apache2/modules.d
generate_load_module
insinto /etc/apache2
doins -r "${GENTOO_PATCHDIR}"/conf/*
use apache2_modules_mime_magic && doins docs/conf/magic
insinto /etc/logrotate.d
newins "${GENTOO_PATCHDIR}"/scripts/apache2-logrotate apache2
# generate a sane default APACHE2_OPTS
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO"
use doc && APACHE2_OPTS+=" -D MANUAL"
use ssl && APACHE2_OPTS+=" -D SSL -D SSL_DEFAULT_VHOST"
use suexec && APACHE2_OPTS+=" -D SUEXEC"
if has negotiation ${APACHE2_MODULES} && use apache2_modules_negotiation; then
APACHE2_OPTS+=" -D LANGUAGE"
fi
sed -i -e "s:APACHE2_OPTS=\".*\":APACHE2_OPTS=\"${APACHE2_OPTS}\":" \
"${GENTOO_PATCHDIR}"/init/apache2.confd || die
newconfd "${GENTOO_PATCHDIR}"/init/apache2.confd apache2
newinitd "${GENTOO_PATCHDIR}"/init/apache2.initd apache2
# install apache2ctl wrapper for our init script if available
if test -e "${GENTOO_PATCHDIR}"/scripts/apache2ctl; then
exeinto /usr/sbin
doexe "${GENTOO_PATCHDIR}"/scripts/apache2ctl
else
dosym /etc/init.d/apache2 /usr/sbin/apache2ctl
fi
# provide legacy symlink for apxs, bug 177697
dosym apxs /usr/sbin/apxs2
# install some documentation
dodoc ABOUT_APACHE CHANGES LAYOUT README README.platforms VERSIONING
dodoc "${GENTOO_PATCHDIR}"/docs/*
# drop in a convenient link to the manual
if use doc ; then
sed -i -e "s:VERSION:${PVR}:" "${ED%/}/etc/apache2/modules.d/00_apache_manual.conf"
docompress -x /usr/share/doc/${PF}/manual # 503640
else
rm -f "${ED%/}/etc/apache2/modules.d/00_apache_manual.conf"
rm -Rf "${ED%/}/usr/share/doc/${PF}/manual"
fi
# the default icons and error pages get stored in
# /usr/share/apache2/{error,icons}
dodir /usr/share/apache2
mv -f "${ED%/}/var/www/localhost/error" "${ED%/}/usr/share/apache2/error"
mv -f "${ED%/}/var/www/localhost/icons" "${ED%/}/usr/share/apache2/icons"
rm -rf "${ED%/}/var/www/localhost/"
eend $?
# set some sane permissions for suexec
if use suexec ; then
local needs_adjustment="$(ver_test ${PV} -ge 2.4.34 && { { ! use suexec-syslog || ! use suexec-caps ; } && echo true || echo false ; } || echo true)"
if ${needs_adjustment} ; then
fowners 0:${SUEXEC_CALLER:-apache} /usr/sbin/suexec
fperms 4710 /usr/sbin/suexec
# provide legacy symlink for suexec, bug 177697
dosym /usr/sbin/suexec /usr/sbin/suexec2
fi
fi
# empty dirs
for i in /var/lib/dav /var/log/apache2 /var/cache/apache2 ; do
keepdir ${i}
fowners apache:apache ${i}
fperms 0750 ${i}
done
}
# @FUNCTION: apache-2_pkg_postinst
# @DESCRIPTION:
# This function creates test certificates if SSL is enabled and installs the
# default index.html to /var/www/localhost if it does not exist. We do this here
# because the default webroot is a copy of the files that exist elsewhere and we
# don't want them to be managed/removed by portage when apache is upgraded.
apache-2_pkg_postinst() {
if use ssl && [[ ! -e "${EROOT}/etc/ssl/apache2/server.pem" ]]; then
SSL_ORGANIZATION="${SSL_ORGANIZATION:-Apache HTTP Server}"
install_cert /etc/ssl/apache2/server
ewarn
ewarn "The location of SSL certificates has changed. If you are"
ewarn "upgrading from ${CATEGORY}/${PN}-2.2.13 or earlier (or remerged"
ewarn "*any* apache version), you might want to move your old"
ewarn "certificates from /etc/apache2/ssl/ to /etc/ssl/apache2/ and"
ewarn "update your config files."
ewarn
fi
if [[ ! -e "${EROOT}/var/www/localhost" ]] ; then
mkdir -p "${EROOT}/var/www/localhost/htdocs"
echo "<html><body><h1>It works!</h1></body></html>" > "${EROOT}/var/www/localhost/htdocs/index.html"
fi
echo
elog "Attention: cgi and cgid modules are now handled via APACHE2_MODULES flags"
elog "in make.conf. Make sure to enable those in order to compile them."
elog "In general, you should use 'cgid' with threaded MPMs and 'cgi' otherwise."
echo
}
EXPORT_FUNCTIONS pkg_setup src_prepare src_configure src_install pkg_postinst

View File

@ -1,214 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# DEPRECATED
# This eclass has been deprecated and must not be used by any new
# ebuilds or eclasses. Replacements for particular phase functions
# in EAPI 2+:
#
# base_src_unpack() - default (or unpacker_src_unpack if unpacker.eclass
# was inherited)
# base_src_prepare() - inherit eutils, inline:
# epatch "${PATCHES[@]}" # if PATCHES defined as array
# epatch ${PATCHES} # if PATCHES defined as string
# epatch_user
# base_src_configure() - default
# base_src_compile() - default
# base_src_install() - default
# base_src_install_docs() - einstalldocs from eutils.eclass
# @ECLASS: base.eclass
# @MAINTAINER:
# QA Team <qa@gentoo.org>
# @AUTHOR:
# Original author: Dan Armak <danarmak@gentoo.org>
# @SUPPORTED_EAPIS: 0 1 2 3 4 5
# @BLURB: The base eclass defines some default functions and variables.
# @DESCRIPTION:
# The base eclass defines some default functions and variables.
if [[ -z ${_BASE_ECLASS} ]]; then
_BASE_ECLASS=1
inherit eutils
BASE_EXPF="src_unpack src_compile src_install"
case "${EAPI:-0}" in
0|1) ;;
2|3|4|5) BASE_EXPF+=" src_prepare src_configure" ;;
*) die "${ECLASS}.eclass is banned in EAPI ${EAPI}";;
esac
EXPORT_FUNCTIONS ${BASE_EXPF}
# @ECLASS-VARIABLE: DOCS
# @DEFAULT_UNSET
# @DESCRIPTION:
# Array containing documents passed to dodoc command.
#
# DOCS=( "${S}/doc/document.txt" "${S}/doc/doc_folder/" )
# @ECLASS-VARIABLE: HTML_DOCS
# @DEFAULT_UNSET
# @DESCRIPTION:
# Array containing documents passed to dohtml command.
#
# HTML_DOCS=( "${S}/doc/document.html" "${S}/doc/html_folder/" )
# @ECLASS-VARIABLE: PATCHES
# @DEFAULT_UNSET
# @DESCRIPTION:
# PATCHES array variable containing all various patches to be applied.
# This variable is expected to be defined in global scope of ebuild.
# Make sure to specify the full path. This variable is utilised in
# src_unpack/src_prepare phase based on EAPI.
#
# NOTE: if using patches folders with special file suffixes you have to
# define one additional variable EPATCH_SUFFIX="something"
#
# PATCHES=( "${FILESDIR}/mypatch.patch" "${FILESDIR}/patches_folder/" )
# @FUNCTION: base_src_unpack
# @DESCRIPTION:
# The base src_unpack function, which is exported.
# Calls also src_prepare with eapi older than 2.
base_src_unpack() {
debug-print-function $FUNCNAME "$@"
pushd "${WORKDIR}" > /dev/null
if [[ $(type -t unpacker_src_unpack) == "function" ]] ; then
unpacker_src_unpack
elif [[ -n ${A} ]] ; then
unpack ${A}
fi
has src_prepare ${BASE_EXPF} || base_src_prepare
popd > /dev/null
}
# @FUNCTION: base_src_prepare
# @DESCRIPTION:
# The base src_prepare function, which is exported
# EAPI is greater or equal to 2. Here the PATCHES array is evaluated.
base_src_prepare() {
debug-print-function $FUNCNAME "$@"
debug-print "$FUNCNAME: PATCHES=$PATCHES"
local patches_failed=0
pushd "${S}" > /dev/null
if [[ "$(declare -p PATCHES 2>/dev/null 2>&1)" == "declare -a"* ]]; then
for x in "${PATCHES[@]}"; do
debug-print "$FUNCNAME: applying patch from ${x}"
if [[ -d "${x}" ]]; then
# Use standardized names and locations with bulk patching
# Patch directory is ${WORKDIR}/patch
# See epatch() in eutils.eclass for more documentation
EPATCH_SUFFIX=${EPATCH_SUFFIX:=patch}
# in order to preserve normal EPATCH_SOURCE value that can
# be used other way than with base eclass store in local
# variable and restore later
oldval=${EPATCH_SOURCE}
EPATCH_SOURCE=${x}
EPATCH_FORCE=yes
epatch
EPATCH_SOURCE=${oldval}
elif [[ -f "${x}" ]]; then
epatch "${x}"
else
ewarn "QA: File or directory \"${x}\" does not exist."
ewarn "QA: Check your PATCHES array or add missing file/directory."
patches_failed=1
fi
done
[[ ${patches_failed} -eq 1 ]] && die "Some patches failed. See above messages."
else
for x in ${PATCHES}; do
debug-print "$FUNCNAME: patching from ${x}"
epatch "${x}"
done
fi
# Apply user patches
debug-print "$FUNCNAME: applying user patches"
epatch_user
popd > /dev/null
}
# @FUNCTION: base_src_configure
# @DESCRIPTION:
# The base src_configure function, which is exported when
# EAPI is greater or equal to 2. Runs basic econf.
base_src_configure() {
debug-print-function $FUNCNAME "$@"
# there is no pushd ${S} so we can override its place where to run
[[ -x ${ECONF_SOURCE:-.}/configure ]] && econf "$@"
}
# @FUNCTION: base_src_compile
# @DESCRIPTION:
# The base src_compile function, calls src_configure with
# EAPI older than 2.
base_src_compile() {
debug-print-function $FUNCNAME "$@"
has src_configure ${BASE_EXPF} || base_src_configure
base_src_make "$@"
}
# @FUNCTION: base_src_make
# @DESCRIPTION:
# Actual function that runs emake command.
base_src_make() {
debug-print-function $FUNCNAME "$@"
if [[ -f Makefile || -f GNUmakefile || -f makefile ]]; then
emake "$@" || die "died running emake, $FUNCNAME"
fi
}
# @FUNCTION: base_src_install
# @DESCRIPTION:
# The base src_install function. Runs make install and
# installs documents and html documents from DOCS and HTML_DOCS
# arrays.
base_src_install() {
debug-print-function $FUNCNAME "$@"
emake DESTDIR="${D}" "$@" install || die "died running make install, $FUNCNAME"
base_src_install_docs
}
# @FUNCTION: base_src_install_docs
# @DESCRIPTION:
# Actual function that install documentation from
# DOCS and HTML_DOCS arrays.
base_src_install_docs() {
debug-print-function $FUNCNAME "$@"
local x
pushd "${S}" > /dev/null
if [[ "$(declare -p DOCS 2>/dev/null 2>&1)" == "declare -a"* ]]; then
for x in "${DOCS[@]}"; do
debug-print "$FUNCNAME: docs: creating document from ${x}"
dodoc "${x}" || die "dodoc failed"
done
fi
if [[ "$(declare -p HTML_DOCS 2>/dev/null 2>&1)" == "declare -a"* ]]; then
for x in "${HTML_DOCS[@]}"; do
debug-print "$FUNCNAME: docs: creating html document from ${x}"
dohtml -r "${x}" || die "dohtml failed"
done
fi
popd > /dev/null
}
fi

View File

@ -1,141 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cannadic.eclass
# @MAINTAINER:
# cjk@gentoo.org
# @AUTHOR:
# Mamoru KOMACHI <usata@gentoo.org>
# @BLURB: Function for Canna compatible dictionaries
# @DESCRIPTION:
# The cannadic eclass is used for installation and setup of Canna
# compatible dictionaries within the Portage system.
inherit eutils
EXPORT_FUNCTIONS pkg_setup pkg_postinst pkg_postrm src_install
HOMEPAGE="http://canna.osdn.jp/" # you need to change this!
SRC_URI="mirror://gentoo/${P}.tar.gz"
DICSDIRFILE="${FILESDIR}/*.dics.dir"
CANNADICS="${CANNADICS}" # (optional)
# You don't need to modify these
CANNADIC_CANNA_DIR="${EROOT:-${ROOT}}"var/lib/canna/dic/canna
CANNADIC_DICS_DIR="${EROOT:-${ROOT}}"var/lib/canna/dic/dics.d
readonly CANNADIC_CANNA_DIR CANNADIC_DICS_DIR
# @FUNCTION: cannadic_pkg_setup
# @DESCRIPTION:
# Sets up ${CANNADIC_CANNA_DIR}
cannadic_pkg_setup() {
keepdir "${CANNADIC_CANNA_DIR}"
fowners bin:bin "${CANNADIC_CANNA_DIR}"
fperms 0775 "${CANNADIC_CANNA_DIR}"
}
# @FUNCTION: cannadic-install
# @DESCRIPTION:
# Installs dictionaries to ${CANNADIC_CANNA_DIR}
cannadic-install() {
insinto "${CANNADIC_CANNA_DIR}"
insopts -m 0664 -o bin -g bin
doins "${@}"
}
# @FUNCTION: dicsdir-install
# @DESCRIPTION:
# Installs dics.dir from ${DICSDIRFILE}
dicsdir-install() {
insinto "${CANNADIC_DICS_DIR}"
doins "${DICSDIRFILE}"
}
# @FUNCTION: cannadic_src_install
# @DESCRIPTION:
# Installs all dictionaries under ${WORKDIR}
# plus dics.dir and docs
cannadic_src_install() {
local f
for f in *.c[btl]d *.t; do
if [[ -s "${f}" ]]; then
cannadic-install "${f}"
fi
done 2> /dev/null
dicsdir-install || die
einstalldocs
}
# @FUNCTION: update-cannadic-dir
# @DESCRIPTION:
# Updates dics.dir for Canna Server, script for this part taken from Debian GNU/Linux
#
# compiles dics.dir files for Canna Server
# Copyright 2001 ISHIKAWA Mutsumi
# Licensed under the GNU General Public License, version 2. See the file
# /usr/portage/license/GPL-2 or <http://www.gnu.org/copyleft/gpl.txt>.
update-cannadic-dir() {
einfo
einfo "Updating dics.dir for Canna ..."
einfo
# write new dics.dir file in case we are interrupted
cat <<-EOF > "${CANNADIC_CANNA_DIR}"/dics.dir.update-new
# dics.dir -- automatically generated file by Portage.
# DO NOT EDIT BY HAND.
EOF
local f
for f in "${CANNADIC_DICS_DIR}"/*.dics.dir; do
echo "# ${f}" >> "${CANNADIC_CANNA_DIR}"/dics.dir.update-new
cat "${f}" >> "${CANNADIC_CANNA_DIR}"/dics.dir.update-new
einfo "Added ${f}."
done
mv "${CANNADIC_CANNA_DIR}"/dics.dir.update-new "${CANNADIC_CANNA_DIR}"/dics.dir
einfo
einfo "Done."
einfo
}
# @FUNCTION: cannadic_pkg_postinst
# @DESCRIPTION:
# Updates dics.dir and print out notice after install
cannadic_pkg_postinst() {
update-cannadic-dir
einfo
einfo "Please restart cannaserver to fit the changes."
einfo "You need to modify your config file (~/.canna) to enable dictionaries."
if [[ -n "${CANNADICS}" ]]; then
einfo "e.g) add $(for d in ${CANNADICS}; do echo -n "\"${d}\" "; done)to section use-dictionary()."
einfo "For details, see documents under /usr/share/doc/${PF}."
fi
einfo "If you do not have ~/.canna, you can find sample files in /usr/share/canna."
ewarn "If you are upgrading from existing dictionary, you may need to recreate"
ewarn "user dictionary if you have one."
einfo
}
# @FUNCTION: cannadic_pkg_postrm
# @DESCRIPTION:
# Updates dics.dir and print out notice after uninstall
cannadic_pkg_postrm() {
update-cannadic-dir
einfo
einfo "Please restart cannaserver to fit changes."
einfo "and modify your config file (~/.canna) to disable dictionary."
if [[ -n "${CANNADICS}" ]]; then
einfo "e.g) delete $(for d in ${CANNADICS}; do echo -n "\"${d}\" "; done)from section use-dictionary()."
fi
einfo
}

View File

@ -1,308 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cdrom.eclass
# @MAINTAINER:
# games@gentoo.org
# @BLURB: Functions for CD-ROM handling
# @DESCRIPTION:
# Acquire CD(s) for those lovely CD-based emerges. Yes, this violates
# the whole "non-interactive" policy, but damnit I want CD support!
#
# Do not call these functions in pkg_* phases like pkg_setup as they
# should not be used for binary packages. Most packages using this
# eclass will require RESTRICT="bindist" but the point still stands.
# The functions are generally called in src_unpack.
if [[ -z ${_CDROM_ECLASS} ]]; then
_CDROM_ECLASS=1
inherit portability
# @ECLASS-VARIABLE: CDROM_OPTIONAL
# @DEFAULT_UNSET
# @DESCRIPTION:
# By default, the eclass sets PROPERTIES="interactive" on the assumption
# that people will be using these. If your package optionally supports
# disc-based installs then set this to "yes" and we'll set things
# conditionally based on USE="cdinstall".
if [[ ${CDROM_OPTIONAL} == "yes" ]] ; then
IUSE="cdinstall"
PROPERTIES="cdinstall? ( interactive )"
else
PROPERTIES="interactive"
fi
# @FUNCTION: cdrom_get_cds
# @USAGE: <cd1 file>[:alt cd1 file] [cd2 file[:alt cd2 file]] [...]
# @DESCRIPTION:
# Attempt to locate a CD based upon a file that is on the CD.
#
# If the data spans multiple discs then additional arguments can be
# given to check for more files. Call cdrom_load_next_cd() to scan for
# the next disc in the set.
#
# Sometimes it is necessary to support alternative CD "sets" where the
# contents differ. Alternative files for each disc can be appended to
# each argument, separated by the : character. This feature is
# frequently used to support installing from an existing installation.
# Note that after the first disc is detected, the set is locked so
# cdrom_load_next_cd() will only scan for files in that specific set on
# subsequent discs.
#
# The given files can be within named subdirectories. It is not
# necessary to specify different casings of the same filename as
# matching is done case-insensitively. Filenames can include special
# characters such as spaces. Only : is not allowed.
#
# If you don't want each disc to be referred to as "CD #1", "CD #2",
# etc. then you can optionally provide your own names. Set CDROM_NAME
# for a single disc, CDROM_NAMES as an array for multiple discs, or
# individual CDROM_NAME_# variables for each disc starting from 1.
#
# Despite what you may have seen in older ebuilds, it has never been
# possible to provide per-set disc names. This would not make sense as
# all the names are initially displayed before the first disc has been
# detected. As a workaround, you can redefine the name variable(s)
# after the first disc has been detected.
#
# This function ends with a cdrom_load_next_cd() call to scan for the
# first disc. For more details about variables read and written by this
# eclass, see that function's description.
cdrom_get_cds() {
unset CDROM_SET
export CDROM_CURRENT_CD=0
export CDROM_NUM_CDS="${#}"
local i
for i in $(seq ${#}); do
export CDROM_CHECK_${i}="${!i}"
done
# If the user has set CD_ROOT or CD_ROOT_1, don't bother informing
# them about which discs are needed as they presumably already know.
if [[ -n ${CD_ROOT}${CD_ROOT_1} ]] ; then
:
# Single disc info.
elif [[ ${#} -eq 1 ]] ; then
einfo "This ebuild will need the ${CDROM_NAME:-CD for ${PN}}"
echo
einfo "If you do not have the CD, but have the data files"
einfo "mounted somewhere on your filesystem, just export"
einfo "the variable CD_ROOT so that it points to the"
einfo "directory containing the files."
echo
einfo "For example:"
einfo "export CD_ROOT=/mnt/cdrom"
echo
# Multi disc info.
else
_cdrom_set_names
einfo "This package may need access to ${#} CDs."
local cdcnt
for cdcnt in $(seq ${#}); do
local var=CDROM_NAME_${cdcnt}
[[ ! -z ${!var} ]] && einfo " CD ${cdcnt}: ${!var}"
done
echo
einfo "If you do not have the CDs, but have the data files"
einfo "mounted somewhere on your filesystem, just export"
einfo "the following variables so they point to the right place:"
einfo $(printf "CD_ROOT_%d " $(seq ${#}))
echo
einfo "Or, if you have all the files in the same place, or"
einfo "you only have one CD, you can export CD_ROOT"
einfo "and that place will be used as the same data source"
einfo "for all the CDs."
echo
einfo "For example:"
einfo "export CD_ROOT=/mnt/cdrom"
echo
fi
# Scan for the first disc.
cdrom_load_next_cd
}
# @FUNCTION: cdrom_load_next_cd
# @DESCRIPTION:
# If multiple arguments were given to cdrom_get_cds() then you can call
# this function to scan for the next disc. This function is also called
# implicitly to scan for the first disc.
#
# The file(s) given to cdrom_get_cds() are scanned for on any mounted
# filesystem that resembles optical media. If no match is found then
# the user is prompted to insert and mount the disc and press enter to
# rescan. This will loop continuously until a match is found or the
# user aborts with Ctrl+C.
#
# The user can override the scan location by setting CD_ROOT for a
# single disc, CD_ROOT if multiple discs are merged into the same
# directory tree (useful for existing installations), or individual
# CD_ROOT_# variables for each disc starting from 1. If no match is
# found then the function dies with an error as a rescan will not help
# in this instance.
#
# Users wanting to set CD_ROOT or CD_ROOT_# for specific packages
# persistently can do so using Portage's /etc/portage/env feature.
#
# Regardless of which scanning method is used, several variables are set
# by this function for you to use:
#
# CDROM_ROOT: Root path of the detected disc.
# CDROM_MATCH: Path of the matched file, relative to CDROM_ROOT.
# CDROM_ABSMATCH: Absolute path of the matched file.
# CDROM_SET: The matching set number, starting from 0.
#
# The casing of CDROM_MATCH may not be the same as the argument given to
# cdrom_get_cds() as matching is done case-insensitively. You should
# therefore use this variable (or CDROM_ABSMATCH) when performing file
# operations to ensure the file is found. Use newins rather than doins
# to keep the final result consistent and take advantage of Bash
# case-conversion features like ${FOO,,}.
#
# Chances are that you'll need more than just the matched file from each
# disc though. You should not assume the casing of these files either
# but dealing with this goes beyond the scope of this ebuild. For a
# good example, see games-action/descent2-data, which combines advanced
# globbing with advanced tar features to concisely deal with
# case-insensitive matching, case conversion, file moves, and
# conditional exclusion.
#
# Copying directly from a mounted disc using doins/newins will remove
# any read-only permissions but be aware of these when copying to an
# intermediate directory first. Attempting to clean a build directory
# containing read-only files as a non-root user will result in an error.
# If you're using tar as suggested above then you can easily work around
# this with --mode=u+w.
#
# Note that you can only go forwards in the disc list, so make sure you
# only call this function when you're done using the current disc.
#
# If you cd to any location within CDROM_ROOT then remember to leave the
# directory before calling this function again, otherwise the user won't
# be able to unmount the current disc.
cdrom_load_next_cd() {
local showedmsg=0 showjolietmsg=0
unset CDROM_ROOT
((++CDROM_CURRENT_CD))
_cdrom_set_names
while true ; do
local i cdset
: CD_ROOT_${CDROM_CURRENT_CD}
export CDROM_ROOT=${CD_ROOT:-${!_}}
local var="CDROM_CHECK_${CDROM_CURRENT_CD}"
IFS=: read -r -a cdset -d "" <<< "${!var}"
for i in $(seq ${CDROM_SET:-0} ${CDROM_SET:-$((${#cdset[@]} - 1))}); do
local f=${cdset[${i}]} point= node= fs= opts=
if [[ -z ${CDROM_ROOT} ]] ; then
while read point node fs opts ; do
has "${fs}" cd9660 iso9660 udf || continue
point=${point//\040/ }
export CDROM_MATCH=$(_cdrom_glob_match "${point}" "${f}")
[[ -z ${CDROM_MATCH} ]] && continue
export CDROM_ROOT=${point}
done <<< "$(get_mounts)"
else
export CDROM_MATCH=$(_cdrom_glob_match "${CDROM_ROOT}" "${f}")
fi
if [[ -n ${CDROM_MATCH} ]] ; then
export CDROM_ABSMATCH=${CDROM_ROOT}/${CDROM_MATCH}
export CDROM_SET=${i}
break 2
fi
done
# If we get here then we were unable to locate a match. If
# CDROM_ROOT is non-empty then this implies that a CD_ROOT
# variable was given and we should therefore abort immediately.
if [[ -n ${CDROM_ROOT} ]] ; then
die "unable to locate CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}"
fi
if [[ ${showedmsg} -eq 0 ]] ; then
if [[ ${CDROM_NUM_CDS} -eq 1 ]] ; then
einfo "Please insert+mount the ${CDROM_NAME:-CD for ${PN}} now !"
else
local var="CDROM_NAME_${CDROM_CURRENT_CD}"
if [[ -z ${!var} ]] ; then
einfo "Please insert+mount CD #${CDROM_CURRENT_CD} for ${PN} now !"
else
einfo "Please insert+mount the ${!var} now !"
fi
fi
showedmsg=1
fi
einfo "Press return to scan for the CD again"
einfo "or hit CTRL+C to abort the emerge."
if [[ ${showjolietmsg} -eq 0 ]] ; then
showjolietmsg=1
else
echo
ewarn "If you are having trouble with the detection"
ewarn "of your CD, it is possible that you do not have"
ewarn "Joliet support enabled in your kernel. Please"
ewarn "check that CONFIG_JOLIET is enabled in your kernel."
fi
read || die "something is screwed with your system"
done
einfo "Found CD #${CDROM_CURRENT_CD} root at ${CDROM_ROOT}"
}
# @FUNCTION: _cdrom_glob_match
# @USAGE: <root directory> <path>
# @INTERNAL
# @DESCRIPTION:
# Locates the given path ($2) within the given root directory ($1)
# case-insensitively and returns the first actual matching path. This
# eclass previously used "find -iname" but it only checked the file
# case-insensitively and not the directories. There is "find -ipath"
# but this does not intelligently skip non-matching paths, making it
# slow. Case-insensitive matching can only be applied to patterns so
# extended globbing is used to turn regular strings into patterns. All
# special characters are escaped so don't worry about breaking this.
_cdrom_glob_match() {
# The following line turns this:
# foo*foo/bar bar/baz/file.zip
#
# Into this:
# ?(foo\*foo)/?(bar\ bar)/?(baz)/?(file\.zip)
#
# This turns every path component into an escaped extended glob
# pattern to allow case-insensitive matching. Globs cannot span
# directories so each component becomes an individual pattern.
local p=\?\($(sed -e 's:[^A-Za-z0-9/]:\\\0:g' -e 's:/:)/?(:g' <<< "$2" || die)\)
(
cd "$1" 2>/dev/null || return
shopt -s extglob nocaseglob nullglob || die
# The first person to make this work without an eval wins a
# cookie. It breaks without it when spaces are present.
eval "ARRAY=( ${p%\?()} )"
echo ${ARRAY[0]}
)
}
# @FUNCTION: _cdrom_set_names
# @INTERNAL
# @DESCRIPTION:
# Populate CDROM_NAME_# variables with the CDROM_NAMES array.
_cdrom_set_names() {
if [[ -n ${CDROM_NAMES} ]] ; then
local i
for i in $(seq ${#CDROM_NAMES[@]}); do
export CDROM_NAME_${i}="${CDROM_NAMES[$((${i} - 1))]}"
done
fi
}
fi

View File

@ -1,234 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: common-lisp-3.eclass
# @MAINTAINER:
# Common Lisp project <common-lisp@gentoo.org>
# @BLURB: functions to support the installation of Common Lisp libraries
# @DESCRIPTION:
# Since Common Lisp libraries share similar structure, this eclass aims
# to provide a simple way to write ebuilds with these characteristics.
inherit eutils
# @ECLASS-VARIABLE: CLIMPLEMENTATIONS
# @DESCRIPTION:
# Common Lisp implementations
CLIMPLEMENTATIONS="sbcl clisp clozurecl cmucl ecls gcl abcl"
# @ECLASS-VARIABLE: CLSOURCEROOT
# @DESCRIPTION:
# Default path of Common Lisp libraries sources. Sources will
# be installed into ${CLSOURCEROOT}/${CLPACKAGE}.
CLSOURCEROOT="${ROOT%/}"/usr/share/common-lisp/source
# @ECLASS-VARIABLE: CLSYSTEMROOT
# @DESCRIPTION:
# Default path to find any asdf file. Any asdf files will be
# symlinked in ${CLSYSTEMROOT}/${CLSYSTEM} as they may be in
# an arbitrarily deeply nested directory under ${CLSOURCEROOT}/${CLPACKAGE}.
CLSYSTEMROOT="${ROOT%/}"/usr/share/common-lisp/systems
# @ECLASS-VARIABLE: CLPACKAGE
# @DESCRIPTION:
# Default package name. To override, set these after inheriting this eclass.
CLPACKAGE="${PN}"
PDEPEND="virtual/commonlisp"
EXPORT_FUNCTIONS src_compile src_install
# @FUNCTION: common-lisp-3_src_compile
# @DESCRIPTION:
# Since there's nothing to build in most cases, default doesn't do
# anything.
common-lisp-3_src_compile() {
true;
}
# @FUNCTION: absolute-path-p
# @DESCRIPTION:
# Returns true if ${1} is an absolute path.
absolute-path-p() {
[[ $# -eq 1 ]] || die "${FUNCNAME[0]} must receive one argument"
[[ ${1} == /* ]]
}
# @FUNCTION: common-lisp-install-one-source
# @DESCRIPTION:
# Installs ${2} source file in ${3} inside CLSOURCEROOT/CLPACKAGE.
common-lisp-install-one-source() {
[[ $# -eq 3 ]] || die "${FUNCNAME[0]} must receive exactly three arguments"
local fpredicate=${1}
local source=${2}
local target="${CLSOURCEROOT}/${CLPACKAGE}/${3}"
if absolute-path-p "${source}" ; then
die "Cannot install files with absolute path: ${source}"
fi
if ${fpredicate} "${source}" ; then
insinto "${target}"
doins "${source}" || die "Failed to install ${source} into $(dirname "${target}")"
fi
}
# @FUNCTION: lisp-file-p
# @DESCRIPTION:
# Returns true if ${1} is lisp source file.
lisp-file-p() {
[[ $# -eq 1 ]] || die "${FUNCNAME[0]} must receive one argument"
[[ ${1} =~ \.(lisp|lsp|cl)$ ]]
}
# @FUNCTION: common-lisp-get-fpredicate
# @DESCRIPTION:
# Outputs the corresponding predicate to check files of type ${1}.
common-lisp-get-fpredicate() {
[[ $# -eq 1 ]] || die "${FUNCNAME[0]} must receive one argument"
local ftype=${1}
case ${ftype} in
"lisp") echo "lisp-file-p" ;;
"all" ) echo "true" ;;
* ) die "Unknown filetype specifier ${ftype}" ;;
esac
}
# @FUNCTION: common-lisp-install-sources
# @USAGE: common-lisp-install-sources path [<other_paths>...]
# @DESCRIPTION:
# Recursively install lisp sources of type ${2} if ${1} is -t or
# Lisp by default. When given a directory, it will be recursively
# scanned for Lisp source files with suffixes: .lisp, .lsp or .cl.
common-lisp-install-sources() {
local ftype="lisp"
if [[ ${1} == "-t" ]] ; then
ftype=${2}
shift ; shift
fi
[[ $# -ge 1 ]] || die "${FUNCNAME[0]} must receive one non-option argument"
local fpredicate=$(common-lisp-get-fpredicate "${ftype}")
for path in "${@}" ; do
if [[ -f ${path} ]] ; then
common-lisp-install-one-source ${fpredicate} "${path}" "$(dirname "${path}")"
elif [[ -d ${path} ]] ; then
common-lisp-install-sources -t ${ftype} $(find "${path}" -type f)
else
die "${path} is neither a regular file nor a directory"
fi
done
}
# @FUNCTION: common-lisp-install-one-asdf
# @DESCRIPTION:
# Installs ${1} asdf file in CLSOURCEROOT/CLPACKAGE and symlinks it in
# CLSYSTEMROOT.
common-lisp-install-one-asdf() {
[[ $# != 1 ]] && die "${FUNCNAME[0]} must receive exactly one argument"
# the suffix «.asd» is optional
local source=${1/.asd}.asd
common-lisp-install-one-source true "${source}" "$(dirname "${source}")"
local target="${CLSOURCEROOT%/}/${CLPACKAGE}/${source}"
dosym "${target}" "${CLSYSTEMROOT%/}/$(basename ${target})"
}
# @FUNCTION: common-lisp-install-asdf
# @USAGE: common-lisp-install-asdf path [<other_paths>...]
# @DESCRIPTION:
# Installs all ASDF files and creates symlinks in CLSYSTEMROOT.
# When given a directory, it will be recursively scanned for ASDF
# files with extension .asd.
common-lisp-install-asdf() {
dodir "${CLSYSTEMROOT}"
[[ $# = 0 ]] && set - ${CLSYSTEMS}
[[ $# = 0 ]] && set - $(find . -type f -name \*.asd)
for sys in "${@}" ; do
common-lisp-install-one-asdf ${sys}
done
}
# @FUNCTION: common-lisp-3_src_install
# @DESCRIPTION:
# Recursively install Lisp sources, asdf files and most common doc files.
common-lisp-3_src_install() {
common-lisp-install-sources .
common-lisp-install-asdf
for i in AUTHORS README* HEADER TODO* CHANGELOG Change[lL]og CHANGES BUGS CONTRIBUTORS *NEWS* ; do
[[ -f ${i} ]] && dodoc ${i}
done
}
# @FUNCTION: common-lisp-find-lisp-impl
# @USAGE: common-lisp-find-lisp-impl
# @DESCRIPTION:
# Outputs an installed Common Lisp implementation. Transverses
# CLIMPLEMENTATIONS to find it.
common-lisp-find-lisp-impl() {
for lisp in ${CLIMPLEMENTATIONS} ; do
[[ "$(best_version dev-lisp/${lisp})" ]] && echo "${lisp}" && return
done
die "No CommonLisp implementation found"
}
# @FUNCTION: common-lisp-export-impl-args
# @USAGE: common-lisp-export-impl-args <lisp-implementation>
# @DESCRIPTION:
# Export a few variables containing the switches necessary
# to make the CL implementation perform basic functions:
# * CL_BINARY: Common Lisp implementation
# * CL_NORC: don't load syste-wide or user-specific initfiles
# * CL_LOAD: load a certain file
# * CL_EVAL: eval a certain expression at startup
common-lisp-export-impl-args() {
if [[ $# != 1 ]]; then
eerror "Usage: ${FUNCNAME[0]} lisp-implementation"
die "${FUNCNAME[0]}: wrong number of arguments: $#"
fi
CL_BINARY="${1}"
case "${CL_BINARY}" in
sbcl)
CL_NORC="--sysinit /dev/null --userinit /dev/null"
CL_LOAD="--load"
CL_EVAL="--eval"
;;
clisp)
CL_NORC="-norc"
CL_LOAD="-i"
CL_EVAL="-x"
;;
clozure | clozurecl | ccl | openmcl)
CL_BINARY="ccl"
CL_NORC="--no-init"
CL_LOAD="--load"
CL_EVAL="--eval"
;;
cmucl)
CL_NORC="-nositeinit -noinit"
CL_LOAD="-load"
CL_EVAL="-eval"
;;
ecl | ecls)
CL_BINARY="ecl"
CL_NORC="-norc"
CL_LOAD="-load"
CL_EVAL="-eval"
;;
abcl)
CL_NORC="--noinit"
CL_LOAD="--load"
CL_EVAL="--eval"
;;
*)
die "${CL_BINARY} is not supported by ${0}"
;;
esac
export CL_BINARY CL_NORC CL_LOAD CL_EVAL
}

View File

@ -1,582 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cvs.eclass
# @MAINTAINER:
# vapier@gentoo.org (and anyone who wants to help)
# @BLURB: This eclass provides generic cvs fetching functions
# @DESCRIPTION:
# This eclass provides the generic cvs fetching functions. To use this from an
# ebuild, set the ECLASS VARIABLES as specified below in your ebuild before
# inheriting. Then either leave the default src_unpack or extend over
# cvs_src_unpack. If you find that you need to call the cvs_* functions
# directly, I'd be interested to hear about it.
if [[ -z ${_CVS_ECLASS} ]]; then
_CVS_ECLASS=1
inherit eutils
# TODO:
# Implement more auth types (gserver?, kserver?)
# Support additional remote shells with `ext' authentication (does
# anyone actually need to use it with anything other than SSH?)
# Users shouldn't change these settings! The ebuild/eclass inheriting
# this eclass will take care of that. If you want to set the global
# KDE cvs ebuilds' settings, see the comments in kde-source.eclass.
# @ECLASS-VARIABLE: ECVS_CVS_COMPRESS
# @DESCRIPTION:
# Set the default compression level. Has no effect when ECVS_CVS_COMMAND
# is defined by ebuild/user.
: ${ECVS_CVS_COMPRESS:=-z1}
# @ECLASS-VARIABLE: ECVS_CVS_OPTIONS
# @DESCRIPTION:
# Additional options to the cvs commands. Has no effect when ECVS_CVS_COMMAND
# is defined by ebuild/user.
: ${ECVS_CVS_OPTIONS:=-q -f}
# @ECLASS-VARIABLE: ECVS_CVS_COMMAND
# @DESCRIPTION:
# CVS command to run
#
# You can set, for example, "cvs -t" for extensive debug information
# on the cvs connection. The default of "cvs -q -f -z4" means to be
# quiet, to disregard the ~/.cvsrc config file and to use maximum
# compression.
: ${ECVS_CVS_COMMAND:=cvs ${ECVS_CVS_OPTIONS} ${ECVS_CVS_COMPRESS}}
# @ECLASS-VARIABLE: ECVS_UP_OPTS
# @DESCRIPTION:
# CVS options given after the cvs update command. Don't remove "-dP" or things
# won't work.
: ${ECVS_UP_OPTS:=-dP}
# @ECLASS-VARIABLE: ECVS_CO_OPTS
# @DEFAULT_UNSET
# @DESCRIPTION:
# CVS options given after the cvs checkout command.
# @ECLASS-VARIABLE: ECVS_OFFLINE
# @DESCRIPTION:
# Set this variable to a non-empty value to disable the automatic updating of
# a CVS source tree. This is intended to be set outside the cvs source
# tree by users.
: ${ECVS_OFFLINE:=${EVCS_OFFLINE}}
# @ECLASS-VARIABLE: ECVS_LOCAL
# @DEFAULT_UNSET
# @DESCRIPTION:
# If this is set, the CVS module will be fetched non-recursively.
# Refer to the information in the CVS man page regarding the -l
# command option (not the -l global option).
# @ECLASS-VARIABLE: ECVS_LOCALNAME
# @DEFAULT_UNSET
# @DESCRIPTION:
# Local name of checkout directory
#
# This is useful if the module on the server is called something
# common like 'driver' or is nested deep in a tree, and you don't like
# useless empty directories.
#
# WARNING: Set this only from within ebuilds! If set in your shell or
# some such, things will break because the ebuild won't expect it and
# have e.g. a wrong $S setting.
# @ECLASS-VARIABLE: ECVS_TOP_DIR
# @DESCRIPTION:
# The directory under which CVS modules are checked out.
: ${ECVS_TOP_DIR:="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/cvs-src"}
# @ECLASS-VARIABLE: ECVS_SERVER
# @DESCRIPTION:
# CVS path
#
# The format is "server:/dir", e.g. "anoncvs.kde.org:/home/kde".
# Remove the other parts of the full CVSROOT, which might look like
# ":pserver:anonymous@anoncvs.kde.org:/home/kde"; this is generated
# using other settings also.
#
# Set this to "offline" to disable fetching (i.e. to assume the module
# is already checked out in ECVS_TOP_DIR).
: ${ECVS_SERVER:="offline"}
# @ECLASS-VARIABLE: ECVS_MODULE
# @REQUIRED
# @DESCRIPTION:
# The name of the CVS module to be fetched
#
# This must be set when cvs_src_unpack is called. This can include
# several directory levels, i.e. "foo/bar/baz"
#[[ -z ${ECVS_MODULE} ]] && die "$ECLASS: error: ECVS_MODULE not set, cannot continue"
# @ECLASS-VARIABLE: ECVS_DATE
# @DEFAULT_UNSET
# @DESCRIPTION:
# The date of the checkout. See the -D date_spec option in the cvs
# man page for more details.
# @ECLASS-VARIABLE: ECVS_BRANCH
# @DEFAULT_UNSET
# @DESCRIPTION:
# The name of the branch/tag to use
#
# The default is "HEAD". The following default _will_ reset your
# branch checkout to head if used.
#: ${ECVS_BRANCH:="HEAD"}
# @ECLASS-VARIABLE: ECVS_AUTH
# @DESCRIPTION:
# Authentication method to use
#
# Possible values are "pserver" and "ext". If `ext' authentication is
# used, the remote shell to use can be specified in CVS_RSH (SSH is
# used by default). Currently, the only supported remote shell for
# `ext' authentication is SSH.
#
# Armando Di Cianno <fafhrd@gentoo.org> 2004/09/27
# - Added "no" as a server type, which uses no AUTH method, nor
# does it login
# e.g.
# "cvs -danoncvs@savannah.gnu.org:/cvsroot/backbone co System"
# ( from gnustep-apps/textedit )
: ${ECVS_AUTH:="pserver"}
# @ECLASS-VARIABLE: ECVS_USER
# @DESCRIPTION:
# Username to use for authentication on the remote server.
: ${ECVS_USER:="anonymous"}
# @ECLASS-VARIABLE: ECVS_PASS
# @DEFAULT_UNSET
# @DESCRIPTION:
# Password to use for authentication on the remote server
# @ECLASS-VARIABLE: ECVS_SSH_HOST_KEY
# @DEFAULT_UNSET
# @DESCRIPTION:
# If SSH is used for `ext' authentication, use this variable to
# specify the host key of the remote server. The format of the value
# should be the same format that is used for the SSH known hosts file.
#
# WARNING: If a SSH host key is not specified using this variable, the
# remote host key will not be verified.
# @ECLASS-VARIABLE: ECVS_CLEAN
# @DEFAULT_UNSET
# @DESCRIPTION:
# Set this to get a clean copy when updating (passes the
# -C option to cvs update)
# @ECLASS-VARIABLE: ECVS_RUNAS
# @DEFAULT_UNSET
# @DESCRIPTION:
# Specifies an alternate (non-root) user to use to run cvs. Currently
# b0rked and wouldn't work with portage userpriv anyway without
# special magic.
# : ${ECVS_RUNAS:=$(whoami)}
# add cvs to deps
# ssh is used for ext auth
# sudo is used to run as a specified user
DEPEND="dev-vcs/cvs"
[[ -n ${ECVS_RUNAS} ]] && DEPEND+=" app-admin/sudo"
if [[ ${ECVS_AUTH} == "ext" ]] ; then
#default to ssh
[[ -z ${CVS_RSH} ]] && export CVS_RSH="ssh"
if [[ ${CVS_RSH} != "ssh" ]] ; then
die "Support for ext auth with clients other than ssh has not been implemented yet"
fi
DEPEND+=" net-misc/openssh"
fi
# called from cvs_src_unpack
cvs_fetch() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
# Make these options local variables so that the global values are
# not affected by modifications in this function.
local ECVS_COMMAND=${ECVS_COMMAND}
local ECVS_UP_OPTS=${ECVS_UP_OPTS}
local ECVS_CO_OPTS=${ECVS_CO_OPTS}
debug-print-function ${FUNCNAME} "$@"
# Update variables that are modified by ebuild parameters, which
# should be effective every time cvs_fetch is called, and not just
# every time cvs.eclass is inherited
# Handle parameter for local (non-recursive) fetching
if [[ -n ${ECVS_LOCAL} ]] ; then
ECVS_UP_OPTS+=" -l"
ECVS_CO_OPTS+=" -l"
fi
# Handle ECVS_BRANCH option
#
# Because CVS auto-switches branches, we just have to pass the
# correct -rBRANCH option when updating.
if [[ -n ${ECVS_BRANCH} ]] ; then
ECVS_UP_OPTS+=" -r${ECVS_BRANCH}"
ECVS_CO_OPTS+=" -r${ECVS_BRANCH}"
fi
# Handle ECVS_LOCALNAME, which specifies the local directory name
# to use. Note that the -d command option is not equivalent to
# the global -d option.
if [[ ${ECVS_LOCALNAME} != "${ECVS_MODULE}" ]] ; then
ECVS_CO_OPTS+=" -d ${ECVS_LOCALNAME}"
fi
if [[ -n ${ECVS_CLEAN} ]] ; then
ECVS_UP_OPTS+=" -C"
fi
if [[ -n ${ECVS_DATE} ]] ; then
ECVS_CO_OPTS+=" -D ${ECVS_DATE}"
ECVS_UP_OPTS+=" -D ${ECVS_DATE}"
fi
# It would be easiest to always be in "run-as mode", logic-wise,
# if sudo didn't ask for a password even when sudo'ing to `whoami`.
if [[ -z ${ECVS_RUNAS} ]] ; then
run=""
else
run="sudo -u ${ECVS_RUNAS}"
fi
# Create the top dir if needed
if [[ ! -d ${ECVS_TOP_DIR} ]] ; then
# Note that the addwrite statements in this block are only
# there to allow creating ECVS_TOP_DIR; we allow writing
# inside it separately.
# This is because it's simpler than trying to find out the
# parent path of the directory, which would need to be the
# real path and not a symlink for things to work (so we can't
# just remove the last path element in the string)
debug-print "${FUNCNAME}: checkout mode. creating cvs directory"
addwrite /foobar
addwrite /
${run} mkdir -p "/${ECVS_TOP_DIR}"
export SANDBOX_WRITE="${SANDBOX_WRITE//:\/foobar:\/}"
fi
# In case ECVS_TOP_DIR is a symlink to a dir, get the real path,
# otherwise addwrite() doesn't work.
cd -P "${ECVS_TOP_DIR}" >/dev/null
ECVS_TOP_DIR=$(pwd)
# Disable the sandbox for this dir
addwrite "${ECVS_TOP_DIR}"
# Chown the directory and all of its contents
if [[ -n ${ECVS_RUNAS} ]] ; then
${run} chown -R "${ECVS_RUNAS}" "/${ECVS_TOP_DIR}"
fi
# Determine the CVS command mode (checkout or update)
if [[ ! -d ${ECVS_TOP_DIR}/${ECVS_LOCALNAME}/CVS ]] ; then
mode=checkout
else
mode=update
fi
# Our server string (i.e. CVSROOT) without the password so it can
# be put in Root
local connection="${ECVS_AUTH}"
if [[ ${ECVS_AUTH} == "no" ]] ; then
local server="${ECVS_USER}@${ECVS_SERVER}"
else
[[ -n ${ECVS_PROXY} ]] && connection+=";proxy=${ECVS_PROXY}"
[[ -n ${ECVS_PROXY_PORT} ]] && connection+=";proxyport=${ECVS_PROXY_PORT}"
local server=":${connection}:${ECVS_USER}@${ECVS_SERVER}"
fi
# Switch servers automagically if needed
if [[ ${mode} == "update" ]] ; then
cd "/${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"
local oldserver=$(${run} cat CVS/Root)
if [[ ${server} != "${oldserver}" ]] ; then
einfo "Changing the CVS server from ${oldserver} to ${server}:"
debug-print "${FUNCNAME}: Changing the CVS server from ${oldserver} to ${server}:"
einfo "Searching for CVS directories ..."
local cvsdirs=$(${run} find . -iname CVS -print)
debug-print "${FUNCNAME}: CVS directories found:"
debug-print "${cvsdirs}"
einfo "Modifying CVS directories ..."
local x
for x in ${cvsdirs} ; do
debug-print "In ${x}"
${run} echo "${server}" > "${x}/Root"
done
fi
fi
# Prepare a cvspass file just for this session, we don't want to
# mess with ~/.cvspass
touch "${T}/cvspass"
export CVS_PASSFILE="${T}/cvspass"
if [[ -n ${ECVS_RUNAS} ]] ; then
chown "${ECVS_RUNAS}" "${T}/cvspass"
fi
# The server string with the password in it, for login (only used for pserver)
cvsroot_pass=":${connection}:${ECVS_USER}:${ECVS_PASS}@${ECVS_SERVER}"
# Ditto without the password, for checkout/update after login, so
# that the CVS/Root files don't contain the password in plaintext
if [[ ${ECVS_AUTH} == "no" ]] ; then
cvsroot_nopass="${ECVS_USER}@${ECVS_SERVER}"
else
cvsroot_nopass=":${connection}:${ECVS_USER}@${ECVS_SERVER}"
fi
# Commands to run
cmdlogin=( ${run} ${ECVS_CVS_COMMAND} -d "${cvsroot_pass}" login )
cmdupdate=( ${run} ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" update ${ECVS_UP_OPTS} ${ECVS_LOCALNAME} )
cmdcheckout=( ${run} ${ECVS_CVS_COMMAND} -d "${cvsroot_nopass}" checkout ${ECVS_CO_OPTS} ${ECVS_MODULE} )
# Execute commands
cd "${ECVS_TOP_DIR}"
if [[ ${ECVS_AUTH} == "pserver" ]] ; then
einfo "Running ${cmdlogin[*]}"
"${cmdlogin[@]}" || die "cvs login command failed"
if [[ ${mode} == "update" ]] ; then
einfo "Running ${cmdupdate[*]}"
"${cmdupdate[@]}" || die "cvs update command failed"
elif [[ ${mode} == "checkout" ]] ; then
einfo "Running ${cmdcheckout[*]}"
"${cmdcheckout[@]}" || die "cvs checkout command failed"
fi
elif [[ ${ECVS_AUTH} == "ext" || ${ECVS_AUTH} == "no" ]] ; then
# Hack to support SSH password authentication
# Backup environment variable values
local CVS_ECLASS_ORIG_CVS_RSH="${CVS_RSH}"
if [[ ${SSH_ASKPASS+set} == "set" ]] ; then
local CVS_ECLASS_ORIG_SSH_ASKPASS="${SSH_ASKPASS}"
else
unset CVS_ECLASS_ORIG_SSH_ASKPASS
fi
if [[ ${DISPLAY+set} == "set" ]] ; then
local CVS_ECLASS_ORIG_DISPLAY="${DISPLAY}"
else
unset CVS_ECLASS_ORIG_DISPLAY
fi
if [[ ${CVS_RSH} == "ssh" ]] ; then
# Force SSH to use SSH_ASKPASS by creating python wrapper
export CVS_RSH="${T}/cvs_sshwrapper"
cat > "${CVS_RSH}"<<EOF
#!${EPREFIX}/usr/bin/python
import fcntl
import os
import sys
try:
fd = os.open('/dev/tty', 2)
TIOCNOTTY=0x5422
try:
fcntl.ioctl(fd, TIOCNOTTY)
except:
pass
os.close(fd)
except:
pass
newarglist = sys.argv[:]
EOF
# disable X11 forwarding which causes .xauth access violations
# - 20041205 Armando Di Cianno <fafhrd@gentoo.org>
echo "newarglist.insert(1, '-oClearAllForwardings=yes')" \
>> "${CVS_RSH}"
echo "newarglist.insert(1, '-oForwardX11=no')" \
>> "${CVS_RSH}"
# Handle SSH host key checking
local CVS_ECLASS_KNOWN_HOSTS="${T}/cvs_ssh_known_hosts"
echo "newarglist.insert(1, '-oUserKnownHostsFile=${CVS_ECLASS_KNOWN_HOSTS}')" \
>> "${CVS_RSH}"
if [[ -z ${ECVS_SSH_HOST_KEY} ]] ; then
ewarn "Warning: The SSH host key of the remote server will not be verified."
einfo "A temporary known hosts list will be used."
local CVS_ECLASS_STRICT_HOST_CHECKING="no"
touch "${CVS_ECLASS_KNOWN_HOSTS}"
else
local CVS_ECLASS_STRICT_HOST_CHECKING="yes"
echo "${ECVS_SSH_HOST_KEY}" > "${CVS_ECLASS_KNOWN_HOSTS}"
fi
echo -n "newarglist.insert(1, '-oStrictHostKeyChecking=" \
>> "${CVS_RSH}"
echo "${CVS_ECLASS_STRICT_HOST_CHECKING}')" \
>> "${CVS_RSH}"
echo "os.execv('${EPREFIX}/usr/bin/ssh', newarglist)" \
>> "${CVS_RSH}"
chmod a+x "${CVS_RSH}"
# Make sure DISPLAY is set (SSH will not use SSH_ASKPASS
# if DISPLAY is not set)
: ${DISPLAY:="DISPLAY"}
export DISPLAY
# Create a dummy executable to echo ${ECVS_PASS}
export SSH_ASKPASS="${T}/cvs_sshechopass"
if [[ ${ECVS_AUTH} != "no" ]] ; then
echo -en "#!/bin/bash\necho \"${ECVS_PASS}\"\n" \
> "${SSH_ASKPASS}"
else
echo -en "#!/bin/bash\nreturn\n" \
> "${SSH_ASKPASS}"
fi
chmod a+x "${SSH_ASKPASS}"
fi
if [[ ${mode} == "update" ]] ; then
einfo "Running ${cmdupdate[*]}"
"${cmdupdate[@]}" || die "cvs update command failed"
elif [[ ${mode} == "checkout" ]] ; then
einfo "Running ${cmdcheckout[*]}"
"${cmdcheckout[@]}" || die "cvs checkout command failed"
fi
# Restore environment variable values
export CVS_RSH="${CVS_ECLASS_ORIG_CVS_RSH}"
if [[ ${CVS_ECLASS_ORIG_SSH_ASKPASS+set} == "set" ]] ; then
export SSH_ASKPASS="${CVS_ECLASS_ORIG_SSH_ASKPASS}"
else
unset SSH_ASKPASS
fi
if [[ ${CVS_ECLASS_ORIG_DISPLAY+set} == "set" ]] ; then
export DISPLAY="${CVS_ECLASS_ORIG_DISPLAY}"
else
unset DISPLAY
fi
fi
# Restore ownership. Not sure why this is needed, but someone
# added it in the orig ECVS_RUNAS stuff.
if [[ -n ${ECVS_RUNAS} ]] ; then
chown $(whoami) "${T}/cvspass"
fi
}
# @FUNCTION: cvs_src_unpack
# @DESCRIPTION:
# The cvs src_unpack function, which will be exported
cvs_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
debug-print "${FUNCNAME}: init:
ECVS_CVS_COMMAND=${ECVS_CVS_COMMAND}
ECVS_UP_OPTS=${ECVS_UP_OPTS}
ECVS_CO_OPTS=${ECVS_CO_OPTS}
ECVS_TOP_DIR=${ECVS_TOP_DIR}
ECVS_SERVER=${ECVS_SERVER}
ECVS_USER=${ECVS_USER}
ECVS_PASS=${ECVS_PASS}
ECVS_MODULE=${ECVS_MODULE}
ECVS_LOCAL=${ECVS_LOCAL}
ECVS_RUNAS=${ECVS_RUNAS}
ECVS_LOCALNAME=${ECVS_LOCALNAME}"
[[ -z ${ECVS_MODULE} ]] && die "ERROR: CVS module not set, cannot continue."
local ECVS_LOCALNAME=${ECVS_LOCALNAME:-${ECVS_MODULE}}
local sanitized_pn=$(echo "${PN}" | LC_ALL=C sed -e 's:[^A-Za-z0-9_]:_:g')
local offline_pkg_var="ECVS_OFFLINE_${sanitized_pn}"
if [[ -n ${!offline_pkg_var}${ECVS_OFFLINE} ]] || [[ ${ECVS_SERVER} == "offline" ]] ; then
# We're not required to fetch anything; the module already
# exists and shouldn't be updated.
if [[ -d ${ECVS_TOP_DIR}/${ECVS_LOCALNAME} ]] ; then
debug-print "${FUNCNAME}: offline mode"
else
debug-print "${FUNCNAME}: Offline mode specified but directory ${ECVS_TOP_DIR}/${ECVS_LOCALNAME} not found, exiting with error"
die "ERROR: Offline mode specified, but directory ${ECVS_TOP_DIR}/${ECVS_LOCALNAME} not found. Aborting."
fi
elif [[ -n ${ECVS_SERVER} ]] ; then # ECVS_SERVER!=offline --> real fetching mode
einfo "Fetching CVS module ${ECVS_MODULE} into ${ECVS_TOP_DIR} ..."
cvs_fetch
else # ECVS_SERVER not set
die "ERROR: CVS server not specified, cannot continue."
fi
einfo "Copying ${ECVS_MODULE} from ${ECVS_TOP_DIR} ..."
debug-print "Copying module ${ECVS_MODULE} local_mode=${ECVS_LOCAL} from ${ECVS_TOP_DIR} ..."
# This is probably redundant, but best to make sure.
mkdir -p "${WORKDIR}/${ECVS_LOCALNAME}"
if [[ -n ${ECVS_LOCAL} ]] ; then
cp -f "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"/* "${WORKDIR}/${ECVS_LOCALNAME}"
else
cp -Rf "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}" "${WORKDIR}/${ECVS_LOCALNAME}/.."
fi
# Not exactly perfect, but should be pretty close #333773
export ECVS_VERSION=$(
find "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}/" -ipath '*/CVS/Entries' -exec cat {} + | \
LC_ALL=C sort | \
sha1sum | \
awk '{print $1}'
)
# If the directory is empty, remove it; empty directories cannot
# exist in cvs. This happens when, for example, kde-source
# requests module/doc/subdir which doesn't exist. Still create
# the empty directory in workdir though.
if [[ $(ls -A "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}") == "CVS" ]] ; then
debug-print "${FUNCNAME}: removing empty CVS directory ${ECVS_LOCALNAME}"
rm -rf "${ECVS_TOP_DIR}/${ECVS_LOCALNAME}"
fi
# Implement some of base_src_unpack's functionality; note however
# that base.eclass may not have been inherited!
if [[ -n ${PATCHES} ]] ; then
debug-print "${FUNCNAME}: PATCHES=${PATCHES}, S=${S}, autopatching"
cd "${S}"
epatch ${PATCHES}
# Make sure we don't try to apply patches more than once,
# since cvs_src_unpack is usually called several times from
# e.g. kde-source_src_unpack
export PATCHES=""
fi
einfo "CVS module ${ECVS_MODULE} is now in ${WORKDIR}"
}
EXPORT_FUNCTIONS src_unpack
fi

View File

@ -1,195 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: db.eclass
# @MAINTAINER:
# base-system@gentoo.org
# @BLURB: Internal eclass used by sys-libs/db ebuilds
inherit eutils multilib multiprocessing
IUSE="doc test examples"
EXPORT_FUNCTIONS src_test
DEPEND="test? ( >=dev-lang/tcl-8.4 )"
RDEPEND=""
db_fix_so() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
LIB="${EROOT}/usr/$(get_libdir)"
cd "${LIB}"
# first clean up old symlinks
find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*so' -exec rm \{} \;
find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*so.[23]' -exec rm \{} \;
find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*a' -exec rm \{} \;
# now rebuild all the correct ones
for ext in so a; do
for name in libdb libdb_{cxx,tcl,java,sql,stl}; do
target=`find . -maxdepth 1 -type f -name "${name}-*.${ext}" |sort -n |tail -n 1`
[ -n "${target}" ] && ln -sf ${target//.\//} ${name}.${ext}
done;
done;
# db[23] gets some extra-special stuff
if [ -f libdb1.so.2 ]; then
ln -sf libdb1.so.2 libdb.so.2
ln -sf libdb1.so.2 libdb1.so
ln -sf libdb1.so.2 libdb-1.so
fi
# what do we do if we ever get 3.3 ?
for i in libdb libdb_{cxx,tcl,java,sql,stl}; do
if [ -f $i-3.2.so ]; then
ln -sf $i-3.2.so $i-3.so
ln -sf $i-3.2.so $i.so.3
fi
done
# do the same for headers now
# but since there are only two of them, just overwrite them
cd "${EROOT}"/usr/include
target=`find . -maxdepth 1 -type d -name 'db[0-9]*' | sort -n |cut -d/ -f2- | tail -n1`
if [ -n "${target}" ] && [ -e "${target}/db.h" ] && ( ! [[ -e db.h ]] || [[ -h db.h ]] ); then
einfo "Creating db.h symlinks to ${target}"
ln -sf "${target}"/db.h .
ln -sf "${target}"/db_185.h .
elif [ ! -e "${target}/db.h" ]; then
if [ -n "${target}" ]; then
ewarn "Could not find ${target}/db.h"
elif [ -h db.h ]; then
einfo "Apparently you just removed the last instance of $PN. Removing the symlinks"
rm -f db.h db_185.h
fi
fi
}
db_src_install_doc() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
# not everybody wants this wad of documentation as it is primarily API docs
if use doc; then
dodir /usr/share/doc/${PF}/html
mv "${ED}"/usr/docs/* "${ED}"/usr/share/doc/${PF}/html/
rm -rf "${ED}"/usr/docs
else
rm -rf "${ED}"/usr/docs
fi
db_src_install_examples
}
db_src_install_examples() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
if use examples ; then
local langs="c cxx stl"
[[ "${IUSE/java}" != "${IUSE}" ]] \
&& use java \
&& langs="${langs} java"
for i in $langs ; do
destdir="/usr/share/doc/${PF}/"
src="${S}/../examples_${i}/"
if [ -f "${src}" ]; then
dodir "${destdir}"
cp -ra "${src}" "${ED}${destdir}/"
fi
done
fi
}
db_src_install_usrbinslot() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
# slot all program names to avoid overwriting
for fname in "${ED}"/usr/bin/db*
do
dn="$(dirname "${fname}")"
bn="$(basename "${fname}")"
bn="${bn/db/db${SLOT}}"
mv "${fname}" "${dn}/${bn}" || \
die "Failed to rename ${fname} to ${dn}/${bn}"
done
}
db_src_install_headerslot() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
# install all headers in a slotted location
dodir /usr/include/db${SLOT}
mv "${ED}"/usr/include/*.h "${ED}"/usr/include/db${SLOT}/
}
db_src_install_usrlibcleanup() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
LIB="${ED}/usr/$(get_libdir)"
# Clean out the symlinks so that they will not be recorded in the
# contents (bug #60732)
if [ "${ED}" = "" ]; then
die "Calling clean_links while \$ED not defined"
fi
if [ -e "${LIB}"/libdb.a ] && [ ! -e "${LIB}"/libdb-${SLOT}.a ]; then
einfo "Moving libdb.a to a versioned name"
mv "${LIB}/libdb.a" "${LIB}/libdb-${SLOT}.a"
fi
if [ -e "${LIB}"/libdb_cxx.a ] && [ ! -e "${LIB}"/libdb_cxx-${SLOT}.a ]; then
einfo "Moving libdb_cxx.a to a versioned name"
mv "${LIB}/libdb_cxx.a" "${LIB}/libdb_cxx-${SLOT}.a"
fi
find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*so' -exec rm \{} \;
find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*so.[23]' -exec rm \{} \;
einfo "removing unversioned static archives"
find "${LIB}" -maxdepth 1 -type l -name 'libdb[1._-]*a' -exec rm \{} \;
rm -f \
"${ED}"/usr/include/{db,db_185}.h \
"${LIB}"/libdb{,_{cxx,sql,stl,java,tcl}}.a
}
db_src_test() {
if [[ $UID -eq 0 ]]; then
M="You must run the testsuite as non-root, skipping"
ewarn "${M}"
elog "${M}"
return 0
fi
if use tcl; then
einfo "Running sys-libs/db testsuite"
ewarn "This can take 6+ hours on modern machines"
# Fix stuff that fails with relative paths, and upstream moving files
# around...
local test_parallel=''
for t in \
"${S}"/test/parallel.tcl \
"${S}"/../test/parallel.tcl \
"${S}"/test/tcl/parallel.tcl \
"${S}"/../test/tcl/parallel.tcl \
; do
[[ -f "${t}" ]] && test_parallel="${t}" && break
done
sed -ri \
-e '/regsub .test_path ./s,(regsub),#\1,g' \
-e '/regsub .src_root ./s,(regsub),#\1,g' \
-e '/regsub .tcl_utils ./s,(regsub),#\1,g' \
"${test_parallel}"
cd "${S}"
for t in \
../test/test.tcl \
../test/tcl/test.tcl \
; do
[[ -f "${t}" ]] && testbase="${t}" && break
done
echo "source ${t}" > testrunner.tcl
echo "run_parallel $(makeopts_jobs) run_std" >> testrunner.tcl
tclsh testrunner.tcl
egrep -qs '^FAIL' ALL.OUT* && die "Some tests failed, please see ${S}/ALL.OUT*"
else
eerror "You must have USE=tcl to run the sys-libs/db testsuite."
fi
}

View File

@ -1,39 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: fdo-mime.eclass
# @MAINTAINER:
# freedesktop-bugs@gentoo.org
# @AUTHOR:
# Original author: foser <foser@gentoo.org>
# @BLURB: Utility eclass to update the desktop mime info as laid out in the freedesktop specs & implementations
# @DESCRIPTION:
# This eclass is DEPRECATED. Please use xdg-utils or xdg instead.
# @FUNCTION: fdo-mime_desktop_database_update
# @DESCRIPTION:
# Updates the desktop database.
# Generates a list of mimetypes linked to applications that can handle them
fdo-mime_desktop_database_update() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
if [ -x "${EPREFIX}/usr/bin/update-desktop-database" ]
then
einfo "Updating desktop mime database ..."
"${EPREFIX}/usr/bin/update-desktop-database" -q "${EROOT}usr/share/applications"
fi
}
# @FUNCTION: fdo-mime_mime_database_update
# @DESCRIPTION:
# Update the mime database.
# Creates a general list of mime types from several sources
fdo-mime_mime_database_update() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
if [ -x "${EPREFIX}/usr/bin/update-mime-database" ]
then
einfo "Updating shared mime info database ..."
"${EPREFIX}/usr/bin/update-mime-database" "${EROOT}usr/share/mime"
fi
}

View File

@ -1,31 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: kodi-addon.eclass
# @MAINTAINER:
# candrews@gentoo.org
# @SUPPORTED_EAPIS: 4 5 6
# @BLURB: Helper for correct building and (importantly) installing Kodi addon packages.
# @DESCRIPTION:
# Provides a src_configure function for correct CMake configuration
inherit multilib cmake-utils
case "${EAPI:-0}" in
4|5|6)
EXPORT_FUNCTIONS src_configure
;;
*) die "EAPI=${EAPI} is not supported" ;;
esac
# @FUNCTION: kodi-addon_src_configure
# @DESCRIPTION:
# Configure handling for Kodi addons
kodi-addon_src_configure() {
mycmakeargs+=(
-DCMAKE_INSTALL_LIBDIR=$(get_libdir)/kodi
)
cmake-utils_src_configure
}

View File

@ -1,61 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: mate-desktop.org.eclass
# @MAINTAINER:
# mate@gentoo.org
# @AUTHOR:
# Authors: NP-Hardass <NP-Hardass@gentoo.org> based upon the gnome.org eclass.
# @SUPPORTED_EAPIS: 6
# @BLURB: Helper eclass for mate-desktop.org hosted archives
# @DESCRIPTION:
# Provide a default SRC_URI and EGIT_REPO_URI for MATE packages as well as
# exporting some useful values like the MATE_BRANCH
# EAPIs < 6 are banned.
case "${EAPI:-0}" in
6) ;;
*) die "EAPI=${EAPI:-0} is not supported" ;;
esac
if [[ ${PV} == 9999 ]]; then
inherit git-r3
fi
inherit versionator
# @ECLASS-VARIABLE: MATE_TARBALL_SUFFIX
# @INTERNAL
# @DESCRIPTION:
# All projects hosted on mate-desktop.org provide tarballs as tar.xz.
# Undefined in live ebuilds.
[[ ${PV} != 9999 ]] && : ${MATE_TARBALL_SUFFIX:="xz"}
# @ECLASS-VARIABLE: MATE_DESKTOP_ORG_PN
# @DESCRIPTION:
# Name of the package as hosted on mate-desktop.org.
# Leave unset if package name matches PN.
: ${MATE_DESKTOP_ORG_PN:=$PN}
# @ECLASS-VARIABLE: MATE_DESKTOP_ORG_PV
# @DESCRIPTION:
# Package version string as listed on mate-desktop.org.
# Leave unset if package version string matches PV.
: ${MATE_DESKTOP_ORG_PV:=$PV}
# @ECLASS-VARIABLE: MATE_BRANCH
# @DESCRIPTION:
# Major and minor numbers of the version number, unless live.
# If live ebuild, will be set to '9999'.
: ${MATE_BRANCH:=$(get_version_component_range 1-2)}
# Set SRC_URI or EGIT_REPO_URI based on whether live
if [[ ${PV} == 9999 ]]; then
EGIT_REPO_URI="https://github.com/mate-desktop/${MATE_DESKTOP_ORG_PN}.git"
SRC_URI=""
else
SRC_URI="https://pub.mate-desktop.org/releases/${MATE_BRANCH}/${MATE_DESKTOP_ORG_PN}-${MATE_DESKTOP_ORG_PV}.tar.${MATE_TARBALL_SUFFIX}"
fi
# Set HOMEPAGE for all ebuilds
HOMEPAGE="https://mate-desktop.org"

View File

@ -8,7 +8,7 @@
# Seemant Kulleen <seemant@gentoo.org>
# Andreas K. Huettel <dilfridge@gentoo.org>
# Kent Fredric <kentnl@gentoo.org>
# @SUPPORTED_EAPIS: 5 6 7
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: helper functions eclass for perl modules
# @DESCRIPTION:
# The perl-functions eclass is designed to allow easier installation of perl
@ -19,7 +19,7 @@
[[ ${CATEGORY} == "perl-core" ]] && inherit alternatives
case "${EAPI:-0}" in
5|6|7)
5|6|7|8)
;;
*)
die "EAPI=${EAPI} is not supported by perl-functions.eclass"
@ -127,6 +127,17 @@ perl_delete_emptybsdir() {
fi
}
# @FUNCTION: perl_fix_permissions
# @DESCRIPTION:
# Make all of ${D} user-writable, since EU::MM does silly things with
# the w bit. See bug 554346.
perl_fix_permissions() {
debug-print-function $FUNCNAME "$@"
perl_set_version
einfo Fixing installed file permissions
fperms -R u+w /
}
# @FUNCTION: perl_fix_packlist
# @DESCRIPTION:
# Look through ${D} for .packlist text files containing the temporary installation
@ -586,3 +597,31 @@ perl_domodule() {
insinto "/${target#/}"
doins "${doins_opts[@]}" "${files[@]}"
}
# @FUNCTION: perl_get_wikiurl
# @DESCRIPTION:
# Convenience helper for returning the Gentoo Wiki maintenance page URL of a
# package. Optionally a suffix can be passed for an in-page anchor.
#
# Example:
# @CODE
# my_url="$(perl_get_wikiurl Testing)"
# @CODE
perl_get_wikiurl() {
debug-print-function $FUNCNAME "$@"
if [[ -z "${1}" ]]; then
echo "https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/${CATEGORY}/${PN}"
else
echo "https://wiki.gentoo.org/wiki/Project:Perl/maint-notes/${CATEGORY}/${PN}#${1}"
fi
}
perl_get_wikiurl_features() {
perl_get_wikiurl Optional_Features
}
perl_get_wikiurl_tests() {
perl_get_wikiurl Testing
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2019 Gentoo Authors
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: perl-module.eclass
@ -7,7 +7,8 @@
# @AUTHOR:
# Seemant Kulleen <seemant@gentoo.org>
# Andreas K. Hüttel <dilfridge@gentoo.org>
# @SUPPORTED_EAPIS: 5 6 7
# @SUPPORTED_EAPIS: 5 6 7 8
# @PROVIDES: perl-functions
# @BLURB: eclass for installing Perl module distributions
# @DESCRIPTION:
# The perl-module eclass is designed to allow easier installation of Perl
@ -27,6 +28,10 @@ case ${EAPI:-0} in
inherit multiprocessing perl-functions
PERL_EXPF="src_prepare src_configure src_compile src_test src_install"
;;
8)
inherit multiprocessing perl-functions readme.gentoo-r1
PERL_EXPF="src_prepare src_configure src_compile src_test src_install"
;;
*)
die "EAPI=${EAPI} is not supported by perl-module.eclass"
;;
@ -39,7 +44,9 @@ esac
# dev-lang/perl is automatically added by the eclass. It defaults to yes.
# Set to no to disable, set to noslotop to add a perl dependency without
# slot operator (EAPI=6). All packages installing into the vendor_perl
# path must use yes here.
# path must use yes here. (EAPI=8 and later) Also adds a test useflag,
# a use-conditional build time dependency on virtual/perl-Test-Simple, and
# the required RESTRICT setting.
case ${EAPI:-0} in
5)
@ -127,7 +134,34 @@ case ${EAPI:-0} in
EXPORT_FUNCTIONS ${PERL_EXPF}
;;
*)
die "EAPI=${EAPI:-0} is not supported by perl-module.eclass"
[[ ${CATEGORY} == perl-core ]] && \
PERL_EXPF+=" pkg_postinst pkg_postrm"
case "${GENTOO_DEPEND_ON_PERL:-yes}" in
yes|noslotop)
DEPEND="dev-lang/perl"
BDEPEND="dev-lang/perl
test? ( virtual/perl-Test-Simple )"
IUSE="test"
RESTRICT="!test? ( test )"
;;&
yes)
RDEPEND="dev-lang/perl:="
;;
noslotop)
RDEPEND="dev-lang/perl"
;;
esac
if [[ "${GENTOO_DEPEND_ON_PERL_SUBSLOT:-yes}" != "yes" ]]; then
die "GENTOO_DEPEND_ON_PERL_SUBSLOT=no is banned in EAPI=6 and later."
fi
if [[ "${PERL_EXPORT_PHASE_FUNCTIONS}" ]]; then
die "PERL_EXPORT_PHASE_FUNCTIONS is banned in EAPI=6 and later."
fi
EXPORT_FUNCTIONS ${PERL_EXPF}
;;
esac
@ -172,6 +206,7 @@ LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
# Named MODULE_SECTION in EAPI=5.
# @ECLASS-VARIABLE: DIST_EXAMPLES
# @PRE_INHERIT
# @DEFAULT_UNSET
# @DESCRIPTION:
# (EAPI=6 and later) This Bash array allows passing a list of example files to be installed
@ -179,6 +214,25 @@ LICENSE="${LICENSE:-|| ( Artistic GPL-1+ )}"
# a use-flag examples, if not you'll have to add the useflag in your ebuild.
# Examples are installed only if the useflag examples exists and is activated.
# @ECLASS-VARIABLE: DIST_WIKI
# @DEFAULT_UNSET
# @DESCRIPTION:
# (EAPI=8 and later) This variable can be set to contain space-separated keywords
# corresponding to article sections in a maintenance notes wiki article. If a
# keyword is set, an ebuild phase can output a message and a link to the wiki.
# Current keywords as of EAPI=8 are:
# * features: Notes about additional dependencies for optional features
# * tests: Notes about additional dependencies and preparations needed for testing
# @ECLASS-VARIABLE: DIST_MAKE
# @DESCRIPTION:
# (EAPI=8 and later) This Bash array contains parameters to the make call
# from ExtUtils::MakeMaker. Replaces mymake in EAPI=7 and earlier.
# Defaults to ( OPTIMIZE="${CFLAGS}" )
if [[ $(declare -p DIST_MAKE 2>&-) != "declare -a DIST_MAKE="* ]]; then
DIST_MAKE=( OPTIMIZE="${CFLAGS}" )
fi
if [[ ${EAPI:-0} == 5 ]]; then
if [[ -n ${MY_PN} || -n ${MY_PV} || -n ${MODULE_VERSION} ]] ; then
@ -275,19 +329,38 @@ perl-module_src_configure() {
fi
if [[ ( ${PREFER_BUILDPL} == yes || ! -f Makefile.PL ) && -f Build.PL ]] ; then
if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then
einfo "Using Module::Build::Tiny"
if [[ ${DEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then
eerror "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it."
die " Add dev-perl/Module-Build-Tiny to DEPEND!"
fi
else
einfo "Using Module::Build"
if [[ ${DEPEND} != *virtual/perl-Module-Build* && ${DEPEND} != *dev-perl/Module-Build* && ${PN} != Module-Build ]] ; then
eerror "QA Notice: The ebuild uses Module::Build but doesn't depend on it."
die " Add dev-perl/Module-Build to DEPEND!"
fi
fi
case ${EAPI:-0} in
5|6)
if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then
einfo "Using Module::Build::Tiny"
if [[ ${DEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then
eerror "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it."
die " Add dev-perl/Module-Build-Tiny to DEPEND!"
fi
else
einfo "Using Module::Build"
if [[ ${DEPEND} != *virtual/perl-Module-Build* && ${DEPEND} != *dev-perl/Module-Build* && ${PN} != Module-Build ]] ; then
eerror "QA Notice: The ebuild uses Module::Build but doesn't depend on it."
die " Add dev-perl/Module-Build to DEPEND!"
fi
fi
;;
*)
if grep -q '\(use\|require\)\s*Module::Build::Tiny' Build.PL ; then
einfo "Using Module::Build::Tiny"
if [[ ${BDEPEND} != *dev-perl/Module-Build-Tiny* && ${PN} != Module-Build-Tiny ]]; then
eerror "QA Notice: The ebuild uses Module::Build::Tiny but doesn't depend on it."
eerror " Add dev-perl/Module-Build-Tiny to BDEPEND!"
fi
else
einfo "Using Module::Build"
if [[ ${BDEPEND} != *virtual/perl-Module-Build* && ${BDEPEND} != *dev-perl/Module-Build* && ${PN} != Module-Build ]] ; then
eerror "QA Notice: The ebuild uses Module::Build but doesn't depend on it."
eerror " Add dev-perl/Module-Build to BDEPEND!"
fi
fi
;;
esac
set -- \
--installdirs=vendor \
--libdoc= \
@ -323,11 +396,18 @@ perl-module_src_compile() {
debug-print-function $FUNCNAME "$@"
perl_set_version
if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then
local mymake_local=(${mymake})
else
local mymake_local=("${mymake[@]}")
fi
case ${EAPI} in
5|6|7)
if [[ $(declare -p mymake 2>&-) != "declare -a mymake="* ]]; then
local mymake_local=(${mymake})
else
local mymake_local=("${mymake[@]}")
fi
;;
*)
local mymake_local=("${DIST_MAKE[@]}")
;;
esac
if [[ -f Build ]] ; then
./Build build \
@ -358,6 +438,7 @@ perl-module_src_compile() {
# network : do not try to disable network tests
# @ECLASS-VARIABLE: DIST_TEST_OVERRIDE
# @USER_VARIABLE
# @DEFAULT_UNSET
# @DESCRIPTION:
# (EAPI=6 and later) Variable that controls if tests are run in the test phase
@ -375,7 +456,7 @@ perl-module_src_test() {
local my_test_control
local my_test_verbose
if [[ ${EAPI:-0} == 5 ]] ; then
if [[ ${EAPI} == 5 ]] ; then
my_test_control=${SRC_TEST}
my_test_verbose=${TEST_VERBOSE:-0}
if has 'do' ${my_test_control} || has 'parallel' ${my_test_control} ; then
@ -413,6 +494,18 @@ perl-module_src_test() {
fi
fi
case ${EAPI} in
5|6|7)
;;
*)
if has 'tests' ${DIST_WIKI} ; then
ewarn "This package may require additional dependencies and/or preparation steps for"
ewarn "comprehensive testing. For details, see:"
ewarn "$(perl_get_wikiurl_tests)"
fi
;;
esac
perl_set_version
if [[ -f Build ]] ; then
./Build test verbose=${my_test_verbose} || die "test failed"
@ -452,9 +545,17 @@ perl-module_src_install() {
|| die "emake ${myinst_local[@]} ${mytargets} failed"
fi
case ${EAPI} in
5|6|7)
;;
*)
perl_fix_permissions
;;
esac
perl_delete_module_manpages
perl_delete_localpod
if [[ ${EAPI:-0} == 5 ]] ; then
if [[ ${EAPI} == 5 ]] ; then
perl_delete_packlist
else
perl_fix_packlist
@ -466,13 +567,29 @@ perl-module_src_install() {
[[ -s ${f} ]] && dodoc ${f}
done
if [[ ${EAPI:-0} != 5 ]] ; then
if [[ ${EAPI} != 5 ]] ; then
if in_iuse examples && use examples ; then
[[ ${#DIST_EXAMPLES[@]} -eq 0 ]] || perl_doexamples "${DIST_EXAMPLES[@]}"
fi
fi
perl_link_duallife_scripts
case ${EAPI} in
5|6|7)
;;
*)
if has 'features' ${DIST_WIKI} ; then
DISABLE_AUTOFORMATTING=yes
DOC_CONTENTS="This package may require additional dependencies and/or preparation steps for\n"
DOC_CONTENTS+="some optional features. For details, see\n"
DOC_CONTENTS+="$(perl_get_wikiurl_features)"
einfo
readme.gentoo_create_doc
readme.gentoo_print_elog
fi
;;
esac
}
# @FUNCTION: perl-module_pkg_postinst

View File

@ -1,176 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
inherit multibuild postgres
EXPORT_FUNCTIONS pkg_setup src_prepare src_compile src_install src_test
# @ECLASS: postgres-multi.eclass
# @MAINTAINER:
# PostgreSQL <pgsql-bugs@gentoo.org>
# @AUTHOR: Aaron W. Swenson <titanofold@gentoo.org>
# @SUPPORTED_EAPIS: 5 6
# @BLURB: An eclass to build PostgreSQL-related packages against multiple slots
# @DESCRIPTION:
# postgres-multi enables ebuilds, particularly PostgreSQL extensions, to
# build and install for one or more PostgreSQL slots as specified by
# POSTGRES_TARGETS use flags.
case ${EAPI:-0} in
5|6) ;;
*) die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}" ;;
esac
# @ECLASS-VARIABLE: POSTGRES_COMPAT
# @REQUIRED
# @DESCRIPTION:
# A Bash array containing a list of compatible PostgreSQL slots as
# defined by the developer. Must be declared before inheriting this
# eclass. Example:
#@CODE
#POSTGRES_COMPAT=( 9.2 9.3 9.4 9.5 9.6 10 )
#POSTGRES_COMPAT=( 9.{2,3} 9.{4..6} 10 ) # Same as previous
#@CODE
if ! declare -p POSTGRES_COMPAT &>/dev/null; then
die 'Required variable POSTGRES_COMPAT not declared.'
fi
# @ECLASS-VARIABLE: _POSTGRES_INTERSECT_SLOTS
# @INTERNAL
# @DESCRIPTION:
# A Bash array containing the intersect of POSTGRES_TARGETS and
# POSTGRES_COMPAT.
export _POSTGRES_INTERSECT_SLOTS=( )
# @FUNCTION: _postgres-multi_multibuild_wrapper
# @USAGE: <command> [arg ...]
# @INTERNAL
# @DESCRIPTION:
# For the given variant, set the values of the PG_SLOT, PG_CONFIG, and
# PKG_CONFIG_PATH environment variables accordingly and replace any
# appearance of @PG_SLOT@ in the command and arguments with value of
# ${PG_SLOT}.
_postgres-multi_multibuild_wrapper() {
debug-print-function ${FUNCNAME} "${@}"
export PG_SLOT=${MULTIBUILD_VARIANT}
export PG_CONFIG=$(which pg_config${MULTIBUILD_VARIANT//./})
if [[ -n ${PKG_CONFIG_PATH} ]] ; then
PKG_CONFIG_PATH="$(${PG_CONFIG} --libdir)/pkgconfig:${PKG_CONFIG_PATH}"
else
PKG_CONFIG_PATH="$(${PG_CONFIG} --libdir)/pkgconfig"
fi
export PKG_CONFIG_PATH
$(echo "${@}" | sed "s/@PG_SLOT@/${PG_SLOT}/g")
}
# @FUNCTION: postgres-multi_foreach
# @USAGE: <command> [arg ...]
# @DESCRIPTION:
# Run the given command in the package's build directory for each
# PostgreSQL slot in the intersect of POSTGRES_TARGETS and
# POSTGRES_COMPAT. The PG_CONFIG and PKG_CONFIG_PATH environment
# variables are updated on each iteration to point to the matching
# pg_config command and pkg-config metadata files, respectively, for the
# current slot. Any appearance of @PG_SLOT@ in the command or arguments
# will be substituted with the slot (e.g., 9.5) of the current
# iteration.
postgres-multi_foreach() {
local MULTIBUILD_VARIANTS=("${_POSTGRES_INTERSECT_SLOTS[@]}")
multibuild_foreach_variant \
_postgres-multi_multibuild_wrapper run_in_build_dir ${@}
}
# @FUNCTION: postgres-multi_forbest
# @USAGE: <command> [arg ...]
# @DESCRIPTION:
# Run the given command in the package's build directory for the highest
# slot in the intersect of POSTGRES_COMPAT and POSTGRES_TARGETS. The
# PG_CONFIG and PKG_CONFIG_PATH environment variables are set to the
# matching pg_config command and pkg-config metadata files,
# respectively. Any appearance of @PG_SLOT@ in the command or arguments
# will be substituted with the matching slot (e.g., 9.5).
postgres-multi_forbest() {
# POSTGRES_COMPAT is reverse sorted once in postgres.eclass so
# element 0 has the highest slot version.
local MULTIBUILD_VARIANTS=("${_POSTGRES_INTERSECT_SLOTS[0]}")
multibuild_foreach_variant \
_postgres-multi_multibuild_wrapper run_in_build_dir ${@}
}
# @FUNCTION: postgres-multi_pkg_setup
# @DESCRIPTION:
# Initialize internal environment variable(s). This is required if
# pkg_setup() is declared in the ebuild.
postgres-multi_pkg_setup() {
local user_slot
# _POSTGRES_COMPAT is created in postgres.eclass
for user_slot in "${_POSTGRES_COMPAT[@]}"; do
use "postgres_targets_postgres${user_slot/\./_}" && \
_POSTGRES_INTERSECT_SLOTS+=( "${user_slot}" )
done
if [[ "${#_POSTGRES_INTERSECT_SLOTS[@]}" -eq "0" ]]; then
die "One of the postgres_targets_postgresSL_OT use flags must be enabled"
fi
einfo "Multibuild variants: ${_POSTGRES_INTERSECT_SLOTS[@]}"
}
# @FUNCTION: postgres-multi_src_prepare
# @DESCRIPTION:
# Calls eapply_user then copies ${S} into a build directory for each
# intersect of POSTGRES_TARGETS and POSTGRES_COMPAT.
postgres-multi_src_prepare() {
if [[ "${#_POSTGRES_INTERSECT_SLOTS[@]}" -eq "0" ]]; then
eerror "Internal array _POSTGRES_INTERSECT_SLOTS is empty."
die "Did you forget to call postgres-multi_pkg_setup?"
fi
# Check that the slot has been emerged (Should be prevented by
# Portage, but won't be caught by /usr/bin/ebuild)
local slot
for slot in ${_POSTGRES_INTERSECT_SLOTS[@]} ; do
if [[ -z $(which pg_config${slot/.} 2> /dev/null) ]] ; then
eerror
eerror "postgres_targets_postgres${slot/.} use flag is enabled, but hasn't been emerged."
eerror
die "a postgres_targets use flag is enabled, but not emerged"
fi
done
case ${EAPI:-0} in
0|1|2|3|4|5) epatch_user ;;
6) eapply_user ;;
esac
local MULTIBUILD_VARIANT
local MULTIBUILD_VARIANTS=("${_POSTGRES_INTERSECT_SLOTS[@]}")
multibuild_copy_sources
}
# @FUNCTION: postgres-multi_src_compile
# @DESCRIPTION:
# Runs `emake' in each build directory
postgres-multi_src_compile() {
postgres-multi_foreach emake
}
# @FUNCTION: postgres-multi_src_install
# @DESCRIPTION:
# Runs `emake install DESTDIR="${D}"' in each build directory.
postgres-multi_src_install() {
postgres-multi_foreach emake install DESTDIR="${D}"
}
# @FUNCTION: postgres-multi_src_test
# @DESCRIPTION:
# Runs `emake installcheck' in each build directory.
postgres-multi_src_test() {
postgres-multi_foreach emake installcheck
}

View File

@ -1,16 +1,25 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: prefix.eclass
# @MAINTAINER:
# Feel free to contact the Prefix team through <prefix@gentoo.org> if
# you have problems, suggestions or questions.
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: Eclass to provide Prefix functionality
# @DESCRIPTION:
# Gentoo Prefix allows users to install into a self defined offset
# located somewhere in the filesystem. Prefix ebuilds require
# additional functions and variables which are defined by this eclass.
case ${EAPI:-0} in
[5678]) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_PREFIX_ECLASS} ]]; then
_PREFIX_ECLASS=1
# @ECLASS-VARIABLE: EPREFIX
# @DESCRIPTION:
# The offset prefix of a Gentoo Prefix installation. When Gentoo Prefix
@ -111,7 +120,7 @@ hprefixify() {
}
# @FUNCTION: prefixify_ro
# @USAGE: prefixify_ro <file>.
# @USAGE: <file>
# @DESCRIPTION:
# prefixify a read-only file.
# copies the files to ${T}, prefixies it, echos the new file.
@ -136,3 +145,5 @@ prefixify_ro() {
fi
}
# vim: tw=72:
fi

View File

@ -1,4 +1,4 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: readme.gentoo-r1.eclass
@ -6,7 +6,7 @@
# Pacho Ramos <pacho@gentoo.org>
# @AUTHOR:
# Author: Pacho Ramos <pacho@gentoo.org>
# @SUPPORTED_EAPIS: 4 5 6 7
# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: install a doc file shown via elog messages
# @DESCRIPTION:
# An eclass for installing a README.gentoo doc file recording tips
@ -20,17 +20,16 @@
if [[ -z ${_README_GENTOO_ECLASS} ]]; then
_README_GENTOO_ECLASS=1
case "${EAPI:-0}" in
0|1|2|3)
die "Unsupported EAPI=${EAPI:-0} (too old) for ${ECLASS}"
;;
4|5|6|7)
;;
*)
die "Unsupported EAPI=${EAPI} (unknown) for ${ECLASS}"
;;
case ${EAPI} in
6|7|8) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
# @ECLASS-VARIABLE: DOC_CONTENTS
# @DEFAULT_UNSET
# @DESCRIPTION:
# The information that is used to create the README.gentoo file.
# @ECLASS-VARIABLE: DISABLE_AUTOFORMATTING
# @DEFAULT_UNSET
# @DESCRIPTION:
@ -76,7 +75,10 @@ readme.gentoo_create_doc() {
die "You are not specifying README.gentoo contents!"
fi
dodoc "${T}"/README.gentoo
( # subshell to avoid pollution of calling environment
docinto .
dodoc "${T}"/README.gentoo
) || die
README_GENTOO_DOC_VALUE=$(< "${T}/README.gentoo")
}

View File

@ -1,103 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: sgml-catalog.eclass
# @MAINTAINER:
# No maintainer <maintainer-needed@gentoo.org>
# @AUTHOR:
# Author Matthew Turk <satai@gentoo.org>
# @BLURB: Functions for installing SGML catalogs
case ${EAPI:-0} in
0|1|2|3|4|5) inherit base ;;
*) ;;
esac
DEPEND=">=app-text/sgml-common-0.6.3-r2"
# @ECLASS-VARIABLE: SGML_TOINSTALL
# @DESCRIPTION:
# An array of catalogs, arranged in pairs.
# Each pair consists of a centralized catalog followed by an ordinary catalog.
SGML_TOINSTALL=()
# @FUNCTION: sgml-catalog_cat_include
# @USAGE: <centralized catalog> <ordinary catalog>
# @DESCRIPTION:
# Appends a catalog pair to the SGML_TOINSTALL array.
sgml-catalog_cat_include() {
debug-print function $FUNCNAME $*
SGML_TOINSTALL+=("$1" "$2")
}
# @FUNCTION: sgml-catalog_cat_doinstall
# @USAGE: <centralized catalog> <ordinary catalog>
# @DESCRIPTION:
# Adds an ordinary catalog to a centralized catalog.
sgml-catalog_cat_doinstall() {
debug-print function $FUNCNAME $*
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
"${EPREFIX}"/usr/bin/install-catalog --add "${EPREFIX}$1" "${EPREFIX}$2" &>/dev/null
}
# @FUNCTION: sgml-catalog_cat_doremove
# @USAGE: <centralized catalog> <ordinary catalog>
# @DESCRIPTION:
# Removes an ordinary catalog from a centralized catalog.
sgml-catalog_cat_doremove() {
debug-print function $FUNCNAME $*
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
"${EPREFIX}"/usr/bin/install-catalog --remove "${EPREFIX}$1" "${EPREFIX}$2" &>/dev/null
}
sgml-catalog_pkg_postinst() {
debug-print function $FUNCNAME $*
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
set -- "${SGML_TOINSTALL[@]}"
while (( $# )); do
if [[ ! -e "${EPREFIX}$2" ]]; then
ewarn "${EPREFIX}$2 doesn't appear to exist, although it ought to!"
shift 2
continue
fi
einfo "Now adding ${EPREFIX}$2 to ${EPREFIX}$1 and ${EPREFIX}/etc/sgml/catalog"
sgml-catalog_cat_doinstall "$1" "$2"
shift 2
done
sgml-catalog_cleanup
}
sgml-catalog_pkg_prerm() {
sgml-catalog_cleanup
}
sgml-catalog_pkg_postrm() {
debug-print function $FUNCNAME $*
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
set -- "${SGML_TOINSTALL[@]}"
while (( $# )); do
einfo "Now removing ${EPREFIX}$2 from ${EPREFIX}$1 and ${EPREFIX}/etc/sgml/catalog"
sgml-catalog_cat_doremove "$1" "$2"
shift 2
done
}
sgml-catalog_cleanup() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=
if [ -e "${EPREFIX}/usr/bin/gensgmlenv" ]
then
einfo Regenerating SGML environment variables ...
gensgmlenv
grep -v export "${EPREFIX}/etc/sgml/sgml.env" > "${EPREFIX}/etc/env.d/93sgmltools-lite"
fi
}
sgml-catalog_src_compile() {
return
}
EXPORT_FUNCTIONS pkg_postrm pkg_postinst src_compile pkg_prerm

View File

@ -1,11 +1,12 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: ssl-cert.eclass
# @MAINTAINER:
# maintainer-needed@gentoo.org
# @AUTHOR:
# Max Kalika <max@gentoo.org>
# @SUPPORTED_EAPIS: 1 2 3 4 5 6 7
# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Eclass for SSL certificates
# @DESCRIPTION:
# This eclass implements a standard installation procedure for installing
@ -13,43 +14,42 @@
# @EXAMPLE:
# "install_cert /foo/bar" installs ${ROOT}/foo/bar.{key,csr,crt,pem}
# Guard against unsupported EAPIs. We need EAPI >= 1 for slot dependencies.
case "${EAPI:-0}" in
0)
die "${ECLASS}.eclass: EAPI=0 is not supported. Please upgrade to EAPI >= 1."
;;
1|2|3|4|5|6|7)
;;
*)
die "${ECLASS}.eclass: EAPI=${EAPI} is not supported yet."
;;
case "${EAPI}" in
6|7|8) ;;
*) die "EAPI=${EAPI:-0} is not supported" ;;
esac
if [[ ! ${_SSL_CERT_ECLASS} ]]; then
_SSL_CERT_ECLASS=1
# @ECLASS-VARIABLE: SSL_CERT_MANDATORY
# @PRE_INHERIT
# @DESCRIPTION:
# Set to non zero if ssl-cert is mandatory for ebuild.
: ${SSL_CERT_MANDATORY:=0}
# @ECLASS-VARIABLE: SSL_CERT_USE
# @PRE_INHERIT
# @DESCRIPTION:
# Use flag to append dependency to.
: ${SSL_CERT_USE:=ssl}
# @ECLASS-VARIABLE: SSL_DEPS_SKIP
# @PRE_INHERIT
# @DESCRIPTION:
# Set to non zero to skip adding to DEPEND and IUSE.
: ${SSL_DEPS_SKIP:=0}
if [[ "${SSL_DEPS_SKIP}" == "0" ]]; then
if [[ "${SSL_CERT_MANDATORY}" == "0" ]]; then
SSL_DEPEND="${SSL_CERT_USE}? ( || ( dev-libs/openssl:0 dev-libs/libressl:0 ) )"
SSL_DEPEND="${SSL_CERT_USE}? ( dev-libs/openssl:0 )"
IUSE="${SSL_CERT_USE}"
else
SSL_DEPEND="|| ( dev-libs/openssl:0 dev-libs/libressl:0 )"
SSL_DEPEND="dev-libs/openssl:0"
fi
case "${EAPI}" in
1|2|3|4|5|6)
6)
DEPEND="${SSL_DEPEND}"
;;
*)
@ -61,12 +61,12 @@ if [[ "${SSL_DEPS_SKIP}" == "0" ]]; then
fi
# @FUNCTION: gen_cnf
# @INTERNAL
# @USAGE:
# @DESCRIPTION:
# Initializes variables and generates the needed
# OpenSSL configuration file and a CA serial file
#
# Access: private
gen_cnf() {
# Location of the config file
SSL_CONF="${T}/${$}ssl.cnf"
@ -113,13 +113,13 @@ gen_cnf() {
}
# @FUNCTION: get_base
# @INTERNAL
# @USAGE: [if_ca]
# @RETURN: <base path>
# @DESCRIPTION:
# Simple function to determine whether we're creating
# a CA (which should only be done once) or final part
#
# Access: private
get_base() {
if [ "${1}" ] ; then
echo "${T}/${$}ca"
@ -129,32 +129,28 @@ get_base() {
}
# @FUNCTION: gen_key
# @INTERNAL
# @USAGE: <base path>
# @DESCRIPTION:
# Generates an RSA key
#
# Access: private
gen_key() {
local base=$(get_base "$1")
ebegin "Generating ${SSL_BITS} bit RSA key${1:+ for CA}"
if openssl version | grep -i libressl > /dev/null; then
openssl genrsa -out "${base}.key" "${SSL_BITS}" &> /dev/null
else
openssl genrsa -rand "${SSL_RANDOM}" \
-out "${base}.key" "${SSL_BITS}" &> /dev/null
fi
eend $?
return $?
}
# @FUNCTION: gen_csr
# @INTERNAL
# @USAGE: <base path>
# @DESCRIPTION:
# Generates a certificate signing request using
# the key made by gen_key()
#
# Access: private
gen_csr() {
local base=$(get_base "$1")
ebegin "Generating Certificate Signing Request${1:+ for CA}"
@ -166,6 +162,7 @@ gen_csr() {
}
# @FUNCTION: gen_crt
# @INTERNAL
# @USAGE: <base path>
# @DESCRIPTION:
# Generates either a self-signed CA certificate using
@ -173,7 +170,6 @@ gen_csr() {
# a signed server certificate using the CA cert previously
# created by gen_crt()
#
# Access: private
gen_crt() {
local base=$(get_base "$1")
if [ "${1}" ] ; then
@ -196,12 +192,12 @@ gen_crt() {
}
# @FUNCTION: gen_pem
# @INTERNAL
# @USAGE: <base path>
# @DESCRIPTION:
# Generates a PEM file by concatinating the key
# and cert file created by gen_key() and gen_cert()
#
# Access: private
gen_pem() {
local base=$(get_base "$1")
ebegin "Generating PEM Certificate"
@ -220,7 +216,6 @@ gen_pem() {
#
# Example: "install_cert /foo/bar" installs ${ROOT}/foo/bar.{key,csr,crt,pem}
#
# Access: public
install_cert() {
if [ $# -lt 1 ] ; then
eerror "At least one argument needed"
@ -284,3 +279,5 @@ install_cert() {
ewarn "Some requested certificates were not generated"
fi
}
fi

View File

@ -1,4 +1,4 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: subversion.eclass
@ -6,37 +6,32 @@
# Akinori Hattori <hattya@gentoo.org>
# @AUTHOR:
# Original Author: Akinori Hattori <hattya@gentoo.org>
# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6
# @BLURB: The subversion eclass is written to fetch software sources from subversion repositories
# @SUPPORTED_EAPIS: 6 7 8
# @BLURB: Fetch software sources from subversion repositories
# @DESCRIPTION:
# The subversion eclass provides functions to fetch, patch and bootstrap
# software sources from subversion repositories.
inherit eutils
# The subversion eclass provides functions to fetch software sources
# from subversion repositories.
ESVN="${ECLASS}"
case "${EAPI:-0}" in
0|1)
EXPORT_FUNCTIONS src_unpack pkg_preinst
DEPEND="dev-vcs/subversion"
;;
2|3|4|5)
EXPORT_FUNCTIONS src_unpack src_prepare pkg_preinst
DEPEND="|| ( dev-vcs/subversion[http] dev-vcs/subversion[webdav-neon] dev-vcs/subversion[webdav-serf] )"
;;
6)
EXPORT_FUNCTIONS src_unpack pkg_preinst
DEPEND="|| ( dev-vcs/subversion[http] dev-vcs/subversion[webdav-neon] dev-vcs/subversion[webdav-serf] )"
;;
*)
die "EAPI ${EAPI} is not supported in subversion.eclass"
;;
case ${EAPI} in
6|7|8) inherit estack ;;
*) die "${ESVN}: EAPI ${EAPI:-0} is not supported" ;;
esac
DEPEND+=" net-misc/rsync"
PROPERTIES+=" live"
DEPEND="
dev-vcs/subversion[http(+)]
net-misc/rsync"
case ${EAPI} in
6) ;;
*) BDEPEND="${DEPEND}"; DEPEND="" ;;
esac
# @ECLASS-VARIABLE: ESVN_STORE_DIR
# @USER_VARIABLE
# @DESCRIPTION:
# subversion sources store directory. Users may override this in /etc/portage/make.conf
[[ -z ${ESVN_STORE_DIR} ]] && ESVN_STORE_DIR="${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}/svn-src"
@ -66,7 +61,7 @@ ESVN_OPTIONS="${ESVN_OPTIONS:-}"
# @DESCRIPTION:
# repository uri
#
# e.g. http://foo/trunk, svn://bar/trunk, svn://bar/branch/foo@1234
# e.g. http://example.org/trunk, svn://example.org/branch/foo@1234
#
# supported URI schemes:
# http://
@ -121,24 +116,6 @@ ESVN_PASSWORD="${ESVN_PASSWORD:-}"
# default: ${PN/-svn}.
ESVN_PROJECT="${ESVN_PROJECT:-${PN/-svn}}"
# @ECLASS-VARIABLE: ESVN_BOOTSTRAP
# @DESCRIPTION:
# Bootstrap script or command like autogen.sh or etc..
# Removed in EAPI 6 and later.
ESVN_BOOTSTRAP="${ESVN_BOOTSTRAP:-}"
# @ECLASS-VARIABLE: ESVN_PATCHES
# @DESCRIPTION:
# subversion eclass can apply patches in subversion_bootstrap().
# you can use regexp in this variable like *.diff or *.patch or etc.
# NOTE: patches will be applied before ESVN_BOOTSTRAP is processed.
#
# Patches are searched both in ${PWD} and ${FILESDIR}, if not found in either
# location, the installation dies.
#
# Removed in EAPI 6 and later, use PATCHES instead.
ESVN_PATCHES="${ESVN_PATCHES:-}"
# @ECLASS-VARIABLE: ESVN_RESTRICT
# @DESCRIPTION:
# this should be a space delimited list of subversion eclass features to
@ -148,6 +125,8 @@ ESVN_PATCHES="${ESVN_PATCHES:-}"
ESVN_RESTRICT="${ESVN_RESTRICT:-}"
# @ECLASS-VARIABLE: ESVN_OFFLINE
# @USER_VARIABLE
# @DEFAULT_UNSET
# @DESCRIPTION:
# Set this variable to a non-empty value to disable the automatic updating of
# an svn source tree. This is intended to be set outside the subversion source
@ -155,6 +134,7 @@ ESVN_RESTRICT="${ESVN_RESTRICT:-}"
ESVN_OFFLINE="${ESVN_OFFLINE:-${EVCS_OFFLINE}}"
# @ECLASS-VARIABLE: ESVN_UMASK
# @USER_VARIABLE
# @DESCRIPTION:
# Set this variable to a custom umask. This is intended to be set by users.
# By setting this to something like 002, it can make life easier for people
@ -165,6 +145,7 @@ ESVN_OFFLINE="${ESVN_OFFLINE:-${EVCS_OFFLINE}}"
ESVN_UMASK="${ESVN_UMASK:-${EVCS_UMASK}}"
# @ECLASS-VARIABLE: ESVN_UP_FREQ
# @USER_VARIABLE
# @DESCRIPTION:
# Set the minimum number of hours between svn up'ing in any given svn module. This is particularly
# useful for split KDE ebuilds where we want to ensure that all submodules are compiled for the same
@ -172,6 +153,7 @@ ESVN_UMASK="${ESVN_UMASK:-${EVCS_UMASK}}"
ESVN_UP_FREQ="${ESVN_UP_FREQ:=}"
# @ECLASS-VARIABLE: ESCM_LOGDIR
# @USER_VARIABLE
# @DESCRIPTION:
# User configuration variable. If set to a path such as e.g. /var/log/scm any
# package inheriting from subversion.eclass will record svn revision to
@ -362,50 +344,6 @@ subversion_fetch() {
echo
}
# @FUNCTION: subversion_bootstrap
# @DESCRIPTION:
# Apply patches in ${ESVN_PATCHES} and run ${ESVN_BOOTSTRAP} if specified.
# Removed in EAPI 6 and later.
subversion_bootstrap() {
[[ ${EAPI} == [012345] ]] || die "${FUNCNAME} is removed from subversion.eclass in EAPI 6 and later"
if has "export" ${ESVN_RESTRICT}; then
return
fi
cd "${S}"
if [[ -n ${ESVN_PATCHES} ]]; then
local patch fpatch
einfo "apply patches -->"
for patch in ${ESVN_PATCHES}; do
if [[ -f ${patch} ]]; then
epatch "${patch}"
else
for fpatch in ${FILESDIR}/${patch}; do
if [[ -f ${fpatch} ]]; then
epatch "${fpatch}"
else
die "${ESVN}: ${patch} not found"
fi
done
fi
done
echo
fi
if [[ -n ${ESVN_BOOTSTRAP} ]]; then
einfo "begin bootstrap -->"
if [[ -f ${ESVN_BOOTSTRAP} && -x ${ESVN_BOOTSTRAP} ]]; then
einfo " bootstrap with a file: ${ESVN_BOOTSTRAP}"
eval "./${ESVN_BOOTSTRAP}" || die "${ESVN}: can't execute ESVN_BOOTSTRAP."
else
einfo " bootstrap with command: ${ESVN_BOOTSTRAP}"
eval "${ESVN_BOOTSTRAP}" || die "${ESVN}: can't eval ESVN_BOOTSTRAP."
fi
fi
}
# @FUNCTION: subversion_wc_info
# @USAGE: [repo_uri]
# @RETURN: ESVN_WC_URL, ESVN_WC_ROOT, ESVN_WC_UUID, ESVN_WC_REVISION and ESVN_WC_PATH
@ -434,21 +372,9 @@ subversion_wc_info() {
# @FUNCTION: subversion_src_unpack
# @DESCRIPTION:
# Default src_unpack. Fetch and, in older EAPIs, bootstrap.
# Default src_unpack. Fetch.
subversion_src_unpack() {
subversion_fetch || die "${ESVN}: unknown problem occurred in subversion_fetch."
if has "${EAPI:-0}" 0 1; then
subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap."
fi
}
# @FUNCTION: subversion_src_prepare
# @DESCRIPTION:
# Default src_prepare. Bootstrap.
# Removed in EAPI 6 and later.
subversion_src_prepare() {
[[ ${EAPI} == [012345] ]] || die "${FUNCNAME} is removed from subversion.eclass in EAPI 6 and later"
subversion_bootstrap || die "${ESVN}: unknown problem occurred in subversion_bootstrap."
}
# @FUNCTION: subversion_pkg_preinst
@ -458,10 +384,9 @@ subversion_src_prepare() {
# want the logs to stick around if packages are uninstalled without messing with
# config protection.
subversion_pkg_preinst() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
local pkgdate=$(date "+%Y%m%d %H:%M:%S")
if [[ -n ${ESCM_LOGDIR} ]]; then
local dir="${EROOT}/${ESCM_LOGDIR}/${CATEGORY}"
local dir="${EROOT%/}${ESCM_LOGDIR}/${CATEGORY}"
if [[ ! -d ${dir} ]]; then
mkdir -p "${dir}" || eerror "Failed to create '${dir}' for logging svn revision"
fi
@ -538,3 +463,5 @@ subversion__get_peg_revision() {
echo "${peg_rev}"
}
EXPORT_FUNCTIONS src_unpack pkg_preinst

View File

@ -1,9 +1,10 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: unpacker.eclass
# @MAINTAINER:
# base-system@gentoo.org
# @SUPPORTED_EAPIS: 5 6 7 8
# @BLURB: helpers for extraneous file formats and consistent behavior across EAPIs
# @DESCRIPTION:
# Some extraneous file formats are not part of PMS, or are only in certain
@ -14,10 +15,18 @@
# - merge rpm unpacking
# - support partial unpacks?
case ${EAPI:-0} in
[5678]) ;;
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
if [[ -z ${_UNPACKER_ECLASS} ]]; then
_UNPACKER_ECLASS=1
inherit toolchain-funcs
# @ECLASS-VARIABLE: UNPACKER_BZ2
# @USER_VARIABLE
# @DEFAULT_UNSET
# @DESCRIPTION:
# Utility to use to decompress bzip2 files. Will dynamically pick between
@ -25,6 +34,7 @@ _UNPACKER_ECLASS=1
# Note: this is meant for users to set, not ebuilds.
# @ECLASS-VARIABLE: UNPACKER_LZIP
# @USER_VARIABLE
# @DEFAULT_UNSET
# @DESCRIPTION:
# Utility to use to decompress lzip files. Will dynamically pick between
@ -279,7 +289,7 @@ unpack_deb() {
done
} < "${deb}"
else
ar x "${deb}"
$(tc-getBUILD_AR) x "${deb}" || die
fi
unpacker ./data.tar*
@ -325,6 +335,47 @@ unpack_zip() {
[[ $? -le 1 ]] || die "unpacking ${zip} failed (arch=unpack_zip)"
}
# @FUNCTION: unpack_7z
# @USAGE: <7z file>
# @DESCRIPTION:
# Unpack 7z archives.
unpack_7z() {
[[ $# -eq 1 ]] || die "Usage: ${FUNCNAME} <file>"
local p7z=$(find_unpackable_file "$1")
unpack_banner "${p7z}"
local output="$(7z x -y "${p7z}")"
if [ $? -ne 0 ]; then
echo "${output}" >&2
die "unpacking ${p7z} failed (arch=unpack_7z)"
fi
}
# @FUNCTION: unpack_rar
# @USAGE: <rar file>
# @DESCRIPTION:
# Unpack RAR archives.
unpack_rar() {
[[ $# -eq 1 ]] || die "Usage: ${FUNCNAME} <file>"
local rar=$(find_unpackable_file "$1")
unpack_banner "${rar}"
unrar x -idq -o+ "${rar}" || die "unpacking ${rar} failed (arch=unpack_rar)"
}
# @FUNCTION: unpack_lha
# @USAGE: <lha file>
# @DESCRIPTION:
# Unpack LHA/LZH archives.
unpack_lha() {
[[ $# -eq 1 ]] || die "Usage: ${FUNCNAME} <file>"
local lha=$(find_unpackable_file "$1")
unpack_banner "${lha}"
lha xfq "${lha}" || die "unpacking ${lha} failed (arch=unpack_lha)"
}
# @FUNCTION: _unpacker
# @USAGE: <one archive to unpack>
# @INTERNAL
@ -354,6 +405,8 @@ _unpacker() {
*.lz)
: ${UNPACKER_LZIP:=$(type -P plzip || type -P pdlzip || type -P lzip)}
comp="${UNPACKER_LZIP} -dc" ;;
*.zst)
comp="zstd -dfc" ;;
esac
# then figure out if there are any archiving aspects
@ -383,6 +436,18 @@ _unpacker() {
arch="unpack_zip" ;;
esac
# 7z, rar and lha/lzh are handled by package manager in EAPI < 8
if [[ ${EAPI} != [567] ]]; then
case ${m} in
*.7z)
arch="unpack_7z" ;;
*.rar|*.RAR)
arch="unpack_rar" ;;
*.LHA|*.LHa|*.lha|*.lzh)
arch="unpack_lha" ;;
esac
fi
# finally do the unpack
if [[ -z ${arch}${comp} ]] ; then
unpack "$1"
@ -444,9 +509,6 @@ unpacker_src_uri_depends() {
case ${uri} in
*.cpio.*|*.cpio)
d="app-arch/cpio" ;;
*.deb)
# platforms like AIX don't have a good ar
d="kernel_AIX? ( app-arch/deb2targz )" ;;
*.rar|*.RAR)
d="app-arch/unrar" ;;
*.7z)
@ -457,6 +519,10 @@ unpacker_src_uri_depends() {
d="app-arch/unzip" ;;
*.lz)
d="|| ( app-arch/plzip app-arch/pdlzip app-arch/lzip )" ;;
*.zst)
d="app-arch/zstd" ;;
*.LHA|*.LHa|*.lha|*.lzh)
d="app-arch/lha" ;;
esac
deps+=" ${d}"
done

View File

@ -1,9 +1,10 @@
# Copyright 1999-2017 Gentoo Foundation
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vim-plugin.eclass
# @MAINTAINER:
# vim@gentoo.org
# @SUPPORTED_EAPIS: 6 7
# @BLURB: used for installing vim plugins
# @DESCRIPTION:
# This eclass simplifies installation of app-vim plugins into
@ -11,7 +12,12 @@
# which is read automatically by vim. The only exception is
# documentation, for which we make a special case via vim-doc.eclass.
inherit estack vim-doc
case ${EAPI} in
6|7);;
*) die "EAPI ${EAPI:-0} unsupported (too old)";;
esac
inherit vim-doc
EXPORT_FUNCTIONS src_install pkg_postinst pkg_postrm
VIM_PLUGIN_VIM_VERSION="${VIM_PLUGIN_VIM_VERSION:-7.3}"
@ -33,47 +39,17 @@ SLOT="0"
# * installs all files in "${ED}"/usr/share/vim/vimfiles.
vim-plugin_src_install() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"
local f
# When globbing, if nothing exists, the shell literally returns the glob
# pattern. So turn on nullglob and extglob options to avoid this.
eshopts_push -s extglob
eshopts_push -s nullglob
ebegin "Cleaning up unwanted files and directories"
# We're looking for dotfiles, dotdirectories and Makefiles here.
local obj
eval "local matches=(@(.[^.]|.??*|Makefile*))"
for obj in "${matches[@]}"; do
rm -rv "${obj}" || die "cannot remove ${obj}"
done
eend $?
# Turn those options back off.
eshopts_pop
eshopts_pop
# Install non-vim-help-docs
cd "${S}" || die "couldn't cd in ${S}"
local f
for f in *; do
[[ -f "${f}" ]] || continue
if [[ "${f}" = *.html ]]; then
dohtml "${f}"
else
dodoc "${f}"
fi
rm "${f}" || die
done
einstalldocs
# Install remainder of plugin
cd "${WORKDIR}" || die "couldn't cd in ${WORKDIR}"
dodir /usr/share/vim
mv "${S}" "${ED}"/usr/share/vim/vimfiles || die \
"couldn't move ${S} to ${ED}/usr/share/vim/vimfiles"
# Set permissions
fperms -R a+rX /usr/share/vim/vimfiles
insinto /usr/share/vim/vimfiles/
local d
for d in *; do
[[ -d "${d}" ]] || continue
doins -r "${d}"
done
}
# @FUNCTION: vim-plugin_pkg_postinst
@ -150,31 +126,31 @@ update_vim_afterscripts() {
display_vim_plugin_help() {
local h
if ! has_version ${CATEGORY}/${PN} ; then
if [[ -n "${VIM_PLUGIN_HELPFILES}" ]] ; then
if [[ -z ${REPLACING_VERSIONS} ]]; then
if [[ -n ${VIM_PLUGIN_HELPFILES} ]]; then
elog " "
elog "This plugin provides documentation via vim's help system. To"
elog "view it, use:"
for h in ${VIM_PLUGIN_HELPFILES} ; do
for h in ${VIM_PLUGIN_HELPFILES}; do
elog " :help ${h}"
done
elog " "
elif [[ -n "${VIM_PLUGIN_HELPTEXT}" ]] ; then
elif [[ -n ${VIM_PLUGIN_HELPTEXT} ]]; then
elog " "
while read h ; do
elog "$h"
done <<<"${VIM_PLUGIN_HELPTEXT}"
elog " "
elif [[ -n "${VIM_PLUGIN_HELPURI}" ]] ; then
elif [[ -n ${VIM_PLUGIN_HELPURI} ]]; then
elog " "
elog "Documentation for this plugin is available online at:"
elog " ${VIM_PLUGIN_HELPURI}"
elog " "
fi
if has "filetype" "${VIM_PLUGIN_MESSAGES}" ; then
if has filetype ${VIM_PLUGIN_MESSAGES}; then
elog "This plugin makes use of filetype settings. To enable these,"
elog "add lines like:"
elog " filetype plugin on"

View File

@ -1,153 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: vim-spell.eclass
# @MAINTAINER:
# Vim Maintainers <vim@gentoo.org>
# @AUTHOR:
# Ciaran McCreesh <ciaranm@gentoo.org>
# @BLURB: Eclass for managing Vim spell files.
# @DESCRIPTION:
# How to make a vim spell file package using prebuilt spell lists
# from upstream (${CODE} is the language's two letter code):
#
# * Get the ${CODE}.*.spl, ${CODE}.*.sug (if your language has them) and
# README_${CODE}.txt files. Currently they're at
# ftp://ftp.vim.org/pub/vim/unstable/runtime/spell/ (except for English,
# which should be taken from CVS instead).
#
# * Stick them in vim-spell-${CODE}-$(date --iso | tr -d - ).tar.bz2 . Make sure
# that they're in the appropriately named subdirectory to avoid having to mess
# with S=.
#
# * Upload the tarball to the Gentoo mirrors.
#
# * Add your spell file to package.mask next to the other vim things. Vim
# Project members will handle unmasking your spell packages when vim comes out
# of package.mask.
#
# * Create the app-vim/vim-spell-${CODE} package. You should base your ebuild
# upon app-vim/vim-spell-en. You will need to change VIM_SPELL_LANGUAGE,
# KEYWORDS and LICENSE. Check the license carefully! The README will tell
# you what it is.
#
# * Don't forget metadata.xml. You should list the Vim project and yourself
# as maintainers. There is no need to join the Vim project just for spell
# files. Here's an example of a metadata.xml file:
#
# <?xml version="1.0" encoding="UTF-8"?>
# <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
# <pkgmetadata>
# <maintainer type="person">
# <email>your@email.tld</email>
# <name>Your Name</name>
# </maintainer>
# <maintainer type="project">
# <email>vim@gentoo.org</email>
# <name>Vim Maintainers</name>
# </maintainer>
#
# <longdescription lang="en">
# Vim spell files for French (fr). Supported character sets are
# UTF-8 and latin1.
# </longdescription>
# </pkgmetadata>
#
# * Send an email to vim@gentoo.org to let us know.
#
# Don't forget to update your package as necessary.
#
# If there isn't an upstream-provided pregenerated spell file for your language
# yet, read :help spell.txt from inside vim for instructions on how to create
# spell files. It's best to let upstream know if you've generated spell files
# for another language rather than keeping them Gentoo-specific.
inherit eutils
EXPORT_FUNCTIONS src_install pkg_postinst
SRC_URI="mirror://gentoo/${P}.tar.bz2"
SLOT="0"
# @ECLASS-VARIABLE: VIM_SPELL_LANGUAGE
# @DESCRIPTION:
# This variable defines the language for the spell package being
# installed.
# The default value is "English".
: ${VIM_SPELL_LANGUAGE:="English"}
# @ECLASS-VARIABLE: VIM_SPELL_LOCALE
# @INTERNAL
# @DESCRIPTION:
# This variable defines the locale for the current ebuild.
# The default value is ${PN} stripped of the "vim-spell-" string.
: ${VIM_SPELL_LOCALE:="${PN/vim-spell-/}"}
# @ECLASS-VARIABLE: VIM_SPELL_DIRECTORY
# @INTERNAL
# @DESCRIPTION:
# This variable defines the path to Vim spell files.
: ${VIM_SPELL_DIRECTORY:="${EPREFIX}/usr/share/vim/vimfiles/spell/"}
# @ECLASS-VARIABLE: DESCRIPTION
# @DESCRIPTION:
# This variable defines the DESCRIPTION for Vim spell ebuilds.
: ${DESCRIPTION:="vim spell files: ${VIM_SPELL_LANGUAGE} (${VIM_SPELL_LOCALE})"}
# @ECLASS-VARIABLE: HOMEPAGE
# @DESCRIPTION:
# This variable defines the HOMEPAGE for Vim spell ebuilds.
: ${HOMEPAGE:="https://www.vim.org"}
# @FUNCTION: vim-spell_src_install
# @DESCRIPTION:
# This function installs Vim spell files.
vim-spell_src_install() {
dodir "${VIM_SPELL_DIRECTORY}"
insinto "${VIM_SPELL_DIRECTORY}"
local had_spell_file=
local f
for f in *.spl; do
if [[ -f "${f}" ]]; then
doins "${f}"
had_spell_file="yes"
fi
done
for f in *.sug; do
if [[ -f "${f}" ]]; then
doins "${f}"
fi
done
for f in README*; do
dodoc "${f}"
done
[[ -z "${had_spell_file}" ]] && die "Didn't install any spell files?"
}
# @FUNCTION: vim-spell_pkg_postinst
# @DESCRIPTION:
# This function displays installed Vim spell files.
vim-spell_pkg_postinst() {
has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"
echo
elog "To enable ${VIM_SPELL_LANGUAGE} spell checking, use"
elog " :setlocal spell spelllang=${VIM_SPELL_LOCALE}"
echo
elog "The following (Vim internal, not file) encodings are supported for"
elog "this language:"
local f enc
for f in "${EROOT}${VIM_SPELL_DIRECTORY}/${VIM_SPELL_LOCALE}".*.spl; do
enc="${f##*/${VIM_SPELL_LOCALE}.}"
enc="${enc%.spl}"
[[ -z "${enc}" ]] && continue
elog " ${enc}"
done
echo
elog "For further documentation, use:"
elog " :help spell"
echo
}

View File

@ -1,3 +1,3 @@
DIST socat-1.7.3.1.tar.bz2 488467 SHA256 d2da659540c38139f388e9437bfaae16bb458d174d056cb3228432a8f489fbaa SHA512 463340f578d4d1d54458b8ef9573ad3eff51dbcc736205e1b62e9a4782770d4bb76e6a07506350fd35405b130660559aaa79dfa2664c53ea268d7d64231f9b32 WHIRLPOOL 09f0fc537eaad194cac97cce73971c9f69047c648f03788fa69ac3444673ff73f143b2657d0ed28d082e2cfc36829304ed7bf0ff79c7ed75e96c991292f94dd4
DIST socat-1.7.3.2.tar.bz2 493324 SHA256 e3561f808739383eb10fada1e5d4f26883f0311b34fd0af7837d0c95ef379251 SHA512 9ed4911deb09c36955b62a2efbcdfdff0e9d963fa30110e32396e49133d395afd7e61a19ca6a1a23e6e98ded4f603bcbb68c8eb3da4ce870f1450b8b6f7dd293 WHIRLPOOL d5b25ee77fd9ac77fd2a0dd33c39ae636cfe380608b8cee0d14f4d2e042bd53f9269edb466ae6c5403ccd5f5e2bff48b5f1ab15504957419f5ec759fc84a84f4
DIST socat-2.0.0-b9.tar.bz2 516673 SHA256 49efb0a5c66b94b279014addc2851faf8ebbd1ec4b7e31c1de7e912d7b4983d2 SHA512 f728bd634feeeacd2f0e4020c1c6aafdadaef3ba9da818d9ae1195e9f48fb693b2bea8dbbb208af8daddd8d6405217113d5ce31d05c2e9b27f5d2fba6b1cc834 WHIRLPOOL e293f9da0fed9573a02658b79ae87c24e2d88c57f6d8b1ddaeecd52e035b5012eaebbfa82da80f8442da666114d14e1c2767cf929e57b634f762e198ed4e3b50
DIST socat-1.7.4.2.tar.gz 653068 BLAKE2B 0eba89e2f8993e6c5f2ffaa57ca9e93ae89cb01bf9d6f0f0d5e9550d4cd7e6aa390b26120a47e3661772550f4fb189807bedd31d1477ff0065f478ef2be062ab SHA512 c331a6348e0febb35cd8adc2b116e3b8896cd7f64bcd93e507df4b8197ee1e6738ca256abf74c9b225e7a3769cf9643f0e237826125c6f390b5124ce0f10c972
DIST socat-1.7.4.3.tar.gz 655520 BLAKE2B d91de7ef55332001e6439f64130555b9558338fb9b6c15c91ab5efc8f86a2e7e0f5fe0b292754731a198d83be5f511c3388c65c7c7f559c55691f42703f1849b SHA512 81cb34c245052b6a0ae38a711591358460b6070957af4a9eeb11a3cadb4aff184eeaedabbc7ecdc7fdf21a6126c06f90f19b24a87ce74b30bfd60a3879181046
DIST socat-2.0.0-b9.tar.bz2 516673 BLAKE2B 808c8821b89ae2463074f87915dfae10f82b66ac6cd0b6ff56ab18f57c704e5a2a3ce76650152dccce41e4bd00e3a937948d4ade0a915b1f0e917c7543c6fc31 SHA512 f728bd634feeeacd2f0e4020c1c6aafdadaef3ba9da818d9ae1195e9f48fb693b2bea8dbbb208af8daddd8d6405217113d5ce31d05c2e9b27f5d2fba6b1cc834

View File

@ -0,0 +1,24 @@
--- a/filan.c
+++ b/filan.c
@@ -30,7 +30,9 @@
/* dirty workaround so we dont get an error on AIX when being linked with
libwrap */
+#if _AIX
int allow_severity, deny_severity;
+#endif
/* global variables for configuring filan */
bool filan_followsymlinks;
--- a/procan.c
+++ b/procan.c
@@ -21,7 +21,9 @@
/* dirty workaround so we dont get an error on AIX when getting linked with
libwrap */
+#if _AIX
int allow_severity, deny_severity;
+#endif
int procan(FILE *outfile) {

View File

@ -1,267 +0,0 @@
From fbb0cc3b65a2ead522019fb461ae520371cc3ede Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marek=20Beh=C3=BAn?= <kabel@blackhole.sk>
Date: Mon, 6 Jun 2016 18:41:30 +0200
Subject: [PATCH] Support compiling with LibreSSL 2.4.0
This patch checks for macros OPENSSL_NO_COMP, OPENSSL_NO_EGD, and
if disables those features if they are.
Also add ifdef for HAVE_SSLv3_{client/server}_method in sslcls.c,
since these were removed from LibreSSL 2.4.0.
---
sslcls.c | 8 +++++++-
sslcls.h | 4 +++-
xio-openssl.c | 24 ++++++++++++++++++------
xio-openssl.h | 4 +++-
xioopts.c | 8 ++++++--
xioopts.h | 4 +++-
6 files changed, 40 insertions(+), 12 deletions(-)
diff --git a/sslcls.c b/sslcls.c
index ea4c303..5011ef2 100644
--- a/sslcls.c
+++ b/sslcls.c
@@ -55,6 +55,7 @@ const SSL_METHOD *sycSSLv2_server_method(void) {
}
#endif
+#if HAVE_SSLv3_client_method
const SSL_METHOD *sycSSLv3_client_method(void) {
const SSL_METHOD *result;
Debug("SSLv3_client_method()");
@@ -62,7 +63,9 @@ const SSL_METHOD *sycSSLv3_client_method(void) {
Debug1("SSLv3_client_method() -> %p", result);
return result;
}
+#endif
+#if HAVE_SSLv3_server_method
const SSL_METHOD *sycSSLv3_server_method(void) {
const SSL_METHOD *result;
Debug("SSLv3_server_method()");
@@ -70,6 +73,7 @@ const SSL_METHOD *sycSSLv3_server_method(void) {
Debug1("SSLv3_server_method() -> %p", result);
return result;
}
+#endif
const SSL_METHOD *sycSSLv23_client_method(void) {
const SSL_METHOD *result;
@@ -347,6 +351,7 @@ void sycSSL_free(SSL *ssl) {
return;
}
+#ifndef OPENSSL_NO_EGD
int sycRAND_egd(const char *path) {
int result;
Debug1("RAND_egd(\"%s\")", path);
@@ -354,6 +359,7 @@ int sycRAND_egd(const char *path) {
Debug1("RAND_egd() -> %d", result);
return result;
}
+#endif
DH *sycPEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u) {
DH *result;
@@ -391,7 +397,7 @@ int sycFIPS_mode_set(int onoff) {
}
#endif /* WITH_FIPS */
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
const COMP_METHOD *sycSSL_get_current_compression(SSL *ssl) {
const COMP_METHOD *result;
Debug1("SSL_get_current_compression(%p)", ssl);
diff --git a/sslcls.h b/sslcls.h
index 152fe5b..9fd8ef2 100644
--- a/sslcls.h
+++ b/sslcls.h
@@ -49,7 +49,9 @@ X509 *sycSSL_get_peer_certificate(SSL *ssl);
int sycSSL_shutdown(SSL *ssl);
void sycSSL_CTX_free(SSL_CTX *ctx);
void sycSSL_free(SSL *ssl);
+#ifndef OPENSSL_NO_EGD
int sycRAND_egd(const char *path);
+#endif
DH *sycPEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb, void *u);
@@ -57,7 +59,7 @@ BIO *sycBIO_new_file(const char *filename, const char *mode);
int sycFIPS_mode_set(int onoff);
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
const COMP_METHOD *sycSSL_get_current_compression(SSL *ssl);
const COMP_METHOD *sycSSL_get_current_expansion(SSL *ssl);
const char *sycSSL_COMP_get_name(const COMP_METHOD *comp);
diff --git a/xio-openssl.c b/xio-openssl.c
index c7f283c..38dc20d 100644
--- a/xio-openssl.c
+++ b/xio-openssl.c
@@ -181,9 +181,11 @@ const struct optdesc opt_openssl_key = { "openssl-key", "key",
const struct optdesc opt_openssl_dhparam = { "openssl-dhparam", "dh", OPT_OPENSSL_DHPARAM, GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
const struct optdesc opt_openssl_cafile = { "openssl-cafile", "cafile", OPT_OPENSSL_CAFILE, GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
const struct optdesc opt_openssl_capath = { "openssl-capath", "capath", OPT_OPENSSL_CAPATH, GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
+#ifndef OPENSSL_NO_EGD
const struct optdesc opt_openssl_egd = { "openssl-egd", "egd", OPT_OPENSSL_EGD, GROUP_OPENSSL, PH_SPEC, TYPE_FILENAME, OFUNC_SPEC };
+#endif
const struct optdesc opt_openssl_pseudo = { "openssl-pseudo", "pseudo", OPT_OPENSSL_PSEUDO, GROUP_OPENSSL, PH_SPEC, TYPE_BOOL, OFUNC_SPEC };
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
const struct optdesc opt_openssl_compress = { "openssl-compress", "compress", OPT_OPENSSL_COMPRESS, GROUP_OPENSSL, PH_SPEC, TYPE_STRING, OFUNC_SPEC };
#endif
#if WITH_FIPS
@@ -220,7 +222,7 @@ int xio_reset_fips_mode(void) {
static void openssl_conn_loginfo(SSL *ssl) {
Notice1("SSL connection using %s", SSL_get_cipher(ssl));
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
{
const COMP_METHOD *comp, *expansion;
@@ -786,7 +788,7 @@ int _xioopen_openssl_listen(struct single *xfd,
#endif /* WITH_LISTEN */
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
/* In OpenSSL 0.9.7 compression methods could be added using
* SSL_COMP_add_compression_method(3), but the implemntation is not compatible
* with the standard (RFC3749).
@@ -857,8 +859,10 @@ int
char *opt_dhparam = NULL; /* file name of DH params */
char *opt_cafile = NULL; /* certificate authority file */
char *opt_capath = NULL; /* certificate authority directory */
+#ifndef OPENSSL_NO_EGD
char *opt_egd = NULL; /* entropy gathering daemon socket path */
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#endif
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
char *opt_compress = NULL; /* compression method */
#endif
bool opt_pseudo = false; /* use pseudo entropy if nothing else */
@@ -875,9 +879,11 @@ int
retropt_string(opts, OPT_OPENSSL_CAPATH, &opt_capath);
retropt_string(opts, OPT_OPENSSL_KEY, &opt_key);
retropt_string(opts, OPT_OPENSSL_DHPARAM, &opt_dhparam);
+#ifndef OPENSSL_NO_EGD
retropt_string(opts, OPT_OPENSSL_EGD, &opt_egd);
+#endif
retropt_bool(opts,OPT_OPENSSL_PSEUDO, &opt_pseudo);
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
retropt_string(opts, OPT_OPENSSL_COMPRESS, &opt_compress);
#endif
#if WITH_FIPS
@@ -1010,9 +1016,11 @@ int
}
}
+#ifndef OPENSSL_NO_EGD
if (opt_egd) {
sycRAND_egd(opt_egd);
}
+#endif
if (opt_pseudo) {
long int randdata;
@@ -1124,7 +1132,7 @@ int
}
#endif /* !defined(EC_KEY) */
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
if (opt_compress) {
int result;
result = openssl_setup_compression(*ctx, opt_compress);
@@ -1238,7 +1246,11 @@ static int openssl_SSL_ERROR_SSL(int level, const char *funcname) {
if (e == ((ERR_LIB_RAND<<24)|
(RAND_F_SSLEAY_RAND_BYTES<<12)|
(RAND_R_PRNG_NOT_SEEDED)) /*0x24064064*/) {
+#ifdef OPENSSL_NO_EGD
+ Error("too few entropy; use option \"pseudo\"");
+#else
Error("too few entropy; use options \"egd\" or \"pseudo\"");
+#endif
stat = STAT_NORETRY;
} else {
Msg2(level, "%s(): %s", funcname, ERR_error_string(e, buf));
diff --git a/xio-openssl.h b/xio-openssl.h
index 62586fc..f10ee0c 100644
--- a/xio-openssl.h
+++ b/xio-openssl.h
@@ -21,9 +21,11 @@ extern const struct optdesc opt_openssl_key;
extern const struct optdesc opt_openssl_dhparam;
extern const struct optdesc opt_openssl_cafile;
extern const struct optdesc opt_openssl_capath;
+#ifndef OPENSSL_NO_EGD
extern const struct optdesc opt_openssl_egd;
+#endif
extern const struct optdesc opt_openssl_pseudo;
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
extern const struct optdesc opt_openssl_compress;
#endif
#if WITH_FIPS
diff --git a/xioopts.c b/xioopts.c
index 6c231f4..9a56298 100644
--- a/xioopts.c
+++ b/xioopts.c
@@ -303,7 +303,7 @@ const struct optname optionnames[] = {
#if WITH_EXT2 && defined(EXT2_COMPR_FL)
IF_ANY ("compr", &opt_ext2_compr)
#endif
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
IF_OPENSSL("compress", &opt_openssl_compress)
#endif
#ifdef TCP_CONN_ABORT_THRESHOLD /* HP_UX */
@@ -419,7 +419,9 @@ const struct optname optionnames[] = {
#ifdef ECHOPRT
IF_TERMIOS("echoprt", &opt_echoprt)
#endif
+#ifndef OPENSSL_NO_EGD
IF_OPENSSL("egd", &opt_openssl_egd)
+#endif
IF_ANY ("end-close", &opt_end_close)
IF_TERMIOS("eof", &opt_veof)
IF_TERMIOS("eol", &opt_veol)
@@ -1062,11 +1064,13 @@ const struct optname optionnames[] = {
IF_OPENSSL("openssl-certificate", &opt_openssl_certificate)
IF_OPENSSL("openssl-cipherlist", &opt_openssl_cipherlist)
IF_OPENSSL("openssl-commonname", &opt_openssl_commonname)
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
IF_OPENSSL("openssl-compress", &opt_openssl_compress)
#endif
IF_OPENSSL("openssl-dhparam", &opt_openssl_dhparam)
+#ifndef OPENSSL_NO_EGD
IF_OPENSSL("openssl-egd", &opt_openssl_egd)
+#endif
#if WITH_FIPS
IF_OPENSSL("openssl-fips", &opt_openssl_fips)
#endif
diff --git a/xioopts.h b/xioopts.h
index 2a165f5..37d6883 100644
--- a/xioopts.h
+++ b/xioopts.h
@@ -478,11 +478,13 @@ enum e_optcode {
OPT_OPENSSL_CERTIFICATE,
OPT_OPENSSL_CIPHERLIST,
OPT_OPENSSL_COMMONNAME,
-#if OPENSSL_VERSION_NUMBER >= 0x00908000L
+#if OPENSSL_VERSION_NUMBER >= 0x00908000L && !defined(OPENSSL_NO_COMP)
OPT_OPENSSL_COMPRESS,
#endif
OPT_OPENSSL_DHPARAM,
+#ifndef OPENSSL_NO_EGD
OPT_OPENSSL_EGD,
+#endif
OPT_OPENSSL_FIPS,
OPT_OPENSSL_KEY,
OPT_OPENSSL_METHOD,
--
2.7.3

Some files were not shown because too many files have changed in this diff Show More