diff options
author | Repository mirror & CI <repomirrorci@gentoo.org> | 2022-04-12 06:05:10 +0000 |
---|---|---|
committer | Repository mirror & CI <repomirrorci@gentoo.org> | 2022-04-12 06:05:10 +0000 |
commit | 86307c8b00d728d5cd59d9505d535744b11bb882 (patch) | |
tree | 18b010dc2cb1eff1601a50a40c6558bf9e81d6d5 | |
parent | 2022-04-12 03:34:29 UTC (diff) | |
parent | sys-apps/coreutils: add 9.0_p20220409 (unkeyworded) (diff) | |
download | gentoo-86307c8b00d728d5cd59d9505d535744b11bb882.tar.gz gentoo-86307c8b00d728d5cd59d9505d535744b11bb882.tar.bz2 gentoo-86307c8b00d728d5cd59d9505d535744b11bb882.zip |
Merge updates from master
-rw-r--r-- | dev-ruby/nokogiri/Manifest | 4 | ||||
-rw-r--r-- | dev-ruby/nokogiri/nokogiri-1.11.7.ebuild | 107 | ||||
-rw-r--r-- | dev-ruby/nokogiri/nokogiri-1.13.1.ebuild | 96 | ||||
-rw-r--r-- | dev-ruby/nokogiri/nokogiri-1.13.4.ebuild (renamed from dev-ruby/nokogiri/nokogiri-1.13.0.ebuild) | 13 | ||||
-rw-r--r-- | eclass/autotools.eclass | 8 | ||||
-rw-r--r-- | sys-apps/coreutils/Manifest | 2 | ||||
-rw-r--r-- | sys-apps/coreutils/coreutils-9.0_p20220409.ebuild | 249 |
7 files changed, 262 insertions, 217 deletions
diff --git a/dev-ruby/nokogiri/Manifest b/dev-ruby/nokogiri/Manifest index 15f1fb85ae4d..77c89c754dfb 100644 --- a/dev-ruby/nokogiri/Manifest +++ b/dev-ruby/nokogiri/Manifest @@ -1,5 +1,3 @@ -DIST nokogiri-1.11.7-git.tgz 5871407 BLAKE2B c0449b5cb8210d22be31f1f9a43c0c13c7ab21feae2d731bf30475fc21c69a3928395109936b9ff242a89da424a5192c8a8cb0ede9d05d6d9ac16c1d6e5a7f63 SHA512 f355185f490e0ce73fdfb496f49e36b39c89835ebef2cbe3aecbfc5aceb5a9757dc07738a709059c3e22b5808fac11e7b340b7ebbb3b2c1b5ea3df8aff0db131 DIST nokogiri-1.12.5-git.tgz 6158880 BLAKE2B 994fd89c5163d92110de40e2dc654698b11d5a18524cc4b7b668ec1475e7167014e1c7604932686e6ad888f352b04ac26a7fbe526d814b20e686c5d9da95c5df SHA512 36d233df250213c4614c34d045c4fbea099e81e991a6da49067c165bc95f36b281c58cc79deb3b6a8aaccc50743a79efa27969e067cc2b546bef7615b139d79b -DIST nokogiri-1.13.0-git.tgz 6188433 BLAKE2B ec603e4202b03cc74ce73c540cfccab51f0910b24a3cde0ecbc6267a83c0c4898bc40614261727f7c7e52561d0dec679e00d97a9a0066ac436037a1681a4125b SHA512 f11169ab0dfec9b16e9fc32c066910dcc71325795283fac1372a67383535ddfd09bf342e2a82b129b71c058153f338cba30000ef16f85225f24b6d0c769c98cf -DIST nokogiri-1.13.1-git.tgz 6190499 BLAKE2B daea484ee0e5bff581ae67528f1688002f1e2f550eb55e3164b631f9e87b188ec4152347aaa0ae6253feafbdae9182c54c92cb709c223ce04120ddd1b340cd17 SHA512 febb7b8a701c9be4f7b60a8b43bc24d17a37d39a8557ea4fc76d1490e7f9973d2a4516560f3335ba5d2405ae487e040e47fe24387a25e6c170e34719e9dd230c DIST nokogiri-1.13.3-git.tgz 6187128 BLAKE2B 7ab47b7e5d87a83eeaf9c5e10684199f67be1af80a5fa5d616cb4a3ffe91a9598be0576dc23d8f0cc6d143f8ce601a868e44af6411615f377cd43773659b25b8 SHA512 69666c1f62124a20fcfe3fa58091a463ed64d5a9c98355572c5822944ba6992fe1e150b694fa883d23605999f14065c5c59d7a34e2273041d9de416e42d75fb6 +DIST nokogiri-1.13.4-git.tgz 6249271 BLAKE2B bc8569a0c80e4efcedd6c5bb8a46c8504cc33ec3d2acdcefe2718047ffabef9404c76003cd279ac55e5a5fb17243af12c335b7d9e300b90d8a97e84015cf92bc SHA512 cca3e8558f8739cca2424e461a5e048a3675a23bcb6549f1c71ecfea0729859cda84ef3bf09a81d2b419e1a7b8ff2616a8dd84ac12f6e1f32b9626a0bd3e1bc4 diff --git a/dev-ruby/nokogiri/nokogiri-1.11.7.ebuild b/dev-ruby/nokogiri/nokogiri-1.11.7.ebuild deleted file mode 100644 index 4dac40ee475b..000000000000 --- a/dev-ruby/nokogiri/nokogiri-1.11.7.ebuild +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -USE_RUBY="ruby25 ruby26 ruby27 ruby30" - -RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md ROADMAP.md SECURITY.md" - -RUBY_FAKEGEM_EXTRAINSTALL="ext" - -RUBY_FAKEGEM_GEMSPEC="nokogiri.gemspec" - -RUBY_FAKEGEM_EXTENSIONS=(ext/nokogiri/extconf.rb) - -inherit ruby-fakegem multilib - -DESCRIPTION="Nokogiri is an HTML, XML, SAX, and Reader parser" -HOMEPAGE="https://www.nokogiri.org/" -LICENSE="MIT" -SRC_URI="https://github.com/sparklemotion/nokogiri/archive/v${PV}.tar.gz -> ${P}-git.tgz" - -KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -SLOT="0" -IUSE="" - -RDEPEND="${RDEPEND} - >=dev-libs/libxml2-2.9.12:= - >=dev-libs/libxslt-1.1.34 - sys-libs/zlib - virtual/libiconv" -DEPEND="${DEPEND} - >=dev-libs/libxml2-2.9.12 - >=dev-libs/libxslt-1.1.34 - sys-libs/zlib - virtual/libiconv" - -ruby_add_rdepend ">=dev-ruby/racc-1.4:0" - -ruby_add_bdepend " - >=dev-ruby/pkg-config-1.1.7 - >=dev-ruby/rexical-1.0.7 - dev-ruby/rdoc - test? ( dev-ruby/minitest )" - -all_ruby_prepare() { - sed -i \ - -e '/tasks\/cross_compile/s:^:#:' \ - -e '/:test.*prerequisites/s:^:#:' \ - -e '/license/ s:^:#:' \ - Rakefile || die - # Remove the cross compilation options since they interfere with - # native building. - sed -i -e 's/cross_compile = true/cross_compile = false/' Rakefile || die - sed -i -e '/cross_config_options/d' Rakefile || die - - sed -e '/simplecov/,/^end/ s:^:#:' \ - -e '/reporters/I s:^:#:' \ - -i test/helper.rb || die - - sed -i -e '/mini_portile2/ s:^:#:' ${RUBY_FAKEGEM_GEMSPEC} || die - - # Account for fix making it upstream into our libxml2 system version - sed -i -e '116 s/using_packaged/using_system/ ; 131 s/if/if false and /' test/html/test_comments.rb || die -} - -each_ruby_configure() { - NOKOGIRI_USE_SYSTEM_LIBRARIES=true \ - ${RUBY} -Cext/${PN} extconf.rb \ - --with-zlib-include="${EPREFIX}"/usr/include \ - --with-zlib-lib="${EPREFIX}"/$(get_libdir) \ - --with-iconv-include="${EPREFIX}"/usr/include \ - --with-iconv-lib="${EPREFIX}"/$(get_libdir) \ - --with-xml2-include="${EPREFIX}"/usr/include/libxml2 \ - --with-xml2-lib="${EPREFIX}"/usr/$(get_libdir) \ - --with-xslt-dir="${EPREFIX}"/usr \ - --with-iconvlib=iconv \ - || die "extconf.rb failed" -} - -each_ruby_compile() { - if ! [[ -f lib/nokogiri/css/tokenizer.rb ]]; then - ${RUBY} -S rake lib/nokogiri/css/tokenizer.rb || die "rexical failed" - fi - - if ! [[ -f lib/nokogiri/css/parser.rb ]]; then - ${RUBY} -S rake lib/nokogiri/css/parser.rb || die "racc failed" - fi - - emake -Cext/${PN} \ - V=1 \ - CFLAGS="${CFLAGS} -fPIC" \ - archflag="${LDFLAGS}" || die "make extension failed" - cp -l ext/${PN}/${PN}$(get_modname) lib/${PN}/ || die -} - -each_ruby_test() { - ${RUBY} -Ilib:.:test -e 'Dir["test/**/test_*.rb"].each {|f| require f}' || die -} - -each_ruby_install() { - each_fakegem_install - - # Clean up "ext" directory before installing it. nokogumbo expects - # the header files and shared object to be in ext. - rm -rf ext/java ext/nokogiri/*.o ext/nokogiri/{mkmf.log,Makefile} || die -} diff --git a/dev-ruby/nokogiri/nokogiri-1.13.1.ebuild b/dev-ruby/nokogiri/nokogiri-1.13.1.ebuild deleted file mode 100644 index 84744c5cfcbb..000000000000 --- a/dev-ruby/nokogiri/nokogiri-1.13.1.ebuild +++ /dev/null @@ -1,96 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -USE_RUBY="ruby26 ruby27 ruby30" - -RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md ROADMAP.md SECURITY.md" - -RUBY_FAKEGEM_GEMSPEC="nokogiri.gemspec" - -RUBY_FAKEGEM_EXTENSIONS=(ext/nokogiri/extconf.rb) - -inherit ruby-fakegem multilib - -DESCRIPTION="Nokogiri is an HTML, XML, SAX, and Reader parser" -HOMEPAGE="https://www.nokogiri.org/" -LICENSE="MIT" -SRC_URI="https://github.com/sparklemotion/nokogiri/archive/v${PV}.tar.gz -> ${P}-git.tgz" - -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" -SLOT="0" -IUSE="" - -RDEPEND="${RDEPEND} - >=dev-libs/libxml2-2.9.12:= - >=dev-libs/libxslt-1.1.34 - sys-libs/zlib - virtual/libiconv" -DEPEND="${DEPEND} - >=dev-libs/libxml2-2.9.12 - >=dev-libs/libxslt-1.1.34 - sys-libs/zlib - virtual/libiconv" - -ruby_add_rdepend ">=dev-ruby/racc-1.4:0" - -ruby_add_bdepend " - dev-ruby/mini_portile2:2.7 - >=dev-ruby/pkg-config-1.1.7 - >=dev-ruby/rexical-1.0.7 - dev-ruby/rdoc - test? ( dev-ruby/minitest )" - -all_ruby_prepare() { - sed -i \ - -e '/tasks\/cross_compile/s:^:#:' \ - -e '/:test.*prerequisites/s:^:#:' \ - -e '/license/ s:^:#:' \ - Rakefile || die - # Remove the cross compilation options since they interfere with - # native building. - sed -i -e 's/cross_compile = true/cross_compile = false/' Rakefile || die - sed -i -e '/cross_config_options/d' Rakefile || die - - sed -e '/simplecov/,/^end/ s:^:#:' \ - -e '/reporters/I s:^:#:' \ - -i test/helper.rb || die - - # There is no need for mini_portile2 to be a runtime dependency on Gentoo - sed -i -e '/mini_portile2/ s:^:#:' ${RUBY_FAKEGEM_GEMSPEC} || die -} - -each_ruby_configure() { - NOKOGIRI_USE_SYSTEM_LIBRARIES=true \ - ${RUBY} -Cext/${PN} extconf.rb \ - --with-zlib-include="${EPREFIX}"/usr/include \ - --with-zlib-lib="${EPREFIX}"/$(get_libdir) \ - --with-iconv-include="${EPREFIX}"/usr/include \ - --with-iconv-lib="${EPREFIX}"/$(get_libdir) \ - --with-xml2-include="${EPREFIX}"/usr/include/libxml2 \ - --with-xml2-lib="${EPREFIX}"/usr/$(get_libdir) \ - --with-xslt-dir="${EPREFIX}"/usr \ - --with-iconvlib=iconv \ - || die "extconf.rb failed" -} - -each_ruby_compile() { - if ! [[ -f lib/nokogiri/css/tokenizer.rb ]]; then - ${RUBY} -S rake lib/nokogiri/css/tokenizer.rb || die "rexical failed" - fi - - if ! [[ -f lib/nokogiri/css/parser.rb ]]; then - ${RUBY} -S rake lib/nokogiri/css/parser.rb || die "racc failed" - fi - - emake -Cext/${PN} \ - V=1 \ - CFLAGS="${CFLAGS} -fPIC" \ - archflag="${LDFLAGS}" || die "make extension failed" - cp -l ext/${PN}/${PN}$(get_modname) lib/${PN}/ || die -} - -each_ruby_test() { - ${RUBY} -Ilib:.:test -e 'Dir["test/**/test_*.rb"].each {|f| require f}' || die -} diff --git a/dev-ruby/nokogiri/nokogiri-1.13.0.ebuild b/dev-ruby/nokogiri/nokogiri-1.13.4.ebuild index 84744c5cfcbb..c4fd1981823b 100644 --- a/dev-ruby/nokogiri/nokogiri-1.13.0.ebuild +++ b/dev-ruby/nokogiri/nokogiri-1.13.4.ebuild @@ -3,7 +3,7 @@ EAPI=8 -USE_RUBY="ruby26 ruby27 ruby30" +USE_RUBY="ruby26 ruby27 ruby30 ruby31" RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md ROADMAP.md SECURITY.md" @@ -23,21 +23,20 @@ SLOT="0" IUSE="" RDEPEND="${RDEPEND} - >=dev-libs/libxml2-2.9.12:= - >=dev-libs/libxslt-1.1.34 + >=dev-libs/libxml2-2.9.13:= + >=dev-libs/libxslt-1.1.35 sys-libs/zlib virtual/libiconv" DEPEND="${DEPEND} - >=dev-libs/libxml2-2.9.12 - >=dev-libs/libxslt-1.1.34 + >=dev-libs/libxml2-2.9.13 + >=dev-libs/libxslt-1.1.35 sys-libs/zlib virtual/libiconv" ruby_add_rdepend ">=dev-ruby/racc-1.4:0" ruby_add_bdepend " - dev-ruby/mini_portile2:2.7 - >=dev-ruby/pkg-config-1.1.7 + dev-ruby/mini_portile2:2.8 >=dev-ruby/rexical-1.0.7 dev-ruby/rdoc test? ( dev-ruby/minitest )" diff --git a/eclass/autotools.eclass b/eclass/autotools.eclass index 8a44aae417db..30bc0e18fd3a 100644 --- a/eclass/autotools.eclass +++ b/eclass/autotools.eclass @@ -13,13 +13,13 @@ # Note: We require GNU m4, as does autoconf. So feel free to use any features # from the GNU version of m4 without worrying about other variants (i.e. BSD). -if [[ ${__AUTOTOOLS_AUTO_DEPEND+set} == "set" ]] ; then +if [[ ${_AUTOTOOLS_AUTO_DEPEND+set} == "set" ]] ; then # See if we were included already, but someone changed the value # of AUTOTOOLS_AUTO_DEPEND on us. We could reload the entire # eclass at that point, but that adds overhead, and it's trivial # to re-order inherit in eclasses/ebuilds instead. #409611 - if [[ ${__AUTOTOOLS_AUTO_DEPEND} != ${AUTOTOOLS_AUTO_DEPEND} ]] ; then - die "AUTOTOOLS_AUTO_DEPEND changed value between inherits; please inherit ${ECLASS} first! ${__AUTOTOOLS_AUTO_DEPEND} -> ${AUTOTOOLS_AUTO_DEPEND}" + if [[ ${_AUTOTOOLS_AUTO_DEPEND} != ${AUTOTOOLS_AUTO_DEPEND} ]] ; then + die "AUTOTOOLS_AUTO_DEPEND changed value between inherits; please inherit ${ECLASS} first! ${_AUTOTOOLS_AUTO_DEPEND} -> ${AUTOTOOLS_AUTO_DEPEND}" fi fi @@ -134,7 +134,7 @@ if [[ ${AUTOTOOLS_AUTO_DEPEND} != "no" ]] ; then *) BDEPEND=${AUTOTOOLS_DEPEND} ;; esac fi -__AUTOTOOLS_AUTO_DEPEND=${AUTOTOOLS_AUTO_DEPEND} # See top of eclass +_AUTOTOOLS_AUTO_DEPEND=${AUTOTOOLS_AUTO_DEPEND} # See top of eclass unset _automake_atom _autoconf_atom diff --git a/sys-apps/coreutils/Manifest b/sys-apps/coreutils/Manifest index e13c336609db..fd48060a5f87 100644 --- a/sys-apps/coreutils/Manifest +++ b/sys-apps/coreutils/Manifest @@ -2,3 +2,5 @@ DIST coreutils-8.30-patches-01.tar.xz 5788 BLAKE2B a41511ce39ac570cb14b7f12d125e DIST coreutils-8.32.tar.xz 5547836 BLAKE2B 0ad99c176c19ec214fcfd0845523e5362f0151827707c759bd46c0fe8d2501c6ad1c29c5b71266f6525857bc0d56c472db0d7fe29953b6c65e2e6c76bdf3c515 SHA512 1c8f3584efd61b4b02e7ac5db8e103b63cfb2063432caaf1e64cb2dcc56d8c657d1133bbf10bd41468d6a1f31142e6caa81d16ae68fa3e6e84075c253613a145 DIST coreutils-9.0.tar.xz 5612752 BLAKE2B 59617cd25fd4c70f51bfbef851bd83e73f9c9ba5c11eb539f7f75c0184d55832e004b28e9268fb8064db145cb071ead2b9c0c3346bc35a11934ffe1b15bf17ac SHA512 9be08212891dbf48e5b22e7689dc27dac50df4631ebf29313470b72b7921f0b2aa5242917d05587785358495ca56e3b21f5b3ca81043d53cab92354da6c53a03 DIST coreutils-9.0.tar.xz.sig 833 BLAKE2B 1393f60361524e0a6eab5631aada50ee4124bd0e9ff3020b7593914a888f0edaec78339caee28847e85e1a1af6ea519ab9fad208db605f0c6b8a4e7ab19853a8 SHA512 1a368c92ddb57f386c188ef72f1edad7e217c983c296f9be0d27ffbaa673bf2f004c321fbaff8ae6cdebf6ffef402e3e8c69e6c8e30aca988e0ea38f2296cf30 +DIST coreutils-9.0_p20220409.tar.xz 5689096 BLAKE2B d9b037947362f6823339fc234051886370eb9d2cbb19b15006e6a5e44db80d259159ffe6255c42565f02a2dcb79499af9f57c3ed5c21fd1ece1589da8109cd74 SHA512 7f8fda5d3e65768f9b0aa5da7bbc84ac1e24a8e87a840bb9a013dd8875346b5e9ccc3613de95478c87b859dd2a454651768852cbd67e1466ec3f6d7fef4fe938 +DIST coreutils-9.0_p20220409.tar.xz.sig 833 BLAKE2B 8de0a283394dfc80b5cde5a051190af3c9fe5344881db3d2eacb2b3ae7a0cd037513a610dc564d37a055af8a2d823cdc7d6a0999bcc3a0c688d53570d792fe46 SHA512 72c491ec43d3deed3d291bdae13fb54a6b1ec2d37233f4a115075a60a19ec5b522a414b2e1768e3f21e66152a031777c8bd435624fd0171eb9257de20b3d11dc diff --git a/sys-apps/coreutils/coreutils-9.0_p20220409.ebuild b/sys-apps/coreutils/coreutils-9.0_p20220409.ebuild new file mode 100644 index 000000000000..8460bd016468 --- /dev/null +++ b/sys-apps/coreutils/coreutils-9.0_p20220409.ebuild @@ -0,0 +1,249 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/coreutils.asc +inherit flag-o-matic python-any-r1 toolchain-funcs verify-sig + +PATCH="${PN}-8.30-patches-01" +DESCRIPTION="Standard GNU utilities (chmod, cp, dd, ls, sort, tr, head, wc, who,...)" +HOMEPAGE="https://www.gnu.org/software/coreutils/" + +if [[ ${PV} == *_p* ]] ; then + # Note: could put this in devspace, but if it's gone, we don't want + # it in tree anyway. It's just for testing. + MY_SNAPSHOT="$(ver_cut 1-2).193-54bec" + SRC_URI="https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz -> ${P}.tar.xz" + SRC_URI+=" verify-sig? ( https://www.pixelbeat.org/cu/coreutils-${MY_SNAPSHOT}.tar.xz.sig -> ${P}.tar.xz.sig )" + S="${WORKDIR}"/${PN}-${MY_SNAPSHOT} +else + SRC_URI="mirror://gnu/${PN}/${P}.tar.xz + !vanilla? ( + mirror://gentoo/${PATCH}.tar.xz + https://dev.gentoo.org/~polynomial-c/dist/${PATCH}.tar.xz + ) + verify-sig? ( mirror://gnu/${PN}/${P}.tar.xz.sig )" + + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux" +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="acl caps gmp hostname kill multicall nls selinux +split-usr static test vanilla xattr" +RESTRICT="!test? ( test )" + +LIB_DEPEND="acl? ( sys-apps/acl[static-libs] ) + caps? ( sys-libs/libcap ) + gmp? ( dev-libs/gmp:=[static-libs] ) + xattr? ( sys-apps/attr[static-libs] )" +RDEPEND="!static? ( ${LIB_DEPEND//\[static-libs]} ) + selinux? ( sys-libs/libselinux ) + nls? ( virtual/libintl )" +DEPEND=" + ${RDEPEND} + static? ( ${LIB_DEPEND} ) +" +BDEPEND=" + app-arch/xz-utils + dev-lang/perl + test? ( + dev-lang/perl + dev-perl/Expect + dev-util/strace + ${PYTHON_DEPS} + ) + verify-sig? ( sec-keys/openpgp-keys-coreutils ) +" +RDEPEND+=" + hostname? ( !sys-apps/net-tools[hostname] ) + kill? ( + !sys-apps/util-linux[kill] + !sys-process/procps[kill] + ) + !app-misc/realpath + !<sys-apps/util-linux-2.13 + !<sys-apps/sandbox-2.10-r4 + !sys-apps/stat + !net-mail/base64 + !sys-apps/mktemp + !<app-forensics/tct-1.18-r1 + !<net-fs/netatalk-2.0.3-r4" + +pkg_setup() { + if use test ; then + python-any-r1_pkg_setup + fi +} + +src_unpack() { + if use verify-sig ; then + # Needed for downloaded patch (which is unsigned, which is fine) + verify-sig_verify_detached "${DISTDIR}"/${P}.tar.xz{,.sig} + fi + + default +} + +src_prepare() { + local PATCHES=( + # Upstream patches + ) + + if [[ ${PV} != *_p* ]] && ! use vanilla ; then + PATCHES+=( "${WORKDIR}"/patch ) + PATCHES+=( "${FILESDIR}"/${PN}-8.32-sandbox-env-test.patch ) + PATCHES+=( "${FILESDIR}"/${PN}-9.0-r1-0001-dircolors-consider-COLORTERM-sufficient-for-color.patch ) + fi + + default + + # Since we've patched many .c files, the make process will try to + # re-build the manpages by running `./bin --help`. When doing a + # cross-compile, we can't do that since 'bin' isn't a native bin. + # + # Also, it's not like we changed the usage on any of these things, + # so let's just update the timestamps and skip the help2man step. + set -- man/*.x + touch ${@/%x/1} || die + + # Avoid perl dep for compiled in dircolors default (bug #348642) + if ! has_version dev-lang/perl ; then + touch src/dircolors.h || die + touch ${@/%x/1} || die + fi +} + +src_configure() { + local myconf=( + --with-packager="Gentoo" + --with-packager-version="${PVR} (p${PATCH_VER:-0})" + --with-packager-bug-reports="https://bugs.gentoo.org/" + # kill/uptime - procps + # groups/su - shadow + # hostname - net-tools + --enable-install-program="arch,$(usev hostname),$(usev kill)" + --enable-no-install-program="groups,$(usev !hostname),$(usev !kill),su,uptime" + --enable-largefile + $(usex caps '' --disable-libcap) + $(use_enable nls) + $(use_enable acl) + $(use_enable multicall single-binary) + $(use_enable xattr) + $(use_with gmp libgmp) + ) + + if use gmp ; then + myconf+=( --with-libgmp-prefix="${ESYSROOT}"/usr ) + fi + + if tc-is-cross-compiler && [[ ${CHOST} == *linux* ]] ; then + # bug #311569 + export fu_cv_sys_stat_statfs2_bsize=yes + # bug #416629 + export gl_cv_func_realpath_works=yes + fi + + # bug #409919 + export gl_cv_func_mknod_works=yes + + if use static ; then + append-ldflags -static + # bug #321821 + sed -i '/elf_sys=yes/s:yes:no:' configure || die + fi + + if ! use selinux ; then + # bug #301782 + export ac_cv_{header_selinux_{context,flash,selinux}_h,search_setfilecon}=no + fi + + econf "${myconf[@]}" +} + +src_test() { + # Known to fail with FEATURES=usersandbox (bug #439574): + # - tests/du/long-from-unreadable.sh} (bug #413621) + # - tests/rm/deep-2.sh (bug #413621) + # - tests/dd/no-allocate.sh (bug #629660) + if has usersandbox ${FEATURES} ; then + ewarn "You are emerging ${P} with 'usersandbox' enabled." \ + "Expect some test failures or emerge with 'FEATURES=-usersandbox'!" + fi + + # Non-root tests will fail if the full path isn't + # accessible to non-root users + chmod -R go-w "${WORKDIR}" || die + chmod a+rx "${WORKDIR}" || die + + # coreutils tests like to do `mount` and such with temp dirs, + # so make sure: + # - /etc/mtab is writable (bug #265725) + # - /dev/loop* can be mounted (bug #269758) + mkdir -p "${T}"/mount-wrappers || die + mkwrap() { + local w ww + for w in "${@}" ; do + ww="${T}/mount-wrappers/${w}" + cat <<-EOF > "${ww}" + #!${EPREFIX}/bin/sh + exec env SANDBOX_WRITE="\${SANDBOX_WRITE}:/etc/mtab:/dev/loop" $(type -P ${w}) "\$@" + EOF + chmod a+rx "${ww}" || die + done + } + mkwrap mount umount + + addwrite /dev/full + #export RUN_EXPENSIVE_TESTS="yes" + #export FETISH_GROUPS="portage wheel" + env PATH="${T}/mount-wrappers:${PATH}" \ + emake -j1 -k check +} + +src_install() { + default + + insinto /etc + newins src/dircolors.hin DIR_COLORS + + if use split-usr ; then + cd "${ED}"/usr/bin || die + dodir /bin + + # Move critical binaries into /bin (required by FHS) + local fhs="cat chgrp chmod chown cp date dd df echo false ln ls + mkdir mknod mv pwd rm rmdir stty sync true uname" + mv ${fhs} ../../bin/ || die "Could not move FHS bins!" + + if use hostname ; then + mv hostname ../../bin/ || die + fi + + if use kill ; then + mv kill ../../bin/ || die + fi + + # Move critical binaries into /bin (common scripts) + # (Why are these required for booting?) + local com="basename chroot cut dir dirname du env expr head mkfifo + mktemp readlink seq sleep sort tail touch tr tty vdir wc yes" + mv ${com} ../../bin/ || die "Could not move common bins!" + + # Create a symlink for uname in /usr/bin/ since autotools require it. + # (Other than uname, we need to figure out why we are + # creating symlinks for these in /usr/bin instead of leaving + # the files there in the first place...) + local x + for x in ${com} uname ; do + dosym ../../bin/${x} /usr/bin/${x} + done + fi +} + +pkg_postinst() { + ewarn "Make sure you run 'hash -r' in your active shells." + ewarn "You should also re-source your shell settings for LS_COLORS" + ewarn " changes, such as: source /etc/profile" +} |