diff options
Diffstat (limited to 'app-portage')
-rw-r--r-- | app-portage/Manifest.gz | bin | 10072 -> 10224 bytes | |||
-rw-r--r-- | app-portage/emerge-delta-webrsync/Manifest | 2 | ||||
-rw-r--r-- | app-portage/emerge-delta-webrsync/emerge-delta-webrsync-3.7.5.ebuild | 4 | ||||
-rw-r--r-- | app-portage/gentoolkit/Manifest | 10 | ||||
-rw-r--r-- | app-portage/gentoolkit/gentoolkit-0.3.3.ebuild | 70 | ||||
-rw-r--r-- | app-portage/gentoolkit/gentoolkit-0.4.0.ebuild | 74 | ||||
-rw-r--r-- | app-portage/gentoolkit/gentoolkit-0.4.3.ebuild (renamed from app-portage/gentoolkit/gentoolkit-0.4.1.ebuild) | 15 | ||||
-rw-r--r-- | app-portage/gentoolkit/gentoolkit-9999.ebuild | 34 | ||||
-rw-r--r-- | app-portage/gpyutils/Manifest | 2 | ||||
-rw-r--r-- | app-portage/gpyutils/files/implementations.txt | 6 | ||||
-rw-r--r-- | app-portage/pram/Manifest | 2 | ||||
-rw-r--r-- | app-portage/pram/pram-2-r1.ebuild | 24 | ||||
-rw-r--r-- | app-portage/prefix-toolkit/Manifest | 2 | ||||
-rw-r--r-- | app-portage/prefix-toolkit/metadata.xml | 8 | ||||
-rw-r--r-- | app-portage/prefix-toolkit/prefix-toolkit-0.ebuild | 565 |
15 files changed, 638 insertions, 180 deletions
diff --git a/app-portage/Manifest.gz b/app-portage/Manifest.gz Binary files differindex 4888e2911a23..923704be5a14 100644 --- a/app-portage/Manifest.gz +++ b/app-portage/Manifest.gz diff --git a/app-portage/emerge-delta-webrsync/Manifest b/app-portage/emerge-delta-webrsync/Manifest index 4f67ceb0c5bd..370241403154 100644 --- a/app-portage/emerge-delta-webrsync/Manifest +++ b/app-portage/emerge-delta-webrsync/Manifest @@ -5,5 +5,5 @@ DIST emerge-delta-webrsync-3.7.5 23446 BLAKE2B e4cecea69d4ddc3eff21130b45661bb94 EBUILD emerge-delta-webrsync-3.7.2-r1.ebuild 1223 BLAKE2B eb7b371e2584645e623e31fbc395f52dee2754825165032406ccfa3c4b505d826f1cec1d90792391612b75983b2400d09bb58cba66c8b2726e7bd553ac65af33 SHA512 84208b781a603717b8f22f1a111949279aeb44b693fedb7d0e823f9dbd6c8a21037f353f8ea12c2d7694cb484f20af448688a2f75976288ac73afd9213a3c728 EBUILD emerge-delta-webrsync-3.7.3-r1.ebuild 1152 BLAKE2B 38658bc218767c81baefae62af6f04dba9f609a3ca39242517fe81fed033c07109100c22759e4d0e1c00c3cc290d05abe2d15426be8fae96fcf0e2a720f1e64b SHA512 03e4b5228f1ded39ae9e3047455e3cbf7a13a15f3b6ada9a0d95fc37e9c59461042313f82ccd47b73b2e2d9fed31ecc4a6625dff68e1137fbd8a32748afc59c6 EBUILD emerge-delta-webrsync-3.7.4.ebuild 1152 BLAKE2B feb8e81fb9b46d76d8ce5c760c83e072cb5dd65e84b93dc89a23af5ff5e0196ddb0dff4a354bb3942dd22b26f8c6a7b3884147299b7938d254d028dbe31630e6 SHA512 1ac9c635ca5cabd50466aaefba4d5aae423938576da4c3e444f81475ee550f7f27fa8dcddecc41702f097077d48a3db1514bf1b2e1f7104a5c5782fb90ceb091 -EBUILD emerge-delta-webrsync-3.7.5.ebuild 1152 BLAKE2B 970369c7768b17e3dc33d9f61be1e87da68e4966d56fbf36884589d0fc6fb5288b2e4ce2a4a6ceff17d3f04583950a62d516130501849ee58ebc24aa79b91dce SHA512 9a31575f7aa99e06526dbc07192c08e9694d5446c913e2e6cabdee44d4e95c67b9a69e69a9786217eb3faf80782584d57d165bd449fb9d85d6f298bb380bc3ab +EBUILD emerge-delta-webrsync-3.7.5.ebuild 1146 BLAKE2B 9df676ed89090592fd0f90c09f2b5e0f7fd9b50fa278b25c9c5b80385cd4e44dea114511bb1d545ac6198c0fc37ecf6299f3cd24c4e9557917143c00abeae667 SHA512 1557186f9ab35f3dbe1045e440c8c05c5a87d4021cd98ef9e194813729a2b005286e7104f90620f687e8e4609f218ff43b308945804a8dcd4fd0bacbe5b980dd MISC metadata.xml 294 BLAKE2B a26f2f113f9a9b66edbc88a0ab73a5da655fd240a97668cf1884e9192c4425cc478ab3f187ae1ba12b351c3de5b79d37b771e139cc51909d683decdc945454f5 SHA512 c4cdfd8350418cd0c231874c709d1fdf2c8132309dcd621682ebb77abd77ed57ce0d484a387b75f4762e58193150ca744e51b560d9b5a8cf631b4faef1465555 diff --git a/app-portage/emerge-delta-webrsync/emerge-delta-webrsync-3.7.5.ebuild b/app-portage/emerge-delta-webrsync/emerge-delta-webrsync-3.7.5.ebuild index aa4a0ca9e919..174c9d04a3d8 100644 --- a/app-portage/emerge-delta-webrsync/emerge-delta-webrsync-3.7.5.ebuild +++ b/app-portage/emerge-delta-webrsync/emerge-delta-webrsync-3.7.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -7,7 +7,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage" SRC_URI="https://gitweb.gentoo.org/proj/portage.git/plain/misc/emerge-delta-webrsync?id=b8c070708bbc6d0db544d4b04b530d6d03d39bb5 -> ${P}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~sparc ~x86 ~x86-fbsd" +KEYWORDS="alpha amd64 ~hppa ~ia64 ~mips ~ppc ~sparc x86 ~x86-fbsd" IUSE="" DEPEND="" diff --git a/app-portage/gentoolkit/Manifest b/app-portage/gentoolkit/Manifest index 1582e9aab5b0..70757c4c4f9a 100644 --- a/app-portage/gentoolkit/Manifest +++ b/app-portage/gentoolkit/Manifest @@ -1,10 +1,6 @@ -DIST gentoolkit-0.3.3.tar.gz 3197037 BLAKE2B c2a45971f1f25e3008422b63b59042ca0f2b170b98e10fc4e449ee6be76c0422469cd8bce1b744830404d5a26ba87ded47aab679069965eea266719249475923 SHA512 ad142c2c66e7f7a2e4184c8f95e394ee783cd57808e6254e9f5df0f3f60ad842042f773716ca0fd6d7545bb8a2d11c1c167a4ec471eb3238c8ee3a519f70a691 -DIST gentoolkit-0.4.0.tar.gz 3215377 BLAKE2B 404f81e2f5bce5da4df122156bc76d225497456ad8ec78a50c41e1183390f8e452a6ce8a3473b5371a6712ce1599be33034c5eed64a1852d116c745bc5a775f4 SHA512 6cf693c588d4a2f5bd06fff4e78ef98007e613348048ec993c5430e168baef6c1da01e1843903f3e87ca8e47dd1ffb207acccbc5c0e881fa3093a7880fec9a56 -DIST gentoolkit-0.4.1.tar.gz 3214527 BLAKE2B 1c6be826a099ba4d18ac8fa0bb38808cbf30ee1d93d26c26965d7fa332e6a87f8eee475126f56d68e2a1c0ff04f258f79f5684551b2fe5947d8ac6f6ff3e7079 SHA512 52b665e19dd8b871f4238d05d40a071d69ef114f36b589c29f46686b1439997e72f58896bb4f330ab256af6000a9559426c78cae08640e54b74db343b3b22945 DIST gentoolkit-0.4.2.tar.gz 3215652 BLAKE2B 97b4dcac7293b50161169a6c777623cb1c51e2f74020e0fa2f1f4441c203c03a1269c8c55e1461c5780ebfb8234d364837073d582a52a99f2d40c92e6b77a7f0 SHA512 3a9eac2fd214bcfe39380193cb2118edcd759dbf3eb165e7240525ce1047aa984f1d1f1d3a15324218d9be1f0a1ec960ae08a63191392f1bb3422277a52697ff -EBUILD gentoolkit-0.3.3.ebuild 2176 BLAKE2B e3e6d87f3d51108e0e518c807e11e7d1e96c589564441fa8a0a89f38552b88e4f188f8d6b648b8bbaf1342b0388be711deaa01d87fbb81c35d4aca2bf82c7c23 SHA512 8c5776d2ba632f3b515c7a7bb9ef0763352cd46de88c54096c0f04a7cc4201082dddfb87e9ed02123b2f6ace4e78ee25d5c1240fcea910ce4d0be864275ea3d8 -EBUILD gentoolkit-0.4.0.ebuild 2320 BLAKE2B c0753030f51818281e0f72bb95bc50fc252e1a306b3ab1e9e2827fef65783c2216aef5096b24ad8ffe7f290ed126b2f9d177232415f648c0e2b352cbbbc1602d SHA512 f5e7f5599db824ad62955d9e4da2c393e92019e2e197395e1beef070393a82c0f6c74c03e5d92f47b996703718fbd2318e826bb462a18821103f8bb014c5c89d -EBUILD gentoolkit-0.4.1.ebuild 2336 BLAKE2B e51c16d024693cf3e81c68c9518262937ac8d108a0f4d10254140f421ffa8e56583a174c1b16f4fd1c95ee9fe4b41f85bb24bbf6c6f3ce37dc2a87a5645a4a3e SHA512 24102deea29f41323640d60d3c6bf3a870b19e6e3949e9eeedec684649eb0dab061c300f147f4e2d45154261e01a2fc556f02b9093a40ca66086ddd24955a0a2 +DIST gentoolkit-0.4.3.tar.gz 3218723 BLAKE2B d305db514e48446c0341c1ddc7a6c1bcd464eee11b8ee58f1a16bdf797670a9bb13eacfb2afa666d9ef292ad1dcbdf9970f8ded64bd5d12ca9d73ffae8923119 SHA512 81058d4787b291b6398d82d9a32f41b78d939f8d20ad8afbf9e22a47311ff0a270098c69e53d903ab3ec72a4cd11f13f3be30279a538a6a52972e1651efe447d EBUILD gentoolkit-0.4.2-r1.ebuild 2368 BLAKE2B 399595be69cf9173c1babb77803ddd88ae037de95d6e192bca4172ba32d093fc1e137028c28e44d3fb88174de19283e9ef884f2867131f42a508c58d478ff178 SHA512 e1e722d9fa45f5e0569349afe31a047a0d642371ce3b7edd04125e30d39ea55926913fa823c22c5b09219893dc45e70c98683d5c011511f7a1eeaa7ea47e4941 -EBUILD gentoolkit-9999.ebuild 2038 BLAKE2B b73ca2d3af0a6d7adf65e489cceb6bd4ff29c61e2e657dd28c0ab17e3050cc1031d0db237ff9467dc80f3c463ad0c1f3efdd9ec5d13f35ca0983a435c61329d0 SHA512 d0110f470a871858b3ffad3617714db71b1b015c72fc9f3c39921f3c4b6ab80192c1b060f2de3fdc673a8a8ccca7b5be92a43fb52b5dfe664d832ae093bec7f2 +EBUILD gentoolkit-0.4.3.ebuild 2364 BLAKE2B 9d84291067ccddf24791829b454f05a828becf50c928a67f942666d039e39ffdec783e8927863cdd71d6e3c6c28800866b26984819df5dfaa7712a44f897c3f3 SHA512 953a1f0a8fb665da5e26ef2c7035447eedcc72d61e2669d0a7fd3a8cf08be84d604b938408819949ed294c4dffe3de99fb077d2aba53b514953fe05d250ce393 +EBUILD gentoolkit-9999.ebuild 2120 BLAKE2B d6e21de1c8f8cebfad004a31d3c234e65cbf844313b76e8cd88e20f4d8fdb0d07505b152bac05fd0f008bec746f4fff11a3a64cb8eeece2170d70e36a53f353b SHA512 d5f9fceb75be60c0bbf989f90b9f12824206ac665790555ec372c8cc7ea289dede2319eaa26ab11687ced634c530198d3d8cc3dfee68dd9842979fad6e7cbb61 MISC metadata.xml 558 BLAKE2B 2ede18c080565469ba0be5ac6f2e34ab02f9367947ef1e380deed006c5ca2900468e142ee1d7c8664d62ed49caeb64069726f0426251a00d48a848af745128b4 SHA512 8e57275ae720065361529af42999f9bfe871007e45592ee6f539eec4ce61e6b141f44c65316ee10798bfaecc86a814fa18353becbb31ffc5e2c38df100ac3704 diff --git a/app-portage/gentoolkit/gentoolkit-0.3.3.ebuild b/app-portage/gentoolkit/gentoolkit-0.3.3.ebuild deleted file mode 100644 index 98e625998ac8..000000000000 --- a/app-portage/gentoolkit/gentoolkit-0.3.3.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=(python{2_7,3_4,3_5} pypy) -PYTHON_REQ_USE="xml(+),threads(+)" - -inherit distutils-r1 - -DESCRIPTION="Collection of administration scripts for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" -SRC_URI="https://dev.gentoo.org/~fuzzyray/distfiles/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -IUSE="" - -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - -DEPEND="sys-apps/portage[${PYTHON_USEDEP}]" -RDEPEND="${DEPEND} - !<=app-portage/gentoolkit-dev-0.2.7 - sys-apps/gawk - sys-apps/gentoo-functions" - -python_prepare_all() { - python_setup - echo VERSION="${PVR}" "${PYTHON}" setup.py set_version - VERSION="${PVR}" "${PYTHON}" setup.py set_version - distutils-r1_python_prepare_all -} - -python_install_all() { - distutils-r1_python_install_all - - # remove on Gentoo Prefix platforms where it's broken anyway - if use prefix; then - elog "The revdep-rebuild command is removed, the preserve-libs" - elog "feature of portage will handle issues." - rm "${ED}"/usr/bin/revdep-rebuild* - rm "${ED}"/usr/share/man/man1/revdep-rebuild.1 - rm -rf "${ED}"/etc/revdep-rebuild - rm -rf "${ED}"/var - fi -} - -pkg_postinst() { - # Create cache directory for revdep-rebuild - mkdir -p -m 0755 "${EROOT%/}"/var/cache - mkdir -p -m 0700 "${EROOT%/}"/var/cache/revdep-rebuild - - # Only show the elog information on a new install - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog - elog "For further information on gentoolkit, please read the gentoolkit" - elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" - elog - elog "Another alternative to equery is app-portage/portage-utils" - elog - elog "Additional tools that may be of interest:" - elog - elog " app-admin/eclean-kernel" - elog " app-portage/diffmask" - elog " app-portage/flaggie" - elog " app-portage/install-mask" - elog " app-portage/portpeek" - elog " app-portage/smart-live-rebuild" - fi -} diff --git a/app-portage/gentoolkit/gentoolkit-0.4.0.ebuild b/app-portage/gentoolkit/gentoolkit-0.4.0.ebuild deleted file mode 100644 index 80c4ab0f86a0..000000000000 --- a/app-portage/gentoolkit/gentoolkit-0.4.0.ebuild +++ /dev/null @@ -1,74 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI="6" - -PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6} pypy) -PYTHON_REQ_USE="xml(+),threads(+)" - -inherit distutils-r1 - -DESCRIPTION="Collection of administration scripts for Gentoo" -HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" -SRC_URI="https://dev.gentoo.org/~dolsen/releases/gentoolkit/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -IUSE="" - -KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" - -DEPEND="sys-apps/portage[${PYTHON_USEDEP}]" -RDEPEND="${DEPEND} - !app-portage/gentoolkit-dev - sys-apps/gawk - sys-apps/gentoo-functions" - -python_prepare_all() { - python_setup - echo VERSION="${PVR}" "${PYTHON}" setup.py set_version - VERSION="${PVR}" "${PYTHON}" setup.py set_version - distutils-r1_python_prepare_all -} - -python_install_all() { - distutils-r1_python_install_all -} - -pkg_preinst() { - if has_version "<${CATEGORY}/${PN}-0.4.0"; then - SHOW_GENTOOKIT_DEV_DEPRECATED_MSG=1 - fi -} - -pkg_postinst() { - # Create cache directory for revdep-rebuild - mkdir -p -m 0755 "${EROOT%/}"/var/cache - mkdir -p -m 0700 "${EROOT%/}"/var/cache/revdep-rebuild - - if [[ ${SHOW_GENTOOKIT_DEV_DEPRECATED_MSG} ]]; then - elog "Starting with this version, ebump, ekeyword and imlate are now" - elog "part of the gentoolkit package." - elog "The gentoolkit-dev package is now deprecated in favor of a single" - elog "gentoolkit package. The remaining tools from gentoolkit-dev" - elog "are now obsolete/unused with the git based tree." - fi - - # Only show the elog information on a new install - if [[ ! ${REPLACING_VERSIONS} ]]; then - elog - elog "For further information on gentoolkit, please read the gentoolkit" - elog "guide: https://wiki.gentoo.org/wiki/Gentoolkit" - elog - elog "Another alternative to equery is app-portage/portage-utils" - elog - elog "Additional tools that may be of interest:" - elog - elog " app-admin/eclean-kernel" - elog " app-portage/diffmask" - elog " app-portage/flaggie" - elog " app-portage/install-mask" - elog " app-portage/portpeek" - elog " app-portage/smart-live-rebuild" - fi -} diff --git a/app-portage/gentoolkit/gentoolkit-0.4.1.ebuild b/app-portage/gentoolkit/gentoolkit-0.4.3.ebuild index 6a8d551c39d4..81df6c1880e9 100644 --- a/app-portage/gentoolkit/gentoolkit-0.4.1.ebuild +++ b/app-portage/gentoolkit/gentoolkit-0.4.3.ebuild @@ -1,16 +1,16 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI=7 -PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6} pypy) +PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy ) PYTHON_REQ_USE="xml(+),threads(+)" inherit distutils-r1 DESCRIPTION="Collection of administration scripts for Gentoo" HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" -SRC_URI="https://dev.gentoo.org/~fuzzyray/releases/gentoolkit/${P}.tar.gz" +SRC_URI="https://gitweb.gentoo.org/proj/gentoolkit.git/snapshot/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" @@ -18,9 +18,12 @@ IUSE="" KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -DEPEND="sys-apps/portage[${PYTHON_USEDEP}]" +DEPEND=" + || ( + sys-apps/portage[${PYTHON_USEDEP}] + sys-apps/portage-mgorny[${PYTHON_USEDEP}] + )" RDEPEND="${DEPEND} - !app-portage/gentoolkit-dev sys-apps/gawk sys-apps/gentoo-functions" diff --git a/app-portage/gentoolkit/gentoolkit-9999.ebuild b/app-portage/gentoolkit/gentoolkit-9999.ebuild index 084927bf88c8..a36db0ec310a 100644 --- a/app-portage/gentoolkit/gentoolkit-9999.ebuild +++ b/app-portage/gentoolkit/gentoolkit-9999.ebuild @@ -1,14 +1,13 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI=7 -PYTHON_COMPAT=(python{2_7,3_4,3_5,3_6} pypy) +PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy ) PYTHON_REQ_USE="xml(+),threads(+)" -inherit distutils-r1 git-r3 - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/gentoolkit.git" +inherit distutils-r1 git-r3 DESCRIPTION="Collection of administration scripts for Gentoo" HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Portage-Tools" @@ -26,28 +25,23 @@ DEPEND=" sys-apps/portage-mgorny[${PYTHON_USEDEP}] )" RDEPEND="${DEPEND} - !app-portage/gentoolkit-dev sys-apps/gawk sys-apps/gentoo-functions" python_prepare_all() { python_setup - echo VERSION="9999-${EGIT_VERSION}" "${PYTHON}" setup.py set_version - VERSION="9999-${EGIT_VERSION}" "${PYTHON}" setup.py set_version + echo VERSION="${PVR}" "${PYTHON}" setup.py set_version + VERSION="${PVR}" "${PYTHON}" setup.py set_version distutils-r1_python_prepare_all } python_install_all() { distutils-r1_python_install_all +} - # remove on Gentoo Prefix platforms where it's broken anyway - if use prefix; then - elog "The revdep-rebuild command is removed, the preserve-libs" - elog "feature of portage will handle issues." - rm "${ED}"/usr/bin/revdep-rebuild* - rm "${ED}"/usr/share/man/man1/revdep-rebuild.1 - rm -rf "${ED}"/etc/revdep-rebuild - rm -rf "${ED}"/var +pkg_preinst() { + if has_version "<${CATEGORY}/${PN}-0.4.0"; then + SHOW_GENTOOKIT_DEV_DEPRECATED_MSG=1 fi } @@ -56,6 +50,14 @@ pkg_postinst() { mkdir -p -m 0755 "${EROOT%/}"/var/cache mkdir -p -m 0700 "${EROOT%/}"/var/cache/revdep-rebuild + if [[ ${SHOW_GENTOOKIT_DEV_DEPRECATED_MSG} ]]; then + elog "Starting with version 0.4.0, ebump, ekeyword and imlate are now" + elog "part of the gentoolkit package." + elog "The gentoolkit-dev package is now deprecated in favor of a single" + elog "gentoolkit package. The remaining tools from gentoolkit-dev" + elog "are now obsolete/unused with the git based tree." + fi + # Only show the elog information on a new install if [[ ! ${REPLACING_VERSIONS} ]]; then elog diff --git a/app-portage/gpyutils/Manifest b/app-portage/gpyutils/Manifest index 48aeb1a0f919..2ddef129b3d0 100644 --- a/app-portage/gpyutils/Manifest +++ b/app-portage/gpyutils/Manifest @@ -1,4 +1,4 @@ -AUX implementations.txt 809 BLAKE2B 64d5776621de4f6d522c2e07529f41f154c4253f35fff9f7dc6967ac2970a8911666644401cf657a05d500665680dc0b6cbaf120fc6bacb50fa2e058fcf2901c SHA512 e3b20f8cd0d34da4d506107a38b176a36960f97090d06de1475f12167ae28f95d5dd2d062baf31942f517d0e40b91fde485581736a40eaa9de838b28855bc62a +AUX implementations.txt 801 BLAKE2B cfc22a01a7d532e654c2b0e02688a432c2d0dff105082d10506662ce88a87a71197179ebf24c4b92be703d4e618dfc8590ecb242e3d313cd475952880e42b264 SHA512 069280aec5b0cdd78dc3603b6af8b589bff1cd8187aab155e17573af0af5c2e63411e9589dd71696d31b40ccc6e2d7f0031cd8d9928db339362f2b4f4af5d48d DIST gpyutils-0.2.2.tar.gz 19646 BLAKE2B b5c24817b8a5ef3122d46330d2311a328ffa9c936878f494586ed62fd9fa9d54210c4edcbd9d07f61af7c27faf410e0abf60943188e8340ea52f06d95359c6b1 SHA512 28ca27b3688b593665037bd7a811014a11b3192bc0acc4568c3e70d13cf7a163b41ba3ffd9d8caaaaf4de2758e1cb68b7dcc255d9fb26ca8448a6bfd6416e66e EBUILD gpyutils-0.2.2.ebuild 520 BLAKE2B 5ab72e1871efe3d6274ec526032f8671dbaf0db7890c26fa44e8442f1eaffc6b6db5df4380bec3b3f5207103ac7c19236588a761e61bf2213381060f42c1b228 SHA512 1e6e5cf72b741a57b84ec0cca4d5502095a891ea41085ad29ca15ae5afffd68173b4b8eca83f35ac6a31353b0d8e39d826dc66324773c318d6db5793870441ab EBUILD gpyutils-9999.ebuild 502 BLAKE2B 599965a84ba580c312a53af148501bba76acdca1490a0c2643a97422eb87370d7905ae74b76446b1c067229155db73b98c23137b491f9b861b30ba71c0be3a8d SHA512 f4b5fd097b1cae93703c896cd846d097c300cfbfa2d3dd7d78f47be735245398bafdc23e255c1b8091e74de209b2f81efb2fddfc68b5215481fc3d0d8e725282 diff --git a/app-portage/gpyutils/files/implementations.txt b/app-portage/gpyutils/files/implementations.txt index 63d7ec0b0f1e..0b48d49697dd 100644 --- a/app-portage/gpyutils/files/implementations.txt +++ b/app-portage/gpyutils/files/implementations.txt @@ -13,10 +13,10 @@ python3_0 3.0 dead 3.0 python3_1 3.1 dead 3.1 python3_2 3.2 dead 3.2 python3_3 3.3 dead 3.3 -python3_4 current 3.4 +python3_4 dead 3.4 python3_5 supported 3.5 -python3_6 supported 3.6 -python3_7 experimental 3.7 +python3_6 current 3.6 +python3_7 supported 3.7 pypy1_8 2.7-pypy-1.8 dead p1.8 pypy1_9 2.7-pypy-1.9 dead p1.9 diff --git a/app-portage/pram/Manifest b/app-portage/pram/Manifest index 5559c32a0144..c4e7092f57d6 100644 --- a/app-portage/pram/Manifest +++ b/app-portage/pram/Manifest @@ -1,3 +1,5 @@ DIST pram-1.tar.gz 3759 BLAKE2B da8670ceb689893bde486f6b7332dae8f793b945c71034354853195c4639c2a515533f56fd5ea67b91aba550219cde0a50d7c4c7e60bfeda1877904ecb4e2872 SHA512 fb0d2a2b177973d710d2e68eda82101d64e573e9d90e6aeb2a7bf2be86bcba01b4047c857d6d29d40a5768490a8f999aa001e7e5e45022cf2d1c08bed8ee8d44 +DIST pram-2.tar.gz 4255 BLAKE2B 43d72f5602325490642ac8209a1b15f06ed5ffd160ce42c99ac0f46082459e2b6bbba5c4bc50b80f9e2cb1d263fc43b62f725ac924858e773b3b8af317a12bd5 SHA512 5e28fd63efc68f5b27b74712a49bb865fc32b1ad30515b8be74ae5a61f8fc9ba45c785b3a6ffef5e606e56d2db815b1038798fe44ed572ca6f5e5e6b42330476 EBUILD pram-1.ebuild 481 BLAKE2B 7f94cb01c1e1523c4c98bda91caa88f4d4e5db398aa5e856edc704af74635feb7f2a0edd475eff43a349b1cab03e6eb49068bbbd89cca37f8baaf70711360882 SHA512 ccd69af34182419703430ecb7c5846cd2d6cf6af2cab47822805639630881607582dde068c80dc84d53fd8fa5edbe8e912cc0a225a159cc1d94220861c242575 +EBUILD pram-2-r1.ebuild 495 BLAKE2B 564ab559666243a00b0484e74608cec8d1cbe75fed20c86b7532ba1b2563af221e1dc9600ee4cda700093cd7291d62734e4ae8fa86b9c36c209eb14f15bce8fc SHA512 a5c13b3f07a9b4190c14f4c2ab23d28a060a6e48feaa1d0775aa950232489bb4343a35df91bcc1aa1e31d87f93c4f69d56977dcad7f86cbbbd35536c5177ed33 MISC metadata.xml 497 BLAKE2B ed7f60c0693229da828921bfcf6e0a579a7ac07fda8bfa47124677d83e288a738a9c237a71070bacdaadce91708827ca7bc2ecf1755cec249945fe6fae752a9f SHA512 5588a6d5c641976a95b0696de4343cf3f96ef67515339e33f22a6f1255d05c6675a5f440a32354513f96fea7c57ae15230f02610f0650a400a2ef25815a5400c diff --git a/app-portage/pram/pram-2-r1.ebuild b/app-portage/pram/pram-2-r1.ebuild new file mode 100644 index 000000000000..d5151395d54a --- /dev/null +++ b/app-portage/pram/pram-2-r1.ebuild @@ -0,0 +1,24 @@ +# Copyright 2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Tool to ease merging Pull Requests and git patches" +HOMEPAGE="https://github.com/mgorny/pram" +SRC_URI="https://github.com/mgorny/pram/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="BSD-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +RDEPEND="dev-vcs/git + net-misc/wget[ssl] + virtual/editor + !dev-perl/Gentoo-App-Pram" + +src_install() { + dobin pram + doman pram.1 + einstalldocs +} diff --git a/app-portage/prefix-toolkit/Manifest b/app-portage/prefix-toolkit/Manifest new file mode 100644 index 000000000000..ff3466f15f5c --- /dev/null +++ b/app-portage/prefix-toolkit/Manifest @@ -0,0 +1,2 @@ +EBUILD prefix-toolkit-0.ebuild 15920 BLAKE2B 2870e1ec8e65f26f38e15bad7f4ba5e6bedd909d34de3017885fa9d45a885646b586e26af29d226558103800e8b68db637516d5256007bba0f5e07452e565696 SHA512 87ca32003ec443f57d6980db36f098d2abc9bd28ae2c9361ef2f01fc9d9da66bac2fb2f1354b293212fa8cd53605cf5cc9a1974718e0d88f30a120f01816e50d +MISC metadata.xml 243 BLAKE2B d650658b3e248940751d20c9e517a011a34f8d99df54d5203162d67c21df384f507e44ed0c848c1adc99fae8d511e204129f2709f5bdc5d1b2c8e41120bbe6db SHA512 8489be9ea6eac385511b0d193b1b61fad9c8e0d4cb86fd711e6faf04e66b2c935ae64ce6ce0a044d036e76de6787e5d440d67f831e89261a71e74b645a0999d9 diff --git a/app-portage/prefix-toolkit/metadata.xml b/app-portage/prefix-toolkit/metadata.xml new file mode 100644 index 000000000000..d33cce94b0d4 --- /dev/null +++ b/app-portage/prefix-toolkit/metadata.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>prefix@gentoo.org</email> + <name>Gentoo Prefix</name> +</maintainer> +</pkgmetadata> diff --git a/app-portage/prefix-toolkit/prefix-toolkit-0.ebuild b/app-portage/prefix-toolkit/prefix-toolkit-0.ebuild new file mode 100644 index 000000000000..ae2ca111babd --- /dev/null +++ b/app-portage/prefix-toolkit/prefix-toolkit-0.ebuild @@ -0,0 +1,565 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="Utilities for users of Gentoo Prefix" +HOMEPAGE="https://prefix.gentoo.org/" +SRC_URI="" + +LICENSE="GPL-3" +SLOT="0" + +[[ ${PV} == 9999 ]] || +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" + +DEPEND="" +RDEPEND=" + >sys-apps/portage-2.3.62 + !app-portage/prefix-chain-setup + !sys-apps/prefix-chain-utils + prefix-stack? ( + >=sys-apps/baselayout-prefix-2.6 + ) +" + +S="${WORKDIR}" + +my_unpack() { + local infile=$1 + local outfile=${2:-${infile}} + ebegin "extracting ${outfile}" + sed -ne "/^: ${infile} /,/EOIN/{/EOIN/d;p}" "${EBUILD}" \ + > "${outfile}" || die "Failed to unpack ${outfile}" + eend $? +} + +src_unpack() { + if use prefix-stack ; then + my_unpack prefix-stack.bash_login + my_unpack prefix-stack.bashrc + my_unpack prefix-stack.envd.99stack + my_unpack prefix-stack-ccwrap + local editor pager + for editor in "${EDITOR}" {"${EPREFIX}","${BROOT}"}/bin/nano + do + [[ -x ${editor} ]] || continue + done + for pager in "${PAGER}" {"${EPREFIX}","${BROOT}"}/usr/bin/less + do + [[ -x ${pager} ]] || continue + done + printf '%s\n' "EDITOR=\"${editor}\"" "PAGER=\"${pager}\"" > 000fallback + else + my_unpack prefix-stack-setup + fi + my_unpack startprefix +} + +my_prefixify() { + local ebash eenv + if use prefix-stack ; then + ebash="${BROOT}/bin/bash" + eenv="${BROOT}/usr/bin/env" + else + ebash="${EPREFIX}/bin/bash" + eenv="${EPREFIX}/usr/bin/env" + fi + + # the @=@ prevents repoman from believing we set readonly vars + sed -e "s,@GENTOO_PORTAGE_BPREFIX@,${BROOT},g" \ + -e "s,@GENTOO_PORTAGE_EPREFIX@,${EPREFIX},g" \ + -e "s,@GENTOO_PORTAGE_CHOST@,${CHOST},g" \ + -e "s,@GENTOO_PORTAGE_EBASH@,${ebash},g" \ + -e "s,@GENTOO_PORTAGE_EENV@,${eenv},g" \ + -e "s,@=@,=,g" \ + -i "$@" || die +} + +src_configure() { + # do not eprefixify during unpack, to allow userpatches to apply + my_prefixify * +} + +src_install-prefix-stack-ccwrap() { + # install toolchain wrapper. + local wrapperdir=/usr/${CHOST}/gcc-bin/${CHOST}-${PN}/${PV} + local wrappercfg=${CHOST}-${P} + + exeinto $wrapperdir + doexe prefix-stack-ccwrap + + local cc + for cc in \ + gcc \ + g++ \ + cpp \ + c++ \ + windres \ + ; do + dosym prefix-stack-ccwrap $wrapperdir/${CHOST}-${cc} + dosym ${CHOST}-${cc} $wrapperdir/${cc} + done + + # LDPATH is required to keep gcc-config happy :( + cat > ./${wrappercfg} <<-EOF + GCC_PATH="${EPREFIX}$wrapperdir" + LDPATH="${EPREFIX}$wrapperdir" + EOF + + insinto /etc/env.d/gcc + doins ./${wrappercfg} +} + +src_install() { + if use prefix-stack; then + src_install-prefix-stack-ccwrap + insinto /etc + doins prefix-stack.bash_login + insinto /etc/bash + newins prefix-stack.bashrc bashrc + newenvd prefix-stack.envd.99stack 99stack + doenvd 000fallback + else + dobin prefix-stack-setup + fi + exeinto / + doexe startprefix +} + +return 0 + +: startprefix <<'EOIN' +#!@GENTOO_PORTAGE_EBASH@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Fabian Groffen <grobian@gentoo.org> -- 2007-03-10 +# Enters the prefix environment by starting a login shell from the +# prefix. The SHELL environment variable is elevated in order to make +# applications that start login shells to work, such as `screen`. + +# if you come from a substantially polluted environment (another +# Prefix), a cleanup as follows resolves most oddities I've ever seen: +# env -i HOME=$HOME TERM=$TERM USER=$USER $SHELL -l +# hence this script starts the Prefix shell like this + +if [[ ${SHELL#@GENTOO_PORTAGE_EPREFIX@} != ${SHELL} ]] +then + echo "You appear to be in prefix already (SHELL=${SHELL})" > /dev/stderr + exit -1 +elif [[ ${SHELL#@GENTOO_PORTAGE_BPREFIX@} != ${SHELL} ]] && + [[ ${EPREFIX-unset} == '@GENTOO_PORTAGE_EPREFIX@' ]] +then + echo "You appear to be in stacked prefix already (EPREFIX=${EPREFIX})" > /dev/stderr + exit -1 +fi + +# What is our prefix? +EPREFIX@=@'@GENTOO_PORTAGE_EPREFIX@' +BPREFIX@=@'@GENTOO_PORTAGE_BPREFIX@' + +# not all systems have the same location for shells, however what it +# boils down to, is that we need to know what the shell is, and then we +# can find it in the bin dir of our prefix +for SHELL in \ + "${EPREFIX}/bin/${SHELL##*/}" \ + "${BPREFIX}/bin/${SHELL##*/}" \ + ${SHELL##*/} +do + [[ ${SHELL} == */* && -x ${SHELL} ]] && break +done + +# check if the shell exists +if [[ ${SHELL} != */* ]] +then + echo "Failed to find the Prefix shell, this is probably" > /dev/stderr + echo "because you didn't emerge the shell ${SHELL}" > /dev/stderr + exit 1 +fi + +# set the prefix shell in the environment +export SHELL + +# give a small notice +echo "Entering Gentoo Prefix ${EPREFIX}" +# start the login shell, clean the entire environment but what's needed +RETAIN="HOME=$HOME TERM=$TERM USER=$USER SHELL=$SHELL" +# PROFILEREAD is necessary on SUSE not to wipe the env on shell start +[[ -n ${PROFILEREAD} ]] && RETAIN+=" PROFILEREAD=$PROFILEREAD" +# ssh-agent is handy to keep, of if set, inherit it +[[ -n ${SSH_AUTH_SOCK} ]] && RETAIN+=" SSH_AUTH_SOCK=$SSH_AUTH_SOCK" +# if we're on some X terminal, makes sense to inherit that too +[[ -n ${DISPLAY} ]] && RETAIN+=" DISPLAY=$DISPLAY" +# do it! +if [[ ${SHELL#${EPREFIX}} != ${SHELL} ]] ; then + '@GENTOO_PORTAGE_EENV@' -i $RETAIN $SHELL -l +elif [[ ' bash ' == *" ${SHELL##*/} "* ]] ; then + # shell coming from different prefix would load it's own + # etc/profile upon -l, so we have to override + '@GENTOO_PORTAGE_EENV@' -i ${RETAIN} "${SHELL}" --rcfile "${EPREFIX}"/etc/prefix-stack.bash_login -i +else + echo "Only bash is supported with stacked Prefix (you have ${SHELL##*/}), sorry!" > /dev/stderr + exit 1 +fi +# and leave a message when we exit... the shell might return non-zero +# without having real problems, so don't send alarming messages about +# that +echo "Leaving Gentoo Prefix with exit status $?" +EOIN + +: prefix-stack.bashrc <<'EOIN' +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 +# +# In stacked Prefix there is no bash installed, yet +# etc/bash/bashrc from base Prefix still is useful. +# + +if [[ $- != *i* ]] ; then + # Shell is non-interactive, bashrc does not apply + return +fi + +if [[ -r @GENTOO_PORTAGE_BPREFIX@/etc/bash/bashrc ]] ; then + source '@GENTOO_PORTAGE_BPREFIX@/etc/bash/bashrc' + # only if base Prefix does have an etc/bash/bashrc, we also + # run bashrc snippets provided by packages in stacked Prefix + for sh in '@GENTOO_PORTAGE_EPREFIX@'/etc/bash/bashrc.d/* ; do + [[ -r ${sh} ]] && source "${sh}" + done + unset sh +else + # etc/profile does expect etc/bash/bashrc to set PS1 + PS1='\u@\h \w \$ ' +fi +EOIN + +: prefix-stack.bash_login <<'EOIN' +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 +# +# In stacked Prefix there is no bash installed, so there is +# no bash able to load this Prefix' profile as login shell. +# Instead, you can specify this one as bash rcfile to mimic +# a bash login shell using this stacked Prefix profile. +# + +if [[ -s '@GENTOO_PORTAGE_EPREFIX@/etc/profile' ]] ; then + . '@GENTOO_PORTAGE_EPREFIX@/etc/profile' +fi +if [[ -s ~/.bash_profile ]] ; then + . ~/.bash_profile +elif [[ -s ~/.bash_login ]] ; then + . ~/.bash_login +elif [[ -s ~/.profile ]] ; then + . ~/.profile +fi +EOIN + +: prefix-stack.envd.99stack <<'EOIN' +PKG_CONFIG_PATH@=@"@GENTOO_PORTAGE_EPREFIX@/usr/lib/pkgconfig:@GENTOO_PORTAGE_EPREFIX@/usr/share/pkgconfig" +PORTAGE_CONFIGROOT@=@"@GENTOO_PORTAGE_EPREFIX@" +EPREFIX@=@"@GENTOO_PORTAGE_EPREFIX@" +EOIN + +: prefix-stack-setup <<'EOIN' +#!@GENTOO_PORTAGE_EPREFIX@/bin/bash +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +PARENT_EPREFIX="@GENTOO_PORTAGE_EPREFIX@" +PARENT_CHOST="@GENTOO_PORTAGE_CHOST@" +CHILD_EPREFIX= +CHILD_PROFILE= + +# +# get ourselfs the functions.sh script for ebegin/eend/etc. +# +for f in \ + /lib/gentoo/functions.sh \ + /etc/init.d/functions.sh \ + /sbin/functions.sh \ +; do + if [[ -r ${PARENT_EPREFIX}${f} ]] ; then + . "${PARENT_EPREFIX}${f}" + f=found + break + fi +done + +if [[ ${f} != found ]] ; then + echo "Cannot find Gentoo functions, aborting." >&2 + exit 1 +fi + +for arg in "$@"; do + case "${arg}" in + --eprefix=*) CHILD_EPREFIX="${arg#--eprefix=}" ;; + --profile=*) CHILD_PROFILE="${arg#--profile=}" ;; + + --help) + einfo "$0 usage:" + einfo " --eprefix=[PATH] Path to new EPREFIX to create stacked to the prefix" + einfo " where this script is installed (${PARENT_EPREFIX})" + einfo " --profile=[PATH] The absolute path to the profile to use. This path" + einfo " must point to a directory within ${PARENT_EPREFIX}" + exit 0 + ;; + esac +done + +# +# sanity check of given values +# + +test -n "${CHILD_EPREFIX}" || { eerror "no eprefix argument given"; exit 1; } +test -d "${CHILD_EPREFIX}" && { eerror "${CHILD_EPREFIX} already exists"; exit 1; } +test -n "${CHILD_PROFILE}" || { eerror "no profile argument given"; exit 1; } +test -d "${CHILD_PROFILE}" || { eerror "${CHILD_PROFILE} does not exist"; exit 1; } + +einfo "creating stacked prefix ${CHILD_EPREFIX}" + +# +# functions needed below. +# +eend_exit() { + eend $1 + [[ $1 != 0 ]] && exit 1 +} + +# +# create the directories required to bootstrap the least. +# +ebegin "creating directory structure" +( + set -e + mkdir -p "${CHILD_EPREFIX}"/etc/portage/profile/use.mask + mkdir -p "${CHILD_EPREFIX}"/etc/portage/profile/use.force + mkdir -p "${CHILD_EPREFIX}"/etc/portage/env + mkdir -p "${CHILD_EPREFIX}"/etc/portage/package.env + ln -s "${PARENT_EPREFIX}"/etc/portage/repos.conf "${CHILD_EPREFIX}"/etc/portage/repos.conf +) +eend_exit $? + +# +# create a make.conf and set PORTDIR and PORTAGE_TMPDIR +# +ebegin "creating make.conf" +( + set -e + echo "#" + echo "# The following values where taken from the parent prefix's" + echo "# environment. Feel free to adopt them as you like." + echo "#" + echo "CFLAGS=\"$(portageq envvar CFLAGS)\"" + echo "CXXFLAGS=\"$(portageq envvar CXXFLAGS)\"" + echo "MAKEOPTS=\"$(portageq envvar MAKEOPTS)\"" + niceness=$(portageq envvar PORTAGE_NICENESS || true) + [[ -n ${niceness} ]] && + echo "PORTAGE_NICENESS=\"${niceness}\"" + echo + echo "# Mirrors from parent prefix." + echo "GENTOO_MIRRORS=\"$(portageq envvar GENTOO_MIRRORS || true)\"" + echo + echo "# Below comes the prefix-stack setup. Only change things" + echo "# if you know exactly what you are doing!" + echo "EPREFIX=\"${CHILD_EPREFIX}\"" + echo "PORTAGE_OVERRIDE_EPREFIX=\"${PARENT_EPREFIX}\"" + echo "BROOT=\"${PARENT_EPREFIX}\"" +) > "${CHILD_EPREFIX}"/etc/portage/make.conf +eend_exit $? + +ebegin "creating use.mask/prefix-stack" +printf -- '-%s\n' prefix{,-guest,-stack} > "${CHILD_EPREFIX}"/etc/portage/profile/use.mask/prefix-stack +eend_exit $? + +ebegin "creating use.force/prefix-stack" +printf -- '%s\n' prefix{,-guest,-stack} > "${CHILD_EPREFIX}"/etc/portage/profile/use.force/prefix-stack +eend_exit $? + +ebegin "creating env/host-cc.conf" +cat > "${CHILD_EPREFIX}"/etc/portage/env/host-cc.conf <<-EOM + CC=${PARENT_CHOST}-gcc + CXX=${PARENT_CHOST}-g++ + EOM +eend_exit $? + +ebegin "creating package.env/prefix-stack" +cat > "${CHILD_EPREFIX}"/etc/portage/package.env/prefix-stack <<-'EOM' + # merge with the parent's chost. this forces the use of the parent + # compiler, which generally would be illegal - this is an exception. + # This is required for example on winnt, because the wrapper has to + # be able to use/resolve symlinks, etc. native winnt binaries miss + # that ability, but cygwin binaries don't. + sys-devel/gcc-config host-cc.conf + sys-apps/gentoo-functions host-cc.conf + EOM +eend_exit $? + +# +# create the make.profile symlinks. +# +ebegin "creating make.profile" +( + ln -s "${CHILD_PROFILE}" "${CHILD_EPREFIX}/etc/portage/make.profile" +) +eend_exit $? + +# +# adjust permissions of generated files. +# +ebegin "adjusting permissions" +( + set -e + chmod 644 "${CHILD_EPREFIX}"/etc/portage/make.conf + chmod 644 "${CHILD_EPREFIX}"/etc/portage/env/host-cc.conf + chmod 644 "${CHILD_EPREFIX}"/etc/portage/package.env/prefix-stack +) +eend_exit $? + +# +# now merge some basics. +# +ebegin "installing required basic packages" +( + set -e + export PORTAGE_CONFIGROOT@=@"${CHILD_EPREFIX}" + export EPREFIX@=@"${CHILD_EPREFIX}" + export PORTAGE_OVERRIDE_EPREFIX@=@"${PARENT_EPREFIX}" + +# # this -pv is there to avoid the global update output, which is +# # there on the first emerge run. (thus, just cosmetics). +# emerge --pretend --oneshot --nodeps baselayout-prefix + + # let baselayout create the directories + USE@=@"${USE} build" \ + emerge --verbose --nodeps --oneshot \ + '>=baselayout-prefix-2.6' + + # Record the prefix-toolkit into @world file, as it provides the + # env.d telling the PM to manage this stacked Prefix, but may not + # (unlike baselayout) be part of @system set per the profile. + emerge --verbose --nodeps \ + prefix-toolkit + + emerge --verbose --nodeps --oneshot \ + gentoo-functions \ + elt-patches \ + gnuconfig \ + gcc-config + + # select the stack wrapper profile from gcc-config + env -i PORTAGE_CONFIGROOT="${CHILD_EPREFIX}" "$(type -P bash)" "${CHILD_EPREFIX}"/usr/bin/gcc-config 1 + + # do this _after_ selecting the correct compiler! + emerge --verbose --nodeps --oneshot \ + libtool +) +eend_exit $? + +# +# wow, all ok :) +# +ewarn +ewarn "all done. don't forget to tune ${CHILD_EPREFIX}/etc/portage/make.conf." +ewarn "to enter the new prefix, run \"${CHILD_EPREFIX}/startprefix\"." +ewarn +EOIN + +: prefix-stack-ccwrap <<'EOIN' +#!@GENTOO_PORTAGE_BPREFIX@/bin/bash + +if [ -r /cygdrive/. ]; then + winpath2unix() { cygpath -u "$1"; } + unixpath2win() { cygpath -w "$1"; } +fi + +myself=${0##*/} # basename $0 +link_dirs=() +opts=() +chost="@GENTOO_PORTAGE_CHOST@" +prefix="@GENTOO_PORTAGE_EPREFIX@" +absprefix=${prefix} +if [[ ${chost} == *"-winnt"* ]]; then + # we may get called from windows binary, like pkgdata in dev-libs/icu + # in this case, PATH elements get the "/dev/fs/C/WINDOWS/SUA" prefix + absprefix=$(winpath2unix "$(unixpath2win "${absprefix}")") +fi +[[ ${myself} == *windres* ]] && mode=compile || mode=link +orig_args=("$@") + +for opt in "$@" +do + case "$opt" in + -L) + link_dirs=("${link_dirs[@]}" "-L$1") + shift + ;; + -L*) + link_dirs=("${link_dirs[@]}" "${opt}") + ;; + *) + case "${opt}" in + -v) + # -v done right: only use mode version if -v is the _only_ + # argument on the command line. + [[ ${#orig_args[@]} -gt 1 ]] || mode=version + ;; + --version) mode=version ;; + -c|-E|-S) mode=compile ;; + -print-search-dirs) mode=dirs ;; + esac + opts=("${opts[@]}" "${opt}") + ;; + esac +done + +# remove any path to current prefix, need base prefix only +new_path= +save_ifs=$IFS +IFS=':' +for p in $PATH +do + IFS=$save_ifs + [[ ${p#${absprefix}} != "${p}" ]] && continue + if [[ -z "${new_path}" ]]; then + new_path="${p}" + else + new_path="${new_path}:${p}" + fi +done +IFS=$save_ifs + +PATH=${new_path} + +# binutils-config's ldwrapper understands '-R' for aix and hpux too. +# parity (winnt) understands -rpath only ... +case "${chost}" in +*-winnt*) rpath_opt="-Wl,-rpath," ;; +*) rpath_opt="-Wl,-R," ;; +esac + +pfx_link=("-L${prefix}/usr/lib" "-L${prefix}/lib") +pfx_link_r=("${rpath_opt}${prefix}/lib" "${rpath_opt}${prefix}/usr/lib") +pfx_comp=("-I${prefix}/include" "-I${prefix}/usr/include") + +# ensure we run the right chost program in base prefix +[[ ${myself} == *-*-*-* ]] || myself=${chost}-${myself#${chost}-} + +case "$mode" in +link) exec "${myself}" "${link_dirs[@]}" "${pfx_link[@]}" "${opts[@]}" "${pfx_comp[@]}" "${pfx_link_r[@]}" ;; +compile) exec "${myself}" "${link_dirs[@]}" "${opts[@]}" "${pfx_comp[@]}" ;; +version) exec "${myself}" "${orig_args[@]}" ;; +dirs) + "${myself}" "${orig_args[@]}" | while read line; do + if [[ "${line}" == "libraries: ="* ]]; then + echo "libraries: =${prefix}/usr/lib:${prefix}/lib:${line#"libraries: ="}" + else + echo "${line}" + fi + done + ;; +*) echo "cannot infer ${myself}'s mode from comamnd line arguments"; exit 1 ;; +esac +EOIN |