From b6a0f46f7d2e1e21df70fb32169f7d9de85445f7 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 22 Dec 2023 19:52:05 +0000 Subject: gentoo auto-resync : 22:12:2023 - 19:52:05 --- dev-lang/Manifest.gz | Bin 21162 -> 20993 bytes dev-lang/R/Manifest | 4 +- dev-lang/R/R-4.3.1-r1.ebuild | 245 ++++++++++ dev-lang/R/R-4.3.1.ebuild | 248 ---------- dev-lang/R/R-4.3.2-r1.ebuild | 245 ++++++++++ dev-lang/R/R-4.3.2.ebuild | 248 ---------- dev-lang/ferite/Manifest | 6 - dev-lang/ferite/ferite-1.1.17-r1.ebuild | 71 --- dev-lang/ferite/files/ferite-1.1.17-bool.patch | 62 --- dev-lang/ferite/files/ferite-pcre.patch | 26 -- dev-lang/ferite/metadata.xml | 8 - dev-lang/python/Manifest | 2 + dev-lang/python/python-3.12.1_p1.ebuild | 532 ++++++++++++++++++++++ dev-lang/spidermonkey/Manifest | 4 - dev-lang/spidermonkey/spidermonkey-78.15.0.ebuild | 459 ------------------- 15 files changed, 1026 insertions(+), 1134 deletions(-) create mode 100644 dev-lang/R/R-4.3.1-r1.ebuild delete mode 100644 dev-lang/R/R-4.3.1.ebuild create mode 100644 dev-lang/R/R-4.3.2-r1.ebuild delete mode 100644 dev-lang/R/R-4.3.2.ebuild delete mode 100644 dev-lang/ferite/Manifest delete mode 100644 dev-lang/ferite/ferite-1.1.17-r1.ebuild delete mode 100644 dev-lang/ferite/files/ferite-1.1.17-bool.patch delete mode 100644 dev-lang/ferite/files/ferite-pcre.patch delete mode 100644 dev-lang/ferite/metadata.xml create mode 100644 dev-lang/python/python-3.12.1_p1.ebuild delete mode 100644 dev-lang/spidermonkey/spidermonkey-78.15.0.ebuild (limited to 'dev-lang') diff --git a/dev-lang/Manifest.gz b/dev-lang/Manifest.gz index 56fbdbc43173..f4dd5572c930 100644 Binary files a/dev-lang/Manifest.gz and b/dev-lang/Manifest.gz differ diff --git a/dev-lang/R/Manifest b/dev-lang/R/Manifest index b8336da0a9bc..874d1825fb8f 100644 --- a/dev-lang/R/Manifest +++ b/dev-lang/R/Manifest @@ -4,6 +4,6 @@ AUX R-4.3.0-parallel.patch 415 BLAKE2B e996c72c167b529765c82c8880bc3ea704d3c6e34 DIST R-4.3.1.tar.gz 34899964 BLAKE2B 7aaacad01ce59e2faa46c4b830c10d2df8e4a3a1d4f11cf2aa622ceb53876f1e702dff94a820ca954ec29f53d58fa7e135ef15e8257602c50f2642b0a0c0a86a SHA512 f571c378dbdd675e267ef4419bb1141198924dadc08297c93c8dff58504994604918b3e045bb7139ba473972a063a68ed1c7426f37d4e8208b79358561d34d77 DIST R-4.3.2.tar.gz 35039225 BLAKE2B 2de3af9013c8648c118a1efe673b618aef84a694c6865657faef5b0ca5f780ef5273bb00b607f587219ee30a11f01ccc3b730b9124847242b9d9550de471f58c SHA512 125114357f20d4a3248aee86727768d1dc15e07e44353f8a68fe2ef1fedae508e85d944301d00c0edd61e8b012b0b3cdcde53ac60be903713f96542d83ad5b1d DIST R-78d6830e28ea90a046da79a9b4f70c39594bb6d6.bash_completion 13596 BLAKE2B 53338e4a1c4f68beb69247216e553dbcac47f660fbf032bfebf7a660e32d2cff5b11ed35411c52de7e1fd6e00bbf5b5ea19369a325fa0a38bd93d63dc3288cbd SHA512 9ccd19bb1b0c18a2f13035ccd6809447429e197e298fb4d1df808ef345d723b42f75a1b91c349f6dbb46e4a82e59ef33e11300c495d79b63d670d0c0f2b16a06 -EBUILD R-4.3.1.ebuild 7159 BLAKE2B 1f37562b5b433614f6efc8be8d93b9b74f3783f2060ce69def1a6993a09e76dbf8f15c4035a8468956753fc9b2595b73404757b10ebf54374ef978ef7ef64130 SHA512 d48cc1c71f893e29032233e4a61233039e4f6c792480021048734f5cc44682d8a8df3e6aedb5213456e360ea1307cbd44e14efa1d2387e3606ae248c8531e658 -EBUILD R-4.3.2.ebuild 7162 BLAKE2B b0f1e5efcbe7f4cbb2b47e9e7ee2566afa036aa50c9a8f32f3023fca541d47a1476d55c378539b65ff0f9237428352e6a0039d1814500b696495dadd706daa3d SHA512 643f2114b52746f88057e146a143b32a9003ef22e6cef97c37520eb9d22399ff2d3f41fa530753ef819c86dbbcfd4f41aa5034b7dcd5ee345475b957b079f6ad +EBUILD R-4.3.1-r1.ebuild 7129 BLAKE2B 59d20cf585e5e5ef63273ab347a4f10d650bb599cedada3a94ece380125f2b1dd790ee73084ccc864841e652c2658b37f1b96f6c5e5cd7e896ca509c51cd2651 SHA512 d793f58f8f3f078edbd527a77c02715654ee96741557e8a0666b2bc8635adce414b3b5bb2b0825cccbfb6f7dc4d4555fdbf8bb2677ac6aa738b7c857960dd1ea +EBUILD R-4.3.2-r1.ebuild 7132 BLAKE2B 9c8419a8b94da6618c7946c7406db2cfc4713616e3ab878d6203a0cfdd6b5a808afbd43f7c574498bf16260ef25653bd1a1cd76ce7d531eca375e32e71c8afe7 SHA512 186629eb0e4ffbb824a2b210e97f246ef54441a8c50a7efc431c2293df4a71a70fe11e1261f73730b242a68dc5cb97233847242a3b3956aa10e874530ab91af1 MISC metadata.xml 1212 BLAKE2B 6a3335018dc1a2a0b67c18bb6164e4a359ad0133bfdb3e7818173bec29d826e177934790d478d63bbcfc58fdbd3a25b9753c986604a52376ebc1fc6997206185 SHA512 68f4c1df03f6b9a00ce82dd7360dd3765a41dca257f0379820a0b631b64c0723536bba92a0247f12fd2efc82986c70b2afeefa4311239a68fd7949ea0af5358f diff --git a/dev-lang/R/R-4.3.1-r1.ebuild b/dev-lang/R/R-4.3.1-r1.ebuild new file mode 100644 index 000000000000..1a0d799e0324 --- /dev/null +++ b/dev-lang/R/R-4.3.1-r1.ebuild @@ -0,0 +1,245 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 autotools flag-o-matic fortran-2 toolchain-funcs + +# latest git commit for R bash completion: +# https://github.com/deepayan/rcompletion +BCPV=78d6830e28ea90a046da79a9b4f70c39594bb6d6 + +DESCRIPTION="Language and environment for statistical computing and graphics" +HOMEPAGE="https://www.r-project.org/" +SRC_URI=" + https://cran.r-project.org/src/base/R-4/${P}.tar.gz + https://raw.githubusercontent.com/deepayan/rcompletion/${BCPV}/bash_completion/R -> ${PN}-${BCPV}.bash_completion" + +LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" +SLOT="0" +KEYWORDS="amd64 arm64 ~hppa ~ia64 ~loong sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +IUSE="cairo doc icu java jpeg lapack lto minimal nls openmp perl png prefix profile readline test tiff tk X" + +REQUIRED_USE=" + png? ( || ( cairo X ) ) + jpeg? ( || ( cairo X ) ) + tiff? ( || ( cairo X ) )" +RESTRICT=" + minimal? ( test ) + !test? ( test )" + +# At least one package installation in the test suite requires TeX, +# and will fail without it (bug #718056). +DEPEND=" + app-arch/bzip2 + app-arch/xz-utils + app-text/ghostscript-gpl + dev-libs/libpcre2:= + >=dev-libs/tre-0.8.0_p20210321[approx] + net-misc/curl + virtual/blas + sys-libs/zlib[minizip] + sys-apps/coreutils + cairo? ( + x11-libs/cairo:=[X=] + x11-libs/pango:= + ) + icu? ( dev-libs/icu:= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + kernel_linux? ( net-libs/libtirpc ) + lapack? ( virtual/lapack ) + perl? ( dev-lang/perl ) + png? ( media-libs/libpng:= ) + readline? ( sys-libs/readline:= ) + tiff? ( media-libs/tiff:= ) + tk? ( dev-lang/tk:= ) + X? ( + x11-libs/libXmu + x11-libs/libXt + )" +RDEPEND="${DEPEND} + java? ( >=virtual/jre-1.8:* )" +BDEPEND=" + virtual/pkgconfig + doc? ( + virtual/latex-base + dev-texlive/texlive-fontsrecommended + ) + test? ( virtual/latex-base )" + +PATCHES=( + "${FILESDIR}"/R-4.3.0-parallel.patch + "${FILESDIR}"/R-4.3.0-no-LDFLAGS-in-libR-pkg-config.patch + "${FILESDIR}"/R-4.3.0-no-gzip-doc.patch +) + +# false positive, the linking step fails (as it should) +QA_CONFIG_IMPL_DECL_SKIP=( iconvlist ) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + FORTRAN_NEED_OPENMP=1 + fi + + fortran-2_pkg_setup + + # avoid using existing R installation + unset R_HOME +} + +src_prepare() { + default + + # fix packages.html for doc (gentoo bug #205103) + sed -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ + -i src/library/tools/R/Rd.R || die + + # fix Rscript path when installed (gentoo bug #221061) + sed -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${EPREFIX}/usr/$(get_libdir)/${PN}\"':" \ + -i src/unix/Makefile.in || die "sed unix Makefile failed" + + # fix HTML links to manual (gentoo bug #273957) + sed -e 's:\.\./manual/:manual/:g' \ + -i $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" + + use lapack && + export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" + + use perl && + export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" + + # don't search /usr/local + sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die + + # Fix for Darwin (macOS) + if use prefix; then + if [[ ${CHOST} == *-darwin* ]] ; then + sed -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ + -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ + -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ + -e "/SHLIB_EXT/s/\.so/.dylib/" \ + -i configure.ac || die + # sort of "undo" 2.14.1-rmath-shared.patch + sed -e "s:-Wl,-soname=libRmath.so:-install_name ${EPREFIX}/usr/$(get_libdir)/libRmath.dylib:" \ + -i src/nmath/standalone/Makefile.in || die + else + append-ldflags -Wl,-rpath="${EPREFIX}/usr/$(get_libdir)/R/lib" + fi + fi + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + filter-ldflags -Wl,-Bdirect -Bdirect + + econf \ + --enable-byte-compiled-packages \ + --enable-R-shlib \ + --disable-R-framework \ + --disable-R-static-lib \ + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + --with-system-tre \ + --without-aqua \ + $(use_enable java) \ + $(use_enable lto lto R) \ + $(use_enable nls) \ + $(use_enable openmp) \ + $(use_enable profile R-profiling) \ + $(use_enable profile memory-profiling) \ + $(use_with cairo) \ + $(use_with icu ICU) \ + $(use_with jpeg jpeglib) \ + $(use_with lapack) \ + $(use_with !minimal recommended-packages) \ + $(use_with png libpng) \ + $(use_with readline) \ + $(use_with tiff libtiff) \ + $(use_with tk tcltk) \ + $(use_with tk tk-config "${ESYSROOT}"/usr/$(get_libdir)/tkConfig.sh) \ + $(use_with tk tcl-config "${ESYSROOT}"/usr/$(get_libdir)/tclConfig.sh) \ + $(use_with X x) +} + +src_compile() { + export VARTEXFONTS="${T}"/fonts + emake AR="$(tc-getAR)" + emake -C src/nmath/standalone shared AR="$(tc-getAR)" + use doc && emake info pdf +} + +src_install() { + default + emake -C src/nmath/standalone DESTDIR="${D}" install + + if use doc; then + emake DESTDIR="${D}" install-info install-pdf + dosym ../manual /usr/share/doc/${PF}/html/manual + fi + + newenvd - 99R <<-_EOF_ + LDPATH="${EPREFIX}/usr/$(get_libdir)/${PN}/lib" + R_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}" + _EOF_ + + newbashcomp "${DISTDIR}"/${PN}-${BCPV}.bash_completion ${PN} + # The buildsystem has a different understanding of install_names than + # we require. Since it builds modules like shared objects (wrong), many + # objects (all modules) get an incorrect install_name. Fixing the build + # system here is not really trivial. + if [[ ${CHOST} == *-darwin* ]] ; then + local mod + pushd "${ED}"/usr/$(get_libdir)/R >/dev/null || die + for mod in $(find . -name "*.dylib") ; do + mod=${mod#./} + install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/R/${mod}" "${mod}" + done + popd >/dev/null || die + fi + + # Users are encouraged to access some of the the R documentation + # interactively, through functions like "contributors()" that + # tries to open the "AUTHORS" file. Other files can be accessed + # by name with RShowDoc(), and the documentation for e.g. license() + # and RShowDoc() suggests a few of these names. Here we try to + # collect as many names as possible that a user might actually + # try to view through R, because if we don't decompress them, + # then R doesn't know what to do with 'em. Bug #556706. + local INTERACTIVE_DOCS=( + AUTHORS + COPYING + FAQ + NEWS + THANKS + ) + + # Other data sources that are shipped as "documentation," but which + # need to be accessible via their original unmolested filenames. + local INTERACTIVE_DATA=( + BioC_mirrors.csv + CRAN_mirrors.csv + KEYWORDS.db + NEWS.rds + ) + + local f NOCOMPRESS_DOCS=( "${INTERACTIVE_DOCS[@]}" "${INTERACTIVE_DATA[@]}" ) + for f in "${NOCOMPRESS_DOCS[@]}"; do + docompress -x /usr/share/doc/${PF}/${f} + done + + # Finally, an extra copy of this started showing up at some point... + rm "${ED}"/usr/$(get_libdir)/R/COPYING || die +} + +pkg_postinst() { + if use java; then + einfo "Re-initializing java paths for ${P}" + R CMD javareconf + fi +} diff --git a/dev-lang/R/R-4.3.1.ebuild b/dev-lang/R/R-4.3.1.ebuild deleted file mode 100644 index 35b5a00630bd..000000000000 --- a/dev-lang/R/R-4.3.1.ebuild +++ /dev/null @@ -1,248 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 autotools flag-o-matic fortran-2 toolchain-funcs - -# latest git commit for R bash completion: -# https://github.com/deepayan/rcompletion -BCPV=78d6830e28ea90a046da79a9b4f70c39594bb6d6 - -DESCRIPTION="Language and environment for statistical computing and graphics" -HOMEPAGE="https://www.r-project.org/" -SRC_URI=" - https://cran.r-project.org/src/base/R-4/${P}.tar.gz - https://raw.githubusercontent.com/deepayan/rcompletion/${BCPV}/bash_completion/R -> ${PN}-${BCPV}.bash_completion" - -LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" -SLOT="0" -KEYWORDS="amd64 arm64 ~hppa ~ia64 ~loong sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" -IUSE="cairo doc icu java jpeg lapack lto minimal nls openmp perl png prefix profile readline test tiff tk X" - -REQUIRED_USE=" - png? ( || ( cairo X ) ) - jpeg? ( || ( cairo X ) ) - tiff? ( || ( cairo X ) )" -RESTRICT=" - minimal? ( test ) - !test? ( test )" - -# At least one package installation in the test suite requires TeX, -# and will fail without it (bug #718056). -DEPEND=" - app-arch/bzip2 - app-arch/xz-utils - app-text/ghostscript-gpl - dev-libs/libpcre2:= - >=dev-libs/tre-0.8.0_p20210321[approx] - net-misc/curl - virtual/blas - sys-libs/zlib[minizip] - || ( - sys-apps/coreutils - app-misc/realpath - ) - cairo? ( - x11-libs/cairo:=[X=] - x11-libs/pango:= - ) - icu? ( dev-libs/icu:= ) - jpeg? ( media-libs/libjpeg-turbo:= ) - kernel_linux? ( net-libs/libtirpc ) - lapack? ( virtual/lapack ) - perl? ( dev-lang/perl ) - png? ( media-libs/libpng:= ) - readline? ( sys-libs/readline:= ) - tiff? ( media-libs/tiff:= ) - tk? ( dev-lang/tk:= ) - X? ( - x11-libs/libXmu - x11-libs/libXt - )" -RDEPEND="${DEPEND} - java? ( >=virtual/jre-1.8:* )" -BDEPEND=" - virtual/pkgconfig - doc? ( - virtual/latex-base - dev-texlive/texlive-fontsrecommended - ) - test? ( virtual/latex-base )" - -PATCHES=( - "${FILESDIR}"/R-4.3.0-parallel.patch - "${FILESDIR}"/R-4.3.0-no-LDFLAGS-in-libR-pkg-config.patch - "${FILESDIR}"/R-4.3.0-no-gzip-doc.patch -) - -# false positive, the linking step fails (as it should) -QA_CONFIG_IMPL_DECL_SKIP=( iconvlist ) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] && use openmp; then - tc-check-openmp - FORTRAN_NEED_OPENMP=1 - fi - - fortran-2_pkg_setup - - # avoid using existing R installation - unset R_HOME -} - -src_prepare() { - default - - # fix packages.html for doc (gentoo bug #205103) - sed -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ - -i src/library/tools/R/Rd.R || die - - # fix Rscript path when installed (gentoo bug #221061) - sed -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${EPREFIX}/usr/$(get_libdir)/${PN}\"':" \ - -i src/unix/Makefile.in || die "sed unix Makefile failed" - - # fix HTML links to manual (gentoo bug #273957) - sed -e 's:\.\./manual/:manual/:g' \ - -i $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" - - use lapack && - export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" - - use perl && - export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" - - # don't search /usr/local - sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die - - # Fix for Darwin (macOS) - if use prefix; then - if [[ ${CHOST} == *-darwin* ]] ; then - sed -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ - -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ - -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ - -e "/SHLIB_EXT/s/\.so/.dylib/" \ - -i configure.ac || die - # sort of "undo" 2.14.1-rmath-shared.patch - sed -e "s:-Wl,-soname=libRmath.so:-install_name ${EPREFIX}/usr/$(get_libdir)/libRmath.dylib:" \ - -i src/nmath/standalone/Makefile.in || die - else - append-ldflags -Wl,-rpath="${EPREFIX}/usr/$(get_libdir)/R/lib" - fi - fi - - AT_M4DIR=m4 eautoreconf -} - -src_configure() { - filter-ldflags -Wl,-Bdirect -Bdirect - - econf \ - --enable-byte-compiled-packages \ - --enable-R-shlib \ - --disable-R-framework \ - --disable-R-static-lib \ - --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ - rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ - --with-system-tre \ - --without-aqua \ - $(use_enable java) \ - $(use_enable lto lto R) \ - $(use_enable nls) \ - $(use_enable openmp) \ - $(use_enable profile R-profiling) \ - $(use_enable profile memory-profiling) \ - $(use_with cairo) \ - $(use_with icu ICU) \ - $(use_with jpeg jpeglib) \ - $(use_with lapack) \ - $(use_with !minimal recommended-packages) \ - $(use_with png libpng) \ - $(use_with readline) \ - $(use_with tiff libtiff) \ - $(use_with tk tcltk) \ - $(use_with tk tk-config "${ESYSROOT}"/usr/$(get_libdir)/tkConfig.sh) \ - $(use_with tk tcl-config "${ESYSROOT}"/usr/$(get_libdir)/tclConfig.sh) \ - $(use_with X x) -} - -src_compile() { - export VARTEXFONTS="${T}"/fonts - emake AR="$(tc-getAR)" - emake -C src/nmath/standalone shared AR="$(tc-getAR)" - use doc && emake info pdf -} - -src_install() { - default - emake -C src/nmath/standalone DESTDIR="${D}" install - - if use doc; then - emake DESTDIR="${D}" install-info install-pdf - dosym ../manual /usr/share/doc/${PF}/html/manual - fi - - newenvd - 99R <<-_EOF_ - LDPATH="${EPREFIX}/usr/$(get_libdir)/${PN}/lib" - R_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}" - _EOF_ - - newbashcomp "${DISTDIR}"/${PN}-${BCPV}.bash_completion ${PN} - # The buildsystem has a different understanding of install_names than - # we require. Since it builds modules like shared objects (wrong), many - # objects (all modules) get an incorrect install_name. Fixing the build - # system here is not really trivial. - if [[ ${CHOST} == *-darwin* ]] ; then - local mod - pushd "${ED}"/usr/$(get_libdir)/R >/dev/null || die - for mod in $(find . -name "*.dylib") ; do - mod=${mod#./} - install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/R/${mod}" "${mod}" - done - popd >/dev/null || die - fi - - # Users are encouraged to access some of the the R documentation - # interactively, through functions like "contributors()" that - # tries to open the "AUTHORS" file. Other files can be accessed - # by name with RShowDoc(), and the documentation for e.g. license() - # and RShowDoc() suggests a few of these names. Here we try to - # collect as many names as possible that a user might actually - # try to view through R, because if we don't decompress them, - # then R doesn't know what to do with 'em. Bug #556706. - local INTERACTIVE_DOCS=( - AUTHORS - COPYING - FAQ - NEWS - THANKS - ) - - # Other data sources that are shipped as "documentation," but which - # need to be accessible via their original unmolested filenames. - local INTERACTIVE_DATA=( - BioC_mirrors.csv - CRAN_mirrors.csv - KEYWORDS.db - NEWS.rds - ) - - local f NOCOMPRESS_DOCS=( "${INTERACTIVE_DOCS[@]}" "${INTERACTIVE_DATA[@]}" ) - for f in "${NOCOMPRESS_DOCS[@]}"; do - docompress -x /usr/share/doc/${PF}/${f} - done - - # Finally, an extra copy of this started showing up at some point... - rm "${ED}"/usr/$(get_libdir)/R/COPYING || die -} - -pkg_postinst() { - if use java; then - einfo "Re-initializing java paths for ${P}" - R CMD javareconf - fi -} diff --git a/dev-lang/R/R-4.3.2-r1.ebuild b/dev-lang/R/R-4.3.2-r1.ebuild new file mode 100644 index 000000000000..4d5f89e84df5 --- /dev/null +++ b/dev-lang/R/R-4.3.2-r1.ebuild @@ -0,0 +1,245 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 autotools flag-o-matic fortran-2 toolchain-funcs + +# latest git commit for R bash completion: +# https://github.com/deepayan/rcompletion +BCPV=78d6830e28ea90a046da79a9b4f70c39594bb6d6 + +DESCRIPTION="Language and environment for statistical computing and graphics" +HOMEPAGE="https://www.r-project.org/" +SRC_URI=" + https://cran.r-project.org/src/base/R-4/${P}.tar.gz + https://raw.githubusercontent.com/deepayan/rcompletion/${BCPV}/bash_completion/R -> ${PN}-${BCPV}.bash_completion" + +LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~loong ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" +IUSE="cairo doc icu java jpeg lapack lto minimal nls openmp perl png prefix profile readline test tiff tk X" + +REQUIRED_USE=" + png? ( || ( cairo X ) ) + jpeg? ( || ( cairo X ) ) + tiff? ( || ( cairo X ) )" +RESTRICT=" + minimal? ( test ) + !test? ( test )" + +# At least one package installation in the test suite requires TeX, +# and will fail without it (bug #718056). +DEPEND=" + app-arch/bzip2 + app-arch/xz-utils + app-text/ghostscript-gpl + dev-libs/libpcre2:= + >=dev-libs/tre-0.8.0_p20210321[approx] + net-misc/curl + virtual/blas + sys-libs/zlib[minizip] + sys-apps/coreutils + cairo? ( + x11-libs/cairo:=[X=] + x11-libs/pango:= + ) + icu? ( dev-libs/icu:= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + kernel_linux? ( net-libs/libtirpc ) + lapack? ( virtual/lapack ) + perl? ( dev-lang/perl ) + png? ( media-libs/libpng:= ) + readline? ( sys-libs/readline:= ) + tiff? ( media-libs/tiff:= ) + tk? ( dev-lang/tk:= ) + X? ( + x11-libs/libXmu + x11-libs/libXt + )" +RDEPEND="${DEPEND} + java? ( >=virtual/jre-1.8:* )" +BDEPEND=" + virtual/pkgconfig + doc? ( + virtual/latex-base + dev-texlive/texlive-fontsrecommended + ) + test? ( virtual/latex-base )" + +PATCHES=( + "${FILESDIR}"/R-4.3.0-parallel.patch + "${FILESDIR}"/R-4.3.0-no-LDFLAGS-in-libR-pkg-config.patch + "${FILESDIR}"/R-4.3.0-no-gzip-doc.patch +) + +# false positive, the linking step fails (as it should) +QA_CONFIG_IMPL_DECL_SKIP=( iconvlist ) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + if [[ ${MERGE_TYPE} != binary ]] && use openmp; then + tc-check-openmp + FORTRAN_NEED_OPENMP=1 + fi + + fortran-2_pkg_setup + + # avoid using existing R installation + unset R_HOME +} + +src_prepare() { + default + + # fix packages.html for doc (gentoo bug #205103) + sed -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ + -i src/library/tools/R/Rd.R || die + + # fix Rscript path when installed (gentoo bug #221061) + sed -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${EPREFIX}/usr/$(get_libdir)/${PN}\"':" \ + -i src/unix/Makefile.in || die "sed unix Makefile failed" + + # fix HTML links to manual (gentoo bug #273957) + sed -e 's:\.\./manual/:manual/:g' \ + -i $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" + + use lapack && + export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" + + use perl && + export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" + + # don't search /usr/local + sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die + + # Fix for Darwin (macOS) + if use prefix; then + if [[ ${CHOST} == *-darwin* ]] ; then + sed -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ + -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ + -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ + -e "/SHLIB_EXT/s/\.so/.dylib/" \ + -i configure.ac || die + # sort of "undo" 2.14.1-rmath-shared.patch + sed -e "s:-Wl,-soname=libRmath.so:-install_name ${EPREFIX}/usr/$(get_libdir)/libRmath.dylib:" \ + -i src/nmath/standalone/Makefile.in || die + else + append-ldflags -Wl,-rpath="${EPREFIX}/usr/$(get_libdir)/R/lib" + fi + fi + + AT_M4DIR=m4 eautoreconf +} + +src_configure() { + filter-ldflags -Wl,-Bdirect -Bdirect + + econf \ + --enable-byte-compiled-packages \ + --enable-R-shlib \ + --disable-R-framework \ + --disable-R-static-lib \ + --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ + rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ + --with-system-tre \ + --without-aqua \ + $(use_enable java) \ + $(use_enable lto lto R) \ + $(use_enable nls) \ + $(use_enable openmp) \ + $(use_enable profile R-profiling) \ + $(use_enable profile memory-profiling) \ + $(use_with cairo) \ + $(use_with icu ICU) \ + $(use_with jpeg jpeglib) \ + $(use_with lapack) \ + $(use_with !minimal recommended-packages) \ + $(use_with png libpng) \ + $(use_with readline) \ + $(use_with tiff libtiff) \ + $(use_with tk tcltk) \ + $(use_with tk tk-config "${ESYSROOT}"/usr/$(get_libdir)/tkConfig.sh) \ + $(use_with tk tcl-config "${ESYSROOT}"/usr/$(get_libdir)/tclConfig.sh) \ + $(use_with X x) +} + +src_compile() { + export VARTEXFONTS="${T}"/fonts + emake AR="$(tc-getAR)" + emake -C src/nmath/standalone shared AR="$(tc-getAR)" + use doc && emake info pdf +} + +src_install() { + default + emake -C src/nmath/standalone DESTDIR="${D}" install + + if use doc; then + emake DESTDIR="${D}" install-info install-pdf + dosym ../manual /usr/share/doc/${PF}/html/manual + fi + + newenvd - 99R <<-_EOF_ + LDPATH="${EPREFIX}/usr/$(get_libdir)/${PN}/lib" + R_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}" + _EOF_ + + newbashcomp "${DISTDIR}"/${PN}-${BCPV}.bash_completion ${PN} + # The buildsystem has a different understanding of install_names than + # we require. Since it builds modules like shared objects (wrong), many + # objects (all modules) get an incorrect install_name. Fixing the build + # system here is not really trivial. + if [[ ${CHOST} == *-darwin* ]] ; then + local mod + pushd "${ED}"/usr/$(get_libdir)/R >/dev/null || die + for mod in $(find . -name "*.dylib") ; do + mod=${mod#./} + install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/R/${mod}" "${mod}" + done + popd >/dev/null || die + fi + + # Users are encouraged to access some of the the R documentation + # interactively, through functions like "contributors()" that + # tries to open the "AUTHORS" file. Other files can be accessed + # by name with RShowDoc(), and the documentation for e.g. license() + # and RShowDoc() suggests a few of these names. Here we try to + # collect as many names as possible that a user might actually + # try to view through R, because if we don't decompress them, + # then R doesn't know what to do with 'em. Bug #556706. + local INTERACTIVE_DOCS=( + AUTHORS + COPYING + FAQ + NEWS + THANKS + ) + + # Other data sources that are shipped as "documentation," but which + # need to be accessible via their original unmolested filenames. + local INTERACTIVE_DATA=( + BioC_mirrors.csv + CRAN_mirrors.csv + KEYWORDS.db + NEWS.rds + ) + + local f NOCOMPRESS_DOCS=( "${INTERACTIVE_DOCS[@]}" "${INTERACTIVE_DATA[@]}" ) + for f in "${NOCOMPRESS_DOCS[@]}"; do + docompress -x /usr/share/doc/${PF}/${f} + done + + # Finally, an extra copy of this started showing up at some point... + rm "${ED}"/usr/$(get_libdir)/R/COPYING || die +} + +pkg_postinst() { + if use java; then + einfo "Re-initializing java paths for ${P}" + R CMD javareconf + fi +} diff --git a/dev-lang/R/R-4.3.2.ebuild b/dev-lang/R/R-4.3.2.ebuild deleted file mode 100644 index fed391461734..000000000000 --- a/dev-lang/R/R-4.3.2.ebuild +++ /dev/null @@ -1,248 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit bash-completion-r1 autotools flag-o-matic fortran-2 toolchain-funcs - -# latest git commit for R bash completion: -# https://github.com/deepayan/rcompletion -BCPV=78d6830e28ea90a046da79a9b4f70c39594bb6d6 - -DESCRIPTION="Language and environment for statistical computing and graphics" -HOMEPAGE="https://www.r-project.org/" -SRC_URI=" - https://cran.r-project.org/src/base/R-4/${P}.tar.gz - https://raw.githubusercontent.com/deepayan/rcompletion/${BCPV}/bash_completion/R -> ${PN}-${BCPV}.bash_completion" - -LICENSE="|| ( GPL-2 GPL-3 ) LGPL-2.1" -SLOT="0" -KEYWORDS="~amd64 ~arm64 ~hppa ~ia64 ~loong ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos" -IUSE="cairo doc icu java jpeg lapack lto minimal nls openmp perl png prefix profile readline test tiff tk X" - -REQUIRED_USE=" - png? ( || ( cairo X ) ) - jpeg? ( || ( cairo X ) ) - tiff? ( || ( cairo X ) )" -RESTRICT=" - minimal? ( test ) - !test? ( test )" - -# At least one package installation in the test suite requires TeX, -# and will fail without it (bug #718056). -DEPEND=" - app-arch/bzip2 - app-arch/xz-utils - app-text/ghostscript-gpl - dev-libs/libpcre2:= - >=dev-libs/tre-0.8.0_p20210321[approx] - net-misc/curl - virtual/blas - sys-libs/zlib[minizip] - || ( - sys-apps/coreutils - app-misc/realpath - ) - cairo? ( - x11-libs/cairo:=[X=] - x11-libs/pango:= - ) - icu? ( dev-libs/icu:= ) - jpeg? ( media-libs/libjpeg-turbo:= ) - kernel_linux? ( net-libs/libtirpc ) - lapack? ( virtual/lapack ) - perl? ( dev-lang/perl ) - png? ( media-libs/libpng:= ) - readline? ( sys-libs/readline:= ) - tiff? ( media-libs/tiff:= ) - tk? ( dev-lang/tk:= ) - X? ( - x11-libs/libXmu - x11-libs/libXt - )" -RDEPEND="${DEPEND} - java? ( >=virtual/jre-1.8:* )" -BDEPEND=" - virtual/pkgconfig - doc? ( - virtual/latex-base - dev-texlive/texlive-fontsrecommended - ) - test? ( virtual/latex-base )" - -PATCHES=( - "${FILESDIR}"/R-4.3.0-parallel.patch - "${FILESDIR}"/R-4.3.0-no-LDFLAGS-in-libR-pkg-config.patch - "${FILESDIR}"/R-4.3.0-no-gzip-doc.patch -) - -# false positive, the linking step fails (as it should) -QA_CONFIG_IMPL_DECL_SKIP=( iconvlist ) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] && use openmp; then - tc-check-openmp - FORTRAN_NEED_OPENMP=1 - fi - - fortran-2_pkg_setup - - # avoid using existing R installation - unset R_HOME -} - -src_prepare() { - default - - # fix packages.html for doc (gentoo bug #205103) - sed -e "s:../../../library:../../../../$(get_libdir)/R/library:g" \ - -i src/library/tools/R/Rd.R || die - - # fix Rscript path when installed (gentoo bug #221061) - sed -e "s:-DR_HOME='\"\$(rhome)\"':-DR_HOME='\"${EPREFIX}/usr/$(get_libdir)/${PN}\"':" \ - -i src/unix/Makefile.in || die "sed unix Makefile failed" - - # fix HTML links to manual (gentoo bug #273957) - sed -e 's:\.\./manual/:manual/:g' \ - -i $(grep -Flr ../manual/ doc) || die "sed for HTML links failed" - - use lapack && - export LAPACK_LIBS="$($(tc-getPKG_CONFIG) --libs lapack)" - - use perl && - export PERL5LIB="${S}/share/perl:${PERL5LIB:+:}${PERL5LIB}" - - # don't search /usr/local - sed -i -e '/FLAGS=.*\/local\//c\: # removed by ebuild' configure.ac || die - - # Fix for Darwin (macOS) - if use prefix; then - if [[ ${CHOST} == *-darwin* ]] ; then - sed -e 's:-install_name libR.dylib:-install_name ${libdir}/R/lib/libR.dylib:' \ - -e 's:-install_name libRlapack.dylib:-install_name ${libdir}/R/lib/libRlapack.dylib:' \ - -e 's:-install_name libRblas.dylib:-install_name ${libdir}/R/lib/libRblas.dylib:' \ - -e "/SHLIB_EXT/s/\.so/.dylib/" \ - -i configure.ac || die - # sort of "undo" 2.14.1-rmath-shared.patch - sed -e "s:-Wl,-soname=libRmath.so:-install_name ${EPREFIX}/usr/$(get_libdir)/libRmath.dylib:" \ - -i src/nmath/standalone/Makefile.in || die - else - append-ldflags -Wl,-rpath="${EPREFIX}/usr/$(get_libdir)/R/lib" - fi - fi - - AT_M4DIR=m4 eautoreconf -} - -src_configure() { - filter-ldflags -Wl,-Bdirect -Bdirect - - econf \ - --enable-byte-compiled-packages \ - --enable-R-shlib \ - --disable-R-framework \ - --disable-R-static-lib \ - --with-blas="$($(tc-getPKG_CONFIG) --libs blas)" \ - rdocdir="${EPREFIX}/usr/share/doc/${PF}" \ - --with-system-tre \ - --without-aqua \ - $(use_enable java) \ - $(use_enable lto lto R) \ - $(use_enable nls) \ - $(use_enable openmp) \ - $(use_enable profile R-profiling) \ - $(use_enable profile memory-profiling) \ - $(use_with cairo) \ - $(use_with icu ICU) \ - $(use_with jpeg jpeglib) \ - $(use_with lapack) \ - $(use_with !minimal recommended-packages) \ - $(use_with png libpng) \ - $(use_with readline) \ - $(use_with tiff libtiff) \ - $(use_with tk tcltk) \ - $(use_with tk tk-config "${ESYSROOT}"/usr/$(get_libdir)/tkConfig.sh) \ - $(use_with tk tcl-config "${ESYSROOT}"/usr/$(get_libdir)/tclConfig.sh) \ - $(use_with X x) -} - -src_compile() { - export VARTEXFONTS="${T}"/fonts - emake AR="$(tc-getAR)" - emake -C src/nmath/standalone shared AR="$(tc-getAR)" - use doc && emake info pdf -} - -src_install() { - default - emake -C src/nmath/standalone DESTDIR="${D}" install - - if use doc; then - emake DESTDIR="${D}" install-info install-pdf - dosym ../manual /usr/share/doc/${PF}/html/manual - fi - - newenvd - 99R <<-_EOF_ - LDPATH="${EPREFIX}/usr/$(get_libdir)/${PN}/lib" - R_HOME="${EPREFIX}/usr/$(get_libdir)/${PN}" - _EOF_ - - newbashcomp "${DISTDIR}"/${PN}-${BCPV}.bash_completion ${PN} - # The buildsystem has a different understanding of install_names than - # we require. Since it builds modules like shared objects (wrong), many - # objects (all modules) get an incorrect install_name. Fixing the build - # system here is not really trivial. - if [[ ${CHOST} == *-darwin* ]] ; then - local mod - pushd "${ED}"/usr/$(get_libdir)/R >/dev/null || die - for mod in $(find . -name "*.dylib") ; do - mod=${mod#./} - install_name_tool -id "${EPREFIX}/usr/$(get_libdir)/R/${mod}" "${mod}" - done - popd >/dev/null || die - fi - - # Users are encouraged to access some of the the R documentation - # interactively, through functions like "contributors()" that - # tries to open the "AUTHORS" file. Other files can be accessed - # by name with RShowDoc(), and the documentation for e.g. license() - # and RShowDoc() suggests a few of these names. Here we try to - # collect as many names as possible that a user might actually - # try to view through R, because if we don't decompress them, - # then R doesn't know what to do with 'em. Bug #556706. - local INTERACTIVE_DOCS=( - AUTHORS - COPYING - FAQ - NEWS - THANKS - ) - - # Other data sources that are shipped as "documentation," but which - # need to be accessible via their original unmolested filenames. - local INTERACTIVE_DATA=( - BioC_mirrors.csv - CRAN_mirrors.csv - KEYWORDS.db - NEWS.rds - ) - - local f NOCOMPRESS_DOCS=( "${INTERACTIVE_DOCS[@]}" "${INTERACTIVE_DATA[@]}" ) - for f in "${NOCOMPRESS_DOCS[@]}"; do - docompress -x /usr/share/doc/${PF}/${f} - done - - # Finally, an extra copy of this started showing up at some point... - rm "${ED}"/usr/$(get_libdir)/R/COPYING || die -} - -pkg_postinst() { - if use java; then - einfo "Re-initializing java paths for ${P}" - R CMD javareconf - fi -} diff --git a/dev-lang/ferite/Manifest b/dev-lang/ferite/Manifest deleted file mode 100644 index 10c3fcd81c0b..000000000000 --- a/dev-lang/ferite/Manifest +++ /dev/null @@ -1,6 +0,0 @@ -AUX ferite-1.1.17-bool.patch 1935 BLAKE2B dc926f716e3abfefe48d74e638a35451ec856188e71d76797252b65d2024047543a25739c6bef81133bec0533c480b651dcea845db5dcd76eea70d1c49ed58d3 SHA512 6366d3388185541506c1adc8387c0f6fe91851c257cd4cc2d03afcae3c867e03718885f6e142812c66f429dff493b7e033288b47af54af1eede2a589ba0c1064 -AUX ferite-pcre.patch 1356 BLAKE2B f2c3669e33d12dce6e00d22b5884f0770021eb77297997bd94e777b114f8ae24f7ed23b10d7c877a7bffb61fe9ff0e126bd717ea8c8a8fb8186da89178ba4926 SHA512 e867c4b2fc993963bdf17d992d3dd007f636c85b0c13388480cec0f0ff70b6596274c19cd46b0e3ee11064f607b381f7f76888819ef6fb3bdd0804b07b5087fc -DIST ferite-1.1.17-slibtool.patch.bz2 3945 BLAKE2B d816ccab7a58049e9c6048a5c5f4e162d8444a7c998eab1eadc76eb212cb08f9b0b68a96a2cc9003fbf923ab0bf8a7c25bae4d6ef08cdd21de054cd2ed910aa3 SHA512 772ad133016cef5c20905dd7ef589ced3d5bba7a327ddcca0db4ab8b7e59eb9a2d521372ed18c16594f418ec9c7195b711ac5d4dba6bc900b74e93d14f9ce36b -DIST ferite-1.1.17.tar.gz 2174774 BLAKE2B 5e55ed4101bc5a9c031afef0d9bfcafdc0c498c4ddc712eb17e3059ebd55b925e6b0343113853b946a31a428e5f71c17a2365e629447bb504453b6a7d61358d8 SHA512 475983b865fba492661e59b7470b7e46889f29ed8ba829b112354963fafcbed6ab4d4677579337c1c4ed730c6fe02897743f56edae335ceda6277da975d1098f -EBUILD ferite-1.1.17-r1.ebuild 2084 BLAKE2B 0cadea8ef190aaaf7c8e15cc49f6ed6ccaf80b4b222a89a2cb7e2899e6e471bd1a2dc5b121901eeeab85549744ae51a434be152b9710d1a231c1f54349fdc27f SHA512 9aea56058b201ae6b52df812d315bcdf270cff033583cad4d3f42042749942f782952ec1ec473a6029ff44bb2d0427486895dbb33425f33caf6ad3c6989b0f9b -MISC metadata.xml 244 BLAKE2B 4146befb71c0f035d1acc9fe9cb22e3deaf7782796ab5415edef9d0f5e0013874d86d031608fe8fa07703f1dfd21298b680f85a9690f6215fc2a94a1398a628a SHA512 8d88b437b56d453a6f0a096daf5de80d43fd96a7d0d1b422c475cffc2ed86202a2bc5b8730c43734456da9dfc9db7a5cfb34518c12a1b18f7eccd4a31d688ccc diff --git a/dev-lang/ferite/ferite-1.1.17-r1.ebuild b/dev-lang/ferite/ferite-1.1.17-r1.ebuild deleted file mode 100644 index f3c2cbc6de5e..000000000000 --- a/dev-lang/ferite/ferite-1.1.17-r1.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools - -DESCRIPTION="A clean, lightweight, object oriented scripting language" -HOMEPAGE="http://ferite.sourceforge.net/" -SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" -SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-slibtool.patch.bz2" - -LICENSE="BSD" -SLOT="1" -KEYWORDS="~alpha amd64 ppc -sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" - -RDEPEND=" - dev-libs/boehm-gc[threads] - >=dev-libs/libpcre-5:3 - dev-libs/libxml2:2 -" -DEPEND="${RDEPEND}" - -PATCHES=( - "${FILESDIR}"/${PN}-pcre.patch - "${FILESDIR}"/${P}-bool.patch - "${WORKDIR}"/${P}-slibtool.patch -) - -src_prepare() { - default - - # use docsdir variable, install to DESTDIR - sed \ - -e '/docsdir =/!s:$(prefix)/share/doc/ferite:$(DESTDIR)$(docsdir):' \ - -i docs/Makefile.am || die - - # Install docs to /usr/share/doc/${PF}, not .../${PN} - sed \ - -e "s:doc/ferite:doc/${PF}:" \ - -i Makefile.am \ - docs/Makefile.am \ - scripts/test/Makefile.am \ - scripts/test/rmi/Makefile.am || die - - # Make sure we install in $(get_libdir), not lib - sed -i -e "s|\$prefix/lib|\$prefix/$(get_libdir)|g" configure.ac || die - - # We copy feritedoc to ${T} in src_install, then patch it in-situ - # note that this doesn't actually work right, currently - it still tries - # to pull from / instead of ${D}, and I can't figure out how to fix that - sed -i -e 's:$(prefix)/bin/:${T}/:' docs/Makefile.am || die - - eautoreconf -} - -src_configure() { - econf --libdir="${EPREFIX}/usr/$(get_libdir)" --disable-static -} - -src_install() { - cp tools/doc/feritedoc "${T}" || die - sed -i -e '/^prefix/s:prefix:${T}:g' "${T}"/feritedoc || die - sed -i -e '/^$prefix/s:$prefix/bin/ferite:'"${ED}"'/usr/bin/ferite:' "${T}"/feritedoc || die - sed -i -e 's:$library_path $library_path:${S}/tools/doc ${S}/tools/doc:' "${T}"/feritedoc || die - - export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}${LD_LIBRARY_PATH:+:}${ED}/usr/lib" - emake DESTDIR="${D}" LIBDIR="${EPREFIX}"/usr/$(get_libdir) install - - find "${D}" -name '*.la' -delete || die -} diff --git a/dev-lang/ferite/files/ferite-1.1.17-bool.patch b/dev-lang/ferite/files/ferite-1.1.17-bool.patch deleted file mode 100644 index ef92a2b41517..000000000000 --- a/dev-lang/ferite/files/ferite-1.1.17-bool.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 797ba18741a03c6a1ccd8070b5f2629bcd6cf87f -Author: orbea -Date: Tue May 11 07:13:35 2021 -0700 - - modules/xml: Rename the bool variable. - - This fixes compilation failures under some environments. - - xml_XML_TreeParser.c: In function ‘ferite_xml_XML_TreeParser_keepBlanks_b’: - xml_XML_TreeParser.c:10:9: error: two or more data types in declaration specifiers - 10 | char bool = FE_FALSE; - | ^~~~ - xml_XML_TreeParser.c:10:14: error: expected identifier or ‘(’ before ‘=’ token - - Signed-off-by: orbea - -diff --git a/modules/xml/xml_XML_TreeParser.c b/modules/xml/xml_XML_TreeParser.c -index 886a901..25a2105 100644 ---- a/modules/xml/xml_XML_TreeParser.c -+++ b/modules/xml/xml_XML_TreeParser.c -@@ -7,17 +7,17 @@ - - FE_NATIVE_FUNCTION( ferite_xml_XML_TreeParser_keepBlanks_b ) - { -- char bool = FE_FALSE; -+ char fe_bool = FE_FALSE; - FeriteObject *self = FE_CONTAINER_TO_OBJECT; - FeriteObject *super = FE_CONTAINER_TO_OBJECT; - -- ferite_get_parameters( params, 1, &bool ); -+ ferite_get_parameters( params, 1, &fe_bool ); - - { /* Main function body. */ - #line 417 "xml.fec" - - XMLDoc *tree = (XMLDoc*)self->odata; -- tree->keepBlanks = bool; -+ tree->keepBlanks = fe_bool; - - } - FE_RETURN_VOID; -@@ -151,17 +151,17 @@ FE_NATIVE_FUNCTION( ferite_xml_XML_TreeParser_saveToFile_s ) - - FE_NATIVE_FUNCTION( ferite_xml_XML_TreeParser_validation_b ) - { -- char bool = FE_FALSE; -+ char fe_bool = FE_FALSE; - FeriteObject *self = FE_CONTAINER_TO_OBJECT; - FeriteObject *super = FE_CONTAINER_TO_OBJECT; - -- ferite_get_parameters( params, 1, &bool ); -+ ferite_get_parameters( params, 1, &fe_bool ); - - { /* Main function body. */ - #line 403 "xml.fec" - - -- if( bool == FE_FALSE ) -+ if( fe_bool == FE_FALSE ) - xmlDoValidityCheckingDefaultValue = 0; - else - xmlDoValidityCheckingDefaultValue = 1; diff --git a/dev-lang/ferite/files/ferite-pcre.patch b/dev-lang/ferite/files/ferite-pcre.patch deleted file mode 100644 index 1e2e19ce4811..000000000000 --- a/dev-lang/ferite/files/ferite-pcre.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -pruN ferite-1.1.17.orig/modules/regexp/regexp.fec ferite-1.1.17/modules/regexp/regexp.fec ---- ferite-1.1.17.orig/modules/regexp/regexp.fec 2009-07-15 19:21:34.000000000 +0200 -+++ ferite-1.1.17/modules/regexp/regexp.fec 2013-02-01 02:33:40.438849775 +0100 -@@ -427,7 +427,8 @@ class Regexp { - } - - /* get the number of subparts */ -- captured_str_cnt = pcre_info( rgx->compiled_re, NULL, NULL ) + 1; -+ pcre_fullinfo( rgx->compiled_re, NULL, PCRE_INFO_CAPTURECOUNT, &captured_str_cnt ); -+ captured_str_cnt++; - /* create an offset array */ - size_offsets = (int)(captured_str_cnt * 3); - offsets = (int *)fmalloc(size_offsets * sizeof(int)); -diff -pruN ferite-1.1.17.orig/modules/regexp/regexp_Regexp.c ferite-1.1.17/modules/regexp/regexp_Regexp.c ---- ferite-1.1.17.orig/modules/regexp/regexp_Regexp.c 2009-07-17 08:59:19.000000000 +0200 -+++ ferite-1.1.17/modules/regexp/regexp_Regexp.c 2013-02-01 02:33:16.647875845 +0100 -@@ -88,7 +88,8 @@ FE_NATIVE_FUNCTION( ferite_regexp_Regexp - } - - /* get the number of subparts */ -- captured_str_cnt = pcre_info( rgx->compiled_re, NULL, NULL ) + 1; -+ pcre_fullinfo( rgx->compiled_re, NULL, PCRE_INFO_CAPTURECOUNT, &captured_str_cnt ); -+ captured_str_cnt++; - /* create an offset array */ - size_offsets = (int)(captured_str_cnt * 3); - offsets = (int *)fmalloc(size_offsets * sizeof(int)); diff --git a/dev-lang/ferite/metadata.xml b/dev-lang/ferite/metadata.xml deleted file mode 100644 index f66fab297c15..000000000000 --- a/dev-lang/ferite/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - ferite - - diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index 81eac40d889d..0b9ebab979c8 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -21,6 +21,7 @@ DIST python-gentoo-patches-3.10.13.tar.xz 13996 BLAKE2B 0123a18c8c39397ac03b1be1 DIST python-gentoo-patches-3.11.6.tar.xz 7568 BLAKE2B 7ff4b1f4f2549b2df46aeff875c20fb6de40778d88071c1aa054bf2e3494f718dbb39a42d9cb791c1e0db1a025ae8eb13b24f7bd712f08b3c00ca638100bb732 SHA512 57c655d9d0df4284e167f3ed9b4e0d1c4554e5fe08605c64db253c104ac2e64da2439c8500fe60460d2545683467f8689d7fee68214cfa414584d71434735473 DIST python-gentoo-patches-3.11.7.tar.xz 7560 BLAKE2B fa836508cc85c3fd5e9bfb61d4d214b0d23923e4d29b87d30afa7a5a4d8fa23d5abb8ae8e1d571e301318ce14707a5538228bf1f2bcc8dfdfd5788e4676c0c0c SHA512 e3f94281689f500b41cd707b2881613c0c6a1be3dad2fbe1fc64330b249bce173d50cdc6e2f656daa7920b06795b7a555c1b08982b889b48955356e66416836c DIST python-gentoo-patches-3.12.1.tar.xz 5152 BLAKE2B bd1470dbdb4a3336f499534131d9f67329d6a1f6378b61592f6168d9a2500d9d9d65a77167065f80c38745fa1464a2073eac3e4bc0e5c096eefbbc8971a077b6 SHA512 2e608940f2f8c3a4be2699365acd1967d887c7895e71b173327dfe91ea41b6fb10a83d0845b2caa8b59884aa73ea73e49535d7805dc8b50f63b7fcdda67b438a +DIST python-gentoo-patches-3.12.1_p1.tar.xz 6064 BLAKE2B 8238f10c1ebdd82fec4ca70cdc9ea59711dab06c687315044580c853502189eb8c00f14213eea507921659c9c6a6c14b4f432b6762fef5e10a62b866c27ac943 SHA512 44e6859a312cb5cc080ac5a2bc9c649fa5cd9a137b85c3e8dc312e0a0027cdc917e150c5c3ab4b4bd9836b6918b3e53a12e0d4406bdca124ede10d63e69e8ca2 DIST python-gentoo-patches-3.13.0a2.tar.xz 4360 BLAKE2B 1c55b3ae512a2c04bab00fb3a47faabd2726b6cd7a082d27b4c354ff334c22cb7296d9bf4ca531fc91e2d31be8b1f385de82081980272bca9163bc208b54fea4 SHA512 c7bd4dc3f8f698d65ffe54f46432903e3591687d997b1f6b7429bead461652d9de9dea3515cb0063a662d14ddcf7916199779d61edf888cc24c01d89f1fafbee DIST python-gentoo-patches-3.8.18.tar.xz 32424 BLAKE2B 2e0b6e1c8e3df666934ba283214ca1577b01140dea00513f6420b0255650002e4bc4cb142076620227cd430bc2547123fd392883285886e543ef72ca466f8ea6 SHA512 b005f1054b726fc8c82a50b006309de64fb7858fe5c22cc7b160687d059a7859ec9388706b74a0e6c1f42301bed071dc639eb8cfae0d7c5eef2f565c63cc2d29 DIST python-gentoo-patches-3.9.18.tar.xz 25044 BLAKE2B 1d9ace5c5a0f1c15bc23595cc51d64b4c2b416552cdaaa960c3e34360aba3e7029a06e2a077212c68fa7aee4fd20f649a3b0926bd4ebb10e529e8350ab051e63 SHA512 bc180c3346dfae60a7db221d114146ee83409bc42092171eb05c83de528bf5f0e5654d1441f40ba839d0a98e866a5b43452fb7a72047c837497620a12097b8f5 @@ -29,6 +30,7 @@ EBUILD python-3.10.13.ebuild 14207 BLAKE2B 7d9f57dd82465e6d000b834e1b3a100551855 EBUILD python-3.11.6.ebuild 15105 BLAKE2B 4833298b9756cb8191488cd8a34eb9a8fb4817a1ccb4c95a1b02edd945d1cb27aada17c853d6927f943087c972771e8e2cf61d0e66ab9def73e12cf771958bfb SHA512 61fd0faf278d437f66da968253e1ccb161345b8bc2352a673605c6a708a0f41903adde5493d30c1bc2cf1baa88eb2a8d3865b67189a0c7808c0174f9e5eca6f7 EBUILD python-3.11.7.ebuild 15107 BLAKE2B 81b6b2507fdc9461493861e0ead1aa7a41579f37486db9b0028264a27e8ca1e4b21ee7819350231dfc6a3b7542573159b8e67b143cf8d0021ef30c840155ade8 SHA512 d440a1e0fdfabecf65c97662225389165ccb656f56d6ac401c1d426642ea0febcd462f0f8fd078bb8866d9eb266970211b7be54c45b8f3c6cb1bb67abe9b4dd0 EBUILD python-3.12.1.ebuild 14665 BLAKE2B 6f5d08274a07a921ff299191f193011b7b3af0166ee7ecaa85375cac97e7222588235ec0df89816e0de4a9843d037d7d935ca21097e2cf65171e2610dd64c62f SHA512 1388c9d7cf9391e127bee6c753bed1c722972d3e9c12b8dd4d423b7047e416c3364a6253e00d4e9073a7c5bca31a036ff43812a9a34db1ae26a53e0096d91932 +EBUILD python-3.12.1_p1.ebuild 14673 BLAKE2B 8cea6ceaa4a2b8ebe30d6d85f494e47a6b31ffcb89b1952daa7f26cb58f7bdf71d9f4eade3cac6a3c1d35990c1758d0e821ae5676cfbab38ba330c053cd6e761 SHA512 765454cde068682f67a8935c153240db5c0d456a49108a9f498d9ed958366725e8925878cd2563ae18ff8058c08c8c1c1294862ec0b58e5f7cf16629ebdadb53 EBUILD python-3.13.0_alpha2.ebuild 14501 BLAKE2B fc95f903c0197dc5fad73bb41e3d29907942d5f4aa51f1f17ab7704ce94631abd77cc947277460b5d3b4c4ea55fc7cf0310c30c4ef947fc6cd7601ab5988930e SHA512 06bdce88e16edfed6d25feed6653335baf65fe5cb6aa8ffc5896a2c7851ca589b20ea588ce4e1fc04c4fc7571b3d188ed35231b9ca7e8933616e5f3347cc60b2 EBUILD python-3.8.18.ebuild 12357 BLAKE2B 98c47b83e4b18bc3ed23ccf8a10a310b9d71c51c08cd8ada6050a5db32c820a059b3e3b96e07be09daa949fc93c5e12c94c3a2b0f6bede56f4a33714688e7cb2 SHA512 7ddc4c2cec2641098906583ffe1e7bb9f324ccf4e7fc348e9d291f1b9032655a992681ff464a01dce565bd3249cf44595a6ca617b21f2958205ed6473418c7ab EBUILD python-3.9.18.ebuild 13858 BLAKE2B 935bd948e44404cf68d62a93c77998570dba12778bdac9932a04005c0ec741a48581a51d82879ddfd0042a0fcf22ebbd407eec175ff846525e8ccaa7c16d1317 SHA512 f2f9b54437a20a3565261c9dcf5f5c0b9a09f0bcf69713ef42b665cfbfde59f53d8a3a920193e2888e33db1383a8acbceaca4d01f100cea86cd685f2c3511e8e diff --git a/dev-lang/python/python-3.12.1_p1.ebuild b/dev-lang/python/python-3.12.1_p1.ebuild new file mode 100644 index 000000000000..df871bbf0ed2 --- /dev/null +++ b/dev-lang/python/python-3.12.1_p1.ebuild @@ -0,0 +1,532 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="8" +WANT_LIBTOOL="none" + +inherit autotools check-reqs flag-o-matic multiprocessing pax-utils +inherit python-utils-r1 toolchain-funcs verify-sig + +MY_PV=${PV/_rc/rc} +MY_P="Python-${MY_PV%_p*}" +PYVER=$(ver_cut 1-2) +PATCHSET="python-gentoo-patches-${MY_PV}" + +DESCRIPTION="An interpreted, interactive, object-oriented programming language" +HOMEPAGE=" + https://www.python.org/ + https://github.com/python/cpython/ +" +SRC_URI=" + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz + https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz + verify-sig? ( + https://www.python.org/ftp/python/${PV%%_*}/${MY_P}.tar.xz.asc + ) +" +S="${WORKDIR}/${MY_P}" + +LICENSE="PSF-2" +SLOT="${PYVER}" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE=" + bluetooth build debug +ensurepip examples gdbm libedit lto + +ncurses pgo +readline +sqlite +ssl test tk valgrind +" +RESTRICT="!test? ( test )" + +# Do not add a dependency on dev-lang/python to this ebuild. +# If you need to apply a patch which requires python for bootstrapping, please +# run the bootstrap code on your dev box and include the results in the +# patchset. See bug 447752. + +RDEPEND=" + app-arch/bzip2:= + app-arch/xz-utils:= + app-crypt/libb2 + >=dev-libs/expat-2.1:= + dev-libs/libffi:= + dev-python/gentoo-common + >=sys-libs/zlib-1.1.3:= + virtual/libcrypt:= + virtual/libintl + ensurepip? ( dev-python/ensurepip-pip ) + gdbm? ( sys-libs/gdbm:=[berkdb] ) + kernel_linux? ( sys-apps/util-linux:= ) + ncurses? ( >=sys-libs/ncurses-5.2:= ) + readline? ( + !libedit? ( >=sys-libs/readline-4.1:= ) + libedit? ( dev-libs/libedit:= ) + ) + sqlite? ( >=dev-db/sqlite-3.3.8:3= ) + ssl? ( >=dev-libs/openssl-1.1.1:= ) + tk? ( + >=dev-lang/tcl-8.0:= + >=dev-lang/tk-8.0:= + dev-tcltk/blt:= + dev-tcltk/tix + ) +" +# bluetooth requires headers from bluez +DEPEND=" + ${RDEPEND} + bluetooth? ( net-wireless/bluez ) + test? ( + app-arch/xz-utils[extra-filters(+)] + dev-python/ensurepip-pip + dev-python/ensurepip-setuptools + dev-python/ensurepip-wheel + ) + valgrind? ( dev-util/valgrind ) +" +# autoconf-archive needed to eautoreconf +BDEPEND=" + sys-devel/autoconf-archive + app-alternatives/awk + virtual/pkgconfig + verify-sig? ( >=sec-keys/openpgp-keys-python-20221025 ) +" +RDEPEND+=" + !build? ( app-misc/mime-types ) +" +if [[ ${PV} != *_alpha* ]]; then + RDEPEND+=" + dev-lang/python-exec[python_targets_python${PYVER/./_}(-)] + " +fi + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/python.org.asc + +# large file tests involve a 2.5G file being copied (duplicated) +CHECKREQS_DISK_BUILD=5500M + +QA_PKGCONFIG_VERSION=${PYVER} +# false positives -- functions specific to *BSD +QA_CONFIG_IMPL_DECL_SKIP=( chflags lchflags ) + +pkg_pretend() { + use test && check-reqs_pkg_pretend +} + +pkg_setup() { + use test && check-reqs_pkg_setup +} + +src_unpack() { + if use verify-sig; then + verify-sig_verify_detached "${DISTDIR}"/${MY_P}.tar.xz{,.asc} + fi + default +} + +src_prepare() { + # Ensure that internal copies of expat and libffi are not used. + # TODO: Makefile has annoying deps on expat headers + #rm -r Modules/expat || die + + local PATCHES=( + "${WORKDIR}/${PATCHSET}" + ) + + default + + # force the correct number of jobs + # https://bugs.gentoo.org/737660 + sed -i -e "s:-j0:-j$(makeopts_jobs):" Makefile.pre.in || die + + eautoreconf +} + +build_cbuild_python() { + # Hack to workaround get_libdir not being able to handle CBUILD, bug #794181 + local cbuild_libdir=$(unset PKG_CONFIG_PATH ; $(tc-getBUILD_PKG_CONFIG) --keep-system-libs --libs-only-L libffi) + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + # + # -fno-lto to avoid bug #700012 (not like it matters for mini-CBUILD Python anyway) + local -x CFLAGS_NODIST="${BUILD_CFLAGS} -fno-lto" + local -x LDFLAGS_NODIST=${BUILD_LDFLAGS} + local -x CFLAGS= LDFLAGS= + local -x BUILD_CFLAGS="${CFLAGS_NODIST}" + local -x BUILD_LDFLAGS=${LDFLAGS_NODIST} + + # We need to build our own Python on CBUILD first, and feed it in. + # bug #847910 + local myeconfargs_cbuild=( + "${myeconfargs[@]}" + + --prefix="${BROOT}"/usr + --libdir="${cbuild_libdir:2}" + + # Avoid needing to load the right libpython.so. + --disable-shared + + # As minimal as possible for the mini CBUILD Python + # we build just for cross to satisfy --with-build-python. + --without-lto + --without-readline + --disable-optimizations + ) + + mkdir "${WORKDIR}"/${P}-${CBUILD} || die + pushd "${WORKDIR}"/${P}-${CBUILD} &> /dev/null || die + + # Avoid as many dependencies as possible for the cross build. + mkdir Modules || die + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + _dbm _gdbm + _sqlite3 + _hashlib _ssl + _curses _curses_panel + readline + _tkinter + pyexpat + zlib + # We disabled these for CBUILD because Python's setup.py can't handle locating + # libdir correctly for cross. This should be rechecked for the pure Makefile approach, + # and uncommented if needed. + #_ctypes _crypt + EOF + + ECONF_SOURCE="${S}" econf_build "${myeconfargs_cbuild[@]}" + + # Unfortunately, we do have to build this immediately, and + # not in src_compile, because CHOST configure for Python + # will check the existence of the --with-build-python value + # immediately. + emake + popd &> /dev/null || die +} + +src_configure() { + local disable + # disable automagic bluetooth headers detection + if ! use bluetooth; then + local -x ac_cv_header_bluetooth_bluetooth_h=no + fi + + append-flags -fwrapv + filter-flags -malign-double + + # https://bugs.gentoo.org/700012 + if is-flagq -flto || is-flagq '-flto=*'; then + append-cflags $(test-flags-CC -ffat-lto-objects) + fi + + # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile. + # PKG_CONFIG needed for cross. + tc-export CXX PKG_CONFIG + + local dbmliborder= + if use gdbm; then + dbmliborder+="${dbmliborder:+:}gdbm" + fi + + if use pgo; then + local profile_task_flags=( + -m test + "-j$(makeopts_jobs)" + --pgo-extended + -u-network + + # We use a timeout because of how often we've had hang issues + # here. It also matches the default upstream PROFILE_TASK. + --timeout 1200 + + -x test_gdb + -x test_dtrace + + # All of these seem to occasionally hang for PGO inconsistently + # They'll even hang here but be fine in src_test sometimes. + # bug #828535 (and related: bug #788022) + -x test_asyncio + -x test_httpservers + -x test_logging + -x test_multiprocessing_fork + -x test_socket + -x test_xmlrpc + + # Hangs (actually runs indefinitely executing itself w/ many cpython builds) + # bug #900429 + -x test_tools + ) + + if has_version "app-arch/rpm" ; then + # Avoid sandbox failure (attempts to write to /var/lib/rpm) + profile_task_flags+=( + -x test_distutils + ) + fi + local -x PROFILE_TASK="${profile_task_flags[*]}" + fi + + local myeconfargs=( + # glibc-2.30 removes it; since we can't cleanly force-rebuild + # Python on glibc upgrade, remove it proactively to give + # a chance for users rebuilding python before glibc + ac_cv_header_stropts_h=no + + --enable-shared + --without-static-libpython + --enable-ipv6 + --infodir='${prefix}/share/info' + --mandir='${prefix}/share/man' + --with-computed-gotos + --with-dbmliborder="${dbmliborder}" + --with-libc= + --enable-loadable-sqlite-extensions + --without-ensurepip + --with-system-expat + --with-platlibdir=lib + --with-pkg-config=yes + --with-wheel-pkg-dir="${EPREFIX}"/usr/lib/python/ensurepip + + $(use_with debug assertions) + $(use_with lto) + $(use_enable pgo optimizations) + $(use_with readline readline "$(usex libedit editline readline)") + $(use_with valgrind) + ) + # Force-disable modules we don't want built. + # See Modules/Setup for docs on how this works. Setup.local contains our local deviations. + cat > Modules/Setup.local <<-EOF || die + *disabled* + nis + $(usev !gdbm '_gdbm _dbm') + $(usev !sqlite '_sqlite3') + $(usev !ssl '_hashlib _ssl') + $(usev !ncurses '_curses _curses_panel') + $(usev !readline 'readline') + $(usev !tk '_tkinter') + EOF + + # disable implicit optimization/debugging flags + local -x OPT= + + if tc-is-cross-compiler ; then + build_cbuild_python + myeconfargs+=( + # Point the imminent CHOST build to the Python we just + # built for CBUILD. + --with-build-python="${WORKDIR}"/${P}-${CBUILD}/python + ) + fi + + # pass system CFLAGS & LDFLAGS as _NODIST, otherwise they'll get + # propagated to sysconfig for built extensions + local -x CFLAGS_NODIST=${CFLAGS} + local -x LDFLAGS_NODIST=${LDFLAGS} + local -x CFLAGS= LDFLAGS= + + # Fix implicit declarations on cross and prefix builds. Bug #674070. + if use ncurses; then + append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw + fi + + econf "${myeconfargs[@]}" + + if grep -q "#define POSIX_SEMAPHORES_NOT_ENABLED 1" pyconfig.h; then + eerror "configure has detected that the sem_open function is broken." + eerror "Please ensure that /dev/shm is mounted as a tmpfs with mode 1777." + die "Broken sem_open function (bug 496328)" + fi + + # install epython.py as part of stdlib + echo "EPYTHON='python${PYVER}'" > Lib/epython.py || die +} + +src_compile() { + # Ensure sed works as expected + # https://bugs.gentoo.org/594768 + local -x LC_ALL=C + export PYTHONSTRICTEXTENSIONBUILD=1 + + # Save PYTHONDONTWRITEBYTECODE so that 'has_version' doesn't + # end up writing bytecode & violating sandbox. + # bug #831897 + local -x _PYTHONDONTWRITEBYTECODE=${PYTHONDONTWRITEBYTECODE} + + if use pgo ; then + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + + addpredict "/usr/lib/python${PYVER}/site-packages" + fi + + # also need to clear the flags explicitly here or they end up + # in _sysconfigdata* + emake CPPFLAGS= CFLAGS= LDFLAGS= + + # Restore saved value from above. + local -x PYTHONDONTWRITEBYTECODE=${_PYTHONDONTWRITEBYTECODE} + + # Work around bug 329499. See also bug 413751 and 457194. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E python + else + pax-mark m python + fi +} + +src_test() { + # Tests will not work when cross compiling. + if tc-is-cross-compiler; then + elog "Disabling tests due to crosscompiling." + return + fi + + # this just happens to skip test_support.test_freeze that is broken + # without bundled expat + # TODO: get a proper skip for it upstream + local -x LOGNAME=buildbot + + local test_opts=( + -u-network + -j "$(makeopts_jobs)" + + # fails + -x test_gdb + ) + + if use sparc ; then + # bug #788022 + test_opts+=( + -x test_multiprocessing_fork + -x test_multiprocessing_forkserver + ) + fi + + # workaround docutils breaking tests + cat > Lib/docutils.py <<-EOF || die + raise ImportError("Thou shalt not import!") + EOF + + # bug 660358 + local -x COLUMNS=80 + local -x PYTHONDONTWRITEBYTECODE= + # workaround https://bugs.gentoo.org/775416 + addwrite "/usr/lib/python${PYVER}/site-packages" + + nonfatal emake test EXTRATESTOPTS="${test_opts[*]}" \ + CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty + local ret=${?} + + rm Lib/docutils.py || die + + [[ ${ret} -eq 0 ]] || die "emake test failed" +} + +src_install() { + local libdir=${ED}/usr/lib/python${PYVER} + + # the Makefile rules are broken + # https://github.com/python/cpython/issues/100221 + mkdir -p "${libdir}"/lib-dynload || die + + # -j1 hack for now for bug #843458 + emake -j1 DESTDIR="${D}" altinstall + + # Fix collisions between different slots of Python. + rm "${ED}/usr/$(get_libdir)/libpython3.so" || die + + # Cheap hack to get version with ABIFLAGS + local abiver=$(cd "${ED}/usr/include"; echo python*) + if [[ ${abiver} != python${PYVER} ]]; then + # Replace python3.X with a symlink to python3.Xm + rm "${ED}/usr/bin/python${PYVER}" || die + dosym "${abiver}" "/usr/bin/python${PYVER}" + # Create python3.X-config symlink + dosym "${abiver}-config" "/usr/bin/python${PYVER}-config" + # Create python-3.5m.pc symlink + dosym "python-${PYVER}.pc" "/usr/$(get_libdir)/pkgconfig/${abiver/${PYVER}/-${PYVER}}.pc" + fi + + # python seems to get rebuilt in src_install (bug 569908) + # Work around it for now. + if has_version dev-libs/libffi[pax-kernel]; then + pax-mark E "${ED}/usr/bin/${abiver}" + else + pax-mark m "${ED}/usr/bin/${abiver}" + fi + + rm -r "${libdir}"/ensurepip/_bundled || die + if ! use ensurepip; then + rm -r "${libdir}"/ensurepip || die + fi + if ! use sqlite; then + rm -r "${libdir}/"sqlite3 || die + fi + if ! use tk; then + rm -r "${ED}/usr/bin/idle${PYVER}" || die + rm -r "${libdir}/"{idlelib,tkinter,test/test_tk*} || die + fi + + ln -s ../python/EXTERNALLY-MANAGED "${libdir}/EXTERNALLY-MANAGED" || die + + dodoc Misc/{ACKS,HISTORY,NEWS} + + if use examples; then + docinto examples + find Tools -name __pycache__ -exec rm -fr {} + || die + dodoc -r Tools + fi + insinto /usr/share/gdb/auto-load/usr/$(get_libdir) #443510 + local libname=$( + printf 'e:\n\t@echo $(INSTSONAME)\ninclude Makefile\n' | + emake --no-print-directory -s -f - 2>/dev/null + ) + newins Tools/gdb/libpython.py "${libname}"-gdb.py + + newconfd "${FILESDIR}/pydoc.conf" pydoc-${PYVER} + newinitd "${FILESDIR}/pydoc.init" pydoc-${PYVER} + sed \ + -e "s:@PYDOC_PORT_VARIABLE@:PYDOC${PYVER/./_}_PORT:" \ + -e "s:@PYDOC@:pydoc${PYVER}:" \ + -i "${ED}/etc/conf.d/pydoc-${PYVER}" \ + "${ED}/etc/init.d/pydoc-${PYVER}" || die "sed failed" + + # python-exec wrapping support + local pymajor=${PYVER%.*} + local EPYTHON=python${PYVER} + local scriptdir=${D}$(python_get_scriptdir) + mkdir -p "${scriptdir}" || die + # python and pythonX + ln -s "../../../bin/${abiver}" "${scriptdir}/python${pymajor}" || die + ln -s "python${pymajor}" "${scriptdir}/python" || die + # python-config and pythonX-config + # note: we need to create a wrapper rather than symlinking it due + # to some random dirname(argv[0]) magic performed by python-config + cat > "${scriptdir}/python${pymajor}-config" <<-EOF || die + #!/bin/sh + exec "${abiver}-config" "\${@}" + EOF + chmod +x "${scriptdir}/python${pymajor}-config" || die + ln -s "python${pymajor}-config" "${scriptdir}/python-config" || die + # 2to3, pydoc + ln -s "../../../bin/2to3-${PYVER}" "${scriptdir}/2to3" || die + ln -s "../../../bin/pydoc${PYVER}" "${scriptdir}/pydoc" || die + # idle + if use tk; then + ln -s "../../../bin/idle${PYVER}" "${scriptdir}/idle" || die + fi +} + +pkg_postinst() { + local v + for v in ${REPLACING_VERSIONS}; do + if ver_test "${v}" -lt 3.11.0_beta4-r2; then + ewarn "Python 3.11.0b4 has changed its module ABI. The .pyc files" + ewarn "installed previously are no longer valid and will be regenerated" + ewarn "(or ignored) on the next import. This may cause sandbox failures" + ewarn "when installing some packages and checksum mismatches when removing" + ewarn "old versions. To actively prevent this, rebuild all packages" + ewarn "installing Python 3.11 modules, e.g. using:" + ewarn + ewarn " emerge -1v /usr/lib/python3.11/site-packages" + fi + done +} diff --git a/dev-lang/spidermonkey/Manifest b/dev-lang/spidermonkey/Manifest index e35b571381a4..8189135cca2d 100644 --- a/dev-lang/spidermonkey/Manifest +++ b/dev-lang/spidermonkey/Manifest @@ -9,19 +9,15 @@ DIST firefox-102esr-patches-10j.tar.xz 21744 BLAKE2B 326f206dfcd5b6ea2f06f5f5375 DIST firefox-102esr-patches-13.tar.xz 22212 BLAKE2B 02e9edd071a99abbac02faa11ffce061d5d12d8baa9ce54b51d6bfdbf8160022a1565902d65ca30fe51b5670e509fa921b11a460989933cbb797fcd59d635125 SHA512 8b8b0f3789978447a1293fd9acb5c2db3d7e9f724357a0d762b54f7e34d28f11655997ffeafccfe8001a01dd595848d257f90cb983462c405d434cc794216520 DIST firefox-115.3.1esr.source.tar.xz 515785920 BLAKE2B ad5ec24361e94d9185eed210f681c50159f5be3e6046d79200b5e2586107f1ed98ebe7935f1e266afadd570fc1aa6a1aec81fe3b7fb86efb48afe82514f26c68 SHA512 65cb6fc46bba03eed742bd67f8e36b63b19f2ad7b85d2f503595704a4e88f554758a1e66ba548c8efe97a76322fb2514db72e6ff4bb2992d1aaa86edc3af85f1 DIST firefox-115esr-patches-06.tar.xz 14944 BLAKE2B e60a8a32f8c5e6d897e8c3e13d291ffab651937505ce258f031e7e75560c9eb89fce4a22c61872d639e6e1d40244e94761baa1660c2d3d02584ad4cc4778946f SHA512 d9ea1a063df287fa651042c90529b1a1b5ebd5a28735c44b5527cc7dd29678c2f8a9204f007db328371ed6af9613ca7215464c00df5e685c3af4296a22139257 -DIST firefox-78.15.0esr.source.tar.xz 330819568 BLAKE2B dc8785613c2f72c55d484642c89c2545765a9efbd609bc7c2cf57b4a3a06a2ea22e6959e42b5b8af867db782e8b2097a67dec858796b744e47008a8e575e2316 SHA512 ac3de735b246ce4f0e1619cd2664321ffa374240ce6843e785d79a350dc30c967996bbcc5e3b301cb3d822ca981cbea116758fc4122f1738d75ddfd1165b6378 -DIST firefox-78esr-patches-19.tar.xz 88424 BLAKE2B fdc7bf8f28b3e799551a70f1cec7a695f52c4712f3b28733648fcd7dac5a599613f4c3d2cfa169266dc62b65619b7f28c0e06d32317adb8ec0056ca79c87e9f6 SHA512 3c81dadc9bf74207c4e361605127ef6141d77700c5c54f1f9cd5ad3be13df9f73c6eec2f51d779558e4bdad1e7395c6aa8943a93415bd1786d461042bc03550a DIST firefox-91.13.0esr.source.tar.xz 380053584 BLAKE2B 75d0daa512b3a2d41974a0169778be9ef19a100de2bd382add9831860ca93976585a41e760b6a7ec753268fb78f9f61049780fa7961834248bc8157cfdcc2827 SHA512 38b4cc52de21e76d6061e6ba175e1cbfd888a16070aa951f5a44283f2db9d7e94f2504621f0da78feac6e71491a6d0e7038f63dd0ae112dcad700eb02e9aa516 DIST firefox-91esr-patches-10j.tar.xz 18320 BLAKE2B ec882411eed19bafab8676e3d79f4ae43947bb97c44571c1497bb93a44fcfec99de06ebacbdf8c4944dcecdf949e4f684908d7ce4226cdcec60241e62e75810e SHA512 670a14d852bb74b9074c3fef9310650f71ce1c56314109c49aea02a7a69acc836af60a8beab11da53e21b10a8e6da341fcfa18b68a1dfd33b26978dd63758e9c DIST spidermonkey-102-patches-04j.tar.xz 3996 BLAKE2B 468697521adacc5d647b04f2228fc4c1a8131bc2523142f2d57f32e321303581ae8f793baae48966ecb27f48bf77eb084f7b2df1c1a0c667e9ed59ae93d786e6 SHA512 201bb779e2373cc00dfadc29a62b593030dfc12eec076114b92927f29f476d3fafdd056112dd1bb1f19f82827f4fe1252141e3998bec719e4196737a316d4ef2 DIST spidermonkey-102-patches-05j.tar.xz 4596 BLAKE2B 215b770bbdf17973d7b3fd1df6cee9647459d2b02b0be5bdb289d457e5dbdb06ceac7a3082fc2f5836e991a4ac4486d73330b0276a466b5c528dab226a27829c SHA512 d2b8e32dac87d60a00fd93479dc34d8adab4feec24a38591cebeb4cf271aa2fd964f4dc26e67ebfb127a47bc8f684d50b32b2cff18ed5286701a04a289058185 DIST spidermonkey-115-patches-01.tar.xz 3992 BLAKE2B e97d0cb3edfb885119226f54f22485ed4e8220cd904d3356b87ccc013403f976a042171cf9ca7250bcf3fe3d90996dd80b4104e7d614f95d7bcfcb0e710a8a78 SHA512 cece96f172a09dd0e29f7c2fdbf650cde405b276bc4083956365289f1da4b1d078ccbde760da6553888ddb3c53cf9aded52051db556a2c4ec492fed01dcb03a1 -DIST spidermonkey-78-patches-05.tar.xz 4480 BLAKE2B aaba61d1ee72496ef02463333a9fa9cc18b873953d1875411667fec73cd9f485224371cde65be0506fa3853368a0885cba3a109e052a3408e7d0ff22a8066e22 SHA512 c2522081bcc58d6f517320c344747403e1525c887b2f7ad6d23df76a954cdac1660d7fe5e2ae7a040763d6a6e0e6eaf127c8bffbd9d3ac0283d19d0d6f1f5edd DIST spidermonkey-91-patches-05j.tar.xz 5964 BLAKE2B 13f09f77bf16bc61b03c9488b7ab521552e179bfb123e390d0883ea4a3f55e87e0a5d5a246f31a9ddc35f212ea84655fe9d4fc364bbdddc1aac421eb28dbe41f SHA512 4d9cf21b712234ff6a18554a010badd756028e6147597040c423f7e27d260e3984938f956d9bc3572557163a144345ed28d9f88e459fc959aaa6fd448f6deab7 EBUILD spidermonkey-102.10.0.ebuild 11886 BLAKE2B a106d7b51434e53a5a2b81b1842fe4e5df8b2b37c29996bb540cc4dcd45e240c77951ef5e317ed16676a8b5a6b5136770f3f7e1208b1ddeb73f552b19e6f13b5 SHA512 62865742417c4d70d89d5c65b100897927f98511632e7387771342635419e244a22173ce45d2ae6348489b8e2f1e49b1fa80368a83669f6e804dc47807f857d9 EBUILD spidermonkey-102.15.0.ebuild 15180 BLAKE2B cdb5f70f6ddb1c938ad38df7be639154b3b1875da7c6f19ff2e0cc1129852935ac6c4b081a16884f3a7110db7dc87cbb834dbfd4e059e81492d096673a00e584 SHA512 3eceee325bb3578a2a74b0b0690e8cc7d9759b4f93175c1624f9da85614a3b96f4a0b1f21d46998dae4ae387dca39a712d67d03d53fc4d1667b5c77d7ec6dfc1 EBUILD spidermonkey-102.6.0.ebuild 11283 BLAKE2B da31d238e722a0bad508850769b1cfae02e1f4303e59e6311725fee0c274f9d7a6a20ecd6e76ea347c05118a228f1486206f66b655a29b406177df26c49b93d9 SHA512 f616a8ec7b6c9d68c676a716cfc0da73f6b3e63fd657ba998c21de73cabdc5ef53913a7e13c800ba2e703adc584b29d7b9a5f640ed137c2a095ce352cd9bcf12 EBUILD spidermonkey-115.3.1.ebuild 12934 BLAKE2B dba7bb7ee8d91ccc459b60cb883f872b81f235825b2eb25a7f956ddedd6d6dfcc0b11f22813b900b789c880be89dcc16ab1a0f8c6031b05648be6d71bd3ea683 SHA512 a092b0e731f5a1b81b7029f4bd1e8b18bb943049e68b5fdd1b0186fd0c6e5e231c00abda886095c657420306498f33f1e6cf39409b55f8de353bf8b1e108d3cc -EBUILD spidermonkey-78.15.0.ebuild 13101 BLAKE2B ce591b28ecc7cecb8a4eac26f385674ae577d79a29e7abaf90be3278bde23ff803186a6fa65e5da6cbad548584122521da71785b6c064edb52c5c52b291a46f2 SHA512 9084f7290eba68bf5f750a1902290fabfe886fde39716c67a1eacd62010ce61ab7090539a08f9de62ce9f637d33d66761b1edf6245ad2176306c364211377b9c EBUILD spidermonkey-91.13.0-r1.ebuild 15281 BLAKE2B 889e1a07b8e9c42b55d0863c34fdae803ea391d8069e076f5957355e2a0f397bdbcb4c6b98cdf53187fae4394afb2ab636771964216df002bb6bce11a588a3d3 SHA512 b2690dc8f98fc02a6ab5ba929e96b528afd94a92101cb1982f3170da25886f3d52064e94804890c3595ceca46b54b086e678ed59a8195a5c53406e23fdbb2ccb MISC metadata.xml 513 BLAKE2B 58ffd474492f03c16bda95e48511fb6281e03067d2ad77e994f8117345ecece5da9591dccedafe75b037d98e06851a3759caa4b993adc2910dbb76e1c01a7fa3 SHA512 1ee02bff37e2dabbd72b7f719463b12299270c7960b4cf5a92afab17c954c50e6acb826d4a91db4954fb4a7b0f8669988f2cdb5be991df90e3a605c6b35fdbfb diff --git a/dev-lang/spidermonkey/spidermonkey-78.15.0.ebuild b/dev-lang/spidermonkey/spidermonkey-78.15.0.ebuild deleted file mode 100644 index f0f90659ab87..000000000000 --- a/dev-lang/spidermonkey/spidermonkey-78.15.0.ebuild +++ /dev/null @@ -1,459 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" - -# Patch version -FIREFOX_PATCHSET="firefox-78esr-patches-19.tar.xz" -SPIDERMONKEY_PATCHSET="spidermonkey-78-patches-05.tar.xz" - -LLVM_MAX_SLOT=14 - -PYTHON_COMPAT=( python3_{9..11} ) -PYTHON_REQ_USE="ssl" - -WANT_AUTOCONF="2.1" - -inherit autotools check-reqs flag-o-matic llvm multiprocessing prefix python-any-r1 toolchain-funcs - -MY_PN="mozjs" -MY_PV="${PV/_pre*}" # Handle Gentoo pre-releases - -MY_MAJOR=$(ver_cut 1) - -MOZ_ESR=yes - -MOZ_PV=${PV} -MOZ_PV_SUFFIX= -if [[ ${PV} =~ (_(alpha|beta|rc).*)$ ]] ; then - MOZ_PV_SUFFIX=${BASH_REMATCH[1]} - - # Convert the ebuild version to the upstream Mozilla version - MOZ_PV="${MOZ_PV/_alpha/a}" # Handle alpha for SRC_URI - MOZ_PV="${MOZ_PV/_beta/b}" # Handle beta for SRC_URI - MOZ_PV="${MOZ_PV%%_rc*}" # Handle rc for SRC_URI -fi - -if [[ -n ${MOZ_ESR} ]] ; then - # ESR releases have slightly different version numbers - MOZ_PV="${MOZ_PV}esr" -fi - -MOZ_PN="firefox" -MOZ_P="${MOZ_PN}-${MOZ_PV}" -MOZ_PV_DISTFILES="${MOZ_PV}${MOZ_PV_SUFFIX}" -MOZ_P_DISTFILES="${MOZ_PN}-${MOZ_PV_DISTFILES}" - -MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/releases/${MOZ_PV}" - -if [[ ${PV} == *_rc* ]] ; then - MOZ_SRC_BASE_URI="https://archive.mozilla.org/pub/${MOZ_PN}/candidates/${MOZ_PV}-candidates/build${PV##*_rc}" -fi - -PATCH_URIS=( - https://dev.gentoo.org/~{whissi,polynomial-c,axs}/mozilla/patchsets/${FIREFOX_PATCHSET} - https://dev.gentoo.org/~juippis/mozilla/patchsets/${SPIDERMONKEY_PATCHSET} -) - -SRC_URI="${MOZ_SRC_BASE_URI}/source/${MOZ_P}.source.tar.xz -> ${MOZ_P_DISTFILES}.source.tar.xz - ${PATCH_URIS[@]}" - -DESCRIPTION="SpiderMonkey is Mozilla's JavaScript engine written in C and C++" -HOMEPAGE="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey" - -KEYWORDS="amd64 arm arm64 ~mips ~ppc ppc64 ~riscv ~sparc x86" - -SLOT="78" -LICENSE="MPL-2.0" -IUSE="clang cpu_flags_arm_neon debug +jit lto test" - -RESTRICT="!test? ( test )" - -BDEPEND="${PYTHON_DEPS} - >=virtual/rust-1.41.0 - virtual/pkgconfig - || ( - ( - sys-devel/llvm:14 - clang? ( - sys-devel/clang:14 - lto? ( =sys-devel/lld-14* ) - ) - ) - ( - sys-devel/llvm:13 - clang? ( - sys-devel/clang:13 - lto? ( =sys-devel/lld-13* ) - ) - ) - ( - sys-devel/llvm:12 - clang? ( - sys-devel/clang:12 - lto? ( =sys-devel/lld-12* ) - ) - ) - ) - lto? ( - !clang? ( sys-devel/binutils[gold] ) - )" - -CDEPEND=">=dev-libs/icu-67.1:= - >=dev-libs/nspr-4.25 - sys-libs/readline:0= - >=sys-libs/zlib-1.2.3" - -DEPEND="${CDEPEND} - test? ( - $(python_gen_any_dep 'dev-python/six[${PYTHON_USEDEP}]') - )" - -RDEPEND="${CDEPEND}" - -S="${WORKDIR}/firefox-${MY_PV}/js/src" - -llvm_check_deps() { - if ! has_version -b "sys-devel/llvm:${LLVM_SLOT}" ; then - einfo "sys-devel/llvm:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use clang ; then - if ! has_version -b "sys-devel/clang:${LLVM_SLOT}" ; then - einfo "sys-devel/clang:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - - if use lto ; then - if ! has_version -b "sys-devel/lld:${LLVM_SLOT}" ; then - einfo "sys-devel/lld:${LLVM_SLOT} is missing! Cannot use LLVM slot ${LLVM_SLOT} ..." >&2 - return 1 - fi - fi - fi - - einfo "Using LLVM slot ${LLVM_SLOT} to build" >&2 -} - -python_check_deps() { - if use test ; then - has_version "dev-python/six[${PYTHON_USEDEP}]" - fi -} - -pkg_pretend() { - if use test ; then - CHECKREQS_DISK_BUILD="7600M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - check-reqs_pkg_pretend -} - -pkg_setup() { - if [[ ${MERGE_TYPE} != binary ]] ; then - if use test ; then - CHECKREQS_DISK_BUILD="7600M" - else - CHECKREQS_DISK_BUILD="6400M" - fi - - check-reqs_pkg_setup - - llvm_pkg_setup - - if use clang && use lto ; then - local version_lld=$(ld.lld --version 2>/dev/null | awk '{ print $2 }') - [[ -n ${version_lld} ]] && version_lld=$(ver_cut 1 "${version_lld}") - [[ -z ${version_lld} ]] && die "Failed to read ld.lld version!" - - # temp fix for https://bugs.gentoo.org/768543 - # we can assume that rust 1.{49,50}.0 always uses llvm 11 - local version_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'release:' | awk '{ print $2 }') - [[ -n ${version_rust} ]] && version_rust=$(ver_cut 1-2 "${version_rust}") - [[ -z ${version_rust} ]] && die "Failed to read version from rustc!" - - if ver_test "${version_rust}" -ge "1.49" && ver_test "${version_rust}" -le "1.50" ; then - local version_llvm_rust="11" - else - local version_llvm_rust=$(rustc -Vv 2>/dev/null | grep -F -- 'LLVM version:' | awk '{ print $3 }') - [[ -n ${version_llvm_rust} ]] && version_llvm_rust=$(ver_cut 1 "${version_llvm_rust}") - [[ -z ${version_llvm_rust} ]] && die "Failed to read used LLVM version from rustc!" - fi - - if ver_test "${version_lld}" -ne "${version_llvm_rust}" ; then - eerror "Rust is using LLVM version ${version_llvm_rust} but ld.lld version belongs to LLVM version ${version_lld}." - eerror "You will be unable to link ${CATEGORY}/${PN}. To proceed you have the following options:" - eerror " - Manually switch rust version using 'eselect rust' to match used LLVM version" - eerror " - Switch to dev-lang/rust[system-llvm] which will guarantee matching version" - eerror " - Build ${CATEGORY}/${PN} without USE=lto" - die "LLVM version used by Rust (${version_llvm_rust}) does not match with ld.lld version (${version_lld})!" - fi - fi - - python-any-r1_pkg_setup - - # Build system is using /proc/self/oom_score_adj, bug #604394 - addpredict /proc/self/oom_score_adj - - if ! mountpoint -q /dev/shm ; then - # If /dev/shm is not available, configure is known to fail with - # a traceback report referencing /usr/lib/pythonN.N/multiprocessing/synchronize.py - ewarn "/dev/shm is not mounted -- expect build failures!" - fi - - # Ensure we use C locale when building, bug #746215 - export LC_ALL=C - fi -} - -src_prepare() { - pushd ../.. &>/dev/null || die - - use lto && rm -v "${WORKDIR}"/firefox-patches/*-LTO-Only-enable-LTO-*.patch - - eapply "${WORKDIR}"/firefox-patches - eapply "${WORKDIR}"/spidermonkey-patches - - default - - # Make LTO respect MAKEOPTS - sed -i \ - -e "s/multiprocessing.cpu_count()/$(makeopts_jobs)/" \ - build/moz.configure/lto-pgo.configure \ - || die "sed failed to set num_cores" - - # sed-in toolchain prefix - sed -i \ - -e "s/objdump/${CHOST}-objdump/" \ - python/mozbuild/mozbuild/configure/check_debug_ranges.py \ - || die "sed failed to set toolchain prefix" - - # use prefix shell in wrapper linker scripts, bug #789660 - hprefixify "${S}"/../../build/cargo-{,host-}linker - - einfo "Removing pre-built binaries ..." - find third_party -type f \( -name '*.so' -o -name '*.o' \) -print -delete || die - - MOZJS_BUILDDIR="${WORKDIR}/build" - mkdir "${MOZJS_BUILDDIR}" || die - - popd &>/dev/null || die - eautoconf -} - -src_configure() { - # Show flags set at the beginning - einfo "Current CFLAGS: ${CFLAGS}" - einfo "Current CXXFLAGS: ${CXXFLAGS}" - einfo "Current LDFLAGS: ${LDFLAGS}" - einfo "Current RUSTFLAGS: ${RUSTFLAGS}" - - local have_switched_compiler= - if use clang; then - # Force clang - einfo "Enforcing the use of clang due to USE=clang ..." - if tc-is-gcc; then - have_switched_compiler=yes - fi - AR=llvm-ar - CC=${CHOST}-clang - CXX=${CHOST}-clang++ - NM=llvm-nm - RANLIB=llvm-ranlib - elif ! use clang && ! tc-is-gcc ; then - # Force gcc - have_switched_compiler=yes - einfo "Enforcing the use of gcc due to USE=-clang ..." - AR=gcc-ar - CC=${CHOST}-gcc - CXX=${CHOST}-g++ - NM=gcc-nm - RANLIB=gcc-ranlib - fi - - if [[ -n "${have_switched_compiler}" ]] ; then - # Because we switched active compiler we have to ensure - # that no unsupported flags are set - strip-unsupported-flags - fi - - # Ensure we use correct toolchain - export HOST_CC="$(tc-getBUILD_CC)" - export HOST_CXX="$(tc-getBUILD_CXX)" - tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG - - cd "${MOZJS_BUILDDIR}" || die - - # ../python/mach/mach/mixin/process.py fails to detect SHELL - export SHELL="${EPREFIX}/bin/bash" - - local -a myeconfargs=( - --host="${CBUILD:-${CHOST}}" - --target="${CHOST}" - --disable-jemalloc - --disable-optimize - --disable-strip - --enable-readline - --enable-shared-js - --with-intl-api - --with-system-icu - --with-system-nspr - --with-system-zlib - --with-toolchain-prefix="${CHOST}-" - $(use_enable debug) - $(use_enable jit) - $(use_enable test tests) - ) - - # Breaks with newer (1.63+) Rust. - # if ! use x86 && [[ ${CHOST} != armv*h* ]] ; then - # myeconfargs+=( --enable-rust-simd ) - #fi - myeconfargs+=( --disable-rust-simd ) - - # Modifications to better support ARM, bug 717344 - if use cpu_flags_arm_neon ; then - myeconfargs+=( --with-fpu=neon ) - - if ! tc-is-clang ; then - # thumb options aren't supported when using clang, bug 666966 - myeconfargs+=( --with-thumb=yes ) - myeconfargs+=( --with-thumb-interwork=no ) - fi - fi - - # Tell build system that we want to use LTO - if use lto ; then - myeconfargs+=( --enable-lto ) - - if use clang ; then - myeconfargs+=( --enable-linker=lld ) - else - myeconfargs+=( --enable-linker=gold ) - fi - fi - - # LTO flag was handled via configure - filter-lto - - if tc-is-gcc ; then - if ver_test $(gcc-fullversion) -ge 10 ; then - einfo "Forcing -fno-tree-loop-vectorize to workaround GCC bug, see bug 758446 ..." - append-cxxflags -fno-tree-loop-vectorize - fi - fi - - # Show flags we will use - einfo "Build CFLAGS: ${CFLAGS}" - einfo "Build CXXFLAGS: ${CXXFLAGS}" - einfo "Build LDFLAGS: ${LDFLAGS}" - einfo "Build RUSTFLAGS: ${RUSTFLAGS}" - - # Forcing system-icu allows us to skip patching bundled ICU for PPC - # and other minor arches - ECONF_SOURCE="${S}" \ - econf \ - ${myeconfargs[@]} \ - XARGS="${EPREFIX}/usr/bin/xargs" -} - -src_compile() { - cd "${MOZJS_BUILDDIR}" || die - default -} - -src_test() { - if "${MOZJS_BUILDDIR}/js/src/js" -e 'print("Hello world!")'; then - einfo "Smoke-test successful, continuing with full test suite" - else - die "Smoke-test failed: did interpreter initialization fail?" - fi - - local -a KNOWN_TESTFAILURES - KNOWN_TESTFAILURES+=( non262/Date/reset-time-zone-cache-same-offset.js ) - KNOWN_TESTFAILURES+=( non262/Date/time-zone-path.js ) - KNOWN_TESTFAILURES+=( non262/Date/time-zones-historic.js ) - KNOWN_TESTFAILURES+=( non262/Date/time-zones-imported.js ) - KNOWN_TESTFAILURES+=( non262/Date/toString-localized.js ) - KNOWN_TESTFAILURES+=( non262/Date/toString-localized-posix.js ) - KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleString_timeZone.js ) - KNOWN_TESTFAILURES+=( non262/Intl/Date/toLocaleDateString_timeZone.js ) - KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format.js ) - KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/format_timeZone.js ) - KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/timeZone_backward_links.js ) - KNOWN_TESTFAILURES+=( non262/Intl/DateTimeFormat/tz-environment-variable.js ) - KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/language.js ) - KNOWN_TESTFAILURES+=( non262/Intl/DisplayNames/region.js ) - KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags.js ) - KNOWN_TESTFAILURES+=( non262/Intl/Locale/likely-subtags-generated.js ) - KNOWN_TESTFAILURES+=( test262/intl402/Locale/prototype/minimize/removing-likely-subtags-first-adds-likely-subtags.js ) - - if use x86 ; then - KNOWN_TESTFAILURES+=( non262/Date/timeclip.js ) - KNOWN_TESTFAILURES+=( test262/built-ins/Number/prototype/toPrecision/return-values.js ) - KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.1.js ) - KNOWN_TESTFAILURES+=( test262/language/types/number/S8.5_A2.2.js ) - fi - - if [[ $(tc-endian) == "big" ]] ; then - KNOWN_TESTFAILURES+=( test262/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-other-type.js ) - fi - - echo "" > "${T}"/known_failures.list || die - - local KNOWN_TESTFAILURE - for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do - echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list - done - - PYTHONPATH="${S}/tests/lib" \ - ${PYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js \ - || die - - if use jit ; then - KNOWN_TESTFAILURES=() - - echo "" > "${T}"/known_failures.list || die - - for KNOWN_TESTFAILURE in ${KNOWN_TESTFAILURES[@]} ; do - echo "${KNOWN_TESTFAILURE}" >> "${T}"/known_failures.list - done - - PYTHONPATH="${S}/tests/lib" \ - ${PYTHON} \ - "${S}"/tests/jstests.py -d -s -t 1800 --wpt=disabled --no-progress \ - --exclude-file="${T}"/known_failures.list \ - "${MOZJS_BUILDDIR}"/js/src/js basic \ - || die - fi -} - -src_install() { - cd "${MOZJS_BUILDDIR}" || die - default - - # fix soname links - pushd "${ED}"/usr/$(get_libdir) &>/dev/null || die - mv lib${MY_PN}-${MY_MAJOR}.so lib${MY_PN}-${MY_MAJOR}.so.0.0.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0.0.0 lib${MY_PN}-${MY_MAJOR}.so.0 || die - ln -s lib${MY_PN}-${MY_MAJOR}.so.0 lib${MY_PN}-${MY_MAJOR}.so || die - popd &>/dev/null || die - - # remove unneeded files - rm \ - "${ED}"/usr/bin/js${MY_MAJOR}-config \ - "${ED}"/usr/$(get_libdir)/libjs_static.ajs \ - || die - - # fix permissions - chmod -x \ - "${ED}"/usr/$(get_libdir)/pkgconfig/*.pc \ - "${ED}"/usr/include/mozjs-${MY_MAJOR}/js-config.h \ - || die -} -- cgit v1.2.3