parent
bd287d657d
commit
aa8484a96d
Binary file not shown.
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>williamh@gentoo.org</email>
|
||||
<name>William Hubbs</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,8 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
ACCT_GROUP_ID=355
|
Binary file not shown.
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>williamh@gentoo.org</email>
|
||||
<name>William Hubbs</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,13 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="user for openvpn_exporter"
|
||||
ACCT_USER_ID=355
|
||||
ACCT_USER_GROUPS=( openvpn_exporter )
|
||||
ACCT_USER_HOME=/var/lib/openvpn_exporter
|
||||
|
||||
acct-user_add_deps
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST ReText-7.0.4.tar.gz 402934 BLAKE2B bae66a5fb8e81192d692d1a239706e2feee6ee940685cffdf3498880b2c9bd67cc85c6150e372a383e4bad13da210426fff95c06b2861b58020c2c6d298cf5d2 SHA512 cb12666b15414f4bf83f3b07c94d3bcba13dd3e6c3832c66520bfe8caafeeb87cc083a1e74530d98d6e00a00363add55fdf873e6de385e637876454130deebb3
|
||||
DIST ReText-7.1.0.tar.gz 484989 BLAKE2B 74f07218cba1d76d011e5347c65ec03ef84da29119c177f35cca206cb269ae4755fdb85448562a378d2ab610930d23b4eccb62a39807409c6e80a68102be2034 SHA512 92333f31f7a57440d642246ed30156384285bb44640a0d6e7654e82749681893eaef3cb16e41fa2d7b618aa59f1ea8cb07d431736b00f35cb9130d7294e3d105
|
||||
|
@ -0,0 +1,68 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# no pypy{,3} support as PyQt5 does not support it at 2020-07-05 (towelday)
|
||||
# https://bitbucket.org/pypy/compatibility/wiki/Home#!gui-library-bindings
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
|
||||
inherit distutils-r1 eutils virtualx xdg-utils
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
|
||||
MY_PN="ReText"
|
||||
MY_P="${MY_PN}-${PV/_/~}"
|
||||
|
||||
DESCRIPTION="Simple editor for Markdown and reStructuredText"
|
||||
HOMEPAGE="https://github.com/retext-project/retext https://github.com/retext-project/retext/wiki"
|
||||
|
||||
if [[ ${PV} == *9999 ]]
|
||||
then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/retext-project/retext.git"
|
||||
else
|
||||
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
S="${WORKDIR}"/${MY_P}
|
||||
fi
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/chardet[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
dev-python/markups[${PYTHON_USEDEP}]
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
dev-python/python-markdown-math[${PYTHON_USEDEP}]
|
||||
dev-python/PyQt5[gui,network,printsupport,widgets,${PYTHON_USEDEP}]
|
||||
dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_test() {
|
||||
virtx distutils-r1_src_test
|
||||
}
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
|
||||
optfeature "dictionary support" dev-python/pyenchant
|
||||
|
||||
einfo "Starting with retext-7.0.4 the markdown-math plugin is installed."
|
||||
einfo "Note that you can use different math delimiters, e.g. \(...\) for inline math."
|
||||
einfo "For more details take a look at:"
|
||||
einfo "https://github.com/mitya57/python-markdown-math#math-delimiters"
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
Binary file not shown.
@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit go-module
|
||||
|
||||
EGO_PN="github.com/kumina/openvpn_exporter"
|
||||
|
||||
DESCRIPTION="Prometheus Exporter for OpenVPN"
|
||||
HOMEPAGE="https://github.com/kumina/openvpn_exporter"
|
||||
|
||||
EGO_SUM=(
|
||||
"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973"
|
||||
"github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod"
|
||||
"github.com/gogo/protobuf v1.1.1"
|
||||
"github.com/gogo/protobuf v1.1.1/go.mod"
|
||||
"github.com/golang/protobuf v1.2.0"
|
||||
"github.com/golang/protobuf v1.2.0/go.mod"
|
||||
"github.com/matttproud/golang_protobuf_extensions v1.0.1"
|
||||
"github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod"
|
||||
"github.com/prometheus/client_golang v0.9.1"
|
||||
"github.com/prometheus/client_golang v0.9.1/go.mod"
|
||||
"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910"
|
||||
"github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod"
|
||||
"github.com/prometheus/common v0.0.0-20181020173914-7e9e6cabbd39"
|
||||
"github.com/prometheus/common v0.0.0-20181020173914-7e9e6cabbd39/go.mod"
|
||||
"github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d"
|
||||
"github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod"
|
||||
"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f"
|
||||
"golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod"
|
||||
)
|
||||
go-module_set_globals
|
||||
SRC_URI="https://github.com/kumina/openvpn_exporter/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
${EGO_SUM_SRC_URI}"
|
||||
|
||||
LICENSE="Apache-2.0 BSD MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
COMMON_DEPEND="acct-group/openvpn_exporter
|
||||
acct-group/openvpn_exporter"
|
||||
DEPEND="${COMMON_DEPEND}"
|
||||
RDEPEND="${COMMON_DEPEND}"
|
||||
|
||||
src_compile() {
|
||||
go build -o ${PN} || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ${PN}
|
||||
dodoc {CHANGELOG,README}.md
|
||||
keepdir "/var/log/${PN}"
|
||||
fowners ${PN}:${PN} "/var/log/${PN}"
|
||||
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
||||
newconfd "${FILESDIR}"/${PN}.confd ${PN}
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}/${PN}.logrotated" "${PN}"
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST gnote-3.36.1.tar.xz 3512000 BLAKE2B 00f5f8049085c855722f92fb3231684d53c4a15b96b7148a2a810d8fdd4c02b22510f4c4f9296fd7e2f4ba96e44d55215f71a2eb78ecb60170f8bb7ffbdef6ef SHA512 4c0c9d469836366a7886928beb0b47c48e60ee41591de193b9af597214f373c2c14b25745f6238ccbede8df8e7d4d83f39a34aed1b155895479bba3e043d2cce
|
||||
DIST gnote-3.36.2.tar.xz 3511244 BLAKE2B d7b8859ec47f8da2d37f285141d4c7fc0f591751a1ebea70339d6cdb727c74a6ca711515f8169130e1b46c1653c0c98da3bc4bce691b8d7a7f2794745e8db2a7 SHA512 6d2e32954836b4ac2800071385eedd6ad391936ee52626b7d51b077e4b4a3e071149804281e645b0fd88dc18e9f3c0f8d53e0994d33875ce5375d6b50b14d5e1
|
||||
|
@ -0,0 +1,71 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME2_LA_PUNT="yes"
|
||||
|
||||
inherit gnome2 readme.gentoo-r1
|
||||
|
||||
DESCRIPTION="Desktop note-taking application"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/Gnote"
|
||||
|
||||
LICENSE="GPL-3+ FDL-1.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="debug"
|
||||
|
||||
# Automagic:
|
||||
# glib-2.32 dep
|
||||
# >=dev-libs/unittest++-1.5.1 (but not detected due to missing .pc)
|
||||
COMMON_DEPEND="
|
||||
>=app-crypt/libsecret-0.8
|
||||
>=app-text/gspell-1.6.0:=
|
||||
>=dev-cpp/glibmm-2.62.0:2
|
||||
>=dev-cpp/gtkmm-3.18:3.0
|
||||
>=dev-libs/glib-2.32:2[dbus]
|
||||
>=dev-libs/libxml2-2:2
|
||||
dev-libs/libxslt
|
||||
>=sys-apps/util-linux-2.16:=
|
||||
>=x11-libs/gtk+-3.20:3
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
gnome-base/gsettings-desktop-schemas
|
||||
"
|
||||
DEPEND="${DEPEND}
|
||||
app-text/docbook-xml-dtd:4.1.2
|
||||
>=dev-util/intltool-0.35.0
|
||||
dev-util/itstool
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
# Do not alter CFLAGS
|
||||
sed 's/-DDEBUG -g/-DDEBUG/' -i configure.ac configure || die
|
||||
|
||||
gnome2_src_prepare
|
||||
|
||||
if has_version net-fs/wdfs; then
|
||||
DOC_CONTENTS="You have net-fs/wdfs installed. app-misc/gnote will use it to
|
||||
synchronize notes."
|
||||
else
|
||||
DOC_CONTENTS="Gnote can use net-fs/wdfs to synchronize notes.
|
||||
If you want to use that functionality just emerge net-fs/wdfs.
|
||||
Gnote will automatically detect that you did and let you use it."
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure \
|
||||
--disable-static \
|
||||
$(use_enable debug)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
gnome2_src_install
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_pkg_postinst
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
From 481e9d3f8f8086afa7deb4ac6db60a2575dc2203 Mon Sep 17 00:00:00 2001
|
||||
From: KIVACHUK Valentin <valentin.kivachuk@irt-saintexupery.com>
|
||||
Date: Tue, 10 Sep 2019 11:29:37 +0200
|
||||
Subject: [PATCH] Fix proj build error
|
||||
|
||||
---
|
||||
proj_deprecated_api.patch | 2 ++
|
||||
1 files changed, 2 insertions(+)
|
||||
|
||||
--- a/src/map/Projection.h 2016-11-09 17:27:38.000000000 +0100
|
||||
+++ b/src/map/Projection.h 2019-09-10 10:20:27.440134499 +0200
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <QObject>
|
||||
#include <cstdio>
|
||||
|
||||
+#define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
|
||||
+
|
||||
#include "proj_api.h"
|
||||
|
||||
class Projection : public QObject
|
@ -0,0 +1,38 @@
|
||||
From 73b1e8a9b622a27a03425db03bdbaee0eb88b8b7 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Sturmlechner <asturm@gentoo.org>
|
||||
Date: Wed, 15 Jul 2020 14:21:13 +0200
|
||||
Subject: [PATCH] Fix build with Qt 5.15 (missing headers)
|
||||
|
||||
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
|
||||
---
|
||||
src/IacPlot.h | 1 +
|
||||
src/SkewT.h | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/IacPlot.h b/src/IacPlot.h
|
||||
index dab76b6..59f6deb 100644
|
||||
--- a/src/IacPlot.h
|
||||
+++ b/src/IacPlot.h
|
||||
@@ -30,6 +30,7 @@ Lecture mise en mémoire d'un fichier IAC (fleetcodes)
|
||||
|
||||
#include <QApplication>
|
||||
#include <QPainter>
|
||||
+#include <QPainterPath>
|
||||
#include <QString>
|
||||
|
||||
#include "DataMeteoAbstract.h"
|
||||
diff --git a/src/SkewT.h b/src/SkewT.h
|
||||
index eb70372..36d4df8 100644
|
||||
--- a/src/SkewT.h
|
||||
+++ b/src/SkewT.h
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <QMainWindow>
|
||||
#include <QFrame>
|
||||
#include <QPainter>
|
||||
+#include <QPainterPath>
|
||||
#include <QLayout>
|
||||
#include <QKeyEvent>
|
||||
#include <QPrintDialog>
|
||||
--
|
||||
2.27.0
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST pytextile-3.0.3.tar.gz 48560 BLAKE2B f8d3077e2b8e4de7157dcd9ed17f7889301946c2d3034dbbb0171b4930bd7268c65ce1f950552db2b783aa48acae639d5f4ccfcbca96807562b4a6377c3dd220 SHA512 142fe77c8858b0444428f9ca0f24d1a054a1566f85f00fd5cf860bb705a19666249cd03420d258d5acfc9f45052dd25e52767492a60a10d986d86b711b54612f
|
||||
DIST pytextile-4.0.1.tar.gz 49282 BLAKE2B b51220ff33fe43b83d0aefee840b5170747015073fbe88934798c2505c3455e9805eee8815ec8068521c88a44a309bd0eb32e84757d088536f1c12a1f9bc0ca0 SHA512 e299663fd71b935e9c948649baba80584b1339dd3393a3f37b39475fe1d6a4addaaa2adcd16ba57b4c5db43ab9f8de6e9332871915b1fff7b7882ad5e8d64580
|
||||
|
@ -0,0 +1,55 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_PN="python-textile"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="A Python port of Textile, A humane web text generator"
|
||||
HOMEPAGE="https://github.com/textile/python-textile"
|
||||
SRC_URI="https://github.com/textile/python-textile/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/html5lib[${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]"
|
||||
DEPEND="
|
||||
test? (
|
||||
${RDEPEND}
|
||||
dev-python/pytest[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# remove useless --cov arg injection
|
||||
rm pytest.ini || die
|
||||
# remove useless pytest-runner dep
|
||||
sed -e "s/pytest-runner//g" -i setup.py || die
|
||||
|
||||
# remove tests that need network access
|
||||
local my_drop_tests=(
|
||||
test_getimagesize.py
|
||||
test_imagesize.py
|
||||
test_textile.py
|
||||
)
|
||||
for test in ${my_drop_tests[@]};
|
||||
do rm "tests/$test" || die
|
||||
done
|
||||
}
|
||||
|
||||
python_test() {
|
||||
pytest || die "Testsuite failed under ${EPYTHON}"
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,115 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit java-vm-2 toolchain-funcs
|
||||
|
||||
abi_uri() {
|
||||
echo "${2-$1}? (
|
||||
https://github.com/AdoptOpenJDK/openjdk${SLOT}-binaries/releases/download/jdk-${MY_PV}/OpenJDK${SLOT}U-jdk_${1}_linux_hotspot_${MY_PV//+/_}.tar.gz
|
||||
)"
|
||||
}
|
||||
|
||||
MY_PV=${PV/_p/+}
|
||||
SLOT=${MY_PV%%[.+]*}
|
||||
|
||||
SRC_URI="
|
||||
$(abi_uri arm)
|
||||
$(abi_uri aarch64 arm64)
|
||||
$(abi_uri ppc64le ppc64)
|
||||
$(abi_uri x64 amd64)
|
||||
"
|
||||
|
||||
DESCRIPTION="Prebuilt Java JDK binaries provided by AdoptOpenJDK"
|
||||
HOMEPAGE="https://adoptopenjdk.net"
|
||||
LICENSE="GPL-2-with-classpath-exception"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64"
|
||||
IUSE="alsa cups doc +gentoo-vm headless-awt nsplugin selinux source webstart"
|
||||
|
||||
RDEPEND="
|
||||
media-libs/fontconfig:1.0
|
||||
media-libs/freetype:2
|
||||
>=sys-apps/baselayout-java-0.1.0-r1
|
||||
>=sys-libs/glibc-2.2.5:*
|
||||
sys-libs/zlib
|
||||
alsa? ( media-libs/alsa-lib )
|
||||
cups? ( net-print/cups )
|
||||
doc? ( dev-java/java-sdk-docs:${SLOT} )
|
||||
selinux? ( sec-policy/selinux-java )
|
||||
!headless-awt? (
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext
|
||||
x11-libs/libXi
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXtst
|
||||
)"
|
||||
|
||||
PDEPEND="webstart? ( >=dev-java/icedtea-web-1.6.1:0 )
|
||||
nsplugin? ( >=dev-java/icedtea-web-1.6.1:0[nsplugin] )"
|
||||
|
||||
RESTRICT="preserve-libs splitdebug"
|
||||
QA_PREBUILT="*"
|
||||
|
||||
S="${WORKDIR}/jdk-${MY_PV}"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ "$(tc-is-softfloat)" != "no" ]]; then
|
||||
die "These binaries require a hardfloat system."
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local dest="/opt/${P}"
|
||||
local ddest="${ED%/}/${dest#/}"
|
||||
|
||||
# Not sure why they bundle this as it's commonly available and they
|
||||
# only do so on x86_64. It's needed by libfontmanager.so. IcedTea
|
||||
# also has an explicit dependency while Oracle seemingly dlopens it.
|
||||
rm -vf lib/libfreetype.so || die
|
||||
|
||||
# Oracle and IcedTea have libjsoundalsa.so depending on
|
||||
# libasound.so.2 but AdoptOpenJDK only has libjsound.so. Weird.
|
||||
if ! use alsa ; then
|
||||
rm -v lib/libjsound.* || die
|
||||
fi
|
||||
|
||||
if use headless-awt ; then
|
||||
rm -v lib/lib*{[jx]awt,splashscreen}* || die
|
||||
fi
|
||||
|
||||
if ! use source ; then
|
||||
rm -v lib/src.zip || die
|
||||
fi
|
||||
|
||||
rm -v lib/security/cacerts || die
|
||||
dosym ../../../../etc/ssl/certs/java/cacerts \
|
||||
"${dest}"/lib/security/cacerts
|
||||
|
||||
dodir "${dest}"
|
||||
cp -pPR * "${ddest}" || die
|
||||
|
||||
# provide stable symlink
|
||||
dosym "${P}" "/opt/${PN}-${SLOT}"
|
||||
|
||||
use gentoo-vm && java-vm_install-env "${FILESDIR}"/${PN}-${SLOT}.env.sh
|
||||
java-vm_set-pax-markings "${ddest}"
|
||||
java-vm_revdep-mask
|
||||
java-vm_sandbox-predict /dev/random /proc/self/coredump_filter
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
java-vm-2_pkg_postinst
|
||||
|
||||
if use gentoo-vm ; then
|
||||
ewarn "WARNING! You have enabled the gentoo-vm USE flag, making this JDK"
|
||||
ewarn "recognised by the system. This will almost certainly break"
|
||||
ewarn "many java ebuilds as they are not ready for openjdk-11"
|
||||
else
|
||||
ewarn "The experimental gentoo-vm USE flag has not been enabled so this JDK"
|
||||
ewarn "will not be recognised by the system. For example, simply calling"
|
||||
ewarn "\"java\" will launch a different JVM. This is necessary until Gentoo"
|
||||
ewarn "fully supports Java 11. This JDK must therefore be invoked using its"
|
||||
ewarn "absolute location under ${EPREFIX}/opt/${P}."
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,7 +1,5 @@
|
||||
DIST perl-5.30.0-patches-1.tar.xz 17352 BLAKE2B 67eb1c4ce6ada27e05962d06fa9c5675ca1d22623b5fd172ce8ceaa17f2e51d61f9451955f9f6acf6d97ea7d71c72b583be1378ccbf9174c88580baec2049a48 SHA512 4fe1f2de5e72e56890858148d20b772df63dce34cb3977ec47d8ed5323c4843929130f660f1558c282c97e65efa1c6d2fdacf9e2dcc0ef1d487a0b69dbb5bbb4
|
||||
DIST perl-5.30.1.tar.xz 12367844 BLAKE2B 7e5dafb218a993301b986d198c02179d2d93d7418b910f813c7e5bc44ca4d22f004d4d768273ab5d4b6f16103d8a1896237ee14e195d2644fc4c05f5ade5404b SHA512 8f3339efdcd1bb58fa58a90042181bef86bb09e4598c737e446ed43b56d2ab23d67eced5e36fb08fc61e076acfdb572a12e46a1277f5299a3f412054df0b88bf
|
||||
DIST perl-5.30.2.tar.xz 12373480 BLAKE2B b34344221409fad8aad5c24a9851a95521720bfd85ff150fec02a70d78188cd3a4d6327931b955323c86eab6b16979128dd323f78b797cf3244518df840f70b0 SHA512 b945c95f44a58b9cc920c926e23017c4270c0dc8daf0bf8169cd7c8f6b8f980f1780bee4fbd525df518edc50f08364ba65988cb17e72a1667f50226459b65087
|
||||
DIST perl-5.30.3.tar.xz 12375128 BLAKE2B ff0668c896e46ea35a1b8bd4a7d800c8668d6995185cd8c43fca332da2fa63965bb5276b2d5cf9738c0b7fb735140f6e33f1b4582899017903f86753065f417b SHA512 0ea62cf17532ee99217a218c39aa530472857c7a1982494f3a01693683062b4cdebe383a79f7b64452c713337b554ed5e0fd6eda018ea29e83c3538a13c24f3c
|
||||
DIST perl-cross-1.3.1.tar.gz 106723 BLAKE2B 473d90dbfe5d69e17d088664c365190982db400b0617d951fb7a4ccb84dd269fd9e861a6255c0469fbf288125db67ed9fc692251f14c31181f6e9dd1dba447bb SHA512 4715c1f65e39a7d0c605558b345a0a037e61afa992b3f723d66277d5ff7f1c7368ff1dfdb726895d75c4afdb6f710743708fdd9e79569a7d14a2d7002cc9f3b2
|
||||
DIST perl-5.32.0.tar.xz 12717336 BLAKE2B 4abad9f1ddabaad5f2bbfe8ab6d061aeb8c558e458d4bf1bcf737a8ecc1cf20f7dffaddd0bc867578b457787ec284fa81be3fae1edd7f72d58aeec7b5cd744e5 SHA512 1540247415893bbd94dfeede7b4fba6052688dc0bf27ced817f448246fcdc6e9a6486abc34577dec5b00bf02ed607b2d24ccd4977c3b3c51e8e6edfc0b81c760
|
||||
DIST perl-cross-1.3.2.tar.gz 108350 BLAKE2B ddb352fdbec66a04de62425f5cae1aaa3bc7251b9d6f4837b66a0bd79c53c60212fad3997dad4c38055774a2769d45b5b83927bf48b0fb00a130fee429eba702 SHA512 d61d25066a8d87c34aeacc5b9bd86fab964b33c4c65e84a89e4077fe1d8011c0bdf810a304631af44fae32edcffd6c99fc17b0c584ea83d1ce5ce492aaedfea5
|
||||
DIST perl-cross-1.3.4.tar.gz 108461 BLAKE2B 28f207d235f51ebf681598cf85f7f16923574aafb593426a59d67578135ee3632efb12b9e1a672759195a79f80e49f5c929ec42b2b4571b1d36f5d8c8dceadc2 SHA512 7e1fc7b2b19d8c2e2fb8615e074e218b2e1a4d276b563ffabccfd0c7398bc8680fca96da89cc61d611993f38a2c67dfbb0201c58658e05437395ad8c00d31874
|
||||
|
@ -1,654 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.3.1
|
||||
PATCH_BASE="perl-5.30.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
DIST_AUTHOR=SHAY
|
||||
|
||||
# Greatest first, don't include yourself
|
||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
|
||||
PERL_BIN_OLDVERSEN="5.30.0"
|
||||
|
||||
if [[ "${PV##*.}" == "9999" ]]; then
|
||||
DIST_VERSION=5.30.0
|
||||
else
|
||||
DIST_VERSION="${PV/_rc/-RC}"
|
||||
fi
|
||||
SHORT_PV="${DIST_VERSION%.*}"
|
||||
# Even numbered major versions are ABI intercompatible
|
||||
# Odd numbered major versions are not
|
||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||
else
|
||||
SUBSLOT="${DIST_VERSION%.*}"
|
||||
fi
|
||||
# Used only in tar paths
|
||||
MY_P="perl-${DIST_VERSION}"
|
||||
# Used in library paths
|
||||
MY_PV="${DIST_VERSION%-RC*}"
|
||||
|
||||
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||
|
||||
SRC_URI="
|
||||
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||
mirror://gentoo/${PATCH_BASE}.tar.xz
|
||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||
"
|
||||
HOMEPAGE="https://www.perl.org/"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0/${SUBSLOT}"
|
||||
|
||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb debug doc gdbm ithreads"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||
app-arch/bzip2
|
||||
sys-libs/zlib
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
PDEPEND="
|
||||
>=app-admin/perl-cleaner-2.5
|
||||
>=virtual/perl-File-Temp-0.230.400-r2
|
||||
>=virtual/perl-Data-Dumper-2.154.0
|
||||
virtual/perl-Test-Harness
|
||||
"
|
||||
# bug 390719, bug 523624
|
||||
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
dual_scripts() {
|
||||
src_remove_dual perl-core/Archive-Tar 2.320.0 ptar ptardiff ptargrep
|
||||
src_remove_dual perl-core/CPAN 2.220.0 cpan
|
||||
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||
src_remove_dual perl-core/Encode 3.10.0 enc2xs piconv
|
||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
|
||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp
|
||||
src_remove_dual perl-core/IO-Compress 2.84.0 zipdetails
|
||||
src_remove_dual perl-core/JSON-PP 4.20.0 json_pp
|
||||
src_remove_dual perl-core/Module-CoreList 5.201.910.270 corelist
|
||||
src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
|
||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||
src_remove_dual perl-core/Test-Harness 3.420.0 prove
|
||||
src_remove_dual perl-core/podlators 4.110.0 pod2man pod2text
|
||||
src_remove_dual_man perl-core/podlators 4.110.0 /usr/share/man/man1/perlpodstyle.1
|
||||
}
|
||||
|
||||
check_rebuild() {
|
||||
# Fresh install
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
return 0;
|
||||
# Major Upgrade
|
||||
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||
# if the string is anything other than "5.CURRENTMAJOR"
|
||||
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||
echo ""
|
||||
ewarn "UPDATE THE PERL MODULES:"
|
||||
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||
ewarn "to ensure system consistency."
|
||||
ewarn
|
||||
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||
ewarn "Recommended: emerge --depclean -va"
|
||||
ewarn
|
||||
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||
ewarn "remaining rebuilds portage may have missed."
|
||||
ewarn "Use: perl-cleaner --all"
|
||||
return 0;
|
||||
|
||||
# Reinstall w/ USE Change
|
||||
elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||
echo ""
|
||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||
ewarn "You changed one of the use-flags ithreads or debug."
|
||||
ewarn "You must rebuild all perl-modules installed."
|
||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
case ${CHOST} in
|
||||
*-freebsd*) osname="freebsd" ;;
|
||||
*-dragonfly*) osname="dragonfly" ;;
|
||||
*-netbsd*) osname="netbsd" ;;
|
||||
*-openbsd*) osname="openbsd" ;;
|
||||
*-darwin*) osname="darwin" ;;
|
||||
*-solaris*) osname="solaris" ;;
|
||||
*-interix*) osname="interix" ;;
|
||||
*-aix*) osname="aix" ;;
|
||||
*-cygwin*) osname="cygwin" ;;
|
||||
*) osname="linux" ;;
|
||||
esac
|
||||
|
||||
myarch="${CHOST%%-*}-${osname}"
|
||||
if use debug ; then
|
||||
myarch+="-debug"
|
||||
fi
|
||||
if use ithreads ; then
|
||||
mythreading="-multi"
|
||||
myarch+="-thread"
|
||||
fi
|
||||
|
||||
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||
|
||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||
PRIV_LIB="${PRIV_BASE}/${MY_PV}"
|
||||
ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||
SITE_LIB="${SITE_BASE}/${MY_PV}"
|
||||
SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||
VENDOR_LIB="${VENDOR_BASE}/${MY_PV}"
|
||||
VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
src_remove_dual_file() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
setup)
|
||||
for i in "$@" ; do
|
||||
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual_man() {
|
||||
local i pkg ver ff
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||
ff=${ff##*${i#${i%.[0-9]}}}
|
||||
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
for i in "$@" ; do
|
||||
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare_update_patchlevel_h() {
|
||||
# Copied and modified from debian:
|
||||
# Copyright 2011 Niko Tyni
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the same terms as Perl itself.
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local prefix
|
||||
local patchoutput="patchlevel-gentoo.h"
|
||||
|
||||
[[ -f ${patchdir}/series ]] || return 0
|
||||
|
||||
while read patch
|
||||
do
|
||||
patchname=$(echo $patch | sed 's/\.diff$//')
|
||||
< $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
|
||||
|
||||
# massage the patch headers
|
||||
s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
|
||||
s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
|
||||
s|^Bug-Gentoo: ||; tprepend;
|
||||
s/^\(Subject\|Description\): //; tappend;
|
||||
s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
|
||||
|
||||
# post-process at the end of input
|
||||
$ { x;
|
||||
# include the version number in the patchlevel.h description (if available)
|
||||
s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
|
||||
|
||||
# escape any backslashes and double quotes
|
||||
s|\\|\\\\|g; s|"|\\"|g;
|
||||
|
||||
# add a prefix
|
||||
s|^|\t,"'"$prefix$patchname"' - |;
|
||||
# newlines away
|
||||
s/\n/ /g; s/ */ /g;
|
||||
# add a suffix
|
||||
s/ *$/"/; p
|
||||
};
|
||||
# stop all processing
|
||||
d;
|
||||
# label: append to the hold space
|
||||
:append H; d;
|
||||
# label: prepend to the hold space
|
||||
:prepend x; H; d;
|
||||
'
|
||||
done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}"
|
||||
echo "${patchoutput}" >> "${S}/MANIFEST"
|
||||
}
|
||||
|
||||
src_prepare_perlcross() {
|
||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||
|
||||
# bug 604072
|
||||
MAKEOPTS+=" -j1"
|
||||
export MAKEOPTS
|
||||
}
|
||||
src_prepare_dynamic() {
|
||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patch
|
||||
EPATCH_OPTS+=" -p1"
|
||||
|
||||
if use hppa ; then
|
||||
epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
|
||||
fi
|
||||
eapply "${FILESDIR}"/${PN}-5.30.1-gcc-10.patch # bug 708744
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||
# when -lsocket is used e.g. to get h_errno
|
||||
sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die
|
||||
fi
|
||||
|
||||
einfo "Applying patches from ${PATCH_BASE} ..."
|
||||
while read patch ; do
|
||||
EPATCH_SINGLE_MSG=" ${patch} ..."
|
||||
epatch "${WORKDIR}"/patches/${patch}
|
||||
done < "${WORKDIR}"/patches/series
|
||||
|
||||
src_prepare_update_patchlevel_h
|
||||
|
||||
tc-is-cross-compiler && src_prepare_perlcross
|
||||
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
# Use errno.h from prefix rather than from host system, bug #645804
|
||||
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# set a soname, fix linking against just built libperl
|
||||
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name (soname) not to reference $D
|
||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
myconf() {
|
||||
# the myconf array is declared in src_configure
|
||||
myconf=( "${myconf[@]}" "$@" )
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
declare -a myconf
|
||||
|
||||
export LC_ALL="C"
|
||||
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||
|
||||
# Perl has problems compiling with -Os in your flags with glibc
|
||||
use elibc_uclibc || replace-flags "-Os" "-O2"
|
||||
|
||||
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||
# fine with glibc and locale.h only.
|
||||
# However, the darwin prefix people have no locale.h ...
|
||||
use elibc_glibc && myconf -Ui_xlocale
|
||||
|
||||
# This flag makes compiling crash in interesting ways
|
||||
filter-flags "-malign-double"
|
||||
|
||||
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||
filter-flags "-flto"
|
||||
|
||||
use sparc && myconf -Ud_longdbl
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
mygdbm='U'
|
||||
mydb='U'
|
||||
if use gdbm ; then
|
||||
mygdbm='D'
|
||||
if use berkdb ; then
|
||||
myndbm='D'
|
||||
fi
|
||||
fi
|
||||
if use berkdb ; then
|
||||
mydb='D'
|
||||
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||
fi
|
||||
|
||||
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||
|
||||
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||
myconf -Ui_db -Ui_ndbm
|
||||
fi
|
||||
|
||||
use ithreads && myconf -Dusethreads
|
||||
|
||||
if use debug ; then
|
||||
append-cflags "-g"
|
||||
myconf -DDEBUGGING
|
||||
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||
myconf -DDEBUGGING=-g
|
||||
else
|
||||
myconf -DDEBUGGING=none
|
||||
fi
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||
PERL_OLDVERSEN="$(
|
||||
find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \
|
||||
-maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \
|
||||
-printf "%f " 2>/dev/null )"
|
||||
fi
|
||||
# Fixup versions, removing self match, fixing order and dupes
|
||||
PERL_OLDVERSEN="$(
|
||||
echo "${PERL_OLDVERSEN}" |\
|
||||
tr " " "\n" |\
|
||||
grep -vF "${DIST_VERSION%-RC}" |\
|
||||
sort -u -nr -t'.' -k1,1 -k2,2 -k3,3
|
||||
)"
|
||||
|
||||
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||
local inclist="$(
|
||||
for v in ${PERL_OLDVERSEN}; do
|
||||
has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} ";
|
||||
echo -n "${v} ";
|
||||
done )"
|
||||
einfo "This version of perl may partially support modules previously"
|
||||
einfo "installed in any of the following paths:"
|
||||
for incpath in ${inclist}; do
|
||||
[[ -e "${EROOT%/}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${VENDOR_BASE}/${incpath}"
|
||||
[[ -e "${EROOT%/}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROO%/T}${PRIV_BASE}/${incpath}"
|
||||
[[ -e "${EROOT%/}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${SITE_BASE}/${incpath}"
|
||||
done
|
||||
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||
einfo "via world updates and perl-cleaner"
|
||||
myconf -Dinc_version_list="${inclist}"
|
||||
fi
|
||||
|
||||
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||
|
||||
# Make sure we can do the final link #523730, need to set deployment
|
||||
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||
[[ ${CHOST} == *-darwin* ]] && \
|
||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||
|
||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||
# using c89 mode as injected by cflags.SH
|
||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||
append-cflags -Dinline=__inline__
|
||||
|
||||
# fix unaligned access misdetection
|
||||
# https://rt.perl.org/Public/Bug/Display.html?id=133495
|
||||
# https://rt.perl.org/Public/Bug/Display.html?id=133803
|
||||
# bug #676062, bug #688432
|
||||
use hppa || use sparc || [[ ${CHOST} == sparc*-solaris* ]] || \
|
||||
[[ ${CHOST} == armv5tel* ]] \
|
||||
&& myconf "-Dd_u32align='define'"
|
||||
|
||||
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||
# something compatible.
|
||||
if use prefix ; then
|
||||
# Set a hook to check for each detected library whether it actually works.
|
||||
export libscheck="
|
||||
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||
) || xxx=/dev/null"
|
||||
|
||||
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||
# We need to use " and not ', as the written config.sh use ' ...
|
||||
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||
fi
|
||||
|
||||
# don't try building ODBM, bug #354453
|
||||
disabled_extensions="ODBM_File"
|
||||
|
||||
if ! use gdbm ; then
|
||||
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||
fi
|
||||
|
||||
myconf -Dnoextensions="${disabled_extensions}"
|
||||
|
||||
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||
|
||||
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||
|
||||
myconf \
|
||||
-Duseshrplib \
|
||||
-Darchname="${myarch}" \
|
||||
-Dcc="$(tc-getCC)" \
|
||||
-Doptimize="${CFLAGS}" \
|
||||
-Dldflags="${LDFLAGS}" \
|
||||
-Dprefix="${EPREFIX}"'/usr' \
|
||||
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dlibperl="${LIBPERL}" \
|
||||
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||
-Duselargefiles \
|
||||
-Dd_semctl_semun \
|
||||
-Dcf_by='Gentoo' \
|
||||
-Dmyhostname='localhost' \
|
||||
-Dperladmin='root@localhost' \
|
||||
-Ud_csh \
|
||||
-Dsh="${EPREFIX}"/bin/sh \
|
||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||
-Uusenm \
|
||||
"${myconf[@]}" \
|
||||
"${EXTRA_ECONF[@]}"
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--build="${CBUILD}" \
|
||||
-Dinstallprefix='' \
|
||||
-Dinstallusrbinperl='undef' \
|
||||
-Dusevendorprefix='define' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
else
|
||||
sh Configure \
|
||||
-des \
|
||||
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||
-Dinstallusrbinperl='n' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export NO_GENTOO_NETWORK_TESTS=1;
|
||||
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||
return 0
|
||||
fi
|
||||
use elibc_uclibc && export MAKEOPTS+=" -j1"
|
||||
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i
|
||||
local coredir="${ARCH_LIB}/CORE"
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||
|
||||
if ! tc-is-static-only ; then
|
||||
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||
|
||||
# This removes ${D} from Config.pm
|
||||
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||
einfo "Removing ${D} from ${i}..."
|
||||
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||
done
|
||||
|
||||
dodoc Changes* README AUTHORS
|
||||
|
||||
if use doc ; then
|
||||
# HTML Documentation
|
||||
# We expect errors, warnings, and such with the following.
|
||||
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||
--podroot='.' \
|
||||
--podpath='lib:ext:pod:vms' \
|
||||
--recurse \
|
||||
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||
fi
|
||||
|
||||
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
check_rebuild
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
dual_scripts
|
||||
|
||||
if [[ "${ROOT}" = "/" ]] ; then
|
||||
local INC DIR file
|
||||
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||
einfo "Removing old .ph files"
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||
rm -f "${file}"
|
||||
einfo "<< ${file}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
# Silently remove the now empty dirs
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
dual_scripts
|
||||
}
|
@ -1,654 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.3.2
|
||||
PATCH_BASE="perl-5.30.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
DIST_AUTHOR=SHAY
|
||||
|
||||
# Greatest first, don't include yourself
|
||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
|
||||
PERL_BIN_OLDVERSEN="5.30.0 5.30.1"
|
||||
|
||||
if [[ "${PV##*.}" == "9999" ]]; then
|
||||
DIST_VERSION=5.30.0
|
||||
else
|
||||
DIST_VERSION="${PV/_rc/-RC}"
|
||||
fi
|
||||
SHORT_PV="${DIST_VERSION%.*}"
|
||||
# Even numbered major versions are ABI intercompatible
|
||||
# Odd numbered major versions are not
|
||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||
else
|
||||
SUBSLOT="${DIST_VERSION%.*}"
|
||||
fi
|
||||
# Used only in tar paths
|
||||
MY_P="perl-${DIST_VERSION}"
|
||||
# Used in library paths
|
||||
MY_PV="${DIST_VERSION%-RC*}"
|
||||
|
||||
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||
|
||||
SRC_URI="
|
||||
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||
mirror://gentoo/${PATCH_BASE}.tar.xz
|
||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||
"
|
||||
HOMEPAGE="https://www.perl.org/"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0/${SUBSLOT}"
|
||||
|
||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb debug doc gdbm ithreads"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||
app-arch/bzip2
|
||||
sys-libs/zlib
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
PDEPEND="
|
||||
>=app-admin/perl-cleaner-2.5
|
||||
>=virtual/perl-File-Temp-0.230.400-r2
|
||||
>=virtual/perl-Data-Dumper-2.154.0
|
||||
virtual/perl-Test-Harness
|
||||
"
|
||||
# bug 390719, bug 523624
|
||||
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
dual_scripts() {
|
||||
src_remove_dual perl-core/Archive-Tar 2.320.0 ptar ptardiff ptargrep
|
||||
src_remove_dual perl-core/CPAN 2.220.0 cpan
|
||||
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||
src_remove_dual perl-core/Encode 3.10.0 enc2xs piconv
|
||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
|
||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp
|
||||
src_remove_dual perl-core/IO-Compress 2.84.0 zipdetails
|
||||
src_remove_dual perl-core/JSON-PP 4.20.0 json_pp
|
||||
src_remove_dual perl-core/Module-CoreList 5.202.003.140 corelist
|
||||
src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
|
||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||
src_remove_dual perl-core/Test-Harness 3.420.0 prove
|
||||
src_remove_dual perl-core/podlators 4.110.0 pod2man pod2text
|
||||
src_remove_dual_man perl-core/podlators 4.110.0 /usr/share/man/man1/perlpodstyle.1
|
||||
}
|
||||
|
||||
check_rebuild() {
|
||||
# Fresh install
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
return 0;
|
||||
# Major Upgrade
|
||||
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||
# if the string is anything other than "5.CURRENTMAJOR"
|
||||
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||
echo ""
|
||||
ewarn "UPDATE THE PERL MODULES:"
|
||||
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||
ewarn "to ensure system consistency."
|
||||
ewarn
|
||||
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||
ewarn "Recommended: emerge --depclean -va"
|
||||
ewarn
|
||||
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||
ewarn "remaining rebuilds portage may have missed."
|
||||
ewarn "Use: perl-cleaner --all"
|
||||
return 0;
|
||||
|
||||
# Reinstall w/ USE Change
|
||||
elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||
echo ""
|
||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||
ewarn "You changed one of the use-flags ithreads or debug."
|
||||
ewarn "You must rebuild all perl-modules installed."
|
||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
case ${CHOST} in
|
||||
*-freebsd*) osname="freebsd" ;;
|
||||
*-dragonfly*) osname="dragonfly" ;;
|
||||
*-netbsd*) osname="netbsd" ;;
|
||||
*-openbsd*) osname="openbsd" ;;
|
||||
*-darwin*) osname="darwin" ;;
|
||||
*-solaris*) osname="solaris" ;;
|
||||
*-interix*) osname="interix" ;;
|
||||
*-aix*) osname="aix" ;;
|
||||
*-cygwin*) osname="cygwin" ;;
|
||||
*) osname="linux" ;;
|
||||
esac
|
||||
|
||||
myarch="${CHOST%%-*}-${osname}"
|
||||
if use debug ; then
|
||||
myarch+="-debug"
|
||||
fi
|
||||
if use ithreads ; then
|
||||
mythreading="-multi"
|
||||
myarch+="-thread"
|
||||
fi
|
||||
|
||||
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||
|
||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||
PRIV_LIB="${PRIV_BASE}/${MY_PV}"
|
||||
ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||
SITE_LIB="${SITE_BASE}/${MY_PV}"
|
||||
SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||
VENDOR_LIB="${VENDOR_BASE}/${MY_PV}"
|
||||
VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
src_remove_dual_file() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
setup)
|
||||
for i in "$@" ; do
|
||||
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual_man() {
|
||||
local i pkg ver ff
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||
ff=${ff##*${i#${i%.[0-9]}}}
|
||||
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
for i in "$@" ; do
|
||||
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare_update_patchlevel_h() {
|
||||
# Copied and modified from debian:
|
||||
# Copyright 2011 Niko Tyni
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the same terms as Perl itself.
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local prefix
|
||||
local patchoutput="patchlevel-gentoo.h"
|
||||
|
||||
[[ -f ${patchdir}/series ]] || return 0
|
||||
|
||||
while read patch
|
||||
do
|
||||
patchname=$(echo $patch | sed 's/\.diff$//')
|
||||
< $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
|
||||
|
||||
# massage the patch headers
|
||||
s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
|
||||
s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
|
||||
s|^Bug-Gentoo: ||; tprepend;
|
||||
s/^\(Subject\|Description\): //; tappend;
|
||||
s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
|
||||
|
||||
# post-process at the end of input
|
||||
$ { x;
|
||||
# include the version number in the patchlevel.h description (if available)
|
||||
s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
|
||||
|
||||
# escape any backslashes and double quotes
|
||||
s|\\|\\\\|g; s|"|\\"|g;
|
||||
|
||||
# add a prefix
|
||||
s|^|\t,"'"$prefix$patchname"' - |;
|
||||
# newlines away
|
||||
s/\n/ /g; s/ */ /g;
|
||||
# add a suffix
|
||||
s/ *$/"/; p
|
||||
};
|
||||
# stop all processing
|
||||
d;
|
||||
# label: append to the hold space
|
||||
:append H; d;
|
||||
# label: prepend to the hold space
|
||||
:prepend x; H; d;
|
||||
'
|
||||
done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}"
|
||||
echo "${patchoutput}" >> "${S}/MANIFEST"
|
||||
}
|
||||
|
||||
src_prepare_perlcross() {
|
||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||
|
||||
# bug 604072
|
||||
MAKEOPTS+=" -j1"
|
||||
export MAKEOPTS
|
||||
}
|
||||
src_prepare_dynamic() {
|
||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patch
|
||||
EPATCH_OPTS+=" -p1"
|
||||
|
||||
if use hppa ; then
|
||||
epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||
# when -lsocket is used e.g. to get h_errno
|
||||
sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die
|
||||
fi
|
||||
|
||||
einfo "Applying patches from ${PATCH_BASE} ..."
|
||||
while read patch ; do
|
||||
EPATCH_SINGLE_MSG=" ${patch} ..."
|
||||
epatch "${WORKDIR}"/patches/${patch}
|
||||
done < "${WORKDIR}"/patches/series
|
||||
|
||||
src_prepare_update_patchlevel_h
|
||||
|
||||
tc-is-cross-compiler && src_prepare_perlcross
|
||||
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
# Use errno.h from prefix rather than from host system, bug #645804
|
||||
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# set a soname, fix linking against just built libperl
|
||||
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name (soname) not to reference $D
|
||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
myconf() {
|
||||
# the myconf array is declared in src_configure
|
||||
myconf=( "${myconf[@]}" "$@" )
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
declare -a myconf
|
||||
|
||||
export LC_ALL="C"
|
||||
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||
|
||||
# Perl has problems compiling with -Os in your flags with glibc
|
||||
use elibc_uclibc || replace-flags "-Os" "-O2"
|
||||
|
||||
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||
# fine with glibc and locale.h only.
|
||||
# However, the darwin prefix people have no locale.h ...
|
||||
use elibc_glibc && myconf -Ui_xlocale
|
||||
|
||||
# This flag makes compiling crash in interesting ways
|
||||
filter-flags "-malign-double"
|
||||
|
||||
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||
filter-flags "-flto"
|
||||
|
||||
use sparc && myconf -Ud_longdbl
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
mygdbm='U'
|
||||
mydb='U'
|
||||
if use gdbm ; then
|
||||
mygdbm='D'
|
||||
if use berkdb ; then
|
||||
myndbm='D'
|
||||
fi
|
||||
fi
|
||||
if use berkdb ; then
|
||||
mydb='D'
|
||||
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||
fi
|
||||
|
||||
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||
|
||||
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||
myconf -Ui_db -Ui_ndbm
|
||||
fi
|
||||
|
||||
use ithreads && myconf -Dusethreads
|
||||
|
||||
if use debug ; then
|
||||
append-cflags "-g"
|
||||
myconf -DDEBUGGING
|
||||
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||
myconf -DDEBUGGING=-g
|
||||
else
|
||||
myconf -DDEBUGGING=none
|
||||
fi
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||
PERL_OLDVERSEN="$(
|
||||
find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \
|
||||
-maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \
|
||||
-printf "%f " 2>/dev/null )"
|
||||
fi
|
||||
# Fixup versions, removing self match, fixing order and dupes
|
||||
PERL_OLDVERSEN="$(
|
||||
echo "${PERL_OLDVERSEN}" |\
|
||||
tr " " "\n" |\
|
||||
grep -vF "${DIST_VERSION%-RC}" |\
|
||||
sort -u -nr -t'.' -k1,1 -k2,2 -k3,3
|
||||
)"
|
||||
|
||||
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||
local inclist="$(
|
||||
for v in ${PERL_OLDVERSEN}; do
|
||||
has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} ";
|
||||
echo -n "${v} ";
|
||||
done )"
|
||||
einfo "This version of perl may partially support modules previously"
|
||||
einfo "installed in any of the following paths:"
|
||||
for incpath in ${inclist}; do
|
||||
[[ -e "${EROOT%/}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${VENDOR_BASE}/${incpath}"
|
||||
[[ -e "${EROOT%/}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROO%/T}${PRIV_BASE}/${incpath}"
|
||||
[[ -e "${EROOT%/}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${SITE_BASE}/${incpath}"
|
||||
done
|
||||
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||
einfo "via world updates and perl-cleaner"
|
||||
myconf -Dinc_version_list="${inclist}"
|
||||
fi
|
||||
|
||||
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||
|
||||
# Make sure we can do the final link #523730, need to set deployment
|
||||
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||
[[ ${CHOST} == *-darwin* ]] && \
|
||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||
|
||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||
# using c89 mode as injected by cflags.SH
|
||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||
append-cflags -Dinline=__inline__
|
||||
|
||||
# fix unaligned access misdetection
|
||||
# https://rt.perl.org/Public/Bug/Display.html?id=133495
|
||||
# https://rt.perl.org/Public/Bug/Display.html?id=133803
|
||||
# bug #676062, bug #688432
|
||||
use hppa || use sparc || [[ ${CHOST} == sparc*-solaris* ]] || \
|
||||
[[ ${CHOST} == armv5tel* ]] \
|
||||
&& myconf "-Dd_u32align='define'"
|
||||
|
||||
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||
# something compatible.
|
||||
if use prefix ; then
|
||||
# Set a hook to check for each detected library whether it actually works.
|
||||
export libscheck="
|
||||
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||
) || xxx=/dev/null"
|
||||
|
||||
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||
# We need to use " and not ', as the written config.sh use ' ...
|
||||
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||
fi
|
||||
|
||||
# don't try building ODBM, bug #354453
|
||||
disabled_extensions="ODBM_File"
|
||||
|
||||
if ! use gdbm ; then
|
||||
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||
fi
|
||||
|
||||
myconf -Dnoextensions="${disabled_extensions}"
|
||||
|
||||
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||
|
||||
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||
|
||||
myconf \
|
||||
-Duseshrplib \
|
||||
-Darchname="${myarch}" \
|
||||
-Dcc="$(tc-getCC)" \
|
||||
-Dar="$(tc-getAR)" \
|
||||
-Doptimize="${CFLAGS}" \
|
||||
-Dldflags="${LDFLAGS}" \
|
||||
-Dprefix="${EPREFIX}"'/usr' \
|
||||
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dlibperl="${LIBPERL}" \
|
||||
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||
-Duselargefiles \
|
||||
-Dd_semctl_semun \
|
||||
-Dcf_by='Gentoo' \
|
||||
-Dmyhostname='localhost' \
|
||||
-Dperladmin='root@localhost' \
|
||||
-Ud_csh \
|
||||
-Dsh="${EPREFIX}"/bin/sh \
|
||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||
-Uusenm \
|
||||
"${myconf[@]}" \
|
||||
"${EXTRA_ECONF[@]}"
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--build="${CBUILD}" \
|
||||
-Dinstallprefix='' \
|
||||
-Dinstallusrbinperl='undef' \
|
||||
-Dusevendorprefix='define' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
else
|
||||
sh Configure \
|
||||
-des \
|
||||
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||
-Dinstallusrbinperl='n' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export NO_GENTOO_NETWORK_TESTS=1;
|
||||
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||
return 0
|
||||
fi
|
||||
use elibc_uclibc && export MAKEOPTS+=" -j1"
|
||||
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i
|
||||
local coredir="${ARCH_LIB}/CORE"
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||
|
||||
if ! tc-is-static-only ; then
|
||||
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||
|
||||
# This removes ${D} from Config.pm
|
||||
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||
einfo "Removing ${D} from ${i}..."
|
||||
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||
done
|
||||
|
||||
dodoc Changes* README AUTHORS
|
||||
|
||||
if use doc ; then
|
||||
# HTML Documentation
|
||||
# We expect errors, warnings, and such with the following.
|
||||
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||
--podroot='.' \
|
||||
--podpath='lib:ext:pod:vms' \
|
||||
--recurse \
|
||||
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||
fi
|
||||
|
||||
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
check_rebuild
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
dual_scripts
|
||||
|
||||
if [[ "${ROOT}" = "/" ]] ; then
|
||||
local INC DIR file
|
||||
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||
einfo "Removing old .ph files"
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||
rm -f "${file}"
|
||||
einfo "<< ${file}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
# Silently remove the now empty dirs
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
dual_scripts
|
||||
}
|
@ -1,653 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.3.2
|
||||
PATCH_BASE="perl-5.30.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
DIST_AUTHOR=SHAY
|
||||
|
||||
# Greatest first, don't include yourself
|
||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||
# BIN_OLDVERSEN is contains only C-ABI-intercompatible versions
|
||||
PERL_BIN_OLDVERSEN="5.30.0 5.30.1"
|
||||
|
||||
if [[ "${PV##*.}" == "9999" ]]; then
|
||||
DIST_VERSION=5.30.0
|
||||
else
|
||||
DIST_VERSION="${PV/_rc/-RC}"
|
||||
fi
|
||||
SHORT_PV="${DIST_VERSION%.*}"
|
||||
# Even numbered major versions are ABI intercompatible
|
||||
# Odd numbered major versions are not
|
||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||
else
|
||||
SUBSLOT="${DIST_VERSION%.*}"
|
||||
fi
|
||||
# Used only in tar paths
|
||||
MY_P="perl-${DIST_VERSION}"
|
||||
# Used in library paths
|
||||
MY_PV="${DIST_VERSION%-RC*}"
|
||||
|
||||
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||
|
||||
SRC_URI="
|
||||
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||
https://github.com/gentoo-perl/perl-patchset/releases/download/${PATCH_BASE}/${PATCH_BASE}.tar.xz
|
||||
mirror://gentoo/${PATCH_BASE}.tar.xz
|
||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.xz
|
||||
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||
"
|
||||
HOMEPAGE="https://www.perl.org/"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
SLOT="0/${SUBSLOT}"
|
||||
|
||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb debug doc gdbm ithreads"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||
app-arch/bzip2
|
||||
sys-libs/zlib
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
PDEPEND="
|
||||
>=app-admin/perl-cleaner-2.5
|
||||
>=virtual/perl-File-Temp-0.230.400-r2
|
||||
>=virtual/perl-Data-Dumper-2.154.0
|
||||
virtual/perl-Test-Harness
|
||||
"
|
||||
# bug 390719, bug 523624
|
||||
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
dual_scripts() {
|
||||
src_remove_dual perl-core/Archive-Tar 2.320.0 ptar ptardiff ptargrep
|
||||
src_remove_dual perl-core/CPAN 2.220.0 cpan
|
||||
src_remove_dual perl-core/Digest-SHA 6.20.0 shasum
|
||||
src_remove_dual perl-core/Encode 3.10.0 enc2xs piconv
|
||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.340.0 instmodsh
|
||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.400.0 xsubpp
|
||||
src_remove_dual perl-core/IO-Compress 2.84.0 zipdetails
|
||||
src_remove_dual perl-core/JSON-PP 4.20.0 json_pp
|
||||
src_remove_dual perl-core/Module-CoreList 5.202.003.140 corelist
|
||||
src_remove_dual perl-core/Pod-Parser 1.630.0 pod2usage podchecker podselect
|
||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||
src_remove_dual perl-core/Test-Harness 3.420.0 prove
|
||||
src_remove_dual perl-core/podlators 4.110.0 pod2man pod2text
|
||||
src_remove_dual_man perl-core/podlators 4.110.0 /usr/share/man/man1/perlpodstyle.1
|
||||
}
|
||||
|
||||
check_rebuild() {
|
||||
# Fresh install
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
return 0;
|
||||
# Major Upgrade
|
||||
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||
# if the string is anything other than "5.CURRENTMAJOR"
|
||||
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||
echo ""
|
||||
ewarn "UPDATE THE PERL MODULES:"
|
||||
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||
ewarn "to ensure system consistency."
|
||||
ewarn
|
||||
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||
ewarn "Recommended: emerge --depclean -va"
|
||||
ewarn
|
||||
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||
ewarn "remaining rebuilds portage may have missed."
|
||||
ewarn "Use: perl-cleaner --all"
|
||||
return 0;
|
||||
|
||||
# Reinstall w/ USE Change
|
||||
elif ( use ithreads && ! has_version dev-lang/perl[ithreads] ) || \
|
||||
( ! use ithreads && has_version dev-lang/perl[ithreads] ) || \
|
||||
( use debug && ! has_version dev-lang/perl[debug] ) || \
|
||||
( ! use debug && has_version dev-lang/perl[debug] ) ; then
|
||||
echo ""
|
||||
ewarn "TOGGLED USE-FLAGS WARNING:"
|
||||
ewarn "You changed one of the use-flags ithreads or debug."
|
||||
ewarn "You must rebuild all perl-modules installed."
|
||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
case ${CHOST} in
|
||||
*-freebsd*) osname="freebsd" ;;
|
||||
*-dragonfly*) osname="dragonfly" ;;
|
||||
*-netbsd*) osname="netbsd" ;;
|
||||
*-openbsd*) osname="openbsd" ;;
|
||||
*-darwin*) osname="darwin" ;;
|
||||
*-solaris*) osname="solaris" ;;
|
||||
*-interix*) osname="interix" ;;
|
||||
*-aix*) osname="aix" ;;
|
||||
*-cygwin*) osname="cygwin" ;;
|
||||
*) osname="linux" ;;
|
||||
esac
|
||||
|
||||
myarch="${CHOST%%-*}-${osname}"
|
||||
if use debug ; then
|
||||
myarch+="-debug"
|
||||
fi
|
||||
if use ithreads ; then
|
||||
mythreading="-multi"
|
||||
myarch+="-thread"
|
||||
fi
|
||||
|
||||
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||
|
||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||
PRIV_LIB="${PRIV_BASE}/${MY_PV}"
|
||||
ARCH_LIB="${PRIV_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||
SITE_LIB="${SITE_BASE}/${MY_PV}"
|
||||
SITE_ARCH="${SITE_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||
VENDOR_LIB="${VENDOR_BASE}/${MY_PV}"
|
||||
VENDOR_ARCH="${VENDOR_BASE}/${MY_PV}/${myarch}${mythreading}"
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
src_remove_dual_file() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
setup)
|
||||
for i in "$@" ; do
|
||||
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual_man() {
|
||||
local i pkg ver ff
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||
ff=${ff##*${i#${i%.[0-9]}}}
|
||||
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
for i in "$@" ; do
|
||||
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare_update_patchlevel_h() {
|
||||
# Copied and modified from debian:
|
||||
# Copyright 2011 Niko Tyni
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the same terms as Perl itself.
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local prefix
|
||||
local patchoutput="patchlevel-gentoo.h"
|
||||
|
||||
[[ -f ${patchdir}/series ]] || return 0
|
||||
|
||||
while read patch
|
||||
do
|
||||
patchname=$(echo $patch | sed 's/\.diff$//')
|
||||
< $patchdir/$patch sed -e '/^Subject:/ { N; s/\n / / }' | sed -n -e '
|
||||
|
||||
# massage the patch headers
|
||||
s|^Bug: .*https\?://rt\.perl\.org/.*id=\(.*\).*|[perl #\1]|; tprepend;
|
||||
s|^Bug: .*https\?://rt\.cpan\.org/.*id=\(.*\).*|[rt.cpan.org #\1]|; tprepend;
|
||||
s|^Bug-Gentoo: ||; tprepend;
|
||||
s/^\(Subject\|Description\): //; tappend;
|
||||
s|^Origin: .*http://perl5\.git\.perl\.org/perl\.git/commit\(diff\)\?/\(.......\).*|[\2]|; tprepend;
|
||||
|
||||
# post-process at the end of input
|
||||
$ { x;
|
||||
# include the version number in the patchlevel.h description (if available)
|
||||
s/List packaged patches/&'" for ${PF}(#${PATCH_VER})"'/;
|
||||
|
||||
# escape any backslashes and double quotes
|
||||
s|\\|\\\\|g; s|"|\\"|g;
|
||||
|
||||
# add a prefix
|
||||
s|^|\t,"'"$prefix$patchname"' - |;
|
||||
# newlines away
|
||||
s/\n/ /g; s/ */ /g;
|
||||
# add a suffix
|
||||
s/ *$/"/; p
|
||||
};
|
||||
# stop all processing
|
||||
d;
|
||||
# label: append to the hold space
|
||||
:append H; d;
|
||||
# label: prepend to the hold space
|
||||
:prepend x; H; d;
|
||||
'
|
||||
done < "${WORKDIR}"/patches/series > "${S}/${patchoutput}"
|
||||
echo "${patchoutput}" >> "${S}/MANIFEST"
|
||||
}
|
||||
|
||||
src_prepare_perlcross() {
|
||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||
|
||||
# bug 604072
|
||||
MAKEOPTS+=" -j1"
|
||||
export MAKEOPTS
|
||||
}
|
||||
src_prepare_dynamic() {
|
||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local patch
|
||||
EPATCH_OPTS+=" -p1"
|
||||
|
||||
if use hppa ; then
|
||||
epatch "${FILESDIR}/${PN}-5.26.2-hppa.patch" # bug 634162
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||
# when -lsocket is used e.g. to get h_errno
|
||||
sed -i '/gentoo\/no-nsl-cl\.patch/d' "${WORKDIR}/patches/series" || die
|
||||
fi
|
||||
|
||||
einfo "Applying patches from ${PATCH_BASE} ..."
|
||||
while read patch ; do
|
||||
EPATCH_SINGLE_MSG=" ${patch} ..."
|
||||
epatch "${WORKDIR}"/patches/${patch}
|
||||
done < "${WORKDIR}"/patches/series
|
||||
|
||||
src_prepare_update_patchlevel_h
|
||||
|
||||
tc-is-cross-compiler && src_prepare_perlcross
|
||||
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
# Use errno.h from prefix rather than from host system, bug #645804
|
||||
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# set a soname, fix linking against just built libperl
|
||||
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name (soname) not to reference $D
|
||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
myconf() {
|
||||
# the myconf array is declared in src_configure
|
||||
myconf=( "${myconf[@]}" "$@" )
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
declare -a myconf
|
||||
|
||||
export LC_ALL="C"
|
||||
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||
|
||||
# Perl has problems compiling with -Os in your flags with glibc
|
||||
use elibc_uclibc || replace-flags "-Os" "-O2"
|
||||
|
||||
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||
# fine with glibc and locale.h only.
|
||||
# However, the darwin prefix people have no locale.h ...
|
||||
use elibc_glibc && myconf -Ui_xlocale
|
||||
|
||||
# This flag makes compiling crash in interesting ways
|
||||
filter-flags "-malign-double"
|
||||
|
||||
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||
filter-flags "-flto"
|
||||
|
||||
use sparc && myconf -Ud_longdbl
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
mygdbm='U'
|
||||
mydb='U'
|
||||
if use gdbm ; then
|
||||
mygdbm='D'
|
||||
if use berkdb ; then
|
||||
myndbm='D'
|
||||
fi
|
||||
fi
|
||||
if use berkdb ; then
|
||||
mydb='D'
|
||||
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||
fi
|
||||
|
||||
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||
|
||||
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||
myconf -Ui_db -Ui_ndbm
|
||||
fi
|
||||
|
||||
use ithreads && myconf -Dusethreads
|
||||
|
||||
if use debug ; then
|
||||
append-cflags "-g"
|
||||
myconf -DDEBUGGING
|
||||
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||
myconf -DDEBUGGING=-g
|
||||
else
|
||||
myconf -DDEBUGGING=none
|
||||
fi
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||
PERL_OLDVERSEN="$(
|
||||
find "${EROOT%/}${PRIV_BASE}" "${EROOT%/}${SITE_BASE}" "${EROOT%/}${VENDOR_BASE}" \
|
||||
-maxdepth 1 -mindepth 1 -type d -regex '.*/5[.][0-9]+[.][0-9]+$' \
|
||||
-printf "%f " 2>/dev/null )"
|
||||
fi
|
||||
# Fixup versions, removing self match, fixing order and dupes
|
||||
PERL_OLDVERSEN="$(
|
||||
echo "${PERL_OLDVERSEN}" |\
|
||||
tr " " "\n" |\
|
||||
grep -vF "${DIST_VERSION%-RC}" |\
|
||||
sort -u -nr -t'.' -k1,1 -k2,2 -k3,3
|
||||
)"
|
||||
|
||||
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||
local inclist="$(
|
||||
for v in ${PERL_OLDVERSEN}; do
|
||||
has "${v}" ${PERL_BIN_OLDVERSEN} && echo -n "${v}/${myarch}${mythreading} ";
|
||||
echo -n "${v} ";
|
||||
done )"
|
||||
einfo "This version of perl may partially support modules previously"
|
||||
einfo "installed in any of the following paths:"
|
||||
for incpath in ${inclist}; do
|
||||
[[ -e "${EROOT%/}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${VENDOR_BASE}/${incpath}"
|
||||
[[ -e "${EROOT%/}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROO%/T}${PRIV_BASE}/${incpath}"
|
||||
[[ -e "${EROOT%/}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT%/}${SITE_BASE}/${incpath}"
|
||||
done
|
||||
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||
einfo "via world updates and perl-cleaner"
|
||||
myconf -Dinc_version_list="${inclist}"
|
||||
fi
|
||||
|
||||
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||
|
||||
# Make sure we can do the final link #523730, need to set deployment
|
||||
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||
[[ ${CHOST} == *-darwin* ]] && \
|
||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||
|
||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||
# using c89 mode as injected by cflags.SH
|
||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||
append-cflags -Dinline=__inline__
|
||||
|
||||
# fix unaligned access misdetection
|
||||
# https://rt.perl.org/Public/Bug/Display.html?id=133495
|
||||
# https://rt.perl.org/Public/Bug/Display.html?id=133803
|
||||
# bug #676062, bug #688432
|
||||
use hppa || use sparc || [[ ${CHOST} == sparc*-solaris* ]] || \
|
||||
[[ ${CHOST} == armv5tel* ]] \
|
||||
&& myconf "-Dd_u32align='define'"
|
||||
|
||||
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||
# something compatible.
|
||||
if use prefix ; then
|
||||
# Set a hook to check for each detected library whether it actually works.
|
||||
export libscheck="
|
||||
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||
) || xxx=/dev/null"
|
||||
|
||||
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||
# We need to use " and not ', as the written config.sh use ' ...
|
||||
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||
fi
|
||||
|
||||
# don't try building ODBM, bug #354453
|
||||
disabled_extensions="ODBM_File"
|
||||
|
||||
if ! use gdbm ; then
|
||||
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||
fi
|
||||
|
||||
myconf -Dnoextensions="${disabled_extensions}"
|
||||
|
||||
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||
|
||||
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||
|
||||
myconf \
|
||||
-Duseshrplib \
|
||||
-Darchname="${myarch}" \
|
||||
-Dcc="$(tc-getCC)" \
|
||||
-Doptimize="${CFLAGS}" \
|
||||
-Dldflags="${LDFLAGS}" \
|
||||
-Dprefix="${EPREFIX}"'/usr' \
|
||||
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dlibperl="${LIBPERL}" \
|
||||
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||
-Duselargefiles \
|
||||
-Dd_semctl_semun \
|
||||
-Dcf_by='Gentoo' \
|
||||
-Dmyhostname='localhost' \
|
||||
-Dperladmin='root@localhost' \
|
||||
-Ud_csh \
|
||||
-Dsh="${EPREFIX}"/bin/sh \
|
||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||
-Uusenm \
|
||||
"${myconf[@]}" \
|
||||
"${EXTRA_ECONF[@]}"
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--build="${CBUILD}" \
|
||||
-Dinstallprefix='' \
|
||||
-Dinstallusrbinperl='undef' \
|
||||
-Dusevendorprefix='define' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
else
|
||||
sh Configure \
|
||||
-des \
|
||||
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||
-Dinstallusrbinperl='n' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export NO_GENTOO_NETWORK_TESTS=1;
|
||||
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||
return 0
|
||||
fi
|
||||
use elibc_uclibc && export MAKEOPTS+=" -j1"
|
||||
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i
|
||||
local coredir="${ARCH_LIB}/CORE"
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||
|
||||
if ! tc-is-static-only ; then
|
||||
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||
|
||||
# This removes ${D} from Config.pm
|
||||
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||
einfo "Removing ${D} from ${i}..."
|
||||
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||
done
|
||||
|
||||
dodoc Changes* README AUTHORS
|
||||
|
||||
if use doc ; then
|
||||
# HTML Documentation
|
||||
# We expect errors, warnings, and such with the following.
|
||||
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||
--podroot='.' \
|
||||
--podpath='lib:ext:pod:vms' \
|
||||
--recurse \
|
||||
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||
fi
|
||||
|
||||
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
check_rebuild
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
dual_scripts
|
||||
|
||||
if [[ "${ROOT}" = "/" ]] ; then
|
||||
local INC DIR file
|
||||
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||
einfo "Removing old .ph files"
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||
rm -f "${file}"
|
||||
einfo "<< ${file}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
# Silently remove the now empty dirs
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
dual_scripts
|
||||
}
|
@ -0,0 +1,336 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
|
||||
RUBY_OPTIONAL="yes"
|
||||
USE_RUBY="ruby26"
|
||||
|
||||
PHP_EXT_NAME="IcePHP"
|
||||
PHP_EXT_INI="yes"
|
||||
PHP_EXT_ZENDEXT="no"
|
||||
|
||||
PHP_EXT_OPTIONAL_USE=php
|
||||
|
||||
USE_PHP="php7-4"
|
||||
|
||||
# This variable does not belong to any eclass. It is solely used in this ebuild
|
||||
BERKDB_SLOTS=( 6.2 6.1 5.3 5.1 4.8 )
|
||||
|
||||
inherit db-use mono-env php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
|
||||
|
||||
DESCRIPTION="ICE middleware C++ library and generator tools"
|
||||
HOMEPAGE="https://zeroc.com/products/ice"
|
||||
SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.6.4.pdf )"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/36"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="debug doc examples libressl +readline mono php python ruby test"
|
||||
RESTRICT="test"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND=">=dev-libs/expat-2.0.1
|
||||
>=app-arch/bzip2-1.0.5
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
|| (
|
||||
$(for slot in ${BERKDB_SLOTS[@]} ; do printf '%s\n' "sys-libs/db:${slot}[cxx]" ; done)
|
||||
)
|
||||
dev-cpp/libmcpp
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
ruby? ( $(ruby_implementation_depend ruby26) )
|
||||
mono? ( dev-lang/mono )"
|
||||
DEPEND="${RDEPEND}
|
||||
readline? ( sys-libs/readline:0= )
|
||||
test? (
|
||||
${PYTHON_DEPS}
|
||||
dev-python/passlib[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
# Maintainer notes:
|
||||
# TODO: java bindings
|
||||
|
||||
S="${WORKDIR}/${P,}"
|
||||
PHP_EXT_S="${S}/php"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-3.6.3-no-arch-opts.patch"
|
||||
"${FILESDIR}/${P}-db6.patch"
|
||||
"${FILESDIR}/${P}-csharp.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# prevent ruby-ng.eclass from messing with pkg_setup
|
||||
return
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
# prevent ruby-ng.eclass from messing with src_unpack
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed -i \
|
||||
-e 's|-L\$\(libdir\)||' \
|
||||
cpp/config/Make.rules || die
|
||||
|
||||
sed -i \
|
||||
-e 's|-O2 ||g' \
|
||||
-e 's|-Werror ||g' \
|
||||
cpp/config/Make.rules.Linux || die
|
||||
|
||||
sed -i \
|
||||
-e 's|install-common||' \
|
||||
{cpp,csharp,php,python,ruby}/Makefile || die
|
||||
|
||||
sed -i \
|
||||
-e 's|-f -root|-f -gacdir $(GAC_DIR) -root|' \
|
||||
csharp/config/Make.rules.cs || die
|
||||
|
||||
# skip mono tests, bug #498484
|
||||
sed -i \
|
||||
-e '/SUBDIRS/s|\ test||' \
|
||||
csharp/Makefile || die
|
||||
|
||||
# skip udp test due to multicast
|
||||
# skip IceGrid/admin bug #649850
|
||||
# skip IceSSL tests due to requirement of internet connection
|
||||
# skip IceStorm/single bug #636834
|
||||
# IceUtil/stacktrace and IceStorm/stress fail with USE=debug
|
||||
# Glacier2/staticFiltering requires network access
|
||||
sed -i \
|
||||
-e 's|allTests.py|allTests.py --rfilter=udp --rfilter=IceGrid\/admin --rfilter=IceSSL --rfilter=IceStorm\/single --rfilter=IceStorm\/stress --rfilter=IceUtil\/stacktrace --rfilter=Glacier2\/staticFiltering|' \
|
||||
cpp/Makefile || die
|
||||
|
||||
# fails even on unicode locale
|
||||
sed -i \
|
||||
-e 's|allTests.py|allTests.py --rfilter=Slice\/unicodePaths|' \
|
||||
ruby/Makefile || die
|
||||
|
||||
# fix for x86 IceBox test
|
||||
sed -i \
|
||||
-e 's|"32"|""|' \
|
||||
scripts/TestUtil.py || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
suitable_db_version() {
|
||||
local ver
|
||||
for ver in "${BERKDB_SLOTS[@]}"; do
|
||||
if [[ -n $(db_findver sys-libs/db:${ver}) ]]; then
|
||||
echo "${ver}"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
die "No suitable BerkDB versions found, aborting"
|
||||
}
|
||||
|
||||
MAKE_RULES=(
|
||||
"prefix=\"${ED}/usr\""
|
||||
"install_docdir=\"${ED}/usr/share/doc/${PF}\""
|
||||
"install_configdir=\"${ED}/usr/share/${P}/config\""
|
||||
"install_mandir=\"${ED}/usr/share/man/man1\""
|
||||
"embedded_runpath_prefix=\"${EPREFIX}/usr\""
|
||||
"LP64=yes"
|
||||
"new_dtags=yes"
|
||||
"NOTEST=$(usex !test)"
|
||||
"USE_READLINE=$(usex readline)"
|
||||
"OPTIMIZE=$(usex !debug)"
|
||||
)
|
||||
|
||||
local BERKDB_VERSION="$(suitable_db_version)"
|
||||
MAKE_RULES+=("DB_FLAGS=-I$(db_includedir ${BERKDB_VERSION})")
|
||||
sed -i \
|
||||
-e "s|g++|$(tc-getCXX)|" \
|
||||
-e "s|\(CFLAGS[[:space:]]*=\)|\1 ${CFLAGS}|" \
|
||||
-e "s|\(CXXFLAGS[[:space:]]*=\)|\1 ${CXXFLAGS}|" \
|
||||
-e "s|\(LDFLAGS[[:space:]]*=\)|\1 ${LDFLAGS}|" \
|
||||
-e "s|\(DB_LIBS[[:space:]]*=\) \-ldb_cxx|\1 -ldb_cxx-$(db_findver sys-libs/db:${BERKDB_VERSION})|" \
|
||||
cpp/config/Make.rules{,.Linux} python/config/Make.rules || die
|
||||
|
||||
if use python; then
|
||||
local S="${S}/python"
|
||||
python_copy_sources
|
||||
fi
|
||||
|
||||
if use ruby; then
|
||||
SITERUBY="$(ruby26 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
|
||||
SITERUBYARCH="$(ruby26 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
|
||||
MAKE_RULES_RUBY=(
|
||||
"install_rubydir=\"${ED}/${SITERUBY}\""
|
||||
"install_libdir=\"${ED}/${SITERUBYARCH}\""
|
||||
)
|
||||
|
||||
# make it use ruby26 only
|
||||
sed -i \
|
||||
-e 's|RUBY = ruby|\026|' \
|
||||
ruby/config/Make.rules || die
|
||||
sed -i \
|
||||
-e 's|env ruby|\026|' \
|
||||
ruby/config/s2rb.rb || die
|
||||
sed -i \
|
||||
-e 's|env ruby|\026|' \
|
||||
ruby/scripts/slice2rb || die
|
||||
sed -i \
|
||||
-e 's|output.write("ruby|\026|' \
|
||||
scripts/TestUtil.py || die
|
||||
fi
|
||||
|
||||
MAKE_RULES_MONO=(
|
||||
"GACINSTALL=yes"
|
||||
"GAC_ROOT=\"${ED}/usr/$(get_libdir)\""
|
||||
"GAC_DIR=\"${EPREFIX}/usr/$(get_libdir)\""
|
||||
"install_libdir=\"${ED}/usr/$(get_libdir)\""
|
||||
"install_pkgconfigdir=\"${ED}/usr/$(get_libdir)/pkgconfig\""
|
||||
)
|
||||
|
||||
if has_version ">dev-lang/mono-4"; then
|
||||
MAKE_RULES_MONO+=("MCS=mcs")
|
||||
fi
|
||||
|
||||
use test && python_setup
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Do not remove this export or build will break!
|
||||
tc-export CXX
|
||||
|
||||
emake -C cpp "${MAKE_RULES[@]}"
|
||||
|
||||
if use php; then
|
||||
local i
|
||||
for i in $(php_get_slots); do
|
||||
mkdir -p "${WORKDIR}/${i}" || die
|
||||
cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
|
||||
|
||||
pushd "${WORKDIR}/${i}" >/dev/null || die
|
||||
ln -s "${S}/cpp" || die
|
||||
ln -s "${S}/config" || die
|
||||
ln -s "${S}/slice" || die
|
||||
ln -s "${S}/Makefile" || die
|
||||
|
||||
emake -C php "${MAKE_RULES[@]}" USE_NAMESPACES=yes "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
|
||||
popd >/dev/null || die
|
||||
done
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
building() {
|
||||
emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
|
||||
}
|
||||
local S="${S}/python"
|
||||
python_foreach_impl building
|
||||
fi
|
||||
|
||||
if use ruby; then
|
||||
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
|
||||
fi
|
||||
|
||||
if use mono; then
|
||||
emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
emake -C cpp "${MAKE_RULES[@]}" test
|
||||
|
||||
# php tests require the extension loaded and are therefore skipped
|
||||
|
||||
if use python; then
|
||||
testing() {
|
||||
PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
|
||||
"${MAKE_RULES[@]}" \
|
||||
PYTHON="${EPYTHON}" \
|
||||
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
|
||||
install_libdir="\"${D}/$(python_get_sitedir)\"" test
|
||||
}
|
||||
local S="${S}/python"
|
||||
python_foreach_impl testing
|
||||
fi
|
||||
|
||||
if use ruby; then
|
||||
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
|
||||
fi
|
||||
|
||||
if use mono; then
|
||||
# skip mono tests, bug #498484
|
||||
ewarn "Tests for C# are currently disabled."
|
||||
#emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}" test
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( CHANGELOG*.md README.md )
|
||||
use doc && DOCS+=( "${DISTDIR}/${PN}-3.6.4.pdf" )
|
||||
einstalldocs
|
||||
|
||||
insinto /usr/share/${P}
|
||||
doins -r slice
|
||||
|
||||
emake -C cpp "${MAKE_RULES[@]}" install
|
||||
|
||||
if use examples; then
|
||||
docinto examples-cpp
|
||||
dodoc cpp/config/*.cfg
|
||||
docompress -x /usr/share/doc/${PF}/examples-cpp
|
||||
fi
|
||||
|
||||
if use php; then
|
||||
insinto "/usr/share/php/${PN}"
|
||||
|
||||
local i
|
||||
while IFS="" read -d $'\0' -r i; do
|
||||
doins "${i}"
|
||||
done < <(find "${S}/php/lib/" -name '*.php' -print0)
|
||||
|
||||
pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
|
||||
|
||||
local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
|
||||
for i in *; do
|
||||
mkdir -p "${ED}/usr/share/php/${i}" || die
|
||||
"${ED}"/usr/bin/slice2php \
|
||||
-I"${ED}/usr/share/${P}/slice/" --all \
|
||||
--output-dir "${ED}/usr/share/php/${i}" \
|
||||
--ice "${ED}/usr/share/${P}/slice/${i}"/*
|
||||
done
|
||||
|
||||
for i in $(php_get_slots); do
|
||||
php_init_slot_env "${i}"
|
||||
insinto "${EXT_DIR}"
|
||||
newins "php/lib/${PHP_EXT_NAME}.so" "${PHP_EXT_NAME}.so"
|
||||
done
|
||||
php-ext-source-r3_createinifiles
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
installation() {
|
||||
mkdir -p "${D}/$(python_get_sitedir)" || die
|
||||
|
||||
emake -C "${BUILD_DIR}" \
|
||||
"${MAKE_RULES[@]}" \
|
||||
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
|
||||
install_libdir="\"${D}/$(python_get_sitedir)\"" \
|
||||
install
|
||||
python_optimize
|
||||
}
|
||||
local S="${S}/python"
|
||||
python_foreach_impl installation
|
||||
fi
|
||||
|
||||
if use ruby; then
|
||||
dodir "${SITERUBY}"
|
||||
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install
|
||||
fi
|
||||
|
||||
if use mono; then
|
||||
emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}" install
|
||||
fi
|
||||
}
|
@ -0,0 +1,336 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
|
||||
RUBY_OPTIONAL="yes"
|
||||
USE_RUBY="ruby25"
|
||||
|
||||
PHP_EXT_NAME="IcePHP"
|
||||
PHP_EXT_INI="yes"
|
||||
PHP_EXT_ZENDEXT="no"
|
||||
|
||||
PHP_EXT_OPTIONAL_USE=php
|
||||
|
||||
USE_PHP="php7-4"
|
||||
|
||||
# This variable does not belong to any eclass. It is solely used in this ebuild
|
||||
BERKDB_SLOTS=( 6.2 6.1 5.3 5.1 4.8 )
|
||||
|
||||
inherit db-use mono-env php-ext-source-r3 python-r1 ruby-ng toolchain-funcs
|
||||
|
||||
DESCRIPTION="ICE middleware C++ library and generator tools"
|
||||
HOMEPAGE="https://zeroc.com/products/ice"
|
||||
SRC_URI="https://github.com/zeroc-ice/ice/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
doc? ( https://download.zeroc.com/Ice/$(ver_cut 1-2)/${PN}-3.6.4.pdf )"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/36"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="debug doc examples libressl +readline mono php python ruby test"
|
||||
RESTRICT="test"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
RDEPEND=">=dev-libs/expat-2.0.1
|
||||
>=app-arch/bzip2-1.0.5
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
|| (
|
||||
$(for slot in ${BERKDB_SLOTS[@]} ; do printf '%s\n' "sys-libs/db:${slot}[cxx]" ; done)
|
||||
)
|
||||
dev-cpp/libmcpp
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
ruby? ( $(ruby_implementation_depend ruby25) )
|
||||
mono? ( dev-lang/mono )"
|
||||
DEPEND="${RDEPEND}
|
||||
readline? ( sys-libs/readline:0= )
|
||||
test? (
|
||||
${PYTHON_DEPS}
|
||||
dev-python/passlib[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
# Maintainer notes:
|
||||
# TODO: java bindings
|
||||
|
||||
S="${WORKDIR}/${P,}"
|
||||
PHP_EXT_S="${S}/php"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-3.6.3-no-arch-opts.patch"
|
||||
"${FILESDIR}/${P}-db6.patch"
|
||||
"${FILESDIR}/${P}-csharp.patch"
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# prevent ruby-ng.eclass from messing with pkg_setup
|
||||
return
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
# prevent ruby-ng.eclass from messing with src_unpack
|
||||
default
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
sed -i \
|
||||
-e 's|-L\$\(libdir\)||' \
|
||||
cpp/config/Make.rules || die
|
||||
|
||||
sed -i \
|
||||
-e 's|-O2 ||g' \
|
||||
-e 's|-Werror ||g' \
|
||||
cpp/config/Make.rules.Linux || die
|
||||
|
||||
sed -i \
|
||||
-e 's|install-common||' \
|
||||
{cpp,csharp,php,python,ruby}/Makefile || die
|
||||
|
||||
sed -i \
|
||||
-e 's|-f -root|-f -gacdir $(GAC_DIR) -root|' \
|
||||
csharp/config/Make.rules.cs || die
|
||||
|
||||
# skip mono tests, bug #498484
|
||||
sed -i \
|
||||
-e '/SUBDIRS/s|\ test||' \
|
||||
csharp/Makefile || die
|
||||
|
||||
# skip udp test due to multicast
|
||||
# skip IceGrid/admin bug #649850
|
||||
# skip IceSSL tests due to requirement of internet connection
|
||||
# skip IceStorm/single bug #636834
|
||||
# IceUtil/stacktrace and IceStorm/stress fail with USE=debug
|
||||
# Glacier2/staticFiltering requires network access
|
||||
sed -i \
|
||||
-e 's|allTests.py|allTests.py --rfilter=udp --rfilter=IceGrid\/admin --rfilter=IceSSL --rfilter=IceStorm\/single --rfilter=IceStorm\/stress --rfilter=IceUtil\/stacktrace --rfilter=Glacier2\/staticFiltering|' \
|
||||
cpp/Makefile || die
|
||||
|
||||
# fails even on unicode locale
|
||||
sed -i \
|
||||
-e 's|allTests.py|allTests.py --rfilter=Slice\/unicodePaths|' \
|
||||
ruby/Makefile || die
|
||||
|
||||
# fix for x86 IceBox test
|
||||
sed -i \
|
||||
-e 's|"32"|""|' \
|
||||
scripts/TestUtil.py || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
suitable_db_version() {
|
||||
local ver
|
||||
for ver in "${BERKDB_SLOTS[@]}"; do
|
||||
if [[ -n $(db_findver sys-libs/db:${ver}) ]]; then
|
||||
echo "${ver}"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
die "No suitable BerkDB versions found, aborting"
|
||||
}
|
||||
|
||||
MAKE_RULES=(
|
||||
"prefix=\"${ED}/usr\""
|
||||
"install_docdir=\"${ED}/usr/share/doc/${PF}\""
|
||||
"install_configdir=\"${ED}/usr/share/${P}/config\""
|
||||
"install_mandir=\"${ED}/usr/share/man/man1\""
|
||||
"embedded_runpath_prefix=\"${EPREFIX}/usr\""
|
||||
"LP64=yes"
|
||||
"new_dtags=yes"
|
||||
"NOTEST=$(usex !test)"
|
||||
"USE_READLINE=$(usex readline)"
|
||||
"OPTIMIZE=$(usex !debug)"
|
||||
)
|
||||
|
||||
local BERKDB_VERSION="$(suitable_db_version)"
|
||||
MAKE_RULES+=("DB_FLAGS=-I$(db_includedir ${BERKDB_VERSION})")
|
||||
sed -i \
|
||||
-e "s|g++|$(tc-getCXX)|" \
|
||||
-e "s|\(CFLAGS[[:space:]]*=\)|\1 ${CFLAGS}|" \
|
||||
-e "s|\(CXXFLAGS[[:space:]]*=\)|\1 ${CXXFLAGS}|" \
|
||||
-e "s|\(LDFLAGS[[:space:]]*=\)|\1 ${LDFLAGS}|" \
|
||||
-e "s|\(DB_LIBS[[:space:]]*=\) \-ldb_cxx|\1 -ldb_cxx-$(db_findver sys-libs/db:${BERKDB_VERSION})|" \
|
||||
cpp/config/Make.rules{,.Linux} python/config/Make.rules || die
|
||||
|
||||
if use python; then
|
||||
local S="${S}/python"
|
||||
python_copy_sources
|
||||
fi
|
||||
|
||||
if use ruby; then
|
||||
SITERUBY="$(ruby25 -r rbconfig -e 'print RbConfig::CONFIG["sitelibdir"]')"
|
||||
SITERUBYARCH="$(ruby25 -r rbconfig -e 'print RbConfig::CONFIG["sitearchdir"]')"
|
||||
MAKE_RULES_RUBY=(
|
||||
"install_rubydir=\"${ED}/${SITERUBY}\""
|
||||
"install_libdir=\"${ED}/${SITERUBYARCH}\""
|
||||
)
|
||||
|
||||
# make it use ruby25 only
|
||||
sed -i \
|
||||
-e 's|RUBY = ruby|\025|' \
|
||||
ruby/config/Make.rules || die
|
||||
sed -i \
|
||||
-e 's|env ruby|\025|' \
|
||||
ruby/config/s2rb.rb || die
|
||||
sed -i \
|
||||
-e 's|env ruby|\025|' \
|
||||
ruby/scripts/slice2rb || die
|
||||
sed -i \
|
||||
-e 's|output.write("ruby|\025|' \
|
||||
scripts/TestUtil.py || die
|
||||
fi
|
||||
|
||||
MAKE_RULES_MONO=(
|
||||
"GACINSTALL=yes"
|
||||
"GAC_ROOT=\"${ED}/usr/$(get_libdir)\""
|
||||
"GAC_DIR=\"${EPREFIX}/usr/$(get_libdir)\""
|
||||
"install_libdir=\"${ED}/usr/$(get_libdir)\""
|
||||
"install_pkgconfigdir=\"${ED}/usr/$(get_libdir)/pkgconfig\""
|
||||
)
|
||||
|
||||
if has_version ">dev-lang/mono-4"; then
|
||||
MAKE_RULES_MONO+=("MCS=mcs")
|
||||
fi
|
||||
|
||||
use test && python_setup
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Do not remove this export or build will break!
|
||||
tc-export CXX
|
||||
|
||||
emake -C cpp "${MAKE_RULES[@]}"
|
||||
|
||||
if use php; then
|
||||
local i
|
||||
for i in $(php_get_slots); do
|
||||
mkdir -p "${WORKDIR}/${i}" || die
|
||||
cp -r "${PHP_EXT_S}" "${WORKDIR}/${i}/" || die "Failed to copy source ${PHP_EXT_S} to PHP target directory"
|
||||
|
||||
pushd "${WORKDIR}/${i}" >/dev/null || die
|
||||
ln -s "${S}/cpp" || die
|
||||
ln -s "${S}/config" || die
|
||||
ln -s "${S}/slice" || die
|
||||
ln -s "${S}/Makefile" || die
|
||||
|
||||
emake -C php "${MAKE_RULES[@]}" USE_NAMESPACES=yes "PHP_CONFIG=\"${EPREFIX}/usr/$(get_libdir)/${i}/bin/php-config\""
|
||||
popd >/dev/null || die
|
||||
done
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
building() {
|
||||
emake -C "${BUILD_DIR}" "${MAKE_RULES[@]}" PYTHON="${EPYTHON}"
|
||||
}
|
||||
local S="${S}/python"
|
||||
python_foreach_impl building
|
||||
fi
|
||||
|
||||
if use ruby; then
|
||||
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}"
|
||||
fi
|
||||
|
||||
if use mono; then
|
||||
emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local -x LD_LIBRARY_PATH="${S}/cpp/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
emake -C cpp "${MAKE_RULES[@]}" test
|
||||
|
||||
# php tests require the extension loaded and are therefore skipped
|
||||
|
||||
if use python; then
|
||||
testing() {
|
||||
PYTHONPATH="${BUILD_DIR}"/python emake -C "${BUILD_DIR}" \
|
||||
"${MAKE_RULES[@]}" \
|
||||
PYTHON="${EPYTHON}" \
|
||||
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
|
||||
install_libdir="\"${D}/$(python_get_sitedir)\"" test
|
||||
}
|
||||
local S="${S}/python"
|
||||
python_foreach_impl testing
|
||||
fi
|
||||
|
||||
if use ruby; then
|
||||
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" test
|
||||
fi
|
||||
|
||||
if use mono; then
|
||||
# skip mono tests, bug #498484
|
||||
ewarn "Tests for C# are currently disabled."
|
||||
#emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}" test
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=( CHANGELOG*.md README.md )
|
||||
use doc && DOCS+=( "${DISTDIR}/${PN}-3.6.4.pdf" )
|
||||
einstalldocs
|
||||
|
||||
insinto /usr/share/${P}
|
||||
doins -r slice
|
||||
|
||||
emake -C cpp "${MAKE_RULES[@]}" install
|
||||
|
||||
if use examples; then
|
||||
docinto examples-cpp
|
||||
dodoc cpp/config/*.cfg
|
||||
docompress -x /usr/share/doc/${PF}/examples-cpp
|
||||
fi
|
||||
|
||||
if use php; then
|
||||
insinto "/usr/share/php/${PN}"
|
||||
|
||||
local i
|
||||
while IFS="" read -d $'\0' -r i; do
|
||||
doins "${i}"
|
||||
done < <(find "${S}/php/lib/" -name '*.php' -print0)
|
||||
|
||||
pushd "${ED}/usr/share/${P}/slice" >/dev/null || die
|
||||
|
||||
local -x LD_LIBRARY_PATH="${ED}/usr/$(get_libdir):${LD_LIBRARY_PATH}"
|
||||
for i in *; do
|
||||
mkdir -p "${ED}/usr/share/php/${i}" || die
|
||||
"${ED}"/usr/bin/slice2php \
|
||||
-I"${ED}/usr/share/${P}/slice/" --all \
|
||||
--output-dir "${ED}/usr/share/php/${i}" \
|
||||
--ice "${ED}/usr/share/${P}/slice/${i}"/*
|
||||
done
|
||||
|
||||
for i in $(php_get_slots); do
|
||||
php_init_slot_env "${i}"
|
||||
insinto "${EXT_DIR}"
|
||||
newins "php/lib/${PHP_EXT_NAME}.so" "${PHP_EXT_NAME}.so"
|
||||
done
|
||||
php-ext-source-r3_createinifiles
|
||||
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
installation() {
|
||||
mkdir -p "${D}/$(python_get_sitedir)" || die
|
||||
|
||||
emake -C "${BUILD_DIR}" \
|
||||
"${MAKE_RULES[@]}" \
|
||||
install_pythondir="\"${D}/$(python_get_sitedir)\"" \
|
||||
install_libdir="\"${D}/$(python_get_sitedir)\"" \
|
||||
install
|
||||
python_optimize
|
||||
}
|
||||
local S="${S}/python"
|
||||
python_foreach_impl installation
|
||||
fi
|
||||
|
||||
if use ruby; then
|
||||
dodir "${SITERUBY}"
|
||||
emake -C ruby "${MAKE_RULES[@]}" "${MAKE_RULES_RUBY[@]}" install
|
||||
fi
|
||||
|
||||
if use mono; then
|
||||
emake -C csharp "${MAKE_RULES[@]}" "${MAKE_RULES_MONO[@]}" install
|
||||
fi
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST Ice-3.6.4.pdf 8907736 BLAKE2B 5a631c1e2e147c8ed3b31a84192210c92bbe83e8644ec9d7d164d1b94a20069ce77f6baf54910ac00c7216cbc2979caac6fa78457e9292a84407e93000f9903a SHA512 9bd2d373eb83e08e563cab174a53063a490367dea3e4b910f93f0477c3817282c859f07e46e503006e9bd37678fb6da31a58b88bfabd217b5e371fff685321a0
|
||||
DIST Ice-3.6.4.tar.gz 5523841 BLAKE2B 4e50dcf0f004f14a38c173f181cabb97fdc201786c338800b9750dc0cf6ce9b1397ea26b4357de1f6e1ac6b4e69abbe2bf464a5f9c2926f6ae45abbf5a69803b SHA512 fdb412ce591bca7aede2ac7d70600184f3b67279e8ffdfee3649f517d5531d2dfee54b37d0cc6de2ef5de8ecd281c39d6c951781b68f9a36316a7607cefb9e57
|
||||
DIST Ice-3.6.5.tar.gz 5505499 BLAKE2B e16e8932f09270ac6bb86984ab47fa229ad873ee343ac4f56bb48b6f9547387ded0392a76302afac2c98b6d31da7c1faf294574cdba52654e7dea0af16b4169d SHA512 3431928e6168d716919aa9b3126d17a8ae14895bb78a369902a2bb350b2e82923f38ee17965ed3696512a016fcd34dc128e9aaca40fb2b032e7f7eb07bcb903b
|
||||
|
@ -0,0 +1,50 @@
|
||||
--- ice-3.6.5/csharp/src/Makefile~ 2015-06-23 17:30:20.000000000 +0200
|
||||
+++ ice-3.6.5/csharp/src/Makefile 2015-06-27 20:07:04.217188211 +0200
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
include $(top_srcdir)/config/Make.rules.cs
|
||||
|
||||
-SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid IceBox IceDiscovery IceLocatorDiscovery
|
||||
+SUBDIRS = Ice IceStorm Glacier2 IcePatch2 IceGrid IceBox IceSSL IceDiscovery IceLocatorDiscovery
|
||||
|
||||
$(EVERYTHING)::
|
||||
@for subdir in $(SUBDIRS); \
|
||||
--- /dev/null 2015-06-27 16:44:15.733558105 +0200
|
||||
+++ ice-3.6.5/csharp/lib/pkgconfig/IceSSL.pc 2015-06-27 20:19:30.731894653 +0200
|
||||
@@ -0,0 +1,10 @@
|
||||
+version = 3.6.5
|
||||
+mono_root = /usr
|
||||
+
|
||||
+name = IceSSL
|
||||
+
|
||||
+Name: ${name}
|
||||
+Description: IceSSL run-time support
|
||||
+Version: ${version}
|
||||
+Libs: -r:${mono_root}/lib/mono/${name}/${name}.dll
|
||||
+Requires: Ice = ${version}
|
||||
--- /dev/null 2015-06-27 16:44:15.733558105 +0200
|
||||
+++ ice-3.6.5/csharp/lib/pkgconfig/IceDiscovery.pc 2015-06-27 20:20:44.312515987 +0200
|
||||
@@ -0,0 +1,10 @@
|
||||
+version = 3.6.5
|
||||
+mono_root = /usr
|
||||
+
|
||||
+name = IceDiscovery
|
||||
+
|
||||
+Name: ${name}
|
||||
+Description: IceDiscovery run-time support
|
||||
+Version: ${version}
|
||||
+Libs: -r:${mono_root}/lib/mono/${name}/${name}.dll
|
||||
+Requires: Ice = ${version}
|
||||
--- /dev/null 2015-06-27 16:44:15.733558105 +0200
|
||||
+++ ice-3.6.5/csharp/lib/pkgconfig/IceLocatorDiscovery.pc 2015-06-27 20:21:22.206185123 +0200
|
||||
@@ -0,0 +1,10 @@
|
||||
+version = 3.6.5
|
||||
+mono_root = /usr
|
||||
+
|
||||
+name = IceLocatorDiscovery
|
||||
+
|
||||
+Name: ${name}
|
||||
+Description: IceLocatorDiscovery run-time support
|
||||
+Version: ${version}
|
||||
+Libs: -r:${mono_root}/lib/mono/${name}/${name}.dll
|
||||
+Requires: Ice = ${version}
|
@ -0,0 +1,48 @@
|
||||
Avoid ambiguous ctor call (uint32_t vs DB_ENV*) with db 6.x.
|
||||
|
||||
--- ice-3.6.3/cpp/src/Freeze/SharedDbEnv.cpp.orig 2016-10-05 16:59:08.000000000 +0200
|
||||
+++ ice-3.6.3/cpp/src/Freeze/SharedDbEnv.cpp 2017-06-28 18:42:43.411869639 +0200
|
||||
@@ -530,7 +530,7 @@
|
||||
{
|
||||
if(_env == 0)
|
||||
{
|
||||
- _envHolder.reset(new DbEnv(0));
|
||||
+ _envHolder.reset(new DbEnv(0u));
|
||||
_env = _envHolder.get();
|
||||
|
||||
if(_trace >= 1)
|
||||
--- ice-3.6.3/cpp/src/FreezeScript/transformdb.cpp.orig 2016-10-05 16:59:08.000000000 +0200
|
||||
+++ ice-3.6.3/cpp/src/FreezeScript/transformdb.cpp 2017-06-28 19:15:03.928514164 +0200
|
||||
@@ -766,8 +766,8 @@
|
||||
//
|
||||
// Transform the database.
|
||||
//
|
||||
- DbEnv dbEnv(0);
|
||||
- DbEnv dbEnvNew(0);
|
||||
+ DbEnv dbEnv(0u);
|
||||
+ DbEnv dbEnvNew(0u);
|
||||
Freeze::TransactionPtr txNew;
|
||||
Freeze::ConnectionPtr connection;
|
||||
Freeze::ConnectionPtr connectionNew;
|
||||
--- ice-3.6.3/cpp/src/FreezeScript/Util.cpp.orig 2016-10-05 16:59:08.000000000 +0200
|
||||
+++ ice-3.6.3/cpp/src/FreezeScript/Util.cpp 2017-06-28 19:22:29.318509063 +0200
|
||||
@@ -209,7 +209,7 @@
|
||||
{
|
||||
CatalogDataMap result;
|
||||
|
||||
- DbEnv dbEnv(0);
|
||||
+ DbEnv dbEnv(0u);
|
||||
try
|
||||
{
|
||||
#ifdef _WIN32
|
||||
--- ice-3.6.3/cpp/src/FreezeScript/DumpDB.cpp.orig 2016-10-05 16:59:08.000000000 +0200
|
||||
+++ ice-3.6.3/cpp/src/FreezeScript/DumpDB.cpp 2017-06-28 19:33:38.555168088 +0200
|
||||
@@ -481,7 +481,7 @@
|
||||
FreezeScript::ObjectFactoryPtr objectFactory = new FreezeScript::ObjectFactory;
|
||||
communicator->addObjectFactory(objectFactory, "");
|
||||
|
||||
- DbEnv dbEnv(0);
|
||||
+ DbEnv dbEnv(0u);
|
||||
DbTxn* txn = 0;
|
||||
Freeze::ConnectionPtr connection;
|
||||
int status = EXIT_SUCCESS;
|
Binary file not shown.
@ -0,0 +1 @@
|
||||
DIST clipper-6.4.2.zip 2535706 BLAKE2B 755dcfd759888bda7114af784d9e684f36ce8f6e43dcadf07f5797e3723d392aab2ea9b80cb212b7eb3177bfb306ca20a797546cb2c382132887e62fa0dffd93 SHA512 ffc88818c44a38aa278d5010db6cfd505796f39664919f1e48c7fa9267563f62135868993e88f7246dcd688241d1172878e4a008a390648acb99738452e3e5dd
|
@ -0,0 +1,33 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
|
||||
inherit cmake
|
||||
|
||||
MY_PV="ver${PV}"
|
||||
MY_P="${PN}_${MY_PV}"
|
||||
|
||||
DESCRIPTION="Polygon and line clipping and offsetting library (C++, C#, Delphi)"
|
||||
HOMEPAGE="http://www.angusj.com/delphi/clipper.php"
|
||||
SRC_URI="mirror://sourceforge/project/polyclipping/${MY_P}.zip -> ${P}.zip"
|
||||
|
||||
LICENSE="Boost-1.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
IUSE=""
|
||||
|
||||
RDEPEND=""
|
||||
BDEPEND="app-arch/unzip"
|
||||
|
||||
S="${WORKDIR}/cpp"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>3dprint@gentoo.org</email>
|
||||
<name>Gentoo 3D Printer Project</name>
|
||||
</maintainer>
|
||||
<longdescription>
|
||||
The Clipper library performs line & polygon clipping - intersection, union, difference & exclusive-or,
|
||||
and line & polygon offsetting. The library is based on Vatti's clipping algorithm.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="sourceforge">polyclipping</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,16 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=TYEMQ
|
||||
DIST_VERSION=1.0101
|
||||
DIST_A_EXT=tgz
|
||||
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Simple, ad-hoc access to elements of deeply nested structures"
|
||||
# NO LICENSE DECLARED UPSTREAM
|
||||
# Bug: https://bugs.gentoo.org/732710
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~mips ~x86"
|
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=GAAS
|
||||
DIST_VERSION=1.23
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Pretty printing of data structures"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
RDEPEND="
|
||||
virtual/perl-MIME-Base64
|
||||
"
|
||||
BDEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? (
|
||||
virtual/perl-Test
|
||||
)
|
||||
"
|
@ -0,0 +1,22 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=GAAS
|
||||
DIST_VERSION=1.06
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Dump arbitrary data structures as XML"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~sparc-solaris"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-perl/Array-RefElem-0.10.0
|
||||
>=virtual/perl-MIME-Base64-2
|
||||
>=dev-perl/XML-Parser-2
|
||||
"
|
||||
BDEPEND="${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
"
|
@ -0,0 +1,14 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=JV
|
||||
DIST_VERSION=1.00
|
||||
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Perl extension for hexdumping arbitrary data"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~x86 ~amd64-linux"
|
@ -0,0 +1,21 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=CLKAO
|
||||
DIST_VERSION=0.34
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Handle data in a hierarchical structure"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~ia64 ~mips ~ppc ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-perl/Test-Exception
|
||||
)
|
||||
"
|
@ -0,0 +1,39 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=BPS
|
||||
DIST_VERSION=0.24
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Generates iCalendar (RFC 2445) calendar files"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-perl/Class-Accessor
|
||||
dev-perl/Class-ReturnValue
|
||||
virtual/perl-MIME-Base64
|
||||
dev-perl/Text-vFile-asData
|
||||
"
|
||||
BDEPEND="${RDEPEND}
|
||||
>=virtual/perl-ExtUtils-MakeMaker-6.360.0
|
||||
test? (
|
||||
dev-perl/Test-LongString
|
||||
dev-perl/Test-NoWarnings
|
||||
virtual/perl-Test-Simple
|
||||
dev-perl/Test-Warn
|
||||
)
|
||||
"
|
||||
PERL_RM_FILES=(
|
||||
"t/pod.t"
|
||||
"t/pod-coverage.t"
|
||||
)
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.24-no-autoinstall.patch"
|
||||
"${FILESDIR}/${PN}-0.24-no-dot-inc.patch"
|
||||
)
|
@ -1 +1,2 @@
|
||||
DIST Data-ICal-0.22.tar.gz 119116 BLAKE2B 5288c6c32a1225a6fbe587bc07650d94895f937516a82a1781777ec79827d80040b1fb3f10542d52fa5985c4b26ef38f374d7fbe4761bc2d1bc7afa4769e1671 SHA512 a02364dfb0a1e24efcf2efdb7240bb6c47ad5ed3a99ada51ddb9817b4e433038d57113699c6875f7d592cd3af46f5b074a1ac50cf951b7af449bde1765ed5d55
|
||||
DIST Data-ICal-0.24.tar.gz 120451 BLAKE2B 5f96ae3a625eb4e5823b9250673d4ae7c2b4addf80ab9543d1152cd45462fa901d3a76419f66b2eda4532b48eb380262ceedf6356cc72844e3dd2765d836af53 SHA512 592cc76dd8dd00d8ce365a7105c6b732ecb94838876d6b430f1f3078e8674f9584c5a6248c5ec5ebbee9d35f3758d9709d45e70728899c528d030424abe81d9e
|
||||
|
@ -0,0 +1,24 @@
|
||||
From 6d28e03e9c5bc92ddfb92d2787af6a7d3baff24d Mon Sep 17 00:00:00 2001
|
||||
From: Kent Fredric <kentnl@gentoo.org>
|
||||
Date: Wed, 15 Jul 2020 23:59:05 +1200
|
||||
Subject: Disable autoinstall and sign functionality
|
||||
|
||||
These aren't helpful for Gentoo
|
||||
---
|
||||
Makefile.PL | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/Makefile.PL b/Makefile.PL
|
||||
index c3d895e..ea29f9b 100644
|
||||
--- a/Makefile.PL
|
||||
+++ b/Makefile.PL
|
||||
@@ -13,6 +13,4 @@ requires('Class::Accessor');
|
||||
requires('Text::vFile::asData');
|
||||
requires('MIME::QuotedPrint');
|
||||
requires('Class::ReturnValue');
|
||||
-auto_install();
|
||||
-sign();
|
||||
WriteAll;
|
||||
--
|
||||
2.27.0
|
||||
|
@ -0,0 +1,21 @@
|
||||
From 976b06737710d78fc0aef76b8251d0e138ebbc18 Mon Sep 17 00:00:00 2001
|
||||
From: Kent Fredric <kentnl@gentoo.org>
|
||||
Date: Thu, 16 Jul 2020 00:19:16 +1200
|
||||
Subject: Include '.' in @INC for perl 5.26+
|
||||
|
||||
---
|
||||
Makefile.PL | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/Makefile.PL b/Makefile.PL
|
||||
index ea29f9b..44fb3b8 100644
|
||||
--- a/Makefile.PL
|
||||
+++ b/Makefile.PL
|
||||
@@ -1,3 +1,4 @@
|
||||
+use lib '.';
|
||||
use inc::Module::Install;
|
||||
|
||||
name ('Data-ICal');
|
||||
--
|
||||
2.27.0
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,50 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
DISTUTILS_USE_SETUPTOOLS=bdepend
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Amazon Web Services API"
|
||||
HOMEPAGE="https://github.com/boto/boto https://pypi.org/project/boto/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
PATCHES=(
|
||||
# taken from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=909545
|
||||
"${FILESDIR}/boto-try-to-add-SNI-support-v2.patch"
|
||||
"${FILESDIR}"/${P}-py38.patch
|
||||
)
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/httpretty[${PYTHON_USEDEP}]
|
||||
dev-python/keyring[${PYTHON_USEDEP}]
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/paramiko[${PYTHON_USEDEP}]
|
||||
dev-python/requests[${PYTHON_USEDEP}]
|
||||
dev-python/rsa[${PYTHON_USEDEP}]
|
||||
dev-python/selenium[${PYTHON_USEDEP}]
|
||||
)"
|
||||
|
||||
distutils_enable_tests nose
|
||||
|
||||
src_prepare() {
|
||||
# broken, not worth fixing
|
||||
rm tests/unit/cloudfront/test_signed_urls.py || die
|
||||
# fix tests
|
||||
mkdir -p "${HOME}"/.ssh || die
|
||||
: > "${HOME}"/.ssh/known_hosts || die
|
||||
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_test() {
|
||||
nosetests -v tests/unit ||
|
||||
die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST cachetools-3.1.1.tar.gz 22055 BLAKE2B 9141adb9cff5e7f76a370666c24664de09b1562a9e40636b8103157cc65b146dca96ad871065191618e2d458078cb7da30c80da21b4fded73097bda7916f4819 SHA512 23a7d9c91f97727984585745169dbf94922288e464196d5c05f442226cbff4efeb3588ed463f481bd75892824188bd3ab8031f4f2f8e52924c74428b1034714a
|
||||
DIST cachetools-4.1.1.tar.gz 23574 BLAKE2B 5777d243ae87635766811fd2aea8789f9f1674ae3a7ddcc08bb3c8d4345002d65cdbd00cbaf75ba801dccffb1896a75688a6e97f984e1d498a93726854398196 SHA512 254e8821feaaf4fff656aa2beaf0b2c1c6dbe8698148be783bb18a6476f758061471906e4774f47bd8722dbbbc09745088a8f61eb5c455fbe85ef17a3816ce7d
|
||||
|
@ -0,0 +1,18 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Extensible memoizing collections and decorators"
|
||||
HOMEPAGE="https://pypi.org/project/cachetools/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
|
||||
distutils_enable_tests pytest
|
@ -0,0 +1 @@
|
||||
DIST findimports-1.5.2.gh.tar.gz 32211 BLAKE2B ea3110925085d466df7f95eaa06dce9e331ecba52c1772b76b05e51c633a8adc1ff91295db441049dab39129606e3927f69834376cc5fb864f5f3b62ac68bac2 SHA512 86432d29d180d4299ba789b69601722a6a15eed9badbf2f930e8867be06c64a2f1f8123ae182d7c6b73339287d04c2cdb4a18a31662ea72e86283ee165dc4d45
|
@ -0,0 +1,20 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python module import analysis tool"
|
||||
HOMEPAGE="https://github.com/mgedmin/findimports"
|
||||
SRC_URI="
|
||||
https://github.com/mgedmin/findimports/archive/${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
distutils_enable_tests setup.py
|
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>mgorny@gentoo.org</email>
|
||||
<name>Michał Górny</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -1 +1,2 @@
|
||||
DIST Flask-Security-3.0.0.tar.gz 160367 BLAKE2B c2e1449dc2807c2c40519fa3afb894157e17ecc9ff3f6dcf5ef0d02839a5988f827afd26c1d31af86d5e240e0ea8bfb8ed86354bb6a83535436b08721cac8f26 SHA512 09b94f0850372513add5c054c07aa465ecb95e8d1c414647e3ebee571ec08c94a29f0c138d092c02a55e242c422bc53f929ca066d671c082dcb29834ac753984
|
||||
DIST flask-security-3.4.3.gh.tar.gz 346540 BLAKE2B ab3b037282bc5b7777ceeaaaf869996f471bc3b954f0b2cf6d17ba44d4014c8c3ac8e34618bc7347bbd1cd6b1c649b49407cb05aad9bd748191c08b7326f679a SHA512 23ad8bc91df418361a556827ff8369777f3716dfd1c97fef6237ba9cb07813eac4033eb3fed80e9ebadeab4f2d2a956b5a652bec80825f939a9fc7d817aa3d90
|
||||
|
@ -0,0 +1,63 @@
|
||||
From 8943f49c3e6064839bd1e3c2c73a750b2b476ae3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Wed, 15 Jul 2020 09:02:15 +0200
|
||||
Subject: [PATCH 1/2] tests: Skip tests requiring specific data backends if not
|
||||
available
|
||||
|
||||
Skip tests that require a specific database backend if the respective
|
||||
package is not available. This is mostly intended to make it possible
|
||||
to test flask-security on Python 3.9 since Pony does not support this
|
||||
Python version but there is no harm in extending it to other backends.
|
||||
|
||||
Technically, Flask-SQLAlchemy is still required due to other tests.
|
||||
---
|
||||
tests/conftest.py | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/tests/conftest.py b/tests/conftest.py
|
||||
index 3305d92..a48f480 100644
|
||||
--- a/tests/conftest.py
|
||||
+++ b/tests/conftest.py
|
||||
@@ -218,6 +218,7 @@ def mongoengine_datastore(request, app, tmpdir, realdburl):
|
||||
|
||||
|
||||
def mongoengine_setup(request, app, tmpdir, realdburl):
|
||||
+ pytest.importorskip('flask_mongoengine')
|
||||
from flask_mongoengine import MongoEngine
|
||||
from mongoengine.fields import (
|
||||
BooleanField,
|
||||
@@ -282,6 +283,7 @@ def sqlalchemy_datastore(request, app, tmpdir, realdburl):
|
||||
|
||||
|
||||
def sqlalchemy_setup(request, app, tmpdir, realdburl):
|
||||
+ pytest.importorskip('flask_sqlalchemy')
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_security.models import fsqla_v2 as fsqla
|
||||
|
||||
@@ -326,6 +328,7 @@ def sqlalchemy_session_datastore(request, app, tmpdir, realdburl):
|
||||
|
||||
|
||||
def sqlalchemy_session_setup(request, app, tmpdir, realdburl):
|
||||
+ pytest.importorskip('sqlalchemy')
|
||||
from sqlalchemy import create_engine
|
||||
from sqlalchemy.orm import scoped_session, sessionmaker, relationship, backref
|
||||
from sqlalchemy.ext.declarative import declarative_base
|
||||
@@ -426,6 +429,7 @@ def peewee_datastore(request, app, tmpdir, realdburl):
|
||||
|
||||
|
||||
def peewee_setup(request, app, tmpdir, realdburl):
|
||||
+ pytest.importorskip('peewee')
|
||||
from peewee import (
|
||||
TextField,
|
||||
DateTimeField,
|
||||
@@ -522,6 +526,7 @@ def pony_datastore(request, app, tmpdir, realdburl):
|
||||
|
||||
def pony_setup(request, app, tmpdir, realdburl):
|
||||
|
||||
+ pytest.importorskip('pony')
|
||||
from pony.orm import Database, Optional, Required, Set
|
||||
from pony.orm.core import SetInstance
|
||||
|
||||
--
|
||||
2.27.0
|
||||
|
@ -0,0 +1,73 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Simple security for Flask apps"
|
||||
HOMEPAGE="
|
||||
https://github.com/Flask-Middleware/flask-security/
|
||||
https://pypi.org/project/Flask-Security-Too/"
|
||||
SRC_URI="
|
||||
https://github.com/Flask-Middleware/flask-security/archive/${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/cachetools[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-1.1.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-babelex-0.9.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-login-0.4.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-principal-0.4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-wtf-0.14.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/itsdangerous-1.1.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/passlib-1.7.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-email-validator-1.0.5[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
dev-python/Babel[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
>=dev-python/argon2-cffi-19.1.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/bcrypt-3.1.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/cryptography-2.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-mail-0.9.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-mongoengine-0.9.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/flask-sqlalchemy-2.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/mongomock-3.19.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/peewee-3.11.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/phonenumbers-8.11.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/psycopg-2.8.4:2[${PYTHON_USEDEP}]
|
||||
>=dev-python/pymysql-0.9.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyqrcode-1.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/zxcvbn-4.4.28[${PYTHON_USEDEP}]
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/pony-0.7.11[${PYTHON_USEDEP}]
|
||||
' python3_{6,7})
|
||||
)"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-optional-deps.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
sed -i -e '/setup_requires/d' setup.py || die
|
||||
sed -e 's:--cov flask_security::' \
|
||||
-e 's:--cov-report term-missing::' \
|
||||
-e 's:--black::' \
|
||||
-e 's:--flake8::' \
|
||||
-e 's:--cache-clear::' \
|
||||
-i pytest.ini || die
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
python_configure_all() {
|
||||
esetup.py compile_catalog
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
MY_P=${P^}
|
||||
|
||||
DESCRIPTION="A wrapper around various text markups"
|
||||
HOMEPAGE="
|
||||
https://pymarkups.readthedocs.io/en/latest/
|
||||
https://github.com/retext-project/pymarkups
|
||||
https://pypi.org/project/Markups/
|
||||
"
|
||||
SRC_URI="mirror://pypi/${MY_P:0:1}/${PN^}/${MY_P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/markdown[${PYTHON_USEDEP}]
|
||||
dev-python/python-markdown-math[${PYTHON_USEDEP}]
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
test? (
|
||||
app-text/pytextile[${PYTHON_USEDEP}]
|
||||
dev-python/docutils[${PYTHON_USEDEP}]
|
||||
dev-python/pygments[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests unittest
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
@ -1 +1,2 @@
|
||||
DIST phonenumbers-8.12.4.tar.gz 2269009 BLAKE2B 102630893595fa34f8e5bf3dc5122f43393e26ada216df02e843a40345aa40df83aa6fbf115d71e986a7e57e6a55bd6fd4eb4af14c4872bfe717cb0ec5be604c SHA512 5d93de2b7b6e974593659fb8909c05f2f6f8c29766deea914472b01dde38abdfc9f4f6ee8c718e2ad11e840070b350b623cb9ca58368f24cf1e03804712fa38d
|
||||
DIST phonenumbers-8.12.6.tar.gz 2249614 BLAKE2B 5dd062cecf424bba0263e92c847161069e998e1b1ee26e273939996dadc1cca302ee4b567f083d58791717633db2ddd6263e625db01639e7fdb61187092f26d2 SHA512 1f79e7bd469861c6100ab4ea88f0b20cb5534e97a8da39f8681b4d201d21d2bbac1948bd49c08c474cb0b129a2c1228f7c5b664dc6033e6f4d2dd79d130897d2
|
||||
|
@ -0,0 +1,20 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python port of Google's libphonenumber"
|
||||
HOMEPAGE="https://github.com/daviddrysdale/python-phonenumbers"
|
||||
SRC_URI="mirror://pypi/p/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DOCS=(README.md)
|
||||
|
||||
distutils_enable_tests setup.py
|
@ -0,0 +1 @@
|
||||
DIST pony-0.7.13.gh.tar.gz 302541 BLAKE2B a1e6f82c6eb72f8626238cbfcc0bc01d1ad3498a75a5ce4c3b8a4511e6d1fbfdd39a239f0462458ae1d64dc9446b338bbaea33d6bbdd861c8d0738e50d58a717 SHA512 431d19e3297ba1cdae5313948123d8b8cd71ee8ad5868b8cc2f5447eb435875fdbcdc3768834b9afe22ce8e4c1abaabeb597f3e6974b00aab33aa61e497d6390
|
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>python@gentoo.org</email>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,26 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..8} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python ORM with beautiful query syntax"
|
||||
HOMEPAGE="
|
||||
https://ponyorm.org/
|
||||
https://github.com/ponyorm/pony/"
|
||||
SRC_URI="
|
||||
https://github.com/ponyorm/pony/archive/v${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
test? ( $(python_gen_impl_dep sqlite) )"
|
||||
|
||||
distutils_enable_tests unittest
|
@ -0,0 +1,34 @@
|
||||
From fe9c973c5e92f24746dfa1be8796c14a2befec4f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Wed, 15 Jul 2020 07:54:53 +0200
|
||||
Subject: [PATCH] test_png: Use array.tobytes to fix py3.9 compatibility
|
||||
|
||||
The deprecated array.tostring() method has been removed in Python 3.9.
|
||||
Use .tobytes() instead.
|
||||
---
|
||||
code/test_png.py | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/code/test_png.py b/code/test_png.py
|
||||
index c858d18..447c314 100644
|
||||
--- a/code/test_png.py
|
||||
+++ b/code/test_png.py
|
||||
@@ -448,13 +448,13 @@ class Test(unittest.TestCase):
|
||||
def test_interlaced_array(self):
|
||||
"""Reading an interlaced PNG yields each row as an array."""
|
||||
r = png.Reader(bytes=pngsuite.basi0g08)
|
||||
- list(r.read()[2])[0].tostring
|
||||
+ list(r.read()[2])[0].tobytes
|
||||
|
||||
def test_trns_array(self):
|
||||
"""A type 2 PNG with tRNS chunk yields each row
|
||||
as an array (using asDirect)."""
|
||||
r = png.Reader(bytes=pngsuite.tbrn2c08)
|
||||
- list(r.asDirect()[2])[0].tostring
|
||||
+ list(r.asDirect()[2])[0].tobytes
|
||||
|
||||
def test_flat(self):
|
||||
"""Test read_flat."""
|
||||
--
|
||||
2.27.0
|
||||
|
@ -1 +1,2 @@
|
||||
DIST python-markdown-math-0.6.tar.gz 6406 BLAKE2B 43172ba4b36b697f196bd569c93d56d1a3a05aaa306b1f149f3b70372e624e35fc0d3f3ea3c58c6b86e00c68408a5ebfe9fcc6562fe5065c7f8a7aa8683ee084 SHA512 af5773dc5b6d8968d811487a86fd027042d381b8b5b37683b519f03f21097bafd3d174881d8201cb6524e0975cd6868781e116cec6406fa20ffd3c6b9f9d4e87
|
||||
DIST python-markdown-math-0.7.tar.gz 8320 BLAKE2B b402a6c1c3ef93f8716b88c0ba356109e6b483ce26b4a7923c16642a7a7fe69b25ee00e4f537d26b6fa743e81fef05871c447f9e5d3a986ff52bf7095bcdd436 SHA512 05bfff71c758785591c388a95b176205a8707428cbda91734c4f1b5d39cd030d9106782e92aca8f1de18be227b1489ad2cb09981b4455ba1d1177974cd0cbecd
|
||||
|
@ -0,0 +1,40 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
PYTHON_COMPAT=( python3_{7,8,9} pypy3 )
|
||||
inherit distutils-r1
|
||||
|
||||
MY_PN="python-${PN}"
|
||||
|
||||
DESCRIPTION="Math extension for Python-Markdown"
|
||||
HOMEPAGE="https://github.com/mitya57/python-markdown-math"
|
||||
|
||||
if [[ ${PV} == **9999 ]]
|
||||
then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/mitya57/python-markdown-math.git"
|
||||
else
|
||||
SRC_URI="mirror://pypi/${MY_PN:0:1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# Tests for python2.7 ran fine even with dev-python/markdown-2.6.5,
|
||||
# but only python3.7 is supported with $PV >= 3.x.
|
||||
DEPEND="
|
||||
>=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
BDEPEND=""
|
||||
|
||||
python_test() {
|
||||
esetup.py test
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue