mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-15 08:56:58 +02:00
Merge pull request #364 from flatcar/krnowak/dev-util-update
Development utilities update
This commit is contained in:
commit
ce9e0fd224
@ -23,24 +23,56 @@ dev-libs/libxml2
|
||||
dev-libs/libxslt
|
||||
dev-libs/oniguruma
|
||||
|
||||
dev-python/fasteners
|
||||
|
||||
dev-util/boost-build
|
||||
dev-util/bpftool
|
||||
dev-util/catalyst
|
||||
dev-util/checkbashisms
|
||||
dev-util/cmake
|
||||
dev-util/cmocka
|
||||
dev-util/desktop-file-utils
|
||||
dev-util/gdbus-codegen
|
||||
dev-util/glib-utils
|
||||
dev-util/gperf
|
||||
dev-util/gtk-doc-am
|
||||
dev-util/meson
|
||||
dev-util/meson-format-array
|
||||
dev-util/ninja
|
||||
dev-util/pahole
|
||||
dev-util/patchelf
|
||||
dev-util/patchutils
|
||||
dev-util/perf
|
||||
dev-util/pkgconf
|
||||
dev-util/re2c
|
||||
dev-util/strace
|
||||
|
||||
dev-vcs/git
|
||||
|
||||
eclass/alternatives.eclass
|
||||
eclass/autotools.eclass
|
||||
# Still has some Flatcar modifications, will need to upstream it first.
|
||||
#
|
||||
# eclass/bash-completion-r1.eclass
|
||||
eclass/cmake-multilib.eclass
|
||||
eclass/cmake.eclass
|
||||
eclass/elisp-common.eclass
|
||||
eclass/flag-o-matic.eclass
|
||||
eclass/git-r3.eclass
|
||||
eclass/gnome.org.eclass
|
||||
eclass/gnuconfig.eclass
|
||||
eclass/java-pkg-opt-2.eclass
|
||||
eclass/java-utils-2.eclass
|
||||
eclass/libtool.eclass
|
||||
eclass/linux-info.eclass
|
||||
eclass/linux-mod.eclass
|
||||
eclass/llvm.eclass
|
||||
eclass/meson.eclass
|
||||
eclass/multilib-build.eclass
|
||||
eclass/multilib-minimal.eclass
|
||||
eclass/multilib.eclass
|
||||
eclass/ninja-utils.eclass
|
||||
eclass/optfeature.eclass
|
||||
eclass/pax-utils.eclass
|
||||
eclass/prefix.eclass
|
||||
eclass/tmpfiles.eclass
|
||||
@ -49,6 +81,7 @@ eclass/toolchain.eclass
|
||||
eclass/verify-sig.eclass
|
||||
eclass/vim-doc.eclass
|
||||
eclass/vim-plugin.eclass
|
||||
eclass/virtualx.eclass
|
||||
|
||||
net-analyzer/nmap
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
- bpftool ([5.18.11](https://lwn.net/Articles/900912/))
|
||||
- SDK: catalyst ([3.0.21](https://gitweb.gentoo.org/proj/catalyst.git/log/?h=3.0.21))
|
||||
- SDK: cmake ([3.23.3](https://cmake.org/cmake/help/v3.23/release/3.23.html))
|
||||
- SDK: meson ([0.62.2](https://mesonbuild.com/Release-notes-for-0-62-0.html))
|
||||
- SDK: ninja ([1.11.0](https://groups.google.com/g/ninja-build/c/R2oCyDctDf8/m/-U94Y5I8AgAJ?pli=1))
|
||||
- pahole ([1.23](https://git.kernel.org/pub/scm/devel/pahole/pahole.git/tag/?h=v1.23))
|
||||
- strace ([5.19](https://github.com/strace/strace/releases/tag/v5.19))
|
2
sdk_container/src/third_party/portage-stable/dev-python/fasteners/Manifest
vendored
Normal file
2
sdk_container/src/third_party/portage-stable/dev-python/fasteners/Manifest
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
DIST fasteners-0.17.3.gh.tar.gz 29409 BLAKE2B b4cd5c2f5dcd87808b4edf42ba160eb6b0bf08df544cbe1cc96ab3dd43f8fee02342a56a8b9529354e102f8e4280f9375f89f58318e46f2e8d52fa49bdb0f5ac SHA512 bed890d674bbb8d0442cb0a36c81bd5d1b4e555534ce4451f1cf70dcf72e222d52ae98154d09ac0ad1e52d1a2026c532fd40df715fbbd6bc95f874a916911ec7
|
||||
DIST fasteners-0.18.gh.tar.gz 42343 BLAKE2B 702ca6a68733ed202ae0f8a2d9d430012c5786ef8d779903186815f9250ed7b2ccf781694aa57ef230009a470ef7c6bd0e83cc7bc9fcb809d2335542e799e3d6 SHA512 40928e93fa94ca9e67335d15acede73b70906885f8cc34262b00e2dfba9dfed8647f11490ab0df4c8fcfd94778362cfdc4bd0053063660b962202524dd5bda18
|
27
sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.17.3.ebuild
vendored
Normal file
27
sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.17.3.ebuild
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python package that provides useful locks"
|
||||
HOMEPAGE="https://github.com/harlowja/fasteners/"
|
||||
SRC_URI="
|
||||
https://github.com/harlowja/fasteners/archive/${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/diskcache[${PYTHON_USEDEP}]
|
||||
dev-python/more-itertools[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
31
sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.18.ebuild
vendored
Normal file
31
sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.18.ebuild
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Python package that provides useful locks"
|
||||
HOMEPAGE="https://github.com/harlowja/fasteners/"
|
||||
SRC_URI="
|
||||
https://github.com/harlowja/fasteners/archive/${PV}.tar.gz
|
||||
-> ${P}.gh.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-python/diskcache[${PYTHON_USEDEP}]
|
||||
dev-python/more-itertools[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
|
||||
EPYTEST_IGNORE=(
|
||||
tests_eventlet/test_eventlet.py
|
||||
)
|
17
sdk_container/src/third_party/portage-stable/dev-python/fasteners/metadata.xml
vendored
Normal file
17
sdk_container/src/third_party/portage-stable/dev-python/fasteners/metadata.xml
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>prometheanfire@gentoo.org</email>
|
||||
<name>Matthew Thode</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>python@gentoo.org</email>
|
||||
<name>Python</name>
|
||||
</maintainer>
|
||||
<stabilize-allarches/>
|
||||
<upstream>
|
||||
<remote-id type="pypi">fasteners</remote-id>
|
||||
<remote-id type="github">harlowja/fasteners</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,5 +1,6 @@
|
||||
DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a
|
||||
DIST linux-5.16.tar.xz 123114100 BLAKE2B 07a90cc640ff89e1359c06cee8c38abd33e51f9b9a89833e31a1d2750526fda4a59e8884db3c1ea63df0a37f0d3de6b5a922b014b7313d8abce20d90ac08adcb SHA512 7a257dd576bc8493595ec7d6f3c9cb6e22c772a8b2dbe735d2485c4f5c56e26a08695546e7e0f1f1cd04a533f25e829361958d4da0b98bf0ba8094dd57a85aaf
|
||||
DIST patch-5.15.8.xz 537596 BLAKE2B 0f431804d406c4bbb09c44826fe1018b0bca94018337b73387d44ff3e25e6b90e2ec10cf9935847786e4dac6e1523e8e7daeaedb4f854d20a155bd13b29a0c72 SHA512 ef6d0841033fecba7c4aa25f5249a1e532a0d95f4b7e7048357ff00277d9abc11897f92d05d4a2cb90372da9cec8aa6664ce1058f71a6cae6bc647649787667d
|
||||
DIST patch-5.16.2.xz 20432 BLAKE2B 9c9f697e4dd0a78a94ac0bd361ec69683c6904d9af02da55c3001394e6a6efcc1fccd5d44747fff6ea47271b7655bd7866d161a90196cecaddde1c630ef5c425 SHA512 50d3c386e391603fbfe86780bbfa69c3a7caa83a7eea6c239af133dde3a7aa4746f4a3f1483589018d5ac27caa7ee69d869f8f64f4b5121ddab52224f5302222
|
||||
DIST patch-5.16.4.xz 343964 BLAKE2B 1fa1b90cecafe11ea0be1c099c4e2b4775ab87fd204a3ab2985e1ed479866763663db62a4de15c6aae243c0c34356f72c51df7437ce9a8fa8e257c4b3bc6cf20 SHA512 504d02a825dc9e06f2f6802567f179d5b956f3be4ccf3dae97ec31eefb0826f784292215e85fbb51ea98198288db9735de8d87f84551ff85f389cb713ee1cff5
|
||||
DIST linux-5.18.tar.xz 129790264 BLAKE2B e2745a69eb70169e90505a9318a3993046eab3020496eecde7d8352ecda0eb71a25b21becf7ce93fc593507dce7d1cd61b94ddcdf82b3094d79c0d3d48508eeb SHA512 dbbc9d1395898a498fa4947fceda1781344fa5d360240f753810daa4fa88e519833e2186c4e582a8f1836e6413e9e85f6563c7770523b704e8702d67622f98b5
|
||||
DIST linux-5.19.tar.xz 131581464 BLAKE2B 4db03a6830a3b3bbf0837e1912182a443d9a4aa8af20a12e6ec814ed708038452d3c0ccee1258cca671c464d76461536363a8adc56e9d098c9a44ae3484a297a SHA512 00313b2f9b82d2dc3fb8294007cf7d7599d254b717ed2de23c81fa7a1bbcbc2798ad286cb94e2f7f5bd54132d1d764facd90d30f79dbcc6616cc7f926adc2623
|
||||
DIST patch-5.18.11.xz 595980 BLAKE2B 74b305bd21c71c9328f02183c3b098ee1e476c1d58e79120b5d9e9ab53da5c32ffe4bba6f4e4c0d75188f187b81fc898fe9fd29762695254e23702caa824f0aa SHA512 5a4972b96438b38aa2bd6b1893557aab528bc465464613ba2c1ef069e501761d995efb26b9a910f638383a821d249d1f6c748e1da993b428c0c4bcbb24621415
|
||||
DIST patch-5.19.2.xz 475316 BLAKE2B e1a3238a1cfb33178d1d9608821ad1f275165b0df0f4883dfd136ebe2ff31839d4cb82af60a874673b256653a0eca625dcb9016179ae9d1522099465b2014642 SHA512 53aecf0c08ce7bbd10e8f7a75397155054badeedbd20a2ef228c6726436e701095a79ae5322c8052550cbd79b8dc02b7caa30c8916cae5733a2bc04ed3157299
|
||||
DIST patch-5.19.8.xz 695676 BLAKE2B 3b661fec35c883a97f2f2b489e43cb276eb7cfe6818d37cc3482c880d8c52d3f4ce740b9791d30095d21146ae842988f684c2f7bd153359ba8d2adaaef71221c SHA512 16ee25c1a215a9a14e6bcc4ce6b1a7a83cb99c2ea7754974e247e7a84b21cab8d9f56f174fb49fc682f6a79507c0d7dc3c1162226680364eaa2e632bfb52b161
|
||||
DIST perf-5.19-binutils-2.39-patches.tar.xz 5612 BLAKE2B ec3aeadc3e2508f33dddbb419f434885b39b8220d294f3845f0bc96282923ff46dca126a04c732b8286752e56087ba5b2c5ad9526884f6d0b8b6df5665121e5e SHA512 af676e5a600e227d85f89a5ee0cfacfe1845aa56c27ef9da3ebaf578362d7e741375d30565759123b33b86d36bc9981c8c4cda113af32745cc59cf4a9275e73b
|
||||
|
@ -25,7 +25,7 @@ S="${S_K}/tools/bpf/bpftool"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~x86"
|
||||
KEYWORDS="amd64 ~riscv ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
@ -20,12 +20,14 @@ SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
|
||||
LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
|
||||
SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
|
||||
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-util/perf/perf-5.19-binutils-2.39-patches.tar.xz"
|
||||
|
||||
S_K="${WORKDIR}/linux-${LINUX_VER}"
|
||||
S="${S_K}/tools/bpf/bpftool"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
KEYWORDS="~amd64 ~riscv ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
||||
@ -86,6 +88,12 @@ src_prepare() {
|
||||
popd || die
|
||||
fi
|
||||
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
# Used `git format-patch 00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00`
|
||||
# bug #868123
|
||||
eapply "${WORKDIR}"/perf-5.19-binutils-2.39-patches
|
||||
popd || die
|
||||
|
||||
# dev-python/docutils installs rst2man.py, not rst2man
|
||||
sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die
|
||||
}
|
@ -20,12 +20,14 @@ SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
|
||||
LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
|
||||
SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
|
||||
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-util/perf/perf-5.19-binutils-2.39-patches.tar.xz"
|
||||
|
||||
S_K="${WORKDIR}/linux-${LINUX_VER}"
|
||||
S="${S_K}/tools/bpf/bpftool"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
KEYWORDS="~amd64 ~riscv ~x86"
|
||||
IUSE="caps"
|
||||
|
||||
RDEPEND="
|
||||
@ -86,6 +88,12 @@ src_prepare() {
|
||||
popd || die
|
||||
fi
|
||||
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
# Used `git format-patch 00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00`
|
||||
# bug #868123
|
||||
eapply "${WORKDIR}"/perf-5.19-binutils-2.39-patches
|
||||
popd || die
|
||||
|
||||
# dev-python/docutils installs rst2man.py, not rst2man
|
||||
sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST catalyst-3.0.18.tar.bz2 621208 BLAKE2B 63f76634b96006ef4a751b0ce166ab36dcba3016234251b2e44e89b43b0c6909e57914007d6287e54584094ff7f064c0251a79f095c87e4c7957925e9d4605cd SHA512 94a30304b242b4e63cc14f34916acd68c03700876ba1cc2f516880f4e8365258de8b62db85cddc9492229414484ba6908edc91991b70b13da0578792b8b96aa3
|
||||
DIST catalyst-3.0.21.tar.bz2 620472 BLAKE2B 6ecf59edde24cbec6d072a31680b75e2e7f142e267b43783473dc607b189d5091b6ca2b7bd02e88a6528a7bccea8441fce21c74aed6623ec14d701557fb4d267 SHA512 e2c58a562508e25465186a5d9771040ddb9f00104943a6434489e5ef01da220ac0330339f741d023717c8d1df6ec2bf765654fabe4097d93d3086ef9005a294c
|
||||
|
@ -1,73 +0,0 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
SRC_ECLASS="git-r3"
|
||||
EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/catalyst.git"
|
||||
EGIT_BRANCH="master"
|
||||
else
|
||||
SRC_URI="https://gitweb.gentoo.org/proj/catalyst.git/snapshot/${P}.tar.bz2"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86"
|
||||
fi
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9} )
|
||||
DISTUTILS_USE_SETUPTOOLS=no
|
||||
|
||||
inherit distutils-r1 ${SRC_ECLASS}
|
||||
|
||||
DESCRIPTION="Release metatool used for creating releases based on Gentoo Linux"
|
||||
HOMEPAGE="https://wiki.gentoo.org/wiki/Catalyst"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
IUSE="ccache doc +iso system-bootloader"
|
||||
|
||||
DEPEND="
|
||||
app-text/asciidoc
|
||||
>=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}]
|
||||
<dev-python/snakeoil-0.9.6[${PYTHON_USEDEP}]
|
||||
"
|
||||
RDEPEND="
|
||||
>=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}]
|
||||
<dev-python/snakeoil-0.9.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/pydecomp-0.3[${PYTHON_USEDEP}]
|
||||
app-arch/lbzip2
|
||||
app-crypt/shash
|
||||
sys-fs/dosfstools
|
||||
|| (
|
||||
app-arch/tar[xattr]
|
||||
app-arch/libarchive[xattr]
|
||||
)
|
||||
amd64? ( >=sys-boot/syslinux-3.72 )
|
||||
x86? ( >=sys-boot/syslinux-3.72 )
|
||||
ccache? ( dev-util/ccache )
|
||||
iso? ( app-cdr/cdrtools )
|
||||
kernel_linux? ( app-misc/zisofs-tools >=sys-fs/squashfs-tools-2.1 )
|
||||
"
|
||||
PDEPEND="system-bootloader? ( >=sys-apps/memtest86+-5.01-r4
|
||||
sys-boot/grub:2
|
||||
amd64? ( sys-boot/grub[grub_platforms_efi-32,grub_platforms_efi-64] )
|
||||
x86? ( sys-boot/grub[grub_platforms_efi-32] )
|
||||
sys-boot/syslinux
|
||||
sys-boot/shim )"
|
||||
|
||||
python_prepare_all() {
|
||||
python_setup
|
||||
echo VERSION="${PV}" "${PYTHON}" setup.py set_version
|
||||
VERSION="${PV}" "${PYTHON}" setup.py set_version || die
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_compile_all() {
|
||||
# build the man pages and docs
|
||||
emake
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
if use doc; then
|
||||
dodoc files/HOWTO.html files/docbook-xsl.css
|
||||
fi
|
||||
}
|
@ -9,7 +9,7 @@ if [[ ${PV} == *9999* ]]; then
|
||||
EGIT_BRANCH="master"
|
||||
else
|
||||
SRC_URI="https://gitweb.gentoo.org/proj/catalyst.git/snapshot/${P}.tar.bz2"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
fi
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
@ -1,2 +1,2 @@
|
||||
DIST devscripts_2.21.2.tar.xz 980516 BLAKE2B 907f2f4e258a8396ad0a28eead1e2058b8e19be205f024ea80c0fbd9621d5ca4299844fe83d66cac7f653a917705d9c36eddb9d51454a7fbb9d7e2b52bc994ff SHA512 a6765d807dc0c2ef7a3d8c59e1262bfe7542c3ca52cda3c1910af253925cb105a9d1bf272c76a86f0b3cdda9c8a4e2d29a660437f73087dd70ee8a444bbedb01
|
||||
DIST devscripts_2.21.4.tar.xz 981488 BLAKE2B 29339490586a66c6360f599a90e23452fd1e99fd01757e258e082b9550731b3e443b12fb9ce9b8fe6fb229f228a115f87a9b91b8769000afd741eb77e9e7a4a4 SHA512 99250737cabc24bbd21e20de7c787e182492e15cad4288226ed497349cbf3dd45927e1c501d73341e48dfd14ee2285c8cca8ac3b2145c2f02ce4d04ddb881e50
|
||||
DIST devscripts_2.22.1.tar.xz 989556 BLAKE2B 2a2e3ca9757c710e181e807f0369c137f21070d86b4c51d8b5132ca4add33677edbd26e04a2faae93e9e4586080286888880ce450119579aa40ad205c8e5d857 SHA512 260603e1a655035c5aca3c9734db1bc6aa7e9aa017ece7e9158c57e06a1ee548922ec2defdd9dcb4560743d78aef08d30695b1bc833bd4d77fe1c7497d157c45
|
||||
DIST devscripts_2.22.2.tar.xz 995524 BLAKE2B a7649ea5b790a64b5470a66425e487959b058e9af34be173210277765c8610f7d6da1b9105f97e1da2f84a578ca7514b1dabaa7c38a88c9b1eef29c2f34f97a1 SHA512 d6c47f604a252f58e1cf8ea9fe7387a390683757144bb76cce6915fca1ff7ccb71ce6c87d829f874097d869172774a806b506dc7fb4187876d14e50eaaf92593
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}/scripts"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
|
||||
KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
|
||||
|
||||
# Requires python packages to check tools we don't need anyway
|
||||
RESTRICT="test"
|
@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
MY_PN="devscripts"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
@ -9,11 +9,11 @@ MY_P="${MY_PN}-${PV}"
|
||||
DESCRIPTION="Perl script to check for commonly used bash features not defined by POSIX"
|
||||
HOMEPAGE="https://packages.debian.org/devscripts https://salsa.debian.org/debian/devscripts"
|
||||
SRC_URI="mirror://debian/pool/main/d/${MY_PN}/${MY_P/-/_}.tar.xz"
|
||||
S="${WORKDIR}/${MY_P}/scripts"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
|
||||
IUSE=""
|
||||
KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
|
||||
|
||||
# Requires python packages to check tools we don't need anyway
|
||||
RESTRICT="test"
|
||||
@ -21,8 +21,6 @@ RESTRICT="test"
|
||||
RDEPEND="dev-lang/perl
|
||||
virtual/perl-Getopt-Long"
|
||||
|
||||
S="${WORKDIR}/${MY_P}/scripts"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
@ -1,3 +1,7 @@
|
||||
DIST cmake-3.20.5.tar.gz 9441947 BLAKE2B f073d7c3968c714be315f5014076c785790ed47e9a746f2d16bc59769fb6862009f67c2e118038c6c9d8390b709f2b4ed4a4dfc41a93996fedd9d7d77111b84a SHA512 4ad7f194353be291e76d86d95928633daea653a0bd8d35369ac6ee2bb3f811c3a1aabe6a2bd51c6d5b07af2c6edc7e38d8b347ded32ab1ddcf331dbfce40c008
|
||||
DIST cmake-3.21.4.tar.gz 9630991 BLAKE2B ca6b6c50d984cc6713f3e88e1a6438c360d80c34927e60a20cc006ba47df2b91a290f1578d556f58d2d40711848a9b9caf36f65a043df892b81c1d48e3edb0d8 SHA512 0262a666f6da106576c26215580c40b54497bcdac400e847e1799716c31c71068293e719416338132a7da6122826c08ff50ac23dfed2711ab42631e96303f544
|
||||
DIST cmake-3.22.1.tar.gz 9778031 BLAKE2B 8c91e9e666ece94e0cfb5868ad257b1de824206b6f5420a5f516f684e4fd655e634918c59955f41a3f27b604b76946d86ab51cf975de7052c067a9dc4f952400 SHA512 b1e900fe573cd1cc76d26386f2298d7722737c9ff67930ee108994972b4561ef69caeb537177c9b95b7f17b755e20e034825d3807ea0d2dd4c391310b03adc11
|
||||
DIST cmake-3.23.3-SHA-256.txt 1452 BLAKE2B aa2e2dfb2757210688a5a9131ca1fffdf6617a52219d373fd908c08e52b7d77f0e980086561a083cabaf8d9f3e24b15064bb74ad2737fcbfe11c8aba5814eb4e SHA512 22808c050e8927867fc5d2daa6999d9eed53e99015f89d1f5bef61397d1b2a9888728e86fdca8716c47f8133e02b3fa726d0cc97c0bb4ab5f5ff16a1fc0ae82f
|
||||
DIST cmake-3.23.3-SHA-256.txt.asc 833 BLAKE2B 10f61d7cfaa5c86d0e372f33d9ba0dbe7ae9cbfe17669107167b3ae72d0e337c63fb1c27a528dcda804323a1f0d4843b630e15427c33e0f5d5c568e27cea769d SHA512 75ff4b25fdd71bc05a7d6fec3c72ec5b8d6ed7ac980d533e6c820855c74a1a58f52d53c1a454dffe1a15568445c4c1c805891997e5709567c9e7709ba1c5e4d9
|
||||
DIST cmake-3.23.3.tar.gz 9988050 BLAKE2B 55105ce380e5e9f1839fc38cc0eaefe505d58bffa60feab9813a36c7cac92f4fb6aa6b6aaad899f1e8d58cfa5ececb9e7335a470244ccc06848d833b1eddf224 SHA512 75f86abe60ef28ba9bd06546c0c24578921621fb4be942171e629366a759cf1469e430945addc85f8ce977920883c063ed26de1b78fd24dfd98d0eb604800632
|
||||
DIST cmake-3.24.2-SHA-256.txt 1646 BLAKE2B 3c48226c96844c5ddd8567637a61eca697425021735d5dc8613a1fd7a68887f6707b6030c1e4476af5e4bdb4830cc4ff3d8708f4bdf557ba94508086e0447030 SHA512 f7500d8c9a500c9ad2679a68d6343cbbbae1483014ab2cd48a056e1e9591b6edd0d712e9ff5441e19c05284696e6c52ebdc3cf1efc61432f2764da7703816b49
|
||||
DIST cmake-3.24.2-SHA-256.txt.asc 833 BLAKE2B fe6a3caa3db7b6be186e49ee5d86706f2cda9a45858bc964be5407f577195d0af74c10e66ea30faa0a35280f1c9f927732f9cc7fcb9dae8e521882955b6ef617 SHA512 a0fa1a002f2f23e8b3b8fb2689905ac618ca423b96f904bee172d6a62e6fb0c0a46394ce57474be9c9810e1d09abf3b192f595cb0e92d5c62d11b60f0c572b82
|
||||
DIST cmake-3.24.2-docs.tar.xz 492188 BLAKE2B 64e0d69ce8e739e6622b0cfde8956cb2bf67f9bf412b8d98afa1657bd30d8a2a1cf874e6422c78c222199616aac85d472ef398c83da29d5d64516384e9ed69aa SHA512 d0ef81dfe37ac2a225fe795fd3e6780e3b8fd5caa472a14ff8d036917172efd13126897c7a2a78d8269aa20e4f35c7b9be7bed14ecbfb24df332c332a4ff16c4
|
||||
DIST cmake-3.24.2.tar.gz 10396126 BLAKE2B fcfdbbce94ce6cdb3fa478afe591bc63ba25104a32edc3dd9395d7b6bd16e222f41428ef4f9982061d6d1e69b10efbc2a33cc9df4573400612b4b756b80ec348 SHA512 6f0e8e29bf0336f555ba72c4d83f35d820f8a5159cc999d48795dc57a6627b4ee3966dda84ca97d39906e35dd476ea00cf80023672cc0fad862e2996194c0674
|
||||
|
@ -1,9 +1,12 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
CMAKE_MAKEFILE_GENERATOR="emake" # TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \
|
||||
toolchain-funcs virtualx xdg-utils
|
||||
@ -12,12 +15,28 @@ MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )"
|
||||
fi
|
||||
fi
|
||||
|
||||
LICENSE="CMake"
|
||||
SLOT="0"
|
||||
[[ "${PV}" = *_rc* ]] || \
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc emacs ncurses qt5 test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
@ -39,7 +58,7 @@ RDEPEND="
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
@ -91,39 +110,22 @@ cmake_src_bootstrap() {
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
cmake_src_test() {
|
||||
# fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif ! use verify-sig || [[ ${PV} == *_rc ]] ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
local ctestargs
|
||||
[[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure"
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we actually bootstrap it every time so why test it.
|
||||
# BundleUtilities: bundle creation broken
|
||||
# CMakeOnly.AllFindModules: pthread issues
|
||||
# CTest.updatecvs: fails to commit as root
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# RunCMake.{IncompatibleQt,ObsoleteQtMacros}: Require Qt4
|
||||
# TestUpload: requires network access
|
||||
"${BUILD_DIR}"/bin/ctest \
|
||||
-j "$(makeopts_jobs)" \
|
||||
--test-load "$(makeopts_loadavg)" \
|
||||
${ctestargs} \
|
||||
-E "(BootstrapTest|BundleUtilities|ConfigSources|CMakeOnly.AllFindModules|CPackComponentsDEB-components-depend2|CompileOptions|CTest.UpdateCVS|DependencyGraph|Fortran|RunCMake.CompilerLauncher|RunCMake.IncompatibleQt|RunCMake.ObsoleteQtMacros|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
|
||||
|| die "Tests failed"
|
||||
|
||||
popd > /dev/null
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
@ -159,7 +161,8 @@ src_prepare() {
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.4.0_rc1 || ! cmake --version &>/dev/null ; then
|
||||
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||
cmake_src_bootstrap
|
||||
fi
|
||||
@ -190,6 +193,32 @@ src_compile() {
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we actualy bootstrap it every time so why test it.
|
||||
# BundleUtilities: bundle creation broken
|
||||
# CMakeOnly.AllFindModules: pthread issues
|
||||
# CTest.updatecvs: which fails to commit as root
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
virtx cmake_src_test
|
||||
}
|
||||
|
@ -1,9 +1,23 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
CMAKE_MAKEFILE_GENERATOR="emake" # TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||
|
||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||
CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# See bug #784815
|
||||
CMAKE_DOCS_USEFLAG="+doc"
|
||||
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \
|
||||
toolchain-funcs virtualx xdg-utils
|
||||
@ -12,13 +26,40 @@ MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
CMAKE_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )"
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="CMake"
|
||||
SLOT="0"
|
||||
[[ "${PV}" = *_rc* ]] || \
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc emacs ncurses qt5 test"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} emacs ncurses qt5 test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
@ -39,7 +80,7 @@ RDEPEND="
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
@ -47,23 +88,21 @@ BDEPEND="
|
||||
test? ( app-arch/libarchive[zstd] )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# prefix
|
||||
# Prefix
|
||||
"${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch
|
||||
"${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch
|
||||
"${FILESDIR}"/${PN}-3.19.1-darwin-gcc.patch
|
||||
|
||||
# handle gentoo packaging in find modules
|
||||
# Handle gentoo packaging in find modules
|
||||
"${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch
|
||||
# Next patch needs to be reworked
|
||||
#"${FILESDIR}"/${PN}-3.17.0_rc1-FindLAPACK.patch
|
||||
"${FILESDIR}"/${PN}-3.5.2-FindQt4.patch
|
||||
|
||||
# respect python eclasses
|
||||
# Respect python eclasses
|
||||
"${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch
|
||||
"${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch
|
||||
|
||||
@ -91,59 +130,43 @@ cmake_src_bootstrap() {
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
cmake_src_test() {
|
||||
# fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif ! use verify-sig || [[ ${PV} == *_rc* ]] ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
local ctestargs
|
||||
[[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure"
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we actually bootstrap it every time so why test it.
|
||||
# BundleUtilities: bundle creation broken
|
||||
# CMakeOnly.AllFindModules: pthread issues
|
||||
# CTest.updatecvs: fails to commit as root
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# RunCMake.{IncompatibleQt,ObsoleteQtMacros}: Require Qt4
|
||||
# TestUpload: requires network access
|
||||
"${BUILD_DIR}"/bin/ctest \
|
||||
-j "$(makeopts_jobs)" \
|
||||
--test-load "$(makeopts_loadavg)" \
|
||||
${ctestargs} \
|
||||
-E "(BootstrapTest|BundleUtilities|ConfigSources|CMakeOnly.AllFindModules|CPackComponentsDEB-components-depend2|CompileOptions|CTest.UpdateCVS|DependencyGraph|Fortran|RunCMake.CompilerLauncher|RunCMake.IncompatibleQt|RunCMake.ObsoleteQtMacros|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
|
||||
|| die "Tests failed"
|
||||
|
||||
popd > /dev/null
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# disable Xcode hooks, bug #652134
|
||||
# Disable Xcode hooks, bug #652134
|
||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||
Source/CMakeLists.txt || die
|
||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||
Source/cmake.cxx || die
|
||||
# disable isysroot usage with GCC, we've properly instructed
|
||||
|
||||
# Disable isysroot usage with GCC, we've properly instructed
|
||||
# where things are via GCC configuration and ldwrapper
|
||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||
Modules/Platform/Apple-GNU-*.cmake || die
|
||||
# disable isysroot usage with clang as well
|
||||
# Disable isysroot usage with clang as well
|
||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||
Modules/Platform/Apple-Clang.cmake || die
|
||||
# don't set a POSIX standard, system headers don't like that, #757426
|
||||
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmLoadCommandCommand.cxx \
|
||||
Source/cmStandardLexer.h \
|
||||
@ -159,7 +182,8 @@ src_prepare() {
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.4.0_rc1 || ! cmake --version &>/dev/null ; then
|
||||
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||
cmake_src_bootstrap
|
||||
fi
|
||||
@ -169,6 +193,10 @@ src_configure() {
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
# ODR warnings, bug #858335
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||
filter-lto
|
||||
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
@ -190,12 +218,43 @@ src_compile() {
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we actualy bootstrap it every time so why test it.
|
||||
# BundleUtilities: bundle creation broken
|
||||
# CMakeOnly.AllFindModules: pthread issues
|
||||
# CTest.updatecvs: which fails to commit as root
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
virtx cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
|
||||
if use emacs; then
|
||||
elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
@ -215,6 +274,7 @@ src_install() {
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
|
||||
if use qt5; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
@ -224,6 +284,7 @@ pkg_postinst() {
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
|
||||
if use qt5; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
@ -1,9 +1,23 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
CMAKE_MAKEFILE_GENERATOR="emake" # TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# Generate using https://github.com/thesamesam/sam-gentoo-scripts/blob/main/niche/generate-cmake-docs
|
||||
# Set to 1 if prebuilt, 0 if not
|
||||
# (the construct below is to allow overriding from env for script)
|
||||
: ${CMAKE_DOCS_PREBUILT:=1}
|
||||
|
||||
CMAKE_DOCS_PREBUILT_DEV=sam
|
||||
CMAKE_DOCS_VERSION=$(ver_cut 1-3)
|
||||
# Default to generating docs (inc. man pages) if no prebuilt; overridden later
|
||||
# See bug #784815
|
||||
CMAKE_DOCS_USEFLAG="+doc"
|
||||
|
||||
# TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja
|
||||
# ... but seems fine as of 3.22.3?
|
||||
# TODO ... but bootstrap sometimes(?) fails with ninja now. bug #834759.
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
CMAKE_REMOVE_MODULES_LIST=( none )
|
||||
inherit bash-completion-r1 cmake elisp-common flag-o-matic multiprocessing \
|
||||
toolchain-funcs virtualx xdg-utils
|
||||
@ -12,13 +26,40 @@ MY_P="${P/_/-}"
|
||||
|
||||
DESCRIPTION="Cross platform Make"
|
||||
HOMEPAGE="https://cmake.org/"
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
CMAKE_DOCS_PREBUILT=0
|
||||
|
||||
EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz"
|
||||
|
||||
if [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
SRC_URI+=" !doc? ( https://dev.gentoo.org/~${CMAKE_DOCS_PREBUILT_DEV}/distfiles/${CATEGORY}/${PN}/${PN}-${CMAKE_DOCS_VERSION}-docs.tar.xz )"
|
||||
fi
|
||||
|
||||
if [[ ${PV} != *_rc* ]] ; then
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/bradking.asc
|
||||
inherit verify-sig
|
||||
|
||||
SRC_URI+=" verify-sig? (
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt
|
||||
https://github.com/Kitware/CMake/releases/download/v$(ver_cut 1-3)/${MY_P}-SHA-256.txt.asc
|
||||
)"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )"
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
LICENSE="CMake"
|
||||
SLOT="0"
|
||||
[[ "${PV}" = *_rc* ]] || \
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc emacs ncurses qt5 test"
|
||||
IUSE="${CMAKE_DOCS_USEFLAG} emacs ncurses qt5 test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
@ -39,7 +80,7 @@ RDEPEND="
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
BDEPEND+="
|
||||
doc? (
|
||||
dev-python/requests
|
||||
dev-python/sphinx
|
||||
@ -47,23 +88,21 @@ BDEPEND="
|
||||
test? ( app-arch/libarchive[zstd] )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
PATCHES=(
|
||||
# prefix
|
||||
# Prefix
|
||||
"${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch
|
||||
"${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch
|
||||
"${FILESDIR}"/${PN}-3.19.1-darwin-gcc.patch
|
||||
|
||||
# handle gentoo packaging in find modules
|
||||
# Handle gentoo packaging in find modules
|
||||
"${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch
|
||||
# Next patch needs to be reworked
|
||||
#"${FILESDIR}"/${PN}-3.17.0_rc1-FindLAPACK.patch
|
||||
"${FILESDIR}"/${PN}-3.5.2-FindQt4.patch
|
||||
|
||||
# respect python eclasses
|
||||
# Respect python eclasses
|
||||
"${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch
|
||||
"${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch
|
||||
|
||||
@ -91,59 +130,43 @@ cmake_src_bootstrap() {
|
||||
|| die "Bootstrap failed"
|
||||
}
|
||||
|
||||
cmake_src_test() {
|
||||
# fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
src_unpack() {
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
git-r3_src_unpack
|
||||
elif ! use verify-sig || [[ ${PV} == *_rc* ]] ; then
|
||||
default
|
||||
else
|
||||
cd "${DISTDIR}" || die
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null
|
||||
# See https://mgorny.pl/articles/verify-sig-by-example.html#verifying-using-a-checksum-file-with-a-detached-signature
|
||||
verify-sig_verify_detached ${MY_P}-SHA-256.txt{,.asc}
|
||||
verify-sig_verify_unsigned_checksums ${MY_P}-SHA-256.txt sha256 ${MY_P}.tar.gz
|
||||
|
||||
local ctestargs
|
||||
[[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure"
|
||||
cd "${WORKDIR}" || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we actually bootstrap it every time so why test it.
|
||||
# BundleUtilities: bundle creation broken
|
||||
# CMakeOnly.AllFindModules: pthread issues
|
||||
# CTest.updatecvs: fails to commit as root
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# RunCMake.{IncompatibleQt,ObsoleteQtMacros}: Require Qt4
|
||||
# TestUpload: requires network access
|
||||
"${BUILD_DIR}"/bin/ctest \
|
||||
-j "$(makeopts_jobs)" \
|
||||
--test-load "$(makeopts_loadavg)" \
|
||||
${ctestargs} \
|
||||
-E "(BootstrapTest|BundleUtilities|ConfigSources|CMakeOnly.AllFindModules|CPackComponentsDEB-components-depend2|CompileOptions|CTest.UpdateCVS|DependencyGraph|Fortran|RunCMake.CompilerLauncher|RunCMake.IncompatibleQt|RunCMake.ObsoleteQtMacros|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \
|
||||
|| die "Tests failed"
|
||||
|
||||
popd > /dev/null
|
||||
default
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
|
||||
if [[ ${CHOST} == *-darwin* ]] ; then
|
||||
# disable Xcode hooks, bug #652134
|
||||
# Disable Xcode hooks, bug #652134
|
||||
sed -i -e 's/cm\(\|Global\|Local\)XCode[^.]\+\.\(cxx\|h\)//' \
|
||||
Source/CMakeLists.txt || die
|
||||
sed -i -e '/define CMAKE_USE_XCODE/s/XCODE/NO_XCODE/' \
|
||||
-e '/cmGlobalXCodeGenerator.h/d' \
|
||||
Source/cmake.cxx || die
|
||||
# disable isysroot usage with GCC, we've properly instructed
|
||||
|
||||
# Disable isysroot usage with GCC, we've properly instructed
|
||||
# where things are via GCC configuration and ldwrapper
|
||||
sed -i -e '/cmake_gnu_set_sysroot_flag/d' \
|
||||
Modules/Platform/Apple-GNU-*.cmake || die
|
||||
# disable isysroot usage with clang as well
|
||||
# Disable isysroot usage with clang as well
|
||||
sed -i -e '/_SYSROOT_FLAG/d' \
|
||||
Modules/Platform/Apple-Clang.cmake || die
|
||||
# don't set a POSIX standard, system headers don't like that, #757426
|
||||
# Don't set a POSIX standard, system headers don't like that, #757426
|
||||
sed -i -e 's/^#if !defined(_WIN32) && !defined(__sun)/& \&\& !defined(__APPLE__)/' \
|
||||
Source/cmLoadCommandCommand.cxx \
|
||||
Source/cmStandardLexer.h \
|
||||
@ -159,7 +182,8 @@ src_prepare() {
|
||||
-e "$(usex prefix-guest "s|@GENTOO_HOST@||" "/@GENTOO_HOST@/d")" \
|
||||
-e "s|@GENTOO_PORTAGE_EPREFIX@|${EPREFIX}/|g" \
|
||||
Modules/Platform/{UnixPaths,Darwin}.cmake || die "sed failed"
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.4.0_rc1 || ! cmake --version &>/dev/null ; then
|
||||
|
||||
if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then
|
||||
CMAKE_BINARY="${S}/Bootstrap.cmk/cmake"
|
||||
cmake_src_bootstrap
|
||||
fi
|
||||
@ -169,6 +193,10 @@ src_configure() {
|
||||
# Fix linking on Solaris
|
||||
[[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl
|
||||
|
||||
# ODR warnings, bug #858335
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/20740
|
||||
filter-lto
|
||||
|
||||
local mycmakeargs=(
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=ON
|
||||
-DCMAKE_DOC_DIR=/share/doc/${PF}
|
||||
@ -190,12 +218,43 @@ src_compile() {
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Fix OutDir and SelectLibraryConfigurations tests
|
||||
# these are altered thanks to our eclass
|
||||
sed -i -e 's:^#_cmake_modify_IGNORE ::g' \
|
||||
"${S}"/Tests/{OutDir,CMakeOnly/SelectLibraryConfigurations}/CMakeLists.txt \
|
||||
|| die
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
# Excluded tests:
|
||||
# BootstrapTest: we actualy bootstrap it every time so why test it.
|
||||
# BundleUtilities: bundle creation broken
|
||||
# CMakeOnly.AllFindModules: pthread issues
|
||||
# CTest.updatecvs: which fails to commit as root
|
||||
# Fortran: requires fortran
|
||||
# RunCMake.CompilerLauncher: also requires fortran
|
||||
# RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because
|
||||
# debugedit binary is not in the expected location
|
||||
# RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because
|
||||
# it can't find a deb package that owns libc
|
||||
# TestUpload, which requires network access
|
||||
# RunCMake.CMP0125, known failure reported upstream (bug #829414)
|
||||
local myctestargs=(
|
||||
--output-on-failure
|
||||
-E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \
|
||||
)
|
||||
|
||||
virtx cmake_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
# If USE=doc, there'll be newly generated docs which we install instead.
|
||||
if ! use doc && [[ ${CMAKE_DOCS_PREBUILT} == 1 ]] ; then
|
||||
doman "${WORKDIR}"/${PN}-${CMAKE_DOCS_VERSION}-docs/man*/*.[0-8]
|
||||
fi
|
||||
|
||||
if use emacs; then
|
||||
elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc
|
||||
elisp-site-file-install "${FILESDIR}/${SITEFILE}"
|
||||
@ -215,6 +274,7 @@ src_install() {
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
|
||||
if use qt5; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
||||
@ -224,6 +284,7 @@ pkg_postinst() {
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
|
||||
if use qt5; then
|
||||
xdg_icon_cache_update
|
||||
xdg_desktop_database_update
|
@ -1,6 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>base-system@gentoo.org</email>
|
||||
<name>Gentoo Base System</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>kde@gentoo.org</email>
|
||||
<name>Gentoo KDE Project</name>
|
||||
|
@ -1,24 +1,21 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
CMAKE_ECLASS=cmake
|
||||
inherit cmake-multilib
|
||||
|
||||
DESCRIPTION="Unit testing framework for C"
|
||||
HOMEPAGE="https://cmocka.org/"
|
||||
SRC_URI="https://cmocka.org/files/1.1/${P}.tar.xz"
|
||||
SRC_URI="https://cmocka.org/files/$(ver_cut 1-2)/${P}.tar.xz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="doc examples static-libs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
doc? ( app-doc/doxygen[dot] )
|
||||
"
|
||||
BDEPEND="doc? ( app-doc/doxygen[dot] )"
|
||||
|
||||
multilib_src_configure() {
|
||||
local mycmakeargs=(
|
||||
|
@ -0,0 +1,50 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
inherit elisp-common meson
|
||||
|
||||
DESCRIPTION="Command line utilities to work with desktop menu entries"
|
||||
HOMEPAGE="https://freedesktop.org/wiki/Software/desktop-file-utils/"
|
||||
SRC_URI="https://www.freedesktop.org/software/${PN}/releases/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="emacs"
|
||||
|
||||
RDEPEND=">=dev-libs/glib-2.12:2"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
app-arch/xz-utils
|
||||
virtual/pkgconfig
|
||||
emacs? ( >=app-editors/emacs-23.1:* )
|
||||
"
|
||||
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
DOCS=( AUTHORS ChangeLog HACKING NEWS README )
|
||||
|
||||
# Will be in next release
|
||||
PATCHES=( "${FILESDIR}/${P}-support-version-1.5.patch" )
|
||||
|
||||
src_compile() {
|
||||
meson_src_compile
|
||||
use emacs && elisp-compile misc/desktop-entry-mode.el
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
if use emacs; then
|
||||
elisp-install ${PN} misc/*.el misc/*.elc || die
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
# Adds support for Desktop Entry Specification 1.5. Gentoo bug 795570.
|
||||
# Upstream commit URLs:
|
||||
# https://gitlab.freedesktop.org/xdg/desktop-file-utils/-/commit/425177a28b6215e0745f95100160a08e810fd47c
|
||||
# https://gitlab.freedesktop.org/xdg/desktop-file-utils/-/commit/56d220dd679c7c3a8f995a41a27a7d6f3df49dea
|
||||
|
||||
From 425177a28b6215e0745f95100160a08e810fd47c Mon Sep 17 00:00:00 2001
|
||||
From: David King <amigadave@amigadave.com>
|
||||
Date: Tue, 15 Feb 2022 10:54:40 +0000
|
||||
Subject: [PATCH 1/2] validate: support SingleMainWindow key from 1.5
|
||||
|
||||
Fixes https://gitlab.freedesktop.org/xdg/desktop-file-utils/-/issues/59
|
||||
---
|
||||
src/validate.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/validate.c b/src/validate.c
|
||||
index 62406ab..ebb03b5 100644
|
||||
--- a/src/validate.c
|
||||
+++ b/src/validate.c
|
||||
@@ -326,6 +326,9 @@ static DesktopKeyDefinition registered_desktop_keys[] = {
|
||||
/* Since 1.4 */
|
||||
{ DESKTOP_BOOLEAN_TYPE, "PrefersNonDefaultGPU", FALSE, FALSE, FALSE, NULL },
|
||||
|
||||
+ /* Since 1.5 */
|
||||
+ { DESKTOP_BOOLEAN_TYPE, "SingleMainWindow", FALSE, FALSE, FALSE, NULL },
|
||||
+
|
||||
/* Keys reserved for KDE */
|
||||
|
||||
/* since 0.9.4 */
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 56d220dd679c7c3a8f995a41a27a7d6f3df49dea Mon Sep 17 00:00:00 2001
|
||||
From: David King <amigadave@amigadave.com>
|
||||
Date: Tue, 15 Feb 2022 10:56:04 +0000
|
||||
Subject: [PATCH 2/2] validate: Support version 1.5
|
||||
|
||||
Bump CURRENT_SPEC_VERSION to 1.5.
|
||||
---
|
||||
man/desktop-file-validate.1 | 2 +-
|
||||
src/validate.c | 3 +++
|
||||
src/validate.h | 2 +-
|
||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/man/desktop-file-validate.1 b/man/desktop-file-validate.1
|
||||
index 8e17411..ce87c47 100644
|
||||
--- a/man/desktop-file-validate.1
|
||||
+++ b/man/desktop-file-validate.1
|
||||
@@ -9,7 +9,7 @@ desktop-file-validate \- Validate desktop entry files
|
||||
.B desktop-file-validate [\-\-no-hints] [\-\-no-warn-deprecated] [\-\-warn-kde] FILE...
|
||||
.SH DESCRIPTION
|
||||
The \fIdesktop-file-validate\fP program is a tool to validate desktop
|
||||
-entry files according to the Desktop Entry specification 1.4.
|
||||
+entry files according to the Desktop Entry specification 1.5.
|
||||
.PP
|
||||
The specification describes a file format to provide information such as
|
||||
name, icon and description for an application. Such a file can then be
|
||||
diff --git a/src/validate.c b/src/validate.c
|
||||
index ebb03b5..f9eedee 100644
|
||||
--- a/src/validate.c
|
||||
+++ b/src/validate.c
|
||||
@@ -961,6 +961,9 @@ handle_version_key (kf_validator *kf,
|
||||
const char *locale_key,
|
||||
const char *value)
|
||||
{
|
||||
+ if (!strcmp (value, "1.5"))
|
||||
+ return TRUE;
|
||||
+
|
||||
if (!strcmp (value, "1.4"))
|
||||
return TRUE;
|
||||
|
||||
diff --git a/src/validate.h b/src/validate.h
|
||||
index e6efd93..a7952cd 100644
|
||||
--- a/src/validate.h
|
||||
+++ b/src/validate.h
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
#include <glib.h>
|
||||
|
||||
-#define CURRENT_SPEC_VERSION "1.4"
|
||||
+#define CURRENT_SPEC_VERSION "1.5"
|
||||
|
||||
#define GROUP_KDE_DESKTOP_ENTRY "KDE Desktop Entry"
|
||||
#define GROUP_DESKTOP_ACTION "Desktop Action "
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,28 @@
|
||||
https://bugs.gentoo.org/869134
|
||||
|
||||
From 09844ce4ca3d5975469640cea9c5414d5c0baa44 Mon Sep 17 00:00:00 2001
|
||||
From: Bruno Haible <bruno@clisp.org>
|
||||
Date: Thu, 8 Sep 2022 04:45:03 +0200
|
||||
Subject: [PATCH] Fix a warning regarding strncmp.
|
||||
|
||||
Reported by Sam James in <https://savannah.gnu.org/bugs/?63031>.
|
||||
|
||||
* lib/getopt.c (strncmp): Declare with a prototype.
|
||||
--- a/lib/getopt.c
|
||||
+++ b/lib/getopt.c
|
||||
@@ -194,7 +194,6 @@ static char *posixly_correct;
|
||||
whose names are inconsistent. */
|
||||
|
||||
extern char *getenv ();
|
||||
-extern int strncmp ();
|
||||
|
||||
static char *
|
||||
my_index (const char *str, int chr)
|
||||
@@ -209,6 +208,7 @@ my_index (const char *str, int chr)
|
||||
}
|
||||
|
||||
extern int strcmp (const char *, const char *);
|
||||
+extern int strncmp (const char *, const char *, size_t);
|
||||
extern size_t strlen (const char *);
|
||||
|
||||
#endif /* not __GNU_LIBRARY__ */
|
24
sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r1.ebuild
vendored
Normal file
24
sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r1.ebuild
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="A perfect hash function generator"
|
||||
HOMEPAGE="https://www.gnu.org/software/gperf/"
|
||||
SRC_URI="mirror://gnu/gperf/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-strncmp-decl-mismatch.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
sed -i \
|
||||
-e "/^CPPFLAGS /s:=:+=:" \
|
||||
*/Makefile.in || die #444078
|
||||
|
||||
default
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/gperf/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
|
||||
|
||||
src_prepare() {
|
||||
sed -i \
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/DocumentationProject/GtkDoc"
|
||||
|
||||
LICENSE="GPL-2 FDL-1.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
RDEPEND="!<dev-util/gtk-doc-${GNOME_ORG_PVP}"
|
||||
PDEPEND="virtual/pkgconfig"
|
||||
|
@ -1,8 +1,8 @@
|
||||
# Copyright 2020-2021 Gentoo Authors
|
||||
# Copyright 2020-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit python-r1
|
||||
|
||||
@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
RDEPEND="${PYTHON_DEPS}"
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>floppym@gentoo.org</email>
|
||||
|
@ -1 +1,4 @@
|
||||
DIST meson-0.60.3.tar.gz 2001124 BLAKE2B f66fb29d309f5dea9c0b1934e8b5dfc2b33586e06c6a2d616798d5724216035fe03a3f9b1c6976546d5d5c069734357d61a92aa43de01161cf1fe4297a1d1f2e SHA512 0aa6ef71c20cd899ebb0b202c6319e093e1df1c39fa58c94a1bb479efe630213272127346eab589948898d115d02d64f4bdffd892fbb9700884c1edf2dc6c6dc
|
||||
DIST meson-0.62.2.tar.gz 2038542 BLAKE2B 51446cd348f3e8681a61ebecf95f5aafcafd90654e3c86d87ee2b68239237bd889b667f3c6543faba7d4b98d7e0ed73d96c6a988913e5262d3b9611b80ff8db2 SHA512 4089588701f0f702eb3b794e0ede78b99f13ec7545d1a7470c7bfd6a857de59673684a543928dd578402578c53f38365a3a59e3e29022fd30a525353818a4195
|
||||
DIST meson-0.63.0.tar.gz 2060688 BLAKE2B 763d35a6dee42d7ef61b00c472681042289f38737374178d43eb8e66c3abe38affd372fca7aea4f4c7cd52f25ad3754485f54f24ac5e453b7a58011397ddbbb8 SHA512 8d427261bb42d2bd1da7d4f7b5f53908044aa2cea6d020fb320b0ab9d9848e17cf28deb12ae6dc139807f9e377db0c8a546561e94301216b634bd77703f17cea
|
||||
DIST meson-0.63.1.tar.gz 2064118 BLAKE2B 2d7bf439ed096cc38d9e676a8837069d10f34299cc5a61773df7a27d9a67fd33ce3b4193f33b35e5d77dc5cc346098e427f70f0dc0eafcebce055940420c785e SHA512 25f96e18bcdbb6346c44d9f8e63035d6cb3d8f781cf43ac5530ddd6f8090f4d16d192f8d331240154602e92b498b410fabb1381dc5f39db1dfb9da05a964d44e
|
||||
DIST meson-0.63.2.tar.gz 2063397 BLAKE2B 765ef8994168bb149cce4dbbbdab4a5531b1c1119db5dace1a66c2728241830c7de075d586187d3f987fcc99e4181176a5910da56552ba735dda110a641d2541 SHA512 770d8d82502c5cd419123e09f6a445d2cbaea4463c5fa79f1497c868bf5defc5e5779a6e550ef5fcf75d57322d2b25b61574f4df0cbf001c4325c6abdbbc30b4
|
||||
|
@ -1,28 +0,0 @@
|
||||
From df7ddc7ec19886ccdc433f42379c04c1df793565 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Thu, 25 Nov 2021 21:19:32 -0500
|
||||
Subject: [PATCH] Remove premature return in build.check_module_linking()
|
||||
|
||||
We want to loop over all link_targets to update
|
||||
backwards_compat_want_soname if necessary.
|
||||
|
||||
Fixes: ec9bdc6edb17d1d9da5df2d6525025242c119f3a
|
||||
---
|
||||
mesonbuild/build.py | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
|
||||
index ad18a7f6a..263942556 100644
|
||||
--- a/mesonbuild/build.py
|
||||
+++ b/mesonbuild/build.py
|
||||
@@ -1601,7 +1601,6 @@ You probably should put it in link_with instead.''')
|
||||
'\n '
|
||||
'use shared_libary() with `override_options: [\'b_lundef=false\']` instead.')
|
||||
link_target.backwards_compat_want_soname = True
|
||||
- return
|
||||
|
||||
class Generator(HoldableObject):
|
||||
def __init__(self, exe: T.Union['Executable', programs.ExternalProgram],
|
||||
--
|
||||
2.34.0
|
||||
|
@ -0,0 +1,26 @@
|
||||
linkers_detect: detect xtools (Apple ld64 derivative)
|
||||
|
||||
xtools is in use on x86_64 and ppc based darwin Prefix installs. Pick
|
||||
it up as a valid linker.
|
||||
|
||||
Meson is the only thing known at this point to try and figure out what
|
||||
linker is in use exactly, so instead of changing the linker (xtools),
|
||||
just teach Meson about xtools.
|
||||
|
||||
Author: Fabian Groffen <grobian@gentoo.org>
|
||||
Bug: https://bugs.gentoo.org/868516
|
||||
|
||||
--- a/mesonbuild/linkers/detect.py
|
||||
+++ b/mesonbuild/linkers/detect.py
|
||||
@@ -188,6 +188,11 @@
|
||||
v = search_version(o)
|
||||
|
||||
linker = LLVMDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v)
|
||||
+ # detect xtools first, bug #868516
|
||||
+ elif 'xtools-' in o.split('\n')[0]:
|
||||
+ xtools = o.split(' ')[0]
|
||||
+ v = xtools.split('-')[1]
|
||||
+ linker = AppleDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v)
|
||||
# first might be apple clang, second is for real gcc, the third is icc
|
||||
elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e or 'ld: unknown option:' in e:
|
||||
if isinstance(comp_class.LINKER_PREFIX, str):
|
@ -1,28 +0,0 @@
|
||||
From bb07c850c77e2bd07e1261547bc6b1e6b024f31d Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Fri, 27 Aug 2021 10:17:14 -0400
|
||||
Subject: [PATCH] mcompile: treat load-average as a float
|
||||
|
||||
`ninja -l` accepts a double. We should do the same.
|
||||
|
||||
Bug: https://bugs.gentoo.org/810655
|
||||
---
|
||||
mesonbuild/mcompile.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/mesonbuild/mcompile.py b/mesonbuild/mcompile.py
|
||||
index bb7ecae9b..e20485c76 100644
|
||||
--- a/mesonbuild/mcompile.py
|
||||
+++ b/mesonbuild/mcompile.py
|
||||
@@ -305,7 +305,7 @@ def add_arguments(parser: 'argparse.ArgumentParser') -> None:
|
||||
'-l', '--load-average',
|
||||
action='store',
|
||||
default=0,
|
||||
- type=int,
|
||||
+ type=float,
|
||||
help='The system load average to try to maintain (if supported).'
|
||||
)
|
||||
parser.add_argument(
|
||||
--
|
||||
2.33.0
|
||||
|
@ -2,17 +2,19 @@
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{7,8,9,10} )
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
inherit distutils-r1 toolchain-funcs
|
||||
inherit bash-completion-r1 distutils-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open source build system"
|
||||
HOMEPAGE="https://mesonbuild.com/"
|
||||
@ -50,7 +52,7 @@ python_prepare_all() {
|
||||
-e 's/test_python_module/_&/'
|
||||
)
|
||||
|
||||
sed -i "${disable_unittests[@]}" run_unittests.py || die
|
||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||
|
||||
# Broken due to python2 script created by python_wrapper_setup
|
||||
rm -r "test cases/frameworks/1 boost" || die
|
||||
@ -63,8 +65,6 @@ src_test() {
|
||||
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
|
||||
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
|
||||
else
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
@ -74,6 +74,9 @@ python_test() {
|
||||
# test_meson_installed
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
|
||||
# test_cross_file_system_paths
|
||||
unset XDG_DATA_HOME
|
||||
|
||||
@ -87,7 +90,8 @@ python_test() {
|
||||
# value in JAVA_HOME, and the tests should get skipped.
|
||||
export JAVA_HOME=$(java-config -O 2>/dev/null)
|
||||
|
||||
${EPYTHON} -u run_tests.py
|
||||
# Call python3 instead of EPYTHON to satisfy test_meson_uninstalled.
|
||||
python3 run_tests.py
|
||||
) || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
@ -96,6 +100,9 @@ python_install_all() {
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins data/shell-completions/zsh/_meson
|
||||
|
||||
dobashcomp data/shell-completions/bash/meson
|
||||
}
|
110
sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.0.ebuild
vendored
Normal file
110
sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.0.ebuild
vendored
Normal file
@ -0,0 +1,110 @@
|
||||
# Copyright 2016-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
|
||||
inherit git-r3
|
||||
else
|
||||
MY_P=${P/_/}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open source build system"
|
||||
HOMEPAGE="https://mesonbuild.com/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
dev-util/ninja
|
||||
dev-vcs/git
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
virtual/pkgconfig
|
||||
)
|
||||
"
|
||||
|
||||
python_prepare_all() {
|
||||
local disable_unittests=(
|
||||
# ASAN and sandbox both want control over LD_PRELOAD
|
||||
# https://bugs.gentoo.org/673016
|
||||
-e 's/test_generate_gir_with_address_sanitizer/_&/'
|
||||
|
||||
# ASAN is unsupported on some targets
|
||||
# https://bugs.gentoo.org/692822
|
||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||
|
||||
# https://github.com/mesonbuild/meson/issues/7203
|
||||
-e 's/test_templates/_&/'
|
||||
|
||||
# Broken due to python2 wrapper
|
||||
-e 's/test_python_module/_&/'
|
||||
)
|
||||
|
||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||
|
||||
# Broken due to python2 script created by python_wrapper_setup
|
||||
rm -r "test cases/frameworks/1 boost" || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
tc-export PKG_CONFIG
|
||||
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
|
||||
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
|
||||
else
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
(
|
||||
# test_meson_installed
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
|
||||
# test_cross_file_system_paths
|
||||
unset XDG_DATA_HOME
|
||||
|
||||
# 'test cases/unit/73 summary' expects 80 columns
|
||||
export COLUMNS=80
|
||||
|
||||
# If JAVA_HOME is not set, meson looks for javac in PATH.
|
||||
# If javac is in /usr/bin, meson assumes /usr/include is a valid
|
||||
# JDK include path. Setting JAVA_HOME works around this broken
|
||||
# autodetection. If no JDK is installed, we should end up with an empty
|
||||
# value in JAVA_HOME, and the tests should get skipped.
|
||||
export JAVA_HOME=$(java-config -O 2>/dev/null)
|
||||
|
||||
# Call python3 instead of EPYTHON to satisfy test_meson_uninstalled.
|
||||
python3 run_tests.py
|
||||
) || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins data/shell-completions/zsh/_meson
|
||||
|
||||
dobashcomp data/shell-completions/bash/meson
|
||||
}
|
110
sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.1.ebuild
vendored
Normal file
110
sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.1.ebuild
vendored
Normal file
@ -0,0 +1,110 @@
|
||||
# Copyright 2016-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
|
||||
inherit git-r3
|
||||
else
|
||||
MY_P=${P/_/}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open source build system"
|
||||
HOMEPAGE="https://mesonbuild.com/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
dev-util/ninja
|
||||
dev-vcs/git
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
virtual/pkgconfig
|
||||
)
|
||||
"
|
||||
|
||||
python_prepare_all() {
|
||||
local disable_unittests=(
|
||||
# ASAN and sandbox both want control over LD_PRELOAD
|
||||
# https://bugs.gentoo.org/673016
|
||||
-e 's/test_generate_gir_with_address_sanitizer/_&/'
|
||||
|
||||
# ASAN is unsupported on some targets
|
||||
# https://bugs.gentoo.org/692822
|
||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||
|
||||
# https://github.com/mesonbuild/meson/issues/7203
|
||||
-e 's/test_templates/_&/'
|
||||
|
||||
# Broken due to python2 wrapper
|
||||
-e 's/test_python_module/_&/'
|
||||
)
|
||||
|
||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||
|
||||
# Broken due to python2 script created by python_wrapper_setup
|
||||
rm -r "test cases/frameworks/1 boost" || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
tc-export PKG_CONFIG
|
||||
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
|
||||
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
|
||||
else
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
(
|
||||
# test_meson_installed
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
|
||||
# test_cross_file_system_paths
|
||||
unset XDG_DATA_HOME
|
||||
|
||||
# 'test cases/unit/73 summary' expects 80 columns
|
||||
export COLUMNS=80
|
||||
|
||||
# If JAVA_HOME is not set, meson looks for javac in PATH.
|
||||
# If javac is in /usr/bin, meson assumes /usr/include is a valid
|
||||
# JDK include path. Setting JAVA_HOME works around this broken
|
||||
# autodetection. If no JDK is installed, we should end up with an empty
|
||||
# value in JAVA_HOME, and the tests should get skipped.
|
||||
export JAVA_HOME=$(java-config -O 2>/dev/null)
|
||||
|
||||
# Call python3 instead of EPYTHON to satisfy test_meson_uninstalled.
|
||||
python3 run_tests.py
|
||||
) || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins data/shell-completions/zsh/_meson
|
||||
|
||||
dobashcomp data/shell-completions/bash/meson
|
||||
}
|
114
sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.2-r1.ebuild
vendored
Normal file
114
sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.2-r1.ebuild
vendored
Normal file
@ -0,0 +1,114 @@
|
||||
# Copyright 2016-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
|
||||
inherit git-r3
|
||||
else
|
||||
MY_P=${P/_/}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 distutils-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open source build system"
|
||||
HOMEPAGE="https://mesonbuild.com/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
DEPEND="
|
||||
test? (
|
||||
dev-libs/glib:2
|
||||
dev-libs/gobject-introspection
|
||||
dev-util/ninja
|
||||
dev-vcs/git
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
virtual/pkgconfig
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.63-xtools-support.patch
|
||||
)
|
||||
|
||||
python_prepare_all() {
|
||||
local disable_unittests=(
|
||||
# ASAN and sandbox both want control over LD_PRELOAD
|
||||
# https://bugs.gentoo.org/673016
|
||||
-e 's/test_generate_gir_with_address_sanitizer/_&/'
|
||||
|
||||
# ASAN is unsupported on some targets
|
||||
# https://bugs.gentoo.org/692822
|
||||
-e 's/test_pch_with_address_sanitizer/_&/'
|
||||
|
||||
# https://github.com/mesonbuild/meson/issues/7203
|
||||
-e 's/test_templates/_&/'
|
||||
|
||||
# Broken due to python2 wrapper
|
||||
-e 's/test_python_module/_&/'
|
||||
)
|
||||
|
||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||
|
||||
# Broken due to python2 script created by python_wrapper_setup
|
||||
rm -r "test cases/frameworks/1 boost" || die
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
src_test() {
|
||||
tc-export PKG_CONFIG
|
||||
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
|
||||
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
|
||||
else
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
|
||||
python_test() {
|
||||
(
|
||||
# test_meson_installed
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
|
||||
# test_cross_file_system_paths
|
||||
unset XDG_DATA_HOME
|
||||
|
||||
# 'test cases/unit/73 summary' expects 80 columns
|
||||
export COLUMNS=80
|
||||
|
||||
# If JAVA_HOME is not set, meson looks for javac in PATH.
|
||||
# If javac is in /usr/bin, meson assumes /usr/include is a valid
|
||||
# JDK include path. Setting JAVA_HOME works around this broken
|
||||
# autodetection. If no JDK is installed, we should end up with an empty
|
||||
# value in JAVA_HOME, and the tests should get skipped.
|
||||
export JAVA_HOME=$(java-config -O 2>/dev/null)
|
||||
|
||||
# Call python3 instead of EPYTHON to satisfy test_meson_uninstalled.
|
||||
python3 run_tests.py
|
||||
) || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins data/shell-completions/zsh/_meson
|
||||
|
||||
dobashcomp data/shell-completions/bash/meson
|
||||
}
|
@ -1,18 +1,22 @@
|
||||
# Copyright 2016-2021 Gentoo Authors
|
||||
# Copyright 2016-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
PYTHON_COMPAT=( python3_{7,8,9,10} )
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/mesonbuild/meson"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
MY_P=${P/_/}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
inherit distutils-r1 toolchain-funcs
|
||||
inherit bash-completion-r1 distutils-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Open source build system"
|
||||
HOMEPAGE="https://mesonbuild.com/"
|
||||
@ -33,6 +37,10 @@ DEPEND="
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.63-xtools-support.patch
|
||||
)
|
||||
|
||||
python_prepare_all() {
|
||||
local disable_unittests=(
|
||||
# ASAN and sandbox both want control over LD_PRELOAD
|
||||
@ -50,7 +58,7 @@ python_prepare_all() {
|
||||
-e 's/test_python_module/_&/'
|
||||
)
|
||||
|
||||
sed -i "${disable_unittests[@]}" run_unittests.py || die
|
||||
sed -i "${disable_unittests[@]}" unittests/*.py || die
|
||||
|
||||
# Broken due to python2 script created by python_wrapper_setup
|
||||
rm -r "test cases/frameworks/1 boost" || die
|
||||
@ -63,8 +71,6 @@ src_test() {
|
||||
if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then
|
||||
ewarn "Found Qt5Core but not Qt5Gui; skipping tests"
|
||||
else
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
distutils-r1_src_test
|
||||
fi
|
||||
}
|
||||
@ -74,6 +80,9 @@ python_test() {
|
||||
# test_meson_installed
|
||||
unset PYTHONDONTWRITEBYTECODE
|
||||
|
||||
# https://bugs.gentoo.org/687792
|
||||
unset PKG_CONFIG
|
||||
|
||||
# test_cross_file_system_paths
|
||||
unset XDG_DATA_HOME
|
||||
|
||||
@ -87,7 +96,8 @@ python_test() {
|
||||
# value in JAVA_HOME, and the tests should get skipped.
|
||||
export JAVA_HOME=$(java-config -O 2>/dev/null)
|
||||
|
||||
${EPYTHON} -u run_tests.py
|
||||
# Call python3 instead of EPYTHON to satisfy test_meson_uninstalled.
|
||||
python3 run_tests.py
|
||||
) || die "Testing failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
@ -96,6 +106,9 @@ python_install_all() {
|
||||
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax}
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
doins data/shell-completions/zsh/_meson
|
||||
|
||||
dobashcomp data/shell-completions/bash/meson
|
||||
}
|
||||
|
@ -10,6 +10,7 @@
|
||||
<name>William Hubbs</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">mesonbuild/meson</remote-id>
|
||||
<remote-id type="pypi">meson</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,3 +1,2 @@
|
||||
DIST ninja-1.10.0.tar.gz 210313 BLAKE2B 0a3db145deaea8a990958ad2e812bc18ed014aaba94911a2905b082745a0d08f10ce1113badabaa362f3834540b7bd3858f07e2a5fce268c66d3d6c73e974e76 SHA512 5ed47ef1ff18a03eb73296629679a8617a08ee443e10e28ae9cb24e4506f84fe1eb142888adea9a62364b626b35817def8c55ba956c9b3cbc7b82d3e62293044
|
||||
DIST ninja-1.10.1.tar.gz 211216 BLAKE2B cb27beeef903ff7c5a00f2ac85b36e66d9c41bcb271edbb6c6d827d5b2b652bacfe3d429a3f966d22fd97495323f83692abf7835f3d6ed3af51a3df9fef180c1 SHA512 9915767a6ffc7147903f346082b5c31fcaeb1e45742754cfaaa642e8ec4c1bd9ec26692a59eb4e2118c397336712a6548e6a16408e094001f8f0c173e67afcc2
|
||||
DIST ninja-1.10.2.tar.gz 213959 BLAKE2B b8160ca6d58cfa0edb93d16b7dfb9776d290c42e54b33b78cd925f167c80f8794e4cc30af984a526b8263c7904a734cf0770d3c27283d21d02f18d3e2eb70032 SHA512 895412ae1cbc83c656e92f282602a29300e08274e9dea0da4464202ae556e7a1ab03bec057f23da4756bbd91bd2d744cd7a64b336740fd2782bb4db5c3b7b496
|
||||
DIST ninja-1.11.0.tar.gz 229475 BLAKE2B 71c8b6cf9524bdc11cf73f7e761f0d7deef2498a970c1439c10cc7d361e31fed1e3b54bcb185f3c7ed041f15704851a96e42560058af61b8a5df6e918d52ebf3 SHA512 9b9c8dae2251f9ddba50680911271b8504c292994fd90a0da94902f64c69a9edc72212217df5c651ddfc2f79c2ae03e84c99b805497dcd7497c53a1617de83e7
|
||||
DIST ninja-1.11.1.tar.gz 229479 BLAKE2B c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5 SHA512 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403
|
||||
|
@ -1,38 +0,0 @@
|
||||
From b748d085618bf5e802de6a13b07d632d20ab04bf Mon Sep 17 00:00:00 2001
|
||||
From: Mike Gilbert <floppym@gentoo.org>
|
||||
Date: Fri, 20 Mar 2020 19:36:01 -0400
|
||||
Subject: [PATCH] Replace references to README with README.md
|
||||
|
||||
The README file was renamed to README.md in commit
|
||||
a37da20ae74c81703b1c811182fc154d95ed46fe.
|
||||
---
|
||||
configure.py | 2 +-
|
||||
misc/packaging/ninja.spec | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.py b/configure.py
|
||||
index 7d8ce9045..8eef7e6eb 100755
|
||||
--- a/configure.py
|
||||
+++ b/configure.py
|
||||
@@ -649,7 +649,7 @@ def has_re2c():
|
||||
command='$doxygen_mainpage_generator $in > $out',
|
||||
description='DOXYGEN_MAINPAGE $out')
|
||||
mainpage = n.build(built('doxygen_mainpage'), 'doxygen_mainpage',
|
||||
- ['README', 'COPYING'],
|
||||
+ ['README.md', 'COPYING'],
|
||||
implicit=['$doxygen_mainpage_generator'])
|
||||
n.build('doxygen', 'doxygen', doc('doxygen.config'),
|
||||
implicit=mainpage)
|
||||
diff --git a/misc/packaging/ninja.spec b/misc/packaging/ninja.spec
|
||||
index 05f5a079a..36e518186 100644
|
||||
--- a/misc/packaging/ninja.spec
|
||||
+++ b/misc/packaging/ninja.spec
|
||||
@@ -32,7 +32,7 @@ cp -p ninja %{buildroot}%{_bindir}/
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
-%doc COPYING README doc/manual.html
|
||||
+%doc COPYING README.md doc/manual.html
|
||||
%{_bindir}/*
|
||||
|
||||
%clean
|
@ -6,6 +6,6 @@
|
||||
<name>Chromium in Gentoo Project</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">martine/ninja</remote-id>
|
||||
<remote-id type="github">ninja-build/ninja</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,133 +0,0 @@
|
||||
# Copyright 2012-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8} )
|
||||
|
||||
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
|
||||
else
|
||||
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A small build system similar to make"
|
||||
HOMEPAGE="https://ninja-build.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="doc emacs test vim-syntax"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-util/re2c
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-doc/doxygen
|
||||
dev-libs/libxslt
|
||||
)
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
||||
RDEPEND="
|
||||
emacs? ( >=app-editors/emacs-23.1:* )
|
||||
vim-syntax? (
|
||||
|| (
|
||||
app-editors/vim
|
||||
app-editors/gvim
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/ninja-cflags.patch
|
||||
"${FILESDIR}"/ninja-1.10.0-readme.patch
|
||||
)
|
||||
|
||||
run_for_build() {
|
||||
if tc-is-cross-compiler; then
|
||||
local -x AR=$(tc-getBUILD_AR)
|
||||
local -x CXX=$(tc-getBUILD_CXX)
|
||||
local -x CFLAGS=
|
||||
local -x CXXFLAGS=${BUILD_CXXFLAGS}
|
||||
local -x LDFLAGS=${BUILD_LDFLAGS}
|
||||
fi
|
||||
echo "$@" >&2
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export AR CXX
|
||||
|
||||
# configure.py appends CFLAGS to CXXFLAGS
|
||||
unset CFLAGS
|
||||
|
||||
run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
mv ninja ninja-build || die
|
||||
${EPYTHON} configure.py || die
|
||||
./ninja-build -v ninja || die
|
||||
else
|
||||
ln ninja ninja-build || die
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
./ninja-build -v doxygen manual || die
|
||||
fi
|
||||
|
||||
if use emacs; then
|
||||
elisp-compile misc/ninja-mode.el || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if ! tc-is-cross-compiler; then
|
||||
# Bug 485772
|
||||
ulimit -n 2048
|
||||
./ninja -v ninja_test || die
|
||||
./ninja_test || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc README.md CONTRIBUTING.md
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc -r doc/doxygen/html/.
|
||||
dodoc doc/manual.html
|
||||
fi
|
||||
dobin ninja
|
||||
|
||||
newbashcomp misc/bash-completion "${PN}"
|
||||
|
||||
if use vim-syntax; then
|
||||
insinto /usr/share/vim/vimfiles/syntax/
|
||||
doins misc/ninja.vim
|
||||
|
||||
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${T}/ninja.vim"
|
||||
fi
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins misc/zsh-completion _ninja
|
||||
|
||||
if use emacs; then
|
||||
cd misc || die
|
||||
elisp-install ninja ninja-mode.el* || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
@ -1,136 +0,0 @@
|
||||
# Copyright 2012-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
|
||||
else
|
||||
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A small build system similar to make"
|
||||
HOMEPAGE="https://ninja-build.org/"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="doc emacs test vim-syntax"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
${PYTHON_DEPS}
|
||||
dev-util/re2c
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-doc/doxygen
|
||||
dev-libs/libxslt
|
||||
)
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
||||
RDEPEND="
|
||||
emacs? ( >=app-editors/emacs-23.1:* )
|
||||
vim-syntax? (
|
||||
|| (
|
||||
app-editors/vim
|
||||
app-editors/gvim
|
||||
)
|
||||
)
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/ninja-cflags.patch
|
||||
)
|
||||
|
||||
run_for_build() {
|
||||
if tc-is-cross-compiler; then
|
||||
local -x AR=$(tc-getBUILD_AR)
|
||||
local -x CXX=$(tc-getBUILD_CXX)
|
||||
local -x CFLAGS=
|
||||
local -x CXXFLAGS=${BUILD_CXXFLAGS}
|
||||
local -x LDFLAGS=${BUILD_LDFLAGS}
|
||||
fi
|
||||
echo "$@" >&2
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
tc-export AR CXX
|
||||
|
||||
# configure.py appends CFLAGS to CXXFLAGS
|
||||
unset CFLAGS
|
||||
|
||||
# enable LFS, bug #760848
|
||||
export CXXFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
BUILD_CXXFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
|
||||
run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
mv ninja ninja-build || die
|
||||
${EPYTHON} configure.py || die
|
||||
./ninja-build -v ninja || die
|
||||
else
|
||||
ln ninja ninja-build || die
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
./ninja-build -v doxygen manual || die
|
||||
fi
|
||||
|
||||
if use emacs; then
|
||||
elisp-compile misc/ninja-mode.el || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if ! tc-is-cross-compiler; then
|
||||
# Bug 485772
|
||||
ulimit -n 2048
|
||||
./ninja -v ninja_test || die
|
||||
./ninja_test || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc README.md CONTRIBUTING.md
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc -r doc/doxygen/html/.
|
||||
dodoc doc/manual.html
|
||||
fi
|
||||
dobin ninja
|
||||
|
||||
newbashcomp misc/bash-completion "${PN}"
|
||||
|
||||
if use vim-syntax; then
|
||||
insinto /usr/share/vim/vimfiles/syntax/
|
||||
doins misc/ninja.vim
|
||||
|
||||
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${T}/ninja.vim"
|
||||
fi
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins misc/zsh-completion _ninja
|
||||
|
||||
if use emacs; then
|
||||
cd misc || die
|
||||
elisp-install ninja ninja-mode.el* || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
use emacs && elisp-site-regen
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
# Copyright 2012-2021 Gentoo Authors
|
||||
# Copyright 2012-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
|
||||
|
||||
@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then
|
||||
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
|
||||
else
|
||||
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A small build system similar to make"
|
||||
@ -31,6 +31,7 @@ BDEPEND="
|
||||
app-text/asciidoc
|
||||
app-doc/doxygen
|
||||
dev-libs/libxslt
|
||||
media-gfx/graphviz
|
||||
)
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
@ -1,18 +1,18 @@
|
||||
# Copyright 2012-2021 Gentoo Authors
|
||||
# Copyright 2012-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
|
||||
inherit edo bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A small build system similar to make"
|
||||
@ -21,7 +21,7 @@ HOMEPAGE="https://ninja-build.org/"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="doc emacs test vim-syntax"
|
||||
IUSE="doc emacs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
@ -31,18 +31,11 @@ BDEPEND="
|
||||
app-text/asciidoc
|
||||
app-doc/doxygen
|
||||
dev-libs/libxslt
|
||||
media-gfx/graphviz
|
||||
)
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
||||
RDEPEND="
|
||||
emacs? ( >=app-editors/emacs-23.1:* )
|
||||
vim-syntax? (
|
||||
|| (
|
||||
app-editors/vim
|
||||
app-editors/gvim
|
||||
)
|
||||
)
|
||||
"
|
||||
RDEPEND="emacs? ( >=app-editors/emacs-23.1:* )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/ninja-cflags.patch
|
||||
@ -89,30 +82,30 @@ src_test() {
|
||||
if ! tc-is-cross-compiler; then
|
||||
# Bug 485772
|
||||
ulimit -n 2048
|
||||
./ninja -v ninja_test || die
|
||||
./ninja_test || die
|
||||
edo ./ninja -v ninja_test
|
||||
edo ./ninja_test
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc README.md CONTRIBUTING.md
|
||||
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc -r doc/doxygen/html/.
|
||||
dodoc doc/manual.html
|
||||
fi
|
||||
|
||||
dobin ninja
|
||||
|
||||
newbashcomp misc/bash-completion "${PN}"
|
||||
newbashcomp misc/bash-completion ${PN}
|
||||
|
||||
if use vim-syntax; then
|
||||
insinto /usr/share/vim/vimfiles/syntax/
|
||||
doins misc/ninja.vim
|
||||
insinto /usr/share/vim/vimfiles/syntax/
|
||||
doins misc/ninja.vim
|
||||
|
||||
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${T}/ninja.vim"
|
||||
fi
|
||||
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}"/ninja.vim || die
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${T}"/ninja.vim
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins misc/zsh-completion _ninja
|
@ -1,18 +1,18 @@
|
||||
# Copyright 2012-2021 Gentoo Authors
|
||||
# Copyright 2012-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
|
||||
inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
|
||||
inherit edo bash-completion-r1 elisp-common python-any-r1 toolchain-funcs
|
||||
|
||||
if [[ ${PV} == 9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/ninja-build/ninja.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A small build system similar to make"
|
||||
@ -21,7 +21,7 @@ HOMEPAGE="https://ninja-build.org/"
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="doc emacs test vim-syntax"
|
||||
IUSE="doc emacs test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
@ -31,18 +31,11 @@ BDEPEND="
|
||||
app-text/asciidoc
|
||||
app-doc/doxygen
|
||||
dev-libs/libxslt
|
||||
media-gfx/graphviz
|
||||
)
|
||||
test? ( dev-cpp/gtest )
|
||||
"
|
||||
RDEPEND="
|
||||
emacs? ( >=app-editors/emacs-23.1:* )
|
||||
vim-syntax? (
|
||||
|| (
|
||||
app-editors/vim
|
||||
app-editors/gvim
|
||||
)
|
||||
)
|
||||
"
|
||||
RDEPEND="emacs? ( >=app-editors/emacs-23.1:* )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/ninja-cflags.patch
|
||||
@ -89,30 +82,30 @@ src_test() {
|
||||
if ! tc-is-cross-compiler; then
|
||||
# Bug 485772
|
||||
ulimit -n 2048
|
||||
./ninja -v ninja_test || die
|
||||
./ninja_test || die
|
||||
edo ./ninja -v ninja_test
|
||||
edo ./ninja_test
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dodoc README.md CONTRIBUTING.md
|
||||
|
||||
if use doc; then
|
||||
docinto html
|
||||
dodoc -r doc/doxygen/html/.
|
||||
dodoc doc/manual.html
|
||||
fi
|
||||
|
||||
dobin ninja
|
||||
|
||||
newbashcomp misc/bash-completion "${PN}"
|
||||
newbashcomp misc/bash-completion ${PN}
|
||||
|
||||
if use vim-syntax; then
|
||||
insinto /usr/share/vim/vimfiles/syntax/
|
||||
doins misc/ninja.vim
|
||||
insinto /usr/share/vim/vimfiles/syntax/
|
||||
doins misc/ninja.vim
|
||||
|
||||
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim"
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${T}/ninja.vim"
|
||||
fi
|
||||
echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}"/ninja.vim || die
|
||||
insinto /usr/share/vim/vimfiles/ftdetect
|
||||
doins "${T}"/ninja.vim
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins misc/zsh-completion _ninja
|
||||
|
@ -1,3 +1,2 @@
|
||||
DIST dwarves-1.20.tar.xz 688728 BLAKE2B c57f390f7e1d20c861a4acb8cd7fe238a3f7c3f2d915d96fc051dba2587942e8fabfa4f524d18555c486863fa02bc4ab63d90e90d477f376dc5e547aa36cccac SHA512 306bb74c498527a5a9bdae4d304e90511336cab627d9acad5237d93cbb48efe11dbca4418c540fa03e3ecdd168ce224cabe9fd2f6fbb50520d0dd17741c80817
|
||||
DIST dwarves-1.21.tar.xz 910480 BLAKE2B b6dcdaf008a7714838904b0bc1050e6af4617e00e168f45a3f1a5d4611a05c898182f3395b2f10478240e05c22ce82a3a7381a1ea7ab41684e3b05ea6e73620c SHA512 69f510025f5790a004c356546f7d92996ad84c4ff1636876b48f1c7d81bf66c83da70f11a1912d65b46f81bea79418782021396a018e74baae5cad9221af14e1
|
||||
DIST dwarves-1.22.tar.xz 922016 BLAKE2B 79ba94bcbec6ddc9ebcc6d9e72ed63c8704ca9a97bb3df1910114e89cdd4e7cc75024e4281f15f06be8f5b4656dd957a44d561a16beff1af14d8c7dc32fbd184 SHA512 d45b19505cd59eb2cbb42304ab599661355a4085262cb202757822ec1c05476c851dea85e922f9421efb8a978ab475a6a6545757c6ab080f13ac77c5f7186606
|
||||
DIST dwarves-1.23.tar.xz 815076 BLAKE2B 2d89ac2d8cacb70a322b1c946356c0b18a2276f7a549efc2cf530c087dd718c7d01f5bcf8b9208965e066770064b6d8db7a9f6ab9a3f3a4612f6fcc8d146c1e8 SHA512 5255930d6898ce35a41e3e553363964663d2b686d12732ff6140fa1d06fcc3806adf28e24ec35ab0712eec0562c52c3943afe9ecce468b0053b852ffeb04c3dc
|
||||
DIST dwarves-1.24.tar.xz 875744 BLAKE2B 6766b5a5ecbf64013227e7cd459af662fc213f230b5b1279354fcaaccebfa3d74f9a2254542dc4f3f1bb4a5def1d4c77e2445fa8b531fa8b9e331cdfc23155fe SHA512 3cdca183cf68ec46fd9a0301ae4a8a30b23a8139c65ffba64ae11f85f9e942f7341dca6f88a4a3b49f32bfd880927193a80fa011726e4a33d3e5a1a146326c06
|
||||
|
@ -1,52 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
inherit multilib cmake python-single-r1
|
||||
|
||||
DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities"
|
||||
HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/"
|
||||
|
||||
LICENSE="GPL-2" # only
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
IUSE="debug"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
>=dev-libs/elfutils-0.178
|
||||
sys-libs/zlib"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
MY_PN=dwarves
|
||||
MY_P=${MY_PN}-${PV}
|
||||
S=${WORKDIR}/${MY_P}
|
||||
if [[ ${PV//_p} == ${PV} ]]; then
|
||||
SRC_URI="http://fedorapeople.org/~acme/${MY_PN}/${MY_P}.tar.xz"
|
||||
else
|
||||
SRC_URI="https://dev.gentoo.org/~zzam/${PN}/${P}.tar.xz"
|
||||
fi
|
||||
|
||||
DOCS=( README README.ctracer NEWS )
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.10-python-import.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
cmake_src_prepare
|
||||
python_fix_shebang ostra/ostra-cg ostra/python/ostra.py
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=( "-D__LIB=$(get_libdir)" )
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_test() { :; }
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
}
|
@ -1,9 +1,9 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
inherit multilib cmake python-single-r1
|
||||
|
||||
DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities"
|
||||
@ -11,7 +11,7 @@ HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/"
|
||||
|
||||
LICENSE="GPL-2" # only
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
|
||||
KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86"
|
||||
IUSE="debug"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
@ -1,17 +1,17 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
inherit multilib cmake python-single-r1
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
inherit cmake python-single-r1
|
||||
|
||||
DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities"
|
||||
HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/"
|
||||
|
||||
LICENSE="GPL-2" # only
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm ~arm64 ppc64 x86"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
|
||||
IUSE="debug"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
@ -1,10 +1,10 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8,9} )
|
||||
inherit multilib cmake python-single-r1 git-r3
|
||||
PYTHON_COMPAT=( python3_{8..11} )
|
||||
inherit cmake python-single-r1 git-r3
|
||||
|
||||
DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities"
|
||||
HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/"
|
||||
|
@ -1,3 +1,2 @@
|
||||
DIST patchelf-0.10.tar.bz2 158604 BLAKE2B 6aed9c2e7f37ff0330ca517a9491c46a93212140367b720bf94da4e4ec29a4978c920b53ce306ec333b3f7ac0216ff59637048c6997cfea4a34a87f2a0448796 SHA512 647ad13b7d45b3c5d20683ef8fe9760cb7f213e879231b6c5780bf32771adfbf7c5e5ce694c08e5681dceda63857d7d8a2d53efb60f799d3e7290cebc02ab501
|
||||
DIST patchelf-0.13.tar.gz 117997 BLAKE2B 5db88c9ff9103f2e4b8e15d7dc0d677c3956a85ce5e86e371c4c32a21c3bc219990edd71a20a6b650342eff1068c0ba0976529d62d21dcc17dfc020abf7167ec SHA512 0b4cb41dc1b76d1c0f46655d8b1c56187d2bf18fa12fad9ad6e8acd321a98df372713a92c6649479498bb5939c91ce16a1032ec03afc5a2f7c92cd68882c2bd9
|
||||
DIST patchelf-0.14.3.tar.gz 123722 BLAKE2B ca9c28c88ff6a5eb37a8cb9010642f04335b74e2132987f34bc167c140dc95cd4ac7a3ed71b7287d952a0201b12148a15f3066e5c7d3d453cc18a1e97b6283ed SHA512 2f5caa6b038e630896dc0cebaf4d6f88d91f6dee7f2ffa2fc6b90d199b3a0140b7fe39ea43e582f7ac1145309a61e11fb7ce36c579ad217c48f1b189738f79c8
|
||||
DIST patchelf-0.14.5.tar.gz 124767 BLAKE2B f2e02fb468db7c8c0c4270c7f95ea6c8dc6ffab7ddb0a6479bd5d1dd0481cbc55982af21a13f42076504417264a11e74d50a9f15d3d5735e47019001abf33e41 SHA512 1b7eca84f6fe2d6f6d4469ca1ccdf35dc920d2052ba94b7daeba6c8cb41fdaff20b1e5bac7c8a7650ff12bf4156da87f84d32e75b09958636dc992a1b7b1a59d
|
||||
DIST patchelf-0.15.0.tar.gz 125803 BLAKE2B 08fc2cffd7d9e835c01c828c16762fb0b3c3e422990f2d0028a65a3e0ec849d01bdef699b6f68afa6bf307e34f5e76121fc94460793c95c055552e1d8a68d772 SHA512 3b2d3d6458be5b2d43cd2878dfb1a185a95cc13cd4c94abd0ee79979afb36f46e347acc292b8d9c2954a342b7291774e6a1b63930e9f90a1cf4179ec075ab046
|
||||
|
@ -1,30 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools
|
||||
|
||||
DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executables"
|
||||
HOMEPAGE="https://nixos.org/patchelf.html"
|
||||
SRC_URI="https://nixos.org/releases/${PN}/${P}/${P}.tar.bz2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 arm64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
|
||||
LICENSE="GPL-3"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
rm src/elf.h || die
|
||||
|
||||
sed -i \
|
||||
-e 's:-Werror::g' \
|
||||
configure.ac || die
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake check \
|
||||
CFLAGS+=" -no-pie" \
|
||||
CXXFLAGS+=" -no-pie"
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -9,7 +9,7 @@ DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executa
|
||||
HOMEPAGE="https://github.com/NixOS/patchelf"
|
||||
SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="amd64 arm64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux"
|
||||
LICENSE="GPL-3"
|
||||
|
||||
src_prepare() {
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
@ -9,7 +9,7 @@ DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executa
|
||||
HOMEPAGE="https://github.com/NixOS/patchelf"
|
||||
SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~riscv-linux ~x86-linux"
|
||||
LICENSE="GPL-3"
|
||||
|
||||
src_prepare() {
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
@ -9,7 +9,7 @@ SRC_URI="http://cyberelk.net/tim/data/patchutils/stable/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
|
||||
IUSE="pcre"
|
||||
|
||||
RDEPEND="pcre? ( dev-libs/libpcre2:= )"
|
||||
|
@ -1,3 +1,6 @@
|
||||
DIST linux-5.12.tar.xz 118112412 BLAKE2B 842d921b9a73d2aaade763dbd2ec67bdfe0275baa6d628b775f5c87574ad7dc86f0419afcd48c10c1235f4bffa16084243f2cf4556e6afcd391e975fe8ba530b SHA512 be03b6fee1d1ea8087b09874d27c0a602c0b04fd90ad38b975bd2c8455a07e83c29b56814aaf1389e82305fae0e4c2d1701075a7f0a7295dd28149f967ec5b3d
|
||||
DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a
|
||||
DIST linux-5.8.tar.xz 114459324 BLAKE2B 7bd97f8fa4527840754434414c07283e89731dc8ebb1e95fa5bc1469a60af1122582c0d3b6e262e77882f023190068df3537bd8b65964b3caa820bb2c8e579c7 SHA512 45a53ecf351096ef6e98242cca4228b8da9b9139ecc6963695791ea6fb7a9484a4e1c19dcca7ce7cbfdfa49de0451b70973bb078f12bdae9cbaddbc3f8092556
|
||||
DIST linux-5.17.tar.xz 128399340 BLAKE2B 82dc4a45cc25c781ac67aa6ed1e4c369544154960f41c4634d47621f381159687a227054976d078524cda28884d395a15f7542fe44ca74ce98ca6ff54a81d6d0 SHA512 89f0a7ca69d20a539d4b612a7028a30a5e98b402e4b6b88516f14237e5da4b626d7929eab8b40fccc90766e8f3bae87e9858a19077ffad20d8204acf18794f5b
|
||||
DIST linux-5.18.tar.xz 129790264 BLAKE2B e2745a69eb70169e90505a9318a3993046eab3020496eecde7d8352ecda0eb71a25b21becf7ce93fc593507dce7d1cd61b94ddcdf82b3094d79c0d3d48508eeb SHA512 dbbc9d1395898a498fa4947fceda1781344fa5d360240f753810daa4fa88e519833e2186c4e582a8f1836e6413e9e85f6563c7770523b704e8702d67622f98b5
|
||||
DIST linux-5.19.tar.xz 131581464 BLAKE2B 4db03a6830a3b3bbf0837e1912182a443d9a4aa8af20a12e6ec814ed708038452d3c0ccee1258cca671c464d76461536363a8adc56e9d098c9a44ae3484a297a SHA512 00313b2f9b82d2dc3fb8294007cf7d7599d254b717ed2de23c81fa7a1bbcbc2798ad286cb94e2f7f5bd54132d1d764facd90d30f79dbcc6616cc7f926adc2623
|
||||
DIST patch-5.17.1.xz 15244 BLAKE2B f340b8a103754122153dd381fe210b18ba37b7262dae4fc7a1f99c5a62868c9bdb178e83865b35f00b82bd2d67ae127c440515d1740093825f7ec7fa4c4a490d SHA512 fb9a28ce7c68daeca82586e7631dc0be00a1a8393b4cef4c659fc1f9dac6e1f941bd60671c0350d1dea9cb035f56d627f64a394a9acb00b2b5dea8a1d44c065f
|
||||
DIST perf-5.19-binutils-2.39-patches.tar.xz 5612 BLAKE2B ec3aeadc3e2508f33dddbb419f434885b39b8220d294f3845f0bc96282923ff46dca126a04c732b8286752e56087ba5b2c5ad9526884f6d0b8b6df5665121e5e SHA512 af676e5a600e227d85f89a5ee0cfacfe1845aa56c27ef9da3ebaf578362d7e741375d30565759123b33b86d36bc9981c8c4cda113af32745cc59cf4a9275e73b
|
||||
|
61
sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.17.1-clang.patch
vendored
Normal file
61
sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.17.1-clang.patch
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
|
||||
Fix building against LLVM/Clang with monolithic libraries and
|
||||
adjust header includes for Clang >= 14.
|
||||
|
||||
--- a/tools/build/feature/Makefile
|
||||
+++ b/tools/build/feature/Makefile
|
||||
@@ -299,7 +299,7 @@ $(OUTPUT)test-llvm.bin:
|
||||
$(BUILDXX) -std=gnu++14 \
|
||||
-I$(shell $(LLVM_CONFIG) --includedir) \
|
||||
-L$(shell $(LLVM_CONFIG) --libdir) \
|
||||
- $(shell $(LLVM_CONFIG) --libs Core BPF) \
|
||||
+ $(shell $(LLVM_CONFIG) --libs) \
|
||||
$(shell $(LLVM_CONFIG) --system-libs) \
|
||||
> $(@:.bin=.make.output) 2>&1
|
||||
|
||||
@@ -312,10 +312,7 @@ $(OUTPUT)test-clang.bin:
|
||||
$(BUILDXX) -std=gnu++14 \
|
||||
-I$(shell $(LLVM_CONFIG) --includedir) \
|
||||
-L$(shell $(LLVM_CONFIG) --libdir) \
|
||||
- -Wl,--start-group -lclangBasic -lclangDriver \
|
||||
- -lclangFrontend -lclangEdit -lclangLex \
|
||||
- -lclangAST -Wl,--end-group \
|
||||
- $(shell $(LLVM_CONFIG) --libs Core option) \
|
||||
+ -lclang-cpp $(shell $(LLVM_CONFIG) --libs) \
|
||||
$(shell $(LLVM_CONFIG) --system-libs) \
|
||||
> $(@:.bin=.make.output) 2>&1
|
||||
|
||||
--- a/tools/perf/Makefile.perf
|
||||
+++ b/tools/perf/Makefile.perf
|
||||
@@ -417,14 +417,11 @@ EXTLIBS := $(call filter-out,$(EXCLUDE_EXTLIBS),$(EXTLIBS))
|
||||
LIBS = -Wl,--whole-archive $(PERFLIBS) $(EXTRA_PERFLIBS) -Wl,--no-whole-archive -Wl,--start-group $(EXTLIBS) -Wl,--end-group
|
||||
|
||||
ifeq ($(USE_CLANG), 1)
|
||||
- CLANGLIBS_LIST = AST Basic CodeGen Driver Frontend Lex Tooling Edit Sema Analysis Parse Serialization
|
||||
- CLANGLIBS_NOEXT_LIST = $(foreach l,$(CLANGLIBS_LIST),$(shell $(LLVM_CONFIG) --libdir)/libclang$(l))
|
||||
- LIBCLANG = $(foreach l,$(CLANGLIBS_NOEXT_LIST),$(wildcard $(l).a $(l).so))
|
||||
- LIBS += -Wl,--start-group $(LIBCLANG) -Wl,--end-group
|
||||
+ LIBS += -lclang-cpp
|
||||
endif
|
||||
|
||||
ifeq ($(USE_LLVM), 1)
|
||||
- LIBLLVM = $(shell $(LLVM_CONFIG) --libs all) $(shell $(LLVM_CONFIG) --system-libs)
|
||||
+ LIBLLVM = $(shell $(LLVM_CONFIG) --libs) $(shell $(LLVM_CONFIG) --system-libs)
|
||||
LIBS += -L$(shell $(LLVM_CONFIG) --libdir) $(LIBLLVM)
|
||||
endif
|
||||
|
||||
--- a/tools/perf/util/c++/clang.cpp
|
||||
+++ b/tools/perf/util/c++/clang.cpp
|
||||
@@ -20,7 +20,11 @@
|
||||
#include "llvm/Option/Option.h"
|
||||
#include "llvm/Support/FileSystem.h"
|
||||
#include "llvm/Support/ManagedStatic.h"
|
||||
+#if CLANG_VERSION_MAJOR >= 14
|
||||
+#include "llvm/MC/TargetRegistry.h"
|
||||
+#else
|
||||
#include "llvm/Support/TargetRegistry.h"
|
||||
+#endif
|
||||
#include "llvm/Support/TargetSelect.h"
|
||||
#include "llvm/Target/TargetMachine.h"
|
||||
#include "llvm/Target/TargetOptions.h"
|
||||
|
45
sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.18-clang.patch
vendored
Normal file
45
sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.18-clang.patch
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
|
||||
Fix building against LLVM/Clang with monolithic libraries.
|
||||
|
||||
--- a/tools/build/feature/Makefile
|
||||
+++ b/tools/build/feature/Makefile
|
||||
@@ -299,7 +299,7 @@ $(OUTPUT)test-llvm.bin:
|
||||
$(BUILDXX) -std=gnu++14 \
|
||||
-I$(shell $(LLVM_CONFIG) --includedir) \
|
||||
-L$(shell $(LLVM_CONFIG) --libdir) \
|
||||
- $(shell $(LLVM_CONFIG) --libs Core BPF) \
|
||||
+ $(shell $(LLVM_CONFIG) --libs) \
|
||||
$(shell $(LLVM_CONFIG) --system-libs) \
|
||||
> $(@:.bin=.make.output) 2>&1
|
||||
|
||||
@@ -312,10 +312,7 @@ $(OUTPUT)test-clang.bin:
|
||||
$(BUILDXX) -std=gnu++14 \
|
||||
-I$(shell $(LLVM_CONFIG) --includedir) \
|
||||
-L$(shell $(LLVM_CONFIG) --libdir) \
|
||||
- -Wl,--start-group -lclangBasic -lclangDriver \
|
||||
- -lclangFrontend -lclangEdit -lclangLex \
|
||||
- -lclangAST -Wl,--end-group \
|
||||
- $(shell $(LLVM_CONFIG) --libs Core option) \
|
||||
+ -lclang-cpp $(shell $(LLVM_CONFIG) --libs) \
|
||||
$(shell $(LLVM_CONFIG) --system-libs) \
|
||||
> $(@:.bin=.make.output) 2>&1
|
||||
|
||||
--- a/tools/perf/Makefile.perf
|
||||
+++ b/tools/perf/Makefile.perf
|
||||
@@ -417,14 +417,11 @@ EXTLIBS := $(call filter-out,$(EXCLUDE_EXTLIBS),$(EXTLIBS))
|
||||
LIBS = -Wl,--whole-archive $(PERFLIBS) $(EXTRA_PERFLIBS) -Wl,--no-whole-archive -Wl,--start-group $(EXTLIBS) -Wl,--end-group
|
||||
|
||||
ifeq ($(USE_CLANG), 1)
|
||||
- CLANGLIBS_LIST = AST Basic CodeGen Driver Frontend Lex Tooling Edit Sema Analysis Parse Serialization
|
||||
- CLANGLIBS_NOEXT_LIST = $(foreach l,$(CLANGLIBS_LIST),$(shell $(LLVM_CONFIG) --libdir)/libclang$(l))
|
||||
- LIBCLANG = $(foreach l,$(CLANGLIBS_NOEXT_LIST),$(wildcard $(l).a $(l).so))
|
||||
- LIBS += -Wl,--start-group $(LIBCLANG) -Wl,--end-group
|
||||
+ LIBS += -lclang-cpp
|
||||
endif
|
||||
|
||||
ifeq ($(USE_LLVM), 1)
|
||||
- LIBLLVM = $(shell $(LLVM_CONFIG) --libs all) $(shell $(LLVM_CONFIG) --system-libs)
|
||||
+ LIBLLVM = $(shell $(LLVM_CONFIG) --libs) $(shell $(LLVM_CONFIG) --system-libs)
|
||||
LIBS += -L$(shell $(LLVM_CONFIG) --libdir) $(LIBLLVM)
|
||||
endif
|
||||
|
@ -3,6 +3,7 @@
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>naota@gentoo.org</email>
|
||||
<name>Naohiro Aota</name>
|
||||
</maintainer>
|
||||
<maintainer type="person">
|
||||
<email>dlan@gentoo.org</email>
|
||||
@ -19,12 +20,6 @@
|
||||
<use>
|
||||
<flag name="babeltrace">Enable <pkg>dev-util/babeltrace</pkg> support</flag>
|
||||
<flag name="clang">Enable builtin clang and LLVM support</flag>
|
||||
<flag name="demangle">
|
||||
Enable C++ symbol name demangling, using libbfd from
|
||||
<pkg>sys-devel/binutils</pkg>. When this flag is enabled, the
|
||||
package will have to be rebuilt after every version bump of
|
||||
binutils.
|
||||
</flag>
|
||||
<flag name="doc">
|
||||
Build documentation and man pages. With this USE flag disabled,
|
||||
the --help parameter for perf and its sub-tools will not be
|
||||
@ -41,7 +36,7 @@
|
||||
Add support to define SDT event in perf tools.
|
||||
</flag>
|
||||
<flag name="unwind">
|
||||
Use sys-libs/libunwind for frame unwinding support.
|
||||
Use <pkg>sys-libs/libunwind</pkg> for frame unwinding support.
|
||||
</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
@ -1,11 +1,10 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Flatcar: Support python 3.6.
|
||||
PYTHON_COMPAT=( python3_{6..10} )
|
||||
inherit bash-completion-r1 estack llvm toolchain-funcs prefix python-r1 linux-info
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
inherit bash-completion-r1 estack llvm toolchain-funcs python-r1 linux-info
|
||||
|
||||
DESCRIPTION="Userland tools for Linux Performance Counters"
|
||||
HOMEPAGE="https://perf.wiki.kernel.org/"
|
||||
@ -32,7 +31,7 @@ SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="audit babeltrace clang crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
@ -55,8 +54,8 @@ RDEPEND="audit? ( sys-process/audit )
|
||||
babeltrace? ( dev-util/babeltrace )
|
||||
crypt? ( virtual/libcrypt:= )
|
||||
clang? (
|
||||
sys-devel/clang:=
|
||||
sys-devel/llvm:=
|
||||
<sys-devel/clang-14:=
|
||||
<sys-devel/llvm-14:=
|
||||
)
|
||||
gtk? ( x11-libs/gtk+:2 )
|
||||
java? ( virtual/jre:* )
|
||||
@ -97,7 +96,7 @@ pkg_pretend() {
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use clang && llvm_pkg_setup
|
||||
use clang && LLVM_MAX_SLOT=13 llvm_pkg_setup
|
||||
# We enable python unconditionally as libbpf always generates
|
||||
# API headers using python script
|
||||
python_setup
|
||||
@ -151,10 +150,10 @@ src_prepare() {
|
||||
# Drop some upstream too-developer-oriented flags and fix the
|
||||
# Makefile in general
|
||||
sed -i \
|
||||
-e "s:\$(sysconfdir_SQ)/bash_completion.d:$(get_bashcompdir):" \
|
||||
-e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \
|
||||
"${S}"/Makefile.perf || die
|
||||
# A few places still use -Werror w/out $(WERROR) protection.
|
||||
sed -i -e 's:-Werror::' \
|
||||
sed -i -e 's@-Werror@@' \
|
||||
"${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die
|
||||
|
||||
# Avoid the call to make kernelversion
|
||||
|
@ -1,10 +1,10 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
inherit bash-completion-r1 estack llvm toolchain-funcs prefix python-r1 linux-info
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit bash-completion-r1 estack llvm toolchain-funcs python-r1 linux-info
|
||||
|
||||
DESCRIPTION="Userland tools for Linux Performance Counters"
|
||||
HOMEPAGE="https://perf.wiki.kernel.org/"
|
||||
@ -54,8 +54,8 @@ RDEPEND="audit? ( sys-process/audit )
|
||||
babeltrace? ( dev-util/babeltrace )
|
||||
crypt? ( virtual/libcrypt:= )
|
||||
clang? (
|
||||
<sys-devel/clang-10:*
|
||||
<sys-devel/llvm-10:*
|
||||
sys-devel/clang:=
|
||||
sys-devel/llvm:=
|
||||
)
|
||||
gtk? ( x11-libs/gtk+:2 )
|
||||
java? ( virtual/jre:* )
|
||||
@ -83,8 +83,8 @@ S="${S_K}/tools/perf"
|
||||
CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS"
|
||||
|
||||
QA_FLAGS_IGNORED=(
|
||||
usr/bin/perf-read-vdso32 # not linked with anything except for libc
|
||||
usr/libexec/perf-core/dlfilters/dlfilter-test-api-v0.so # not installed
|
||||
'usr/bin/perf-read-vdso32' # not linked with anything except for libc
|
||||
'usr/libexec/perf-core/dlfilters/.*' # plugins
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
@ -96,7 +96,7 @@ pkg_pretend() {
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use clang && LLVM_MAX_SLOT=9 llvm_pkg_setup
|
||||
use clang && llvm_pkg_setup
|
||||
# We enable python unconditionally as libbpf always generates
|
||||
# API headers using python script
|
||||
python_setup
|
||||
@ -141,13 +141,17 @@ src_prepare() {
|
||||
popd || die
|
||||
fi
|
||||
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
eapply "${FILESDIR}"/${P}-clang.patch
|
||||
popd || die
|
||||
|
||||
# Drop some upstream too-developer-oriented flags and fix the
|
||||
# Makefile in general
|
||||
sed -i \
|
||||
-e "s:\$(sysconfdir_SQ)/bash_completion.d:$(get_bashcompdir):" \
|
||||
-e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \
|
||||
"${S}"/Makefile.perf || die
|
||||
# A few places still use -Werror w/out $(WERROR) protection.
|
||||
sed -i -e 's:-Werror::' \
|
||||
sed -i -e 's@-Werror@@' \
|
||||
"${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die
|
||||
|
||||
# Avoid the call to make kernelversion
|
||||
@ -156,11 +160,6 @@ src_prepare() {
|
||||
|
||||
# The code likes to compile local assembly files which lack ELF markings.
|
||||
find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
|
||||
|
||||
# Fix shebang to use python from prefix
|
||||
if [[ -n "${EPREFIX}" ]]; then
|
||||
hprefixify ${S_K}/scripts/bpf_helpers_doc.py
|
||||
fi
|
||||
}
|
||||
|
||||
puse() { usex $1 "" no; }
|
||||
@ -222,9 +221,7 @@ perf_make() {
|
||||
src_compile() {
|
||||
# test-clang.bin not build with g++
|
||||
if use clang; then
|
||||
pushd "${S_K}/tools/build/feature/" || die
|
||||
make V=1 CXX=${CHOST}-clang++ test-clang.bin || die
|
||||
popd
|
||||
make -C "${S_K}/tools/build/feature" V=1 CXX=${CHOST}-clang++ test-clang.bin || die
|
||||
fi
|
||||
perf_make -f Makefile.perf
|
||||
use doc && perf_make -C Documentation man
|
@ -1,13 +1,10 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8} )
|
||||
inherit bash-completion-r1 estack llvm toolchain-funcs prefix python-r1 linux-info
|
||||
|
||||
MY_PV="${PV/_/-}"
|
||||
MY_PV="${MY_PV/-pre/-git}"
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit bash-completion-r1 estack llvm toolchain-funcs python-r1 linux-info
|
||||
|
||||
DESCRIPTION="Userland tools for Linux Performance Counters"
|
||||
HOMEPAGE="https://perf.wiki.kernel.org/"
|
||||
@ -34,20 +31,35 @@ SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="audit clang crypt debug +demangle +doc gtk java lzma numa perl python slang systemtap unwind zlib"
|
||||
# TODO babeltrace
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="audit babeltrace clang crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
BDEPEND="
|
||||
${LINUX_PATCH+dev-util/patchutils}
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/sgml-common
|
||||
app-text/xmlto
|
||||
sys-process/time
|
||||
)
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
RDEPEND="audit? ( sys-process/audit )
|
||||
crypt? ( dev-libs/openssl:0= )
|
||||
babeltrace? ( dev-util/babeltrace )
|
||||
crypt? ( virtual/libcrypt:= )
|
||||
clang? (
|
||||
<sys-devel/clang-10:*
|
||||
<sys-devel/llvm-10:*
|
||||
sys-devel/clang:=
|
||||
sys-devel/llvm:=
|
||||
)
|
||||
demangle? ( sys-libs/binutils-libs:= )
|
||||
gtk? ( x11-libs/gtk+:2 )
|
||||
java? ( virtual/jre:* )
|
||||
libpfm? ( dev-libs/libpfm )
|
||||
lzma? ( app-arch/xz-utils )
|
||||
numa? ( sys-process/numactl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
@ -56,30 +68,42 @@ RDEPEND="audit? ( sys-process/audit )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
unwind? ( sys-libs/libunwind )
|
||||
zlib? ( sys-libs/zlib )
|
||||
dev-libs/elfutils"
|
||||
zstd? ( app-arch/zstd )
|
||||
dev-libs/elfutils
|
||||
sys-libs/binutils-libs:="
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-kernel/linux-headers-4.19
|
||||
${LINUX_PATCH+dev-util/patchutils}
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
>=sys-kernel/linux-headers-5.10
|
||||
java? ( virtual/jdk )
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/sgml-common
|
||||
app-text/xmlto
|
||||
sys-process/time
|
||||
)"
|
||||
"
|
||||
|
||||
S_K="${WORKDIR}/linux-${LINUX_VER}"
|
||||
S="${S_K}/tools/perf"
|
||||
|
||||
CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS"
|
||||
|
||||
pkg_setup() {
|
||||
use clang && LLVM_MAX_SLOT=9 llvm_pkg_setup
|
||||
QA_FLAGS_IGNORED=(
|
||||
'usr/bin/perf-read-vdso32' # not linked with anything except for libc
|
||||
'usr/libexec/perf-core/dlfilters/.*' # plugins
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
if ! use doc ; then
|
||||
ewarn "Without the doc USE flag you won't get any documentation nor man pages."
|
||||
ewarn "And without man pages, you won't get any --help output for perf and its"
|
||||
ewarn "sub-tools."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use clang && llvm_pkg_setup
|
||||
# We enable python unconditionally as libbpf always generates
|
||||
# API headers using python script
|
||||
python_setup
|
||||
}
|
||||
|
||||
# src_unpack and src_prepare are copied to dev-util/bpftool since
|
||||
# it's building from the same tarball, please keep it in sync with bpftool
|
||||
src_unpack() {
|
||||
local paths=(
|
||||
tools/arch tools/build tools/include tools/lib tools/perf tools/scripts
|
||||
@ -117,25 +141,25 @@ src_prepare() {
|
||||
popd || die
|
||||
fi
|
||||
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
eapply "${FILESDIR}"/${P}-clang.patch
|
||||
popd || die
|
||||
|
||||
# Drop some upstream too-developer-oriented flags and fix the
|
||||
# Makefile in general
|
||||
sed -i \
|
||||
-e "s:\$(sysconfdir_SQ)/bash_completion.d:$(get_bashcompdir):" \
|
||||
-e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \
|
||||
"${S}"/Makefile.perf || die
|
||||
# A few places still use -Werror w/out $(WERROR) protection.
|
||||
sed -i -e 's:-Werror::' \
|
||||
sed -i -e 's@-Werror@@' \
|
||||
"${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die
|
||||
|
||||
# Avoid the call to make kernelversion
|
||||
echo "#define PERF_VERSION \"${MY_PV}\"" > PERF-VERSION-FILE
|
||||
sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die
|
||||
echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE
|
||||
|
||||
# The code likes to compile local assembly files which lack ELF markings.
|
||||
find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
|
||||
|
||||
# Fix shebang to use python from prefix
|
||||
if [[ -n "${EPREFIX}" ]]; then
|
||||
hprefixify ${S_K}/scripts/bpf_helpers_doc.py
|
||||
fi
|
||||
}
|
||||
|
||||
puse() { usex $1 "" no; }
|
||||
@ -150,39 +174,43 @@ perf_make() {
|
||||
|
||||
local arch=$(tc-arch-kernel)
|
||||
local java_dir
|
||||
use java && java_dir="/etc/java-config-2/current-system-vm"
|
||||
use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm"
|
||||
# FIXME: NO_CORESIGHT
|
||||
# FIXME: NO_LIBBABELTRACE
|
||||
emake V=1 VF=1 \
|
||||
HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
|
||||
CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" NM="$(tc-getNM)" \
|
||||
PKG_CONFIG="$(tc-getPKG_CONFIG)" \
|
||||
prefix="${EPREFIX}/usr" bindir_relative="bin" \
|
||||
tipdir="share/doc/${PF}" \
|
||||
EXTRA_CFLAGS="${CFLAGS}" \
|
||||
EXTRA_LDFLAGS="${LDFLAGS}" \
|
||||
ARCH="${arch}" \
|
||||
JDIR="${java_dir}" \
|
||||
LIBCLANGLLVM=$(usex clang 1 "") \
|
||||
LIBPFM4=$(usex libpfm 1 "") \
|
||||
NO_AUXTRACE="" \
|
||||
NO_BACKTRACE="" \
|
||||
NO_CORESIGHT=1 \
|
||||
NO_DEMANGLE=$(puse demangle) \
|
||||
NO_GTK2=$(puse gtk) \
|
||||
NO_DEMANGLE= \
|
||||
GTK2=$(usex gtk 1 "") \
|
||||
feature-gtk2-infobar=$(usex gtk 1 "") \
|
||||
NO_JVMTI=$(puse java) \
|
||||
NO_LIBAUDIT=$(puse audit) \
|
||||
NO_LIBBABELTRACE=1 \
|
||||
NO_LIBBABELTRACE=$(puse babeltrace) \
|
||||
NO_LIBBIONIC=1 \
|
||||
NO_LIBBPF="" \
|
||||
NO_LIBBPF= \
|
||||
NO_LIBCRYPTO=$(puse crypt) \
|
||||
NO_LIBDW_DWARF_UNWIND="" \
|
||||
NO_LIBELF="" \
|
||||
NO_LIBDW_DWARF_UNWIND= \
|
||||
NO_LIBELF= \
|
||||
NO_LIBNUMA=$(puse numa) \
|
||||
NO_LIBPERL=$(puse perl) \
|
||||
NO_LIBPYTHON=$(puse python) \
|
||||
NO_LIBUNWIND=$(puse unwind) \
|
||||
NO_LIBZSTD=$(puse zstd) \
|
||||
NO_SDT=$(puse systemtap) \
|
||||
NO_SLANG=$(puse slang) \
|
||||
NO_LZMA=$(puse lzma) \
|
||||
NO_ZLIB= \
|
||||
NO_ZLIB=$(puse zlib) \
|
||||
WERROR=0 \
|
||||
LIBDIR="/usr/libexec/perf-core" \
|
||||
libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
@ -193,12 +221,10 @@ perf_make() {
|
||||
src_compile() {
|
||||
# test-clang.bin not build with g++
|
||||
if use clang; then
|
||||
pushd "${S_K}/tools/build/feature/" || die
|
||||
make V=1 CXX=${CHOST}-clang++ test-clang.bin || die
|
||||
popd
|
||||
make -C "${S_K}/tools/build/feature" V=1 CXX=${CHOST}-clang++ test-clang.bin || die
|
||||
fi
|
||||
perf_make -f Makefile.perf
|
||||
use doc && perf_make -C Documentation
|
||||
use doc && perf_make -C Documentation man
|
||||
}
|
||||
|
||||
src_test() {
|
||||
@ -211,12 +237,11 @@ src_install() {
|
||||
}
|
||||
|
||||
perf_make -f Makefile.perf install DESTDIR="${D}"
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl _install_python_ext
|
||||
fi
|
||||
|
||||
rm -rv "${ED}"/usr/share/doc/perf-tip || die
|
||||
|
||||
if use gtk; then
|
||||
local libdir
|
||||
libdir="$(get_libdir)"
|
||||
@ -229,16 +254,11 @@ src_install() {
|
||||
dodoc CREDITS
|
||||
|
||||
dodoc *txt Documentation/*.txt
|
||||
|
||||
# perf needs this decompressed to print out tips for users
|
||||
docompress -x /usr/share/doc/${PF}/tips.txt
|
||||
|
||||
if use doc ; then
|
||||
HTML_DOCS="Documentation/*.html" einstalldocs
|
||||
doman Documentation/*.1
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if ! use doc ; then
|
||||
elog "Without the doc USE flag you won't get any documentation nor man pages."
|
||||
elog "And without man pages, you won't get any --help output for perf and its"
|
||||
elog "sub-tools."
|
||||
fi
|
||||
}
|
271
sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.19.ebuild
vendored
Normal file
271
sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.19.ebuild
vendored
Normal file
@ -0,0 +1,271 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
inherit bash-completion-r1 estack llvm toolchain-funcs python-r1 linux-info
|
||||
|
||||
DESCRIPTION="Userland tools for Linux Performance Counters"
|
||||
HOMEPAGE="https://perf.wiki.kernel.org/"
|
||||
|
||||
LINUX_V="${PV:0:1}.x"
|
||||
if [[ ${PV} == *_rc* ]] ; then
|
||||
LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1))
|
||||
PATCH_VERSION=$(ver_cut 1-3)
|
||||
LINUX_PATCH=patch-${PV//_/-}.xz
|
||||
SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH}
|
||||
https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}"
|
||||
elif [[ ${PV} == *.*.* ]] ; then
|
||||
# stable-release series
|
||||
LINUX_VER=$(ver_cut 1-2)
|
||||
LINUX_PATCH=patch-${PV}.xz
|
||||
SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}"
|
||||
else
|
||||
LINUX_VER=${PV}
|
||||
SRC_URI=""
|
||||
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-binutils-2.39-patches.tar.xz"
|
||||
fi
|
||||
|
||||
LINUX_SOURCES="linux-${LINUX_VER}.tar.xz"
|
||||
SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="audit babeltrace clang crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
BDEPEND="
|
||||
${LINUX_PATCH+dev-util/patchutils}
|
||||
sys-devel/bison
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig
|
||||
doc? (
|
||||
app-text/asciidoc
|
||||
app-text/sgml-common
|
||||
app-text/xmlto
|
||||
sys-process/time
|
||||
)
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
RDEPEND="audit? ( sys-process/audit )
|
||||
babeltrace? ( dev-util/babeltrace )
|
||||
crypt? ( virtual/libcrypt:= )
|
||||
clang? (
|
||||
sys-devel/clang:=
|
||||
sys-devel/llvm:=
|
||||
)
|
||||
gtk? ( x11-libs/gtk+:2 )
|
||||
java? ( virtual/jre:* )
|
||||
libpfm? ( dev-libs/libpfm )
|
||||
lzma? ( app-arch/xz-utils )
|
||||
numa? ( sys-process/numactl )
|
||||
perl? ( dev-lang/perl:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
slang? ( sys-libs/slang )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
unwind? ( sys-libs/libunwind )
|
||||
zlib? ( sys-libs/zlib )
|
||||
zstd? ( app-arch/zstd )
|
||||
dev-libs/elfutils
|
||||
sys-libs/binutils-libs:="
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-kernel/linux-headers-5.10
|
||||
java? ( virtual/jdk )
|
||||
"
|
||||
|
||||
S_K="${WORKDIR}/linux-${LINUX_VER}"
|
||||
S="${S_K}/tools/perf"
|
||||
|
||||
CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS"
|
||||
|
||||
QA_FLAGS_IGNORED=(
|
||||
'usr/bin/perf-read-vdso32' # not linked with anything except for libc
|
||||
'usr/libexec/perf-core/dlfilters/.*' # plugins
|
||||
)
|
||||
|
||||
pkg_pretend() {
|
||||
if ! use doc ; then
|
||||
ewarn "Without the doc USE flag you won't get any documentation nor man pages."
|
||||
ewarn "And without man pages, you won't get any --help output for perf and its"
|
||||
ewarn "sub-tools."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
use clang && llvm_pkg_setup
|
||||
# We enable python unconditionally as libbpf always generates
|
||||
# API headers using python script
|
||||
python_setup
|
||||
}
|
||||
|
||||
# src_unpack and src_prepare are copied to dev-util/bpftool since
|
||||
# it's building from the same tarball, please keep it in sync with bpftool
|
||||
src_unpack() {
|
||||
local paths=(
|
||||
tools/arch tools/build tools/include tools/lib tools/perf tools/scripts
|
||||
scripts include lib "arch/*/lib"
|
||||
)
|
||||
|
||||
# We expect the tar implementation to support the -j option (both
|
||||
# GNU tar and libarchive's tar support that).
|
||||
echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}"
|
||||
tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \
|
||||
"${paths[@]/#/linux-${LINUX_VER}/}" || die
|
||||
|
||||
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||
eshopts_push -o noglob
|
||||
ebegin "Filtering partial source patch"
|
||||
filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \
|
||||
> ${P}.patch
|
||||
eend $? || die "filterdiff failed"
|
||||
eshopts_pop
|
||||
fi
|
||||
|
||||
local a
|
||||
for a in ${A}; do
|
||||
[[ ${a} == ${LINUX_SOURCES} ]] && continue
|
||||
[[ ${a} == ${LINUX_PATCH} ]] && continue
|
||||
unpack ${a}
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
if [[ -n ${LINUX_PATCH} ]] ; then
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
eapply "${WORKDIR}"/${P}.patch
|
||||
popd || die
|
||||
fi
|
||||
|
||||
pushd "${S_K}" >/dev/null || die
|
||||
eapply "${FILESDIR}"/${PN}-5.18-clang.patch
|
||||
# Used `git format-patch 00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00`
|
||||
# bug #868129
|
||||
rm "${WORKDIR}"/${P}-binutils-2.39-patches/0005-tools-bpf_jit_disasm-Fix-compilation-error-with-new-.patch || die
|
||||
rm "${WORKDIR}"/${P}-binutils-2.39-patches/0006-tools-bpf_jit_disasm-Don-t-display-disassembler-four.patch || die
|
||||
rm "${WORKDIR}"/${P}-binutils-2.39-patches/0007-tools-bpftool-Fix-compilation-error-with-new-binutil.patch || die
|
||||
eapply "${WORKDIR}"/${P}-binutils-2.39-patches
|
||||
popd || die
|
||||
|
||||
# Drop some upstream too-developer-oriented flags and fix the
|
||||
# Makefile in general
|
||||
sed -i \
|
||||
-e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \
|
||||
"${S}"/Makefile.perf || die
|
||||
# A few places still use -Werror w/out $(WERROR) protection.
|
||||
sed -i -e 's@-Werror@@' \
|
||||
"${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die
|
||||
|
||||
# Avoid the call to make kernelversion
|
||||
sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die
|
||||
echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE
|
||||
|
||||
# The code likes to compile local assembly files which lack ELF markings.
|
||||
find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} +
|
||||
}
|
||||
|
||||
puse() { usex $1 "" no; }
|
||||
perf_make() {
|
||||
# The arch parsing is a bit funky. The perf tools package is integrated
|
||||
# into the kernel, so it wants an ARCH that looks like the kernel arch,
|
||||
# but it also wants to know about the split value -- i386/x86_64 vs just
|
||||
# x86. We can get that by telling the func to use an older linux version.
|
||||
# It's kind of a hack, but not that bad ...
|
||||
|
||||
# LIBDIR sets a search path of perf-gtk.so. Bug 515954
|
||||
|
||||
local arch=$(tc-arch-kernel)
|
||||
local java_dir
|
||||
use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm"
|
||||
# FIXME: NO_CORESIGHT
|
||||
emake V=1 VF=1 \
|
||||
HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \
|
||||
CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" NM="$(tc-getNM)" \
|
||||
PKG_CONFIG="$(tc-getPKG_CONFIG)" \
|
||||
prefix="${EPREFIX}/usr" bindir_relative="bin" \
|
||||
tipdir="share/doc/${PF}" \
|
||||
EXTRA_CFLAGS="${CFLAGS}" \
|
||||
EXTRA_LDFLAGS="${LDFLAGS}" \
|
||||
ARCH="${arch}" \
|
||||
JDIR="${java_dir}" \
|
||||
LIBCLANGLLVM=$(usex clang 1 "") \
|
||||
LIBPFM4=$(usex libpfm 1 "") \
|
||||
NO_AUXTRACE="" \
|
||||
NO_BACKTRACE="" \
|
||||
NO_CORESIGHT=1 \
|
||||
NO_DEMANGLE= \
|
||||
GTK2=$(usex gtk 1 "") \
|
||||
feature-gtk2-infobar=$(usex gtk 1 "") \
|
||||
NO_JVMTI=$(puse java) \
|
||||
NO_LIBAUDIT=$(puse audit) \
|
||||
NO_LIBBABELTRACE=$(puse babeltrace) \
|
||||
NO_LIBBIONIC=1 \
|
||||
NO_LIBBPF= \
|
||||
NO_LIBCRYPTO=$(puse crypt) \
|
||||
NO_LIBDW_DWARF_UNWIND= \
|
||||
NO_LIBELF= \
|
||||
NO_LIBNUMA=$(puse numa) \
|
||||
NO_LIBPERL=$(puse perl) \
|
||||
NO_LIBPYTHON=$(puse python) \
|
||||
NO_LIBUNWIND=$(puse unwind) \
|
||||
NO_LIBZSTD=$(puse zstd) \
|
||||
NO_SDT=$(puse systemtap) \
|
||||
NO_SLANG=$(puse slang) \
|
||||
NO_LZMA=$(puse lzma) \
|
||||
NO_ZLIB=$(puse zlib) \
|
||||
WERROR=0 \
|
||||
LIBDIR="/usr/libexec/perf-core" \
|
||||
libdir="${EPREFIX}/usr/$(get_libdir)" \
|
||||
plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins" \
|
||||
"$@"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# test-clang.bin not build with g++
|
||||
if use clang; then
|
||||
make -C "${S_K}/tools/build/feature" V=1 CXX=${CHOST}-clang++ test-clang.bin || die
|
||||
fi
|
||||
perf_make -f Makefile.perf
|
||||
use doc && perf_make -C Documentation man
|
||||
}
|
||||
|
||||
src_test() {
|
||||
:
|
||||
}
|
||||
|
||||
src_install() {
|
||||
_install_python_ext() {
|
||||
perf_make -f Makefile.perf install-python_ext DESTDIR="${D}"
|
||||
}
|
||||
|
||||
perf_make -f Makefile.perf install DESTDIR="${D}"
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl _install_python_ext
|
||||
fi
|
||||
|
||||
if use gtk; then
|
||||
local libdir
|
||||
libdir="$(get_libdir)"
|
||||
# on some arches it ends up in lib even on 64bit, ppc64 for instance.
|
||||
[[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib"
|
||||
mv "${ED}"/usr/${libdir}/libperf-gtk.so \
|
||||
"${ED}"/usr/libexec/perf-core || die
|
||||
fi
|
||||
|
||||
dodoc CREDITS
|
||||
|
||||
dodoc *txt Documentation/*.txt
|
||||
|
||||
# perf needs this decompressed to print out tips for users
|
||||
docompress -x /usr/share/doc/${PF}/tips.txt
|
||||
|
||||
if use doc ; then
|
||||
doman Documentation/*.1
|
||||
fi
|
||||
}
|
@ -1,19 +1,19 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
PYTHON_COMPAT=( python3_{8,9,10} )
|
||||
|
||||
inherit autotools python-any-r1
|
||||
inherit python-any-r1
|
||||
|
||||
DESCRIPTION="tool for generating C-based recognizers from regular expressions"
|
||||
HOMEPAGE="http://re2c.org/"
|
||||
DESCRIPTION="Tool for generating C-based recognizers from regular expressions"
|
||||
HOMEPAGE="https://re2c.org/"
|
||||
SRC_URI="https://github.com/skvadrik/re2c/releases/download/${PV}/${P}.tar.xz"
|
||||
|
||||
LICENSE="public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="debug test"
|
||||
|
||||
RESTRICT="!test? ( test )"
|
||||
|
@ -1,4 +0,0 @@
|
||||
DIST scons-4.1.0-user.html 1454432 BLAKE2B 9fac4d7bfb4b25708bc4cc48d952beb030f88181af5dfee63090f726b1a82443c192c63ec5939869967ef8f374e8599321212971439fb265fb050b263681c9f8 SHA512 74f1349fa61dac9e66cfb863cb3126d07ce5f421b3e87d0220eb32bd5017ba8f6cf96eb8cb5ee45c39022671aa9f2d0408d4039970c438a69c002445aea510be
|
||||
DIST scons-4.1.0-user.pdf 2691364 BLAKE2B a910a09fa936d4d6f8dc967676d5aa009aac58a5a4566399b3ddc3512ac0259731e6c5399722fefadb3b79d8f89a5257e2e9bc2fa4d65697c8293ab995248d64 SHA512 64584731a59b59b78283be3876ecca91d742f83da2653d0de17922bec01e3c9cea1ce2ce3c8dc718597910ba86ed2c8aff0f7ae371bf763439b57a6d5484e1a7
|
||||
DIST scons-4.1.0.gh.tar.gz 5609204 BLAKE2B ede3d47a1ec652b9248681e26738073e9d01daab7ffeccc58f0fcadb79661e30edb9a35a511518e4a58459243acb027afd8fa5849b0f9e4bae451055f7b1a062 SHA512 f79b86bb09783767b3872cfb8efb665372714a604af2aaf3adc66eee63d3afe27bc6b2aab83813743c83f71c81c800d42842e916501787ba402ce2726dda9b44
|
||||
DIST scons-4.1.0.tar.gz 3007701 BLAKE2B 70ab64ecfd89fa2af1d78a33fcef82a5f7db9875ffe9d2c16ea75cf40e661b2874359e3a5f75d761b3d9e863f7a434560992cfb020cce3e21e389381331d90de SHA512 24fd493643545a2998b053ed0d68caf6241f05bc2437e7cbeae33d2e1c63517a61449a1a18062f8e4e5a639295a2486925296ba3e54ccfa2ecdd56fa07132de8
|
@ -1,88 +0,0 @@
|
||||
From 929986e568446f54c2a99c309fbb4d05bd4af00a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Thu, 10 May 2018 08:01:08 +0200
|
||||
Subject: [PATCH] posix: Also force common toolchain vars for Gentoo
|
||||
|
||||
---
|
||||
src/SCons/Platform/posix.py | 20 ++++++++++++++++++++
|
||||
src/SCons/Tool/cc.py | 3 ++-
|
||||
src/SCons/Tool/cxx.py | 3 ++-
|
||||
src/SCons/Tool/link.py | 3 ++-
|
||||
4 files changed, 26 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/SCons/Platform/posix.py b/src/SCons/Platform/posix.py
|
||||
index 739310a1..ef7528e0 100644
|
||||
--- a/src/SCons/Platform/posix.py
|
||||
+++ b/src/SCons/Platform/posix.py
|
||||
@@ -95,6 +95,26 @@ def generate(env):
|
||||
if 'ENV' in env:
|
||||
new_env.update(env['ENV'])
|
||||
env['ENV'] = new_env
|
||||
+
|
||||
+ # Furthermore, force common compiler/linker variables as well
|
||||
+ envvar_mapping = {
|
||||
+ 'AR': 'AR',
|
||||
+ 'AS': 'AS',
|
||||
+ 'ASFLAGS': 'ASFLAGS',
|
||||
+ 'CC': 'CC',
|
||||
+ 'CXX': 'CXX',
|
||||
+ 'CFLAGS': 'CFLAGS',
|
||||
+ 'CXXFLAGS': 'CXXFLAGS',
|
||||
+ 'CPPFLAGS': 'CPPFLAGS',
|
||||
+ 'LDFLAGS': 'LINKFLAGS',
|
||||
+ }
|
||||
+
|
||||
+ for envvar, toolvar in envvar_mapping.items():
|
||||
+ if toolvar not in env and envvar in env['ENV']:
|
||||
+ val = env['ENV'][envvar]
|
||||
+ if toolvar.endswith('FLAGS'):
|
||||
+ val = SCons.Util.CLVar(val)
|
||||
+ env[toolvar] = val
|
||||
else:
|
||||
if 'ENV' not in env:
|
||||
env['ENV'] = {}
|
||||
diff --git a/src/SCons/Tool/cc.py b/src/SCons/Tool/cc.py
|
||||
index 590ec5fd..5f9229a0 100644
|
||||
--- a/src/SCons/Tool/cc.py
|
||||
+++ b/src/SCons/Tool/cc.py
|
||||
@@ -80,7 +80,8 @@ def generate(env):
|
||||
|
||||
if 'CC' not in env:
|
||||
env['CC'] = env.Detect(compilers) or compilers[0]
|
||||
- env['CFLAGS'] = SCons.Util.CLVar('')
|
||||
+ if 'CFLAGS' not in env:
|
||||
+ env['CFLAGS'] = SCons.Util.CLVar('')
|
||||
env['CCCOM'] = '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
|
||||
env['SHCC'] = '$CC'
|
||||
env['SHCFLAGS'] = SCons.Util.CLVar('$CFLAGS')
|
||||
diff --git a/src/SCons/Tool/cxx.py b/src/SCons/Tool/cxx.py
|
||||
index 430851c8..ca5ab563 100644
|
||||
--- a/src/SCons/Tool/cxx.py
|
||||
+++ b/src/SCons/Tool/cxx.py
|
||||
@@ -74,7 +74,8 @@ def generate(env):
|
||||
|
||||
if 'CXX' not in env:
|
||||
env['CXX'] = env.Detect(compilers) or compilers[0]
|
||||
- env['CXXFLAGS'] = SCons.Util.CLVar('')
|
||||
+ if 'CXXFLAGS' not in env:
|
||||
+ env['CXXFLAGS'] = SCons.Util.CLVar('')
|
||||
env['CXXCOM'] = '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES'
|
||||
env['SHCXX'] = '$CXX'
|
||||
env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS')
|
||||
diff --git a/src/SCons/Tool/link.py b/src/SCons/Tool/link.py
|
||||
index 5adc6ca2..a12ea8ed 100644
|
||||
--- a/src/SCons/Tool/link.py
|
||||
+++ b/src/SCons/Tool/link.py
|
||||
@@ -318,7 +318,8 @@ def generate(env):
|
||||
|
||||
env['SMARTLINK'] = smart_link
|
||||
env['LINK'] = "$SMARTLINK"
|
||||
- env['LINKFLAGS'] = SCons.Util.CLVar('')
|
||||
+ if 'LINKFLAGS' not in env:
|
||||
+ env['LINKFLAGS'] = SCons.Util.CLVar('')
|
||||
|
||||
# __RPATH is only set to something ($_RPATH typically) on platforms that support it.
|
||||
env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,41 +0,0 @@
|
||||
From fb07dc4b4fa178b0c424c5f400b18669abd8960e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Wed, 9 May 2018 17:04:49 +0200
|
||||
Subject: [PATCH] posix: Support GENTOO_SCONS_ENV_PASSTHROUGH=1
|
||||
|
||||
Support GENTOO_SCONS_ENV_PASSTHROUGH=1 variable to override the default
|
||||
of wiping the environment and resetting PATH to default, and instead
|
||||
pass all variables through.
|
||||
---
|
||||
SCons/Platform/posix.py | 15 ++++++++++++---
|
||||
1 file changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/SCons/Platform/posix.py b/SCons/Platform/posix.py
|
||||
index 4c9f8f9ba..fbc81196d 100644
|
||||
--- a/src/SCons/Platform/posix.py
|
||||
+++ b/src/SCons/Platform/posix.py
|
||||
@@ -82,9 +82,18 @@ def generate(env):
|
||||
pspawn = piped_env_spawn
|
||||
# Note that this means that 'escape' is no longer used
|
||||
|
||||
- if 'ENV' not in env:
|
||||
- env['ENV'] = {}
|
||||
- env['ENV']['PATH'] = '/usr/local/bin:/opt/bin:/bin:/usr/bin:/snap/bin'
|
||||
+ # Force pass-through of environment variables in Gentoo builds
|
||||
+ import os
|
||||
+ if os.environ.get('GENTOO_SCONS_ENV_PASSTHROUGH', False):
|
||||
+ new_env = os.environ.copy()
|
||||
+ if 'ENV' in env:
|
||||
+ new_env.update(env['ENV'])
|
||||
+ env['ENV'] = new_env
|
||||
+ else:
|
||||
+ if 'ENV' not in env:
|
||||
+ env['ENV'] = {}
|
||||
+ env['ENV']['PATH'] = '/usr/local/bin:/opt/bin:/bin:/usr/bin:/snap/bin'
|
||||
+
|
||||
env['OBJPREFIX'] = ''
|
||||
env['OBJSUFFIX'] = '.o'
|
||||
env['SHOBJPREFIX'] = '$OBJPREFIX'
|
||||
--
|
||||
2.30.0
|
||||
|
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>mgorny@gentoo.org</email>
|
||||
<name>Michał Górny</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
SCons is a make replacement providing a range of enhanced
|
||||
features such as automated dependency generation and built in
|
||||
compilation cache support. SCons rule sets are Python scripts so
|
||||
as well as the features it provides itself SCons allows you to use
|
||||
the full power of Python to control compilation.
|
||||
</longdescription>
|
||||
<upstream>
|
||||
<remote-id type="sourceforge">scons</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -1,98 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DISTUTILS_USE_SETUPTOOLS=rdepend
|
||||
PYTHON_COMPAT=( python3_{8..9} )
|
||||
PYTHON_REQ_USE="threads(+)"
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Extensible Python-based build utility"
|
||||
HOMEPAGE="https://www.scons.org/"
|
||||
SRC_URI="
|
||||
https://downloads.sourceforge.net/project/scons/scons/${PV}/${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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="doc test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
dev-libs/libxml2[${PYTHON_USEDEP}]
|
||||
dev-python/lxml[${PYTHON_USEDEP}]
|
||||
)
|
||||
"
|
||||
|
||||
S=${WORKDIR}/${P}/src
|
||||
|
||||
PATCHES=(
|
||||
# support env passthrough for Gentoo ebuilds
|
||||
"${FILESDIR}"/scons-4.1.0-env-passthrough.patch
|
||||
# respect CC, CXX, C*FLAGS, LDFLAGS by default
|
||||
"${FILESDIR}"/scons-4.0.0-respect-cc-etc-r1.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
# use the git directory structure, but put pregenerated release
|
||||
# inside src/ subdirectory to make our life easier
|
||||
if use test; then
|
||||
unpack "${P}.gh.tar.gz"
|
||||
else
|
||||
mkdir -p "${P}"/src || die
|
||||
fi
|
||||
|
||||
tar -C "${P}"/src --strip-components=1 -xzf "${DISTDIR}/${P}.tar.gz" || die
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# apply patches relatively to top directory
|
||||
cd "${WORKDIR}/${P}" || die
|
||||
distutils-r1_src_prepare
|
||||
|
||||
# manpage install is completely broken
|
||||
sed -i -e '/build\/doc\/man/d' src/setup.cfg || die
|
||||
|
||||
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
|
||||
)
|
||||
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}"
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
distutils-r1_python_install_all
|
||||
|
||||
doman *.1
|
||||
use doc && dodoc "${DISTDIR}"/${P}-user.{pdf,html}
|
||||
}
|
@ -1,3 +1,2 @@
|
||||
DIST strace-5.11.tar.xz 1926632 BLAKE2B df47612c0928466f8b5788c4a7dc74208fe76c6967d3219b0eb753131fba315e715626c2cd1ed56d3e8ba0eb9a338589a8cbd6205fe876123ac26fdf0fab8d31 SHA512 688bec8d620c7ca701561ed7479e42687cc30737f944b82201731d827775cd2864787ecca7c93ba149b06d5d654d9f6bd109a977f8138bab34339cd5930828f0
|
||||
DIST strace-5.12.tar.xz 2009060 BLAKE2B 9a7a07e5d2d38c8b456f54d0e1d7c776066b20327fa08d562e426a7096f708dffa00f0c2121683fa71f7029db958d450c5a6abf5ae5970dc02732f5aa7cef591 SHA512 289cf82da4c69270458953b45d09c8eb05a6624898d3ac493c3ec293cd5ad07205084ad0af021dab2be9c0dc53f0301816113a746d96c78780b79231a185e7c9
|
||||
DIST strace-5.13.tar.xz 2040116 BLAKE2B a604342d68f504b42ff1cb4918aa9ced6575f589caeb62f53e0b125f24cfaf0423f1911f352f21ecea0d702197d65edc85d3e97ffca3561f619f9c4c80386cdc SHA512 ba8b0eae396fa2b762bf17cbcdcd84b0660b2a5d5e7e9caf098ef3414a87fd28d4140dd10136483f35904560e5044e40be2bf6117462868a360306d62887c8ed
|
||||
DIST strace-5.17.tar.xz 2281220 BLAKE2B 27e7dc19302c58144b0a7d8de41f717760b8e3cde4ab56892045727597bbfc894bf8f137aee476548c2d16d1e9c8005f931f31a5d2f8bfc4ce5565c2aa01f1ec SHA512 1b63cf7e6e339333b9d24fa20232409192abc815f2ebe2e336ef4acc039cd06c976b3c12e9ce993491a0e6b86c26b90ceba962f580e894b1ff5ab9863bdfcc44
|
||||
DIST strace-5.19.tar.xz 2353276 BLAKE2B 44b9a87f36e66481d8ac2107efbc389fa64c47b2ae7b1cc728241baa1c7d2d5d4d9410622763eb1247b415cad9afdd9f61552d2545388cadf5a33b568ed09af2 SHA512 1ea1c6e12d05bf145bc3c74f8d06b08dfc3eae3a5a21bfe8ab080053dc4c2da8a95be5956652ea62bb083462015a55f9bc1d1023919dcf2929a05211b7dde963
|
||||
|
@ -1,23 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>base-system@gentoo.org</email>
|
||||
<name>Gentoo Base System</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="aio">
|
||||
Enable <pkg>dev-libs/libaio</pkg> support for tracing Asynchronous I/O operations
|
||||
</flag>
|
||||
<flag name="unwind">
|
||||
Enable stack backtraces (-k flag) via <pkg>sys-libs/libunwind</pkg>
|
||||
</flag>
|
||||
<flag name="elfutils">
|
||||
Enable stack backtraces (-k flag) via <pkg>dev-libs/elfutils</pkg>
|
||||
</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">strace/strace</remote-id>
|
||||
<remote-id type="sourceforge">strace</remote-id>
|
||||
</upstream>
|
||||
<maintainer type="project">
|
||||
<email>base-system@gentoo.org</email>
|
||||
<name>Gentoo Base System</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="aio">
|
||||
Enable <pkg>dev-libs/libaio</pkg> support for tracing Asynchronous I/O operations
|
||||
</flag>
|
||||
<flag name="unwind">
|
||||
Enable stack backtraces (-k flag) via <pkg>sys-libs/libunwind</pkg>
|
||||
</flag>
|
||||
<flag name="elfutils">
|
||||
Enable stack backtraces (-k flag) via <pkg>dev-libs/elfutils</pkg>
|
||||
</flag>
|
||||
</use>
|
||||
<upstream>
|
||||
<remote-id type="github">strace/strace</remote-id>
|
||||
<remote-id type="gitlab">strace/strace</remote-id>
|
||||
<remote-id type="sourceforge">strace</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
||||
|
@ -1,105 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit autotools flag-o-matic toolchain-funcs
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/strace/strace.git"
|
||||
inherit git-r3 autotools
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A useful diagnostic, instructional, and debugging tool"
|
||||
HOMEPAGE="https://strace.io/"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="aio perl static unwind elfutils"
|
||||
|
||||
REQUIRED_USE="?? ( unwind elfutils )"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
LIB_DEPEND="
|
||||
unwind? ( sys-libs/libunwind[static-libs(+)] )
|
||||
elfutils? ( dev-libs/elfutils[static-libs(+)] )
|
||||
"
|
||||
# strace only uses the header from libaio to decode structs
|
||||
DEPEND="
|
||||
static? ( ${LIB_DEPEND} )
|
||||
aio? ( >=dev-libs/libaio-0.3.106 )
|
||||
sys-kernel/linux-headers
|
||||
"
|
||||
RDEPEND="
|
||||
!static? ( ${LIB_DEPEND//\[static-libs(+)]} )
|
||||
perl? ( dev-lang/perl )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-5.11-static.patch"
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
|
||||
if [[ ! -e configure ]] ; then
|
||||
# git generation
|
||||
sed /autoreconf/d -i bootstrap || die
|
||||
./bootstrap || die
|
||||
eautoreconf
|
||||
[[ ! -e CREDITS ]] && cp CREDITS{.in,}
|
||||
fi
|
||||
|
||||
filter-lfs-flags # configure handles this sanely
|
||||
|
||||
export ac_cv_header_libaio_h=$(usex aio)
|
||||
use elibc_musl && export ac_cv_header_stdc=no
|
||||
|
||||
# Stub out the -k test since it's known to be flaky. #545812
|
||||
sed -i '1iexit 77' tests*/strace-k.test || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Set up the default build settings, and then use the names strace expects.
|
||||
tc-export_build_env BUILD_{CC,CPP}
|
||||
local v bv
|
||||
for v in CC CPP {C,CPP,LD}FLAGS ; do
|
||||
bv="BUILD_${v}"
|
||||
export "${v}_FOR_BUILD=${!bv}"
|
||||
done
|
||||
|
||||
# Don't require mpers support on non-multilib systems. #649560
|
||||
local myeconfargs=(
|
||||
--disable-gcc-Werror
|
||||
--enable-mpers=check
|
||||
$(use_enable static)
|
||||
$(use_with unwind libunwind)
|
||||
$(use_with elfutils libdw)
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if has usersandbox ${FEATURES} ; then
|
||||
ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." #643044
|
||||
return 0
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
if use perl ; then
|
||||
exeinto /usr/bin
|
||||
doexe src/strace-graph
|
||||
fi
|
||||
dodoc CREDITS
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
@ -7,10 +7,10 @@ inherit autotools flag-o-matic toolchain-funcs
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/strace/strace.git"
|
||||
inherit git-r3 autotools
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A useful diagnostic, instructional, and debugging tool"
|
||||
@ -18,16 +18,14 @@ HOMEPAGE="https://strace.io/"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="aio perl static unwind elfutils"
|
||||
|
||||
IUSE="aio perl selinux static unwind elfutils"
|
||||
REQUIRED_USE="?? ( unwind elfutils )"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
LIB_DEPEND="
|
||||
unwind? ( sys-libs/libunwind[static-libs(+)] )
|
||||
elfutils? ( dev-libs/elfutils[static-libs(+)] )
|
||||
selinux? ( sys-libs/libselinux[static-libs(+)] )
|
||||
"
|
||||
# strace only uses the header from libaio to decode structs
|
||||
DEPEND="
|
||||
@ -57,12 +55,7 @@ src_prepare() {
|
||||
[[ ! -e CREDITS ]] && cp CREDITS{.in,}
|
||||
fi
|
||||
|
||||
filter-lfs-flags # configure handles this sanely
|
||||
|
||||
export ac_cv_header_libaio_h=$(usex aio)
|
||||
use elibc_musl && export ac_cv_header_stdc=no
|
||||
|
||||
# Stub out the -k test since it's known to be flaky. #545812
|
||||
# Stub out the -k test since it's known to be flaky. bug #545812
|
||||
sed -i '1iexit 77' tests*/strace-k.test || die
|
||||
}
|
||||
|
||||
@ -75,20 +68,29 @@ src_configure() {
|
||||
export "${v}_FOR_BUILD=${!bv}"
|
||||
done
|
||||
|
||||
# Don't require mpers support on non-multilib systems. #649560
|
||||
filter-lfs-flags # configure handles this sanely
|
||||
|
||||
export ac_cv_header_libaio_h=$(usex aio)
|
||||
use elibc_musl && export ac_cv_header_stdc=no
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-gcc-Werror
|
||||
|
||||
# Don't require mpers support on non-multilib systems. #649560
|
||||
--enable-mpers=check
|
||||
|
||||
$(use_enable static)
|
||||
$(use_with unwind libunwind)
|
||||
$(use_with elfutils libdw)
|
||||
$(use_with selinux libselinux)
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if has usersandbox ${FEATURES} ; then
|
||||
ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." #643044
|
||||
# bug #643044
|
||||
ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
@ -97,6 +99,7 @@ src_test() {
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use perl ; then
|
||||
exeinto /usr/bin
|
||||
doexe src/strace-graph
|
@ -1,16 +1,16 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
inherit autotools flag-o-matic toolchain-funcs
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/strace/strace.git"
|
||||
inherit git-r3 autotools
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A useful diagnostic, instructional, and debugging tool"
|
||||
@ -18,16 +18,14 @@ HOMEPAGE="https://strace.io/"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="aio perl static unwind elfutils"
|
||||
|
||||
IUSE="aio perl selinux static unwind elfutils"
|
||||
REQUIRED_USE="?? ( unwind elfutils )"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
LIB_DEPEND="
|
||||
unwind? ( sys-libs/libunwind[static-libs(+)] )
|
||||
elfutils? ( dev-libs/elfutils[static-libs(+)] )
|
||||
selinux? ( sys-libs/libselinux[static-libs(+)] )
|
||||
"
|
||||
# strace only uses the header from libaio to decode structs
|
||||
DEPEND="
|
||||
@ -57,12 +55,7 @@ src_prepare() {
|
||||
[[ ! -e CREDITS ]] && cp CREDITS{.in,}
|
||||
fi
|
||||
|
||||
filter-lfs-flags # configure handles this sanely
|
||||
|
||||
export ac_cv_header_libaio_h=$(usex aio)
|
||||
use elibc_musl && export ac_cv_header_stdc=no
|
||||
|
||||
# Stub out the -k test since it's known to be flaky. #545812
|
||||
# Stub out the -k test since it's known to be flaky. bug #545812
|
||||
sed -i '1iexit 77' tests*/strace-k.test || die
|
||||
}
|
||||
|
||||
@ -75,20 +68,29 @@ src_configure() {
|
||||
export "${v}_FOR_BUILD=${!bv}"
|
||||
done
|
||||
|
||||
# Don't require mpers support on non-multilib systems. #649560
|
||||
filter-lfs-flags # configure handles this sanely
|
||||
|
||||
export ac_cv_header_libaio_h=$(usex aio)
|
||||
use elibc_musl && export ac_cv_header_stdc=no
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-gcc-Werror
|
||||
|
||||
# Don't require mpers support on non-multilib systems. #649560
|
||||
--enable-mpers=check
|
||||
|
||||
$(use_enable static)
|
||||
$(use_with unwind libunwind)
|
||||
$(use_with elfutils libdw)
|
||||
$(use_with selinux libselinux)
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if has usersandbox ${FEATURES} ; then
|
||||
ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." #643044
|
||||
# bug #643044
|
||||
ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
@ -97,9 +99,11 @@ src_test() {
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use perl ; then
|
||||
exeinto /usr/bin
|
||||
doexe src/strace-graph
|
||||
fi
|
||||
|
||||
dodoc CREDITS
|
||||
}
|
@ -1,16 +1,16 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
inherit autotools flag-o-matic toolchain-funcs
|
||||
inherit autotools edo flag-o-matic toolchain-funcs
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
if [[ ${PV} == 9999 ]] ; then
|
||||
EGIT_REPO_URI="https://github.com/strace/strace.git"
|
||||
inherit git-r3 autotools
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
fi
|
||||
|
||||
DESCRIPTION="A useful diagnostic, instructional, and debugging tool"
|
||||
@ -18,16 +18,14 @@ HOMEPAGE="https://strace.io/"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0"
|
||||
IUSE="aio perl static unwind elfutils"
|
||||
|
||||
IUSE="aio perl selinux static unwind elfutils"
|
||||
REQUIRED_USE="?? ( unwind elfutils )"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
"
|
||||
BDEPEND="virtual/pkgconfig"
|
||||
LIB_DEPEND="
|
||||
unwind? ( sys-libs/libunwind[static-libs(+)] )
|
||||
elfutils? ( dev-libs/elfutils[static-libs(+)] )
|
||||
selinux? ( sys-libs/libselinux[static-libs(+)] )
|
||||
"
|
||||
# strace only uses the header from libaio to decode structs
|
||||
DEPEND="
|
||||
@ -47,22 +45,16 @@ PATCHES=(
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
|
||||
if [[ ! -e configure ]] ; then
|
||||
# git generation
|
||||
sed /autoreconf/d -i bootstrap || die
|
||||
./bootstrap || die
|
||||
eautoreconf
|
||||
edo ./bootstrap
|
||||
[[ ! -e CREDITS ]] && cp CREDITS{.in,}
|
||||
fi
|
||||
|
||||
filter-lfs-flags # configure handles this sanely
|
||||
eautoreconf
|
||||
|
||||
export ac_cv_header_libaio_h=$(usex aio)
|
||||
use elibc_musl && export ac_cv_header_stdc=no
|
||||
|
||||
# Stub out the -k test since it's known to be flaky. #545812
|
||||
# Stub out the -k test since it's known to be flaky. bug #545812
|
||||
sed -i '1iexit 77' tests*/strace-k.test || die
|
||||
}
|
||||
|
||||
@ -75,20 +67,29 @@ src_configure() {
|
||||
export "${v}_FOR_BUILD=${!bv}"
|
||||
done
|
||||
|
||||
# Don't require mpers support on non-multilib systems. #649560
|
||||
filter-lfs-flags # configure handles this sanely
|
||||
|
||||
export ac_cv_header_libaio_h=$(usex aio)
|
||||
use elibc_musl && export ac_cv_header_stdc=no
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-gcc-Werror
|
||||
|
||||
# Don't require mpers support on non-multilib systems. #649560
|
||||
--enable-mpers=check
|
||||
|
||||
$(use_enable static)
|
||||
$(use_with unwind libunwind)
|
||||
$(use_with elfutils libdw)
|
||||
$(use_with selinux libselinux)
|
||||
)
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if has usersandbox ${FEATURES} ; then
|
||||
ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." #643044
|
||||
# bug #643044
|
||||
ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
@ -97,9 +98,11 @@ src_test() {
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
if use perl ; then
|
||||
exeinto /usr/bin
|
||||
doexe src/strace-graph
|
||||
fi
|
||||
|
||||
dodoc CREDITS
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: bash-completion-r1.eclass
|
||||
@ -28,12 +28,10 @@ _BASH_COMPLETION_R1_ECLASS=1
|
||||
|
||||
inherit toolchain-funcs
|
||||
|
||||
# Flatcar: we still have some packages that use old EAPI, revert this
|
||||
# change when we update those packages.
|
||||
#case ${EAPI} in
|
||||
# 5|6|7|8) ;;
|
||||
# *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||
#esac
|
||||
case ${EAPI} in
|
||||
5|6|7|8) ;;
|
||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||
esac
|
||||
|
||||
# @FUNCTION: _bash-completion-r1_get_bashdir
|
||||
# @INTERNAL
|
||||
@ -71,7 +69,7 @@ _bash-completion-r1_get_bashcompdir() {
|
||||
_bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion/completions
|
||||
}
|
||||
|
||||
# @FUNCTION: _bash-completion-r1_get_helpersdir
|
||||
# @FUNCTION: _bash-completion-r1_get_bashhelpersdir
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Get unprefixed bash-completion helpers directory.
|
||||
|
@ -1,15 +1,13 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Flatcar: Support EAPI 6.
|
||||
|
||||
# @ECLASS: cmake-multilib.eclass
|
||||
# @MAINTAINER:
|
||||
# Michał Górny <mgorny@gentoo.org>
|
||||
# @AUTHOR:
|
||||
# Author: Michał Górny <mgorny@gentoo.org>
|
||||
# @SUPPORTED_EAPIS: 6 7 8
|
||||
# @PROVIDES: cmake cmake-utils multilib-minimal
|
||||
# @SUPPORTED_EAPIS: 7 8
|
||||
# @PROVIDES: cmake multilib-minimal
|
||||
# @BLURB: cmake wrapper for multilib builds
|
||||
# @DESCRIPTION:
|
||||
# The cmake-multilib.eclass provides a glue between cmake.eclass(5)
|
||||
@ -22,31 +20,21 @@
|
||||
# in multilib-minimal, yet they ought to call appropriate cmake
|
||||
# phase rather than 'default'.
|
||||
|
||||
[[ ${EAPI} == [67] ]] && : ${CMAKE_ECLASS:=cmake-utils}
|
||||
# @ECLASS-VARIABLE: CMAKE_ECLASS
|
||||
# @PRE_INHERIT
|
||||
# @ECLASS_VARIABLE: CMAKE_ECLASS
|
||||
# @DEPRECATED: none
|
||||
# @DESCRIPTION:
|
||||
# Only "cmake" is supported in EAPI-8 and later.
|
||||
# In EAPI-7, default is "cmake-utils" for compatibility. Specify "cmake" for
|
||||
# ebuilds that ported to cmake.eclass already.
|
||||
# Only "cmake" is supported.
|
||||
: ${CMAKE_ECLASS:=cmake}
|
||||
|
||||
# @ECLASS-VARIABLE: _CMAKE_ECLASS_IMPL
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# TODO: Cleanup once EAPI-7 support is gone.
|
||||
_CMAKE_ECLASS_IMPL=cmake
|
||||
|
||||
case ${EAPI} in
|
||||
6|7|8)
|
||||
7|8)
|
||||
case ${CMAKE_ECLASS} in
|
||||
cmake-utils|cmake) ;;
|
||||
cmake) ;;
|
||||
*)
|
||||
eerror "Unknown value for \${CMAKE_ECLASS}"
|
||||
die "Value ${CMAKE_ECLASS} is not supported"
|
||||
;;
|
||||
esac
|
||||
_CMAKE_ECLASS_IMPL=${CMAKE_ECLASS}
|
||||
;;
|
||||
*) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;;
|
||||
esac
|
||||
@ -58,7 +46,7 @@ fi
|
||||
if [[ -z ${_CMAKE_MULTILIB_ECLASS} ]]; then
|
||||
_CMAKE_MULTILIB_ECLASS=1
|
||||
|
||||
inherit ${_CMAKE_ECLASS_IMPL} multilib-minimal
|
||||
inherit cmake multilib-minimal
|
||||
|
||||
cmake-multilib_src_configure() {
|
||||
local _cmake_args=( "${@}" )
|
||||
@ -67,7 +55,7 @@ cmake-multilib_src_configure() {
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
${_CMAKE_ECLASS_IMPL}_src_configure "${_cmake_args[@]}"
|
||||
cmake_src_configure "${_cmake_args[@]}"
|
||||
}
|
||||
|
||||
cmake-multilib_src_compile() {
|
||||
@ -77,7 +65,7 @@ cmake-multilib_src_compile() {
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
${_CMAKE_ECLASS_IMPL}_src_compile "${_cmake_args[@]}"
|
||||
cmake_src_compile "${_cmake_args[@]}"
|
||||
}
|
||||
|
||||
cmake-multilib_src_test() {
|
||||
@ -87,7 +75,7 @@ cmake-multilib_src_test() {
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
${_CMAKE_ECLASS_IMPL}_src_test "${_cmake_args[@]}"
|
||||
cmake_src_test "${_cmake_args[@]}"
|
||||
}
|
||||
|
||||
cmake-multilib_src_install() {
|
||||
@ -97,7 +85,7 @@ cmake-multilib_src_install() {
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
${_CMAKE_ECLASS_IMPL}_src_install "${_cmake_args[@]}"
|
||||
cmake_src_install "${_cmake_args[@]}"
|
||||
}
|
||||
|
||||
fi
|
||||
|
@ -1,849 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: cmake-utils.eclass
|
||||
# @MAINTAINER:
|
||||
# kde@gentoo.org
|
||||
# @AUTHOR:
|
||||
# Tomáš Chvátal <scarabeus@gentoo.org>
|
||||
# Maciej Mrozowski <reavertm@gentoo.org>
|
||||
# (undisclosed contributors)
|
||||
# Original author: Zephyrus (zephyrus@mirach.it)
|
||||
# @SUPPORTED_EAPIS: 5 6 7
|
||||
# @PROVIDES: ninja-utils
|
||||
# @BLURB: common ebuild functions for cmake-based packages
|
||||
# @DEPRECATED: cmake.eclass
|
||||
# @DESCRIPTION:
|
||||
# DEPRECATED: This no longer receives any changes. Everyone must port to cmake.eclass.
|
||||
# The cmake-utils eclass makes creating ebuilds for cmake-based packages much easier.
|
||||
# It provides all inherited features (DOCS, HTML_DOCS, PATCHES) along with out-of-source
|
||||
# builds (default), in-source builds and an implementation of the well-known use_enable
|
||||
# and use_with functions for CMake.
|
||||
|
||||
if [[ -z ${_CMAKE_UTILS_ECLASS} ]]; then
|
||||
_CMAKE_UTILS_ECLASS=1
|
||||
|
||||
# @ECLASS-VARIABLE: BUILD_DIR
|
||||
# @DESCRIPTION:
|
||||
# Build directory where all cmake processed files should be generated.
|
||||
# For in-source build it's fixed to ${CMAKE_USE_DIR}.
|
||||
# For out-of-source build it can be overridden, by default it uses
|
||||
# ${WORKDIR}/${P}_build.
|
||||
#
|
||||
# This variable has been called CMAKE_BUILD_DIR formerly.
|
||||
# It is set under that name for compatibility.
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_BINARY
|
||||
# @DESCRIPTION:
|
||||
# Eclass can use different cmake binary than the one provided in by system.
|
||||
: ${CMAKE_BINARY:=cmake}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_BUILD_TYPE
|
||||
# @DESCRIPTION:
|
||||
# Set to override default CMAKE_BUILD_TYPE. Only useful for packages
|
||||
# known to make use of "if (CMAKE_BUILD_TYPE MATCHES xxx)".
|
||||
# If about to be set - needs to be set before invoking cmake-utils_src_configure.
|
||||
# You usualy do *NOT* want nor need to set it as it pulls CMake default build-type
|
||||
# specific compiler flags overriding make.conf.
|
||||
: ${CMAKE_BUILD_TYPE:=Gentoo}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_IN_SOURCE_BUILD
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Set to enable in-source build.
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_MAKEFILE_GENERATOR
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Specify a makefile generator to be used by cmake.
|
||||
# At this point only "emake" and "ninja" are supported.
|
||||
# In EAPI 7 and above, the default is set to "ninja",
|
||||
# whereas in EAPIs below 7, it is set to "emake".
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_MIN_VERSION
|
||||
# @DESCRIPTION:
|
||||
# Specify the minimum required CMake version.
|
||||
: ${CMAKE_MIN_VERSION:=3.9.6}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES
|
||||
# @DESCRIPTION:
|
||||
# Do we want to remove anything? yes or whatever else for no
|
||||
: ${CMAKE_REMOVE_MODULES:=yes}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST
|
||||
# @DESCRIPTION:
|
||||
# Space-separated list of CMake modules that will be removed in $S during src_prepare,
|
||||
# in order to force packages to use the system version.
|
||||
: ${CMAKE_REMOVE_MODULES_LIST:=FindBLAS FindLAPACK}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_USE_DIR
|
||||
# @DESCRIPTION:
|
||||
# Sets the directory where we are working with cmake.
|
||||
# For example when application uses autotools and only one
|
||||
# plugin needs to be done by cmake.
|
||||
# By default it uses ${S}.
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_VERBOSE
|
||||
# @DESCRIPTION:
|
||||
# Set to OFF to disable verbose messages during compilation
|
||||
: ${CMAKE_VERBOSE:=ON}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_WARN_UNUSED_CLI
|
||||
# @DESCRIPTION:
|
||||
# Warn about variables that are declared on the command line
|
||||
# but not used. Might give false-positives.
|
||||
# "no" to disable (default) or anything else to enable.
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_EXTRA_CACHE_FILE
|
||||
# @USER_VARIABLE
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Specifies an extra cache file to pass to cmake. This is the analog of EXTRA_ECONF
|
||||
# for econf and is needed to pass TRY_RUN results when cross-compiling.
|
||||
# Should be set by user in a per-package basis in /etc/portage/package.env.
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_UTILS_QA_SRC_DIR_READONLY
|
||||
# @USER_VARIABLE
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# After running cmake-utils_src_prepare, sets ${S} to read-only. This is
|
||||
# a user flag and should under _no circumstances_ be set in the ebuild.
|
||||
# Helps in improving QA of build systems that write to source tree.
|
||||
|
||||
case ${EAPI} in
|
||||
5) : ${CMAKE_WARN_UNUSED_CLI:=no} ;;
|
||||
6|7) : ${CMAKE_WARN_UNUSED_CLI:=yes} ;;
|
||||
*) die "EAPI=${EAPI:-0} is not supported" ;;
|
||||
esac
|
||||
|
||||
inherit toolchain-funcs ninja-utils flag-o-matic multiprocessing xdg-utils
|
||||
|
||||
case ${EAPI} in
|
||||
[56])
|
||||
: ${CMAKE_MAKEFILE_GENERATOR:=emake}
|
||||
inherit eutils multilib
|
||||
;;
|
||||
*)
|
||||
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
|
||||
;;
|
||||
esac
|
||||
|
||||
EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install
|
||||
|
||||
if [[ ${WANT_CMAKE} ]]; then
|
||||
if [[ ${EAPI} != [56] ]]; then
|
||||
die "\${WANT_CMAKE} has been removed and is a no-op now"
|
||||
else
|
||||
eqawarn "\${WANT_CMAKE} has been removed and is a no-op now"
|
||||
fi
|
||||
fi
|
||||
[[ ${PREFIX} ]] && die "\${PREFIX} has been removed and is a no-op now"
|
||||
|
||||
case ${CMAKE_MAKEFILE_GENERATOR} in
|
||||
emake)
|
||||
BDEPEND="sys-devel/make"
|
||||
;;
|
||||
ninja)
|
||||
BDEPEND="dev-util/ninja"
|
||||
;;
|
||||
*)
|
||||
eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}"
|
||||
die "Value ${CMAKE_MAKEFILE_GENERATOR} is not supported"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ ${PN} != cmake ]]; then
|
||||
BDEPEND+=" >=dev-util/cmake-${CMAKE_MIN_VERSION}"
|
||||
fi
|
||||
|
||||
case ${EAPI} in
|
||||
7) ;;
|
||||
*) DEPEND=" ${BDEPEND}" ;;
|
||||
esac
|
||||
|
||||
# Internal functions used by cmake-utils_use_*
|
||||
_cmake_use_me_now() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local arg=$2
|
||||
[[ ! -z $3 ]] && arg=$3
|
||||
|
||||
[[ ${EAPI} == 5 ]] || die "${FUNCNAME[1]} is banned in EAPI 6 and later: use -D$1<related_CMake_variable>=\"\$(usex $2)\" instead"
|
||||
|
||||
local uper capitalised x
|
||||
[[ -z $2 ]] && die "cmake-utils_use-$1 <USE flag> [<flag name>]"
|
||||
if [[ ! -z $3 ]]; then
|
||||
# user specified the use name so use it
|
||||
echo "-D$1$3=$(use $2 && echo ON || echo OFF)"
|
||||
else
|
||||
# use all various most used combinations
|
||||
uper=$(echo ${2} | tr '[:lower:]' '[:upper:]')
|
||||
capitalised=$(echo ${2} | sed 's/\<\(.\)\([^ ]*\)/\u\1\L\2/g')
|
||||
for x in $2 $uper $capitalised; do
|
||||
echo "-D$1$x=$(use $2 && echo ON || echo OFF) "
|
||||
done
|
||||
fi
|
||||
}
|
||||
_cmake_use_me_now_inverted() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local arg=$2
|
||||
[[ ! -z $3 ]] && arg=$3
|
||||
|
||||
if [[ ${EAPI} != 5 && "${FUNCNAME[1]}" != cmake-utils_use_find_package ]] ; then
|
||||
die "${FUNCNAME[1]} is banned in EAPI 6 and later: use -D$1<related_CMake_variable>=\"\$(usex $2)\" instead"
|
||||
fi
|
||||
|
||||
local uper capitalised x
|
||||
[[ -z $2 ]] && die "cmake-utils_use-$1 <USE flag> [<flag name>]"
|
||||
if [[ ! -z $3 ]]; then
|
||||
# user specified the use name so use it
|
||||
echo "-D$1$3=$(use $2 && echo OFF || echo ON)"
|
||||
else
|
||||
# use all various most used combinations
|
||||
uper=$(echo ${2} | tr '[:lower:]' '[:upper:]')
|
||||
capitalised=$(echo ${2} | sed 's/\<\(.\)\([^ ]*\)/\u\1\L\2/g')
|
||||
for x in $2 $uper $capitalised; do
|
||||
echo "-D$1$x=$(use $2 && echo OFF || echo ON) "
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# Determine using IN or OUT source build
|
||||
_cmake_check_build_dir() {
|
||||
: ${CMAKE_USE_DIR:=${S}}
|
||||
if [[ -n ${CMAKE_IN_SOURCE_BUILD} ]]; then
|
||||
# we build in source dir
|
||||
BUILD_DIR="${CMAKE_USE_DIR}"
|
||||
else
|
||||
# Respect both the old variable and the new one, depending
|
||||
# on which one was set by the ebuild.
|
||||
if [[ ! ${BUILD_DIR} && ${CMAKE_BUILD_DIR} ]]; then
|
||||
if [[ ${EAPI} != [56] ]]; then
|
||||
eerror "The CMAKE_BUILD_DIR variable has been renamed to BUILD_DIR."
|
||||
die "The ebuild must be migrated to BUILD_DIR."
|
||||
else
|
||||
eqawarn "The CMAKE_BUILD_DIR variable has been renamed to BUILD_DIR."
|
||||
eqawarn "Please migrate the ebuild to use the new one."
|
||||
fi
|
||||
|
||||
# In the next call, both variables will be set already
|
||||
# and we'd have to know which one takes precedence.
|
||||
_RESPECT_CMAKE_BUILD_DIR=1
|
||||
fi
|
||||
|
||||
if [[ ${_RESPECT_CMAKE_BUILD_DIR} ]]; then
|
||||
BUILD_DIR=${CMAKE_BUILD_DIR:-${WORKDIR}/${P}_build}
|
||||
else
|
||||
: ${BUILD_DIR:=${WORKDIR}/${P}_build}
|
||||
fi
|
||||
fi
|
||||
|
||||
# Backwards compatibility for getting the value.
|
||||
[[ ${EAPI} == [56] ]] && CMAKE_BUILD_DIR=${BUILD_DIR}
|
||||
|
||||
mkdir -p "${BUILD_DIR}" || die
|
||||
echo ">>> Working in BUILD_DIR: \"$BUILD_DIR\""
|
||||
}
|
||||
|
||||
# Determine which generator to use
|
||||
_cmake_generator_to_use() {
|
||||
local generator_name
|
||||
|
||||
case ${CMAKE_MAKEFILE_GENERATOR} in
|
||||
ninja)
|
||||
# if ninja is enabled but not installed, the build could fail
|
||||
# this could happen if ninja is manually enabled (eg. make.conf) but not installed
|
||||
case ${EAPI} in
|
||||
5|6)
|
||||
if ! ROOT=/ has_version dev-util/ninja; then
|
||||
die "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed. Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR."
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if ! has_version -b dev-util/ninja; then
|
||||
die "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed. Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR."
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
generator_name="Ninja"
|
||||
;;
|
||||
emake)
|
||||
generator_name="Unix Makefiles"
|
||||
;;
|
||||
*)
|
||||
eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}"
|
||||
die "Value ${CMAKE_MAKEFILE_GENERATOR} is not supported"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo ${generator_name}
|
||||
}
|
||||
|
||||
# @FUNCTION: cmake_comment_add_subdirectory
|
||||
# @USAGE: <subdirectory>
|
||||
# @DESCRIPTION:
|
||||
# Comment out one or more add_subdirectory calls in CMakeLists.txt in the current directory
|
||||
cmake_comment_add_subdirectory() {
|
||||
if [[ -z ${1} ]]; then
|
||||
die "comment_add_subdirectory must be passed at least one directory name to comment"
|
||||
fi
|
||||
|
||||
if [[ -e "CMakeLists.txt" ]]; then
|
||||
local d
|
||||
for d in $@; do
|
||||
sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${d//\//\\/}[[:space:]]*)/I s/^/#DONOTCOMPILE /" \
|
||||
-i CMakeLists.txt || die "failed to comment add_subdirectory(${d})"
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: comment_add_subdirectory
|
||||
# @USAGE: <subdirectory>
|
||||
# @DESCRIPTION:
|
||||
# Comment out an add_subdirectory call in CMakeLists.txt in the current directory
|
||||
# Banned in EAPI 6 and later - use cmake_comment_add_subdirectory instead.
|
||||
comment_add_subdirectory() {
|
||||
[[ ${EAPI} == 5 ]] || die "comment_add_subdirectory is banned in EAPI 6 and later - use cmake_comment_add_subdirectory instead"
|
||||
|
||||
cmake_comment_add_subdirectory "$@"
|
||||
}
|
||||
|
||||
# @FUNCTION: cmake-utils_use_with
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on use_with. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use_with foo FOO` echoes -DWITH_FOO=ON if foo is enabled
|
||||
# and -DWITH_FOO=OFF if it is disabled.
|
||||
cmake-utils_use_with() { _cmake_use_me_now WITH_ "$@" ; }
|
||||
|
||||
# @FUNCTION: cmake-utils_use_enable
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on use_enable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use_enable foo FOO` echoes -DENABLE_FOO=ON if foo is enabled
|
||||
# and -DENABLE_FOO=OFF if it is disabled.
|
||||
cmake-utils_use_enable() { _cmake_use_me_now ENABLE_ "$@" ; }
|
||||
|
||||
# @FUNCTION: cmake-utils_use_find_package
|
||||
# @USAGE: <USE flag> <package name>
|
||||
# @DESCRIPTION:
|
||||
# Based on use_enable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use_find_package foo LibFoo` echoes -DCMAKE_DISABLE_FIND_PACKAGE_LibFoo=OFF
|
||||
# if foo is enabled and -DCMAKE_DISABLE_FIND_PACKAGE_LibFoo=ON if it is disabled.
|
||||
# This can be used to make find_package optional.
|
||||
cmake-utils_use_find_package() {
|
||||
if [[ ${EAPI} != 5 && "$#" != 2 ]] ; then
|
||||
die "Usage: cmake-utils_use_find_package <USE flag> <package name>"
|
||||
fi
|
||||
|
||||
_cmake_use_me_now_inverted CMAKE_DISABLE_FIND_PACKAGE_ "$@" ;
|
||||
}
|
||||
|
||||
# @FUNCTION: cmake_use_find_package
|
||||
# @USAGE: <USE flag> <package name>
|
||||
# @DESCRIPTION:
|
||||
# Alias for cmake-utils_use_find_package.
|
||||
cmake_use_find_package() {
|
||||
if [[ "$#" != 2 ]] ; then
|
||||
die "Usage: cmake_use_find_package <USE flag> <package name>"
|
||||
fi
|
||||
|
||||
cmake-utils_use_find_package "$@" ;
|
||||
}
|
||||
|
||||
# @FUNCTION: cmake-utils_use_disable
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on inversion of use_enable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use_enable foo FOO` echoes -DDISABLE_FOO=OFF if foo is enabled
|
||||
# and -DDISABLE_FOO=ON if it is disabled.
|
||||
cmake-utils_use_disable() { _cmake_use_me_now_inverted DISABLE_ "$@" ; }
|
||||
|
||||
# @FUNCTION: cmake-utils_use_no
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on use_disable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use_no foo FOO` echoes -DNO_FOO=OFF if foo is enabled
|
||||
# and -DNO_FOO=ON if it is disabled.
|
||||
cmake-utils_use_no() { _cmake_use_me_now_inverted NO_ "$@" ; }
|
||||
|
||||
# @FUNCTION: cmake-utils_use_want
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on use_enable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use_want foo FOO` echoes -DWANT_FOO=ON if foo is enabled
|
||||
# and -DWANT_FOO=OFF if it is disabled.
|
||||
cmake-utils_use_want() { _cmake_use_me_now WANT_ "$@" ; }
|
||||
|
||||
# @FUNCTION: cmake-utils_use_build
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on use_enable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use_build foo FOO` echoes -DBUILD_FOO=ON if foo is enabled
|
||||
# and -DBUILD_FOO=OFF if it is disabled.
|
||||
cmake-utils_use_build() { _cmake_use_me_now BUILD_ "$@" ; }
|
||||
|
||||
# @FUNCTION: cmake-utils_use_has
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on use_enable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use_has foo FOO` echoes -DHAVE_FOO=ON if foo is enabled
|
||||
# and -DHAVE_FOO=OFF if it is disabled.
|
||||
cmake-utils_use_has() { _cmake_use_me_now HAVE_ "$@" ; }
|
||||
|
||||
# @FUNCTION: cmake-utils_use_use
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on use_enable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use_use foo FOO` echoes -DUSE_FOO=ON if foo is enabled
|
||||
# and -DUSE_FOO=OFF if it is disabled.
|
||||
cmake-utils_use_use() { _cmake_use_me_now USE_ "$@" ; }
|
||||
|
||||
# @FUNCTION: cmake-utils_use
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on use_enable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_use foo FOO` echoes -DFOO=ON if foo is enabled
|
||||
# and -DFOO=OFF if it is disabled.
|
||||
cmake-utils_use() { _cmake_use_me_now "" "$@" ; }
|
||||
|
||||
# @FUNCTION: cmake-utils_useno
|
||||
# @USAGE: <USE flag> [flag name]
|
||||
# @DESCRIPTION:
|
||||
# Based on use_enable. See ebuild(5).
|
||||
#
|
||||
# `cmake-utils_useno foo NOFOO` echoes -DNOFOO=OFF if foo is enabled
|
||||
# and -DNOFOO=ON if it is disabled.
|
||||
cmake-utils_useno() { _cmake_use_me_now_inverted "" "$@" ; }
|
||||
|
||||
# Internal function for modifying hardcoded definitions.
|
||||
# Removes dangerous definitions that override Gentoo settings.
|
||||
_cmake_modify-cmakelists() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
# Only edit the files once
|
||||
grep -qs "<<< Gentoo configuration >>>" "${CMAKE_USE_DIR}"/CMakeLists.txt && return 0
|
||||
|
||||
# Comment out all set (<some_should_be_user_defined_variable> value)
|
||||
find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec sed \
|
||||
-e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE\([[:space:]].*)\|)\)/I{s/^/#_cmake_modify_IGNORE /g}' \
|
||||
-e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \
|
||||
-e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \
|
||||
-e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \
|
||||
-i {} + || die "${LINENO}: failed to disable hardcoded settings"
|
||||
local x
|
||||
for x in $(find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec grep -l "^#_cmake_modify_IGNORE" {} +;); do
|
||||
einfo "Hardcoded definition(s) removed in $(echo "${x}" | cut -c $((${#CMAKE_USE_DIR}+2))-):"
|
||||
einfo "$(grep -se '^#_cmake_modify_IGNORE' ${x} | cut -c 22-99)"
|
||||
done
|
||||
|
||||
# NOTE Append some useful summary here
|
||||
cat >> "${CMAKE_USE_DIR}"/CMakeLists.txt <<- _EOF_ || die
|
||||
|
||||
MESSAGE(STATUS "<<< Gentoo configuration >>>
|
||||
Build type \${CMAKE_BUILD_TYPE}
|
||||
Install path \${CMAKE_INSTALL_PREFIX}
|
||||
Compiler flags:
|
||||
C \${CMAKE_C_FLAGS}
|
||||
C++ \${CMAKE_CXX_FLAGS}
|
||||
Linker flags:
|
||||
Executable \${CMAKE_EXE_LINKER_FLAGS}
|
||||
Module \${CMAKE_MODULE_LINKER_FLAGS}
|
||||
Shared \${CMAKE_SHARED_LINKER_FLAGS}\n")
|
||||
_EOF_
|
||||
}
|
||||
|
||||
# temporary function for moving cmake cleanups from from src_configure -> src_prepare.
|
||||
# bug #378850
|
||||
_cmake_cleanup_cmake() {
|
||||
: ${CMAKE_USE_DIR:=${S}}
|
||||
|
||||
if [[ "${CMAKE_REMOVE_MODULES}" == "yes" ]] ; then
|
||||
local name
|
||||
for name in ${CMAKE_REMOVE_MODULES_LIST} ; do
|
||||
find "${S}" -name ${name}.cmake -exec rm -v {} + || die
|
||||
done
|
||||
fi
|
||||
|
||||
# check if CMakeLists.txt exist and if no then die
|
||||
if [[ ! -e ${CMAKE_USE_DIR}/CMakeLists.txt ]] ; then
|
||||
eerror "Unable to locate CMakeLists.txt under:"
|
||||
eerror "\"${CMAKE_USE_DIR}/CMakeLists.txt\""
|
||||
eerror "Consider not inheriting the cmake eclass."
|
||||
die "FATAL: Unable to find CMakeLists.txt"
|
||||
fi
|
||||
|
||||
# Remove dangerous things.
|
||||
_cmake_modify-cmakelists
|
||||
}
|
||||
|
||||
# @FUNCTION: cmake-utils_src_prepare
|
||||
# @DESCRIPTION:
|
||||
# Apply ebuild and user patches.
|
||||
cmake-utils_src_prepare() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
pushd "${S}" > /dev/null || die
|
||||
|
||||
if [[ ${EAPI} != 5 ]]; then
|
||||
default_src_prepare
|
||||
_cmake_cleanup_cmake
|
||||
else
|
||||
debug-print "$FUNCNAME: PATCHES=$PATCHES"
|
||||
[[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}"
|
||||
|
||||
debug-print "$FUNCNAME: applying user patches"
|
||||
epatch_user
|
||||
fi
|
||||
|
||||
popd > /dev/null || die
|
||||
|
||||
# make ${S} read-only in order to detect broken build-systems
|
||||
if [[ ${CMAKE_UTILS_QA_SRC_DIR_READONLY} && ! ${CMAKE_IN_SOURCE_BUILD} ]]; then
|
||||
chmod -R a-w "${S}"
|
||||
fi
|
||||
|
||||
_CMAKE_UTILS_SRC_PREPARE_HAS_RUN=1
|
||||
}
|
||||
|
||||
# @VARIABLE: mycmakeargs
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Optional cmake defines as a bash array. Should be defined before calling
|
||||
# src_configure.
|
||||
# @CODE
|
||||
# src_configure() {
|
||||
# local mycmakeargs=(
|
||||
# $(cmake-utils_use_with openconnect)
|
||||
# )
|
||||
#
|
||||
# cmake-utils_src_configure
|
||||
# }
|
||||
# @CODE
|
||||
|
||||
# @FUNCTION: cmake-utils_src_configure
|
||||
# @DESCRIPTION:
|
||||
# General function for configuring with cmake. Default behaviour is to start an
|
||||
# out-of-source build.
|
||||
cmake-utils_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
if [[ ! ${_CMAKE_UTILS_SRC_PREPARE_HAS_RUN} ]]; then
|
||||
if [[ ${EAPI} != [56] ]]; then
|
||||
die "FATAL: cmake-utils_src_prepare has not been run"
|
||||
else
|
||||
eqawarn "cmake-utils_src_prepare has not been run, please open a bug on https://bugs.gentoo.org/"
|
||||
fi
|
||||
fi
|
||||
|
||||
[[ ${EAPI} == 5 ]] && _cmake_cleanup_cmake
|
||||
|
||||
_cmake_check_build_dir
|
||||
|
||||
# Fix xdg collision with sandbox
|
||||
xdg_environment_reset
|
||||
|
||||
# @SEE CMAKE_BUILD_TYPE
|
||||
if [[ ${CMAKE_BUILD_TYPE} = Gentoo ]]; then
|
||||
# Handle release builds
|
||||
if ! has debug ${IUSE//+} || ! use debug; then
|
||||
local CPPFLAGS=${CPPFLAGS}
|
||||
append-cppflags -DNDEBUG
|
||||
fi
|
||||
fi
|
||||
|
||||
# Prepare Gentoo override rules (set valid compiler, append CPPFLAGS etc.)
|
||||
local build_rules=${BUILD_DIR}/gentoo_rules.cmake
|
||||
|
||||
cat > "${build_rules}" <<- _EOF_ || die
|
||||
SET (CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> <DEFINES> <INCLUDES> ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "ASM compile command" FORCE)
|
||||
SET (CMAKE_ASM-ATT_COMPILE_OBJECT "<CMAKE_ASM-ATT_COMPILER> <DEFINES> <INCLUDES> ${CPPFLAGS} <FLAGS> -o <OBJECT> -c -x assembler <SOURCE>" CACHE STRING "ASM-ATT compile command" FORCE)
|
||||
SET (CMAKE_ASM-ATT_LINK_FLAGS "-nostdlib" CACHE STRING "ASM-ATT link flags" FORCE)
|
||||
SET (CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> <INCLUDES> ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "C compile command" FORCE)
|
||||
SET (CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> ${CPPFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "C++ compile command" FORCE)
|
||||
SET (CMAKE_Fortran_COMPILE_OBJECT "<CMAKE_Fortran_COMPILER> <DEFINES> <INCLUDES> ${FCFLAGS} <FLAGS> -o <OBJECT> -c <SOURCE>" CACHE STRING "Fortran compile command" FORCE)
|
||||
_EOF_
|
||||
|
||||
local myCC=$(tc-getCC) myCXX=$(tc-getCXX) myFC=$(tc-getFC)
|
||||
|
||||
# !!! IMPORTANT NOTE !!!
|
||||
# Single slash below is intentional. CMake is weird and wants the
|
||||
# CMAKE_*_VARIABLES split into two elements: the first one with
|
||||
# compiler path, and the second one with all command-line options,
|
||||
# space separated.
|
||||
local toolchain_file=${BUILD_DIR}/gentoo_toolchain.cmake
|
||||
cat > ${toolchain_file} <<- _EOF_ || die
|
||||
SET (CMAKE_ASM_COMPILER "${myCC/ /;}")
|
||||
SET (CMAKE_ASM-ATT_COMPILER "${myCC/ /;}")
|
||||
SET (CMAKE_C_COMPILER "${myCC/ /;}")
|
||||
SET (CMAKE_CXX_COMPILER "${myCXX/ /;}")
|
||||
SET (CMAKE_Fortran_COMPILER "${myFC/ /;}")
|
||||
SET (CMAKE_AR $(type -P $(tc-getAR)) CACHE FILEPATH "Archive manager" FORCE)
|
||||
SET (CMAKE_RANLIB $(type -P $(tc-getRANLIB)) CACHE FILEPATH "Archive index generator" FORCE)
|
||||
SET (CMAKE_SYSTEM_PROCESSOR "${CHOST%%-*}")
|
||||
_EOF_
|
||||
|
||||
# We are using the C compiler for assembly by default.
|
||||
local -x ASMFLAGS=${CFLAGS}
|
||||
local -x PKG_CONFIG=$(tc-getPKG_CONFIG)
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
local sysname
|
||||
case "${KERNEL:-linux}" in
|
||||
Cygwin) sysname="CYGWIN_NT-5.1" ;;
|
||||
HPUX) sysname="HP-UX" ;;
|
||||
linux) sysname="Linux" ;;
|
||||
Winnt)
|
||||
sysname="Windows"
|
||||
cat >> "${toolchain_file}" <<- _EOF_ || die
|
||||
SET (CMAKE_RC_COMPILER $(tc-getRC))
|
||||
_EOF_
|
||||
;;
|
||||
*) sysname="${KERNEL}" ;;
|
||||
esac
|
||||
|
||||
cat >> "${toolchain_file}" <<- _EOF_ || die
|
||||
SET (CMAKE_SYSTEM_NAME "${sysname}")
|
||||
_EOF_
|
||||
|
||||
if [ "${SYSROOT:-/}" != "/" ] ; then
|
||||
# When cross-compiling with a sysroot (e.g. with crossdev's emerge wrappers)
|
||||
# we need to tell cmake to use libs/headers from the sysroot but programs from / only.
|
||||
cat >> "${toolchain_file}" <<- _EOF_ || die
|
||||
SET (CMAKE_FIND_ROOT_PATH "${SYSROOT}")
|
||||
SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
SET (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
SET (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
_EOF_
|
||||
fi
|
||||
fi
|
||||
|
||||
if use prefix-guest; then
|
||||
cat >> "${build_rules}" <<- _EOF_ || die
|
||||
# in Prefix we need rpath and must ensure cmake gets our default linker path
|
||||
# right ... except for Darwin hosts
|
||||
IF (NOT APPLE)
|
||||
SET (CMAKE_SKIP_RPATH OFF CACHE BOOL "" FORCE)
|
||||
SET (CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH "${EPREFIX}/usr/${CHOST}/lib/gcc;${EPREFIX}/usr/${CHOST}/lib;${EPREFIX}/usr/$(get_libdir);${EPREFIX}/$(get_libdir)"
|
||||
CACHE STRING "" FORCE)
|
||||
|
||||
ELSE ()
|
||||
|
||||
SET (CMAKE_PREFIX_PATH "${EPREFIX}/usr" CACHE STRING "" FORCE)
|
||||
SET (CMAKE_MACOSX_RPATH ON CACHE BOOL "" FORCE)
|
||||
SET (CMAKE_SKIP_BUILD_RPATH OFF CACHE BOOL "" FORCE)
|
||||
SET (CMAKE_SKIP_RPATH OFF CACHE BOOL "" FORCE)
|
||||
SET (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE CACHE BOOL "" FORCE)
|
||||
|
||||
ENDIF (NOT APPLE)
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Common configure parameters (invariants)
|
||||
local common_config=${BUILD_DIR}/gentoo_common_config.cmake
|
||||
local libdir=$(get_libdir)
|
||||
cat > "${common_config}" <<- _EOF_ || die
|
||||
SET (CMAKE_GENTOO_BUILD ON CACHE BOOL "Indicate Gentoo package build")
|
||||
SET (LIB_SUFFIX ${libdir/lib} CACHE STRING "library path suffix" FORCE)
|
||||
SET (CMAKE_INSTALL_LIBDIR ${libdir} CACHE PATH "Output directory for libraries")
|
||||
SET (CMAKE_INSTALL_INFODIR "${EPREFIX}/usr/share/info" CACHE PATH "")
|
||||
SET (CMAKE_INSTALL_MANDIR "${EPREFIX}/usr/share/man" CACHE PATH "")
|
||||
SET (CMAKE_USER_MAKE_RULES_OVERRIDE "${build_rules}" CACHE FILEPATH "Gentoo override rules")
|
||||
_EOF_
|
||||
|
||||
# See bug 689410
|
||||
if [[ "${ARCH}" == riscv ]]; then
|
||||
echo 'SET (CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX '"${libdir#lib}"' CACHE STRING "library search suffix" FORCE)' >> "${common_config}" || die
|
||||
fi
|
||||
|
||||
[[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && echo 'SET (CMAKE_COLOR_MAKEFILE OFF CACHE BOOL "pretty colors during make" FORCE)' >> "${common_config}"
|
||||
|
||||
if [[ ${EAPI} != [56] ]]; then
|
||||
cat >> "${common_config}" <<- _EOF_ || die
|
||||
SET (CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "")
|
||||
SET (BUILD_SHARED_LIBS ON CACHE BOOL "")
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Wipe the default optimization flags out of CMake
|
||||
if [[ ${CMAKE_BUILD_TYPE} != Gentoo && ${EAPI} != 5 ]]; then
|
||||
cat >> ${common_config} <<- _EOF_ || die
|
||||
SET (CMAKE_ASM_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
|
||||
SET (CMAKE_ASM-ATT_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
|
||||
SET (CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
|
||||
SET (CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
|
||||
SET (CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
|
||||
SET (CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
|
||||
SET (CMAKE_MODULE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
|
||||
SET (CMAKE_SHARED_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
|
||||
SET (CMAKE_STATIC_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "")
|
||||
_EOF_
|
||||
fi
|
||||
|
||||
# Convert mycmakeargs to an array, for backwards compatibility
|
||||
# Make the array a local variable since <=portage-2.1.6.x does not
|
||||
# support global arrays (see bug #297255).
|
||||
local mycmakeargstype=$(declare -p mycmakeargs 2>&-)
|
||||
if [[ "${mycmakeargstype}" != "declare -a mycmakeargs="* ]]; then
|
||||
if [[ -n "${mycmakeargstype}" ]] ; then
|
||||
if [[ ${EAPI} == 5 ]]; then
|
||||
eqawarn "Declaring mycmakeargs as a variable is deprecated. Please use an array instead."
|
||||
else
|
||||
die "Declaring mycmakeargs as a variable is banned in EAPI=${EAPI}. Please use an array instead."
|
||||
fi
|
||||
fi
|
||||
local mycmakeargs_local=(${mycmakeargs})
|
||||
else
|
||||
local mycmakeargs_local=("${mycmakeargs[@]}")
|
||||
fi
|
||||
|
||||
if [[ ${CMAKE_WARN_UNUSED_CLI} == no ]] ; then
|
||||
local warn_unused_cli="--no-warn-unused-cli"
|
||||
else
|
||||
local warn_unused_cli=""
|
||||
fi
|
||||
|
||||
# Common configure parameters (overridable)
|
||||
# NOTE CMAKE_BUILD_TYPE can be only overridden via CMAKE_BUILD_TYPE eclass variable
|
||||
# No -DCMAKE_BUILD_TYPE=xxx definitions will be in effect.
|
||||
local cmakeargs=(
|
||||
${warn_unused_cli}
|
||||
-C "${common_config}"
|
||||
-G "$(_cmake_generator_to_use)"
|
||||
-DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr"
|
||||
"${mycmakeargs_local[@]}"
|
||||
-DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"
|
||||
$([[ ${EAPI} == 5 ]] && echo -DCMAKE_INSTALL_DO_STRIP=OFF)
|
||||
-DCMAKE_TOOLCHAIN_FILE="${toolchain_file}"
|
||||
"${MYCMAKEARGS}"
|
||||
)
|
||||
|
||||
if [[ -n "${CMAKE_EXTRA_CACHE_FILE}" ]] ; then
|
||||
cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
|
||||
fi
|
||||
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: mycmakeargs is ${mycmakeargs_local[*]}"
|
||||
echo "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}"
|
||||
"${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed"
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
# @FUNCTION: cmake-utils_src_compile
|
||||
# @DESCRIPTION:
|
||||
# General function for compiling with cmake.
|
||||
# Automatically detects the build type. All arguments are passed to emake.
|
||||
cmake-utils_src_compile() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
cmake-utils_src_make "$@"
|
||||
}
|
||||
|
||||
# @FUNCTION: _cmake_ninja_src_make
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Build the package using ninja generator
|
||||
_cmake_ninja_src_make() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
[[ -e build.ninja ]] || die "build.ninja not found. Error during configure stage."
|
||||
|
||||
eninja "$@"
|
||||
}
|
||||
|
||||
# @FUNCTION: _cmake_emake_src_make
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Build the package using make generator
|
||||
_cmake_emake_src_make() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
[[ -e Makefile ]] || die "Makefile not found. Error during configure stage."
|
||||
|
||||
if [[ "${CMAKE_VERBOSE}" != "OFF" ]]; then
|
||||
emake VERBOSE=1 "$@" || die
|
||||
else
|
||||
emake "$@" || die
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
# @FUNCTION: cmake-utils_src_make
|
||||
# @DESCRIPTION:
|
||||
# Function for building the package. Automatically detects the build type.
|
||||
# All arguments are passed to emake.
|
||||
cmake-utils_src_make() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
_cmake_check_build_dir
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
|
||||
_cmake_${CMAKE_MAKEFILE_GENERATOR}_src_make "$@"
|
||||
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
# @FUNCTION: cmake-utils_src_test
|
||||
# @DESCRIPTION:
|
||||
# Function for testing the package. Automatically detects the build type.
|
||||
cmake-utils_src_test() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
_cmake_check_build_dir
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
[[ -e CTestTestfile.cmake ]] || { echo "No tests found. Skipping."; return 0 ; }
|
||||
|
||||
[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
|
||||
|
||||
set -- ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
|
||||
echo "$@" >&2
|
||||
if "$@" ; then
|
||||
einfo "Tests succeeded."
|
||||
popd > /dev/null || die
|
||||
return 0
|
||||
else
|
||||
if [[ -n "${CMAKE_YES_I_WANT_TO_SEE_THE_TEST_LOG}" ]] ; then
|
||||
# on request from Diego
|
||||
eerror "Tests failed. Test log ${BUILD_DIR}/Testing/Temporary/LastTest.log follows:"
|
||||
eerror "--START TEST LOG--------------------------------------------------------------"
|
||||
cat "${BUILD_DIR}/Testing/Temporary/LastTest.log"
|
||||
eerror "--END TEST LOG----------------------------------------------------------------"
|
||||
die "Tests failed."
|
||||
else
|
||||
die "Tests failed. When you file a bug, please attach the following file: \n\t${BUILD_DIR}/Testing/Temporary/LastTest.log"
|
||||
fi
|
||||
|
||||
# die might not die due to nonfatal
|
||||
popd > /dev/null || die
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: cmake-utils_src_install
|
||||
# @DESCRIPTION:
|
||||
# Function for installing the package. Automatically detects the build type.
|
||||
cmake-utils_src_install() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
_cmake_check_build_dir
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
DESTDIR="${D}" ${CMAKE_MAKEFILE_GENERATOR} install "$@" || die "died running ${CMAKE_MAKEFILE_GENERATOR} install"
|
||||
popd > /dev/null || die
|
||||
|
||||
pushd "${S}" > /dev/null || die
|
||||
einstalldocs
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
fi
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: cmake.eclass
|
||||
@ -28,7 +28,7 @@ _CMAKE_ECLASS=1
|
||||
|
||||
inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils
|
||||
|
||||
# @ECLASS-VARIABLE: BUILD_DIR
|
||||
# @ECLASS_VARIABLE: BUILD_DIR
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Build directory where all cmake processed files should be generated.
|
||||
@ -38,13 +38,13 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils
|
||||
[[ ${EAPI} == 7 ]] && : ${BUILD_DIR:=${WORKDIR}/${P}_build}
|
||||
# EAPI-8: set inside _cmake_check_build_dir
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_BINARY
|
||||
# @ECLASS_VARIABLE: CMAKE_BINARY
|
||||
# @DESCRIPTION:
|
||||
# Eclass can use different cmake binary than the one provided in by system.
|
||||
: ${CMAKE_BINARY:=cmake}
|
||||
|
||||
[[ ${EAPI} == 7 ]] && : ${CMAKE_BUILD_TYPE:=Gentoo}
|
||||
# @ECLASS-VARIABLE: CMAKE_BUILD_TYPE
|
||||
# @ECLASS_VARIABLE: CMAKE_BUILD_TYPE
|
||||
# @DESCRIPTION:
|
||||
# Set to override default CMAKE_BUILD_TYPE. Only useful for packages
|
||||
# known to make use of "if (CMAKE_BUILD_TYPE MATCHES xxx)".
|
||||
@ -57,12 +57,12 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils
|
||||
# In EAPI 7, the default was non-standard build type of Gentoo.
|
||||
: ${CMAKE_BUILD_TYPE:=RelWithDebInfo}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_IN_SOURCE_BUILD
|
||||
# @ECLASS_VARIABLE: CMAKE_IN_SOURCE_BUILD
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Set to enable in-source build.
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_MAKEFILE_GENERATOR
|
||||
# @ECLASS_VARIABLE: CMAKE_MAKEFILE_GENERATOR
|
||||
# @PRE_INHERIT
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
@ -71,7 +71,7 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils
|
||||
# The default is set to "ninja".
|
||||
: ${CMAKE_MAKEFILE_GENERATOR:=ninja}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST
|
||||
# @ECLASS_VARIABLE: CMAKE_REMOVE_MODULES_LIST
|
||||
# @PRE_INHERIT
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
@ -90,25 +90,25 @@ else
|
||||
fi
|
||||
fi
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_USE_DIR
|
||||
# @ECLASS_VARIABLE: CMAKE_USE_DIR
|
||||
# @DESCRIPTION:
|
||||
# Sets the directory where we are working with cmake, for example when
|
||||
# application uses autotools and only one plugin needs to be done by cmake.
|
||||
# By default it uses current working directory (in EAPI-7: ${S}).
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_VERBOSE
|
||||
# @ECLASS_VARIABLE: CMAKE_VERBOSE
|
||||
# @DESCRIPTION:
|
||||
# Set to OFF to disable verbose messages during compilation
|
||||
: ${CMAKE_VERBOSE:=ON}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_WARN_UNUSED_CLI
|
||||
# @ECLASS_VARIABLE: CMAKE_WARN_UNUSED_CLI
|
||||
# @DESCRIPTION:
|
||||
# Warn about variables that are declared on the command line
|
||||
# but not used. Might give false-positives.
|
||||
# "no" to disable (default) or anything else to enable.
|
||||
: ${CMAKE_WARN_UNUSED_CLI:=yes}
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_EXTRA_CACHE_FILE
|
||||
# @ECLASS_VARIABLE: CMAKE_EXTRA_CACHE_FILE
|
||||
# @USER_VARIABLE
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
@ -116,7 +116,7 @@ fi
|
||||
# for econf and is needed to pass TRY_RUN results when cross-compiling.
|
||||
# Should be set by user in a per-package basis in /etc/portage/package.env.
|
||||
|
||||
# @ECLASS-VARIABLE: CMAKE_QA_SRC_DIR_READONLY
|
||||
# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY
|
||||
# @USER_VARIABLE
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
@ -136,7 +136,7 @@ case ${CMAKE_MAKEFILE_GENERATOR} in
|
||||
BDEPEND="sys-devel/make"
|
||||
;;
|
||||
ninja)
|
||||
BDEPEND="dev-util/ninja"
|
||||
BDEPEND="${NINJA_DEPEND}"
|
||||
;;
|
||||
*)
|
||||
eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}"
|
||||
@ -363,13 +363,6 @@ cmake_src_prepare() {
|
||||
die "FATAL: Unable to find CMakeLists.txt"
|
||||
fi
|
||||
|
||||
# if ninja is enabled but not installed, the build could fail
|
||||
# this could happen if ninja is manually enabled (eg. make.conf) but not installed
|
||||
if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]] && ! has_version -b dev-util/ninja; then
|
||||
eerror "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed."
|
||||
die "Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR."
|
||||
fi
|
||||
|
||||
local modules_list
|
||||
if [[ ${EAPI} == 7 && $(declare -p CMAKE_REMOVE_MODULES_LIST) != "declare -a"* ]]; then
|
||||
modules_list=( ${CMAKE_REMOVE_MODULES_LIST} )
|
||||
@ -406,6 +399,12 @@ cmake_src_prepare() {
|
||||
_CMAKE_SRC_PREPARE_HAS_RUN=1
|
||||
}
|
||||
|
||||
# @VARIABLE: MYCMAKEARGS
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# User-controlled environment variable containing arguments to be passed to
|
||||
# cmake in cmake_src_configure.
|
||||
|
||||
# @FUNCTION: cmake_src_configure
|
||||
# @DESCRIPTION:
|
||||
# General function for configuring with cmake. Default behaviour is to start an
|
||||
@ -593,9 +592,12 @@ cmake_src_configure() {
|
||||
"${mycmakeargs_local[@]}"
|
||||
-DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"
|
||||
-DCMAKE_TOOLCHAIN_FILE="${toolchain_file}"
|
||||
"${MYCMAKEARGS}"
|
||||
)
|
||||
|
||||
if [[ -n ${MYCMAKEARGS} ]] ; then
|
||||
cmakeargs+=( "${MYCMAKEARGS}" )
|
||||
fi
|
||||
|
||||
if [[ -n "${CMAKE_EXTRA_CACHE_FILE}" ]] ; then
|
||||
cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" )
|
||||
fi
|
||||
@ -665,7 +667,8 @@ cmake_src_test() {
|
||||
|
||||
[[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure )
|
||||
|
||||
set -- ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
|
||||
set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \
|
||||
--test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@"
|
||||
echo "$@" >&2
|
||||
if "$@" ; then
|
||||
einfo "Tests succeeded."
|
||||
@ -695,11 +698,7 @@ cmake_src_test() {
|
||||
cmake_src_install() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
_cmake_check_build_dir
|
||||
pushd "${BUILD_DIR}" > /dev/null || die
|
||||
DESTDIR="${D}" ${CMAKE_MAKEFILE_GENERATOR} install "$@" ||
|
||||
die "died running ${CMAKE_MAKEFILE_GENERATOR} install"
|
||||
popd > /dev/null || die
|
||||
DESTDIR="${D}" cmake_build install "$@"
|
||||
|
||||
if [[ ${EAPI} == 7 ]]; then
|
||||
pushd "${S}" > /dev/null || die
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: elisp-common.eclass
|
||||
@ -10,7 +10,7 @@
|
||||
# Mamoru Komachi <usata@gentoo.org>
|
||||
# Christian Faulhammer <fauli@gentoo.org>
|
||||
# Ulrich Müller <ulm@gentoo.org>
|
||||
# @SUPPORTED_EAPIS: 5 6 7 8
|
||||
# @SUPPORTED_EAPIS: 6 7 8
|
||||
# @BLURB: Emacs-related installation utilities
|
||||
# @DESCRIPTION:
|
||||
#
|
||||
@ -165,50 +165,50 @@
|
||||
# Again, with optional Emacs support, you should prepend "use emacs &&"
|
||||
# to above calls of elisp-site-regen().
|
||||
|
||||
case ${EAPI:-0} in
|
||||
5|6) inherit eapi7-ver ;;
|
||||
case ${EAPI} in
|
||||
6) inherit eapi7-ver ;;
|
||||
7|8) ;;
|
||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||
esac
|
||||
|
||||
# @ECLASS-VARIABLE: SITELISP
|
||||
# @ECLASS_VARIABLE: SITELISP
|
||||
# @DESCRIPTION:
|
||||
# Directory where packages install Emacs Lisp files.
|
||||
SITELISP=/usr/share/emacs/site-lisp
|
||||
|
||||
# @ECLASS-VARIABLE: SITEETC
|
||||
# @ECLASS_VARIABLE: SITEETC
|
||||
# @DESCRIPTION:
|
||||
# Directory where packages install miscellaneous (not Lisp) files.
|
||||
SITEETC=/usr/share/emacs/etc
|
||||
|
||||
# @ECLASS-VARIABLE: EMACSMODULES
|
||||
# @ECLASS_VARIABLE: EMACSMODULES
|
||||
# @DESCRIPTION:
|
||||
# Directory where packages install dynamically loaded modules.
|
||||
# May contain a @libdir@ token which will be replaced by $(get_libdir).
|
||||
EMACSMODULES=/usr/@libdir@/emacs/modules
|
||||
|
||||
# @ECLASS-VARIABLE: EMACS
|
||||
# @ECLASS_VARIABLE: EMACS
|
||||
# @DESCRIPTION:
|
||||
# Path of Emacs executable.
|
||||
EMACS=${EPREFIX}/usr/bin/emacs
|
||||
|
||||
# @ECLASS-VARIABLE: EMACSFLAGS
|
||||
# @ECLASS_VARIABLE: EMACSFLAGS
|
||||
# @DESCRIPTION:
|
||||
# Flags for executing Emacs in batch mode.
|
||||
# These work for Emacs versions 18-24, so don't change them.
|
||||
EMACSFLAGS="-batch -q --no-site-file"
|
||||
|
||||
# @ECLASS-VARIABLE: BYTECOMPFLAGS
|
||||
# @ECLASS_VARIABLE: BYTECOMPFLAGS
|
||||
# @DESCRIPTION:
|
||||
# Emacs flags used for byte-compilation in elisp-compile().
|
||||
BYTECOMPFLAGS="-L ."
|
||||
|
||||
# @ECLASS-VARIABLE: NEED_EMACS
|
||||
# @ECLASS_VARIABLE: NEED_EMACS
|
||||
# @DESCRIPTION:
|
||||
# The minimum Emacs version required for the package.
|
||||
: ${NEED_EMACS:=23.1}
|
||||
|
||||
# @ECLASS-VARIABLE: _ELISP_EMACS_VERSION
|
||||
# @ECLASS_VARIABLE: _ELISP_EMACS_VERSION
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Cached value of Emacs version detected in elisp-check-emacs-version().
|
||||
@ -329,6 +329,7 @@ elisp-make-autoload-file() {
|
||||
EOF
|
||||
|
||||
${EMACS} ${EMACSFLAGS} \
|
||||
--eval "(require 'autoload)" \
|
||||
--eval "(setq make-backup-files nil)" \
|
||||
--eval "(setq generated-autoload-file (expand-file-name \"${f}\"))" \
|
||||
-f batch-update-autoloads "${@-.}"
|
||||
@ -360,10 +361,6 @@ elisp-install() {
|
||||
elisp-modules-install() {
|
||||
local subdir="$1"
|
||||
shift
|
||||
# Don't bother inheriting multilib.eclass for get_libdir(), but
|
||||
# error out in old EAPIs that don't support it natively.
|
||||
[[ ${EAPI} == 5 ]] \
|
||||
&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
|
||||
ebegin "Installing dynamic modules for GNU Emacs support"
|
||||
( # subshell to avoid pollution of calling environment
|
||||
exeinto "${EMACSMODULES//@libdir@/$(get_libdir)}/${subdir}"
|
||||
@ -391,12 +388,7 @@ elisp-site-file-install() {
|
||||
sf="${T}/${sf}"
|
||||
ebegin "Installing site initialisation file for GNU Emacs"
|
||||
[[ $1 == "${sf}" ]] || cp "$1" "${sf}"
|
||||
if [[ ${EAPI} == 5 ]]; then
|
||||
grep -q "@EMACSMODULES@" "${sf}" \
|
||||
&& die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}"
|
||||
else
|
||||
modules=${EMACSMODULES//@libdir@/$(get_libdir)}
|
||||
fi
|
||||
modules=${EMACSMODULES//@libdir@/$(get_libdir)}
|
||||
sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \
|
||||
-e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \
|
||||
-e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \
|
||||
|
@ -23,7 +23,7 @@ _GNOME_ORG_ECLASS=1
|
||||
# versionator inherit kept for older EAPIs due to ebuilds (potentially) relying on it
|
||||
[[ ${EAPI} == [56] ]] && inherit eapi7-ver versionator
|
||||
|
||||
# @ECLASS-VARIABLE: GNOME_TARBALL_SUFFIX
|
||||
# @ECLASS_VARIABLE: GNOME_TARBALL_SUFFIX
|
||||
# @PRE_INHERIT
|
||||
# @DESCRIPTION:
|
||||
# Most projects hosted on gnome.org mirrors provide tarballs as tar.bz2 or
|
||||
@ -41,13 +41,13 @@ if [[ ${GNOME_TARBALL_SUFFIX} == "xz" ]]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# @ECLASS-VARIABLE: GNOME_ORG_MODULE
|
||||
# @ECLASS_VARIABLE: GNOME_ORG_MODULE
|
||||
# @DESCRIPTION:
|
||||
# Name of the module as hosted on gnome.org mirrors.
|
||||
# Leave unset if package name matches module name.
|
||||
: ${GNOME_ORG_MODULE:=$PN}
|
||||
|
||||
# @ECLASS-VARIABLE: GNOME_ORG_PVP
|
||||
# @ECLASS_VARIABLE: GNOME_ORG_PVP
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Components of the version number that correspond to a 6 month release.
|
||||
|
@ -29,13 +29,22 @@
|
||||
# A Couple of env vars are available to effect usage of this eclass
|
||||
# These are as follows:
|
||||
|
||||
# @ECLASS-VARIABLE: KERNEL_DIR
|
||||
|
||||
# @ECLASS_VARIABLE: CHECKCONFIG_DONOTHING
|
||||
# @USER_VARIABLE
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Do not error out in check_extra_config if CONFIG settings are not met.
|
||||
# This is a user flag and should under _no circumstances_ be set in the ebuild.
|
||||
: ${CHECKCONFIG_DONOTHING:=""}
|
||||
|
||||
# @ECLASS_VARIABLE: KERNEL_DIR
|
||||
# @DESCRIPTION:
|
||||
# A string containing the directory of the target kernel sources. The default value is
|
||||
# "/usr/src/linux"
|
||||
KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
|
||||
|
||||
# @ECLASS-VARIABLE: CONFIG_CHECK
|
||||
# @ECLASS_VARIABLE: CONFIG_CHECK
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# A string containing a list of .config options to check for before
|
||||
@ -58,7 +67,7 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
|
||||
# This is to allow usage of binary kernels, and minimal systems without kernel
|
||||
# sources.
|
||||
|
||||
# @ECLASS-VARIABLE: ERROR_<CFG>
|
||||
# @ECLASS_VARIABLE: ERROR_<CFG>
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# A string containing the error message to display when the check against CONFIG_CHECK
|
||||
@ -71,7 +80,7 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
|
||||
# CONFIG_CHECK="~CFG" with WARNING_<CFG>="Warning Message" calls ewarn without dieing
|
||||
|
||||
|
||||
# @ECLASS-VARIABLE: KBUILD_OUTPUT
|
||||
# @ECLASS_VARIABLE: KBUILD_OUTPUT
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# A string passed on commandline, or set from the kernel makefile. It contains the directory
|
||||
@ -80,7 +89,7 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
|
||||
# There are also a couple of variables which are set by this, and shouldn't be
|
||||
# set by hand. These are as follows:
|
||||
|
||||
# @ECLASS-VARIABLE: KERNEL_MAKEFILE
|
||||
# @ECLASS_VARIABLE: KERNEL_MAKEFILE
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# According to upstream documentation, by default, when make looks for the makefile, it tries
|
||||
@ -89,48 +98,58 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}"
|
||||
# See https://www.gnu.org/software/make/manual/make.html
|
||||
: ${KERNEL_MAKEFILE:=""}
|
||||
|
||||
# @ECLASS-VARIABLE: KV_FULL
|
||||
# @ECLASS_VARIABLE: KV_FULL
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# A read-only variable. It's a string containing the full kernel version. ie: 2.6.9-gentoo-johnm-r1
|
||||
|
||||
# @ECLASS-VARIABLE: KV_MAJOR
|
||||
# @ECLASS_VARIABLE: KV_MAJOR
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# A read-only variable. It's an integer containing the kernel major version. ie: 2
|
||||
|
||||
# @ECLASS-VARIABLE: KV_MINOR
|
||||
# @ECLASS_VARIABLE: KV_MINOR
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# A read-only variable. It's an integer containing the kernel minor version. ie: 6
|
||||
|
||||
# @ECLASS-VARIABLE: KV_PATCH
|
||||
# @ECLASS_VARIABLE: KV_PATCH
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# A read-only variable. It's an integer containing the kernel patch version. ie: 9
|
||||
|
||||
# @ECLASS-VARIABLE: KV_EXTRA
|
||||
# @ECLASS_VARIABLE: KV_EXTRA
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# A read-only variable. It's a string containing the kernel EXTRAVERSION. ie: -gentoo
|
||||
|
||||
# @ECLASS-VARIABLE: KV_LOCAL
|
||||
# @ECLASS_VARIABLE: KV_LOCAL
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# A read-only variable. It's a string containing the kernel LOCALVERSION concatenation. ie: -johnm
|
||||
|
||||
# @ECLASS-VARIABLE: KV_DIR
|
||||
# @ECLASS_VARIABLE: KV_DIR
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# A read-only variable. It's a string containing the kernel source directory, will be null if
|
||||
# KERNEL_DIR is invalid.
|
||||
|
||||
# @ECLASS-VARIABLE: KV_OUT_DIR
|
||||
# @ECLASS_VARIABLE: KV_OUT_DIR
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# A read-only variable. It's a string containing the kernel object directory, will be KV_DIR unless
|
||||
# KBUILD_OUTPUT is used. This should be used for referencing .config.
|
||||
|
||||
|
||||
# @ECLASS_VARIABLE: SKIP_KERNEL_CHECK
|
||||
# @USER_VARIABLE
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Do not check for kernel sources or a running kernel version
|
||||
# Main use-case is for chroots
|
||||
# This is a user flag and should under _no circumstances_ be set in the ebuild.
|
||||
: ${SKIP_KERNEL_CHECK:=""}
|
||||
|
||||
# And to ensure all the weirdness with crosscompile
|
||||
inherit toolchain-funcs
|
||||
[[ ${EAPI:-0} == [0123456] ]] && inherit eapi7-ver
|
||||
@ -148,15 +167,15 @@ esac
|
||||
# @DESCRIPTION:
|
||||
# Set the env ARCH to match what the kernel expects.
|
||||
set_arch_to_kernel() { export ARCH=$(tc-arch-kernel); }
|
||||
# @FUNCTION: set_arch_to_portage
|
||||
# @DESCRIPTION:
|
||||
# Set the env ARCH to match what portage expects.
|
||||
set_arch_to_portage() { export ARCH=$(tc-arch); }
|
||||
|
||||
# qeinfo "Message"
|
||||
# -------------------
|
||||
# qeinfo is a quiet einfo call when EBUILD_PHASE
|
||||
# should not have visible output.
|
||||
# @FUNCTION: set_arch_to_pkgmgr
|
||||
# @DESCRIPTION:
|
||||
# Set the env ARCH to match what the package manager expects.
|
||||
set_arch_to_pkgmgr() { export ARCH=$(tc-arch); }
|
||||
|
||||
# @FUNCTION: qout
|
||||
# @DESCRIPTION:
|
||||
# qout <einfo | ewarn | eerror> is a quiet call when EBUILD_PHASE should not have visible output.
|
||||
qout() {
|
||||
local outputmsg type
|
||||
type=${1}
|
||||
@ -170,8 +189,21 @@ qout() {
|
||||
[ -n "${outputmsg}" ] && ${type} "${outputmsg}"
|
||||
}
|
||||
|
||||
# @FUNCTION: qeinfo
|
||||
# @DESCRIPTION:
|
||||
# qeinfo is a quiet einfo call when EBUILD_PHASE should not have visible output.
|
||||
qeinfo() { qout einfo "${@}" ; }
|
||||
|
||||
# @FUNCTION: qewarn
|
||||
# @DESCRIPTION:
|
||||
# qewarn is a quiet ewarn call when EBUILD_PHASE
|
||||
# should not have visible output.
|
||||
qewarn() { qout ewarn "${@}" ; }
|
||||
|
||||
# @FUNCTION: qeerror
|
||||
# @DESCRIPTION:
|
||||
# qeerror is a quiet error call when EBUILD_PHASE
|
||||
# should not have visible output.
|
||||
qeerror() { qout eerror "${@}" ; }
|
||||
|
||||
# File Functions
|
||||
@ -244,7 +276,7 @@ getfilevar_noexec() {
|
||||
fi
|
||||
}
|
||||
|
||||
# @ECLASS-VARIABLE: _LINUX_CONFIG_EXISTS_DONE
|
||||
# @ECLASS_VARIABLE: _LINUX_CONFIG_EXISTS_DONE
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# This is only set if one of the linux_config_*exists functions has been called.
|
||||
@ -253,6 +285,10 @@ getfilevar_noexec() {
|
||||
# config is available at all.
|
||||
_LINUX_CONFIG_EXISTS_DONE=
|
||||
|
||||
# @FUNCTION: linux_config_qa_check
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Helper funciton which returns an error before the function argument is run if no config exists
|
||||
linux_config_qa_check() {
|
||||
local f="$1"
|
||||
if [ -z "${_LINUX_CONFIG_EXISTS_DONE}" ]; then
|
||||
@ -313,6 +349,9 @@ linux_config_path() {
|
||||
# This function verifies that the current kernel is configured (it checks against the existence of .config)
|
||||
# otherwise it dies.
|
||||
require_configured_kernel() {
|
||||
|
||||
[[ -n ${SKIP_KERNEL_CHECK} ]] && return
|
||||
|
||||
if ! use kernel_linux; then
|
||||
die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
|
||||
fi
|
||||
@ -335,6 +374,7 @@ require_configured_kernel() {
|
||||
# If linux_config_exists returns false, the results of this are UNDEFINED. You
|
||||
# MUST call linux_config_exists first.
|
||||
linux_chkconfig_present() {
|
||||
[[ -n ${SKIP_KERNEL_CHECK} ]] && return
|
||||
linux_config_qa_check linux_chkconfig_present
|
||||
[[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == [my] ]]
|
||||
}
|
||||
@ -347,6 +387,7 @@ linux_chkconfig_present() {
|
||||
# If linux_config_exists returns false, the results of this are UNDEFINED. You
|
||||
# MUST call linux_config_exists first.
|
||||
linux_chkconfig_module() {
|
||||
[[ -n ${SKIP_KERNEL_CHECK} ]] && return
|
||||
linux_config_qa_check linux_chkconfig_module
|
||||
[[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == m ]]
|
||||
}
|
||||
@ -359,6 +400,7 @@ linux_chkconfig_module() {
|
||||
# If linux_config_exists returns false, the results of this are UNDEFINED. You
|
||||
# MUST call linux_config_exists first.
|
||||
linux_chkconfig_builtin() {
|
||||
[[ -n ${SKIP_KERNEL_CHECK} ]] && return
|
||||
linux_config_qa_check linux_chkconfig_builtin
|
||||
[[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == y ]]
|
||||
}
|
||||
@ -371,6 +413,7 @@ linux_chkconfig_builtin() {
|
||||
# If linux_config_exists returns false, the results of this are UNDEFINED. You
|
||||
# MUST call linux_config_exists first.
|
||||
linux_chkconfig_string() {
|
||||
[[ -n ${SKIP_KERNEL_CHECK} ]] && return
|
||||
linux_config_qa_check linux_chkconfig_string
|
||||
getfilevar_noexec "CONFIG_$1" "$(linux_config_path)"
|
||||
}
|
||||
@ -422,26 +465,9 @@ kernel_is() {
|
||||
"${1:-${KV_MAJOR:-0}}.${2:-${KV_MINOR:-0}}.${3:-${KV_PATCH:-0}}"
|
||||
}
|
||||
|
||||
get_localversion() {
|
||||
local lv_list i x
|
||||
|
||||
local shopt_save=$(shopt -p nullglob)
|
||||
shopt -s nullglob
|
||||
local files=( ${1}/localversion* )
|
||||
${shopt_save}
|
||||
|
||||
# ignore files with ~ in it.
|
||||
for i in "${files[@]}"; do
|
||||
[[ -n ${i//*~*} ]] && lv_list="${lv_list} ${i}"
|
||||
done
|
||||
|
||||
for i in ${lv_list}; do
|
||||
x="${x}$(<${i})"
|
||||
done
|
||||
x=${x/ /}
|
||||
echo ${x}
|
||||
}
|
||||
|
||||
# @FUNCTION: get_makefile_extract_function
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Check if the Makefile is valid for direct parsing.
|
||||
# Check status results:
|
||||
# - PASS, use 'getfilevar' to extract values
|
||||
@ -450,6 +476,7 @@ get_localversion() {
|
||||
# - make is not present
|
||||
# - corruption exists in the kernel makefile
|
||||
get_makefile_extract_function() {
|
||||
[[ -n ${SKIP_KERNEL_CHECK} ]] && return
|
||||
local a='' b='' mkfunc='getfilevar'
|
||||
a="$(getfilevar VERSION ${KERNEL_MAKEFILE})"
|
||||
b="$(getfilevar_noexec VERSION ${KERNEL_MAKEFILE})"
|
||||
@ -457,7 +484,10 @@ get_makefile_extract_function() {
|
||||
echo "${mkfunc}"
|
||||
}
|
||||
|
||||
# internal variable, so we know to only print the warning once
|
||||
# @ECLASS_VARIABLE: get_version_warning_done
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Internal variable, so we know to only print the warning once.
|
||||
get_version_warning_done=
|
||||
|
||||
# @FUNCTION: get_version
|
||||
@ -477,6 +507,8 @@ get_version() {
|
||||
|
||||
local tmplocal
|
||||
|
||||
[[ -n ${SKIP_KERNEL_CHECK} ]] && return
|
||||
|
||||
# no need to execute this twice assuming KV_FULL is populated.
|
||||
# we can force by unsetting KV_FULL
|
||||
[ -n "${KV_FULL}" ] && return 0
|
||||
@ -685,6 +717,9 @@ check_kernel_built() {
|
||||
fi
|
||||
|
||||
# if we haven't determined the version yet, we need to
|
||||
|
||||
[[ -n ${SKIP_KERNEL_CHECK} ]] && return
|
||||
|
||||
require_configured_kernel
|
||||
|
||||
local versionh_path
|
||||
@ -781,7 +816,7 @@ check_extra_config() {
|
||||
require_configured_kernel
|
||||
fi
|
||||
|
||||
einfo "Checking for suitable kernel configuration options..."
|
||||
ebegin "Checking for suitable kernel configuration options"
|
||||
|
||||
for config in ${CONFIG_CHECK}
|
||||
do
|
||||
@ -857,6 +892,7 @@ check_extra_config() {
|
||||
done
|
||||
|
||||
if [[ ${hard_errors_count} -gt 0 ]]; then
|
||||
eend 1
|
||||
eerror "Please check to make sure these options are set correctly."
|
||||
eerror "Failure to do so may cause unexpected problems."
|
||||
eerror "Once you have satisfied these options, please try merging"
|
||||
@ -864,6 +900,7 @@ check_extra_config() {
|
||||
export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}"
|
||||
die "Incorrect kernel configuration options"
|
||||
elif [[ ${soft_errors_count} -gt 0 ]]; then
|
||||
eend 1
|
||||
ewarn "Please check to make sure these options are set correctly."
|
||||
ewarn "Failure to do so may cause unexpected problems."
|
||||
else
|
||||
@ -872,6 +909,9 @@ check_extra_config() {
|
||||
export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}"
|
||||
}
|
||||
|
||||
# @FUNCTION: check_zlibinflate
|
||||
# @DESCRIPTION:
|
||||
# Function to make sure a ZLIB_INFLATE configuration has the required symbols.
|
||||
check_zlibinflate() {
|
||||
if ! use kernel_linux; then
|
||||
die "${FUNCNAME}() called on non-Linux system, please fix the ebuild"
|
||||
@ -955,7 +995,7 @@ linux-info_pkg_setup() {
|
||||
|
||||
linux-info_get_any_version
|
||||
|
||||
[ -n "${CONFIG_CHECK}" ] && check_extra_config;
|
||||
[[ -n "${CONFIG_CHECK}" && -z ${CHECKCONFIG_DONOTHING} ]] && check_extra_config;
|
||||
}
|
||||
|
||||
# @FUNCTION: kernel_get_makefile
|
||||
|
@ -19,14 +19,14 @@
|
||||
# A Couple of env vars are available to effect usage of this eclass
|
||||
# These are as follows:
|
||||
|
||||
# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE
|
||||
# @ECLASS_VARIABLE: MODULES_OPTIONAL_USE
|
||||
# @PRE_INHERIT
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# A string containing the USE flag to use for making this eclass optional
|
||||
# The recommended non-empty value is 'modules'
|
||||
|
||||
# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE_IUSE_DEFAULT
|
||||
# @ECLASS_VARIABLE: MODULES_OPTIONAL_USE_IUSE_DEFAULT
|
||||
# @PRE_INHERIT
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
@ -34,29 +34,29 @@
|
||||
# flag. Default value is unset (false). True represented by 1 or 'on', other
|
||||
# values including unset treated as false.
|
||||
|
||||
# @ECLASS-VARIABLE: KERNEL_DIR
|
||||
# @ECLASS_VARIABLE: KERNEL_DIR
|
||||
# @DESCRIPTION:
|
||||
# A string containing the directory of the target kernel sources. The default value is
|
||||
# "/usr/src/linux"
|
||||
: ${KERNEL_DIR:=/usr/src/linux}
|
||||
|
||||
# @ECLASS-VARIABLE: ECONF_PARAMS
|
||||
# @ECLASS_VARIABLE: ECONF_PARAMS
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# It's a string containing the parameters to pass to econf.
|
||||
# If this is not set, then econf isn't run.
|
||||
|
||||
# @ECLASS-VARIABLE: BUILD_PARAMS
|
||||
# @ECLASS_VARIABLE: BUILD_PARAMS
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# It's a string with the parameters to pass to emake.
|
||||
|
||||
# @ECLASS-VARIABLE: BUILD_TARGETS
|
||||
# @ECLASS_VARIABLE: BUILD_TARGETS
|
||||
# @DESCRIPTION:
|
||||
# It's a string with the build targets to pass to make. The default value is "clean module"
|
||||
: ${BUILD_TARGETS:=clean module}
|
||||
|
||||
# @ECLASS-VARIABLE: MODULE_NAMES
|
||||
# @ECLASS_VARIABLE: MODULE_NAMES
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# It's a string containing the modules to be built automatically using the default
|
||||
@ -101,14 +101,14 @@
|
||||
# There is also support for automated modprobe.d file generation.
|
||||
# This can be explicitly enabled by setting any of the following variables.
|
||||
|
||||
# @ECLASS-VARIABLE: MODULESD_<modulename>_ENABLED
|
||||
# @ECLASS_VARIABLE: MODULESD_<modulename>_ENABLED
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# This is used to disable the modprobe.d file generation otherwise the file will be
|
||||
# always generated (unless no MODULESD_<modulename>_* variable is provided). Set to "no" to disable
|
||||
# the generation of the file and the installation of the documentation.
|
||||
|
||||
# @ECLASS-VARIABLE: MODULESD_<modulename>_EXAMPLES
|
||||
# @ECLASS_VARIABLE: MODULESD_<modulename>_EXAMPLES
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# This is a bash array containing a list of examples which should
|
||||
@ -120,7 +120,7 @@
|
||||
#
|
||||
# where array_component is "<modulename> options" (see modprobe.conf(5))
|
||||
|
||||
# @ECLASS-VARIABLE: MODULESD_<modulename>_ALIASES
|
||||
# @ECLASS_VARIABLE: MODULESD_<modulename>_ALIASES
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# This is a bash array containing a list of associated aliases.
|
||||
@ -131,20 +131,20 @@
|
||||
#
|
||||
# where array_component is "wildcard <modulename>" (see modprobe.conf(5))
|
||||
|
||||
# @ECLASS-VARIABLE: MODULESD_<modulename>_ADDITIONS
|
||||
# @ECLASS_VARIABLE: MODULESD_<modulename>_ADDITIONS
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# This is a bash array containing a list of additional things to
|
||||
# add to the bottom of the file. This can be absolutely anything.
|
||||
# Each entry is a new line.
|
||||
|
||||
# @ECLASS-VARIABLE: MODULESD_<modulename>_DOCS
|
||||
# @ECLASS_VARIABLE: MODULESD_<modulename>_DOCS
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# This is a string list which contains the full path to any associated
|
||||
# documents for <modulename>. These files are installed in the live tree.
|
||||
|
||||
# @ECLASS-VARIABLE: KV_OBJ
|
||||
# @ECLASS_VARIABLE: KV_OBJ
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# It's a read-only variable. It contains the extension of the kernel modules.
|
||||
@ -193,46 +193,6 @@ DEPEND="${RDEPEND}
|
||||
# eclass utilities
|
||||
# ----------------------------------
|
||||
|
||||
check_vermagic() {
|
||||
debug-print-function ${FUNCNAME} $*
|
||||
|
||||
local curr_gcc_ver=$(gcc -dumpversion)
|
||||
local tmpfile old_chost old_gcc_ver result=0
|
||||
[ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return
|
||||
|
||||
tmpfile=`find "${KV_DIR}/" -iname "*.o.cmd" -exec grep usr/lib/gcc {} \; -quit`
|
||||
tmpfile=${tmpfile//*usr/lib}
|
||||
tmpfile=${tmpfile//\/include*}
|
||||
old_chost=${tmpfile//*gcc\/}
|
||||
old_chost=${old_chost//\/*}
|
||||
old_gcc_ver=${tmpfile//*\/}
|
||||
|
||||
if [[ -z ${old_gcc_ver} || -z ${old_chost} ]]; then
|
||||
ewarn ""
|
||||
ewarn "Unable to detect what version of GCC was used to compile"
|
||||
ewarn "the kernel. Build will continue, but you may experience problems."
|
||||
elif [[ ${curr_gcc_ver} != ${old_gcc_ver} ]]; then
|
||||
ewarn ""
|
||||
ewarn "The version of GCC you are using (${curr_gcc_ver}) does"
|
||||
ewarn "not match the version of GCC used to compile the"
|
||||
ewarn "kernel (${old_gcc_ver})."
|
||||
result=1
|
||||
elif [[ ${CHOST} != ${old_chost} ]]; then
|
||||
ewarn ""
|
||||
ewarn "The current CHOST (${CHOST}) does not match the chost"
|
||||
ewarn "used when compiling the kernel (${old_chost})."
|
||||
result=1
|
||||
fi
|
||||
|
||||
if [[ ${result} -gt 0 ]]; then
|
||||
ewarn ""
|
||||
ewarn "Build will not continue, because you will experience problems."
|
||||
ewarn "To fix this either change the version of GCC you wish to use"
|
||||
ewarn "to match the kernel, or recompile the kernel first."
|
||||
die "GCC Version Mismatch."
|
||||
fi
|
||||
}
|
||||
|
||||
# @FUNCTION: use_m
|
||||
# @RETURN: true or false
|
||||
# @DESCRIPTION:
|
||||
@ -267,11 +227,10 @@ convert_to_m() {
|
||||
fi
|
||||
}
|
||||
|
||||
# internal function
|
||||
#
|
||||
# FUNCTION: update_depmod
|
||||
# DESCRIPTION:
|
||||
# It updates the modules.dep file for the current kernel.
|
||||
# @FUNCTION: update_depmod
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Updates the modules.dep file for the current kernel.
|
||||
update_depmod() {
|
||||
debug-print-function ${FUNCNAME} $*
|
||||
|
||||
@ -292,11 +251,10 @@ update_depmod() {
|
||||
fi
|
||||
}
|
||||
|
||||
# internal function
|
||||
#
|
||||
# FUNCTION: move_old_moduledb
|
||||
# DESCRIPTION:
|
||||
# It updates the location of the database used by the module-rebuild utility.
|
||||
# @FUNCTION: move_old_moduledb
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Updates the location of the database used by the module-rebuild utility.
|
||||
move_old_moduledb() {
|
||||
debug-print-function ${FUNCNAME} $*
|
||||
|
||||
@ -312,11 +270,9 @@ move_old_moduledb() {
|
||||
fi
|
||||
}
|
||||
|
||||
# internal function
|
||||
#
|
||||
# FUNCTION: update_moduledb
|
||||
# DESCRIPTION:
|
||||
# It adds the package to the /var/lib/module-rebuild/moduledb database used by the module-rebuild utility.
|
||||
# @FUNCTION: update_moduledb
|
||||
# @DESCRIPTION:
|
||||
# Adds the package to the /var/lib/module-rebuild/moduledb database used by the module-rebuild utility.
|
||||
update_moduledb() {
|
||||
debug-print-function ${FUNCNAME} $*
|
||||
|
||||
@ -334,12 +290,9 @@ update_moduledb() {
|
||||
fi
|
||||
}
|
||||
|
||||
# internal function
|
||||
#
|
||||
# FUNCTION: remove_moduledb
|
||||
# DESCRIPTION:
|
||||
# It removes the package from the /var/lib/module-rebuild/moduledb database used by
|
||||
# the module-rebuild utility.
|
||||
# @FUNCTION: remove_moduledb
|
||||
# @DESCRIPTION:
|
||||
# Removes the package from the /var/lib/module-rebuild/moduledb database used by
|
||||
remove_moduledb() {
|
||||
debug-print-function ${FUNCNAME} $*
|
||||
|
||||
@ -369,6 +322,10 @@ set_kvobj() {
|
||||
# einfo "Using KV_OBJ=${KV_OBJ}"
|
||||
}
|
||||
|
||||
# @FUNCTION: get-KERNEL_CC
|
||||
# @RETURN: Name of the C compiler.
|
||||
# @DESCRIPTION:
|
||||
# Return name of the C compiler while honoring variables defined in ebuilds.
|
||||
get-KERNEL_CC() {
|
||||
debug-print-function ${FUNCNAME} $*
|
||||
|
||||
@ -389,12 +346,11 @@ get-KERNEL_CC() {
|
||||
echo "${kernel_cc}"
|
||||
}
|
||||
|
||||
# internal function
|
||||
#
|
||||
# FUNCTION:
|
||||
# USAGE: /path/to/the/modulename_without_extension
|
||||
# RETURN: A file in /etc/modprobe.d
|
||||
# DESCRIPTION:
|
||||
# @FUNCTION: generate_modulesd
|
||||
# @INTERNAL
|
||||
# @USAGE: /path/to/the/modulename_without_extension
|
||||
# @RETURN: A file in /etc/modprobe.d
|
||||
# @DESCRIPTION:
|
||||
# This function will generate and install the neccessary modprobe.d file from the
|
||||
# information contained in the modules exported parms.
|
||||
# (see the variables MODULESD_<modulename>_ENABLED, MODULESD_<modulename>_EXAMPLES,
|
||||
@ -543,12 +499,11 @@ generate_modulesd() {
|
||||
return 0
|
||||
}
|
||||
|
||||
# internal function
|
||||
#
|
||||
# FUNCTION: find_module_params
|
||||
# USAGE: A string "NAME(LIBDIR:SRCDIR:OBJDIR)"
|
||||
# RETURN: The string "modulename:NAME libdir:LIBDIR srcdir:SRCDIR objdir:OBJDIR"
|
||||
# DESCRIPTION:
|
||||
# @FUNCTION: find_module_params
|
||||
# @USAGE: A string "NAME(LIBDIR:SRCDIR:OBJDIR)"
|
||||
# @INTERNAL
|
||||
# @RETURN: The string "modulename:NAME libdir:LIBDIR srcdir:SRCDIR objdir:OBJDIR"
|
||||
# @DESCRIPTION:
|
||||
# Analyze the specification NAME(LIBDIR:SRCDIR:OBJDIR) of one module as described in MODULE_NAMES.
|
||||
find_module_params() {
|
||||
debug-print-function ${FUNCNAME} $*
|
||||
@ -621,10 +576,6 @@ linux-mod_pkg_setup() {
|
||||
strip_modulenames;
|
||||
[[ -n ${MODULE_NAMES} ]] && check_modules_supported
|
||||
set_kvobj;
|
||||
# Commented out with permission from johnm until a fixed version for arches
|
||||
# who intentionally use different kernel and userland compilers can be
|
||||
# introduced - Jason Wever <weeve@gentoo.org>, 23 Oct 2005
|
||||
#check_vermagic;
|
||||
}
|
||||
|
||||
# @FUNCTION: linux-mod_pkg_setup_binary
|
||||
@ -645,6 +596,9 @@ linux-mod_pkg_setup_binary() {
|
||||
linux-info_pkg_setup;
|
||||
}
|
||||
|
||||
# @FUNCTION: strip_modulenames
|
||||
# @DESCRIPTION:
|
||||
# Remove modules from being built automatically using the default src_compile/src_install
|
||||
strip_modulenames() {
|
||||
debug-print-function ${FUNCNAME} $*
|
||||
|
||||
@ -719,7 +673,7 @@ linux-mod_src_compile() {
|
||||
fi
|
||||
done
|
||||
|
||||
set_arch_to_portage
|
||||
set_arch_to_pkgmgr
|
||||
ABI="${myABI}"
|
||||
}
|
||||
|
||||
@ -757,7 +711,22 @@ linux-mod_src_install() {
|
||||
einfo "Installing ${modulename} module"
|
||||
cd "${objdir}" || die "${objdir} does not exist"
|
||||
insinto "${INSTALL_MOD_PATH}"/lib/modules/${KV_FULL}/${libdir}
|
||||
doins ${modulename}.${KV_OBJ} || die "doins ${modulename}.${KV_OBJ} failed"
|
||||
|
||||
# check here for CONFIG_MODULE_COMPRESS_<compression option> (NONE, GZIP, XZ, ZSTD)
|
||||
# and similarily compress the module being built if != NONE.
|
||||
|
||||
if linux_chkconfig_present MODULE_COMPRESS_XZ; then
|
||||
xz ${modulename}.${KV_OBJ}
|
||||
doins ${modulename}.${KV_OBJ}.xz || die "doins ${modulename}.${KV_OBJ}.xz failed"
|
||||
elif linux_chkconfig_present MODULE_COMPRESS_GZIP; then
|
||||
gzip ${modulename}.${KV_OBJ}
|
||||
doins ${modulename}.${KV_OBJ}.gz || die "doins ${modulename}.${KV_OBJ}.gz failed"
|
||||
elif linux_chkconfig_present MODULE_COMPRESS_ZSTD; then
|
||||
zstd ${modulename}.${KV_OBJ}
|
||||
doins ${modulename}.${KV_OBJ}.zst || die "doins ${modulename}.${KV_OBJ}.zst failed"
|
||||
else
|
||||
doins ${modulename}.${KV_OBJ} || die "doins ${modulename}.${KV_OBJ} failed"
|
||||
fi
|
||||
cd "${OLDPWD}"
|
||||
|
||||
generate_modulesd "${objdir}/${modulename}"
|
||||
|
@ -75,17 +75,17 @@ if [[ ! ${_LLVM_ECLASS} ]]; then
|
||||
# are uninstalled
|
||||
DEPEND="!!sys-devel/llvm:0"
|
||||
|
||||
# @ECLASS-VARIABLE: LLVM_MAX_SLOT
|
||||
# @ECLASS_VARIABLE: LLVM_MAX_SLOT
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Highest LLVM slot supported by the package. Needs to be set before
|
||||
# llvm_pkg_setup is called. If unset, no upper bound is assumed.
|
||||
|
||||
# @ECLASS-VARIABLE: _LLVM_KNOWN_SLOTS
|
||||
# @ECLASS_VARIABLE: _LLVM_KNOWN_SLOTS
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Correct values of LLVM slots, newest first.
|
||||
declare -g -r _LLVM_KNOWN_SLOTS=( {15..8} )
|
||||
declare -g -r _LLVM_KNOWN_SLOTS=( {16..8} )
|
||||
|
||||
# @FUNCTION: get_llvm_prefix
|
||||
# @USAGE: [-b|-d] [<max_slot>]
|
||||
|
@ -1,11 +1,11 @@
|
||||
# Copyright 2017-2021 Gentoo Authors
|
||||
# Copyright 2017-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# @ECLASS: meson.eclass
|
||||
# @MAINTAINER:
|
||||
# William Hubbs <williamh@gentoo.org>
|
||||
# Mike Gilbert <floppym@gentoo.org>
|
||||
# @SUPPORTED_EAPIS: 6 7 8
|
||||
# @SUPPORTED_EAPIS: 7 8
|
||||
# @BLURB: common ebuild functions for meson-based packages
|
||||
# @DESCRIPTION:
|
||||
# This eclass contains the default phase functions for packages which
|
||||
@ -35,36 +35,34 @@
|
||||
# @CODE
|
||||
|
||||
case ${EAPI} in
|
||||
6|7|8) ;;
|
||||
7|8) ;;
|
||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||
esac
|
||||
|
||||
if [[ -z ${_MESON_ECLASS} ]]; then
|
||||
_MESON_ECLASS=1
|
||||
|
||||
[[ ${EAPI} == 6 ]] && inherit eapi7-ver
|
||||
inherit multiprocessing ninja-utils python-utils-r1 toolchain-funcs
|
||||
|
||||
EXPORT_FUNCTIONS src_configure src_compile src_test src_install
|
||||
|
||||
_MESON_DEPEND=">=dev-util/meson-0.57.0
|
||||
>=dev-util/ninja-1.8.2
|
||||
BDEPEND=">=dev-util/meson-0.62.2
|
||||
${NINJA_DEPEND}
|
||||
dev-util/meson-format-array
|
||||
"
|
||||
|
||||
if [[ ${EAPI} == 6 ]]; then
|
||||
DEPEND=${_MESON_DEPEND}
|
||||
else
|
||||
BDEPEND=${_MESON_DEPEND}
|
||||
fi
|
||||
|
||||
# @ECLASS-VARIABLE: BUILD_DIR
|
||||
# @ECLASS_VARIABLE: BUILD_DIR
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# Build directory, location where all generated files should be placed.
|
||||
# If this isn't set, it defaults to ${WORKDIR}/${P}-build.
|
||||
|
||||
# @ECLASS-VARIABLE: EMESON_SOURCE
|
||||
# @ECLASS_VARIABLE: EMESON_BUILDTYPE
|
||||
# @DESCRIPTION:
|
||||
# The buildtype value to pass to meson setup.
|
||||
: ${EMESON_BUILDTYPE=plain}
|
||||
|
||||
# @ECLASS_VARIABLE: EMESON_SOURCE
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# The location of the source files for the project; this is the source
|
||||
@ -280,6 +278,8 @@ meson_feature() {
|
||||
meson_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
[[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}"
|
||||
|
||||
local BUILD_CFLAGS=${BUILD_CFLAGS}
|
||||
local BUILD_CPPFLAGS=${BUILD_CPPFLAGS}
|
||||
local BUILD_CXXFLAGS=${BUILD_CXXFLAGS}
|
||||
@ -310,7 +310,6 @@ meson_src_configure() {
|
||||
|
||||
local mesonargs=(
|
||||
meson setup
|
||||
--buildtype plain
|
||||
--libdir "$(get_libdir)"
|
||||
--localstatedir "${EPREFIX}/var/lib"
|
||||
--prefix "${EPREFIX}/usr"
|
||||
@ -319,8 +318,22 @@ meson_src_configure() {
|
||||
--build.pkg-config-path "${BUILD_PKG_CONFIG_PATH}${BUILD_PKG_CONFIG_PATH:+:}${EPREFIX}/usr/share/pkgconfig"
|
||||
--pkg-config-path "${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}${EPREFIX}/usr/share/pkgconfig"
|
||||
--native-file "$(_meson_create_native_file)"
|
||||
|
||||
# gcc[pch] is masked in profiles due to consistent bugginess
|
||||
# without forcing this off, some packages may fail too (like gjs,
|
||||
# bug #839549), but in any case, we don't want to bother attempting
|
||||
# this.
|
||||
-Db_pch=false
|
||||
|
||||
# It's Gentoo policy to not have builds die on blanket -Werror, as it's
|
||||
# an upstream development matter. bug #754279.
|
||||
-Dwerror=false
|
||||
)
|
||||
|
||||
if [[ -n ${EMESON_BUILDTYPE} ]]; then
|
||||
mesonargs+=( --buildtype "${EMESON_BUILDTYPE}" )
|
||||
fi
|
||||
|
||||
if tc-is-cross-compiler; then
|
||||
mesonargs+=( --cross-file "$(_meson_create_cross_file)" )
|
||||
fi
|
||||
@ -394,6 +407,7 @@ meson_src_test() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local mesontestargs=(
|
||||
--print-errorlogs
|
||||
-C "${BUILD_DIR}"
|
||||
--num-processes "$(makeopts_jobs "${MAKEOPTS}")"
|
||||
"$@"
|
||||
@ -414,6 +428,7 @@ meson_install() {
|
||||
local mesoninstallargs=(
|
||||
-C "${BUILD_DIR}"
|
||||
--destdir "${D}"
|
||||
--no-rebuild
|
||||
"$@"
|
||||
)
|
||||
|
||||
|
@ -1,8 +1,6 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Flatcar: Support EAPI 4.
|
||||
|
||||
# @ECLASS: ninja-utils.eclass
|
||||
# @MAINTAINER:
|
||||
# Michał Górny <mgorny@gentoo.org>
|
||||
@ -10,7 +8,7 @@
|
||||
# @AUTHOR:
|
||||
# Michał Górny <mgorny@gentoo.org>
|
||||
# Mike Gilbert <floppym@gentoo.org>
|
||||
# @SUPPORTED_EAPIS: 4 5 6 7 8
|
||||
# @SUPPORTED_EAPIS: 5 6 7 8
|
||||
# @BLURB: common bits to run dev-util/ninja builder
|
||||
# @DESCRIPTION:
|
||||
# This eclass provides a single function -- eninja -- that can be used
|
||||
@ -21,14 +19,29 @@
|
||||
# Meson).
|
||||
|
||||
case ${EAPI} in
|
||||
4|5|6|7|8) ;;
|
||||
5|6|7|8) ;;
|
||||
*) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
|
||||
esac
|
||||
|
||||
if [[ -z ${_NINJA_UTILS_ECLASS} ]]; then
|
||||
_NINJA_UTILS_ECLASS=1
|
||||
|
||||
# @ECLASS-VARIABLE: NINJAOPTS
|
||||
# @ECLASS_VARIABLE: NINJA
|
||||
# @PRE_INHERIT
|
||||
# @DESCRIPTION:
|
||||
# Specify a compatible ninja implementation to be used by eninja().
|
||||
# At this point only "ninja" and "samu" are explicitly supported,
|
||||
# but other values can be set where NINJA_DEPEND will then be set
|
||||
# to a blank variable.
|
||||
# The default is set to "ninja".
|
||||
: ${NINJA:=ninja}
|
||||
|
||||
# @ECLASS_VARIABLE: NINJA_DEPEND
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# Contains a set of build-time depenendencies based on the NINJA setting.
|
||||
|
||||
# @ECLASS_VARIABLE: NINJAOPTS
|
||||
# @DEFAULT_UNSET
|
||||
# @DESCRIPTION:
|
||||
# The default set of options to pass to Ninja. Similar to MAKEOPTS,
|
||||
@ -37,6 +50,18 @@ _NINJA_UTILS_ECLASS=1
|
||||
|
||||
inherit multiprocessing
|
||||
|
||||
case "${NINJA}" in
|
||||
ninja)
|
||||
NINJA_DEPEND=">=dev-util/ninja-1.8.2"
|
||||
;;
|
||||
samu)
|
||||
NINJA_DEPEND="dev-util/samurai"
|
||||
;;
|
||||
*)
|
||||
NINJA_DEPEND=""
|
||||
;;
|
||||
esac
|
||||
|
||||
# @FUNCTION: eninja
|
||||
# @USAGE: [<args>...]
|
||||
# @DESCRIPTION:
|
||||
@ -45,12 +70,13 @@ inherit multiprocessing
|
||||
# with EAPI 6, it also supports being called via 'nonfatal'.
|
||||
eninja() {
|
||||
local nonfatal_args=()
|
||||
[[ ${EAPI} != [45] ]] && nonfatal_args+=( -n )
|
||||
[[ ${EAPI} != 5 ]] && nonfatal_args+=( -n )
|
||||
|
||||
if [[ -z ${NINJAOPTS+set} ]]; then
|
||||
NINJAOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"
|
||||
NINJAOPTS="-j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0)"
|
||||
fi
|
||||
set -- ninja -v ${NINJAOPTS} "$@"
|
||||
[[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}"
|
||||
set -- "${NINJA}" -v ${NINJAOPTS} "$@"
|
||||
echo "$@" >&2
|
||||
"$@" || die "${nonfatal_args[@]}" "${*} failed"
|
||||
}
|
||||
|
@ -1,23 +1,21 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Flatcar: Support EAPI 0, 4 and 5.
|
||||
|
||||
# @ECLASS: optfeature.eclass
|
||||
# @MAINTAINER:
|
||||
# base-system@gentoo.org
|
||||
# @SUPPORTED_EAPIS: 0 4 5 6 7 8
|
||||
# @SUPPORTED_EAPIS: 7 8
|
||||
# @BLURB: Advertise optional functionality that might be useful to users
|
||||
|
||||
case ${EAPI:-0} in
|
||||
0|4|5|6|7|8) ;;
|
||||
case ${EAPI} in
|
||||
7|8) ;;
|
||||
*) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;;
|
||||
esac
|
||||
|
||||
if [[ -z ${_OPTFEATURE_ECLASS} ]]; then
|
||||
_OPTFEATURE_ECLASS=1
|
||||
|
||||
# @ECLASS-VARIABLE: _OPTFEATURE_DEFAULT_HEADER
|
||||
# @ECLASS_VARIABLE: _OPTFEATURE_DEFAULT_HEADER
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Default header printed ahead of optfeature output. Can be overridden
|
||||
@ -27,7 +25,7 @@ _OPTFEATURE_DEFAULT_HEADER="Install additional packages for optional runtime fea
|
||||
|
||||
readonly _OPTFEATURE_DEFAULT_HEADER
|
||||
|
||||
# @ECLASS-VARIABLE: _OPTFEATURE_HEADER
|
||||
# @ECLASS_VARIABLE: _OPTFEATURE_HEADER
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# Default empty. Custom header printed ahead of optfeature output.
|
||||
@ -36,7 +34,7 @@ readonly _OPTFEATURE_DEFAULT_HEADER
|
||||
# dependencies are present.
|
||||
_OPTFEATURE_HEADER=
|
||||
|
||||
# @ECLASS-VARIABLE: _OPTFEATURE_DOHEADER
|
||||
# @ECLASS_VARIABLE: _OPTFEATURE_DOHEADER
|
||||
# @INTERNAL
|
||||
# @DESCRIPTION:
|
||||
# If true, print header ahead of the first optfeature output.
|
||||
|
@ -1,24 +1,23 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# Flatcar: Support EAPI 4 and 5.
|
||||
|
||||
# @ECLASS: virtualx.eclass
|
||||
# @MAINTAINER:
|
||||
# x11@gentoo.org
|
||||
# @AUTHOR:
|
||||
# Original author: Martin Schlemmer <azarah@gentoo.org>
|
||||
# @SUPPORTED_EAPIS: 4 5 6 7 8
|
||||
# @SUPPORTED_EAPIS: 6 7 8
|
||||
# @BLURB: This eclass can be used for packages that need a working X environment to build.
|
||||
|
||||
case ${EAPI} in
|
||||
4|5|6|7|8) ;;
|
||||
6|7|8) ;;
|
||||
*) die "${ECLASS}: EAPI ${EAPI:-0} is not supported." ;;
|
||||
esac
|
||||
|
||||
if [[ ! ${_VIRTUALX_ECLASS} ]]; then
|
||||
_VIRTUALX_ECLASS=1
|
||||
|
||||
# @ECLASS-VARIABLE: VIRTUALX_REQUIRED
|
||||
# @ECLASS_VARIABLE: VIRTUALX_REQUIRED
|
||||
# @PRE_INHERIT
|
||||
# @DESCRIPTION:
|
||||
# Variable specifying the dependency on xorg-server and xhost.
|
||||
@ -29,19 +28,19 @@ _VIRTUALX_ECLASS=1
|
||||
# into "kde? ( )" and add kde into IUSE.
|
||||
: ${VIRTUALX_REQUIRED:=test}
|
||||
|
||||
# @ECLASS-VARIABLE: VIRTUALX_DEPEND
|
||||
# @ECLASS_VARIABLE: VIRTUALX_DEPEND
|
||||
# @OUTPUT_VARIABLE
|
||||
# @DESCRIPTION:
|
||||
# Standard dependencies string that is automatically added to BDEPEND
|
||||
# (in EAPI-6: DEPEND) unless VIRTUALX_REQUIRED is set to "manual".
|
||||
# DEPRECATED: Pre-EAPI-8 you can specify the variable BEFORE inherit
|
||||
# to add more dependencies.
|
||||
[[ ${EAPI} != [4567] ]] && VIRTUALX_DEPEND=""
|
||||
[[ ${EAPI} != [67] ]] && VIRTUALX_DEPEND=""
|
||||
VIRTUALX_DEPEND+="
|
||||
x11-base/xorg-server[xvfb]
|
||||
x11-apps/xhost
|
||||
"
|
||||
[[ ${EAPI} != [4567] ]] && readonly VIRTUALX_DEPEND
|
||||
[[ ${EAPI} != [67] ]] && readonly VIRTUALX_DEPEND
|
||||
|
||||
[[ ${VIRTUALX_COMMAND} ]] && die "VIRTUALX_COMMAND has been removed and is a no-op"
|
||||
|
||||
@ -54,12 +53,12 @@ case ${VIRTUALX_REQUIRED} in
|
||||
*)
|
||||
BDEPEND="${VIRTUALX_REQUIRED}? ( ${VIRTUALX_DEPEND} )"
|
||||
IUSE="${VIRTUALX_REQUIRED}"
|
||||
[[ ${VIRTUALX_REQUIRED} == test ]] &&
|
||||
[[ ${VIRTUALX_REQUIRED} == "test" ]] &&
|
||||
RESTRICT+=" !test? ( test )"
|
||||
;;
|
||||
esac
|
||||
|
||||
[[ ${EAPI} == [456] ]] && DEPEND="${BDEPEND}"
|
||||
[[ ${EAPI} == 6 ]] && DEPEND="${BDEPEND}"
|
||||
|
||||
|
||||
# @FUNCTION: virtx
|
||||
@ -108,68 +107,37 @@ virtx() {
|
||||
|
||||
local i=0
|
||||
local retval=0
|
||||
local OLD_SANDBOX_ON="${SANDBOX_ON}"
|
||||
local XVFB XHOST XDISPLAY
|
||||
local xvfbargs="-screen 0 1280x1024x24 +extension RANDR"
|
||||
XVFB=$(type -p Xvfb) || die
|
||||
XHOST=$(type -p xhost) || die
|
||||
local xvfbargs=( -screen 0 1280x1024x24 +extension RANDR )
|
||||
|
||||
debug-print "${FUNCNAME}: running Xvfb hack"
|
||||
export XAUTHORITY=
|
||||
# The following is derived from Mandrake's hack to allow
|
||||
# compiling without the X display
|
||||
|
||||
einfo "Scanning for an open DISPLAY to start Xvfb ..."
|
||||
# If we are in a chrooted environment, and there is already a
|
||||
# X server started outside of the chroot, Xvfb will fail to start
|
||||
# on the same display (most cases this is :0 ), so make sure
|
||||
# Xvfb is started, else bump the display number
|
||||
#
|
||||
# Azarah - 5 May 2002
|
||||
# GNOME GDM may have started X on DISPLAY :0 with a
|
||||
# lock file /tmp/.X1024-lock, therefore start the search at 1.
|
||||
# Else a leftover /tmp/.X1-lock will prevent finding an available display.
|
||||
XDISPLAY=$(i=1; while [[ -f /tmp/.X${i}-lock ]] ; do ((i++));done; echo ${i})
|
||||
debug-print "${FUNCNAME}: XDISPLAY=${XDISPLAY}"
|
||||
einfo "Starting Xvfb ..."
|
||||
|
||||
# We really do not want SANDBOX enabled here
|
||||
export SANDBOX_ON="0"
|
||||
debug-print "${FUNCNAME}: Xvfb -displayfd 1 ${xvfbargs[*]}"
|
||||
local logfile=${T}/Xvfb.log
|
||||
local pidfile=${T}/Xvfb.pid
|
||||
# NB: bash command substitution blocks until Xvfb prints fd to stdout
|
||||
# and then closes the fd; only then it backgrounds properly
|
||||
export DISPLAY=:$(
|
||||
Xvfb -displayfd 1 "${xvfbargs[@]}" 2>"${logfile}" &
|
||||
echo "$!" > "${pidfile}"
|
||||
)
|
||||
|
||||
debug-print "${FUNCNAME}: ${XVFB} :${XDISPLAY} ${xvfbargs}"
|
||||
${XVFB} :${XDISPLAY} ${xvfbargs} &>/dev/null &
|
||||
sleep 2
|
||||
if [[ ${DISPLAY} == : ]]; then
|
||||
eerror "Xvfb failed to start, reprinting error log"
|
||||
cat "${logfile}"
|
||||
die "Xvfb failed to start"
|
||||
fi
|
||||
|
||||
local start=${XDISPLAY}
|
||||
while [[ ! -f /tmp/.X${XDISPLAY}-lock ]]; do
|
||||
# Stop trying after 15 tries
|
||||
if ((XDISPLAY - start > 15)) ; then
|
||||
eerror "'${XVFB} :${XDISPLAY} ${xvfbargs}' returns:"
|
||||
echo
|
||||
${XVFB} :${XDISPLAY} ${xvfbargs}
|
||||
echo
|
||||
eerror "If possible, correct the above error and try your emerge again."
|
||||
die "Unable to start Xvfb"
|
||||
fi
|
||||
((XDISPLAY++))
|
||||
debug-print "${FUNCNAME}: ${XVFB} :${XDISPLAY} ${xvfbargs}"
|
||||
${XVFB} :${XDISPLAY} ${xvfbargs} &>/dev/null &
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# Now enable SANDBOX again if needed.
|
||||
export SANDBOX_ON="${OLD_SANDBOX_ON}"
|
||||
|
||||
einfo "Starting Xvfb on \$DISPLAY=${XDISPLAY} ..."
|
||||
|
||||
export DISPLAY=:${XDISPLAY}
|
||||
# Do not break on error, but setup $retval, as we need
|
||||
# to kill Xvfb
|
||||
# Do not break on error, but setup $retval, as we need to kill Xvfb
|
||||
einfo "Xvfb started on DISPLAY=${DISPLAY}"
|
||||
debug-print "${FUNCNAME}: $@"
|
||||
nonfatal "$@"
|
||||
retval=$?
|
||||
|
||||
# Now kill Xvfb
|
||||
kill $(cat /tmp/.X${XDISPLAY}-lock)
|
||||
kill "$(<"${pidfile}")"
|
||||
|
||||
# die if our command failed
|
||||
[[ ${retval} -ne 0 ]] && die "Failed to run '$@'"
|
||||
|
Loading…
Reference in New Issue
Block a user