parent
36a937c6d2
commit
ae7bc5140c
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1,4 @@
|
||||
DIST fr24feed_1.0.24-5_amd64.tgz 3943670 BLAKE2B d8d7b031872c1220f2f6ba5843d0c457279d393ae78dc947fe5cbc81e5ee1d4bf629ecddee093020ed3e01937fcecd9f225dcfd5c55fc47e7a31a23007122a18 SHA512 9ed5391e7faf1ab3352b95d6eaab8cccd77f0759e4852c3e0283a930d8f7dff2f38c59eb00639a2be0c6decd9f4db49fcdefb6b3de3533b8453a02f66224d503
|
||||
DIST fr24feed_1.0.24-5_i386.tgz 3645172 BLAKE2B 074d6535d09ab77baa9d954bcd9c87c3099b6938ad57ab67f16b14a6a8f865868eb3d82b49eeb6559a6929f8cb28f3591563f007490dd45782b4452cf2da12f2 SHA512 05d9a7ad64e047d3b2934d6421d1fcfb8aa6eb955739f9fa58726d2e45cb7141fad73ea1943ce01a071077a8155e07672acade75ce9068d5c932b0b24ff2b194
|
||||
DIST fr24feed_1.0.25-3_amd64.tgz 4036311 BLAKE2B 9212bad79534e989aa7d12ff3f283c328603cad79cd7908c526bd1170cbf00b8c41e2effa6db703e1f967113042fd439e15c39c2b8a4de8a58e5819afa273718 SHA512 6d0e687dd8d9a104de0db003764db3771003e516bc48e1aa2f39fce7db80f01f5e14b318063f29122706f769d6c0db24b811b386e9c2e9e48e45e59b03bcd0ef
|
||||
DIST fr24feed_1.0.25-3_i386.tgz 3746108 BLAKE2B 3ccd586441c3441e3cec5723bd9de1723ec0fa7d5ab3cf04805661dc303d3ab670b084fcd6198574573511395162b86432bcf026c000ae280018bc831ec2c548 SHA512 22a10cb097c507c15e8aff20bf453d1c96459b0b0538009970fce0abbead0f0a1397c2af0d1c1e1040f247019f1eeaa80e5760c93e26500fe189f66861c20a72
|
||||
|
@ -0,0 +1,44 @@
|
||||
# Copyright 2019-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
MY_PV="${PV/-/_}"
|
||||
MY_PV="${MY_PV/_p/-}"
|
||||
MY_P="${PN}_${MY_PV}"
|
||||
|
||||
DESCRIPTION="Flightradar24 data sharing software"
|
||||
HOMEPAGE="https://www.flightradar24.com/share-your-data"
|
||||
SRC_URI="
|
||||
amd64? ( https://repo-feed.flightradar24.com/linux_x86_64_binaries/${MY_P}_amd64.tgz )
|
||||
x86? ( https://repo-feed.flightradar24.com/linux_x86_binaries/${MY_P}_i386.tgz )
|
||||
"
|
||||
|
||||
LICENSE="Flightradar24"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
|
||||
RDEPEND="
|
||||
net-wireless/dump1090
|
||||
virtual/libusb:1
|
||||
"
|
||||
|
||||
RESTRICT="bindist mirror"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
QA_PREBUILT="usr/bin/fr24feed"
|
||||
|
||||
src_install() {
|
||||
dobin fr24feed_$(usex amd64 'amd64' 'i386')/fr24feed
|
||||
|
||||
insinto /etc
|
||||
doins "${FILESDIR}"/fr24feed.ini
|
||||
|
||||
newinitd "${FILESDIR}"/fr24feed.initd fr24feed
|
||||
newconfd "${FILESDIR}"/fr24feed.confd fr24feed
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Please run '/usr/bin/fr24feed --signup', to register yourself as a data feeder."
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,7 +1,4 @@
|
||||
DIST MoarVM-2019.03.tar.gz 5136086 BLAKE2B 695e5528934002b17f547a281482dc0015b3901b2c9626ce6fcf8aaa2df07c293f501871311ee3be47d009b972ca22a268bb34c859fde6a13566e8d03d1d3f04 SHA512 aa50dcf1499e83247c4c490384f80896160d08fb72a5a6da1f91748c6dc343fa30dcf35adca3e9e8329a2919026a4bdb299129865abf611ce49d73d05cce4285
|
||||
DIST MoarVM-2019.07.1.tar.gz 5189731 BLAKE2B 3dde716f6911fb8392346b34763439c37866da34361875e7bf1d9d15a4e2b1d9c1dbb668c42611172dcfd6c9060f9c95ec4bac0e5ac614af3038cc4752d9b6d9 SHA512 c8ffaf962191a60f643e6e1b765ec700664988ffc629765c273baf32d2748763480f9fd7a2d978b7f99d3ba4bf962775f4dca40053ace2ddd8cd0bffbd977d84
|
||||
DIST MoarVM-2019.07.tar.gz 5187102 BLAKE2B a9c56453edf5b5834d33187aea6eabacac9a721e7a27471a02b82585560ffbb5bb8807ae8c738f3138c5b0453217ad101aab23bef2c8b727cd2f8a56574abfd5 SHA512 ff5370cb2c7dc4357825f02387757e36a5e03b711021c896043ba5f68e573308146a0d94c7855ec9b4860906a3b0720d316d119ca5bbda908f17d3f4f14f4999
|
||||
DIST MoarVM-2019.11.tar.gz 5709053 BLAKE2B 5214a041d02fa9feebf50996460b4a73634bf69dc24edbda72d29fe3045504dde809143ba6edf57602a5207e45a02e9a69cfecd2dca0bb5922e5560dca4e5861 SHA512 d7d7d21ff0e3896b7cb869ea1298f9ff1b041b68062ac509d4571246f96985de0ad48d881f7c988e1ed470c4c5f859f36916bfd764cbc0e988c249682b0b8b41
|
||||
DIST MoarVM-2020.05.tar.gz 5309065 BLAKE2B ed33f066cc16382218509dd9cf8f9f252c87a7d8bfeaf11be8ccbf4fe2337e1dd598d7f4368d4edc5fa1b7c704ee2b4dfec66ee8824465e6088ce0bdf7c8fac1 SHA512 10dd2bb8c629ac4d7804a8e64f8883617545930520c61ff34b62b29b81f827c425004bb07c8978df9620da446fa204ccb3b5c8889651e243a1fe4da28350ab66
|
||||
DIST MoarVM-2020.06.tar.gz 5325582 BLAKE2B 3cef20e2cf8d35cf4e812c2838963938a059393eddf1b87d4f2a69750b5e3eae81db76c671d3fcc137f63acd0b94ff03a6c5c3c2a772d9d9409348cfb33fe235 SHA512 5dae0abb825d8ac1620a62da44de6a0a6ddbeed6862c728b895ad5922c0142fd305f5d63bef9726490d9bab0afa603e93b0a1cfd7e61f5778dedfca0f016664c
|
||||
DIST MoarVM-2020.07.tar.gz 5329508 BLAKE2B a761234baf88bfb5d8bc87e621822cd4cc1c11c383d9a42785a33d6cc6aa2f039a7764923044c028677b75fd849fa785edb2b0b9bd4ba1bd5393dbe7269c6dc1 SHA512 7581dc0b028029f34fdb1035c1db75f9c13637f7ba5a0d85ca8478cc1844bb0f5852822a145df453b28037cb19972dc6112f32d9b443854952761223926f4042
|
||||
DIST MoarVM-2020.08.tar.gz 5333410 BLAKE2B 4590576148d26c96eda390c9b66966b10205616b1920d6a7e259fa055240a5627fceb00399942eee512278dfd23cec90c5a1e79ee3f94cdad89e526b83c2888f SHA512 610ac56df2cd0da7b284e967fb2f626fa10583f66ef06d8c4368048883bea0627b5029c56e64fd7281e6e70c3f63ac26dcfa463d2145be83433a8e76226fcb3b
|
||||
|
@ -1,62 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic
|
||||
|
||||
MY_PN="MoarVM"
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
|
||||
inherit git-r3
|
||||
KEYWORDS=""
|
||||
S="${WORKDIR}/${P}"
|
||||
else
|
||||
SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
|
||||
HOMEPAGE="http://moarvm.org"
|
||||
LICENSE="Artistic-2"
|
||||
SLOT="0"
|
||||
IUSE="asan clang debug doc +jit static-libs optimize ubsan"
|
||||
|
||||
RDEPEND="dev-libs/libatomic_ops
|
||||
>=dev-libs/libuv-1.26
|
||||
dev-lang/lua:=
|
||||
virtual/libffi"
|
||||
DEPEND="${RDEPEND}
|
||||
clang? ( >=sys-devel/clang-3.1 )
|
||||
dev-lang/perl"
|
||||
|
||||
DOCS=( CREDITS README.markdown )
|
||||
|
||||
# Tests are conducted via nqp
|
||||
RESTRICT=test
|
||||
|
||||
src_configure() {
|
||||
MAKEOPTS+=" NOISY=1"
|
||||
use doc && DOCS+=( docs/* )
|
||||
local prefix="${EPREFIX}/usr"
|
||||
local libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
einfo "--prefix '${prefix}'"
|
||||
einfo "--libdir '${libdir}'"
|
||||
local myconfigargs=(
|
||||
"--prefix=${prefix}"
|
||||
"--has-libuv"
|
||||
"--has-libatomic_ops"
|
||||
"--has-libffi"
|
||||
"--libdir=${libdir}"
|
||||
"--compiler=$(usex clang clang gcc)"
|
||||
"$(usex asan --asan)"
|
||||
"$(usex debug --debug --no-debug)"
|
||||
"$(usex optimize --optimize= --no-optimize)"
|
||||
"$(usex static-libs --static)"
|
||||
"$(usex ubsan --ubsan)"
|
||||
)
|
||||
use optimize && filter-flags '-O*'
|
||||
|
||||
perl Configure.pl "${myconfigargs[@]}" || die
|
||||
}
|
@ -1,65 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic
|
||||
|
||||
MY_PN="MoarVM"
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
|
||||
inherit git-r3
|
||||
KEYWORDS=""
|
||||
S="${WORKDIR}/${P}"
|
||||
else
|
||||
SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
|
||||
HOMEPAGE="http://moarvm.org"
|
||||
LICENSE="Artistic-2"
|
||||
SLOT="0"
|
||||
|
||||
#USE=optimize triggers makefile bug
|
||||
IUSE="asan clang debug doc +jit static-libs ubsan"
|
||||
|
||||
RDEPEND="dev-libs/libatomic_ops
|
||||
>=dev-libs/libuv-1.26
|
||||
dev-lang/lua:=
|
||||
virtual/libffi"
|
||||
DEPEND="${RDEPEND}
|
||||
clang? ( >=sys-devel/clang-3.1 )
|
||||
dev-lang/perl"
|
||||
|
||||
DOCS=( CREDITS README.markdown )
|
||||
|
||||
# Tests are conducted via nqp
|
||||
RESTRICT=test
|
||||
|
||||
# known configure bug
|
||||
PATCHES="${FILESDIR}/fix-quoting.patch"
|
||||
|
||||
src_configure() {
|
||||
MAKEOPTS+=" NOISY=1"
|
||||
use doc && DOCS+=( docs/* )
|
||||
local prefix="${EPREFIX}/usr"
|
||||
local libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
einfo "--prefix '${prefix}'"
|
||||
einfo "--libdir '${libdir}'"
|
||||
local myconfigargs=(
|
||||
"--prefix" "${prefix}"
|
||||
"--has-libuv"
|
||||
"--has-libatomic_ops"
|
||||
"--has-libffi"
|
||||
"--libdir" "${libdir}"
|
||||
"--compiler" "$(usex clang clang gcc)"
|
||||
"$(usex asan --asan)"
|
||||
"$(usex debug --debug --no-debug)"
|
||||
"$(usex static-libs --static)"
|
||||
"$(usex ubsan --ubsan)"
|
||||
)
|
||||
|
||||
perl Configure.pl "${myconfigargs[@]}" moarshared || die
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic
|
||||
|
||||
MY_PN="MoarVM"
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
|
||||
EGIT_SUBMODULES=( '*' '-3rdparty/libatomicops' '-3rdparty/libuv' )
|
||||
inherit git-r3
|
||||
KEYWORDS=""
|
||||
S="${WORKDIR}/${P}"
|
||||
else
|
||||
SRC_URI="http://moarvm.org/releases/${MY_PN}-${PV}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A 6model-based VM for NQP and Rakudo Perl 6"
|
||||
HOMEPAGE="http://moarvm.org"
|
||||
LICENSE="Artistic-2"
|
||||
SLOT="0"
|
||||
IUSE="asan clang debug doc static-libs optimize ubsan"
|
||||
|
||||
RDEPEND="dev-libs/libatomic_ops
|
||||
>=dev-libs/libuv-1.26
|
||||
dev-lang/lua:=
|
||||
virtual/libffi"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="${RDEPEND}
|
||||
clang? ( >=sys-devel/clang-3.1 )
|
||||
dev-lang/perl"
|
||||
|
||||
DOCS=( CREDITS README.markdown )
|
||||
|
||||
# Tests are conducted via nqp
|
||||
RESTRICT=test
|
||||
|
||||
src_prepare() {
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
# Stupid upstream try to auto-fetch this themselves
|
||||
git rm -f 3rdparty/{libatomicops,libuv} ||
|
||||
die "Can't strip unused submodules"
|
||||
fi
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
MAKEOPTS+=" NOISY=1"
|
||||
use doc && DOCS+=( docs/* )
|
||||
local prefix="${EPREFIX}/usr"
|
||||
local libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
einfo "--prefix '${prefix}'"
|
||||
einfo "--libdir '${libdir}'"
|
||||
local myconfigargs=(
|
||||
"--prefix" "${prefix}"
|
||||
"--has-libuv"
|
||||
"--has-libatomic_ops"
|
||||
"--has-libffi"
|
||||
"--libdir" "${libdir}"
|
||||
"--compiler" "$(usex clang clang gcc)"
|
||||
"$(usex asan --asan)"
|
||||
"$(usex debug --debug --no-debug)"
|
||||
"$(usex optimize --optimize= --no-optimize)"
|
||||
"$(usex static-libs --static)"
|
||||
"$(usex ubsan --ubsan)"
|
||||
)
|
||||
|
||||
perl Configure.pl "${myconfigargs[@]}" moarshared || die
|
||||
}
|
@ -1,6 +1,4 @@
|
||||
DIST nqp-2019.03.official.tar.gz 3951058 BLAKE2B 237b8cc0105396fc96349a0dd34502ab45fb7d02089dd2ef5aad2554610b4090adf11679271869e5ae06abfa509210959ae8762fbee30dfe6190d6a74ce32591 SHA512 248768c1b1c0f5e5bd19183404e2a1aa28ab488b05db0b1ed0f0bcceca8b9830885762e763ea38cdd2b54d975d2663e1defe236907096aabc5b668818d293533
|
||||
DIST nqp-2019.07.1.tar.gz 3937612 BLAKE2B 71f5ddadaa70d7eeadc122ef50f90c13bf7e3a1a4262069ee8564f739e99dfb780359e1155a28f61f90dd1cc419379e366d7274c9567a4319bd841005c3a51a9 SHA512 90c9cfbc3de165ba8c0b4653a849a6faafef9e3862743c3675277c25bc4578522a97a663a4ed7529831fa0b617c7412fcfe67b3e3ff1fc5994f6c42cdf7a4bc5
|
||||
DIST nqp-2019.11.tar.gz 3942494 BLAKE2B 241c4131fc94d7055b51a44b7be824fb53a00fc51370f59dcba1d92655de66e2db536c622084bf9466d9d753d5ad804411b4af07b2767ad1a4f09e065c6693f8 SHA512 3b9fea9d9c4d2ae2ca065536bcca5b483067f9e723c3a89c7e238199c0f52ea6ba23ae4429dacbd42bea69dccbbc836efe5046d1691185d5452f30912f4e6a40
|
||||
DIST nqp-2020.05.tar.gz 3945402 BLAKE2B d73bb5cf5dcd2f0e0d42928fb12382428355f3c19bbcd015950c2a9e49ab73c215ce8ce21f3686283866c387823f1cbb3ba8179de8f7a66dca43afae94a45a42 SHA512 a60e9bcf9ef8d4c0492cc193893d398d0c62a114e829375ac9a7601336bc2cc820b8f486b10f8b647302d473f3e85ebd13559d4089d38ef6c95b0b7e8778c5cd
|
||||
DIST nqp-2020.06.tar.gz 3945129 BLAKE2B 0cc378bd5be89bdc8e8b1a72ae64a8d93ccd189811540fc29a72105df1024790deab649349fdc96087f2ce8f3b57eef97e0edf56ee98d7ba3c329e6d47386c46 SHA512 f9a930f7bc9197a9e79ba5f2f72009b4d7ceafe8e3cd7902eb3f04ffb264228b1fba2a826a7ab686322e611557e624c8dbc271dc9eac067a9cc482fc0c6b9460
|
||||
DIST nqp-2020.07.tar.gz 3949070 BLAKE2B 194cd52dabe307dab41bec8508a28d00f05c043c16d2ba1beec4a9da63be0d26be3303cb95647ab4f028985ce8913b16f6724f79a395fdf3a6878a2953d33958 SHA512 70b8fa525abc5b6d0749b3e1f090ace60095517d78f9ec84425f12496e46454f89e8f5ea0cbdd77e5f891a6abaa894c9dbc7be955652dfde1cc8d034aec237d3
|
||||
DIST nqp-2020.08.tar.gz 3951313 BLAKE2B 0eda6b50268cd4faf49a7311e4d94d9846e223072a54d0ce5c4b2095abe47645924ce6a256edafd6301380ca99b8268a97551cbc6013210e9058713d5a8b1321 SHA512 6acc8d4b443b67a2731d30b4ed81c3ff654189dc51c463d7e4f30ca1a2ac4791b3393238b6370f8bc915278ecdb1bbc403427eb2292b41717ec7d01605a3de4b
|
||||
|
@ -1,159 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit java-pkg-opt-2 multibuild
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
|
||||
inherit git-r3
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz -> ${P}.official.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
|
||||
HOMEPAGE="https://rakudo.org"
|
||||
|
||||
LICENSE="Artistic-2"
|
||||
SLOT="0"
|
||||
IUSE="doc clang java +moar test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="|| ( java moar )"
|
||||
|
||||
CDEPEND="java? (
|
||||
dev-java/asm:4
|
||||
dev-java/jline:0
|
||||
dev-java/jna:4
|
||||
)
|
||||
moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
|
||||
RDEPEND="${CDEPEND}
|
||||
java? ( >=virtual/jre-1.8 )"
|
||||
DEPEND="${CDEPEND}
|
||||
clang? ( sys-devel/clang )
|
||||
java? ( >=virtual/jdk-1.8 )
|
||||
dev-lang/perl"
|
||||
|
||||
pkg_pretend() {
|
||||
if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
|
||||
ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
|
||||
ewarn "already being installed. So if it fails, try uninstalling both"
|
||||
ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
|
||||
ewarn "(see Bug #584394)"
|
||||
fi
|
||||
}
|
||||
|
||||
java_prepare() {
|
||||
# Don't clean stage0 jars.
|
||||
einfo "Cleaning upstream jars"
|
||||
java-pkg_clean 3rdparty/
|
||||
|
||||
# Don't use jars we just deleted.
|
||||
sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
|
||||
src/vm/jvm/runners/nqp-j || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
MULTIBUILD_VARIANTS=()
|
||||
use moar && MULTIBUILD_VARIANTS+=( moar )
|
||||
use java && MULTIBUILD_VARIANTS+=( jvm )
|
||||
|
||||
multibuild_copy_sources
|
||||
|
||||
# This will pull in conditional java_prepare
|
||||
default
|
||||
}
|
||||
|
||||
nqp_configure() {
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
local myconfargs=(
|
||||
"--backend=${MULTIBUILD_VARIANT}"
|
||||
"--prefix=${EPREFIX}/usr" )
|
||||
|
||||
perl Configure.pl "${myconfargs[@]}" || die
|
||||
popd || die
|
||||
}
|
||||
|
||||
nqp_compile() {
|
||||
if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
|
||||
emake -j1 \
|
||||
-C "${BUILD_DIR}" \
|
||||
THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
|
||||
JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
|
||||
elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
|
||||
emake -j1 \
|
||||
-C "${BUILD_DIR}"
|
||||
fi
|
||||
}
|
||||
|
||||
nqp_test() {
|
||||
emake -j1 \
|
||||
-C "${BUILD_DIR}" \
|
||||
test
|
||||
}
|
||||
|
||||
nqp_install() {
|
||||
# This is the actual reason we need multibuild.eclass.
|
||||
# We need to distinguish the install procedure for MoarVM and JVM backends.
|
||||
case "${MULTIBUILD_VARIANT}" in
|
||||
moar)
|
||||
emake \
|
||||
DESTDIR="${ED}" \
|
||||
-C "${BUILD_DIR}" \
|
||||
install
|
||||
;;
|
||||
jvm)
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
# Set JAVA_PKG_JARDEST early.
|
||||
java-pkg_init_paths_
|
||||
|
||||
# Upstream sets the classpath to this location. Perhaps it's
|
||||
# used to locate the additional libraries?
|
||||
java-pkg_addcp "${JAVA_PKG_JARDEST}"
|
||||
|
||||
insinto "${JAVA_PKG_JARDEST}"
|
||||
local jar
|
||||
|
||||
for jar in *.jar; do
|
||||
if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
|
||||
# jars for NQP itself.
|
||||
java-pkg_dojar ${jar}
|
||||
else
|
||||
# jars used by NQP.
|
||||
doins ${jar}
|
||||
fi
|
||||
done
|
||||
|
||||
# Upstream uses -Xbootclasspath/a, which is faster due to lack
|
||||
# of verification, but gjl isn't flexible enough yet. :(
|
||||
java-pkg_dolauncher ${PN}-j --main ${PN}
|
||||
dosym ${PN}-j /usr/bin/${PN}
|
||||
dobin tools/jvm/eval-client.pl
|
||||
popd > /dev/null || die
|
||||
;;
|
||||
*)
|
||||
die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
multibuild_foreach_variant nqp_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
multibuild_foreach_variant nqp_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
multibuild_foreach_variant nqp_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
multibuild_foreach_variant nqp_install
|
||||
|
||||
dodoc CREDITS README.pod
|
||||
use doc && dodoc -r docs/*
|
||||
}
|
@ -1,160 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit java-pkg-opt-2 multibuild
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/perl6/${PN}.git"
|
||||
inherit git-r3
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="https://github.com/perl6/${PN}/releases/download/${PV}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Not Quite Perl, a Perl 6 bootstrapping compiler"
|
||||
HOMEPAGE="https://rakudo.org"
|
||||
|
||||
LICENSE="Artistic-2"
|
||||
SLOT="0"
|
||||
IUSE="doc clang java +moar test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="|| ( java moar )"
|
||||
|
||||
CDEPEND="java? (
|
||||
dev-java/asm:4
|
||||
dev-java/jline:0
|
||||
dev-java/jna:4
|
||||
)
|
||||
moar? ( ~dev-lang/moarvm-${PV}[clang=] )"
|
||||
RDEPEND="${CDEPEND}
|
||||
java? ( >=virtual/jre-1.8 )"
|
||||
DEPEND="${CDEPEND}"
|
||||
BDEPEND="${CDEPEND}
|
||||
clang? ( sys-devel/clang )
|
||||
java? ( >=virtual/jdk-1.8 )
|
||||
dev-lang/perl"
|
||||
|
||||
pkg_pretend() {
|
||||
if has_version dev-lang/rakudo || has_version dev-lang/nqp; then
|
||||
ewarn "NQP is known to fail compilation/installation with Rakudo and/or NQP"
|
||||
ewarn "already being installed. So if it fails, try uninstalling both"
|
||||
ewarn "dev-lang/nqp and dev-lang/rakudo, then do a new installation."
|
||||
ewarn "(see Bug #584394)"
|
||||
fi
|
||||
}
|
||||
|
||||
java_prepare() {
|
||||
# Don't clean stage0 jars.
|
||||
einfo "Cleaning upstream jars"
|
||||
java-pkg_clean 3rdparty/
|
||||
|
||||
# Don't use jars we just deleted.
|
||||
sed -i -r 's/(:3rdparty[^:]*)+/:${THIRDPARTY_JARS}/g' \
|
||||
src/vm/jvm/runners/nqp-j || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
MULTIBUILD_VARIANTS=()
|
||||
use moar && MULTIBUILD_VARIANTS+=( moar )
|
||||
use java && MULTIBUILD_VARIANTS+=( jvm )
|
||||
|
||||
multibuild_copy_sources
|
||||
|
||||
# This will pull in conditional java_prepare
|
||||
default
|
||||
}
|
||||
|
||||
nqp_configure() {
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
local myconfargs=(
|
||||
"--backend=${MULTIBUILD_VARIANT}"
|
||||
"--prefix=${EPREFIX}/usr" )
|
||||
|
||||
perl Configure.pl "${myconfargs[@]}" || die
|
||||
popd || die
|
||||
}
|
||||
|
||||
nqp_compile() {
|
||||
if [[ "${MULTIBUILD_VARIANT}" = jvm ]]; then
|
||||
emake -j1 \
|
||||
-C "${BUILD_DIR}" \
|
||||
THIRDPARTY_JARS=$(java-pkg_getjars --with-dependencies asm-4,jline,jna-4) \
|
||||
JAVAC="$(java-pkg_get-javac) $(java-pkg_javac-args)"
|
||||
elif [[ "${MULTIBUILD_VARIANT}" = moar ]]; then
|
||||
emake -j1 \
|
||||
-C "${BUILD_DIR}"
|
||||
fi
|
||||
}
|
||||
|
||||
nqp_test() {
|
||||
emake -j1 \
|
||||
-C "${BUILD_DIR}" \
|
||||
test
|
||||
}
|
||||
|
||||
nqp_install() {
|
||||
# This is the actual reason we need multibuild.eclass.
|
||||
# We need to distinguish the install procedure for MoarVM and JVM backends.
|
||||
case "${MULTIBUILD_VARIANT}" in
|
||||
moar)
|
||||
emake \
|
||||
DESTDIR="${ED}" \
|
||||
-C "${BUILD_DIR}" \
|
||||
install
|
||||
;;
|
||||
jvm)
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
# Set JAVA_PKG_JARDEST early.
|
||||
java-pkg_init_paths_
|
||||
|
||||
# Upstream sets the classpath to this location. Perhaps it's
|
||||
# used to locate the additional libraries?
|
||||
java-pkg_addcp "${JAVA_PKG_JARDEST}"
|
||||
|
||||
insinto "${JAVA_PKG_JARDEST}"
|
||||
local jar
|
||||
|
||||
for jar in *.jar; do
|
||||
if has ${jar} ${PN}.jar ${PN}-runtime.jar; then
|
||||
# jars for NQP itself.
|
||||
java-pkg_dojar ${jar}
|
||||
else
|
||||
# jars used by NQP.
|
||||
doins ${jar}
|
||||
fi
|
||||
done
|
||||
|
||||
# Upstream uses -Xbootclasspath/a, which is faster due to lack
|
||||
# of verification, but gjl isn't flexible enough yet. :(
|
||||
java-pkg_dolauncher ${PN}-j --main ${PN}
|
||||
dosym ${PN}-j /usr/bin/${PN}
|
||||
dobin tools/jvm/eval-client.pl
|
||||
popd > /dev/null || die
|
||||
;;
|
||||
*)
|
||||
die "Unknown MULTIBUILD_VARIANT ${MULTIBUILD_VARIANT}."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
multibuild_foreach_variant nqp_configure
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
multibuild_foreach_variant nqp_compile
|
||||
}
|
||||
|
||||
src_test() {
|
||||
multibuild_foreach_variant nqp_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
multibuild_foreach_variant nqp_install
|
||||
|
||||
dodoc CREDITS README.pod
|
||||
use doc && dodoc -r docs/*
|
||||
}
|
@ -1,5 +1,4 @@
|
||||
DIST rakudo-2019.03.tar.gz 4128971 BLAKE2B 0b1eeb4ebcf7abdbc477cf1b64a6b1f85821e03a953b71aca53ac4fdc88bf3c8df0ecbc95c687ab6686a4cdd4ddb6c7caf89c97ed407d4c0b45203b65397aa11 SHA512 c6b77bbc7d806a399adccccc98c273063c90756967769cd288a161317cc81151dff4feb1219b534aeec5d60e4344fd1f7e166cfc3b90389fd550b2862178f447
|
||||
DIST rakudo-2019.11.tar.gz 4651014 BLAKE2B 4e95b834d074efcf515e4b1e6776ef4a34398dcc4536e315b759dcb56565e64e19e2cf513b97b85974639b3c3b9968129a6781bbafb37fded98f108c32d06ceb SHA512 6d058fe1e1630023f14ac910ade75f22b963f9eb8e524a8c9006a6df8e0764f283f2c8bd4af4a303b2151e6078fccd8b3cb6c388f70e38d6e9465505eefafdb4
|
||||
DIST rakudo-2020.05.1.tar.gz 4802231 BLAKE2B ead9db815bb29d78f4a92157ff65e43c28f19e52e19f3972783b2a8d6c1814576c30d5b612e12f1500a7ae436c66b70d9774aa69f2ea421cc4382341cbd40498 SHA512 20d0818fc9f13693f098c41799cceb39e21442ac652993981fcab1fc1c7158058b42746f3ca3b145938fb6adb03f045f4784e77bf11da672c5908d0a5a36975f
|
||||
DIST rakudo-2020.06.tar.gz 4828268 BLAKE2B 5be85b3379f8f859ccff860cfbb5cbab23befd3f25175ae300acf414477f73ef9c2da8ea66a4516339a6dcddbef79d18ee3789e009619bdde44eff6a69cb765c SHA512 2eb6f4eecb2b8fe2cf94ef0309baf4f91cd4cdc7adb428e1023e5b84d804e34a5249448915b40d8120afe21dfb5bb1cb65c128d2b2f1afa3d98d84c97c84caea
|
||||
DIST rakudo-2020.07.tar.gz 4729727 BLAKE2B 131d4aaee21c7e38fb8f2c3091336597a4cb583be648979f41b6c025e65eb1f17aef81117d5bbddc4e7283ebb3af083443c4710532979a87c89caf2387126266 SHA512 05da50ed201054718136ae6ae3867c8cc54720a4e62e34867d082d9ac7d74a190c04b8a60f29b264273e641c31b9ee839d6189d41bad573c9c77f9bb58db233f
|
||||
DIST rakudo-2020.08.1.tar.gz 4740608 BLAKE2B be1b1f755690493483ba001407a89de69d64d0959d99bd28cdc4cbbacbcc56e884aa6244b2046c0ff6f6c4374b8edc86016c3c6b9719926a71eb5640092d16d1 SHA512 0142a5df29d4bd1c5a0e8cd37d59242b552dc523966293293fb643f4ce65a004457d81f76823db15bec1508a12c631eec324623cb3b8d60bc14d55b626959b11
|
||||
|
@ -1,73 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit java-pkg-opt-2
|
||||
|
||||
DESCRIPTION="A compiler for the Perl 6 programming language"
|
||||
HOMEPAGE="https://rakudo.org"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/rakudo/${PN}.git"
|
||||
inherit git-r3
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="https://rakudo.perl6.org/downloads/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="Artistic-2"
|
||||
SLOT="0"
|
||||
# TODO: add USE="javascript" once that's usable in nqp
|
||||
IUSE="clang java +moar test"
|
||||
RESTRICT="!test? ( test )"
|
||||
REQUIRED_USE="|| ( java moar )"
|
||||
|
||||
CDEPEND="~dev-lang/nqp-${PV}:${SLOT}=[java?,moar?,clang=]"
|
||||
RDEPEND="${CDEPEND}
|
||||
java? ( >=virtual/jre-1.7 )"
|
||||
DEPEND="${CDEPEND}
|
||||
clang? ( sys-devel/clang )
|
||||
java? ( >=virtual/jdk-1.7 )
|
||||
>=dev-lang/perl-5.10"
|
||||
|
||||
pkg_pretend() {
|
||||
if has_version dev-lang/rakudo; then
|
||||
ewarn "Rakudo is known to fail compilation/installation with Rakudo"
|
||||
ewarn "already being installed. So if it fails, try unmerging dev-lang/rakudo,"
|
||||
ewarn "then do a new installation."
|
||||
ewarn "(see Bug #584394)"
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local backends
|
||||
use moar && backends+="moar,"
|
||||
use java && backends+="jvm"
|
||||
|
||||
local myargs=(
|
||||
"--prefix=/usr"
|
||||
"--sysroot=/"
|
||||
"--sdkroot=/"
|
||||
"--backends=${backends}"
|
||||
)
|
||||
|
||||
perl Configure.pl "${myargs[@]}" || die
|
||||
|
||||
if use java; then
|
||||
NQP=$(java-pkg_getjars --with-dependencies nqp)
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" NQP_JARS="${NQP}" BLD_NQP_JARS="${NQP}" install
|
||||
}
|
||||
|
||||
src_test() {
|
||||
RAKUDO_PRECOMP_PREFIX=$(mktemp -d) default
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST gdl-3.28.0.tar.xz 541252 BLAKE2B 7254a9e15e9e79229c85b12c02ff5307bf99569428b13629ac8b3a5e79383f14a248d6e74f139e44145cd1a2825a2d10859c922a07a22fe1243edfafdb01514b SHA512 d6a697b8cd098abfcb560d8b6c8a326b05f6f22211a3bc92ea458d643170abc514acd4105e372fb61777d2a5dd09709d7e3d6d3ad75215fffdf2809b3df3c471
|
||||
DIST gdl-3.34.0.tar.xz 531368 BLAKE2B 5e32c330ab2fda0b9f06de0fd9d7e3f3118b0af36a73f4f0280f069b49002a4d00e5cbfd373d65b0ea7a15bb5b577f8babbdf7ee71ed7db773d2ad65008a452e SHA512 8c43f330556dae67e4f64e92c3ba5c2e9351d3040d6002bda89f20f9494fc93030abe80072f0cf86280f98e290805154e9ca12aaa7013f0a341d8ea94323d3b0
|
||||
|
@ -0,0 +1,31 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit gnome2
|
||||
|
||||
DESCRIPTION="GNOME docking library"
|
||||
HOMEPAGE="https://git.gnome.org/browse/gdl"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="3/5" # subslot = libgdl-3 soname version
|
||||
IUSE="+introspection"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/glib:2
|
||||
>=x11-libs/gtk+-3.0.0:3[introspection?]
|
||||
>=dev-libs/libxml2-2.4:2
|
||||
introspection? ( >=dev-libs/gobject-introspection-0.6.7:= )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-util/gtk-doc-am-1.4
|
||||
>=dev-util/intltool-0.40.4
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure \
|
||||
$(use_enable introspection) \
|
||||
--disable-gtk-doc
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST nspr-4.25.tar.gz 1079633 BLAKE2B 377e5ec0e60cca13f1ee988adb10870bbb6cb9e4eb61e4434152418d4f8d446741a192d7019298ec2669b8e190cacb6a1ca9c4b2838e9b14dd3590ed40facdd2 SHA512 b9aa576e0da37e8729088fe559d94030cf18f277c1f7a30104d3088a804913343ed884645c0adb62144da475e20934b359f897bf3ae9a6ebb5f9daf283d5a562
|
||||
DIST nspr-4.26.tar.gz 1079778 BLAKE2B db83afa5e3ab2e0ef92aa236db6d9f25e963b77df7c71400e691dc3e882ec6d63cbf13996eb1ae1a03a294def419e1669e38fe42990c66efedce03f121087e6c SHA512 d6632cde3570ee386ee1459257eba99f91dd62fa905fd82679222c83d63c185b76d8dca0422d4349de2dfce603472ae52bc0dcced0f142acb733374c74155d3c
|
||||
DIST nspr-4.27.tar.gz 1080036 BLAKE2B 2d7a24259ff6b04e7a71e705d54612f27957824969b94eab251d6a53d91c7630d59cd107a6b9f5c6c0a308bac1db1ebc286602d672d4828d2322288456a5ce78 SHA512 2be539e6fd5ed8987874147a2bacc3f0b7177cdfddbb1a4f9e5f93575de871584b05fb56ca4e1ba5f7e53074cd4069310658f1559de0f38def208b087b6e6dca
|
||||
DIST nspr-4.28.tar.gz 1080086 BLAKE2B 7b4bfd8e05f6303d9d41c3c2686447cd1f16b029d8219b9fc2c83f4a16a8ccf214ad6374e0caf9816aaced1e14650cb43acb92b89d7e9d0886acc59292b53d1e SHA512 5badee7bc4b43270b384e2f6ee0654be88b2fb4a5db1dfc46e441520bf66496105db80bced2234b73c18150eb6a6fe00f93cea1e2cfe809404bfd3e02de109c4
|
||||
|
@ -0,0 +1,122 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools toolchain-funcs multilib-minimal
|
||||
|
||||
MIN_PV="$(ver_cut 2)"
|
||||
|
||||
DESCRIPTION="Netscape Portable Runtime"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/nspr/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/nspr/releases/v${PV}/src/${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug elibc_musl"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nspr-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.23-prtime.patch
|
||||
"${FILESDIR}"/${PN}-4.7.1-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.10.6-solaris.patch
|
||||
"${FILESDIR}"/${PN}-4.8.4-darwin-install_name.patch
|
||||
"${FILESDIR}"/${PN}-4.8.9-link-flags.patch
|
||||
# We do not need to pass -L$libdir via nspr-config --libs
|
||||
"${FILESDIR}"/${PN}-4.9.5_nspr_config.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cd "${S}"/nspr || die
|
||||
|
||||
default
|
||||
|
||||
use elibc_musl && eapply "${FILESDIR}"/${PN}-4.21-ipv6-musl-support.patch
|
||||
|
||||
# rename configure.in to configure.ac for new autotools compatibility
|
||||
if [[ -e "${S}"/nspr/configure.in ]] ; then
|
||||
einfo "Renaming configure.in to configure.ac"
|
||||
mv "${S}"/nspr/configure.{in,ac} || die
|
||||
else
|
||||
elog "configure.in rename logic can be removed from ebuild."
|
||||
fi
|
||||
|
||||
# We must run eautoconf to regenerate configure
|
||||
eautoconf
|
||||
|
||||
# make sure it won't find Perl out of Prefix
|
||||
sed -i -e "s/perl5//g" "${S}"/nspr/configure || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) \$(OBJS)/\$(MKSHLIB) \$(LDFLAGS) \$(OBJS)/g' \
|
||||
"${S}"/nspr/config/rules.mk || die
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# We use the standard BUILD_xxx but nspr uses HOST_xxx
|
||||
tc-export_build_env BUILD_CC
|
||||
export HOST_CC=${BUILD_CC} HOST_CFLAGS=${BUILD_CFLAGS} HOST_LDFLAGS=${BUILD_LDFLAGS}
|
||||
tc-export AR CC CXX RANLIB
|
||||
[[ ${CBUILD} != ${CHOST} ]] \
|
||||
&& export CROSS_COMPILE=1 \
|
||||
|| unset CROSS_COMPILE
|
||||
|
||||
local myconf=(
|
||||
--libdir="${EPREFIX}/usr/$(get_libdir)"
|
||||
$(use_enable debug)
|
||||
$(use_enable !debug optimize)
|
||||
)
|
||||
|
||||
# The configure has some fancy --enable-{{n,x}32,64bit} switches
|
||||
# that trigger some code conditional to platform & arch. This really
|
||||
# matters for the few common arches (x86, ppc) but we pass a little
|
||||
# more of them to be future-proof.
|
||||
|
||||
# use ABI first, this will work for most cases
|
||||
case "${ABI}" in
|
||||
alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86) ;;
|
||||
n32) myconf+=( --enable-n32 );;
|
||||
x32) myconf+=( --enable-x32 );;
|
||||
s390x|*64) myconf+=( --enable-64bit );;
|
||||
default) # no abi actually set, fall back to old check
|
||||
einfo "Running a short build test to determine 64bit'ness"
|
||||
echo > "${T}"/test.c || die
|
||||
${CC} ${CFLAGS} ${CPPFLAGS} -c "${T}"/test.c -o "${T}"/test.o || die
|
||||
case $(file "${T}"/test.o) in
|
||||
*32-bit*x86-64*) myconf+=( --enable-x32 );;
|
||||
*64-bit*|*ppc64*|*x86_64*) myconf+=( --enable-64bit );;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether your arch is 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac ;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# Ancient autoconf needs help finding the right tools.
|
||||
LC_ALL="C" ECONF_SOURCE="${S}/nspr" \
|
||||
ac_cv_path_AR="${AR}" \
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
# Their build system is royally confusing, as usual
|
||||
MINOR_VERSION=${MIN_PV} # Used for .so version
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
einfo "removing static libraries as upstream has requested!"
|
||||
rm "${ED}"/usr/$(get_libdir)/*.a || die "failed to remove static libraries."
|
||||
|
||||
# install nspr-config
|
||||
dobin config/nspr-config
|
||||
|
||||
# Remove stupid files in /usr/bin
|
||||
rm "${ED}"/usr/bin/prerr.properties || die
|
||||
|
||||
# This is used only to generate prerr.c and prerr.h at build time.
|
||||
# No other projects use it, and we don't want to depend on perl.
|
||||
# Talked to upstream and they agreed w/punting.
|
||||
rm "${ED}"/usr/bin/compile-et.pl || die
|
||||
}
|
@ -0,0 +1,351 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit eutils flag-o-matic multilib toolchain-funcs multilib-minimal
|
||||
|
||||
NSPR_VER="4.28"
|
||||
RTM_NAME="NSS_${PV//./_}_RTM"
|
||||
|
||||
DESCRIPTION="Mozilla's Network Security Services library that implements PKI support"
|
||||
HOMEPAGE="http://www.mozilla.org/projects/security/pki/nss/"
|
||||
SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/${P}.tar.gz
|
||||
cacert? ( https://dev.gentoo.org/~axs/distfiles/${PN}-cacert-class1-class3.patch )"
|
||||
|
||||
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="cacert utils"
|
||||
# pkg-config called by nss-config -> virtual/pkgconfig in RDEPEND
|
||||
RDEPEND="
|
||||
>=dev-libs/nspr-${NSPR_VER}[${MULTILIB_USEDEP}]
|
||||
>=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
|
||||
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
|
||||
virtual/pkgconfig
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
S="${WORKDIR}/${P}/${PN}"
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/nss-config
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
# Custom changes for gentoo
|
||||
"${FILESDIR}/${PN}-3.53-gentoo-fixups.patch"
|
||||
"${FILESDIR}/${PN}-3.21-gentoo-fixup-warnings.patch"
|
||||
"${FILESDIR}/${PN}-3.23-hppa-byte_order.patch"
|
||||
"${FILESDIR}/${PN}-3.53-fix-building-on-ppc.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if use cacert ; then #521462
|
||||
PATCHES+=(
|
||||
"${DISTDIR}/${PN}-cacert-class1-class3.patch"
|
||||
)
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
pushd coreconf >/dev/null || die
|
||||
# hack nspr paths
|
||||
echo 'INCLUDES += -I$(DIST)/include/dbm' \
|
||||
>> headers.mk || die "failed to append include"
|
||||
|
||||
# modify install path
|
||||
sed -e '/CORE_DEPTH/s:SOURCE_PREFIX.*$:SOURCE_PREFIX = $(CORE_DEPTH)/dist:' \
|
||||
-i source.mk || die
|
||||
|
||||
# Respect LDFLAGS
|
||||
sed -i -e 's/\$(MKSHLIB) -o/\$(MKSHLIB) \$(LDFLAGS) -o/g' rules.mk
|
||||
popd >/dev/null || die
|
||||
|
||||
# Fix pkgconfig file for Prefix
|
||||
sed -i -e "/^PREFIX =/s:= /usr:= ${EPREFIX}/usr:" \
|
||||
config/Makefile || die
|
||||
|
||||
# use host shlibsign if need be #436216
|
||||
if tc-is-cross-compiler ; then
|
||||
sed -i \
|
||||
-e 's:"${2}"/shlibsign:shlibsign:' \
|
||||
cmd/shlibsign/sign.sh || die
|
||||
fi
|
||||
|
||||
# dirty hack
|
||||
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../freebl/\$(OBJDIR):" \
|
||||
lib/ssl/config.mk || die
|
||||
sed -i -e "/CRYPTOLIB/s:\$(SOFTOKEN_LIB_DIR):../../lib/freebl/\$(OBJDIR):" \
|
||||
cmd/platlibs.mk || die
|
||||
|
||||
multilib_copy_sources
|
||||
|
||||
strip-flags
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Ensure we stay multilib aware
|
||||
sed -i -e "/@libdir@/ s:lib64:$(get_libdir):" config/Makefile || die
|
||||
}
|
||||
|
||||
nssarch() {
|
||||
# Most of the arches are the same as $ARCH
|
||||
local t=${1:-${CHOST}}
|
||||
case ${t} in
|
||||
aarch64*)echo "aarch64";;
|
||||
hppa*) echo "parisc";;
|
||||
i?86*) echo "i686";;
|
||||
x86_64*) echo "x86_64";;
|
||||
*) tc-arch ${t};;
|
||||
esac
|
||||
}
|
||||
|
||||
nssbits() {
|
||||
local cc cppflags="${1}CPPFLAGS" cflags="${1}CFLAGS"
|
||||
if [[ ${1} == BUILD_ ]]; then
|
||||
cc=$(tc-getBUILD_CC)
|
||||
else
|
||||
cc=$(tc-getCC)
|
||||
fi
|
||||
echo > "${T}"/test.c || die
|
||||
${cc} ${!cppflags} ${!cflags} -c "${T}"/test.c -o "${T}/${1}test.o" || die
|
||||
case $(file "${T}/${1}test.o") in
|
||||
*32-bit*x86-64*) echo USE_X32=1;;
|
||||
*64-bit*|*ppc64*|*x86_64*) echo USE_64=1;;
|
||||
*32-bit*|*ppc*|*i386*) ;;
|
||||
*) die "Failed to detect whether ${cc} builds 64bits or 32bits, disable distcc if you're using it, please";;
|
||||
esac
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
# use ABI to determine bit'ness, or fallback if unset
|
||||
local buildbits mybits
|
||||
case "${ABI}" in
|
||||
n32) mybits="USE_N32=1";;
|
||||
x32) mybits="USE_X32=1";;
|
||||
s390x|*64) mybits="USE_64=1";;
|
||||
${DEFAULT_ABI})
|
||||
einfo "Running compilation test to determine bit'ness"
|
||||
mybits=$(nssbits)
|
||||
;;
|
||||
esac
|
||||
# bitness of host may differ from target
|
||||
if tc-is-cross-compiler; then
|
||||
buildbits=$(nssbits BUILD_)
|
||||
fi
|
||||
|
||||
local makeargs=(
|
||||
CC="$(tc-getCC)"
|
||||
CCC="$(tc-getCXX)"
|
||||
AR="$(tc-getAR) rc \$@"
|
||||
RANLIB="$(tc-getRANLIB)"
|
||||
OPTIMIZER=
|
||||
${mybits}
|
||||
)
|
||||
|
||||
# Take care of nspr settings #436216
|
||||
local myCPPFLAGS="${CPPFLAGS} $($(tc-getPKG_CONFIG) nspr --cflags)"
|
||||
unset NSPR_INCLUDE_DIR
|
||||
|
||||
export NSS_ALLOW_SSLKEYLOGFILE=1
|
||||
export NSS_ENABLE_WERROR=0 #567158
|
||||
export BUILD_OPT=1
|
||||
export NSS_USE_SYSTEM_SQLITE=1
|
||||
export NSDISTMODE=copy
|
||||
export FREEBL_NO_DEPEND=1
|
||||
export FREEBL_LOWHASH=1
|
||||
export NSS_SEED_ONLY_DEV_URANDOM=1
|
||||
export USE_SYSTEM_ZLIB=1
|
||||
export ZLIB_LIBS=-lz
|
||||
export ASFLAGS=""
|
||||
|
||||
local d
|
||||
|
||||
# Build the host tools first.
|
||||
LDFLAGS="${BUILD_LDFLAGS}" \
|
||||
XCFLAGS="${BUILD_CFLAGS}" \
|
||||
NSPR_LIB_DIR="${T}/fakedir" \
|
||||
emake -j1 -C coreconf \
|
||||
CC="$(tc-getBUILD_CC)" \
|
||||
${buildbits-${mybits}}
|
||||
makeargs+=( NSINSTALL="${PWD}/$(find -type f -name nsinstall)" )
|
||||
|
||||
# Then build the target tools.
|
||||
for d in . lib/dbm ; do
|
||||
CPPFLAGS="${myCPPFLAGS}" \
|
||||
XCFLAGS="${CFLAGS} ${CPPFLAGS}" \
|
||||
NSPR_LIB_DIR="${T}/fakedir" \
|
||||
emake -j1 "${makeargs[@]}" -C ${d} OS_TEST="$(nssarch)"
|
||||
done
|
||||
}
|
||||
|
||||
# Altering these 3 libraries breaks the CHK verification.
|
||||
# All of the following cause it to break:
|
||||
# - stripping
|
||||
# - prelink
|
||||
# - ELF signing
|
||||
# http://www.mozilla.org/projects/security/pki/nss/tech-notes/tn6.html
|
||||
# Either we have to NOT strip them, or we have to forcibly resign after
|
||||
# stripping.
|
||||
#local_libdir="$(get_libdir)"
|
||||
#export STRIP_MASK="
|
||||
# */${local_libdir}/libfreebl3.so*
|
||||
# */${local_libdir}/libnssdbm3.so*
|
||||
# */${local_libdir}/libsoftokn3.so*"
|
||||
|
||||
export NSS_CHK_SIGN_LIBS="freebl3 nssdbm3 softokn3"
|
||||
|
||||
generate_chk() {
|
||||
local shlibsign="$1"
|
||||
local libdir="$2"
|
||||
einfo "Resigning core NSS libraries for FIPS validation"
|
||||
shift 2
|
||||
local i
|
||||
for i in ${NSS_CHK_SIGN_LIBS} ; do
|
||||
local libname=lib${i}.so
|
||||
local chkname=lib${i}.chk
|
||||
"${shlibsign}" \
|
||||
-i "${libdir}"/${libname} \
|
||||
-o "${libdir}"/${chkname}.tmp \
|
||||
&& mv -f \
|
||||
"${libdir}"/${chkname}.tmp \
|
||||
"${libdir}"/${chkname} \
|
||||
|| die "Failed to sign ${libname}"
|
||||
done
|
||||
}
|
||||
|
||||
cleanup_chk() {
|
||||
local libdir="$1"
|
||||
shift 1
|
||||
local i
|
||||
for i in ${NSS_CHK_SIGN_LIBS} ; do
|
||||
local libfname="${libdir}/lib${i}.so"
|
||||
# If the major version has changed, then we have old chk files.
|
||||
[ ! -f "${libfname}" -a -f "${libfname}.chk" ] \
|
||||
&& rm -f "${libfname}.chk"
|
||||
done
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
pushd dist >/dev/null || die
|
||||
|
||||
dodir /usr/$(get_libdir)
|
||||
cp -L */lib/*$(get_libname) "${ED}"/usr/$(get_libdir) || die "copying shared libs failed"
|
||||
local i
|
||||
for i in crmf freebl nssb nssckfw ; do
|
||||
cp -L */lib/lib${i}.a "${ED}"/usr/$(get_libdir) || die "copying libs failed"
|
||||
done
|
||||
|
||||
# Install nss-config and pkgconfig file
|
||||
dodir /usr/bin
|
||||
cp -L */bin/nss-config "${ED}"/usr/bin || die
|
||||
dodir /usr/$(get_libdir)/pkgconfig
|
||||
cp -L */lib/pkgconfig/nss.pc "${ED}"/usr/$(get_libdir)/pkgconfig || die
|
||||
|
||||
# create an nss-softokn.pc from nss.pc for libfreebl and some private headers
|
||||
# bug 517266
|
||||
sed -e 's#Libs:#Libs: -lfreebl#' \
|
||||
-e 's#Cflags:#Cflags: -I${includedir}/private#' \
|
||||
*/lib/pkgconfig/nss.pc >"${ED}"/usr/$(get_libdir)/pkgconfig/nss-softokn.pc \
|
||||
|| die "could not create nss-softokn.pc"
|
||||
|
||||
# all the include files
|
||||
insinto /usr/include/nss
|
||||
doins public/nss/*.{h,api}
|
||||
insinto /usr/include/nss/private
|
||||
doins private/nss/{blapi,alghmac,cmac}.h
|
||||
|
||||
popd >/dev/null || die
|
||||
|
||||
local f nssutils
|
||||
# Always enabled because we need it for chk generation.
|
||||
nssutils=( shlibsign )
|
||||
|
||||
if multilib_is_native_abi ; then
|
||||
if use utils; then
|
||||
# The tests we do not need to install.
|
||||
#nssutils_test="bltest crmftest dbtest dertimetest
|
||||
#fipstest remtest sdrtest"
|
||||
# checkcert utils has been removed in nss-3.22:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1187545
|
||||
# https://hg.mozilla.org/projects/nss/rev/df1729d37870
|
||||
# certcgi has been removed in nss-3.36:
|
||||
# https://bugzilla.mozilla.org/show_bug.cgi?id=1426602
|
||||
nssutils+=(
|
||||
addbuiltin
|
||||
atob
|
||||
baddbdir
|
||||
btoa
|
||||
certutil
|
||||
cmsutil
|
||||
conflict
|
||||
crlutil
|
||||
derdump
|
||||
digest
|
||||
makepqg
|
||||
mangle
|
||||
modutil
|
||||
multinit
|
||||
nonspr10
|
||||
ocspclnt
|
||||
oidcalc
|
||||
p7content
|
||||
p7env
|
||||
p7sign
|
||||
p7verify
|
||||
pk11mode
|
||||
pk12util
|
||||
pp
|
||||
rsaperf
|
||||
selfserv
|
||||
signtool
|
||||
signver
|
||||
ssltap
|
||||
strsclnt
|
||||
symkeyutil
|
||||
tstclnt
|
||||
vfychain
|
||||
vfyserv
|
||||
)
|
||||
# install man-pages for utils (bug #516810)
|
||||
doman doc/nroff/*.1
|
||||
fi
|
||||
pushd dist/*/bin >/dev/null || die
|
||||
for f in ${nssutils[@]}; do
|
||||
dobin ${f}
|
||||
done
|
||||
popd >/dev/null || die
|
||||
fi
|
||||
|
||||
# Prelink breaks the CHK files. We don't have any reliable way to run
|
||||
# shlibsign after prelink.
|
||||
dodir /etc/prelink.conf.d
|
||||
printf -- "-b ${EPREFIX}/usr/$(get_libdir)/lib%s.so\n" ${NSS_CHK_SIGN_LIBS} \
|
||||
> "${ED}"/etc/prelink.conf.d/nss.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
multilib_pkg_postinst() {
|
||||
# We must re-sign the libraries AFTER they are stripped.
|
||||
local shlibsign="${EROOT}/usr/bin/shlibsign"
|
||||
# See if we can execute it (cross-compiling & such). #436216
|
||||
"${shlibsign}" -h >&/dev/null
|
||||
if [[ $? -gt 1 ]] ; then
|
||||
shlibsign="shlibsign"
|
||||
fi
|
||||
generate_chk "${shlibsign}" "${EROOT}"/usr/$(get_libdir)
|
||||
}
|
||||
|
||||
multilib_foreach_abi multilib_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
multilib_pkg_postrm() {
|
||||
cleanup_chk "${EROOT}"/usr/$(get_libdir)
|
||||
}
|
||||
|
||||
multilib_foreach_abi multilib_pkg_postrm
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue