parent
0f43c98eae
commit
5d3c11013b
@ -1,2 +1,3 @@
|
||||
DIST keepassxc-2.1.4.tar.gz 3345520 SHA256 40a990dbcf442eb3cad99452b58ffd36e5855b39e78f213ea20e99fbc7876701 SHA512 48030eb6df595c73644f43d6222654c5f76962ae5aa2f44ca4dc9c8e45726380c6be4300af7a8279b07c06b70912da444f2b17c5b6c37a91cb239d695e7518d8 WHIRLPOOL da2bdac3e334b48903c6b20532ea4a0af0fe057e10e702ba6a4221e828b8f416d666ff67407b434d38b4cbbe5119d3c8a49927e4d5092f4f62ab49e30981017c
|
||||
DIST keepassxc-2.2.0.tar.gz 3814252 SHA256 9d9d39b9c056955fe5d7a5212efe1703be02fa4731c36e2b1e06a78174b0a7b8 SHA512 e23968c259afade81c8dcf0786ed68ca77ca8e9726dffb12e1017f2f60afb29b60ec1b71450ce7e284d543bcaa72bbc79bec917dea852d5bb923dff7fc6edcb5 WHIRLPOOL a993068922d8fd0bd1b06d434fff7340160c30992a166f15d9692d83e4a985939b88d20fce2b0425d3bab00de0e2ffce6fd2d34ff0bd92d08d95747ae03c9df9
|
||||
DIST keepassxc-2.2.1.tar.gz 3880551 SHA256 184663e8b08e081dedf4c9dbdd68bf86ed0f5e32388b4781b7afcf89ef5c8e4d SHA512 bce2a0d6d3ad32bb507afac22670b34c37f5e36de6a30bb7c9b5a523c12bad59d95a414b90608451660fb9ce224279c7658e1892f2b99c673908449cc86e5595 WHIRLPOOL 32a0ede5c150bc4fc54c1b0a8f3c46110a19349d732913bdc9f3bc6492c1998569b2cd7a178ec9bb11e5b8dc9698138d8a7f26000211377a0c90f505605fe54c
|
||||
|
@ -0,0 +1,65 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
SCM=""
|
||||
[[ "${PV}" == 9999 ]] && SCM="git-r3"
|
||||
inherit cmake-utils ${SCM}
|
||||
unset SCM
|
||||
|
||||
DESCRIPTION="KeePassXC - KeePass Cross-platform Community Edition"
|
||||
HOMEPAGE="https://github.com/keepassxreboot/keepassxc"
|
||||
|
||||
if [[ "${PV}" != 9999 ]] ; then
|
||||
SRC_URI="https://github.com/keepassxreboot/keepassxc/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
else
|
||||
EGIT_REPO_URI="https://github.com/keepassxreboot/${PN}"
|
||||
fi
|
||||
|
||||
LICENSE="LGPL-2.1 GPL-2 GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="autotype debug http test yubikey"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/libgcrypt:=
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtdbus:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtwidgets:5
|
||||
sys-libs/zlib
|
||||
autotype? (
|
||||
dev-qt/qtx11extras:5
|
||||
x11-libs/libX11
|
||||
x11-libs/libXi
|
||||
x11-libs/libXtst
|
||||
)
|
||||
yubikey? ( sys-auth/ykpers )
|
||||
"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
dev-qt/linguist-tools:5
|
||||
dev-qt/qtconcurrent:5
|
||||
test? ( dev-qt/qttest:5 )
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
use test || \
|
||||
sed -e "/^find_package(Qt5Test/d" -i CMakeLists.txt || die
|
||||
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DWITH_GUI_TESTS=OFF
|
||||
-DWITH_TESTS="$(usex test)"
|
||||
-DWITH_XC_AUTOTYPE="$(usex autotype)"
|
||||
-DWITH_XC_HTTP="$(usex http)"
|
||||
-DWITH_XC_YUBIKEY="$(usex yubikey)"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
@ -1,4 +1,3 @@
|
||||
DIST restic-0.4.0.tar.gz 22926188 SHA256 746dbc7b73f5a542be57b71714b243266a011f1d750f56f5100c08a59df1aeac SHA512 ccd15f010f8da3bae3d33698e70ff1d9565f52fb56991b78d35f95493417a4ab050021153d81c424947233255d9553d050f7a66e1c709843fe3b2d323a81f85b WHIRLPOOL 94e6b9ed777a86cb6e46cf734b9280e68cc2ce1ea061c8a94409dca594add1ec24fb736a56e35571302ff5043a60bef7f60ff3b39b038ee128bc815f7d3d48cd
|
||||
DIST restic-0.5.0.tar.gz 22937327 SHA256 a8e99087478a076b8a9c7c74d37cd23a56224d8c9b242c171756784ade024fda SHA512 571e4b0aa92a6cd9320f48c46a4b2190576d9328169d54762747dfa024ab280fb41ee377b59f0114d89ebd50bc54488a8cb5e2b36c57959202e848394107bb3c WHIRLPOOL 19fef25a6e2dff3145a6700abb581e7cae3abe5522ee0197f56a572d499824e84ba25a3111c5e71856ffac18d75622766c74c585a44b6db489468050e1c8d59a
|
||||
DIST restic-0.6.1.tar.gz 25231223 SHA256 7cd709c592a5978723673397d7d13c37c0977e20c43db253d0c274b53a55654a SHA512 8c899ca8b6e3dfa399fe5c4306f72a1bcfa869dd667d27f3f88efa26aaa1000959bf91b515911b2ef7b2d4c5bb3e2ed4f202c87add7766d2147b7d40f0757a9a WHIRLPOOL 39225876fd6ce9e4ddac765688238ab5ea430272aacc6e96d54c359de939d2e69cdc45a5571cb63777c258a74b5a9bfbd6114d2463004b242b009856d87b6e2e
|
||||
DIST restic-0.7.1.tar.gz 25438170 SHA256 81efde662c34225b5705f3d72daa1f6278455c2b8f786224d7a1ecca0b14efca SHA512 3b887149c801fe81f9bf65e0ae4a17ba97f66c0133f45b3f5526d79d580f072e0e5fd89cd78a5018992dc42e6dafb9385139f4336fe6f06d57d8abe7a9e323b1 WHIRLPOOL bbdeafadd7b329147b7ea30b13d806d20de76e8efcc1ace4eea74420aa39f6d7a8f5eb186169d2a053988d07d44063ca71c54287aa07c4cd4cdc906a07b80dc7
|
||||
DIST restic-0.7.3.tar.gz 37062625 SHA256 6d795a5f052b3a8cb8e7571629da14f00e92035b7174eb20e32fd1440f68aaff SHA512 2d44b4fc363c7f6389c1f06469cf30ebeff4d6ade0bd4fcae1d7d9def3922936b45043b04f4072284b773df2c6487c58db6aea41c7de5c8184ca33ca3c44d44a WHIRLPOOL dde430e4d718928b01da0f1558fd8a7bf65a0d9e3a4a620cc7557e6afd4760a8dc6c1a9d7c744649cb817b99fb22ee2e2f893d5fd49fa961d5ab6b8bb02941b0
|
||||
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="restic is a backup program that is fast, efficient and secure"
|
||||
HOMEPAGE="https://restic.github.io/"
|
||||
SRC_URI="https://github.com/restic/restic/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
DOCS=( README.md CONTRIBUTING.md doc/Design.md doc/FAQ.md doc/index.md doc/Manual.md doc/REST_backend.md )
|
||||
|
||||
DEPEND="dev-lang/go
|
||||
test? ( sys-fs/fuse:0 )"
|
||||
|
||||
RDEPEND="sys-fs/fuse:0"
|
||||
|
||||
src_compile() {
|
||||
local mygoargs=(
|
||||
-v
|
||||
-work
|
||||
-x
|
||||
-tags release
|
||||
-ldflags "-w -X main.version=${PV}"
|
||||
-o "${S}"/restic cmds/restic
|
||||
)
|
||||
|
||||
GOPATH="${S}:${S}/vendor" go build "${mygoargs[@]}" || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
GOPATH="${S}:${S}/vendor" go test -v -work -x restic/... cmds/... || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin restic
|
||||
einstalldocs
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="restic is a backup program that is fast, efficient and secure"
|
||||
HOMEPAGE="https://restic.github.io/"
|
||||
SRC_URI="https://github.com/restic/restic/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
DOCS=( README.md CONTRIBUTING.md doc/Design.md doc/FAQ.md doc/index.md doc/Manual.md doc/REST_backend.md )
|
||||
|
||||
DEPEND="dev-lang/go
|
||||
test? ( sys-fs/fuse )"
|
||||
|
||||
RDEPEND="sys-fs/fuse:0"
|
||||
|
||||
src_compile() {
|
||||
local mygoargs=(
|
||||
-v
|
||||
-work
|
||||
-x
|
||||
-tags release
|
||||
-ldflags "-w -X main.version=${PV}"
|
||||
-o "${S}"/restic cmds/restic
|
||||
)
|
||||
|
||||
GOPATH="${S}:${S}/vendor" go build "${mygoargs[@]}" || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
GOPATH="${S}:${S}/vendor" go test -v -work -x restic/... cmds/... || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin restic
|
||||
einstalldocs
|
||||
}
|
@ -0,0 +1,62 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit golang-vcs-snapshot
|
||||
|
||||
DESCRIPTION="A backup program that is fast, efficient and secure"
|
||||
HOMEPAGE="https://restic.github.io/"
|
||||
SRC_URI="https://github.com/restic/restic/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
EGO_PN="github.com/restic/restic"
|
||||
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="test"
|
||||
|
||||
DOCS=(
|
||||
README.rst CONTRIBUTING.md doc/design.rst
|
||||
doc/faq.rst doc/index.rst doc/manual.rst
|
||||
doc/rest_backend.rst doc/development.rst
|
||||
doc/talks.rst doc/tutorial_aws_s3.rst doc/installation.rst
|
||||
)
|
||||
|
||||
DEPEND="
|
||||
dev-lang/go
|
||||
test? ( sys-fs/fuse:0 )"
|
||||
|
||||
RDEPEND="sys-fs/fuse:0"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
src_compile() {
|
||||
local mygoargs=(
|
||||
-v
|
||||
-work
|
||||
-x
|
||||
-tags release
|
||||
-ldflags "-s -w -X main.version=${PV}"
|
||||
-asmflags "-trimpath=${S}"
|
||||
-gcflags "-trimpath=${S}"
|
||||
-o restic ${EGO_PN}/cmd/restic
|
||||
)
|
||||
|
||||
GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
|
||||
go build "${mygoargs[@]}" || die
|
||||
}
|
||||
|
||||
src_test() {
|
||||
GOPATH="${WORKDIR}/${P}:$(get_golibdir_gopath)" \
|
||||
go test -timeout 30m -v -work -x ${EGO_PN}/cmd/... ${EGO_PN}/internal/... || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin restic
|
||||
einstalldocs
|
||||
|
||||
local i
|
||||
for i in doc/man/*; do
|
||||
doman "$i"
|
||||
done
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST jakarta-jmeter-2.0.1_src.tgz 5368483 SHA256 8dc7b0ff680af721adeeab198f7dc99f5e376df04c2504291564cfaccdcf5f36 SHA512 221a9d1ed19407ab0b863443827f8b6d7f179ef27227defc3c71ab4ccb5981bbb82f239206993590500a9adf2444cdcefb219dcb28afe6488659a2be19374b08 WHIRLPOOL 07a980e7f46da636d760a0c62ba42de653fda3417cc2442fc34d5e13b46291b3a3f0c49fd05a93bdebb7d8968c5a77e643a59094fdf619d0dc24e048a9e5f762
|
@ -1,59 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="Load test and measure performance on HTTP/FTP services and databases"
|
||||
HOMEPAGE="http://jmeter.apache.org/"
|
||||
SRC_URI="mirror://apache/jakarta/jmeter/source/jakarta-${P}_src.tgz"
|
||||
COMMON_DEP="
|
||||
beanshell? ( dev-java/bsh )
|
||||
>=dev-java/bsf-2.3
|
||||
=dev-java/junit-3.8*
|
||||
java-virtuals/javamail"
|
||||
DEPEND=">=virtual/jdk-1.4
|
||||
doc? ( >=dev-java/velocity-1.4 )
|
||||
dev-java/ant-nodeps
|
||||
sys-apps/sed
|
||||
${COMMON_DEP}"
|
||||
RDEPEND=">=virtual/jre-1.4
|
||||
${COMMON_DEP}"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="beanshell doc"
|
||||
|
||||
S=${WORKDIR}/jakarta-${P}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
|
||||
cd "${S}"
|
||||
sed -i -e 's/%//g' bin/jmeter || die "Unable to sed."
|
||||
cd "${S}/lib"
|
||||
# FIXME replace all bundled jars bug #63309
|
||||
# then rm -f *.jar
|
||||
use beanshell && java-pkg_jar-from bsh
|
||||
java-pkg_jar-from bsf-2.3
|
||||
java-pkg_jar-from junit
|
||||
java-pkg_jar-from --virtual javamail
|
||||
java-pkg_filter-compiler jikes
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local tasks="ant-nodeps"
|
||||
use doc && tasks="${tasks} velocity"
|
||||
ANT_TASKS="${tasks}" eant package $(use_doc docs-all) || die "compile problem"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
diropts --mode=0775
|
||||
dodir /opt/${PN}
|
||||
local dest="${D}/opt/${PN}/"
|
||||
cp -pPR bin/ lib/ printable_docs/ "${dest}"
|
||||
if use doc; then
|
||||
cp -pPR printable_docs "${dest}" || die "Failed to install docs"
|
||||
fi
|
||||
dodoc README || die
|
||||
use doc && dohtml -r docs/*
|
||||
}
|
@ -1,71 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
JAVA_PKG_IUSE="doc source examples"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="Load test and measure performance on HTTP/FTP services and databases"
|
||||
HOMEPAGE="http://jmeter.apache.org/"
|
||||
SRC_URI="mirror://apache/jakarta/jmeter/source/jakarta-${P}_src.tgz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
IUSE="beanshell"
|
||||
|
||||
COMMON_DEP="
|
||||
beanshell? ( dev-java/bsh )
|
||||
>=dev-java/bsf-2.3
|
||||
=dev-java/junit-3.8*
|
||||
java-virtuals/javamail"
|
||||
DEPEND=">=virtual/jdk-1.4
|
||||
doc? ( >=dev-java/velocity-1.4 )
|
||||
dev-java/ant-nodeps
|
||||
sys-apps/sed
|
||||
${COMMON_DEP}"
|
||||
RDEPEND=">=virtual/jre-1.4
|
||||
${COMMON_DEP}"
|
||||
|
||||
S=${WORKDIR}/jakarta-${P}
|
||||
|
||||
java_prepare() {
|
||||
sed -i -e 's/%//g' bin/jmeter || die "Unable to sed."
|
||||
cd "${S}/lib" || die
|
||||
# FIXME replace all bundled jars bug #63309
|
||||
# then rm -f *.jar
|
||||
use beanshell && java-pkg_jar-from bsh
|
||||
java-pkg_jar-from bsf-2.3
|
||||
java-pkg_jar-from junit
|
||||
java-pkg_jar-from --virtual javamail
|
||||
java-pkg_filter-compiler jikes
|
||||
|
||||
find "${S}"/src -name "*.java" | xargs sed -i -e 's:\benum\b:enumx:g' || die # fix for bug #514662
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local tasks="ant-nodeps"
|
||||
use doc && tasks="${tasks} velocity"
|
||||
ANT_TASKS="${tasks}" eant package $(use_doc docs-all) || die "compile problem"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
diropts --mode=0775
|
||||
dodir /opt/${PN}
|
||||
local dest="${D}/opt/${PN}/"
|
||||
cp -pPR bin/ lib/ "${dest}" || die
|
||||
if use doc; then
|
||||
cp -pPR printable_docs "${dest}" || die "Failed to install docs"
|
||||
fi
|
||||
dodoc README
|
||||
|
||||
echo "PATH=\"/opt/${PN}/bin\"" > "${T}/90${PN}" || die
|
||||
doenvd "${T}/90${PN}" || die "failed to install env.d file"
|
||||
|
||||
use doc && dohtml -r docs/*
|
||||
use source && java-pkg_dosrc src/*
|
||||
use examples && java-pkg_doexamples xdocs/demos/*
|
||||
}
|
@ -1,77 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
JAVA_PKG_IUSE="doc source examples"
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
DESCRIPTION="Load test and measure performance on HTTP/FTP services and databases"
|
||||
HOMEPAGE="http://jmeter.apache.org/"
|
||||
SRC_URI="mirror://apache/jakarta/jmeter/source/jakarta-${P}_src.tgz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
IUSE="beanshell"
|
||||
|
||||
CDEPEND="
|
||||
beanshell? (
|
||||
dev-java/bsh:0
|
||||
)
|
||||
dev-java/bsf:2.3
|
||||
dev-java/junit:0
|
||||
dev-java/oracle-javamail:0"
|
||||
DEPEND="virtual/jdk:1.7
|
||||
doc? (
|
||||
dev-java/velocity:0
|
||||
)
|
||||
dev-java/ant-nodeps
|
||||
sys-apps/sed
|
||||
${CDEPEND}"
|
||||
RDEPEND="virtual/jre:1.7
|
||||
${CDEPEND}"
|
||||
|
||||
JAVA_ANT_ENCODING="ISO-8859-1"
|
||||
|
||||
S=${WORKDIR}/jakarta-${P}
|
||||
|
||||
java_prepare() {
|
||||
sed -i -e 's/%//g' bin/jmeter || die "Unable to sed."
|
||||
cd "${S}/lib" || die
|
||||
# FIXME replace all bundled jars bug #63309
|
||||
# then rm -f *.jar
|
||||
use beanshell && java-pkg_jar-from bsh
|
||||
java-pkg_jar-from bsf-2.3
|
||||
java-pkg_jar-from junit
|
||||
java-pkg_jar-from oracle-javamail
|
||||
java-pkg_filter-compiler jikes
|
||||
|
||||
find "${S}"/src -name "*.java" | xargs sed -i -e 's:\benum\b:enumx:g' || die # fix for bug #514662
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local tasks="ant-nodeps"
|
||||
use doc && tasks="${tasks} velocity"
|
||||
ANT_TASKS="${tasks}" eant package $(use_doc docs-all) || die "compile problem"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
diropts --mode=0775
|
||||
dodir /opt/${PN}
|
||||
local dest="${D}/opt/${PN}/"
|
||||
cp -pPR bin/ lib/ "${dest}" || die
|
||||
if use doc; then
|
||||
cp -pPR printable_docs "${dest}" || die "Failed to install docs"
|
||||
fi
|
||||
dodoc README
|
||||
|
||||
echo "PATH=\"/opt/${PN}/bin\"" > "${T}/90${PN}" || die
|
||||
doenvd "${T}/90${PN}" || die "failed to install env.d file"
|
||||
|
||||
use doc && dohtml -r docs/*
|
||||
use source && java-pkg_dosrc src/*
|
||||
use examples && java-pkg_doexamples xdocs/demos/*
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>java@gentoo.org</email>
|
||||
<name>Java</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="beanshell">Enable BeanShell scripting support</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
@ -1,36 +0,0 @@
|
||||
From 9714f6b87e19b32d3a6663a20df6610265c4bfe5 Mon Sep 17 00:00:00 2001
|
||||
From: Juergen Gross <jgross@suse.com>
|
||||
Date: Wed, 28 Sep 2016 06:02:44 +0200
|
||||
Subject: [PATCH] pvgrub: fix crash when booting kernel with p2m list outside
|
||||
kernel mapping
|
||||
|
||||
When trying to boot a kernel with the p2m list not mapped by the
|
||||
initial kernel mapping it can happen that pvgrub is failing as it is
|
||||
keeping some page tables mapped.
|
||||
|
||||
Unmap the additional page tables created for the special p2m mapping
|
||||
will avoid this failure.
|
||||
|
||||
Reported-by: Sven Koehler <sven.koehler@gmail.com>
|
||||
Signed-off-by: Juergen Gross <jgross@suse.com>
|
||||
Acked-by: Wei Liu <wei.liu2@citrix.com>
|
||||
---
|
||||
stubdom/grub/kexec.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/stubdom/grub/kexec.c b/stubdom/grub/kexec.c
|
||||
index 8fd9ff9..71c2f3f 100644
|
||||
--- a/stubdom/grub/kexec.c
|
||||
+++ b/stubdom/grub/kexec.c
|
||||
@@ -347,6 +347,8 @@ void kexec(void *kernel, long kernel_size, void *module, long module_size, char
|
||||
/* Unmap libxc's projection of the boot page table */
|
||||
seg = xc_dom_seg_to_ptr(dom, &dom->pgtables_seg);
|
||||
munmap(seg, dom->pgtables_seg.vend - dom->pgtables_seg.vstart);
|
||||
+ seg = xc_dom_seg_to_ptr(dom, &dom->p2m_seg);
|
||||
+ munmap(seg, dom->p2m_seg.vend - dom->p2m_seg.vstart);
|
||||
|
||||
/* Unmap day0 pages to avoid having a r/w mapping of the future page table */
|
||||
for (pfn = 0; pfn < allocated; pfn++)
|
||||
--
|
||||
2.10.0
|
||||
|
@ -1,8 +1,7 @@
|
||||
DIST khal-0.8.1.tar.gz 125681 SHA256 9d352e4aa6256e493d5aea69540f642158bdcab75d2383e1e43506bf89982094 SHA512 01b24b7fb041a78443eb1ede80797ca689c2141bf6bb6b171f49931de7440055c38efc4611c483fe85da90794d074e4d08224ce633878ca2f7b8d66799391033 WHIRLPOOL cbcff5dec339ea97ee7bc83860b4f0c0f75801553e191d5856d30758c95936b2a156cea09ae9bd5a2ea96a3914b454f84ce0123970d1d74693be75caa23cbd27
|
||||
DIST khal-0.8.3.tar.gz 126656 SHA256 1ec6940a9fbd207c41428b103bac1d1555129b9b4eca2b843c544bd48ac63ee3 SHA512 f49e57a6cc9abfcf8dbc5811c2fe00661fd09a8a6d1a64bae4df5ce9c1d01c6f325adeef68a7b45eed3a34bd797b801c00fcd8fa4fdf378335d5273629f0a165 WHIRLPOOL 20963f12d9419f2421680548a6de22261e4d9c4482f6a28937b4339335b5a4965178bae0624cc5172da98c534603d3cd0ed5337e03c04190195a478b34b4a34f
|
||||
DIST khal-0.8.4.tar.gz 129251 SHA256 2e5c41eadf83c8f175dc05816571e747da921b025e4acc6b287c109b6e237e0f SHA512 8a1066f137db1b3a9c2cc246ea17baf6745efd3db9dadacb76b287546137da363bcd78a4ac2acd2c659fbf25f16b155cc993099067a736ef3b68b2e8512d7b83 WHIRLPOOL 094c9ec2a0343d557ba70956239d5fa719d9fd08c7038d542b173f18ebce30b11761ac2e09780381fb55a9942cb885fd63b46d6c32573c94ed52990f34841e7b
|
||||
DIST khal-0.9.0.tar.gz 158220 SHA256 b9aa992a8ed1a5d816eeeff79256ad7edea591acdf16ae30e65bfdc3adef0f8d SHA512 f457d6cbd323f65c2185776b8c8ed67268820ee4c06c845f3640dfc085a5528b19c855ada670d397a74d6c0785b7abeb90247528cbc826b39b51284917577acd WHIRLPOOL 4f003e39735917a7dec13f4aaffb851755e0d1f2c2d007111a4766622dfc900cece0c0dd38d5735d145ba36855639c08d1db3c3a7e5e9da5d428e23c469fc600
|
||||
DIST khal-0.9.3.tar.gz 165182 SHA256 d4d748ae09fd0069124bf28ca61db1b1fbc3e8e95e2f23e597e28e2e38336ac7 SHA512 38f9c059eb8ebaacd40d4d5e276f8e42ea0bcc5237b46647974601458fc8576ec8920873cc90c002a8e101b2383028d60a2e74dbfb601acd9c0770ada2c63b65 WHIRLPOOL 8461b39508fb3b5bd2a0532dd71507334852b71492688f0dabcf76b9d70cf8f29e831a36d38028340c1fa1853dda4c1eda706559e8ee6dfb9ecdc112363b5002
|
||||
DIST khal-0.9.4.tar.gz 169530 SHA256 21aa1ac464383a515be9f18d6b06413d17116ef9353d5349211c540c4bd7996e SHA512 a17643dc998b3414bb62d2fd2fd42a364dd5344eeb54be9cb310df8da952e06add41669d65d61b550385bc94bccff4382fca78e4cdcf71a202b8abe5c394d394 WHIRLPOOL 4ca55e0b5cdde8cde0b85d45b1b3936bd3f0b39bce127d9d59e2c442b37d93a520b83b523506579f4ebbccacd6bc26698ab4cd2de9330e872ed01c006f54d47a
|
||||
DIST khal-0.9.5.tar.gz 170011 SHA256 b945894cb4ededa6711989814bd4866815f322aa25dff581d808a7eae5047b3b SHA512 8dae0989a7351a4148e9f6e52e8b69d1b46c7e5465233d5e389db5a20c9da6349da11f0119df7536b01c620a30cb43805cfcedaa32d563a592a337b0faf56946 WHIRLPOOL c98a2a7e7c03654c3b2bac0ba80104b61b8ef1ae8db6e41c8662a75470b7044d9ccfe6a01c702e65b79db645583793deed4fa4f6e65297f0b9079477159d6eb8
|
||||
DIST khal-0.9.6.tar.gz 169539 SHA256 6ec7ce0202764839521f47805e10ac1f54e9adfae3f82e7c1e67ad88eefd6772 SHA512 3d8299d714fcf64d4790d270238acfc9250bfabce2182f49922e51004bce33509853ed6889e9eb694ee2f8f3357b1a175b2cec29ec135cf7fc8bacf237bbcc11 WHIRLPOOL 0bce1dca6f0a7fab0cd0399a9bbd020d8c77d30991181ba6856a46905295e6d68889149c171bfebd7c119a490a7154a3bc13820e072d754b7e0f65c83c523f75
|
||||
DIST khal-0.9.7.tar.gz 173401 SHA256 bbdacd99e725a21e35c5baf335261bf40528735bda6499c509ebbde39c303774 SHA512 24fd1ee472971f029f998b061da719a0dfe4ee9584a5ea237b6cf0c886b5c45d7a7ee4bf9c23c41eb0dd0c5eba0bcabed7a5f05ae486a890150429031e215180 WHIRLPOOL 7fa7125c169bc45ea4a9d638fd916698c9f4a7b792c8695020e7b82c593b8af3583546c11fb519cd3cd470caeaf21bda59ee9782e7d4bbb74e6710a7b0e63009
|
||||
|
@ -1,43 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python3_4 )
|
||||
PYTHON_REQ_USE="sqlite"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A CalDAV based calendar"
|
||||
HOMEPAGE="http://lostpackets.de/khal/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
SLOT="0"
|
||||
IUSE="zsh-completion"
|
||||
|
||||
RDEPEND=">=dev-python/click-3.2[${PYTHON_USEDEP}]
|
||||
dev-python/icalendar[${PYTHON_USEDEP}]
|
||||
dev-python/urwid[${PYTHON_USEDEP}]
|
||||
dev-python/pyxdg[${PYTHON_USEDEP}]
|
||||
dev-python/pytz[${PYTHON_USEDEP}]
|
||||
>=dev-python/vdirsyncer-0.5.2[${PYTHON_USEDEP}]
|
||||
dev-python/pkginfo[${PYTHON_USEDEP}]
|
||||
dev-python/python-dateutil[${PYTHON_USEDEP}]
|
||||
dev-python/configobj[${PYTHON_USEDEP}]
|
||||
dev-python/tzlocal[${PYTHON_USEDEP}]
|
||||
dev-python/setproctitle[${PYTHON_USEDEP}]
|
||||
zsh-completion? ( app-shells/zsh )"
|
||||
|
||||
DEPEND="dev-python/setuptools_scm[${PYTHON_USEDEP}]"
|
||||
|
||||
DOCS=( AUTHORS.txt CHANGELOG.rst CONTRIBUTING.txt README.rst khal.conf.sample )
|
||||
|
||||
src_install() {
|
||||
distutils-r1_src_install
|
||||
if use zsh-completion; then
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins misc/__khal
|
||||
fi
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST pdfpc-3.1.1.tgz 199004 SHA256 ec5ffb9c2b55d1bac76172a6a13ed527ceed8cf0d659aca5e302f6a7185f00f2 SHA512 554203094b18fe11fd085414961de6644df3c258ad52d46ad171cfd6c2199028bcbaa9560bdaba63d83f858b467407cc276972b34f341cc25260db1d1358e88d WHIRLPOOL bddcba6a4285ea2b58dd01f76b7b050db630eaa97de5bba32a66f7f85563e6a99763a52e82286297f605dfa59d9ff918007baab297e587968ac1c83e3d69e8a8
|
||||
DIST pdfpc-4.0.7.tar.gz 83626 SHA256 25d5aa2cce344f1554f1f45a7c1f636576587cfd553d75d704e0c95ae3b2a503 SHA512 557e2a24e7aa4b0a7bc413517d6b274c7bad91f5e9d24ec139d0e62c490712081344448bfbedc82a90d28cd9b5910a6f51863aa44dc1c7a61ada6d154780444c WHIRLPOOL f5018d7ba64bea17923c9e3f2e5b6e7e3bc950ffea02a53c93d63057590f1538371fe6b11383d6fbfb4c32d04887f75d1e01f6b24c4b9fc43ac1aacf9be075cd
|
||||
DIST pdfpc-4.0.8.tar.gz 91138 SHA256 c04539398176b0911ec7216c48a04d90d7c893aa5b16cfdef8ea861885991066 SHA512 f077f08f2ee997d55b4e4ced31ec6f21791353871104fff9ece264455a18e30ba365933b15b6b596817f3e6f3f0a181f4fecf19180b8a4337f3752d3aebec7d7 WHIRLPOOL 901f46b831162c88d510754288feb7851e5b3f31af618b7e0b91f884b980bb72ac1de897878bc07db72b6b5d6fa15f108404e835778a0c3615e06a94451567b5
|
||||
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
VALA_MIN_API_VERSION="0.26"
|
||||
VALA_MAX_API_VERSION="0.36" # fix sed line if you increase this
|
||||
|
||||
inherit vala cmake-utils
|
||||
|
||||
DESCRIPTION="Presenter console with multi-monitor support for PDF files"
|
||||
HOMEPAGE="http://pdfpc.github.io"
|
||||
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="gstreamer"
|
||||
|
||||
RDEPEND="app-text/poppler:=[cairo]
|
||||
dev-libs/glib:2
|
||||
dev-libs/libgee:0.8
|
||||
gnome-base/librsvg
|
||||
gstreamer? ( media-libs/gstreamer:1.0
|
||||
media-libs/gst-plugins-base:1.0 )
|
||||
sys-apps/dbus
|
||||
x11-libs/gtk+:3"
|
||||
DEPEND="${RDEPEND}
|
||||
$(vala_depend)"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e "s/valac-0.20/valac-0.36 valac-0.34 valac-0.32 valac-0.30 valac-0.28 valac-0.26/" cmake/vala/FindVala.cmake || die
|
||||
vala_src_prepare
|
||||
}
|
||||
|
||||
src_configure(){
|
||||
local mycmakeargs=(
|
||||
-DSYSCONFDIR="${EPREFIX}/etc"
|
||||
-DMOVIES=$(usex gstreamer on off)
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
@ -1 +0,0 @@
|
||||
DIST adiff-1.4 10902 SHA256 c4e56a2a2288e4dc53a824e603d942c59caaebf9b72f01e332a9d98ebfa6df72 SHA512 edbb4d6a8ce8f636a874d22d1e44bc04b860ab31f1e825ce3e865ee3f6bf07fb6a7b9dd44e5429aad21a475d82b34f176d76f8466e58aeca74717740f7054219 WHIRLPOOL 1099775af9d2c5908d8a26cf4277b24ed3ab41b583f83c4bf263f09b190a8c8b68cf6c431219156346fad0848fd40670a93c8cf3c476333e0ec823f319b6b3bc
|
@ -1,43 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Wordise diff"
|
||||
HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
|
||||
SRC_URI="mirror://gentoo/${P}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~ia64 ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
|
||||
DEPEND="
|
||||
dev-lang/perl
|
||||
!app-arch/atool"
|
||||
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
sys-apps/diffutils"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_unpack() {
|
||||
:; # Nothing to unpack.
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local _p2m=(
|
||||
--release=${PV}
|
||||
--center="${HOMEPAGE}"
|
||||
--date="2007-12-11"
|
||||
"${DISTDIR}"/${P}
|
||||
${PN}.1
|
||||
)
|
||||
|
||||
pod2man "${_p2m[@]}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
newbin "${DISTDIR}/${P}" "${PN}"
|
||||
doman "${PN}.1"
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
# Copyright 1999-2010 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
DESCRIPTION="wordwise diff"
|
||||
HOMEPAGE="http://agriffis.n01se.net/adiff/"
|
||||
SRC_URI="${HOMEPAGE}/${P}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 ia64 ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="dev-lang/perl
|
||||
!app-arch/atool"
|
||||
RDEPEND="${DEPEND}
|
||||
sys-apps/diffutils"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
src_unpack() {
|
||||
# Nothing to unpack
|
||||
:
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
pod2man --release=${PV} --center="${HOMEPAGE}" \
|
||||
--date="2007-12-11" "${DISTDIR}"/${P} ${PN}.1 || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
newbin "${DISTDIR}"/${P} ${PN}
|
||||
doman ${PN}.1
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
</pkgmetadata>
|
@ -1,38 +0,0 @@
|
||||
Description: fix FTBFS with --as-needed linker option
|
||||
Libraries must be placed after object files in command line.
|
||||
Author: Ilya Barygin <randomaction@ubuntu.com>
|
||||
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -135,6 +135,10 @@
|
||||
# All libraries for .exe files
|
||||
set(all_libs ${aseprite_libraries} ${libs3rdparty} ${sys_libs})
|
||||
|
||||
+if(LIBALLEGRO4_LINK_FLAGS)
|
||||
+ set(all_libs ${all_libs} ${LIBALLEGRO4_LINK_FLAGS})
|
||||
+endif()
|
||||
+
|
||||
######################################################################
|
||||
# ASEPRITE libraries
|
||||
|
||||
@@ -405,10 +409,6 @@
|
||||
|
||||
add_executable(aseprite WIN32 main.cpp ${win32_resources} ${x11_resources})
|
||||
target_link_libraries(aseprite ${all_libs})
|
||||
-if(LIBALLEGRO4_LINK_FLAGS)
|
||||
- set_target_properties(aseprite
|
||||
- PROPERTIES LINK_FLAGS ${LIBALLEGRO4_LINK_FLAGS})
|
||||
-endif()
|
||||
|
||||
install(TARGETS aseprite
|
||||
RUNTIME DESTINATION bin)
|
||||
@@ -450,8 +450,7 @@
|
||||
endif()
|
||||
|
||||
if(LIBALLEGRO4_LINK_FLAGS)
|
||||
- set_target_properties(${testname}
|
||||
- PROPERTIES LINK_FLAGS ${LIBALLEGRO4_LINK_FLAGS})
|
||||
+ target_link_libraries(${testname} ${LIBALLEGRO4_LINK_FLAGS})
|
||||
endif()
|
||||
|
||||
if(extra_definitions)
|
@ -1,21 +0,0 @@
|
||||
From 169edeaa69cce2670213c39232a249a487670883 Mon Sep 17 00:00:00 2001
|
||||
From: hasufell <hasufell@hasufell.de>
|
||||
Date: Sun, 2 Nov 2014 16:58:33 +0100
|
||||
Subject: [PATCH] Fix underlinking with USE_SHARED_ALLEGRO4=ON
|
||||
|
||||
---
|
||||
src/CMakeLists.txt | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 21c3352..0ce11d2 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -58,6 +58,7 @@ if(USE_SHARED_ALLEGRO4)
|
||||
OUTPUT_VARIABLE LIBALLEGRO4_LINK_FLAGS
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
|
||||
+ set(LIBALLEGRO4_LINK_FLAGS ${LIBALLEGRO4_LINK_FLAGS} ${PLATFORM_LIBS})
|
||||
include_directories(${LIBALLEGRO4_INCLUDE_DIR})
|
||||
else()
|
||||
add_definitions(-DALLEGRO4_WITH_RESIZE_PATCH)
|
@ -1 +1,2 @@
|
||||
DIST physfs-2.0.3.tar.bz2 560628 SHA256 ca862097c0fb451f2cacd286194d071289342c107b6fe69079c079883ff66b69 SHA512 47eff0c81b8dc3bb526766b0a8ad2437d2951867880116d6e6e8f2ec1490e263541fb741867fed6517cc3fa8a9c5651b36e3e02a499f19cfdc5c7261c9707e80 WHIRLPOOL 30362f92d5702842142c08c3183a384876a03e9e3e400364b0fa59c99ffee994667c1ad08fe633ef146e98301789a980a3419f60a18b24b9c341bb74144ccc73
|
||||
DIST physfs-3.0.0.tar.bz2 194277 SHA256 f2617d6855ea97ea42e4a8ebcad404354be99dfd8a274eacea92091b27fd7324 SHA512 4293dc72a5b2e41fbd02c4426da7bfc1e94a013d8a332b3124798a91ef27b4a57adef303f23d5e03150855de69cf22fc8bb29e6395725a18e3a12f6c74b4111f WHIRLPOOL e0010e15b2449565939dd5e9d65fb63cbbb78069a0390fc0ba95c7671a484db7470ec300cfd8aaa5810aff7fd14bbc669f8e902a9469ba7d51ebeed6c94b15f4
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit cmake-multilib
|
||||
|
||||
DESCRIPTION="Abstraction layer for filesystem and archive access"
|
||||
HOMEPAGE="http://icculus.org/physfs/"
|
||||
SRC_URI="http://icculus.org/physfs/downloads/${P}.tar.bz2"
|
||||
|
||||
LICENSE="ZLIB"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc64 ~x86 ~x86-fbsd"
|
||||
IUSE="grp hog mvl qpak static-libs wad +zip"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND=""
|
||||
|
||||
DOCS=( docs/CHANGELOG.txt docs/CREDITS.txt docs/TODO.txt )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i -e 's:-Werror::' CMakeLists.txt || die
|
||||
# make sure these libs aren't used
|
||||
rm -rf lzma zlib*
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DPHYSFS_ARCHIVE_7Z=OFF
|
||||
-DPHYSFS_BUILD_SHARED=ON
|
||||
-DPHYSFS_BUILD_TEST=OFF
|
||||
-DPHYSFS_BUILD_WX_TEST=OFF
|
||||
-DPHYSFS_INTERNAL_ZLIB=OFF
|
||||
-DPHYSFS_BUILD_STATIC="$(usex static-libs)"
|
||||
-DPHYSFS_ARCHIVE_GRP="$(usex grp)"
|
||||
-DPHYSFS_ARCHIVE_HOG="$(usex hog)"
|
||||
-DPHYSFS_ARCHIVE_MVL="$(usex mvl)"
|
||||
-DPHYSFS_ARCHIVE_WAD="$(usex wad)"
|
||||
-DPHYSFS_ARCHIVE_QPAK="$(usex qpak)"
|
||||
-DPHYSFS_ARCHIVE_ZIP="$(usex zip)"
|
||||
)
|
||||
|
||||
cmake-multilib_src_configure
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
DIST inetlib-1.0.tar.gz 151002 SHA256 f59a46051b01dd01f04d0cc677d95a6c02b3389787d59a63b0f74bef20f887f8 SHA512 f3efa679d4f09d65025b3a903bb94eeced6470fff4414a1a1dc00985f644855bef9aaf5015c24c4321a6088e5ca48ced2177548f11dc84c07b4e5281b9709ede WHIRLPOOL 8f79486a4c11926ab9063a25efe411c39adebe377c93a8bc2484fc09907ed97455f231778d462aaae5fb8830da1d39d9a00cdbdc50e83905df4e9bc1491399d8
|
||||
DIST inetlib-1.1.tar.gz 177251 SHA256 2b30cad60f3136b04f9ae4a906da8ac964654dacd3281097ec3558e67c9a51a0 SHA512 0ebc112bc8758ca8da23797d71d91d386896be6105cc1a40448445e59a6cdc43dc5dcd84f8b69332d7b7eaf11efd474588cadcb68f7356f2aa40657aaf62147b WHIRLPOOL 48bc55ac1b102c81f3de0d1e943ff51731e963b5cd9ac080a91a99f3da7ed48966deb034f4c863d722aef0461ff96f153dccb62c1edced5ac7c8c1897bb0b5d6
|
@ -1,64 +0,0 @@
|
||||
diff -uNr inetlib-1.0.orig/source/gnu/inet/imap/IMAPConnection.java inetlib-1.0/source/gnu/inet/imap/IMAPConnection.java
|
||||
--- inetlib-1.0.orig/source/gnu/inet/imap/IMAPConnection.java 2006-09-19 13:18:21.512067374 +0200
|
||||
+++ inetlib-1.0/source/gnu/inet/imap/IMAPConnection.java 2006-09-19 13:19:07.024373510 +0200
|
||||
@@ -45,7 +45,6 @@
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
-import java.util.Properties;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.SSLSocket;
|
||||
@@ -555,7 +554,7 @@
|
||||
String[] m = new String[] { mechanism };
|
||||
CallbackHandler ch = new SaslCallbackHandler(username, password);
|
||||
// Avoid lengthy callback procedure for GNU Crypto
|
||||
- Properties p = new Properties();
|
||||
+ HashMap p = new HashMap();
|
||||
p.put("gnu.crypto.sasl.username", username);
|
||||
p.put("gnu.crypto.sasl.password", password);
|
||||
SaslClient sasl = Sasl.createSaslClient(m, null, "smtp",
|
||||
diff -uNr inetlib-1.0.orig/source/gnu/inet/pop3/POP3Connection.java inetlib-1.0/source/gnu/inet/pop3/POP3Connection.java
|
||||
--- inetlib-1.0.orig/source/gnu/inet/pop3/POP3Connection.java 2006-09-19 13:18:21.531064997 +0200
|
||||
+++ inetlib-1.0/source/gnu/inet/pop3/POP3Connection.java 2006-09-19 13:20:28.841137790 +0200
|
||||
@@ -39,8 +39,8 @@
|
||||
import java.security.MessageDigest;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.ArrayList;
|
||||
+import java.util.HashMap;
|
||||
import java.util.List;
|
||||
-import java.util.Properties;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.SSLSocket;
|
||||
@@ -220,7 +220,7 @@
|
||||
String[] m = new String[] { mechanism };
|
||||
CallbackHandler ch = new SaslCallbackHandler (username, password);
|
||||
// Avoid lengthy callback procedure for GNU Crypto
|
||||
- Properties p = new Properties ();
|
||||
+ HashMap p = new HashMap();
|
||||
p.put ("gnu.crypto.sasl.username", username);
|
||||
p.put ("gnu.crypto.sasl.password", password);
|
||||
SaslClient sasl =
|
||||
diff -uNr inetlib-1.0.orig/source/gnu/inet/smtp/SMTPConnection.java inetlib-1.0/source/gnu/inet/smtp/SMTPConnection.java
|
||||
--- inetlib-1.0.orig/source/gnu/inet/smtp/SMTPConnection.java 2006-09-19 13:18:21.533064747 +0200
|
||||
+++ inetlib-1.0/source/gnu/inet/smtp/SMTPConnection.java 2006-09-19 13:21:16.996113371 +0200
|
||||
@@ -37,8 +37,8 @@
|
||||
import java.security.GeneralSecurityException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
+import java.util.HashMap;
|
||||
import java.util.List;
|
||||
-import java.util.Properties;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.SSLSocket;
|
||||
@@ -567,7 +567,7 @@
|
||||
String[] m = new String[] { mechanism };
|
||||
CallbackHandler ch = new SaslCallbackHandler (username, password);
|
||||
// Avoid lengthy callback procedure for GNU Crypto
|
||||
- Properties p = new Properties ();
|
||||
+ HashMap p = new HashMap();
|
||||
p.put ("gnu.crypto.sasl.username", username);
|
||||
p.put ("gnu.crypto.sasl.password", password);
|
||||
SaslClient sasl =
|
@ -1,87 +0,0 @@
|
||||
diff -uNr inetlib.orig/source/gnu/inet/imap/IMAPConnection.java inetlib/source/gnu/inet/imap/IMAPConnection.java
|
||||
--- inetlib.orig/source/gnu/inet/imap/IMAPConnection.java 2006-09-19 10:25:48.402313856 +0200
|
||||
+++ inetlib/source/gnu/inet/imap/IMAPConnection.java 2006-09-19 10:27:02.775026067 +0200
|
||||
@@ -46,7 +46,6 @@
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
-import java.util.Properties;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.SSLSocket;
|
||||
@@ -653,7 +652,7 @@
|
||||
String[] m = new String[] { mechanism };
|
||||
CallbackHandler ch = new SaslCallbackHandler (username, password);
|
||||
// Avoid lengthy callback procedure for GNU Crypto
|
||||
- Properties p = new Properties ();
|
||||
+ HashMap p = new HashMap();
|
||||
p.put ("gnu.crypto.sasl.username", username);
|
||||
p.put ("gnu.crypto.sasl.password", password);
|
||||
SaslClient sasl = Sasl.createSaslClient (m, null, "smtp",
|
||||
diff -uNr inetlib.orig/source/gnu/inet/nntp/NNTPConnection.java inetlib/source/gnu/inet/nntp/NNTPConnection.java
|
||||
--- inetlib.orig/source/gnu/inet/nntp/NNTPConnection.java 2006-09-19 10:25:48.420311609 +0200
|
||||
+++ inetlib/source/gnu/inet/nntp/NNTPConnection.java 2006-09-19 10:29:02.781039000 +0200
|
||||
@@ -42,7 +42,7 @@
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
-import java.util.Properties;
|
||||
+import java.util.HashMap;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import javax.security.auth.callback.CallbackHandler;
|
||||
@@ -1140,7 +1140,7 @@
|
||||
String[] m = new String[] { mechanism };
|
||||
CallbackHandler ch = new SaslCallbackHandler (username, password);
|
||||
// Avoid lengthy callback procedure for GNU Crypto
|
||||
- Properties p = new Properties ();
|
||||
+ HashMap p = new HashMap();
|
||||
p.put ("gnu.crypto.sasl.username", username);
|
||||
p.put ("gnu.crypto.sasl.password", password);
|
||||
SaslClient sasl =
|
||||
diff -uNr inetlib.orig/source/gnu/inet/pop3/POP3Connection.java inetlib/source/gnu/inet/pop3/POP3Connection.java
|
||||
--- inetlib.orig/source/gnu/inet/pop3/POP3Connection.java 2006-09-19 10:25:48.426310859 +0200
|
||||
+++ inetlib/source/gnu/inet/pop3/POP3Connection.java 2006-09-19 10:27:59.374957608 +0200
|
||||
@@ -41,10 +41,10 @@
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
+import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
-import java.util.Properties;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.SSLSocket;
|
||||
@@ -232,7 +232,7 @@
|
||||
String[] m = new String[] { mechanism };
|
||||
CallbackHandler ch = new SaslCallbackHandler (username, password);
|
||||
// Avoid lengthy callback procedure for GNU Crypto
|
||||
- Properties p = new Properties ();
|
||||
+ HashMap p = new HashMap();
|
||||
p.put ("gnu.crypto.sasl.username", username);
|
||||
p.put ("gnu.crypto.sasl.password", password);
|
||||
SaslClient sasl =
|
||||
diff -uNr inetlib.orig/source/gnu/inet/smtp/SMTPConnection.java inetlib/source/gnu/inet/smtp/SMTPConnection.java
|
||||
--- inetlib.orig/source/gnu/inet/smtp/SMTPConnection.java 2006-09-19 10:25:48.428310610 +0200
|
||||
+++ inetlib/source/gnu/inet/smtp/SMTPConnection.java 2006-09-19 10:26:34.107606132 +0200
|
||||
@@ -38,8 +38,8 @@
|
||||
import java.security.GeneralSecurityException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
+import java.util.HashMap;
|
||||
import java.util.List;
|
||||
-import java.util.Properties;
|
||||
|
||||
import javax.net.ssl.SSLContext;
|
||||
import javax.net.ssl.SSLSocket;
|
||||
@@ -598,7 +598,7 @@
|
||||
String[] m = new String[] { mechanism };
|
||||
CallbackHandler ch = new SaslCallbackHandler (username, password);
|
||||
// Avoid lengthy callback procedure for GNU Crypto
|
||||
- Properties p = new Properties ();
|
||||
+ HashMap p = new HashMap();
|
||||
p.put ("gnu.crypto.sasl.username", username);
|
||||
p.put ("gnu.crypto.sasl.password", password);
|
||||
SaslClient sasl =
|
@ -1,63 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit java-pkg-2
|
||||
|
||||
MY_PN="inetlib"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
DESCRIPTION="Network extensions library for GNU classpath and classpathx"
|
||||
HOMEPAGE="https://www.gnu.org/software/classpath/"
|
||||
SRC_URI="mirror://gnu/classpath/${MY_P}.tar.gz"
|
||||
LICENSE="GPL-2-with-linking-exception"
|
||||
SLOT="1.0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="doc"
|
||||
RDEPEND=">=virtual/jre-1.3
|
||||
>=dev-java/gnu-crypto-2.0.1"
|
||||
DEPEND=">=virtual/jdk-1.3
|
||||
${RDEPEND}"
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
# TODO we could give configure the lib dir on the live filesystem
|
||||
# instead of populating ${S}/ext with the jars we need -nichoj
|
||||
# TODO fix jikes support. Related to bug #89711
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"
|
||||
|
||||
epatch "${FILESDIR}/${P}-jdk15.patch"
|
||||
|
||||
mkdir ext && cd ext
|
||||
java-pkg_jar-from gnu-crypto javax-security.jar javax-security-auth-callback.jar
|
||||
java-pkg_jar-from gnu-crypto javax-security.jar javax-security-sasl.jar
|
||||
# fake jar to shut build system up, jsse is part of JDK's classpath already
|
||||
ln -s javax-security-sasl.jar jsse.jar
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
econf \
|
||||
--enable-smtp \
|
||||
--enable-imap \
|
||||
--enable-pop3 \
|
||||
--enable-nntp \
|
||||
--enable-ftp \
|
||||
--enable-gopher \
|
||||
--with-jsse-jar="${S}"/ext \
|
||||
--with-javax-security-auth-callback-jar="${S}"/ext \
|
||||
--with-javax-security-sasl-jar="${S}"/ext \
|
||||
|| die "econf failed"
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=179897
|
||||
emake JAVACFLAGS="${JAVACFLAGS}" -j1 || die "emake failed"
|
||||
if use doc ; then
|
||||
emake -j1 javadoc || die "emake javadoc failed"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstall || die
|
||||
rm -rf "${D}"/usr/share/java
|
||||
java-pkg_dojar ${MY_PN}.jar
|
||||
use doc && java-pkg_dojavadoc docs
|
||||
dodoc AUTHORS NEWS README || die
|
||||
}
|
@ -1,57 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit java-pkg-2 java-ant-2
|
||||
|
||||
MY_PN="inetlib"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
DESCRIPTION="Network extensions library for GNU classpath and classpathx"
|
||||
HOMEPAGE="https://www.gnu.org/software/classpath/"
|
||||
SRC_URI="mirror://gnu/classpath/${MY_P}.tar.gz"
|
||||
LICENSE="GPL-2-with-linking-exception"
|
||||
SLOT="1.1"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="doc"
|
||||
RDEPEND=">=virtual/jre-1.3
|
||||
>=dev-java/gnu-crypto-2.0.1"
|
||||
DEPEND=">=virtual/jdk-1.3
|
||||
${RDEPEND}"
|
||||
S="${WORKDIR}/${MY_PN}"
|
||||
|
||||
src_unpack() {
|
||||
unpack ${A}
|
||||
cd "${S}"
|
||||
|
||||
epatch "${FILESDIR}/${P}-jdk15.patch"
|
||||
|
||||
mkdir ext && cd ext
|
||||
java-pkg_jar-from gnu-crypto
|
||||
# fake jar to shut build system up, jsse is part of JDK's classpath already
|
||||
ln -s javax-security.jar jsse.jar
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
econf \
|
||||
--enable-smtp \
|
||||
--enable-imap \
|
||||
--enable-pop3 \
|
||||
--enable-nntp \
|
||||
--enable-ftp \
|
||||
--enable-gopher \
|
||||
--with-jsse-jar="${S}"/ext \
|
||||
--with-javax-security-jar="${S}"/ext \
|
||||
|| die
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=179897
|
||||
emake JAVACFLAGS="${JAVACFLAGS}" -j1 || die
|
||||
if use doc ; then
|
||||
emake -j1 javadoc || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstall || die
|
||||
rm -rf "${D}"/usr/share/java
|
||||
java-pkg_dojar inetlib.jar
|
||||
use doc && java-pkg_dojavadoc docs
|
||||
dodoc AUTHORS NEWS README || die
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>java@gentoo.org</email>
|
||||
<name>Java</name>
|
||||
</maintainer>
|
||||
|
||||
<longdescription>
|
||||
GNU Classpath inetlib is an extension library to provide extra network
|
||||
protocol support for GNU Classpath and ClasspathX project, but it can
|
||||
also used standalone to make adding http, imap, pop3 and smtp client
|
||||
support to applictions.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -1 +0,0 @@
|
||||
DIST mail-1.0.tar.gz 707084 SHA256 0dcbf6b24ea1f0a47a4aff15060dda19349d8bea7025a6e7d2249969afb7099e SHA512 14513b577a312c4c3ba994db02ca561614f64d532baf07a3f58d97d8a8e129d83ed29a835b079131c1789c584b851188ae1450a531b6e5a544513c219bc37f09 WHIRLPOOL 6001858a0bb73bbb5ea855fc781ee09ed3773c7de67fc4cfed7fd6b34ea3bced42c78900de022996a2ae34651aa7884cb2e6a69d25e5fb2ade7415707a51913b
|
@ -1,54 +0,0 @@
|
||||
# Copyright 1999-2008 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
inherit java-pkg-2
|
||||
|
||||
MY_PN="mail"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
DESCRIPTION="GNU implementation of the Javamail API"
|
||||
HOMEPAGE="https://www.gnu.org/software/classpathx/javamail/"
|
||||
SRC_URI="mirror://gnu/classpathx/${MY_P}.tar.gz"
|
||||
LICENSE="GPL-2-with-linking-exception"
|
||||
SLOT="1"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="doc"
|
||||
RDEPEND=">=virtual/jre-1.4
|
||||
=dev-java/gnu-jaf-1*
|
||||
=dev-java/gnu-classpath-inetlib-1.0*
|
||||
!<=dev-java/mx4j-3.0.1
|
||||
!<=dev-java/mx4j-3.0.1-r2"
|
||||
DEPEND=">=virtual/jdk-1.4
|
||||
${RDEPEND}"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
# TODO: Re-enable jikes support (see bug #89711)
|
||||
|
||||
src_compile() {
|
||||
local activation=$(dirname $(java-pkg_getjar gnu-jaf-1 activation.jar))
|
||||
local inetlib=$(dirname $(java-pkg_getjar gnu-classpath-inetlib-1.0 inetlib.jar))
|
||||
|
||||
econf \
|
||||
--with-activation-jar=${activation} \
|
||||
--with-inetlib-jar=${inetlib} \
|
||||
--enable-smtp \
|
||||
--enable-imap \
|
||||
--enable-pop3 \
|
||||
--enable-nntp \
|
||||
--enable-mbox \
|
||||
--enable-maildir \
|
||||
|| die "failed to configure"
|
||||
|
||||
emake JAVACFLAGS="${JAVACFLAGS}" || die "failed to compile"
|
||||
|
||||
if use doc; then
|
||||
emake javadoc || die "failed to generate javadoc"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg_dojar gnumail-providers.jar
|
||||
java-pkg_newjar gnumail.jar mail.jar
|
||||
dodoc AUTHORS ChangeLog NEWS README README.*
|
||||
use doc && java-pkg_dojavadoc docs
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>java@gentoo.org</email>
|
||||
<name>Java</name>
|
||||
</maintainer>
|
||||
|
||||
<longdescription>
|
||||
GNU JavaMail is a free implementation of the JavaMail API specification,
|
||||
version 1.3. All the code has been written from scratch without
|
||||
reference to Sun's code, which allows GNU JavaMail to be used on a
|
||||
completely free operating system such as GNU/Linux or the Hurd. The code
|
||||
is optimized to work with free Java implementations, nothing prevents it
|
||||
from being used with any compliant JVM.
|
||||
|
||||
GNU JavaMail provides a protocol-independent framework for building mail
|
||||
client applications in Java. The API itself provides a complete MIME
|
||||
implementation, and drivers for individual messaging protocols, known as
|
||||
providers, can be plugged into the JavaMail framework dynamically.
|
||||
Several providers, implementing Internet standard protocols, are
|
||||
included with GNU JavaMail. These include:
|
||||
|
||||
* SMTP, IMAP, POP3
|
||||
* NNTP including posting to news servers
|
||||
* The UNIX mbox format
|
||||
* Dan Bernstein's Maildir format
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -1 +0,0 @@
|
||||
DIST mail-1.4-sources.jar 465692 SHA256 a20f7b4b98307424cb065ed4478dbce0a5831dfa48e1dea08d3d775632a9e1a6 SHA512 a4be6983d77a4baababcdb20d8586da7dc2f6a75419a02a1c8d72456023d4043b1aae6981321092a54e9f8dd0dc0ec7ab7d1080ab10fd9d84827e6c7a1d4c31c WHIRLPOOL 2885f46cd8780e708236ce0a336e12dfe373208638e0a2c9203452ca212deb44a55331620e2a25274889e9d9b9463bd4848541809fabc1cf4ff24722057c6561
|
@ -1,25 +0,0 @@
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple
|
||||
|
||||
DESCRIPTION="Provides a platform/protocol-independent framework for mail and messaging apps"
|
||||
HOMEPAGE="https://javamail.java.net/"
|
||||
SRC_URI="http://repo1.maven.org/maven2/javax/mail/mail/${PV}/mail-${PV}-sources.jar"
|
||||
|
||||
LICENSE="|| ( CDDL GPL-2-with-classpath-exception )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc64 ~x86"
|
||||
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="
|
||||
${CDEPEND}
|
||||
>=virtual/jre-1.6"
|
||||
DEPEND="
|
||||
${CDEPEND}
|
||||
>=virtual/jdk-1.6
|
||||
app-arch/unzip"
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>java@gentoo.org</email>
|
||||
<name>Java</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -1 +0,0 @@
|
||||
DIST sun-javamail-1.4.3.zip 1174915 SHA256 5204fd4e38b4f2a43fb727c861d7d1f69933d489706de100189970032582becd SHA512 092b44857ed8a7fee25e9dd5085144b9b04aaec2e294ac7271accda8d0f8ea71792671079c2e377dadce02282446f176abbd3f78f55a8342930667a985080210 WHIRLPOOL f0440fd2bd7f3a8db357e9824a81aaa68b08688aab0b77c08dcd8e136a8b5856678fc5e50c5799234e59df4df516c06ac3c78c0f699d757cbfbb06f54296372e
|
@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>java@gentoo.org</email>
|
||||
<name>Java</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -1,36 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
|
||||
inherit java-pkg-2 java-pkg-simple
|
||||
|
||||
DESCRIPTION="A Java-based framework to build multiplatform mail and messaging applications"
|
||||
HOMEPAGE="http://java.sun.com/products/javamail/index.html"
|
||||
SRC_URI="mirror://gentoo/javamail-${PV}-src.zip -> ${P}.zip"
|
||||
|
||||
LICENSE="|| ( CDDL GPL-2 BSD )"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ppc64 x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
DEPEND=">=virtual/jdk-1.6"
|
||||
RDEPEND=">=virtual/jre-1.6"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
JAVA_ENCODING="ISO-8859-1"
|
||||
JAVA_SRC_DIR="mail"
|
||||
|
||||
HTML_DOCS=( doc/release )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
rm -rv mail/src/test || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
java-pkg-simple_src_install
|
||||
einstalldocs
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit versionator
|
||||
|
||||
DESCRIPTION="a non-interactive scripting language"
|
||||
HOMEPAGE="https://www.skarnet.org/software/execline/"
|
||||
SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="ISC"
|
||||
SLOT="0/$(get_version_component_range 1-2)"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
IUSE="static static-libs"
|
||||
|
||||
DEPEND=">=sys-devel/make-3.81
|
||||
static? (
|
||||
>=dev-libs/skalibs-2.6.0.0[static-libs]
|
||||
)
|
||||
!static? (
|
||||
>=dev-libs/skalibs-2.6.0.0
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
!static? (
|
||||
>=dev-libs/skalibs-2.6.0.0:=
|
||||
)
|
||||
"
|
||||
|
||||
HTML_DOCS="doc/*"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Remove QA warning about LDFLAGS addition
|
||||
sed -i "s/tryldflag LDFLAGS_AUTO -Wl,--hash-style=both/:/" "${S}/configure" || die
|
||||
|
||||
# configure overrides gentoo's -fstack-protector default
|
||||
sed -i "/^tryflag CFLAGS_AUTO -fno-stack-protector$/d" "${S}/configure" || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--bindir=/bin \
|
||||
--dynlibdir=/$(get_libdir) \
|
||||
--libdir=/usr/$(get_libdir)/${PN} \
|
||||
--with-dynlib=/$(get_libdir) \
|
||||
--with-lib=/usr/$(get_libdir)/skalibs \
|
||||
--with-sysdeps=/usr/$(get_libdir)/skalibs \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static allstatic) \
|
||||
$(use_enable static static-libc) \
|
||||
$(use_enable static-libs static)
|
||||
}
|
@ -1,4 +1,7 @@
|
||||
DIST php-5.6.31.tar.xz 12461268 SHA256 c464af61240a9b7729fabe0314cdbdd5a000a4f0c9bd201f89f8628732fe4ae4 SHA512 b5d3bc306167c851460036aa21194a2f74a50a26aa5c46159394bddbff94e4a418b557d68d5e1315672b3571b13a231ef7810d5346f57c0094acfe29c2e70495 WHIRLPOOL 2cd74a9cfe82b9363b4fbad37b13a8f7cc9571d2493a95b52cdaeeafe2d04255a29b31792dce2db0c41696539ed6b203446a2a6a8ea0319d82066fe9622bfcb9
|
||||
DIST php-7.0.23.tar.xz 11953100 SHA256 8e526e3551a58e00c8055fa4a72804aa1bd3ee1c0411b25bf1504cc4992609df SHA512 62201592fca88fb1c302badf7e73e5d417e9a062300e0d32fdfcb346d300cd86bf957b880a73795037a332fe148b64589bb15204bdd6b0ddcbbddc5a12e6d042 WHIRLPOOL 5d6131b5d7701b01c1aa849c6b5e3b133b4276999354eccecf847675552eb0be79a68cd0a10595c64bda2594489d3699868b4ed9a1fe3c5cdcc4fda45be32493
|
||||
DIST php-7.0.24.tar.xz 11959232 SHA256 4dba7aa365193c9229f89f1975fad4c01135d29922a338ffb4a27e840d6f1c98 SHA512 7ae7795ff89924adc5f989bcf438a372684c7fc041ec10db96369f12faaeb90a23e7a7b5253f2a1022059f7464e6c11ee46a164a7f873b0b44a5317c3a3a49e7 WHIRLPOOL c5d8cdc684738610f520df0f46042625cfa0a5530e84e4c813493f755f03656f8ba71de630769f6381b9b729feb161b06eae7d44dcf21f79bec67fd5b9c23c26
|
||||
DIST php-7.1.10.tar.xz 12166036 SHA256 2b8efa771a2ead0bb3ae67b530ca505b5b286adc873cca9ce97a6e1d6815c50b SHA512 64f03d7a8928283e2f4f0958168610780553765ac20cf558cd6452ba4474461e74366c41b9bfdaf08b25195ca9c0059a94b77f06d8de3512d251cb2a84113d30 WHIRLPOOL 9ec9b6a93e95f23b15c8816de0384b62297ae06cec9b4c8cabeef8ecbefcd7c14b751c7310fa13a1326028a61c4f7206b5c0ce3388e0b40e44fffa0de6129721
|
||||
DIST php-7.1.9.tar.xz 12157172 SHA256 ec9ca348dd51f19a84dc5d33acfff1fba1f977300604bdac08ed46ae2c281e8c SHA512 feefaae7edda115c9c10d6a07a9d897343ca972e4e5ec327f383cb28f204ac10956653fc120f0474901e59f32f105dc1a7afe64d49a3ea8bf486377837618013 WHIRLPOOL 5179ca1adddb099a3d8dccc009a96202f6d69edeea3126a5f861498475f36413f0a17a6a501b1b0eadba3acfb4ff262a8a5a7ee324043f03d74e857d1dc7c6a8
|
||||
DIST php-7.2.0RC2.tar.xz 12051048 SHA256 0406366fcd5be4ee5e76e3c6a4279e04f93a1827a44d27c4f57fbed9e01cd281 SHA512 aa7e3632381677db995a72dcf0276a3be0d40c32138743a225d8e41e791a6fe00859e27ed7699be90e3843d3eb4da90af6a31aab65dc790c402863d09f409a48 WHIRLPOOL fc8c39b8b4a6184fa8e460dd91b0afbb62c5321effd5c5227eb276adb46857acf05e0fa5749279b0f26fe2c08d9f8001f0132507ab778dd1f7df7237da74b623
|
||||
DIST php-7.2.0RC3.tar.xz 11973876 SHA256 abe0a237f94837854f2cfd9c7dc99fbca2c817ae1d6194a514f29b463db36853 SHA512 a33e72e458e7e9fef59db5c147da9efdbd6d2987610216d99fd6c8bb25927153573614bdf3ca3b4e3278c5e6657fbd30665e3a895448afb0d6951af65e8e5b55 WHIRLPOOL 128ff4e663dfca3ad60c7ba2fa789a394a607ae6e93bb1e2b371972179c5fcecf13504cab0f6ec20bbf08c4040a6bfba8388bed9f60ddbc226dd9b9c241e555f
|
||||
|
@ -0,0 +1,739 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic versionator systemd
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="http://php.net/"
|
||||
SRC_URI="http://php.net/distributions/${P}.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(get_version_component_range 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2 phpdbg"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage crypt +ctype curl debug
|
||||
enchant exif +fileinfo +filter firebird
|
||||
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
|
||||
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
|
||||
mhash mssql mysql mysqli nls
|
||||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
|
||||
readline recode selinux +session sharedmem
|
||||
+simplexml snmp soap sockets spell sqlite ssl
|
||||
sysvipc systemd tidy +tokenizer truetype unicode wddx webp
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
|
||||
>=dev-libs/libpcre-8.32[unicode]
|
||||
acl? ( sys-apps/acl )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[threads=] ) )
|
||||
berkdb? ( || ( sys-libs/db:5.3
|
||||
sys-libs/db:5.1
|
||||
sys-libs/db:4.8
|
||||
sys-libs/db:4.7
|
||||
sys-libs/db:4.6
|
||||
sys-libs/db:4.5 ) )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
cjk? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib
|
||||
) )
|
||||
coverage? ( dev-util/lcov )
|
||||
crypt? ( >=dev-libs/libmcrypt-2.4 )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
exif? ( !gd? (
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0=
|
||||
sys-libs/zlib
|
||||
) )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0 )
|
||||
gmp? ( dev-libs/gmp:0 )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( virtual/imap-c-client[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
|
||||
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
sharedmem? ( dev-libs/mm )
|
||||
simplexml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
soap? ( >=dev-libs/libxml2-2.6.8 )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
tidy? ( app-text/htmltidy )
|
||||
truetype? (
|
||||
=media-libs/freetype-2*
|
||||
!gd? (
|
||||
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
|
||||
)
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
wddx? ( >=dev-libs/libxml2-2.6.8 )
|
||||
webp? ( media-libs/libwebp )
|
||||
xml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
|
||||
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xpm? (
|
||||
x11-libs/libXpm
|
||||
virtual/jpeg:0
|
||||
media-libs/libpng:0= sys-libs/zlib
|
||||
)
|
||||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
|
||||
zip? ( sys-libs/zlib )
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1
|
||||
sys-devel/flex
|
||||
>=sys-devel/m4-1.4.3
|
||||
>=sys-devel/libtool-1.5.18"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
truetype? ( gd )
|
||||
webp? ( gd )
|
||||
cjk? ( gd )
|
||||
exif? ( gd )
|
||||
xpm? ( gd )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
sharedmem? ( !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
"
|
||||
|
||||
PHP_MV="$(get_major_version)"
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config files php-fpm.conf and www.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
|
||||
doins sapi/fpm/www.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# In php-7.x, the FPM pool configuration files have been split off
|
||||
# of the main config. By default the pool config files go in
|
||||
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
|
||||
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
|
||||
# we'll install the pool configuration file "www.conf" there.
|
||||
php_set_ini_dir fpm
|
||||
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
|
||||
sapi/fpm/php-fpm.conf.in \
|
||||
|| die 'failed to move the include directory in php-fpm.conf'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
|
||||
|
||||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
|
||||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
|
||||
local our_conf=(
|
||||
--prefix="${PHP_DESTDIR}"
|
||||
--mandir="${PHP_DESTDIR}/man"
|
||||
--infodir="${PHP_DESTDIR}/info"
|
||||
--libdir="${PHP_DESTDIR}/lib"
|
||||
--with-libdir="$(get_libdir)"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--without-pear
|
||||
$(use_enable threads maintainer-zts)
|
||||
)
|
||||
|
||||
our_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_enable bcmath bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar calendar)
|
||||
$(use_enable coverage gcov)
|
||||
$(use_enable ctype ctype)
|
||||
$(use_with curl curl "${EPREFIX}/usr")
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant enchant "${EPREFIX}/usr")
|
||||
$(use_enable exif exif)
|
||||
$(use_enable fileinfo fileinfo)
|
||||
$(use_enable filter filter)
|
||||
$(use_enable ftp ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_enable hash hash)
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl intl)
|
||||
$(use_enable ipv6 ipv6)
|
||||
$(use_enable json json)
|
||||
$(use_with kerberos kerberos "${EPREFIX}/usr")
|
||||
$(use_enable xml libxml)
|
||||
$(use_with xml libxml-dir "${EPREFIX}/usr")
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with crypt mcrypt "${EPREFIX}/usr")
|
||||
$(use_with unicode onig "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl-dir "${EPREFIX}/usr")
|
||||
$(use_enable pcntl pcntl)
|
||||
$(use_enable phar phar)
|
||||
$(use_enable pdo pdo)
|
||||
$(use_enable opcache opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix posix)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_with recode recode "${EPREFIX}/usr")
|
||||
$(use_enable simplexml simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap soap)
|
||||
$(use_enable sockets sockets)
|
||||
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with systemd fpm-systemd)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer tokenizer)
|
||||
$(use_enable wddx wddx)
|
||||
$(use_enable xml xml)
|
||||
$(use_enable xmlreader xmlreader)
|
||||
$(use_enable xmlwriter xmlwriter)
|
||||
$(use_with xmlrpc xmlrpc)
|
||||
$(use_with xslt xsl "${EPREFIX}/usr")
|
||||
$(use_enable zip zip)
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable debug debug)
|
||||
)
|
||||
|
||||
# DBA support
|
||||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|
||||
|| use qdbm ; then
|
||||
our_conf+=( "--enable-dba${shared}" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype-dir "${EPREFIX}/usr")
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg-dir "${EPREFIX}/usr")
|
||||
$(use_with gd png-dir "${EPREFIX}/usr")
|
||||
$(use_with xpm xpm-dir "${EPREFIX}/usr")
|
||||
)
|
||||
if use webp; then
|
||||
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
|
||||
fi
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_with gd gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# Interbase/firebird support
|
||||
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
local mysqllib="mysqlnd"
|
||||
local mysqlilib="mysqlnd"
|
||||
|
||||
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
|
||||
|
||||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
if use mysql || use mysqli ; then
|
||||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
our_conf+=(
|
||||
$(use_with odbc unixODBC "${EPREFIX}/usr")
|
||||
$(use_with iodbc iodbc "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Oracle support
|
||||
our_conf+=( $(use_with oci8-instant-client oci8) )
|
||||
|
||||
# PDO support
|
||||
if use pdo ; then
|
||||
our_conf+=(
|
||||
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit libedit "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-pcre-regex affects ext/pcre
|
||||
# --with-pcre-dir affects ext/filter and ext/zip
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm|phpdbg)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
for sapi in ${SAPIS} ; do
|
||||
if use "${sapi}"; then
|
||||
cd "${WORKDIR}/sapis-build/$sapi" || \
|
||||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
|
||||
emake
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# see bug #324739 for what happens when we don't have that
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
|
||||
# grab the first SAPI that got built and install common files from there
|
||||
local first_sapi=""
|
||||
for sapi in $SAPIS ; do
|
||||
if use $sapi ; then
|
||||
first_sapi=$sapi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Makefile forgets to create this before trying to write to it...
|
||||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
|
||||
|
||||
# Install php environment (without any sapis)
|
||||
cd "${WORKDIR}/sapis-build/$first_sapi" || die
|
||||
emake INSTALL_ROOT="${D}" \
|
||||
install-build install-headers install-programs
|
||||
|
||||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
|
||||
|
||||
# Create the directory where we'll put version-specific php scripts
|
||||
keepdir "/usr/share/php${PHP_MV}"
|
||||
|
||||
local sapi="", file=""
|
||||
local sapi_list=""
|
||||
|
||||
for sapi in ${SAPIS}; do
|
||||
if use "${sapi}" ; then
|
||||
einfo "Installing SAPI: ${sapi}"
|
||||
cd "${WORKDIR}/sapis-build/${sapi}" || die
|
||||
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
# We're specifically not using emake install-sapi as libtool
|
||||
# may cause unnecessary relink failures (see bug #351266)
|
||||
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
|
||||
newins ".libs/libphp${PHP_MV}$(get_libname)" \
|
||||
"libphp${PHP_MV}$(get_libname)"
|
||||
keepdir "/usr/$(get_libdir)/apache2/modules"
|
||||
else
|
||||
# needed each time, php_install_ini would reset it
|
||||
local dest="${PHP_DESTDIR#${EPREFIX}}"
|
||||
into "${dest}"
|
||||
case "$sapi" in
|
||||
cli)
|
||||
source="sapi/cli/php"
|
||||
;;
|
||||
cgi)
|
||||
source="sapi/cgi/php-cgi"
|
||||
;;
|
||||
fpm)
|
||||
source="sapi/fpm/php-fpm"
|
||||
;;
|
||||
embed)
|
||||
source="libs/libphp${PHP_MV}$(get_libname)"
|
||||
;;
|
||||
phpdbg)
|
||||
source="sapi/phpdbg/phpdbg"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
|
||||
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
@ -0,0 +1,721 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic versionator systemd
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="http://php.net/"
|
||||
SRC_URI="http://php.net/distributions/${P}.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(get_version_component_range 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2 phpdbg"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage crypt +ctype curl debug
|
||||
enchant exif +fileinfo +filter firebird
|
||||
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
|
||||
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl
|
||||
mhash mssql mysql mysqli nls
|
||||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
|
||||
readline recode selinux +session sharedmem
|
||||
+simplexml snmp soap sockets spell sqlite ssl
|
||||
sysvipc systemd test tidy +tokenizer truetype unicode wddx webp
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
|
||||
>=dev-libs/libpcre-8.32[unicode]
|
||||
acl? ( sys-apps/acl )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[threads=] ) )
|
||||
berkdb? ( || ( sys-libs/db:5.3
|
||||
sys-libs/db:5.1
|
||||
sys-libs/db:4.8
|
||||
sys-libs/db:4.7
|
||||
sys-libs/db:4.6
|
||||
sys-libs/db:4.5 ) )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
coverage? ( dev-util/lcov )
|
||||
crypt? ( >=dev-libs/libmcrypt-2.4 )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0 )
|
||||
gmp? ( dev-libs/gmp:0 )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( virtual/imap-c-client[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
|
||||
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
sharedmem? ( dev-libs/mm )
|
||||
simplexml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
soap? ( >=dev-libs/libxml2-2.6.8 )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
|
||||
truetype? ( =media-libs/freetype-2* )
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
wddx? ( >=dev-libs/libxml2-2.6.8 )
|
||||
webp? ( media-libs/libwebp )
|
||||
xml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
|
||||
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
|
||||
zip? ( sys-libs/zlib )
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
# Bison isn't actually needed when building from a release tarball
|
||||
# However, the configure script will warn if it's absent or if you
|
||||
# have an incompatible version installed. See bug 593278.
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
truetype? ( gd )
|
||||
webp? ( gd )
|
||||
cjk? ( gd )
|
||||
exif? ( gd )
|
||||
xpm? ( gd )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
sharedmem? ( !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
"
|
||||
|
||||
PHP_MV="$(get_major_version)"
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config files php-fpm.conf and www.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
|
||||
doins sapi/fpm/www.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# In php-7.x, the FPM pool configuration files have been split off
|
||||
# of the main config. By default the pool config files go in
|
||||
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
|
||||
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
|
||||
# we'll install the pool configuration file "www.conf" there.
|
||||
php_set_ini_dir fpm
|
||||
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
|
||||
sapi/fpm/php-fpm.conf.in \
|
||||
|| die 'failed to move the include directory in php-fpm.conf'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
|
||||
|
||||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
|
||||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
|
||||
local our_conf=(
|
||||
--prefix="${PHP_DESTDIR}"
|
||||
--mandir="${PHP_DESTDIR}/man"
|
||||
--infodir="${PHP_DESTDIR}/info"
|
||||
--libdir="${PHP_DESTDIR}/lib"
|
||||
--with-libdir="$(get_libdir)"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--without-pear
|
||||
$(use_enable threads maintainer-zts)
|
||||
)
|
||||
|
||||
our_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_enable bcmath bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar calendar)
|
||||
$(use_enable coverage gcov)
|
||||
$(use_enable ctype ctype)
|
||||
$(use_with curl curl "${EPREFIX}/usr")
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant enchant "${EPREFIX}/usr")
|
||||
$(use_enable exif exif)
|
||||
$(use_enable fileinfo fileinfo)
|
||||
$(use_enable filter filter)
|
||||
$(use_enable ftp ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_enable hash hash)
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl intl)
|
||||
$(use_enable ipv6 ipv6)
|
||||
$(use_enable json json)
|
||||
$(use_with kerberos kerberos "${EPREFIX}/usr")
|
||||
$(use_enable xml libxml)
|
||||
$(use_with xml libxml-dir "${EPREFIX}/usr")
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with crypt mcrypt "${EPREFIX}/usr")
|
||||
$(use_with unicode onig "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl-dir "${EPREFIX}/usr")
|
||||
$(use_enable pcntl pcntl)
|
||||
$(use_enable phar phar)
|
||||
$(use_enable pdo pdo)
|
||||
$(use_enable opcache opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix posix)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_with recode recode "${EPREFIX}/usr")
|
||||
$(use_enable simplexml simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap soap)
|
||||
$(use_enable sockets sockets)
|
||||
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with systemd fpm-systemd)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer tokenizer)
|
||||
$(use_enable wddx wddx)
|
||||
$(use_enable xml xml)
|
||||
$(use_enable xmlreader xmlreader)
|
||||
$(use_enable xmlwriter xmlwriter)
|
||||
$(use_with xmlrpc xmlrpc)
|
||||
$(use_with xslt xsl "${EPREFIX}/usr")
|
||||
$(use_enable zip zip)
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable debug debug)
|
||||
)
|
||||
|
||||
# DBA support
|
||||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|
||||
|| use qdbm ; then
|
||||
our_conf+=( "--enable-dba${shared}" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype-dir "${EPREFIX}/usr")
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg-dir "${EPREFIX}/usr")
|
||||
$(use_with gd png-dir "${EPREFIX}/usr")
|
||||
$(use_with xpm xpm-dir "${EPREFIX}/usr")
|
||||
)
|
||||
if use webp; then
|
||||
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
|
||||
fi
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_with gd gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# Interbase/firebird support
|
||||
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
local mysqllib="mysqlnd"
|
||||
local mysqlilib="mysqlnd"
|
||||
|
||||
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
|
||||
|
||||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
if use mysql || use mysqli ; then
|
||||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
our_conf+=(
|
||||
$(use_with odbc unixODBC "${EPREFIX}/usr")
|
||||
$(use_with iodbc iodbc "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Oracle support
|
||||
our_conf+=( $(use_with oci8-instant-client oci8) )
|
||||
|
||||
# PDO support
|
||||
if use pdo ; then
|
||||
our_conf+=(
|
||||
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit libedit "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-pcre-regex affects ext/pcre
|
||||
# --with-pcre-dir affects ext/filter and ext/zip
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm|phpdbg)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
for sapi in ${SAPIS} ; do
|
||||
if use "${sapi}"; then
|
||||
cd "${WORKDIR}/sapis-build/$sapi" || \
|
||||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
|
||||
emake
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# see bug #324739 for what happens when we don't have that
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
|
||||
# grab the first SAPI that got built and install common files from there
|
||||
local first_sapi=""
|
||||
for sapi in $SAPIS ; do
|
||||
if use $sapi ; then
|
||||
first_sapi=$sapi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Makefile forgets to create this before trying to write to it...
|
||||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
|
||||
|
||||
# Install php environment (without any sapis)
|
||||
cd "${WORKDIR}/sapis-build/$first_sapi" || die
|
||||
emake INSTALL_ROOT="${D}" \
|
||||
install-build install-headers install-programs
|
||||
|
||||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
|
||||
|
||||
# Create the directory where we'll put version-specific php scripts
|
||||
keepdir "/usr/share/php${PHP_MV}"
|
||||
|
||||
local sapi="", file=""
|
||||
local sapi_list=""
|
||||
|
||||
for sapi in ${SAPIS}; do
|
||||
if use "${sapi}" ; then
|
||||
einfo "Installing SAPI: ${sapi}"
|
||||
cd "${WORKDIR}/sapis-build/${sapi}" || die
|
||||
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
# We're specifically not using emake install-sapi as libtool
|
||||
# may cause unnecessary relink failures (see bug #351266)
|
||||
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
|
||||
newins ".libs/libphp${PHP_MV}$(get_libname)" \
|
||||
"libphp${PHP_MV}$(get_libname)"
|
||||
keepdir "/usr/$(get_libdir)/apache2/modules"
|
||||
else
|
||||
# needed each time, php_install_ini would reset it
|
||||
local dest="${PHP_DESTDIR#${EPREFIX}}"
|
||||
into "${dest}"
|
||||
case "$sapi" in
|
||||
cli)
|
||||
source="sapi/cli/php"
|
||||
;;
|
||||
cgi)
|
||||
source="sapi/cgi/php-cgi"
|
||||
;;
|
||||
fpm)
|
||||
source="sapi/fpm/php-fpm"
|
||||
;;
|
||||
embed)
|
||||
source="libs/libphp${PHP_MV}$(get_libname)"
|
||||
;;
|
||||
phpdbg)
|
||||
source="sapi/phpdbg/phpdbg"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
|
||||
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
@ -0,0 +1,734 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit flag-o-matic versionator systemd
|
||||
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="http://php.net/"
|
||||
SRC_URI="https://downloads.php.net/~remi/php-7.2.0RC3.tar.xz"
|
||||
|
||||
LICENSE="PHP-3.01
|
||||
BSD
|
||||
Zend-2.0
|
||||
bcmath? ( LGPL-2.1+ )
|
||||
fpm? ( BSD-2 )
|
||||
gd? ( gd )
|
||||
unicode? ( BSD-2 LGPL-2.1 )"
|
||||
|
||||
SLOT="$(get_version_component_range 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
S="${WORKDIR}/php-7.2.0RC3"
|
||||
# We can build the following SAPIs in the given order
|
||||
SAPIS="embed cli cgi fpm apache2 phpdbg"
|
||||
|
||||
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
|
||||
IUSE="${IUSE}
|
||||
${SAPIS/cli/+cli}
|
||||
threads"
|
||||
|
||||
IUSE="${IUSE} acl argon2 bcmath berkdb bzip2 calendar cdb cjk
|
||||
coverage +ctype curl debug
|
||||
enchant exif +fileinfo +filter firebird
|
||||
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
|
||||
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit libressl lmdb
|
||||
mhash mssql mysql mysqli nls
|
||||
oci8-instant-client odbc +opcache pcntl pdo +phar +posix postgres qdbm
|
||||
readline recode selinux +session sharedmem
|
||||
+simplexml snmp soap sockets sodium spell sqlite ssl
|
||||
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode wddx webp
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zip-encryption zlib"
|
||||
|
||||
# The supported (that is, autodetected) versions of BDB are listed in
|
||||
# the ./configure script. Other versions *work*, but we need to stick to
|
||||
# the ones that can be detected to avoid a repeat of bug #564824.
|
||||
COMMON_DEPEND="
|
||||
>=app-eselect/eselect-php-0.9.1[apache2?,fpm?]
|
||||
>=dev-libs/libpcre-8.32[unicode]
|
||||
acl? ( sys-apps/acl )
|
||||
apache2? ( || ( >=www-servers/apache-2.4[apache2_modules_unixd,threads=]
|
||||
<www-servers/apache-2.4[threads=] ) )
|
||||
argon2? ( app-crypt/argon2 )
|
||||
berkdb? ( || ( sys-libs/db:5.3
|
||||
sys-libs/db:5.1
|
||||
sys-libs/db:4.8
|
||||
sys-libs/db:4.7
|
||||
sys-libs/db:4.6
|
||||
sys-libs/db:4.5 ) )
|
||||
bzip2? ( app-arch/bzip2 )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
coverage? ( dev-util/lcov )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( app-text/enchant )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0 )
|
||||
gmp? ( dev-libs/gmp:0 )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( virtual/imap-c-client[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
iodbc? ( dev-db/libiodbc )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
|
||||
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
|
||||
lmdb? ( dev-db/lmdb:= )
|
||||
mssql? ( dev-db/freetds[mssql] )
|
||||
nls? ( sys-devel/gettext )
|
||||
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
|
||||
odbc? ( >=dev-db/unixODBC-1.8.13 )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
recode? ( app-text/recode )
|
||||
sharedmem? ( dev-libs/mm )
|
||||
simplexml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
soap? ( >=dev-libs/libxml2-2.6.8 )
|
||||
sodium? ( dev-libs/libsodium:= )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0 )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
|
||||
tokyocabinet? ( dev-db/tokyocabinet )
|
||||
truetype? ( =media-libs/freetype-2* )
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
wddx? ( >=dev-libs/libxml2-2.6.8 )
|
||||
webp? ( media-libs/libwebp )
|
||||
xml? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
|
||||
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
|
||||
zip? ( sys-libs/zlib )
|
||||
zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/mta
|
||||
fpm? (
|
||||
selinux? ( sec-policy/selinux-phpfpm )
|
||||
systemd? ( sys-apps/systemd ) )"
|
||||
|
||||
# Bison isn't actually needed when building from a release tarball
|
||||
# However, the configure script will warn if it's absent or if you
|
||||
# have an incompatible version installed. See bug 593278.
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-arch/xz-utils
|
||||
>=sys-devel/bison-3.0.1"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
truetype? ( gd )
|
||||
webp? ( gd )
|
||||
cjk? ( gd )
|
||||
exif? ( gd )
|
||||
xpm? ( gd )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
wddx? ( xml )
|
||||
xmlrpc? ( || ( xml iconv ) )
|
||||
xmlreader? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
mhash? ( hash )
|
||||
phar? ( hash )
|
||||
qdbm? ( !gdbm )
|
||||
readline? ( !libedit )
|
||||
recode? ( !imap !mysqli !mysql )
|
||||
sharedmem? ( !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
zip-encryption? ( zip )
|
||||
"
|
||||
|
||||
PHP_MV="$(get_major_version)"
|
||||
|
||||
php_install_ini() {
|
||||
local phpsapi="${1}"
|
||||
|
||||
# work out where we are installing the ini file
|
||||
php_set_ini_dir "${phpsapi}"
|
||||
|
||||
# Always install the production INI file, bug 611214.
|
||||
local phpinisrc="php.ini-production-${phpsapi}"
|
||||
cp php.ini-production "${phpinisrc}" || die
|
||||
|
||||
# default to /tmp for save_path, bug #282768
|
||||
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}" || die
|
||||
|
||||
# Set the extension dir
|
||||
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" \
|
||||
-i "${phpinisrc}" || die
|
||||
|
||||
# Set the include path to point to where we want to find PEAR packages
|
||||
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}" || die
|
||||
|
||||
dodir "${PHP_INI_DIR#${EPREFIX}}"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
newins "${phpinisrc}" php.ini
|
||||
|
||||
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
|
||||
elog
|
||||
|
||||
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
|
||||
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
|
||||
|
||||
if use opcache; then
|
||||
elog "Adding opcache to $PHP_EXT_INI_DIR"
|
||||
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> \
|
||||
"${D}/${PHP_EXT_INI_DIR}"/opcache.ini
|
||||
dosym "${PHP_EXT_INI_DIR#${EPREFIX}}/opcache.ini" \
|
||||
"${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}/opcache.ini"
|
||||
fi
|
||||
|
||||
# SAPI-specific handling
|
||||
if [[ "${sapi}" == "fpm" ]] ; then
|
||||
einfo "Installing FPM config files php-fpm.conf and www.conf"
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}"
|
||||
doins sapi/fpm/php-fpm.conf
|
||||
insinto "${PHP_INI_DIR#${EPREFIX}}/fpm.d"
|
||||
doins sapi/fpm/www.conf
|
||||
fi
|
||||
|
||||
dodoc php.ini-{development,production}
|
||||
}
|
||||
|
||||
php_set_ini_dir() {
|
||||
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
|
||||
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
|
||||
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# In php-7.x, the FPM pool configuration files have been split off
|
||||
# of the main config. By default the pool config files go in
|
||||
# e.g. /etc/php-fpm.d, which isn't slotted. So here we move the
|
||||
# include directory to a subdirectory "fpm.d" of $PHP_INI_DIR. Later
|
||||
# we'll install the pool configuration file "www.conf" there.
|
||||
php_set_ini_dir fpm
|
||||
sed -i "s~^include=.*$~include=${PHP_INI_DIR}/fpm.d/*.conf~" \
|
||||
sapi/fpm/php-fpm.conf.in \
|
||||
|| die 'failed to move the include directory in php-fpm.conf'
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
PHP_DESTDIR="${EPREFIX}/usr/$(get_libdir)/php${SLOT}"
|
||||
|
||||
# The php-fpm config file wants localstatedir to be ${EPREFIX}/var
|
||||
# and not the Gentoo default ${EPREFIX}/var/lib. See bug 572002.
|
||||
local our_conf=(
|
||||
--prefix="${PHP_DESTDIR}"
|
||||
--mandir="${PHP_DESTDIR}/man"
|
||||
--infodir="${PHP_DESTDIR}/info"
|
||||
--libdir="${PHP_DESTDIR}/lib"
|
||||
--with-libdir="$(get_libdir)"
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
--without-pear
|
||||
$(use_enable threads maintainer-zts)
|
||||
)
|
||||
|
||||
our_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_with argon2 password-argon2 "${EPREFIX}/usr")
|
||||
$(use_enable bcmath bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar calendar)
|
||||
$(use_enable coverage gcov)
|
||||
$(use_enable ctype ctype)
|
||||
$(use_with curl curl "${EPREFIX}/usr")
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant enchant "${EPREFIX}/usr")
|
||||
$(use_enable exif exif)
|
||||
$(use_enable fileinfo fileinfo)
|
||||
$(use_enable filter filter)
|
||||
$(use_enable ftp ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_enable hash hash)
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl intl)
|
||||
$(use_enable ipv6 ipv6)
|
||||
$(use_enable json json)
|
||||
$(use_with kerberos kerberos "${EPREFIX}/usr")
|
||||
$(use_enable xml libxml)
|
||||
$(use_with xml libxml-dir "${EPREFIX}/usr")
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with unicode onig "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl "${EPREFIX}/usr")
|
||||
$(use_with ssl openssl-dir "${EPREFIX}/usr")
|
||||
$(use_enable pcntl pcntl)
|
||||
$(use_enable phar phar)
|
||||
$(use_enable pdo pdo)
|
||||
$(use_enable opcache opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix posix)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_with recode recode "${EPREFIX}/usr")
|
||||
$(use_enable simplexml simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap soap)
|
||||
$(use_enable sockets sockets)
|
||||
$(use_with sodium sodium "${EPREFIX}/usr")
|
||||
$(use_with sqlite sqlite3 "${EPREFIX}/usr")
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with systemd fpm-systemd)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer tokenizer)
|
||||
$(use_enable wddx wddx)
|
||||
$(use_enable xml xml)
|
||||
$(use_enable xmlreader xmlreader)
|
||||
$(use_enable xmlwriter xmlwriter)
|
||||
$(use_with xmlrpc xmlrpc)
|
||||
$(use_with xslt xsl "${EPREFIX}/usr")
|
||||
$(use_enable zip zip)
|
||||
$(use_with zip-encryption libzip "${EPREFIX}/usr")
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable debug debug)
|
||||
)
|
||||
|
||||
# DBA support
|
||||
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|
||||
|| use qdbm || use lmdb || use tokyocabinet ; then
|
||||
our_conf+=( "--enable-dba${shared}" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
$(use_with lmdb lmdb "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype-dir "${EPREFIX}/usr")
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg-dir "${EPREFIX}/usr")
|
||||
$(use_with gd png-dir "${EPREFIX}/usr")
|
||||
$(use_with xpm xpm-dir "${EPREFIX}/usr")
|
||||
)
|
||||
if use webp; then
|
||||
our_conf+=( --with-webp-dir="${EPREFIX}/usr" )
|
||||
fi
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_with gd gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# Interbase/firebird support
|
||||
our_conf+=( $(use_with firebird interbase "${EPREFIX}/usr") )
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl ldap-sasl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# MySQL support
|
||||
local mysqllib="mysqlnd"
|
||||
local mysqlilib="mysqlnd"
|
||||
|
||||
our_conf+=( $(use_with mysqli mysqli "${mysqlilib}") )
|
||||
|
||||
local mysqlsock="${EPREFIX}/var/run/mysqld/mysqld.sock"
|
||||
if use mysql || use mysqli ; then
|
||||
our_conf+=( $(use_with mysql mysql-sock "${mysqlsock}") )
|
||||
fi
|
||||
|
||||
# ODBC support
|
||||
our_conf+=(
|
||||
$(use_with odbc unixODBC "${EPREFIX}/usr")
|
||||
$(use_with iodbc iodbc "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Oracle support
|
||||
our_conf+=( $(use_with oci8-instant-client oci8) )
|
||||
|
||||
# PDO support
|
||||
if use pdo ; then
|
||||
our_conf+=(
|
||||
$(use_with mssql pdo-dblib "${EPREFIX}/usr")
|
||||
$(use_with mysql pdo-mysql "${mysqllib}")
|
||||
$(use_with postgres pdo-pgsql)
|
||||
$(use_with sqlite pdo-sqlite "${EPREFIX}/usr")
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with odbc pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit libedit "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with sharedmem mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable session session) )
|
||||
fi
|
||||
|
||||
# Use pic for shared modules such as apache2's mod_php
|
||||
our_conf+=( --with-pic )
|
||||
|
||||
# we use the system copy of pcre
|
||||
# --with-pcre-regex affects ext/pcre
|
||||
# --with-pcre-dir affects ext/filter and ext/zip
|
||||
# --with-pcre-valgrind cannot be enabled with system pcre
|
||||
# Many arches don't support pcre-jit
|
||||
our_conf+=(
|
||||
--with-pcre-regex="${EPREFIX}/usr"
|
||||
--with-pcre-dir="${EPREFIX}/usr"
|
||||
--without-pcre-valgrind
|
||||
--without-pcre-jit
|
||||
)
|
||||
|
||||
# Catch CFLAGS problems
|
||||
# Fixes bug #14067.
|
||||
# Changed order to run it in reverse for bug #32022 and #12021.
|
||||
replace-cpu-flags "k6*" "i586"
|
||||
|
||||
# Cache the ./configure test results between SAPIs.
|
||||
our_conf+=( --cache-file="${T}/config.cache" )
|
||||
|
||||
# Support user-passed configuration parameters
|
||||
our_conf+=( ${EXTRA_ECONF:-} )
|
||||
|
||||
# Support the Apache2 extras, they must be set globally for all
|
||||
# SAPIs to work correctly, especially for external PHP extensions
|
||||
|
||||
mkdir -p "${WORKDIR}/sapis-build" || die
|
||||
for one_sapi in $SAPIS ; do
|
||||
use "${one_sapi}" || continue
|
||||
php_set_ini_dir "${one_sapi}"
|
||||
|
||||
# The BUILD_DIR variable is used to determine where to output
|
||||
# the files that autotools creates. This was all originally
|
||||
# based on the autotools-utils eclass.
|
||||
BUILD_DIR="${WORKDIR}/sapis-build/${one_sapi}"
|
||||
cp -a "${S}" "${BUILD_DIR}" || die
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local sapi_conf=(
|
||||
--with-config-file-path="${PHP_INI_DIR}"
|
||||
--with-config-file-scan-dir="${PHP_EXT_INI_DIR_ACTIVE}"
|
||||
)
|
||||
|
||||
for sapi in $SAPIS ; do
|
||||
case "$sapi" in
|
||||
cli|cgi|embed|fpm|phpdbg)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( "--enable-${sapi}" )
|
||||
else
|
||||
sapi_conf+=( "--disable-${sapi}" )
|
||||
fi
|
||||
;;
|
||||
|
||||
apache2)
|
||||
if [[ "${one_sapi}" == "${sapi}" ]] ; then
|
||||
sapi_conf+=( --with-apxs2="${EPREFIX}/usr/bin/apxs" )
|
||||
else
|
||||
sapi_conf+=( --without-apxs2 )
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Construct the $myeconfargs array by concatenating $our_conf
|
||||
# (the common args) and $sapi_conf (the SAPI-specific args).
|
||||
local myeconfargs=( "${our_conf[@]}" )
|
||||
myeconfargs+=( "${sapi_conf[@]}" )
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
econf "${myeconfargs[@]}"
|
||||
popd > /dev/null || die
|
||||
done
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# snmp seems to run during src_compile, too (bug #324739)
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
addpredict /var/lib/net-snmp/mib_indexes
|
||||
|
||||
for sapi in ${SAPIS} ; do
|
||||
if use "${sapi}"; then
|
||||
cd "${WORKDIR}/sapis-build/$sapi" || \
|
||||
die "Failed to change dir to ${WORKDIR}/sapis-build/$1"
|
||||
emake
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# see bug #324739 for what happens when we don't have that
|
||||
addpredict /usr/share/snmp/mibs/.index
|
||||
|
||||
# grab the first SAPI that got built and install common files from there
|
||||
local first_sapi=""
|
||||
for sapi in $SAPIS ; do
|
||||
if use $sapi ; then
|
||||
first_sapi=$sapi
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Makefile forgets to create this before trying to write to it...
|
||||
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
|
||||
|
||||
# Install php environment (without any sapis)
|
||||
cd "${WORKDIR}/sapis-build/$first_sapi" || die
|
||||
emake INSTALL_ROOT="${D}" \
|
||||
install-build install-headers install-programs
|
||||
|
||||
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
|
||||
|
||||
# Create the directory where we'll put version-specific php scripts
|
||||
keepdir "/usr/share/php${PHP_MV}"
|
||||
|
||||
local sapi="", file=""
|
||||
local sapi_list=""
|
||||
|
||||
for sapi in ${SAPIS}; do
|
||||
if use "${sapi}" ; then
|
||||
einfo "Installing SAPI: ${sapi}"
|
||||
cd "${WORKDIR}/sapis-build/${sapi}" || die
|
||||
|
||||
if [[ "${sapi}" == "apache2" ]] ; then
|
||||
# We're specifically not using emake install-sapi as libtool
|
||||
# may cause unnecessary relink failures (see bug #351266)
|
||||
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
|
||||
newins ".libs/libphp${PHP_MV}$(get_libname)" \
|
||||
"libphp${PHP_MV}$(get_libname)"
|
||||
keepdir "/usr/$(get_libdir)/apache2/modules"
|
||||
else
|
||||
# needed each time, php_install_ini would reset it
|
||||
local dest="${PHP_DESTDIR#${EPREFIX}}"
|
||||
into "${dest}"
|
||||
case "$sapi" in
|
||||
cli)
|
||||
source="sapi/cli/php"
|
||||
;;
|
||||
cgi)
|
||||
source="sapi/cgi/php-cgi"
|
||||
;;
|
||||
fpm)
|
||||
source="sapi/fpm/php-fpm"
|
||||
;;
|
||||
embed)
|
||||
source="libs/libphp${PHP_MV}$(get_libname)"
|
||||
;;
|
||||
phpdbg)
|
||||
source="sapi/phpdbg/phpdbg"
|
||||
;;
|
||||
*)
|
||||
die "unhandled sapi in src_install"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ "${source}" == *"$(get_libname)" ]]; then
|
||||
dolib.so "${source}"
|
||||
else
|
||||
dobin "${source}"
|
||||
local name="$(basename ${source})"
|
||||
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
|
||||
fi
|
||||
fi
|
||||
|
||||
php_install_ini "${sapi}"
|
||||
|
||||
# construct correct SAPI string for php-config
|
||||
# thanks to ferringb for the bash voodoo
|
||||
if [[ "${sapi}" == "apache2" ]]; then
|
||||
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
|
||||
else
|
||||
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Installing opcache module
|
||||
if use opcache ; then
|
||||
into "${PHP_DESTDIR#${EPREFIX}}"
|
||||
dolib.so "modules/opcache$(get_libname)"
|
||||
fi
|
||||
|
||||
# Install env.d files
|
||||
newenvd "${FILESDIR}/20php5-envd" "20php${SLOT}"
|
||||
sed -e "s|/lib/|/$(get_libdir)/|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
sed -e "s|php5|php${SLOT}|g" -i "${ED}/etc/env.d/20php${SLOT}" || die
|
||||
|
||||
# set php-config variable correctly (bug #278439)
|
||||
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
|
||||
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config" || die
|
||||
|
||||
if use fpm ; then
|
||||
if use systemd; then
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
else
|
||||
systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" \
|
||||
"php-fpm@${SLOT}.service"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
|
||||
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
|
||||
if [[ ! -x "${PHP_BIN}" ]] ; then
|
||||
ewarn "Test phase requires USE=cli, skipping"
|
||||
return
|
||||
else
|
||||
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi" ]] ; then
|
||||
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis-build/cgi/sapi/cgi/php-cgi"
|
||||
fi
|
||||
|
||||
if [[ -x "${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg" ]] ; then
|
||||
export TEST_PHPDBG_EXECUTABLE="${WORKDIR}/sapis-build/phpdbg/sapi/phpdbg/phpdbg"
|
||||
fi
|
||||
|
||||
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d \
|
||||
"session.save_path=${T}" \
|
||||
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d \
|
||||
"session.save_path=${T}"
|
||||
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
mv "${name}.out" "${name}.out.orig" 2>/dev/null || die
|
||||
done
|
||||
|
||||
local failed="$(find -name '*.out')"
|
||||
if [[ ${failed} != "" ]] ; then
|
||||
ewarn "The following test cases failed unexpectedly:"
|
||||
for name in ${failed}; do
|
||||
ewarn " ${name/.out/}"
|
||||
done
|
||||
else
|
||||
einfo "No unexpected test failures, all fine"
|
||||
fi
|
||||
|
||||
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
|
||||
local passed=""
|
||||
for name in ${EXPECTED_TEST_FAILURES}; do
|
||||
[[ -f "${name}.diff" ]] && continue
|
||||
passed="${passed} ${name}"
|
||||
done
|
||||
if [[ ${passed} != "" ]] ; then
|
||||
einfo "The following test cases passed unexpectedly:"
|
||||
for name in ${passed}; do
|
||||
ewarn " ${passed}"
|
||||
done
|
||||
else
|
||||
einfo "None of the known-to-fail tests passed, all fine"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# Output some general info to the user
|
||||
if use apache2 ; then
|
||||
elog
|
||||
elog "To enable PHP in apache, you will need to add \"-D PHP\" to"
|
||||
elog "your apache2 command. OpenRC users can append that string to"
|
||||
elog "APACHE2_OPTS in /etc/conf.d/apache2."
|
||||
elog
|
||||
elog "The apache module configuration file 70_mod_php.conf is"
|
||||
elog "provided (and maintained) by eselect-php."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Create the symlinks for php
|
||||
for m in ${SAPIS}; do
|
||||
[[ ${m} == 'embed' ]] && continue;
|
||||
if use $m ; then
|
||||
local ci=$(eselect php show $m)
|
||||
if [[ -z $ci ]]; then
|
||||
eselect php set $m php${SLOT} || die
|
||||
einfo "Switched ${m} to use php:${SLOT}"
|
||||
einfo
|
||||
elif [[ $ci != "php${SLOT}" ]] ; then
|
||||
elog "To switch $m to use php:${SLOT}, run"
|
||||
elog " eselect php set $m php${SLOT}"
|
||||
elog
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove dead symlinks for SAPIs that were just disabled. For
|
||||
# example, if the user has the cgi SAPI enabled, then he has an
|
||||
# eselect-php symlink for it. If he later reinstalls PHP with
|
||||
# USE="-cgi", that symlink will break. This call to eselect is
|
||||
# supposed to remove that dead link per bug 572436.
|
||||
eselect php cleanup || die
|
||||
|
||||
if ! has "php${SLOT/./-}" ${PHP_TARGETS}; then
|
||||
elog "To build extensions for this version of PHP, you will need to"
|
||||
elog "add php${SLOT/./-} to your PHP_TARGETS USE_EXPAND variable."
|
||||
elog
|
||||
fi
|
||||
|
||||
# Warn about the removal of PHP_INI_VERSION if the user has it set.
|
||||
if [[ -n "${PHP_INI_VERSION}" ]]; then
|
||||
ewarn 'The PHP_INI_VERSION variable has been phased out. You may'
|
||||
ewarn 'remove it from your configuration at your convenience. See'
|
||||
ewarn
|
||||
ewarn ' https://bugs.gentoo.org/611214'
|
||||
ewarn
|
||||
ewarn 'for more information.'
|
||||
fi
|
||||
|
||||
elog "For details on how version slotting works, please see"
|
||||
elog "the wiki:"
|
||||
elog
|
||||
elog " https://wiki.gentoo.org/wiki/PHP"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
# This serves two purposes. First, if we have just removed the last
|
||||
# installed version of PHP, then this will remove any dead symlinks
|
||||
# belonging to eselect-php. Second, if a user upgrades slots from
|
||||
# (say) 5.6 to 7.0 and depcleans the old slot, then this will update
|
||||
# his existing symlinks to point to the new 7.0 installation. The
|
||||
# latter is bug 432962.
|
||||
#
|
||||
# Note: the eselect-php package may not be installed at this point,
|
||||
# so we can't die() if this command fails.
|
||||
eselect php cleanup
|
||||
}
|
@ -1,17 +1,6 @@
|
||||
DIST ruby-2.2.6.tar.xz 10487776 SHA256 9414ecc0d09cf71c9a24e8dc82fcc87919ac7359fb08db2791d6c32bfd157339 SHA512 a2cfde1c6df4df6b996f8d86c52b255fd43b469f8b9f0d7a81ce5f4de949a67025d8bead4ce61f03263eb6a8378b156b843f97b429208afaa1d3bfd0a7af4ef4 WHIRLPOOL 77b01fbd54f77196bca93d0120474436dcdc2e8d437cf70ca1382ed38c58cf05c27e9896cb4b2afd61ea2862ce6b864d707cd4682e17dfc7912d4a74da2b741e
|
||||
DIST ruby-2.2.7.tar.xz 10507528 SHA256 234c8aee6543da9efd67008e6e7ee740d41ed57a52e797f65043c3b5ec3bcb53 SHA512 21bebec6d0972f4e6f2988f471c58520e32096e43a61d627eb2210df283a6fd6d0fc49da9063f2d086f3d489f13e948462a6f084f9e931b4fde6102f490cc225 WHIRLPOOL 35e1470b7d5de25efd213b70befa7b0ce599f3e2ef73aacdf343d7ed3fe14836ab0899124cce8670c00470af9428a81a7f693cb5897448c2d2e824d5b8a1819b
|
||||
DIST ruby-2.2.8.tar.xz 10520648 SHA256 37eafc15037396c26870f6a6c5bcd0658d14b46cd5e191a3b56d89dd22d561b0 SHA512 e21004bee537f0c706f4ac9526507b414ddb6a8d721e8fad8d7fe88992a4f048eb5eb79f8d8b8af2a8b331dcfa74b560490218a1acb3532c2cdb4fb4909da3c9 WHIRLPOOL a5b2f7a6c5131376980cf4d2a5f2d7a8a440effed588214c295fb4b83483d84310ba6bfbb96ee904384831eda47f0b1c0263d5190ca41db95df272428144cad1
|
||||
DIST ruby-2.3.4.tar.xz 11450108 SHA256 341cd9032e9fd17c452ed8562a8d43f7e45bfe05e411d0d7d627751dd82c578c SHA512 9e3adc2de6703e50e75db37db2981006d4c69759929d61db6a0d63627cfe5977d0ad66d2c69d7161cfc0c0d1c2cb38e5181a06ccd2790df2f72ec25c2ad01e02 WHIRLPOOL 1e9d4112134910ebf1bd241b5031551fdfa882405ca850d9b11af9dc79251379971e18666600d88ef2054c4794a98142df150f83cb06f1dff616faee45ffe1cc
|
||||
DIST ruby-2.3.5.tar.xz 11437868 SHA256 7d3a7dabb190c2da06c963063342ca9a214bcd26f2158e904f0ec059b065ffda SHA512 c55e3b71241f505b6bbad78b3bd40235064faae3443ca14b77b6356556caed6a0d055dc2e2cd7ebdb5290ab908e06d2b7d68f72469af5017eda4b29664b0d889 WHIRLPOOL 2f7d0d7fbf12441e8d312c6c34cb06bf663a975ab3602fa385d44fb42c9b68ddfe8518ad28aead7f164afc9d6c0b825ade16c9205625bb46a738103b744b1f48
|
||||
DIST ruby-2.4.1.tar.xz 9939188 SHA256 4fc8a9992de3e90191de369270ea4b6c1b171b7941743614cc50822ddc1fe654 SHA512 e6fd290b6edd166348b70f0f1c56f7ed9d956c4c1eb91d97d0548041ca4196b9b75ec1ad35c745bdbfd4de195899093e7205d7f02b014ecf1c48e6f31cf25903 WHIRLPOOL b45a6e3bd70e6ef802d084ad87ad0eddd85932e07939bd6ed6a2e6944aa289f231971fedd7d1eece792becb08312f37b80073a2a9df070f61f32747c0708523e
|
||||
DIST ruby-2.4.2.tar.xz 10046412 SHA256 748a8980d30141bd1a4124e11745bb105b436fb1890826e0d2b9ea31af27f735 SHA512 c1d42272fb0d94b693452e703b0ea4942bf59cbd4b08ba83bf039f54be97ebc88511632413da0164970b4cf97bc302bccb88aab48edfa8fa147498e7ee741595 WHIRLPOOL 4117f18e7901700d2cf603ed60cbe9b59ca65359ec359a7616b2cf90c76c25117afe864a8a7b55e7dc52c93377c541a8b497f1b281cdccade97aafa5ca363a5b
|
||||
DIST ruby-patches-2.2.6.tar.bz2 2272 SHA256 f54373704ce8df732490e8d1e7e35188503faacc5278fe0ab0d8c07bdc762fed SHA512 ed8bff8f730ccb114e62784d29541f276b2821d9eb121a9772dc4aabc139b688f2b14f5f27710098a8cd751c62d31b46170b427ad54dc4f6490c003450ae1583 WHIRLPOOL 8598c9284252c1e7cc9f9019c5f468ce5ab8b4ae013e71c631cd00cc8bfde068b041f1bc6851bb2962982a1e46cbde0ddc51c186ea41638a7881c587c658e603
|
||||
DIST ruby-patches-2.2.7-r3.tar.bz2 5757 SHA256 3470915805a6264ad74a9c7cb7280c4be3585b4dc255685e53205eb4c90536f9 SHA512 9766a44633ddc33e575e2f82d0954ea54620ce7ff7f73d58e76dc3c8ab1cb664c02bc3dac5ca5834d955d5cdfc8d3b647f91c19160e3a9f62c9a69839705702e WHIRLPOOL 6476c46449424a73b75ce4605b2501240b20972960064f0c6380afba67c5472563292dd7d1965400c641b746715c3ff547566d674244b127699196043ab87d18
|
||||
DIST ruby-patches-2.2.7-r4.tar.bz2 6460 SHA256 2f7c0414d65870bf89539d6e737e9c9e5b78188d3305a5d001d562619375ee04 SHA512 a5891c893b9f5219a6b17e0628678f1714a0c04d8699a272e91aa2ecf1068677b78da60475c32ddcea5a988d1d0d2469fada58da56ef5821f03f47b30855f2ee WHIRLPOOL 4521ea39407f396db2ef646162f7cc093e3137733ad20bff2761763fd8f3161d604f2a594cb41f5f494fffeb221b8d70cefe74020ae7dcbe3ce99083237cf68e
|
||||
DIST ruby-patches-2.2.8.tar.bz2 5764 SHA256 5c44fc38cb25d7dbdd8bef0fae49b5fc2f4f42da4e5b4b871655fd5e68faddbe SHA512 296387ec7f2ff82ad55f147d8f9568de544403d286ad24bb60aca916215d7ff6e1d6aca5a31c00a1999504989cda2bbd3260cae96c18ba73f9ffdcfd6b2695bd WHIRLPOOL 28889531d98b1bb96ceaa059f7fc641cc3db16eda0e3ad4cea031127c71897613d73cc3c8926dfd9ec978be79ca1201e7c90056ddcbec58d3e842c8af9a52389
|
||||
DIST ruby-patches-2.3.4-r3.tar.bz2 4698 SHA256 196bbafe0c43718b4e2120e2e4d681befe9ccba1d2607fb9459d670c74d5bd38 SHA512 f2867c3460e3a276849b09bd367949024aa8c0e4631fef6bd46e1ef44d56dfe2a7baa88ea640b8953252e566d7927178da50195b6382d8fd8e1b9ef7d9ceb2fc WHIRLPOOL 9ba584dcc0055f4401f4345da7b161d08b4a4651ea669b7a26c7504d3aeb650051080d089652c2ae39e0163609cbef1f480a46555a4f3af8297180215929d472
|
||||
DIST ruby-patches-2.3.4-r4.tar.bz2 5483 SHA256 47470aac5d2e941c3781ebd820a725dcf11da1688f8299d0408bcc9540295647 SHA512 d5dbfbbd3b2bfc43d2e7a34c4de7203470f6050875a85fc313505e224c0089fdc44045130ef6dd791d50e1f4c22afc369d3549c7860a9694d182334ce6e3687e WHIRLPOOL c6049425955a05fdcbdd859782aa6c9c372cedfbe4962c1a48c7be4e1c9d29db3010444ac68882491fc35a1f53df7d5096dc3593e4bc67c4afb40aa16609a1b3
|
||||
DIST ruby-patches-2.3.5.tar.bz2 3593 SHA256 0bdc378a9e3ea6ec1579cc99a3c8b983b492e49b9fc1e9432595d66d3a8013ae SHA512 eacb7f6787b36c7d848453b29152190a164ebc6882ab509eeb6584e49af4b66a665c4baff4ecf75e5831ae54d47dbc651d6f048918f3327500c429f1f419ed94 WHIRLPOOL 7f236988663c1082a988b836bf558b5c042c09257cdbad6931474ece7f19be2d37dfe559292182dfc6a9966f6aa3fd2bbbf0f3630bd792f84f61fd135cf7bcbe
|
||||
DIST ruby-patches-2.4.1-r3.tar.bz2 4589 SHA256 6a096f444d1281ac1ce8fd391d085741d3f41527ed0f9b893d7276c17e7b9bdd SHA512 8507189b192fd9f7f2591a2e417526e7f8baf9d2330669b13f79759c06f7729684772e74fee88c78b0ae5b266ad08c5694fcd173f4fb44c34f4cb4d1042cd773 WHIRLPOOL 81c992c4bf5bdc8a9091c68a31ffea1e52cb024388be193173bc6ad254b005bed0d3fec2a50bf4fd6e07044e386ab41f5e5b102ed27742cb53f1d381cf0a3d4a
|
||||
DIST ruby-patches-2.4.1-r4.tar.bz2 5381 SHA256 39d2f61c76b6d2c8d0524167f5355a166e7ae3eb128447517b308d5b927ff44e SHA512 168d1353f22df8884ce6dbb2ee7fb81573b9997e480f57d7da4e9504ab5b2ce7bbccad237276c71775d0730c1a6a8920978e3b26eaa06fe3c94495272af77b74 WHIRLPOOL d4d3c715715886149ea91bcc7a2da0298e88434db570eee07241eb3c74cc1d9984342212290c9b0d6adcf9e79e4c08af7b179d9be2dd45b334ae386eb23fa157
|
||||
DIST ruby-patches-2.4.2.tar.bz2 3443 SHA256 621e92c4c14cec458100adf74e122df76663be4f75fc4ea86423a9ac6755ea3e SHA512 fb8349c67c72caf10ec12c4b5410194b4df24345446c2e3b6c6176d00727bfe803f4a905ef094a2d52315b6f4c3ce74fb8fbaa2fdf5efe46e6ccb24bf8418b17 WHIRLPOOL 306a16b49037a669398fb9c1b7c2b5484860d8749bf4c12d0e5eec02e3a7f7760b48b4a3cd709e0fa2b54f3d8dddff36d7eeb8d53d2d647d59e099b0299b8ed1
|
||||
|
@ -1,245 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
#PATCHSET=1
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib versionator
|
||||
|
||||
MY_P="${PN}-$(get_version_component_range 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(get_version_component_range 1-2)
|
||||
MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
|
||||
RUBYVERSION=2.2.0
|
||||
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
if [[ ${PVR} == ${PV} ]]; then
|
||||
PATCHSET="${PV}-r0.${PATCHSET}"
|
||||
else
|
||||
PATCHSET="${PVR}.${PATCHSET}"
|
||||
fi
|
||||
else
|
||||
PATCHSET="${PVR}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="http://www.ruby-lang.org/"
|
||||
SRC_URI="mirror://ruby/2.2/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="alpha amd64 arm ~arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl tk xemacs ncurses +readline"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
dev-libs/libyaml
|
||||
virtual/libffi
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20141227
|
||||
!<dev-ruby/rdoc-3.9.4
|
||||
!<dev-ruby/rubygems-1.8.10-r1"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/minitest-5.4.3[ruby_targets_ruby22]
|
||||
>=dev-ruby/power_assert-0.2.2[ruby_targets_ruby22]
|
||||
>=dev-ruby/test-unit-3.0.8[ruby_targets_ruby22]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby22]
|
||||
>=dev-ruby/json-1.8.1[ruby_targets_ruby22]
|
||||
>=dev-ruby/rake-0.9.6[ruby_targets_ruby22]
|
||||
rdoc? ( >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby22] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
|
||||
epatch "${WORKDIR}/patches"
|
||||
|
||||
# We can no longer unbundle all of rake because rubygems now depends
|
||||
# on this. We leave the actual rake code around to bootstrap
|
||||
# rubygems, but remove the bits that would cause a file collision.
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
rm -rf \
|
||||
{bin,lib}/rake lib/rake.rb man/rake.1 \
|
||||
bin/gem || die "removal failed"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm gems/{minitest-5.4.3,power_assert-0.2.2,test-unit-3.0.8}.gem || die
|
||||
|
||||
# Fix a hardcoded lib path in configure script
|
||||
sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
|
||||
configure.in || die "sed failed"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use readline ; then
|
||||
modules="${modules},readline"
|
||||
fi
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use ncurses ; then
|
||||
modules="${modules},curses"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--docdir=${EPREFIX}/usr/share/doc/${P} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_enable jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no \
|
||||
|| die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test || die "make test failed"
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
# Remove installed rubygems copy
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README* || die
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(19|20|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -1,245 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
#PATCHSET=1
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib versionator
|
||||
|
||||
MY_P="${PN}-$(get_version_component_range 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(get_version_component_range 1-2)
|
||||
MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
|
||||
RUBYVERSION=2.2.0
|
||||
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
if [[ ${PVR} == ${PV} ]]; then
|
||||
PATCHSET="${PV}-r0.${PATCHSET}"
|
||||
else
|
||||
PATCHSET="${PVR}.${PATCHSET}"
|
||||
fi
|
||||
else
|
||||
PATCHSET="${PVR}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="http://www.ruby-lang.org/"
|
||||
SRC_URI="mirror://ruby/2.2/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="alpha ~amd64 arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl tk xemacs ncurses +readline"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
dev-libs/libyaml
|
||||
virtual/libffi
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20141227
|
||||
!<dev-ruby/rdoc-3.9.4
|
||||
!<dev-ruby/rubygems-1.8.10-r1"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/minitest-5.4.3[ruby_targets_ruby22]
|
||||
>=dev-ruby/power_assert-0.2.2[ruby_targets_ruby22]
|
||||
>=dev-ruby/test-unit-3.0.8[ruby_targets_ruby22]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby22]
|
||||
>=dev-ruby/json-1.8.1[ruby_targets_ruby22]
|
||||
>=dev-ruby/rake-0.9.6[ruby_targets_ruby22]
|
||||
rdoc? ( >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby22] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
|
||||
epatch "${WORKDIR}/patches"
|
||||
|
||||
# We can no longer unbundle all of rake because rubygems now depends
|
||||
# on this. We leave the actual rake code around to bootstrap
|
||||
# rubygems, but remove the bits that would cause a file collision.
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
rm -rf \
|
||||
{bin,lib}/rake lib/rake.rb man/rake.1 \
|
||||
bin/gem || die "removal failed"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm gems/{minitest-5.4.3,power_assert-0.2.2,test-unit-3.0.8}.gem || die
|
||||
|
||||
# Fix a hardcoded lib path in configure script
|
||||
sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
|
||||
configure.in || die "sed failed"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use readline ; then
|
||||
modules="${modules},readline"
|
||||
fi
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use ncurses ; then
|
||||
modules="${modules},curses"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--docdir=${EPREFIX}/usr/share/doc/${P} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no \
|
||||
|| die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test || die "make test failed"
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
# Remove installed rubygems copy
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README* || die
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(19|20|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -1,245 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
#PATCHSET=1
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib versionator
|
||||
|
||||
MY_P="${PN}-$(get_version_component_range 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(get_version_component_range 1-2)
|
||||
MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
|
||||
RUBYVERSION=2.2.0
|
||||
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
if [[ ${PVR} == ${PV} ]]; then
|
||||
PATCHSET="${PV}-r0.${PATCHSET}"
|
||||
else
|
||||
PATCHSET="${PVR}.${PATCHSET}"
|
||||
fi
|
||||
else
|
||||
PATCHSET="${PVR}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="http://www.ruby-lang.org/"
|
||||
SRC_URI="mirror://ruby/2.2/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl tk xemacs ncurses +readline"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
dev-libs/libyaml
|
||||
virtual/libffi
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20141227
|
||||
!<dev-ruby/rdoc-3.9.4
|
||||
!<dev-ruby/rubygems-1.8.10-r1"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/minitest-5.4.3[ruby_targets_ruby22]
|
||||
>=dev-ruby/power_assert-0.2.2[ruby_targets_ruby22]
|
||||
>=dev-ruby/test-unit-3.0.8[ruby_targets_ruby22]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby22]
|
||||
>=dev-ruby/json-1.8.1[ruby_targets_ruby22]
|
||||
>=dev-ruby/rake-0.9.6[ruby_targets_ruby22]
|
||||
rdoc? ( >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby22] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
|
||||
epatch "${WORKDIR}/patches"
|
||||
|
||||
# We can no longer unbundle all of rake because rubygems now depends
|
||||
# on this. We leave the actual rake code around to bootstrap
|
||||
# rubygems, but remove the bits that would cause a file collision.
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
rm -rf \
|
||||
{bin,lib}/rake lib/rake.rb man/rake.1 \
|
||||
bin/gem || die "removal failed"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm gems/{minitest-5.4.3,power_assert-0.2.2,test-unit-3.0.8}.gem || die
|
||||
|
||||
# Fix a hardcoded lib path in configure script
|
||||
sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
|
||||
configure.in || die "sed failed"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use readline ; then
|
||||
modules="${modules},readline"
|
||||
fi
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use ncurses ; then
|
||||
modules="${modules},curses"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--docdir=${EPREFIX}/usr/share/doc/${P} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no \
|
||||
|| die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test || die "make test failed"
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
# Remove installed rubygems copy
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README* || die
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(19|20|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -1,242 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
#PATCHSET=1
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib versionator
|
||||
|
||||
MY_P="${PN}-$(get_version_component_range 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(get_version_component_range 1-2)
|
||||
MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
|
||||
RUBYVERSION=2.3.0
|
||||
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
if [[ ${PVR} == ${PV} ]]; then
|
||||
PATCHSET="${PV}-r0.${PATCHSET}"
|
||||
else
|
||||
PATCHSET="${PVR}.${PATCHSET}"
|
||||
fi
|
||||
else
|
||||
PATCHSET="${PVR}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="http://www.ruby-lang.org/"
|
||||
SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl tk xemacs ncurses +readline"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
dev-libs/libyaml
|
||||
virtual/libffi
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20151229
|
||||
!<dev-ruby/rdoc-3.9.4
|
||||
!<dev-ruby/rubygems-1.8.10-r1"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/did_you_mean-1.0.0:1[ruby_targets_ruby23]
|
||||
>=dev-ruby/minitest-5.8.3[ruby_targets_ruby23]
|
||||
>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby23]
|
||||
>=dev-ruby/power_assert-0.2.6[ruby_targets_ruby23]
|
||||
>=dev-ruby/rake-10.4.2[ruby_targets_ruby23]
|
||||
>=dev-ruby/test-unit-3.1.5[ruby_targets_ruby23]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby23]
|
||||
>=dev-ruby/json-1.8.3[ruby_targets_ruby23]
|
||||
rdoc? ( >=dev-ruby/rdoc-4.2.1[ruby_targets_ruby23] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
|
||||
epatch "${WORKDIR}/patches"
|
||||
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm -f gems/{did_you_mean-1.0.0,minitest-5.8.3,net-telnet-0.1.1,power_assert-0.2.6,rake-10.4.2,test-unit-3.1.5}.gem || die
|
||||
|
||||
# Fix a hardcoded lib path in configure script
|
||||
sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
|
||||
configure.in || die "sed failed"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use readline ; then
|
||||
modules="${modules},readline"
|
||||
fi
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use ncurses ; then
|
||||
modules="${modules},curses"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--docdir=${EPREFIX}/usr/share/doc/${P} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no \
|
||||
|| die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test || die "make test failed"
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
# Remove installed rubygems and rdoc copy
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${D}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README* || die
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(19|20|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -1,242 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
#PATCHSET=1
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib versionator
|
||||
|
||||
MY_P="${PN}-$(get_version_component_range 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(get_version_component_range 1-2)
|
||||
MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
|
||||
RUBYVERSION=2.3.0
|
||||
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
if [[ ${PVR} == ${PV} ]]; then
|
||||
PATCHSET="${PV}-r0.${PATCHSET}"
|
||||
else
|
||||
PATCHSET="${PVR}.${PATCHSET}"
|
||||
fi
|
||||
else
|
||||
PATCHSET="${PVR}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="http://www.ruby-lang.org/"
|
||||
SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl tk xemacs ncurses +readline"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
ncurses? ( sys-libs/ncurses:0= )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
dev-libs/libyaml
|
||||
virtual/libffi
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20151229
|
||||
!<dev-ruby/rdoc-3.9.4
|
||||
!<dev-ruby/rubygems-1.8.10-r1"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/did_you_mean-1.0.0:1[ruby_targets_ruby23]
|
||||
>=dev-ruby/minitest-5.8.3[ruby_targets_ruby23]
|
||||
>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby23]
|
||||
>=dev-ruby/power_assert-0.2.6[ruby_targets_ruby23]
|
||||
>=dev-ruby/rake-10.4.2[ruby_targets_ruby23]
|
||||
>=dev-ruby/test-unit-3.1.5[ruby_targets_ruby23]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby23]
|
||||
>=dev-ruby/json-1.8.3[ruby_targets_ruby23]
|
||||
rdoc? ( >=dev-ruby/rdoc-4.2.1[ruby_targets_ruby23] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
|
||||
epatch "${WORKDIR}/patches"
|
||||
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm -f gems/{did_you_mean-1.0.0,minitest-5.8.3,net-telnet-0.1.1,power_assert-0.2.6,rake-10.4.2,test-unit-3.1.5}.gem || die
|
||||
|
||||
# Fix a hardcoded lib path in configure script
|
||||
sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
|
||||
configure.in || die "sed failed"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use readline ; then
|
||||
modules="${modules},readline"
|
||||
fi
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use ncurses ; then
|
||||
modules="${modules},curses"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--docdir=${EPREFIX}/usr/share/doc/${P} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no \
|
||||
|| die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test || die "make test failed"
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
# Remove installed rubygems and rdoc copy
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${D}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README* || die
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(19|20|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -1,243 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
#PATCHSET=1
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib versionator
|
||||
|
||||
MY_P="${PN}-$(get_version_component_range 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(get_version_component_range 1-2)
|
||||
MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
|
||||
RUBYVERSION=${SLOT}.0
|
||||
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
if [[ ${PVR} == ${PV} ]]; then
|
||||
PATCHSET="${PV}-r0.${PATCHSET}"
|
||||
else
|
||||
PATCHSET="${PVR}.${PATCHSET}"
|
||||
fi
|
||||
else
|
||||
PATCHSET="${PVR}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="http://www.ruby-lang.org/"
|
||||
SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~graaff/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl static-libs tk xemacs"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
dev-libs/libyaml
|
||||
virtual/libffi
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20161226
|
||||
!<dev-ruby/rdoc-3.9.4
|
||||
!<dev-ruby/rubygems-1.8.10-r1"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/did_you_mean-1.1.0:2.4[ruby_targets_ruby24]
|
||||
>=dev-ruby/minitest-5.10.1[ruby_targets_ruby24]
|
||||
>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby24]
|
||||
>=dev-ruby/power_assert-0.4.1[ruby_targets_ruby24]
|
||||
>=dev-ruby/rake-12.0.0[ruby_targets_ruby24]
|
||||
>=dev-ruby/test-unit-3.2.3[ruby_targets_ruby24]
|
||||
>=dev-ruby/xmlrpc-0.2.1[ruby_targets_ruby24]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby24]
|
||||
>=dev-ruby/json-2.0.2[ruby_targets_ruby24]
|
||||
rdoc? ( >=dev-ruby/rdoc-5.1.0[ruby_targets_ruby24] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
|
||||
epatch "${WORKDIR}/patches"
|
||||
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm -f gems/{did_you_mean-1.1.0,minitest-5.10.1,net-telnet-0.1.1,power_assert-0.4.1,rake-12.0.0,test-unit-3.2.3,xmlrpc-0.2.1}.gem || die
|
||||
|
||||
einfo "Removing bundled libraries..."
|
||||
rm -fr ext/fiddle/libffi-3.2.1 || die
|
||||
|
||||
# Fix a hardcoded lib path in configure script
|
||||
sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
|
||||
configure.in || die "sed failed"
|
||||
|
||||
eapply_user
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--docdir=${EPREFIX}/usr/share/doc/${P} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable static-libs install-static-library) \
|
||||
$(use_with static-libs static-linked-ext) \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no \
|
||||
|| die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test || die "make test failed"
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
# Remove installed rubygems and rdoc copy
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${D}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README* || die
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(19|20|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -1,243 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
#PATCHSET=1
|
||||
|
||||
inherit autotools eutils flag-o-matic multilib versionator
|
||||
|
||||
MY_P="${PN}-$(get_version_component_range 1-3)"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
SLOT=$(get_version_component_range 1-2)
|
||||
MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
|
||||
RUBYVERSION=${SLOT}.0
|
||||
|
||||
if [[ -n ${PATCHSET} ]]; then
|
||||
if [[ ${PVR} == ${PV} ]]; then
|
||||
PATCHSET="${PV}-r0.${PATCHSET}"
|
||||
else
|
||||
PATCHSET="${PVR}.${PATCHSET}"
|
||||
fi
|
||||
else
|
||||
PATCHSET="${PVR}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="An object-oriented scripting language"
|
||||
HOMEPAGE="http://www.ruby-lang.org/"
|
||||
SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.xz
|
||||
https://dev.gentoo.org/~graaff/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( Ruby-BSD BSD-2 )"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
|
||||
IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl static-libs tk xemacs"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( sys-libs/gdbm )
|
||||
jemalloc? ( dev-libs/jemalloc )
|
||||
ssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl )
|
||||
)
|
||||
socks5? ( >=net-proxy/dante-1.1.13 )
|
||||
tk? (
|
||||
dev-lang/tcl:0=[threads]
|
||||
dev-lang/tk:0=[threads]
|
||||
)
|
||||
dev-libs/libyaml
|
||||
virtual/libffi
|
||||
sys-libs/zlib
|
||||
>=app-eselect/eselect-ruby-20161226
|
||||
!<dev-ruby/rdoc-3.9.4
|
||||
!<dev-ruby/rubygems-1.8.10-r1"
|
||||
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
BUNDLED_GEMS="
|
||||
>=dev-ruby/did_you_mean-1.1.0:2.4[ruby_targets_ruby24]
|
||||
>=dev-ruby/minitest-5.10.1[ruby_targets_ruby24]
|
||||
>=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby24]
|
||||
>=dev-ruby/power_assert-0.4.1[ruby_targets_ruby24]
|
||||
>=dev-ruby/rake-12.0.0[ruby_targets_ruby24]
|
||||
>=dev-ruby/test-unit-3.2.3[ruby_targets_ruby24]
|
||||
>=dev-ruby/xmlrpc-0.2.1[ruby_targets_ruby24]
|
||||
"
|
||||
|
||||
PDEPEND="
|
||||
${BUNDLED_GEMS}
|
||||
virtual/rubygems[ruby_targets_ruby24]
|
||||
>=dev-ruby/json-2.0.2[ruby_targets_ruby24]
|
||||
rdoc? ( >=dev-ruby/rdoc-5.1.0[ruby_targets_ruby24] )
|
||||
xemacs? ( app-xemacs/ruby-modes )"
|
||||
|
||||
src_prepare() {
|
||||
EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
|
||||
epatch "${WORKDIR}/patches"
|
||||
|
||||
einfo "Unbundling gems..."
|
||||
cd "$S"
|
||||
# Remove bundled gems that we will install via PDEPEND, bug
|
||||
# 539700. Use explicit version numbers to ensure rm fails when they
|
||||
# change so we can update dependencies accordingly.
|
||||
rm -f gems/{did_you_mean-1.1.0,minitest-5.10.1,net-telnet-0.1.1,power_assert-0.4.1,rake-12.0.0,test-unit-3.2.3,xmlrpc-0.2.1}.gem || die
|
||||
|
||||
einfo "Removing bundled libraries..."
|
||||
rm -fr ext/fiddle/libffi-3.2.1 || die
|
||||
|
||||
# Fix a hardcoded lib path in configure script
|
||||
sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
|
||||
configure.in || die "sed failed"
|
||||
|
||||
eapply_user
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local modules= myconf=
|
||||
|
||||
# -fomit-frame-pointer makes ruby segfault, see bug #150413.
|
||||
filter-flags -fomit-frame-pointer
|
||||
# In many places aliasing rules are broken; play it safe
|
||||
# as it's risky with newer compilers to leave it as it is.
|
||||
append-flags -fno-strict-aliasing
|
||||
# SuperH needs this
|
||||
use sh && append-flags -mieee
|
||||
|
||||
# Socks support via dante
|
||||
if use socks5 ; then
|
||||
# Socks support can't be disabled as long as SOCKS_SERVER is
|
||||
# set and socks library is present, so need to unset
|
||||
# SOCKS_SERVER in that case.
|
||||
unset SOCKS_SERVER
|
||||
fi
|
||||
|
||||
# Increase GC_MALLOC_LIMIT if set (default is 8000000)
|
||||
if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
|
||||
append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
|
||||
fi
|
||||
|
||||
# ipv6 hack, bug 168939. Needs --enable-ipv6.
|
||||
use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
|
||||
|
||||
# Determine which modules *not* to build depending in the USE flags.
|
||||
if ! use berkdb ; then
|
||||
modules="${modules},dbm"
|
||||
fi
|
||||
if ! use gdbm ; then
|
||||
modules="${modules},gdbm"
|
||||
fi
|
||||
if ! use ssl ; then
|
||||
modules="${modules},openssl"
|
||||
fi
|
||||
if ! use tk ; then
|
||||
modules="${modules},tk"
|
||||
fi
|
||||
|
||||
# Provide an empty LIBPATHENV because we disable rpath but we do not
|
||||
# need LD_LIBRARY_PATH by default since that breaks USE=multitarget
|
||||
# #564272
|
||||
INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
|
||||
--program-suffix=${MY_SUFFIX} \
|
||||
--with-soname=ruby${MY_SUFFIX} \
|
||||
--docdir=${EPREFIX}/usr/share/doc/${P} \
|
||||
--enable-shared \
|
||||
--enable-pthread \
|
||||
--disable-rpath \
|
||||
--with-out-ext="${modules}" \
|
||||
$(use_with jemalloc jemalloc) \
|
||||
$(use_enable socks5 socks) \
|
||||
$(use_enable doc install-doc) \
|
||||
--enable-ipv6 \
|
||||
$(use_enable static-libs static) \
|
||||
$(use_enable static-libs install-static-library) \
|
||||
$(use_with static-libs static-linked-ext) \
|
||||
$(use_enable debug) \
|
||||
${myconf} \
|
||||
--enable-option-checking=no \
|
||||
|| die "econf failed"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake -j1 V=1 test || die "make test failed"
|
||||
|
||||
elog "Ruby's make test has been run. Ruby also ships with a make check"
|
||||
elog "that cannot be run until after ruby has been installed."
|
||||
elog
|
||||
if use rubytests; then
|
||||
elog "You have enabled rubytests, so they will be installed to"
|
||||
elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
|
||||
elog "than root, and you must place them into a writeable directory."
|
||||
elog "Then call: "
|
||||
elog
|
||||
elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
|
||||
else
|
||||
elog "Enable the rubytests USE flag to install the make check tests"
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Remove the remaining bundled gems. We do this late in the process
|
||||
# since they are used during the build to e.g. create the
|
||||
# documentation.
|
||||
rm -rf ext/json || die
|
||||
|
||||
# Ruby is involved in the install process, we don't want interference here.
|
||||
unset RUBYOPT
|
||||
|
||||
local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
|
||||
|
||||
LD_LIBRARY_PATH="${S}:${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
|
||||
RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
|
||||
for d in $(find "${S}/ext" -type d) ; do
|
||||
RUBYLIB="${RUBYLIB}:$d"
|
||||
done
|
||||
export LD_LIBRARY_PATH RUBYLIB
|
||||
|
||||
emake V=1 DESTDIR="${D}" install || die "make install failed"
|
||||
|
||||
# Remove installed rubygems and rdoc copy
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
|
||||
rm -rf "${D}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
rm -rf "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
|
||||
rm -rf "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
|
||||
|
||||
if use doc; then
|
||||
make DESTDIR="${D}" install-doc || die "make install-doc failed"
|
||||
fi
|
||||
|
||||
if use examples; then
|
||||
insinto /usr/share/doc/${PF}
|
||||
doins -r sample
|
||||
fi
|
||||
|
||||
dodoc ChangeLog NEWS doc/NEWS* README* || die
|
||||
|
||||
if use rubytests; then
|
||||
pushd test
|
||||
insinto /usr/share/${PN}-${SLOT}/test
|
||||
doins -r .
|
||||
popd
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
|
||||
eselect ruby set ruby${MY_SUFFIX}
|
||||
fi
|
||||
|
||||
elog
|
||||
elog "To switch between available Ruby profiles, execute as root:"
|
||||
elog "\teselect ruby set ruby(19|20|...)"
|
||||
elog
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
eselect ruby cleanup
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
--- scala-2.11.8-orig/tools/get-scala-commit-date 2016-03-04 21:57:12.000000000 +1100
|
||||
+++ scala-2.11.8/tools/get-scala-commit-date 2016-09-16 10:29:09.215240534 +1000
|
||||
@@ -10,8 +10,8 @@
|
||||
|
||||
[[ $# -eq 0 ]] || cd "$1"
|
||||
|
||||
-lastcommitdate=$(git log --format="%ci" HEAD | head -n 1 | cut -d ' ' -f 1)
|
||||
-lastcommithours=$(git log --format="%ci" HEAD | head -n 1 | cut -d ' ' -f 2)
|
||||
+lastcommitdate="2016-03-04"
|
||||
+lastcommithours="00:00:00"
|
||||
|
||||
# 20120324
|
||||
echo "${lastcommitdate//-/}-${lastcommithours//:/}"
|
||||
--- scala-2.11.8-orig/tools/get-scala-commit-sha 2016-03-04 21:57:12.000000000 +1100
|
||||
+++ scala-2.11.8/tools/get-scala-commit-sha 2016-09-16 10:29:45.566119137 +1000
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
# printf %016s is not portable for 0-padding, has to be a digit.
|
||||
# so we're stuck disassembling it.
|
||||
-hash=$(git log -1 --format="%H" HEAD)
|
||||
+hash="1706a37eb84ec252aea77bccebad3e48448534ad"
|
||||
hash=${hash#g}
|
||||
hash=${hash:0:10}
|
||||
echo "$hash"
|
@ -0,0 +1,224 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
JAVA_PKG_IUSE="doc source"
|
||||
JAVA_ANT_DISABLE_ANT_CORE_DEP="yes"
|
||||
EANT_TEST_TARGET="test.suite"
|
||||
|
||||
inherit eutils check-reqs java-pkg-2 java-ant-2 versionator
|
||||
|
||||
MY_P="${PN}-sources-${PV}"
|
||||
SV="$(get_version_component_range 1-2)"
|
||||
|
||||
# creating the binary:
|
||||
# JAVA_PKG_FORCE_VM="$available-1.7" USE="doc source" ebuild scala-*.ebuild compile
|
||||
# cd $WORDKIR
|
||||
# tar -cjf scala-2.11.8-gentoo-binary.tar.bz2 scala-2.11.8/build/pack/bin \
|
||||
# scala-2.11.8/build/pack/lib/ scala-2.11.8/build/pack/man \
|
||||
# scala-2.11.8/src/actors/ scala-2.11.8/src/forkjoin/ \
|
||||
# scala-2.11.8/src/library scala-2.11.8/src/library-aux/ \
|
||||
# scala-2.11.8/src/reflect/ scala-2.11.8/docs/TODO \
|
||||
# scala-2.11.8/doc/README scala-2.11.8/build/scaladoc/compiler
|
||||
|
||||
# In the pullJarFiles function in tools/binary-repo-lib.sh it executes find commands
|
||||
# to search for .desired.sha1 files, which contain sha1 hashes that are appended
|
||||
# to ${BURI} along with the subdirectory and filename to form the list of jar files
|
||||
# listed in SRC_URI. The output of this find command can be hacked into the desired format:
|
||||
# find . -name \*.desired.sha1 -exec sed -e 's@\([0-9a-f]*\).*@\1@' {} \; -print
|
||||
# After editing it into the desired format: sort -t / -k 3 file
|
||||
|
||||
BURI="http://repo.typesafe.com/typesafe/scala-sha-bootstrap/org/scala-lang/bootstrap"
|
||||
|
||||
declare -a JURI=(
|
||||
"${BURI}/943cd5c8802b2a3a64a010efb86ec19bac142e40/lib/ant/ant-contrib.jar -> ${P}-ant-contrib.jar"
|
||||
"${BURI}/3fc1e35ca8c991fc3488548f7a276bd9053c179d/lib/ant/ant-dotnet-1.0.jar -> ${P}-ant-dotnet-1.0.jar"
|
||||
"${BURI}/7b456ca6b93900f96e58cc8371f03d90a9c1c8d1/lib/ant/ant.jar -> ${P}-ant.jar"
|
||||
"${BURI}/7e50e3e227d834695f1e0bf018a7326e06ee4c86/lib/ant/maven-ant-tasks-2.1.1.jar -> ${P}-maven-ant-tasks-2.1.1.jar"
|
||||
"${BURI}/2c61d6e9a912b3253194d5d6d3e1db7e2545ac4b/lib/ant/vizant.jar -> ${P}-vizant.jar"
|
||||
"${BURI}/ddd7d5398733c4fbbb8355c049e258d47af636cf/lib/forkjoin.jar -> ${P}-forkjoin.jar"
|
||||
"${BURI}/0392ecdeb306263c471ce51fa368223388b82b61/test/benchmarks/lib/jsr166_and_extra.jar -> ${P}-jsr166_and_extra.jar"
|
||||
"${BURI}/e737b123d31eede5594ceda07caafed1673ec472/test/files/codelib/code.jar -> ${P}-code.jar"
|
||||
"${BURI}/02fe2ed93766323a13f22c7a7e2ecdcd84259b6c/test/files/lib/annotations.jar -> ${P}-annotations.jar"
|
||||
"${BURI}/981392dbd1f727b152cd1c908c5fce60ad9d07f7/test/files/lib/enums.jar -> ${P}-enums.jar"
|
||||
"${BURI}/b1ec8a095cec4902b3609d74d274c04365c59c04/test/files/lib/genericNest.jar -> ${P}-genericNest.jar"
|
||||
"${BURI}/346d3dff4088839d6b4d163efa2892124039d216/test/files/lib/jsoup-1.3.1.jar -> ${P}-jsoup-1.3.1.jar"
|
||||
"${BURI}/3794ec22d9b27f2b179bd34e9b46db771b934ec3/test/files/lib/macro210.jar -> ${P}-macro210.jar"
|
||||
"${BURI}/be8454d5e7751b063ade201c225dcedefd252775/test/files/lib/methvsfield.jar -> ${P}-methvsfield.jar"
|
||||
"${BURI}/cd33e0a0ea249eb42363a2f8ba531186345ff68c/test/files/lib/nest.jar -> ${P}-nest.jar"
|
||||
"${BURI}/1b11ac773055c1e942c6b5eb4aabdf02292a7194/test/files/speclib/instrumented.jar -> ${P}-instrumented.jar"
|
||||
"${BURI}/a1883f4304d5aa65e1f6ee6aad5900c62dd81079/tools/push.jar -> ${P}-push.jar"
|
||||
)
|
||||
|
||||
DESCRIPTION="The Scala Programming Language"
|
||||
HOMEPAGE="http://www.scala-lang.org/"
|
||||
SRC_URI="
|
||||
!binary?
|
||||
( https://github.com/scala/scala/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
${JURI[@]}
|
||||
https://dev.gentoo.org/~patrick/${P}-maven-deps.tar.gz
|
||||
)
|
||||
binary? ( https://dev.gentoo.org/~patrick/${P}-gentoo-binary.tar.bz2 )
|
||||
"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="${SV}/${PV}"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x86-macos"
|
||||
|
||||
IUSE="binary emacs"
|
||||
|
||||
COMMON_DEP="dev-java/ant-core:0
|
||||
dev-java/hawtjni-runtime:0"
|
||||
|
||||
DEPEND="${COMMON_DEP}
|
||||
!binary? (
|
||||
|| ( =virtual/jdk-1.7* =virtual/jdk-1.8* )
|
||||
dev-java/ant-core:0
|
||||
dev-java/ant-contrib:0
|
||||
dev-java/ant-nodeps:0
|
||||
media-gfx/graphviz
|
||||
)
|
||||
binary? (
|
||||
|| ( =virtual/jdk-1.7* =virtual/jdk-1.8* )
|
||||
)
|
||||
app-arch/xz-utils:0"
|
||||
|
||||
RDEPEND="${COMMON_DEP}
|
||||
>=virtual/jre-1.7
|
||||
app-eselect/eselect-scala
|
||||
!dev-lang/scala-bin:0"
|
||||
|
||||
PDEPEND="emacs? ( app-emacs/scala-mode:0 )"
|
||||
|
||||
S="${WORKDIR}/${P}"
|
||||
|
||||
CHECKREQS_MEMORY="1536M"
|
||||
|
||||
pkg_setup() {
|
||||
java-pkg-2_pkg_setup
|
||||
|
||||
if ! use binary; then
|
||||
debug-print "Checking for sufficient physical RAM"
|
||||
|
||||
ewarn "This package can fail to build with memory allocation errors in some cases."
|
||||
ewarn "If you are unable to build from sources, please try USE=binary"
|
||||
ewarn "for this package. See bug #181390 for more information."
|
||||
|
||||
check-reqs_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
# Unpack tar files only.
|
||||
for f in ${A} ; do
|
||||
[[ ${f} == *".tar."* ]] && unpack ${f}
|
||||
done
|
||||
}
|
||||
|
||||
java_prepare() {
|
||||
java-pkg_getjars ant-core,hawtjni-runtime
|
||||
|
||||
if ! use binary; then
|
||||
local a
|
||||
for a in "${JURI[@]}"
|
||||
do
|
||||
echo "${a}"
|
||||
local g="${a/* -> /}"
|
||||
echo "${g}"
|
||||
local j="${a/ -> */}"
|
||||
echo "${j}"
|
||||
cp -p "${DISTDIR}/${g}" "${S}/${j#${BURI}/*/}" || die
|
||||
done
|
||||
# gentoo patch (by gienah) to stop it calling git log in the build
|
||||
epatch "${FILESDIR}/${P}-no-git.patch"
|
||||
# Note: to bump scala, some things to try are:
|
||||
# 1. update all the sha1s in JURI
|
||||
# 2. remove the https://dev.gentoo.org/~gienah/snapshots/${P}-maven-deps.tar.gz from SRC_URI
|
||||
# 3. try emerge scala. Check if it downloads more stuff in src_compile to ${WORKDIR}/.m2
|
||||
# or /var/tmp/portage/.m2 or /root/.m2
|
||||
# 4. tar up all the .m2 junk into ${P}-maven-deps.tar.gz and add it to SRC_URI.
|
||||
sed -e "s@\(<mkdir dir=\"\)\${user.home}\(/.m2/repository\"/>\)@\1${WORKDIR}\2\n <artifact:localRepository id=\"localrepo\" path=\"${WORKDIR}/.m2/repository\" />@" \
|
||||
-e "s@\${user.home}/.m2@${WORKDIR}/.m2@g" \
|
||||
-e 's@\(<artifact:dependencies .*>\)@\1\n <localRepository refid="localrepo" />@g' \
|
||||
-i "${S}/build.xml" \
|
||||
|| die "Could not change location of .m2 maven download directory in ${S}/build.xml"
|
||||
sed -e 's@-Xmx1024M@-Xmx1536M@' \
|
||||
-e 's@-XX:MaxPermSize=128M@-XX:MaxPermSize=256M@' \
|
||||
-i "${S}/test/partest" \
|
||||
|| die "Could not change increase memory size in ${S}/test/partest"
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if ! use binary; then
|
||||
#unset ANT_OPTS as this is set in the build.xml
|
||||
#sets -X type variables which might come back to bite me
|
||||
unset ANT_OPTS
|
||||
|
||||
# reported in bugzilla that multiple launches use less resources
|
||||
# https://bugs.gentoo.org/show_bug.cgi?id=282023
|
||||
eant all.clean
|
||||
eant -Djavac.args="-encoding UTF-8" -Duser.home="${WORKDIR}" \
|
||||
fastdist-opt
|
||||
if use doc; then
|
||||
# The separate build for doc is to workaround this problem that occurs
|
||||
# with one "fastdist docscomp" build (still fails with MaxPermSize=384M)
|
||||
# java.lang.OutOfMemoryError: PermGen space
|
||||
eant -Djavac.args="-encoding UTF-8" -Duser.home="${WORKDIR}" \
|
||||
docscomp
|
||||
eant -Djavac.args="-encoding UTF-8" -Duser.home="${WORKDIR}" \
|
||||
docs
|
||||
fi
|
||||
else
|
||||
einfo "Skipping compilation, USE=binary is set."
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
java-pkg-2_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
pushd build/pack || die
|
||||
local SCALADIR="/usr/share/${PN}-${SV}"
|
||||
exeinto "${SCALADIR}/bin"
|
||||
doexe $(find bin/ -type f ! -iname '*.bat')
|
||||
dodir "${SCALADIR}/lib"
|
||||
insinto "${SCALADIR}/lib"
|
||||
pushd lib || die
|
||||
for j in *.jar; do
|
||||
local i="$(echo "${j}" | sed -e "s@[_-][0-9.-]*\.jar@.jar@")"
|
||||
newins "${j}" "${i}"
|
||||
java-pkg_regjar "${ED}${SCALADIR}/lib/${i}"
|
||||
done
|
||||
popd
|
||||
|
||||
dodir /usr/bin
|
||||
for b in $(find bin/ -type f ! -iname '*.bat'); do
|
||||
local _name=$(basename "${b}")
|
||||
dosym "${SCALADIR}/bin/${_name}" "/usr/bin/${_name}-${SV}"
|
||||
done
|
||||
|
||||
pushd man/man1 || die
|
||||
for i in *.1; do
|
||||
newman "${i}" "${i/./-${SV}.}"
|
||||
done
|
||||
popd
|
||||
popd
|
||||
|
||||
#sources are .scala so no use for java-pkg_dosrc
|
||||
pushd src || die
|
||||
if use source; then
|
||||
dodir "${SCALADIR}/src"
|
||||
insinto "${SCALADIR}/src"
|
||||
doins -r actors forkjoin library library-aux reflect
|
||||
fi
|
||||
popd
|
||||
|
||||
local docdir="build/scaladoc"
|
||||
dodoc docs/TODO doc/README
|
||||
if use doc; then
|
||||
dohtml -r "${docdir}"/{compiler,library}
|
||||
fi
|
||||
}
|
@ -1,17 +0,0 @@
|
||||
--- a/js/src/configure.in 2014-06-05 21:15:27.000000000 -0400
|
||||
+++ b/js/src/configure.in 2014-06-13 11:01:51.130703283 -0400
|
||||
@@ -1156,14 +1156,6 @@
|
||||
AC_MSG_RESULT([no])
|
||||
LDFLAGS=$_SAVE_LDFLAGS)
|
||||
|
||||
- AC_MSG_CHECKING([for --build-id option to ld])
|
||||
- _SAVE_LDFLAGS=$LDFLAGS
|
||||
- LDFLAGS="$LDFLAGS -Wl,--build-id"
|
||||
- AC_TRY_LINK(,,AC_MSG_RESULT([yes])
|
||||
- [NSPR_LDFLAGS="$NSPR_LDFLAGS -Wl,--build-id"],
|
||||
- AC_MSG_RESULT([no])
|
||||
- LDFLAGS=$_SAVE_LDFLAGS)
|
||||
-
|
||||
# Turn on gcc/clang warnings:
|
||||
# https://gcc.gnu.org/onlinedocs/gcc-4.4.0/gcc/Warning-Options.html
|
||||
#
|
@ -1,22 +0,0 @@
|
||||
--- a/js/src/jscpucfg.h 2012-01-18 17:38:54.409461514 +0100
|
||||
+++ b/js/src/jscpucfg.h 2012-01-18 17:38:59.522462164 +0100
|
||||
@@ -77,6 +77,19 @@
|
||||
#define IS_BIG_ENDIAN 1
|
||||
#endif
|
||||
|
||||
+#elif defined(__FreeBSD__)
|
||||
+#include <sys/endian.h>
|
||||
+
|
||||
+#if defined(BYTE_ORDER)
|
||||
+#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
+#define IS_LITTLE_ENDIAN 1
|
||||
+#undef IS_BIG_ENDIAN
|
||||
+#elif BYTE_ORDER == BIG_ENDIAN
|
||||
+#undef IS_LITTLE_ENDIAN
|
||||
+#define IS_BIG_ENDIAN 1
|
||||
+#endif
|
||||
+#endif
|
||||
+
|
||||
#elif defined(JS_HAVE_ENDIAN_H)
|
||||
#include <endian.h>
|
||||
|
@ -1,21 +0,0 @@
|
||||
--- a/js/src/configure.in
|
||||
+++ b/js/src/configure.in
|
||||
@@ -958,7 +958,7 @@
|
||||
CPU_ARCH=s390x
|
||||
;;
|
||||
|
||||
-hppa* | parisc)
|
||||
+hppa* | parisc*)
|
||||
CPU_ARCH=hppa
|
||||
;;
|
||||
|
||||
@@ -2009,6 +2009,9 @@
|
||||
AC_DEFINE(JS_CPU_MIPS)
|
||||
AC_DEFINE(JS_NUNBOX32)
|
||||
;;
|
||||
+hppa*)
|
||||
+ AC_DEFINE(JS_NUNBOX32)
|
||||
+ ;;
|
||||
esac
|
||||
|
||||
MOZ_ARG_DISABLE_BOOL(ion,
|
@ -1,46 +0,0 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Lars T Hansen <lhansen@mozilla.com>
|
||||
# Date 1457091735 -3600
|
||||
# Node ID 69f237c2cf9131e97372debee01931dbacd064e5
|
||||
# Parent 3aa4483740828617001060fe7386051020521e90
|
||||
Bug 1253216 - clean up the atomic ops ifdef nest. r=jorendorff
|
||||
|
||||
diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
|
||||
--- a/js/src/jit/AtomicOperations.h
|
||||
+++ b/js/src/jit/AtomicOperations.h
|
||||
@@ -318,21 +318,29 @@ AtomicOperations::isLockfree(int32_t siz
|
||||
} // namespace js
|
||||
|
||||
#if defined(JS_CODEGEN_ARM)
|
||||
# include "jit/arm/AtomicOperations-arm.h"
|
||||
#elif defined(JS_CODEGEN_ARM64)
|
||||
# include "jit/arm64/AtomicOperations-arm64.h"
|
||||
#elif defined(JS_CODEGEN_MIPS32) || defined(JS_CODEGEN_MIPS64)
|
||||
# include "jit/mips-shared/AtomicOperations-mips-shared.h"
|
||||
-#elif defined(__ppc64__) || defined(__PPC64_) \
|
||||
- || defined(__ppc64le__) || defined(__PPC64LE__) \
|
||||
- || defined(__ppc__) || defined(__PPC__)
|
||||
+#elif defined(__ppc__) || defined(__PPC__)
|
||||
# include "jit/none/AtomicOperations-ppc.h"
|
||||
#elif defined(JS_CODEGEN_NONE)
|
||||
-# include "jit/none/AtomicOperations-none.h"
|
||||
+ // You can disable the JIT with --disable-ion but you must still
|
||||
+ // provide the atomic operations that will be used by the JS engine.
|
||||
+ // When the JIT is disabled the operations are simply safe-for-races
|
||||
+ // C++ realizations of atomics. These operations cannot be written
|
||||
+ // in portable C++, hence the default here is to crash. See the
|
||||
+ // top of the file for more guidance.
|
||||
+# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
|
||||
+# include "jit/none/AtomicOperations-ppc.h"
|
||||
+# else
|
||||
+# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
|
||||
+# endif
|
||||
#elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64)
|
||||
# include "jit/x86-shared/AtomicOperations-x86-shared.h"
|
||||
#else
|
||||
# error "Atomic operations must be defined for this platform"
|
||||
#endif
|
||||
|
||||
#endif // jit_AtomicOperations_h
|
||||
|
@ -1,11 +0,0 @@
|
||||
--- a/js/src/jit/AtomicOperations.h 2016-03-12 13:42:27.914524205 -0500
|
||||
+++ b/js/src/jit/AtomicOperations.h 2016-03-12 13:42:15.644573630 -0500
|
||||
@@ -311,6 +311,8 @@
|
||||
// top of the file for more guidance.
|
||||
# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
|
||||
# include "jit/none/AtomicOperations-ppc.h"
|
||||
+# elif defined(__i386__) || defined(__x86_64__)
|
||||
+# include "jit/x86-shared/AtomicOperations-x86-shared.h"
|
||||
# else
|
||||
# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always
|
||||
# endif
|
@ -1,248 +0,0 @@
|
||||
--- a/js/src/jit/AtomicOperations.h 2016-11-08 21:27:30.000000000 +0100
|
||||
+++ b/js/src/jit/AtomicOperations.h 2016-11-08 22:17:59.280251831 +0100
|
||||
@@ -311,6 +311,8 @@
|
||||
// top of the file for more guidance.
|
||||
# if defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
|
||||
# include "jit/none/AtomicOperations-ppc.h"
|
||||
+# elif defined(__ia64__)
|
||||
+# include "jit/none/AtomicOperations-ia64.h"
|
||||
# elif defined(__i386__) || defined(__x86_64__)
|
||||
# include "jit/x86-shared/AtomicOperations-x86-shared.h"
|
||||
# else
|
||||
--- /dev/null
|
||||
+++ b/js/src/jit/none/AtomicOperations-ia64.h 2016-11-08 22:09:41.378809457 +0100
|
||||
@@ -0,0 +1,234 @@
|
||||
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
|
||||
+ * vim: set ts=8 sts=4 et sw=4 tw=99:
|
||||
+ * This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+/* For documentation, see jit/AtomicOperations.h */
|
||||
+
|
||||
+#ifndef jit_ia64_AtomicOperations_ia64_h
|
||||
+#define jit_ia64_AtomicOperations_ia64_h
|
||||
+
|
||||
+#include "mozilla/Assertions.h"
|
||||
+#include "mozilla/Types.h"
|
||||
+
|
||||
+#if defined(__GNUC__)
|
||||
+
|
||||
+// The default implementation tactic for gcc is to use the newer
|
||||
+// __atomic intrinsics added for use in C++11 <atomic>. Where that
|
||||
+// isn't available, we use GCC's older __sync functions instead.
|
||||
+//
|
||||
+// ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS is kept as a backward
|
||||
+// compatible option for older compilers: enable this to use GCC's old
|
||||
+// __sync functions instead of the newer __atomic functions. This
|
||||
+// will be required for GCC 4.6.x and earlier, should we need to use
|
||||
+// those versions.
|
||||
+
|
||||
+//#define ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+
|
||||
+inline bool
|
||||
+js::jit::AtomicOperations::isLockfree8()
|
||||
+{
|
||||
+# ifndef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int8_t), 0));
|
||||
+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int16_t), 0));
|
||||
+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int32_t), 0));
|
||||
+ MOZ_ASSERT(__atomic_always_lock_free(sizeof(int64_t), 0));
|
||||
+ return true;
|
||||
+# else
|
||||
+ return false;
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+inline void
|
||||
+js::jit::AtomicOperations::fenceSeqCst()
|
||||
+{
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ __sync_synchronize();
|
||||
+# else
|
||||
+ __atomic_thread_fence(__ATOMIC_SEQ_CST);
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline T
|
||||
+js::jit::AtomicOperations::loadSeqCst(T* addr)
|
||||
+{
|
||||
+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ __sync_synchronize();
|
||||
+ T v = *addr;
|
||||
+ __sync_synchronize();
|
||||
+# else
|
||||
+ T v;
|
||||
+ __atomic_load(addr, &v, __ATOMIC_SEQ_CST);
|
||||
+# endif
|
||||
+ return v;
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline void
|
||||
+js::jit::AtomicOperations::storeSeqCst(T* addr, T val)
|
||||
+{
|
||||
+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ __sync_synchronize();
|
||||
+ *addr = val;
|
||||
+ __sync_synchronize();
|
||||
+# else
|
||||
+ __atomic_store(addr, &val, __ATOMIC_SEQ_CST);
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline T
|
||||
+js::jit::AtomicOperations::compareExchangeSeqCst(T* addr, T oldval, T newval)
|
||||
+{
|
||||
+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ return __sync_val_compare_and_swap(addr, oldval, newval);
|
||||
+# else
|
||||
+ __atomic_compare_exchange(addr, &oldval, &newval, false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
|
||||
+ return oldval;
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline T
|
||||
+js::jit::AtomicOperations::fetchAddSeqCst(T* addr, T val)
|
||||
+{
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ return __sync_fetch_and_add(addr, val);
|
||||
+# else
|
||||
+ return __atomic_fetch_add(addr, val, __ATOMIC_SEQ_CST);
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline T
|
||||
+js::jit::AtomicOperations::fetchSubSeqCst(T* addr, T val)
|
||||
+{
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ return __sync_fetch_and_sub(addr, val);
|
||||
+# else
|
||||
+ return __atomic_fetch_sub(addr, val, __ATOMIC_SEQ_CST);
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline T
|
||||
+js::jit::AtomicOperations::fetchAndSeqCst(T* addr, T val)
|
||||
+{
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ return __sync_fetch_and_and(addr, val);
|
||||
+# else
|
||||
+ return __atomic_fetch_and(addr, val, __ATOMIC_SEQ_CST);
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline T
|
||||
+js::jit::AtomicOperations::fetchOrSeqCst(T* addr, T val)
|
||||
+{
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ return __sync_fetch_and_or(addr, val);
|
||||
+# else
|
||||
+ return __atomic_fetch_or(addr, val, __ATOMIC_SEQ_CST);
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline T
|
||||
+js::jit::AtomicOperations::fetchXorSeqCst(T* addr, T val)
|
||||
+{
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ return __sync_fetch_and_xor(addr, val);
|
||||
+# else
|
||||
+ return __atomic_fetch_xor(addr, val, __ATOMIC_SEQ_CST);
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline T
|
||||
+js::jit::AtomicOperations::exchangeSeqCst(T* addr, T val)
|
||||
+{
|
||||
+ MOZ_ASSERT(sizeof(T) < 8 || isLockfree8());
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ T v;
|
||||
+ __sync_synchronize();
|
||||
+ do {
|
||||
+ v = *addr;
|
||||
+ } while (__sync_val_compare_and_swap(addr, v, val) != v);
|
||||
+ return v;
|
||||
+# else
|
||||
+ T v;
|
||||
+ __atomic_exchange(addr, &val, &v, __ATOMIC_SEQ_CST);
|
||||
+ return v;
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline T
|
||||
+js::jit::AtomicOperations::loadSafeWhenRacy(T* addr)
|
||||
+{
|
||||
+ return *addr; // FIXME (1208663): not yet safe
|
||||
+}
|
||||
+
|
||||
+template<typename T>
|
||||
+inline void
|
||||
+js::jit::AtomicOperations::storeSafeWhenRacy(T* addr, T val)
|
||||
+{
|
||||
+ *addr = val; // FIXME (1208663): not yet safe
|
||||
+}
|
||||
+
|
||||
+inline void
|
||||
+js::jit::AtomicOperations::memcpySafeWhenRacy(void* dest, const void* src, size_t nbytes)
|
||||
+{
|
||||
+ ::memcpy(dest, src, nbytes); // FIXME (1208663): not yet safe
|
||||
+}
|
||||
+
|
||||
+inline void
|
||||
+js::jit::AtomicOperations::memmoveSafeWhenRacy(void* dest, const void* src, size_t nbytes)
|
||||
+{
|
||||
+ ::memmove(dest, src, nbytes); // FIXME (1208663): not yet safe
|
||||
+}
|
||||
+
|
||||
+template<size_t nbytes>
|
||||
+inline void
|
||||
+js::jit::RegionLock::acquire(void* addr)
|
||||
+{
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ while (!__sync_bool_compare_and_swap(&spinlock, 0, 1))
|
||||
+ ;
|
||||
+# else
|
||||
+ uint32_t zero = 0;
|
||||
+ uint32_t one = 1;
|
||||
+ while (!__atomic_compare_exchange(&spinlock, &zero, &one, false, __ATOMIC_ACQUIRE, __ATOMIC_ACQUIRE)) {
|
||||
+ zero = 0;
|
||||
+ continue;
|
||||
+ }
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+template<size_t nbytes>
|
||||
+inline void
|
||||
+js::jit::RegionLock::release(void* addr)
|
||||
+{
|
||||
+ MOZ_ASSERT(AtomicOperations::loadSeqCst(&spinlock) == 1, "releasing unlocked region lock");
|
||||
+# ifdef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+ __sync_sub_and_fetch(&spinlock, 1);
|
||||
+# else
|
||||
+ uint32_t zero = 0;
|
||||
+ __atomic_store(&spinlock, &zero, __ATOMIC_SEQ_CST);
|
||||
+# endif
|
||||
+}
|
||||
+
|
||||
+# undef ATOMICS_IMPLEMENTED_WITH_SYNC_INTRINSICS
|
||||
+
|
||||
+#elif defined(ENABLE_SHARED_ARRAY_BUFFER)
|
||||
+
|
||||
+# error "Either disable JS shared memory, use GCC, or add code here"
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
+#endif // jit_ia64_AtomicOperations_ia64_h
|
@ -1,32 +0,0 @@
|
||||
From: Jory A. Pratt <anarchy@gentoo.org>
|
||||
|
||||
Note: the first occurrence of :space: is [:space:] (with a single pair
|
||||
of []), where it should be [[:space:]] (with two pairs of []).
|
||||
|
||||
This causes the sed command to fail (with the error message quoted in
|
||||
my original report), driving to failure the whole configure step.
|
||||
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1329252
|
||||
|
||||
diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
|
||||
--- a/build/autoconf/icu.m4
|
||||
+++ b/build/autoconf/icu.m4
|
||||
@@ -68,17 +68,17 @@ if test -n "$USE_ICU"; then
|
||||
icudir="$_topsrcdir/intl/icu/source"
|
||||
if test ! -d "$icudir"; then
|
||||
icudir="$_topsrcdir/../../intl/icu/source"
|
||||
if test ! -d "$icudir"; then
|
||||
AC_MSG_ERROR([Cannot find the ICU directory])
|
||||
fi
|
||||
fi
|
||||
|
||||
- version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
|
||||
+ version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
|
||||
if test x"$version" = x; then
|
||||
AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
|
||||
fi
|
||||
MOZ_ICU_VERSION="$version"
|
||||
|
||||
if test "$OS_TARGET" = WINNT; then
|
||||
MOZ_SHARED_ICU=1
|
||||
fi
|
@ -1,32 +0,0 @@
|
||||
From: Jory A. Pratt <anarchy@gentoo.org>
|
||||
|
||||
Note: the first occurrence of :space: is [:space:] (with a single pair
|
||||
of []), where it should be [[:space:]] (with two pairs of []).
|
||||
|
||||
This causes the sed command to fail (with the error message quoted in
|
||||
my original report), driving to failure the whole configure step.
|
||||
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1329252
|
||||
|
||||
diff --git a/build/autoconf/icu.m4 b/build/autoconf/icu.m4
|
||||
--- a/build/autoconf/icu.m4
|
||||
+++ b/build/autoconf/icu.m4
|
||||
@@ -68,17 +68,17 @@
|
||||
icudir="$_topsrcdir/intl/icu/source"
|
||||
if test ! -d "$icudir"; then
|
||||
icudir="$_topsrcdir/../../intl/icu/source"
|
||||
if test ! -d "$icudir"; then
|
||||
AC_MSG_ERROR([Cannot find the ICU directory])
|
||||
fi
|
||||
fi
|
||||
|
||||
- version=`sed -n 's/^[[:space:]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
|
||||
+ version=`sed -n 's/^[[[:space:]]]*#[[:space:]]*define[[:space:]][[:space:]]*U_ICU_VERSION_MAJOR_NUM[[:space:]][[:space:]]*\([0-9][0-9]*\)[[:space:]]*$/\1/p' "$icudir/common/unicode/uvernum.h"`
|
||||
if test x"$version" = x; then
|
||||
AC_MSG_ERROR([cannot determine icu version number from uvernum.h header file $lineno])
|
||||
fi
|
||||
MOZ_ICU_VERSION="$version"
|
||||
|
||||
if test -z "${JS_STANDALONE}" -a -n "${JS_SHARED_LIBRARY}${MOZ_NATIVE_ICU}"; then
|
||||
MOZ_SHARED_ICU=1
|
||||
fi
|
@ -1,124 +0,0 @@
|
||||
from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-1269317.patch
|
||||
|
||||
--- a/js/src/jit/RegisterSets.h 2017-02-10 17:33:06.210702431 -0800
|
||||
+++ b/js/src/jit/RegisterSets.h 2017-02-10 17:43:52.877514146 -0800
|
||||
@@ -7,7 +7,6 @@
|
||||
#ifndef jit_RegisterSets_h
|
||||
#define jit_RegisterSets_h
|
||||
|
||||
-#include "mozilla/Alignment.h"
|
||||
#include "mozilla/MathAlgorithms.h"
|
||||
|
||||
#include "jit/JitAllocPolicy.h"
|
||||
@@ -26,8 +25,8 @@
|
||||
Code code_;
|
||||
|
||||
public:
|
||||
- AnyRegister()
|
||||
- { }
|
||||
+ AnyRegister() = default;
|
||||
+
|
||||
explicit AnyRegister(Register gpr) {
|
||||
code_ = gpr.code();
|
||||
}
|
||||
@@ -156,7 +155,7 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
- ValueOperand() {}
|
||||
+ ValueOperand() = default;
|
||||
};
|
||||
|
||||
// Registers to hold either either a typed or untyped value.
|
||||
@@ -165,46 +164,25 @@
|
||||
// Type of value being stored.
|
||||
MIRType type_;
|
||||
|
||||
- // Space to hold either an AnyRegister or a ValueOperand.
|
||||
union U {
|
||||
- mozilla::AlignedStorage2<AnyRegister> typed;
|
||||
- mozilla::AlignedStorage2<ValueOperand> value;
|
||||
+ AnyRegister typed;
|
||||
+ ValueOperand value;
|
||||
} data;
|
||||
|
||||
- AnyRegister& dataTyped() {
|
||||
- MOZ_ASSERT(hasTyped());
|
||||
- return *data.typed.addr();
|
||||
- }
|
||||
- ValueOperand& dataValue() {
|
||||
- MOZ_ASSERT(hasValue());
|
||||
- return *data.value.addr();
|
||||
- }
|
||||
-
|
||||
- AnyRegister dataTyped() const {
|
||||
- MOZ_ASSERT(hasTyped());
|
||||
- return *data.typed.addr();
|
||||
- }
|
||||
- const ValueOperand& dataValue() const {
|
||||
- MOZ_ASSERT(hasValue());
|
||||
- return *data.value.addr();
|
||||
- }
|
||||
-
|
||||
public:
|
||||
|
||||
- TypedOrValueRegister()
|
||||
- : type_(MIRType_None)
|
||||
- {}
|
||||
+ TypedOrValueRegister() = default;
|
||||
|
||||
TypedOrValueRegister(MIRType type, AnyRegister reg)
|
||||
: type_(type)
|
||||
{
|
||||
- dataTyped() = reg;
|
||||
+ data.typed = reg;
|
||||
}
|
||||
|
||||
MOZ_IMPLICIT TypedOrValueRegister(ValueOperand value)
|
||||
: type_(MIRType_Value)
|
||||
{
|
||||
- dataValue() = value;
|
||||
+ data.value = value;
|
||||
}
|
||||
|
||||
MIRType type() const {
|
||||
@@ -220,11 +198,13 @@
|
||||
}
|
||||
|
||||
AnyRegister typedReg() const {
|
||||
- return dataTyped();
|
||||
+ MOZ_ASSERT(hasTyped());
|
||||
+ return data.typed;
|
||||
}
|
||||
|
||||
ValueOperand valueReg() const {
|
||||
- return dataValue();
|
||||
+ MOZ_ASSERT(hasValue());
|
||||
+ return data.value;
|
||||
}
|
||||
|
||||
AnyRegister scratchReg() {
|
||||
@@ -240,19 +220,18 @@
|
||||
// Whether a constant value is being stored.
|
||||
bool constant_;
|
||||
|
||||
- // Space to hold either a Value or a TypedOrValueRegister.
|
||||
union U {
|
||||
- mozilla::AlignedStorage2<Value> constant;
|
||||
- mozilla::AlignedStorage2<TypedOrValueRegister> reg;
|
||||
+ Value constant;
|
||||
+ TypedOrValueRegister reg;
|
||||
} data;
|
||||
|
||||
Value& dataValue() {
|
||||
MOZ_ASSERT(constant());
|
||||
- return *data.constant.addr();
|
||||
+ return data.constant;
|
||||
}
|
||||
TypedOrValueRegister& dataReg() {
|
||||
MOZ_ASSERT(!constant());
|
||||
- return *data.reg.addr();
|
||||
+ return data.reg;
|
||||
}
|
||||
|
||||
public:
|
@ -1,20 +0,0 @@
|
||||
Description: Copy headers on install instead of symlinking
|
||||
Author: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2014-10-29
|
||||
|
||||
---
|
||||
|
||||
Index: b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||
===================================================================
|
||||
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||
@@ -796,7 +796,7 @@
|
||||
return
|
||||
|
||||
for source, dest, _ in self._walk_hierarchy(obj, exports):
|
||||
- self._install_manifests['dist_include'].add_symlink(source, dest)
|
||||
+ self._install_manifests['dist_include'].add_copy(source, dest)
|
||||
|
||||
if not os.path.exists(source):
|
||||
raise Exception('File listed in EXPORTS does not exist: %s' % source)
|
@ -1,605 +0,0 @@
|
||||
from https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-fix-tracelogger.patch
|
||||
|
||||
# === Fix the SM38 tracelogger ===
|
||||
# This patch is a squashed version of several patches that were adapted
|
||||
# to fix failing hunks.
|
||||
#
|
||||
# Applied in the following order, they are:
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223767
|
||||
# Assertion failure: i < size_, at js/src/vm/TraceLoggingTypes.h:210
|
||||
# Also fix stop-information to make reduce.py work correctly.
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227914
|
||||
# Limit the memory tracelogger can take.
|
||||
# This causes tracelogger to flush data to the disk regularly and prevents out of
|
||||
# memory issues if a lot of data gets logged.
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1155618
|
||||
# Fix tracelogger destructor that touches possibly uninitialised hash table.
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223636
|
||||
# Don't treat extraTextId as containing only extra ids.
|
||||
# This fixes an assertion failure: id == nextTextId at js/src/vm/TraceLoggingGraph.cpp
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227028
|
||||
# Fix when to keep the payload of a TraceLogger event.
|
||||
# This fixes an assertion failure: textId < uint32_t(1 << 31) at js/src/vm/TraceLoggingGraph.h
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1266649
|
||||
# Handle failing to add to pointermap gracefully.
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1280648
|
||||
# Don't cache based on pointers to movable GC things.
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1224123
|
||||
# Fix the use of LastEntryId in tracelogger.h.
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1231170
|
||||
# Use size in debugger instead of the current id to track last logged item.
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1221844
|
||||
# Move TraceLogger_Invalidation to LOG_ITEM.
|
||||
# Add some debug checks to logTimestamp.
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1255766
|
||||
# Also mark resizing of memory.
|
||||
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1259403
|
||||
# Only increase capacity by multiples of 2.
|
||||
# Always make sure there are 3 free slots for events.
|
||||
# ===
|
||||
|
||||
diff --git a/js/src/jit-test/tests/tracelogger/bug1231170.js b/js/src/jit-test/tests/tracelogger/bug1231170.js
|
||||
new file mode 100644
|
||||
index 0000000..023e93e
|
||||
--- /dev/null
|
||||
+++ b/js/src/jit-test/tests/tracelogger/bug1231170.js
|
||||
@@ -0,0 +1,3 @@
|
||||
+var du = new Debugger();
|
||||
+if (typeof du.drainTraceLogger === "function")
|
||||
+ du.drainTraceLogger();
|
||||
diff --git a/js/src/jit-test/tests/tracelogger/bug1266649.js b/js/src/jit-test/tests/tracelogger/bug1266649.js
|
||||
new file mode 100644
|
||||
index 0000000..81ae7ad
|
||||
--- /dev/null
|
||||
+++ b/js/src/jit-test/tests/tracelogger/bug1266649.js
|
||||
@@ -0,0 +1,10 @@
|
||||
+
|
||||
+var du = new Debugger();
|
||||
+if (typeof du.setupTraceLogger === "function" &&
|
||||
+ typeof oomTest === 'function')
|
||||
+{
|
||||
+ du.setupTraceLogger({
|
||||
+ Scripts: true
|
||||
+ })
|
||||
+ oomTest(() => function(){});
|
||||
+}
|
||||
diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp
|
||||
index 93e2fda..09049d6 100644
|
||||
--- a/js/src/jit/Ion.cpp
|
||||
+++ b/js/src/jit/Ion.cpp
|
||||
@@ -1055,6 +1055,8 @@ IonScript::Destroy(FreeOp* fop, IonScript* script)
|
||||
|
||||
script->destroyCaches();
|
||||
script->unlinkFromRuntime(fop);
|
||||
+ // Frees the potential event we have set.
|
||||
+ script->traceLoggerScriptEvent_ = TraceLoggerEvent();
|
||||
fop->free_(script);
|
||||
}
|
||||
|
||||
diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp
|
||||
index 26262fd..af7f313 100644
|
||||
--- a/js/src/vm/Debugger.cpp
|
||||
+++ b/js/src/vm/Debugger.cpp
|
||||
@@ -369,10 +369,10 @@ Debugger::Debugger(JSContext* cx, NativeObject* dbg)
|
||||
objects(cx),
|
||||
environments(cx),
|
||||
#ifdef NIGHTLY_BUILD
|
||||
- traceLoggerLastDrainedId(0),
|
||||
+ traceLoggerLastDrainedSize(0),
|
||||
traceLoggerLastDrainedIteration(0),
|
||||
#endif
|
||||
- traceLoggerScriptedCallsLastDrainedId(0),
|
||||
+ traceLoggerScriptedCallsLastDrainedSize(0),
|
||||
traceLoggerScriptedCallsLastDrainedIteration(0)
|
||||
{
|
||||
assertSameCompartment(cx, dbg);
|
||||
@@ -3907,9 +3907,9 @@ Debugger::drainTraceLogger(JSContext* cx, unsigned argc, Value* vp)
|
||||
size_t num;
|
||||
TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
|
||||
bool lostEvents = logger->lostEvents(dbg->traceLoggerLastDrainedIteration,
|
||||
- dbg->traceLoggerLastDrainedId);
|
||||
+ dbg->traceLoggerLastDrainedSize);
|
||||
EventEntry* events = logger->getEventsStartingAt(&dbg->traceLoggerLastDrainedIteration,
|
||||
- &dbg->traceLoggerLastDrainedId,
|
||||
+ &dbg->traceLoggerLastDrainedSize,
|
||||
&num);
|
||||
|
||||
RootedObject array(cx, NewDenseEmptyArray(cx));
|
||||
@@ -4002,10 +4002,10 @@ Debugger::drainTraceLoggerScriptCalls(JSContext* cx, unsigned argc, Value* vp)
|
||||
size_t num;
|
||||
TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
|
||||
bool lostEvents = logger->lostEvents(dbg->traceLoggerScriptedCallsLastDrainedIteration,
|
||||
- dbg->traceLoggerScriptedCallsLastDrainedId);
|
||||
+ dbg->traceLoggerScriptedCallsLastDrainedSize);
|
||||
EventEntry* events = logger->getEventsStartingAt(
|
||||
&dbg->traceLoggerScriptedCallsLastDrainedIteration,
|
||||
- &dbg->traceLoggerScriptedCallsLastDrainedId,
|
||||
+ &dbg->traceLoggerScriptedCallsLastDrainedSize,
|
||||
&num);
|
||||
|
||||
RootedObject array(cx, NewDenseEmptyArray(cx));
|
||||
diff --git a/js/src/vm/Debugger.h b/js/src/vm/Debugger.h
|
||||
index 8cac36a..c92d685 100644
|
||||
--- a/js/src/vm/Debugger.h
|
||||
+++ b/js/src/vm/Debugger.h
|
||||
@@ -314,10 +314,10 @@ class Debugger : private mozilla::LinkedListElement<Debugger>
|
||||
* lost events.
|
||||
*/
|
||||
#ifdef NIGHTLY_BUILD
|
||||
- uint32_t traceLoggerLastDrainedId;
|
||||
+ uint32_t traceLoggerLastDrainedSize;
|
||||
uint32_t traceLoggerLastDrainedIteration;
|
||||
#endif
|
||||
- uint32_t traceLoggerScriptedCallsLastDrainedId;
|
||||
+ uint32_t traceLoggerScriptedCallsLastDrainedSize;
|
||||
uint32_t traceLoggerScriptedCallsLastDrainedIteration;
|
||||
|
||||
class FrameRange;
|
||||
diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp
|
||||
index 6715b36..9766a6f 100644
|
||||
--- a/js/src/vm/TraceLogging.cpp
|
||||
+++ b/js/src/vm/TraceLogging.cpp
|
||||
@@ -131,7 +131,7 @@ TraceLoggerThread::init()
|
||||
{
|
||||
if (!pointerMap.init())
|
||||
return false;
|
||||
- if (!extraTextId.init())
|
||||
+ if (!textIdPayloads.init())
|
||||
return false;
|
||||
if (!events.init())
|
||||
return false;
|
||||
@@ -185,10 +185,10 @@ TraceLoggerThread::~TraceLoggerThread()
|
||||
graph = nullptr;
|
||||
}
|
||||
|
||||
- for (TextIdHashMap::Range r = extraTextId.all(); !r.empty(); r.popFront())
|
||||
- js_delete(r.front().value());
|
||||
- extraTextId.finish();
|
||||
- pointerMap.finish();
|
||||
+ if (textIdPayloads.initialized()) {
|
||||
+ for (TextIdHashMap::Range r = textIdPayloads.all(); !r.empty(); r.popFront())
|
||||
+ js_delete(r.front().value());
|
||||
+ }
|
||||
}
|
||||
|
||||
bool
|
||||
@@ -287,7 +287,7 @@ TraceLoggerThread::eventText(uint32_t id)
|
||||
if (id < TraceLogger_Last)
|
||||
return TLTextIdString(static_cast<TraceLoggerTextId>(id));
|
||||
|
||||
- TextIdHashMap::Ptr p = extraTextId.lookup(id);
|
||||
+ TextIdHashMap::Ptr p = textIdPayloads.lookup(id);
|
||||
MOZ_ASSERT(p);
|
||||
|
||||
return p->value()->string();
|
||||
@@ -341,13 +341,15 @@ TraceLoggerThread::extractScriptDetails(uint32_t textId, const char** filename,
|
||||
TraceLoggerEventPayload*
|
||||
TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId textId)
|
||||
{
|
||||
- TextIdHashMap::AddPtr p = extraTextId.lookupForAdd(textId);
|
||||
- if (p)
|
||||
+ TextIdHashMap::AddPtr p = textIdPayloads.lookupForAdd(textId);
|
||||
+ if (p) {
|
||||
+ MOZ_ASSERT(p->value()->textId() == textId); // Sanity check.
|
||||
return p->value();
|
||||
+ }
|
||||
|
||||
TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, (char*)nullptr);
|
||||
|
||||
- if (!extraTextId.add(p, textId, payload))
|
||||
+ if (!textIdPayloads.add(p, textId, payload))
|
||||
return nullptr;
|
||||
|
||||
return payload;
|
||||
@@ -357,8 +359,10 @@ TraceLoggerEventPayload*
|
||||
TraceLoggerThread::getOrCreateEventPayload(const char* text)
|
||||
{
|
||||
PointerHashMap::AddPtr p = pointerMap.lookupForAdd((const void*)text);
|
||||
- if (p)
|
||||
+ if (p) {
|
||||
+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
|
||||
return p->value();
|
||||
+ }
|
||||
|
||||
size_t len = strlen(text);
|
||||
char* str = js_pod_malloc<char>(len + 1);
|
||||
@@ -369,7 +373,7 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
|
||||
MOZ_ASSERT(ret == len);
|
||||
MOZ_ASSERT(strlen(str) == len);
|
||||
|
||||
- uint32_t textId = extraTextId.count() + TraceLogger_Last;
|
||||
+ uint32_t textId = nextTextId;
|
||||
|
||||
TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
|
||||
if (!payload) {
|
||||
@@ -377,17 +381,19 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
- if (!extraTextId.putNew(textId, payload)) {
|
||||
+ if (!textIdPayloads.putNew(textId, payload)) {
|
||||
js_delete(payload);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
- if (!pointerMap.add(p, text, payload))
|
||||
- return nullptr;
|
||||
-
|
||||
if (graph.get())
|
||||
graph->addTextId(textId, str);
|
||||
|
||||
+ nextTextId++;
|
||||
+
|
||||
+ if (!pointerMap.add(p, text, payload))
|
||||
+ return nullptr;
|
||||
+
|
||||
return payload;
|
||||
}
|
||||
|
||||
@@ -407,9 +413,14 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
|
||||
if (!traceLoggerState->isTextIdEnabled(type))
|
||||
return getOrCreateEventPayload(type);
|
||||
|
||||
- PointerHashMap::AddPtr p = pointerMap.lookupForAdd(ptr);
|
||||
- if (p)
|
||||
- return p->value();
|
||||
+ PointerHashMap::AddPtr p;
|
||||
+ if (ptr) {
|
||||
+ p = pointerMap.lookupForAdd(ptr);
|
||||
+ if (p) {
|
||||
+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
|
||||
+ return p->value();
|
||||
+ }
|
||||
+ }
|
||||
|
||||
// Compute the length of the string to create.
|
||||
size_t lenFilename = strlen(filename);
|
||||
@@ -428,24 +439,28 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
|
||||
MOZ_ASSERT(ret == len);
|
||||
MOZ_ASSERT(strlen(str) == len);
|
||||
|
||||
- uint32_t textId = extraTextId.count() + TraceLogger_Last;
|
||||
+ uint32_t textId = nextTextId;
|
||||
TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
|
||||
if (!payload) {
|
||||
js_free(str);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
- if (!extraTextId.putNew(textId, payload)) {
|
||||
+ if (!textIdPayloads.putNew(textId, payload)) {
|
||||
js_delete(payload);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
- if (!pointerMap.add(p, ptr, payload))
|
||||
- return nullptr;
|
||||
-
|
||||
if (graph.get())
|
||||
graph->addTextId(textId, str);
|
||||
|
||||
+ nextTextId++;
|
||||
+
|
||||
+ if (ptr) {
|
||||
+ if (!pointerMap.add(p, ptr, payload))
|
||||
+ return nullptr;
|
||||
+ }
|
||||
+
|
||||
return payload;
|
||||
}
|
||||
|
||||
@@ -453,14 +468,14 @@ TraceLoggerEventPayload*
|
||||
TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, JSScript* script)
|
||||
{
|
||||
return getOrCreateEventPayload(type, script->filename(), script->lineno(), script->column(),
|
||||
- script);
|
||||
+ nullptr);
|
||||
}
|
||||
|
||||
TraceLoggerEventPayload*
|
||||
TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type,
|
||||
const JS::ReadOnlyCompileOptions& script)
|
||||
{
|
||||
- return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, &script);
|
||||
+ return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, nullptr);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -485,7 +500,7 @@ TraceLoggerThread::startEvent(uint32_t id)
|
||||
if (!traceLoggerState->isTextIdEnabled(id))
|
||||
return;
|
||||
|
||||
- logTimestamp(id);
|
||||
+ log(id);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -510,7 +525,7 @@ TraceLoggerThread::stopEvent(uint32_t id)
|
||||
if (!traceLoggerState->isTextIdEnabled(id))
|
||||
return;
|
||||
|
||||
- logTimestamp(TraceLogger_Stop);
|
||||
+ log(TraceLogger_Stop);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -522,23 +537,57 @@ TraceLoggerThread::logTimestamp(TraceLoggerTextId id)
|
||||
void
|
||||
TraceLoggerThread::logTimestamp(uint32_t id)
|
||||
{
|
||||
+ MOZ_ASSERT(id > TraceLogger_LastTreeItem && id < TraceLogger_Last);
|
||||
+ log(id);
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+TraceLoggerThread::log(uint32_t id)
|
||||
+{
|
||||
if (enabled == 0)
|
||||
return;
|
||||
|
||||
MOZ_ASSERT(traceLoggerState);
|
||||
- if (!events.ensureSpaceBeforeAdd()) {
|
||||
+
|
||||
+ // We request for 3 items to add, since if we don't have enough room
|
||||
+ // we record the time it took to make more place. To log this information
|
||||
+ // we need 2 extra free entries.
|
||||
+ if (!events.hasSpaceForAdd(3)) {
|
||||
uint64_t start = rdtsc() - traceLoggerState->startupTime;
|
||||
|
||||
- if (graph.get())
|
||||
- graph->log(events);
|
||||
+ if (!events.ensureSpaceBeforeAdd(3)) {
|
||||
+ if (graph.get())
|
||||
+ graph->log(events);
|
||||
+
|
||||
+ iteration_++;
|
||||
+ events.clear();
|
||||
+
|
||||
+ // Remove the item in the pointerMap for which the payloads
|
||||
+ // have no uses anymore
|
||||
+ for (PointerHashMap::Enum e(pointerMap); !e.empty(); e.popFront()) {
|
||||
+ if (e.front().value()->uses() != 0)
|
||||
+ continue;
|
||||
+
|
||||
+ TextIdHashMap::Ptr p = textIdPayloads.lookup(e.front().value()->textId());
|
||||
+ MOZ_ASSERT(p);
|
||||
+ textIdPayloads.remove(p);
|
||||
+
|
||||
+ e.removeFront();
|
||||
+ }
|
||||
|
||||
- iteration_++;
|
||||
- events.clear();
|
||||
+ // Free all payloads that have no uses anymore.
|
||||
+ for (TextIdHashMap::Enum e(textIdPayloads); !e.empty(); e.popFront()) {
|
||||
+ if (e.front().value()->uses() == 0) {
|
||||
+ js_delete(e.front().value());
|
||||
+ e.removeFront();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
|
||||
// Log the time it took to flush the events as being from the
|
||||
// Tracelogger.
|
||||
if (graph.get()) {
|
||||
- MOZ_ASSERT(events.capacity() > 2);
|
||||
+ MOZ_ASSERT(events.hasSpaceForAdd(2));
|
||||
EventEntry& entryStart = events.pushUninitialized();
|
||||
entryStart.time = start;
|
||||
entryStart.textId = TraceLogger_Internal;
|
||||
@@ -548,13 +597,6 @@ TraceLoggerThread::logTimestamp(uint32_t id)
|
||||
entryStop.textId = TraceLogger_Stop;
|
||||
}
|
||||
|
||||
- // Free all TextEvents that have no uses anymore.
|
||||
- for (TextIdHashMap::Enum e(extraTextId); !e.empty(); e.popFront()) {
|
||||
- if (e.front().value()->uses() == 0) {
|
||||
- js_delete(e.front().value());
|
||||
- e.removeFront();
|
||||
- }
|
||||
- }
|
||||
}
|
||||
|
||||
uint64_t time = rdtsc() - traceLoggerState->startupTime;
|
||||
@@ -956,3 +998,16 @@ TraceLoggerEvent::~TraceLoggerEvent()
|
||||
if (payload_)
|
||||
payload_->release();
|
||||
}
|
||||
+
|
||||
+TraceLoggerEvent&
|
||||
+TraceLoggerEvent::operator=(const TraceLoggerEvent& other)
|
||||
+{
|
||||
+ if (hasPayload())
|
||||
+ payload()->release();
|
||||
+ if (other.hasPayload())
|
||||
+ other.payload()->use();
|
||||
+
|
||||
+ payload_ = other.payload_;
|
||||
+
|
||||
+ return *this;
|
||||
+}
|
||||
diff --git a/js/src/vm/TraceLogging.h b/js/src/vm/TraceLogging.h
|
||||
index a124dcb..91a1eb0 100644
|
||||
--- a/js/src/vm/TraceLogging.h
|
||||
+++ b/js/src/vm/TraceLogging.h
|
||||
@@ -110,6 +110,9 @@ class TraceLoggerEvent {
|
||||
bool hasPayload() const {
|
||||
return !!payload_;
|
||||
}
|
||||
+
|
||||
+ TraceLoggerEvent& operator=(const TraceLoggerEvent& other);
|
||||
+ TraceLoggerEvent(const TraceLoggerEvent& event) = delete;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -130,6 +133,10 @@ class TraceLoggerEventPayload {
|
||||
uses_(0)
|
||||
{ }
|
||||
|
||||
+ ~TraceLoggerEventPayload() {
|
||||
+ MOZ_ASSERT(uses_ == 0);
|
||||
+ }
|
||||
+
|
||||
uint32_t textId() {
|
||||
return textId_;
|
||||
}
|
||||
@@ -166,7 +173,8 @@ class TraceLoggerThread
|
||||
mozilla::UniquePtr<TraceLoggerGraph> graph;
|
||||
|
||||
PointerHashMap pointerMap;
|
||||
- TextIdHashMap extraTextId;
|
||||
+ TextIdHashMap textIdPayloads;
|
||||
+ uint32_t nextTextId;
|
||||
|
||||
ContinuousSpace<EventEntry> events;
|
||||
|
||||
@@ -181,6 +189,7 @@ class TraceLoggerThread
|
||||
: enabled(0),
|
||||
failed(false),
|
||||
graph(),
|
||||
+ nextTextId(TraceLogger_Last),
|
||||
iteration_(0),
|
||||
top(nullptr)
|
||||
{ }
|
||||
@@ -195,22 +204,22 @@ class TraceLoggerThread
|
||||
bool enable(JSContext* cx);
|
||||
bool disable();
|
||||
|
||||
- // Given the previous iteration and lastEntryId, return an array of events
|
||||
+ // Given the previous iteration and size, return an array of events
|
||||
// (there could be lost events). At the same time update the iteration and
|
||||
- // lastEntry and gives back how many events there are.
|
||||
- EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastEntryId, size_t* num) {
|
||||
+ // size and gives back how many events there are.
|
||||
+ EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastSize, size_t* num) {
|
||||
EventEntry* start;
|
||||
if (iteration_ == *lastIteration) {
|
||||
- MOZ_ASSERT(events.lastEntryId() >= *lastEntryId);
|
||||
- *num = events.lastEntryId() - *lastEntryId;
|
||||
- start = events.data() + *lastEntryId + 1;
|
||||
+ MOZ_ASSERT(*lastSize <= events.size());
|
||||
+ *num = events.size() - *lastSize;
|
||||
+ start = events.data() + *lastSize;
|
||||
} else {
|
||||
- *num = events.lastEntryId() + 1;
|
||||
+ *num = events.size();
|
||||
start = events.data();
|
||||
}
|
||||
|
||||
*lastIteration = iteration_;
|
||||
- *lastEntryId = events.lastEntryId();
|
||||
+ *lastSize = events.size();
|
||||
return start;
|
||||
}
|
||||
|
||||
@@ -220,16 +229,16 @@ class TraceLoggerThread
|
||||
const char** lineno, size_t* lineno_len, const char** colno,
|
||||
size_t* colno_len);
|
||||
|
||||
- bool lostEvents(uint32_t lastIteration, uint32_t lastEntryId) {
|
||||
+ bool lostEvents(uint32_t lastIteration, uint32_t lastSize) {
|
||||
// If still logging in the same iteration, there are no lost events.
|
||||
if (lastIteration == iteration_) {
|
||||
- MOZ_ASSERT(lastEntryId <= events.lastEntryId());
|
||||
+ MOZ_ASSERT(lastSize <= events.size());
|
||||
return false;
|
||||
}
|
||||
|
||||
- // When proceeded to the next iteration and lastEntryId points to
|
||||
- // the maximum capacity there are no logs that are lost.
|
||||
- if (lastIteration + 1 == iteration_ && lastEntryId == events.capacity())
|
||||
+ // If we are in a consecutive iteration we are only sure we didn't lose any events,
|
||||
+ // when the lastSize equals the maximum size 'events' can get.
|
||||
+ if (lastIteration == iteration_ - 1 && lastSize == events.maxSize())
|
||||
return false;
|
||||
|
||||
return true;
|
||||
@@ -268,6 +277,7 @@ class TraceLoggerThread
|
||||
void stopEvent(uint32_t id);
|
||||
private:
|
||||
void stopEvent();
|
||||
+ void log(uint32_t id);
|
||||
|
||||
public:
|
||||
static unsigned offsetOfEnabled() {
|
||||
diff --git a/js/src/vm/TraceLoggingGraph.cpp b/js/src/vm/TraceLoggingGraph.cpp
|
||||
index d1b7f2e..a4eb273 100644
|
||||
--- a/js/src/vm/TraceLoggingGraph.cpp
|
||||
+++ b/js/src/vm/TraceLoggingGraph.cpp
|
||||
@@ -276,7 +276,7 @@ TraceLoggerGraph::flush()
|
||||
if (bytesWritten < tree.size())
|
||||
return false;
|
||||
|
||||
- treeOffset += tree.lastEntryId();
|
||||
+ treeOffset += tree.size();
|
||||
tree.clear();
|
||||
}
|
||||
|
||||
@@ -359,7 +359,7 @@ TraceLoggerGraph::startEventInternal(uint32_t id, uint64_t timestamp)
|
||||
|
||||
if (parent.lastChildId() == 0) {
|
||||
MOZ_ASSERT(!entry.hasChildren());
|
||||
- MOZ_ASSERT(parent.treeId() == tree.lastEntryId() + treeOffset);
|
||||
+ MOZ_ASSERT(parent.treeId() == treeOffset + tree.size() - 1);
|
||||
|
||||
if (!updateHasChildren(parent.treeId()))
|
||||
return false;
|
||||
diff --git a/js/src/vm/TraceLoggingTypes.h b/js/src/vm/TraceLoggingTypes.h
|
||||
index f1c9d0c..10b76d6 100644
|
||||
--- a/js/src/vm/TraceLoggingTypes.h
|
||||
+++ b/js/src/vm/TraceLoggingTypes.h
|
||||
@@ -21,7 +21,6 @@
|
||||
_(Internal) \
|
||||
_(Interpreter) \
|
||||
_(InlinedScripts) \
|
||||
- _(Invalidation) \
|
||||
_(IonCompilation) \
|
||||
_(IonCompilationPaused) \
|
||||
_(IonLinking) \
|
||||
@@ -60,6 +59,7 @@
|
||||
|
||||
#define TRACELOGGER_LOG_ITEMS(_) \
|
||||
_(Bailout) \
|
||||
+ _(Invalidation) \
|
||||
_(Disable) \
|
||||
_(Enable) \
|
||||
_(Stop)
|
||||
@@ -130,6 +130,9 @@ class ContinuousSpace {
|
||||
uint32_t size_;
|
||||
uint32_t capacity_;
|
||||
|
||||
+ // The maximum amount of ram memory a continuous space structure can take (in bytes).
|
||||
+ static const uint32_t LIMIT = 200 * 1024 * 1024;
|
||||
+
|
||||
public:
|
||||
ContinuousSpace ()
|
||||
: data_(nullptr)
|
||||
@@ -151,6 +154,10 @@ class ContinuousSpace {
|
||||
data_ = nullptr;
|
||||
}
|
||||
|
||||
+ static uint32_t maxSize() {
|
||||
+ return LIMIT / sizeof(T);
|
||||
+ }
|
||||
+
|
||||
T* data() {
|
||||
return data_;
|
||||
}
|
||||
@@ -187,11 +194,14 @@ class ContinuousSpace {
|
||||
if (hasSpaceForAdd(count))
|
||||
return true;
|
||||
|
||||
+ // Limit the size of a continuous buffer.
|
||||
+ if (size_ + count > maxSize())
|
||||
+ return false;
|
||||
+
|
||||
uint32_t nCapacity = capacity_ * 2;
|
||||
- if (size_ + count > nCapacity)
|
||||
- nCapacity = size_ + count;
|
||||
- T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
|
||||
+ nCapacity = (nCapacity < maxSize()) ? nCapacity : maxSize();
|
||||
|
||||
+ T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
|
||||
if (!entries)
|
||||
return false;
|
||||
|
@ -1,22 +0,0 @@
|
||||
Add major version to pkg-config filename.
|
||||
Author: Rico Tzschichholz <ricotz@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2015-05-04
|
||||
|
||||
Index: b/js/src/Makefile.in
|
||||
===================================================================
|
||||
--- a/js/src/Makefile.in
|
||||
+++ b/js/src/Makefile.in
|
||||
@@ -214,10 +214,10 @@
|
||||
$(JS_CONFIG_NAME): js-config
|
||||
cp $^ $@
|
||||
|
||||
-$(LIBRARY_NAME).pc: js.pc
|
||||
+$(JS_LIBRARY_NAME).pc: js.pc
|
||||
cp $^ $@
|
||||
|
||||
-install:: $(LIBRARY_NAME).pc
|
||||
+install:: $(JS_LIBRARY_NAME).pc
|
||||
$(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig
|
||||
|
||||
install:: js-config.h
|
@ -1,29 +0,0 @@
|
||||
# HG changeset patch
|
||||
# User Nicolas B. Pierron <nicolas.b.pierron@mozilla.com>
|
||||
|
||||
Bug 1266366 - Add branch64 functions to the none-backend MacroAssembler. r=
|
||||
|
||||
diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h
|
||||
index 512ae81..4441d8d 100644
|
||||
--- a/js/src/jit/none/MacroAssembler-none.h
|
||||
+++ b/js/src/jit/none/MacroAssembler-none.h
|
||||
@@ -254,16 +254,18 @@ class MacroAssemblerNone : public Assembler
|
||||
template <typename T, typename S> void branchSub32(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void branchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void branchTestPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void branchDouble(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void branchFloat(DoubleCondition, T, S, Label*) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void branchPrivatePtr(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void decBranchPtr(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void branchTest64(Condition, T, T, S, Label*) { MOZ_CRASH(); }
|
||||
+ template <typename T, typename S> void branch64(Condition, T, S, Label*) { MOZ_CRASH(); }
|
||||
+ template <typename T, typename S> void branch64(Condition, T, T, S, Label*) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void mov(T, S) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void movq(T, S) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void movePtr(T, S) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void move32(T, S) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void moveFloat32(T, S) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void moveDouble(T, S) { MOZ_CRASH(); }
|
||||
template <typename T, typename S> void move64(T, S) { MOZ_CRASH(); }
|
||||
template <typename T> CodeOffset movWithPatch(T, Register) { MOZ_CRASH(); }
|
||||
|
@ -1,138 +0,0 @@
|
||||
--- js/src/Makefile.ref
|
||||
+++ js/src/Makefile.ref
|
||||
@@ -127,7 +127,7 @@ endif
|
||||
ifdef JS_READLINE
|
||||
# For those platforms with the readline library installed.
|
||||
DEFINES += -DEDITLINE
|
||||
-PROG_LIBS += -lreadline -ltermcap
|
||||
+PROG_LIBS += -lreadline
|
||||
else
|
||||
ifdef JS_EDITLINE
|
||||
# Use the editline library, built locally.
|
||||
@@ -370,3 +370,16 @@ TARFILES = files `cat files`
|
||||
SUFFIXES: .i
|
||||
%.i: %.c
|
||||
$(CC) -C -E $(CFLAGS) $< > $*.i
|
||||
+
|
||||
+DESTDIR :=
|
||||
+PREFIX := /usr
|
||||
+BINDIR := $(PREFIX)/bin
|
||||
+MY_LIBDIR := $(PREFIX)/$(LIBDIR)
|
||||
+INCLUDEDIR := $(PREFIX)/include/js
|
||||
+INSTALL := install -g 0 -o root
|
||||
+install:
|
||||
+ $(INSTALL) -m 755 -d $(DESTDIR)$(INCLUDEDIR) $(DESTDIR)$(MY_LIBDIR) $(DESTDIR)$(BINDIR)
|
||||
+ $(INSTALL) -m 755 $(SHARED_LIBRARY) $(DESTDIR)$(MY_LIBDIR)
|
||||
+ $(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(MY_LIBDIR)
|
||||
+ $(INSTALL) -m 755 $(OBJDIR)/js $(OBJDIR)/jscpucfg $(DESTDIR)$(BINDIR)
|
||||
+ $(INSTALL) -m 644 $(HFILES) $(DESTDIR)$(INCLUDEDIR)
|
||||
--- js/src/config/Linux_All.mk
|
||||
+++ js/src/config/Linux_All.mk
|
||||
@@ -41,37 +41,15 @@
|
||||
# Config for all versions of Linux
|
||||
#
|
||||
|
||||
-CC = gcc
|
||||
-CCC = g++
|
||||
CFLAGS += -Wall -Wno-format
|
||||
OS_CFLAGS = -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R
|
||||
|
||||
RANLIB = echo
|
||||
-MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS)
|
||||
+MKSHLIB = $(LD) -shared $(XMKSHLIBOPTS) -soname $(notdir $@)
|
||||
|
||||
#.c.o:
|
||||
# $(CC) -c -MD $*.d $(CFLAGS) $<
|
||||
|
||||
-CPU_ARCH = $(shell uname -m)
|
||||
-# don't filter in x86-64 architecture
|
||||
-ifneq (x86_64,$(CPU_ARCH))
|
||||
-ifeq (86,$(findstring 86,$(CPU_ARCH)))
|
||||
-CPU_ARCH = x86
|
||||
-OS_CFLAGS+= -DX86_LINUX
|
||||
-
|
||||
-ifeq (gcc, $(CC))
|
||||
-# if using gcc on x86, check version for opt bug
|
||||
-# (http://bugzilla.mozilla.org/show_bug.cgi?id=24892)
|
||||
-GCC_VERSION := $(shell gcc -v 2>&1 | grep version | awk '{ print $$3 }')
|
||||
-GCC_LIST:=$(sort 2.91.66 $(GCC_VERSION) )
|
||||
-
|
||||
-ifeq (2.91.66, $(firstword $(GCC_LIST)))
|
||||
-CFLAGS+= -DGCC_OPT_BUG
|
||||
-endif
|
||||
-endif
|
||||
-endif
|
||||
-endif
|
||||
-
|
||||
GFX_ARCH = x
|
||||
|
||||
OS_LIBS = -lm -lc
|
||||
@@ -88,16 +66,6 @@
|
||||
endif
|
||||
|
||||
# Use the editline library to provide line-editing support.
|
||||
-JS_EDITLINE = 1
|
||||
+JS_READLINE = 1
|
||||
|
||||
-ifeq ($(CPU_ARCH),x86_64)
|
||||
-# Use VA_COPY() standard macro on x86-64
|
||||
-# FIXME: better use it everywhere
|
||||
OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy
|
||||
-endif
|
||||
-
|
||||
-ifeq ($(CPU_ARCH),x86_64)
|
||||
-# We need PIC code for shared libraries
|
||||
-# FIXME: better patch rules.mk & fdlibm/Makefile*
|
||||
-OS_CFLAGS += -DPIC -fPIC
|
||||
-endif
|
||||
--- js/src/rules.mk
|
||||
+++ js/src/rules.mk
|
||||
@@ -82,6 +82,10 @@ $(OBJDIR)/%.o: %.c
|
||||
@$(MAKE_OBJDIR)
|
||||
$(CC) -o $@ -c $(CFLAGS) $*.c
|
||||
|
||||
+$(OBJDIR)/%.lo: %.c
|
||||
+ @$(MAKE_OBJDIR)
|
||||
+ $(CC) -o $@ -c $(CFLAGS) $*.c -fPIC
|
||||
+
|
||||
$(OBJDIR)/%.o: %.s
|
||||
@$(MAKE_OBJDIR)
|
||||
$(AS) -o $@ $(ASFLAGS) $*.s
|
||||
@@ -111,11 +115,12 @@ $(SHARED_LIBRARY): $(LIB_OBJS)
|
||||
/implib:"$(OBJDIR)/$(@F:.dll=.lib)" $^
|
||||
else
|
||||
$(LIBRARY): $(LIB_OBJS)
|
||||
- $(AR) rv $@ $?
|
||||
+ $(AR) cr $@ $?
|
||||
$(RANLIB) $@
|
||||
|
||||
-$(SHARED_LIBRARY): $(LIB_OBJS)
|
||||
- $(MKSHLIB) -o $@ $(LIB_OBJS) $(LDFLAGS) $(OTHER_LIBS)
|
||||
+SHARED_LIB_OBJS := $(LIB_OBJS:.o=.lo)
|
||||
+$(SHARED_LIBRARY): $(SHARED_LIB_OBJS)
|
||||
+ $(MKSHLIB) -o $@ $(SHARED_LIB_OBJS) $(LDFLAGS) $(OTHER_LIBS)
|
||||
endif
|
||||
endif
|
||||
|
||||
--- js/src/fdlibm/Makefile.ref
|
||||
+++ js/src/fdlibm/Makefile.ref
|
||||
@@ -151,7 +151,7 @@
|
||||
|
||||
$(OBJDIR)/%.o: %.c
|
||||
@$(MAKE_OBJDIR)
|
||||
- $(CC) -o $@ -c $(CFLAGS) $*.c
|
||||
+ $(CC) -o $@ -c $(CFLAGS) $*.c -fPIC
|
||||
|
||||
$(OBJDIR)/%.o: %.s
|
||||
@$(MAKE_OBJDIR)
|
||||
--- js/src/config.mk
|
||||
+++ js/src/config.mk
|
||||
@@ -112,6 +112,8 @@
|
||||
CP = cp
|
||||
endif
|
||||
|
||||
+BUILD_OPT := 1
|
||||
+
|
||||
ifdef BUILD_OPT
|
||||
OPTIMIZER = -O
|
||||
DEFINES += -UDEBUG -DNDEBUG -UDEBUG_$(shell whoami)
|
@ -1,13 +0,0 @@
|
||||
Index: src/Makefile.ref
|
||||
===================================================================
|
||||
--- src.orig/Makefile.ref
|
||||
+++ src/Makefile.ref
|
||||
@@ -185,6 +185,8 @@ JS_HFILES = \
|
||||
jsstr.h \
|
||||
jsxdrapi.h \
|
||||
jsxml.h \
|
||||
+ jsutil.h \
|
||||
+ jsprf.h \
|
||||
$(NULL)
|
||||
|
||||
API_HFILES = \
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue