34 files changed, 93 insertions(+), 3230 deletions(-)
R app-crypt/tomb/{tomb-2.6.ebuild => tomb-2.9.ebuild}
D dev-cpp/infer/skel.ebuild_
D dev-lang/jimtcl/files/jimtcl-0.75-bootstrap.patch
D dev-lang/jimtcl/files/jimtcl-0.78-bootstrap.patch
D dev-lang/jimtcl/jimtcl-0.79.ebuild
D dev-lang/jimtcl/metadata.xml
D dev-lang/python/files/clearlinux-pkgs/python-3.7.5-0001-test_socket.py-remove-testPeek-test.test_socket.RDST.patch
D dev-lang/python/files/clearlinux-pkgs/python-3.7.5-fix-regrtest-hang.patch
D dev-lang/python/files/pydoc.conf
D dev-lang/python/files/pydoc.init
D dev-lang/python/files/python-2.7.15-PGO-r1.patch
D dev-lang/python/files/test-__all__-numpy.patch
D dev-lang/python/files/test.support.unlink-ignore-EACCES.patch
D dev-lang/python/files/test.support.unlink-ignore-PermissionError.patch
D dev-lang/python/metadata.xml
D dev-lang/python/python-2.7.18-r100.ebuild
D dev-lang/python/python-3.10.0_alpha1-r1.ebuild
D dev-lang/python/python-3.7.9-r1.ebuild
D dev-lang/python/python-3.8.6-r1.ebuild
D dev-lang/python/python-3.9.0-r1.ebuild
D games-fps/gzdoom/files/gzdoom-4.2.1-install_soundfonts.patch
D games-fps/gzdoom/files/gzdoom-4.4.2-Introduce-the-BUILD_NONFREE-option.patch
D games-fps/gzdoom/files/gzdoom-4.4.2-static-link-spirv.patch
D games-fps/gzdoom/gzdoom-4.4.2.ebuild
D games-fps/gzdoom/metadata.xml
M games-fps/quake3e/quake3e-9999.ebuild
M media-fonts/source-han-serif/source-han-serif-1.001.ebuild
D media-gfx/darktable/darktable-3.2.1-r2.ebuild
D media-gfx/darktable/files/darktable-3.0.2_jsonschema-automagic.patch
D media-gfx/gimp/gimp-2.10.22.ebuild
D media-plugins/vapoursynth-havsfunc/vapoursynth-havsfunc-31.ebuild
D media-plugins/vapoursynth-havsfunc/vapoursynth-havsfunc-9999.ebuild
A sys-libs/libfixposix/libfixposix-0.4.3.ebuild
A www-client/nyxt/nyxt-9999.ebuild
R app-crypt/tomb/tomb-2.6.ebuild => app-crypt/tomb/tomb-2.9.ebuild +0 -0
D dev-cpp/infer/skel.ebuild_ => dev-cpp/infer/skel.ebuild_ +0 -190
@@ 1,190 0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# NOTE: The comments in this file are for instruction and documentation.
-# They're not meant to appear with your final, production ebuild. Please
-# remember to remove them before submitting or committing your ebuild. That
-# doesn't mean you can't add your own comments though.
-
-# The EAPI variable tells the ebuild format in use.
-# It is suggested that you use the latest EAPI approved by the Council.
-# The PMS contains specifications for all EAPIs. Eclasses will test for this
-# variable if they need to use features that are not universal in all EAPIs.
-EAPI=6
-
-# inherit lists eclasses to inherit functions from. For example, an ebuild
-# that needs the eautoreconf function from autotools.eclass won't work
-# without the following line:
-#inherit autotools
-#
-# eclasses tend to list descriptions of how to use their functions properly.
-# take a look at /usr/portage/eclass/ for more examples.
-
-# Short one-line description of this package.
-DESCRIPTION="A static analyzer for Java, C, C++, and Objective-C"
-
-# Homepage, not used by Portage directly but handy for developer reference
-HOMEPAGE="http://fbinfer.com/"
-
-# Point to any required sources; these will be automatically downloaded by
-# Portage.
-SRC_URI="https://github.com/facebook/${PN}/archive/v${PV}.tar.gz"
-
-
-# License of the package. This must match the name of file(s) in
-# /usr/portage/licenses/. For complex license combination see the developer
-# docs on gentoo.org for details.
-LICENSE="MIT"
-
-# The SLOT variable is used to tell Portage if it's OK to keep multiple
-# versions of the same package installed at the same time. For example,
-# if we have a libfoo-1.2.2 and libfoo-1.3.2 (which is not compatible
-# with 1.2.2), it would be optimal to instruct Portage to not remove
-# libfoo-1.2.2 if we decide to upgrade to libfoo-1.3.2. To do this,
-# we specify SLOT="1.2" in libfoo-1.2.2 and SLOT="1.3" in libfoo-1.3.2.
-# emerge clean understands SLOTs, and will keep the most recent version
-# of each SLOT and remove everything else.
-# Note that normal applications should use SLOT="0" if possible, since
-# there should only be exactly one version installed at a time.
-# Do not use SLOT="", because the SLOT variable must not be empty.
-SLOT="0"
-
-# Using KEYWORDS, we can record masking information *inside* an ebuild
-# instead of relying on an external package.mask file. Right now, you should
-# set the KEYWORDS variable for every ebuild so that it contains the names of
-# all the architectures with which the ebuild works. All of the official
-# architectures can be found in the arch.list file which is in
-# /usr/portage/profiles/. Usually you should just set this to "~amd64".
-# The ~ in front of the architecture indicates that the package is new and
-# should be considered unstable until testing proves its stability. So, if
-# you've confirmed that your ebuild works on amd64 and ppc, you'd specify:
-# KEYWORDS="~amd64 ~ppc"
-# Once packages go stable, the ~ prefix is removed.
-# For binary packages, use -* and then list the archs the bin package
-# exists for. If the package was for an x86 binary package, then
-# KEYWORDS would be set like this: KEYWORDS="-* x86"
-# Do not use KEYWORDS="*"; this is not valid in an ebuild context.
-KEYWORDS="~amd64"
-
-# Comprehensive list of any and all USE flags leveraged in the ebuild,
-# with some exceptions, e.g., ARCH specific flags like "amd64" or "ppc".
-# Not needed if the ebuild doesn't use any USE flags.
-IUSE="java +c"
-
-# A space delimited list of portage features to restrict. man 5 ebuild
-# for details. Usually not needed.
-#RESTRICT="strip"
-
-
-# Build-time dependencies, such as
-# ssl? ( >=dev-libs/openssl-0.9.6b )
-# >=dev-lang/perl-5.6.1-r1
-# It is advisable to use the >= syntax show above, to reflect what you
-# had installed on your system when you tested the package. Then
-# other users hopefully won't be caught without the right version of
-# a dependency.
-DEPEND="
- dev-lang/python:2.7
- dev-libs/gmp
- dev-libs/mpfr
- dev-libs/zlib
- virtual/pkgconfig
- java? ( virtual/jdk )
- >=dev-lang/ocaml-4.04.2
- >=dev-ml/ANSITerminal-0.7
- dev-ml/apron
- >=dev-ml/atdgen-2.0.0
- dev-ml/ocaml-base64
- >=dev-ml/cmdliner-1.0.0
- dev-ml/ocaml-autoconf
- dev-ml/ocaml-sqlite3
- >=dev-ml/ocaml-ctypes-0.9.2
- >=dev-ml/ocaml-dune-1.0
- >=dev-ml/ocaml-elina-1.1
- >=dev-ml/ocaml-javalib-2.3.5
- dev-ml/mtime
- dev-ml/findlib
- dev-ml/ocamlgraph
- >=dev-ml/ounit-2.0.5
- >=dev-ml/parmap-1.0_rc8
- >=dev-ml/ppx_deriving-4.1
- >=dev-ml/sawja-1.5.4
- >=dev-ml/xmlm-1.2.0"
-
-# TODO: apron, bump atdgen, dune, elina, javalib, sawja
-
-# Run-time dependencies. Must be defined to whatever this depends on to run.
-# The below is valid if the same run-time depends are required to compile.
-RDEPEND="${DEPEND}"
-
-# Source directory; the dir where the sources can be found (automatically
-# unpacked) inside ${WORKDIR}. The default value for S is ${WORKDIR}/${P}
-# If you don't need to change it, leave the S= line out of the ebuild
-# to keep it tidy.
-#S=${WORKDIR}/${P}
-
-
-# The following src_configure function is implemented as default by portage, so
-# you only need to call it if you need a different behaviour.
-#src_configure() {
- # Most open-source packages use GNU autoconf for configuration.
- # The default, quickest (and preferred) way of running configure is:
- #econf
- #
- # You could use something similar to the following lines to
- # configure your package before compilation. The "|| die" portion
- # at the end will stop the build process if the command fails.
- # You should use this at the end of critical commands in the build
- # process. (Hint: Most commands are critical, that is, the build
- # process should abort if they aren't successful.)
- #./configure \
- # --host=${CHOST} \
- # --prefix=/usr \
- # --infodir=/usr/share/info \
- # --mandir=/usr/share/man || die
- # Note the use of --infodir and --mandir, above. This is to make
- # this package FHS 2.2-compliant. For more information, see
- # https://www.pathname.com/fhs/
-#}
-
-# The following src_compile function is implemented as default by portage, so
-# you only need to call it, if you need different behaviour.
-#src_compile() {
- # emake is a script that calls the standard GNU make with parallel
- # building options for speedier builds (especially on SMP systems).
- # Try emake first. It might not work for some packages, because
- # some makefiles have bugs related to parallelism, in these cases,
- # use emake -j1 to limit make to a single process. The -j1 is a
- # visual clue to others that the makefiles have bugs that have been
- # worked around.
-
- #emake
-#}
-
-# The following src_install function is implemented as default by portage, so
-# you only need to call it, if you need different behaviour.
-#src_install() {
- # You must *personally verify* that this trick doesn't install
- # anything outside of DESTDIR; do this by reading and
- # understanding the install part of the Makefiles.
- # This is the preferred way to install.
- #emake DESTDIR="${D}" install
-
- # When you hit a failure with emake, do not just use make. It is
- # better to fix the Makefiles to allow proper parallelization.
- # If you fail with that, use "emake -j1", it's still better than make.
-
- # For Makefiles that don't make proper use of DESTDIR, setting
- # prefix is often an alternative. However if you do this, then
- # you also need to specify mandir and infodir, since they were
- # passed to ./configure as absolute paths (overriding the prefix
- # setting).
- #emake \
- # prefix="${D}"/usr \
- # mandir="${D}"/usr/share/man \
- # infodir="${D}"/usr/share/info \
- # libdir="${D}"/usr/$(get_libdir) \
- # install
- # Again, verify the Makefiles! We don't want anything falling
- # outside of ${D}.
-#}
D dev-lang/jimtcl/files/jimtcl-0.75-bootstrap.patch => dev-lang/jimtcl/files/jimtcl-0.75-bootstrap.patch +0 -15
@@ 1,15 0,0 @@
-always do a bootstrap w/local jimsh0 to avoid requiring tcl or jimtcl
-to be installed first. the bootstrap prog is small too.
-
---- a/autosetup/find-tclsh
-+++ b/autosetup/find-tclsh
-@@ -4,9 +4,6 @@
- d=`dirname "$0"`
- { "$d/jimsh0" "$d/test-tclsh"; } 2>/dev/null && exit 0
- PATH="$PATH:$d"; export PATH
--for tclsh in jimsh tclsh tclsh8.5 tclsh8.6; do
-- { $tclsh "$d/test-tclsh"; } 2>/dev/null && exit 0
--done
- echo 1>&2 "No installed jimsh or tclsh, building local bootstrap jimsh0"
- for cc in ${CC_FOR_BUILD:-cc} gcc; do
- { $cc -o "$d/jimsh0" "$d/jimsh0.c"; } 2>/dev/null || continue
D dev-lang/jimtcl/files/jimtcl-0.78-bootstrap.patch => dev-lang/jimtcl/files/jimtcl-0.78-bootstrap.patch +0 -14
@@ 1,14 0,0 @@
-diff --git a/autosetup/autosetup-find-tclsh b/autosetup/autosetup-find-tclsh
-index dfe70f8..40b9b89 100755
---- a/autosetup/autosetup-find-tclsh
-+++ b/autosetup/autosetup-find-tclsh
-@@ -5,9 +5,6 @@
- d=`dirname "$0"`
- { "$d/jimsh0" "$d/autosetup-test-tclsh"; } 2>/dev/null && exit 0
- PATH="$PATH:$d"; export PATH
--for tclsh in $autosetup_tclsh jimsh tclsh tclsh8.5 tclsh8.6; do
-- { $tclsh "$d/autosetup-test-tclsh"; } 2>/dev/null && exit 0
--done
- echo 1>&2 "No installed jimsh or tclsh, building local bootstrap jimsh0"
- for cc in ${CC_FOR_BUILD:-cc} gcc; do
- { $cc -o "$d/jimsh0" "$d/jimsh0.c"; } 2>/dev/null || continue
D dev-lang/jimtcl/jimtcl-0.79.ebuild => dev-lang/jimtcl/jimtcl-0.79.ebuild +0 -69
@@ 1,69 0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="5"
-
-inherit eutils
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="http://repo.or.cz/r/jimtcl.git"
- inherit git-r3
-else
- inherit vcs-snapshot
- SRC_URI="https://github.com/msteveb/jimtcl/zipball/${PV} -> ${P}.zip"
- KEYWORDS="amd64 arm ~arm64 ~m68k ~mips ~s390 ~sh x86"
-fi
-
-DESCRIPTION="Small footprint implementation of Tcl programming language"
-HOMEPAGE="http://jim.tcl.tk/"
-
-LICENSE="LGPL-2"
-SLOT="0"
-IUSE="doc static-libs"
-
-RDEPEND=""
-DEPEND="doc? ( app-text/asciidoc )
- app-arch/unzip"
-
-src_unpack() {
- if [[ ${PV} == "9999" ]] ; then
- git-2_src_unpack
- else
- default
- cd "${WORKDIR}"/msteveb-jimtcl-* || die
- S=${PWD}
- fi
-}
-
-src_prepare() {
- epatch "${FILESDIR}"/${PN}-0.78-bootstrap.patch
-}
-
-src_configure() {
- CCACHE=None econf --with-jim-shared
- if use static-libs ; then
- # The build does not support doing both simultaneously.
- mkdir static-libs || die
- cd static-libs || die
- CCACHE=None ECONF_SOURCE=${S} econf
- fi
-}
-
-src_compile() {
- # Must build static-libs first.
- use static-libs && emake -C static-libs libjim.a
- emake all
- use doc && emake docs
-}
-
-src_install() {
- dobin jimsh
- use static-libs && dolib.a static-libs/libjim.a
- ln -sf libjim.so.* libjim.so || die
- dolib.so libjim.so*
- insinto /usr/include
- doins jim.h jimautoconf.h jim-subcmd.h jim-signal.h \
- jim-win32compat.h jim-eventloop.h jim-config.h
- dodoc AUTHORS README TODO
- use doc && dohtml Tcl.html
-}
D dev-lang/jimtcl/metadata.xml => dev-lang/jimtcl/metadata.xml +0 -8
@@ 1,8 0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">msteveb/jimtcl</remote-id>
- </upstream>
-</pkgmetadata>
D dev-lang/python/files/clearlinux-pkgs/python-3.7.5-0001-test_socket.py-remove-testPeek-test.test_socket.RDST.patch => dev-lang/python/files/clearlinux-pkgs/python-3.7.5-0001-test_socket.py-remove-testPeek-test.test_socket.RDST.patch +0 -37
@@ 1,37 0,0 @@
-From 4ccbba674472dcca104fe660c0cd3dd23b6dd66d Mon Sep 17 00:00:00 2001
-From: Juro Bystricky <juro.bystricky@intel.com>
-Date: Thu, 3 Oct 2019 10:46:00 -0700
-Subject: [PATCH] test_socket.py: remove testPeek (test.test_socket.RDSTest)
-
-This test suffers from a race condition and hangs frequently.
-https://bugs.python.org/issue35247
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
----
- Lib/test/test_socket.py | 10 ----------
- 1 file changed, 10 deletions(-)
-
-diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
-index 43929b355e..bcf8be854b 100644
---- a/Lib/test/test_socket.py
-+++ b/Lib/test/test_socket.py
-@@ -2011,16 +2011,6 @@ class RDSTest(ThreadedRDSSocketTest):
- self.data = b'spam'
- self.cli.sendto(self.data, 0, (HOST, self.port))
-
-- def testPeek(self):
-- data, addr = self.serv.recvfrom(self.bufsize, socket.MSG_PEEK)
-- self.assertEqual(self.data, data)
-- data, addr = self.serv.recvfrom(self.bufsize)
-- self.assertEqual(self.data, data)
--
-- def _testPeek(self):
-- self.data = b'spam'
-- self.cli.sendto(self.data, 0, (HOST, self.port))
--
- @requireAttrs(socket.socket, 'recvmsg')
- def testSendAndRecvMsg(self):
- data, ancdata, msg_flags, addr = self.serv.recvmsg(self.bufsize)
---
-2.23.0
-
D dev-lang/python/files/clearlinux-pkgs/python-3.7.5-fix-regrtest-hang.patch => dev-lang/python/files/clearlinux-pkgs/python-3.7.5-fix-regrtest-hang.patch +0 -174
@@ 1,174 0,0 @@
-Patch pulled from the `3.7` branch, which will be incorporated into a
-future 3.7.6 release:
-https://github.com/python/cpython/commit/598bfa4d45
-
-An equivalent change already landed for 3.8.0, so drop it when moving to
-the 3.8 series.
-https://github.com/python/cpython/commit/359a1975cb
-
-
-From 598bfa4d457d61431142ad99ecbb9bd10cf314e6 Mon Sep 17 00:00:00 2001
-From: "Miss Islington (bot)"
- <31488909+miss-islington@users.noreply.github.com>
-Date: Wed, 9 Oct 2019 06:52:34 -0700
-Subject: [PATCH] bpo-37531: regrtest ignores output on timeout (GH-16659)
-
-bpo-37531, bpo-38207: On timeout, regrtest no longer attempts to call
-`popen.communicate() again: it can hang until all child processes
-using stdout and stderr pipes completes. Kill the worker process and
-ignores its output.
-
-Reenable test_regrtest.test_multiprocessing_timeout().
-
-bpo-37531: Change also the faulthandler timeout of the main process
-from 1 minute to 5 minutes, for Python slowest buildbots.
-(cherry picked from commit 0ec618af98ac250a91ee9c91f8569e6df6772758)
-
-Co-authored-by: Victor Stinner <vstinner@python.org>
----
- Lib/test/libregrtest/runtest_mp.py | 64 +++++++++++--------
- .../2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst | 5 ++
- 2 files changed, 42 insertions(+), 27 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Tests/2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst
-
-diff --git a/Lib/test/libregrtest/runtest_mp.py b/Lib/test/libregrtest/runtest_mp.py
-index 9d5a699852b9c..2770cf93bd7d8 100644
---- a/Lib/test/libregrtest/runtest_mp.py
-+++ b/Lib/test/libregrtest/runtest_mp.py
-@@ -22,6 +22,12 @@
- PROGRESS_UPDATE = 30.0 # seconds
- assert PROGRESS_UPDATE >= PROGRESS_MIN_TIME
-
-+# Kill the main process after 5 minutes. It is supposed to write an update
-+# every PROGRESS_UPDATE seconds. Tolerate 5 minutes for Python slowest
-+# buildbot workers.
-+MAIN_PROCESS_TIMEOUT = 5 * 60.0
-+assert MAIN_PROCESS_TIMEOUT >= PROGRESS_UPDATE
-+
- # Time to wait until a worker completes: should be immediate
- JOIN_TIMEOUT = 30.0 # seconds
-
-@@ -159,20 +165,6 @@ def mp_result_error(self, test_name, error_type, stdout='', stderr='',
- result = TestResult(test_name, error_type, test_time, None)
- return MultiprocessResult(result, stdout, stderr, err_msg)
-
-- def _timedout(self, test_name):
-- self._kill()
--
-- stdout = stderr = ''
-- popen = self._popen
-- try:
-- stdout, stderr = popen.communicate(timeout=JOIN_TIMEOUT)
-- except (subprocess.TimeoutExpired, OSError) as exc:
-- print_warning(f"Failed to read {self} output "
-- f"(timeout={format_duration(JOIN_TIMEOUT)}): "
-- f"{exc!r}")
--
-- return self.mp_result_error(test_name, TIMEOUT, stdout, stderr)
--
- def _run_process(self, test_name):
- self.start_time = time.monotonic()
-
-@@ -195,23 +187,32 @@ def _run_process(self, test_name):
-
- try:
- stdout, stderr = popen.communicate(timeout=self.timeout)
-+ retcode = popen.returncode
-+ assert retcode is not None
- except subprocess.TimeoutExpired:
- if self._stopped:
- # kill() has been called: communicate() fails
- # on reading closed stdout/stderr
- raise ExitThread
-
-- return self._timedout(test_name)
-+ # On timeout, kill the process
-+ self._kill()
-+
-+ # None means TIMEOUT for the caller
-+ retcode = None
-+ # bpo-38207: Don't attempt to call communicate() again: on it
-+ # can hang until all child processes using stdout and stderr
-+ # pipes completes.
-+ stdout = stderr = ''
- except OSError:
- if self._stopped:
- # kill() has been called: communicate() fails
- # on reading closed stdout/stderr
- raise ExitThread
- raise
--
-- retcode = popen.returncode
-- stdout = stdout.strip()
-- stderr = stderr.rstrip()
-+ else:
-+ stdout = stdout.strip()
-+ stderr = stderr.rstrip()
-
- return (retcode, stdout, stderr)
- except:
-@@ -223,13 +224,10 @@ def _run_process(self, test_name):
- self.current_test_name = None
-
- def _runtest(self, test_name):
-- result = self._run_process(test_name)
--
-- if isinstance(result, MultiprocessResult):
-- # _timedout() case
-- return result
-+ retcode, stdout, stderr = self._run_process(test_name)
-
-- retcode, stdout, stderr = result
-+ if retcode is None:
-+ return self.mp_result_error(test_name, TIMEOUT, stdout, stderr)
-
- err_msg = None
- if retcode != 0:
-@@ -248,7 +246,8 @@ def _runtest(self, test_name):
- err_msg = "Failed to parse worker JSON: %s" % exc
-
- if err_msg is not None:
-- return self.mp_result_error(test_name, CHILD_ERROR, stdout, stderr, err_msg)
-+ return self.mp_result_error(test_name, CHILD_ERROR,
-+ stdout, stderr, err_msg)
-
- return MultiprocessResult(result, stdout, stderr, err_msg)
-
-@@ -287,6 +286,16 @@ def _wait_completed(self):
- f"{exc!r}")
-
- def wait_stopped(self, start_time):
-+ # bpo-38207: MultiprocessTestRunner.stop_workers() called self.stop()
-+ # which killed the process. Sometimes, killing the process from the
-+ # main thread does not interrupt popen.communicate() in
-+ # TestWorkerProcess thread. This loop with a timeout is a workaround
-+ # for that.
-+ #
-+ # Moreover, if this method fails to join the thread, it is likely
-+ # that Python will hang at exit while calling threading._shutdown()
-+ # which tries again to join the blocked thread. Regrtest.main()
-+ # uses EXIT_TIMEOUT to workaround this second bug.
- while True:
- # Write a message every second
- self.join(1.0)
-@@ -353,7 +362,8 @@ def _get_result(self):
- timeout = PROGRESS_UPDATE
- while True:
- if use_faulthandler:
-- faulthandler.dump_traceback_later(timeout * 2.0, exit=True)
-+ faulthandler.dump_traceback_later(MAIN_PROCESS_TIMEOUT,
-+ exit=True)
-
- # wait for a thread
- try:
-diff --git a/Misc/NEWS.d/next/Tests/2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst b/Misc/NEWS.d/next/Tests/2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst
-new file mode 100644
-index 0000000000000..78ab636516514
---- /dev/null
-+++ b/Misc/NEWS.d/next/Tests/2019-10-08-16-42-05.bpo-37531.7v-_Ca.rst
-@@ -0,0 +1,5 @@
-+On timeout, regrtest no longer attempts to call ``popen.communicate()``
-+again: it can hang until all child processes using stdout and stderr pipes
-+completes. Kill the worker process and ignores its output. Change also the
-+faulthandler timeout of the main process from 1 minute to 5 minutes, for Python
-+slowest buildbots.
D dev-lang/python/files/pydoc.conf => dev-lang/python/files/pydoc.conf +0 -6
@@ 1,6 0,0 @@
-# /etc/init.d/pydoc.conf
-
-# This file contains the configuration for pydoc's internal webserver.
-
-# Default port for Python's pydoc server.
-@PYDOC_PORT_VARIABLE@="7464"
D dev-lang/python/files/pydoc.init => dev-lang/python/files/pydoc.init +0 -24
@@ 1,24 0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public Licence v2
-
-start() {
- local pydoc_port="${@PYDOC_PORT_VARIABLE@-${PYDOC_PORT}}"
-
- if [ -z "${pydoc_port}" ]; then
- eerror "Port not set"
- return 1
- fi
-
- ebegin "Starting pydoc server on port ${pydoc_port}"
- start-stop-daemon --start --background --make-pidfile \
- --pidfile /var/run/@PYDOC@.pid \
- --exec /usr/bin/@PYDOC@ -- -p "${pydoc_port}"
- eend $?
-}
-
-stop() {
- ebegin "Stopping pydoc server"
- start-stop-daemon --stop --quiet --pidfile /var/run/@PYDOC@.pid
- eend $?
-}
D dev-lang/python/files/python-2.7.15-PGO-r1.patch => dev-lang/python/files/python-2.7.15-PGO-r1.patch +0 -78
@@ 1,78 0,0 @@
-diff -ur Python-2.7.16.orig/Lib/distutils/ccompiler.py Python-2.7.16/Lib/distutils/ccompiler.py
---- Python-2.7.16.orig/Lib/distutils/ccompiler.py 2019-03-02 19:17:42.000000000 +0100
-+++ Python-2.7.16/Lib/distutils/ccompiler.py 2019-03-09 16:30:09.036803900 +0100
-@@ -14,7 +14,7 @@
- from distutils.spawn import spawn
- from distutils.file_util import move_file
- from distutils.dir_util import mkpath
--from distutils.dep_util import newer_group
-+from distutils.dep_util import newer_group, newer
- from distutils.util import split_quoted, execute
- from distutils import log
- # following import is for backward compatibility
-@@ -571,7 +571,9 @@
- src, ext = build[obj]
- except KeyError:
- continue
-- self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
-+ if newer(src, obj):
-+ # some extensions share source files so we need to avoid compiling the same source multiple times
-+ self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
-
- # Return *all* object filenames, not just the ones we just built.
- return objects
-diff -ur Python-2.7.16.orig/Lib/distutils/dep_util.py Python-2.7.16/Lib/distutils/dep_util.py
---- Python-2.7.16.orig/Lib/distutils/dep_util.py 2019-03-02 19:17:42.000000000 +0100
-+++ Python-2.7.16/Lib/distutils/dep_util.py 2019-03-09 16:30:09.036803900 +0100
-@@ -11,7 +11,7 @@
- from distutils.errors import DistutilsFileError
-
- def newer(source, target):
-- """Tells if the target is newer than the source.
-+ """Tells if the source is newer than the target.
-
- Return true if 'source' exists and is more recently modified than
- 'target', or if 'source' exists and 'target' doesn't.
-diff -ur Python-2.7.16.orig/Makefile.pre.in Python-2.7.16/Makefile.pre.in
---- Python-2.7.16.orig/Makefile.pre.in 2019-03-09 16:29:29.004188933 +0100
-+++ Python-2.7.16/Makefile.pre.in 2019-03-09 16:33:30.788823762 +0100
-@@ -209,9 +209,9 @@
- TCLTK_LIBS= @TCLTK_LIBS@
-
- # The task to run while instrument when building the profile-opt target
--# We exclude unittests with -x that take a rediculious amount of time to
--# run in the instrumented training build or do not provide much value.
--PROFILE_TASK=-m test.regrtest --pgo -x test_asyncore test_gdb test_multiprocessing test_subprocess
-+# We exclude unittests with -x that take a ridiculous amount of time to
-+# run in the instrumented training build or do not provide much value
-+PROFILE_TASK=-m test.regrtest --pgo $(EXTRATESTOPTS) -x test_asyncore test_gdb test_multiprocessing test_subprocess test_xpickle
-
- # report files for gcov / lcov coverage report
- COVERAGE_INFO= $(abs_builddir)/coverage.info
-@@ -437,7 +437,7 @@
-
- run_profile_task:
- : # FIXME: can't run for a cross build
-- $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true
-+ $(LLVM_PROF_FILE) _PYTHONNOSITEPACKAGES=1 $(RUNSHARED) ./$(BUILDPYTHON) -E $(PROFILE_TASK) || true # allow failures here
-
- build_all_merge_profile:
- $(LLVM_PROF_MERGER)
-diff -ur Python-2.7.16.orig/setup.py Python-2.7.16/setup.py
---- Python-2.7.16.orig/setup.py 2019-03-09 16:29:29.028188103 +0100
-+++ Python-2.7.16/setup.py 2019-03-09 16:30:09.037803866 +0100
-@@ -269,11 +269,13 @@
- # those environment variables passed into the setup.py phase. Here's
- # a small set of useful ones.
- compiler = os.environ.get('CC')
-+ # it's important to get CFLAGS from the environment for proper extension PGO support
-+ cflags = os.environ.get('CFLAGS', sysconfig.get_config_vars('CFLAGS')[0])
- args = {}
- # unfortunately, distutils doesn't let us provide separate C and C++
- # compilers
- if compiler is not None:
-- (ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')
-+ (ccshared,) = sysconfig.get_config_vars('CCSHARED')
- args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags
- self.compiler.set_executables(**args)
-
D dev-lang/python/files/test-__all__-numpy.patch => dev-lang/python/files/test-__all__-numpy.patch +0 -13
@@ 1,13 0,0 @@
-diff --git a/Lib/test/test___all__.py b/Lib/test/test___all__.py
-index c077881511..0728bef6c4 100644
---- a/Lib/test/test___all__.py
-+++ b/Lib/test/test___all__.py
-@@ -71,6 +71,8 @@ class AllTest(unittest.TestCase):
- blacklist = set([
- # Will raise a SyntaxError when compiling the exec statement
- '__future__',
-+ # imports numpy which causes warnings
-+ 'test.test_pickletools',
- ])
-
- if not sys.platform.startswith('java'):
D dev-lang/python/files/test.support.unlink-ignore-EACCES.patch => dev-lang/python/files/test.support.unlink-ignore-EACCES.patch +0 -28
@@ 1,28 0,0 @@
-From b8dc49c87f29fa875bd24fe47c741d11962a33b6 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Sat, 4 Apr 2020 14:11:25 -0400
-Subject: [PATCH] test.support.unlink: ignore EACCES
-
-Resolves test errors when running in the Gentoo sandbox environment.
-
-Bug: https://bugs.gentoo.org/679628
----
- Lib/test/support/__init__.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
-index ccc11c1b4b0..d47bdebda5c 100644
---- a/Lib/test/support/__init__.py
-+++ b/Lib/test/support/__init__.py
-@@ -291,7 +291,7 @@ def unlink(filename):
- try:
- _unlink(filename)
- except OSError as exc:
-- if exc.errno not in (errno.ENOENT, errno.ENOTDIR):
-+ if exc.errno not in (errno.ENOENT, errno.ENOTDIR, errno.EACCES):
- raise
-
- def rmdir(dirname):
---
-2.26.0
-
D dev-lang/python/files/test.support.unlink-ignore-PermissionError.patch => dev-lang/python/files/test.support.unlink-ignore-PermissionError.patch +0 -28
@@ 1,28 0,0 @@
-From 6e6402caa7962a9c9f7c5327f3c802545824f7f9 Mon Sep 17 00:00:00 2001
-From: Mike Gilbert <floppym@gentoo.org>
-Date: Fri, 3 Apr 2020 10:37:56 -0400
-Subject: [PATCH] test.support.unlink: ignore PermissionError
-
-Resolves test errors when running in the Gentoo sandbox environment.
-
-Bug: https://bugs.gentoo.org/679628
----
- Lib/test/support/__init__.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
-index 1f792d8514d..a0772480eb4 100644
---- a/Lib/test/support/__init__.py
-+++ b/Lib/test/support/__init__.py
-@@ -488,7 +488,7 @@ else:
- def unlink(filename):
- try:
- _unlink(filename)
-- except (FileNotFoundError, NotADirectoryError):
-+ except (FileNotFoundError, NotADirectoryError, PermissionError):
- pass
-
- def rmdir(dirname):
---
-2.26.0
-
D dev-lang/python/metadata.xml => dev-lang/python/metadata.xml +0 -15
@@ 1,15 0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <use>
- <flag name="lto">Build with link-time optimizations (LTO)</flag>
- <flag name="pgo">Build with profile guided optimizations (PGO)</flag>
- <flag name="threads">Enable threading support. (DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU'RE DOING)</flag>
- <flag name="wide-unicode">Enable wide Unicode implementation which uses 4-byte Unicode characters. Switching of this USE flag changes ABI of Python and requires reinstallation of many Python modules. (DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU'RE DOING)</flag>
- <flag name="wininst">Install Windows executables required to create an executable installer for MS Windows.</flag>
- </use>
-</pkgmetadata>
D dev-lang/python/python-2.7.18-r100.ebuild => dev-lang/python/python-2.7.18-r100.ebuild +0 -388
@@ 1,388 0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-WANT_LIBTOOL="none"
-
-inherit autotools flag-o-matic pax-utils python-utils-r1 toolchain-funcs
-
-MY_P="Python-${PV}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-2.7.18"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/"
-SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 s390 sparc x86"
-IUSE="-berkdb bluetooth build elibc_uclibc examples gdbm hardened ipv6 libressl +lto +ncurses +pgo +readline sqlite +ssl +threads tk +wide-unicode wininst +xml"
-
-# 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:=
- dev-libs/libffi:=
- >=sys-libs/zlib-1.1.3:=
- virtual/libcrypt:=
- virtual/libintl
- berkdb? ( || (
- sys-libs/db:5.3
- sys-libs/db:5.1
- sys-libs/db:4.8
- sys-libs/db:4.7
- sys-libs/db:4.6
- sys-libs/db:4.5
- sys-libs/db:4.4
- sys-libs/db:4.3
- sys-libs/db:4.2
- ) )
- gdbm? ( sys-libs/gdbm:=[berkdb] )
- ncurses? ( >=sys-libs/ncurses-5.2:= )
- readline? ( >=sys-libs/readline-4.1:= )
- sqlite? ( >=dev-db/sqlite-3.3.8:3= )
- ssl? (
- !libressl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- tk? (
- >=dev-lang/tcl-8.0:=
- >=dev-lang/tk-8.0:=
- dev-tcltk/blt:=
- dev-tcltk/tix
- )
- xml? ( >=dev-libs/expat-2.1:= )"
-# bluetooth requires headers from bluez
-DEPEND="${RDEPEND}
- bluetooth? ( net-wireless/bluez )
- virtual/pkgconfig
- !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-pkg_setup() {
- if use berkdb; then
- ewarn "'bsddb' module is out-of-date and no longer maintained inside"
- ewarn "dev-lang/python. 'bsddb' and 'dbhash' modules have been additionally"
- ewarn "removed in Python 3. A maintained alternative of 'bsddb3' module"
- ewarn "is provided by dev-python/bsddb3."
- else
- if has_version "=${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"; then
- ewarn "You are migrating from =${CATEGORY}/${PN}-${PV%%.*}*[berkdb]"
- ewarn "to =${CATEGORY}/${PN}-${PV%%.*}*[-berkdb]."
- ewarn "You might need to migrate your databases."
- fi
- fi
-}
-
-src_prepare() {
- # Ensure that internal copies of expat, libffi and zlib are not used.
- rm -fr Modules/expat || die
- rm -fr Modules/_ctypes/libffi* || die
- rm -fr Modules/zlib || die
-
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- default
-
- sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
- Lib/distutils/command/install.py \
- Lib/distutils/sysconfig.py \
- Lib/site.py \
- Lib/sysconfig.py \
- Lib/test/test_site.py \
- Makefile.pre.in \
- Modules/Setup.dist \
- Modules/getpath.c \
- setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
- eautoreconf
-}
-
-src_configure() {
- # dbm module can be linked against berkdb or gdbm.
- # Defaults to gdbm when both are enabled, #204343.
- local disable
- use berkdb || use gdbm || disable+=" dbm"
- use berkdb || disable+=" _bsddb"
- # disable automagic bluetooth headers detection
- use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
- use gdbm || disable+=" gdbm"
- use ncurses || disable+=" _curses _curses_panel"
- use readline || disable+=" readline"
- use sqlite || disable+=" _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL="1"
- use tk || disable+=" _tkinter"
- use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
- export PYTHON_DISABLE_MODULES="${disable}"
-
- if ! use xml; then
- ewarn "You have configured Python without XML support."
- ewarn "This is NOT a recommended configuration as you"
- ewarn "may face problems parsing any XML documents."
- fi
-
- if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
- einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
- fi
-
- if [[ "$(gcc-major-version)" -ge 4 ]]; then
- append-flags -fwrapv
- fi
-
- filter-flags -malign-double
-
- # https://bugs.gentoo.org/show_bug.cgi?id=50309
- if is-flagq -O3; then
- is-flagq -fstack-protector-all && replace-flags -O3 -O2
- use hardened && replace-flags -O3 -O2
- fi
-
- if tc-is-cross-compiler; then
- # Force some tests that try to poke fs paths.
- export ac_cv_file__dev_ptc=no
- export ac_cv_file__dev_ptmx=yes
- fi
-
- # Export CXX so it ends up in /usr/lib/python2.X/config/Makefile.
- tc-export CXX
- # The configure script fails to use pkg-config correctly.
- # http://bugs.python.org/issue15506
- export ac_cv_path_PKG_CONFIG=$(tc-getPKG_CONFIG)
-
- # Set LDFLAGS so we link modules with -lpython2.7 correctly.
- # Needed on FreeBSD unless Python 2.7 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- # LTO needs this
- if use lto; then
- append-ldflags "${CFLAGS}"
- fi
-
- local dbmliborder
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- fi
- if use berkdb; then
- dbmliborder+="${dbmliborder:+:}bdb"
- fi
-
- local myeconfargs=(
- # The check is broken on clang, and gives false positive:
- # https://bugs.gentoo.org/596798
- # (upstream dropped this flag in 3.2a4 anyway)
- ac_cv_opt_olimit_ok=no
- # 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
-
- --with-fpectl
- --enable-shared
- $(use_enable ipv6)
- $(use_with threads)
- $(use wide-unicode && echo "--enable-unicode=ucs4" || echo "--enable-unicode=ucs2")
- $(use_enable pgo optimizations)
- $(use_with lto)
- --infodir='${prefix}/share/info'
- --mandir='${prefix}/share/man'
- --with-computed-gotos
- --with-dbmliborder="${dbmliborder}"
- --with-libc=
- --enable-loadable-sqlite-extensions
- --with-system-expat
- --with-system-ffi
- --without-ensurepip
- )
-
- OPT="" econf "${myeconfargs[@]}"
-
- if use threads && 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
-}
-
-src_compile() {
- # Ensure sed works as expected
- # https://bugs.gentoo.org/594768
- local -x LC_ALL=C
-
- if use pgo; then
- # disable distcc and ccache
- export DISTCC_HOSTS=""
- export CCACHE_DISABLE=1
- fi
-
- # Avoid invoking pgen for cross-compiles.
- touch Include/graminit.h Python/graminit.c
-
- # extract the number of parallel jobs in MAKEOPTS
- echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null
- if [ $? -eq 0 ]; then
- par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')"
- else
- par_arg=""
- fi
- export par_arg
-
- emake EXTRATESTOPTS="${par_arg} -uall,-audio -x test_distutils"
-
- # 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
-
- # Skip failing tests.
- local skipped_tests="distutils gdb curses xpickle bdb runpy test_support"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # bug 660358
- local -x COLUMNS=80
-
- # Daylight saving time problem
- # https://bugs.python.org/issue22067
- # https://bugs.gentoo.org/610628
- local -x TZ=UTC
-
- # Rerun failed tests in verbose mode (regrtest -w).
- emake test EXTRATESTOPTS="-w -uall,-audio ${par_arg}" < /dev/tty
- local result="$?"
-
- for test in ${skipped_tests}; do
- mv "${T}/test_${test}.py" "${S}"/Lib/test
- done
-
- elog "The following tests have been skipped:"
- for test in ${skipped_tests}; do
- elog "test_${test}.py"
- done
-
- elog "If you would like to run them, you may:"
- elog "cd '${EPREFIX}/usr/$(get_libdir)/python${PYVER}/test'"
- elog "and run the tests separately."
-
- if [[ ${result} -ne 0 ]]; then
- die "emake test failed"
- fi
-}
-
-src_install() {
- local libdir=${ED}/usr/$(get_libdir)/python${PYVER}
-
- emake DESTDIR="${D}" altinstall
-
- sed -e "s/\(LDFLAGS=\).*/\1/" -i "${libdir}/config/Makefile" || die
-
- # Fix collisions between different slots of Python.
- mv "${ED}/usr/bin/2to3" "${ED}/usr/bin/2to3-${PYVER}" || die
- mv "${ED}/usr/bin/pydoc" "${ED}/usr/bin/pydoc${PYVER}" || die
- mv "${ED}/usr/bin/idle" "${ED}/usr/bin/idle${PYVER}" || die
- rm "${ED}/usr/bin/smtpd.py" || die
-
- use berkdb || rm -r "${libdir}/"{bsddb,dbhash.py*,test/test_bsddb*} || die
- use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
- use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,lib-tk} || die
- use elibc_uclibc && rm -fr "${libdir}/"{bsddb/test,test}
-
- use threads || rm -r "${libdir}/multiprocessing" || die
- use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || die
-
- dodoc Misc/{ACKS,HISTORY,NEWS}
-
- if use examples; then
- docinto examples
- 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 "${S}"/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"
-
- local -x EPYTHON=python${PYVER}
- # if not using a cross-compiler, use the fresh binary
- if ! tc-is-cross-compiler; then
- local -x PYTHON=./python
- local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
- else
- local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
- fi
-
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_domodule epython.py
-
- # python-exec wrapping support
- local pymajor=${PYVER%.*}
- local scriptdir=${D}$(python_get_scriptdir)
- mkdir -p "${scriptdir}" || die
- # python and pythonX
- ln -s "../../../bin/python${PYVER}" \
- "${scriptdir}/python${pymajor}" || die
- ln -s "python${pymajor}" "${scriptdir}/python" || die
- # python-config and pythonX-config
- ln -s "../../../bin/python${PYVER}-config" \
- "${scriptdir}/python${pymajor}-config" || die
- ln -s "python${pymajor}-config" \
- "${scriptdir}/python-config" || die
- # 2to3, pydoc, pyvenv
- 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
-}
-
-eselect_python_update() {
- if [[ -z "$(eselect python show)" || \
- ! -f "${EROOT}/usr/bin/$(eselect python show)" ]]; then
- eselect python update
- fi
-
- if [[ -z "$(eselect python show --python${PV%%.*})" || \
- ! -f "${EROOT}/usr/bin/$(eselect python show --python${PV%%.*})" ]]
- then
- eselect python update --python${PV%%.*}
- fi
-}
-
-pkg_postinst() {
- eselect_python_update
-}
-
-pkg_postrm() {
- eselect_python_update
-}
D dev-lang/python/python-3.10.0_alpha1-r1.ebuild => dev-lang/python/python-3.10.0_alpha1-r1.ebuild +0 -346
@@ 1,346 0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-WANT_LIBTOOL="none"
-
-inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
- python-utils-r1 toolchain-funcs
-
-MY_P="Python-${PV/_alpha/a}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.10.0a1"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/"
-SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml pgo"
-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:=
- dev-libs/libffi:=
- sys-apps/util-linux:=
- >=sys-libs/zlib-1.1.3:=
- virtual/libcrypt:=
- virtual/libintl
- gdbm? ( sys-libs/gdbm:=[berkdb] )
- ncurses? ( >=sys-libs/ncurses-5.2:= )
- readline? ( >=sys-libs/readline-4.1:= )
- sqlite? ( >=dev-db/sqlite-3.3.8:3= )
- ssl? (
- !libressl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- tk? (
- >=dev-lang/tcl-8.0:=
- >=dev-lang/tk-8.0:=
- dev-tcltk/blt:=
- dev-tcltk/tix
- )
- xml? ( >=dev-libs/expat-2.1:= )"
-# bluetooth requires headers from bluez
-DEPEND="${RDEPEND}
- bluetooth? ( net-wireless/bluez )
- test? ( app-arch/xz-utils[extra-filters(+)] )
- virtual/pkgconfig
- !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-# large file tests involve a 2.5G file being copied (duplicated)
-CHECKREQS_DISK_BUILD=5500M
-
-pkg_pretend() {
- use test && check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- use test && check-reqs_pkg_setup
-}
-
-src_prepare() {
- # Ensure that internal copies of expat, libffi and zlib are not used.
- rm -fr Modules/expat || die
- rm -fr Modules/_ctypes/libffi* || die
- rm -fr Modules/zlib || die
-
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- default
-
- sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
- setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
- # force correct number of jobs
- # https://bugs.gentoo.org/737660
- local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
- sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
- sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
-
- eautoreconf
-}
-
-src_configure() {
- local disable
- # disable automagic bluetooth headers detection
- use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
- use gdbm || disable+=" gdbm"
- use ncurses || disable+=" _curses _curses_panel"
- use readline || disable+=" readline"
- use sqlite || disable+=" _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL="1"
- use tk || disable+=" _tkinter"
- use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
- export PYTHON_DISABLE_MODULES="${disable}"
-
- if ! use xml; then
- ewarn "You have configured Python without XML support."
- ewarn "This is NOT a recommended configuration as you"
- ewarn "may face problems parsing any XML documents."
- fi
-
- if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
- einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
- fi
-
- if [[ "$(gcc-major-version)" -ge 4 ]]; then
- append-flags -fwrapv
- fi
-
- filter-flags -malign-double
-
- # https://bugs.gentoo.org/show_bug.cgi?id=50309
- if is-flagq -O3; then
- is-flagq -fstack-protector-all && replace-flags -O3 -O2
- use hardened && replace-flags -O3 -O2
- fi
-
- # 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.
- tc-export CXX
-
- # Set LDFLAGS so we link modules with -lpython3.2 correctly.
- # Needed on FreeBSD unless Python 3.2 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- # Fix implicit declarations on cross and prefix builds. Bug #674070.
- use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
-
- local dbmliborder
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- 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
- $(use_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-system-ffi
- )
-
- OPT="" econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # Ensure sed works as expected
- # https://bugs.gentoo.org/594768
- local -x LC_ALL=C
-
- #The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay
-
- # extract the number of parallel jobs in MAKEOPTS
- echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null
- if [ $? -eq 0 ]; then
- par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')"
- else
- par_arg=""
- fi
- export par_arg
-
- if use pgo; then
- emake profile-opt PROFILE_TASK="-m test -x test_gdb test_compileall -j $(nproc) --pgo-extended"
- else
- emake CPPFLAGS= CFLAGS= LDFLAGS=
- fi
-
- # 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
-
- # Skip failing tests.
- local skipped_tests="gdb"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
-
- local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
-
- emake test EXTRATESTOPTS="-u-network -j${jobs}" \
- CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local result=$?
-
- for test in ${skipped_tests}; do
- mv "${T}/test_${test}.py" "${S}"/Lib/test
- done
-
- elog "The following tests have been skipped:"
- for test in ${skipped_tests}; do
- elog "test_${test}.py"
- done
-
- elog "If you would like to run them, you may:"
- elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
- elog "and run the tests separately."
-
- if [[ ${result} -ne 0 ]]; then
- die "emake test failed"
- fi
-}
-
-src_install() {
- local libdir=${ED}/usr/lib/python${PYVER}
-
- emake DESTDIR="${D}" altinstall
-
- # Remove static library
- rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
-
- sed \
- -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
- -e "s/\(PY_LDFLAGS=\).*/\1/" \
- -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
-
- # 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
-
- use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
- use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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"
-
- local -x EPYTHON=python${PYVER}
- # if not using a cross-compiler, use the fresh binary
- if ! tc-is-cross-compiler; then
- local -x PYTHON=./python
- local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
- else
- local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
- fi
-
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_domodule epython.py
-
- # python-exec wrapping support
- local pymajor=${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
-}
D dev-lang/python/python-3.7.9-r1.ebuild => dev-lang/python/python-3.7.9-r1.ebuild +0 -366
@@ 1,366 0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-WANT_LIBTOOL="none"
-
-inherit autotools flag-o-matic multiprocessing pax-utils \
- python-utils-r1 toolchain-funcs
-
-MY_P="Python-${PV}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-${PV}"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/"
-SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}/${PYVER}m"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml pgo"
-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:=
- dev-libs/libffi:=
- sys-apps/util-linux:=
- >=sys-libs/zlib-1.1.3:=
- virtual/libcrypt:=
- virtual/libintl
- gdbm? ( sys-libs/gdbm:=[berkdb] )
- ncurses? ( >=sys-libs/ncurses-5.2:= )
- readline? ( >=sys-libs/readline-4.1:= )
- sqlite? ( >=dev-db/sqlite-3.3.8:3= )
- ssl? (
- !libressl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- tk? (
- >=dev-lang/tcl-8.0:=
- >=dev-lang/tk-8.0:=
- dev-tcltk/blt:=
- dev-tcltk/tix
- )
- xml? ( >=dev-libs/expat-2.1:= )"
-# bluetooth requires headers from bluez
-DEPEND="${RDEPEND}
- bluetooth? ( net-wireless/bluez )
- test? ( app-arch/xz-utils[extra-filters(+)] )
- virtual/pkgconfig
- !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-src_prepare() {
- # Ensure that internal copies of expat, libffi and zlib are not used.
- rm -fr Modules/expat || die
- rm -fr Modules/_ctypes/libffi* || die
- rm -fr Modules/zlib || die
-
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- default
-
- sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
- setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
- # force correct number of jobs
- # https://bugs.gentoo.org/737660
- local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
- sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
-
- eautoreconf
-}
-
-src_configure() {
- local disable
- # disable automagic bluetooth headers detection
- use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
- use gdbm || disable+=" gdbm"
- use ncurses || disable+=" _curses _curses_panel"
- use readline || disable+=" readline"
- use sqlite || disable+=" _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL="1"
- use tk || disable+=" _tkinter"
- use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
- export PYTHON_DISABLE_MODULES="${disable}"
-
- if ! use xml; then
- ewarn "You have configured Python without XML support."
- ewarn "This is NOT a recommended configuration as you"
- ewarn "may face problems parsing any XML documents."
- fi
-
- if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
- einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
- fi
-
- if [[ "$(gcc-major-version)" -ge 4 ]]; then
- append-flags -fwrapv
- fi
-
- filter-flags -malign-double
-
- # https://bugs.gentoo.org/show_bug.cgi?id=50309
- if is-flagq -O3; then
- is-flagq -fstack-protector-all && replace-flags -O3 -O2
- use hardened && replace-flags -O3 -O2
- fi
-
- # Export CXX so it ends up in /usr/lib/python3.X/config/Makefile.
- tc-export CXX
-
- # Set LDFLAGS so we link modules with -lpython3.2 correctly.
- # Needed on FreeBSD unless Python 3.2 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- # Fix implicit declarations on cross and prefix builds. Bug #674070.
- use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
-
- local dbmliborder
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- 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
- $(use_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-system-ffi
- )
-
- OPT="" econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # Ensure sed works as expected
- # https://bugs.gentoo.org/594768
- local -x LC_ALL=C
-
- #The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay
-
- # extract the number of parallel jobs in MAKEOPTS
- echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null
- if [ $? -eq 0 ]; then
- par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')"
- else
- par_arg=""
- fi
- export par_arg
-
- if use pgo; then
- emake profile-opt PROFILE_TASK="-m test -x test_gdb test_compileall -j $(nproc) --pgo-extended"
- else
- emake CPPFLAGS= CFLAGS= LDFLAGS=
- fi
-
- # 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
-
- # Skip failing tests.
- local skipped_tests="gdb"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
-
- local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
-
- emake test EXTRATESTOPTS="-u-network -j${jobs}" \
- CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local result=$?
-
- for test in ${skipped_tests}; do
- mv "${T}/test_${test}.py" "${S}"/Lib/test
- done
-
- elog "The following tests have been skipped:"
- for test in ${skipped_tests}; do
- elog "test_${test}.py"
- done
-
- elog "If you would like to run them, you may:"
- elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
- elog "and run the tests separately."
-
- if [[ ${result} -ne 0 ]]; then
- die "emake test failed"
- fi
-}
-
-src_install() {
- local libdir=${ED}/usr/lib/python${PYVER}
-
- emake DESTDIR="${D}" altinstall
-
- # Remove static library
- rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
-
- sed \
- -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
- -e "s/\(PY_LDFLAGS=\).*/\1/" \
- -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
-
- # 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
-
- use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
- use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
-
- use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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"
-
- local -x EPYTHON=python${PYVER}
- # if not using a cross-compiler, use the fresh binary
- if ! tc-is-cross-compiler; then
- local -x PYTHON=./python
- local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
- else
- local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
- fi
-
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_domodule epython.py
-
- # python-exec wrapping support
- local pymajor=${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, pyvenv
- ln -s "../../../bin/2to3-${PYVER}" \
- "${scriptdir}/2to3" || die
- ln -s "../../../bin/pydoc${PYVER}" \
- "${scriptdir}/pydoc" || die
- ln -s "../../../bin/pyvenv-${PYVER}" \
- "${scriptdir}/pyvenv" || die
- # idle
- if use tk; then
- ln -s "../../../bin/idle${PYVER}" \
- "${scriptdir}/idle" || die
- fi
-}
-
-pkg_preinst() {
- if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
- python_updater_warning="1"
- fi
-}
-
-eselect_python_update() {
- if [[ -z "$(eselect python show)" || \
- ! -f "${EROOT}/usr/bin/$(eselect python show)" ]]; then
- eselect python update
- fi
-
- if [[ -z "$(eselect python show --python${PV%%.*})" || \
- ! -f "${EROOT}/usr/bin/$(eselect python show --python${PV%%.*})" ]]
- then
- eselect python update --python${PV%%.*}
- fi
-}
-
-pkg_postinst() {
- eselect_python_update
-
- if [[ "${python_updater_warning}" == "1" ]]; then
- ewarn "You have just upgraded from an older version of Python."
- ewarn
- ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
- fi
-}
-
-pkg_postrm() {
- eselect_python_update
-}
D dev-lang/python/python-3.8.6-r1.ebuild => dev-lang/python/python-3.8.6-r1.ebuild +0 -370
@@ 1,370 0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-WANT_LIBTOOL="none"
-
-inherit autotools flag-o-matic multiprocessing pax-utils \
- python-utils-r1 toolchain-funcs
-
-MY_P="Python-${PV}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-${PV}"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/"
-SRC_URI="https://www.python.org/ftp/python/${PV}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml pgo"
-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:=
- dev-libs/libffi:=
- sys-apps/util-linux:=
- >=sys-libs/zlib-1.1.3:=
- virtual/libcrypt:=
- virtual/libintl
- gdbm? ( sys-libs/gdbm:=[berkdb] )
- ncurses? ( >=sys-libs/ncurses-5.2:= )
- readline? ( >=sys-libs/readline-4.1:= )
- sqlite? ( >=dev-db/sqlite-3.3.8:3= )
- ssl? (
- !libressl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- tk? (
- >=dev-lang/tcl-8.0:=
- >=dev-lang/tk-8.0:=
- dev-tcltk/blt:=
- dev-tcltk/tix
- )
- xml? ( >=dev-libs/expat-2.1:= )"
-# bluetooth requires headers from bluez
-DEPEND="${RDEPEND}
- bluetooth? ( net-wireless/bluez )
- test? ( app-arch/xz-utils[extra-filters(+)] )
- virtual/pkgconfig
- !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-src_prepare() {
- # Ensure that internal copies of expat, libffi and zlib are not used.
- rm -fr Modules/expat || die
- rm -fr Modules/_ctypes/libffi* || die
- rm -fr Modules/zlib || die
-
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- default
-
- sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
- setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
- # force correct number of jobs
- # https://bugs.gentoo.org/737660
- local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
- sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
- sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
-
- eautoreconf
-}
-
-src_configure() {
- local disable
- # disable automagic bluetooth headers detection
- use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
- use gdbm || disable+=" gdbm"
- use ncurses || disable+=" _curses _curses_panel"
- use readline || disable+=" readline"
- use sqlite || disable+=" _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL="1"
- use tk || disable+=" _tkinter"
- use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
- export PYTHON_DISABLE_MODULES="${disable}"
-
- if ! use xml; then
- ewarn "You have configured Python without XML support."
- ewarn "This is NOT a recommended configuration as you"
- ewarn "may face problems parsing any XML documents."
- fi
-
- if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
- einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
- fi
-
- if [[ "$(gcc-major-version)" -ge 4 ]]; then
- append-flags -fwrapv
- fi
-
- filter-flags -malign-double
-
- # https://bugs.gentoo.org/show_bug.cgi?id=50309
- if is-flagq -O3; then
- is-flagq -fstack-protector-all && replace-flags -O3 -O2
- use hardened && replace-flags -O3 -O2
- fi
-
- # 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.
- tc-export CXX
-
- # Set LDFLAGS so we link modules with -lpython3.2 correctly.
- # Needed on FreeBSD unless Python 3.2 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- # Fix implicit declarations on cross and prefix builds. Bug #674070.
- use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
-
- local dbmliborder
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- 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
- $(use_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-system-ffi
- )
-
- OPT="" econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # Ensure sed works as expected
- # https://bugs.gentoo.org/594768
- local -x LC_ALL=C
-
- #The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay
-
- # extract the number of parallel jobs in MAKEOPTS
- echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null
- if [ $? -eq 0 ]; then
- par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')"
- else
- par_arg=""
- fi
- export par_arg
-
- if use pgo; then
- emake profile-opt PROFILE_TASK="-m test -x test_gdb test_compileall -j $(nproc) --pgo-extended"
- else
- emake CPPFLAGS= CFLAGS= LDFLAGS=
- fi
-
- # 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
-
- # Skip failing tests.
- local skipped_tests="gdb"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
-
- local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
-
- emake test EXTRATESTOPTS="-u-network -j${jobs}" \
- CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local result=$?
-
- for test in ${skipped_tests}; do
- mv "${T}/test_${test}.py" "${S}"/Lib/test
- done
-
- elog "The following tests have been skipped:"
- for test in ${skipped_tests}; do
- elog "test_${test}.py"
- done
-
- elog "If you would like to run them, you may:"
- elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
- elog "and run the tests separately."
-
- if [[ ${result} -ne 0 ]]; then
- die "emake test failed"
- fi
-}
-
-src_install() {
- local libdir=${ED}/usr/lib/python${PYVER}
-
- emake DESTDIR="${D}" altinstall
-
- # Remove static library
- rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
-
- sed \
- -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
- -e "s/\(PY_LDFLAGS=\).*/\1/" \
- -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
-
- # 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
-
- use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
- use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || die
-
- use wininst || rm "${libdir}/distutils/command/"wininst-*.exe || 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 "${S}"/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"
-
- local -x EPYTHON=python${PYVER}
- # if not using a cross-compiler, use the fresh binary
- if ! tc-is-cross-compiler; then
- local -x PYTHON=./python
- local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
- else
- local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
- fi
-
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_domodule epython.py
-
- # python-exec wrapping support
- local pymajor=${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_preinst() {
- if has_version "<${CATEGORY}/${PN}-${PYVER}" && ! has_version ">=${CATEGORY}/${PN}-${PYVER}_alpha"; then
- python_updater_warning="1"
- fi
-}
-
-eselect_python_update() {
- if [[ -z "$(eselect python show)" || \
- ! -f "${EROOT}/usr/bin/$(eselect python show)" ]]; then
- eselect python update
- fi
-
- if [[ -z "$(eselect python show --python${PV%%.*})" || \
- ! -f "${EROOT}/usr/bin/$(eselect python show --python${PV%%.*})" ]]
- then
- eselect python update --python${PV%%.*}
- fi
-}
-
-pkg_postinst() {
- eselect_python_update
-
- if [[ "${python_updater_warning}" == "1" ]]; then
- ewarn "You have just upgraded from an older version of Python."
- ewarn
- ewarn "Please adjust PYTHON_TARGETS (if so desired), and run emerge with the --newuse or --changed-use option to rebuild packages installing python modules."
- fi
-}
-
-pkg_postrm() {
- eselect_python_update
-}
D dev-lang/python/python-3.9.0-r1.ebuild => dev-lang/python/python-3.9.0-r1.ebuild +0 -346
@@ 1,346 0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="7"
-WANT_LIBTOOL="none"
-
-inherit autotools check-reqs flag-o-matic multiprocessing pax-utils \
- python-utils-r1 toolchain-funcs
-
-MY_P="Python-${PV/_/}"
-PYVER=$(ver_cut 1-2)
-PATCHSET="python-gentoo-patches-3.9.0rc1"
-
-DESCRIPTION="An interpreted, interactive, object-oriented programming language"
-HOMEPAGE="https://www.python.org/"
-SRC_URI="https://www.python.org/ftp/python/${PV%_*}/${MY_P}.tar.xz
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="PSF-2"
-SLOT="${PYVER}"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="bluetooth build examples gdbm hardened ipv6 libressl +ncurses +readline sqlite +ssl test tk wininst +xml pgo"
-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:=
- dev-libs/libffi:=
- sys-apps/util-linux:=
- >=sys-libs/zlib-1.1.3:=
- virtual/libcrypt:=
- virtual/libintl
- gdbm? ( sys-libs/gdbm:=[berkdb] )
- ncurses? ( >=sys-libs/ncurses-5.2:= )
- readline? ( >=sys-libs/readline-4.1:= )
- sqlite? ( >=dev-db/sqlite-3.3.8:3= )
- ssl? (
- !libressl? ( dev-libs/openssl:= )
- libressl? ( dev-libs/libressl:= )
- )
- tk? (
- >=dev-lang/tcl-8.0:=
- >=dev-lang/tk-8.0:=
- dev-tcltk/blt:=
- dev-tcltk/tix
- )
- xml? ( >=dev-libs/expat-2.1:= )"
-# bluetooth requires headers from bluez
-DEPEND="${RDEPEND}
- bluetooth? ( net-wireless/bluez )
- test? ( app-arch/xz-utils[extra-filters(+)] )
- virtual/pkgconfig
- !sys-devel/gcc[libffi(-)]"
-RDEPEND+=" !build? ( app-misc/mime-types )"
-PDEPEND=">=app-eselect/eselect-python-20140125-r1"
-
-# large file tests involve a 2.5G file being copied (duplicated)
-CHECKREQS_DISK_BUILD=5500M
-
-pkg_pretend() {
- use test && check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- use test && check-reqs_pkg_setup
-}
-
-src_prepare() {
- # Ensure that internal copies of expat, libffi and zlib are not used.
- rm -fr Modules/expat || die
- rm -fr Modules/_ctypes/libffi* || die
- rm -fr Modules/zlib || die
-
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
-
- default
-
- sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
- setup.py || die "sed failed to replace @@GENTOO_LIBDIR@@"
-
- # force correct number of jobs
- # https://bugs.gentoo.org/737660
- local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
- sed -i -e "s:-j0:-j${jobs}:" Makefile.pre.in || die
- sed -i -e "/self\.parallel/s:True:${jobs}:" setup.py || die
-
- eautoreconf
-}
-
-src_configure() {
- local disable
- # disable automagic bluetooth headers detection
- use bluetooth || export ac_cv_header_bluetooth_bluetooth_h=no
- use gdbm || disable+=" gdbm"
- use ncurses || disable+=" _curses _curses_panel"
- use readline || disable+=" readline"
- use sqlite || disable+=" _sqlite3"
- use ssl || export PYTHON_DISABLE_SSL="1"
- use tk || disable+=" _tkinter"
- use xml || disable+=" _elementtree pyexpat" # _elementtree uses pyexpat.
- export PYTHON_DISABLE_MODULES="${disable}"
-
- if ! use xml; then
- ewarn "You have configured Python without XML support."
- ewarn "This is NOT a recommended configuration as you"
- ewarn "may face problems parsing any XML documents."
- fi
-
- if [[ -n "${PYTHON_DISABLE_MODULES}" ]]; then
- einfo "Disabled modules: ${PYTHON_DISABLE_MODULES}"
- fi
-
- if [[ "$(gcc-major-version)" -ge 4 ]]; then
- append-flags -fwrapv
- fi
-
- filter-flags -malign-double
-
- # https://bugs.gentoo.org/show_bug.cgi?id=50309
- if is-flagq -O3; then
- is-flagq -fstack-protector-all && replace-flags -O3 -O2
- use hardened && replace-flags -O3 -O2
- fi
-
- # 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.
- tc-export CXX
-
- # Set LDFLAGS so we link modules with -lpython3.2 correctly.
- # Needed on FreeBSD unless Python 3.2 is already installed.
- # Please query BSD team before removing this!
- append-ldflags "-L."
-
- # Fix implicit declarations on cross and prefix builds. Bug #674070.
- use ncurses && append-cppflags -I"${ESYSROOT}"/usr/include/ncursesw
-
- local dbmliborder
- if use gdbm; then
- dbmliborder+="${dbmliborder:+:}gdbm"
- 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
- $(use_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-system-ffi
- )
-
- OPT="" econf "${myeconfargs[@]}"
-}
-
-src_compile() {
- # Ensure sed works as expected
- # https://bugs.gentoo.org/594768
- local -x LC_ALL=C
-
- #The following code borrowed from https://github.com/stefantalpalaru/gentoo-overlay
-
- # extract the number of parallel jobs in MAKEOPTS
- echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' > /dev/null
- if [ $? -eq 0 ]; then
- par_arg="-j$(echo ${MAKEOPTS} | egrep -o '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' | tail -n1 | egrep -o '[[:digit:]]+')"
- else
- par_arg=""
- fi
- export par_arg
-
- if use pgo; then
- emake profile-opt PROFILE_TASK="-m test -x test_gdb test_compileall -j $(nproc) --pgo-extended"
- else
- emake CPPFLAGS= CFLAGS= LDFLAGS=
- fi
-
- # 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
-
- # Skip failing tests.
- local skipped_tests="gdb"
-
- for test in ${skipped_tests}; do
- mv "${S}"/Lib/test/test_${test}.py "${T}"
- done
-
- # bug 660358
- local -x COLUMNS=80
- local -x PYTHONDONTWRITEBYTECODE=
-
- local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
-
- emake test EXTRATESTOPTS="-u-network -j${jobs}" \
- CPPFLAGS= CFLAGS= LDFLAGS= < /dev/tty
- local result=$?
-
- for test in ${skipped_tests}; do
- mv "${T}/test_${test}.py" "${S}"/Lib/test
- done
-
- elog "The following tests have been skipped:"
- for test in ${skipped_tests}; do
- elog "test_${test}.py"
- done
-
- elog "If you would like to run them, you may:"
- elog "cd '${EPREFIX}/usr/lib/python${PYVER}/test'"
- elog "and run the tests separately."
-
- if [[ ${result} -ne 0 ]]; then
- die "emake test failed"
- fi
-}
-
-src_install() {
- local libdir=${ED}/usr/lib/python${PYVER}
-
- emake DESTDIR="${D}" altinstall
-
- # Remove static library
- rm "${ED}"/usr/$(get_libdir)/libpython*.a || die
-
- sed \
- -e "s/\(CONFIGURE_LDFLAGS=\).*/\1/" \
- -e "s/\(PY_LDFLAGS=\).*/\1/" \
- -i "${libdir}/config-${PYVER}"*/Makefile || die "sed failed"
-
- # 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
-
- use sqlite || rm -r "${libdir}/"{sqlite3,test/test_sqlite*} || die
- use tk || rm -r "${ED}/usr/bin/idle${PYVER}" "${libdir}/"{idlelib,tkinter,test/test_tk*} || 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 "${S}"/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"
-
- local -x EPYTHON=python${PYVER}
- # if not using a cross-compiler, use the fresh binary
- if ! tc-is-cross-compiler; then
- local -x PYTHON=./python
- local -x LD_LIBRARY_PATH=${LD_LIBRARY_PATH+${LD_LIBRARY_PATH}:}${PWD}
- else
- local -x PYTHON=${EPREFIX}/usr/bin/${EPYTHON}
- fi
-
- echo "EPYTHON='${EPYTHON}'" > epython.py || die
- python_domodule epython.py
-
- # python-exec wrapping support
- local pymajor=${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
-}
D games-fps/gzdoom/files/gzdoom-4.2.1-install_soundfonts.patch => games-fps/gzdoom/files/gzdoom-4.2.1-install_soundfonts.patch +0 -34
@@ 1,34 0,0 @@
-From 2d1c7ba17cac3ccd201e77ad01a9dd06ab22cb2e Mon Sep 17 00:00:00 2001
-From: William Breathitt Gray <vilhelm.gray@gmail.com>
-Date: Thu, 13 Jun 2019 18:01:08 +0900
-Subject: [PATCH] Install soundfonts and WOPL/WOPN banks
-
-The INSTALL_SOUNDFONT_PATH cache entry is used to configure the
-installation directory.
----
- src/CMakeLists.txt | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 0bb16f39e..4ff15062d 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -1451,6 +1451,15 @@ add_custom_command(TARGET zdoom POST_BUILD
- ${CMAKE_SOURCE_DIR}/fm_banks/gs-by-papiezak-and-sneakernets.wopn $<TARGET_FILE_DIR:zdoom>/fm_banks/gs-by-papiezak-and-sneakernets.wopn
- )
-
-+if( WIN32 )
-+ set( INSTALL_SOUNDFONT_PATH . CACHE STRING "Directory where soundfonts and WOPL/WOPN banks will be placed during install." )
-+else()
-+ set( INSTALL_SOUNDFONT_PATH share/games/doom CACHE STRING "Directory where soundfonts and WOPL/WOPN banks will be placed during install." )
-+endif()
-+install(FILES "${PROJECT_BINARY_DIR}/soundfonts" "${PROJECT_BINARY_DIR}/fm_banks"
-+ DESTINATION ${INSTALL_SOUNDFONT_PATH}
-+ COMPONENT "Soundfont resources")
-+
- if( CMAKE_COMPILER_IS_GNUCXX )
- # GCC misoptimizes this file
- set_source_files_properties( oplsynth/fmopl.cpp PROPERTIES COMPILE_FLAGS "-fno-tree-dominator-opts -fno-tree-fre" )
---
-2.21.0
-
D games-fps/gzdoom/files/gzdoom-4.4.2-Introduce-the-BUILD_NONFREE-option.patch => games-fps/gzdoom/files/gzdoom-4.4.2-Introduce-the-BUILD_NONFREE-option.patch +0 -20
@@ 1,20 0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4e59452..0ca0b39 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -393,9 +393,13 @@ add_subdirectory( libraries/lzma )
- add_subdirectory( tools )
- add_subdirectory( libraries/gdtoa )
- add_subdirectory( wadsrc )
--add_subdirectory( wadsrc_bm )
- add_subdirectory( wadsrc_lights )
--add_subdirectory( wadsrc_extra )
-+option (BUILD_NONFREE "Build nonfree components" ON)
-+if( BUILD_NONFREE )
-+ add_subdirectory( wadsrc_bm )
-+ add_subdirectory( wadsrc_extra )
-+endif()
-+
- add_subdirectory( src )
-
- if( NOT CMAKE_CROSSCOMPILING )
D games-fps/gzdoom/files/gzdoom-4.4.2-static-link-spirv.patch => games-fps/gzdoom/files/gzdoom-4.4.2-static-link-spirv.patch +0 -27
@@ 1,27 0,0 @@
-From c1090c972581d2f08972f79fef0bcb81eeb67d16 Mon Sep 17 00:00:00 2001
-From: William Breathitt Gray <vilhelm.gray@gmail.com>
-Date: Wed, 17 Jun 2020 15:17:49 -0400
-Subject: [PATCH] Force STATIC for internal GZDoom SPIRV library
-
-This makes sure the internal version of this library bundled with the
-GZDoom source code is used. This prevents the system from building
-GZDoom for dynamic linking with an incompatible external library (see
-commit 6fafa297bfe0f82696d898d66e39c50f4f5eef16 and
-<https://forum.zdoom.org/viewtopic.php?f=2&t=64633>).
----
- libraries/glslang/spirv/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libraries/glslang/spirv/CMakeLists.txt b/libraries/glslang/spirv/CMakeLists.txt
-index 453ac16b5d..d39a6e3009 100644
---- a/libraries/glslang/spirv/CMakeLists.txt
-+++ b/libraries/glslang/spirv/CMakeLists.txt
-@@ -49,7 +49,7 @@ set(SPVREMAP_HEADERS
- SPVRemapper.h
- doc.h)
-
--add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS})
-+add_library(SPIRV STATIC ${LIB_TYPE} ${SOURCES} ${HEADERS})
- set_property(TARGET SPIRV PROPERTY FOLDER glslang)
- set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)
- target_include_directories(SPIRV PUBLIC
D games-fps/gzdoom/gzdoom-4.4.2.ebuild => games-fps/gzdoom/gzdoom-4.4.2.ebuild +0 -81
@@ 1,81 0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake desktop xdg
-
-DESCRIPTION="A modder-friendly OpenGL source port based on the DOOM engine"
-HOMEPAGE="https://zdoom.org"
-SRC_URI="https://github.com/coelckers/${PN}/archive/g${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD BZIP2 DUMB-0.9.3 GPL-3 LGPL-3
- non-free? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
-IUSE="alsa gtk gtk2 +non-free openmp"
-
-DEPEND="
- media-libs/zmusic
- media-libs/libsdl2[opengl]
- media-libs/openal
- sys-libs/zlib
- virtual/jpeg:0
- alsa? ( media-libs/alsa-lib )
- gtk? (
- gtk2? ( x11-libs/gtk+:2 )
- !gtk2? ( x11-libs/gtk+:3 )
- )"
-RDEPEND="${DEPEND}"
-
-S="${WORKDIR}/${PN}-g${PV}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.2.1-install_soundfonts.patch"
- "${FILESDIR}/${PN}-4.4.2-Introduce-the-BUILD_NONFREE-option.patch"
- "${FILESDIR}/${PN}-4.4.2-static-link-spirv.patch"
-)
-
-src_prepare() {
- rm -rf docs/licenses || die
- if ! use non-free ; then
- rm -rf wadsrc_bm wadsrc_extra || die
- fi
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DINSTALL_DOCS_PATH="${EPREFIX}/usr/share/doc/${PF}"
- -DINSTALL_PK3_PATH="${EPREFIX}/usr/share/doom"
- -DINSTALL_SOUNDFONT_PATH="${EPREFIX}/usr/share/doom"
- -DDYN_OPENAL=OFF
- -DNO_GTK="$(usex !gtk)"
- -DNO_OPENAL=OFF
- -DNO_OPENMP="$(usex !openmp)"
- -DBUILD_NONFREE="$(usex non-free)"
- -DCMAKE_DISABLE_FIND_PACKAGE_ALSA="$(usex !alsa)"
- )
- cmake_src_configure
-}
-
-src_install() {
- newicon src/posix/zdoom.xpm "${PN}.xpm"
- make_desktop_entry "${PN}" "GZDoom" "${PN}" "Game;ActionGame"
- cmake_src_install
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- if ! use non-free ; then
- ewarn
- ewarn "GZDoom installed without non-free components."
- ewarn "Note: The non-free game_support.pk3 file is needed to play"
- ewarn " games natively supported by GZDoom."
- ewarn "A list of games natively supported by GZDoom is available"
- ewarn "on the ZDoom wiki: https://zdoom.org/wiki/IWAD"
- ewarn
- fi
-}
D games-fps/gzdoom/metadata.xml => games-fps/gzdoom/metadata.xml +0 -30
@@ 1,30 0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <longdescription lang="en">
- GZDoom is a modder-friendly OpenGL source port based on the DOOM engine
- </longdescription>
- <maintainer type="person">
- <email>vilhelm.gray@gmail.com</email>
- <name>William Breathitt Gray</name>
- </maintainer>
- <maintainer type="project">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="project">
- <email>games@gentoo.org</email>
- <name>Gentoo Games Project</name>
- </maintainer>
- <use>
- <flag name="fluidsynth">Enable support for MIDI via <pkg>media-sound/fluidsynth</pkg></flag>
- <flag name="gtk2">Enable support for GTK+2 instead of GTK+3</flag>
- <flag name="mpg123">Enable support for MPEG audio playback via <pkg>media-sound/mpg123</pkg></flag>
- <flag name="non-free">Enable non-free components</flag>
- </use>
- <upstream>
- <bugs-to>https://forum.zdoom.org/viewforum.php?f=2</bugs-to>
- <doc lang="en">https://zdoom.org</doc>
- <remote-id type="github">coelckers/gzdoom</remote-id>
- </upstream>
-</pkgmetadata>
M games-fps/quake3e/quake3e-9999.ebuild => games-fps/quake3e/quake3e-9999.ebuild +19 -26
@@ 1,8 1,8 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=5
-inherit eutils flag-o-matic toolchain-funcs games git-r3
+EAPI=6
+inherit eutils flag-o-matic toolchain-funcs git-r3
DESCRIPTION="Quake III Arena - 3rd installment of the classic id 3D first-person shooter"
HOMEPAGE="http://www.edawn-mod.org/"
@@ 11,9 11,8 @@ EGIT_REPO_URI=https://github.com/ec-/Quake3e
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86 ~x86-fbsd"
-# "smp" is omitted, because currently it does not work.
-IUSE="dedicated opengl teamarena curl vorbis"
+KEYWORDS="~amd64 ~x86"
+IUSE="curl dedicated opengl sdl teamarena vorbis"
UIDEPEND="virtual/opengl
x11-libs/libX11
@@ 23,16 22,17 @@ UIDEPEND="virtual/opengl
dev-libs/libbsd
x11-libs/libXau
x11-libs/libXxf86dga
+ media-libs/libjpeg-turbo
vorbis? (
media-libs/libogg
media-libs/libvorbis
)
- curl? ( net-misc/curl )"
+ curl? ( net-misc/curl )
+ sdl? ( media-libs/libsdl2 )
+"
DEPEND="opengl? ( ${UIDEPEND} )
!dedicated? ( ${UIDEPEND} )"
-RDEPEND="${DEPEND}
- games-fps/quake3-data
- teamarena? ( games-fps/quake3-teamarena )"
+RDEPEND="${DEPEND}"
my_arch() {
case "${ARCH}" in
@@ 47,28 47,25 @@ my_platform() {
}
src_compile() {
-
- buildit() { use $1 && echo 1 || echo 0 ; }
-
# This is the easiest way to pass CPPFLAGS to the build system, which
# are otherwise ignored.
append-flags ${CPPFLAGS}
# OPTIMIZE is disabled in favor of CFLAGS.
- #
- # TODO: BUILD_CLIENT_SMP=$(buildit smp)
emake \
ARCH="$(my_arch)" \
V=1 \
- BUILD_CLIENT=$(( $(buildit opengl) | $(buildit !dedicated) )) \
- BUILD_SERVER=$(buildit dedicated) \
- DEFAULT_BASEDIR="${GAMES_DATADIR}/${PN}" \
+ BUILD_CLIENT=$(($(usex opengl 1 0) | $(buildit !dedicated))) \
+ BUILD_SERVER=$(usex dedicated 1 0) \
+ DEFAULT_BASEDIR="${EPREFIX}/usr/share/${PN}" \
GENERATE_DEPENDENCIES=0 \
OPTIMIZE="" \
PLATFORM="$(my_platform)" \
- USE_CODEC_VORBIS=$(buildit vorbis) \
- USE_CURL=$(buildit curl) \
+ USE_CODEC_VORBIS=$(usex vorbis 1 0) \
+ USE_CURL=$(usex curl 1 0) \
USE_CURL_DLOPEN=1 \
+ USE_SDL=$(usex sdl 1 0) \
+ USE_SYSTEM_JPEG=1 \
USE_LOCAL_HEADERS=0
}
@@ 86,17 83,13 @@ src_install() {
if [ -x ${exe} ]
then
target=${exe%.$(my_arch)}
- newgamesbin ${exe} ${target}
- dosym ${target} "${GAMES_BINDIR}/${target/quake3e/quake3}"
+ newbin "${exe}" "${target}"
+ dosym "${target}" "${DESTTREE}/bin/${target/quake3e/quake3}"
fi
done
-
- prepgamesdirs
}
pkg_postinst() {
- games_pkg_postinst
-
ewarn "The source version of Quake III Arena will not work with PunkBuster."
ewarn "If you need PB support, then use the games-fps/quake3-bin package."
}
M media-fonts/source-han-serif/source-han-serif-1.001.ebuild => media-fonts/source-han-serif/source-han-serif-1.001.ebuild +2 -2
@@ 1,7 1,7 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
inherit font
# Note to maintainers:
D media-gfx/darktable/darktable-3.2.1-r2.ebuild => media-gfx/darktable/darktable-3.2.1-r2.ebuild +0 -158
@@ 1,158 0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-LUA_COMPAT=( lua5-3 )
-
-inherit cmake flag-o-matic lua-single toolchain-funcs xdg
-
-DOC_PV="3.0.0"
-MY_PV="${PV/_/}"
-MY_P="${P/_/.}"
-
-DESCRIPTION="A virtual lighttable and darkroom for photographers"
-HOMEPAGE="https://www.darktable.org/"
-SRC_URI="https://github.com/darktable-org/${PN}/releases/download/release-${MY_PV}/${MY_P}.tar.xz
- doc? ( https://github.com/darktable-org/${PN}/releases/download/release-${DOC_PV}/${PN}-usermanual.pdf -> ${PN}-usermanual-${DOC_PV}.pdf )"
-
-LICENSE="GPL-3 CC-BY-3.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-LANGS=" de es fr he it pl pt-BR ru sl"
-IUSE="colord cups cpu_flags_x86_sse3 doc flickr geolocation gmic gnome-keyring gphoto2 graphicsmagick jpeg2k kwallet
- lto lua nls opencl openmp openexr system-lua tools webp
- ${LANGS// / l10n_}"
-
-REQUIRED_USE="system-lua? ( lua ${LUA_REQUIRED_USE} )"
-
-BDEPEND="
- dev-util/intltool
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
-"
-COMMON_DEPEND="
- dev-db/sqlite:3
- dev-libs/json-glib
- dev-libs/libxml2:2
- >=dev-libs/pugixml-1.8:0=
- gnome-base/librsvg:2
- >=media-gfx/exiv2-0.25-r2:0=[xmp]
- media-libs/lcms:2
- >=media-libs/lensfun-0.2.3:0=
- media-libs/libpng:0=
- media-libs/tiff:0
- net-misc/curl
- sys-libs/zlib:=
- virtual/jpeg:0
- x11-libs/cairo
- >=x11-libs/gtk+-3.22:3
- x11-libs/pango
- colord? ( x11-libs/colord-gtk:0= )
- cups? ( net-print/cups )
- flickr? ( media-libs/flickcurl )
- geolocation? ( >=sci-geosciences/osm-gps-map-1.1.0 net-libs/libsoup:2.4 )
- gmic? ( media-gfx/gmic )
- gnome-keyring? ( >=app-crypt/libsecret-0.18 )
- gphoto2? ( media-libs/libgphoto2:= )
- graphicsmagick? ( media-gfx/graphicsmagick )
- jpeg2k? ( media-libs/openjpeg:2= )
- opencl? ( virtual/opencl )
- openexr? ( media-libs/openexr:0= )
- system-lua? ( ${LUA_DEPS} )
- webp? ( media-libs/libwebp:0= )
-"
-DEPEND="${COMMON_DEPEND}
- opencl? (
- >=sys-devel/clang-4
- >=sys-devel/llvm-4
- )
-"
-RDEPEND="${COMMON_DEPEND}
- kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 )
-"
-
-PATCHES=(
- "${FILESDIR}"/"${PN}"-find-opencl-header.patch
- "${FILESDIR}"/${PN}-3.0.2_cmake-march-autodetection.patch
- "${FILESDIR}"/${PN}-3.0.2_jsonschema-automagic.patch
-)
-
-S="${WORKDIR}/${P/_/~}"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # Bug #695658
- if tc-is-gcc; then
- test-flags-CC -floop-block &> /dev/null || \
- die "Please switch to a gcc version built with USE=graphite"
- fi
-
- if use openmp ; then
- tc-has-openmp || die "Please switch to an openmp compatible compiler"
- fi
- fi
-}
-
-src_prepare() {
- use cpu_flags_x86_sse3 && append-flags -msse3
-
- sed -i -e 's:/appdata:/metainfo:g' data/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # As of darktable-3.2.1, AVIF support is not compatible with >=media-libs/libavif-0.8.0; see Bug #751352.
- local mycmakeargs=(
- -DBUILD_CURVE_TOOLS=$(usex tools)
- -DBUILD_NOISE_TOOLS=$(usex tools)
- -DBUILD_PRINT=$(usex cups)
- -DCUSTOM_CFLAGS=ON
- -DDONT_USE_INTERNAL_LUA=$(usex system-lua)
- -DRAWSPEED_ENABLE_LTO=$(usex lto)
- -DUSE_AVIF=no
- -DUSE_CAMERA_SUPPORT=$(usex gphoto2)
- -DUSE_COLORD=$(usex colord)
- -DUSE_FLICKR=$(usex flickr)
- -DUSE_GMIC=$(usex gmic)
- -DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
- -DUSE_KWALLET=$(usex kwallet)
- -DUSE_LIBSECRET=$(usex gnome-keyring)
- -DUSE_LUA=$(usex lua)
- -DUSE_MAP=$(usex geolocation)
- -DUSE_NLS=$(usex nls)
- -DUSE_OPENCL=$(usex opencl)
- -DUSE_OPENEXR=$(usex openexr)
- -DUSE_OPENJPEG=$(usex jpeg2k)
- -DUSE_OPENMP=$(usex openmp)
- -DUSE_WEBP=$(usex webp)
- )
- CMAKE_BUILD_TYPE="RELWITHDEBINFO"
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- use doc && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.pdf
-
- if use nls ; then
- for lang in ${LANGS} ; do
- if ! use l10n_${lang}; then
- rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
- fi
- done
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- elog
- elog "When updating a major version,"
- elog "please bear in mind that your edits will be preserved during this process,"
- elog "but it will not be possible to downgrade any more."
- elog
- ewarn "It will not be possible to downgrade!"
- ewarn
-}
D media-gfx/darktable/files/darktable-3.0.2_jsonschema-automagic.patch => media-gfx/darktable/files/darktable-3.0.2_jsonschema-automagic.patch +0 -19
@@ 1,19 0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -319,15 +319,7 @@
- message(STATUS "Test-compilation of OpenCL programs is disabled.")
- endif()
-
--# we need jsonschema to check noiseprofiles.json
--find_program(jsonschema_BIN jsonschema)
--if(${jsonschema_BIN} STREQUAL "jsonschema_BIN-NOTFOUND")
-- message(STATUS "Missing jsonschema, problems in noiseprofiles.json might go unnoticed")
-- set(VALIDATE_JSON 0)
--else(${jsonschema_BIN} STREQUAL "jsonschema_BIN-NOTFOUND")
-- message(STATUS "Found jsonschema")
-- set(VALIDATE_JSON 1)
--endif(${jsonschema_BIN} STREQUAL "jsonschema_BIN-NOTFOUND")
-+set(VALIDATE_JSON 0)
-
- # we need an xslt interpreter to generate preferences_gen.h and darktablerc
- find_program(Xsltproc_BIN xsltproc)
D media-gfx/gimp/gimp-2.10.22.ebuild => media-gfx/gimp/gimp-2.10.22.ebuild +0 -205
@@ 1,205 0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-GNOME2_EAUTORECONF=yes
-WANT_AUTOMAKE=
-
-inherit autotools gnome2 toolchain-funcs virtualx
-
-DESCRIPTION="GNU Image Manipulation Program"
-HOMEPAGE="https://www.gimp.org/"
-SRC_URI="mirror://gimp/v2.10/${P}.tar.bz2"
-LICENSE="GPL-3 LGPL-3"
-SLOT="2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
-
-IUSE="aalib alsa aqua debug doc gnome heif jpeg2k mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse"
-
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=app-text/poppler-0.50[cairo]
- >=app-text/poppler-data-0.4.7
- >=dev-libs/atk-2.2.0
- >=dev-libs/glib-2.56.2:2
- >=dev-libs/json-glib-1.2.6
- dev-libs/libxml2:2
- dev-libs/libxslt
- >=gnome-base/librsvg-2.40.6:2
- >=media-gfx/mypaint-brushes-2.0.2:=
- >=media-libs/babl-0.1.78
- >=media-libs/fontconfig-2.12.4
- >=media-libs/freetype-2.1.7
- >=media-libs/gegl-0.4.26:0.4[cairo]
- >=media-libs/gexiv2-0.10.6
- >=media-libs/harfbuzz-0.9.19
- >=media-libs/lcms-2.8:2
- >=media-libs/libmypaint-1.3.0:=
- >=media-libs/libpng-1.6.25:0=
- >=media-libs/tiff-3.5.7:0
- net-libs/glib-networking[ssl]
- sys-libs/zlib
- virtual/jpeg
- >=x11-libs/cairo-1.12.2
- >=x11-libs/gdk-pixbuf-2.31:2
- >=x11-libs/gtk+-2.24.32:2
- x11-libs/libXcursor
- >=x11-libs/pango-1.29.4
- aalib? ( media-libs/aalib )
- alsa? ( >=media-libs/alsa-lib-1.0.0 )
- aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 )
- heif? ( >=media-libs/libheif-1.3.2:= )
- jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
- mng? ( media-libs/libmng:= )
- openexr? ( >=media-libs/openexr-1.6.1:= )
- postscript? ( app-text/ghostscript-gpl )
- udev? ( dev-libs/libgudev:= )
- unwind? ( >=sys-libs/libunwind-1.1.0:= )
- webp? ( >=media-libs/libwebp-0.6.0:= )
- wmf? ( >=media-libs/libwmf-0.2.8 )
- xpm? ( x11-libs/libXpm )
-"
-
-RDEPEND="
- ${COMMON_DEPEND}
- x11-themes/hicolor-icon-theme
- gnome? ( gnome-base/gvfs )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- >=dev-lang/perl-5.10.0
- dev-util/gtk-update-icon-cache
- >=dev-util/intltool-0.40.1
- sys-apps/findutils
- >=sys-devel/gettext-0.19
- >=sys-devel/libtool-2.2
- virtual/pkgconfig
-"
-
-DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" )
-
-src_prepare() {
- sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794
-
- sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864
- sed 's:-DGIMP_DISABLE_DEPRECATED:-DGIMP_protect_DISABLE_DEPRECATED:g' -i configure.ac || die #615144
-
- gnome2_src_prepare # calls eautoreconf
-
- sed 's:-DGIMP_protect_DISABLE_DEPRECATED:-DGIMP_DISABLE_DEPRECATED:g' -i configure || die #615144
- fgrep -q GIMP_DISABLE_DEPRECATED configure || die #615144, self-test
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-}
-
-_adjust_sandbox() {
- # Bugs #569738 and #591214
- local nv
- for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do
- # We do not check for existence as they may show up later
- # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21
- addwrite "${nv}"
- done
-
- addwrite /dev/dri/ # bugs #574038 and #684886
- addwrite /dev/ati/ # bug #589198
- addwrite /proc/mtrr # bug #589198
-}
-
-src_configure() {
- _adjust_sandbox
-
- local myconf=(
- GEGL="${EPREFIX}"/usr/bin/gegl-0.4
- GDBUS_CODEGEN="${EPREFIX}"/bin/false
-
- --enable-default-binary
-
- --disable-check-update
- --disable-python
- --enable-mp
- --without-appdata-test
- --with-bug-report-url=https://bugs.gentoo.org/
- --with-xmc
- --without-libbacktrace
- --without-webkit
- --without-xvfb-run
- $(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable cpu_flags_x86_mmx mmx)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable vector-icons)
- $(use_with aalib aa)
- $(use_with alsa)
- $(use_with !aqua x)
- $(use_with heif libheif)
- $(use_with jpeg2k jpeg2000)
- $(use_with mng libmng)
- $(use_with openexr)
- $(use_with postscript gs)
- $(use_with udev gudev)
- $(use_with unwind libunwind)
- $(use_with webp)
- $(use_with wmf)
- $(use_with xpm libxpm)
- )
-
- gnome2_src_configure "${myconf[@]}"
-}
-
-src_compile() {
- export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004
- gnome2_src_compile
-}
-
-# for https://bugs.gentoo.org/664938
-_rename_plugins() {
- einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...'
- local prepend=gimp-org-
- (
- cd "${ED%/}"/usr/$(get_libdir)/gimp/2.0/plug-ins || die
- for plugin_slash in $(ls -d1 */); do
- plugin=${plugin_slash%/}
- if [[ -f ${plugin}/${plugin} ]]; then
- # NOTE: Folder and file name need to match for Gimp to load that plug-in
- # so "file-svg/file-svg" becomes "${prepend}file-svg/${prepend}file-svg"
- mv ${plugin}/{,${prepend}}${plugin} || die
- mv {,${prepend}}${plugin} || die
- fi
- done
- )
-}
-
-src_test() {
- virtx emake check
-}
-
-src_install() {
- gnome2_src_install
-
- # Workaround for bug #321111 to give GIMP the least
- # precedence on PDF documents by default
- mv "${ED%/}"/usr/share/applications/{,zzz-}gimp.desktop || die
-
- find "${D}" -name '*.la' -type f -delete || die
-
- # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
- local gimp_app_version=$(get_version_component_range 1-2)
- mv "${ED%/}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die
-
- # Remove gimp devel-docs html files if user doesn't need it
- if ! use doc; then
- rm -r "${ED%/}"/usr/share/gtk-doc || die
- fi
-
- _rename_plugins || die
-}
-
-pkg_postinst() {
- gnome2_pkg_postinst
-}
-
-pkg_postrm() {
- gnome2_pkg_postrm
-}
D media-plugins/vapoursynth-havsfunc/vapoursynth-havsfunc-31.ebuild => media-plugins/vapoursynth-havsfunc/vapoursynth-havsfunc-31.ebuild +0 -57
@@ 1,57 0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{4,5,6,7} )
-
-inherit python-utils-r1 python-single-r1
-
-DESCRIPTION="HolyWu's ported AviSynth scripts for VapourSynth"
-HOMEPAGE="http://forum.doom9.org/showthread.php?t=166582"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/HomeOfVapourSynthEvolution/havsfunc.git"
- KEYWORDS=""
-else
- inherit vcs-snapshot
- SRC_URI="https://github.com/HomeOfVapourSynthEvolution/havsfunc/archive/r${PV}.tar.gz -> ${PN}-${PV}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE=""
-SLOT="0"
-IUSE="+fftw opencl"
-
-RDEPEND+="
- >=media-libs/vapoursynth-39[${PYTHON_USEDEP},vapoursynth_plugins_miscfilters]
- media-plugins/vapoursynth-addgrain
- media-plugins/vapoursynth-adjust
- media-plugins/vapoursynth-awarpsharp2
- media-plugins/vapoursynth-bilateral
- media-plugins/vapoursynth-ctmf
- media-plugins/vapoursynth-dctfilter
- media-plugins/vapoursynth-deblock
- fftw? ( media-plugins/vapoursynth-depan )
- fftw? ( media-plugins/vapoursynth-dfttest )
- media-plugins/vapoursynth-eedi2
- media-plugins/vapoursynth-eedi3
- media-plugins/vapoursynth-flash3kyuu_deband
- media-plugins/vapoursynth-fluxsmooth
- fftw? ( media-plugins/vapoursynth-fft3dfilter )
- media-plugins/vapoursynth-fmtconv
- media-plugins/vapoursynth-hqdn3d
- opencl? ( >=media-plugins/vapoursynth-knlmeanscl-1.0.2 )
- media-plugins/vapoursynth-mvsfunc
- fftw? ( media-plugins/vapoursynth-mvtools )
- opencl? ( media-plugins/vapoursynth-nnedi3cl )
- media-plugins/vapoursynth-nnedi3_resample
- media-plugins/vapoursynth-sangnom
- media-plugins/vapoursynth-znedi3
-"
-DEPEND="${RDEPEND}"
-
-src_install(){
- python_domodule havsfunc.py
-}
D media-plugins/vapoursynth-havsfunc/vapoursynth-havsfunc-9999.ebuild => media-plugins/vapoursynth-havsfunc/vapoursynth-havsfunc-9999.ebuild +0 -56
@@ 1,56 0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python3_{4,5,6,7} )
-
-inherit python-utils-r1 python-single-r1
-
-DESCRIPTION="HolyWu's ported AviSynth scripts for VapourSynth"
-HOMEPAGE="http://forum.doom9.org/showthread.php?t=166582"
-
-if [[ ${PV} == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/HomeOfVapourSynthEvolution/havsfunc.git"
- KEYWORDS=""
-else
- inherit vcs-snapshot
- SRC_URI="https://github.com/HomeOfVapourSynthEvolution/havsfunc/archive/r${PV}.tar.gz -> ${PN}-${PV}.tar.gz"
- KEYWORDS="~amd64 ~x86"
-fi
-
-LICENSE=""
-SLOT="0"
-IUSE="+fftw opencl"
-
-RDEPEND+="
- >=media-libs/vapoursynth-39[${PYTHON_USEDEP},vapoursynth_plugins_miscfilters]
- media-plugins/vapoursynth-addgrain
- media-plugins/vapoursynth-adjust
- media-plugins/vapoursynth-awarpsharp2
- media-plugins/vapoursynth-bilateral
- media-plugins/vapoursynth-ctmf
- media-plugins/vapoursynth-dctfilter
- media-plugins/vapoursynth-deblock
- fftw? ( media-plugins/vapoursynth-dfttest )
- media-plugins/vapoursynth-eedi2
- media-plugins/vapoursynth-eedi3
- media-plugins/vapoursynth-flash3kyuu_deband
- media-plugins/vapoursynth-fluxsmooth
- fftw? ( media-plugins/vapoursynth-fft3dfilter )
- media-plugins/vapoursynth-fmtconv
- media-plugins/vapoursynth-hqdn3d
- opencl? ( >=media-plugins/vapoursynth-knlmeanscl-1.0.2 )
- media-plugins/vapoursynth-mvsfunc
- fftw? ( media-plugins/vapoursynth-mvtools )
- opencl? ( media-plugins/vapoursynth-nnedi3cl )
- media-plugins/vapoursynth-nnedi3_resample
- media-plugins/vapoursynth-sangnom
- media-plugins/vapoursynth-znedi3
-"
-DEPEND="${RDEPEND}"
-
-src_install(){
- python_domodule havsfunc.py
-}
A sys-libs/libfixposix/libfixposix-0.4.3.ebuild => sys-libs/libfixposix/libfixposix-0.4.3.ebuild +23 -0
@@ 0,0 1,23 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="Thin wrapper over POSIX syscalls"
+HOMEPAGE="https://github.com/sionescu/libfixposix"
+SRC_URI="https://github.com/sionescu/libfixposix/archive/v${PV}.tar.gz -> libfixposix-${PV}.tar.gz"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="sys-libs/glibc"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ eautoreconf
+ default
+}
A www-client/nyxt/nyxt-9999.ebuild => www-client/nyxt/nyxt-9999.ebuild +49 -0
@@ 0,0 1,49 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools git-r3
+
+DESCRIPTION="Nyxt browser: the Internet on your terms"
+HOMEPAGE="https://nyxt.atlas.engineer/"
+EGIT_REPO_URI="https://github.com/atlas-engineer/nyxt.git"
+
+# TODO: Necessary to download dependencies. Otherwise, create dev-lisp packages.
+RESTRICT="network-sandbox"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ app-text/enchant:2
+ net-libs/glib-networking
+ dev-libs/gobject-introspection
+ gnome-base/gsettings-desktop-schemas
+ net-libs/webkit-gtk[introspection,spell]
+ dev-db/sqlite
+ sys-libs/libfixposix
+ x11-misc/xclip
+"
+BDEPEND="${DEPEND}"
+RDEPEND="
+ >=dev-lisp/sbcl-2.0.0
+ ${DEPEND}"
+
+src_compile(){
+ emake all
+}
+
+src_install(){
+ emake \
+ DESTDIR="${D}" \
+ PREFIX="/usr" \
+ install
+}
+
+pkg_postinst(){
+ elog "If pages do not render, "
+ elog "\"export WEBKIT_DISABLE_COMPOSITING_MODE=1\""
+ elog " and try again"
+}