diff options
-rw-r--r-- | dev-build/scons/Manifest | 4 | ||||
-rw-r--r-- | dev-build/scons/scons-4.8.1.ebuild | 157 |
2 files changed, 161 insertions, 0 deletions
diff --git a/dev-build/scons/Manifest b/dev-build/scons/Manifest index 5cd810290fab..b2b5de82efc5 100644 --- a/dev-build/scons/Manifest +++ b/dev-build/scons/Manifest @@ -1,8 +1,12 @@ DIST SCons-4.7.0.tar.gz 3220744 BLAKE2B 0fe8cdbaef46ca6571de35fb6544afe992e8a509cf52a8078133584e3af63919d2e0fb83ad646e042290fc47ca5a8932435946df9d40a099ccb2105b54bfd5cd SHA512 d08fba3e7f058eb2eeee4a129d10b55affada6b192932f069271fcbc28fd8216b2bf7e94285d9c448235a3965a789d3a91db9ebae1945aa73306788009dd2e77 DIST SCons-4.8.0.tar.gz 3243387 BLAKE2B 1ab4a63d14ecfd1984e41f6be11c87003413f74a0d6b03eb7d5fd7d7b66ad5cf904b1061b3cd91a33735fd6ea1ffda6aa388dbf42a7085caa900961bcf2340dd SHA512 6f1ab01b25752f1f43a1796fb68fb0508105b372cf082a57477af4685399f8b83372466d65070d5c928d81c9fd4bdf1e8ba357c72537f32c50f77121f52415fb +DIST SCons-4.8.1.tar.gz 3244423 BLAKE2B 31441e16ca96b844b1bcc388cd430a4a087bb5f09a8951166fc44b7422611d416fc6311d79370d768b52a93ad417369682e2a77ada3fe77e82d59c81bfd7b4dd SHA512 dad76d7f16b4cc1d9e25c9d8969773604e23accbb4e94451f0fc725919bf223cf04265f5d2b64a1b7e96cc63496cba574df3a634fd6779f2eb5fb7246fded120 DIST scons-4.7.0-user.html 1683569 BLAKE2B 6c68f34af85fbfaf70f77758321bd0bb86b4f549c5fa05f721df94af0627d030a15db89565910ee6674b514d6b4fac9e624ac0aa6e849bd1224833c0473ed4c6 SHA512 8b0320794775890d898854767cd12bc4da725f6a33ae4496dc41a7b37a6dcb5f812c23083093d17685db9799b230552e19cc5550a108c2cf6787ffd963e649d6 DIST scons-4.7.0-user.pdf 3069908 BLAKE2B 7196a5b247802c9f42914c4de5968862c4a183e5c3ff7e5172ec7bbf58f049362f0b85fdaba47c66fc09dbed79c22ddac8195a78bff2e564eff879b0e6a4f482 SHA512 6d62def8a68c8bf3b6cc269a93272c815e82b46bd6a223d0f7f3848daf9c7212e5f9de8dcdac41d2a6f2d7d70053b97f92e0b99c11f4f5b2b3a69951d474fe3a DIST scons-4.7.0.gh.tar.gz 5896790 BLAKE2B 1ce9041ad1e2891da92a9bd50e07e29a5e23c7c9432adb120d6610956a2ea4a5125fb6bfa1f8b944797d589cfdbe036a1b9b1eae271ae51abb826c6ee5a3ee1c SHA512 8be4d611c375c13467a1a437e0d47873f973584d9a1be0d1cbbd345685a8f477fc19fa59ab01bca1ab7be8af0034d5cfda360090ee4b347c41f7bfea363bfe6c DIST scons-4.8.0-user.html 1695726 BLAKE2B 1c44141dd7d04d738cb9495aa4749f3b44275f2c0808695270bdb0642454eb3b93d599b5c0fa21fd4f1099a95b1dd90583eb2184631bbc14fbef6644faf3f633 SHA512 c69be0e682755bf74f7b9c366e56a69b60962327d2ee5f4c1928edd41e800484bfb43836c575500be4132e90ef78d39f23dda5655dedd05b42b54ca4a65f4766 DIST scons-4.8.0-user.pdf 3091708 BLAKE2B 430e56d3f0e433eb5c24a2ad1d9cf12b4912a3be9b98682019a071964d9824c55c18147e4c5ffff326c43ce6f232f03ce14386849d112b4fc29e09d0743dfb0f SHA512 8474bfbfeb76cc915f3b8392a7a38901206a264e23d867d5ed4a610debf3c5cd68d812e6b4e730b037eea4de1523aa7afc4e41e636fb3cd315c0fc5797fdb4e9 DIST scons-4.8.0.gh.tar.gz 5933373 BLAKE2B 6912696f5ffdfa7f54fd00210228f308468bc35be76dda56652f91c1cf301d2df1720715d88d755e1c783360efec79a708cfa7c21514983fec3111db0bb05500 SHA512 056bc7f5308e73e202a96ce6e56efee4df278cd77455dc42278d63470ff2ea05163124c2f971a87416766d098103f85cfc0a0340bd9d0aa9209d200890197af9 +DIST scons-4.8.1-user.html 1696975 BLAKE2B 5c34754daa149f49b35a06ae1ab0264649004cdd94106eb70965c0f89aef80268ee6b138aa0beaac1451222888ccd11ec34f2872006702c36460f719fc90a3c7 SHA512 dadfc79a441de6d882e18d3fbf82e668d8a7eca6fa449aaebac9d3edd518d91e208342b7203c5e74ed4651fa5cf5d2d453055e4805407a18aad5349a9e1ea92f +DIST scons-4.8.1-user.pdf 3093300 BLAKE2B 84752a76fba302ab6ae1bbd6c960680e94144f0c9d7b1292096fb7df40a090848aede0b3c309271089ab6bbfd8ff89265496c71e970a9b2b6c5789e04ea4954e SHA512 11776a6f0ca475633a85673fb2347358f45e3c20465424aefe4c12f3037e22199ffdc2ae921d002a67f4edee204961f405aef172ca93a77452e25eb9cab33445 +DIST scons-4.8.1.gh.tar.gz 5931602 BLAKE2B 702252622bc9dd97417cb3db09caebd8732cabe3627e8539475f2177a15bf9cfa8dae9863c462796a6ebf079db2c1609089f1a6d1a0e0ffa220cc69f905beff1 SHA512 b9f39634b36876fa15e2db968a38693745ce3f0f14e838e97f69e2a6762d8f78c04e52843e2ce50900000833854c90ee2bd9d3d84bb48d9acfbf41f94af02775 diff --git a/dev-build/scons/scons-4.8.1.ebuild b/dev-build/scons/scons-4.8.1.ebuild new file mode 100644 index 000000000000..c3320fbacd32 --- /dev/null +++ b/dev-build/scons/scons-4.8.1.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{10..13} ) +PYTHON_REQ_USE="threads(+)" + +inherit distutils-r1 multiprocessing + +MY_P="SCons-${PV}" +DESCRIPTION="Extensible Python-based build utility" +HOMEPAGE=" + https://www.scons.org/ + https://github.com/SCons/scons/ + https://pypi.org/project/SCons/ +" +SRC_URI=" + https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${MY_P}.tar.gz + doc? ( + https://www.scons.org/doc/${PV}/PDF/${PN}-user.pdf + -> ${P}-user.pdf + https://www.scons.org/doc/${PV}/HTML/${PN}-user.html + -> ${P}-user.html + ) + test? ( + https://github.com/SCons/scons/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz + ) +" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="doc test" +RESTRICT="!test? ( test )" + +BDEPEND=" + test? ( + dev-python/lxml[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + ) +" + +src_unpack() { + # use the git directory structure, then unpack the pypi tarball + # on top of it to make our life easier + if use test; then + unpack "${P}.gh.tar.gz" + else + mkdir -p "${P}" || die + fi + + tar -C "${P}" --strip-components=1 --no-same-owner \ + -xzf "${DISTDIR}/${MY_P}.tar.gz" || die +} + +src_prepare() { + distutils-r1_src_prepare + + # TODO: rebase the patches <4.5.1-r2 is gone + # support env passthrough for Gentoo ebuilds + eapply -p2 "${FILESDIR}"/scons-4.1.0-env-passthrough.patch + # respect CC, CXX, C*FLAGS, LDFLAGS by default + eapply -p2 "${FILESDIR}"/scons-4.2.0-respect-cc-etc.patch + + if use test; then + local remove_tests=( + # TODO: does not respect PATH? + test/Clang + # broken + test/DVIPDF/DVIPDFFLAGS.py + test/Java/swig-dependencies.py + test/Java/multi-step.py + test/TEX/newglossary.py + test/TEX/variant_dir_newglossary.py + test/Configure/option--config.py + test/D/HSTeoh/sconstest-linkingProblem_gdc.py + # broken by commas in date, sic! + test/option/option-v.py + test/Interactive/version.py + # warnings from new binutils? + test/AS/as-live.py + test/AS/nasm.py + # hangs + test/KeyboardInterrupt.py + # requires f77 executable + test/Fortran/F77PATH.py + test/Fortran/FORTRANPATH.py + test/Fortran/gfortran.py + # TODO, these seem to be caused by our patches + test/Repository/include.py + test/Repository/multi-dir.py + test/Repository/variants.py + test/virtualenv/activated/option/ignore-virtualenv.py + # broken by CC being set? *facepalm* + test/LINK/applelink.py + test/ToolSurrogate.py + # no clue but why would we care about rpm? + test/packaging/option--package-type.py + test/packaging/rpm/cleanup.py + test/packaging/rpm/internationalization.py + test/packaging/rpm/multipackage.py + test/packaging/rpm/package.py + test/packaging/rpm/tagging.py + # apparently fragile to... limits? + # https://bugs.gentoo.org/908347#c7 + test/builderrors.py + ) + + if ! use amd64 && ! use x86 ; then + # These tests are currently broken on arm and other non-amd64/x86 platforms + # Work seems to be ongoing in e.g. https://github.com/SCons/scons/pull/4022 to + # better plumb up the MSVC tests for alternative arches. + # Try again after 4.2.0. + # See also: https://pairlist4.pair.net/pipermail/scons-users/2020-November/008452.html + # bug #757534 + remove_tests+=( + test/MSVS/vs-7.0-scc-files.py + test/MSVS/vs-7.0-scc-legacy-files.py + test/MSVS/vs-7.1-scc-files.py + test/MSVS/vs-7.1-scc-legacy-files.py + test/MSVS/vs-scc-files.py + test/MSVS/vs-scc-legacy-files.py + ) + fi + + rm -r "${remove_tests[@]}" || die + fi +} + +python_test() { + local -x COLUMNS=80 + # set variable from escons() of scons-util.eclass to make env-passthrough patch work within test env + local -x GENTOO_SCONS_ENV_PASSTHROUGH=1 + # unset some env variables to pass appropriate tests + unset AR AS ASFLAGS CC CXX CFLAGS CXXFLAGS CPPFLAGS LDFLAGS + cd "${WORKDIR}/${P}" || die + "${EPYTHON}" runtest.py -a --passed \ + -j "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" + + # runtest.py script returns "0" if all tests are passed + # and returns "2" if there are any tests with "no result" + # (i.e. in case if some tools are not installed or it's Windows specific tests) + [[ ${?} == [02] ]] || die "Tests fail with ${EPYTHON}" + + # sigh + rm "${BUILD_DIR}/install/usr/bin/.sconsign" || die +} + +python_install_all() { + distutils-r1_python_install_all + + doman *.1 + use doc && dodoc "${DISTDIR}/${P}"-user.{pdf,html} +} |