parent
9c04942a1f
commit
e47ab4fc18
Binary file not shown.
Binary file not shown.
@ -0,0 +1,61 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
USE_RUBY="ruby23 ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="rdoc"
|
||||
|
||||
inherit ruby-fakegem user
|
||||
|
||||
DESCRIPTION="data collector and unified logging layer (project under CNCF)"
|
||||
HOMEPAGE="https://www.fluentd.org"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
ruby_add_rdepend "
|
||||
>=dev-ruby/coolio-1.4.5
|
||||
>=dev-ruby/http_parser_rb-0.5.1
|
||||
>=dev-ruby/msgpack-1.3.1
|
||||
>=dev-ruby/serverengine-2.0.4
|
||||
>=dev-ruby/sigdump-0.2.2
|
||||
>=dev-ruby/strptime-0.2.2
|
||||
>=dev-ruby/tzinfo-1.0
|
||||
>=dev-ruby/yajl-ruby-1.0"
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup ${PN}
|
||||
enewuser ${PN} -1 -1 -1 ${PN}
|
||||
}
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i \
|
||||
-e '/tzinfo-data/d' \
|
||||
-e '/dig_rb/d' \
|
||||
"${PN}".gemspec || die "'sed failed"
|
||||
|
||||
# Avoid test dependency on unpackaged oj
|
||||
rm -f test/test_event_time.rb || die
|
||||
}
|
||||
|
||||
all_ruby_install() {
|
||||
all_fakegem_install
|
||||
keepdir /var/log/fluentd
|
||||
fowners fluentd:adm /var/log/fluentd
|
||||
insinto /etc/fluent
|
||||
doins fluent.conf
|
||||
newconfd "${FILESDIR}"/${PN}.confd ${PN}
|
||||
newinitd "${FILESDIR}"/${PN}.initd ${PN}
|
||||
insinto /etc/logrotate.d
|
||||
newins "${FILESDIR}"/${PN}.logrotate ${PN}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
elog "A default configuration file has been installed in"
|
||||
elog "${EROOT}/etc/fluent/fluent.conf. You will need to edit"
|
||||
elog "this file to match your configuration."
|
||||
fi
|
||||
}
|
@ -1,5 +1,2 @@
|
||||
DIST r10k-3.2.0.gem 206336 BLAKE2B badc840ec7e6793daf205f1352899fa909e9a922a353a52841809dc80fd03758a865e0cb8210e58bb5c25968207d537b3f19c1903fbb519c50b6af2dd27eb5fb SHA512 7ea00ec28ba631877d33fa8b00b25e1c69346b787499ec7b26118c16acecf6bd39fcdc4618af016ebf5b62850b6d984510f7e9153dd4e99771def299b7d0703d
|
||||
DIST r10k-3.3.0.gem 206848 BLAKE2B 92fedb9871c6e22df3a3f8c4cf18feac1bf3ef51e2e67b3001c811bc81397eda71bc9da94ef860d6e39b989fd1c1a3b9dae402142496f17c4427ff2de62188fd SHA512 674c5c386885dd1476264d8bc047ddad0411b6344350662021ede8a5352e95fd50a72f62127b00bf6b2bc8e6b3835b017128788707610d510a64eee13b9f4d4f
|
||||
DIST r10k-3.3.1.gem 208384 BLAKE2B 81e7de3d2fabd038240478ab7ace4fba181a4370544f964b438a6b96de34a741f653aff018ece21453b119ae6b12f06934cc82be8a6b78cd5a72277195a5fe81 SHA512 20f9c92fbabed82521d452f339d9d2fd8cc438cac1cc11385a6e2874a5d55fe6425ddfcd281d8e63ee043adec5fbbfba0c37ef0c6e15d498c64ba550740ccd6e
|
||||
DIST r10k-3.3.2.gem 208384 BLAKE2B 8d5ce5d7fb2497b701fdf7cd0a742db7b221a2b327464b553b9dbd893ecfbda2498302fb14cda89df7030c6b48dfb048d23d5c271773a3974e75b115ad0e3c49 SHA512 ccc71c856f204aafe9f15b497c3881aaa3beff50c36647e06590cbbaebaed58514eb30a5d57bbee4ba071e3586083c0b07decbd68c859667e6eb6bb57a40aef5
|
||||
DIST r10k-3.3.3.gem 208384 BLAKE2B 8c20a516c721970e4edb57160972dfa992d79a90794d7428f7083dee48f68ea87fdd6b182acd3df1ec9c8b50a2a72543d2ffb4b5361d6960fb46d021e3c2d592 SHA512 b1a407cd0bcafc9d7d15ff0d40f54d93d19be48032858aeb42955cdf14799fa75445f4ec462dd05a19cda972d155a0fc0be641d1998fd5e02c0ea5f1d971ea08
|
||||
|
@ -1,44 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
RUBY_FAKEGEM_TASK_DOC=""
|
||||
|
||||
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Puppet environment and module deployment"
|
||||
HOMEPAGE="https://github.com/puppetlabs/r10k"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+git"
|
||||
|
||||
ruby_add_rdepend "
|
||||
~dev-ruby/colored-1.2
|
||||
~dev-ruby/cri-2.15.6
|
||||
>=dev-ruby/gettext-setup-0.24:0
|
||||
~dev-ruby/log4r-1.1.10
|
||||
>=dev-ruby/multi_json-1.10:0
|
||||
>=dev-ruby/puppet_forge-2.2.8
|
||||
=dev-ruby/puppet_forge-2.2*
|
||||
"
|
||||
|
||||
ruby_add_bdepend "test? (
|
||||
dev-ruby/archive-tar-minitar
|
||||
)"
|
||||
|
||||
RDEPEND="${RDEPEND} git? ( >=dev-vcs/git-1.6.6 )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/s.files/d' ${RUBY_FAKEGEM_GEMSPEC} || die
|
||||
|
||||
# Avoid specs for unpackaged rugget git provider
|
||||
rm -rf spec/unit/git_spec.rb spec/unit/git/rugged || die
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="none"
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
|
||||
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Puppet environment and module deployment"
|
||||
HOMEPAGE="https://github.com/puppetlabs/r10k"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+git"
|
||||
|
||||
ruby_add_rdepend "
|
||||
~dev-ruby/colored-1.2
|
||||
~dev-ruby/cri-2.15.6
|
||||
>=dev-ruby/gettext-setup-0.24:0
|
||||
~dev-ruby/log4r-1.1.10
|
||||
>=dev-ruby/multi_json-1.10:0
|
||||
=dev-ruby/puppet_forge-2.3*
|
||||
"
|
||||
|
||||
ruby_add_bdepend "test? (
|
||||
dev-ruby/archive-tar-minitar
|
||||
)"
|
||||
|
||||
RDEPEND="${RDEPEND} git? ( >=dev-vcs/git-1.6.6 )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/s.files/d' ${RUBY_FAKEGEM_GEMSPEC} || die
|
||||
|
||||
# Avoid specs for unpackaged rugget git provider
|
||||
rm -rf spec/unit/git_spec.rb spec/unit/git/rugged || die
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
USE_RUBY="ruby24 ruby25 ruby26"
|
||||
|
||||
RUBY_FAKEGEM_RECIPE_DOC="none"
|
||||
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
|
||||
|
||||
RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
|
||||
|
||||
inherit ruby-fakegem
|
||||
|
||||
DESCRIPTION="Puppet environment and module deployment"
|
||||
HOMEPAGE="https://github.com/puppetlabs/r10k"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+git"
|
||||
|
||||
ruby_add_rdepend "
|
||||
~dev-ruby/colored-1.2
|
||||
~dev-ruby/cri-2.15.6
|
||||
>=dev-ruby/gettext-setup-0.24:0
|
||||
~dev-ruby/log4r-1.1.10
|
||||
>=dev-ruby/multi_json-1.10:0
|
||||
=dev-ruby/puppet_forge-2.3*
|
||||
"
|
||||
|
||||
ruby_add_bdepend "test? (
|
||||
dev-ruby/archive-tar-minitar
|
||||
)"
|
||||
|
||||
RDEPEND="${RDEPEND} git? ( >=dev-vcs/git-1.6.6 )"
|
||||
|
||||
all_ruby_prepare() {
|
||||
sed -i -e '/s.files/d' ${RUBY_FAKEGEM_GEMSPEC} || die
|
||||
|
||||
# Avoid specs for unpackaged rugget git provider
|
||||
rm -rf spec/unit/git_spec.rb spec/unit/git/rugged || die
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST terraform-0.12.17.tar.gz 10508005 BLAKE2B facef6de57333586445ce8839c03ccd633fe9ac68619e384b71fff921afeaf260e01b8783d61e4cc04882aa644e8eb706b08c88216f093d85e0fd081363c4103 SHA512 6311fdbf6764e585126a1e177dc498634a799ba1a68ba98682e2be29d14b40c09d0a780555f10bbde0587445d31a1e0d9810226f9e6bd3fcb248428ceb864c87
|
||||
DIST terraform-0.12.19.tar.gz 10526213 BLAKE2B 89acdb2e099532a922d49ac3d0049c522b7936817afb7836ebf643ef21fd35f3be495cde5a92ea93add144dada0f54de55b4b42a668bff08c9db789a1d4a77d1 SHA512 3acf327bdbaeddf6f13fc1a2a2335675dd3910137ef685224e7c1eafddf18d0aaa8c24aa3b1b5027b21905d2d87fbe3d49904e196c9881063d01670c4de3db66
|
||||
DIST terraform-0.12.20.tar.gz 10383312 BLAKE2B c9e9c7e8328cfbeb533d12a2acee133cc049b06e9a30c9fdc5708c674c272af264ae34c8c850924ae08885237a2e4d6c55d43d92b350104c6afe66d2f50e31ec SHA512 df92422426e7ebaf2c3a6b953de9fc9fcb461f7227835e728bbccf5b796995d818a39817913d6010fadb8b3618710f77f50e36eb6ce4176e7312b68c7d7f7e96
|
||||
|
@ -0,0 +1,45 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit golang-base go-module
|
||||
|
||||
DESCRIPTION="A tool for building, changing, and combining infrastructure safely"
|
||||
HOMEPAGE="https://www.terraform.io/"
|
||||
|
||||
EGO_PN="github.com/hashicorp/${PN}"
|
||||
SRC_URI="https://github.com/hashicorp/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 BSD-2 BSD-4 ECL-2.0 imagemagick ISC JSON MIT MIT-with-advertising MPL-2.0 unicode"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
DOCS=( {README,CHANGELOG}.md )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
# the sed command is necessary to generate tests outside of the
|
||||
# default git root of `terraform', in our case the working dir
|
||||
# is `work/$PN-$PV'
|
||||
# sed -i -e "s/!=\s\+\"terraform\"/!=\ \"${P}\"/" \
|
||||
# ./scripts/generate-plugins.go || die
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
GOCACHE="${T}/go-cache" go build \
|
||||
-work -o "bin/${PN}" ./ || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/terraform
|
||||
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "If you would like to install shell completions please run:"
|
||||
elog " terraform -install-autocomplete"
|
||||
}
|
Binary file not shown.
@ -0,0 +1,11 @@
|
||||
--- ./CPP/7zip/Archive/Wim/WimHandler.cpp 2016-06-11 11:08:06.000000000 +0300
|
||||
+++ ./CPP/7zip/Archive/Wim/WimHandler.cpp.new 2020-01-22 09:36:59.671803569 +0300
|
||||
@@ -298,7 +298,7 @@ STDMETHODIMP CHandler::GetArchivePropert
|
||||
|
||||
AString res;
|
||||
|
||||
- bool numMethods = 0;
|
||||
+ int numMethods = 0;
|
||||
for (unsigned i = 0; i < ARRAY_SIZE(k_Methods); i++)
|
||||
{
|
||||
if (methodMask & ((UInt32)1 << i))
|
@ -0,0 +1,168 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
WX_GTK_VER="3.0"
|
||||
|
||||
inherit toolchain-funcs wxwidgets
|
||||
|
||||
DESCRIPTION="Port of 7-Zip archiver for Unix"
|
||||
HOMEPAGE="http://p7zip.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}_src_all.tar.bz2"
|
||||
|
||||
LICENSE="LGPL-2.1 rar? ( unRAR )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris"
|
||||
IUSE="abi_x86_x32 doc kde +pch rar static wxwidgets"
|
||||
|
||||
REQUIRED_USE="kde? ( wxwidgets )"
|
||||
|
||||
RDEPEND="wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )"
|
||||
DEPEND="${RDEPEND}
|
||||
abi_x86_x32? ( >=dev-lang/yasm-1.2.0-r1 )
|
||||
amd64? ( dev-lang/yasm )
|
||||
x86? ( dev-lang/nasm )"
|
||||
|
||||
S=${WORKDIR}/${PN}_${PV}
|
||||
|
||||
DOCS=( ChangeLog README TODO )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-darwin.patch
|
||||
"${FILESDIR}"/CVE-2016-9296.patch
|
||||
"${FILESDIR}"/CVE-2017-17969.patch
|
||||
"${FILESDIR}"/CVE-2018-5996.patch
|
||||
"${FILESDIR}"/CVE-2018-10115.patch
|
||||
"${FILESDIR}"/WimHandler.cpp.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if ! use pch; then
|
||||
sed "s:PRE_COMPILED_HEADER=StdAfx.h.gch:PRE_COMPILED_HEADER=:g" -i makefile.* || die
|
||||
fi
|
||||
|
||||
sed \
|
||||
-e 's|-m32 ||g' \
|
||||
-e 's|-m64 ||g' \
|
||||
-e 's|-pipe||g' \
|
||||
-e "/[ALL|OPT]FLAGS/s|-s||;/OPTIMIZE/s|-s||" \
|
||||
-e "/CFLAGS=/s|=|+=|" \
|
||||
-e "/CXXFLAGS=/s|=|+=|" \
|
||||
-i makefile* || die
|
||||
|
||||
# remove non-free RAR codec
|
||||
if use rar; then
|
||||
ewarn "Enabling nonfree RAR decompressor"
|
||||
else
|
||||
sed \
|
||||
-e '/Rar/d' \
|
||||
-e '/RAR/d' \
|
||||
-i makefile* CPP/7zip/Bundles/Format7zFree/makefile || die
|
||||
rm -rf CPP/7zip/Compress/Rar || die
|
||||
fi
|
||||
|
||||
if use abi_x86_x32; then
|
||||
sed -i -e "/^ASM=/s:amd64:x32:" makefile* || die
|
||||
cp -f makefile.linux_amd64_asm makefile.machine || die
|
||||
elif use amd64; then
|
||||
cp -f makefile.linux_amd64_asm makefile.machine || die
|
||||
elif use x86; then
|
||||
cp -f makefile.linux_x86_asm_gcc_4.X makefile.machine || die
|
||||
elif [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# Mac OS X needs this special makefile, because it has a non-GNU
|
||||
# linker, it doesn't matter so much for bitwidth, for it doesn't
|
||||
# do anything with it
|
||||
cp -f makefile.macosx_llvm_64bits makefile.machine
|
||||
# bundles have extension .bundle but don't die because USE=-rar
|
||||
# removes the Rar directory
|
||||
sed -i -e '/strcpy(name/s/\.so/.bundle/' \
|
||||
CPP/Windows/DLL.cpp || die
|
||||
sed -i -e '/^PROG=/s/\.so/.bundle/' \
|
||||
CPP/7zip/Bundles/Format7zFree/makefile.list \
|
||||
$(use rar && echo CPP/7zip/Compress/Rar/makefile.list) || die
|
||||
elif use x86-fbsd; then
|
||||
# FreeBSD needs this special makefile, because it hasn't -ldl
|
||||
sed -e 's/-lc_r/-pthread/' makefile.freebsd > makefile.machine
|
||||
fi
|
||||
|
||||
if use static; then
|
||||
sed -i -e '/^LOCAL_LIBS=/s/LOCAL_LIBS=/&-static /' makefile.machine || die
|
||||
fi
|
||||
|
||||
if use kde || use wxwidgets; then
|
||||
need-wxwidgets unicode
|
||||
einfo "Preparing dependency list"
|
||||
emake CC=$(tc-getCC) CXX=$(tc-getCXX) depend
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake CC=$(tc-getCC) CXX=$(tc-getCXX) all3
|
||||
if use kde || use wxwidgets; then
|
||||
emake CC=$(tc-getCC) CXX=$(tc-getCXX) -- 7zG
|
||||
# emake CC=$(tc-getCC) CXX=$(tc-getCXX) -- 7zFM
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake test test_7z test_7zr
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# this wrappers can not be symlinks, p7zip should be called with full path
|
||||
make_wrapper 7zr "/usr/$(get_libdir)/${PN}/7zr"
|
||||
make_wrapper 7za "/usr/$(get_libdir)/${PN}/7za"
|
||||
make_wrapper 7z "/usr/$(get_libdir)/${PN}/7z"
|
||||
|
||||
if use kde || use wxwidgets; then
|
||||
make_wrapper 7zG "/usr/$(get_libdir)/${PN}/7zG"
|
||||
# make_wrapper 7zFM "/usr/$(get_libdir)/${PN}/7zFM"
|
||||
|
||||
# make_desktop_entry 7zFM "${PN} FM" ${PN} "GTK;Utility;Archiving;Compression"
|
||||
|
||||
dobin GUI/p7zipForFilemanager
|
||||
exeinto /usr/$(get_libdir)/${PN}
|
||||
# doexe bin/7z{G,FM}
|
||||
doexe bin/7zG
|
||||
|
||||
insinto /usr/$(get_libdir)/${PN}
|
||||
doins -r GUI/Lang
|
||||
doins -r DOC/MANUAL
|
||||
|
||||
insinto /usr/share/icons/hicolor/16x16/apps/
|
||||
newins GUI/p7zip_16_ok.png p7zip.png
|
||||
|
||||
if use kde; then
|
||||
rm GUI/kde4/p7zip_compress.desktop || die
|
||||
insinto /usr/share/kservices5/ServiceMenus
|
||||
doins GUI/kde4/*.desktop
|
||||
dodir /usr/share/kde4/services/ServiceMenus # drop these lines after konqueror:4/krusader:4 are gone
|
||||
for item in "${ED}"/usr/share/kservices5/ServiceMenus/*.desktop; do
|
||||
item="$(basename ${item})"
|
||||
dosym ${EROOT}"/usr/share/kservices5/ServiceMenus/${item}" "/usr/share/kde4/services/ServiceMenus/${item}"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
dobin contrib/gzip-like_CLI_wrapper_for_7z/p7zip
|
||||
doman contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1
|
||||
|
||||
exeinto /usr/$(get_libdir)/${PN}
|
||||
doexe bin/7z bin/7za bin/7zr bin/7zCon.sfx
|
||||
doexe bin/*$(get_modname)
|
||||
if use rar; then
|
||||
exeinto /usr/$(get_libdir)/${PN}/Codecs/
|
||||
doexe bin/Codecs/*$(get_modname)
|
||||
fi
|
||||
|
||||
doman man1/7z.1 man1/7za.1 man1/7zr.1
|
||||
|
||||
if use doc; then
|
||||
dodoc DOC/*.txt
|
||||
docinto html
|
||||
dodoc -r DOC/MANUAL/*
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST pdfcrack-0.16.tar.gz 34467 BLAKE2B 7eda8dae9cec3117f410f9ebbe6d536ca627c72b53693d4021f3faf104ed0439e05dda5848d1f18911544336c6303f9b061c373da9a0a275ecfa2c29ed425b76 SHA512 460113f28249d1ea1cefc6dac8ff22b33849ccff50f61830144e41eeec47c4b9113845bb955d26757adb0552d8c0dfa43b3f5666c1419afe4063037a1e1c933d
|
||||
DIST pdfcrack-0.18.tar.gz 35145 BLAKE2B 05c1b5164c208ba34ffe2c4aadcebaa88d5a4058a8ef355df3346bda19b5e9f319abd714975d86e3b05ef70ec003f4e08b00d5b339ebd0ac0549f72884580547 SHA512 7d1624d835bcefff131745c75dc2ecafe63afdbf2c56568880804d5b7062a8eef27eebfedf340ab9d7e5770dd1a553d5d30b7ea5bca63a317deb40e0deed35a2
|
||||
|
@ -0,0 +1,27 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Tool for recovering passwords and content from PDF-files"
|
||||
HOMEPAGE="http://pdfcrack.sourceforge.net/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-0.14-cflags.patch"
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
emake CC="$(tc-getCC)"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin pdfcrack
|
||||
dodoc changelog README
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1,4 @@
|
||||
DIST wine-gecko-2.47.1-x86.msi 50735104 BLAKE2B c082e22fdbf1681e0c38e8822bc1a8f99b47d91f7d32f22bfad716685553d3d10fd4004f90135d90f39f4ff05cba37665455679e08ce3a140ca8ded76cb7a9ea SHA512 ef13838bf7d5bdd74d06bbbdccc6b18cc75b4d0c2b3db8c978b9500cdfeb058bf5532d89b77c164eab52c1f93ae2e2540b37f6694a3e560aace3ebc7da2c7596
|
||||
DIST wine-gecko-2.47.1-x86_64.msi 52311040 BLAKE2B 2a9aa68461d2b9f69ada1e50925de7ba9804a4992c9d0a717c9c5d1340179e7f10e550c8db170bb33c79e24dcd068e00648c572c6b4e4d836a507ada6e7bbccd SHA512 f875d9a7c68a33abf6dd25d61ff6dd3e5ff246768880e3ee4984ab63b065a7b0ef55411b710e4cb9db48bd2114cbd3fbd97f24e819d7d71c2212dd612abaaf43
|
||||
DIST wine_gecko-2.47-x86.msi 49266176 BLAKE2B 6b1d4ebf53fac422c2da9ae7f5b6ab9064d2b6cc20d57fe13707395e71305ac1607a440624d3a545fe1e0391bc92bf5b594173549e519eda967bb833b69b2f52 SHA512 e0d06102dcb8ec2d24e8c8c3f5c2ee5cb47c18e203dfb43d85de008d682ff874fb664fef1df909a5a7857de39c7e8ce5175e734a11964ec4cd35f8fbacaea3a4
|
||||
DIST wine_gecko-2.47-x86_64.msi 50806272 BLAKE2B 6f91d4661a322eca41042cb7a246d5bff76ab72b4bda67183fc36735c923bd6d76624f21fd3e59f63fd872704edcf0116a6e7ab4fa6f074f5098c8fb5307534c SHA512 7c2496b15a06bc6906bc60afb3ac082e3f9931207fa624e60297020211d66aa9b420a61e95730a0dbdcefbe4b26c811d0c896ecd9c363b5107d08c3fa22fef41
|
||||
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="A Mozilla Gecko based version of Internet Explorer for Wine"
|
||||
HOMEPAGE="https://winehq.org"
|
||||
SRC_URI="
|
||||
abi_x86_32? ( https://dl.winehq.org/wine/${PN}/${PV}/${PN}-${PV}-x86.msi )
|
||||
abi_x86_64? ( https://dl.winehq.org/wine/${PN}/${PV}/${PN}-${PV}-x86_64.msi )
|
||||
"
|
||||
|
||||
LICENSE="Apache-2.0 BSD BSD-2 MIT MPL-2.0"
|
||||
SLOT="${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="abi_x86_32 abi_x86_64"
|
||||
|
||||
DEPEND="!!app-emulation/wine:0"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_install(){
|
||||
insinto /usr/share/wine/gecko
|
||||
use abi_x86_32 && doins "${DISTDIR}/${PN}-${PV}-x86.msi"
|
||||
use abi_x86_64 && doins "${DISTDIR}/${PN}-${PV}-x86_64.msi"
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,266 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="sqlite,ssl"
|
||||
|
||||
inherit bash-completion-r1 desktop toolchain-funcs python-single-r1 xdg-utils
|
||||
|
||||
DESCRIPTION="Ebook management application"
|
||||
HOMEPAGE="https://calibre-ebook.com/"
|
||||
SRC_URI="https://download.calibre-ebook.com/${PV}/${P}.tar.xz"
|
||||
|
||||
LICENSE="
|
||||
GPL-3+
|
||||
GPL-3
|
||||
GPL-2+
|
||||
GPL-2
|
||||
GPL-1+
|
||||
LGPL-3+
|
||||
LGPL-2.1+
|
||||
LGPL-2.1
|
||||
BSD
|
||||
MIT
|
||||
Old-MIT
|
||||
Apache-2.0
|
||||
public-domain
|
||||
|| ( Artistic GPL-1+ )
|
||||
CC-BY-3.0
|
||||
OFL-1.1
|
||||
PSF-2
|
||||
"
|
||||
KEYWORDS="~amd64 ~arm ~x86"
|
||||
SLOT="0"
|
||||
IUSE="ios +udisks"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
COMMON_DEPEND="${PYTHON_DEPS}
|
||||
>=app-text/hunspell-1.7:=
|
||||
>=app-text/podofo-0.9.6_pre20171027:=
|
||||
>=app-text/poppler-0.26.5[qt5]
|
||||
>=dev-libs/chmlib-0.40:=
|
||||
dev-libs/glib:2=
|
||||
dev-libs/hyphen:=
|
||||
>=dev-libs/icu-57.1:=
|
||||
dev-libs/libinput:=
|
||||
>=dev-python/apsw-3.25.2_p1[${PYTHON_USEDEP}]
|
||||
dev-python/beautifulsoup:4[${PYTHON_USEDEP}]
|
||||
>=dev-python/chardet-3.0.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/cssselect-0.7.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/css-parser-1.0.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/dbus-python-1.2.4[${PYTHON_USEDEP}]
|
||||
>=dev-libs/dbus-glib-0.106
|
||||
>=sys-apps/dbus-1.10.8
|
||||
dev-python/dnspython[${PYTHON_USEDEP}]
|
||||
>=dev-python/feedparser-5.2.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/html2text-2019.8.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/html5-parser-0.4.9[${PYTHON_USEDEP}]
|
||||
>=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/markdown-3.0.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/mechanize-0.3.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/msgpack-0.5.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/netifaces-0.10.5[${PYTHON_USEDEP}]
|
||||
>=dev-python/pillow-3.2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/psutil-4.3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygments-2.3.1[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
|
||||
>=dev-python/PyQt5-5.12[gui,svg,widgets,network,printsupport,${PYTHON_USEDEP}]
|
||||
>=dev-python/PyQtWebEngine-5.12[${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
dev-qt/qtcore:5=
|
||||
dev-qt/qtdbus:5=
|
||||
dev-qt/qtgui:5=
|
||||
>=dev-qt/qtwebengine-5.12
|
||||
dev-qt/qtwidgets:5=
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/gtk-update-icon-cache
|
||||
media-fonts/liberation-fonts
|
||||
media-libs/fontconfig:=
|
||||
>=media-libs/freetype-2:=
|
||||
>=media-libs/libmtp-1.1.11:=
|
||||
>=media-libs/libwmf-0.2.8
|
||||
>=media-gfx/optipng-0.7.6
|
||||
>=sys-libs/zlib-1.2.11:=
|
||||
virtual/libusb:1=
|
||||
x11-libs/libxkbcommon:=
|
||||
x11-libs/libX11:=
|
||||
x11-libs/libXext:=
|
||||
x11-libs/libXrender:=
|
||||
x11-misc/shared-mime-info
|
||||
>=x11-misc/xdg-utils-1.0.2-r2
|
||||
ios? (
|
||||
>=app-pda/usbmuxd-1.0.8
|
||||
>=app-pda/libimobiledevice-1.2.0
|
||||
)
|
||||
udisks? ( virtual/libudev )"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
udisks? ( || ( sys-fs/udisks:2 sys-fs/udisks:0 ) )"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-python/setuptools-23.1.0[${PYTHON_USEDEP}]
|
||||
dev-python/sip[${PYTHON_USEDEP}]
|
||||
>=virtual/podofo-build-0.9.6_pre20171027
|
||||
virtual/pkgconfig"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != binary && $(gcc-major-version) -lt 6 ]]; then
|
||||
eerror "Calibre cannot be built with this version of gcc."
|
||||
eerror "You need at least gcc-6.0"
|
||||
die "Your C compiler is too old for this package."
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# no_updates: do not annoy user with "new version is availible all the time
|
||||
# disable_plugins: walking sec-hole, wait for upstream to use GHNS interface
|
||||
eapply \
|
||||
"${FILESDIR}/${PN}-2.9.0-no_updates_dialog.patch" \
|
||||
"${FILESDIR}/${PN}-disable_plugins.patch"
|
||||
|
||||
eapply_user
|
||||
|
||||
# Fix outdated version constant.
|
||||
#sed -e "s#\\(^numeric_version =\\).*#\\1 (${PV//./, })#" \
|
||||
# -i src/calibre/constants.py || \
|
||||
# die "sed failed to patch constants.py"
|
||||
|
||||
# Avoid sandbox violation in /usr/share/gnome/apps when linux.py
|
||||
# calls xdg-* (bug #258938).
|
||||
sed -e "s|'xdg-desktop-menu', 'install'|\\0, '--mode', 'user'|" \
|
||||
-e "s|check_call(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \
|
||||
-e "s|\\(CurrentDir(tdir)\\), \\\\\$|\\1:|" \
|
||||
-e "s|, PreserveMIMEDefaults():|:|" \
|
||||
-e "s|'xdg-icon-resource', 'install'|\\0, '--mode', 'user'|" \
|
||||
-e "s|cmd\[2\]|cmd[4]|" \
|
||||
-e "s|cc(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \
|
||||
-e "s|'xdg-mime', 'install'|\\0, '--mode', 'user'|" \
|
||||
-i src/calibre/linux.py || die "sed failed to patch linux.py"
|
||||
|
||||
# Disable unnecessary privilege dropping for bug #287067.
|
||||
sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \
|
||||
-i setup/install.py || die "sed failed to patch install.py"
|
||||
|
||||
sed -e "/^ self.check_call(\\[QMAKE\\] + qmc + \\[proname\\])$/a\
|
||||
\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ self.check_call(['sed', \
|
||||
'-e', 's|^CFLAGS .*|\\\\\\\\0 ${CFLAGS}|', \
|
||||
'-e', 's|^CXXFLAGS .*|\\\\\\\\0 ${CXXFLAGS}|', \
|
||||
'-e', 's|^LFLAGS .*|\\\\\\\\0 ${LDFLAGS}|', \
|
||||
'-i', 'Makefile'])" \
|
||||
-i setup/build.py || die "sed failed to patch build.py"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Bypass kbuildsycoca and update-mime-database in order to
|
||||
# avoid sandbox violations if xdg-mime tries to call them.
|
||||
cat - > "${T}/kbuildsycoca" <<-EOF
|
||||
#!${BASH}
|
||||
echo $0 : $@
|
||||
exit 0
|
||||
EOF
|
||||
|
||||
cp "${T}"/{kbuildsycoca,update-mime-database} || die
|
||||
chmod +x "${T}"/{kbuildsycoca,update-mime-database} || die
|
||||
|
||||
export QMAKE="${EPREFIX}/usr/$(get_libdir)/qt5/bin/qmake"
|
||||
|
||||
# Unset DISPLAY in order to prevent xdg-mime from triggering a sandbox
|
||||
# violation with kbuildsycoca as in bug #287067, comment #13.
|
||||
export -n DISPLAY
|
||||
|
||||
# Bug #352625 - Some LANGUAGE values can trigger the following ValueError:
|
||||
# File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale
|
||||
# return _parse_localename(localename)
|
||||
# File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename
|
||||
# raise ValueError, 'unknown locale: %s' % localename
|
||||
#ValueError: unknown locale: 46
|
||||
export -n LANG LANGUAGE ${!LC_*}
|
||||
export LC_ALL=C #684484
|
||||
|
||||
# Bug #295672 - Avoid sandbox violation in ~/.config by forcing
|
||||
# variables to point to our fake temporary $HOME.
|
||||
export HOME="${T}/fake_homedir"
|
||||
export XDG_CONFIG_HOME="${HOME}/.config"
|
||||
export XDG_DATA_HOME="${HOME}/.local/share"
|
||||
export CALIBRE_CONFIG_DIRECTORY="${XDG_CONFIG_HOME}/calibre"
|
||||
mkdir -p "${XDG_DATA_HOME}" "${CALIBRE_CONFIG_DIRECTORY}" || die
|
||||
|
||||
tc-export CC CXX
|
||||
# Bug #334243 - respect LDFLAGS when building extensions
|
||||
export OVERRIDE_CFLAGS="$CFLAGS" OVERRIDE_LDFLAGS="$LDFLAGS"
|
||||
local libdir=$(get_libdir)
|
||||
[[ -n $libdir ]] || die "get_libdir returned an empty string"
|
||||
|
||||
addpredict /dev/dri #665310
|
||||
|
||||
PATH=${T}:${PATH} PYTHONPATH=${S}/src${PYTHONPATH:+:}${PYTHONPATH} \
|
||||
"${PYTHON}" setup.py install \
|
||||
--root="${D}" \
|
||||
--prefix="${EPREFIX}/usr" \
|
||||
--libdir="${EPREFIX}/usr/${libdir}" \
|
||||
--staging-root="${ED}/usr" \
|
||||
--staging-libdir="${ED}/usr/${libdir}" || die
|
||||
|
||||
rm "${ED}/usr/share/applications/defaults.list" || die
|
||||
find "${ED}"/usr/share -type d -empty -delete
|
||||
|
||||
cd "${ED}"/usr/share/calibre/fonts/liberation || die
|
||||
local x
|
||||
for x in * ; do
|
||||
[[ -f ${EPREFIX}usr/share/fonts/liberation-fonts/${x} ]] || continue
|
||||
ln -sf "../../../fonts/liberation-fonts/${x}" "${x}" || die
|
||||
done
|
||||
|
||||
einfo "Converting python shebangs"
|
||||
python_fix_shebang --force "${ED}"
|
||||
|
||||
einfo "Compiling python modules"
|
||||
python_optimize "${ED}"/usr/lib/calibre
|
||||
|
||||
newinitd "${FILESDIR}"/calibre-server-3.init calibre-server
|
||||
newconfd "${FILESDIR}"/calibre-server-3.conf calibre-server
|
||||
|
||||
bashcomp_alias calibre \
|
||||
lrfviewer \
|
||||
calibre-debug \
|
||||
ebook-meta \
|
||||
calibre-server \
|
||||
ebook-viewer \
|
||||
ebook-polish \
|
||||
fetch-ebook-metadata \
|
||||
lrf2lrs \
|
||||
ebook-convert \
|
||||
ebook-edit \
|
||||
calibre-smtp \
|
||||
ebook-device
|
||||
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# Indentify stray directories from upstream's "Binary install"
|
||||
# method (see bug 622728).
|
||||
CALIBRE_LIB_DIR=/usr/$(get_libdir)/calibre
|
||||
CALIBRE_LIB_CONTENT=$(for x in "${ED}${CALIBRE_LIB_DIR}"/*; do
|
||||
printf -- "${x##*/} "; done) || die "Failed to list ${ED}${CALIBRE_LIB_DIR}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
[[ -n ${CALIBRE_LIB_DIR} ]] || die "CALIBRE_LIB_DIR is unset"
|
||||
local x
|
||||
for x in "${EROOT}${CALIBRE_LIB_DIR}"/*; do
|
||||
if [[ " ${CALIBRE_LIB_CONTENT} " != *" ${x##*/} "* ]]; then
|
||||
elog "Purging '${x}'"
|
||||
rm -rf "${x}"
|
||||
fi
|
||||
done
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_mimeinfo_database_update
|
||||
xdg_icon_cache_update
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST discount-2.2.4.tar.bz2 99482 BLAKE2B b04c372cef27d0a4a09a588eb66376dc70494eefe5c8a9e7aedb8075f081a6f32eafbb9671c29deea7d89128f4f30c93d38c17268eccbb1c917db6c1b7d3e040 SHA512 0650e0ce3f6948e3a30fdaa1a810e895f64621c55df46c7a5ed8755e65c1b718b7a1d1a1bfe0a87a3a59fbb13fca8907718f1aa095125a4b6e152602b8e490cf
|
||||
DIST discount-2.2.6.tar.bz2 102303 BLAKE2B 6ffcb64ff8889d79832b28db9a824e5a30bd194a6746dd08e4782cb4b7e60cf47c44f244884fc10372fc2b052fff7d70e6c263e6f4175829d1aedbc8c2ea15c6 SHA512 b67395afed0899563e28fdd2ddd5016d4f382b6b7e46612d12853d701ba191b90771d40e1223e24e3fbf497cad01fdd2e1c67a6b2bf4f6cf082f3fbe981bd002
|
||||
|
@ -1,5 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
<maintainer type="person">
|
||||
<email>bkohler@gentoo.org</email>
|
||||
<name>Ben Kohler</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,9 @@
|
||||
DIST go-darwin-amd64-bootstrap-1.13.6.tbz 119340642 BLAKE2B 93d1d2fdd24e6a56d9583d90e64788fe28284302d1e1346a2009dcba8f80917bf113398f269922277bd066b068f62fffa146523bd57a5b7b178f0008f3c4d154 SHA512 1f27885d454963e88f73d3b6ef4d0167a5df6ad81c4725fb3b2be19e2c7bad13ef36ff6c100b8788fa2085285e462f0d2b3dfaf8bd67b0804a137969054cb5ae
|
||||
DIST go-linux-386-bootstrap-1.13.6.tbz 116991833 BLAKE2B e15c4dd3c9bfb233f81d318591df5cb2a73e033a088cd652371f6933b8732c7d5c1292ec8110b23f85b30d5afdea97e798b264c61f5651db08c7ac903e8dcbb6 SHA512 114c2f670f21624f0dfefabb99b7263e2133e58c2072ce341a6ea604278e22361779f2e0d3771b7a427e979d7e34f3fc3afcd0f8297d778c3552858ce64ec0c8
|
||||
DIST go-linux-amd64-bootstrap-1.13.6.tbz 116924754 BLAKE2B 3a28ded6df7e04081c727ad90ad2c8b67e1171aea8cd86b9570d65b275c2a4f1a84084d65a6c3e2efbece5594ba1aad3efc1a2fba36aa2dc68902c5c228c05e8 SHA512 3ade49da050d132309357a190628c3ff3a93cffa88f56e1d771f53358c825f210b6870870a96fdbc27717f1b464d904a6f605073377de2f0516cf635a1ce8241
|
||||
DIST go-linux-arm-bootstrap-1.13.6.tbz 112324731 BLAKE2B 18166e279b1d30f48e08007df8639775b58081805a7e5799dae14e0b357330cf69997f4a5c844bd10a9eeef44225d52f26197e07d16bb7a42fe5a6185634f4b5 SHA512 4d502e2231c1822dacb62cd00b435d52710b1511715385c0b3ddf9f66a446ae90e9b1628b501ba8e1d1a94ca5c28249a323da56f869e88480aa6c249ca001c6e
|
||||
DIST go-linux-arm64-bootstrap-1.13.6.tbz 110290994 BLAKE2B dc8985a305d1ef3ae683de9787333f0be3d43d5e642a3b5a315cf003311fb47e55588eb1acf816e5eb4215802832a43445ebecedfd2d680d350cb65e0ce7394f SHA512 bc5f4c4554987a5df735bb96c9b8ae78624169d847ab17ea9b0e969ecaab109311892cf1985d576cd46bf271562b724c6a3796472e197a2c8bb48da0d51128a9
|
||||
DIST go-linux-ppc64-bootstrap-1.13.6.tbz 110762916 BLAKE2B 19d44da5bcd1f4832772469beed509475f9a38ab55b386490faf1b270ffd7cc13d315dfe4746b3b9ca6a324c0e6f2e0144a3146d43bd6210d0479063f8627e34 SHA512 2a76c6168d7ba0c7eb020a1af4eccb2a5aee510a1f8e4bb438f5ea769677724c1450209c2fc9a4ccff1084f1a091a568e667ec33a5d537539a09ece426cf82d8
|
||||
DIST go-linux-ppc64le-bootstrap-1.13.6.tbz 110086770 BLAKE2B a3f2c1b840f85d7726336285a56d1850fd10f32d90341836a4124a7d181778c3a1cff1d576e4a19a4f3556e961d84fa77202891725b5237121040bdd020af339 SHA512 6c4bd54fafea65fbb16a3e6c57b721c10654a5f18879c164f6889a01ec6581b13b450622e83897032ab3ed43a9ff4a7edb6d30c56d41dd23991e8453c1bae359
|
||||
DIST go-linux-s390x-bootstrap-1.13.6.tbz 115641137 BLAKE2B 7ab94a8f7c839ee8fb58673ed5ad00a569a0bae7a13bb214098154aedb1c272837d0903c226cb87b5eb46475589ddcd56e1afafc81ddaea988ce3c3ddca686d1 SHA512 794b72f48634a7f7dfb41c64607d66974ef9413a68e39a3959a981e2aaf356fd2cec9e2eb0c25d1b7b3d179c0a72ce053dc9c69463bde0ec893ab472f7076204
|
||||
DIST go-solaris-amd64-bootstrap-1.13.6.tbz 116214396 BLAKE2B 3f5d6fcf2131a0944b2846eab2fc069f5d90fea1e7d98e8bd50ba5091d4b2ae01964fa71c29310fa7ff7c990ca0dd1afc83577174a46552d58d611716fedb854 SHA512 2d2c281c196729dd97f338fe3bd7396268c0b6fcfc8241b99a939f647201ed39929a5b0a096b9d1f7ffb20f79fd7b3cc25127d7a93f9836f6f0d1e5dbc2c6235
|
@ -0,0 +1,35 @@
|
||||
# Copyright 2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Bootstrap package for dev-lang/go"
|
||||
HOMEPAGE="https://golang.org"
|
||||
BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
|
||||
SRC_URI="
|
||||
amd64? ( ${BOOTSTRAP_DIST}/go-linux-amd64-bootstrap-${PV}.tbz )
|
||||
arm? ( ${BOOTSTRAP_DIST}/go-linux-arm-bootstrap-${PV}.tbz )
|
||||
arm64? ( ${BOOTSTRAP_DIST}/go-linux-arm64-bootstrap-${PV}.tbz )
|
||||
ppc64? (
|
||||
big-endian? ( ${BOOTSTRAP_DIST}/go-linux-ppc64-bootstrap-${PV}.tbz )
|
||||
!big-endian? ( ${BOOTSTRAP_DIST}/go-linux-ppc64le-bootstrap-${PV}.tbz )
|
||||
)
|
||||
s390? ( ${BOOTSTRAP_DIST}/go-linux-s390x-bootstrap-${PV}.tbz )
|
||||
x86? ( ${BOOTSTRAP_DIST}/go-linux-386-bootstrap-${PV}.tbz )
|
||||
x64-macos? ( ${BOOTSTRAP_DIST}/go-darwin-amd64-bootstrap-${PV}.tbz )
|
||||
x64-solaris? ( ${BOOTSTRAP_DIST}/go-solaris-amd64-bootstrap-${PV}.tbz )
|
||||
"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm arm64 ppc64 ~s390 x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
IUSE="big-endian"
|
||||
RESTRICT="strip"
|
||||
QA_PREBUILT="*"
|
||||
|
||||
S="${WORKDIR}"
|
||||
|
||||
src_install() {
|
||||
dodir /usr/lib
|
||||
mv go-*-bootstrap "${ED}/usr/lib/go-bootstrap" || die
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>williamh@gentoo.org</email>
|
||||
<name>William Hubbs</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
This package is used only to boot strap <pkg>dev-lang/go</pkg>.
|
||||
It is not meant to be used by end users directly.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
@ -1,26 +1,15 @@
|
||||
DIST go-darwin-amd64-bootstrap-1.13.6.tbz 119340642 BLAKE2B 93d1d2fdd24e6a56d9583d90e64788fe28284302d1e1346a2009dcba8f80917bf113398f269922277bd066b068f62fffa146523bd57a5b7b178f0008f3c4d154 SHA512 1f27885d454963e88f73d3b6ef4d0167a5df6ad81c4725fb3b2be19e2c7bad13ef36ff6c100b8788fa2085285e462f0d2b3dfaf8bd67b0804a137969054cb5ae
|
||||
DIST go-darwin-amd64-bootstrap-1.8.tbz 55053831 BLAKE2B 7d87ff36b0e13b3b3c0b8ffc4516493e1a6dde1287675b85b591c1d0a8438c9cb9c8991dc53d3c94c5ebb26830da1c7177ef1f90c250c1efeb5868020abcc660 SHA512 4cc24d44c84c94feafab021c0977fcea2aca8f191c6395e38fff68154b1e64efc3f94331c3e36c7b69901af58e9d53545c682f0a742d36b2d230508bd69777c4
|
||||
DIST go-freebsd-386-bootstrap-1.8.tbz 53739013 BLAKE2B a91e0a6b601aadc965f774ffd25a185e1f300e7194e969337f32bf9cb3056769786d92ef697271e7434d72c04d9d6780bf0fb3cb70efa83fe53cc18dc23670ec SHA512 c92f849b2d92401657412cccc589042b2747e55b2f4813d674c5bc91c3f535ee60f8ed7b8cbf1320e216d22a16dade8b78bb8071982895901f2b3c304e38f478
|
||||
DIST go-freebsd-amd64-bootstrap-1.8.tbz 55103927 BLAKE2B 30e4e4bcb43da3a170f520b47cd032a524d4c4977a9c76c4d597bb50e21a3ad2ef764dec15085d97cb5791bd483d8fac10ef5949c56b46e7580468fc9c90a78c SHA512 c7d50731ff41147295ef5f3233aa1404081b47e786a300e1d0e4db8348e56bd73fe5f169fe8b807ffa37a53683e3aef16ebb6e877d802b86ff1a3d5d3a6f44cb
|
||||
DIST go-linux-386-bootstrap-1.13.6.tbz 116991833 BLAKE2B e15c4dd3c9bfb233f81d318591df5cb2a73e033a088cd652371f6933b8732c7d5c1292ec8110b23f85b30d5afdea97e798b264c61f5651db08c7ac903e8dcbb6 SHA512 114c2f670f21624f0dfefabb99b7263e2133e58c2072ce341a6ea604278e22361779f2e0d3771b7a427e979d7e34f3fc3afcd0f8297d778c3552858ce64ec0c8
|
||||
DIST go-linux-386-bootstrap-1.8.tbz 53843745 BLAKE2B 6bbb6df7ea0f7307386590524261f9ec477e7032171020ac3ed4a09bf9c39075ba4143c466611b0ab28cc4b494dec75063ecb291d2166a82bc7601562e7e3685 SHA512 b456f7572d04c805a6fc756647c050460f76e5404dba41963c861c92f1600e9fedafe181a1f69132518065737a88edb4b183ec8c3ca24bc8df31279117e92606
|
||||
DIST go-linux-amd64-bootstrap-1.13.6.tbz 116924754 BLAKE2B 3a28ded6df7e04081c727ad90ad2c8b67e1171aea8cd86b9570d65b275c2a4f1a84084d65a6c3e2efbece5594ba1aad3efc1a2fba36aa2dc68902c5c228c05e8 SHA512 3ade49da050d132309357a190628c3ff3a93cffa88f56e1d771f53358c825f210b6870870a96fdbc27717f1b464d904a6f605073377de2f0516cf635a1ce8241
|
||||
DIST go-linux-amd64-bootstrap-1.8.tbz 55399105 BLAKE2B 2a0b101b9dfd9db8c62dfc12418a7b03d6a346de43f7c75a8272d05ca12c36b4844b0f631199c5944a436e50aeeb6cd591323268ecdf33ec2412283efab8c59b SHA512 89d68cfe0e6ce4be690cf52a4a02b17ef2cae3538b057d4690bfd6e93727bcdc1cbc17cba3403e652bb95bffd25d44bdd4efd0014d1d2f019838bde925139f57
|
||||
DIST go-linux-arm-bootstrap-1.13.6.tbz 112324731 BLAKE2B 18166e279b1d30f48e08007df8639775b58081805a7e5799dae14e0b357330cf69997f4a5c844bd10a9eeef44225d52f26197e07d16bb7a42fe5a6185634f4b5 SHA512 4d502e2231c1822dacb62cd00b435d52710b1511715385c0b3ddf9f66a446ae90e9b1628b501ba8e1d1a94ca5c28249a323da56f869e88480aa6c249ca001c6e
|
||||
DIST go-linux-arm-bootstrap-1.8.tbz 53948103 BLAKE2B 515051e777ad273999c82f31b8a07ba61b77fbeede761a72b52c0bc3a7b55da013b5061af03a1b9634bf7b44429d7b371b89be85fb9e4f3a23d4d1a3c52bd90b SHA512 98ff0dbdb2aca9e54ea5327c9d31ce389e434a887015ef8555a8e85223a9998075c5013045275fb995a877a8d247704a21d726d46df7097adc0c4aa03af4cd68
|
||||
DIST go-linux-arm64-bootstrap-1.13.6.tbz 110290994 BLAKE2B dc8985a305d1ef3ae683de9787333f0be3d43d5e642a3b5a315cf003311fb47e55588eb1acf816e5eb4215802832a43445ebecedfd2d680d350cb65e0ce7394f SHA512 bc5f4c4554987a5df735bb96c9b8ae78624169d847ab17ea9b0e969ecaab109311892cf1985d576cd46bf271562b724c6a3796472e197a2c8bb48da0d51128a9
|
||||
DIST go-linux-arm64-bootstrap-1.8.tbz 51947002 BLAKE2B 5899f5d304031eae96b66ed7aa21f5af13b0fdfdcd7a12095bda2eff0f5fe5610135f9370b34681e4c33f33c1e0428a2a09c1c8a581c6b170da223f57cac4607 SHA512 adfbe62c5594c267707078bf8afb94a793dfba004c04a1a60f96d023d96c2fc4a6a422dee93a0f3487b1f2e1e117c7c6c607b62126dd5535686aaed88f6659d9
|
||||
DIST go-linux-ppc64-bootstrap-1.13.6.tbz 110762916 BLAKE2B 19d44da5bcd1f4832772469beed509475f9a38ab55b386490faf1b270ffd7cc13d315dfe4746b3b9ca6a324c0e6f2e0144a3146d43bd6210d0479063f8627e34 SHA512 2a76c6168d7ba0c7eb020a1af4eccb2a5aee510a1f8e4bb438f5ea769677724c1450209c2fc9a4ccff1084f1a091a568e667ec33a5d537539a09ece426cf82d8
|
||||
DIST go-linux-ppc64-bootstrap-1.8.tbz 52315782 BLAKE2B 6be0a48e8bc4e5fed4d34f8aaa8dfb6ad4d513064275dd940d0f58b25d442b33ad71c11687d317448b93d9c4690f7412e5a6a4553ec5298663409416cec04fbf SHA512 0aa32ac1514055ed9140b8c8330cbdbadfd9da6ad00b60d49b0685473be21e0b6510c31394678e32048f2f38d06a0d575f453c555614664eaef2bf5be6c91734
|
||||
DIST go-linux-ppc64le-bootstrap-1.13.6.tbz 110086770 BLAKE2B a3f2c1b840f85d7726336285a56d1850fd10f32d90341836a4124a7d181778c3a1cff1d576e4a19a4f3556e961d84fa77202891725b5237121040bdd020af339 SHA512 6c4bd54fafea65fbb16a3e6c57b721c10654a5f18879c164f6889a01ec6581b13b450622e83897032ab3ed43a9ff4a7edb6d30c56d41dd23991e8453c1bae359
|
||||
DIST go-linux-ppc64le-bootstrap-1.8.tbz 52211575 BLAKE2B 7a28ec5a381369c4e9415c8360e904c2545380513afd328077c584e8af0bf6bd818aa03e5a58c350cbb98facc1c9dccb02b06adcb27233875497cf5d33265912 SHA512 6931d999dd0ee1ff44c4cec48acb27af061f57f87aa74802dcebab78553b46bc8ac732f07fe91e5074dbdd32c55b707994875934bfb12bb4276d71eb1d06c4ba
|
||||
DIST go-linux-s390x-bootstrap-1.13.6.tbz 115641137 BLAKE2B 7ab94a8f7c839ee8fb58673ed5ad00a569a0bae7a13bb214098154aedb1c272837d0903c226cb87b5eb46475589ddcd56e1afafc81ddaea988ce3c3ddca686d1 SHA512 794b72f48634a7f7dfb41c64607d66974ef9413a68e39a3959a981e2aaf356fd2cec9e2eb0c25d1b7b3d179c0a72ce053dc9c69463bde0ec893ab472f7076204
|
||||
DIST go-linux-s390x-bootstrap-1.8.tbz 57124869 BLAKE2B 920a176b8f4fc3a816e724324bbb30a383d599e31a0d2093d24797dbcd0e799a662a3589dbb87d2f5dd16df07c4cf8f1e444e87b540ec732746bb025dc9271f8 SHA512 d429cae870d66217ab2e07c74209d3031d97baa4f899b4d70ae6283a1a5b1434b037904c4cfca0b2bc798d5ba0b358c3739e000eccbc74809baf564c5686df5a
|
||||
DIST go-solaris-amd64-bootstrap-1.13.6.tbz 116214396 BLAKE2B 3f5d6fcf2131a0944b2846eab2fc069f5d90fea1e7d98e8bd50ba5091d4b2ae01964fa71c29310fa7ff7c990ca0dd1afc83577174a46552d58d611716fedb854 SHA512 2d2c281c196729dd97f338fe3bd7396268c0b6fcfc8241b99a939f647201ed39929a5b0a096b9d1f7ffb20f79fd7b3cc25127d7a93f9836f6f0d1e5dbc2c6235
|
||||
DIST go-solaris-amd64-bootstrap-1.8.tbz 54926326 BLAKE2B 0a45312f090d81ebf46fe5950cb65c059e2801394231e715e94145d1f918eb59b10472b2385e57ebd5cfb9eca0ad7290fb118436486b665520bb540970f971ab SHA512 52b849e5b9a940e10de7ba3df0ebdf6e1c5d631de9581d936c9edf8f38e6bb3314acbc2b2d5202b0528fde2a359d52bc0c6f39acf9b1b614725e4b4a947ed10d
|
||||
DIST go1.12.13.src.tar.gz 21980338 BLAKE2B 205bee35a947ccd08f36547530e3de7928f5f3970be89580ddff80f7710dd1dcf4f292c10ec93c27717ce25ce2575f7151129430b80d1fb927872f891166d8db SHA512 a8210ba909c1bb26799625bbf648204dbef5a9f91af323277f76caee489f5912a08e9de686b71fe97d30c7dc171d5f4bcf8a2c2227d02353cfbb7d292c9efc22
|
||||
DIST go1.12.14.src.tar.gz 20726032 BLAKE2B 2defecd29568974c1618ce0da42d9e28ef41904ed3f759b51c7e392ed9dea950a4984efa333e52b413fab3dac8270bb99f60e113712bfc648c4c9af0e19aba7d SHA512 6cd225282fbade8bd7e96789744c7db07f223f5309358ca3768c95c34a099b44bd9ba9adc2ce293a5bbd608237ae6473b86e7bb451db395c647809fc2750dd4c
|
||||
DIST go1.12.15.src.tar.gz 20726294 BLAKE2B d123fc2328bf9db8f7337108e3d6857c31e10829096d47fb58519861b68bc0e2bdc9f032fc076666124ab418d3f37026107d6a853021fecbf26138bf00963572 SHA512 887e331c73b9d174e4a707a85be389fa0de43c77bc191ef5e0fe326ac7285374404450ca081cb8e92514a973d25d0314ca74eb17c8e53f8386e1798edd9d41aa
|
||||
DIST go1.13.4.src.tar.gz 21619153 BLAKE2B 2efc86fd0830b9c8935c856244baaec1e63232dd08b696544da900927ba56fd686b5899ec1640fbcbb21c8c5ac9581cfde3fcb5c06ccfabd0fd2f181b398da46 SHA512 e8155cdceca2ebefd386feef98223bbdc92d9316f7188d4ba701cf43a723b75a9bf67a1eb92ac80987b7a113a2fb6981ef235292bec7dd3964805b7c33abdbb1
|
||||
DIST go1.13.5.src.tar.gz 21629437 BLAKE2B c39a52e73136a322a1b6b4ee6888672848ff2b3278d8034ec25b93101fff2b63212d66c065d3d974ca7e8686cba8a9ea9c4fedb23cad51b6cd76adae6db6eb42 SHA512 bc9ddb12855c66dba5fe859bd13b7b3163259b8a8b0d3cbf6892e528ae4c6418c6b4c0d49838e7a5fc2e9f404484899b8f30c45e49e7d30109093025b62ed6c0
|
||||
DIST go1.13.6.src.tar.gz 21631050 BLAKE2B 8923021d5ff785f5422ee204ee81c986fc066a878a347bc73625974f05045689f694f76147c9bf7956dc59d6e3d3a543f0970e0716df8cd4f6556c28fe23808b SHA512 dffb6e06eea0b1541901dfbed8d28e8cc1eac3184dc40a19ed3637737df796a67a2e7170b228e1003d36b14e6f0f13bb8be9d2a702834a9c06228d1821659528
|
||||
|
@ -1,246 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
export CBUILD=${CBUILD:-${CHOST}}
|
||||
export CTARGET=${CTARGET:-${CHOST}}
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
BOOTSTRAP_VERSION="bootstrap-1.8"
|
||||
BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
|
||||
BOOTSTRAP_URI="
|
||||
${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
|
||||
"
|
||||
|
||||
case ${PV} in
|
||||
*9999*)
|
||||
EGIT_REPO_URI="https://github.com/golang/go.git"
|
||||
inherit git-r3
|
||||
;;
|
||||
*)
|
||||
SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
|
||||
S="${WORKDIR}"/go
|
||||
case ${PV} in
|
||||
*_beta*|*_rc*) ;;
|
||||
*)
|
||||
KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
# The upstream tests fail under portage but pass if the build is
|
||||
# run according to their documentation [1].
|
||||
# I am restricting the tests on released versions until this is
|
||||
# solved.
|
||||
# [1] https://golang.org/issues/18442
|
||||
RESTRICT="test"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
# If gccgo or a previously installed version of dev-lang/go is not being
|
||||
# used to build Go, there is no way to know the architecture or operating system
|
||||
# of the build machine, so we need to download all of our bootstrap
|
||||
# archives to allow this ebuild to work under crossdev.
|
||||
#
|
||||
# https://bugs.gentoo.org/671394
|
||||
SRC_URI+="!gccgo? ( !system-bootstrap? ( ${BOOTSTRAP_URI} ) )"
|
||||
|
||||
DESCRIPTION="A concurrent garbage collected and typesafe programming language"
|
||||
HOMEPAGE="https://golang.org"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
IUSE="gccgo system-bootstrap"
|
||||
|
||||
BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
|
||||
RDEPEND="!<dev-go/go-tools-0_pre20150902"
|
||||
|
||||
# These test data objects have writable/executable stacks.
|
||||
QA_EXECSTACK="
|
||||
usr/lib/go/src/debug/elf/testdata/*.obj
|
||||
usr/lib/go/src/*.gox
|
||||
"
|
||||
|
||||
# Do not complain about CFLAGS, etc, since Go doesn't use them.
|
||||
QA_FLAGS_IGNORED='.*'
|
||||
|
||||
REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
|
||||
|
||||
# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
|
||||
QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
|
||||
|
||||
# Do not strip this package. Stripping is unsupported upstream and may
|
||||
# fail.
|
||||
RESTRICT+=" strip"
|
||||
|
||||
DOCS=(
|
||||
AUTHORS
|
||||
CONTRIBUTING.md
|
||||
CONTRIBUTORS
|
||||
PATENTS
|
||||
README.md
|
||||
)
|
||||
|
||||
go_arch()
|
||||
{
|
||||
# By chance most portage arch names match Go
|
||||
local portage_arch=$(tc-arch $@)
|
||||
case "${portage_arch}" in
|
||||
x86) echo 386;;
|
||||
x64-*) echo amd64;;
|
||||
ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
|
||||
s390) echo s390x ;;
|
||||
*) echo "${portage_arch}";;
|
||||
esac
|
||||
}
|
||||
|
||||
go_arm()
|
||||
{
|
||||
case "${1:-${CHOST}}" in
|
||||
armv5*) echo 5;;
|
||||
armv6*) echo 6;;
|
||||
armv7*) echo 7;;
|
||||
*)
|
||||
die "unknown GOARM for ${1:-${CHOST}}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
go_os()
|
||||
{
|
||||
case "${1:-${CHOST}}" in
|
||||
*-linux*) echo linux;;
|
||||
*-darwin*) echo darwin;;
|
||||
*-freebsd*) echo freebsd;;
|
||||
*-netbsd*) echo netbsd;;
|
||||
*-openbsd*) echo openbsd;;
|
||||
*-solaris*) echo solaris;;
|
||||
*-cygwin*|*-interix*|*-winnt*)
|
||||
echo windows
|
||||
;;
|
||||
*)
|
||||
die "unknown GOOS for ${1:-${CHOST}}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
go_tuple()
|
||||
{
|
||||
echo "$(go_os $@)_$(go_arch $@)"
|
||||
}
|
||||
|
||||
go_cross_compile()
|
||||
{
|
||||
[[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
|
||||
}
|
||||
|
||||
pkg_pretend()
|
||||
{
|
||||
# make.bash does not understand cross-compiling a cross-compiler
|
||||
if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
|
||||
die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
|
||||
fi
|
||||
[[ ${MERGE_TYPE} != binary ]] &&
|
||||
use system-bootstrap && ! has_version "dev-lang/go" &&
|
||||
die "dev-lang/go must be installed to use the system-bootstrap use flag"
|
||||
}
|
||||
|
||||
src_unpack()
|
||||
{
|
||||
if [[ ${PV} = 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack "go${MY_PV}.src.tar.gz"
|
||||
fi
|
||||
use gccgo || use system-bootstrap ||
|
||||
unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz"
|
||||
}
|
||||
|
||||
src_compile()
|
||||
{
|
||||
export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
|
||||
if use gccgo; then
|
||||
mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
|
||||
local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
|
||||
[[ -x ${go_binary} ]] || go_binary=$(
|
||||
find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
|
||||
sort -V | tail -n1)
|
||||
[[ -x ${go_binary} ]] ||
|
||||
die "go-$(gcc-major-version): command not found"
|
||||
ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
|
||||
elif use system-bootstrap; then
|
||||
export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go
|
||||
fi
|
||||
export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
|
||||
export GOROOT="$(pwd)"
|
||||
export GOBIN="${GOROOT}/bin"
|
||||
|
||||
# Go's build script does not use BUILD/HOST/TARGET consistently. :(
|
||||
export GOHOSTARCH=$(go_arch ${CBUILD})
|
||||
export GOHOSTOS=$(go_os ${CBUILD})
|
||||
export CC=$(tc-getBUILD_CC)
|
||||
|
||||
export GOARCH=$(go_arch)
|
||||
export GOOS=$(go_os)
|
||||
export CC_FOR_TARGET=$(tc-getCC)
|
||||
export CXX_FOR_TARGET=$(tc-getCXX)
|
||||
if [[ ${ARCH} == arm ]]; then
|
||||
export GOARM=$(go_arm)
|
||||
fi
|
||||
|
||||
cd src
|
||||
./make.bash || die "build failed"
|
||||
}
|
||||
|
||||
src_test()
|
||||
{
|
||||
go_cross_compile && return 0
|
||||
|
||||
cd src
|
||||
PATH="${GOBIN}:${PATH}" \
|
||||
./run.bash -no-rebuild || die "tests failed"
|
||||
}
|
||||
|
||||
src_install()
|
||||
{
|
||||
local bin_path f x
|
||||
|
||||
dodir /usr/lib/go
|
||||
|
||||
# There is a known issue which requires the source tree to be installed [1].
|
||||
# Once this is fixed, we can consider using the doc use flag to control
|
||||
# installing the doc and src directories.
|
||||
# [1] https://golang.org/issue/2775
|
||||
#
|
||||
# deliberately use cp to retain permissions
|
||||
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
|
||||
if go_cross_compile; then
|
||||
bin_path="bin/$(go_tuple)"
|
||||
else
|
||||
bin_path=bin
|
||||
fi
|
||||
for x in ${bin_path}/*; do
|
||||
f=${x##*/}
|
||||
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
|
||||
done
|
||||
einstalldocs
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name for test object (binutils_test) on Darwin, it
|
||||
# is never used in real circumstances
|
||||
local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
|
||||
libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
|
||||
install_name_tool -id "${libmac64}" "${D}${libmac64}"
|
||||
fi
|
||||
}
|
@ -1,246 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
export CBUILD=${CBUILD:-${CHOST}}
|
||||
export CTARGET=${CTARGET:-${CHOST}}
|
||||
|
||||
MY_PV=${PV/_/}
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
BOOTSTRAP_VERSION="bootstrap-1.8"
|
||||
BOOTSTRAP_DIST="https://dev.gentoo.org/~williamh/dist"
|
||||
BOOTSTRAP_URI="
|
||||
${BOOTSTRAP_DIST}/go-linux-amd64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-arm-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-arm64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-ppc64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-ppc64le-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-s390x-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-linux-386-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-freebsd-amd64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-freebsd-386-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-darwin-amd64-${BOOTSTRAP_VERSION}.tbz
|
||||
${BOOTSTRAP_DIST}/go-solaris-amd64-${BOOTSTRAP_VERSION}.tbz
|
||||
"
|
||||
|
||||
case ${PV} in
|
||||
*9999*)
|
||||
EGIT_REPO_URI="https://github.com/golang/go.git"
|
||||
inherit git-r3
|
||||
;;
|
||||
*)
|
||||
SRC_URI="https://storage.googleapis.com/golang/go${MY_PV}.src.tar.gz "
|
||||
S="${WORKDIR}"/go
|
||||
case ${PV} in
|
||||
*_beta*|*_rc*) ;;
|
||||
*)
|
||||
KEYWORDS="-* ~amd64 ~arm ~arm64 ~ppc64 ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
# The upstream tests fail under portage but pass if the build is
|
||||
# run according to their documentation [1].
|
||||
# I am restricting the tests on released versions until this is
|
||||
# solved.
|
||||
# [1] https://golang.org/issues/18442
|
||||
RESTRICT="test"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
# If gccgo or a previously installed version of dev-lang/go is not being
|
||||
# used to build Go, there is no way to know the architecture or operating system
|
||||
# of the build machine, so we need to download all of our bootstrap
|
||||
# archives to allow this ebuild to work under crossdev.
|
||||
#
|
||||
# https://bugs.gentoo.org/671394
|
||||
SRC_URI+="!gccgo? ( !system-bootstrap? ( ${BOOTSTRAP_URI} ) )"
|
||||
|
||||
DESCRIPTION="A concurrent garbage collected and typesafe programming language"
|
||||
HOMEPAGE="https://golang.org"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
IUSE="gccgo system-bootstrap"
|
||||
|
||||
BDEPEND="gccgo? ( >=sys-devel/gcc-5[go] )"
|
||||
RDEPEND="!<dev-go/go-tools-0_pre20150902"
|
||||
|
||||
# These test data objects have writable/executable stacks.
|
||||
QA_EXECSTACK="
|
||||
usr/lib/go/src/debug/elf/testdata/*.obj
|
||||
usr/lib/go/src/*.gox
|
||||
"
|
||||
|
||||
# Do not complain about CFLAGS, etc, since Go doesn't use them.
|
||||
QA_FLAGS_IGNORED='.*'
|
||||
|
||||
REQUIRES_EXCLUDE="/usr/lib/go/src/debug/elf/testdata/*"
|
||||
|
||||
# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
|
||||
QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
|
||||
|
||||
# Do not strip this package. Stripping is unsupported upstream and may
|
||||
# fail.
|
||||
RESTRICT+=" strip"
|
||||
|
||||
DOCS=(
|
||||
AUTHORS
|
||||
CONTRIBUTING.md
|
||||
CONTRIBUTORS
|
||||
PATENTS
|
||||
README.md
|
||||
)
|
||||
|
||||
go_arch()
|
||||
{
|
||||
# By chance most portage arch names match Go
|
||||
local portage_arch=$(tc-arch $@)
|
||||
case "${portage_arch}" in
|
||||
x86) echo 386;;
|
||||
x64-*) echo amd64;;
|
||||
ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
|
||||
s390) echo s390x ;;
|
||||
*) echo "${portage_arch}";;
|
||||
esac
|
||||
}
|
||||
|
||||
go_arm()
|
||||
{
|
||||
case "${1:-${CHOST}}" in
|
||||
armv5*) echo 5;;
|
||||
armv6*) echo 6;;
|
||||
armv7*) echo 7;;
|
||||
*)
|
||||
die "unknown GOARM for ${1:-${CHOST}}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
go_os()
|
||||
{
|
||||
case "${1:-${CHOST}}" in
|
||||
*-linux*) echo linux;;
|
||||
*-darwin*) echo darwin;;
|
||||
*-freebsd*) echo freebsd;;
|
||||
*-netbsd*) echo netbsd;;
|
||||
*-openbsd*) echo openbsd;;
|
||||
*-solaris*) echo solaris;;
|
||||
*-cygwin*|*-interix*|*-winnt*)
|
||||
echo windows
|
||||
;;
|
||||
*)
|
||||
die "unknown GOOS for ${1:-${CHOST}}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
go_tuple()
|
||||
{
|
||||
echo "$(go_os $@)_$(go_arch $@)"
|
||||
}
|
||||
|
||||
go_cross_compile()
|
||||
{
|
||||
[[ $(go_tuple ${CBUILD}) != $(go_tuple) ]]
|
||||
}
|
||||
|
||||
pkg_pretend()
|
||||
{
|
||||
# make.bash does not understand cross-compiling a cross-compiler
|
||||
if [[ $(go_tuple) != $(go_tuple ${CTARGET}) ]]; then
|
||||
die "CHOST CTARGET pair unsupported: CHOST=${CHOST} CTARGET=${CTARGET}"
|
||||
fi
|
||||
[[ ${MERGE_TYPE} != binary ]] &&
|
||||
use system-bootstrap && ! has_version "dev-lang/go" &&
|
||||
die "dev-lang/go must be installed to use the system-bootstrap use flag"
|
||||
}
|
||||
|
||||
src_unpack()
|
||||
{
|
||||
if [[ ${PV} = 9999 ]]; then
|
||||
git-r3_src_unpack
|
||||
else
|
||||
unpack "go${MY_PV}.src.tar.gz"
|
||||
fi
|
||||
use gccgo || use system-bootstrap ||
|
||||
unpack "go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-${BOOTSTRAP_VERSION}.tbz"
|
||||
}
|
||||
|
||||
src_compile()
|
||||
{
|
||||
export GOROOT_BOOTSTRAP="${WORKDIR}"/go-$(go_os ${CBUILD})-$(go_arch ${CBUILD})-bootstrap
|
||||
if use gccgo; then
|
||||
mkdir -p "${GOROOT_BOOTSTRAP}/bin" || die
|
||||
local go_binary=$(gcc-config --get-bin-path)/go-$(gcc-major-version)
|
||||
[[ -x ${go_binary} ]] || go_binary=$(
|
||||
find "${EPREFIX}"/usr/${CHOST}/gcc-bin/*/go-$(gcc-major-version) |
|
||||
sort -V | tail -n1)
|
||||
[[ -x ${go_binary} ]] ||
|
||||
die "go-$(gcc-major-version): command not found"
|
||||
ln -s "${go_binary}" "${GOROOT_BOOTSTRAP}/bin/go" || die
|
||||
elif use system-bootstrap; then
|
||||
export GOROOT_BOOTSTRAP="${EPREFIX}"/usr/lib/go
|
||||
fi
|
||||
export GOROOT_FINAL="${EPREFIX}"/usr/lib/go
|
||||
export GOROOT="$(pwd)"
|
||||
export GOBIN="${GOROOT}/bin"
|
||||
|
||||
# Go's build script does not use BUILD/HOST/TARGET consistently. :(
|
||||
export GOHOSTARCH=$(go_arch ${CBUILD})
|
||||
export GOHOSTOS=$(go_os ${CBUILD})
|
||||
export CC=$(tc-getBUILD_CC)
|
||||
|
||||
export GOARCH=$(go_arch)
|
||||
export GOOS=$(go_os)
|
||||
export CC_FOR_TARGET=$(tc-getCC)
|
||||
export CXX_FOR_TARGET=$(tc-getCXX)
|
||||
if [[ ${ARCH} == arm ]]; then
|
||||
export GOARM=$(go_arm)
|
||||
fi
|
||||
|
||||
cd src
|
||||
./make.bash || die "build failed"
|
||||
}
|
||||
|
||||
src_test()
|
||||
{
|
||||
go_cross_compile && return 0
|
||||
|
||||
cd src
|
||||
PATH="${GOBIN}:${PATH}" \
|
||||
./run.bash -no-rebuild || die "tests failed"
|
||||
}
|
||||
|
||||
src_install()
|
||||
{
|
||||
local bin_path f x
|
||||
|
||||
dodir /usr/lib/go
|
||||
|
||||
# There is a known issue which requires the source tree to be installed [1].
|
||||
# Once this is fixed, we can consider using the doc use flag to control
|
||||
# installing the doc and src directories.
|
||||
# [1] https://golang.org/issue/2775
|
||||
#
|
||||
# deliberately use cp to retain permissions
|
||||
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
|
||||
if go_cross_compile; then
|
||||
bin_path="bin/$(go_tuple)"
|
||||
else
|
||||
bin_path=bin
|
||||
fi
|
||||
for x in ${bin_path}/*; do
|
||||
f=${x##*/}
|
||||
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
|
||||
done
|
||||
einstalldocs
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name for test object (binutils_test) on Darwin, it
|
||||
# is never used in real circumstances
|
||||
local libmac64="${EPREFIX}"/usr/lib/go/src/cmd/vendor/github.com/
|
||||
libmac64+=google/pprof/internal/binutils/testdata/lib_mac_64
|
||||
install_name_tool -id "${libmac64}" "${D}${libmac64}"
|
||||
fi
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
diff -rdu old/src/luaconf.h new/src/luaconf.h
|
||||
--- old/src/luaconf.h 2008-02-12 17:00:03.000000000 +0000
|
||||
+++ new/src/luaconf.h 2008-02-12 17:07:55.000000000 +0000
|
||||
@@ -340,14 +340,14 @@
|
||||
** CHANGE it to undefined as soon as your programs use only '...' to
|
||||
** access vararg parameters (instead of the old 'arg' table).
|
||||
*/
|
||||
-#define LUA_COMPAT_VARARG
|
||||
+#undef LUA_COMPAT_VARARG
|
||||
|
||||
/*
|
||||
@@ LUA_COMPAT_MOD controls compatibility with old math.mod function.
|
||||
** CHANGE it to undefined as soon as your programs use 'math.fmod' or
|
||||
** the new '%' operator instead of 'math.mod'.
|
||||
*/
|
||||
-#define LUA_COMPAT_MOD
|
||||
+#undef LUA_COMPAT_MOD
|
||||
|
||||
/*
|
||||
@@ LUA_COMPAT_LSTR controls compatibility with old long string nesting
|
||||
@@ -355,14 +355,14 @@
|
||||
** CHANGE it to 2 if you want the old behaviour, or undefine it to turn
|
||||
** off the advisory error when nesting [[...]].
|
||||
*/
|
||||
-#define LUA_COMPAT_LSTR 1
|
||||
+#undef LUA_COMPAT_LSTR
|
||||
|
||||
/*
|
||||
@@ LUA_COMPAT_GFIND controls compatibility with old 'string.gfind' name.
|
||||
** CHANGE it to undefined as soon as you rename 'string.gfind' to
|
||||
** 'string.gmatch'.
|
||||
*/
|
||||
-#define LUA_COMPAT_GFIND
|
||||
+#undef LUA_COMPAT_GFIND
|
||||
|
||||
/*
|
||||
@@ LUA_COMPAT_OPENLIB controls compatibility with old 'luaL_openlib'
|
||||
@@ -370,7 +370,7 @@
|
||||
** CHANGE it to undefined as soon as you replace to 'luaL_register'
|
||||
** your uses of 'luaL_openlib'
|
||||
*/
|
||||
-#define LUA_COMPAT_OPENLIB
|
||||
+#undef LUA_COMPAT_OPENLIB
|
||||
|
||||
|
||||
|
||||
diff -rdu old/test/sieve.lua new/test/sieve.lua
|
||||
Rename deprecated functions in test scripts
|
||||
--- old/test/sieve.lua~ 2002-10-31 03:52:58.000000000 +0100
|
||||
+++ new/test/sieve.lua 2008-02-20 17:44:22.468281121 +0100
|
||||
@@ -14,7 +14,7 @@
|
||||
while 1 do
|
||||
local n = g()
|
||||
if n == nil then return end
|
||||
- if math.mod(n, p) ~= 0 then coroutine.yield(n) end
|
||||
+ if math.fmod(n, p) ~= 0 then coroutine.yield(n) end
|
||||
end
|
||||
end)
|
||||
end
|
@ -0,0 +1,118 @@
|
||||
--- old/Makefile 2012-02-10 10:50:23.000000000 +0100
|
||||
+++ new/Makefile 2019-07-12 12:00:30.807725876 +0200
|
||||
@@ -22,7 +22,8 @@
|
||||
|
||||
# How to install. If your install program does not support "-p", then you
|
||||
# may have to run ranlib on the installed liblua.a (do "make ranlib").
|
||||
-INSTALL= install -p
|
||||
+INSTALL?= install -p
|
||||
+INSTALL_LINK= ln -s
|
||||
INSTALL_EXEC= $(INSTALL) -m 0755
|
||||
INSTALL_DATA= $(INSTALL) -m 0644
|
||||
#
|
||||
@@ -33,7 +34,7 @@
|
||||
|
||||
# Utilities.
|
||||
MKDIR= mkdir -p
|
||||
-RANLIB= ranlib
|
||||
+RANLIB?= ranlib
|
||||
|
||||
# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE =========
|
||||
|
||||
@@ -47,13 +48,17 @@
|
||||
TO_MAN= lua.1 luac.1
|
||||
|
||||
# Lua version and release.
|
||||
+M= 5
|
||||
V= 5.1
|
||||
R= 5.1.5
|
||||
|
||||
+# Export to sub-make
|
||||
+export M R
|
||||
+
|
||||
all: $(PLAT)
|
||||
|
||||
$(PLATS) clean:
|
||||
- cd src && $(MAKE) $@
|
||||
+ cd src && $(MKDIR) .libs && $(MAKE) $@
|
||||
|
||||
test: dummy
|
||||
src/lua test/hello.lua
|
||||
@@ -61,6 +66,8 @@
|
||||
install: dummy
|
||||
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
|
||||
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
|
||||
+ cd src && $(INSTALL_EXEC) $(TO_LIB:.a=.so.$(R)) $(INSTALL_LIB)
|
||||
+ cd src && $(INSTALL_LINK) $(TO_LIB:.a=.so.$(R)) $(INSTALL_LIB)/$(TO_LIB:.a=.so.$(M))
|
||||
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
|
||||
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
|
||||
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
|
||||
--- old/src/Makefile 2012-02-13 21:41:22.000000000 +0100
|
||||
+++ new/src/Makefile 2019-07-12 11:31:02.945290602 +0200
|
||||
@@ -7,12 +7,14 @@
|
||||
# Your platform. See PLATS for possible values.
|
||||
PLAT= none
|
||||
|
||||
-CC= gcc
|
||||
-CFLAGS= -O2 -Wall $(MYCFLAGS)
|
||||
-AR= ar rcu
|
||||
-RANLIB= ranlib
|
||||
+CC?= gcc
|
||||
+CFLAGS?= -O2 -Wall $(MYCFLAGS)
|
||||
+SOFLAGS= -shared -fPIC -DPIC -Wl,-O1 -Wl,--as-needed -Wl,-soname -Wl,$(LUA_A:.a=.so.$(M)) $(MYLDFLAGS)
|
||||
+AR?= ar
|
||||
+ARFLAGS?= rcu
|
||||
+RANLIB?= ranlib
|
||||
RM= rm -f
|
||||
-LIBS= -lm $(MYLIBS)
|
||||
+LIBS?= -lm $(MYLIBS)
|
||||
|
||||
MYCFLAGS=
|
||||
MYLDFLAGS=
|
||||
@@ -35,8 +37,11 @@
|
||||
LUAC_T= luac
|
||||
LUAC_O= luac.o print.o
|
||||
|
||||
-ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
|
||||
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
|
||||
+LUAS_T= $(LUA_A:.a=.so.$(R))
|
||||
+LUAS_O= $(addprefix .libs/,$(CORE_O) $(LIB_O) $(LUA_O))
|
||||
+
|
||||
+ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) $(LUAS_O)
|
||||
+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUAS_T)
|
||||
ALL_A= $(LUA_A)
|
||||
|
||||
default: $(PLAT)
|
||||
@@ -48,9 +53,12 @@
|
||||
a: $(ALL_A)
|
||||
|
||||
$(LUA_A): $(CORE_O) $(LIB_O)
|
||||
- $(AR) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
|
||||
+ $(AR) $(ARFLAGS) $@ $(CORE_O) $(LIB_O) # DLL needs all object files
|
||||
$(RANLIB) $@
|
||||
|
||||
+$(LUAS_T): $(LUAS_O)
|
||||
+ $(CC) -o $@ $(SOFLAGS) $(LUAS_O) $(LIBS)
|
||||
+
|
||||
$(LUA_T): $(LUA_O) $(LUA_A)
|
||||
$(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
|
||||
|
||||
@@ -67,7 +75,7 @@
|
||||
@echo "PLAT = $(PLAT)"
|
||||
@echo "CC = $(CC)"
|
||||
@echo "CFLAGS = $(CFLAGS)"
|
||||
- @echo "AR = $(AR)"
|
||||
+ @echo "AR = $(AR) $(ARFLAGS)"
|
||||
@echo "RANLIB = $(RANLIB)"
|
||||
@echo "RM = $(RM)"
|
||||
@echo "MYCFLAGS = $(MYCFLAGS)"
|
||||
@@ -120,6 +128,9 @@
|
||||
|
||||
# DO NOT DELETE
|
||||
|
||||
+.libs/%o: %c
|
||||
+ $(CC) $(CFLAGS) -fPIC -DPIC -c -o $@ $<
|
||||
+
|
||||
lapi.o: lapi.c lua.h luaconf.h lapi.h lobject.h llimits.h ldebug.h \
|
||||
lstate.h ltm.h lzio.h lmem.h ldo.h lfunc.h lgc.h lstring.h ltable.h \
|
||||
lundump.h lvm.h
|
@ -0,0 +1,17 @@
|
||||
--- old/src/luaconf.h 2006-04-10 20:27:23.000000000 +0200
|
||||
+++ new/src/luaconf.h 2006-11-15 14:53:07.000000000 +0100
|
||||
@@ -36,7 +36,6 @@
|
||||
#if defined(LUA_USE_LINUX)
|
||||
#define LUA_USE_POSIX
|
||||
#define LUA_USE_DLOPEN /* needs an extra library: -ldl */
|
||||
-#define LUA_USE_READLINE /* needs some extra libraries */
|
||||
#endif
|
||||
|
||||
#if defined(LUA_USE_MACOSX)
|
||||
--- old/src/Makefile 2012-02-13 21:41:22.000000000 +0100
|
||||
+++ old/src/Makefile 2019-07-09 09:53:00.000000000 +0100
|
||||
@@ -98,3 +98,3 @@
|
||||
linux:
|
||||
- $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"
|
||||
+ $(MAKE) all MYCFLAGS=-DLUA_USE_LINUX MYLIBS="-Wl,-E -ldl"
|
||||
|
@ -0,0 +1,145 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils multilib multilib-minimal portability toolchain-funcs versionator
|
||||
|
||||
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
|
||||
HOMEPAGE="http://www.lua.org/"
|
||||
SRC_URI="http://www.lua.org/ftp/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="5.1"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+deprecated emacs readline static"
|
||||
|
||||
RDEPEND="readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] )
|
||||
app-eselect/eselect-lua
|
||||
!dev-lang/lua:0"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/libtool"
|
||||
PDEPEND="emacs? ( app-emacs/lua-mode )"
|
||||
|
||||
SAN_SLOT="${SLOT//.}"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/lua${SLOT}/luaconf.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
local PATCH_PV=$(get_version_component_range 1-2)
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r2.patch
|
||||
epatch "${FILESDIR}"/${PN}-${PATCH_PV}-module_paths.patch
|
||||
|
||||
# use glibtool on Darwin (versus Apple libtool)
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
sed -i -e '/LIBTOOL = /s:libtool:glibtool:' \
|
||||
Makefile src/Makefile || die
|
||||
fi
|
||||
|
||||
#EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
|
||||
|
||||
# correct lua versioning
|
||||
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\16:5:1/' src/Makefile
|
||||
|
||||
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html
|
||||
|
||||
if ! use deprecated ; then
|
||||
# patches from 5.1.4 still apply
|
||||
epatch "${FILESDIR}"/${PN}-5.1.4-deprecated.patch
|
||||
epatch "${FILESDIR}"/${PN}-5.1.4-test.patch
|
||||
fi
|
||||
|
||||
if ! use readline ; then
|
||||
epatch "${FILESDIR}"/${PN}-${PATCH_PV}-readline.patch
|
||||
fi
|
||||
|
||||
# Using dynamic linked lua is not recommended for performance
|
||||
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
|
||||
# Mainly, this is of concern if your arch is poor with GPRs, like x86
|
||||
# Note that this only affects the interpreter binary (named lua), not the lua
|
||||
# compiler (built statically) nor the lua libraries (both shared and static
|
||||
# are installed)
|
||||
if use static ; then
|
||||
epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make_static-r1.patch
|
||||
fi
|
||||
|
||||
# A slotted Lua uses different directories for headers & names for
|
||||
# libraries, and pkgconfig should reflect that.
|
||||
sed -r -i \
|
||||
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
|
||||
-e "/^Libs:/s,((-llua)($| )),\2${SLOT}\3," \
|
||||
-e "/^Cflags:/s,((-I..includedir.)($| )),\2/lua${SLOT}\3," \
|
||||
"${S}"/etc/lua.pc
|
||||
|
||||
# custom Makefiles
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# We want packages to find our things...
|
||||
sed -i \
|
||||
-e 's:/usr/local:'${EPREFIX}'/usr:' \
|
||||
-e "s:\([/\"]\)\<lib\>:\1$(get_libdir):g" \
|
||||
etc/lua.pc src/luaconf.h || die
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
tc-export CC
|
||||
myflags=
|
||||
# what to link to liblua
|
||||
liblibs="-lm"
|
||||
liblibs="${liblibs} $(dlopen_lib)"
|
||||
|
||||
# what to link to the executables
|
||||
mylibs=
|
||||
if use readline; then
|
||||
mylibs="-lreadline"
|
||||
fi
|
||||
|
||||
cd src
|
||||
emake CC="${CC}" CFLAGS="-DLUA_USE_LINUX ${CFLAGS}" \
|
||||
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
|
||||
LUA_LIBS="${mylibs}" \
|
||||
LIB_LIBS="${liblibs}" \
|
||||
V=$(get_version_component_range 1-2) \
|
||||
gentoo_all
|
||||
|
||||
mv lua_test ../test/lua.static
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
|
||||
V=${SLOT} gentoo_install
|
||||
|
||||
insinto /usr/$(get_libdir)/pkgconfig
|
||||
newins etc/lua.pc lua${SLOT}.pc
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dodoc HISTORY README
|
||||
dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
|
||||
|
||||
doicon etc/lua.ico
|
||||
|
||||
newman doc/lua.1 lua${SLOT}.1
|
||||
newman doc/luac.1 luac${SLOT}.1
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
local positive="bisect cf echo env factorial fib fibfor hello printf sieve
|
||||
sort trace-calls trace-globals"
|
||||
local negative="readonly"
|
||||
local test
|
||||
|
||||
cd "${BUILD_DIR}" || die
|
||||
for test in ${positive}; do
|
||||
test/lua.static test/${test}.lua || die "test $test failed"
|
||||
done
|
||||
|
||||
for test in ${negative}; do
|
||||
test/lua.static test/${test}.lua && die "test $test failed"
|
||||
done
|
||||
}
|
@ -0,0 +1,113 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils multilib multilib-minimal portability toolchain-funcs versionator flag-o-matic
|
||||
|
||||
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
|
||||
HOMEPAGE="http://www.lua.org/"
|
||||
SRC_URI="http://www.lua.org/ftp/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+deprecated emacs readline doc"
|
||||
|
||||
RDEPEND="readline? ( >=sys-libs/readline-6.2_p5-r1:0=[${MULTILIB_USEDEP}] )"
|
||||
DEPEND="${RDEPEND}"
|
||||
PDEPEND="emacs? ( app-emacs/lua-mode )"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/luaconf.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
# Correct documentation link
|
||||
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
|
||||
|
||||
# Using dynamic linked lua is not recommended for performance
|
||||
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
|
||||
# Mainly, this is of concern if your arch is poor with GPRs, like x86.
|
||||
|
||||
# Therefore both lua interpreter and compiler are statically linked to
|
||||
# the core library modules.
|
||||
|
||||
# Note: This patch only adds the required targets to the makefiles
|
||||
# instead of relying upon libtool, which fails cross-compiling. Both
|
||||
# shared and static versions of lua libraries are installed.
|
||||
epatch "${FILESDIR}"/${P}-gentoo-build.patch
|
||||
|
||||
# Rename deprecated functions in scripts
|
||||
use deprecated || epatch "${FILESDIR}"/${P}-disable-deprecated.patch
|
||||
|
||||
# Remove readline dependency if not requested
|
||||
use readline || epatch "${FILESDIR}"/${P}-disable-readline.patch
|
||||
|
||||
epatch "${FILESDIR}/${P}-fix_vararg_calls.patch"
|
||||
|
||||
# Required by EAPI >= 6
|
||||
eapply_user
|
||||
|
||||
# Add documentation URIs if needed
|
||||
use doc && \
|
||||
HTML_DOCS=( doc/*.{html,css,png,gif} ) && \
|
||||
DOCS="HISTORY README"
|
||||
|
||||
# custom Makefiles
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
# Fix directories according to FHS/Gentoo policy paths and ABI
|
||||
sed -i \
|
||||
-e 's:/usr/local:'${EPREFIX}'/usr:' \
|
||||
-e 's:/man/:/share/man/:' \
|
||||
-e "s:\([/\"]\)\<lib\>:\1$(get_libdir):g" \
|
||||
Makefile etc/lua.pc src/luaconf.h doc/manual.html || die
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
append-cflags "-DLUA_USE_LINUX"
|
||||
append-ldflags "-Wl,-E"
|
||||
tc-export AR CC CPP LD RANLIB
|
||||
emake \
|
||||
MYLDFLAGS="${LDFLAGS}" \
|
||||
MYCFLAGS="${CFLAGS}" \
|
||||
linux
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake -j1 install INSTALL_TOP="${ED}/usr"
|
||||
|
||||
insinto usr/$(get_libdir)/pkgconfig
|
||||
doins etc/lua.pc
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs -r
|
||||
|
||||
doicon etc/lua.ico
|
||||
|
||||
doman doc/lua.1 doc/luac.1
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
# These tests MUST succeed for the ebuild to succeed
|
||||
local MUST_SUCCEED="bisect cf echo env factorial fib fibfor hello printf sieve
|
||||
sort trace-calls trace-globals"
|
||||
|
||||
# These tests MUST fail for the ebuild to succeed
|
||||
local MUST_FAIL="readonly"
|
||||
|
||||
cd "${BUILD_DIR}" || die
|
||||
|
||||
local test
|
||||
for test in ${MUST_SUCCEED}; do
|
||||
src/lua test/${test}.lua || die "test $test failed"
|
||||
done
|
||||
|
||||
for test in ${MUST_FAIL}; do
|
||||
src/lua test/${test}.lua && die "test $test failed"
|
||||
done
|
||||
}
|
@ -0,0 +1,194 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator
|
||||
|
||||
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
|
||||
HOMEPAGE="http://www.lua.org/"
|
||||
TEST_PV="5.2.2" # no 5.2.3-specific release yet
|
||||
TEST_A="${PN}-${TEST_PV}-tests.tar.gz"
|
||||
PKG_A="${P}.tar.gz"
|
||||
SRC_URI="
|
||||
http://www.lua.org/ftp/${PKG_A}
|
||||
test? ( https://www.lua.org/tests/${TEST_A} )"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="5.2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+deprecated emacs readline static test test-complete"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="readline? ( sys-libs/readline:0= )
|
||||
app-eselect/eselect-lua
|
||||
!dev-lang/lua:0"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/libtool"
|
||||
PDEPEND="emacs? ( app-emacs/lua-mode )"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/lua${SLOT}/luaconf.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
local PATCH_PV=$(get_version_component_range 1-2)
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch
|
||||
|
||||
# use glibtool on Darwin (versus Apple libtool)
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
|
||||
Makefile src/Makefile || die
|
||||
fi
|
||||
|
||||
[ -d "${FILESDIR}/${PV}" ] && \
|
||||
EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
|
||||
|
||||
# correct lua versioning
|
||||
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
|
||||
|
||||
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
|
||||
|
||||
if ! use readline ; then
|
||||
sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die
|
||||
fi
|
||||
|
||||
# Using dynamic linked lua is not recommended for performance
|
||||
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
|
||||
# Mainly, this is of concern if your arch is poor with GPRs, like x86
|
||||
# Note that this only affects the interpreter binary (named lua), not the lua
|
||||
# compiler (built statically) nor the lua libraries (both shared and static
|
||||
# are installed)
|
||||
if use static ; then
|
||||
sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile || die
|
||||
fi
|
||||
|
||||
# upstream does not use libtool, but we do (see bug #336167)
|
||||
cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
|
||||
eautoreconf
|
||||
|
||||
# custom Makefiles
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
sed -i \
|
||||
-e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
|
||||
-e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
|
||||
src/luaconf.h \
|
||||
|| die "failed patching luaconf.h"
|
||||
|
||||
econf
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
tc-export CC
|
||||
|
||||
# what to link to liblua
|
||||
liblibs="-lm"
|
||||
liblibs="${liblibs} $(dlopen_lib)"
|
||||
|
||||
# what to link to the executables
|
||||
mylibs=
|
||||
use readline && mylibs="-lreadline"
|
||||
|
||||
cd src
|
||||
|
||||
local myCFLAGS=""
|
||||
use deprecated && myCFLAGS="-DLUA_COMPAT_ALL"
|
||||
|
||||
case "${CHOST}" in
|
||||
*-mingw*) : ;;
|
||||
*) myCFLAGS+=" -DLUA_USE_LINUX" ;;
|
||||
esac
|
||||
|
||||
emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
|
||||
SYSLDFLAGS="${LDFLAGS}" \
|
||||
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
|
||||
LUA_LIBS="${mylibs}" \
|
||||
LIB_LIBS="${liblibs}" \
|
||||
V=$(get_version_component_range 1-2) \
|
||||
gentoo_all
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
|
||||
V=${SLOT} gentoo_install
|
||||
|
||||
case $SLOT in
|
||||
0)
|
||||
LIBNAME="lua"
|
||||
INCLUDEDIR_SUFFIX=''
|
||||
;;
|
||||
*) LIBNAME="lua${SLOT}"
|
||||
INCLUDEDIR_SUFFIX="/lua${SLOT}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# We want packages to find our things...
|
||||
# A slotted Lua uses different directories for headers & names for
|
||||
# libraries, and pkgconfig should reflect that.
|
||||
local PATCH_PV=$(get_version_component_range 1-2)
|
||||
cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
|
||||
sed -r -i \
|
||||
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
|
||||
-e "s:^prefix= :prefix= ${EPREFIX}:" \
|
||||
-e "s:^V=.*:V= ${PATCH_PV}:" \
|
||||
-e "s:^R=.*:R= ${PV}:" \
|
||||
-e "s:/,lib,:/$(get_libdir):g" \
|
||||
-e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
|
||||
-e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
|
||||
"${WORKDIR}/lua.pc" || die
|
||||
|
||||
insinto "/usr/$(get_libdir)/pkgconfig"
|
||||
newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
|
||||
# Copy Debian's symlink support:
|
||||
# https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
|
||||
# FreeBSD calls the pkgconfig 'lua-5.3.pc'
|
||||
# Older systems called it 'lua53.pc'
|
||||
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
|
||||
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dodoc README
|
||||
dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
|
||||
|
||||
newman doc/lua.1 lua${SLOT}.1
|
||||
newman doc/luac.1 luac${SLOT}.1
|
||||
}
|
||||
|
||||
# Makefile contains a dummy target that doesn't do tests
|
||||
# but causes issues with slotted lua (bug #510360)
|
||||
src_test() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
|
||||
# https://www.lua.org/tests/
|
||||
# There are two sets:
|
||||
# basic
|
||||
# complete.
|
||||
#
|
||||
# The basic subset is selected by passing -e'_U=true'
|
||||
# The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
|
||||
# attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
|
||||
use test-complete || TEST_OPTS="-e_U=true"
|
||||
TEST_MARKER="${T}/test.failed"
|
||||
rm -f "${TEST_MARKER}"
|
||||
|
||||
# If we are failing, set the marker file, and only check it after done all ABIs
|
||||
abi_src_test() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
|
||||
eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
|
||||
grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
|
||||
return 0
|
||||
}
|
||||
|
||||
multilib_foreach_abi abi_src_test
|
||||
|
||||
if [ -e "${TEST_MARKER}" ]; then
|
||||
cat "${TEST_MARKER}"
|
||||
die "Tests failed"
|
||||
fi
|
||||
}
|
@ -0,0 +1,194 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils autotools multilib multilib-minimal portability toolchain-funcs versionator
|
||||
|
||||
DESCRIPTION="A powerful light-weight programming language designed for extending applications"
|
||||
HOMEPAGE="http://www.lua.org/"
|
||||
TEST_PV="5.3.4" # no 5.3.5-specific release yet
|
||||
TEST_A="${PN}-${TEST_PV}-tests.tar.gz"
|
||||
PKG_A="${P}.tar.gz"
|
||||
SRC_URI="
|
||||
http://www.lua.org/ftp/${PKG_A}
|
||||
test? ( https://www.lua.org/tests/${TEST_A} )"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="5.3"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="+deprecated emacs readline static test test-complete"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="readline? ( sys-libs/readline:0= )
|
||||
app-eselect/eselect-lua
|
||||
!dev-lang/lua:0"
|
||||
DEPEND="${RDEPEND}
|
||||
sys-devel/libtool"
|
||||
PDEPEND="emacs? ( app-emacs/lua-mode )"
|
||||
|
||||
MULTILIB_WRAPPED_HEADERS=(
|
||||
/usr/include/lua${SLOT}/luaconf.h
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
local PATCH_PV=$(get_version_component_range 1-2)
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-${PATCH_PV}-make-r1.patch
|
||||
|
||||
# use glibtool on Darwin (versus Apple libtool)
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
sed -i -e '/LIBTOOL = /s:/libtool:/glibtool:' \
|
||||
Makefile src/Makefile || die
|
||||
fi
|
||||
|
||||
[ -d "${FILESDIR}/${PV}" ] && \
|
||||
EPATCH_SOURCE="${FILESDIR}/${PV}" EPATCH_SUFFIX="upstream.patch" epatch
|
||||
|
||||
# correct lua versioning
|
||||
sed -i -e 's/\(LIB_VERSION = \)6:1:1/\10:0:0/' src/Makefile || die
|
||||
|
||||
sed -i -e 's:\(/README\)\("\):\1.gz\2:g' doc/readme.html || die
|
||||
|
||||
if ! use readline ; then
|
||||
sed -i -e '/#define LUA_USE_READLINE/d' src/luaconf.h || die
|
||||
fi
|
||||
|
||||
# Using dynamic linked lua is not recommended for performance
|
||||
# reasons. http://article.gmane.org/gmane.comp.lang.lua.general/18519
|
||||
# Mainly, this is of concern if your arch is poor with GPRs, like x86
|
||||
# Note that this only affects the interpreter binary (named lua), not the lua
|
||||
# compiler (built statically) nor the lua libraries (both shared and static
|
||||
# are installed)
|
||||
if use static ; then
|
||||
sed -i -e 's:\(-export-dynamic\):-static \1:' src/Makefile || die
|
||||
fi
|
||||
|
||||
# upstream does not use libtool, but we do (see bug #336167)
|
||||
cp "${FILESDIR}/configure.in" "${S}/configure.ac" || die
|
||||
eautoreconf
|
||||
|
||||
# custom Makefiles
|
||||
multilib_copy_sources
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
sed -i \
|
||||
-e 's:\(define LUA_ROOT\s*\).*:\1"'${EPREFIX}'/usr/":' \
|
||||
-e "s:\(define LUA_CDIR\s*LUA_ROOT \"\)lib:\1$(get_libdir):" \
|
||||
src/luaconf.h \
|
||||
|| die "failed patching luaconf.h"
|
||||
|
||||
econf
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
tc-export CC
|
||||
|
||||
# what to link to liblua
|
||||
liblibs="-lm"
|
||||
liblibs="${liblibs} $(dlopen_lib)"
|
||||
|
||||
# what to link to the executables
|
||||
mylibs=
|
||||
use readline && mylibs="-lreadline"
|
||||
|
||||
cd src
|
||||
|
||||
local myCFLAGS=""
|
||||
use deprecated && myCFLAGS="-DLUA_COMPAT_ALL"
|
||||
|
||||
case "${CHOST}" in
|
||||
*-mingw*) : ;;
|
||||
*) myCFLAGS+=" -DLUA_USE_LINUX" ;;
|
||||
esac
|
||||
|
||||
emake CC="${CC}" CFLAGS="${myCFLAGS} ${CFLAGS}" \
|
||||
SYSLDFLAGS="${LDFLAGS}" \
|
||||
RPATH="${EPREFIX}/usr/$(get_libdir)/" \
|
||||
LUA_LIBS="${mylibs}" \
|
||||
LIB_LIBS="${liblibs}" \
|
||||
V=$(get_version_component_range 1-2) \
|
||||
gentoo_all
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
emake INSTALL_TOP="${ED}/usr" INSTALL_LIB="${ED}/usr/$(get_libdir)" \
|
||||
V=${SLOT} gentoo_install
|
||||
|
||||
case $SLOT in
|
||||
0)
|
||||
LIBNAME="lua"
|
||||
INCLUDEDIR_SUFFIX=''
|
||||
;;
|
||||
*) LIBNAME="lua${SLOT}"
|
||||
INCLUDEDIR_SUFFIX="/lua${SLOT}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# We want packages to find our things...
|
||||
# A slotted Lua uses different directories for headers & names for
|
||||
# libraries, and pkgconfig should reflect that.
|
||||
local PATCH_PV=$(get_version_component_range 1-2)
|
||||
cp "${FILESDIR}/lua.pc" "${WORKDIR}" || die
|
||||
sed -r -i \
|
||||
-e "/^INSTALL_INC=/s,(/include)$,\1/lua${SLOT}," \
|
||||
-e "s:^prefix= :prefix= ${EPREFIX}:" \
|
||||
-e "s:^V=.*:V= ${PATCH_PV}:" \
|
||||
-e "s:^R=.*:R= ${PV}:" \
|
||||
-e "s:/,lib,:/$(get_libdir):g" \
|
||||
-e "/^Libs:/s:( )(-llua)($| ):\1-l${LIBNAME}\3:" \
|
||||
-e "/^includedir=/s:include$:include${INCLUDEDIR_SUFFIX}:" \
|
||||
"${WORKDIR}/lua.pc" || die
|
||||
|
||||
insinto "/usr/$(get_libdir)/pkgconfig"
|
||||
newins "${WORKDIR}/lua.pc" "lua${SLOT}.pc"
|
||||
# Copy Debian's symlink support:
|
||||
# https://salsa.debian.org/lua-team/lua5.3/blob/master/debian/rules#L19
|
||||
# FreeBSD calls the pkgconfig 'lua-5.3.pc'
|
||||
# Older systems called it 'lua53.pc'
|
||||
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua-${SLOT}.pc"
|
||||
dosym "lua${SLOT}.pc" "/usr/$(get_libdir)/pkgconfig/lua${SLOT/.}.pc"
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
dodoc README
|
||||
dohtml doc/*.html doc/*.png doc/*.css doc/*.gif
|
||||
|
||||
newman doc/lua.1 lua${SLOT}.1
|
||||
newman doc/luac.1 luac${SLOT}.1
|
||||
}
|
||||
|
||||
# Makefile contains a dummy target that doesn't do tests
|
||||
# but causes issues with slotted lua (bug #510360)
|
||||
src_test() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
cd "${WORKDIR}/lua-${TEST_PV}-tests" || die
|
||||
# https://www.lua.org/tests/
|
||||
# There are two sets:
|
||||
# basic
|
||||
# complete.
|
||||
#
|
||||
# The basic subset is selected by passing -e'_U=true'
|
||||
# The complete set is noted to contain tests that may consume too much memory or have non-portable tests.
|
||||
# attrib.lua for example needs some multilib customization (have to compile the stuff in libs/ for each ABI)
|
||||
use test-complete || TEST_OPTS="-e_U=true"
|
||||
TEST_MARKER="${T}/test.failed"
|
||||
rm -f "${TEST_MARKER}"
|
||||
|
||||
# If we are failing, set the marker file, and only check it after done all ABIs
|
||||
abi_src_test() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
TEST_LOG="${T}/test.${MULTIBUILD_ID}.log"
|
||||
eval "${BUILD_DIR}"/src/lua${SLOT} ${TEST_OPTS} all.lua 2>&1 | tee "${TEST_LOG}" || die
|
||||
grep -sq -e "final OK" "${TEST_LOG}" || echo "FAIL ${MULTIBUILD_ID}" >>"${TEST_MARKER}"
|
||||
return 0
|
||||
}
|
||||
|
||||
multilib_foreach_abi abi_src_test
|
||||
|
||||
if [ -e "${TEST_MARKER}" ]; then
|
||||
cat "${TEST_MARKER}"
|
||||
die "Tests failed"
|
||||
fi
|
||||
}
|
@ -1,4 +1,6 @@
|
||||
DIST php-7.1.33.tar.xz 12370228 BLAKE2B 610f501c1729ca3f5fa6f104b9f229046cf1e497f2fdc1194b80b4a5f9ca7f799dc6a458de34dd7a87976b7252ba2f548a8d689e4b2a45c025f1807ab8489f12 SHA512 ed37a79e3402c767f20e55c1cbe27957cc78240eafc719fffccd7d29ae10a45112aa0f29082f56133cd9c25f2750e9e57246d95b4f38d766f49bd29d1397eb1d
|
||||
DIST php-7.2.26.tar.xz 12309176 BLAKE2B 2208aee696fc2aed50b4f08f2dd7ca0f70d9913c22091687f6c694a343e4b5fd5e1f0d0b6b127fe0c00c5611cb60e627c2257a1fad9bff6e9fc8bb921e1eb57d SHA512 457e3420120135e311a22cd11529d5a3efc5885af4f298196f403093141801619d4dcdb38d6a4a5f8d9dcfa619688d8fdf33fea4a30e2d885e987b739a268f12
|
||||
DIST php-7.2.27.tar.xz 12307512 BLAKE2B 8d51a1a88c718ba9ef683e190f9ed80b46fccfc7b237d9175f5db3012a3d4ae8f698dbe6b2b8f233121be6d08e28bdb1062a357dd6ae2df5228a7e56c8604807 SHA512 02416e2bdfcd47ef660c7403ca25c7358c2f9a685b1dee6a2a95c52d1b1178666f9fa0bb32dc070cfd09febb5c44ecdb70116546142369d7ead4432634dc38c5
|
||||
DIST php-7.3.13.tar.xz 12102012 BLAKE2B 32a346470ea0d0a3db873ae94b5e4dcc650c25e24db244ea94417f092e0458a0825cb99e9c3429000ee5cbd50120824d9bd2a58a7ed2ada1f39c6d7c41b2ba08 SHA512 d0624b3b841fed49d9cea56b17e7c8c7abf8e6572832b6f86c98f48c23f86690c310b460eae27a6fcd41fbfbc2e8a4b56f6bfb0c738fa1db36ce3795454d7798
|
||||
DIST php-7.3.14.tar.xz 12106072 BLAKE2B 698e6cfe4cc9640c393988626bf344a4bc891cb6d974017a0a176d2c5f6f55cc6073f88bd90926822c7c0534da280a6ae6b8f28b3c983665d7ce8b330246e783 SHA512 053cd51d0fe73e18494d51c104573b73f6af41d21091513319e994cc12398fa792b7d996414d28d6dbf983c38afccc92d47d6fd8c071824ee192067bd955a80a
|
||||
DIST php-7.4.1.tar.xz 10245600 BLAKE2B fcbb7de0e9ab74820ca8fdd234cd20908ed8e559e6eeffd576e285a5f4b4b31506ec2e11cc5926464257e08289207462f4b373833b8130500e0944f64dbf6cf5 SHA512 2dd152bdca52ece160feff799622fd4bdd88e0664f629e6149fd14ede6c304dfc40c164fcd9200c041b26342d6248010cf9b53e30c1a8d31640dc3b24d25c4da
|
||||
DIST php-7.4.2.tar.xz 10252304 BLAKE2B cf3b7a6a26ff58fb46024710c9d265d440faff4c5ee583a76c89aa7a73049c8bc6eaf428f53dfbdbb86efef9208503150c9c31b442f960d167babf08380813cf SHA512 e8d4b300d71e48a740b4cd96bf100206615a352bf77822dfe4a289b93738e3419f1371f2b1ec2eb9c9c4b9c87eac69c866a4c51a821e0f5b07a2fa3b0eb8d89b
|
||||
|
@ -1,379 +0,0 @@
|
||||
Based on the following upstream commits:
|
||||
|
||||
https://github.com/php/php-src/commit/8d35a423838eb462cd39ee535c5d003073cc5f22
|
||||
https://github.com/php/php-src/commit/d8200e48857aeaf09f7127751efc5632ef7660a7
|
||||
https://github.com/php/php-src/commit/9a8e7b571896f39f83cb000fdb7c466b6d328d52
|
||||
|
||||
--- a/ext/intl/breakiterator/breakiterator_class.cpp
|
||||
+++ b/ext/intl/breakiterator/breakiterator_class.cpp
|
||||
@@ -38,6 +38,7 @@ extern "C" {
|
||||
}
|
||||
|
||||
using PHP::CodePointBreakIterator;
|
||||
+using icu::RuleBasedBreakIterator;
|
||||
|
||||
/* {{{ Global variables */
|
||||
zend_class_entry *BreakIterator_ce_ptr;
|
||||
--- a/ext/intl/breakiterator/breakiterator_class.h
|
||||
+++ b/ext/intl/breakiterator/breakiterator_class.h
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
#ifndef USE_BREAKITERATOR_POINTER
|
||||
typedef void BreakIterator;
|
||||
+#else
|
||||
+using icu::BreakIterator;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
--- a/ext/intl/breakiterator/breakiterator_methods.cpp
|
||||
+++ b/ext/intl/breakiterator/breakiterator_methods.cpp
|
||||
@@ -32,6 +32,8 @@ extern "C" {
|
||||
}
|
||||
|
||||
using PHP::CodePointBreakIterator;
|
||||
+using icu::BreakIterator;
|
||||
+using icu::Locale;
|
||||
|
||||
U_CFUNC PHP_METHOD(BreakIterator, __construct)
|
||||
{
|
||||
--- a/ext/intl/breakiterator/codepointiterator_internal.cpp
|
||||
+++ b/ext/intl/breakiterator/codepointiterator_internal.cpp
|
||||
@@ -33,6 +33,8 @@ typedef union {
|
||||
|
||||
using namespace PHP;
|
||||
|
||||
+using icu::UCharCharacterIterator;
|
||||
+
|
||||
UOBJECT_DEFINE_RTTI_IMPLEMENTATION(CodePointBreakIterator);
|
||||
|
||||
CodePointBreakIterator::CodePointBreakIterator()
|
||||
--- a/ext/intl/breakiterator/codepointiterator_internal.h
|
||||
+++ b/ext/intl/breakiterator/codepointiterator_internal.h
|
||||
@@ -18,8 +18,11 @@
|
||||
#define CODEPOINTITERATOR_INTERNAL_H
|
||||
|
||||
#include <unicode/brkiter.h>
|
||||
+#include <unicode/unistr.h>
|
||||
|
||||
-using U_ICU_NAMESPACE::BreakIterator;
|
||||
+using icu::BreakIterator;
|
||||
+using icu::CharacterIterator;
|
||||
+using icu::UnicodeString;
|
||||
|
||||
namespace PHP {
|
||||
|
||||
--- a/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp
|
||||
+++ b/ext/intl/breakiterator/rulebasedbreakiterator_methods.cpp
|
||||
@@ -26,6 +26,9 @@ extern "C" {
|
||||
#include "../intl_convertcpp.h"
|
||||
#include "../intl_common.h"
|
||||
|
||||
+using icu::RuleBasedBreakIterator;
|
||||
+using icu::Locale;
|
||||
+
|
||||
static inline RuleBasedBreakIterator *fetch_rbbi(BreakIterator_object *bio) {
|
||||
return (RuleBasedBreakIterator*)bio->biter;
|
||||
}
|
||||
--- a/ext/intl/calendar/calendar_class.cpp
|
||||
+++ b/ext/intl/calendar/calendar_class.cpp
|
||||
@@ -34,6 +34,9 @@ extern "C" {
|
||||
#include <assert.h>
|
||||
}
|
||||
|
||||
+using icu::GregorianCalendar;
|
||||
+using icu::Locale;
|
||||
+
|
||||
/* {{{ Global variables */
|
||||
zend_class_entry *Calendar_ce_ptr;
|
||||
zend_class_entry *GregorianCalendar_ce_ptr;
|
||||
--- a/ext/intl/calendar/calendar_class.h
|
||||
+++ b/ext/intl/calendar/calendar_class.h
|
||||
@@ -26,6 +26,8 @@
|
||||
|
||||
#ifndef USE_CALENDAR_POINTER
|
||||
typedef void Calendar;
|
||||
+#else
|
||||
+using icu::Calendar;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
--- a/ext/intl/calendar/calendar_methods.cpp
|
||||
+++ b/ext/intl/calendar/calendar_methods.cpp
|
||||
@@ -40,6 +40,8 @@ extern "C" {
|
||||
}
|
||||
#include "../common/common_enum.h"
|
||||
|
||||
+using icu::Locale;
|
||||
+
|
||||
U_CFUNC PHP_METHOD(IntlCalendar, __construct)
|
||||
{
|
||||
zend_throw_exception( NULL,
|
||||
--- a/ext/intl/calendar/gregoriancalendar_methods.cpp
|
||||
+++ b/ext/intl/calendar/gregoriancalendar_methods.cpp
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <unicode/locid.h>
|
||||
#include <unicode/calendar.h>
|
||||
#include <unicode/gregocal.h>
|
||||
+#include <unicode/ustring.h>
|
||||
+
|
||||
extern "C" {
|
||||
#include "../php_intl.h"
|
||||
#include "../intl_common.h"
|
||||
@@ -34,6 +36,11 @@ extern "C" {
|
||||
#include "zend_exceptions.h"
|
||||
}
|
||||
|
||||
+using icu::GregorianCalendar;
|
||||
+using icu::Locale;
|
||||
+using icu::UnicodeString;
|
||||
+using icu::StringPiece;
|
||||
+
|
||||
static inline GregorianCalendar *fetch_greg(Calendar_object *co) {
|
||||
return (GregorianCalendar*)co->ucal;
|
||||
}
|
||||
--- a/ext/intl/common/common_date.cpp
|
||||
+++ b/ext/intl/common/common_date.cpp
|
||||
@@ -25,6 +25,9 @@ extern "C" {
|
||||
#include <ext/date/php_date.h>
|
||||
}
|
||||
|
||||
+using icu::TimeZone;
|
||||
+using icu::UnicodeString;
|
||||
+
|
||||
#ifndef INFINITY
|
||||
#define INFINITY (DBL_MAX+DBL_MAX)
|
||||
#endif
|
||||
--- a/ext/intl/common/common_date.h
|
||||
+++ b/ext/intl/common/common_date.h
|
||||
@@ -28,6 +28,8 @@ U_CDECL_END
|
||||
|
||||
#include <unicode/timezone.h>
|
||||
|
||||
+using icu::TimeZone;
|
||||
+
|
||||
U_CFUNC TimeZone *timezone_convert_datetimezone(int type, void *object, int is_datetime, intl_error *outside_error, const char *func);
|
||||
U_CFUNC int intl_datetime_decompose(zval *z, double *millis, TimeZone **tz,
|
||||
intl_error *err, const char *func);
|
||||
--- a/ext/intl/common/common_enum.h
|
||||
+++ b/ext/intl/common/common_enum.h
|
||||
@@ -75,6 +75,7 @@ U_CFUNC zval *zoi_with_current_get_current_data(zend_object_iterator *iter);
|
||||
U_CFUNC void zoi_with_current_invalidate_current(zend_object_iterator *iter);
|
||||
|
||||
#ifdef __cplusplus
|
||||
+using icu::StringEnumeration;
|
||||
U_CFUNC void IntlIterator_from_StringEnumeration(StringEnumeration *se, zval *object);
|
||||
#endif
|
||||
|
||||
--- a/ext/intl/converter/converter.c
|
||||
+++ b/ext/intl/converter/converter.c
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "zend_exceptions.h"
|
||||
|
||||
#include <unicode/utypes.h>
|
||||
+#include <unicode/utf8.h>
|
||||
+#include <unicode/utf16.h>
|
||||
#include <unicode/ucnv.h>
|
||||
#include <unicode/ustring.h>
|
||||
|
||||
--- a/ext/intl/dateformat/dateformat_format_object.cpp
|
||||
+++ b/ext/intl/dateformat/dateformat_format_object.cpp
|
||||
@@ -33,6 +33,12 @@ extern "C" {
|
||||
#include "../common/common_date.h"
|
||||
}
|
||||
|
||||
+using icu::Locale;
|
||||
+using icu::DateFormat;
|
||||
+using icu::GregorianCalendar;
|
||||
+using icu::StringPiece;
|
||||
+using icu::SimpleDateFormat;
|
||||
+
|
||||
static const DateFormat::EStyle valid_styles[] = {
|
||||
DateFormat::kNone,
|
||||
DateFormat::kFull,
|
||||
--- a/ext/intl/dateformat/dateformat_helpers.cpp
|
||||
+++ b/ext/intl/dateformat/dateformat_helpers.cpp
|
||||
@@ -28,6 +28,8 @@ extern "C" {
|
||||
#include "../calendar/calendar_class.h"
|
||||
}
|
||||
|
||||
+using icu::GregorianCalendar;
|
||||
+
|
||||
int datefmt_process_calendar_arg(zval* calendar_zv,
|
||||
Locale const& locale,
|
||||
const char *func_name,
|
||||
--- a/ext/intl/dateformat/dateformat_helpers.h
|
||||
+++ b/ext/intl/dateformat/dateformat_helpers.h
|
||||
@@ -22,11 +22,16 @@
|
||||
#endif
|
||||
|
||||
#include <unicode/calendar.h>
|
||||
+#include <unicode/datefmt.h>
|
||||
|
||||
extern "C" {
|
||||
#include "../php_intl.h"
|
||||
}
|
||||
|
||||
+using icu::Locale;
|
||||
+using icu::Calendar;
|
||||
+using icu::DateFormat;
|
||||
+
|
||||
int datefmt_process_calendar_arg(zval* calendar_zv,
|
||||
Locale const& locale,
|
||||
const char *func_name,
|
||||
--- a/ext/intl/grapheme/grapheme_string.c
|
||||
+++ b/ext/intl/grapheme/grapheme_string.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "grapheme_util.h"
|
||||
|
||||
#include <unicode/utypes.h>
|
||||
+#include <unicode/utf8.h>
|
||||
#include <unicode/ucol.h>
|
||||
#include <unicode/ustring.h>
|
||||
#include <unicode/ubrk.h>
|
||||
@@ -835,10 +836,10 @@ PHP_FUNCTION(grapheme_extract)
|
||||
pstr = str + start;
|
||||
|
||||
/* just in case pstr points in the middle of a character, move forward to the start of the next char */
|
||||
- if ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
|
||||
- char *str_end = str + str_len;
|
||||
+ if ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
|
||||
+ unsigned char *str_end = str + str_len;
|
||||
|
||||
- while ( !UTF8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
|
||||
+ while ( !U8_IS_SINGLE(*pstr) && !U8_IS_LEAD(*pstr) ) {
|
||||
pstr++;
|
||||
if ( pstr >= str_end ) {
|
||||
intl_error_set( NULL, U_ILLEGAL_ARGUMENT_ERROR,
|
||||
--- a/ext/intl/intl_convertcpp.h
|
||||
+++ b/ext/intl/intl_convertcpp.h
|
||||
@@ -26,6 +26,8 @@
|
||||
#include <unicode/unistr.h>
|
||||
#include <zend_types.h>
|
||||
|
||||
+using icu::UnicodeString;
|
||||
+
|
||||
int intl_stringFromChar(UnicodeString &ret, char *str, size_t str_len, UErrorCode *status);
|
||||
|
||||
zend_string* intl_charFromString(const UnicodeString &from, UErrorCode *status);
|
||||
--- a/ext/intl/msgformat/msgformat_helpers.cpp
|
||||
+++ b/ext/intl/msgformat/msgformat_helpers.cpp
|
||||
@@ -78,6 +78,16 @@ MessageFormatAdapter::getMessagePattern(MessageFormat* m) {
|
||||
#endif
|
||||
U_NAMESPACE_END
|
||||
|
||||
+using icu::Formattable;
|
||||
+using icu::Format;
|
||||
+using icu::DateFormat;
|
||||
+using icu::MessageFormat;
|
||||
+#ifdef HAS_MESSAGE_PATTERN
|
||||
+using icu::MessagePattern;
|
||||
+#endif
|
||||
+using icu::MessageFormatAdapter;
|
||||
+using icu::FieldPosition;
|
||||
+
|
||||
U_CFUNC int32_t umsg_format_arg_count(UMessageFormat *fmt)
|
||||
{
|
||||
int32_t fmt_count = 0;
|
||||
@@ -229,15 +239,16 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
||||
UnicodeString typeString = mp.getSubstring(type_part);
|
||||
/* This is all based on the rules in the docs for MessageFormat
|
||||
* @see http://icu-project.org/apiref/icu4c/classMessageFormat.html */
|
||||
- if (typeString == "number") {
|
||||
+#define ASCII_LITERAL(s) UNICODE_STRING(s, sizeof(s)-1)
|
||||
+ if (typeString == ASCII_LITERAL("number")) {
|
||||
MessagePattern::Part style_part = mp.getPart(i + 1); /* Not advancing i */
|
||||
if (style_part.getType() == UMSGPAT_PART_TYPE_ARG_STYLE) {
|
||||
UnicodeString styleString = mp.getSubstring(style_part);
|
||||
- if (styleString == "integer") {
|
||||
+ if (styleString == ASCII_LITERAL("integer")) {
|
||||
type = Formattable::kInt64;
|
||||
- } else if (styleString == "currency") {
|
||||
+ } else if (styleString == ASCII_LITERAL("currency")) {
|
||||
type = Formattable::kDouble;
|
||||
- } else if (styleString == "percent") {
|
||||
+ } else if (styleString == ASCII_LITERAL("percent")) {
|
||||
type = Formattable::kDouble;
|
||||
} else { /* some style invalid/unknown to us */
|
||||
type = Formattable::kDouble;
|
||||
@@ -245,12 +256,13 @@ static HashTable *umsg_parse_format(MessageFormatter_object *mfo,
|
||||
} else { // if missing style, part, make it a double
|
||||
type = Formattable::kDouble;
|
||||
}
|
||||
- } else if ((typeString == "date") || (typeString == "time")) {
|
||||
+ } else if ((typeString == ASCII_LITERAL("date")) || (typeString == ASCII_LITERAL("time"))) {
|
||||
type = Formattable::kDate;
|
||||
- } else if ((typeString == "spellout") || (typeString == "ordinal")
|
||||
- || (typeString == "duration")) {
|
||||
+ } else if ((typeString == ASCII_LITERAL("spellout")) || (typeString == ASCII_LITERAL("ordinal"))
|
||||
+ || (typeString == ASCII_LITERAL("duration"))) {
|
||||
type = Formattable::kDouble;
|
||||
}
|
||||
+#undef ASCII_LITERAL
|
||||
} else {
|
||||
/* If there's no UMSGPAT_PART_TYPE_ARG_TYPE right after a
|
||||
* UMSGPAT_ARG_TYPE_SIMPLE argument, then the pattern
|
||||
--- a/ext/intl/normalizer/normalizer_normalize.c
|
||||
+++ b/ext/intl/normalizer/normalizer_normalize.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "normalizer_class.h"
|
||||
#include "normalizer_normalize.h"
|
||||
#include "intl_convert.h"
|
||||
+#include <unicode/utf8.h>
|
||||
|
||||
/* {{{ proto string Normalizer::normalize( string $input [, string $form = FORM_C] )
|
||||
* Normalize a string. }}} */
|
||||
--- a/ext/intl/timezone/timezone_class.cpp
|
||||
+++ b/ext/intl/timezone/timezone_class.cpp
|
||||
@@ -37,6 +37,8 @@ extern "C" {
|
||||
#include <ext/date/php_date.h>
|
||||
}
|
||||
|
||||
+using icu::Calendar;
|
||||
+
|
||||
/* {{{ Global variables */
|
||||
U_CDECL_BEGIN
|
||||
zend_class_entry *TimeZone_ce_ptr = NULL;
|
||||
--- a/ext/intl/timezone/timezone_class.h
|
||||
+++ b/ext/intl/timezone/timezone_class.h
|
||||
@@ -29,6 +29,8 @@
|
||||
|
||||
#ifndef USE_TIMEZONE_POINTER
|
||||
typedef void TimeZone;
|
||||
+#else
|
||||
+using icu::TimeZone;
|
||||
#endif
|
||||
|
||||
typedef struct {
|
||||
--- a/ext/intl/timezone/timezone_methods.cpp
|
||||
+++ b/ext/intl/timezone/timezone_methods.cpp
|
||||
@@ -23,6 +23,7 @@
|
||||
#include <unicode/locid.h>
|
||||
#include <unicode/timezone.h>
|
||||
#include <unicode/ustring.h>
|
||||
+#include <unicode/calendar.h>
|
||||
#include "intl_convertcpp.h"
|
||||
|
||||
#include "../common/common_date.h"
|
||||
@@ -37,6 +38,9 @@ extern "C" {
|
||||
}
|
||||
#include "common/common_enum.h"
|
||||
|
||||
+using icu::Locale;
|
||||
+using icu::Calendar;
|
||||
+
|
||||
U_CFUNC PHP_METHOD(IntlTimeZone, __construct)
|
||||
{
|
||||
zend_throw_exception( NULL,
|
||||
--- a/ext/intl/uchar/uchar.c
|
||||
+++ b/ext/intl/uchar/uchar.c
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "intl_convert.h"
|
||||
|
||||
#include <unicode/uchar.h>
|
||||
+#include <unicode/utf8.h>
|
||||
|
||||
#define IC_METHOD(mname) PHP_METHOD(IntlChar, mname)
|
||||
|
||||
--
|
||||
2.19.2
|
||||
|
@ -0,0 +1,752 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit flag-o-matic systemd autotools
|
||||
|
||||
MY_PV=${PV/_rc/RC}
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://www.php.net/"
|
||||
SRC_URI="https://www.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="$(ver_cut 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# 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 session-mm 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/libpcre2-10.30[unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( www-servers/apache[apache2_modules_unixd(+),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:0= )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
coverage? ( dev-util/lcov )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( <app-text/enchant-2.0:0 )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= >=sys-libs/zlib-1.2.0.4 )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( >=virtual/imap-c-client-2[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? ( 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 )
|
||||
session-mm? ( 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-1.0.1:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
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:0= )
|
||||
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-1.2.0.4:0= )
|
||||
zip-encryption? ( >=dev-libs/libzip-1.2.0:= )
|
||||
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
|
||||
"
|
||||
|
||||
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"
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
# 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 zlib )
|
||||
webp? ( gd zlib )
|
||||
cjk? ( gd zlib )
|
||||
exif? ( gd zlib )
|
||||
xpm? ( gd zlib )
|
||||
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 )
|
||||
session-mm? ( session !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
zip-encryption? ( zip )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/php-freetype-2.9.1.patch"
|
||||
)
|
||||
|
||||
PHP_MV="$(ver_cut 1)"
|
||||
|
||||
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'
|
||||
|
||||
# Bug 669566 - necessary so that build tools are updated for commands like pecl
|
||||
# Force rebuilding aclocal.m4
|
||||
rm -f aclocal.m4 || die "failed to remove aclocal.m4 in src_prepare"
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
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 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 || use elibc_FreeBSD || 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 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 session-mm 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}" )
|
||||
if [[ "fpm" == "${sapi}" ]] ; then
|
||||
sapi_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_with systemd fpm-systemd)
|
||||
)
|
||||
fi
|
||||
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 #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
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 #nowarn
|
||||
|
||||
# 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,742 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
WANT_AUTOMAKE="none"
|
||||
|
||||
inherit flag-o-matic systemd autotools
|
||||
|
||||
MY_PV=${PV/_rc/RC}
|
||||
DESCRIPTION="The PHP language runtime engine"
|
||||
HOMEPAGE="https://www.php.net/"
|
||||
SRC_URI="https://www.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="$(ver_cut 1-2)"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# 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 ffi +fileinfo +filter firebird
|
||||
+flatfile ftp gd gdbm gmp +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 selinux +session session-mm sharedmem
|
||||
+simplexml snmp soap sockets sodium spell sqlite ssl
|
||||
sysvipc systemd test tidy +tokenizer tokyocabinet truetype unicode webp
|
||||
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
|
||||
|
||||
# Without USE=readline or libedit, the interactive "php -a" CLI will hang.
|
||||
REQUIRED_USE="
|
||||
|| ( cli cgi fpm apache2 embed phpdbg )
|
||||
cli? ( ^^ ( readline libedit ) )
|
||||
!cli? ( ?? ( readline libedit ) )
|
||||
truetype? ( gd zlib )
|
||||
webp? ( gd zlib )
|
||||
cjk? ( gd zlib )
|
||||
exif? ( gd zlib )
|
||||
xpm? ( gd zlib )
|
||||
gd? ( zlib )
|
||||
simplexml? ( xml )
|
||||
soap? ( xml )
|
||||
xmlrpc? ( xml iconv )
|
||||
xmlreader? ( xml )
|
||||
xmlwriter? ( xml )
|
||||
xslt? ( xml )
|
||||
ldap-sasl? ( ldap )
|
||||
qdbm? ( !gdbm )
|
||||
session-mm? ( session !threads )
|
||||
mysql? ( || ( mysqli pdo ) )
|
||||
firebird? ( pdo )
|
||||
mssql? ( pdo )
|
||||
"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# 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/libpcre2-10.30[unicode]
|
||||
fpm? ( acl? ( sys-apps/acl ) )
|
||||
apache2? ( www-servers/apache[apache2_modules_unixd(+),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:0= )
|
||||
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
|
||||
coverage? ( dev-util/lcov )
|
||||
curl? ( >=net-misc/curl-7.10.5 )
|
||||
enchant? ( <app-text/enchant-2.0:0 )
|
||||
ffi? ( >=virtual/libffi-3.0.11 )
|
||||
firebird? ( dev-db/firebird )
|
||||
gd? ( virtual/jpeg:0 media-libs/libpng:0= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.0:0= )
|
||||
gmp? ( dev-libs/gmp:0= )
|
||||
iconv? ( virtual/libiconv )
|
||||
imap? ( >=virtual/imap-c-client-2[kerberos=,ssl=] )
|
||||
intl? ( dev-libs/icu:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
ldap? ( >=net-nds/openldap-1.2.11 )
|
||||
ldap-sasl? ( dev-libs/cyrus-sasl )
|
||||
libedit? ( 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? ( iodbc? ( dev-db/libiodbc ) !iodbc? ( >=dev-db/unixODBC-1.8.13 ) )
|
||||
postgres? ( dev-db/postgresql:* )
|
||||
qdbm? ( dev-db/qdbm )
|
||||
readline? ( sys-libs/readline:0= )
|
||||
session-mm? ( dev-libs/mm )
|
||||
snmp? ( >=net-analyzer/net-snmp-5.2 )
|
||||
sodium? ( dev-libs/libsodium:= )
|
||||
spell? ( >=app-text/aspell-0.50 )
|
||||
sqlite? ( >=dev-db/sqlite-3.7.6.3 )
|
||||
ssl? (
|
||||
!libressl? ( >=dev-libs/openssl-1.0.1:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
tidy? ( || ( app-text/tidy-html5 app-text/htmltidy ) )
|
||||
tokyocabinet? ( dev-db/tokyocabinet )
|
||||
truetype? ( =media-libs/freetype-2* )
|
||||
unicode? ( dev-libs/oniguruma:= )
|
||||
webp? ( media-libs/libwebp:0= )
|
||||
xml? ( >=dev-libs/libxml2-2.7.6 )
|
||||
xpm? ( x11-libs/libXpm )
|
||||
xslt? ( dev-libs/libxslt )
|
||||
zip? ( >=dev-libs/libzip-1.2.0:= )
|
||||
zlib? ( >=sys-libs/zlib-1.2.0.4:0= )
|
||||
"
|
||||
|
||||
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"
|
||||
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
|
||||
PHP_MV="$(ver_cut 1)"
|
||||
|
||||
PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" )
|
||||
|
||||
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'
|
||||
|
||||
# Emulate buildconf to support cross-compilation
|
||||
rm -fr aclocal.m4 autom4te.cache config.cache \
|
||||
configure main/php_config.h.in || die
|
||||
eautoconf --force
|
||||
eautoheader
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
addpredict /usr/share/snmp/mibs/.index #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
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 argon2 password-argon2 "${EPREFIX}/usr")
|
||||
$(use_enable bcmath)
|
||||
$(use_with bzip2 bz2 "${EPREFIX}/usr")
|
||||
$(use_enable calendar)
|
||||
$(use_enable coverage gcov)
|
||||
$(use_enable ctype)
|
||||
$(use_with curl)
|
||||
$(use_enable xml dom)
|
||||
$(use_with enchant)
|
||||
$(use_enable exif)
|
||||
$(use_with ffi)
|
||||
$(use_enable fileinfo)
|
||||
$(use_enable filter)
|
||||
$(use_enable ftp)
|
||||
$(use_with nls gettext "${EPREFIX}/usr")
|
||||
$(use_with gmp gmp "${EPREFIX}/usr")
|
||||
$(use_with mhash mhash "${EPREFIX}/usr")
|
||||
$(use_with iconv iconv \
|
||||
$(use elibc_glibc || use elibc_musl || use elibc_FreeBSD || echo "${EPREFIX}/usr"))
|
||||
$(use_enable intl)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable json)
|
||||
$(use_with kerberos)
|
||||
$(use_with xml libxml)
|
||||
$(use_enable unicode mbstring)
|
||||
$(use_with ssl openssl)
|
||||
$(use_enable pcntl)
|
||||
$(use_enable phar)
|
||||
$(use_enable pdo)
|
||||
$(use_enable opcache)
|
||||
$(use_with postgres pgsql "${EPREFIX}/usr")
|
||||
$(use_enable posix)
|
||||
$(use_with spell pspell "${EPREFIX}/usr")
|
||||
$(use_enable simplexml)
|
||||
$(use_enable sharedmem shmop)
|
||||
$(use_with snmp snmp "${EPREFIX}/usr")
|
||||
$(use_enable soap)
|
||||
$(use_enable sockets)
|
||||
$(use_with sodium)
|
||||
$(use_with sqlite sqlite3)
|
||||
$(use_enable sysvipc sysvmsg)
|
||||
$(use_enable sysvipc sysvsem)
|
||||
$(use_enable sysvipc sysvshm)
|
||||
$(use_with tidy tidy "${EPREFIX}/usr")
|
||||
$(use_enable tokenizer)
|
||||
$(use_enable xml)
|
||||
$(use_enable xmlreader)
|
||||
$(use_enable xmlwriter)
|
||||
$(use_with xmlrpc)
|
||||
$(use_with xslt xsl)
|
||||
$(use_with zip)
|
||||
$(use_with zlib zlib "${EPREFIX}/usr")
|
||||
$(use_enable 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" )
|
||||
fi
|
||||
|
||||
# DBA drivers support
|
||||
our_conf+=(
|
||||
$(use_with cdb)
|
||||
$(use_with berkdb db4 "${EPREFIX}/usr")
|
||||
$(use_enable flatfile)
|
||||
$(use_with gdbm gdbm "${EPREFIX}/usr")
|
||||
$(use_enable inifile)
|
||||
$(use_with qdbm qdbm "${EPREFIX}/usr")
|
||||
$(use_with tokyocabinet tcadb "${EPREFIX}/usr")
|
||||
$(use_with lmdb lmdb "${EPREFIX}/usr")
|
||||
)
|
||||
|
||||
# Support for the GD graphics library
|
||||
our_conf+=(
|
||||
$(use_with truetype freetype)
|
||||
$(use_enable cjk gd-jis-conv)
|
||||
$(use_with gd jpeg)
|
||||
$(use_with xpm)
|
||||
$(use_with webp)
|
||||
)
|
||||
# enable gd last, so configure can pick up the previous settings
|
||||
our_conf+=( $(use_enable gd) )
|
||||
|
||||
# IMAP support
|
||||
if use imap ; then
|
||||
our_conf+=(
|
||||
$(use_with imap imap "${EPREFIX}/usr")
|
||||
$(use_with ssl imap-ssl "${EPREFIX}/usr")
|
||||
)
|
||||
fi
|
||||
|
||||
# LDAP support
|
||||
if use ldap ; then
|
||||
our_conf+=(
|
||||
$(use_with ldap ldap "${EPREFIX}/usr")
|
||||
$(use_with ldap-sasl)
|
||||
)
|
||||
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
|
||||
if use odbc && use iodbc ; then
|
||||
our_conf+=(
|
||||
--without-unixODBC
|
||||
--with-iodbc
|
||||
$(use_with pdo pdo-odbc "iODBC,${EPREFIX}/usr")
|
||||
)
|
||||
elif use odbc ; then
|
||||
our_conf+=(
|
||||
--with-unixODBC="${EPREFIX}/usr"
|
||||
--without-iodbc
|
||||
$(use_with pdo pdo-odbc "unixODBC,${EPREFIX}/usr")
|
||||
)
|
||||
else
|
||||
our_conf+=(
|
||||
--without-unixODBC
|
||||
--without-iodbc
|
||||
--without-pdo-odbc
|
||||
)
|
||||
fi
|
||||
|
||||
# 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)
|
||||
$(use_with firebird pdo-firebird "${EPREFIX}/usr")
|
||||
$(use_with oci8-instant-client pdo-oci)
|
||||
)
|
||||
fi
|
||||
|
||||
# readline/libedit support
|
||||
our_conf+=(
|
||||
$(use_with readline readline "${EPREFIX}/usr")
|
||||
$(use_with libedit)
|
||||
)
|
||||
|
||||
# Session support
|
||||
if use session ; then
|
||||
our_conf+=( $(use_with session-mm mm "${EPREFIX}/usr") )
|
||||
else
|
||||
our_conf+=( $(use_enable 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-external-pcre affects ext/pcre
|
||||
# Many arches don't support pcre-jit
|
||||
our_conf+=(
|
||||
--with-external-pcre
|
||||
--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}" )
|
||||
if [[ "fpm" == "${sapi}" ]] ; then
|
||||
sapi_conf+=(
|
||||
$(use_with acl fpm-acl)
|
||||
$(use_with systemd fpm-systemd)
|
||||
)
|
||||
fi
|
||||
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 #nowarn
|
||||
addpredict /var/lib/net-snmp/mib_indexes #nowarn
|
||||
|
||||
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 #nowarn
|
||||
|
||||
# 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
|
||||
}
|
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
DIST isl-0.12.2.tar.bz2 1319434 BLAKE2B 53f009dc8093fb3d7d2db40db8f6fd9d7de630777e0308ac3c5918c2c106eda0edd7451df18c954ed6c9fc3ed7d18c73708d7b1f94c8c5c55aa94f8845f5b219 SHA512 b5dea4d6b504fac22f2d8cd9c47d6896994d3966635a514d45010243db44cfbc009574b808f3587f35d91de629110bc11b52941d4075e21f8646c59656e62aea
|
||||
DIST isl-0.21.tar.xz 1621680 BLAKE2B ffd0c8aa7d489283ac958c280c05fe0c9ad621a10bd157d0522ac209a58e9bb6a8aad76c7a49b42d5e1c0f3605d0fb05a41ed6f2bb9aabb4f06060a5bbb65de5 SHA512 87ebc2fd6d4325cdfa82295a659ed6dbd70760a776b733e5503bbf8baa8fe80d905879728e9c7f23d2f3bcd7e78c00a66ab166c013ae97b603f7c460c69668ec
|
||||
DIST isl-0.22.1.tar.xz 1676948 BLAKE2B cf1661f785344d8132e8f8a339ed8d457677ca1bf943a597d3d0be1e80d8c42e788cdde79fd073d130d681424da7a8e3ca9fa2cd4cd4232220f5c5a1ce99ab99 SHA512 8dc7b0c14e5bfdca8f2161be51d3c9afcd18bc217bb19b7de01dbba0c6f3fdc2b725fb999f8562c77bf2918d3005c9247f7a58474a6da7697390067944d4d4aa
|
||||
DIST isl-0.22.tar.xz 1676992 BLAKE2B 1cb2125761adec02d9f337e8730faa5bc3a4e63cb7d968f7f4de3a3360b1f9be6caf6a27031f02df1ebe149fb70b6a32bdddbe8ae03032b8ff366f4eac274483 SHA512 7c3c9502ea07e4d47a823841837c3aa0b9d7ba0fe58deaf180734e44c18e53735ec783645da0bdc56b617c9e639b226cc03b40a947f852e1e787166a64f59424
|
||||
|
@ -0,0 +1,51 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit eutils multilib-minimal preserve-libs
|
||||
|
||||
DESCRIPTION="A library for manipulating integer points bounded by linear constraints"
|
||||
HOMEPAGE="http://isl.gforge.inria.fr/"
|
||||
SRC_URI="http://isl.gforge.inria.fr/${P}.tar.xz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0/22"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86"
|
||||
IUSE="static-libs"
|
||||
|
||||
RDEPEND=">=dev-libs/gmp-5.1.3-r1[${MULTILIB_USEDEP}]"
|
||||
DEPEND="${RDEPEND}
|
||||
app-arch/xz-utils
|
||||
virtual/pkgconfig"
|
||||
|
||||
DOCS=( ChangeLog AUTHORS doc/manual.pdf )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.19-gdb-autoload-dir.patch
|
||||
)
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" econf $(use_enable static-libs static)
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
find "${ED}" -type f -name '*.la' -delete
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
preserve_old_lib \
|
||||
/usr/$(get_libdir)/libisl$(get_libname 14) \
|
||||
/usr/$(get_libdir)/libisl$(get_libname 15) \
|
||||
/usr/$(get_libdir)/libisl$(get_libname 19) \
|
||||
/usr/$(get_libdir)/libisl$(get_libname 21)
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
preserve_old_lib_notify \
|
||||
/usr/$(get_libdir)/libisl$(get_libname 14) \
|
||||
/usr/$(get_libdir)/libisl$(get_libname 15) \
|
||||
/usr/$(get_libdir)/libisl$(get_libname 19) \
|
||||
/usr/$(get_libdir)/libisl$(get_libname 21)
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST libuv-1.33.1.tar.gz 1251944 BLAKE2B fc20883dbd96df0d91fbcc75255ae2a371cd2d4e00a747cf23e7b9dbc2e4663ca71be2eef601b18c58e39f64cb3ad348684db4c683bcdd85a3fea4c28a578417 SHA512 0200aae2d38c26f537658955479cbc54fb69d5d8cbbccf3016cea319b2c46b1f311ca7a8fc289f14532acbbf2905cf96b17353b8b92bf09802424c372701d1d5
|
||||
DIST libuv-1.34.0.tar.gz 1253950 BLAKE2B 3317709603409e009e24b5ff419bbac03927e75f0c0a37f0c6d8f558d027a25e883eec60a46928bb3533308a6f77a9834841e62ad9162df3c8cca1c3ae24a75e SHA512 30811311268179984fdc44209eb0e9ac4c6df08fa30790b75916ae838b23c2578a8a043340fbde86bcd5a373dcc335dec5fe88209560613876ca3272fd99c9e8
|
||||
DIST libuv-1.34.1.tar.gz 1243096 BLAKE2B c6c786ceacbe3387a27455a413507cfe69511f88cddf150e98b21520e247a6825ff23506dc7fe1aa8c830772db23085d1b2c496ace11cde8405e4e204ce93f57 SHA512 95212bdba326a22edb2663982a4abb95c420d287c67b20e57d6acdd4c40d40956ad28c599beaf10fbc941c6e50df94261d84abf8ac25abceb10f67d9de5ef3d3
|
||||
DIST libuv-1.34.2.tar.gz 1245374 BLAKE2B 500857cac1d714b43ae71c0f85e1cc69aab1735756f402582a6814c4d552a80097e76fe3cf4b74a395b5cc4340156c9e8abef2ad02000d2a5565ee8972062ab4 SHA512 7e7a54d2d1e0ed76654ece9481f02177d201a4590c5d9b5c8b4edf6f795a0d7c30970b907481847930a524a0f06c15c6c73b3ce73a8afa2f836e33dbd54a7249
|
||||
|
@ -0,0 +1,47 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
inherit autotools multilib-minimal
|
||||
|
||||
DESCRIPTION="Cross-platform asychronous I/O"
|
||||
HOMEPAGE="https://github.com/libuv/libuv"
|
||||
SRC_URI="https://github.com/libuv/libuv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD BSD-2 ISC MIT"
|
||||
SLOT="0/1"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="static-libs"
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND="sys-devel/libtool
|
||||
virtual/pkgconfig[${MULTILIB_USEDEP}]"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
echo "m4_define([UV_EXTRA_AUTOMAKE_FLAGS], [serial-tests])" \
|
||||
> m4/libuv-extra-automake-flags.m4 || die
|
||||
|
||||
# upstream fails to ship a configure script
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
local myeconfargs=(
|
||||
cc_cv_cflags__g=no
|
||||
$(use_enable static-libs static)
|
||||
)
|
||||
ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
mkdir "${BUILD_DIR}"/test || die
|
||||
cp -pPR "${S}"/test/fixtures "${BUILD_DIR}"/test/fixtures || die
|
||||
default
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
DIST cassandra-1.3.2.tgz 163700 BLAKE2B 00de93b4d8725e2a5ebf4194b38c7775b7845fddb751ccb831f7ae98c397344492f9a085480b4f76a987b4f3dc23ac2431d464eaf6bc3c45d819f087130cdada SHA512 2b3605f24e81b247afa5ea6bb8e1d1c24216a281babfbd750b973fb2094c864a3d45c7769c759bfe2f3f31360766a5b2eb1ff0ee4414ec9a9e9c5f164748242a
|
@ -1,18 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<longdescription lang="en">
|
||||
DataStax PHP driver for Apache Cassandra or Scilla
|
||||
</longdescription>
|
||||
<maintainer type="person">
|
||||
<email>geaaru@gmail.com</email>
|
||||
<name>Geaaru</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">datastax/php-driver</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,19 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
USE_PHP="php5-6 php7-0 php7-1"
|
||||
|
||||
inherit php-ext-pecl-r3
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DESCRIPTION="DataStax PHP Driver for Apache Cassandra"
|
||||
HOMEPAGE="https://github.com/datastax/php-driver"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=">=dev-db/cpp-driver-2.7.0"
|
||||
RDEPEND="${DEPEND}"
|
@ -1,2 +1 @@
|
||||
DIST event-2.2.1.tgz 133147 BLAKE2B 909892c937843821b34cb4d450b06698b23ed8aac59915ef96c72ba08e4afe84856e913527e9b0197d28ebbe5cac8ac45174d8e3fbeae33eae0619e3b3e21959 SHA512 a331e0cbb923b2efe95a366c842929e9ffcdf15d4b95dce83f5d1e9bb33045477f278672835ffc087df89aa3614106cf504f4e6a779a620b94c20d83449e95f2
|
||||
DIST event-2.5.3.tgz 140913 BLAKE2B e9b1886b65d1c307bf4a40ebe20e19f33d9e422ce98fb704c7174e953c2488b87f941fc5615bfee07e7d51e1775a0256349e023e6d8921fdd237e527ab108151 SHA512 359eee2f501444f444904ee1960d85af0b77259e59a06d9c6ae1ec008f7bda9bda5bf999d437d84416150a965466519c04e4c2f36dbca44367075fcbb46cd917
|
||||
|
@ -1,41 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PHP_EXT_NAME="event"
|
||||
PHP_EXT_INI="yes"
|
||||
PHP_EXT_ZENDEXT="no"
|
||||
DOCS=( README.md )
|
||||
|
||||
USE_PHP="php5-6 php7-0 php7-1"
|
||||
|
||||
inherit php-ext-pecl-r3
|
||||
|
||||
KEYWORDS="amd64 ia64 x86"
|
||||
LICENSE="PHP-3.01"
|
||||
|
||||
DESCRIPTION="PHP wrapper for libevent2"
|
||||
SLOT="0"
|
||||
|
||||
DEPEND="
|
||||
>=dev-libs/libevent-2.0.2
|
||||
php_targets_php5-6? ( dev-lang/php:5.6[sockets?] )
|
||||
php_targets_php7-0? ( dev-lang/php:7.0[sockets?] )
|
||||
php_targets_php7-1? ( dev-lang/php:7.1[sockets?] )"
|
||||
|
||||
RDEPEND="${DEPEND} !dev-php/pecl-libevent"
|
||||
|
||||
IUSE="debug +extra +ssl threads +sockets examples"
|
||||
|
||||
src_configure() {
|
||||
local PHP_EXT_ECONF_ARGS=(
|
||||
--with-event-core
|
||||
$(use_enable debug event-debug)
|
||||
$(use_with extra event-extra)
|
||||
$(use_with ssl event-openssl)
|
||||
$(use_with threads event-pthreads)
|
||||
$(use_enable sockets event-sockets)
|
||||
)
|
||||
php-ext-source-r3_src_configure
|
||||
}
|
@ -1,3 +1 @@
|
||||
DIST oauth-2.0.2.tgz 49115 BLAKE2B 292c8c2d7fa3728aa6a73cdb65ee1c603f341cd24596d64b910f495ef649adb1f90ba4dfdab5ce1802dee9e8a0e3a6af502da340ed467de6e8c5d83df18abc7d SHA512 b7aa9459542ec390a5420127d75607702ae6df6254f4e39acb62d35c6a39b8b7990499c279df07ce681081e455b55219c51df42fd516321f317465badf6d459d
|
||||
DIST oauth-2.0.3.tgz 49413 BLAKE2B 581ba50a3add230364ed5c161b76073b1dd7c301eaf4cd048ed97039deb45fea73da56f0d0b69186d8f6fb20a55724ba5892d80bd7aae343b15534d3c82b6346 SHA512 3e0ce5ce01533bfd304c0c34465cc184fbd0af1a25f5192860e6394c86dc948688cc8d4b419b48676481cef3a685ba70ac612a8c516da26d0dfe9efdef7e98d9
|
||||
DIST oauth-2.0.4.tgz 49359 BLAKE2B d5fb23293fc03f40e2b3a5c5ad51bce1b06a6004e1f20d1563b3db7bb79a71f70bca467348d68b4f6d2393003b4ad23debbe5877192d9e189056e86f9fc00b3e SHA512 269b579f87a9f3f229433c74937f74b9b6df453a6e05f7751ca12fa5f24c9ad62d1ebe5cdb370d33d774a0f2e244c1c685a53226dcb35c0005b5532a00c137d4
|
||||
|
@ -1,48 +0,0 @@
|
||||
From f1a5b6dea1982dab03c810edd321ca57907d41fe Mon Sep 17 00:00:00 2001
|
||||
From: Adam Saponara <as@php.net>
|
||||
Date: Fri, 24 Feb 2017 17:20:51 -0500
|
||||
Subject: [PATCH] Fix bug #74163: Segfault in oauth_compare_value
|
||||
|
||||
Credit to @russpos for finding this bug
|
||||
---
|
||||
oauth.c | 4 ++--
|
||||
tests/oauth_sbs.phpt | 4 ++++
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/oauth.c b/oauth.c
|
||||
index 62522bd..198e2cb 100644
|
||||
--- a/oauth.c
|
||||
+++ b/oauth.c
|
||||
@@ -374,8 +374,8 @@ static int oauth_strcmp(zval *first, zval *second)
|
||||
static int oauth_compare_value(const void *a, const void *b)
|
||||
{
|
||||
Bucket *f, *s;
|
||||
- f = *(Bucket **)a;
|
||||
- s = *(Bucket **)b;
|
||||
+ f = (Bucket *)a;
|
||||
+ s = (Bucket *)b;
|
||||
|
||||
return oauth_strcmp(&f->val, &s->val);
|
||||
}
|
||||
diff --git a/tests/oauth_sbs.phpt b/tests/oauth_sbs.phpt
|
||||
index a49d2b4..4e9269e 100644
|
||||
--- a/tests/oauth_sbs.phpt
|
||||
+++ b/tests/oauth_sbs.phpt
|
||||
@@ -21,6 +21,8 @@ echo "-- putting oauth_signature inside by mistake --\n";
|
||||
echo oauth_get_sbs('GET', 'http://127.0.0.1:12342/',array('oauth_signature'=>'hello world')),"\n";
|
||||
echo "-- merging url query and extra params --\n";
|
||||
echo oauth_get_sbs('GET', 'http://127.0.0.1:12342/script?arg1=1',array('arg2' => '2')),"\n";
|
||||
+echo "-- with array value --\n";
|
||||
+echo oauth_get_sbs('GET', 'http://127.0.0.1:12342/script',array('arg2' => [1, 2, 3])),"\n";
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
@@ -44,3 +46,5 @@ GET&http%3A%2F%2F127.0.0.1%3A12342%2F&test%3D
|
||||
GET&http%3A%2F%2F127.0.0.1%3A12342%2F&
|
||||
-- merging url query and extra params --
|
||||
GET&http%3A%2F%2F127.0.0.1%3A12342%2Fscript&arg1%3D1%26arg2%3D2
|
||||
+-- with array value --
|
||||
+GET&http%3A%2F%2F127.0.0.1%3A12342%2Fscript&arg2%3D1%26arg2%3D2%26arg2%3D3
|
||||
--
|
||||
2.1.4
|
||||
|
@ -1,56 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
PHP_EXT_NAME="oauth"
|
||||
PHP_EXT_INI="yes"
|
||||
PHP_EXT_ZENDEXT="no"
|
||||
|
||||
USE_PHP="php5-6 php7-0 php7-1 php7-2"
|
||||
|
||||
inherit php-ext-pecl-r3
|
||||
|
||||
# Really only build for 7.0
|
||||
USE_PHP="php7-0 php7-1 php7-2"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DESCRIPTION="OAuth is an authorization protocol built on top of HTTP"
|
||||
LICENSE="BSD"
|
||||
SLOT="7"
|
||||
IUSE="+curl examples"
|
||||
|
||||
DEPEND="php_targets_php7-0? ( dev-lang/php:7.0[hash]
|
||||
dev-libs/libpcre:3= curl? ( net-misc/curl:0= ) )
|
||||
php_targets_php7-1? ( dev-lang/php:7.1[hash]
|
||||
dev-libs/libpcre:3= curl? ( net-misc/curl:0= ) )
|
||||
php_targets_php7-2? ( dev-lang/php:7.2[hash]
|
||||
dev-libs/libpcre:3= curl? ( net-misc/curl:0= ) )
|
||||
"
|
||||
RDEPEND="${DEPEND} php_targets_php5-6? ( ${CATEGORY}/${PN}:0[php_targets_php5-6(-)?] )"
|
||||
|
||||
src_prepare() {
|
||||
if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2; then
|
||||
local PATCHES=( "${FILESDIR}/${PV}-compare_segfault.patch" )
|
||||
php-ext-source-r3_src_prepare
|
||||
else
|
||||
eapply_user
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2; then
|
||||
local PHP_EXT_ECONF_ARGS=(
|
||||
--enable-oauth
|
||||
$(use_with curl)
|
||||
)
|
||||
|
||||
php-ext-source-r3_src_configure
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2; then
|
||||
php-ext-pecl-r3_src_install
|
||||
fi
|
||||
}
|
@ -1,59 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
PHP_EXT_NAME="oauth"
|
||||
PHP_EXT_INI="yes"
|
||||
PHP_EXT_ZENDEXT="no"
|
||||
|
||||
USE_PHP="php5-6 php7-0 php7-1 php7-2 php7-3"
|
||||
|
||||
inherit php-ext-pecl-r3
|
||||
|
||||
# Really only build for 7.0
|
||||
USE_PHP="php7-0 php7-1 php7-2 php7-3"
|
||||
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
DESCRIPTION="OAuth is an authorization protocol built on top of HTTP"
|
||||
LICENSE="BSD"
|
||||
SLOT="7"
|
||||
IUSE="+curl examples"
|
||||
|
||||
DEPEND="php_targets_php7-0? ( dev-lang/php:7.0[hash]
|
||||
dev-libs/libpcre:3= curl? ( net-misc/curl:0= ) )
|
||||
php_targets_php7-1? ( dev-lang/php:7.1[hash]
|
||||
dev-libs/libpcre:3= curl? ( net-misc/curl:0= ) )
|
||||
php_targets_php7-2? ( dev-lang/php:7.2[hash]
|
||||
dev-libs/libpcre:3= curl? ( net-misc/curl:0= ) )
|
||||
php_targets_php7-3? ( dev-lang/php:7.3[hash]
|
||||
dev-libs/libpcre:3= curl? ( net-misc/curl:0= ) )
|
||||
"
|
||||
RDEPEND="${DEPEND} php_targets_php5-6? ( ${CATEGORY}/${PN}:0[php_targets_php5-6(-)?] )"
|
||||
|
||||
src_prepare() {
|
||||
if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 || use php_targets_php7-3; then
|
||||
# Disable tests that depend on header order
|
||||
rm "${S}/tests/bug16946.phpt" "${S}/tests/overflow_redir.phpt" || die
|
||||
php-ext-source-r3_src_prepare
|
||||
else
|
||||
eapply_user
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 || use php_targets_php7-3; then
|
||||
local PHP_EXT_ECONF_ARGS=(
|
||||
--enable-oauth
|
||||
$(use_with curl)
|
||||
)
|
||||
|
||||
php-ext-source-r3_src_configure
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if use php_targets_php7-0 || use php_targets_php7-1 || use php_targets_php7-2 || use php_targets_php7-3; then
|
||||
php-ext-pecl-r3_src_install
|
||||
fi
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST pecl-translit-0.6.2.tar.gz 226445 BLAKE2B c5fbf99134b7f933f1d8209ebffa97a28c927b8db917319a9308debfa4275d8e6e3e0c261cfb0661c8202f25c0cdf5a888bc90f356cd80a2ab788366c4c3cb85 SHA512 1d5229ceb2c06f5e4a9e3f7e1e760fc2974c01b732f8e220b9b1ddd49a82c932f4237fb6a19c82017270614881156f9637cffbe7896132e4a07e7a6547915ebb
|
||||
DIST pecl-translit-0.6.3.tar.gz 227419 BLAKE2B ebff291a00d61bb4f8e2c47e26baef4278f317be8acd7e5265d3056f8992e6b7e792718c86633277c4a0af5403e253b317241a71aba9b73079a8efb53389ab30 SHA512 5b5e3097a972e45424696abea4d4698fc6c7b6598f1a76754224a4b66776752a01b3bad52bc14afb8cc6e75d36c4558677e609a379898cdd91a5b0a652155cd1
|
||||
|
@ -1,33 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PHP_EXT_NAME="translit"
|
||||
PHP_EXT_INI="yes"
|
||||
PHP_EXT_ZENDEXT="no"
|
||||
|
||||
USE_PHP="php5-6 php7-0 php7-1 php7-2"
|
||||
PHP_EXT_NAME="translit"
|
||||
|
||||
MY_PV="${PV//./_}"
|
||||
S="${WORKDIR}/${PN}-RELEASE_${MY_PV}"
|
||||
|
||||
inherit php-ext-source-r3
|
||||
|
||||
SRC_URI="https://github.com/derickr/${PN}/archive/RELEASE_${MY_PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
HOMEPAGE="https://github.com/derickr/pecl-translit"
|
||||
|
||||
DESCRIPTION="Transliterates non-latin character sets to latin"
|
||||
LICENSE="BSD-2"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
PHP_EXT_ECONF_ARGS=()
|
||||
|
||||
src_test() {
|
||||
for slot in $(php_get_slots); do
|
||||
php_init_slot_env ${slot}
|
||||
NO_INTERACTION="yes" emake test
|
||||
done
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST uuid-1.0.4.tgz 14900 BLAKE2B d653329fbac1bec66d842e048b290ac6b0382f78e6ccd6f2158bafaaa375ae4e951f794d4b70c139b23a28d6ddbc1f44be47cf2af0bd2fd09de33beb17b0f837 SHA512 989d993f8158a13026b8e5c02f4aa50489b1a946d12da81dd1fff6091839a45b180562f74c8af368a498c495477374ec9e1d536e7de0178c1f288e3abe360164
|
||||
DIST uuid-1.1.0.tgz 15225 BLAKE2B 0a5a326076707e0d3e7c779151a13853e52d026ebdf62c9ab147cf5d00bbc68a3d82e15101c1d4a232d96ea7e988304a25517723adb3127938474172dfab16c2 SHA512 aea814a12e266e4a9e36c58bae78927fa9de6d2b7bf9c75a911710b26958aeecd31d972f56519cf4882a4b13864bc0740ad968b06e704ce7642279253009e76d
|
||||
|
@ -1,23 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PHP_EXT_NAME="uuid"
|
||||
PHP_EXT_INIT="yes"
|
||||
PHP_EXT_ZENDEXT="no"
|
||||
DOCS=( CREDITS )
|
||||
|
||||
USE_PHP="php5-6 php7-0 php7-1 php7-2 php7-3 php7-4"
|
||||
|
||||
inherit php-ext-pecl-r3
|
||||
|
||||
DESCRIPTION="A wrapper around libuuid"
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="sys-apps/util-linux"
|
||||
RDEPEND="${DEPEND}"
|
||||
PHP_EXT_ECONF_ARGS=()
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST capturer-2.3.tar.gz 18380 BLAKE2B e51f7013715e1bcf83da6126804aa3c223fcfeb7c4f958038f123e19dcb807bb480d46ed17307ccc312b2d5873dc9f82ed90f7be7f01b7062ef81c11829c6698 SHA512 267c6238ab143894f3d74002334b99e3d1a59a3bf30f5ad04d6f1a81c9439b1369fe161859f86924280e3b9e47536e53a0a80045acda9ae471ded7d751e01470
|
||||
DIST capturer-2.4.tar.gz 16963 BLAKE2B 329e388059a033993cf2ac3744a8df273beea0239f3696d19aece57767b0b5cd3397fa095f860c4f00ef24e8cd6bf2e58aab4158a86cf8c0c09c89d2065de0da SHA512 d85614b0424ab8817df9475ac0d230d7151289a3353a3c043a7fa89dac0528265a4dee535cac9ad0a3c2fbb0cac18afa69cd0a405b1becab55f9a6be13df0c46
|
||||
|
@ -0,0 +1,28 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Easily capture stdout/stderr of the current process and subprocesses"
|
||||
HOMEPAGE="https://capturer.readthedocs.io/en/latest/
|
||||
https://pypi.org/project/capturer/
|
||||
https://github.com/xolox/python-capturer"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
SLOT="0"
|
||||
LICENSE="MIT"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
RDEPEND="dev-python/humanfriendly[${PYTHON_USEDEP}]"
|
||||
|
||||
DEPEND="test? ( dev-python/coverage[${PYTHON_USEDEP}] )"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
pytest -vv ${PN}/tests.py || die "Tests fail with ${EPYTHON}"
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
inherit distutils-r1 virtualx
|
||||
|
||||
DESCRIPTION="Extra features for standard library's cmd module"
|
||||
HOMEPAGE="https://github.com/python-cmd2/cmd2"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
RDEPEND="
|
||||
dev-python/attrs[${PYTHON_USEDEP}]
|
||||
>=dev-python/colorama-0.3.7[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyperclip-1.6[${PYTHON_USEDEP}]
|
||||
dev-python/six[${PYTHON_USEDEP}]
|
||||
dev-python/wcwidth[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools_scm[${PYTHON_USEDEP}]
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
src_test() {
|
||||
# tests rely on very specific text wrapping...
|
||||
local -x COLUMNS=80
|
||||
virtx distutils-r1_src_test
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST coloredlogs-10.0.tar.gz 273273 BLAKE2B 775b12718d780da396d74c7f960cdbbd4858c793bf3eefb53d29e9f6b415f682110ae2c7ac631be230578946a2fab8d75e0c3aa487ccd952bb05443f0a85700c SHA512 f4a51fd8fa92ea4e2ef0b58305dcc4bbe12851e722fc85cfd4f48a9388002efced52bcf027f6dc4c525b095f3f953970e73928fdce3245ab4f9d13ae36b9d498
|
||||
DIST coloredlogs-6.1.tar.gz 28057 BLAKE2B bbb5946db3e6cbfae0b9947d2aa29769858833e35213a44a5be4ceb434021ee8c583ff00c980b9ab4fc533f6fec80e151895097b6a87c44257ef0fd5c7ab0bab SHA512 834cf993e7ffd3328644d334912fcf5a5156a441c6184643b38e5f356d46d7b5c48e02ee1e1b432265052c7a5ab1071ba456e575217a4a762f8387131059c405
|
||||
|
@ -0,0 +1,38 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6,7,8} )
|
||||
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Colored stream handler for the logging module"
|
||||
HOMEPAGE="
|
||||
https://pypi.org/project/coloredlogs/
|
||||
https://github.com/xolox/python-coloredlogs
|
||||
https://coloredlogs.readthedocs.io/en/latest/"
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
RDEPEND="dev-python/humanfriendly[${PYTHON_USEDEP}]"
|
||||
|
||||
DEPEND="test? (
|
||||
dev-python/capturer[${PYTHON_USEDEP}]
|
||||
dev-python/coverage[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/verboselogs[${PYTHON_USEDEP}] )"
|
||||
|
||||
PATCHES="${FILESDIR}/${P}-skip-sandbox-violation-tests.patch"
|
||||
|
||||
distutils_enable_sphinx docs
|
||||
distutils_enable_tests pytest
|
||||
|
||||
python_test() {
|
||||
pytest -vv ${PN}/tests.py || die "Tests fail with ${EPYTHON}"
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue