parent
10e3c5604f
commit
f72c18f72a
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 29809 BLAKE2B a91b06f4f468e23e6b26710fe1afca8724702b00468d5e4310ba95dd79dbd1239cb11ddc48415dffc48f707ae1eed30b7f1c6b496b2fb6501309b9a49925b06e SHA512 87fc786bb9f0a98c01475d9f9f83118dccc5009de1e0c673cec5aa7cab27545fd7fe77a5790ce7f28e27723c38708538835008fa793fefe4bfb6629f43feb3e9
|
||||
TIMESTAMP 2024-05-10T15:10:19Z
|
||||
MANIFEST Manifest.files.gz 29812 BLAKE2B 331537b99e920796b6780349ac8685d58f1a0ce34540a5138d11b6b51a7b5667236f2a90b08b36c401d846c1694b2c51ee73795fa955d660cd541bbfa41a1956 SHA512 26dc48a1bb119af21a519c2774061b13c32bc74e73231d59dcc745f30b1913b1c5a64bfb48952c7494dbb392f65a88080caa079e4f4662bb38c268e5ad62f113
|
||||
TIMESTAMP 2024-05-10T22:40:19Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmY+ONtfFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAmY+olNfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klB4bA/9HfwGNWWZC0orHlXqLGXhAVe1fy3WyvXTly+4pwZ8t/xeJbnfS9+OQFlQ
|
||||
NDsh+yVeUKU3N85ilF/ga4pS+/FtvnfSFxMQa5F38R8SilRESpF9G2vov4gAqs4P
|
||||
kAB54Rm1UVHV2rqeW1/bwscxNW6UGUQcJ4KZJloK5wg8puSnO1kvFpCET8lI506n
|
||||
nkD0Ey+R6y1TDcMmRoiziV1V7N4p0F5RkHJXD7AK+VONWsIPh6lhUHTaDC/4Lsdd
|
||||
tffKaXEEuFZh75B3GTm7lZM5j3kH37twsIJgvaL72SlSGXkG0NSnqNZ8aXICaTnO
|
||||
+KjAl/kXT82HZgVyx0WPbIiKo/ak79TFQzzPR1Eycb/evWUQMo2QbQRgfxCeUCuh
|
||||
7D5eS++1Y9nuxKj3abtjcuNe3qj9gFKReip6lheCXvioM0BJANA1BLO3uzdIQicl
|
||||
LlH9Ip678UYxjnjVmaEWcyPc9iN0zlh+/6sI1AvDJGCYvZKiIDQ0Ba8tQqlGINeS
|
||||
XJv9Lg04ZpY3577A/9NwD+xbC5lx4LaZ0ddZfOud8BxHSOmPs3FOYyzAW3o2dk8G
|
||||
9YKB5sfmve4KieAV+Gd9Gn6awwgHZomOA7Y47qAcKle3QkEe+OhXN2RRY8QjV7Qc
|
||||
SjnO0vegt4IjWmElorQyS5qaO8ms8/IYMrTFu3gV9PH5mt+Omv4=
|
||||
=OiuC
|
||||
klCIOA/9FwGftxfGHouESmgcyGlbKXd0lm/Vciw7fI06DG0W9/CCY4i9mjflSLVh
|
||||
X6kP97t9fvqJNaJ7hel7hUer6SDRYGaMbLFBp8NX696cbnFqLsMSJ8kgOkHdK6ea
|
||||
IiWPGvlu66cdanR5VWHMDLZlWdUJD5+qBiGtqvnwMmjfxNkHUbt4nmyTogOruRDt
|
||||
+V7arKX4syucHH+u67lAbSaaaNn07xAf8ldUP8iv1/xeYvDX5KV8iAf3PRFsmk8h
|
||||
vNJGyye3/8lKmgnil6VzSiH/P7TyESq079uHrXKKKXC2f9XtoP0khRNd/tmeZ1I7
|
||||
xUtTnSiFgw3C0BTbm9y++drlzcC+HznMbQeBVbTl4TNlncNJnHa84IBiDN7oyY2V
|
||||
Ks1DQ7Sd8aUk+VTXGnlvRtJ9mZESaiSXnMPRiaYttqVm2FX3Q3jbS/QRH1C8KpL4
|
||||
16N22JiHHO1KkRbLtn2LvZMFO7mPHPpQio6/9BL5Btbk9Kwl5fvuGWmRKcoZKM00
|
||||
UTrT4l29kOLjQPHDVEeUhA/iaq/1d/oFJM5662dVVo23SIqpZA9ubHY5n0gk2jy/
|
||||
ntX/TtRtqBgFdTw5+qf4Pqs8ccvs81CJg3/v+X5x4iXGjfz+4RU6wuWhhfvcK5pH
|
||||
KkMEL/oEfpAe/rjGm62yt6SjLmbFDeNS5BxbDv8qWzqb6H86zeM=
|
||||
=Bgu/
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,59 @@
|
||||
# Copyright 2022-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
CRATES=""
|
||||
|
||||
inherit cargo
|
||||
|
||||
DESCRIPTION="The minimal, blazing-fast, and infinitely customizable prompt for any shell"
|
||||
HOMEPAGE="https://starship.rs/"
|
||||
SRC_URI="
|
||||
https://github.com/starship/starship/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
${CARGO_CRATE_URIS}
|
||||
https://dev.gentoo.org/~arthurzam/distfiles/app-shells/${PN}/${P}-crates.tar.xz
|
||||
"
|
||||
|
||||
LICENSE="ISC"
|
||||
# Dependent crate licenses
|
||||
LICENSE+="
|
||||
Apache-2.0 BSD CC0-1.0 ISC MIT MPL-2.0 Unicode-DFS-2016 Unlicense
|
||||
WTFPL-2 ZLIB
|
||||
"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64"
|
||||
|
||||
BDEPEND="
|
||||
dev-build/cmake
|
||||
>=virtual/rust-1.71
|
||||
"
|
||||
|
||||
QA_FLAGS_IGNORED="usr/bin/starship"
|
||||
|
||||
src_prepare() {
|
||||
sed -e '/strip/s/true/false/' -i Cargo.toml || die # bug 866133
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export PKG_CONFIG_ALLOW_CROSS=1
|
||||
export OPENSSL_NO_VENDOR=true
|
||||
|
||||
cargo_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cargo_src_install
|
||||
dodoc README.md CHANGELOG.md
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local v
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "${v}" -lt "1.9.0"; then
|
||||
einfo "Note that vicmd_symbol config option was renamed to vimcmd_symbol in version 1.9"
|
||||
fi
|
||||
done
|
||||
}
|
Binary file not shown.
@ -1,6 +1,4 @@
|
||||
DIST Sigil_User_Guide_2022.05.17.epub 8894634 BLAKE2B 8a7c5b5add54d87dfe791a0dbbc0c6cd37ae2eb2ff77f46ae36643785fb714d9fbc0fe470d024f7112be2933ca4fb57a4bfdfd340083be15fffca69296640ea9 SHA512 bac3f55d28d02f53c8fdac51333194e0f27c6669876360a6d0244b1e2683dae0e7046977fab6e75dba7170c8aca3a7539f3d6cddab3ddc3e45985930c455968a
|
||||
DIST sigil-2.0.2.tar.gz 26683849 BLAKE2B 4e72f63553569339710b7dd19992d9498c068235cf90189df2957ed8cec9963e5b53d2ba96313734e911d55e665ac95317b334274ed118874d8e499971f2e85a SHA512 b6fa7ff7e9fa568f93c61755f531e51cb26e149118da7873dafccacb1495346276389780435270237ed3d60e9c56fc153de9548859563039ea3070d347a1f6ca
|
||||
DIST sigil-2.1.0.tar.gz 26918715 BLAKE2B d31aeea2ef0de2ecdedd50329bdf306e53aca0d4615cc97efa45013670b1f47af6a6152da4fdee20bf3a02c99f9b1337f07347170d50f28ddf48a52a089a5fc0 SHA512 542d6fc71b0353e3b5440d40e4c9f205c5205fb3e409935015b8f3689f8dcc74d8a96035963a740791f3a8acd63b2e0d81afe9be7716098e0727be6daf6c8ceb
|
||||
EBUILD sigil-2.0.2-r1.ebuild 2626 BLAKE2B 895ee5a216cf2880d18d8549c964ca1b0144a9fd60e3bfa3b506cd26bd679d34db9739d8d8e16070cbd714a3bed9584e3e4593f303564a8eb6c99c3bdd3f2dad SHA512 519599ab18c9da25a609ccc0f8e623dd678aa00d3f376057dd68a543cae104061e8f93651ee274c93edb5ead595a992212caaa72c6276da95aca1ceca94fdb42
|
||||
EBUILD sigil-2.1.0-r1.ebuild 2661 BLAKE2B 6aac926a9e13bac9decf428caca2e1e8f86d1a6e8555cf91d16ce5aa771d10d1fa7405af18c1a6bc7bfe6b6f4f37cdb7f3ac19530be799fae8a414b87cfb4265 SHA512 dd2a8dc95fe19e005837b0de9870b0658ffd2f21896dbd8f631283522171e6c6a06df3e12a863ac2168cd0ed2786dc48de477c21f81cb68ab3a577bebbe6437b
|
||||
EBUILD sigil-2.1.0-r1.ebuild 2660 BLAKE2B 011e53c06c4a16247527bb407b40d7947fb5b402caa8a5020540832606ad306df61f5253b192e10e27e82b9191a020e04b0a21a8027bc444137986486f0fba82 SHA512 0a4219ee5d5ff04d62dac1b13dc4be18f4cb60ff9193cb0f7ba1f8f6498da0063bb3e241a373a2ec52381f603ce269c7c506d4ab088a9ad6b6482c7da400ddc4
|
||||
MISC metadata.xml 706 BLAKE2B 394811d292869d61297ed01ce36223cd0eb33b6ea21db9cfe6e87911d7f30801977f8b66663085a289bf9f6870fd64d72c1d706c7b9516d2e09585783772a4dc SHA512 a98d16ad1760d359f9ab915d472747fe3f1dc229f41b10980f1ccd3436091f8dec0ee800fed7e531413eb77826a7873ce3e2e3bf8c2d478b4d1ec1ccc16e5b68
|
||||
|
@ -1,103 +0,0 @@
|
||||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{10..12} )
|
||||
|
||||
inherit xdg cmake python-single-r1
|
||||
|
||||
DOC_VERSION="2022.05.17"
|
||||
DOC_FILE="Sigil_User_Guide_${DOC_VERSION}.epub"
|
||||
|
||||
DESCRIPTION="Multi-platform WYSIWYG ebook editor for ePub format"
|
||||
HOMEPAGE="https://sigil-ebook.com/ https://github.com/Sigil-Ebook/Sigil"
|
||||
SRC_URI="https://github.com/Sigil-Ebook/Sigil/archive/${PV}.tar.gz -> ${P}.tar.gz
|
||||
doc? ( https://github.com/Sigil-Ebook/sigil-user-guide/releases/download/${DOC_VERSION}/${DOC_FILE} )"
|
||||
S="${WORKDIR}/${P^}"
|
||||
|
||||
LICENSE="GPL-3+ Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE="doc +plugins qt6"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
app-text/hunspell:=
|
||||
dev-libs/libpcre2:=[pcre16]
|
||||
sys-libs/zlib[minizip]
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/css-parser[${PYTHON_USEDEP}]
|
||||
dev-python/dulwich[${PYTHON_USEDEP}]
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
')
|
||||
plugins? ( $(python_gen_cond_dep '
|
||||
dev-python/chardet[${PYTHON_USEDEP}]
|
||||
dev-python/cssselect[${PYTHON_USEDEP}]
|
||||
dev-python/html5lib[${PYTHON_USEDEP}]
|
||||
dev-python/pillow[${PYTHON_USEDEP}]
|
||||
dev-python/regex[${PYTHON_USEDEP}]
|
||||
')
|
||||
$(python_gen_impl_dep 'tk') )
|
||||
!qt6? (
|
||||
dev-qt/qtconcurrent:5
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtprintsupport:5
|
||||
dev-qt/qtwebengine:5[widgets]
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtxml:5
|
||||
plugins? ( $(python_gen_cond_dep '
|
||||
dev-python/PyQt5[${PYTHON_USEDEP}]
|
||||
dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
|
||||
') )
|
||||
)
|
||||
qt6? (
|
||||
dev-qt/qtbase:6[concurrent,cups,network,widgets,xml]
|
||||
dev-qt/qt5compat:6
|
||||
dev-qt/qtwebengine:6[widgets]
|
||||
plugins? ( $(python_gen_cond_dep '
|
||||
dev-python/PyQt6[${PYTHON_USEDEP}]
|
||||
dev-python/PyQt6-WebEngine[${PYTHON_USEDEP}]
|
||||
') )
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
virtual/pkgconfig
|
||||
!qt6? ( dev-qt/linguist-tools:5 )
|
||||
qt6? ( dev-qt/qttools:6[linguist] )
|
||||
"
|
||||
|
||||
DOCS=( ChangeLog.txt README.md )
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DTRY_NEWER_FINDPYTHON3=1
|
||||
-DPython3_INCLUDE_DIR="$(python_get_includedir)"
|
||||
-DPython3_LIBRARY="$(python_get_library_path)"
|
||||
-DPython3_EXECUTABLE="${PYTHON}"
|
||||
|
||||
-DUSE_QT5=$(usex !qt6)
|
||||
-DINSTALL_BUNDLED_DICTS=0
|
||||
-DSYSTEM_LIBS_REQUIRED=1
|
||||
-DUSE_SYSTEM_LIBS=1
|
||||
)
|
||||
# use system-mathjax && mycmakeargs+=( -DMATHJAX3_DIR="${EPREFIX}"/usr/share/mathjax )
|
||||
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
python_fix_shebang "${ED}"/usr/share/sigil/
|
||||
python_optimize "${ED}"/usr/share/sigil/
|
||||
|
||||
if use doc; then
|
||||
dodoc "${DISTDIR}/${DOC_FILE}"
|
||||
docompress -x /usr/share/doc/${PF}/${DOC_FILE}
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
AUX dotnet-sdk-8.0.101-runtime-64.patch 1059 BLAKE2B 9420e05c877024c694bf8f469ffb6369f7639828ca4d1017f3098c480a669ff334aeb7fd7425f4e2d8a720c83fef0a2e906d6da68bcb71f02aa50d6a8a200fcc SHA512 685f1b8bc77b1dcd266ef2d6cb8644fb7b49cfd2ac4c94cba3d36e68877fce087e7e0753430a76a474d204731514b24e778f77100538a14ea59945b9aca4a934
|
||||
DIST dotnet-sdk-8.0.102-prepared-gentoo-amd64.tar.xz 1794775828 BLAKE2B 72a12b5af020a7f7d77b45eefd147b6fed52889443bbf0a9c5464a8a35a9582af32b75587f73aea9d1eb72d053986d8a204904178f260b2c8532ad821389beaf SHA512 1f7727f22e91783aaec5bccd2324f9dc63700fc95625afebeeb3bde7a99a63754a086b38c1d0921b4536963cbfc53b9c995a2aca519e0edd529f542a89995924
|
||||
DIST dotnet-sdk-8.0.102-prepared-gentoo-musl-amd64.tar.xz 1790982284 BLAKE2B 010a1dee8e09402a22c0b45745a6ec7e511c88134ef984f51caa69051d7aec87dcb73392bc338508d5591ade1247e95f7708d4a83961ea665350b4ef29882e33 SHA512 611f96525ac98bae35592074d2f1d863c566080f4f52ca619546b547515f2962d9ae53317461e9bb803067d4381daab50f6c772134f9386bf36962998891563b
|
||||
EBUILD dotnet-sdk-8.0.102.ebuild 5323 BLAKE2B 5b4927bb871e5687883657c267cd4b3efd1597ca79f1985aaea6415b76048f8ef2970addf4b1248fc43cb3d649a65793b7fa0d5b8acd42cae3529702bfc164d2 SHA512 8e16641d8b825bb9301210e4f32b606508f4708ced3536197abce84b3a9225a3086ccb680fe4e9e0a493a6241558c40d7b8bbce04724cad523a2e80d7ed7100c
|
||||
EBUILD dotnet-sdk-8.0.102.ebuild 5454 BLAKE2B e7dcdef0c64e87b79dfb30aa490d61e44a1839ace4198d466b1c967728f89d2db1f7567d868ba214c5f96978866950b6cdb998ad19339fbc261400edddf52d0c SHA512 1df42ed697c3e833f35f2fb3235490e7f86531a9730767312a63291dbef114b29fa59c7bb9910277721ba9b6d73b4fb6e540e6283870c7af9a9ad78b211caffc
|
||||
MISC metadata.xml 518 BLAKE2B f9733bd3b6b343126c400ce35dc7e4e57421a6643219341c4beab83d47beb1182306f3d0c5f1e7ff0854fd49818b2c6af37598170b88e2eb82b62d478735abf0 SHA512 940830b1208c39e4cfd72817d399156b027e5ac51dcc7bb983c9ec973f8f2ef76e440a2d358d15f7a2e185c42ae98c986210224f1477923967e3dc70eb0cfde9
|
||||
|
@ -0,0 +1,89 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
MAJOR="$(ver_cut 1)"
|
||||
|
||||
DOTNET_PKG_COMPAT=8.0
|
||||
NUGETS="
|
||||
fabulous.ast@0.7.0
|
||||
fantomas.core@6.3.0-alpha-003
|
||||
fantomas.fcs@6.3.0-alpha-003
|
||||
fsharp.core@6.0.1
|
||||
fsharp.core@8.0.100
|
||||
fsharp.core@8.0.101
|
||||
fsharp.data.csv.core@6.3.0
|
||||
fsharp.data.html.core@6.3.0
|
||||
fsharp.data.http@6.3.0
|
||||
fsharp.data.json.core@6.3.0
|
||||
fsharp.data.runtime.utilities@6.3.0
|
||||
fsharp.data.worldbank.core@6.3.0
|
||||
fsharp.data.xml.core@6.3.0
|
||||
fsharp.data@6.3.0
|
||||
libgit2sharp.nativebinaries@2.0.321
|
||||
libgit2sharp@0.29.0
|
||||
microsoft.netcore.platforms@1.1.1
|
||||
microsoft.netcore.targets@1.1.3
|
||||
org.xgqt.simplelog@0.0.0
|
||||
runtime.any.system.runtime@4.3.0
|
||||
runtime.native.system@4.3.0
|
||||
runtime.unix.system.private.uri@4.3.0
|
||||
system.commandline@2.0.0-beta4.22272.1
|
||||
system.diagnostics.diagnosticsource@7.0.0
|
||||
system.memory@4.5.5
|
||||
system.private.uri@4.3.0
|
||||
system.runtime@4.3.1
|
||||
"
|
||||
|
||||
inherit dotnet-pkg
|
||||
|
||||
DESCRIPTION="Gentoo tools for .NET packages maintenance"
|
||||
HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Dotnet
|
||||
https://gitlab.gentoo.org/dotnet/gentoo-dotnet-maintainer-tools/"
|
||||
|
||||
if [[ "${PV}" == *9999* ]] ; then
|
||||
inherit git-r3
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.gentoo.org/dotnet/${PN}.git"
|
||||
else
|
||||
SRC_URI="https://gitlab.gentoo.org/dotnet/${PN}/-/archive/${PV}/${P}.tar.bz2"
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
SRC_URI+=" ${NUGET_URIS} "
|
||||
S="${WORKDIR}/${P}/Source/v${MAJOR}"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0/${MAJOR}"
|
||||
|
||||
DOTNET_PKG_PROJECTS=()
|
||||
DOTNET_TOOLS=()
|
||||
|
||||
src_unpack() {
|
||||
dotnet-pkg_src_unpack
|
||||
|
||||
if [[ -n "${EGIT_REPO_URI}" ]] ; then
|
||||
git-r3_src_unpack
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
dotnet-pkg_src_prepare
|
||||
|
||||
DOTNET_PKG_PROJECTS=( $(find "${S}" -name "Gdmt.*proj") )
|
||||
DOTNET_TOOLS=( $(cat "${S}/gdmt-tools.txt") )
|
||||
|
||||
einfo "Will build following DOTNET_PKG_PROJECTS: ${DOTNET_PKG_PROJECTS[@]}"
|
||||
einfo "Will build following DOTNET_TOOLS: ${DOTNET_TOOLS[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dotnet-pkg_src_install
|
||||
|
||||
local tool_exe
|
||||
for tool_exe in "${DOTNET_TOOLS[@]}" ; do
|
||||
dotnet-pkg-base_dolauncher "/usr/share/${P}/${tool_exe}"
|
||||
done
|
||||
}
|
Binary file not shown.
@ -1,8 +1,12 @@
|
||||
AUX go-never-download-newer-toolchains.patch 368 BLAKE2B 0c90f46492af80622f430b2d506b143f3b553b5276085f78f41b93fee8219745179038302462603b5b1677554d92911eb4865084d0488aaa4c71ae1abc307f71 SHA512 b5acf97ccf96c6a353fcb7bd97113c38562defd82338828124fcc72c71334feda9c4e839d2aae5b66b809bc8a692eac96396c54a478e17a7ffd8d2c68fea95e6
|
||||
AUX go-sets.conf 256 BLAKE2B 670afd72a2fa961e2b3882ac48d10e9d047af7a68f47bc8c8985b2de7a84022410fb1acfe2c710f8b3804ec3b043bf18c948478cf7d31c982cff47714b309cdf SHA512 028fba72c2d82ef893416970c27cb277be15f7c5c67773c0a62cd8ce2c192813ba851339596f10a6f5394c479e67b62dd4e4520379cc03f764ed4a4ab834fba6
|
||||
DIST go1.21.10.src.tar.gz 26993576 BLAKE2B a310b89b6db0d6bffcc64d028b4130c7d1b456299016de3b31cb1223ad915f697dcbc15718984ab9b6199b31e192c50d1a014e38d10d32f5424133957d3aafe5 SHA512 90105f977c86a0d5ea4d31e4e699d8611a74178db1e443ddc57679b7a2a648baa328e7fa9ea4a732727487cc29afe07e9597a1e2eb0184cb270973f403349f5a
|
||||
DIST go1.21.9.src.tar.gz 26993426 BLAKE2B 08eb5a78e1d4933de63105a886e0b0d9d8582edbd18b2a40f7655628a3d5627102abf8d25b3190751109273962b731d16c25bdc58b370b6a39faa6e5c3ef3736 SHA512 e1cf7e458d41f8b343c34b7d35dc4a1696bacbad2ad64abac36dbbeaf1e0a1b71cdb32cebb1686c6e5c90bf0ad3474714d09acea010d6c074730c59d71e79f4e
|
||||
DIST go1.22.2.src.tar.gz 27551470 BLAKE2B f8994f7868f14b68d5b57a251ff4b79f26cd2dbee69e93887165a37dbdb74a0004998c2666e0bb1673a0f0efcbe58b10e2437f6ce06340fad004628e3a9cca1c SHA512 f2491d2b5d4ef2dd86ca7820503a2534cd1860822049dc01a6cb40b556a0812cfc4196fa83173765816060253ac949f4165b0fb4b2bed5d45e30d03bb69e434d
|
||||
DIST go1.22.3.src.tar.gz 27552410 BLAKE2B 8f5e5695c5bd945ad46990897c1b051abd5446dc7d9e52f7120139b084f6ec648679d4bc5c07b057a267e65dceb18dadc21234fd90b1e15444c1e3e5b5a2a1df SHA512 e6756866d3cf195f1afd3d852015f32dfb2de3648e30a78e9238a863eae192e9e7ccbcfd19fd97b1d552f35d51d62bf2104d81e35b8854a40400b0d61cf93672
|
||||
EBUILD go-1.21.10.ebuild 5209 BLAKE2B 5656d72770d2f5d6092328eeb3883f303407e591845530c2041df1382ffec3cde87c150ac591f4a4bebfa2dada0b504151c36e454d66269d31fe975eab786917 SHA512 d0b37538789f820c8314dbfbe9e8b5a18de1c3a8009d3e2633d6b4f0bdf1bd100374232f8323e7e55c67300e98f70468b3e26ea57153448d7bb24d629e9387e6
|
||||
EBUILD go-1.21.9.ebuild 5204 BLAKE2B 2fe9369fbc565c10082d5d508c863739e24e85dd491cd3c27691ea3025f06bb94e976c8f109d26455a8560356fbebbaaa5e5d1e034a20b7648596c9f053807d9 SHA512 ed2806d6d1efb4d9194354468157129b9f27483f63ae166d66bb559541880d416254fa1ca39dc2022d485abda6fe771d8311c007eac78ef01a7ce38b9641ed19
|
||||
EBUILD go-1.22.2.ebuild 5269 BLAKE2B d3218c1d0e0fd4fb81b53af9a53823484737736c4d19e605f2aa805f764338487e0f35e4f44f11127ae6e1cf5420785d0b280af0f1bb9a4270e032c7d2177aa8 SHA512 0bb285a4f49ecaa9c1e6ca51a7402f3569e64be74b0ba0081850f92d07a9e482a12da1f744c163bee77a837e9951eeeb213916315a82268c9b9c63642e01a0c1
|
||||
EBUILD go-1.22.3.ebuild 5274 BLAKE2B fb71001874cd0037ff66a9b8dacc058c7276bac4095402eea81fef64eaa3f336ebe04535385fc5036aaf10267f578ef0742f2b088bd15e88747c53fc742b7a13 SHA512 139516a4593e9abcb35fa754db6c0582d3f113e68ec65fb6cf34c96673eff792c0d95cddf8786a66ffcd0725782f08b0d43b61ad10229c3c00a4a372f2f2eb96
|
||||
EBUILD go-9999.ebuild 5274 BLAKE2B fb71001874cd0037ff66a9b8dacc058c7276bac4095402eea81fef64eaa3f336ebe04535385fc5036aaf10267f578ef0742f2b088bd15e88747c53fc742b7a13 SHA512 139516a4593e9abcb35fa754db6c0582d3f113e68ec65fb6cf34c96673eff792c0d95cddf8786a66ffcd0725782f08b0d43b61ad10229c3c00a4a372f2f2eb96
|
||||
MISC metadata.xml 589 BLAKE2B 341e4c0e91d73ca668c1795035e1223eed60f85c724afd989ef1f8fb69649f7f6eaaf8a5228f6c8f587ffcc40a438c47d332fbe6866839f5a0829872a983f642 SHA512 fe58ddddfbd4d0d060516cb035592a80c0f48e125bb59c95d3c6fac0c182271e2a9ec9bd055b9cc8e6cb8c449e6c483bff4a23c362f532c24255febfdefc273a
|
||||
|
@ -0,0 +1,210 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
export CBUILD=${CBUILD:-${CHOST}}
|
||||
export CTARGET=${CTARGET:-${CHOST}}
|
||||
|
||||
# See "Bootstrap" in release notes
|
||||
GO_BOOTSTRAP_MIN=1.17.13
|
||||
MY_PV=${PV/_/}
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
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 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
DESCRIPTION="A concurrent garbage collected and typesafe programming language"
|
||||
HOMEPAGE="https://go.dev"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2"
|
||||
|
||||
RDEPEND="
|
||||
arm? ( sys-devel/binutils[gold] )
|
||||
arm64? ( sys-devel/binutils[gold] )"
|
||||
BDEPEND="|| (
|
||||
>=dev-lang/go-${GO_BOOTSTRAP_MIN}
|
||||
>=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )"
|
||||
|
||||
# the *.syso files have writable/executable stacks
|
||||
QA_EXECSTACK='*.syso'
|
||||
|
||||
# Do not complain about CFLAGS, etc, since Go doesn't use them.
|
||||
QA_FLAGS_IGNORED='.*'
|
||||
|
||||
# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
|
||||
QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
|
||||
|
||||
# This package triggers "unrecognized elf file(s)" notices on riscv.
|
||||
# https://bugs.gentoo.org/794046
|
||||
QA_PREBUILT='.*'
|
||||
|
||||
# Do not strip this package. Stripping is unsupported upstream and may
|
||||
# fail.
|
||||
RESTRICT+=" strip"
|
||||
|
||||
DOCS=(
|
||||
CONTRIBUTING.md
|
||||
PATENTS
|
||||
README.md
|
||||
SECURITY.md
|
||||
)
|
||||
|
||||
go_arch() {
|
||||
# By chance most portage arch names match Go
|
||||
local tc_arch=$(tc-arch $@)
|
||||
case "${tc_arch}" in
|
||||
x86) echo 386;;
|
||||
x64-*) echo amd64;;
|
||||
loong) echo loong64;;
|
||||
mips) if use abi_mips_o32; then
|
||||
[[ $(tc-endian $@) = big ]] && echo mips || echo mipsle
|
||||
elif use abi_mips_n64; then
|
||||
[[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le
|
||||
fi ;;
|
||||
ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
|
||||
riscv) echo riscv64 ;;
|
||||
s390) echo s390x ;;
|
||||
*) echo "${tc_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) ]]
|
||||
}
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/go-never-download-newer-toolchains.patch
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then
|
||||
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
|
||||
elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then
|
||||
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap"
|
||||
else
|
||||
eerror "Go cannot be built without go or go-bootstrap installed"
|
||||
die "Should not be here, please report a bug"
|
||||
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)
|
||||
use arm && export GOARM=$(go_arm)
|
||||
use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
|
||||
|
||||
cd src
|
||||
bash -x ./make.bash || die "build failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
go_cross_compile && return 0
|
||||
|
||||
cd src
|
||||
|
||||
# https://github.com/golang/go/issues/42005
|
||||
rm cmd/link/internal/ld/fallocate_test.go || die
|
||||
|
||||
PATH="${GOBIN}:${PATH}" \
|
||||
./run.bash -no-rebuild -k || die "tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /usr/lib/go
|
||||
# The use of cp is deliberate in order to retain permissions
|
||||
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
|
||||
einstalldocs
|
||||
|
||||
insinto /usr/lib/go
|
||||
doins go.env VERSION
|
||||
|
||||
# testdata directories are not needed on the installed system
|
||||
rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
|
||||
|
||||
local bin_path
|
||||
if go_cross_compile; then
|
||||
bin_path="bin/$(go_tuple)"
|
||||
else
|
||||
bin_path=bin
|
||||
fi
|
||||
local f x
|
||||
for x in ${bin_path}/*; do
|
||||
f=${x##*/}
|
||||
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
|
||||
done
|
||||
|
||||
# install the @golang-rebuild set for Portage
|
||||
insinto /usr/share/portage/config/sets
|
||||
newins "${FILESDIR}"/go-sets.conf go.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
[[ -z ${REPLACING_VERSIONS} ]] && return
|
||||
elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
|
||||
elog "all packages compiled with previous versions of ${CATEGORY}/${PN}"
|
||||
elog "due to the static linking nature of go."
|
||||
elog "If this is not done, the packages compiled with the older"
|
||||
elog "version of the compiler will not be updated until they are"
|
||||
elog "updated individually, which could mean they will have"
|
||||
elog "vulnerabilities."
|
||||
elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
|
||||
elog "See https://bugs.gentoo.org/752153 for more info"
|
||||
}
|
@ -0,0 +1,213 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
export CBUILD=${CBUILD:-${CHOST}}
|
||||
export CTARGET=${CTARGET:-${CHOST}}
|
||||
|
||||
# See "Bootstrap" in release notes
|
||||
GO_BOOTSTRAP_MIN=1.20.14
|
||||
MY_PV=${PV/_/}
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
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 ~loong ~mips ~ppc64 ~riscv ~s390 ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
DESCRIPTION="A concurrent garbage collected and typesafe programming language"
|
||||
HOMEPAGE="https://go.dev"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
IUSE="abi_mips_o32 abi_mips_n64 cpu_flags_x86_sse2"
|
||||
|
||||
RDEPEND="
|
||||
arm? ( sys-devel/binutils[gold] )
|
||||
arm64? ( sys-devel/binutils[gold] )"
|
||||
BDEPEND="|| (
|
||||
>=dev-lang/go-${GO_BOOTSTRAP_MIN}
|
||||
>=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN} )"
|
||||
|
||||
# the *.syso files have writable/executable stacks
|
||||
QA_EXECSTACK='*.syso'
|
||||
|
||||
# Do not complain about CFLAGS, etc, since Go doesn't use them.
|
||||
QA_FLAGS_IGNORED='.*'
|
||||
|
||||
# The tools in /usr/lib/go should not cause the multilib-strict check to fail.
|
||||
QA_MULTILIB_PATHS="usr/lib/go/pkg/tool/.*/.*"
|
||||
|
||||
# This package triggers "unrecognized elf file(s)" notices on riscv.
|
||||
# https://bugs.gentoo.org/794046
|
||||
QA_PREBUILT='.*'
|
||||
|
||||
# Do not strip this package. Stripping is unsupported upstream and may
|
||||
# fail.
|
||||
RESTRICT=" strip"
|
||||
|
||||
DOCS=(
|
||||
CONTRIBUTING.md
|
||||
PATENTS
|
||||
README.md
|
||||
SECURITY.md
|
||||
)
|
||||
|
||||
go_arch() {
|
||||
# By chance most portage arch names match Go
|
||||
local tc_arch=$(tc-arch $@)
|
||||
case "${tc_arch}" in
|
||||
x86) echo 386;;
|
||||
x64-*) echo amd64;;
|
||||
loong) echo loong64;;
|
||||
mips) if use abi_mips_o32; then
|
||||
[[ $(tc-endian $@) = big ]] && echo mips || echo mipsle
|
||||
elif use abi_mips_n64; then
|
||||
[[ $(tc-endian $@) = big ]] && echo mips64 || echo mips64le
|
||||
fi ;;
|
||||
ppc64) [[ $(tc-endian $@) = big ]] && echo ppc64 || echo ppc64le ;;
|
||||
riscv) echo riscv64 ;;
|
||||
s390) echo s390x ;;
|
||||
*) echo "${tc_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) ]]
|
||||
}
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/go-never-download-newer-toolchains.patch
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
if has_version -b ">=dev-lang/go-${GO_BOOTSTRAP_MIN}"; then
|
||||
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go"
|
||||
elif has_version -b ">=dev-lang/go-bootstrap-${GO_BOOTSTRAP_MIN}"; then
|
||||
export GOROOT_BOOTSTRAP="${BROOT}/usr/lib/go-bootstrap"
|
||||
else
|
||||
eerror "Go cannot be built without go or go-bootstrap installed"
|
||||
die "Should not be here, please report a bug"
|
||||
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)
|
||||
use arm && export GOARM=$(go_arm)
|
||||
use x86 && export GO386=$(usex cpu_flags_x86_sse2 '' 'softfloat')
|
||||
|
||||
cd src
|
||||
bash -x ./make.bash || die "build failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
go_cross_compile && return 0
|
||||
|
||||
cd src
|
||||
|
||||
# https://github.com/golang/go/issues/42005
|
||||
rm cmd/link/internal/ld/fallocate_test.go || die
|
||||
|
||||
PATH="${GOBIN}:${PATH}" \
|
||||
./run.bash -no-rebuild -k || die "tests failed"
|
||||
cd ..
|
||||
rm -fr pkg/*_race || die
|
||||
rm -fr pkg/obj/go-build || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodir /usr/lib/go
|
||||
# The use of cp is deliberate in order to retain permissions
|
||||
cp -R api bin doc lib pkg misc src test "${ED}"/usr/lib/go
|
||||
einstalldocs
|
||||
|
||||
insinto /usr/lib/go
|
||||
doins go.env VERSION*
|
||||
|
||||
# testdata directories are not needed on the installed system
|
||||
rm -fr $(find "${ED}"/usr/lib/go -iname testdata -type d -print)
|
||||
|
||||
local bin_path
|
||||
if go_cross_compile; then
|
||||
bin_path="bin/$(go_tuple)"
|
||||
else
|
||||
bin_path=bin
|
||||
fi
|
||||
local f x
|
||||
for x in ${bin_path}/*; do
|
||||
f=${x##*/}
|
||||
dosym ../lib/go/${bin_path}/${f} /usr/bin/${f}
|
||||
done
|
||||
|
||||
# install the @golang-rebuild set for Portage
|
||||
insinto /usr/share/portage/config/sets
|
||||
newins "${FILESDIR}"/go-sets.conf go.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
[[ -z ${REPLACING_VERSIONS} ]] && return
|
||||
elog "After ${CATEGORY}/${PN} is updated it is recommended to rebuild"
|
||||
elog "all packages compiled with previous versions of ${CATEGORY}/${PN}"
|
||||
elog "due to the static linking nature of go."
|
||||
elog "If this is not done, the packages compiled with the older"
|
||||
elog "version of the compiler will not be updated until they are"
|
||||
elog "updated individually, which could mean they will have"
|
||||
elog "vulnerabilities."
|
||||
elog "Run 'emerge @golang-rebuild' to rebuild all 'go' packages"
|
||||
elog "See https://bugs.gentoo.org/752153 for more info"
|
||||
}
|
@ -0,0 +1,863 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit alternatives flag-o-matic toolchain-funcs multilib multiprocessing
|
||||
|
||||
PATCH_VER=1
|
||||
CROSS_VER=1.5.2
|
||||
PATCH_BASE="perl-5.38.0-patches-${PATCH_VER}"
|
||||
PATCH_DEV=dilfridge
|
||||
|
||||
DIST_AUTHOR=PEVANS
|
||||
|
||||
# Greatest first, don't include yourself
|
||||
# Devel point-releases are not ABI-intercompatible, but stable point releases are
|
||||
# BIN_OLDVERSEN contains only C-ABI-intercompatible versions
|
||||
PERL_BIN_OLDVERSEN=""
|
||||
|
||||
if [[ "${PV##*.}" == "9999" ]]; then
|
||||
DIST_VERSION=5.30.0
|
||||
else
|
||||
DIST_VERSION="${PV/_rc/-RC}"
|
||||
fi
|
||||
SHORT_PV="${DIST_VERSION%.*}"
|
||||
|
||||
# Even numbered major versions are ABI intercompatible
|
||||
# Odd numbered major versions are not
|
||||
if [[ $(( ${SHORT_PV#*.} % 2 )) == 1 ]]; then
|
||||
SUBSLOT="${DIST_VERSION%-RC*}"
|
||||
else
|
||||
SUBSLOT="${DIST_VERSION%.*}"
|
||||
fi
|
||||
|
||||
# Used only in tar paths
|
||||
MY_P="perl-${DIST_VERSION}"
|
||||
# Used in library paths
|
||||
MY_PV="${DIST_VERSION%-RC*}"
|
||||
|
||||
DESCRIPTION="Larry Wall's Practical Extraction and Report Language"
|
||||
|
||||
HOMEPAGE="https://www.perl.org/"
|
||||
|
||||
SRC_URI="
|
||||
mirror://cpan/src/5.0/${MY_P}.tar.xz
|
||||
mirror://cpan/authors/id/${DIST_AUTHOR:0:1}/${DIST_AUTHOR:0:2}/${DIST_AUTHOR}/${MY_P}.tar.xz
|
||||
https://github.com/gentoo-perl/perl-patchset/archive/refs/tags/${PATCH_BASE}.tar.gz
|
||||
https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${PATCH_BASE}.tar.gz
|
||||
https://github.com/arsv/perl-cross/releases/download/${CROSS_VER}/perl-cross-${CROSS_VER}.tar.gz
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1+ )"
|
||||
|
||||
SLOT="0/${SUBSLOT}"
|
||||
|
||||
if [[ "${PV##*.}" != "9999" ]] && [[ "${PV/rc//}" == "${PV}" ]] ; then
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
fi
|
||||
|
||||
IUSE="berkdb perl_features_debug doc gdbm perl_features_ithreads minimal perl_features_quadmath"
|
||||
|
||||
RDEPEND="
|
||||
berkdb? ( sys-libs/db:= )
|
||||
gdbm? ( >=sys-libs/gdbm-1.8.3:= )
|
||||
app-arch/bzip2
|
||||
>=sys-libs/zlib-1.2.12
|
||||
virtual/libcrypt:=
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="${RDEPEND}"
|
||||
|
||||
PDEPEND="
|
||||
>=app-admin/perl-cleaner-2.30
|
||||
!minimal? (
|
||||
>=virtual/perl-CPAN-2.290.0
|
||||
>=virtual/perl-Encode-3.120.0
|
||||
>=virtual/perl-File-Temp-0.230.400-r2
|
||||
>=virtual/perl-Data-Dumper-2.154.0
|
||||
>=virtual/perl-Math-BigInt-1.999.842
|
||||
virtual/perl-Test-Harness
|
||||
)
|
||||
"
|
||||
# bug 390719, bug 523624
|
||||
# virtual/perl-Test-Harness is here for the bundled ExtUtils::MakeMaker
|
||||
|
||||
dual_scripts() {
|
||||
src_remove_dual perl-core/Archive-Tar 2.400.0 ptar ptardiff ptargrep
|
||||
src_remove_dual perl-core/CPAN 2.360.0 cpan
|
||||
src_remove_dual perl-core/Digest-SHA 6.40.0 shasum
|
||||
src_remove_dual perl-core/Encode 3.190.0 enc2xs piconv
|
||||
src_remove_dual perl-core/ExtUtils-MakeMaker 7.700.0 instmodsh
|
||||
src_remove_dual perl-core/ExtUtils-ParseXS 3.510.0 xsubpp
|
||||
src_remove_dual perl-core/IO-Compress 2.204.0 zipdetails
|
||||
src_remove_dual perl-core/JSON-PP 4.160.0 json_pp
|
||||
src_remove_dual perl-core/Module-CoreList 5.202.311.290 corelist
|
||||
src_remove_dual perl-core/Pod-Checker 1.750.0 podchecker
|
||||
src_remove_dual perl-core/Pod-Perldoc 3.280.100 perldoc
|
||||
src_remove_dual perl-core/Pod-Usage 2.30.0 pod2usage
|
||||
src_remove_dual perl-core/Test-Harness 3.440.0 prove
|
||||
src_remove_dual perl-core/podlators 5.10.0 pod2man pod2text
|
||||
src_remove_dual_man perl-core/podlators 5.10.0 /usr/share/man/man1/perlpodstyle.1
|
||||
}
|
||||
|
||||
check_rebuild() {
|
||||
# Fresh install
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
return 0;
|
||||
# Major Upgrade
|
||||
# doesn't matter if there's multiple copies, it still needs a rebuild
|
||||
# if the string is anything other than "5.CURRENTMAJOR"
|
||||
elif [[ "${REPLACING_VERSIONS%.*}" != "${PV%.*}" ]]; then
|
||||
echo ""
|
||||
ewarn "UPDATE THE PERL MODULES:"
|
||||
ewarn "After updating dev-lang/perl the installed Perl modules"
|
||||
ewarn "have to be re-installed. In most cases, this is done automatically"
|
||||
ewarn "by the package manager, but subsequent steps are still recommended"
|
||||
ewarn "to ensure system consistency."
|
||||
ewarn
|
||||
ewarn "You should start with a depclean to remove any unused perl dependencies"
|
||||
ewarn "that may confuse portage in future. Regular depcleans are also encouraged"
|
||||
ewarn "as part of your regular update cycle, as that will keep perl upgrades working."
|
||||
ewarn "Recommended: emerge --depclean -va"
|
||||
ewarn
|
||||
ewarn "You should then call perl-cleaner to clean up any old files and trigger any"
|
||||
ewarn "remaining rebuilds portage may have missed."
|
||||
ewarn "Use: perl-cleaner --all"
|
||||
return 0;
|
||||
|
||||
# Reinstall w/ USE Change
|
||||
elif
|
||||
( use perl_features_ithreads && ( has_version '<dev-lang/perl-5.38.2-r3[-ithreads]' || has_version '>=dev-lang/perl-5.38.2-r3[-perl_features_ithreads]' ) ) || \
|
||||
( ! use perl_features_ithreads && ( has_version '<dev-lang/perl-5.38.2-r3[ithreads]' || has_version '>=dev-lang/perl-5.38.2-r3[perl_features_ithreads]' ) ) || \
|
||||
( use perl_features_quadmath && ( has_version '<dev-lang/perl-5.38.2-r3[-quadmath]' || has_version '>=dev-lang/perl-5.38.2-r3[-perl_features_quadmath]' ) ) || \
|
||||
( ! use perl_features_quadmath && ( has_version '<dev-lang/perl-5.38.2-r3[quadmath]' || has_version '>=dev-lang/perl-5.38.2-r3[perl_features_quadmath]' ) ) || \
|
||||
( use perl_features_debug && ( has_version '<dev-lang/perl-5.38.2-r3[-debug]' || has_version '>=dev-lang/perl-5.38.2-r3[-perl_features_debug]' ) ) || \
|
||||
( ! use perl_features_debug && ( has_version '<dev-lang/perl-5.38.2-r3[debug]' || has_version '>=dev-lang/perl-5.38.2-r3[perl_features_debug]' ) ) ; then
|
||||
echo ""
|
||||
ewarn "TOGGLED PERL FEATURES WARNING:"
|
||||
ewarn "You changed one of the PERL_FEATURES flags ithreads, quadmath, or debug."
|
||||
ewarn "You must rebuild all perl-modules installed. Mostly this should be done automatically"
|
||||
ewarn "via the flag changes of the packages. If the rebuild fails, use perl-cleaner."
|
||||
ewarn "Use: perl-cleaner --modules ; perl-cleaner --force --libperl"
|
||||
ewarn
|
||||
ewarn "NOTE: Previous to perl-5.38.2-r3, these flags were useflags for dev-lang/perl."
|
||||
ewarn "If you just upgraded and do not intend to change anything, carry the same settings over"
|
||||
ewarn "into a global PERL_FEATURES variable set in make.conf. E.g., "
|
||||
ewarn "dev-lang/perl[ithreads,quadmath] becomes PERL_FEATURES=\"ithreads quadmath\""
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_pretend() {
|
||||
if \
|
||||
( use perl_features_ithreads && has_version '<dev-lang/perl-5.38.2-r3[-ithreads]' ) || \
|
||||
( ! use perl_features_ithreads && has_version '<dev-lang/perl-5.38.2-r3[ithreads]' ) || \
|
||||
( use perl_features_quadmath && has_version '<dev-lang/perl-5.38.2-r3[-quadmath]' ) || \
|
||||
( ! use perl_features_quadmath && has_version '<dev-lang/perl-5.38.2-r3[quadmath]' ) || \
|
||||
( use perl_features_debug && has_version '<dev-lang/perl-5.38.2-r3[-debug]' ) || \
|
||||
( ! use perl_features_debug && has_version '<dev-lang/perl-5.38.2-r3[debug]' ) ; \
|
||||
then
|
||||
echo ""
|
||||
ewarn "As of dev-lang/perl-5.38.2-r3, the useflags debug, ithreads, quadmath move into"
|
||||
ewarn "a use-expand variable PERL_FEATURES, which should be set globally in make.conf."
|
||||
ewarn "It appears that you have not set this variable properly yet."
|
||||
ewarn ""
|
||||
ewarn "Giving you a chance to abort and read the corresponding news item now..."
|
||||
for n in 10 9 8 7 6 5 4 3 2 1 ; do
|
||||
echo -n "${n} "
|
||||
sleep 2
|
||||
done;
|
||||
echo "continuing."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
case ${CHOST} in
|
||||
*-darwin*) osname="darwin" ;;
|
||||
*-solaris*) osname="solaris" ;;
|
||||
*) osname="linux" ;;
|
||||
esac
|
||||
|
||||
myarch="${CHOST%%-*}-${osname}"
|
||||
if use perl_features_debug ; then
|
||||
myarch+="-debug"
|
||||
fi
|
||||
if use perl_features_quadmath ; then
|
||||
myarch+="-quadmath"
|
||||
fi
|
||||
if use perl_features_ithreads ; then
|
||||
mythreading="-multi"
|
||||
myarch+="-thread"
|
||||
fi
|
||||
|
||||
PRIV_BASE="/usr/$(get_libdir)/perl5"
|
||||
SITE_BASE="/usr/local/$(get_libdir)/perl5"
|
||||
VENDOR_BASE="/usr/$(get_libdir)/perl5/vendor_perl"
|
||||
|
||||
LIBPERL="libperl$(get_libname ${MY_PV} )"
|
||||
|
||||
PRIV_LIB="${PRIV_BASE}/${SUBSLOT}"
|
||||
ARCH_LIB="${PRIV_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
SITE_LIB="${SITE_BASE}/${SUBSLOT}"
|
||||
SITE_ARCH="${SITE_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
VENDOR_LIB="${VENDOR_BASE}/${SUBSLOT}"
|
||||
VENDOR_ARCH="${VENDOR_BASE}/${SUBSLOT}/${myarch}${mythreading}"
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
src_remove_dual_file() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
alternatives_auto_makesym "${i}" "${i}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
setup)
|
||||
for i in "$@" ; do
|
||||
if [[ -f ${EROOT}${i} && ! -h ${EROOT}${i} ]] ; then
|
||||
has_version ${pkg} && ewarn "You must reinstall ${pkg} !"
|
||||
break
|
||||
fi
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i}{,-${ver}-${P}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual_man() {
|
||||
local i pkg ver ff
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
case "${EBUILD_PHASE:-none}" in
|
||||
postinst|postrm)
|
||||
for i in "$@" ; do
|
||||
ff=`echo "${EROOT}${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}}"*`
|
||||
ff=${ff##*${i#${i%.[0-9]}}}
|
||||
alternatives_auto_makesym "${i}${ff}" "${i%.[0-9]}-[0-9]*"
|
||||
done
|
||||
;;
|
||||
install)
|
||||
for i in "$@" ; do
|
||||
if ! [[ -f "${ED}"${i} ]] ; then
|
||||
ewarn "${i} does not exist!"
|
||||
continue
|
||||
fi
|
||||
mv "${ED}"${i} "${ED}"${i%.[0-9]}-${ver}-${P}${i#${i%.[0-9]}} || die
|
||||
done
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
src_remove_dual() {
|
||||
local i pkg ver
|
||||
pkg="$1"
|
||||
ver="$2"
|
||||
shift 2
|
||||
for i in "$@" ; do
|
||||
src_remove_dual_file "${pkg}" "${ver}" "/usr/bin/${i}"
|
||||
src_remove_dual_man "${pkg}" "${ver}" "/usr/share/man/man1/${i}.1"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare_perlcross() {
|
||||
cp -a ../perl-cross-${CROSS_VER}/* . || die
|
||||
|
||||
# bug 794463, needs further analysis what is exactly wrong here
|
||||
eapply "${FILESDIR}/perl-5.34.0-crossfit.patch"
|
||||
|
||||
# bug 604072
|
||||
MAKEOPTS+=" -j1"
|
||||
export MAKEOPTS
|
||||
}
|
||||
|
||||
src_prepare_dynamic() {
|
||||
ln -s ${LIBPERL} libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -s ${LIBPERL} libperl$(get_libname ) || die
|
||||
}
|
||||
|
||||
# Copy a patch into the patch series
|
||||
# add_patch SRC_PATH DEST_NAME ['description'] ['bug'] ['bug']
|
||||
# - description is optional, but recommended
|
||||
# - all arguments after descriptions are bug URLs
|
||||
add_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local src_name dest_name desc
|
||||
src_name="$1"
|
||||
dest_name="$2"
|
||||
desc="$3"
|
||||
shift; shift; shift;
|
||||
einfo "Adding ${dest_name} to patch bundle"
|
||||
cp "${src_name}" "${patchdir}/${dest_name}" || die "Couldn't copy ${src_name} to ${dest_name}"
|
||||
if [[ -n "${desc}" ]]; then
|
||||
printf "%s" "${desc}" > "${infodir}/${dest_name}.desc" || die "Couldn't write ${dest_name}.desc"
|
||||
fi
|
||||
if [[ $# -gt 0 ]]; then
|
||||
# Note: when $@ is more than one element, this emits a
|
||||
# line for each element
|
||||
printf "%s\n" "$@" > "${infodir}/${dest_name}.bugs" || die "Couldn't write ${dest_name}.bugs"
|
||||
fi
|
||||
}
|
||||
|
||||
# Remove a patch using a glob expr
|
||||
# eg:
|
||||
# rm_patch *-darwin-Use-CC*
|
||||
#
|
||||
rm_patch() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local expr="$1"
|
||||
local patch="$( cd "${patchdir}"; echo $expr )"
|
||||
einfo "Removing $patch ($expr) from patch bundle"
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
rm -f "${patchdir}/${patch}" || die "Can't remove ${patch} ( $expr )"
|
||||
else
|
||||
ewarn "No ${expr} found in ${patchdir} to remove"
|
||||
fi
|
||||
}
|
||||
|
||||
# Yes, this is a reasonable amount of code for something seemingly simple
|
||||
# but this is far easier to debug when things go wrong, and things went wrong
|
||||
# multiple times while I was getting the exact number of slashes right, which
|
||||
# requires circumnavigating both bash and sed escape mechanisms.
|
||||
c_escape_string() {
|
||||
local slash dquote
|
||||
slash='\'
|
||||
dquote='"'
|
||||
re_slash="${slash}${slash}"
|
||||
re_dquote="${slash}${dquote}"
|
||||
|
||||
# Convert \ to \\,
|
||||
# " to \"
|
||||
echo "$1" |\
|
||||
sed "s|${re_slash}|${re_slash}${re_slash}|g" |\
|
||||
sed "s|${re_dquote}|${re_slash}${re_dquote}|g"
|
||||
}
|
||||
c_escape_file() {
|
||||
c_escape_string "$(cat "$1")"
|
||||
}
|
||||
|
||||
apply_patchdir() {
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
local infodir="${WORKDIR}/patch-info"
|
||||
local patchoutput="patchlevel-gentoo.h"
|
||||
|
||||
# Inject Patch-Level info into description for patchlevel.h patch
|
||||
# to show in -V
|
||||
local patch_expr="*List-packaged-patches*"
|
||||
local patch="$( cd "${patchdir}"; echo $patch_expr )";
|
||||
einfo "Injecting patch-level info into ${patch}.desc ( $patch_expr )"
|
||||
|
||||
if [[ -e "${patchdir}/${patch}" ]]; then
|
||||
printf "List packaged patches for %s(%s) in patchlevel.h" "${PF}" "${PATCH_BASE}"\
|
||||
>"${infodir}/${patch}.desc" || die "Can't rewrite ${patch}.desc"
|
||||
else
|
||||
eerror "No $patch_expr found in ${patchdir}"
|
||||
fi
|
||||
|
||||
# Compute patch list to apply
|
||||
# different name other than PATCHES to stop default
|
||||
# reapplying it
|
||||
# Single depth is currently only supported, as artifacts can reside
|
||||
# from the old layout being multiple-directories, as well as it grossly
|
||||
# simplifying the patchlevel_gentoo.h generation.
|
||||
local PERL_PATCHES=($(
|
||||
find "${patchdir}" -maxdepth 1 -mindepth 1 -type f -printf "%f\n" |\
|
||||
grep -E '[.](diff|patch)$' |\
|
||||
sort -n
|
||||
))
|
||||
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
eapply "${WORKDIR}"/patches/${patch}
|
||||
done
|
||||
|
||||
einfo "Generating $patchoutput"
|
||||
|
||||
# This code creates a header file, each iteration
|
||||
# creates one-or-more-lines for each entry found in PERL_PATCHES
|
||||
# and STDOUT is redirected to the .h file
|
||||
for patch in "${PERL_PATCHES[@]}"; do
|
||||
local desc_f="${infodir}/${patch}.desc"
|
||||
local bugs_f="${infodir}/${patch}.bugs"
|
||||
|
||||
printf ',"%s"\n' "${patch}"
|
||||
if [[ ! -e "${desc_f}" ]]; then
|
||||
ewarn "No description provided for ${patch} (expected: ${desc_f} )"
|
||||
else
|
||||
local desc="$(c_escape_file "${desc_f}")"
|
||||
printf ',"- %s"\n' "${desc}"
|
||||
fi
|
||||
if [[ -e "${bugs_f}" ]]; then
|
||||
while read -d $'\n' -r line; do
|
||||
local esc_line="$(c_escape_string "${line}")"
|
||||
printf ',"- Bug: %s"\n' "${esc_line}"
|
||||
done <"${bugs_f}"
|
||||
fi
|
||||
done > "${S}/${patchoutput}"
|
||||
printf "%s\n" "${patchoutput}" >> "${S}/MANIFEST"
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
local patchdir="${WORKDIR}/patches"
|
||||
|
||||
mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patches" "${WORKDIR}/patches" || die
|
||||
mv -v "${WORKDIR}/perl-patchset-${PATCH_BASE}/patch-info" "${WORKDIR}/patch-info" || die
|
||||
|
||||
# Prepare Patch dir with additional patches / remove unwanted patches
|
||||
# Inject bug/desc entries for perl -V
|
||||
# Old example:
|
||||
# add_patch "${FILESDIR}/${PN}-5.26.2-hppa.patch" "100-5.26.2-hppa.patch"\
|
||||
# "Fix broken miniperl on hppa"\
|
||||
# "https://bugs.debian.org/869122" "https://bugs.gentoo.org/634162"
|
||||
add_patch "${FILESDIR}/${PN}-5.36.0-fix-configure-for-clang.patch" \
|
||||
"100-5.36.0-fix-configure-for-clang.patch" \
|
||||
"Fix clang check in configure" \
|
||||
"https://github.com/Perl/perl5/issues/21099"
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# do NOT mess with nsl, on Solaris this is always necessary,
|
||||
# when -lsocket is used e.g. to get h_errno
|
||||
rm_patch "*-nsl-and-cl*"
|
||||
fi
|
||||
|
||||
apply_patchdir
|
||||
|
||||
tc-is-cross-compiler && src_prepare_perlcross
|
||||
|
||||
tc-is-static-only || src_prepare_dynamic
|
||||
|
||||
if use gdbm; then
|
||||
sed -i "s:INC => .*:INC => \"-I${EROOT}/usr/include/gdbm\":g" \
|
||||
ext/NDBM_File/Makefile.PL || die
|
||||
fi
|
||||
|
||||
# Use errno.h from prefix rather than from host system, bug #645804
|
||||
if use prefix && [[ -e "${EPREFIX}"/usr/include/errno.h ]] ; then
|
||||
sed -i "/my..sysroot/s:'':'${EPREFIX}':" ext/Errno/Errno_pm.PL || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-solaris* ]] ; then
|
||||
# set a soname, fix linking against just built libperl
|
||||
sed -i -e 's/netbsd\*/netbsd*|solaris*/' Makefile.SH || die
|
||||
fi
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# fix install_name (soname) not to reference $D
|
||||
sed -i -e '/install_name `pwd/s/`pwd`/\\$(shrpdir)/' Makefile.SH || die
|
||||
|
||||
# fix environ linkage absence (only a real issue on Darwin9)
|
||||
if [[ ${CHOST##*-darwin} -le 9 ]] ; then
|
||||
sed -i -e '/^PLDLFLAGS =/s/=/= -include crt_externs.h -Denviron="(*_NSGetEnviron())"/' \
|
||||
Makefile.SH || die
|
||||
fi
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
myconf() {
|
||||
# the myconf array is declared in src_configure
|
||||
myconf=( "${myconf[@]}" "$@" )
|
||||
}
|
||||
|
||||
# Outputs a list of versions which have been seen in any of the
|
||||
# primary perl @INC prefix paths, such as:
|
||||
# /usr/lib64/perl5/<NUMBER>
|
||||
# /usr/local/lib64/perl5/<NUMBER>
|
||||
# /usr/lib64/perl5/vendor_perl/<NUMBER>
|
||||
#
|
||||
# All values of NUMBER must be like "5.x.y" or like "5.x"
|
||||
#
|
||||
find_candidate_inc_versions() {
|
||||
local regex='.*/5[.][0-9]+\([.][0-9]+\|\)$'
|
||||
local dirs=(
|
||||
"${EROOT}${PRIV_BASE}"
|
||||
"${EROOT}${SITE_BASE}"
|
||||
"${EROOT}${VENDOR_BASE}"
|
||||
)
|
||||
for dir in "${dirs[@]}"; do
|
||||
if [[ ! -e "${dir}" ]]; then
|
||||
continue
|
||||
fi
|
||||
# Without access to readdir() on these dirs, find will not be able
|
||||
# to reveal any @INC directories inside them, and will subsequently prune
|
||||
# them from the built perl's @INC support, breaking our compatiblity options
|
||||
# entirely.
|
||||
if [[ ! -r "${dir}" || ! -x "${dir}" ]]; then
|
||||
eerror "Bad permissions on ${dir}, this will probably break things"
|
||||
eerror "Ensure ${dir} is +rx for at least uid=$EUID"
|
||||
eerror "Recommended permission is +rx for all"
|
||||
eerror "> chmod o+rx ${dir}"
|
||||
fi
|
||||
done
|
||||
einfo "Scanning for old @INC dirs matching '$regex' in: ${dirs[*]}"
|
||||
find "${dirs[@]}" -maxdepth 1 -mindepth 1 -type d -regex "${regex}" -printf "%f " 2>/dev/null
|
||||
}
|
||||
|
||||
# Sort versions passed versiony-ly, remove self-version if present
|
||||
# dedup. Takes each version as an argument
|
||||
sanitize_inc_versions() {
|
||||
local vexclude="${SUBSLOT}"
|
||||
einfo "Normalizing/Sorting candidate list: $*"
|
||||
einfo " to remove '${vexclude}'"
|
||||
# Note, general numeric sort has to be used
|
||||
# for the last component, or unique will convert
|
||||
# 5.30.0 + 5.30 into just 5.30
|
||||
printf "%s\n" "$@" |\
|
||||
grep -vxF "${vexclude}" |\
|
||||
sort -u -nr -t'.' -k1,1rn -k2,2rn -k3,3rg
|
||||
}
|
||||
|
||||
versions_to_inclist() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
|
||||
for v; do
|
||||
has "${v}" ${oldv} && echo -n "${v}/${myarch}${mythreading}/ ";
|
||||
echo -n "${v}/ ";
|
||||
done
|
||||
}
|
||||
|
||||
versions_to_gentoolibdirs() {
|
||||
local oldv="${DIST_VERSION%-RC} ${PERL_BIN_OLDVERSEN}"
|
||||
local root
|
||||
local v
|
||||
for v; do
|
||||
for root in "${PRIV_BASE}" "${VENDOR_BASE}" "${SITE_BASE}"; do
|
||||
local fullpath="${EROOT}${root}/${v}"
|
||||
if [[ -e "${fullpath}" ]]; then
|
||||
has "${v}" ${oldv} && printf "%s:" "${fullpath}/${myarch}${mythreading}";
|
||||
printf "%s:" "${fullpath}"
|
||||
fi
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
declare -a myconf
|
||||
|
||||
export LC_ALL="C"
|
||||
[[ ${COLUMNS:-1} -ge 1 ]] || unset COLUMNS # bug #394091
|
||||
|
||||
# Perl has problems compiling with -Os in your flags with glibc
|
||||
replace-flags "-Os" "-O2"
|
||||
|
||||
# xlocale.h is going away in glibc-2.26, so it's counterproductive
|
||||
# if we use it and include it in CORE/perl.h ... Perl builds just
|
||||
# fine with glibc and locale.h only.
|
||||
# However, the darwin prefix people have no locale.h ...
|
||||
use elibc_glibc && myconf -Ui_xlocale
|
||||
|
||||
# This flag makes compiling crash in interesting ways
|
||||
filter-flags "-malign-double"
|
||||
|
||||
# Generic LTO broken since 5.28, triggers EUMM failures
|
||||
filter-lto
|
||||
|
||||
# On musl we dont want to use largefile *64 types, since 1) normal
|
||||
# types are 64bit / largefile anyway and 2) the *64 types are going
|
||||
# away in 1.2.4... bug #911233
|
||||
use elibc_musl && myconf -Ud_off64_t
|
||||
|
||||
use sparc && myconf -Ud_longdbl
|
||||
|
||||
# This urgently needs debugging - on m68k, miniperl crashes during
|
||||
# build otherwise..
|
||||
use m68k && append-ldflags -Wl,-z,norelro
|
||||
|
||||
export BUILD_BZIP2=0
|
||||
export BZIP2_INCLUDE=${EROOT}/usr/include
|
||||
export BZIP2_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
export BUILD_ZLIB=False
|
||||
export ZLIB_INCLUDE=${EROOT}/usr/include
|
||||
export ZLIB_LIB=${EROOT}/usr/$(get_libdir)
|
||||
|
||||
# allow either gdbm to provide ndbm (in <gdbm/ndbm.h>) or db1
|
||||
myndbm='U'
|
||||
mygdbm='U'
|
||||
mydb='U'
|
||||
if use gdbm ; then
|
||||
mygdbm='D'
|
||||
if use berkdb ; then
|
||||
myndbm='D'
|
||||
fi
|
||||
fi
|
||||
if use berkdb ; then
|
||||
mydb='D'
|
||||
has_version '=sys-libs/db-1*' && myndbm='D'
|
||||
fi
|
||||
|
||||
myconf "-${myndbm}i_ndbm" "-${mygdbm}i_gdbm" "-${mydb}i_db"
|
||||
|
||||
if use alpha && [[ "$(tc-getCC)" = "ccc" ]] ; then
|
||||
ewarn "Perl will not be built with berkdb support, use gcc if you needed it..."
|
||||
myconf -Ui_db -Ui_ndbm
|
||||
fi
|
||||
|
||||
use perl_features_ithreads && myconf -Dusethreads
|
||||
|
||||
use perl_features_quadmath && myconf -Dusequadmath
|
||||
|
||||
if use perl_features_debug ; then
|
||||
append-cflags "-g"
|
||||
myconf -DDEBUGGING
|
||||
elif [[ ${CFLAGS} == *-g* ]] ; then
|
||||
myconf -DDEBUGGING=-g
|
||||
else
|
||||
myconf -DDEBUGGING=none
|
||||
fi
|
||||
|
||||
# modifying 'optimize' prevents cross configure script from appending required flags
|
||||
if tc-is-cross-compiler; then
|
||||
append-cflags "-fwrapv"
|
||||
|
||||
# bug #913171
|
||||
export HOSTCFLAGS="${CFLAGS_FOR_BUILD} -D_GNU_SOURCE"
|
||||
fi
|
||||
|
||||
# bug #877659, bug #821577
|
||||
append-cflags -fno-strict-aliasing
|
||||
|
||||
# Autodiscover all old version directories, some of them will even be newer
|
||||
# if you downgrade
|
||||
if [[ -z ${PERL_OLDVERSEN} ]]; then
|
||||
PERL_OLDVERSEN="$( find_candidate_inc_versions )"
|
||||
fi
|
||||
|
||||
# Fixup versions, removing self match, fixing order and dupes
|
||||
PERL_OLDVERSEN="$( sanitize_inc_versions ${PERL_OLDVERSEN} )"
|
||||
|
||||
# Experts who want a "Pure" install can set PERL_OLDVERSEN to an empty string
|
||||
if [[ -n "${PERL_OLDVERSEN// }" ]]; then
|
||||
local inclist="$( versions_to_inclist ${PERL_OLDVERSEN} )"
|
||||
einfo "This version of perl may partially support modules previously"
|
||||
einfo "installed in any of the following paths:"
|
||||
for incpath in ${inclist}; do
|
||||
[[ -e "${EROOT}${VENDOR_BASE}/${incpath}" ]] && einfo " ${EROOT}${VENDOR_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${PRIV_BASE}/${incpath}" ]] && einfo " ${EROOT}${PRIV_BASE}/${incpath}"
|
||||
[[ -e "${EROOT}${SITE_BASE}/${incpath}" ]] && einfo " ${EROOT}${SITE_BASE}/${incpath}"
|
||||
done
|
||||
einfo "This is a temporary measure and you should aim to cleanup these paths"
|
||||
einfo "via world updates and perl-cleaner"
|
||||
# myconf -Dinc_version_list="${inclist}"
|
||||
myconf -Dgentoolibdirs="$( versions_to_gentoolibdirs ${PERL_OLDVERSEN} )"
|
||||
fi
|
||||
|
||||
[[ ${ELIBC} == "FreeBSD" ]] && myconf "-Dlibc=/usr/$(get_libdir)/libc.a"
|
||||
|
||||
# Make sure we can do the final link #523730, need to set deployment
|
||||
# target to override hardcoded 10.3 which breaks on modern OSX
|
||||
[[ ${CHOST} == *-darwin* ]] && \
|
||||
myconf "-Dld=env MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} $(tc-getCC)"
|
||||
|
||||
# Older macOS with non-Apple GCC chokes on inline in system headers
|
||||
# using c89 mode as injected by cflags.SH, in addition, we override
|
||||
# cflags, so we loose PERL_DARWIN which enables compat code that
|
||||
# apparently on more recent macOS releases is no longer necessary
|
||||
[[ ${CHOST} == *-darwin* && ${CHOST##*darwin} -le 9 ]] && tc-is-gcc && \
|
||||
append-cflags -Dinline=__inline__ -DPERL_DARWIN
|
||||
|
||||
# Prefix: the host system needs not to follow Gentoo multilib stuff, and in
|
||||
# Prefix itself we don't do multilib either, so make sure perl can find
|
||||
# something compatible.
|
||||
if use prefix ; then
|
||||
# Set a hook to check for each detected library whether it actually works.
|
||||
export libscheck="
|
||||
( echo 'main(){}' > '${T}'/conftest.c &&
|
||||
$(tc-getCC) -o '${T}'/conftest '${T}'/conftest.c -l\$thislib >/dev/null 2>/dev/null
|
||||
) || xxx=/dev/null"
|
||||
|
||||
# Use all host paths that might contain useful stuff, the hook above will filter out bad choices.
|
||||
local paths="/lib/*-linux-gnu /usr/lib/*-linux-gnu /lib64 /lib/64 /usr/lib64 /usr/lib/64 /lib32 /usr/lib32 /lib /usr/lib"
|
||||
myconf "-Dlibpth=${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir) ${paths}"
|
||||
elif [[ $(get_libdir) != "lib" ]] ; then
|
||||
# We need to use " and not ', as the written config.sh use ' ...
|
||||
myconf "-Dlibpth=/usr/local/$(get_libdir) /$(get_libdir) /usr/$(get_libdir)"
|
||||
fi
|
||||
|
||||
# don't try building ODBM, bug #354453
|
||||
disabled_extensions="ODBM_File"
|
||||
|
||||
if ! use gdbm ; then
|
||||
# workaround for bug #157774: don't try building GDBM related stuff with USE="-gdbm"
|
||||
disabled_extensions="${disabled_extensions} GDBM_File NDBM_File"
|
||||
fi
|
||||
|
||||
myconf -Dnoextensions="${disabled_extensions}"
|
||||
|
||||
[[ "${PV##*.}" == "9999" ]] && myconf -Dusedevel -Uversiononly
|
||||
|
||||
[[ -n "${EXTRA_ECONF}" ]] && ewarn During Perl build, EXTRA_ECONF=${EXTRA_ECONF}
|
||||
# allow fiddling via EXTRA_ECONF, bug 558070
|
||||
eval "local -a EXTRA_ECONF=(${EXTRA_ECONF})"
|
||||
|
||||
myconf \
|
||||
-Duseshrplib \
|
||||
-Darchname="${myarch}" \
|
||||
-Dar="$(tc-getAR)" \
|
||||
-Dcc="$(tc-getCC)" \
|
||||
-Dcpp="$(tc-getCPP)" \
|
||||
-Dld="$(tc-getCC)" \
|
||||
-Dnm="$(tc-getNM)" \
|
||||
-Dranlib="$(tc-getRANLIB)" \
|
||||
-Accflags="${CFLAGS} -DNO_PERL_RAND_SEED" \
|
||||
-Doptimize="${CFLAGS}" \
|
||||
-Dldflags="${LDFLAGS}" \
|
||||
-Dprefix="${EPREFIX}"'/usr' \
|
||||
-Dsiteprefix="${EPREFIX}"'/usr/local' \
|
||||
-Dvendorprefix="${EPREFIX}"'/usr' \
|
||||
-Dscriptdir="${EPREFIX}"'/usr/bin' \
|
||||
-Dprivlib="${EPREFIX}${PRIV_LIB}" \
|
||||
-Darchlib="${EPREFIX}${ARCH_LIB}" \
|
||||
-Dsitelib="${EPREFIX}${SITE_LIB}" \
|
||||
-Dsitearch="${EPREFIX}${SITE_ARCH}" \
|
||||
-Dvendorlib="${EPREFIX}${VENDOR_LIB}" \
|
||||
-Dvendorarch="${EPREFIX}${VENDOR_ARCH}" \
|
||||
-Dman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dsiteman1dir="${EPREFIX}"/usr/local/man/man1 \
|
||||
-Dsiteman3dir="${EPREFIX}"/usr/local/man/man3 \
|
||||
-Dvendorman1dir="${EPREFIX}"/usr/share/man/man1 \
|
||||
-Dvendorman3dir="${EPREFIX}"/usr/share/man/man3 \
|
||||
-Dman1ext='1' \
|
||||
-Dman3ext='3pm' \
|
||||
-Dlibperl="${LIBPERL}" \
|
||||
-Dlocincpth="${EPREFIX}"'/usr/include ' \
|
||||
-Dglibpth="${EPREFIX}/$(get_libdir) ${EPREFIX}/usr/$(get_libdir)"' ' \
|
||||
-Duselargefiles \
|
||||
-Dd_semctl_semun \
|
||||
-Dcf_by='Gentoo' \
|
||||
-Dmyhostname='localhost' \
|
||||
-Dperladmin='root@localhost' \
|
||||
-Ud_csh \
|
||||
-Dsh="${EPREFIX}"/bin/sh \
|
||||
-Dtargetsh="${EPREFIX}"/bin/sh \
|
||||
-Uusenm \
|
||||
"${EXTRA_ECONF[@]}"
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
./configure \
|
||||
--target="${CHOST}" \
|
||||
--build="${CBUILD}" \
|
||||
-Dinstallprefix='' \
|
||||
-Dinstallusrbinperl='undef' \
|
||||
-Dusevendorprefix='define' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
else
|
||||
sh Configure \
|
||||
-des \
|
||||
-Dinstallprefix="${EPREFIX}"'/usr' \
|
||||
-Dinstallusrbinperl='n' \
|
||||
"${myconf[@]}" \
|
||||
|| die "Unable to configure"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export NO_GENTOO_NETWORK_TESTS=1;
|
||||
export GENTOO_ASSUME_SANDBOXED="${GENTOO_ASSUME_SANDBOXED:-1}"
|
||||
export GENTOO_NO_PORTING_TESTS="${GENTOO_NO_PORTING_TESTS:-1}"
|
||||
if [[ ${EUID} == 0 ]] ; then
|
||||
ewarn "Test fails with a sandbox error (#328793) if run as root. Skipping tests..."
|
||||
return 0
|
||||
fi
|
||||
TEST_JOBS="$(makeopts_jobs)" make test_harness || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local i
|
||||
local coredir="${ARCH_LIB}/CORE"
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
rm -f "${ED}/usr/bin/perl${MY_PV}"
|
||||
ln -s perl "${ED}"/usr/bin/perl${MY_PV} || die
|
||||
|
||||
if ! tc-is-static-only ; then
|
||||
dolib.so "${ED}"${coredir}/${LIBPERL}
|
||||
rm -f "${ED}"${coredir}/${LIBPERL}
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ${LIBPERL} "${ED}"/usr/$(get_libdir)/libperl$(get_libname) || die
|
||||
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/${LIBPERL} || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname ${SHORT_PV}) || die
|
||||
ln -sf ../../../../${LIBPERL} "${ED}"${coredir}/libperl$(get_libname) || die
|
||||
fi
|
||||
|
||||
rm -rf "${ED}"/usr/share/man/man3 || die "Unable to remove module man pages"
|
||||
|
||||
# This removes ${D} from Config.pm
|
||||
for i in $(find "${D}" -iname "Config.pm" ) ; do
|
||||
einfo "Removing ${D} from ${i}..."
|
||||
sed -i -e "s:${D}::" "${i}" || die "Sed failed"
|
||||
done
|
||||
|
||||
dodoc Changes* README AUTHORS
|
||||
|
||||
if use doc ; then
|
||||
# HTML Documentation
|
||||
# We expect errors, warnings, and such with the following.
|
||||
|
||||
dodir /usr/share/doc/${PF}/html
|
||||
LD_LIBRARY_PATH=. ./perl installhtml \
|
||||
--podroot='.' \
|
||||
--podpath='lib:ext:pod:vms' \
|
||||
--recurse \
|
||||
--htmldir="${ED}/usr/share/doc/${PF}/html"
|
||||
fi
|
||||
|
||||
[[ -d ${ED}/usr/local ]] && rm -r "${ED}"/usr/local
|
||||
|
||||
dual_scripts
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
check_rebuild
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
dual_scripts
|
||||
|
||||
if [[ -z "${ROOT}" ]] ; then
|
||||
local INC DIR file
|
||||
INC=$(perl -e 'for $line (@INC) { next if $line eq "."; next if $line =~ m/'${SHORT_PV}'|etc|local|perl$/; print "$line\n" }')
|
||||
einfo "Removing old .ph files"
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
for file in $(find "${DIR}" -name "*.ph" -type f ) ; do
|
||||
rm -f "${file}"
|
||||
einfo "<< ${file}"
|
||||
done
|
||||
fi
|
||||
done
|
||||
# Silently remove the now empty dirs
|
||||
for DIR in ${INC} ; do
|
||||
if [[ -d "${DIR}" ]] ; then
|
||||
find "${DIR}" -depth -type d -print0 | xargs -0 -r rmdir &> /dev/null
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
dual_scripts
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,6 @@
|
||||
AUX cffi-1.14.0-darwin-no-brew.patch 568 BLAKE2B 43afdb086a0385e913f287bc5c1534df1b881058cf7efdfdecd9df063c27ebd26683edad43e3010e1c01d9d93c5d98785ffbe65a5e3317d96ebb6a3132aecdab SHA512 75335871b8f98223e0247defc3d08f1c10ebed58c79790826c4e39057e6757b8bdc07e2773ad25482ed17c13480b3e72b3667e48697a456ed0cc4a39e7d91b79
|
||||
DIST cffi-1.16.0.tar.gz 512873 BLAKE2B 9e8d107b3124a072e559c4a536b54a172e90f9fe51d8184dacc2914a8ffa84f2682eee9c90401325dfb0f36f3f8ea0456afc93e2b85a4fef5f07ae4475e0a76b SHA512 fd2588115092202aa9289c9d4e0a0b3e264b5e9ec1dc192950f31aeb412fd9f9d4e5c96a3f9c6762987b58ccc1e229f2012ddda89211797104df672d8ed51152
|
||||
DIST cffi-d7f750b1b1c5ea4da5aa537b9baba0e01b0ce843.gh.tar.gz 523050 BLAKE2B 498085e9bc497eb1abf2d2e26e2cdb9d7544509b2c1686b306930c2da8a39a5ef133b77302761b44d5231c5255ef30cbd22579c79921dc2dc71e723ff5624939 SHA512 a0d1eb7bf8df12331d3493d86894ba062f7a15f4e7421863d44e264d4ca40ef864c7574d42cb7a4f2ea44ab80242942d6f4c8772c64b8dd0789aeb9f1908fc89
|
||||
EBUILD cffi-1.16.0.ebuild 1738 BLAKE2B 403b4dc5bb47dec2abbc30c21a894685c329214fa943bc7fab68260d2ab921cf5bd1a16832bae8e244124ad8d8af34d0f94fdadde981a514a862905c1fccb1c3 SHA512 3bb914dae82263f729baa2e0bb50ebd14697c6efe52404328c969301be9a83ab659df460aac5764ad9035fcb24bfc10d5bf4fde714597ee57d359c246d63cda1
|
||||
EBUILD cffi-1.17.0_pre20240424.ebuild 1883 BLAKE2B 4509949cb33dd292be9c3b8e69d87691ef3c217f65f93901fed0fda0b1c02d0d6b0e5c64605ec9d9127e2295b1448e118432958f12339ac0517f692f1b26c7f4 SHA512 5ff23616b55de9ee36d67e095375b35c9362ca3599bc6f949d43e786ada750665ca4d0c7f981be0ad9f2164c676772a1d164deab4719618e3d892ae8958a48f0
|
||||
MISC metadata.xml 376 BLAKE2B 869698c9756447929b5607d37c334442d76fef960c109ebe3b807de5019339de4ce19009d70b2eba506ee2608db9454c277cfb07ea025a39be6ea65b2ed93f74 SHA512 84c109a295e6f272c03107b69431f213dff9042a7e5c784dc725728aeb3a60dbf9c860551aae6260e5fc2dadeaa6eb27488186abe1d108bb21145d736de7e5b6
|
||||
|
@ -0,0 +1,79 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_EXT=1
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
# DO NOT ADD pypy to PYTHON_COMPAT
|
||||
# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead.
|
||||
PYTHON_COMPAT=( python3_{10..13} )
|
||||
|
||||
inherit distutils-r1 toolchain-funcs
|
||||
|
||||
EGIT_COMMIT=d7f750b1b1c5ea4da5aa537b9baba0e01b0ce843
|
||||
MY_P=${PN}-${EGIT_COMMIT}
|
||||
|
||||
DESCRIPTION="Foreign Function Interface for Python calling C code"
|
||||
HOMEPAGE="
|
||||
https://cffi.readthedocs.io/
|
||||
https://pypi.org/project/cffi/
|
||||
"
|
||||
SRC_URI="
|
||||
https://github.com/python-cffi/cffi/archive/${EGIT_COMMIT}.tar.gz
|
||||
-> ${MY_P}.gh.tar.gz
|
||||
"
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
|
||||
# Needs recent libffi for HPPA fixes
|
||||
DEPEND="
|
||||
>=dev-libs/libffi-3.4.4-r1:=
|
||||
"
|
||||
# setuptools as a modern distutils provider
|
||||
RDEPEND="
|
||||
${DEPEND}
|
||||
dev-python/pycparser[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
"
|
||||
BDEPEND="
|
||||
${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
test? (
|
||||
dev-python/py[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_sphinx doc/source
|
||||
distutils_enable_tests pytest
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/cffi-1.14.0-darwin-no-brew.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${CHOST} == *darwin* ]] ; then
|
||||
# Don't obsessively try to find libffi
|
||||
sed -i -e "s/.*\-iwithsysroot\/usr\/include\/ffi.*/\tpass/" setup.py || die
|
||||
fi
|
||||
distutils-r1_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export PKG_CONFIG
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local EPYTEST_IGNORE=(
|
||||
# these tests call pip
|
||||
testing/cffi0/test_zintegration.py
|
||||
)
|
||||
|
||||
"${EPYTHON}" -c "import _cffi_backend as backend" || die
|
||||
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
|
||||
epytest src/c testing
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
AUX 3.6-picklefile-IOError.patch 681 BLAKE2B 2aacef3639c9ec920d6cfc5e56ead129234d54019757a4c816c48c563789e119e6148ed409e5432ccdd763b62ad83c1359b63faf8432326ef8ebf4c93fa564c3 SHA512 6dce69df1cc538ff9787cb70617437ac36972b68a998922123bd4f0529dd6f155befe4104741e704e7e8a1ed8822f2e99580867bbc894fc57896aad4130c317b
|
||||
DIST ply-3.11-py3.12-assert.patch.xz 3832 BLAKE2B 5872a2f6c71ee093dfcb12a3a9b80c54091ba2a3d331948ccd88918fd263569a413e87962c607368f23f79abefd0f98738f1e1a33413832983ff3057c1ea021b SHA512 bc145cef28a0947773ee13df4a86fd60b04ebe8a06e563059a32eff55475f54bb99fb7cf7ef73c463d92b8795013b7c9f1aebcdf5a6c4f98d71675710f496b97
|
||||
DIST ply-3.11.tar.gz 159130 BLAKE2B 58c50b9dad445ad83a64aaa8174ed4602b36f5c8df33a7d62590a92388c4a21c9800599c1d4e4db6f02630e8dee4c8482611e26498e4aa8ccdb2cf3453ae1db4 SHA512 37e39a4f930874933223be58a3da7f259e155b75135f1edd47069b3b40e5e96af883ebf1c8a1bbd32f914a9e92cfc12e29fec05cf61b518f46c1d37421b20008
|
||||
EBUILD ply-3.11-r2.ebuild 1187 BLAKE2B 12fbf3f0804f208a8c3ab4213d3acd130d058ef75addd46eb42314e45ea8a7da2299869c7ffe94094a42442737ef88a8e08604ef2d378d2bb96db3d89056401d SHA512 3bb37145e9528440a475ea55bce8ac1a5536a1cf6e02284dce9842d59220d238ebd1b8c0c8b4b52ef8c87333cead9a4343343deb90de8587d2b2c2a75a3646c5
|
||||
EBUILD ply-3.11-r2.ebuild 1187 BLAKE2B 92318bd40ea8cdf0ca240d360709abcc989d794f925a58a07db4fffe2b160f7651bda267ecd146ea585df260d1f29faeda716b4217be9092869685051d6c34f6 SHA512 bbaf7d9fe7e05933b77989ae8be78deb8645211cf44bd21a3468194eadf03377dfa90e88a279db7c0b7c323f81be68c879961686d4533bd2bf13a16a4058b8bd
|
||||
MISC metadata.xml 1493 BLAKE2B 652847939ee8d1c628f6f6e8cdb30468709b851c4e864ab827352d88013a9157e08fb4cdc43dadda0bf50a375ed4a6173bb8bbc541f33affd65b48c8f5829639 SHA512 a59c743981a109b21a038bfdba1c95742ac05f68c6ca50b0e848c817fd48683e900391c153f842c06c2af5f26c8fa11b0beb6b4bcbb7096097bc3450ce88bcd5
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST py-1.11.0.tar.gz 207796 BLAKE2B becaafa6b9094790693bb99079a59c5a206d05dd42db1bbd75d1f9527a7a089ef3098a8b16da2c8f7aac6b682cd0687ddd454dc50930f13a860c118e9306cc94 SHA512 ce8dd791f9f6dd7e60a6caad32ff5cb816389a0840436efdedf4e0d4b0bfa09f7aea9e7c31d89903c72fe6ef17170a85af480525ba92c458ed73501a0420f2c4
|
||||
EBUILD py-1.11.0-r1.ebuild 753 BLAKE2B 2c65dffc6fe95402624c7aab8e0262204cb214877649e55a2faa79b35a1c9ed927cfd98df5444e7a040aff34b8e1862ce5c4d281d420f398c94249027b8a1c5e SHA512 998935cbf111989d8ac3277c0487f5479e81a56fa78438c1d744d9f6ce5f8948409b11af2da6a55045f556a02e3752dc72c5dec12fa586474286f4acb310237f
|
||||
EBUILD py-1.11.0-r1.ebuild 755 BLAKE2B e2ef4831db3f9d9809b9729f613803e88a0fa75ce8af6da443c24f8c6ad1d361972d2948b3bce60c66324e6cb1957fd7f057b4790adb95e00ee4f525424f6a50 SHA512 57b892214e6cf4f213755662b8bf675588b70436e529d66da1e2c39c230700e034dd8af5c97694a25bfb2c5a7ec971286f6e3919daea616ae02804ebc740e380
|
||||
MISC metadata.xml 396 BLAKE2B f1d0b4dee74f12247740934c228f649c55bc38397053411c711297936c2f7d6c152437e6917bcb0e05afd94ad9cffe38a7daa0e9830a77c8f834435f41ecfce1 SHA512 fb14933d9f7c397ff4b0bcfd10f26bb001da7f36547df04f29a609cd10849c1e70e1246aac53fc06fe2b3c3cd0cb1599d3f1a19a20f0ea0091ebded6f4d80c1b
|
||||
|
@ -1,3 +1,3 @@
|
||||
DIST pycparser-2.22.tar.gz 172736 BLAKE2B a080df68cf114c355949b2911a80e89ed02a64b8d1d03e3c5807222249e5dfd2491f691962885dbadcdaf323b55a05c5597319ac082dcf6c67a9ac952be9a7e2 SHA512 c9a81c78d87162f71281a32a076b279f4f7f2e17253fe14c89c6db5f9b3554a6563ff700c385549a8b51ef8832f99f7bb4ac07f22754c7c475dd91feeb0cf87f
|
||||
EBUILD pycparser-2.22.ebuild 1848 BLAKE2B f50e405160255987f2f9b8e1f573dad224186b3d774db8f88f24774e462d52fe45a7a8f3245c21db3de073882636df974812dfe21f2fdfb9f883b00303d512e0 SHA512 abde92e846aafcd9b74c7027fc447a8bccc04c1f782aaef8ee3bf11ec67fece202f4f653e3ce945bc0322db6264012fce2c14a5a572d60caa545b45e7f2fe520
|
||||
EBUILD pycparser-2.22.ebuild 1848 BLAKE2B 03e97b8385301502b6927cafa5240fca2011015e726cbbf25e55e98161efcf7d1e31f1b07a70fbe14eb12d8cbc7570beca53b471c88d1b6899e7a767315e538f SHA512 8fe8f5ee8678cc9df524123def2edfde21fbb22599fd0a1831058c45f1909687e1167f7c75c58427422e29da69922d3b7e1f4ba4c5ae0c822c69544e6ededa47
|
||||
MISC metadata.xml 406 BLAKE2B 61cb250ac460c4ea05f47bd8d208e44706bc80965ca1982e490d759d3a63652e5e13bf357532afb599ecea491f3c9a4cd315b97250b115bb7e8fa769b2ef03ff SHA512 b2d4ffde31f97a98e4a74bdd70751519d1339bbf3384e9e671760506fc2dac9d92bf6f7a743973002b4ae6da1cd2bb11abbfe63cbb330a1c32702b3eef24a62b
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
DIST gnome-mahjongg-3.40.0.tar.xz 3156788 BLAKE2B 3a8dd05001d75a7fa7663556dcad135b89786333c4c89ee131e7d63dafaee2a738f0c573199a69e6bc015036270a94c8be6cd6d48630faddba297710f48931d0 SHA512 9102d48d7a1cd2808a4de86cb3cb73c30bbe769bdc58f2a69914700218972a8c96cf18b5165cc20eb9a33866a70c5b2daee43cbecf758526d89a0b8720ef5c9a
|
||||
DIST gnome-mahjongg-3.40.1.tar.xz 3200016 BLAKE2B bae6e0aa496918aa47c1f89626a01bdbc24405b4435cd66ec6374f26e2a96da3d397605a5535e80a76e13beb0ada612d80882f65594090aca8dd56cee3b1b4cc SHA512 051439dccc5723a07e57bdba80cc0a3893b1b515c0bdda0289eeb9851ecbed4440042d452f5d057a90a53c71be0b810ad932b7c62e549c2bc5e24ba6c174abc1
|
||||
EBUILD gnome-mahjongg-3.40.0.ebuild 828 BLAKE2B 7fda1901ff50ee7336902089994d644344f2aaf8eaa81b66b3570a93ee9d491cdf0bc949faf488cc50e09590b01a545c36bafc404c74b7989d80fa30f716551d SHA512 d48ca988ae4dfd05ceb88ef516ed5b572d7ad6476e0f1485e06131669330afba955d84ef9b3a7d5603946b33014cf1575e22e97f2e29dc58171bab1f54a46e40
|
||||
EBUILD gnome-mahjongg-3.40.1.ebuild 831 BLAKE2B cd68a9d219d347af54e83da586c5973e471c25e63b83d89dd4fae7ef483bb05ba45000d25fce8acba428f076e8c4420b2c42ace4639c4b063906525d505be1b7 SHA512 ab7049d1fa135ba16781cd7661efc0caca78d018c86dc969f7bbe3ee3c615331cb04acde0710c735aa7854fd31fb59a75f3566b4189b8da64d7f3e255bc9e3b3
|
||||
EBUILD gnome-mahjongg-3.40.1.ebuild 828 BLAKE2B 876cfdb4812243184b1ab5972370bab30208a4569773166cbdd014d3883aea3997115c35aa3831cb3625d2f458114cfd1ed8ee51204d25915fe5c77eb6a3daae SHA512 b99f00cf88f5d454cc30bbf19c0b947d4acb948d426db749520d504b774651fcff0a17b19f5fad10627339f62383ef7947e92eda0b37e1c38d203066d39256f0
|
||||
MISC metadata.xml 355 BLAKE2B 170bdd4e6cb7e4afab4147e78989877516569c26560f165cbc5c7f1872af637385ad4d268a3889d54f6c252e9d9acbc82f86520b56ba2deeed516bf9c4c6f60d SHA512 62ebb5a2930f7bf4a6a6bfc849694b26ae324e52e25943628f8709ff00278c29fdcd53b9bf994fa3819b7f62dc68325b0d06e534d7daaab15b2d4a75d0c42e4f
|
||||
|
Binary file not shown.
@ -1,95 +0,0 @@
|
||||
# Copyright 1999-2024 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
GNOME_TARBALL_SUFFIX="bz2"
|
||||
GNOME2_LA_PUNT="yes"
|
||||
GNOME2_EAUTORECONF="yes"
|
||||
|
||||
inherit gnome2 multilib-minimal virtualx
|
||||
|
||||
DESCRIPTION="Library to construct graphical interfaces at runtime"
|
||||
HOMEPAGE="https://library.gnome.org/devel/libglade/stable/"
|
||||
|
||||
LICENSE="LGPL-2"
|
||||
SLOT="2.0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
IUSE="static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND=">=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
|
||||
>=x11-libs/gtk+-2.24.23:2[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/atk-2.10.0[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libxml2-2.9.1-r4[${MULTILIB_USEDEP}]
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-build/gtk-doc-am
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_prepare() {
|
||||
# patch to stop make install installing the xml catalog
|
||||
# because we do it ourselves in postinst()
|
||||
eapply "${FILESDIR}"/Makefile.in.am-2.4.2-xmlcatalog.patch
|
||||
|
||||
# patch to not throw a warning with gtk+-2.14 during tests, as it triggers abort
|
||||
eapply "${FILESDIR}/${PN}-2.6.3-fix_tests-page_size.patch"
|
||||
|
||||
# Fails with gold due to recent changes in glib-2.32's pkg-config files
|
||||
eapply "${FILESDIR}/${P}-gold-glib-2.32.patch"
|
||||
|
||||
# Needed for solaris, else gcc finds a syntax error in /usr/include/signal.h
|
||||
eapply "${FILESDIR}/${P}-enable-extensions.patch"
|
||||
|
||||
if ! use test; then
|
||||
sed 's/ tests//' -i Makefile.am Makefile.in || die "sed failed"
|
||||
fi
|
||||
|
||||
# Deprecated macro that does nothing. Provided by gnome-base/gnome-common
|
||||
# but adding an additional bdep for this is silly.
|
||||
sed -i '/GNOME_COMMON_INIT/d' configure.in || die
|
||||
|
||||
mv configure.in configure.ac || die
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
export am_cv_pathless_PYTHON=none
|
||||
|
||||
ECONF_SOURCE=${S} \
|
||||
gnome2_src_configure \
|
||||
$(use_enable static-libs static)
|
||||
|
||||
if multilib_is_native_abi; then
|
||||
ln -s "${S}"/doc/html doc/html || die
|
||||
fi
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
virtx emake check || die "make check failed"
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
dodir /etc/xml
|
||||
gnome2_src_install
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
local DOCS=( AUTHORS ChangeLog NEWS README )
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
echo ">>> Updating XML catalog"
|
||||
"${EPREFIX}"/usr/bin/xmlcatalog --noout --add "system" \
|
||||
"https://glade.gnome.org/glade-2.0.dtd" \
|
||||
"${EPREFIX}"/usr/share/xml/libglade/glade-2.0.dtd /etc/xml/catalog
|
||||
gnome2_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_pkg_postrm
|
||||
echo ">>> removing entries from the XML catalog"
|
||||
"${EPREFIX}"/usr/bin/xmlcatalog --noout --del \
|
||||
"${EPREFIX}"/usr/share/xml/libglade/glade-2.0.dtd /etc/xml/catalog
|
||||
}
|
Binary file not shown.
@ -1,4 +1,3 @@
|
||||
DIST vamp-libxtract-plugins-0.6.6.20121204.tar.gz 20891 BLAKE2B 092358f93d00637627dd3ab2163cb9c38f65b3d1a1a5b9c118f8c50a38dc0f6dd5be4adba9027a8f1cd2d059d22457e79008fa16b2c93e4a1cc003727f9f54f2 SHA512 227b848409e4b57be042350ad1dedc8c02c0358239eaf530a0955a4b19ec2c4788e61c7b53b43de5ec1f051a33241e7a4c878584da1480b384756268b501c4c4
|
||||
EBUILD vamp-libxtract-plugins-0.6.6.20121204-r1.ebuild 755 BLAKE2B b3f397a5f20dd981580123fb623a3ee29715b598afda16dbbad4c735060e2c754be9c480676cc23ffce4a0bfe6568ade8a286932f4c0e5b19244bc561da87b40 SHA512 aa1734c11ea91d5bfc8dc12d9e66d43d877f0f0f2295a5ca93e11167c92ba28ed7b9de8c287a509537600278e39368c5ef6825b72726c0a3e72674a8d6f16977
|
||||
EBUILD vamp-libxtract-plugins-0.6.6.20121204.ebuild 763 BLAKE2B e7ad6e326ab3f5dbeaf5e2bbbd92a8af7725ca6ef523fb32c7b41ad1225c1fa22198101ee8a766dcb2c7006c66d057484dd31997b4a5c57b5c9eb00976463dee SHA512 103dd896c67a4e9c52e4ec8419980551574acd50f1fd134e5cedf4464b4ee8ef8e27ccd2c44fcae8989cf9580b88c5ce533382b95c29c2367ec3887d74859519
|
||||
MISC metadata.xml 256 BLAKE2B 211ca90d8f704be5ca8a1994f0e8f1adbe1fd4937a10a301ced0b9be171dfdabb223661d168535cd7f5edfe0c8edca4620945e13dc3c43b5832ac183913188f0 SHA512 fde3b658512fa6742886d7dd84efc906331b43f5b0f8fdca353fe2280653381716d7143473c9237b9fe58b9df5889b38b008da34f6ce4b64336f38642d78e3dd
|
||||
|
@ -1,35 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
DESCRIPTION="Vamp plugin encapsulating many of the functions of the LibXtract library"
|
||||
HOMEPAGE="https://www.vamp-plugins.org/"
|
||||
SRC_URI="https://code.soundsoftware.ac.uk/attachments/download/618/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~ppc ppc64 x86"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="=sci-libs/fftw-3*
|
||||
>=media-libs/libxtract-0.6.6
|
||||
media-libs/vamp-plugin-sdk"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -e "s/-O3//" -e "s/ -Wl,-Bstatic//" -i Makefile || die "sed Makefile failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export CXX
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto /usr/$(get_libdir)/vamp
|
||||
doins vamp-libxtract.{so,cat}
|
||||
einstalldocs
|
||||
}
|
Binary file not shown.
@ -1 +1 @@
|
||||
Fri, 10 May 2024 15:10:11 +0000
|
||||
Fri, 10 May 2024 22:40:15 +0000
|
||||
|
@ -1 +1 @@
|
||||
Fri, 10 May 2024 15:10:11 +0000
|
||||
Fri, 10 May 2024 22:40:15 +0000
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue