Sync with portage [Wed Apr 29 12:50:50 MSK 2020].

master
root 4 years ago
parent 3b69376c4a
commit ea0abb412f

@ -1,23 +1,23 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
MANIFEST Manifest.files.gz 29456 BLAKE2B ab2d03c993c1f70585a20930530a7ab0b8acbd1a71920a9e6290b50377414814238b39accc9ddf2d3d1098a048cf850e9295f266638f7cfd6847aed3661b6f7d SHA512 d12b7996e6fc825eb064f0a000182bdfccd818a6ca03dfd45d9da516261255128cd8b17a66ac94961a82b97cc7f6236b0461267a0fbcf1ba088262f2285022dc
TIMESTAMP 2020-04-29T06:09:04Z
MANIFEST Manifest.files.gz 29467 BLAKE2B 1d966ad5becf20b0496d4a77e7dc195de8e7d88e8475abe4879bb0c76db607b5f95fb9a71e1fabaa5415c314601448e468ef267a47b9f413f2978842ffbfec5d SHA512 5a3b50e47c4eff7c51d15fd5955359d15426232952c2003e3a3088684c7b99804c19ef7bf673e49cff61d08440be24a09ce2bb51c26fd4e545797b30ac239add
TIMESTAMP 2020-04-29T09:09:05Z
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAl6pGgBfFIAAAAAALgAo
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAl6pRDFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
klAQTw//fIY27D5CapaaDFUe8Z8LE2QpbhZELuzkRjhiv6GKa6XEk5ub7m2kRnuL
GfE/D6sHG30a1KAadl8QEXjonXrg/7WsiqYubDrUlz2ZaPsO4FO8BQnP4ibQntCK
tc3V+QtWO4cPEmFLlsrnOryrAcTPVRCgJbWIXynr92npcXlYug73avsdBUM26q9s
XDWq+VrqpRi6j/3ZWxQhfW8GIYlJeq5A766reqb2yyTXObCCCzAQ3kcBgDZw420d
4I7A00M83g0BSBYRd5aUPvUqBuH+zSdOYDUBilXNNi+Vc0gql/kpbMORC1N1vC9r
oGhapaUceqde61KAqOfS31z06e7XjTyjMDVqpDwI8kIXs+gmcU3adC2Q4MJR3jDr
0dfvioA/iUFAJrAXY4Jn7f2LLpoopSajcuqidshw2JQtrKEA8XnzNCSdmlROme4p
2NPjdQOjgfY/yOLidpR2pBWVpYwLGbKKe0VKreyowZaYmMJHmE9jaQVZ0t03ATGi
0ga6/PGdFN3JRzcZXg0a6oz1a8n/YICOEAVISSfZmed/JZVEDqob3En9lLWAYq/T
qNs7X6++yaRC0OKl6GOzJeYM5Y1qRTs9TSReO5KPf46abT4smeomNN1cQYDToTai
IeSiA8/KpIaEp8F+GoVxKR5bXwy9pC2602RdqohMhiN4iXODEtQ=
=rjmb
klDk/w/9HJPnOtHsITlLIWYEouV4/OqqTlfdgZlFP0hv5nHYyYbqOexGTX4YkgX4
ka2Rsw9JdXE9+LC52NnMskHm2DoDfm2+Pn3B7WNLHj0lvH/IkC++MXRl0q3kiyn/
5LLAcnk93Rr8FOqAko2qj++mswEcM3skB0EfT3gWUMcwrxXDq6kRkGzohgdq3WNJ
paTYUmjE/pvBBLUiDZkjGGX8EnImhOa3gxTJx99qN/vDi7ZZNXVUgQGPUblU86xR
oQoC15k6QvVKlTK43dFbagp1tRb2FDflnlI+8E17PPp0Hs8iWrmtGnnOtXoN2iLC
p5IsLoZ2Biy0ZHiAozpr2m/xYJCYYK/LEZhFWCZ+/C6Sli99CYv61eR69kDwz0o/
i+yjvWbewEjoSq+AAlwhRtFnltmtJ/O6CzNa3quyqNM4QX65dSKb3YjXjNoy3RI9
RCUnkdDz2TkX7qqmFiQlu7r6US5Ml2AhuCqhRoQeGZmtKx2C/G86bt5N0kzB3D9C
DeeSbmQ1NP0wpfxx3GMDU+sbKw7SPqsinWkXHFyPV7IzIlTiCG0jW7cPZcYEt8LW
+9BA7SMmR/uvm7/+yazJY70M3jgOiIh7r1mG/dTugqv+Os25+D6s6WiZkyafRvPX
8rtzmTx7c64kqAnIfUir7uQNrH6GTjjmQ5UaaWuoY13fxpGPLY4=
=bCl2
-----END PGP SIGNATURE-----

Binary file not shown.

Binary file not shown.

@ -1,5 +1,5 @@
AUX jitterentropy-rngd-1.1.0-do-not-strip-and-compress.patch 581 BLAKE2B ee6f98d762fea06504ea7157ea2b13ececeaef1ee204cf0e5d63fc0932e1c41da13b2a8ad0cb8564548fcabe1989693ed16c7d461f75844323864e457e8fb804 SHA512 7c42e8deebf0d36fdd91b879cbc28eab1a92d413f64ab5f19eeaa214b51f6e96866c1bd53fdd6c2c4e335ae156cef24d2bba4c1dd6b557d96e89b61618703241
AUX jitterentropy-rngd-initd 338 BLAKE2B a717848317980f0376058c04f53cfc7ac4e771ffbd926b36f2f5e18e121d846aa9248b38cfae7d1c6e4c2241e0c1124394d9b5b58d2d119bf455d0d8786e74df SHA512 1993262b47e703514bba9a4dff18e58ff70b6b109a2eb3097b0231467ea7f948c6fb6d0f695988de6c2d41fa2295a8a40af19124572b8e72fe09610eaf8caa39
DIST jitterentropy-rngd-1.1.0.tar.gz 25891 BLAKE2B f711b173c68b74cbc0dbac1ae1b7a2beb5352b38e411f96172aa36ac7f720f05469f5fac2fa97b3514ec11fbe2ccfe0351ee7df8f51a8b36a566635ef93e4d08 SHA512 32835475b604e502caaab9b0d1cd9fe2920c126a27841669f6cf9c717094bfd4c11feab0f9f706ee4cf4caeedf26ced7039075499a3faaf41830c72968544646
EBUILD jitterentropy-rngd-1.1.0.ebuild 599 BLAKE2B 78eec9773308331161880ec16b83108625ecae51fad2e0c5ebbc0044a2add2b69b67f691316d03e9b1cf3cbdfe9b7fa37631459a5383bfe0ab15c678cd220eaa SHA512 3dd11d7648f2ff86afd0f097a35e66bc488b56a0323c9adc74147a44dc7dd42d74f4cbefe017eda780c4d34a3337eb3faba39871027e5e6caddbd8192ded2a48
EBUILD jitterentropy-rngd-1.1.0.ebuild 605 BLAKE2B 04c2f307c31d2b26befd16f5e39d81445ae958fe7c5003363210ec25d5f00a87f0aef27f66757274f181b8303b649bf71dd0511c56eeb055bebdc94853b96d70 SHA512 7c4d42890396959d69ae8a215e9bf23ba2546655814baa7830b444208e7067fcd481cd7f3fae64b67551f457ef7fac8180e65436e44502b31be903a5599f7b4f
MISC metadata.xml 598 BLAKE2B 50854b04b1cf0b6370888000503a850d5a34b9cc49fbe917f26ff0a6d4fed2204e1b1921d06a1238c47d31fb92c82d8631a56c2fa60e6ef88b7d84aee4897aed SHA512 d13cb55c4649dff554018e04025e741c51397785f2951d1aa8ceb0f7712a2ed48c39b57ac4f6c197f8a4c96bfe8ba44023107201df5ab603d7ea2f11b0713227

@ -11,7 +11,7 @@ SRC_URI="https://github.com/smuellerDD/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.g
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="~amd64 ~mips ~x86"
IUSE=""
PATCHES=(

Binary file not shown.

@ -1,15 +1,7 @@
DIST VBoxGuestAdditions_5.2.32.iso 49620992 BLAKE2B 04853f4b9a95898263ca7238a78b5d8751882a21874e4745d675642185542eb617f2a74b3e55b4444067822511d33b6d358e37e179d1b1c6464d701a8ab45a54 SHA512 86f1d7071a9033b7826dcacbcf23822acc772d909af8a8a12345bd5fe68375677b522d0e1987f2908412d5a29369d0a1221fd099f8b692c8d25fe9cbe40fd11e
DIST VBoxGuestAdditions_5.2.36.iso 49661952 BLAKE2B 181c26b5362ebdd8508bcc5b3f75993fc6ab7036093004a614c5153a8c772e2bdaab309adc452cfe78ee09fbd528c00a875193f4183b75e3cb6ce169b4f68507 SHA512 4be8e943f61b17445b17d092db84ddd6841d933bf2b8dd1fad7cc0095d31932347f861e110917ca6d0ebec2ee62b2afa7e5977123830e50a4e0e4a6c1872e28e
DIST VBoxGuestAdditions_5.2.40.iso 49770496 BLAKE2B 4d9ca6cde78da325575f56f0b12d7beccfd09a564b98c808495ac8425f47bd0ce1b86a5cfb79c30256b36b109032013a0677ff07c45808324ca3b85efe5b7f51 SHA512 a2ea5539de454bb062dffa0b61ac4962c8932539ab0cdaae98f7703528c201bc856b0597b92c20e83fab5b97981be3811061386022ca3687d8c102983e05ec7b
DIST VBoxGuestAdditions_6.0.16.iso 77201408 BLAKE2B 713381429cbef6685c4890c47dc0896571ca24cacc96d73903cdd91220a6b5ba7c6012c69d62489eaabd1fe75dd0000a3415d7d316fbc79b3b8ac2cf45cba75a SHA512 d17de374714023b02fef76bad53a15fe4d5d4bc752e900843419e9c3ba4988bd9bdc8fd6797bb4fdfa722d0f41ff144ed6865a0778609a7aea5e96de34c7beb8
DIST VBoxGuestAdditions_6.0.20.iso 77297664 BLAKE2B 72c3e6b3c757d866bbf94cb2593b81d05362dcb1485db8412c8c3a95a7619754eeeaa75f8d813bd26bb3c27a718e3f687fb5904dd2574d29eb96988f48fcc67b SHA512 16c69ddee28650ac35ee25bead96568cdfe269042ed6a4138b5870322ff9dab405ea844d75886a0b52c44f0c47a34814a30d48734a6683df6b6ad042b1bea68d
DIST VBoxGuestAdditions_6.1.4.iso 59688960 BLAKE2B e7c86bbb2eddfc1e9dd555a5d9e5b808194a0124f0cf3bfb09aa226a89cd348cf979f523361fbd0cc400912709310592f938e56ef410a9f81c1bb514db58c2e7 SHA512 a1e8f404c3d58adc60adb6a14cecc3e56f0705bd810891038d2fd6691e9f54f61daa4ffe804c77005b2764cb7c7c8d97fb67077e05aca94cf21c4afa89cd7f4a
DIST VBoxGuestAdditions_6.1.6.iso 59760640 BLAKE2B dac4f92c851d37ad995ff631f1b7ecda702c3dce5b299232fc7ec956009fb13e09fc0e5d6980d09c4a9f1b58ab5fcff93c791ecc0fb184cefa701f072e68b87c SHA512 b87cc85d46ffcbf6ae8b21ef5932144b956f59925a1c5a87bbcc81dd9dbd845b1f3f282b92cea3dcc15d3e338e676dd58f81762e27019c1fb6736c541b1fdd9a
EBUILD virtualbox-additions-5.2.32.ebuild 710 BLAKE2B 300f594457535bad16e10b7242da27091ff0e8fe20e3db76b73f4b6a47e525f4a39f972c2ab80b0ddf6a1908d2e84996368d12e73e8feb3c7a16cee2e325f447 SHA512 ee73c7a249ae300709068273d0fbde262883334d079fe618d3fc8715112c3c52b8b07cde5229f8fe8312cc7611088ba0742fc4233a25fd75683e58dbe1376cb6
EBUILD virtualbox-additions-5.2.36.ebuild 711 BLAKE2B b26c7ff1e2302c53e08ca632ca1531b11529f714702e41ebf0c9626dd0014f7955b8f1c247592cc0ce70504defe3cf208d4104b9953358d185ed87c2d0913137 SHA512 455688eafa83a3b01af4c8c516ccb102b7f6008e9e029fb5543b843c9926bc6f59aa0d5bd2da933ffc0d3ae923d90c35171bbc1dd499983a5a5be4070be73ecb
EBUILD virtualbox-additions-5.2.40.ebuild 710 BLAKE2B 5cc278d912a575945517dca38dd421209cb449ec1a75ead026dee8bf7664f38824aea1b16e378493d61d1d01eb564fa10886aa2c5a37e5ce67c1f53b40f4c745 SHA512 a0b54219ba2d003e3af5986bec95c6aedb97aa529ab72ea5f3cc80a6b8ee457cb5d8608d1e115c8661d700e694b19533cb1a65e4f59784bc30d6b87e73c6d3d2
EBUILD virtualbox-additions-6.0.16.ebuild 768 BLAKE2B bf059ba8cc66f0cd95ed56f055a0c552621817f036996a5df95f664f7689a642453d3b065eea0b2cc510ca7a0fdcb1d39c72704e935b04ed21aa870c3a3bc8c8 SHA512 4c3281e2c7069f644e9e8b2d2ac181fe5be9b4805c7788a8009f3269595d800af17f4e97101ff3696d4a9568f104502fa162c92c3883b0808bafa3b82e07ce18
EBUILD virtualbox-additions-6.0.20.ebuild 768 BLAKE2B bf059ba8cc66f0cd95ed56f055a0c552621817f036996a5df95f664f7689a642453d3b065eea0b2cc510ca7a0fdcb1d39c72704e935b04ed21aa870c3a3bc8c8 SHA512 4c3281e2c7069f644e9e8b2d2ac181fe5be9b4805c7788a8009f3269595d800af17f4e97101ff3696d4a9568f104502fa162c92c3883b0808bafa3b82e07ce18
EBUILD virtualbox-additions-6.1.4.ebuild 763 BLAKE2B c57b3c6b7602771dc32a940bd3c770407809cd5acb5b02e80c0f9c2e5cbacd000e267a2cf4081f19ea17a4744b2e0eb7e40dde9662fc2ef00f478a83522b3dfa SHA512 eeb8c4d8333f2044e41eb908463b37508fa31a74cd4eefa09ec9da7def8790d71a9f55c7404c9d2355480b5547adcf0f5438fa35a0b0c9513307f26cf46b8ff5
EBUILD virtualbox-additions-6.1.6.ebuild 763 BLAKE2B c57b3c6b7602771dc32a940bd3c770407809cd5acb5b02e80c0f9c2e5cbacd000e267a2cf4081f19ea17a4744b2e0eb7e40dde9662fc2ef00f478a83522b3dfa SHA512 eeb8c4d8333f2044e41eb908463b37508fa31a74cd4eefa09ec9da7def8790d71a9f55c7404c9d2355480b5547adcf0f5438fa35a0b0c9513307f26cf46b8ff5
MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635

@ -1,33 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -1,33 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -1,34 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -1,34 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN=VBoxGuestAdditions
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=${MY_PN}_${MY_PV}
DESCRIPTION="CD image containing guest additions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.iso"
LICENSE="GPL-2+ LGPL-2.1+ MIT SGI-B-2.0 CDDL"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
IUSE=""
RESTRICT="mirror"
RDEPEND="!app-emulation/virtualbox-bin
!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
src_unpack() {
return 0
}
src_install() {
insinto /usr/share/${PN/-additions}
newins "${DISTDIR}"/${MY_P}.iso ${MY_PN}.iso
}

@ -4,35 +4,17 @@ AUX vboxwebsrv-initd 674 BLAKE2B be1cb2574ff5e9e1efc6a137d18e67b2ecbe0e94b6a3a2d
AUX virtualbox-bin-3-wrapper 2931 BLAKE2B bb8a72f749996b945d42a3d94ab895ee5b234bed907e6d1e055993f34a2459720bd8b0c56b61eae9c2e159e2b820d5117a6f9bed6ebfc3b327fa133c8f3aa812 SHA512 adb6ba2b3252b19b4c0331c10a025d05fd2399642530ba9aec2efa2dc8dbea4188a95806935532ad8229db29f0767c3098ef7646204f5e540e291ceb350b76ac
AUX virtualbox-bin-config 28 BLAKE2B 86d452db92ceb19e9389ca83c800955066b84f4c3a289ff56cd0d7638a0a3d47891e670e070be9f3bcc30d730982237fc9211d1a9bbdbf8429c7ca80d25fbcc1 SHA512 8086ef107aff0aa3e17f5fcb8ee5de4dd8a24cb119c3523e3e3a302819eb4258328adead1b6f40b96706539f4e1c43dbd5c055a16a304ac29f7f302ebf2e4c4c
AUX virtualbox-bin.desktop-2 205 BLAKE2B cb0ab2e87d0e82e88656f3288eb4af255fd1c9f732dbd6e1aa545d30d4176526fa38aebd3eccb4acb46c638056504be37231dc042fa030fcb04020e00d7d401c SHA512 7e9555aaa317e1cb551e5ff591b9d20bbb76a738f9e923c13d206e02c1e6bfc8f4eb17b498b235ac0aa2062e4acbd5f24d2522de2da3cff2e12c264875bc476d
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.32-132073.tar.gz 26917593 BLAKE2B e52c746299d32ae908892791d8fb9b4dda264875e66bf0459adfbc64381001e9be1800a8ac93bbea14dceb47a0e81cf79c29a4c0796f7c4a30021e4beb036cfa SHA512 382ed45a90981397da7d46925a73c5aa0cc870fe41992c87ccd3d3a33420b199e4a0a19761a6c6ebeacf93450e2937d81befb6fdaf7fb7961827e23f0f24c645
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.36-135684.tar.gz 26989444 BLAKE2B fae15190bb434918e1ee15582c261b0bf33fbffa0ada922708892cc63ef8ca007decc7611394b056207df4f3ceb9fef781ace6f05e357e4849ae619ccc810b84 SHA512 c2a8f905ddde2c75a852e0391cfef252d45c6582994be53de8198c5c6276fe1827610620ae7e515c7cd7358ae8c9ab49766a8d968ea371895e7553955fd9cdec
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.40-137108.tar.gz 26737982 BLAKE2B 4a050067c0111929fe73695ec4f057e6b33cb224c034ca564beb65cc4fb73491b2c03e0b88ddb77ede5fbd392b0e0c9eae3226f937998b2c06484ff083b4a714 SHA512 5e3e528707b7f3eab19db5358258a69518996a98364e57df9853a549d7310b8db58b40041470f263b212fe6e2bb163e745a3b9b7567c681834d99442289407f4
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.16-135674.tar.gz 23164167 BLAKE2B 59885f2710e8169c28cc1f5e0e9edb3b761030aee1eeeb645bed1085e145a02fb2e518108cf4426620a369b17b6ce7ff4b5c442ef69b29b33257993603874d7c SHA512 de4732d1c3ef5589c3af388c71003a1a1b4b48c7c47f26ab8b5950ccd2b906c3785af2e310df27e8f9b83ecf572857c4178c8f7cb96d3a3bca103da4fbc036ea
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.20-137117.tar.gz 23238318 BLAKE2B 160e92cb889c765ae28eccb535478af81377d6ce2cadde53e572c41e52f230ca266975b8fe37db0743450bb9e90b23d2fe6d1974496bbb93280381de1379cdd6 SHA512 26f81b5ca3aa5c8423ea42cd1d650657351114f46373d9ca7fa08895865229008d1dff225b9caae6a603758da1c15d2b025da6add86fded377a2700bdbf9b65c
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.4-136177.tar.gz 10997977 BLAKE2B 066a0302b53a62ef27f5c0fafc499e8fd8f253807bc8808e88c32a4b71872c0cc8a57ffc6727f9e2bf7f6ba1b4e1d41c3001b8e9b3e490acfd4339bf8b02dfdd SHA512 373aa70182c4f86de14c40026f1d435832f2f377a8fe422fcbc3644b5e6a5f7abfc56df3f4b9acf1fa70cccb0bc483f12b6f70f6009a725ca0fa1b7e38dbfeab
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.6-137129.tar.gz 10999815 BLAKE2B f7c0e3ec1ba3c2eb991f76a574c1605eebc0a2a40751f6c822f37cbff743b642c9c09ce8dcebc725bdf51f2099dc044aed6486909ab7dd9d62335a1dd483bfb1 SHA512 938564a68e7b18a83022329217c2304470a3682ccd5a837be3caa1b802d3c7bed450428c1d3176fac571eb8a53dca2405ca53853163ad613ef056bc3b3beef68
DIST VirtualBox-5.2.32-132073-Linux_amd64.run 83854803 BLAKE2B 3522df31f4f98efcd40adcaaf8ac458078adf0bbfed96c7d309d4726ddb8b8dd78eef830b3cfcb2f1fa6329bcc30ea2449f5c88cab66fa0c7d20818d7b5aa07a SHA512 aea9b27793f3363eba2ed627cc3b35ca51445946e6e9f20382fb3034afbb7470d27fdc476066c04acc595690a9e34109e8b8ce6dcab10fdc990b241b24ec47fb
DIST VirtualBox-5.2.32-132073-Linux_x86.run 82943439 BLAKE2B 31a22e8b52a53d6948a5af533b5c8f374d703c44736678c0bbe6fd9b5298bed4817996c32902a69c2c59dbf751cea04f22beb7203deaeadf79d2424e123e9d37 SHA512 05f99b673224c2b3d94b0d568067ae5ee74200c88a3b7f6665988a9d0c35f69f81c07292b838d07c07fd6d5484979615fd255650b138387501a593f3833b9071
DIST VirtualBox-5.2.36-135684-Linux_amd64.run 83885521 BLAKE2B 6940d009069a80f46f0e568732e81e0151e18f7c24c5ff44dab3b305e5f21d4cf729ce162f67b21b4f034b8dc7ab4df4a07a24ab00a7349083bb15d3af27c0c4 SHA512 288a4ec1ba2f245771c87034876e1cfa59ea3eaed124bd77ffed20fadc54dbf3071624a94fefeb26a7d356fb55fe206d11510136194e15b10fa9585c8d5efe73
DIST VirtualBox-5.2.36-135684-Linux_x86.run 82974158 BLAKE2B d2c44159f00111438c51c60d4356247693c6773e8b244fcdf24cd2029b423c36edbea20e2130cf414ca5f076d04b1c085e9fac9a6b8504a991dcf76e61feb2c0 SHA512 888fafda0986066edf32c208503857ce58f220251d142ac0a327989d0d24987b2d69798143142e749c49cf37fddec23b3fe624503914327d0c53e3794db2d688
DIST VirtualBox-5.2.40-137108-Linux_amd64.run 83865043 BLAKE2B d44f3ee6b05446fbe36b5672ec00d2ffcf5b8592ebfdfc6d091dd1bf92d821644976bad55ca390ad834d274dbe738341457888fb78030de9ddadd680362c4b11 SHA512 1f068f776ef65ed930eed0ecc6304a374ea36339c21dfc7b41a61b6e82d61f5c8de13f4b93f19500f9eccbe9e3d0f1a816c46b7b7b4d5ed195ce1ddc45c57e7f
DIST VirtualBox-5.2.40-137108-Linux_x86.run 82994639 BLAKE2B 4f90a72d5d8952ae05bff9c50262e377c0ffbc134741eddc0aa6dccd9a575de746bcdcf0e0fc2db8f5ee36e730bcf814e0fd1291a739dd33260be7219f11c44a SHA512 580f8a6c7a1fe04132789b60ce4cb4db39f980590731e18b9c2cd7727d59efdd5250fbe80704a4542f8876d8fdc89cc048b669259e8170a28350157901bc14c4
DIST VirtualBox-6.0.16-135674-Linux_amd64.run 127251928 BLAKE2B a0aa634be851ba5620ae89b0c324204aa4a069c1480fe0d7effcb3796900b688d39f1204778e16e407c266d06583d3531e7831b789de238bab380160a9821036 SHA512 d3cdd40a5f7d2bc1537244db1dd5c5cb58a5b7df527952c1abcd5bd701afd59dd77ec1aa90489cd7640fe88a01aac9b20cc8522750f534a5d11af6f7e125482c
DIST VirtualBox-6.0.20-137117-Linux_amd64.run 127231448 BLAKE2B 2fa6307add56b318708cdb88615aa15e39577f43c0d65e74037d6f184a3937144ae8f5abcf217809776dd19e4f3141e5bb78adadebc0be63d47bc69786cfa0c7 SHA512 9ac9b893c7cad4dc58833f6132ec0da6564a11112d8bef881bf1dab584abf046e167513c2e4c4ed3c5ce2e4b845c9cf99721fda657b2993b5692eb4ca15d2f5b
DIST VirtualBox-6.1.4-136177-Linux_amd64.run 117185995 BLAKE2B 4ce483efd27c3183024f7baa3e07c1d6484767ba957582cad3111359c9d5b24b293f3b860ea566eb1bbc383710cb81b27b4e39c2aa24c9cc56dc6ba593fd1adb SHA512 14609ff7c76e93b561763456fc92dc3d3ed8d0c556af1ea0906abfb88a8fce9b8da6f392f3146945d03c7874f78d3f1f61df563c9f0160ef3315f30c286316e6
DIST VirtualBox-6.1.6-137129-Linux_amd64.run 110530008 BLAKE2B 9f2f2e65ace7bc5919dcaba23b0a979a1b246af65722fd955dfb6110bda0fc119f9388e8d404bbdbf00bd8a96c25c505dc7a3589fc98680cdb115f1c1327936d SHA512 a4ea1a37bcbc70a9be3bf201dac06e31bb5d8e4dd9d9f04fb8f2fc6387c6ae165c0812d357062e1593a2d5a6d7902ba068984bc8658750df49d991025b96dc05
DIST VirtualBoxSDK-5.2.32-132073.zip 10200195 BLAKE2B 0de34e166b94889c605014233142887e7a8857d1915866156a0cc63850937730ec063e63b550f0d39ad241259158f033b028dbab7eec3f6f38c3715139413b3a SHA512 ccbe2af819bff46055bd6f079a03d69e721a09286e83d4f650583bc7692f5d19ae1a725cf3a6eb1b75167a2c73ff2e020d1f932bf9cfeee9ee709d1174c4cabf
DIST VirtualBoxSDK-5.2.36-135684.zip 10203411 BLAKE2B 241dca39482d620063476b86514d3b71d69b3187be15fdf8774ee3fc34ff98ac66ba97baebe4cc107727a07594d3c124c05867a7f62661cf11bc6bd43528cdba SHA512 646bc84b605c236ecf9c38fd14cfc5f2d1ddf72a874482dd9a0f799bc099e3c2ca11512607d988c411495fcf12495ea49e0fabea2ca04a22e73efecb94928190
DIST VirtualBoxSDK-5.2.40-137108.zip 10201020 BLAKE2B db4a2fd69fdc3ab4201c086c15f14144dd1f75e87d13c4493aaeaf2b69e06a599623416e17a3715c9836b7b7bf36aaba34c06e27ddd70900ca6c5fdd43e311e1 SHA512 15bf89ca622396a5b2f66fb42762959548e8d0b2e0bd3b63223bcccff449f5c094af0315deecae167e105276915fb6b2e61a1f71465be4e85b52a58e313a2830
DIST VirtualBoxSDK-6.0.16-135674.zip 10803791 BLAKE2B 2b8507cf5143370ab753f55b27c1890ded25b1ed28457bb8ba094f2b2fa7e813d0605a25c5adbcbe828aec34c9fe7526e7a60c2e1cfc1085a611959474016280 SHA512 c7b811b89d6fa892c86c60e41922051d75ff079c9868eaf3b454aca73b3de77aa9361422216668203d105c910fffa94bd7b4bae4243c769660209c979009d7fe
DIST VirtualBoxSDK-6.0.20-137117.zip 10803680 BLAKE2B aaec9c6b9f0d758528f8490920bc98c594e8aa2bd241f941e9093553d5353b4999f4041519198740344da92af3d7fb7992dcb6945a55d5471d9952a76daea4f5 SHA512 b2574f7d93c3d92a09a2cd18f68db3ac78d5c51d454cc322800b0d8555c4fdb541b5c797e11795dda51f5998f98dc9ed4839b836f4c64f8f95211b6ae71c198d
DIST VirtualBoxSDK-6.1.4-136177.zip 11173848 BLAKE2B 816b18bcfe2cde169dca3c5f3e89854b61f2bb7b59d28749f994c8f9a60e18c5f1cbe659c53c7a3b49a0bcb90959c0cd0b36c2254879f735e835b463927b2190 SHA512 e7b2a0dc892a9989cd0142edad131d0cf4240029d98f80a230e3e401be3a6f1d8c82c810b19b7e865946145b77cd87d91602adc640c182a2dfbdae1c21821a48
DIST VirtualBoxSDK-6.1.6-137129.zip 11176791 BLAKE2B 9ad2592604e9b007c8d302d8efb67a3b5e069549bca7e6330a417d1c719e2de533e0f429909f95cfb77a5633eb806955c4ae4113ad6707af33854b7605215531 SHA512 d46549657fd8f2eb95196c310a9d81163fb231ce663ac7e24e1e8ac15b5830b25188c547db91fdca5b9524c2ba340f0b638e34863f8e26b4d118bf832b7f99bf
EBUILD virtualbox-bin-5.2.32.132073.ebuild 8328 BLAKE2B 7cbf1dc1c97c89206aed7d59ea9af49c1ed43335f98dd954001b891692f20ac77db051c1d0c9fa45094d99f5aa72cfb15a07e853a9c7542cabd8837c826adab1 SHA512 eaef0196a2d0bc5b0b50ba04125c33100821018a91149fd07e97e4cb85082f4d2df78536343905756608feb89fcb3b87a1a9aee07043555e72dde6b91c4f9c9b
EBUILD virtualbox-bin-5.2.36.135684.ebuild 8329 BLAKE2B 83fdc9985fc0ce401ecf69e178e57a928c8befcd46645f7f84c1c27b83dc696183b9a89b70f408fd8c9ab7744625f3ef98d53042744ad02f68a6fb6d81350389 SHA512 bfa64d3d0c43ffdad8fa1ba95325f1cee497478c6750deaf1e8d23f8ce0d5abcc272db2503f2b524135af29840df5a65295018547138a0d42c1763cbf5d11549
EBUILD virtualbox-bin-5.2.40.137108.ebuild 8328 BLAKE2B 374f7989bef23f23edda495f8cb44b561d4174b4e90c3eeef3ee7f7865f6a2532532fb8d66c9f42bd4be9fe8042d3162f4f83b3d1ac9f322b2965ce6da69b74a SHA512 86301b658c8266ffecdf87cca476be3041f7ed89aaeb878b4abd2c0cfb8c9e1519b369ceb06c75b582f208e1fb7305f0fac9e34418972d0f50f656fa1fb84e4c
EBUILD virtualbox-bin-6.0.16.135674-r1.ebuild 8513 BLAKE2B a7f8888ac85d53c08e8c70602c951e1c0432c5b908d29e1a1e9dfe762778f5d11d6e28b6bd392c6a9d40d00cd1c1a964fe6400b79d0c59422d950ef53b38c9ff SHA512 1f6fe943790a95332b7fe3c240fc355b842dd34e193605f73171507fca7fec77cc0da322cc0815580930c29a21594dfbe2305bf831ef49fb280a72e9fef23a1f
EBUILD virtualbox-bin-6.0.20.137117.ebuild 8513 BLAKE2B a7f8888ac85d53c08e8c70602c951e1c0432c5b908d29e1a1e9dfe762778f5d11d6e28b6bd392c6a9d40d00cd1c1a964fe6400b79d0c59422d950ef53b38c9ff SHA512 1f6fe943790a95332b7fe3c240fc355b842dd34e193605f73171507fca7fec77cc0da322cc0815580930c29a21594dfbe2305bf831ef49fb280a72e9fef23a1f
EBUILD virtualbox-bin-6.1.4.136177-r1.ebuild 8513 BLAKE2B fd3084df313b23a8c45282bc0b0aeabc3e1796182f2388b255c6f2af83c7808995f5c6beacc222e8bc49d500ccddf8b0b8ea7fa3fb237f83363894a28231cfa7 SHA512 413336dc5117771963b1ddc5601a752240d41f5f990103c511639ad1aa716639eca1ff827229a4db0b95ae7a552f1a6ffd95a09228a1e89ca899361582f2b9d3
EBUILD virtualbox-bin-6.1.6.137129.ebuild 8513 BLAKE2B fd3084df313b23a8c45282bc0b0aeabc3e1796182f2388b255c6f2af83c7808995f5c6beacc222e8bc49d500ccddf8b0b8ea7fa3fb237f83363894a28231cfa7 SHA512 413336dc5117771963b1ddc5601a752240d41f5f990103c511639ad1aa716639eca1ff827229a4db0b95ae7a552f1a6ffd95a09228a1e89ca899361582f2b9d3
MISC metadata.xml 599 BLAKE2B 2af2e738880f4fb9b684baa124df483d90548177fc8f5a8223dc13a5c96a3bf7f84754a41c4d2bd5821140dd2479874b4d7c8b99b04a83febc5027f4370fb70f SHA512 4306caf88c97be9f63238727dd70ad834011dc33650aa809eaf4ac285febecd7604dc030b285a31167ecb338434fc68eff011528533cda53acdd72ad6a5b5aa0

@ -1,287 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
LICENSE="GPL-2 PUEL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so VBoxPython2_7.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
fi
doins -r *
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
fperms 4750 /opt/VirtualBox/VBoxNetDHCP
fperms 4750 /opt/VirtualBox/VBoxNetNAT
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} VirtualBox; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_desktop_database_update
gnome2_icon_cache_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -1,287 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
LICENSE="GPL-2 PUEL"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so VBoxPython2_7.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox VBoxKeyboard.so
fi
doins -r *
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,NetAdpCtl,NetDHCP,NetNAT,TestOGL,ExtPackHelperApp}; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
fperms 4750 /opt/VirtualBox/VBoxNetAdpCtl
fperms 4750 /opt/VirtualBox/VBoxNetDHCP
fperms 4750 /opt/VirtualBox/VBoxNetNAT
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} VirtualBox; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_desktop_database_update
gnome2_icon_cache_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_desktop_database_update
}

@ -1,292 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
KEYWORDS="~amd64" #~x86
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
#x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
LICENSE="GPL-2 PUEL"
SLOT="0"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
acct-group/vboxusers
~app-emulation/virtualbox-modules-${MAIN_PV}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so
fi
doins -r *
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

@ -1,292 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit xdg-utils gnome2 pax-utils python-r1 udev unpacker eapi7-ver
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
KEYWORDS="~amd64" #~x86
fi
VBOX_BUILD_ID="$(ver_cut 4)"
VBOX_PV="${MY_PV}-${VBOX_BUILD_ID}"
MY_P="VirtualBox-${VBOX_PV}-Linux"
# needed as sometimes the extpack gets another build ID
EXTP_PV="${VBOX_PV}"
EXTP_PN="Oracle_VM_VirtualBox_Extension_Pack"
EXTP_P="${EXTP_PN}-${EXTP_PV}"
# needed as sometimes the SDK gets another build ID
SDK_PV="${VBOX_PV}"
SDK_P="VirtualBoxSDK-${SDK_PV}"
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="amd64? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_amd64.run )
https://download.virtualbox.org/virtualbox/${MY_PV}/${EXTP_P}.vbox-extpack -> ${EXTP_P}.tar.gz"
#x86? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}_x86.run )
LICENSE="GPL-2 PUEL"
SLOT="0"
IUSE="+additions +chm headless python vboxwebsrv rdesktop-vrdp"
RESTRICT="bindist mirror"
if [[ "${PV}" != *beta* ]] ; then
SRC_URI+="
sdk? ( https://download.virtualbox.org/virtualbox/${MY_PV}/${SDK_P}.zip )"
IUSE+=" sdk"
fi
DEPEND="app-arch/unzip
${PYTHON_DEPS}"
RDEPEND="!!app-emulation/virtualbox
!app-emulation/virtualbox-additions
acct-group/vboxusers
~app-emulation/virtualbox-modules-${MY_PV,,}
!headless? (
dev-libs/glib
media-libs/fontconfig
media-libs/freetype
media-libs/libpng
media-libs/libsdl[X]
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXfixes
x11-libs/libXft
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
x11-libs/libXrender
chm? ( dev-libs/expat )
)
dev-libs/libxml2
sys-fs/lvm2
x11-libs/libXau
x11-libs/libX11
x11-libs/libXt
x11-libs/libXmu
x11-libs/libSM
x11-libs/libICE
x11-libs/libXdmcp
${PYTHON_DEPS}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
S="${WORKDIR}"
QA_PREBUILT="opt/VirtualBox/*"
PYTHON_UPDATER_IGNORE="1"
src_unpack() {
unpack_makeself ${MY_P}_${ARCH}.run
unpack ./VirtualBox.tar.bz2
mkdir "${S}"/${EXTP_PN} || die
pushd "${S}"/${EXTP_PN} &>/dev/null || die
unpack ${EXTP_P}.tar.gz
popd &>/dev/null || die
if [[ "${PV}" != *beta* ]] && use sdk ; then
unpack VirtualBoxSDK-${SDK_PV}.zip
fi
}
src_configure() {
:;
}
src_compile() {
:;
}
src_install() {
# create virtualbox configurations files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-config" vbox.cfg
if ! use headless ; then
newmenu "${FILESDIR}"/${PN}.desktop-2 ${PN}.desktop
# set up symlinks (bug #572012)
dosym ../../../../opt/VirtualBox/virtualbox.xml /usr/share/mime/packages/virtualbox.xml
local size ico icofile
for size in 16 24 32 48 64 72 96 128 256 ; do
pushd "${S}"/icons/${size}x${size} &>/dev/null || die
if [[ -f "virtualbox.png" ]] ; then
doicon -s ${size} virtualbox.png
fi
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="virtualbox-${ico}.png"
if [[ -f "${icofile}" ]] ; then
doicon -s ${size} ${icofile}
fi
done
popd &>/dev/null || die
done
doicon -s scalable "${S}"/icons/scalable/virtualbox.svg
insinto /usr/share/pixmaps
newins "${S}"/icons/48x48/virtualbox.png ${PN}.png
fi
pushd "${S}"/${EXTP_PN} &>/dev/null || die
insinto /opt/VirtualBox/ExtensionPacks/${EXTP_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
popd &>/dev/null || die
rm -rf "${S}"/${EXTP_PN}
insinto /opt/VirtualBox
dodir /opt/bin
doins UserManual.pdf
if [[ "${PV}" != *beta* ]] && use sdk ; then
doins -r sdk
fi
if use additions; then
doins -r additions
fi
if use vboxwebsrv; then
doins vboxwebsrv
fowners root:vboxusers /opt/VirtualBox/vboxwebsrv
fperms 0750 /opt/VirtualBox/vboxwebsrv
dosym ../../opt/VirtualBox/VBox.sh /opt/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
if use rdesktop-vrdp; then
doins rdesktop-vrdp
doins -r rdesktop-vrdp-keymaps
fperms 0750 /opt/VirtualBox/rdesktop-vrdp
dosym ../../opt/VirtualBox/rdesktop-vrdp /opt/bin/rdesktop-vrdp
fi
if ! use headless && use chm; then
doins kchmviewer VirtualBox.chm
fowners root:vboxusers /opt/VirtualBox/kchmviewer
fperms 0750 /opt/VirtualBox/kchmviewer
fi
# This ebuild / package supports only py2.7. When py3 comes is unknown.
# The compile phase makes VBoxPython2_7.so.
# py3 support would presumably require a binary pre-compiled by py3.
use python && doins VBoxPython.so
rm -rf src rdesktop* deffiles install* routines.sh runlevel.sh \
vboxdrv.sh VBox.sh VBox.png vboxnet.sh additions VirtualBox.desktop \
VirtualBox.tar.bz2 LICENSE VBoxSysInfo.sh rdesktop* vboxwebsrv \
webtest kchmviewer VirtualBox.chm vbox-create-usb-node.sh \
90-vbox-usb.fdi uninstall.sh vboxshell.py vboxdrv-pardus.py \
VBoxPython?_*.so
if use headless ; then
rm -rf VBoxSDL VirtualBox{,VM} VBoxKeyboard.so
fi
doins -r *
# create symlinks for working around unsupported $ORIGIN/.. in VBoxC.so (setuid)
dosym ../VBoxVMM.so /opt/VirtualBox/components/VBoxVMM.so
dosym ../VBoxREM.so /opt/VirtualBox/components/VBoxREM.so
dosym ../VBoxRT.so /opt/VirtualBox/components/VBoxRT.so
dosym ../VBoxDDU.so /opt/VirtualBox/components/VBoxDDU.so
dosym ../VBoxXPCOM.so /opt/VirtualBox/components/VBoxXPCOM.so
local each
for each in VBox{Manage,SVC,XPCOMIPCD,Tunctl,TestOGL,ExtPackHelperApp} $(usex headless '' VirtualBox) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 0750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
# VBoxNetAdpCtl and VBoxNetDHCP binaries need to be suid root in any case..
for each in VBoxNet{AdpCtl,DHCP,NAT} $(usex headless '' VirtualBoxVM) ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4750 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
if ! use headless ; then
# Hardened build: Mark selected binaries set-user-ID-on-execution
for each in VBox{SDL,Headless} ; do
fowners root:vboxusers /opt/VirtualBox/${each}
fperms 4510 /opt/VirtualBox/${each}
pax-mark -m "${ED%/}"/opt/VirtualBox/${each}
done
dosym ../VirtualBox/VBox.sh /opt/bin/VirtualBox
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxSDL
else
# Hardened build: Mark selected binaries set-user-ID-on-execution
fowners root:vboxusers /opt/VirtualBox/VBoxHeadless
fperms 4510 /opt/VirtualBox/VBoxHeadless
pax-mark -m "${ED%/}"/opt/VirtualBox/VBoxHeadless
fi
exeinto /opt/VirtualBox
newexe "${FILESDIR}/${PN}-3-wrapper" "VBox.sh"
fowners root:vboxusers /opt/VirtualBox/VBox.sh
fperms 0750 /opt/VirtualBox/VBox.sh
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxManage
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxVRDP
dosym ../VirtualBox/VBox.sh /opt/bin/VBoxHeadless
dosym ../VirtualBox/VBoxTunctl /opt/bin/VBoxTunctl
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=/opt/VirtualBox" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
local udevdir="$(get_udevdir)"
insinto ${udevdir}/rules.d
doins "${FILESDIR}"/10-virtualbox.rules
sed "s@%UDEVDIR%@${udevdir}@" \
-i "${ED%/}"${udevdir}/rules.d/10-virtualbox.rules || die
# move udev scripts into ${udevdir} (bug #372491)
mv "${ED%/}"/opt/VirtualBox/VBoxCreateUSBNode.sh "${ED%/}"${udevdir} || die
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
}
pkg_postinst() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb
elog ""
if ! use headless ; then
elog "To launch VirtualBox just type: \"VirtualBox\""
elog ""
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Please visit http://www.virtualbox.org/wiki/Editions for"
elog "an overview about the different features of ${PN}"
elog "and virtualbox-ose"
if [ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_icon_cache_update
xdg_desktop_database_update
xdg_mimeinfo_database_update
}

@ -1,15 +1,7 @@
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.32-132073.tar.gz 26917593 BLAKE2B e52c746299d32ae908892791d8fb9b4dda264875e66bf0459adfbc64381001e9be1800a8ac93bbea14dceb47a0e81cf79c29a4c0796f7c4a30021e4beb036cfa SHA512 382ed45a90981397da7d46925a73c5aa0cc870fe41992c87ccd3d3a33420b199e4a0a19761a6c6ebeacf93450e2937d81befb6fdaf7fb7961827e23f0f24c645
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.36-135684.tar.gz 26989444 BLAKE2B fae15190bb434918e1ee15582c261b0bf33fbffa0ada922708892cc63ef8ca007decc7611394b056207df4f3ceb9fef781ace6f05e357e4849ae619ccc810b84 SHA512 c2a8f905ddde2c75a852e0391cfef252d45c6582994be53de8198c5c6276fe1827610620ae7e515c7cd7358ae8c9ab49766a8d968ea371895e7553955fd9cdec
DIST Oracle_VM_VirtualBox_Extension_Pack-5.2.40-137108.tar.gz 26737982 BLAKE2B 4a050067c0111929fe73695ec4f057e6b33cb224c034ca564beb65cc4fb73491b2c03e0b88ddb77ede5fbd392b0e0c9eae3226f937998b2c06484ff083b4a714 SHA512 5e3e528707b7f3eab19db5358258a69518996a98364e57df9853a549d7310b8db58b40041470f263b212fe6e2bb163e745a3b9b7567c681834d99442289407f4
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.16-135674.tar.gz 23164167 BLAKE2B 59885f2710e8169c28cc1f5e0e9edb3b761030aee1eeeb645bed1085e145a02fb2e518108cf4426620a369b17b6ce7ff4b5c442ef69b29b33257993603874d7c SHA512 de4732d1c3ef5589c3af388c71003a1a1b4b48c7c47f26ab8b5950ccd2b906c3785af2e310df27e8f9b83ecf572857c4178c8f7cb96d3a3bca103da4fbc036ea
DIST Oracle_VM_VirtualBox_Extension_Pack-6.0.20-137117.tar.gz 23238318 BLAKE2B 160e92cb889c765ae28eccb535478af81377d6ce2cadde53e572c41e52f230ca266975b8fe37db0743450bb9e90b23d2fe6d1974496bbb93280381de1379cdd6 SHA512 26f81b5ca3aa5c8423ea42cd1d650657351114f46373d9ca7fa08895865229008d1dff225b9caae6a603758da1c15d2b025da6add86fded377a2700bdbf9b65c
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.4-136177.tar.gz 10997977 BLAKE2B 066a0302b53a62ef27f5c0fafc499e8fd8f253807bc8808e88c32a4b71872c0cc8a57ffc6727f9e2bf7f6ba1b4e1d41c3001b8e9b3e490acfd4339bf8b02dfdd SHA512 373aa70182c4f86de14c40026f1d435832f2f377a8fe422fcbc3644b5e6a5f7abfc56df3f4b9acf1fa70cccb0bc483f12b6f70f6009a725ca0fa1b7e38dbfeab
DIST Oracle_VM_VirtualBox_Extension_Pack-6.1.6-137129.tar.gz 10999815 BLAKE2B f7c0e3ec1ba3c2eb991f76a574c1605eebc0a2a40751f6c822f37cbff743b642c9c09ce8dcebc725bdf51f2099dc044aed6486909ab7dd9d62335a1dd483bfb1 SHA512 938564a68e7b18a83022329217c2304470a3682ccd5a837be3caa1b802d3c7bed450428c1d3176fac571eb8a53dca2405ca53853163ad613ef056bc3b3beef68
EBUILD virtualbox-extpack-oracle-5.2.32.132073.ebuild 1013 BLAKE2B 822e606ede4d2981350c5a553af7632bb310ad32bb57bd6ecd6c65c9c105f3c571243df92c0be0400b483488e063f6f8def5dd7c63ab2fb5b936bccb26cfb00e SHA512 5d68098ef54662639f62de3262297e912d8b786a9509c5692363830a2f343d6ff5f217bf8db25f53dd7d9f38a86a354de8948e920437acc0fa70f4ba9fdb5a07
EBUILD virtualbox-extpack-oracle-5.2.36.135684.ebuild 1014 BLAKE2B 98430a4df92cb561f976e21c54549b34bb6667ca8e11b8cd05fae0e143bacb5f558d9714454f4d2c7dcdc3e118c436a3245e81b8964ca006c713dfa1db620744 SHA512 aa348126bfa07bada186d37b61cb381c72259cb91649c269115aa5323e8f677add4174b7e6a6319c7b1eb116ef73d14eeef81dc59ec327a6a60e249516a7fa6e
EBUILD virtualbox-extpack-oracle-5.2.40.137108.ebuild 1013 BLAKE2B 5fbd8cd2a629c410b9d06669cab58e7bfcb7bd05ff0585cfe60e786a9edf121408ce040a47b96b2f0648ae30a5d97e02cd081dd73164b3233d6172693b562891 SHA512 4d8b9d7223797ba02c71d213d6e690cfc272945c74003e7aee5991136d484359d06f825f8c1963533e9f8af6f0471da963dab65441abc81defcd2e0aa036f187
EBUILD virtualbox-extpack-oracle-6.0.16.135674.ebuild 1073 BLAKE2B d8455cc34906468bcca74b6b97d036697f73ccaa7a9e4dd8e75c0788d77992fa47cf17b36af62252d1ab60d414139d2e6d91573205e511bdab74811dea664fae SHA512 be6697071823d650e389c892bf09fb84b5aa5ca98211ee2b13e9af3aaa5182890ab3f1d3b7fc004c9995c645e9c2a2a279dd2c8676ced2802406a7ce9d1e46a6
EBUILD virtualbox-extpack-oracle-6.0.20.137117.ebuild 1073 BLAKE2B d8455cc34906468bcca74b6b97d036697f73ccaa7a9e4dd8e75c0788d77992fa47cf17b36af62252d1ab60d414139d2e6d91573205e511bdab74811dea664fae SHA512 be6697071823d650e389c892bf09fb84b5aa5ca98211ee2b13e9af3aaa5182890ab3f1d3b7fc004c9995c645e9c2a2a279dd2c8676ced2802406a7ce9d1e46a6
EBUILD virtualbox-extpack-oracle-6.1.4.136177.ebuild 1068 BLAKE2B 33ade4b37520ea9e963ccdb462ab3e84b9670440490d30eed75dadf10facdbca1573e438d011365c8489240c06cb9ec6c208c1cc2197ad9f40e8623afcef9fa6 SHA512 0bf4c4bb7bde40d808056b2ac8877bda00c5e529f3056f1e476222ab7c8bbcb0eb6478c3636e012037c00407ae9b9a3f47271742272fa9262270b435a3312611
EBUILD virtualbox-extpack-oracle-6.1.6.137129.ebuild 1068 BLAKE2B 33ade4b37520ea9e963ccdb462ab3e84b9670440490d30eed75dadf10facdbca1573e438d011365c8489240c06cb9ec6c208c1cc2197ad9f40e8623afcef9fa6 SHA512 0bf4c4bb7bde40d808056b2ac8877bda00c5e529f3056f1e476222ab7c8bbcb0eb6478c3636e012037c00407ae9b9a3f47271742272fa9262270b435a3312611
MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635

@ -1,42 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -1,42 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -1,43 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -1,43 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit multilib
MAIN_PV="$(ver_cut 1-3)"
if [[ ${PV} = *_beta* ]] || [[ ${PV} = *_rc* ]] ; then
MY_PV="${MAIN_PV}_$(ver_cut 5-6)"
DEP_PV="${MY_PV}"
MY_PV="${MY_PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
else
MY_PV="${MAIN_PV}"
DEP_PV="${MAIN_PV}"
fi
VBOX_BUILD_ID="$(ver_cut 4)"
MY_PN="Oracle_VM_VirtualBox_Extension_Pack"
MY_P="${MY_PN}-${MY_PV}-${VBOX_BUILD_ID}"
DESCRIPTION="PUEL extensions for VirtualBox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.vbox-extpack -> ${MY_P}.tar.gz"
LICENSE="PUEL"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
IUSE=""
RESTRICT="bindist mirror strip"
RDEPEND="~app-emulation/virtualbox-${DEP_PV}"
S="${WORKDIR}"
QA_PREBUILT="/usr/lib*/virtualbox/ExtensionPacks/${MY_PN}/.*"
src_install() {
insinto /usr/$(get_libdir)/virtualbox/ExtensionPacks/${MY_PN}
doins -r linux.${ARCH}
doins ExtPack* PXE-Intel.rom
}

@ -6,23 +6,13 @@ AUX virtualbox-guest-additions-6.0.12-linux-5.3+-compatibility.patch 2951 BLAKE2
AUX virtualbox-guest-additions-8.initd 538 BLAKE2B f720a0f9de10c5240f1ac8a590c4e5de2ada767a06341f9259a9e491660e796640dd4a251fbbf85f66786b8ec829357aa51546e502ca99452fa998ce20031637 SHA512 e01579b0ce980517a7b9e163915977a58c73594cf4c8484d20941449b9a21a4346ab1bb031b248ee438b350fa23b4bc78a1d6e501986b329564a4df487f5d3ca
AUX virtualbox-guest-additions.service 411 BLAKE2B f5f1c24a94764ca72a04879c27cd9fdc1e0c8a1440ac87674dad44a1493a9347e6e2b351ae2b71e050ba06ae9848168220d62981a9e0c984ea68bf48ea06b485 SHA512 b6226146f3591a778551e94ae2661e2ae3c6b761d20600d741eaaa03f43f0a2b841d2a44d9eec3a3768edb23b021cee94c7849d998ee4104ad60dad2df88df83
AUX xorg.conf.vbox 274 BLAKE2B 3a3035fcbdbd5810c54505f5a5e6deefa1540e5e01a038babb62a40bd5b2de2dc5b228cabe55612d92a522e6ae92aa7ff4ff2ab26772c3b54ce95ebac4e7fc5a SHA512 ac2b14970dc6667ceec2dbdae52bc92cbad4aff020898ede156454e8a8a703354f15c7e19cfbd2bdd15e251493fd05cacfe814cabee0f9b4cf155e44860ed4c9
DIST VirtualBox-5.2.32.tar.bz2 118262502 BLAKE2B f42de23ddbef1bb5472f6730b711452049331cf06c80420205844ea4a46ddb3352e0fd91564d94d018cb03921e7f894b30c79ddb684ad498d3f86dee88bf8994 SHA512 4e98d5df5e9e6445dde268d5eacea82e655ce9b96cd6579a9d470a08a0c066b7cd7e212b276e2671e936b4a73a53ecf9daa666cb3a8b9d7dc353c70c9283505e
DIST VirtualBox-5.2.36.tar.bz2 118253892 BLAKE2B 6b54a8c4aa996bc595b163bce501b97d543d4335507723cf3f6f9fd723f1d9ed42bddc90a8d3028688c0ac4918bbd4a32ab94f81daa867b99d0f0ce9cc9a4c59 SHA512 3437ef3300a706c2b4a4cdabdb3b100786f727e2052659d74cde955a88363052bce48820aa92f2eea9029c08bd23a2473ff080a754dfe0671ab0a6392d887071
DIST VirtualBox-5.2.40.tar.bz2 118285273 BLAKE2B 5d1fa572522c0a4d0124b49d68ec6f2bf240431bbe9ebd3dcf34252cc4710ec158c295c3cdb9628f045ce672a840b251b644cd92131cd4ff5ec9eab958609bc6 SHA512 3632c7184593350e484b055f85040f2a1883db4c228b04dc41e36d60de6e3123284cc9eb89ee0eba68bcd317dfdf1a5bb8594738108ea642528cafba965f3a18
DIST VirtualBox-6.0.16.tar.bz2 154406073 BLAKE2B 8d0c9c1e6c675c5e2c7f01802072370fded7c5d7f7f581c6570b111c4aa4ac327fb74370ac36e4a4e31c6627640f8eb697a43b32fd2818f78e6b119f063d560f SHA512 ff9b726a5a865ed3fc5436e778da434ce532113898ed50434e2a561150410eabeee7194320eb115552542ecfd7c332f46f2d04fba782509dda8e66511e2a1a61
DIST VirtualBox-6.0.20.tar.bz2 154286741 BLAKE2B e5000919dd21ebca52a508e88a54d404c0cbceb9c101d47d146b45af2509f1e922403e0ea05753dac7293870f64f8c3e478fa0c0a77611f35a3f3ce52b1fa4c1 SHA512 0ecfcc68514ca89f9bee818c43e19e999561798cba72afa27f44a46bf53c7e45e05371d973fc76b7af003e85528b19b3156531fd9bf9a0d5f30dc53665e2f48f
DIST VirtualBox-6.1.4.tar.bz2 165450190 BLAKE2B acb99e64b095d414556d129ee96ef00d59900d8bb4f20f4fdfd4415d027eb0b1df9656b56940656c19074ea088dcca2e6e13372d38bcc30fb3a8372293a36117 SHA512 021592629614b9f8a57474b9a0cd110af7b63a3bc98b00806f4ce57b64f020fda313fdaef5cec546ad302f98093427818e176decbc026dffaa47faae574bf167
DIST VirtualBox-6.1.6.tar.bz2 159389496 BLAKE2B 00a5dd823e3136417b075aac2f526f954b5bcaad828cb6abcbd5b3ad7412c4afe8d499e0fb2a8897f4cdab7e7084e848fde69a0d8e355c14767eafde21ebac46 SHA512 4a94417fe69c40755b55526cee67068ca8d32e71e5b6ebe0cccf46062dfb4ee76b33ac92f8b8f4748d438eda1714129360fdbaa39c16df3877b20109a7c6439a
DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c
DIST virtualbox-6.0.16-patches-01.tar.xz 3520 BLAKE2B 1ca10c5902ece4657c6a9a03fe28c80a364d999e181cc46fc52d7dac0f0272faca6d6b19cb12d126bb0f4f6014b8c391b2b0f82ca016625410287fcc0c240778 SHA512 33b14fa1ce5526be88d6d5b72b5c86c68c37f565074a764b9d7a65f5c0a39e3d81533f9923087add71783556c1e51e816b674ce46d2800eb678846f65226fb69
DIST virtualbox-6.0.20-patches-01.tar.xz 3464 BLAKE2B dbfd15322edf178e752139c6f82be966422ff0d3c5d914fe8d4b6980f5805d27552dc813e97ea17665004d5f6cc3486461732edaaeabdd59cd1799b2ee85af06 SHA512 04f0c9d0565c77bca334cbcfd8ac439dff1a1d8246dbea3f5e06035eff6f6dd72b54f2227d6197e2851e418ad74bb4feeef07e442f3441bc75d80a72d0d0e00d
DIST virtualbox-6.1.0_rc1-patches-01.tar.xz 2152 BLAKE2B 5ca1aa008d0a4bd2d8ff4e8b02e506f2bdd68d41b1ae6a733362925b12a82e4f26b4040817800342c69be8e1eec73477d1731e05eb677d09948ed59881be190c SHA512 31f5b77cc86e7fe83e08df956639f50b9936aeab32d98d8f8800c4fa762245a7e6784189409006f82f8ed4bbdadbad7249e2663063448f3f0b0e157acfba6c42
EBUILD virtualbox-guest-additions-5.2.32.ebuild 6142 BLAKE2B 052c9424b2c54340900c0435929aff514e1f93194c24500854ee46951f186c4ce3f47a58a3b8ae3dedc787b7fe34ad913cfe7915e3b027124cdf9138b5656cba SHA512 21111797b8a8cb64c42715fa918940db187a509ef8600ed3a767f7f5b192e7f7925c59d6ea2049bcfe789d26c902b20fa82491aa9dd563e665b3fb5a1d3e1024
EBUILD virtualbox-guest-additions-5.2.36.ebuild 6143 BLAKE2B 0d0a04fc98e076a1d003aedcea38242782ee76ff4d19354214af45dd6a8df756b1c10b1774992b6b3f9470b321223888d82d1da341dac5fee0ded23ad3c724d8 SHA512 24e211f891e623acb8f6f56ca5372b8294543e214fce549aa59eb6a7dc9605386f72fa8e012cc56a44b35f171c9af50cdd73c00da4ae3fa00831fd89fe5245c0
EBUILD virtualbox-guest-additions-5.2.40.ebuild 6142 BLAKE2B d8408ad427b7799bee605a69fe3924ab51d79308ac864abd0bfa686fb388eccba5488beeab6b70546a144052f9c6b1d577ebc2d6966550f1d28409c4098ac5c5 SHA512 5f4bcc70576a4c9140deab81c7033496b54a8854c92e8c628d6f78773333a7604b38697f2869f79c1d21c72584b9c57e1cde38bbfca33a7f5657c728825fe4ef
EBUILD virtualbox-guest-additions-6.0.16-r1.ebuild 5971 BLAKE2B 2a8fdfd3c91af9c710382b0af3fc33d9ed0186be534e0fcf904781957b5f1ff36a0f807191606fe2e3015cb35e76b5c1321c98c79bb93f083cc2b19a10758728 SHA512 0251f905b075eaef9229fd2d8f6f0e605b5b5ae087ecd2a931d4ac81a332334e3f499c3a91b56b726584e97c77c69b7b67665db0c1fa21da17bf989a08f5316a
EBUILD virtualbox-guest-additions-6.0.20.ebuild 5971 BLAKE2B d2aca16b35685ff57a6ff7242e2e97f1b57a36e20f168217ee3a00b13b4331797a9fffd33f58b8a12fcb6b69a35582050d244f4a4b57710f857b530490ca61ad SHA512 7d8b04f85ef1cac52ddda9db7c18788968528343b8f111d68eac8cb7ac155b507067486aa9d77151f20e2423f987208be9648fa554a20cac9cf34d90b0f43eb5
EBUILD virtualbox-guest-additions-6.1.4-r1.ebuild 5908 BLAKE2B 66efeeec93ad81817b29a91a7d11ce925175f9ed4a6090b73bc0c8680872c62fe9758f22bab238dd52e957cb04060e248697ad47cc2d6eceae772672fc33113b SHA512 4c82f114e15a190ad72e87a670ce45b042e8220b6a0c84b572b108d593fa516572bc2865871da66fdcd3ef4ae917dcf8c46a6c947a9aa1f434a855ddc94bb7bf
EBUILD virtualbox-guest-additions-6.1.6.ebuild 5908 BLAKE2B 66efeeec93ad81817b29a91a7d11ce925175f9ed4a6090b73bc0c8680872c62fe9758f22bab238dd52e957cb04060e248697ad47cc2d6eceae772672fc33113b SHA512 4c82f114e15a190ad72e87a670ce45b042e8220b6a0c84b572b108d593fa516572bc2865871da66fdcd3ef4ae917dcf8c46a6c947a9aa1f434a855ddc94bb7bf
MISC metadata.xml 260 BLAKE2B 55d9eb1793faf23ffb69c904a9daf755cefe1b1e04fc2331e792a81acc1b699591acb85e005a96e70167e4eba8444e0cfc8f03be4fcdc19487ad6b1cea356f4a SHA512 443c9c27369b12fa4d23ac7e9add34dbf93b54d560ca946dac97801698b79401a80d88c6570530e641ad4f7231a8c1419682e1e11af2b171ca2854c598e05635

@ -1,229 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-mod systemd user toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.16-patches-02.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="X"
RDEPEND="
X? ( x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libXmu
x11-libs/libX11
x11-libs/libXt
x11-libs/libXext
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
"
DEPEND="
${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/pam
sys-power/iasl
x11-base/xorg-proto
"
PDEPEND="
X? ( x11-drivers/xf86-video-vboxvideo )
"
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
export DISTCC_DISABLE=1 #674256
MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest)
vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)"
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}"
}
src_unpack() {
unpack ${A}
# Create and unpack a tarball with the sources of the Linux guest
# kernel modules, to include all the needed files
"${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz"
unpack ./vbox-kmod.tar.gz
# Remove shipped binaries (kBuild,yasm), see bug #232775
cd "${S}"
rm -rf kBuild/bin tools
}
src_prepare() {
# PaX fixes (see bug #298988)
pushd "${WORKDIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch
popd &>/dev/null || die
# Disable things unused or splitted into separate ebuilds
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
# stupid new header references...
local vboxheader mdir
for vboxheader in {product,revision,version}-generated.h ; do
for mdir in vbox{guest,sf} ; do
ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \
"${WORKDIR}/${mdir}/${vboxheader}"
done
done
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" \
emake TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# Now creating the kernel modules. We must do this _after_
# we compiled the user-space tools as we need two of the
# automatically generated header files. (>=3.2.0)
linux-mod_src_compile
}
src_install() {
linux-mod_src_install
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
insinto /sbin
newins mount.vboxsf mount.vboxsf
fperms 4755 /sbin/mount.vboxsf
newinitd "${FILESDIR}"/${PN}-8.initd ${PN}
insinto /usr/sbin/
newins VBoxService vboxguest-service
fperms 0755 /usr/sbin/vboxguest-service
insinto /usr/bin
doins VBoxControl
fperms 0755 /usr/bin/VBoxControl
# VBoxClient user service and xrandr wrapper
if use X ; then
doins VBoxClient
fperms 0755 /usr/bin/VBoxClient
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|| die
newins 98vboxadd-xclient VBoxClient-all
fperms 0755 /usr/bin/VBoxClient-all
popd &>/dev/null || die
fi
# udev rule for vboxdrv
local udev_rules_dir="/lib/udev/rules.d"
dodir ${udev_rules_dir}
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
# VBoxClient autostart file
insinto /etc/xdg/autostart
doins "${FILESDIR}"/vboxclient.desktop
# sample xorg.conf
dodoc "${FILESDIR}"/xorg.conf.vbox
docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
systemd_dounit "${FILESDIR}/${PN}.service"
}
pkg_preinst() {
enewgroup vboxguest
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
enewgroup vboxsf
}
pkg_postinst() {
linux-mod_pkg_postinst
if ! use X ; then
elog "use flag X is off, enable it to install the"
elog "X Window System video driver."
fi
elog ""
elog "Please add users to the \"vboxguest\" group so they can"
elog "benefit from seamless mode, auto-resize and clipboard."
elog ""
elog "The vboxsf group has been added to make automount services work."
elog "These services are part of the shared folders support."
elog ""
elog "Please add:"
elog "/etc/init.d/${PN}"
elog "to the default runlevel in order to start"
elog "needed services."
elog "To use the VirtualBox X driver, use the following"
elog "file as your /etc/X11/xorg.conf:"
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
elog ""
elog "Also make sure you use the Mesa library for OpenGL:"
elog " eselect opengl set xorg-x11"
elog ""
elog "An autostart .desktop file has been installed to start"
elog "VBoxClient in desktop sessions."
elog ""
elog "You can mount shared folders with:"
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
elog ""
elog "Warning:"
elog "this ebuild is only needed if you are running gentoo"
elog "inside a VirtualBox Virtual Machine, you don't need"
elog "it to run VirtualBox itself."
elog ""
}

@ -1,229 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-mod systemd user toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-5.2.36-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE="X"
RDEPEND="
X? ( x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libXmu
x11-libs/libX11
x11-libs/libXt
x11-libs/libXext
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
"
DEPEND="
${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/pam
sys-power/iasl
x11-base/xorg-proto
"
PDEPEND="
X? ( x11-drivers/xf86-video-vboxvideo )
"
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
S="${WORKDIR}/${MY_P}"
pkg_setup() {
export DISTCC_DISABLE=1 #674256
MODULE_NAMES="vboxguest(misc:${WORKDIR}/vboxguest:${WORKDIR}/vboxguest)
vboxsf(misc:${WORKDIR}/vboxsf:${WORKDIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${WORKDIR}/vboxvideo::${WORKDIR}/vboxvideo)"
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}"
}
src_unpack() {
unpack ${A}
# Create and unpack a tarball with the sources of the Linux guest
# kernel modules, to include all the needed files
"${S}"/src/VBox/Additions/linux/export_modules.sh "${WORKDIR}/vbox-kmod.tar.gz"
unpack ./vbox-kmod.tar.gz
# Remove shipped binaries (kBuild,yasm), see bug #232775
cd "${S}"
rm -rf kBuild/bin tools
}
src_prepare() {
# PaX fixes (see bug #298988)
pushd "${WORKDIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-4.1.0-log-use-c99.patch
popd &>/dev/null || die
# Disable things unused or splitted into separate ebuilds
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
# stupid new header references...
local vboxheader mdir
for vboxheader in {product,revision,version}-generated.h ; do
for mdir in vbox{guest,sf} ; do
ln -sf "${S}"/out/linux.${ARCH}/release/${vboxheader} \
"${WORKDIR}/${mdir}/${vboxheader}"
done
done
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" \
emake TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# Now creating the kernel modules. We must do this _after_
# we compiled the user-space tools as we need two of the
# automatically generated header files. (>=3.2.0)
linux-mod_src_compile
}
src_install() {
linux-mod_src_install
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
insinto /sbin
newins mount.vboxsf mount.vboxsf
fperms 4755 /sbin/mount.vboxsf
newinitd "${FILESDIR}"/${PN}-8.initd ${PN}
insinto /usr/sbin/
newins VBoxService vboxguest-service
fperms 0755 /usr/sbin/vboxguest-service
insinto /usr/bin
doins VBoxControl
fperms 0755 /usr/bin/VBoxControl
# VBoxClient user service and xrandr wrapper
if use X ; then
doins VBoxClient
fperms 0755 /usr/bin/VBoxClient
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|| die
newins 98vboxadd-xclient VBoxClient-all
fperms 0755 /usr/bin/VBoxClient-all
popd &>/dev/null || die
fi
# udev rule for vboxdrv
local udev_rules_dir="/lib/udev/rules.d"
dodir ${udev_rules_dir}
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
# VBoxClient autostart file
insinto /etc/xdg/autostart
doins "${FILESDIR}"/vboxclient.desktop
# sample xorg.conf
dodoc "${FILESDIR}"/xorg.conf.vbox
docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
systemd_dounit "${FILESDIR}/${PN}.service"
}
pkg_preinst() {
enewgroup vboxguest
enewuser vboxguest -1 /bin/sh /dev/null vboxguest
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
enewgroup vboxsf
}
pkg_postinst() {
linux-mod_pkg_postinst
if ! use X ; then
elog "use flag X is off, enable it to install the"
elog "X Window System video driver."
fi
elog ""
elog "Please add users to the \"vboxguest\" group so they can"
elog "benefit from seamless mode, auto-resize and clipboard."
elog ""
elog "The vboxsf group has been added to make automount services work."
elog "These services are part of the shared folders support."
elog ""
elog "Please add:"
elog "/etc/init.d/${PN}"
elog "to the default runlevel in order to start"
elog "needed services."
elog "To use the VirtualBox X driver, use the following"
elog "file as your /etc/X11/xorg.conf:"
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
elog ""
elog "Also make sure you use the Mesa library for OpenGL:"
elog " eselect opengl set xorg-x11"
elog ""
elog "An autostart .desktop file has been installed to start"
elog "VBoxClient in desktop sessions."
elog ""
elog "You can mount shared folders with:"
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
elog ""
elog "Warning:"
elog "this ebuild is only needed if you are running gentoo"
elog "inside a VirtualBox Virtual Machine, you don't need"
elog "it to run VirtualBox itself."
elog ""
}

@ -1,216 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-mod systemd toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.0.16-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE="X"
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
RDEPEND="
acct-group/vboxguest
acct-group/vboxsf
acct-user/vboxguest
X? ( x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libXmu
x11-libs/libX11
x11-libs/libXt
x11-libs/libXext
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
"
DEPEND="
${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/pam
sys-power/iasl
x11-base/xorg-proto
"
PDEPEND="
X? ( x11-drivers/xf86-video-vboxvideo )
"
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
S="${WORKDIR}/${MY_P}"
VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
pkg_setup() {
export DISTCC_DISABLE=1 #674256
MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Provide kernel sources
pushd src/VBox/Additions &>/dev/null || die
ebegin "Extracting guest kernel module sources"
kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die
eend
popd &>/dev/null || die
# PaX fixes (see bug #298988)
pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch
popd &>/dev/null || die
# Disable things unused or splitted into separate ebuilds
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
rm "${WORKDIR}/patches/010_virtualbox-5.2.12-qt511.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" \
emake TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# Now creating the kernel modules. We must do this _after_
# we compiled the user-space tools as we need two of the
# automatically generated header files. (>=3.2.0)
linux-mod_src_compile
}
src_install() {
linux-mod_src_install
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
insinto /sbin
newins mount.vboxsf mount.vboxsf
fperms 4755 /sbin/mount.vboxsf
newinitd "${FILESDIR}"/${PN}-8.initd ${PN}
insinto /usr/sbin/
newins VBoxService vboxguest-service
fperms 0755 /usr/sbin/vboxguest-service
insinto /usr/bin
doins VBoxControl
fperms 0755 /usr/bin/VBoxControl
# VBoxClient user service and xrandr wrapper
if use X ; then
doins VBoxClient
fperms 0755 /usr/bin/VBoxClient
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|| die
newins 98vboxadd-xclient VBoxClient-all
fperms 0755 /usr/bin/VBoxClient-all
popd &>/dev/null || die
fi
# udev rule for vboxdrv
local udev_rules_dir="/lib/udev/rules.d"
dodir ${udev_rules_dir}
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
# VBoxClient autostart file
insinto /etc/xdg/autostart
doins "${FILESDIR}"/vboxclient.desktop
# sample xorg.conf
dodoc "${FILESDIR}"/xorg.conf.vbox
docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
systemd_dounit "${FILESDIR}/${PN}.service"
}
pkg_postinst() {
linux-mod_pkg_postinst
if ! use X ; then
elog "use flag X is off, enable it to install the"
elog "X Window System video driver."
fi
elog ""
elog "Please add users to the \"vboxguest\" group so they can"
elog "benefit from seamless mode, auto-resize and clipboard."
elog ""
elog "The vboxsf group has been added to make automount services work."
elog "These services are part of the shared folders support."
elog ""
elog "Please add:"
elog "/etc/init.d/${PN}"
elog "to the default runlevel in order to start"
elog "needed services."
elog "To use the VirtualBox X driver, use the following"
elog "file as your /etc/X11/xorg.conf:"
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
elog ""
elog "Also make sure you use the Mesa library for OpenGL:"
elog " eselect opengl set xorg-x11"
elog ""
elog "An autostart .desktop file has been installed to start"
elog "VBoxClient in desktop sessions."
elog ""
elog "You can mount shared folders with:"
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
elog ""
elog "Warning:"
elog "this ebuild is only needed if you are running gentoo"
elog "inside a VirtualBox Virtual Machine, you don't need"
elog "it to run VirtualBox itself."
elog ""
}

@ -1,215 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
inherit linux-mod systemd toolchain-funcs
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P="VirtualBox-${MY_PV}"
DESCRIPTION="VirtualBox kernel modules and user-space tools for Gentoo guests"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/virtualbox/patchsets/virtualbox-6.1.0_rc1-patches-01.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE="X"
# automount Error: VBoxServiceAutoMountWorker: Group "vboxsf" does not exist
RDEPEND="
acct-group/vboxguest
acct-group/vboxsf
acct-user/vboxguest
X? ( x11-apps/xrandr
x11-apps/xrefresh
x11-libs/libXmu
x11-libs/libX11
x11-libs/libXt
x11-libs/libXext
x11-libs/libXau
x11-libs/libXdmcp
x11-libs/libSM
x11-libs/libICE )
sys-apps/dbus
"
DEPEND="
${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/pam
sys-power/iasl
x11-base/xorg-proto
"
PDEPEND="
X? ( x11-drivers/xf86-video-vboxvideo )
"
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
S="${WORKDIR}/${MY_P}"
VBOX_MOD_SRC_DIR="${S}/out/linux.${ARCH}/release/bin/additions/src"
pkg_setup() {
export DISTCC_DISABLE=1 #674256
MODULE_NAMES="vboxguest(misc:${VBOX_MOD_SRC_DIR}/vboxguest:${VBOX_MOD_SRC_DIR}/vboxguest)
vboxsf(misc:${VBOX_MOD_SRC_DIR}/vboxsf:${VBOX_MOD_SRC_DIR}/vboxsf)"
use X && MODULE_NAMES+=" vboxvideo(misc:${VBOX_MOD_SRC_DIR}/vboxvideo::${VBOX_MOD_SRC_DIR}/vboxvideo)"
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=/lib/modules/${KV_FULL}/build KERNOUT=${KV_OUT_DIR}"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Provide kernel sources
pushd src/VBox/Additions &>/dev/null || die
ebegin "Extracting guest kernel module sources"
kmk GuestDrivers-src vboxguest-src vboxsf-src vboxvideo-src &>/dev/null || die
eend
popd &>/dev/null || die
# PaX fixes (see bug #298988)
pushd "${VBOX_MOD_SRC_DIR}" &>/dev/null || die
eapply "${FILESDIR}"/vboxguest-6.0.6-log-use-c99.patch
popd &>/dev/null || die
# Disable things unused or splitted into separate ebuilds
cp "${FILESDIR}/${PN}-5-localconfig" LocalConfig.kmk || die
use X || echo "VBOX_WITH_X11_ADDITIONS :=" >> LocalConfig.kmk
# Remove pointless GCC version check
sed -e '/^check_gcc$/d' -i configure || die
eapply "${WORKDIR}/patches"
eapply_user
}
src_configure() {
# build the user-space tools, warnings are harmless
local cmd=(
./configure
--nofatal
--disable-xpcom
--disable-sdl-ttf
--disable-pulse
--disable-alsa
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--target-arch=${ARCH}
--with-linux="${KV_OUT_DIR}"
--build-headless
)
echo "${cmd[@]}"
"${cmd[@]}" || die "configure failed"
source ./env.sh
export VBOX_GCC_OPT="${CFLAGS} ${CPPFLAGS}"
}
src_compile() {
MAKE="kmk" \
emake TOOL_YASM_AS=yasm \
VBOX_ONLY_ADDITIONS=1 \
KBUILD_VERBOSE=2
# Now creating the kernel modules. We must do this _after_
# we compiled the user-space tools as we need two of the
# automatically generated header files. (>=3.2.0)
linux-mod_src_compile
}
src_install() {
linux-mod_src_install
cd "${S}"/out/linux.${ARCH}/release/bin/additions || die
insinto /sbin
newins mount.vboxsf mount.vboxsf
fperms 4755 /sbin/mount.vboxsf
newinitd "${FILESDIR}"/${PN}-8.initd ${PN}
insinto /usr/sbin/
newins VBoxService vboxguest-service
fperms 0755 /usr/sbin/vboxguest-service
insinto /usr/bin
doins VBoxControl
fperms 0755 /usr/bin/VBoxControl
# VBoxClient user service and xrandr wrapper
if use X ; then
doins VBoxClient
fperms 0755 /usr/bin/VBoxClient
pushd "${S}"/src/VBox/Additions/x11/Installer &>/dev/null \
|| die
newins 98vboxadd-xclient VBoxClient-all
fperms 0755 /usr/bin/VBoxClient-all
popd &>/dev/null || die
fi
# udev rule for vboxdrv
local udev_rules_dir="/lib/udev/rules.d"
dodir ${udev_rules_dir}
echo 'KERNEL=="vboxguest", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
echo 'KERNEL=="vboxuser", OWNER="vboxguest", GROUP="vboxguest", MODE="0660"' \
>> "${ED}/${udev_rules_dir}/60-virtualbox-guest-additions.rules" \
|| die
# VBoxClient autostart file
insinto /etc/xdg/autostart
doins "${FILESDIR}"/vboxclient.desktop
# sample xorg.conf
dodoc "${FILESDIR}"/xorg.conf.vbox
docompress -x "${ED}"/usr/share/doc/${PF}/xorg.conf.vbox
systemd_dounit "${FILESDIR}/${PN}.service"
}
pkg_postinst() {
linux-mod_pkg_postinst
if ! use X ; then
elog "use flag X is off, enable it to install the"
elog "X Window System video driver."
fi
elog ""
elog "Please add users to the \"vboxguest\" group so they can"
elog "benefit from seamless mode, auto-resize and clipboard."
elog ""
elog "The vboxsf group has been added to make automount services work."
elog "These services are part of the shared folders support."
elog ""
elog "Please add:"
elog "/etc/init.d/${PN}"
elog "to the default runlevel in order to start"
elog "needed services."
elog "To use the VirtualBox X driver, use the following"
elog "file as your /etc/X11/xorg.conf:"
elog " /usr/share/doc/${PF}/xorg.conf.vbox"
elog ""
elog "Also make sure you use the Mesa library for OpenGL:"
elog " eselect opengl set xorg-x11"
elog ""
elog "An autostart .desktop file has been installed to start"
elog "VBoxClient in desktop sessions."
elog ""
elog "You can mount shared folders with:"
elog " mount -t vboxsf <shared_folder_name> <mount_point>"
elog ""
elog "Warning:"
elog "this ebuild is only needed if you are running gentoo"
elog "inside a VirtualBox Virtual Machine, you don't need"
elog "it to run VirtualBox itself."
elog ""
}

@ -4,18 +4,10 @@ AUX virtualbox-modules-6.0.12-linux-5.3+-compatibility.patch 2930 BLAKE2B a6875c
AUX virtualbox-modules-6.0.14-kernel-5.4_rc6.patch 13688 BLAKE2B 15e900c3bb8d3d1adcf4b5ca63ac99369e47af3f8842d2fe8b7e1be7e33e2a05eebbf7120c0d5759d258de1b0f1ce5da92af4455fdd0101f053a1bedd31c78e1 SHA512 0970766f95b5215e0b0802db56b58375c4f46303e82b252fd34dbe56cc00e5be4e673c730c75e8eb92a18e7b42769cb11a57bf3824c3e3efe93fc67bff5cfe1f
AUX virtualbox.conf 38 BLAKE2B 4f03cb09a1cca36013beb2a38220115d63510fd0aa63e2df1f0dc755a9162f7c2efed32d8f9c98fcc1e36d48067471085d5b038c6e8b3118508fbaaaab3790f7 SHA512 63eba0963b3344ea7e7a0035560406899d878a0761cddef9853bec95deb9812b221e98f446f240070d6448d61d6ecbcf7a990bcd52863660e8f21cf9a98c0e1d
AUX virtualbox.conf-r1 30 BLAKE2B 6308dedc75e2677cbdc844b53f51359e6b5745d3510636b04d08512122aeb6db81a1a18af156a8b9acccad395d390b24f9c27ed47413382cb6101266762de230 SHA512 5c6d31f527ca2db8d7fbeea759ac328eff42803d7940fd81ef12af22eb09f8913a0e561c35db1963e2a8b398ee288692817b5c8f3d439f2a6fd381769ec2ac8a
DIST vbox-kernel-module-src-5.2.32.tar.xz 642428 BLAKE2B 0dda5cb5608c1eed22bea209564d53c5f7eab58ca620db2cc441e3c1ba9ad66609c4ef13df07fd29b691f2941a070f9852e8729cd386081df6a82ede345f33c5 SHA512 fadedab690cb7dee8b9a6747ed711d924bf3bce8999b24e7b64cb8738c53c2fa7372b1a8e8535e7e4ef0235aec02d4a3f1f67cd07d7621934fab684c5163329e
DIST vbox-kernel-module-src-5.2.36.tar.xz 643160 BLAKE2B 50f1aee4d56c8b78a5e7512cb843b4e36137c38b160ca0419b2061892f29a98edaa266afb8f94ee0952e4c8af57b41da24a7d70b43a5adf5c5a15b2a4ac867b9 SHA512 b8aa3e8de1573ac728dc00d85ffbb0c25cdb118af92f16f7a4c1a7d394526b8f3005aab1b4422af6251bdafb958c6dc86b31f13c1f35116c8ff39a9288aed277
DIST vbox-kernel-module-src-5.2.40.tar.xz 644200 BLAKE2B 0083423831bcec17f4960747c3ae939a8b4a5d2f89d6f09ad88308b078035bc6f068314d2c74182c9bb7ea0007e9c6a5b3eaa8f48ce58330294a78f66ed3faa5 SHA512 b62359104fdd0a1fd2b506cec2e4b71fa9582f1a89088d3a45791835981e1cd2e0895861b688cfbd7306454aa66c18bcd1444b26181f084b7af69f43d3e9b499
DIST vbox-kernel-module-src-6.0.16.tar.xz 669392 BLAKE2B 19e718097ee4da75c8dc3b565735f0a378d94547911ec89af52d8dccb36d67391a2f6700575c374552cd4fc4eb8a7e3d6618a800380e473429bd3759e0d1f9c0 SHA512 8979da4cba07c9095778864af0fd29c0acf10d71ea587819954a349e8c193a03b2268bf80dca9004803d8cf2a40974994fcd1f2c6e2ac657b5032f6c04977793
DIST vbox-kernel-module-src-6.0.20.tar.xz 670656 BLAKE2B ccd4130272545e57fa64f56adcc3b16d96dac2e6e44f8057a447fddb9c51e3be7729298b835b7e335a7d0e58e0603d96ee084547375a331209cf6fa3751868cd SHA512 fa7fd8dbff39bf65852522481c4725be7aeedb3052f7a628f15defd78dd8353ae3466a294f25bc51b555db9da774ad8ca756fa8d01f45af250ab57f7e2ce7193
DIST vbox-kernel-module-src-6.1.4.tar.xz 664412 BLAKE2B b4cfe5b2792c8f5dc2bf6038f69e32d07aaead358b144e154806f404bcc0ffbb72d470db265b96f41ca714edc0588ce06748054b8358675c24848614253a7cfb SHA512 bb247a8d2450694937095bc9c263554f805c51676e2da726f124ce4f775c69bedab95286e8d00686e04c1d8fff67f6335aa29f51a0c0ec00b862ad4e56fe290c
DIST vbox-kernel-module-src-6.1.6.tar.xz 667048 BLAKE2B 00cdddc108d54cb829e771eac1c95f254e97465960b50f6f95595cf4f25485146d9d807de903152f3472a9e57246379f15ea82f6464fc00053e4b6b6e9dbeebe SHA512 5fb91051d6f41c25f4ac642249f2dac289c06134d3815578c094db089dc36903a573913933c34d32e8bbf5d704f7225eabb849fd559430247a89a713f059012e
EBUILD virtualbox-modules-5.2.32.ebuild 1203 BLAKE2B 564094a44633e5193d26e88bc866b0354a3dbec67d08c6b09869c8863487fe30f939f9039a6f23fb9061e200ea428c728fa689e6db643c1710716d565bac42ed SHA512 f3ab32231d5c050d39bae1af958de61e4964b2146aed215d6eae95b96a3a2428b8411b2f9f7bf9f0e81259120f2229b81498cb8b4d9e7d18d511bfb223d4f16c
EBUILD virtualbox-modules-5.2.36.ebuild 1471 BLAKE2B 3470de73e2295b5e3e23ab0ca3a4d0d1b87651c7394f7e74caec4357ba9d8a52f882af11fdbf75e7ad1e77ad645028450bf5fcc919616e20b36d47338b1b708a SHA512 494ef76097b12598f99bca623d0099ccacf129cd591ea6f5e16a5e147ed1d9a093708eebcac3d28f5b654586717a0001d675ecc294d747fe42298f3c1963d22b
EBUILD virtualbox-modules-5.2.40.ebuild 1470 BLAKE2B 1d02bf0795851604467a9df85d63d6de1793706f816e72a4d706be12aa0c1d338fff794588c5bf1e34855348904053ae3914895391b38cb8f593db0cdd3d4ab5 SHA512 36aaf5718aa036dc162cb16579eaa21069cc900098fa5f8e3d10fb1cbf67509a350ea1a7effce5931988f54ce9b625518695ee70e77ae4bca780443cfc1eaa24
EBUILD virtualbox-modules-6.0.16-r1.ebuild 1458 BLAKE2B ab41e8a5636a52182198d2f0696f29885542a6dfb3ca65fbd315606905b42300e02f451391ea5517e02c963e6296f2af44ad3e639082bd32085f7eedfffa530b SHA512 7e326b960ccc58174fffd07046f2e6d5289ee4dca3031fa1c517b3f4e3c3aaf6dfee44382f6af4372ba6d96d0e7252c73519910ad50bbc3bcc02362b53b7f0be
EBUILD virtualbox-modules-6.0.20.ebuild 1458 BLAKE2B ab41e8a5636a52182198d2f0696f29885542a6dfb3ca65fbd315606905b42300e02f451391ea5517e02c963e6296f2af44ad3e639082bd32085f7eedfffa530b SHA512 7e326b960ccc58174fffd07046f2e6d5289ee4dca3031fa1c517b3f4e3c3aaf6dfee44382f6af4372ba6d96d0e7252c73519910ad50bbc3bcc02362b53b7f0be
EBUILD virtualbox-modules-6.1.4-r1.ebuild 1419 BLAKE2B ff41b1aded92f404c199e42076227efd4f5fde305fbd67e4a3b1f198c58a54786f72ba0e7eaf0e789a7bd13d67c1435e91f96e329362498187234a8918d29ac1 SHA512 d12adaafe5d3369dc793e9051ca3eedb10e52a76a9d0ea1805e6476808831613a93eaf71c93a836b075af2c822580e35e2b26e03216abdbecc3b44f83cfb6345
EBUILD virtualbox-modules-6.1.6.ebuild 1419 BLAKE2B ff41b1aded92f404c199e42076227efd4f5fde305fbd67e4a3b1f198c58a54786f72ba0e7eaf0e789a7bd13d67c1435e91f96e329362498187234a8918d29ac1 SHA512 d12adaafe5d3369dc793e9051ca3eedb10e52a76a9d0ea1805e6476808831613a93eaf71c93a836b075af2c822580e35e2b26e03216abdbecc3b44f83cfb6345
MISC metadata.xml 353 BLAKE2B d7de13b3a8966ab3bca54ae77f7f6c7dfd57f2c5941f09ab1b5f79ac798687ffaaa183afdf9c034a9d50fda8507a3aaa2ef0c11d0fdfa6e09a55a1bdb9f30f4a SHA512 40029c9a246dde5ed51119f42ec5448b7ae08a47ee4d6be201fef282305c809d7d3182abf807dd2444ffe1a980abcd670878567d948bcd3661a55c6848a37000

@ -1,51 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from virtualbox-bin
EAPI=7
inherit linux-mod toolchain-funcs user
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
BUILD_TARGET_ARCH="${ARCH}"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
doins "${FILESDIR}"/virtualbox.conf
}
pkg_postinst() {
linux-mod_pkg_postinst
}

@ -1,59 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from virtualbox-bin
EAPI=7
inherit linux-mod toolchain-funcs user
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
MODULESD_VBOXDRV_ENABLED="yes"
MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
# The following is a security measure that comes directly from usptream.
# Do NOT remove this!!!
MODULESD_VBOXPCI_ADDITIONS=(
"blacklist vboxpci"
"install vboxpci /bin/true"
)
pkg_setup() {
enewgroup vboxusers
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}
pkg_postinst() {
linux-mod_pkg_postinst
}

@ -1,55 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from virtualbox-bin
EAPI=7
inherit linux-mod toolchain-funcs
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S}) vboxpci(misc:${S})"
MODULESD_VBOXDRV_ENABLED="yes"
MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
# The following is a security measure that comes directly from usptream.
# Do NOT remove this!!!
MODULESD_VBOXPCI_ADDITIONS=(
"blacklist vboxpci"
"install vboxpci /bin/true"
)
pkg_setup() {
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}

@ -1,55 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# XXX: the tarball here is just the kernel modules split out of the binary
# package that comes from virtualbox-bin
EAPI=7
inherit linux-mod toolchain-funcs
MY_P="vbox-kernel-module-src-${PV}"
DESCRIPTION="Kernel Modules for Virtualbox"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://dev.gentoo.org/~polynomial-c/virtualbox/${MY_P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
IUSE="pax_kernel"
RDEPEND="!=app-emulation/virtualbox-9999"
S="${WORKDIR}"
BUILD_TARGETS="all"
MODULE_NAMES="vboxdrv(misc:${S}) vboxnetflt(misc:${S}) vboxnetadp(misc:${S})"
MODULESD_VBOXDRV_ENABLED="yes"
MODULESD_VBOXNETADP_ENABLED="no"
MODULESD_VBOXNETFLT_ENABLED="no"
pkg_setup() {
linux-mod_pkg_setup
BUILD_PARAMS="CC=$(tc-getBUILD_CC) KERN_DIR=${KV_DIR} KERN_VER=${KV_FULL} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {
if use pax_kernel && kernel_is -ge 3 0 0 ; then
eapply -p0 "${FILESDIR}"/${PN}-5.2.8-pax-const.patch
fi
default
}
src_install() {
linux-mod_src_install
insinto /usr/lib/modules-load.d/
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
}
pkg_postinst() {
# Remove vboxpci.ko from current running kernel
find /lib/modules/${KV_FULL}/misc -type f -name "vboxpci.ko" -delete
linux-mod_pkg_postinst
}

@ -9,23 +9,13 @@ AUX virtualbox-ose-5-wrapper 3405 BLAKE2B 92001ed3397a22abb5955617451bfb78d1f1f6
AUX virtualbox-ose-6-wrapper 3570 BLAKE2B 730747f4e7517fae218d8abf311e1f30f90bbf0810bdd1ee358dd4250359d501803c2213782310788b2c54a3c57f5195455b89331f02d35be0c5f4713a235b54 SHA512 e7e1e161fa8030234973e18d9d033238ded1f0b511323b642d8102dc062a16e69b6fa63729e88dcf1ef16fa02befd1f36e7242e23db12fa838b25d83f19810ea
AUX virtualbox-ose.desktop-2 201 BLAKE2B 05fbf657e8c1d8ec46f1b88e681efd50a4e5ab2a0f32f3fd25ca956e1e9bff6357c69a96628e3eba26b01869b6dc596f68f739f9330fa3018c186dfa0fdcea06 SHA512 a678e237ad0451e8785f242ebf822b4f3b03d2e2280a62f71728f79bdcfc84d3465ee60cad90db75e64b2c89a1b0b224de00519728fb605df67ca7c9aee0874c
AUX virtualbox-vboxusb_tmpfilesd 35 BLAKE2B 56937e236a0e4d1a2aa085271e8ae0af9553fdf7c3b804af4d3fda3aa8dbc32d63762fee90bc949390cb9cd67f2f0111894c8af084731dab6920ae1675c69a64 SHA512 72e4602f5f214f8833486f5c787c263a10390e8bdf65b5615d67c35ec44048f02add12fe43b19f9c57a9d2f12d768c52e54fcfb9052c0611d06cc988a698c171
DIST VirtualBox-5.2.32.tar.bz2 118262502 BLAKE2B f42de23ddbef1bb5472f6730b711452049331cf06c80420205844ea4a46ddb3352e0fd91564d94d018cb03921e7f894b30c79ddb684ad498d3f86dee88bf8994 SHA512 4e98d5df5e9e6445dde268d5eacea82e655ce9b96cd6579a9d470a08a0c066b7cd7e212b276e2671e936b4a73a53ecf9daa666cb3a8b9d7dc353c70c9283505e
DIST VirtualBox-5.2.36.tar.bz2 118253892 BLAKE2B 6b54a8c4aa996bc595b163bce501b97d543d4335507723cf3f6f9fd723f1d9ed42bddc90a8d3028688c0ac4918bbd4a32ab94f81daa867b99d0f0ce9cc9a4c59 SHA512 3437ef3300a706c2b4a4cdabdb3b100786f727e2052659d74cde955a88363052bce48820aa92f2eea9029c08bd23a2473ff080a754dfe0671ab0a6392d887071
DIST VirtualBox-5.2.40.tar.bz2 118285273 BLAKE2B 5d1fa572522c0a4d0124b49d68ec6f2bf240431bbe9ebd3dcf34252cc4710ec158c295c3cdb9628f045ce672a840b251b644cd92131cd4ff5ec9eab958609bc6 SHA512 3632c7184593350e484b055f85040f2a1883db4c228b04dc41e36d60de6e3123284cc9eb89ee0eba68bcd317dfdf1a5bb8594738108ea642528cafba965f3a18
DIST VirtualBox-6.0.16.tar.bz2 154406073 BLAKE2B 8d0c9c1e6c675c5e2c7f01802072370fded7c5d7f7f581c6570b111c4aa4ac327fb74370ac36e4a4e31c6627640f8eb697a43b32fd2818f78e6b119f063d560f SHA512 ff9b726a5a865ed3fc5436e778da434ce532113898ed50434e2a561150410eabeee7194320eb115552542ecfd7c332f46f2d04fba782509dda8e66511e2a1a61
DIST VirtualBox-6.0.20.tar.bz2 154286741 BLAKE2B e5000919dd21ebca52a508e88a54d404c0cbceb9c101d47d146b45af2509f1e922403e0ea05753dac7293870f64f8c3e478fa0c0a77611f35a3f3ce52b1fa4c1 SHA512 0ecfcc68514ca89f9bee818c43e19e999561798cba72afa27f44a46bf53c7e45e05371d973fc76b7af003e85528b19b3156531fd9bf9a0d5f30dc53665e2f48f
DIST VirtualBox-6.1.4.tar.bz2 165450190 BLAKE2B acb99e64b095d414556d129ee96ef00d59900d8bb4f20f4fdfd4415d027eb0b1df9656b56940656c19074ea088dcca2e6e13372d38bcc30fb3a8372293a36117 SHA512 021592629614b9f8a57474b9a0cd110af7b63a3bc98b00806f4ce57b64f020fda313fdaef5cec546ad302f98093427818e176decbc026dffaa47faae574bf167
DIST VirtualBox-6.1.6.tar.bz2 159389496 BLAKE2B 00a5dd823e3136417b075aac2f526f954b5bcaad828cb6abcbd5b3ad7412c4afe8d499e0fb2a8897f4cdab7e7084e848fde69a0d8e355c14767eafde21ebac46 SHA512 4a94417fe69c40755b55526cee67068ca8d32e71e5b6ebe0cccf46062dfb4ee76b33ac92f8b8f4748d438eda1714129360fdbaa39c16df3877b20109a7c6439a
DIST virtualbox-5.2.16-patches-02.tar.xz 3152 BLAKE2B c8d8f3872f544a465c7d1aa07291599307120ac9eabfb299ddd788a11f85ca6c2d84b8e7306ee4ad436270dad0dd39f101ee68a549eac15afd1e3cdc03f23c6c SHA512 85ee8c4045de562d71ab2d761695ea48b6726a6f0c4bcaa2562bb0d147542d3f1a1b5b47cf593a7f22dac1b86f87b59a56bef421dce3e1fa8e5260cd41998450
DIST virtualbox-5.2.36-patches-01.tar.xz 3440 BLAKE2B 66749efba87d82ed4a11ff09444c68f86f82a360e9dbb44fa6072d6c28120f3c23cff8c15bacbd38bce8b69b3d8f35c4d3d493684df962ea6e353eec413dcc38 SHA512 3cf2526d209a54e94cd94840793769fd96fa988e21555d76eda2207a7f87e04b446a28ac6c8a2954e7c00a35107c144cadaec276d171214acdcc2900eb41306c
DIST virtualbox-6.0.16-patches-01.tar.xz 3520 BLAKE2B 1ca10c5902ece4657c6a9a03fe28c80a364d999e181cc46fc52d7dac0f0272faca6d6b19cb12d126bb0f4f6014b8c391b2b0f82ca016625410287fcc0c240778 SHA512 33b14fa1ce5526be88d6d5b72b5c86c68c37f565074a764b9d7a65f5c0a39e3d81533f9923087add71783556c1e51e816b674ce46d2800eb678846f65226fb69
DIST virtualbox-6.0.20-patches-01.tar.xz 3464 BLAKE2B dbfd15322edf178e752139c6f82be966422ff0d3c5d914fe8d4b6980f5805d27552dc813e97ea17665004d5f6cc3486461732edaaeabdd59cd1799b2ee85af06 SHA512 04f0c9d0565c77bca334cbcfd8ac439dff1a1d8246dbea3f5e06035eff6f6dd72b54f2227d6197e2851e418ad74bb4feeef07e442f3441bc75d80a72d0d0e00d
DIST virtualbox-6.1.14-patches-01.tar.xz 2344 BLAKE2B cb89af8ffe0ecaa54929349abfb1541ca8630063d8282e773e4c66c3eec3ed108328b1ee81247d997981e5d49792b4019e1358b270c3622508b62e647c544ae4 SHA512 b08c2f66a050270a5c8b4d7264b1cf0afaf7809c3888c48a9b55ac75f0906bdb6bc28eef136ce032c777a810f2ce0a3cf6bb3df0259e5a6737f9ecc3ea708bba
EBUILD virtualbox-5.2.32.ebuild 14473 BLAKE2B 4498464c3d219b3d89cd9e0c0e2e40f95e10024bd0c94e677cd1f96aa56b2f69c3278be9096eeead59c6433b0af1641eb84ba592d8eb4e76aa45b129d8f131dd SHA512 b0d156d10e8af35c19033ce1bdc9381b472c199406808789598b90b5c5fa3a694d258e06c28f712deda49bc02f258c6a0d86c070879846936b5b357f977a26b1
EBUILD virtualbox-5.2.36.ebuild 14436 BLAKE2B f17dda45a12edc196ff15c96537adb8fa503baade17d928f50d883f7fd82818d1663729ef4a74714274243faf820d05df63232945464c0e59c33ee1dcbbe0a8e SHA512 9a8d3a395f98cc71bbc0892fc517cbc6a1fce438cd03daa739683f1689f3e21da7ec658df15454d6bb9f306d5ab1b45475b01643854c70482ae34ac0b885f294
EBUILD virtualbox-5.2.40.ebuild 14435 BLAKE2B 423a26b906ef0f4b58c2734467ce7d4cf0b1bdf90f1d073c2231757a341eee34e11ddf8cd8ac96eddf562d4c7db6749db5c8d4884b538bd4724680dc0b334d19 SHA512 1afb6e4ebbc76b6e7c529fdeb335d8c871d6e2b0ae9743393a22f52b9664c8f445527bc580a2deb41a1bcf457611bcd16b10c0dc5db013e1a5075c5a47dcc0ac
EBUILD virtualbox-6.0.16-r1.ebuild 14597 BLAKE2B 41b401627936df95add918202877f30ad40df76d99084c6c50210e4be7b2b733ae45f553c3ad4deead23f5f1f852d2bbf5068e2ec132fb6be5506a008a384e01 SHA512 8cc1904470925a6fbc1d0150e25694f70a482c83d133ce92c4b5504203d68c0ac80ca2b03114040cccdc30fab5c25702dd717f4f8119cf869e526e4d43b6792a
EBUILD virtualbox-6.0.20.ebuild 14597 BLAKE2B deb61a423398a90621333f98c8490801d82ac5643bbaa6bde338593779842d11d4b58a8f156652b047c3cdace662e06d32f6902fe4dce288b363de041c2ac333 SHA512 03e2f26998374244f922f364a3c6071d5ec8bab8b68b06061bb5c1fbaf4af71b3ebb7fa85a0930ffef25a8d54e473a9e3cab175fef601aad385bac0dac5ec827
EBUILD virtualbox-6.1.4-r2.ebuild 14468 BLAKE2B 6df18fc2376e5f568c295358c0681eb0582d098827829f15b3f80f7e53cb387d5980f35a90d446386cc1b07733d7262f8e67dade5a860ad504ca82a02d45ccbd SHA512 827573c866c28241a1a1499fa9b96b9e5799d7850c6094aed369aa8c5fc62e8d02d0e45ccbb2df8ef337ab1c4d40df8b1547f2c4a7e0846abd00e60841d7da75
EBUILD virtualbox-6.1.6.ebuild 14468 BLAKE2B 6df18fc2376e5f568c295358c0681eb0582d098827829f15b3f80f7e53cb387d5980f35a90d446386cc1b07733d7262f8e67dade5a860ad504ca82a02d45ccbd SHA512 827573c866c28241a1a1499fa9b96b9e5799d7850c6094aed369aa8c5fc62e8d02d0e45ccbb2df8ef337ab1c4d40df8b1547f2c4a7e0846abd00e60841d7da75
MISC metadata.xml 774 BLAKE2B 74d422bee5013b3875828aa2f192a8269815c567ae79c135b7cab1cc71175a923668e1c7e6f5ff76f19c7c359dbb1a20edfcc59570e95ec83418d8a6a0dae46b SHA512 bea193854ac55683c6c4fdcab3c2a4e9144ca4806b261ff7a6bf50f7fffd005f7de3dbb44a4a833ba7bf7f0cb535a46a4586c59bca9a46bf664b4b06ce425549

@ -1,497 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.16-patches-02.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
RDEPEND="!app-emulation/virtualbox-bin
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
sys-libs/zlib:=
!headless? (
media-libs/libsdl:0[X,video]
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
opengl? ( dev-qt/qtopengl:5 )
x11-libs/libXinerama
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
opus? ( media-libs/opus )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
alsa? ( >=media-libs/alsa-lib-1.0.13 )
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
!headless? ( x11-libs/libXinerama )
java? ( >=virtual/jdk-1.6 )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
${PYTHON_DEPS}"
RDEPEND="${RDEPEND}
java? ( >=virtual/jre-1.6 )"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_pretend() {
if ! use headless && ! use qt5 ; then
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
elif use headless && use qt5 ; then
einfo "You selected USE=\"headless qt5\", defaulting to"
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
fi
if ! use opengl ; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python ; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
tc-ld-disable-gold #bug 488176
tc-export CC CXX LD AR RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
doecho() {
echo "$@"
"$@" || die
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex opus --build-libopus '')
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
doecho ./configure ${myconf[@]}
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
local binpath="release"
use debug && binpath="debug"
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED%/}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
# *.rc files for x86_64 are only available on multilib systems
local rcfiles="*.rc"
if use amd64 && ! has_multilib_profile ; then
rcfiles=""
fi
for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
for fwfile in VBoxEFI{32,64}.fd ; do
vbox_inst ${fwfile} 0644
done
popd &>/dev/null || die
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED%/}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst VBoxSDL 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox VirtualBox ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]] ; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm ; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk ; then
insinto ${vbox_inst_path}
doins -r sdk
if use java ; then
java-pkg_regjar "${ED%/}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED%/}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev ; then
# New way of handling USB device nodes for VBox (bug #356215)
local udevdir="$(get_udevdir)"
insinto ${udevdir}
doins VBoxCreateUSBNode.sh
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
> "${T}"/10-virtualbox.rules || die
doins "${T}"/10-virtualbox.rules
fi
if use vboxwebsrv ; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
if use vnc ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
}

@ -1,496 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
inherit flag-o-matic gnome2-utils java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg-utils
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-5.2.36-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
KEYWORDS="amd64 ~x86"
IUSE="alsa debug doc dtrace headless java libressl lvm pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
RDEPEND="!app-emulation/virtualbox-bin
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
media-libs/opus
sys-libs/zlib:=
!headless? (
media-libs/libsdl:0[X,video]
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
opengl? ( dev-qt/qtopengl:5 )
x11-libs/libXinerama
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
${PYTHON_DEPS}"
DEPEND="${RDEPEND}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
alsa? ( >=media-libs/alsa-lib-1.0.13 )
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
!headless? ( x11-libs/libXinerama )
java? ( >=virtual/jdk-1.6 )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
${PYTHON_DEPS}"
RDEPEND="${RDEPEND}
java? ( >=virtual/jre-1.6 )"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_pretend() {
if ! use headless && ! use qt5 ; then
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
elif use headless && use qt5 ; then
einfo "You selected USE=\"headless qt5\", defaulting to"
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
fi
if ! use opengl ; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python ; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
tc-ld-disable-gold #bug 488176
tc-export CC CXX LD AR RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
rm "${WORKDIR}/patches/008_virtualbox-4.3.14-missing_define.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
doecho() {
echo "$@"
"$@" || die
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
doecho ./configure ${myconf[@]}
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
local binpath="release"
use debug && binpath="debug"
cd "${S}"/out/linux.${ARCH}/${binpath}/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each fwfile size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binray given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED%/}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-5-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
# *.rc files for x86_64 are only available on multilib systems
local rcfiles="*.rc"
if use amd64 && ! has_multilib_profile ; then
rcfiles=""
fi
for each in VBox{ExtPackHelperApp,Manage,SVC,Tunctl,XPCOMIPCD} *so *r0 ${rcfiles} ; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
pushd "${S}"/src/VBox/Devices/EFI/FirmwareBin &>/dev/null || die
for fwfile in VBoxEFI{32,64}.fd ; do
vbox_inst ${fwfile} 0644
done
popd &>/dev/null || die
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED%/}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{headless,manage} VBox{Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst VBoxSDL 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox 4750
pax-mark -m "${ED%/}"${vbox_inst_path}/VirtualBox
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED%/}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox VirtualBox ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
newmenu "${FILESDIR}"/${PN}-ose.desktop-2 ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]] ; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm ; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk ; then
insinto ${vbox_inst_path}
doins -r sdk
if use java ; then
java-pkg_regjar "${ED%/}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED%/}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev ; then
# New way of handling USB device nodes for VBox (bug #356215)
local udevdir="$(get_udevdir)"
insinto ${udevdir}
doins VBoxCreateUSBNode.sh
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
> "${T}"/10-virtualbox.rules || die
doins "${T}"/10-virtualbox.rules
fi
if use vboxwebsrv ; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
if use vnc ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${vbox_inst_path}/ExtensionPacks
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_postinst() {
gnome2_icon_cache_update
xdg_desktop_database_update
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [ -e "${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules" ] ; then
elog ""
elog "Please remove \"${ROOT%/}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
gnome2_icon_cache_update
xdg_desktop_database_update
}

@ -1,511 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python{2_7,3_{6,7,8}} )
inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.0.16-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64 ~x86"
IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
CDEPEND="
${PYTHON_DEPS}
!app-emulation/virtualbox-bin
acct-group/vboxusers
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
sys-libs/zlib:=
!headless? (
media-libs/libsdl:0[X,video]
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
opengl? ( dev-qt/qtopengl:5 )
x11-libs/libXinerama
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
opus? ( media-libs/opus )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
"
DEPEND="
${CDEPEND}
alsa? ( >=media-libs/alsa-lib-1.0.13 )
!headless? ( x11-libs/libXinerama )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
"
BDEPEND="
${PYTHON_DEPS}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
java? ( >=virtual/jdk-1.6 )
"
RDEPEND="
${CDEPEND}
java? ( >=virtual/jre-1.6 )
"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_pretend() {
if ! use headless && ! use qt5 ; then
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
elif use headless && use qt5 ; then
einfo "You selected USE=\"headless qt5\", defaulting to"
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
fi
if ! use opengl ; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python ; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
tc-ld-disable-gold #bug 488176
tc-export CC CXX LD AR RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(gcc -dumpversion | cut -d. -f1)" ; cc_min="$(gcc -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
rm "${WORKDIR}/patches/010_virtualbox-5.2.12-qt511.patch" || die
eapply "${WORKDIR}/patches"
eapply_user
}
doecho() {
echo "$@"
"$@" || die
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex opus '' --disable-libopus)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
doecho ./configure ${myconf[@]}
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
all
}
src_install() {
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
# *.rc files for x86_64 are only available on multilib systems
local rcfiles="*.rc"
if use amd64 && ! has_multilib_profile ; then
rcfiles=""
fi
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} *so *r0 ${rcfiles} iPxeBaseBin ; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
for each in VBoxEFI{32,64}.fd ; do
vbox_inst ${each} 0644
done
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst rdesktop-vrdp
vbox_inst VBoxSDL 4750
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox
vbox_inst VirtualBoxVM 4750
for each in VirtualBox{,VM} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox{,vm} VirtualBox{,VM} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
domenu ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]] ; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm ; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk ; then
insinto ${vbox_inst_path}
doins -r sdk
if use java ; then
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev ; then
# New way of handling USB device nodes for VBox (bug #356215)
local udevdir="$(get_udevdir)"
insinto ${udevdir}
doins VBoxCreateUSBNode.sh
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
> "${T}"/10-virtualbox.rules || die
doins "${T}"/10-virtualbox.rules
fi
if use vboxwebsrv ; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
if use vnc ; then
insinto ${extensions_dir}
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${extensions_dir}
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_preinst() {
xdg_pkg_preinst
}
pkg_postinst() {
xdg_pkg_postinst
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_pkg_postrm
}

@ -1,507 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
inherit desktop flag-o-matic java-pkg-opt-2 linux-info pax-utils python-single-r1 tmpfiles toolchain-funcs udev xdg
MY_PV="${PV/beta/BETA}"
MY_PV="${MY_PV/rc/RC}"
MY_P=VirtualBox-${MY_PV}
DESCRIPTION="Family of powerful x86 virtualization products for enterprise and home use"
HOMEPAGE="https://www.virtualbox.org/"
SRC_URI="https://download.virtualbox.org/virtualbox/${MY_PV}/${MY_P}.tar.bz2
https://dev.gentoo.org/~polynomial-c/${PN}/patchsets/${PN}-6.1.14-patches-01.tar.xz"
LICENSE="GPL-2 dtrace? ( CDDL )"
SLOT="0"
[[ "${PV}" == *_beta* ]] || [[ "${PV}" == *_rc* ]] || \
KEYWORDS="~amd64"
IUSE="alsa debug doc dtrace headless java libressl lvm +opus pam pax_kernel pulseaudio +opengl python +qt5 +sdk +udev vboxwebsrv vnc"
CDEPEND="
${PYTHON_DEPS}
!app-emulation/virtualbox-bin
acct-group/vboxusers
~app-emulation/virtualbox-modules-${PV}
dev-libs/libIDL
>=dev-libs/libxslt-1.1.19
net-misc/curl
dev-libs/libxml2
media-libs/libpng:0=
media-libs/libvpx:0=
sys-libs/zlib:=
!headless? (
media-libs/libsdl:0[X,video]
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/libXcursor
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXt
opengl? ( virtual/opengl media-libs/freeglut )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtprintsupport:5
dev-qt/qtwidgets:5
dev-qt/qtx11extras:5
opengl? ( dev-qt/qtopengl:5 )
x11-libs/libXinerama
)
)
libressl? ( dev-libs/libressl:= )
!libressl? ( dev-libs/openssl:0= )
lvm? ( sys-fs/lvm2 )
opus? ( media-libs/opus )
udev? ( >=virtual/udev-171 )
vnc? ( >=net-libs/libvncserver-0.9.9 )
"
DEPEND="
${CDEPEND}
alsa? ( >=media-libs/alsa-lib-1.0.13 )
!headless? ( x11-libs/libXinerama )
pam? ( sys-libs/pam )
pax_kernel? ( sys-apps/elfix )
pulseaudio? ( media-sound/pulseaudio )
qt5? ( dev-qt/linguist-tools:5 )
vboxwebsrv? ( net-libs/gsoap[-gnutls(-)] )
"
BDEPEND="
${PYTHON_DEPS}
>=dev-util/kbuild-0.1.9998.3127
>=dev-lang/yasm-0.6.2
sys-devel/bin86
sys-libs/libcap
sys-power/iasl
virtual/pkgconfig
doc? (
app-text/docbook-sgml-dtd:4.4
dev-texlive/texlive-basic
dev-texlive/texlive-latex
dev-texlive/texlive-latexrecommended
dev-texlive/texlive-latexextra
dev-texlive/texlive-fontsrecommended
dev-texlive/texlive-fontsextra
)
java? ( >=virtual/jdk-1.6 )
"
RDEPEND="
${CDEPEND}
java? ( >=virtual/jre-1.6 )
"
QA_TEXTRELS_x86="usr/lib/virtualbox-ose/VBoxGuestPropSvc.so
usr/lib/virtualbox/VBoxSDL.so
usr/lib/virtualbox/VBoxSharedFolders.so
usr/lib/virtualbox/VBoxDD2.so
usr/lib/virtualbox/VBoxOGLrenderspu.so
usr/lib/virtualbox/VBoxPython.so
usr/lib/virtualbox/VBoxDD.so
usr/lib/virtualbox/VBoxDDU.so
usr/lib/virtualbox/VBoxREM64.so
usr/lib/virtualbox/VBoxSharedClipboard.so
usr/lib/virtualbox/VBoxHeadless.so
usr/lib/virtualbox/VBoxRT.so
usr/lib/virtualbox/VBoxREM.so
usr/lib/virtualbox/VBoxSettings.so
usr/lib/virtualbox/VBoxKeyboard.so
usr/lib/virtualbox/VBoxSharedCrOpenGL.so
usr/lib/virtualbox/VBoxVMM.so
usr/lib/virtualbox/VirtualBox.so
usr/lib/virtualbox/VBoxOGLhosterrorspu.so
usr/lib/virtualbox/components/VBoxC.so
usr/lib/virtualbox/components/VBoxSVCM.so
usr/lib/virtualbox/components/VBoxDDU.so
usr/lib/virtualbox/components/VBoxRT.so
usr/lib/virtualbox/components/VBoxREM.so
usr/lib/virtualbox/components/VBoxVMM.so
usr/lib/virtualbox/VBoxREM32.so
usr/lib/virtualbox/VBoxPython2_7.so
usr/lib/virtualbox/VBoxXPCOMC.so
usr/lib/virtualbox/VBoxOGLhostcrutil.so
usr/lib/virtualbox/VBoxNetDHCP.so
usr/lib/virtualbox/VBoxNetNAT.so"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
java? ( sdk )
python? ( sdk )
vboxwebsrv? ( java )
${PYTHON_REQUIRED_USE}
"
pkg_pretend() {
if ! use headless && ! use qt5 ; then
einfo "No USE=\"qt5\" selected, this build will not include any Qt frontend."
elif use headless && use qt5 ; then
einfo "You selected USE=\"headless qt5\", defaulting to"
einfo "USE=\"headless\", this build will not include any X11/Qt frontend."
fi
if ! use opengl ; then
einfo "No USE=\"opengl\" selected, this build will lack"
einfo "the OpenGL feature."
fi
if ! use python ; then
einfo "You have disabled the \"python\" USE flag. This will only"
einfo "disable the python bindings being installed."
fi
}
pkg_setup() {
java-pkg-opt-2_pkg_setup
python-single-r1_pkg_setup
tc-ld-disable-gold #bug 488176
tc-export CC CXX LD AR RANLIB
export HOST_CC="$(tc-getBUILD_CC)"
}
src_prepare() {
# Remove shipped binaries (kBuild,yasm), see bug #232775
rm -r kBuild/bin tools || die
# Replace pointless GCC version check with something less stupid.
# This is needed for the qt5 version check.
sed -e 's@^check_gcc$@cc_maj="$(${CC} -dumpversion | cut -d. -f1)" ; cc_min="$(${CC} -dumpversion | cut -d. -f2)"@' \
-i configure || die
# Disable things unused or split into separate ebuilds
sed -e "s@MY_LIBDIR@$(get_libdir)@" \
"${FILESDIR}"/${PN}-5-localconfig > LocalConfig.kmk || die
# Respect LDFLAGS
sed -e "s@_LDFLAGS\.${ARCH}*.*=@& ${LDFLAGS}@g" \
-i Config.kmk src/libs/xpcom18a4/Config.kmk || die
# Do not use hard-coded ld (related to bug #488176)
sed -e '/QUIET)ld /s@ld @$(LD) @' \
-i src/VBox/Devices/PC/ipxe/Makefile.kmk || die
# Use PAM only when pam USE flag is enbaled (bug #376531)
if ! use pam ; then
elog "Disabling PAM removes the possibility to use the VRDP features."
sed -i 's@^.*VBOX_WITH_PAM@#VBOX_WITH_PAM@' Config.kmk || die
sed -i 's@\(.*/auth/Makefile.kmk.*\)@#\1@' \
src/VBox/HostServices/Makefile.kmk || die
fi
# add correct java path
if use java ; then
sed "s@/usr/lib/jvm/java-6-sun@$(java-config -O)@" \
-i "${S}"/Config.kmk || die
java-pkg-opt-2_src_prepare
fi
# Only add nopie patch when we're on hardened
if gcc-specs-pie ; then
eapply "${FILESDIR}/050_virtualbox-5.2.8-nopie.patch"
fi
# Only add paxmark patch when we're on pax_kernel
if use pax_kernel ; then
eapply "${FILESDIR}"/virtualbox-5.2.8-paxmark-bldprogs.patch
fi
eapply "${WORKDIR}/patches"
eapply_user
}
doecho() {
echo "$@"
"$@" || die
}
src_configure() {
local myconf=(
--with-gcc="$(tc-getCC)"
--with-g++="$(tc-getCXX)"
--disable-dbus
--disable-kmods
$(usex alsa '' --disable-alsa)
$(usex debug --build-debug '')
$(usex doc '' --disable-docs)
$(usex java '' --disable-java)
$(usex lvm '' --disable-devmapper)
$(usex opus '' --disable-libopus)
$(usex pulseaudio '' --disable-pulse)
$(usex python '' --disable-python)
$(usex vboxwebsrv --enable-webservice '')
$(usex vnc --enable-vnc '')
)
if ! use headless ; then
myconf+=(
$(usex opengl '' --disable-opengl)
$(usex qt5 '' --disable-qt)
)
else
myconf+=(
--build-headless
--disable-opengl
)
fi
if use amd64 && ! has_multilib_profile ; then
myconf+=( --disable-vmmraw )
fi
# not an autoconf script
doecho ./configure ${myconf[@]}
}
src_compile() {
source ./env.sh || die
# Force kBuild to respect C[XX]FLAGS and MAKEOPTS (bug #178529)
MAKEJOBS=$(grep -Eo '(\-j|\-\-jobs)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKELOAD=$(grep -Eo '(\-l|\-\-load-average)(=?|[[:space:]]*)[[:digit:]]+' <<< ${MAKEOPTS}) #'
MAKEOPTS="${MAKEJOBS} ${MAKELOAD}"
MAKE="kmk" emake \
VBOX_BUILD_PUBLISHER=_Gentoo \
TOOL_GCC3_CC="$(tc-getCC)" TOOL_GCC3_CXX="$(tc-getCXX)" \
TOOL_GCC3_AS="$(tc-getCC)" TOOL_GCC3_AR="$(tc-getAR)" \
TOOL_GCC3_LD="$(tc-getCXX)" TOOL_GCC3_LD_SYSMOD="$(tc-getLD)" \
TOOL_GCC3_CFLAGS="${CFLAGS}" TOOL_GCC3_CXXFLAGS="${CXXFLAGS}" \
VBOX_GCC_OPT="${CXXFLAGS}" \
TOOL_YASM_AS=yasm KBUILD_VERBOSE=2 \
VBOX_WITH_VBOXIMGMOUNT=1 \
all
}
src_install() {
cd "${S}"/out/linux.${ARCH}/$(usex debug debug release)/bin || die
local vbox_inst_path="/usr/$(get_libdir)/${PN}" each size ico icofile
vbox_inst() {
local binary="${1}"
local perms="${2:-0750}"
local path="${3:-${vbox_inst_path}}"
[[ -n "${binary}" ]] || die "vbox_inst: No binary given!"
[[ ${perms} =~ ^[[:digit:]]+{4}$ ]] || die "vbox_inst: perms must consist of four digits."
insinto ${path}
doins ${binary}
fowners root:vboxusers ${path}/${binary}
fperms ${perms} ${path}/${binary}
}
# Create configuration files
insinto /etc/vbox
newins "${FILESDIR}/${PN}-4-config" vbox.cfg
# Set the correct libdir
sed \
-e "s@MY_LIBDIR@$(get_libdir)@" \
-i "${ED}"/etc/vbox/vbox.cfg || die "vbox.cfg sed failed"
# Install the wrapper script
exeinto ${vbox_inst_path}
newexe "${FILESDIR}/${PN}-ose-6-wrapper" "VBox"
fowners root:vboxusers ${vbox_inst_path}/VBox
fperms 0750 ${vbox_inst_path}/VBox
# Install binaries and libraries
insinto ${vbox_inst_path}
doins -r components
for each in VBox{Autostart,BalloonCtrl,BugReport,CpuReport,ExtPackHelperApp,Manage,SVC,Tunctl,VMMPreload,XPCOMIPCD} vboximg-mount *so *r0 iPxeBaseBin ; do
vbox_inst ${each}
done
# These binaries need to be suid root.
for each in VBox{Headless,Net{AdpCtl,DHCP,NAT}} ; do
vbox_inst ${each} 4750
done
# Install EFI Firmware files (bug #320757)
for each in VBoxEFI{32,64}.fd ; do
vbox_inst ${each} 0644
done
# VBoxSVC and VBoxManage need to be pax-marked (bug #403453)
# VBoxXPCOMIPCD (bug #524202)
for each in VBox{Headless,Manage,SVC,XPCOMIPCD} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
# Symlink binaries to the shipped wrapper
for each in vbox{autostart,balloonctrl,bugreport,headless,manage} VBox{Autostart,BalloonCtrl,BugReport,Headless,Manage,VRDP} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
dosym ${vbox_inst_path}/VBoxTunctl /usr/bin/VBoxTunctl
dosym ${vbox_inst_path}/vboximg-mount /usr/bin/vboximg-mount
if use pam ; then
# VRDPAuth only works with this (bug #351949)
dosym VBoxAuth.so ${vbox_inst_path}/VRDPAuth.so
fi
# set an env-variable for 3rd party tools
echo -n "VBOX_APP_HOME=${vbox_inst_path}" > "${T}/90virtualbox"
doenvd "${T}/90virtualbox"
if ! use headless ; then
vbox_inst rdesktop-vrdp
vbox_inst VBoxSDL 4750
pax-mark -m "${ED}"${vbox_inst_path}/VBoxSDL
for each in vboxsdl VBoxSDL ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
if use qt5 ; then
vbox_inst VirtualBox
vbox_inst VirtualBoxVM 4750
for each in VirtualBox{,VM} ; do
pax-mark -m "${ED}"${vbox_inst_path}/${each}
done
if use opengl ; then
vbox_inst VBoxTestOGL
pax-mark -m "${ED}"${vbox_inst_path}/VBoxTestOGL
fi
for each in virtualbox{,vm} VirtualBox{,VM} ; do
dosym ${vbox_inst_path}/VBox /usr/bin/${each}
done
insinto /usr/share/${PN}
doins -r nls
doins -r UnattendedTemplates
domenu ${PN}.desktop
fi
pushd "${S}"/src/VBox/Artwork/OSE &>/dev/null || die
for size in 16 32 48 64 128 ; do
newicon -s ${size} ${PN}-${size}px.png ${PN}.png
done
newicon ${PN}-48px.png ${PN}.png
doicon -s scalable ${PN}.svg
popd &>/dev/null || die
pushd "${S}"/src/VBox/Artwork/other &>/dev/null || die
for size in 16 24 32 48 64 72 96 128 256 512 ; do
for ico in hdd ova ovf vbox{,-extpack} vdi vdh vmdk ; do
icofile="${PN}-${ico}-${size}px.png"
if [[ -f "${icofile}" ]] ; then
newicon -s ${size} ${icofile} ${PN}-${ico}.png
fi
done
done
popd &>/dev/null || die
fi
if use lvm ; then
vbox_inst VBoxVolInfo 4750
dosym ${vbox_inst_path}/VBoxVolInfo /usr/bin/VBoxVolInfo
fi
if use sdk ; then
insinto ${vbox_inst_path}
doins -r sdk
if use java ; then
java-pkg_regjar "${ED}/${vbox_inst_path}/sdk/bindings/xpcom/java/vboxjxpcom.jar"
java-pkg_regso "${ED}/${vbox_inst_path}/libvboxjxpcom.so"
fi
fi
if use udev ; then
# New way of handling USB device nodes for VBox (bug #356215)
local udevdir="$(get_udevdir)"
insinto ${udevdir}
doins VBoxCreateUSBNode.sh
fowners root:vboxusers ${udevdir}/VBoxCreateUSBNode.sh
fperms 0750 ${udevdir}/VBoxCreateUSBNode.sh
insinto ${udevdir}/rules.d
sed "s@%UDEVDIR%@${udevdir}@" "${FILESDIR}"/10-virtualbox.rules \
> "${T}"/10-virtualbox.rules || die
doins "${T}"/10-virtualbox.rules
fi
if use vboxwebsrv ; then
vbox_inst vboxwebsrv
dosym ${vbox_inst_path}/VBox /usr/bin/vboxwebsrv
newinitd "${FILESDIR}"/vboxwebsrv-initd vboxwebsrv
newconfd "${FILESDIR}"/vboxwebsrv-confd vboxwebsrv
fi
# Fix version string in extensions or else they don't get accepted
# by the virtualbox host process (see bug #438930)
find ExtensionPacks -type f -name "ExtPack.xml" -print0 \
| xargs --no-run-if-empty --null sed -i '/Version/s@_Gentoo@@' \
|| die
local extensions_dir="${vbox_inst_path}/ExtensionPacks"
if use vnc ; then
insinto ${extensions_dir}
doins -r ExtensionPacks/VNC
fi
if use dtrace ; then
insinto ${extensions_dir}
doins -r ExtensionPacks/Oracle_VBoxDTrace_Extension_Pack
fi
if use doc ; then
dodoc UserManual.pdf
fi
newtmpfiles "${FILESDIR}"/${PN}-vboxusb_tmpfilesd ${PN}-vboxusb.conf
}
pkg_preinst() {
xdg_pkg_preinst
}
pkg_postinst() {
xdg_pkg_postinst
if use udev ; then
udevadm control --reload-rules \
&& udevadm trigger --subsystem-match=usb
fi
tmpfiles_process /usr/lib/tmpfiles.d/virtualbox-vboxusb.conf
if ! use headless && use qt5 ; then
elog "To launch VirtualBox just type: \"virtualbox\"."
fi
elog "You must be in the vboxusers group to use VirtualBox."
elog ""
elog "The latest user manual is available for download at:"
elog "http://download.virtualbox.org/virtualbox/${PV}/UserManual.pdf"
elog ""
elog "For advanced networking setups you should emerge:"
elog "net-misc/bridge-utils and sys-apps/usermode-utilities"
elog ""
elog "Starting with version 4.0.0, ${PN} has USB-1 support."
elog "For USB-2 support, PXE-boot ability and VRDP support please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
elog "package."
elog "Starting with version 5.0.0, ${PN} no longer has the \"additions\" and"
elog "the \"extension\" USE flag. For installation of the guest additions ISO"
elog "image, please emerge"
elog " app-emulation/virtualbox-additions"
elog "and for the USB2, USB3, VRDP and PXE boot ROM modules, please emerge"
elog " app-emulation/virtualbox-extpack-oracle"
if ! use udev ; then
elog ""
elog "WARNING!"
elog "Without USE=udev, USB devices will likely not work in ${PN}."
elif [[ -e "${ROOT}/etc/udev/rules.d/10-virtualbox.rules" ]] ; then
elog ""
elog "Please remove \"${ROOT}/etc/udev/rules.d/10-virtualbox.rules\""
elog "or else USB in ${PN} won't work."
fi
}
pkg_postrm() {
xdg_pkg_postrm
}

Binary file not shown.

@ -1,3 +1,5 @@
DIST transifex-client-0.12.4.tar.gz 179349 BLAKE2B 4287bf32a31a5319f54ae5f141f53fa00554c542d7f0f1000e985547f01029b05dc18f38ef992d37c08c6c0ab54d934a4ab37c37f0bfee299d824224316acbad SHA512 516531a0c5a7242da27e8b34a0513b24b806d3b3a271cfe29b31ef7969472f82a37e6fbb1d6198feb1c5bd99d7503bacf3f162808504415ea46670af3fe2369e
DIST transifex-client-0.13.9.tar.gz 197283 BLAKE2B 9fd6f63a54d09f190f7dd6701e4994e4fd67e23cf630dcb49641a3c7356e55f1146be7c2a590fb09a52cccfa99e709c48fffd7df416d1d4c10231c4f42919380 SHA512 3dc4a1e713a797ce1ea626c9e85dd353fec3034ba21ab04bc89e5b927e0298b4f6560a793eec50d1a99c7ab340462c33d18c1e159697c476001be868cb7f87fa
EBUILD transifex-client-0.12.4.ebuild 638 BLAKE2B 0b53b4af9264e9b5bfe96cbfe08da48a16ecce00fc06779c2cf54c622efddb4096fbe414fc9d45c74c51f058f9795ea765c29b371768041ddb2435d592786b46 SHA512 1273f8da1fb49837fe52447fca6010b9054239b0d9599ae5ba0d9ffde40f9bf9d993a6c31e849450a46d6d1f1641589c1350cb0117bc40a96faa3a7325ae7f20
MISC metadata.xml 312 BLAKE2B 4f8f44c33d8e28af1666aed00cd0536cf010425d878769c0354ccee3e09a05314a61336ca16a012c6f9a453370df95410e02835123fa09b04bb9b6e6be9b39c7 SHA512 2f46ebd28eab7970044d6ce2570abce4507e3a6087ffd6b3825e005a25645d24f0b9c1fa08c31cbfe7d4a4795d6318e0cb72a959b36934055dbb95aa4d688272
EBUILD transifex-client-0.13.9.ebuild 752 BLAKE2B dc7f82627952cc2c41d72a41f845797027967defe130907fbbbde85048d50efe08c5a56e8c7a9837f628a9a1560d2fb77d54880b36d21186ca6a361b3919431e SHA512 4601968457c93840f7c99f5ff4bc7c897a08c32b743cb9e5b4b8fffd5f4bfde98c1642f487dd8ba400deb6380b1df6c1ec3d7b6371b51f912143d036e9ac332b
MISC metadata.xml 511 BLAKE2B cb47fd7af2c99fe027060cd09a0ed4943faf219f1a9117be347e317c651d68f4a8d6967a51d899f6e125110138cfd47242b8818ef0bdf51f8b08d3989680ed79 SHA512 e1ff78568bc8bc8c80a48ffe569deb6fe36f431443ef10903a3fe03ea3f2b1452e0c145388c7225d0dfcac126b692276b27e8973a8875788234924a1d2cd8c31

@ -1,7 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<maintainer type="person">
<email>gentoo.2019@r123.de</email>
<name>Robert Siebeck</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="pypi">transifex-client</remote-id>
<remote-id type="github">transifex/transifex-client</remote-id>

@ -0,0 +1,27 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="A command line interface for Transifex"
HOMEPAGE="https://pypi.org/project/transifex-client/ https://www.transifex.net/"
SRC_URI="mirror://pypi/t/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
BDEPEND="test? ( dev-python/mock[${PYTHON_USEDEP}] )"
RDEPEND="<dev-python/python-slugify-2.0.0[${PYTHON_USEDEP}]
>=dev-python/requests-2.19.1[${PYTHON_USEDEP}]
<dev-python/six-2.0.0[${PYTHON_USEDEP}]
>=dev-python/urllib3-1.24.2[${PYTHON_USEDEP}]"
distutils_enable_tests setup.py

Binary file not shown.

@ -4,10 +4,10 @@ AUX fix-histfile-test-on-ppc.patch 1068 BLAKE2B fa407d7f5d02f061a3ca9d79bdf09ae6
DIST fish-2.7.1.tar.gz 5760550 BLAKE2B 71568a3a17f4222b05a314464a61fceb241409a7d42c46249486ca742ef0cf990c46d693bcc22521c18f58a558e6aab35759d0da6eb62ee6611a2a7946fe714d SHA512 45ee3453404c5d6c56d307b4cd19197de862f9f42d7fa06461acec56dea7146db5675cf6419dd5f72e939b3e4b1955d3761098df1de89a8cebe47645eb6f7a4b
DIST fish-3.0.2.tar.gz 6477869 BLAKE2B fedc8bd5fd6d7856b695207ce9ac7a5a47f0e3c211d2aa2151a7a3c1bd944b3cf5c86ddf8b6e4c4d3499bb72d4ede64886706e05a44786d70c665b4ffb85369f SHA512 cd4a8e6a0d7770ef17e92d3d20ea23e754b9fa53e5ee5459ab5838fcbbcac69544ca2f83551e93a004b140cc14ec556860a711ce216197753c1704901518c9c3
DIST fish-3.1.0.tar.gz 6810953 BLAKE2B 93143d9a2496b569ff6f73f4332beb3b738b7b03ede5357b0d7cc02a0c7da99852eb44a61c16d2524396ae37e76a1b439d708ae01488e79b0e03ba72504ebdec SHA512 143e462b5329790fa9834e135109e1397c3525756a0209d0ec68a53f7d2a1f581cd45fbbdcde6a5b53dff447da18ed6a62277993d851e7b18ef7f1a6b6d49cff
DIST fish-3.1.1.tar.gz 6816063 BLAKE2B 0b390ea4d887b392170e6003d7b02417ade7c6015348b201b2af6ce1a5a7f8b764057208e98c73c7616114863806098dab9386726dfdf606ba53d8d74d64ca6d SHA512 edda6739427b7ba140445430b93388ada116c7c9064da7deb6924f2ace3832de7da8e1e20730bfd12b081ab1cc4b7ffaf8f60c5ee5204f59e65889e30c913eae
DIST fish-3.1.2.tar.gz 6816214 BLAKE2B d994cb867a1a86850db2ec36d262328cd8dc21d63edb860c26d727aac08fa257392690999e099d754287d9f12a294222815e4cc84abbb2e2a87a982bb6627b6b SHA512 b6ae2c928774a2eaccf35312d3a9446bfa3e1335182c8f2b2d6198161d0916904f4964fb20ed13a5bf850c1c819e003905d13db3bc8b1faa5b401a60b47dc563
EBUILD fish-2.7.1.ebuild 2446 BLAKE2B e3ef925138c3db3412cd276dbaa374e3073beca1371c7f3b26be53b4ceb62fd603b0574c888aea9949c195c0f1c3ae540096aab951cc4dba30b03771161aa847 SHA512 179f0ae63b1ca6694bc579fa93a1bdc86f1e7aface1ea98e6fe1a6c08fe0ff460e6599cc0d0e496a9b02aea271bdc2f416c9fc0e2c2f6d3e805c7246141b804b
EBUILD fish-3.0.2.ebuild 1655 BLAKE2B fe92bb0efdfff55487758ce2729199743cf3ef7a00509178098a785d8dec6368e02fc18fe978ea403f0987b3ab7cf5f6adb948bd24c668c095205477da2f1ae9 SHA512 9ea057a38f500a0645bbd819c102501b308e5634e05dada1c5a976465327e958546b2b6695c7b3c39716c513bdb507faf499f1a48917c713d8f062d81701fda2
EBUILD fish-3.1.0.ebuild 1557 BLAKE2B ccd54d16b09cd15983cb58ac4da97170fcdd8493f315968c5709e20ef06b9550192a67f7df82c69637ccb08ef8e07db199f90a1ce960d13fedfd6525852bdc11 SHA512 99fb79a548105a2df3c4c8098a2967ce91e52eee8a6d866e95606ef373a0bae8d23d81a322d3e307344f3ad04ed9d3a6240d3d25b84c1130bc54c2f7fb8a6570
EBUILD fish-3.1.1.ebuild 1557 BLAKE2B ccd54d16b09cd15983cb58ac4da97170fcdd8493f315968c5709e20ef06b9550192a67f7df82c69637ccb08ef8e07db199f90a1ce960d13fedfd6525852bdc11 SHA512 99fb79a548105a2df3c4c8098a2967ce91e52eee8a6d866e95606ef373a0bae8d23d81a322d3e307344f3ad04ed9d3a6240d3d25b84c1130bc54c2f7fb8a6570
EBUILD fish-3.1.2.ebuild 1557 BLAKE2B ccd54d16b09cd15983cb58ac4da97170fcdd8493f315968c5709e20ef06b9550192a67f7df82c69637ccb08ef8e07db199f90a1ce960d13fedfd6525852bdc11 SHA512 99fb79a548105a2df3c4c8098a2967ce91e52eee8a6d866e95606ef373a0bae8d23d81a322d3e307344f3ad04ed9d3a6240d3d25b84c1130bc54c2f7fb8a6570
EBUILD fish-9999.ebuild 1577 BLAKE2B aa41c8e8271d32267c94e09e7879f80e70fdbbd0007bcc4f0031f375189310448f6492e607e3ac8b39792372ec5e83c98fafecffb6170c60933addf843cd3bec SHA512 f18c48e2200f6f4837d9f572514181f13598a3b4681b7cd2d994793845f858751be475fa02105eb2266b4b924ebdb048a146f56d92738613450e2a136c82d775
MISC metadata.xml 739 BLAKE2B 4ab30ae3cb92888979e23f8e6d59e6d09596e945bd683d58d34017f87e080c486eeebda42bd7a346522e4db072b55ad2db5a68d13738cb4ac2aeddeae84c777a SHA512 1c9a1ed56437553376f32f030a2bd50259a3bebc27eb05b288c68769ebda80cbafc54b75d1d1345a4675c9a79bf4a0ed02d94f2e32bfcdc2aa7d171a42570d97

Binary file not shown.

@ -52,13 +52,13 @@ EBUILD postgresql-9.4.22.ebuild 14299 BLAKE2B eacd329211742be4d5ea5049936d302b6e
EBUILD postgresql-9.4.23.ebuild 14428 BLAKE2B 455ff868fad6799eacf6420f3aa30427e870221041770dcb0ae16498c6e9da83dd42a8feebcdcc1471ab877b00ac2e2d476e29d30cfe60084f3de7d9be703a3f SHA512 eb0bac6200ce852296aaecd7d1ee5abc4ae2e5e588c5ac85039e25554940022f8da0d6be85d17cf5bebda376dfd6215187023e5b488c99b974163ef50783d1b2
EBUILD postgresql-9.4.24.ebuild 14435 BLAKE2B 1df38eb7790bfb7bbe7f70cfc07f439fe6ba55d957a5a1d28508a867dc3f66df41c9c285a2034e95f950cb4c6c8ef2310d138ff00e4f7b4ecc6e76afab3b06fe SHA512 4bc15ff815ae2c19d09f9cbb4eb98da95201fa800b864724a657633b7ece79139529a8741c7936bf7f8e89d3223215f3c868294265705a02c325e0580cc2fc22
EBUILD postgresql-9.4.25.ebuild 14434 BLAKE2B 580507e33bebd4f3de486bfe2d42b6967ff151d8f22b988df1b14f0ab58a1a24b73453519e51a97d5d0ebabb2cd102ad56da351186c1883080a22d717471caad SHA512 50e4a6c3851a0f2b4ef16affcc740058d42201054505416935d55b21f3ca19e6cc3a25e15937f992a327e5836d48a9e1365c0917e55d12aab61bf37115b5df2c
EBUILD postgresql-9.4.26.ebuild 14438 BLAKE2B e94dc24e3b309092e9910333c319825eb27ca3e8373e3d7f1760f83afabd692eb3a875769d108b4be26de51b3090d21e597488534e0082115e810d1b69a3b658 SHA512 14934ff2606130629e0ca005354e7beb57976c7c3b3d3a1d3efcecbd76a6ce66e594b959e5588e27fea6247cd8d6589e9047d38ae4256acda8c119cbe0e57808
EBUILD postgresql-9.4.26.ebuild 14437 BLAKE2B feb1656b39ba9b9fa37fb45791742e796d9bb125fd03ba2da948ee95f2f596b7ecbfec08acf938735744b9b748ccd61cf3342c3f3bc6bd8209dee53b4433d6bf SHA512 acfc531c3889d5180ea00eae438ae240b4e6b4f47af5f9c35a09d7d40cf5aee4a6a6f257c8d8ca612364f2b4a8a928e3aeb6b425e960c580eba3485f2b71dda0
EBUILD postgresql-9.5.17-r1.ebuild 14663 BLAKE2B 6aa2e866fc214566a521e7cfefc29f7aa60e83015e665219166b8fd8da88233b1284748084b92c36683bcb4acf1be5a86897d51ae0af40ee1aee249b9f68203b SHA512 6438248a3901f1497d1e0a3e6fc4e14966a66cf388f7445d81d0f288ae5c4b7fb074d85af0dde509963b476eccdbdf030ecbb2b6c6e27aaf6149d5b1a479a462
EBUILD postgresql-9.5.17.ebuild 14527 BLAKE2B c6109f14d2093d03c4746713765ab3c60f42e35420dceca8a1a103c547aaeb189cb295b7ab85605dc9271c6baa1bad6f9370790a54a4003468a51efee85fcd83 SHA512 372c2eaa21a35df5165e9fe05756562c210089433089dc717a5cd491fb3796bb11b9e5187b0a4a894db7862d0d2cf67b2fedaa45cd855fc7d164a76a267600a6
EBUILD postgresql-9.5.18.ebuild 14656 BLAKE2B 82fbae6377935143e39de5828c05477d683df4126a5573d9278a5fa78b8ad9212873cfd614590775462e9bdbb67f69a7c385ef8419f50a48d2a10244e7367369 SHA512 2129c293eb8904267e62ad80a1f4b23dd81a73459dc12899bc5def842342e69489560c7acfa012783aef79d2449cb5314231dc8f73ec1f5e3f6bef648b081010
EBUILD postgresql-9.5.19.ebuild 14663 BLAKE2B 6aa2e866fc214566a521e7cfefc29f7aa60e83015e665219166b8fd8da88233b1284748084b92c36683bcb4acf1be5a86897d51ae0af40ee1aee249b9f68203b SHA512 6438248a3901f1497d1e0a3e6fc4e14966a66cf388f7445d81d0f288ae5c4b7fb074d85af0dde509963b476eccdbdf030ecbb2b6c6e27aaf6149d5b1a479a462
EBUILD postgresql-9.5.20.ebuild 14655 BLAKE2B 8505dcafc0aa6a0d3b117f9970eae034cef29258476c30a9bcc36553854570d2436d5c9c0f682f2587aff667450433749cc1eb102af1c5e65b1c58d4ef14e634 SHA512 ce02b47d341aa7102b643310a9effdef2701f9554b683bb09ffde52567baf20b64b10e9cab1ad7480b6804d78cd2089f950ab2462dd18e2bc1938f912775c8f5
EBUILD postgresql-9.5.21.ebuild 14659 BLAKE2B 7d9d50987e7277ac350cba3dacd18a4264443e03cde08c45d9fce9554448ff87fe5ef8ec11d0f915fed8c9a212397a3493d3a2b4f2ab18a121dfd3b3b2732342 SHA512 2dd11128f2bade9b28414e3981aad9c5b68059534bcfddd9f697b39547a6be05547dd7b15ab3852c172b02f9be0dc69b48a352128e23616201bf0fca64867338
EBUILD postgresql-9.5.21.ebuild 14658 BLAKE2B c0dc39985198149e18d4ac79fe2b61aabe2adc38a17a7cf26e9ba5289019edd3f157661595b53e4083439dc10c82df506a85e42c16036f8774e7aec6b5fad9e2 SHA512 f1ae3ec0a316a20c917a5be236e49794b8c69e120521979885cc1e549238bd3231e7c92242736638f6aabb1a552ec589a2e83eb5b527bb2968cc11ffc1425e96
EBUILD postgresql-9.6.13-r1.ebuild 14896 BLAKE2B 7655a38de43f61c2b4c5af8dc0aef4987811e2093f41fc040d27fb9b821579331794a9443ff3f60f7cf8ea8f37f130ff5ee08ba02a1ef37fa2bd96b177f069b2 SHA512 b42557aea44ae1412704d2822569b0ebc082324568c2614140b398d99b08e267115dd7e4fc6257923f04e586ccc1620924a4a1da0701299d194585bc513b90b4
EBUILD postgresql-9.6.13.ebuild 14760 BLAKE2B a188767a1307221eb73f5f8b7eabd423dc04512940bf2ec104c7d483edbe39c4690f1f47979992cd25275432629176948a534d86fe17499d4c5da756c27a6feb SHA512 cbb98e084914bc2e6616014414258bbb35a15c108468dd0099235c5868b7d3691d3e950eb101b127a665c89019487415c205843ef21d6fae3915dcc1be58ca60
EBUILD postgresql-9.6.14.ebuild 14889 BLAKE2B aee8bc4a80bf06e31b1d7248470e370471e52e9e808e879292b488a6734468bdec481d5cd0c43925de7aa21e8b64e8abd7c816c726f21fc0d389903165a80254 SHA512 0e2fe1cc9a4566e0bdc78c3cc5c3a36e86abc2462c3d8c6c67a82b2a5b50b6c798b1d7d1cfdefe4a2c871f34c0bf113e543b2d022116f91e5238b2da8889c762

@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
systemd user
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
SLOT=$(ver_cut 1-2)

@ -11,7 +11,7 @@ PLOCALES="af cs de en es fa fr hr hu it ko nb pl pt_BR ro ru sk sl sv tr zh_CN
inherit flag-o-matic l10n linux-info multilib pam prefix python-single-r1 \
systemd user
KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 sparc x86 ~ppc-macos ~x86-solaris"
SLOT=$(ver_cut 1-2)

Binary file not shown.

@ -4,7 +4,7 @@ DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff21988870
DIST llvmorg-9.0.1.tar.gz 113193320 BLAKE2B b86e405f2b8e00436045fd409fe19cdde75c797b1192c62a22b5ec75e6b4dc8e874a0f33008dc31562445e4cbe53a992b6f48c684255a6a1ef261e595b8b161f SHA512 fa88beeaae94b6d0cd9b5ba38658d0ffed8004035d7d8a4f95c3d31a709b88b581ae9bd7761333c8e5375c44b8f6be01768b5a3be901163159d7e6c43b71da59
EBUILD llvm-ocaml-10.0.0.9999.ebuild 3206 BLAKE2B 5eebb24bcd854430172565433326f723f1707fbadc941d9a891dc42934120fa00d27f4ec8c14467b8919dd4132d9f0bb00ad84db6ac98008bf7218d7403ed34a SHA512 62d413a75c1c3eb03b1b0dd63814d25b248632fd0faaea1e9f74ad089d0a79e03503db293b0081712e4ea0d55c2b8d186d79f933a04ba50e327a56122a96c33f
EBUILD llvm-ocaml-10.0.0.ebuild 3219 BLAKE2B 8d2ac0dc88b865f723c527315aaabb6bbd75773660b63197c833c72d7915495e494d73144f84a451dec3793d45a2f7f44dc22beb5c60f55dfd88a23bb04aede0 SHA512 fa83b587c1170564e25c040e2809daf6dc13d1718074d22a7093f08e7444d6378dbeb2f5ddc57f681f4a93b14c95275c87027c9e9191757b1fba4c9008464d38
EBUILD llvm-ocaml-11.0.0.9999.ebuild 3206 BLAKE2B 5eebb24bcd854430172565433326f723f1707fbadc941d9a891dc42934120fa00d27f4ec8c14467b8919dd4132d9f0bb00ad84db6ac98008bf7218d7403ed34a SHA512 62d413a75c1c3eb03b1b0dd63814d25b248632fd0faaea1e9f74ad089d0a79e03503db293b0081712e4ea0d55c2b8d186d79f933a04ba50e327a56122a96c33f
EBUILD llvm-ocaml-11.0.0.9999.ebuild 3206 BLAKE2B 9f18892346ac171baff4f5044b34d80a206e6257dbdabb7f95794e4eea8c58de58f45c315586f7569e2e4068d8363233e466bfb11cb28003dda977aacd689713 SHA512 1c257c6bb2b04a7fade003b7a035cce1016457c1287950ee7d6c4e5ecdb4d0cacd5970048d326092bfa68ce97eaf68fed44b1dc8e52751d2752fd9e5f09af824
EBUILD llvm-ocaml-7.1.0.ebuild 3019 BLAKE2B 3bb0282cbc65f6a10d75c82d329265a4b9420eb13219bcc446fba957bd96bc94d0ffc8821f81b094f814758891a63c011233742edfddac6b4bed166ff42f95ea SHA512 b5d0686406132877d2e34f6eaf9476511e398d495d4f0753374c6665fcf1c986f0099be24bb434c11f9265320f34b36a0aa807569e5379a9a6c44e133ea1051c
EBUILD llvm-ocaml-8.0.1.ebuild 3064 BLAKE2B 41792ef0b7764c4b7c297a05ee56d4e613cbfbcb2e2157e7b70c8ecbb71aea698079abca2324291f9e0b9565e36509e81ee313bd152bb0c15c74c6b69c5f4dd6 SHA512 042075a171609318603e93320a6080f6b75319b7a6490a85bced7138001d30a72b45a0bf348a0e7c5a80f56c8c7cf3e6f921ed5fea41b62ece3226d00dde49d3
EBUILD llvm-ocaml-9.0.1.ebuild 2922 BLAKE2B d7ae97c680d9f223a0fbaf2989ee60c4ae2baebf73664c9909485fea6c99f5c4c817ff522bee6175a741a5632687d1d0ea5b7b961587a258ca0737ac419390ac SHA512 dc30f078950d944a5c9d18d8804db82300845564afc05878cc7b157d37ad32259c528b358b9cd12684da3b9885b62e92cc6a32b46b8c4cbf48269839bd4cfa02

@ -12,8 +12,8 @@ LLVM_COMPONENTS=( llvm )
llvm.org_set_globals
# Keep in sync with sys-devel/llvm
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC AVR VE )
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
ALL_LLVM_EXPERIMENTAL_TARGETS=( ARC VE )
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM AVR BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore
"${ALL_LLVM_EXPERIMENTAL_TARGETS[@]}" )
ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )

@ -0,0 +1,31 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DIST_AUTHOR=DAVECROSS
DIST_VERSION=v3.0.3
inherit perl-module
DESCRIPTION="Perl extension for comparing arrays"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
virtual/perl-Carp
dev-perl/Moo
dev-perl/Type-Tiny
"
DEPEND="
dev-perl/Module-Build
"
BDEPEND="
>=dev-perl/Module-Build-0.420.0
test? ( ${RDEPEND}
dev-perl/Test-NoWarnings
)
"
PERL_RM_FILES=("t/pod.t" "t/pod_coverage.t")

@ -1,3 +1,5 @@
DIST Array-Compare-v3.0.1.tar.gz 9481 BLAKE2B e97b69dae2deed13e2963b009706754ada64546834a81b0a383b50fcf293d30d243d4e148d454a5fbe962e8b54e1dfa3ab03f7d59948ccb0a58a475496fda132 SHA512 33d433448d3a0cf30ca0761bd36f4087b0c596d950c8e6bc107ec3ed6a645fb79ceb6ac12f9fdec981dc4a441bd1030b41a66bc0f2fd1bbf6471946107ac2f5d
DIST Array-Compare-v3.0.3.tar.gz 9831 BLAKE2B 2440fdac5aed53e4195b8f679aa1309870b0be3c1c00c745d68f4c038cb57d5deac1c852b0d63cab5cbfca5cbdb956c1ddd3b19596ddb876bf9750da1e7caea6 SHA512 a2b3b7c7f153c30548d3e90bbe77ad8d609cd0abcb6a0f188c90b4f09f9be457906694cdd3d819a75a33aeab088586c0636d3f212dd5354d0cbcbe713897c867
EBUILD Array-Compare-3.0.1.ebuild 551 BLAKE2B d6842ae2934601ea9963a1650b8d6de5861c6711933cbb282d2c2f0ae9385f6237bb118ef22041cad28ca37642cc818265abd75c4ef86fdb388bd285ca26dda3 SHA512 d656ca56bb2a6a23af22a8a1030e5754dd73d95382af1150ef6acb21bb2735b654f7e83bcc67abd7f8b8b26869e8f0501ee2069f90a80b4da7b4c062e94b3ac8
EBUILD Array-Compare-3.0.3.ebuild 589 BLAKE2B 461bff2a442aea59d6ceb349361eadfdad0abd100f6485c9ea292f35aee21726d7ef1abbc0872b046196a976714eea732d02e790d7ac634bd4f046302a4af385 SHA512 d862f0ebb95dca14eb2c43f66a0c4b2913fbc2cb1d743da296de9e4abb04fefdddfd87fc3858447f1814d1153374b96458ca340ba9c01d98a12841a3596b16eb
MISC metadata.xml 398 BLAKE2B 85cb87dc087cbebd9574646c7150148d694e937bc508a2b7f402811401537c5bd1688c957414dedf47a6c103683c3de5bfec4dc620aa23ff341bd4eaf29c9e2c SHA512 72ed7b8e8ecef772f37fa18b6938b1fe4b8cefbb7c13de073b40610a14034d9771b93608239e0050d9eee2f16d452872083049c38b9505b02434544504f90128

@ -0,0 +1,13 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DIST_AUTHOR=GAAS
DIST_VERSION=1.00
inherit perl-module
DESCRIPTION="Set up array elements as aliases"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~ppc-aix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"

@ -1,3 +1,4 @@
DIST Array-RefElem-1.00.tar.gz 2030 BLAKE2B 5849c06d97b7d6291ad5c97317fcf5383205cb6fa17d1eba046af652c6c072433733989b206e93895b7e5a7b04829085d1d93794065484fe0d05284e840405d8 SHA512 dd56af05e74462553d1a76d9b39b451af9376bebf2b2aa8653f16df9b0d1cad320c2a8539c592179a17c981ca4369b06b5343cef2642eeb2928640cb99caf23f
EBUILD Array-RefElem-1.0.0-r1.ebuild 449 BLAKE2B db49f2f1c95b98ee111c99a64f8c27c1128e3c20c0f4a0de105585205b00a419564136268b58c191b9f0e839a95c7a58d24ffcc1603dfa0d6f64fa2dec003963 SHA512 fa16485d8cb81316297dbf1f88a0b43222ff3ed59cc87688dbba936b6a5ded9574bfd16c10dbf753bb6a8c74577b025f0b4e522dca6b3908d84452ea67d1088a
EBUILD Array-RefElem-1.0.0-r2.ebuild 428 BLAKE2B 44ae4808fa757fe3636e525be20e24a1c3ff8ec1db020c930c8be06ac324cc98db5507d72ef00864cc15818538c270388dfad1183cff76306d4f5f6d2222beae SHA512 3216607f59a585bb9a351603f94f963d78b8b4faa1911a922cb8e567632ff9741db20f0b7ca25c0d575d0708ea86225d6c8a7c459c362a55c650e6b7913ec7b5
MISC metadata.xml 398 BLAKE2B ca89e45e07c0bc7e7d162a28cfeda60b6c58003b95e45aef83df86a635b2875d44575786a1fd34f7e1c66965f70554de78835ac80c1fe1ce2f5141b6c29e5068 SHA512 e56bf464308b7ca620ba10c938efec3d08c665302e49e3f343d19a1e29cc0418d2fbcd9f75727f955df279b67d949fe6368f3a52a5cafa6d9d368eb5f744c661

@ -0,0 +1,32 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DIST_AUTHOR=ADAMK
DIST_VERSION=1.02
inherit perl-module
DESCRIPTION="Calculate windows/subsets/pages of arrays"
SLOT="0"
KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-perl/Params-Util-0.120.0
"
BDEPEND="${RDEPEND}
test? (
virtual/perl-Test-Simple
)
"
PATCHES=(
"${FILESDIR}/${PN}-1.02-no-dot-inc.patch"
)
PERL_RM_FILES=(
"t/97_meta.t"
"t/98_pod.t"
"t/99_pmv.t"
)

@ -1,3 +1,5 @@
AUX Array-Window-1.02-no-dot-inc.patch 469 BLAKE2B 31e82e3fa663ae74f4be422a6fd23a0dd764da2b9adf83bd50be9f344a315aeffeaf0424039e75301012c2d1bd402cb7ca532ec9e52b84215c45e06460d36f11 SHA512 8ef4ed23fee4bd2967515d7416f411fbbebe317abcb55a513a0da5687659e9fd65e1b5b413df0d41dc21ea7d976b1a3ba5a9a895a22f96ff65c71cd5ee9e9bf3
DIST Array-Window-1.02.tar.gz 26434 BLAKE2B d9da2b9fd1e8107f7505306cbd23be0a18dcc0cf7286022f743e43c73bf5f83e5b690d410a475bdf9f74555df5a7dda854ea320b28180959122b80b8ae034c13 SHA512 ae28c4d36b6a5f6ab0b229b42ec3ae97f3d55da1f94cde1cddd5c7c7633e55437f610b39fd126e5b63982778c0afa1f7b4a5dfa98757fe391200319d2a7f894e
EBUILD Array-Window-1.20.0-r1.ebuild 629 BLAKE2B b931a81a1eec1cd3abf548b7a40fe834db13c221ac7e13a69e7c3fc686370a8333940209b3c70d8c91f87a62cd69fcdda0faeee3cc6ad2913350f2f2272b9690 SHA512 68f55bf9583f2d8e0c755045297746d77911d5ecfc236d24a443141257546ba58b44da6685587f385752ba76a06d7d7082a2a141bc14d8cc1da754b2fd0ac8c7
EBUILD Array-Window-1.20.0-r2.ebuild 538 BLAKE2B caec9f1aa8c3e74e27e8ff892653a297d3dc0aeafb2f475bf9621b510c17a3544539f1a1b0bcfc9fd270d382829bb9a7b65b7b66840f74f2d2c89fceea526533 SHA512 5415b4edb5c56224ece83c0e220f26cfa162f8520b267354473c8ebc67ad8ba01e2a3cbcc3e88b1f7db4564670f7cd11470235be674e6f67ef7088e6537b5ad9
MISC metadata.xml 396 BLAKE2B cc555164980ce7a28378d61394e840cfe0918fa1b60e0f77e01ea69d993565a30d292e9b106ca47b576acd0bfc3d7dee6dc86259b23d1635bed335d31c3526ce SHA512 854ad5afc69437eb9ea21f2e979ddb599d8e401d32b15037355ec3129ce32a1d1fa2f3332ac2dc6483c88808036a09528ad596c8185db3c699c0ebcd8823edd8

@ -0,0 +1,21 @@
From a611484135caeddcd28e65d6ee8f5794a6e8f982 Mon Sep 17 00:00:00 2001
From: Kent Fredric <kentnl@gentoo.org>
Date: Wed, 29 Apr 2020 20:33:15 +1200
Subject: Fix loading from inc/ on perl 5.28+
---
Makefile.PL | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.PL b/Makefile.PL
index 67c6d3b..de84e50 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -1,3 +1,4 @@
+use lib '.';
use inc::Module::Install 0.75;
all_from 'lib/Array/Window.pm';
--
2.26.2

Binary file not shown.

Binary file not shown.

@ -1,3 +1,3 @@
DIST aws-xray-sdk-2.4.2.tar.gz 66737 BLAKE2B 5f062299ad28ee12d4f90bbdcb03d691fb9a5888054eae4759b9a0e916f720e71a9b9e01fd4d11106499395c5c1aa1ec90ec4874301a34657cd04b00cb5450e3 SHA512 3d12e96a54a2fc65bd6b6772b1e9cc72c09620d9a8b900780afb6c4051b88f0ada1e2da2e31bf93c37a881514e2ae79692a287a63b44845e0e2b8cb33109f81f
EBUILD aws-xray-sdk-python-2.4.2.ebuild 824 BLAKE2B d3038e7aa08ed57c0b716f7472334300bdab8994d8b1569fdd7986cb8ee5715fe485b5ce539eb1efd4087a783544f0349762722644d4bcab2db618e2c8ecc38c SHA512 21b23a0c0c3e11de858b08b87c3f22363141cb0a2b890256da6b8fad6f06bee753f4082a8d9d09bb22b0b9908ac7278a09f312cc638efc2e887aab03c7b61c89
EBUILD aws-xray-sdk-python-2.4.2.ebuild 826 BLAKE2B 46d407c86eb1050c03cdd3b3b7636aca7f81d634f809e7b9e9eddbd429b2edc00692a34ce5e1323433aa0a5e679827c9e5afa9cbb8d9f9271b4cbf8e2058bd3f SHA512 73cdca73f719bc40fc504079904d5417fc50d8d5a2f217ece4e46aaa577b30aa928306690341081769d1bb180da2451967ebbf084777a50f5e3065e0d764956d
MISC metadata.xml 453 BLAKE2B 78db6d0eab2360b69ec4b17c073e47d10693c8b63b5f0c9f28aa8905453085c9595bed462a7d010480ff37b8b11083e2ce93e24da7cd59413592a5b4fe63cd8c SHA512 5206f2494c0eb5ab56f9673e837b2878aec4f512f6ef6dd8b70ca66a0e5c9c18b5626d9a90541adb158f0d08e0644ed2fb02fa3b80283a0883713eb45fa21e2d

@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_COMPAT=( python3_{6,7,8} )
inherit distutils-r1

@ -2,6 +2,6 @@ DIST awscli-1.18.16.tar.gz 1715973 BLAKE2B 3c61ed7954eb6262b51d79aa5a11bb5b12930
DIST awscli-1.18.32.tar.gz 1719753 BLAKE2B a7640bf78fe33736b73b7820273b75376eedc0945cbb441a1a3a36119a3c629e2bc16f1a6f6bd83ebd48bc77c2f68670886eebaa84d54cfcd4305b518999ce63 SHA512 3b88afbd08252ce8c7b1e5e67dfab73a6d46f7f4465c247077a136f1de981611b42d001bdc920bca78acbb395ffe294bbbb011fbcb1fdae253f27ced4a1f1141
DIST awscli-1.18.48.tar.gz 1737744 BLAKE2B 818709e924cac51fb8490383d91d9d935f812bb019a71051a2a062676b2720eecd2a59b6c398c599cba6caaf7da35179864eb80fd91cc5ec7547cd56d89de01b SHA512 1501a4d588e2ce2f4ed668a8e827403ed4e4d4588fabef26aecbc6521931ccc760918ce9ddd14af92a94d17cc980a84a3e95f5f21e84b955d2923a0daf62fa7a
EBUILD awscli-1.18.16.ebuild 1293 BLAKE2B faf6906430eb2e0a166c749ea16495a423d9290d2345cdfb996fcfff93b34fd0342c4c9b6c22c8251780c2fc110ef6cd8aaddbe3653870d92b1d0476ef0d0d92 SHA512 5b6ff64a4e7987d5a12b9964fbae8cae6f1da20b26356012f1948ca182139dcfafbca00bea4e4f5c7777b35508ea2ec1d7514f095528e0c3b513e2885f4f2c3d
EBUILD awscli-1.18.32.ebuild 1293 BLAKE2B 5c1a53b35afdbc78e954f0bbab2814c1ed6c4bb8b40f79dc9a6944fdbc7981bc8d2a88e1aded92dd3a21e357f0acbcbc17729f1822f892413cbc726afe930384 SHA512 ed997eadf43ad244bb49be32d8c2d02e326d7c0bc8518d6e2379fb65b0203c506f67acbe6fc6fa8ec860605ee0d98d250372164bbfab2f9873c33df85cfd3980
EBUILD awscli-1.18.32.ebuild 1300 BLAKE2B 256ce170f077c4f5fbceac57c3c284d03a482d6fc591e1fb4d441f2bfa1249a1d88a3254ce13b85e1a1775e027024e20136cabc47f9c4902f6c8dddf81bff4a8 SHA512 3d8c281b51e3d9f90554a39793a180f076e570cd8789bb5b27ca714ecc0f973bfa2442c8aae79ad7ea0e4831638e1860a676d31fdd6a534be6980604b2dfe2b8
EBUILD awscli-1.18.48.ebuild 1293 BLAKE2B de465337c4124ac38e4d05501e2eb1ebb2a32e2cc1b3a193d18ecc9792068038334578473397fab0e81ff6ff50f713b1ffb87f546fef41f7f73795d8a9eda061 SHA512 900db3bfa7b45bfcaf737cae77a462ac5f57fe6113ef217bc29a5a74b335ff410a0f33012a0e12fdd1337b9513e136fab7a8d74e2a27077f1977bcc11c0d27c9
MISC metadata.xml 316 BLAKE2B 29c8ad67f4e7c5db4439aeae00deda8b57bb36bea7bd6490ae60efaa30cd2db1f7b2cff5b21558cdadea05f9caa8a9f4ee580fe2ea80959fe6ef7ef6f740c550 SHA512 86b3359e64e41ac4f2216e5bbcee6468100df3cd6e9c25595527d6819a2c27ce327797163a3a43bab11516a4826cff47825449cb797d7fe845794700a3a2bed0

@ -14,7 +14,7 @@ SRC_URI="https://github.com/aws/aws-cli/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~arm64"
IUSE="test"
# requires network access

@ -1,3 +1,5 @@
DIST jsondiff-1.1.2.tar.gz 7803 BLAKE2B cbfcfdb2c6c3bb721b4db43aca1d66649257db2cd9feb9655015e621fcd90c72af087696b9553a10ac89cdaf5f23d8748463e1a13bdb19207e34e12e66629544 SHA512 ca96bb80a6f7a34c8c5bcde74856dc1c4935b3e2979330ecfc33432aff83968e671b2aaf310c77f2c7d431be1ae6e20a960879700ba3c903a09a48b23d4c0288
DIST jsondiff-1.2.0.tar.gz 15076 BLAKE2B 2d659598e6c647c8ea6622fc982808381e570c6ced23b5e77431b52e9fa746a5dbc743c739506362497d1f45dd2c290f23f459713ef31e927c05816e56659762 SHA512 5aa391ccc42d07330dfcf272b78aeb130f6f9033ca8b00cbea93549e32f07b98ea84cd6a1e61ab331da3de92838c69a501f95a9adb5f48e2eec46eb653264d55
EBUILD jsondiff-1.1.2.ebuild 836 BLAKE2B 4f6fbd241419838ac7fe9060bbb12599773409954b69b9d2c7720684638fdc01c4505301ac73eedbfcedbbc81c840b761c29c3f26c4906699e45729a36d0f580 SHA512 9342596313ffe7ad344460438a740402239c167e8b021eed6a80ab035a37ea4910da1ecc56e5f8f206349b3c08ebb1e07260cdb20636fcf6461a595658b1446f
EBUILD jsondiff-1.2.0.ebuild 762 BLAKE2B bf333f1820ea0d60156ffc6e243a48c04a2428676f16c01210c3d6b087a2d1583c6bf8a08d18a316ccc14c655091b9f5a72d773aefd33588f7ce975bdc71767d SHA512 84d34aeebb50154de3f66faafb743023f38642d44b7809340665873daf7ecc8c024026b564095c39304d93e600066c01f2fd7858ff368c67b367018bb7b505c1
MISC metadata.xml 435 BLAKE2B 3ea5af8e9063a07c6d3d93225a712395a351a368bf689e512b45e6225e23a543771839e756ee53cf51142b6309f0b1ecd20fff6203a69ae754c44893d09c5274 SHA512 d1b50f01a0a5f2381fe41e4da073fd00afd4443a76d692c7a2227e50b178e9b990c4c40b72d1beeeab7cc8e5f1a9a52beb758a5adbd088eb787b9f2d08844eff

@ -0,0 +1,29 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Diff JSON and JSON-like structures in Python"
HOMEPAGE="https://github.com/xlwings/jsondiff https://pypi.org/project/jsondiff/"
SRC_URI="https://github.com/fzumstein/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
BDEPEND="
test? (
dev-python/nose-random[${PYTHON_USEDEP}]
)
"
distutils_enable_tests nose
python_prepare_all() {
# Avoid file collision with jsonpatch's jsondiff cli.
sed -e "/'jsondiff=jsondiff.cli/ d" -i setup.py || die
distutils-r1_python_prepare_all
}

@ -3,5 +3,5 @@ DIST jsonpickle-1.3.tar.gz 76571 BLAKE2B 797ac90d1aacb620d9917bd2a34dbc960739b29
DIST jsonpickle-1.4.1.tar.gz 104564 BLAKE2B a3ad6f9c712f39153186b6ccdef515581012ad4ba1251dcb094074f2093eb4b158b9357bdf2e8668073cb21dc3bf6dd2fc3a0058c8597252c558a797432068b9 SHA512 ed6bf3472c59ba907a973c5c6f05de13dbfc75eef103796b8f8a63d388f769527f22667ca8761092d1649ff2caf5a73de0593e370df3e7fcabe06e73b265da35
EBUILD jsonpickle-1.2.ebuild 1464 BLAKE2B c296889e4932cb48a7e07ceb4480280c5f751eac869c0d70923a79758ca407fa0e2432212d269e692164a981c2745e40b097d32fb7042b9d86ec9f25c018fd66 SHA512 5bd82786b9e4260caa244bf9280300069b569eea5765eae0c9a381d3c804da2d4a882cc726a163f97bd8ff205e446f115e5bab896917aefb1c25e63f1a6788f2
EBUILD jsonpickle-1.3.ebuild 1466 BLAKE2B 4e0200eda66c37038623b40b35bf711c5c768360b3c2cbb95f0624fd33af05bb15ccfc2c128d057d89b061ad3b9d445af79a3584137962a8b66612cfa5c2dd07 SHA512 9be29941dac89798b95e2afa137c2028d646cb340adf526563ea4103b6af6bc54923ac9702c471d2bf38aa183b8c1b8dd2f8513483590e6a0ef808fea135778d
EBUILD jsonpickle-1.4.1.ebuild 1129 BLAKE2B 42cbe43e19fc33b767ed8110d52bd36695d8dc116d73a2b91279c9dfee70e8739c1516f8ff41cf42de3c4cb0dc39dd5585314fdecc3a8518c3556effb08d9c8c SHA512 727bd8e57584ef769aefcf4e789773212c9d4d99ac35c24dc77b22e1025771ca2d759bafcd037ed694cea9b5d9f623c65e1be933caec777e5a6a98d57fafdc53
EBUILD jsonpickle-1.4.1-r1.ebuild 1230 BLAKE2B d07284591244f808bd9cefb72cd7af3e12afea82c3b637ca9b0fdd2f511e3d74a4f9ba589e8c08156c292228677ccb6054be8da9f51378f074fbe6b465ccc36d SHA512 ca0a30a2d638dddfbade1576595c325576f77c6bf0944c933d61a03c7c7861d6dfc925b10e313bc067294fb883f3e5c7fc5ca3f705de47529b87c22e7c115508
MISC metadata.xml 386 BLAKE2B 486aa3823ac1ae6b816068ae775da293fedab7120df504f2bb64cbbd026e1ad4ac2041acfb48035b5816616dedd46a5f4bedf8c63daad2315727cdbaedcd15ad SHA512 12590542127c674ae6c8123b20ce5c7ed6815f9129eefb95ef3a8c064fdc25477765d397cb7d7e62772475306c0ac7389a7155655576845b936866470302b759

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
IUSE="doc test"
RESTRICT="!test? ( test )"
@ -24,14 +24,17 @@ RDEPEND="
dev-python/feedparser[${PYTHON_USEDEP}]
dev-python/ujson[${PYTHON_USEDEP}]
"
DEPEND="
test? ( ${RDEPEND}
dev-python/pandas[${PYTHON_USEDEP}]
)
"
distutils_enable_sphinx "docs/source"
python_prepare_all() {
# too many dependencies
rm tests/pandas_test.py || die
sed -e '/pandas/ d' -i tests/runtests.py || die
distutils-r1_python_prepare_all
}
python_test() {
# An apparent regression in tests
# https://github.com/jsonpickle/jsonpickle/issues/124

@ -0,0 +1,3 @@
DIST nose-random-1.0.0.tar.gz 3776 BLAKE2B 18dc40b13fcb970c4d2edeb6be9c6f3e710b36d14dcdc4a56c6e3ecf811ab2acd6be3e1c1cea2231eb5dc10581c77f201220354c77f3d9f67d89d894ed8b4f24 SHA512 9c62413fb00c3b774954ae7a65b08b122ae0dd2b24377efba8de345597b4ce4952aad09a0c2fea7f9d92f57a3664908fccd6eabadf32074a35978c958ea2b66f
EBUILD nose-random-1.0.0.ebuild 498 BLAKE2B 5e24800b431e86c980b99f3ece5af4c8e4eb1755888a7a73df55bc33732677d032a1dd1556aaba48af2354e4fbf66f97d68abab3022c2b6fcb920b8848763785 SHA512 e94fbaa83f1dede642a02d11421d8f022f7112d2f9541c88897b202d5a9d610b95fb61a363d3b80a19ce390dc19f4ac5b64cf79739bf714a8016e9fd7f2cef56
MISC metadata.xml 338 BLAKE2B e8be381e5e42a081be3637b77a9b5356dd7d74d0352976badfca62bdf7b65c04554552703b3e12e169ec1c4b57d07cedcf75387a0fd65a8177213f0de8bffa9c SHA512 b3e03151085bcaa51e2108d7e69042523148aaba924415421323d53005c1d047103827ed99bf064cda4f02cc313b3ff4e5fc681bccb5f1f23a82b40a744ed9bc

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
<maintainer type="person">
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
</pkgmetadata>

@ -0,0 +1,20 @@
# Copyright 2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="Nose plugin to facilitate randomized unit testing"
HOMEPAGE="https://github.com/fzumstein/nose-random"
SRC_URI="https://github.com/fzumstein/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
RDEPEND="dev-python/nose[${PYTHON_USEDEP}]"
# no tests

@ -0,0 +1,3 @@
DIST python-slugify-1.2.6.tar.gz 8439 BLAKE2B 74699bf80408e1b6a705525b0ada2612cc6224a2ac1e17ce21230ed684af144c0f72ad99b32674bf19bd716d2cfc3a2f0da6f74facc99acba16e3ebc1873f3f3 SHA512 ad45958d03892d8db75967b150f25509c05ab2a87d5ac4a2ed12fccccfe1f86d7db26c406c6de22ba759b77fe772cc0c00d0e517c71db085618f62094ddadfd2
EBUILD python-slugify-1.2.6.ebuild 592 BLAKE2B 00ef244b20205d5a6e36641f0cde4beb17e1eaf80280b7910d7d30ac2e3435a6ff749c4caa72e5846eec36f614e3dfc30fa66be354e686b489c0aa79241dfb04 SHA512 2d656cdc12c1abcc595b253a6125c0c6caa629e620d6fbc26a6ef0d20f6b7e7d0bb3b0986e334242111ff131d66e589fb7fc0cdaae72bedb47dd9502573ffe4a
MISC metadata.xml 503 BLAKE2B 57ca9410de0bb0833413a7005395601ecc9cc74f612f0bc0584e2c686a4df9b7477f057e17a567e360e7a70abc7ec82955a947972120f6637089780712ffbe23 SHA512 62a7512dc2ad3baaba77ade0fd6a22046cd6e950c340850a7e027ceda1d85eff063ec87427fe744369656703449d2670ea6c8f555d27bace6c330d00aabd4651

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>gentoo.2019@r123.de</email>
<name>Robert Siebeck</name>
</maintainer>
<maintainer type="project">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="pypi">python-slugify</remote-id>
<remote-id type="github">un33k/python-slugify</remote-id>
</upstream>
</pkgmetadata>

@ -0,0 +1,23 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{6,7} )
DISTUTILS_USE_SETUPTOOLS=rdepend
inherit distutils-r1
DESCRIPTION="A Python Slugify application that handles Unicode"
HOMEPAGE="https://github.com/un33k/python-slugify https://pypi.org/project/python-slugify/"
SRC_URI="https://github.com/un33k/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="dev-python/unidecode[${PYTHON_USEDEP}]"
DEPEND="${RDEPEND}"
distutils_enable_tests unittest

@ -1,7 +1,7 @@
AUX statsmodels-0.11.1-tests.patch 1915 BLAKE2B 90c13595a80cf1e59e81c483746f4b7e25bbb47d03211c39fda4dc9f441b03a9e793398d88e235ab53895e3d08cf97f7080d961317c4ea3fab04e011f0e5b64b SHA512 ec7f858b1af512d0bf591d35681b8663041e08e64a6e223e56cf600316a203259cd6386d2004bf884224608945b9e4938e9d39f8370d11c8914f6b773cd2773d
DIST statsmodels-0.10.2.tar.gz 14065612 BLAKE2B 0df1268de5e4108b3cc541df87a5b9d2321bd3062d4daf1cc1aa62ab08ee777bace2f10bdfb51f088a66f15287c62cf851b3f43efa7eb1227e71c06632e80d55 SHA512 bd1c0784b0b17a3ca69fef5848f5eea8dcf76b1943599a5e5c285e45b7fcc7e44c0e388f007913d420ff6f3cb66a653d1c43e6e8addef534ff5572fa69ffb54a
DIST statsmodels-0.11.1.tar.gz 15381516 BLAKE2B a40cf9138edd8a9a6707a550d9885e0610f9bc666fcd73a60bd11ade6dcfa806ecd912a725cf2a13902e92f31af2c3e82f244280f70586bb3359dc8fc2842508 SHA512 54afe55a23b431154c159f44d284aa093f3368988f0695c0f3fbb206046cdfb171ab2ba51ce94285d567b8536141f93a1ef404b5f7222f1e61264baf0541926d
EBUILD statsmodels-0.10.2.ebuild 1855 BLAKE2B e4cf4ef55a20b88f2417c001ed60d68dcc82a6a0f77a2327fb28639ed4c112f0f660594d681a86267ffc017fa1df03245f5cb93cc9c702dffc76f86011fbc784 SHA512 5cd7223c3b1a1a69fc2e01a7945531b91be2ecf5e7ca3e3f468da4b805153967a0261fce7258e13e82b2797fcf44a40a54240dc4d563875588596c658818151c
EBUILD statsmodels-0.10.2.ebuild 1853 BLAKE2B 3ee1ea4e063f910e9c33864d9bb71287410e754d1b805f5fc82f13415985e41eff0e885b11dc8343b229a4e15cb3841b9de56ce98038200b457a9770e0bdbcf9 SHA512 3486f76fb0197f505f1c3cd140d89664b3aa5a4bd3965c54d77a91dc8dc8083f789aa6687b0e8daa0370af9b87eb0e087558319f43791e5abfa9048a7f5e8369
EBUILD statsmodels-0.11.1.ebuild 2020 BLAKE2B 84767231ba2f550ba13e7c37fa1d86da86a43a3e529a120e10eae3de287da8bbff879a22f7637f15a31264ebfae516c52d3b9d565b4ae306a96ec518d5c89141 SHA512 a145d93ea7ae2991e7d979591b55bf320d2a8ad5e0438bd942a729f1bace2c4bec11c7f80cd9e1d53f547ae22bc5bc3e9e03db3a3ec0829a23240761207a6622
EBUILD statsmodels-9999.ebuild 1984 BLAKE2B 7ee4c8dbe27a102107ac29f0438b8608492cadde4bb6740cfc7c70781885ef256164a994f592bbd6a00b75767f3c756f1297e16d8ff4fbb6e752a54f26c0e95a SHA512 8e3bcafaa6251aec5e3bfc40afefc00608a5c13eb80ebe5a9eccbcd2dfb8072f10f88679710cd757c70aaee88865d6abc830b7fd1a0faae1caa0b8b7d80748f1
MISC metadata.xml 1310 BLAKE2B de8c73b0fb91a3bd65b2ee149b3ef01b3f93c78dfaf1642f9c81335e21c0ace42a771a0901a30dfebc7a8bbb80e9fb7057bd047a26035e103c7ece9e9dbef58a SHA512 96bfb2a3e0b677a67c0256bfcdc76b3621eac9d9242c2aaa7d22322bb53be9bb2185ed82a2fa65cb7cd16df7562c1999ac0d936471608700030ecff4de7174b6

@ -3,7 +3,7 @@
EAPI=7
PYTHON_COMPAT=( python3_{6,7,8} )
PYTHON_COMPAT=( python3_{6,7} )
inherit distutils-r1 eutils

Binary file not shown.

@ -19,11 +19,11 @@ AUX cmake.vim 217 BLAKE2B 5d2cf8b4101a7204fd27a9f21d82fea4d86fc4eeed54e062b54345
DIST cmake-3.13.5.tar.gz 8618821 BLAKE2B 765678bc92821207c53bfb4ac995a791b938f20236c3a6fda873b8edd11cd1401b4f4c05f170b8f600f38bde5f1227c715499eee072a8de3bb29d4f5cd230226 SHA512 99e3a8f5bc147dd90b9cab11f06892d87f289aa1354ad323711fe96ebc9c32b1e887e8f9d3575a37831c4d2153a070ff9115c5e27a185d54170bad9dbbaabc26
DIST cmake-3.14.6.tar.gz 8861359 BLAKE2B 257a9a89fe880f8945f47a4bb1980e66f0f28ee5cebeb161012860ae8578487e50c60060ad5144ec6f5b7ea860112edd01909ebceec24b8370e3769ff2a79e99 SHA512 8cf3afadec3fe931d9f954e3148a398939cd16c1fbcb4c5303ac635e2b5029960867f317fd13a46fceebe46e7328689e847f03d7d7c74bb31e23c9cc55838f56
DIST cmake-3.16.5.tar.gz 9111262 BLAKE2B 5f996113a4979563d7b9f298b4b1a32d6f91eebaa79af42e1cbf247884e443de47e30030fd0f16c7755c4086e2bff0c0741911753ea7c889b68c393c0b98c876 SHA512 204ce83501c8068ff660c30a68641a354764135e1600a9a95b39476d072876e400961377e19bbe03a7b18412b36dcf21a693946a2a81cff5985e637e9f193671
DIST cmake-3.17.0.tar.gz 9466484 BLAKE2B 63dc59a9551d6afcf009403bcc68f3bb87065f962c39f443d9a73c7babbb2e49b4237d00072d2ff4f91a6cd4c9d5ac05cd9b97acd0404c852fe03133b538f2ea SHA512 f09440681e0c414f5ca669f3aeba6666d09e0642f30a2e12c3199e7fb3da95a7dd17994fc54475c49638c37f0502ea0a2d8da0f9098805f11088ba7b299bf72a
DIST cmake-3.17.1.tar.gz 9467298 BLAKE2B 16982bf8236568430b0b68608c4eb062e4d550a914bca59113e6f288f069681361ab88b695b91a4e62600042c542db658b209b0744e68966bb36ad18ae37a9ff SHA512 457f4f43a32cc8d966939158f2cc09768b93733426aeb9b6da71313ec060f958399d098af363c3c7f18752998347e05073a399de736e5ca0804ec2bba2cee7ac
DIST cmake-3.17.2.tar.gz 9469251 BLAKE2B 85818c6346ee600a0185687809b666a3186831d590680bba8a41d6d52cd3852ce84fdac240100a7b91f06897a779e1e44b67d9a8da4e806347c9a4a46dab354d SHA512 4998ec3ac7367cec237187b1568a1935b402c39959c1869c9ae94e013060f6d2e03089eba34187f91063de169df78425dee2aa01acb925347aeb97f99bcad6a2
EBUILD cmake-3.13.5.ebuild 6133 BLAKE2B 74e3f790529aea7549461698c93c98ae21ef1bdd8a04c3c3746b00885218ed59987cb8e41e2b0e55e2d53b9629c41c7f399501dc16930e7b99a9c8f7587f90c2 SHA512 d0f1eb079cc1a3dcc3758f2cd8b420da7e48e1b9eb7e7711325175e54a2aada957c5fd65c242a567530a9185fd42e56c2277caed36ee646db8be9a219e42a73e
EBUILD cmake-3.14.6.ebuild 6189 BLAKE2B a23a1a069fcddac06841f8c564572cad2e665f303ce7ecfd121a8c176e34036740be28a6cc86f84f19f21c43ae0aecadfe4aff6ba60143c7007e1842c2f858e5 SHA512 6e307805f633bbe96c264e4002016dc0b2f62926f29ee52df323032b6983f575e0f581cc5d627dfbeeab357cf1456ec66612b107db867ebc558644e8f3473857
EBUILD cmake-3.16.5.ebuild 5795 BLAKE2B 61dfff41f06e29670fb1ab6a5f8ea219be073e3fd8409c3edd151770323dcd80e2c1e9329ff79586d75cb1ade1d3555f793f7619ffd45b8956eddfd688a616f8 SHA512 2eb5e856ae5fa85a6d55b8960ee0cd967597fa96cd248326a509ad318e7ce0a2a7b796fbea5598723370306bfce3c614bd1bbaa7bc14da5137728e21384ff745
EBUILD cmake-3.17.0.ebuild 5803 BLAKE2B 672aa364282d8e8777315b468fde1147d75113cb7f8a024668f7b73dddec7413b983fefa7de64641289789d4e485c19723155c37c38c9f250b24f46f5f1648ba SHA512 a10d2c49efa4b3edf6f973c74e4279d0bb101d62e597d720f68684a2085d2412ebbf8adb4436e33d31cef67bf80a00d380f3b0d69f4bccae28f2283e95ed94ef
EBUILD cmake-3.17.1.ebuild 5803 BLAKE2B 672aa364282d8e8777315b468fde1147d75113cb7f8a024668f7b73dddec7413b983fefa7de64641289789d4e485c19723155c37c38c9f250b24f46f5f1648ba SHA512 a10d2c49efa4b3edf6f973c74e4279d0bb101d62e597d720f68684a2085d2412ebbf8adb4436e33d31cef67bf80a00d380f3b0d69f4bccae28f2283e95ed94ef
EBUILD cmake-3.17.2.ebuild 5803 BLAKE2B 672aa364282d8e8777315b468fde1147d75113cb7f8a024668f7b73dddec7413b983fefa7de64641289789d4e485c19723155c37c38c9f250b24f46f5f1648ba SHA512 a10d2c49efa4b3edf6f973c74e4279d0bb101d62e597d720f68684a2085d2412ebbf8adb4436e33d31cef67bf80a00d380f3b0d69f4bccae28f2283e95ed94ef
MISC metadata.xml 372 BLAKE2B de2835a1f98bccd88e343ab7c058b40df0e9aa4afe938770d67a6e764ac85926b369b6d9ac4851d5deec3954436d3cb8a112b5543ac1debf74205f05641ed2ee SHA512 6c457abaf6c174d6d14b77af47c4fb65b26873cbb7a5a4fbafc558ff4c5c7c6cb0200c0f69e7a492007af4b402baeaf54177f6755c3e6da0ace149eb9bcfe69a

Binary file not shown.

@ -11,57 +11,21 @@ AUX git-daemon.confd 710 BLAKE2B aee2e1493bb67c09b87497724df90cb74e9a5a7f123101a
AUX git-daemon.socket 116 BLAKE2B 0fbf31de87810ac737adfab21acf87b0d95f62df5208fea3d79ebe010a4971b731ba1684852f3b926ecc7e23bcb9a386b2e612801701299c64d4c6390ed4befe SHA512 e383d358999ea0c7201c1709015a9b7c4dd9dd71287605640aca837fac1e2ee33a5a1684e1c3414c08742605f185b722f4864afd5be8b79a9f0d8f7ae0f9b701
AUX git-daemon.xinetd 260 BLAKE2B 594a046b5b2b580b7cfed1b620e014160965046c5e5a42359b6134af0a4c03a30a9464db5e19c6027645d9084550743e397af2d6566b7543a2b509e025aeb1e1 SHA512 5e0c85004e7e2b89fd191350022b9970a6ca03129b4c913e159570b99b5797ab924f667cd3dc5693a9d4916b7b5cf36814eda015dbdf46a1354eb50d1c081f9c
AUX git-daemon_at-r1.service 340 BLAKE2B 879db8b274d8e1d2995a2ea1e4b1d66cac3d6979006fc24721db8b389395ac98a98444f032eaf7c66d6c02ab394a764e16a9cd3b5446b6be9061b9bdd89cf964 SHA512 073d8752dc224ff1130a5290e0f965a04b19f2a8dbd5d50172101099386ad3af0fd5e1abf57030960b750a2adf36a7ae69d18ddc990bab4e694486e65424cfa9
DIST git-2.23.1.tar.xz 5713672 BLAKE2B 50db7bafbadcefbc5a56db478ea0464d289c45190a0454e0b8f3d99d48e6251071482df0240ee1ee8a1f733c91e9e46d34794bca8ca70d3c4ecc3b5da6d5d529 SHA512 708f8b9a7c65c1c9d3117b1b7ee9383044b66fe8a5c168a52ba561985670f659d514aa34988ea8ba85c127da6a23c39c511919a6d661bffc9cf782e30fd62373
DIST git-2.23.2.tar.xz 5714372 BLAKE2B 591f3a46720c249a7325b3a39cd5fe788c47c977fb8f052092b5db18b75fc81d6a9c44923368f881ae02573e172ed8be74f0c10c0f7f205acc011ab602930f3f SHA512 5e0e78ba06ffae8b11fe730a3666a43813b65b9c7e188b4795b1fc6db701993bf39efd392b0ee8bc10b97873bb015cc21635e23d979b5a9d903c119516b01489
DIST git-2.23.3.tar.xz 5716108 BLAKE2B 9d0e63e075d8e64bf2772bdd3e49e9907ae093bcfe6a73a003c3bb8a61f557cce154ef8011aa7d068eaca49f8f14c027d935d7ef2fcbc21eb511f803dfbf4a00 SHA512 29b1344fed72c588e9a04d3fb493f2f91490f61853d48644a2d36c23c3251cf1fd549c256def25865e9f33b50135cdfa5108814105d9fcf360d6d1938487d2bf
DIST git-2.24.1.tar.xz 5772304 BLAKE2B 45e49325221cd0407968b4e2ff7bcab7ea021863119ae29fec5c7a9ff10461b5af0ea05f587647c7d4965c38e25f1140f194be72ff5f1bea8851c0485effbfa2 SHA512 010c13d4023c142876d0e075a394b74bef422944d8ca602325d0b2b47bf28b1d534283c7f295751113c83fdfcc0c91f97090e8f906560d44b04a94607fd8fcf7
DIST git-2.24.2.tar.xz 5772460 BLAKE2B 626ca95a675f4f1ae7ad49c7054ad85e0b14fde9230c4e9fc0408a028ea7c4b34243e73bb3364fd5ae4d25a3565ea54a090220e4ed3fe7fd05ea772ff09be6f3 SHA512 2860f9b09ccc1f17398fd5a122d37e3c9fc22a7921ff82f30c28fa58bc609e63f84bbb0a28849ad96680652911fbb1971bcd321b7fc9ff13a96bb27b23f726cc
DIST git-2.24.3.tar.xz 5774192 BLAKE2B a8bea56f85a12863565325984a303ac2d964e0371de5252252a736a376a22cc1695da15b46d35bdec8a36c2ebd7ba7040727265acee37892350aad08209ed15f SHA512 b2fbafd0faa06a304e960f78696f5c033eb5330b18af28c0d169af86aa836dada0c3cf349993b1c9a6129d0c42788167a393f9db9be981610318dca5743b2c87
DIST git-2.25.1.tar.xz 5875548 BLAKE2B 582da3d4ac996d7b9ce6cf505661496ab1a2cd061f058745350498121956b33d79739b567fb5fea0b4e298303261256034aa0b8da0b842feab04ae67a7d5b142 SHA512 15241143acfd8542d85d2709ac3c80dbd6e8d5234438f70c4f33cc71a2bdec3e32938df7f6351e2746d570b021d3bd0b70474ea4beec0c51d1fc45f9c287b344
DIST git-2.25.2.tar.xz 5877576 BLAKE2B c07bb888eb05a9f3cc91f207bc5151fd7eeb8137e151353dada0637bc879da5a594097649c9a49ecfe173a550d19ecba5eba47638e2f1a7f07467818a763c82e SHA512 5f24bb060165a7397286588cfa32a3e77a98059058363699f7873a2efbb77419dc8985a9b8ae05166035e24db586c379b55c7049a5b6a436c554a7f621a51a23
DIST git-2.25.3.tar.xz 5878708 BLAKE2B b9e9ed205856a2d5cca57a539ab420e597e8de46624f1411f725c914cfd9f23c7129502b8511acef7eda0f2cd2322928843e54416df8b6f5a45a7b71a8a52a5a SHA512 1ea2f0727baa29200f33469463c3b6db04a2e228e83ff552faa47fefe31063d92966d7502b2f13546c36cfc2756d42d71a26e41141c0fb972af9d6760f3aa471
DIST git-2.25.4.tar.xz 5880976 BLAKE2B a3ac79918ba174a93844d9518a2f1c6970abe2cd31acea260742d3c03a31a03131f53603a3bd3e525a60f8ebcfbbaa3b92228e2486717ca2d389a978e39bd5ec SHA512 ca2ecc561d06dbb393fe47d445f0d69423d114766d9bcc125ef1d6d37e350ad903c456540cea420c1a51635b750cde3901e4196f29ce95b315fda11270173450
DIST git-2.26.0.tar.xz 6005104 BLAKE2B c112e51c32f36860e61e81fd3b540cf4eb3d126d28dd533472d6cafdb55f813df48df31ad06a3317224ea2b2b3a9ac3e02ca37d2364167878c7e2fc5fcc2e45e SHA512 bf8a832211782a9446d041a54da254f2586b894375191fb1a6dc7a6594856ca43230fa1ea804b54daceb68caa8d20c02bdbdbf7b2fa1761ce05a11a26b122a9b
DIST git-2.26.1.tar.xz 6006104 BLAKE2B a94075d995a6fe1682dd20a09c5deefbdf4859a809734d59da83df5e7d0d6e9a287313fd579c289e9e13208c74c9cf68919804dea037bdabed92087d17e5e7ee SHA512 1defa0d94e26e474abd47ec8a0c43c05152e10a5aca5f1aee7480ef0db9f5abd03275fefb7c4e0ee816199c87c0b2a13c164c5f7aa5ff36cafdacf27b3573785
DIST git-2.26.2.tar.xz 6007864 BLAKE2B efce003a95e24dbb6e14feebd35874c9ed1a5c06d7f0722d4dfefae830613b64b81faa41d5952400fa382b385d15d48829f8ee3b4d065e134bd38fa0e10bf570 SHA512 5d92d07b171c5cd6e89a29c1211c73c1c900cd51c74d690aebfb4a3d0e93b541b09b42b6d6a1a82f5c3d953096771f9a8605c63be139f559f58698c1a0eabcfc
DIST git-htmldocs-2.23.1.tar.xz 1296144 BLAKE2B 5be4a8afdd79234d220c119b8a4239e640486dc52236d980d08e6b3cad1be61b683c0e3dff6bdd67035a1e23f1d07858d3344f9f2ae90b44188395f34c22fea4 SHA512 c005be3baf129c9320893270d1d3b69e01546a29d482d29e5bc7baefbaab33e45d877c5c09e47312bbdb8b3dfcff27735c2427dcae9eb21fd3500ec30e214ae1
DIST git-htmldocs-2.23.2.tar.xz 1295232 BLAKE2B 220a5b19cf6e7e1eddf18059262a72fdb5050eb6314ffcd45f925fe6fa9d1e1ecb14e2f8bfe77293a85813303a2cd04ad51dd70783e1a2ef83154d802ad3fc83 SHA512 6069c667666a1bbc706b6e1de2c0d9a46270423fe17ab25a3ae7b6821e0e4a78c16e394b6d486d76aaf100fbe637e03c05bb86b483be9a3f9b6ca3b8f553eb05
DIST git-htmldocs-2.23.3.tar.xz 1295344 BLAKE2B 7a6d8198cf8285717f11731ea907ea06786c486701a729d071deedc5437a595dab355ae2d0ac2814b10503ab4161e76a1245663a9ce35ce48d03be9905315db3 SHA512 2c86c03f29f1a4fc2acb17a17a9e1a3df2ec95138895f5c8e776859772ebc7b95c24af0e328508ccf1ea85b7adaa86a9aedc4d0c353ffc91ad5810ecc9a48059
DIST git-htmldocs-2.24.1.tar.xz 1307992 BLAKE2B 80b39d2fcf47d20a584109572414ff8d275245afb80c3946e2fa62346fdaee3b1c873a0dccfb44af52290756d26d5e53021a1bf1ace7ada34e50e03244f05e92 SHA512 4da610ba1ee307e4f53414e324ef63ab25cf3945a74bf813aeacd4cf714710eab31776c2402c9567f1a3805e3d8576a158c78a72722c0178fb7c2dec2dcebf5a
DIST git-htmldocs-2.24.2.tar.xz 1307584 BLAKE2B 06080a6135bca6e0670f57d8a4aedfd488b8b36347c232653aa8f601703436683b7ea3db19822f35647cea6530d90c03b60a96e5070482e4ecf138807711fe2e SHA512 48e01d712e81eab7b7bcaf0f2aded56b74a84ba3a32502b0af39f4df22b8260c5c233303626d3bbff55955a90da800716aa5c7fb5e69b7ce28d3e0f2e9def7c7
DIST git-htmldocs-2.24.3.tar.xz 1307828 BLAKE2B 5d6dda03e2c51346326a1258a14a0ee16fab7fe83c80b4a1a0b307a6343db851d89b96afcf616e10ad5831352a90332ac602e5713444855327e11be8992a5274 SHA512 14289fb46cff48bece0cdafea9ef201facdb58eafce4b735ce50489356deb993c481ac1b6e96a2f98cfe30434280997c47f2cca0bdb2b6e85c31cb7cf17cc257
DIST git-htmldocs-2.25.1.tar.xz 1295708 BLAKE2B 18a274e5eb48030f50c0f38cbcc81b0e65c55ea6b702a9cc4f231c274faf0247c4fdaccde2d348717826d1bd914fe62b387946ae63aba64ba032c43898529f7a SHA512 f261cf72a7b59277666c543d2b40cc9e37ae6d4925616dcb448325e69c59efdee9db151a0d509545d5b366d82fe1196ece289197c02c65ae5f8c91526d49b0fb
DIST git-htmldocs-2.25.2.tar.xz 1296488 BLAKE2B 274c425ba1f52e26c36b5276b7796c465cd5bbf6d2fa73e7f821e0fb727902ce088ea6b7e37cac6c1cace9e7a4f41f3bebe2227aee313a17e2aac6dbf8729a7d SHA512 abe131ef4761e4f112da171baf6d9be6b745f5d06b9e90731052ef13bdc9f71557e53cd93a3e8ea5c33706b7f08cda8aa0e3e760409abda1b9582625ec513ca5
DIST git-htmldocs-2.25.3.tar.xz 1296852 BLAKE2B aa54f8bcdd48f3d53749f8391340616feb965d466c4d7bb81050f2a17050335ca44984f56d0cbc1b6787b4aa6cf8b1ff521cafacae43f8e4e2401ba1a1d8e4a4 SHA512 df4bb00c20b5adba1d80e9afb75a9f4d63bad4ca46b317aa94949621979260f991d6efea473141760ec2e849ba90d87fbd9a8fbca73cf0e0a35462ad6621860e
DIST git-htmldocs-2.25.4.tar.xz 1296896 BLAKE2B 4f6469acdcd699698bd1f19bd0d911fd522c1890115f25c087a7870b855eb9354340fe17e9e6aaec7fb27cd951fe28cadbf26e1aeadc76f3c3a1cde4d23e42cd SHA512 e10c6fa52e213a2b18290fed375f6e176eef17b0a19f6906f09d6228d18bece88ff0ec97d871db0ba29fc0fbff73740312ab01eab809bd6a9a41c8b295cf8d67
DIST git-htmldocs-2.26.0.tar.xz 1303968 BLAKE2B 7a0a7972e58d0be5beb8c4b507f5f7a868cd467f8a87c2bef61a2520876ca0c60353431fa689985dd623c2b54ce79dc89eaf46b99a559cf3d05cbf1fa7756544 SHA512 1fa037b21034121f161416a50f4913cd998a22226f796684b50e49f80a5e2cd7495dc7b4f16b608e556fda8acd2d66145669909fa4c1a4c4d3ba8096f2a0558e
DIST git-htmldocs-2.26.1.tar.xz 1304500 BLAKE2B b11e39075a206bfbe1c2244c40a24f0bd08424f1afba61f968433573eff7dbf949f78bf078467b13609d4cc8c22f714fc1d7b3f3369e588601982bc07b2d5cbf SHA512 b23163fe36f95d34a8f3bb5d89bf5b6c6d61441807a0d6b9bfa79fcb1bc08e74c4bfc03105984329349059ff8ac6c5aad2ae54f638cc49ef81b57cf00143be13
DIST git-htmldocs-2.26.2.tar.xz 1304788 BLAKE2B e0de88c5c41646d5fb9b54e2ee873c7904e1b85c67f971499f0227eb2dd59cabd4ffc58c468cf8a7a7466920af972dbc7f95d78003e487edac9a15a9c49b80a2 SHA512 b577693180b4fc035af211e3b83e98ad5e1bfbb98706924858df6558383b82ca05f870bdae90f8a14c8bf664f091ee928af52dcdebdfb98dc7387fdfe2e3a396
DIST git-manpages-2.23.1.tar.xz 448432 BLAKE2B 0de4b2c0dcc3a70188a66d8aa6e16aeaad84a9f16b764934b06f61773db2d5141cc0b1091780d126f29a1f50c767a54fbb7d01a36f86d387d8ccb4060f48156e SHA512 16145c0c2215ce6a3aa9045f35f670258f6823a765ed2feec680ed980420d1bb008fc39d8f379c81cd0b259fc582d15e42395d4f954171b20bcf214ab25e41d7
DIST git-manpages-2.23.2.tar.xz 449184 BLAKE2B 348e6a90c87cc7c872727a426920fa3b66b1bf92c24562241cee67609b5ed11e78170fa7ed5f80e6f704ae12ba166af1b2c68704917beb2c06b85e05fd6744c6 SHA512 37bb03852f2cb0c4e3d6cd68e1b707feab5ac54442bf48b9e179074438f7e595ad7304d61c6b7344352298a6c0584f6de11a71e82066fcd3bf892424b7d783d6
DIST git-manpages-2.23.3.tar.xz 449464 BLAKE2B bfc0153e43724df7210110e836d47f17258e45a876aa9bf4604c3f38e690e0e5379d4394df96c3dd84ea4d7371b7843729e6fb5d4b43fd7d4a9b4c3f4062a922 SHA512 a7b5fc48a5b840eb9b668b441ad3c30f65adc73c22cda461ffaca1cfddf154bf1974cab6c372b4534fd45a43a2e2ab96513364845a7db4285b88e31bf7619f8e
DIST git-manpages-2.24.1.tar.xz 453752 BLAKE2B 51a549099205341bfec5a7998e5f66e9fc78ffd05fd04e745401a8bcc5bffcb64f26a64c7e24c9822bc2d62d000ea2b13779ffe19f065124a8e42b306fb5a2d3 SHA512 ee1e70fdbfc6eae97dc3b3180fa119b0d1189db7cae3e45b8baa9311d0c1162a5b46824a785e91288522a9fd00b8e4ff07590f4e4722a08955d6a9d048cc3a90
DIST git-manpages-2.24.2.tar.xz 454672 BLAKE2B e48a0fb43537c354c98c5a34d8b133cc7c13349d57e83edacc6623e9410137652813069020142619d9ad2a56d082cd79272afb5cd4ff8c22bb37b821465e94ce SHA512 1a39797fbc1eff216c7416df4fa372c60a8406ff8406e3d332c371ead26286fb3976b35702286af12064712e7ded565538729824a02ac714518f01b725d8688b
DIST git-manpages-2.24.3.tar.xz 454796 BLAKE2B b340b33593e596a7a87385110fea53a96b68f0b0c5c02e046a1aff5ff7c7a6bf3d7a55c4d33796db8e84824df72451ad51db9fc44df4840ecd0183c0ef49eba0 SHA512 22709e159196da27befc26eef3ab40dab9700c95abf6892860a81c8e5df7d85ad423c877e6c88949cfc611c4dfebd956f02a78f0340c1cd4d58c48f80e3e1cce
DIST git-manpages-2.25.1.tar.xz 457408 BLAKE2B 6b9d7074bc690156e7d4a14b04d8e82c9441c8b9330bdf40de215fc48ee7bbfaf410b57bbf48bd6127a60f0d6daa0adf7194fc8eb43b3d8e2a9b5d054cb7d5ea SHA512 c36afa05f641c6e1d909cbe0e3292a10f35c0a05867e2782e6770857714b152de839f1e9b2c2ff2efea0b50b19cfdf3022d8617a299f4aa3940533eb891fa6ba
DIST git-manpages-2.25.2.tar.xz 459208 BLAKE2B b78fdade0d99035969d16f726422e63f6c98c0cfbdcbeb272a07619f5efbece88eddf008884ec3c10ab05d8558fb975f6f89604757a424adae922ea3a8ad5a24 SHA512 61bc0090fa36f537a193c8007f82f4ac005f6afa86621d6273f131230381a1f17712d95b3a47c27bbd9eea351fd49d4f1c16fabe7f81b40a6aa1308e8afc5371
DIST git-manpages-2.25.3.tar.xz 459192 BLAKE2B 17bb4c6ab68b85efaca2e99469f601df029677e7b09e379e8b4bff23b54bf4cc3aedc5c16e0769d2bafef79ea2428db582accb1df78795d1d4c365dcee68daba SHA512 a6ae01129281e85fba8da1fd8cbe9bb2c33cce3075163af328aedb4ab721b9816b364cc18d87ae675b88af2baa5777acb0f874a6a172bdef3429d25d89f8f271
DIST git-manpages-2.25.4.tar.xz 459344 BLAKE2B b0ac88f691984f39f6cfbf41d2d61ab443573974277536641daddf0e9b7755ea9cb6bc96ecf3c14479809036171e461eff72cb498c63a56eea041341b8a65af5 SHA512 a67b881f289d5b3e2187ad55c5176258c30108c73fc7c18d50c1a6b42b241ce46dba28acf2f7bfc994b044444a6678096a35ad60936ea6cba07b52ddf647da17
DIST git-manpages-2.26.0.tar.xz 462092 BLAKE2B 1ad35195b41b399f9f7eb4c981947c0ef4430e669c456b1b3cad0073d2f680315dc11a6e434b1e17601502a16b10187f0ef5587b81a5c6e4bfe04ba8a3cdf976 SHA512 828bebfa5a2cf4558ca6bdd276cc251c6212ceba702418246f05b9f2d41d1c89908b7cd2f81179a1a2b0aca2dbf07ccba9903edd9dae3b5ad9ef6e80b9f50aeb
DIST git-manpages-2.26.1.tar.xz 462068 BLAKE2B 9dcacafb43cc2bdbb6e321addcdbe365a5d1051b374baf27324573a16b359a1294683079edd86b5a9fd82886a58c362bcb0a11f7fbb64e3f6ed4340d05b56413 SHA512 6a52e709b7a3382e45620be1d3517ef23dae6c3f4e68cdfe4f4580a36e591a5c43075d3b869b5dee1bb3253fc9334c0270548f2edc9fb75262169222fa653454
DIST git-manpages-2.26.2.tar.xz 462052 BLAKE2B 27fc44360c9f890e9f7754e8423f5596548f076f5fec5dfc6c752e8b3caa5f64ba182c1566b67878b19fbb115297e08def1bf9d2711c7334cbb8e1b20fc039a1 SHA512 9591e94683a6b49d8b9f2afddc826576023fdfa6de6db4af3a28a2af00b175d5be710d86a31d0f1b8320cc38b6f27698e17fb3e8c1f2b0c5ced37296ef1109b6
EBUILD git-2.23.1-r1.ebuild 19573 BLAKE2B 35983794691d8fe7502b222096e9d1e01c95f8c89fec2a1e49202eb2ed60088b11c73a2256d1f19daca3183150f36eee2283cfdba50a986d50cb5077da433b76 SHA512 4c1b537e780c7dc6dd4fad76bca845fc0f5a28fc56fdcb93f45bcde384a31a930067d25cf89138704c35eec3f27256e20c4c4f6e57aa775b04a1c32022be907d
EBUILD git-2.23.2.ebuild 19573 BLAKE2B 35983794691d8fe7502b222096e9d1e01c95f8c89fec2a1e49202eb2ed60088b11c73a2256d1f19daca3183150f36eee2283cfdba50a986d50cb5077da433b76 SHA512 4c1b537e780c7dc6dd4fad76bca845fc0f5a28fc56fdcb93f45bcde384a31a930067d25cf89138704c35eec3f27256e20c4c4f6e57aa775b04a1c32022be907d
EBUILD git-2.23.3.ebuild 19573 BLAKE2B 35983794691d8fe7502b222096e9d1e01c95f8c89fec2a1e49202eb2ed60088b11c73a2256d1f19daca3183150f36eee2283cfdba50a986d50cb5077da433b76 SHA512 4c1b537e780c7dc6dd4fad76bca845fc0f5a28fc56fdcb93f45bcde384a31a930067d25cf89138704c35eec3f27256e20c4c4f6e57aa775b04a1c32022be907d
EBUILD git-2.24.1.ebuild 19521 BLAKE2B dfb38bb99ae92456ba2cf3f6a7773247e032a08bf37b2d089ce8a774241ce91d7283f89b47473d354503fd4a09e05478694ab2ea6bae08721036d079a30310f1 SHA512 bccf20abcf3aea9916838539b160833966bd435b846da31e63c6c264a0effac97bd7ac3bb198ed8dbd2dd2f1170c560b5ff515d6e3f82286e1a55fddee8a7859
EBUILD git-2.24.2.ebuild 19521 BLAKE2B dfb38bb99ae92456ba2cf3f6a7773247e032a08bf37b2d089ce8a774241ce91d7283f89b47473d354503fd4a09e05478694ab2ea6bae08721036d079a30310f1 SHA512 bccf20abcf3aea9916838539b160833966bd435b846da31e63c6c264a0effac97bd7ac3bb198ed8dbd2dd2f1170c560b5ff515d6e3f82286e1a55fddee8a7859
EBUILD git-2.24.3.ebuild 19521 BLAKE2B dfb38bb99ae92456ba2cf3f6a7773247e032a08bf37b2d089ce8a774241ce91d7283f89b47473d354503fd4a09e05478694ab2ea6bae08721036d079a30310f1 SHA512 bccf20abcf3aea9916838539b160833966bd435b846da31e63c6c264a0effac97bd7ac3bb198ed8dbd2dd2f1170c560b5ff515d6e3f82286e1a55fddee8a7859
EBUILD git-2.25.1.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259
EBUILD git-2.25.2.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259
EBUILD git-2.25.3.ebuild 19521 BLAKE2B dfb38bb99ae92456ba2cf3f6a7773247e032a08bf37b2d089ce8a774241ce91d7283f89b47473d354503fd4a09e05478694ab2ea6bae08721036d079a30310f1 SHA512 bccf20abcf3aea9916838539b160833966bd435b846da31e63c6c264a0effac97bd7ac3bb198ed8dbd2dd2f1170c560b5ff515d6e3f82286e1a55fddee8a7859
EBUILD git-2.25.4.ebuild 19521 BLAKE2B dfb38bb99ae92456ba2cf3f6a7773247e032a08bf37b2d089ce8a774241ce91d7283f89b47473d354503fd4a09e05478694ab2ea6bae08721036d079a30310f1 SHA512 bccf20abcf3aea9916838539b160833966bd435b846da31e63c6c264a0effac97bd7ac3bb198ed8dbd2dd2f1170c560b5ff515d6e3f82286e1a55fddee8a7859
EBUILD git-2.26.0.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259
EBUILD git-2.26.1.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259
EBUILD git-2.26.2.ebuild 19521 BLAKE2B dfb38bb99ae92456ba2cf3f6a7773247e032a08bf37b2d089ce8a774241ce91d7283f89b47473d354503fd4a09e05478694ab2ea6bae08721036d079a30310f1 SHA512 bccf20abcf3aea9916838539b160833966bd435b846da31e63c6c264a0effac97bd7ac3bb198ed8dbd2dd2f1170c560b5ff515d6e3f82286e1a55fddee8a7859
EBUILD git-9999-r1.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259
EBUILD git-9999-r2.ebuild 19530 BLAKE2B 18f451213b0c34458af4a8a18579d27337b4a85fd9750192c402f88b31742eda5a89f47718cb93507aacc1a6e2b675074870165a8ba516d1a80d8620011ff671 SHA512 095f841f319ef96d6cc24e070e056f08d3223ee8f39111dbabe096314675b58132d73aacf70e43e3802894290a6afaa070f6ff8643c2735e6c0c8b99498ad259

@ -1,725 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python{2_7,3_{6,7}} )
inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: pu
case "${PVR}" in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=pu ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
CDEPEND="
gnome-keyring? ( app-crypt/libsecret )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? (
pcre-jit? ( dev-libs/libpcre2[jit(+)] )
!pcre-jit? ( dev-libs/libpcre )
)
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( >=app-editors/emacs-23.1:* )
iconv? ( virtual/libiconv )
"
RDEPEND="${CDEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
mediawiki? (
dev-perl/DateTime-Format-ISO8601
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
subversion? (
dev-vcs/subversion[-dso,perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
DEPEND="${CDEPEND}
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
DEPEND="${DEPEND}
app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
mediawiki-experimental? ( mediawiki )
subversion? ( perl )
webdav? ( curl )
pcre-jit? ( pcre )
perforce? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
PATCHES=(
# bug #350330 - automagic CVS when we don't want it is bad.
"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
"${FILESDIR}"/git-2.23.0-avoid_empty_remote_line.patch #698384
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local myopts=(
ASCIIDOC_NO_ROFF=YesPlease
$(usex cvs '' NO_CVS=YesPlease)
$(usex elibc_musl NO_REGEX=YesPlease '')
$(usex iconv '' NO_ICONV=YesPlease)
$(usex nls '' NO_GETTEXT=YesPlease)
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
$(usex perforce '' NO_PYTHON=YesPlease)
$(usex subversion '' NO_SVN_TESTS=YesPlease)
$(usex threads '' NO_PTHREADS=YesPlease)
$(usex tk '' NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
elif use ppcsha1 ; then
myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
use webdav || myopts+=( NO_EXPAT=YesPlease )
else
myopts+=( NO_CURL=YesPlease )
fi
# broken assumptions, because of static build system ...
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
INSTALL=install
TAR=tar
SHELL_PATH="${EPREFIX}/bin/sh"
SANE_TOOL_PATH=
OLD_ICONV=
NO_EXTERNAL_GREP=
)
# For svn-fe
extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
if use pcre-jit; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
else
myopts+=(
USE_LIBPCRE1=YesPlease
NO_LIBPCRE1_JIT=YesPlease
)
extlibs+=( -lpcre )
fi
fi
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=(
# NO_MMAP=YesPlease
# NO_IPV6=YesPlease
# NO_STRLCPY=YesPlease
# NO_MEMMEM=YesPlease
# NO_MKDTEMP=YesPlease
# NO_MKSTEMPS=YesPlease
# )
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=( NO_NSEC=YesPlease )
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \
myopts+=( HAVE_GETDELIM=1 )
fi
has_version '>=app-text/asciidoc-8.0' \
&& myopts+=( ASCIIDOC8=YesPlease )
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
if [[ "${CHOST}" == *-uclibc* ]] ; then
myopts+=( NO_NSEC=YesPlease )
use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
fi
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# add experimental patches to improve mediawiki support
# see patches for origin
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
)
fi
default
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile contrib/svn-fe/Makefile || die
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die
}
git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
emake ${MY_MAKEOPTS} \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
perllibdir="$(use perl && perl_get_raw_vendorlib)" \
sysconfdir="${EPREFIX}"/etc \
DESTDIR="${D}" \
GIT_TEST_OPTS="--no-color" \
OPTAR="$(tc-getAR)" \
OPTCC="$(tc-getCC)" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
PERL_PATH="${EPREFIX}/usr/bin/perl" \
PERL_MM_OPT="" \
PYTHON_PATH="${PYTHON_PATH}" \
V=1 \
"$@"
}
src_configure() {
exportmakeopts
}
src_compile() {
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
pushd contrib/credential/osxkeychain &>/dev/null || die
git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
|| die "emake credential-osxkeychain"
popd &>/dev/null || die
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
popd &>/dev/null || die
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=()
use nls && use !elibc_glibc && nlsiconv+=( -lintl )
use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
|| die "emake svn-fe failed"
if use doc ; then
# svn-fe.1 requires the full USE=doc dependency stack
git_emake svn-fe.1 \
|| die "emake svn-fe.1 failed"
git_emake svn-fe.html \
|| die "svn-fe.html failed"
fi
popd &>/dev/null || die
fi
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
git_emake || die "emake git-credential-libsecret failed"
popd &>/dev/null || die
fi
pushd contrib/subtree &>/dev/null || die
git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
pushd contrib/diff-highlight &>/dev/null || die
git_emake
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake
popd &>/dev/null || die
fi
}
src_install() {
git_emake install || die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
if use doc ; then
docinto ${d}/html
dodoc Documentation${d}*.html
fi
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED%/}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
pushd contrib/subtree &>/dev/null || die
git_emake install || die "Failed to emake install for git-subtree"
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake install
popd &>/dev/null || die
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
dobin git-credential-libsecret
popd &>/dev/null || die
fi
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
dobin svn-fe
dodoc svn-fe.txt
if use doc ; then
# Do not move svn-fe.1 outside USE=doc!
doman svn-fe.1
docinto html
dodoc svn-fe.html
fi
popd &>/dev/null || die
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
hg-to-git
hooks
remotes2config.sh
rerere-train.sh
stats
workdir
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf \
"${S}"/contrib/${i} \
"${ED%/}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
if test -d "${d}" ; then find "${d}" \
-name .packlist \
-delete || die
fi
done
else
rm -rf "${ED%/}"/usr/share/gitweb
fi
if ! use subversion ; then
rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
"${ED%/}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
rm -r "${ED%/}/usr/share/locale/${1}" || die
fi
}
l10n_for_each_disabled_locale_do rm_loc
}
src_test() {
local disabled=()
local tests_cvs=(
t9200-git-cvsexportcommit.sh
t9400-git-cvsserver-server.sh
t9401-git-cvsserver-crlf.sh
t9402-git-cvsserver-refs.sh
t9600-cvsimport.sh
t9601-cvsimport-vendor-branch.sh
t9602-cvsimport-branches-tags.sh
t9603-cvsimport-patchsets.sh
t9604-cvsimport-timestamps.sh
)
local tests_perl=(
t3701-add-interactive.sh
t5502-quickfetch.sh
t5512-ls-remote.sh
t5520-pull.sh
t7106-reset-unborn-branch.sh
t7501-commit.sh
)
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot=(
t0001-init.sh
t0004-unwritable.sh
t0070-fundamental.sh
t1004-read-tree-m-u-wf.sh
t3700-add.sh
t7300-clean.sh
)
# t9100 still fails with symlinks in SVN 1.7
local test_svn=( t9100-git-svn-basic.sh )
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled+=( t5000-tar-tree.sh )
fi
local cvs=0
use cvs && let cvs=${cvs}+1
if [[ ${EUID} -eq 0 ]]; then
if [[ ${cvs} -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled+=( ${tests_cvs[@]} )
fi
einfo "Skipping other tests that require being non-root"
disabled+=( ${tests_nonroot[@]} )
else
[[ ${cvs} -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=${cvs}+1
[[ ${cvs} -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=${cvs}+1
if [[ ${cvs} -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled+=( ${tests_cvs[@]} )
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled+=( ${tests_perl[@]} )
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled+=( ${test_svn[@]} )
# Reset all previously disabled tests
pushd t &>/dev/null || die
local i
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled[@]} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i Makefile || die
# Clean old results first, must always run
nonfatal git_emake clean
popd &>/dev/null || die
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
local rc
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
pushd t &>/dev/null || die
nonfatal git_emake aggregate-results
# And bail if there was a problem
[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -1,725 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python{2_7,3_{6,7}} )
inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: pu
case "${PVR}" in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=pu ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
CDEPEND="
gnome-keyring? ( app-crypt/libsecret )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? (
pcre-jit? ( dev-libs/libpcre2[jit(+)] )
!pcre-jit? ( dev-libs/libpcre )
)
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( >=app-editors/emacs-23.1:* )
iconv? ( virtual/libiconv )
"
RDEPEND="${CDEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
mediawiki? (
dev-perl/DateTime-Format-ISO8601
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
subversion? (
dev-vcs/subversion[-dso,perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
DEPEND="${CDEPEND}
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
DEPEND="${DEPEND}
app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
mediawiki-experimental? ( mediawiki )
subversion? ( perl )
webdav? ( curl )
pcre-jit? ( pcre )
perforce? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
PATCHES=(
# bug #350330 - automagic CVS when we don't want it is bad.
"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
"${FILESDIR}"/git-2.23.0-avoid_empty_remote_line.patch #698384
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local myopts=(
ASCIIDOC_NO_ROFF=YesPlease
$(usex cvs '' NO_CVS=YesPlease)
$(usex elibc_musl NO_REGEX=YesPlease '')
$(usex iconv '' NO_ICONV=YesPlease)
$(usex nls '' NO_GETTEXT=YesPlease)
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
$(usex perforce '' NO_PYTHON=YesPlease)
$(usex subversion '' NO_SVN_TESTS=YesPlease)
$(usex threads '' NO_PTHREADS=YesPlease)
$(usex tk '' NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
elif use ppcsha1 ; then
myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
use webdav || myopts+=( NO_EXPAT=YesPlease )
else
myopts+=( NO_CURL=YesPlease )
fi
# broken assumptions, because of static build system ...
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
INSTALL=install
TAR=tar
SHELL_PATH="${EPREFIX}/bin/sh"
SANE_TOOL_PATH=
OLD_ICONV=
NO_EXTERNAL_GREP=
)
# For svn-fe
extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
if use pcre-jit; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
else
myopts+=(
USE_LIBPCRE1=YesPlease
NO_LIBPCRE1_JIT=YesPlease
)
extlibs+=( -lpcre )
fi
fi
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=(
# NO_MMAP=YesPlease
# NO_IPV6=YesPlease
# NO_STRLCPY=YesPlease
# NO_MEMMEM=YesPlease
# NO_MKDTEMP=YesPlease
# NO_MKSTEMPS=YesPlease
# )
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=( NO_NSEC=YesPlease )
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
grep -q getdelim "${ROOT%/}"/usr/include/stdio.h && \
myopts+=( HAVE_GETDELIM=1 )
fi
has_version '>=app-text/asciidoc-8.0' \
&& myopts+=( ASCIIDOC8=YesPlease )
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
if [[ "${CHOST}" == *-uclibc* ]] ; then
myopts+=( NO_NSEC=YesPlease )
use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
fi
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# add experimental patches to improve mediawiki support
# see patches for origin
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
)
fi
default
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile contrib/svn-fe/Makefile || die
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die
}
git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
emake ${MY_MAKEOPTS} \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
perllibdir="$(use perl && perl_get_raw_vendorlib)" \
sysconfdir="${EPREFIX}"/etc \
DESTDIR="${D}" \
GIT_TEST_OPTS="--no-color" \
OPTAR="$(tc-getAR)" \
OPTCC="$(tc-getCC)" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
PERL_PATH="${EPREFIX}/usr/bin/perl" \
PERL_MM_OPT="" \
PYTHON_PATH="${PYTHON_PATH}" \
V=1 \
"$@"
}
src_configure() {
exportmakeopts
}
src_compile() {
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
pushd contrib/credential/osxkeychain &>/dev/null || die
git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
|| die "emake credential-osxkeychain"
popd &>/dev/null || die
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
popd &>/dev/null || die
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=()
use nls && use !elibc_glibc && nlsiconv+=( -lintl )
use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
|| die "emake svn-fe failed"
if use doc ; then
# svn-fe.1 requires the full USE=doc dependency stack
git_emake svn-fe.1 \
|| die "emake svn-fe.1 failed"
git_emake svn-fe.html \
|| die "svn-fe.html failed"
fi
popd &>/dev/null || die
fi
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
git_emake || die "emake git-credential-libsecret failed"
popd &>/dev/null || die
fi
pushd contrib/subtree &>/dev/null || die
git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
pushd contrib/diff-highlight &>/dev/null || die
git_emake
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake
popd &>/dev/null || die
fi
}
src_install() {
git_emake install || die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
if use doc ; then
docinto ${d}/html
dodoc Documentation${d}*.html
fi
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED%/}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
pushd contrib/subtree &>/dev/null || die
git_emake install || die "Failed to emake install for git-subtree"
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake install
popd &>/dev/null || die
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
dobin git-credential-libsecret
popd &>/dev/null || die
fi
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
dobin svn-fe
dodoc svn-fe.txt
if use doc ; then
# Do not move svn-fe.1 outside USE=doc!
doman svn-fe.1
docinto html
dodoc svn-fe.html
fi
popd &>/dev/null || die
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
hg-to-git
hooks
remotes2config.sh
rerere-train.sh
stats
workdir
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf \
"${S}"/contrib/${i} \
"${ED%/}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED%/}"/usr/lib{,64}/perl5/ ; do
if test -d "${d}" ; then find "${d}" \
-name .packlist \
-delete || die
fi
done
else
rm -rf "${ED%/}"/usr/share/gitweb
fi
if ! use subversion ; then
rm -f "${ED%/}"/usr/libexec/git-core/git-svn \
"${ED%/}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED%/}/usr/share/locale/${1}" ]]; then
rm -r "${ED%/}/usr/share/locale/${1}" || die
fi
}
l10n_for_each_disabled_locale_do rm_loc
}
src_test() {
local disabled=()
local tests_cvs=(
t9200-git-cvsexportcommit.sh
t9400-git-cvsserver-server.sh
t9401-git-cvsserver-crlf.sh
t9402-git-cvsserver-refs.sh
t9600-cvsimport.sh
t9601-cvsimport-vendor-branch.sh
t9602-cvsimport-branches-tags.sh
t9603-cvsimport-patchsets.sh
t9604-cvsimport-timestamps.sh
)
local tests_perl=(
t3701-add-interactive.sh
t5502-quickfetch.sh
t5512-ls-remote.sh
t5520-pull.sh
t7106-reset-unborn-branch.sh
t7501-commit.sh
)
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot=(
t0001-init.sh
t0004-unwritable.sh
t0070-fundamental.sh
t1004-read-tree-m-u-wf.sh
t3700-add.sh
t7300-clean.sh
)
# t9100 still fails with symlinks in SVN 1.7
local test_svn=( t9100-git-svn-basic.sh )
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled+=( t5000-tar-tree.sh )
fi
local cvs=0
use cvs && let cvs=${cvs}+1
if [[ ${EUID} -eq 0 ]]; then
if [[ ${cvs} -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled+=( ${tests_cvs[@]} )
fi
einfo "Skipping other tests that require being non-root"
disabled+=( ${tests_nonroot[@]} )
else
[[ ${cvs} -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=${cvs}+1
[[ ${cvs} -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=${cvs}+1
if [[ ${cvs} -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled+=( ${tests_cvs[@]} )
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled+=( ${tests_perl[@]} )
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled+=( ${test_svn[@]} )
# Reset all previously disabled tests
pushd t &>/dev/null || die
local i
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled[@]} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i Makefile || die
# Clean old results first, must always run
nonfatal git_emake clean
popd &>/dev/null || die
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
local rc
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
pushd t &>/dev/null || die
nonfatal git_emake aggregate-results
# And bail if there was a problem
[ ${rc} -eq 0 ] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -1,728 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python{2_7,3_{6,7}} )
inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: pu
case "${PVR}" in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=pu ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
DEPEND="
gnome-keyring? ( app-crypt/libsecret )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? (
pcre-jit? ( dev-libs/libpcre2[jit(+)] )
!pcre-jit? ( dev-libs/libpcre )
)
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( >=app-editors/emacs-23.1:* )
iconv? ( virtual/libiconv )
"
RDEPEND="${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
mediawiki? (
dev-perl/DateTime-Format-ISO8601
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
subversion? (
dev-vcs/subversion[-dso,perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND="${BDEPEND}
app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
mediawiki-experimental? ( mediawiki )
subversion? ( perl )
webdav? ( curl )
pcre-jit? ( pcre )
perforce? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
PATCHES=(
# bug #350330 - automagic CVS when we don't want it is bad.
"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local extlibs myopts
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
$(usex cvs '' NO_CVS=YesPlease)
$(usex elibc_musl NO_REGEX=YesPlease '')
$(usex iconv '' NO_ICONV=YesPlease)
$(usex nls '' NO_GETTEXT=YesPlease)
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
$(usex perforce '' NO_PYTHON=YesPlease)
$(usex subversion '' NO_SVN_TESTS=YesPlease)
$(usex threads '' NO_PTHREADS=YesPlease)
$(usex tk '' NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
elif use ppcsha1 ; then
myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
use webdav || myopts+=( NO_EXPAT=YesPlease )
else
myopts+=( NO_CURL=YesPlease )
fi
# broken assumptions, because of static build system ...
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
INSTALL=install
TAR=tar
SHELL_PATH="${EPREFIX}/bin/sh"
SANE_TOOL_PATH=
OLD_ICONV=
NO_EXTERNAL_GREP=
)
# For svn-fe
extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
if use pcre-jit; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
else
myopts+=(
USE_LIBPCRE1=YesPlease
NO_LIBPCRE1_JIT=YesPlease
)
extlibs+=( -lpcre )
fi
fi
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=(
# NO_MMAP=YesPlease
# NO_IPV6=YesPlease
# NO_STRLCPY=YesPlease
# NO_MEMMEM=YesPlease
# NO_MKDTEMP=YesPlease
# NO_MKSTEMPS=YesPlease
# )
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=( NO_NSEC=YesPlease )
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
if has_version '>=app-text/asciidoc-8.0' ; then
myopts+=( ASCIIDOC8=YesPlease )
fi
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
if [[ "${CHOST}" == *-uclibc* ]] ; then
myopts+=( NO_NSEC=YesPlease )
use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
fi
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# add experimental patches to improve mediawiki support
# see patches for origin
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
)
fi
default
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile contrib/svn-fe/Makefile || die
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die
}
git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
emake ${MY_MAKEOPTS} \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
perllibdir="$(use perl && perl_get_raw_vendorlib)" \
sysconfdir="${EPREFIX}"/etc \
DESTDIR="${D}" \
GIT_TEST_OPTS="--no-color" \
OPTAR="$(tc-getAR)" \
OPTCC="$(tc-getCC)" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
PERL_PATH="${EPREFIX}/usr/bin/perl" \
PERL_MM_OPT="" \
PYTHON_PATH="${PYTHON_PATH}" \
V=1 \
"$@"
}
src_configure() {
exportmakeopts
}
src_compile() {
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
pushd contrib/credential/osxkeychain &>/dev/null || die
git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
|| die "emake credential-osxkeychain"
popd &>/dev/null || die
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
popd &>/dev/null || die
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=()
use nls && use !elibc_glibc && nlsiconv+=( -lintl )
use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
|| die "emake svn-fe failed"
if use doc ; then
# svn-fe.1 requires the full USE=doc dependency stack
git_emake svn-fe.1 \
|| die "emake svn-fe.1 failed"
git_emake svn-fe.html \
|| die "svn-fe.html failed"
fi
popd &>/dev/null || die
fi
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
git_emake || die "emake git-credential-libsecret failed"
popd &>/dev/null || die
fi
pushd contrib/subtree &>/dev/null || die
git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
pushd contrib/diff-highlight &>/dev/null || die
git_emake
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake
popd &>/dev/null || die
fi
}
src_install() {
git_emake install || die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
if use doc ; then
docinto ${d}/html
dodoc Documentation${d}*.html
fi
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
pushd contrib/subtree &>/dev/null || die
git_emake install || die "Failed to emake install for git-subtree"
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake install
popd &>/dev/null || die
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
dobin git-credential-libsecret
popd &>/dev/null || die
fi
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
dobin svn-fe
dodoc svn-fe.txt
if use doc ; then
# Do not move svn-fe.1 outside USE=doc!
doman svn-fe.1
docinto html
dodoc svn-fe.html
fi
popd &>/dev/null || die
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
hg-to-git
hooks
remotes2config.sh
rerere-train.sh
stats
workdir
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf \
"${S}"/contrib/${i} \
"${ED}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if test -d "${d}" ; then find "${d}" \
-name .packlist \
-delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
l10n_for_each_disabled_locale_do rm_loc
}
src_test() {
local disabled=()
local tests_cvs=(
t9200-git-cvsexportcommit.sh
t9400-git-cvsserver-server.sh
t9401-git-cvsserver-crlf.sh
t9402-git-cvsserver-refs.sh
t9600-cvsimport.sh
t9601-cvsimport-vendor-branch.sh
t9602-cvsimport-branches-tags.sh
t9603-cvsimport-patchsets.sh
t9604-cvsimport-timestamps.sh
)
local tests_perl=(
t3701-add-interactive.sh
t5502-quickfetch.sh
t5512-ls-remote.sh
t5520-pull.sh
t7106-reset-unborn-branch.sh
t7501-commit.sh
)
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot=(
t0001-init.sh
t0004-unwritable.sh
t0070-fundamental.sh
t1004-read-tree-m-u-wf.sh
t3700-add.sh
t7300-clean.sh
)
# t9100 still fails with symlinks in SVN 1.7
local test_svn=( t9100-git-svn-basic.sh )
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled+=( t5000-tar-tree.sh )
fi
local cvs=0
use cvs && let cvs=${cvs}+1
if [[ ${EUID} -eq 0 ]]; then
if [[ ${cvs} -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled+=( ${tests_cvs[@]} )
fi
einfo "Skipping other tests that require being non-root"
disabled+=( ${tests_nonroot[@]} )
else
[[ ${cvs} -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=${cvs}+1
[[ ${cvs} -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=${cvs}+1
if [[ ${cvs} -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled+=( ${tests_cvs[@]} )
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled+=( ${tests_perl[@]} )
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled+=( ${test_svn[@]} )
# Reset all previously disabled tests
pushd t &>/dev/null || die
local i
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled[@]} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i Makefile || die
# Clean old results first, must always run
nonfatal git_emake clean
popd &>/dev/null || die
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
local rc
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
pushd t &>/dev/null || die
nonfatal git_emake aggregate-results
# And bail if there was a problem
[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -1,728 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python{2_7,3_{6,7}} )
inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: pu
case "${PVR}" in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=pu ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
DEPEND="
gnome-keyring? ( app-crypt/libsecret )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? (
pcre-jit? ( dev-libs/libpcre2[jit(+)] )
!pcre-jit? ( dev-libs/libpcre )
)
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( >=app-editors/emacs-23.1:* )
iconv? ( virtual/libiconv )
"
RDEPEND="${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
mediawiki? (
dev-perl/DateTime-Format-ISO8601
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
subversion? (
dev-vcs/subversion[-dso,perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND="${BDEPEND}
app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
mediawiki-experimental? ( mediawiki )
subversion? ( perl )
webdav? ( curl )
pcre-jit? ( pcre )
perforce? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
PATCHES=(
# bug #350330 - automagic CVS when we don't want it is bad.
"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local extlibs myopts
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
$(usex cvs '' NO_CVS=YesPlease)
$(usex elibc_musl NO_REGEX=YesPlease '')
$(usex iconv '' NO_ICONV=YesPlease)
$(usex nls '' NO_GETTEXT=YesPlease)
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
$(usex perforce '' NO_PYTHON=YesPlease)
$(usex subversion '' NO_SVN_TESTS=YesPlease)
$(usex threads '' NO_PTHREADS=YesPlease)
$(usex tk '' NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
elif use ppcsha1 ; then
myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
use webdav || myopts+=( NO_EXPAT=YesPlease )
else
myopts+=( NO_CURL=YesPlease )
fi
# broken assumptions, because of static build system ...
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
INSTALL=install
TAR=tar
SHELL_PATH="${EPREFIX}/bin/sh"
SANE_TOOL_PATH=
OLD_ICONV=
NO_EXTERNAL_GREP=
)
# For svn-fe
extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
if use pcre-jit; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
else
myopts+=(
USE_LIBPCRE1=YesPlease
NO_LIBPCRE1_JIT=YesPlease
)
extlibs+=( -lpcre )
fi
fi
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=(
# NO_MMAP=YesPlease
# NO_IPV6=YesPlease
# NO_STRLCPY=YesPlease
# NO_MEMMEM=YesPlease
# NO_MKDTEMP=YesPlease
# NO_MKSTEMPS=YesPlease
# )
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=( NO_NSEC=YesPlease )
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
if has_version '>=app-text/asciidoc-8.0' ; then
myopts+=( ASCIIDOC8=YesPlease )
fi
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
if [[ "${CHOST}" == *-uclibc* ]] ; then
myopts+=( NO_NSEC=YesPlease )
use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
fi
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# add experimental patches to improve mediawiki support
# see patches for origin
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
)
fi
default
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile contrib/svn-fe/Makefile || die
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die
}
git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
emake ${MY_MAKEOPTS} \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
perllibdir="$(use perl && perl_get_raw_vendorlib)" \
sysconfdir="${EPREFIX}"/etc \
DESTDIR="${D}" \
GIT_TEST_OPTS="--no-color" \
OPTAR="$(tc-getAR)" \
OPTCC="$(tc-getCC)" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
PERL_PATH="${EPREFIX}/usr/bin/perl" \
PERL_MM_OPT="" \
PYTHON_PATH="${PYTHON_PATH}" \
V=1 \
"$@"
}
src_configure() {
exportmakeopts
}
src_compile() {
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
pushd contrib/credential/osxkeychain &>/dev/null || die
git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
|| die "emake credential-osxkeychain"
popd &>/dev/null || die
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
popd &>/dev/null || die
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=()
use nls && use !elibc_glibc && nlsiconv+=( -lintl )
use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
|| die "emake svn-fe failed"
if use doc ; then
# svn-fe.1 requires the full USE=doc dependency stack
git_emake svn-fe.1 \
|| die "emake svn-fe.1 failed"
git_emake svn-fe.html \
|| die "svn-fe.html failed"
fi
popd &>/dev/null || die
fi
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
git_emake || die "emake git-credential-libsecret failed"
popd &>/dev/null || die
fi
pushd contrib/subtree &>/dev/null || die
git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
pushd contrib/diff-highlight &>/dev/null || die
git_emake
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake
popd &>/dev/null || die
fi
}
src_install() {
git_emake install || die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
if use doc ; then
docinto ${d}/html
dodoc Documentation${d}*.html
fi
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
pushd contrib/subtree &>/dev/null || die
git_emake install || die "Failed to emake install for git-subtree"
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake install
popd &>/dev/null || die
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
dobin git-credential-libsecret
popd &>/dev/null || die
fi
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
dobin svn-fe
dodoc svn-fe.txt
if use doc ; then
# Do not move svn-fe.1 outside USE=doc!
doman svn-fe.1
docinto html
dodoc svn-fe.html
fi
popd &>/dev/null || die
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
hg-to-git
hooks
remotes2config.sh
rerere-train.sh
stats
workdir
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf \
"${S}"/contrib/${i} \
"${ED}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if test -d "${d}" ; then find "${d}" \
-name .packlist \
-delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
l10n_for_each_disabled_locale_do rm_loc
}
src_test() {
local disabled=()
local tests_cvs=(
t9200-git-cvsexportcommit.sh
t9400-git-cvsserver-server.sh
t9401-git-cvsserver-crlf.sh
t9402-git-cvsserver-refs.sh
t9600-cvsimport.sh
t9601-cvsimport-vendor-branch.sh
t9602-cvsimport-branches-tags.sh
t9603-cvsimport-patchsets.sh
t9604-cvsimport-timestamps.sh
)
local tests_perl=(
t3701-add-interactive.sh
t5502-quickfetch.sh
t5512-ls-remote.sh
t5520-pull.sh
t7106-reset-unborn-branch.sh
t7501-commit.sh
)
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot=(
t0001-init.sh
t0004-unwritable.sh
t0070-fundamental.sh
t1004-read-tree-m-u-wf.sh
t3700-add.sh
t7300-clean.sh
)
# t9100 still fails with symlinks in SVN 1.7
local test_svn=( t9100-git-svn-basic.sh )
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled+=( t5000-tar-tree.sh )
fi
local cvs=0
use cvs && let cvs=${cvs}+1
if [[ ${EUID} -eq 0 ]]; then
if [[ ${cvs} -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled+=( ${tests_cvs[@]} )
fi
einfo "Skipping other tests that require being non-root"
disabled+=( ${tests_nonroot[@]} )
else
[[ ${cvs} -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=${cvs}+1
[[ ${cvs} -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=${cvs}+1
if [[ ${cvs} -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled+=( ${tests_cvs[@]} )
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled+=( ${tests_perl[@]} )
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled+=( ${test_svn[@]} )
# Reset all previously disabled tests
pushd t &>/dev/null || die
local i
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled[@]} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i Makefile || die
# Clean old results first, must always run
nonfatal git_emake clean
popd &>/dev/null || die
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
local rc
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
pushd t &>/dev/null || die
nonfatal git_emake aggregate-results
# And bail if there was a problem
[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -1,728 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python{2_7,3_{6,7}} )
inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: pu
case "${PVR}" in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=pu ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
DEPEND="
gnome-keyring? ( app-crypt/libsecret )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? (
pcre-jit? ( dev-libs/libpcre2[jit(+)] )
!pcre-jit? ( dev-libs/libpcre )
)
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( >=app-editors/emacs-23.1:* )
iconv? ( virtual/libiconv )
"
RDEPEND="${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
mediawiki? (
dev-perl/DateTime-Format-ISO8601
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
subversion? (
dev-vcs/subversion[-dso,perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND="${BDEPEND}
app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
mediawiki-experimental? ( mediawiki )
subversion? ( perl )
webdav? ( curl )
pcre-jit? ( pcre )
perforce? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
PATCHES=(
# bug #350330 - automagic CVS when we don't want it is bad.
"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local extlibs myopts
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
$(usex cvs '' NO_CVS=YesPlease)
$(usex elibc_musl NO_REGEX=YesPlease '')
$(usex iconv '' NO_ICONV=YesPlease)
$(usex nls '' NO_GETTEXT=YesPlease)
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
$(usex perforce '' NO_PYTHON=YesPlease)
$(usex subversion '' NO_SVN_TESTS=YesPlease)
$(usex threads '' NO_PTHREADS=YesPlease)
$(usex tk '' NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
elif use ppcsha1 ; then
myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
use webdav || myopts+=( NO_EXPAT=YesPlease )
else
myopts+=( NO_CURL=YesPlease )
fi
# broken assumptions, because of static build system ...
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
INSTALL=install
TAR=tar
SHELL_PATH="${EPREFIX}/bin/sh"
SANE_TOOL_PATH=
OLD_ICONV=
NO_EXTERNAL_GREP=
)
# For svn-fe
extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
if use pcre-jit; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
else
myopts+=(
USE_LIBPCRE1=YesPlease
NO_LIBPCRE1_JIT=YesPlease
)
extlibs+=( -lpcre )
fi
fi
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=(
# NO_MMAP=YesPlease
# NO_IPV6=YesPlease
# NO_STRLCPY=YesPlease
# NO_MEMMEM=YesPlease
# NO_MKDTEMP=YesPlease
# NO_MKSTEMPS=YesPlease
# )
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=( NO_NSEC=YesPlease )
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
if has_version '>=app-text/asciidoc-8.0' ; then
myopts+=( ASCIIDOC8=YesPlease )
fi
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
if [[ "${CHOST}" == *-uclibc* ]] ; then
myopts+=( NO_NSEC=YesPlease )
use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
fi
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# add experimental patches to improve mediawiki support
# see patches for origin
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
)
fi
default
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile contrib/svn-fe/Makefile || die
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die
}
git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
emake ${MY_MAKEOPTS} \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
perllibdir="$(use perl && perl_get_raw_vendorlib)" \
sysconfdir="${EPREFIX}"/etc \
DESTDIR="${D}" \
GIT_TEST_OPTS="--no-color" \
OPTAR="$(tc-getAR)" \
OPTCC="$(tc-getCC)" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
PERL_PATH="${EPREFIX}/usr/bin/perl" \
PERL_MM_OPT="" \
PYTHON_PATH="${PYTHON_PATH}" \
V=1 \
"$@"
}
src_configure() {
exportmakeopts
}
src_compile() {
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
pushd contrib/credential/osxkeychain &>/dev/null || die
git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
|| die "emake credential-osxkeychain"
popd &>/dev/null || die
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
popd &>/dev/null || die
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=()
use nls && use !elibc_glibc && nlsiconv+=( -lintl )
use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
|| die "emake svn-fe failed"
if use doc ; then
# svn-fe.1 requires the full USE=doc dependency stack
git_emake svn-fe.1 \
|| die "emake svn-fe.1 failed"
git_emake svn-fe.html \
|| die "svn-fe.html failed"
fi
popd &>/dev/null || die
fi
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
git_emake || die "emake git-credential-libsecret failed"
popd &>/dev/null || die
fi
pushd contrib/subtree &>/dev/null || die
git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
pushd contrib/diff-highlight &>/dev/null || die
git_emake
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake
popd &>/dev/null || die
fi
}
src_install() {
git_emake install || die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
if use doc ; then
docinto ${d}/html
dodoc Documentation${d}*.html
fi
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
pushd contrib/subtree &>/dev/null || die
git_emake install || die "Failed to emake install for git-subtree"
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake install
popd &>/dev/null || die
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
dobin git-credential-libsecret
popd &>/dev/null || die
fi
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
dobin svn-fe
dodoc svn-fe.txt
if use doc ; then
# Do not move svn-fe.1 outside USE=doc!
doman svn-fe.1
docinto html
dodoc svn-fe.html
fi
popd &>/dev/null || die
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
hg-to-git
hooks
remotes2config.sh
rerere-train.sh
stats
workdir
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf \
"${S}"/contrib/${i} \
"${ED}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if test -d "${d}" ; then find "${d}" \
-name .packlist \
-delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
l10n_for_each_disabled_locale_do rm_loc
}
src_test() {
local disabled=()
local tests_cvs=(
t9200-git-cvsexportcommit.sh
t9400-git-cvsserver-server.sh
t9401-git-cvsserver-crlf.sh
t9402-git-cvsserver-refs.sh
t9600-cvsimport.sh
t9601-cvsimport-vendor-branch.sh
t9602-cvsimport-branches-tags.sh
t9603-cvsimport-patchsets.sh
t9604-cvsimport-timestamps.sh
)
local tests_perl=(
t3701-add-interactive.sh
t5502-quickfetch.sh
t5512-ls-remote.sh
t5520-pull.sh
t7106-reset-unborn-branch.sh
t7501-commit.sh
)
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot=(
t0001-init.sh
t0004-unwritable.sh
t0070-fundamental.sh
t1004-read-tree-m-u-wf.sh
t3700-add.sh
t7300-clean.sh
)
# t9100 still fails with symlinks in SVN 1.7
local test_svn=( t9100-git-svn-basic.sh )
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled+=( t5000-tar-tree.sh )
fi
local cvs=0
use cvs && let cvs=${cvs}+1
if [[ ${EUID} -eq 0 ]]; then
if [[ ${cvs} -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled+=( ${tests_cvs[@]} )
fi
einfo "Skipping other tests that require being non-root"
disabled+=( ${tests_nonroot[@]} )
else
[[ ${cvs} -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=${cvs}+1
[[ ${cvs} -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=${cvs}+1
if [[ ${cvs} -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled+=( ${tests_cvs[@]} )
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled+=( ${tests_perl[@]} )
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled+=( ${test_svn[@]} )
# Reset all previously disabled tests
pushd t &>/dev/null || die
local i
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled[@]} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i Makefile || die
# Clean old results first, must always run
nonfatal git_emake clean
popd &>/dev/null || die
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
local rc
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
pushd t &>/dev/null || die
nonfatal git_emake aggregate-results
# And bail if there was a problem
[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -1,728 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python{2_7,3_{6,7}} )
inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: pu
case "${PVR}" in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=pu ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
DEPEND="
gnome-keyring? ( app-crypt/libsecret )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? (
pcre-jit? ( dev-libs/libpcre2[jit(+)] )
!pcre-jit? ( dev-libs/libpcre )
)
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( >=app-editors/emacs-23.1:* )
iconv? ( virtual/libiconv )
"
RDEPEND="${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
mediawiki? (
dev-perl/DateTime-Format-ISO8601
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
subversion? (
dev-vcs/subversion[-dso,perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND="${BDEPEND}
app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
mediawiki-experimental? ( mediawiki )
subversion? ( perl )
webdav? ( curl )
pcre-jit? ( pcre )
perforce? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
PATCHES=(
# bug #350330 - automagic CVS when we don't want it is bad.
"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local extlibs myopts
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
$(usex cvs '' NO_CVS=YesPlease)
$(usex elibc_musl NO_REGEX=YesPlease '')
$(usex iconv '' NO_ICONV=YesPlease)
$(usex nls '' NO_GETTEXT=YesPlease)
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
$(usex perforce '' NO_PYTHON=YesPlease)
$(usex subversion '' NO_SVN_TESTS=YesPlease)
$(usex threads '' NO_PTHREADS=YesPlease)
$(usex tk '' NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
elif use ppcsha1 ; then
myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
use webdav || myopts+=( NO_EXPAT=YesPlease )
else
myopts+=( NO_CURL=YesPlease )
fi
# broken assumptions, because of static build system ...
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
INSTALL=install
TAR=tar
SHELL_PATH="${EPREFIX}/bin/sh"
SANE_TOOL_PATH=
OLD_ICONV=
NO_EXTERNAL_GREP=
)
# For svn-fe
extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
if use pcre-jit; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
else
myopts+=(
USE_LIBPCRE1=YesPlease
NO_LIBPCRE1_JIT=YesPlease
)
extlibs+=( -lpcre )
fi
fi
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=(
# NO_MMAP=YesPlease
# NO_IPV6=YesPlease
# NO_STRLCPY=YesPlease
# NO_MEMMEM=YesPlease
# NO_MKDTEMP=YesPlease
# NO_MKSTEMPS=YesPlease
# )
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=( NO_NSEC=YesPlease )
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
if has_version '>=app-text/asciidoc-8.0' ; then
myopts+=( ASCIIDOC8=YesPlease )
fi
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
if [[ "${CHOST}" == *-uclibc* ]] ; then
myopts+=( NO_NSEC=YesPlease )
use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
fi
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# add experimental patches to improve mediawiki support
# see patches for origin
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
)
fi
default
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile contrib/svn-fe/Makefile || die
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die
}
git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
emake ${MY_MAKEOPTS} \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
perllibdir="$(use perl && perl_get_raw_vendorlib)" \
sysconfdir="${EPREFIX}"/etc \
DESTDIR="${D}" \
GIT_TEST_OPTS="--no-color" \
OPTAR="$(tc-getAR)" \
OPTCC="$(tc-getCC)" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
PERL_PATH="${EPREFIX}/usr/bin/perl" \
PERL_MM_OPT="" \
PYTHON_PATH="${PYTHON_PATH}" \
V=1 \
"$@"
}
src_configure() {
exportmakeopts
}
src_compile() {
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
pushd contrib/credential/osxkeychain &>/dev/null || die
git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
|| die "emake credential-osxkeychain"
popd &>/dev/null || die
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
popd &>/dev/null || die
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=()
use nls && use !elibc_glibc && nlsiconv+=( -lintl )
use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
|| die "emake svn-fe failed"
if use doc ; then
# svn-fe.1 requires the full USE=doc dependency stack
git_emake svn-fe.1 \
|| die "emake svn-fe.1 failed"
git_emake svn-fe.html \
|| die "svn-fe.html failed"
fi
popd &>/dev/null || die
fi
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
git_emake || die "emake git-credential-libsecret failed"
popd &>/dev/null || die
fi
pushd contrib/subtree &>/dev/null || die
git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
pushd contrib/diff-highlight &>/dev/null || die
git_emake
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake
popd &>/dev/null || die
fi
}
src_install() {
git_emake install || die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
if use doc ; then
docinto ${d}/html
dodoc Documentation${d}*.html
fi
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
pushd contrib/subtree &>/dev/null || die
git_emake install || die "Failed to emake install for git-subtree"
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake install
popd &>/dev/null || die
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
dobin git-credential-libsecret
popd &>/dev/null || die
fi
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
dobin svn-fe
dodoc svn-fe.txt
if use doc ; then
# Do not move svn-fe.1 outside USE=doc!
doman svn-fe.1
docinto html
dodoc svn-fe.html
fi
popd &>/dev/null || die
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
hg-to-git
hooks
remotes2config.sh
rerere-train.sh
stats
workdir
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf \
"${S}"/contrib/${i} \
"${ED}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if test -d "${d}" ; then find "${d}" \
-name .packlist \
-delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
l10n_for_each_disabled_locale_do rm_loc
}
src_test() {
local disabled=()
local tests_cvs=(
t9200-git-cvsexportcommit.sh
t9400-git-cvsserver-server.sh
t9401-git-cvsserver-crlf.sh
t9402-git-cvsserver-refs.sh
t9600-cvsimport.sh
t9601-cvsimport-vendor-branch.sh
t9602-cvsimport-branches-tags.sh
t9603-cvsimport-patchsets.sh
t9604-cvsimport-timestamps.sh
)
local tests_perl=(
t3701-add-interactive.sh
t5502-quickfetch.sh
t5512-ls-remote.sh
t5520-pull.sh
t7106-reset-unborn-branch.sh
t7501-commit.sh
)
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot=(
t0001-init.sh
t0004-unwritable.sh
t0070-fundamental.sh
t1004-read-tree-m-u-wf.sh
t3700-add.sh
t7300-clean.sh
)
# t9100 still fails with symlinks in SVN 1.7
local test_svn=( t9100-git-svn-basic.sh )
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled+=( t5000-tar-tree.sh )
fi
local cvs=0
use cvs && let cvs=${cvs}+1
if [[ ${EUID} -eq 0 ]]; then
if [[ ${cvs} -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled+=( ${tests_cvs[@]} )
fi
einfo "Skipping other tests that require being non-root"
disabled+=( ${tests_nonroot[@]} )
else
[[ ${cvs} -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=${cvs}+1
[[ ${cvs} -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=${cvs}+1
if [[ ${cvs} -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled+=( ${tests_cvs[@]} )
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled+=( ${tests_perl[@]} )
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled+=( ${test_svn[@]} )
# Reset all previously disabled tests
pushd t &>/dev/null || die
local i
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled[@]} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i Makefile || die
# Clean old results first, must always run
nonfatal git_emake clean
popd &>/dev/null || die
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
local rc
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
pushd t &>/dev/null || die
nonfatal git_emake aggregate-results
# And bail if there was a problem
[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -1,728 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python{2_7,3_{6,7}} )
inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: pu
case "${PVR}" in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=pu ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv s390 sparc x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
DEPEND="
gnome-keyring? ( app-crypt/libsecret )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? (
pcre-jit? ( dev-libs/libpcre2[jit(+)] )
!pcre-jit? ( dev-libs/libpcre )
)
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( >=app-editors/emacs-23.1:* )
iconv? ( virtual/libiconv )
"
RDEPEND="${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
mediawiki? (
dev-perl/DateTime-Format-ISO8601
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
subversion? (
dev-vcs/subversion[-dso,perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND="${BDEPEND}
app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
mediawiki-experimental? ( mediawiki )
subversion? ( perl )
webdav? ( curl )
pcre-jit? ( pcre )
perforce? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
PATCHES=(
# bug #350330 - automagic CVS when we don't want it is bad.
"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local extlibs myopts
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
$(usex cvs '' NO_CVS=YesPlease)
$(usex elibc_musl NO_REGEX=YesPlease '')
$(usex iconv '' NO_ICONV=YesPlease)
$(usex nls '' NO_GETTEXT=YesPlease)
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
$(usex perforce '' NO_PYTHON=YesPlease)
$(usex subversion '' NO_SVN_TESTS=YesPlease)
$(usex threads '' NO_PTHREADS=YesPlease)
$(usex tk '' NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
elif use ppcsha1 ; then
myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
use webdav || myopts+=( NO_EXPAT=YesPlease )
else
myopts+=( NO_CURL=YesPlease )
fi
# broken assumptions, because of static build system ...
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
INSTALL=install
TAR=tar
SHELL_PATH="${EPREFIX}/bin/sh"
SANE_TOOL_PATH=
OLD_ICONV=
NO_EXTERNAL_GREP=
)
# For svn-fe
extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
if use pcre-jit; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
else
myopts+=(
USE_LIBPCRE1=YesPlease
NO_LIBPCRE1_JIT=YesPlease
)
extlibs+=( -lpcre )
fi
fi
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=(
# NO_MMAP=YesPlease
# NO_IPV6=YesPlease
# NO_STRLCPY=YesPlease
# NO_MEMMEM=YesPlease
# NO_MKDTEMP=YesPlease
# NO_MKSTEMPS=YesPlease
# )
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=( NO_NSEC=YesPlease )
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
if has_version '>=app-text/asciidoc-8.0' ; then
myopts+=( ASCIIDOC8=YesPlease )
fi
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
if [[ "${CHOST}" == *-uclibc* ]] ; then
myopts+=( NO_NSEC=YesPlease )
use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
fi
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# add experimental patches to improve mediawiki support
# see patches for origin
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
)
fi
default
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile contrib/svn-fe/Makefile || die
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die
}
git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
emake ${MY_MAKEOPTS} \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
perllibdir="$(use perl && perl_get_raw_vendorlib)" \
sysconfdir="${EPREFIX}"/etc \
DESTDIR="${D}" \
GIT_TEST_OPTS="--no-color" \
OPTAR="$(tc-getAR)" \
OPTCC="$(tc-getCC)" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
PERL_PATH="${EPREFIX}/usr/bin/perl" \
PERL_MM_OPT="" \
PYTHON_PATH="${PYTHON_PATH}" \
V=1 \
"$@"
}
src_configure() {
exportmakeopts
}
src_compile() {
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
pushd contrib/credential/osxkeychain &>/dev/null || die
git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
|| die "emake credential-osxkeychain"
popd &>/dev/null || die
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
popd &>/dev/null || die
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=()
use nls && use !elibc_glibc && nlsiconv+=( -lintl )
use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
|| die "emake svn-fe failed"
if use doc ; then
# svn-fe.1 requires the full USE=doc dependency stack
git_emake svn-fe.1 \
|| die "emake svn-fe.1 failed"
git_emake svn-fe.html \
|| die "svn-fe.html failed"
fi
popd &>/dev/null || die
fi
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
git_emake || die "emake git-credential-libsecret failed"
popd &>/dev/null || die
fi
pushd contrib/subtree &>/dev/null || die
git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
pushd contrib/diff-highlight &>/dev/null || die
git_emake
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake
popd &>/dev/null || die
fi
}
src_install() {
git_emake install || die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
if use doc ; then
docinto ${d}/html
dodoc Documentation${d}*.html
fi
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
pushd contrib/subtree &>/dev/null || die
git_emake install || die "Failed to emake install for git-subtree"
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake install
popd &>/dev/null || die
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
dobin git-credential-libsecret
popd &>/dev/null || die
fi
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
dobin svn-fe
dodoc svn-fe.txt
if use doc ; then
# Do not move svn-fe.1 outside USE=doc!
doman svn-fe.1
docinto html
dodoc svn-fe.html
fi
popd &>/dev/null || die
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
hg-to-git
hooks
remotes2config.sh
rerere-train.sh
stats
workdir
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf \
"${S}"/contrib/${i} \
"${ED}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if test -d "${d}" ; then find "${d}" \
-name .packlist \
-delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
l10n_for_each_disabled_locale_do rm_loc
}
src_test() {
local disabled=()
local tests_cvs=(
t9200-git-cvsexportcommit.sh
t9400-git-cvsserver-server.sh
t9401-git-cvsserver-crlf.sh
t9402-git-cvsserver-refs.sh
t9600-cvsimport.sh
t9601-cvsimport-vendor-branch.sh
t9602-cvsimport-branches-tags.sh
t9603-cvsimport-patchsets.sh
t9604-cvsimport-timestamps.sh
)
local tests_perl=(
t3701-add-interactive.sh
t5502-quickfetch.sh
t5512-ls-remote.sh
t5520-pull.sh
t7106-reset-unborn-branch.sh
t7501-commit.sh
)
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot=(
t0001-init.sh
t0004-unwritable.sh
t0070-fundamental.sh
t1004-read-tree-m-u-wf.sh
t3700-add.sh
t7300-clean.sh
)
# t9100 still fails with symlinks in SVN 1.7
local test_svn=( t9100-git-svn-basic.sh )
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled+=( t5000-tar-tree.sh )
fi
local cvs=0
use cvs && let cvs=${cvs}+1
if [[ ${EUID} -eq 0 ]]; then
if [[ ${cvs} -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled+=( ${tests_cvs[@]} )
fi
einfo "Skipping other tests that require being non-root"
disabled+=( ${tests_nonroot[@]} )
else
[[ ${cvs} -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=${cvs}+1
[[ ${cvs} -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=${cvs}+1
if [[ ${cvs} -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled+=( ${tests_cvs[@]} )
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled+=( ${tests_perl[@]} )
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled+=( ${test_svn[@]} )
# Reset all previously disabled tests
pushd t &>/dev/null || die
local i
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled[@]} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i Makefile || die
# Clean old results first, must always run
nonfatal git_emake clean
popd &>/dev/null || die
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
local rc
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
pushd t &>/dev/null || die
nonfatal git_emake aggregate-results
# And bail if there was a problem
[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -1,728 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python{2_7,3_{6,7}} )
inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: pu
case "${PVR}" in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=pu ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
DEPEND="
gnome-keyring? ( app-crypt/libsecret )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? (
pcre-jit? ( dev-libs/libpcre2[jit(+)] )
!pcre-jit? ( dev-libs/libpcre )
)
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( >=app-editors/emacs-23.1:* )
iconv? ( virtual/libiconv )
"
RDEPEND="${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
mediawiki? (
dev-perl/DateTime-Format-ISO8601
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
subversion? (
dev-vcs/subversion[-dso,perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND="${BDEPEND}
app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
mediawiki-experimental? ( mediawiki )
subversion? ( perl )
webdav? ( curl )
pcre-jit? ( pcre )
perforce? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
PATCHES=(
# bug #350330 - automagic CVS when we don't want it is bad.
"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local extlibs myopts
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
$(usex cvs '' NO_CVS=YesPlease)
$(usex elibc_musl NO_REGEX=YesPlease '')
$(usex iconv '' NO_ICONV=YesPlease)
$(usex nls '' NO_GETTEXT=YesPlease)
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
$(usex perforce '' NO_PYTHON=YesPlease)
$(usex subversion '' NO_SVN_TESTS=YesPlease)
$(usex threads '' NO_PTHREADS=YesPlease)
$(usex tk '' NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
elif use ppcsha1 ; then
myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
use webdav || myopts+=( NO_EXPAT=YesPlease )
else
myopts+=( NO_CURL=YesPlease )
fi
# broken assumptions, because of static build system ...
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
INSTALL=install
TAR=tar
SHELL_PATH="${EPREFIX}/bin/sh"
SANE_TOOL_PATH=
OLD_ICONV=
NO_EXTERNAL_GREP=
)
# For svn-fe
extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
if use pcre-jit; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
else
myopts+=(
USE_LIBPCRE1=YesPlease
NO_LIBPCRE1_JIT=YesPlease
)
extlibs+=( -lpcre )
fi
fi
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=(
# NO_MMAP=YesPlease
# NO_IPV6=YesPlease
# NO_STRLCPY=YesPlease
# NO_MEMMEM=YesPlease
# NO_MKDTEMP=YesPlease
# NO_MKSTEMPS=YesPlease
# )
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=( NO_NSEC=YesPlease )
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
if has_version '>=app-text/asciidoc-8.0' ; then
myopts+=( ASCIIDOC8=YesPlease )
fi
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
if [[ "${CHOST}" == *-uclibc* ]] ; then
myopts+=( NO_NSEC=YesPlease )
use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
fi
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# add experimental patches to improve mediawiki support
# see patches for origin
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
)
fi
default
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile contrib/svn-fe/Makefile || die
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die
}
git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
emake ${MY_MAKEOPTS} \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
perllibdir="$(use perl && perl_get_raw_vendorlib)" \
sysconfdir="${EPREFIX}"/etc \
DESTDIR="${D}" \
GIT_TEST_OPTS="--no-color" \
OPTAR="$(tc-getAR)" \
OPTCC="$(tc-getCC)" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
PERL_PATH="${EPREFIX}/usr/bin/perl" \
PERL_MM_OPT="" \
PYTHON_PATH="${PYTHON_PATH}" \
V=1 \
"$@"
}
src_configure() {
exportmakeopts
}
src_compile() {
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
pushd contrib/credential/osxkeychain &>/dev/null || die
git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
|| die "emake credential-osxkeychain"
popd &>/dev/null || die
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
popd &>/dev/null || die
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=()
use nls && use !elibc_glibc && nlsiconv+=( -lintl )
use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
|| die "emake svn-fe failed"
if use doc ; then
# svn-fe.1 requires the full USE=doc dependency stack
git_emake svn-fe.1 \
|| die "emake svn-fe.1 failed"
git_emake svn-fe.html \
|| die "svn-fe.html failed"
fi
popd &>/dev/null || die
fi
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
git_emake || die "emake git-credential-libsecret failed"
popd &>/dev/null || die
fi
pushd contrib/subtree &>/dev/null || die
git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
pushd contrib/diff-highlight &>/dev/null || die
git_emake
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake
popd &>/dev/null || die
fi
}
src_install() {
git_emake install || die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
if use doc ; then
docinto ${d}/html
dodoc Documentation${d}*.html
fi
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
pushd contrib/subtree &>/dev/null || die
git_emake install || die "Failed to emake install for git-subtree"
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake install
popd &>/dev/null || die
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
dobin git-credential-libsecret
popd &>/dev/null || die
fi
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
dobin svn-fe
dodoc svn-fe.txt
if use doc ; then
# Do not move svn-fe.1 outside USE=doc!
doman svn-fe.1
docinto html
dodoc svn-fe.html
fi
popd &>/dev/null || die
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
hg-to-git
hooks
remotes2config.sh
rerere-train.sh
stats
workdir
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf \
"${S}"/contrib/${i} \
"${ED}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if test -d "${d}" ; then find "${d}" \
-name .packlist \
-delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
l10n_for_each_disabled_locale_do rm_loc
}
src_test() {
local disabled=()
local tests_cvs=(
t9200-git-cvsexportcommit.sh
t9400-git-cvsserver-server.sh
t9401-git-cvsserver-crlf.sh
t9402-git-cvsserver-refs.sh
t9600-cvsimport.sh
t9601-cvsimport-vendor-branch.sh
t9602-cvsimport-branches-tags.sh
t9603-cvsimport-patchsets.sh
t9604-cvsimport-timestamps.sh
)
local tests_perl=(
t3701-add-interactive.sh
t5502-quickfetch.sh
t5512-ls-remote.sh
t5520-pull.sh
t7106-reset-unborn-branch.sh
t7501-commit.sh
)
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot=(
t0001-init.sh
t0004-unwritable.sh
t0070-fundamental.sh
t1004-read-tree-m-u-wf.sh
t3700-add.sh
t7300-clean.sh
)
# t9100 still fails with symlinks in SVN 1.7
local test_svn=( t9100-git-svn-basic.sh )
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled+=( t5000-tar-tree.sh )
fi
local cvs=0
use cvs && let cvs=${cvs}+1
if [[ ${EUID} -eq 0 ]]; then
if [[ ${cvs} -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled+=( ${tests_cvs[@]} )
fi
einfo "Skipping other tests that require being non-root"
disabled+=( ${tests_nonroot[@]} )
else
[[ ${cvs} -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=${cvs}+1
[[ ${cvs} -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=${cvs}+1
if [[ ${cvs} -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled+=( ${tests_cvs[@]} )
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled+=( ${tests_perl[@]} )
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled+=( ${test_svn[@]} )
# Reset all previously disabled tests
pushd t &>/dev/null || die
local i
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled[@]} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i Makefile || die
# Clean old results first, must always run
nonfatal git_emake clean
popd &>/dev/null || die
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
local rc
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
pushd t &>/dev/null || die
nonfatal git_emake aggregate-results
# And bail if there was a problem
[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -1,728 +0,0 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
GENTOO_DEPEND_ON_PERL=no
# bug #329479: git-remote-testgit is not multiple-version aware
PYTHON_COMPAT=( python{2_7,3_{6,7}} )
inherit toolchain-funcs elisp-common l10n perl-module bash-completion-r1 python-single-r1 systemd
PLOCALES="bg ca de es fr is it ko pt_PT ru sv vi zh_CN"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="git://git.kernel.org/pub/scm/git/git.git"
# Please ensure that all _four_ 9999 ebuilds get updated; they track the 4 upstream branches.
# See https://git-scm.com/docs/gitworkflows#_graduation
# In order of stability:
# 9999-r0: maint
# 9999-r1: master
# 9999-r2: next
# 9999-r3: pu
case "${PVR}" in
9999) EGIT_BRANCH=maint ;;
9999-r1) EGIT_BRANCH=master ;;
9999-r2) EGIT_BRANCH=next;;
9999-r3) EGIT_BRANCH=pu ;;
esac
fi
MY_PV="${PV/_rc/.rc}"
MY_P="${PN}-${MY_PV}"
DOC_VER="${MY_PV}"
DESCRIPTION="stupid content tracker: distributed VCS designed for speed and efficiency"
HOMEPAGE="https://www.git-scm.com/"
if [[ ${PV} != *9999 ]]; then
SRC_URI_SUFFIX="xz"
SRC_URI_KORG="https://www.kernel.org/pub/software/scm/git"
[[ "${PV/rc}" != "${PV}" ]] && SRC_URI_KORG+='/testing'
SRC_URI="${SRC_URI_KORG}/${MY_P}.tar.${SRC_URI_SUFFIX}
${SRC_URI_KORG}/${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
doc? (
${SRC_URI_KORG}/${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
)"
[[ "${PV}" == *_rc* ]] || \
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="+blksha1 +curl cgi doc emacs gnome-keyring +gpg highlight +iconv libressl mediawiki mediawiki-experimental +nls +pcre +pcre-jit perforce +perl +ppcsha1 tk +threads +webdav xinetd cvs subversion test"
# Common to both DEPEND and RDEPEND
DEPEND="
gnome-keyring? ( app-crypt/libsecret )
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:= )
sys-libs/zlib
pcre? (
pcre-jit? ( dev-libs/libpcre2[jit(+)] )
!pcre-jit? ( dev-libs/libpcre )
)
perl? ( dev-lang/perl:=[-build(-)] )
tk? ( dev-lang/tk:0= )
curl? (
net-misc/curl
webdav? ( dev-libs/expat )
)
emacs? ( >=app-editors/emacs-23.1:* )
iconv? ( virtual/libiconv )
"
RDEPEND="${DEPEND}
gpg? ( app-crypt/gnupg )
perl? (
dev-perl/Error
dev-perl/MailTools
dev-perl/Authen-SASL
cgi? (
dev-perl/CGI
highlight? ( app-text/highlight )
)
cvs? (
>=dev-vcs/cvsps-2.1:0
dev-perl/DBI
dev-perl/DBD-SQLite
)
mediawiki? (
dev-perl/DateTime-Format-ISO8601
dev-perl/HTML-Tree
dev-perl/MediaWiki-API
)
subversion? (
dev-vcs/subversion[-dso,perl]
dev-perl/libwww-perl
dev-perl/TermReadKey
)
)
perforce? ( ${PYTHON_DEPS} )
"
# This is how info docs are created with Git:
# .txt/asciidoc --(asciidoc)---------> .xml/docbook
# .xml/docbook --(docbook2texi.pl)--> .texi
# .texi --(makeinfo)---------> .info
BDEPEND="
doc? (
app-text/asciidoc
app-text/docbook2X
app-text/xmlto
sys-apps/texinfo
)
nls? ( sys-devel/gettext )
test? ( app-crypt/gnupg )
"
# Live ebuild builds man pages and HTML docs, additionally
if [[ ${PV} == *9999 ]]; then
BDEPEND="${BDEPEND}
app-text/asciidoc"
fi
SITEFILE="50${PN}-gentoo.el"
S="${WORKDIR}/${MY_P}"
REQUIRED_USE="
cgi? ( perl )
cvs? ( perl )
mediawiki? ( perl )
mediawiki-experimental? ( mediawiki )
subversion? ( perl )
webdav? ( curl )
pcre-jit? ( pcre )
perforce? ( ${PYTHON_REQUIRED_USE} )
"
RESTRICT="!test? ( test )"
PATCHES=(
# bug #350330 - automagic CVS when we don't want it is bad.
"${FILESDIR}"/git-2.22.0_rc0-optional-cvs.patch
"${FILESDIR}"/git-2.2.0-svn-fe-linking.patch
# Make submodule output quiet
"${FILESDIR}"/git-2.21.0-quiet-submodules-testcase.patch
)
pkg_setup() {
if use subversion && has_version "dev-vcs/subversion[dso]"; then
ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
ewarn "with USE=dso, there may be weird crashes in git-svn. You"
ewarn "have been warned."
fi
if use perforce ; then
python-single-r1_pkg_setup
fi
}
# This is needed because for some obscure reasons future calls to make don't
# pick up these exports if we export them in src_unpack()
exportmakeopts() {
local extlibs myopts
myopts=(
ASCIIDOC_NO_ROFF=YesPlease
$(usex cvs '' NO_CVS=YesPlease)
$(usex elibc_musl NO_REGEX=YesPlease '')
$(usex iconv '' NO_ICONV=YesPlease)
$(usex nls '' NO_GETTEXT=YesPlease)
$(usex perl 'INSTALLDIRS=vendor NO_PERL_CPAN_FALLBACKS=YesPlease' NO_PERL=YesPlease)
$(usex perforce '' NO_PYTHON=YesPlease)
$(usex subversion '' NO_SVN_TESTS=YesPlease)
$(usex threads '' NO_PTHREADS=YesPlease)
$(usex tk '' NO_TCLTK=YesPlease)
)
if use blksha1 ; then
myopts+=( BLK_SHA1=YesPlease )
elif use ppcsha1 ; then
myopts+=( PPC_SHA1=YesPlease )
fi
if use curl ; then
use webdav || myopts+=( NO_EXPAT=YesPlease )
else
myopts+=( NO_CURL=YesPlease )
fi
# broken assumptions, because of static build system ...
myopts+=(
NO_FINK=YesPlease
NO_DARWIN_PORTS=YesPlease
INSTALL=install
TAR=tar
SHELL_PATH="${EPREFIX}/bin/sh"
SANE_TOOL_PATH=
OLD_ICONV=
NO_EXTERNAL_GREP=
)
# For svn-fe
extlibs=( -lz -lssl ${S}/xdiff/lib.a $(usex threads -lpthread '') )
# can't define this to null, since the entire makefile depends on it
sed -i -e '/\/usr\/local/s/BASIC_/#BASIC_/' Makefile || die
if use pcre; then
if use pcre-jit; then
myopts+=( USE_LIBPCRE2=YesPlease )
extlibs+=( -lpcre2-8 )
else
myopts+=(
USE_LIBPCRE1=YesPlease
NO_LIBPCRE1_JIT=YesPlease
)
extlibs+=( -lpcre )
fi
fi
# Disabled until ~m68k-mint can be keyworded again
# if [[ ${CHOST} == *-mint* ]] ; then
# myopts+=(
# NO_MMAP=YesPlease
# NO_IPV6=YesPlease
# NO_STRLCPY=YesPlease
# NO_MEMMEM=YesPlease
# NO_MKDTEMP=YesPlease
# NO_MKSTEMPS=YesPlease
# )
# fi
if [[ ${CHOST} == ia64-*-hpux* ]]; then
myopts+=( NO_NSEC=YesPlease )
fi
if [[ ${CHOST} == *-*-aix* ]]; then
myopts+=( NO_FNMATCH_CASEFOLD=YesPlease )
fi
if [[ ${CHOST} == *-solaris* ]]; then
myopts+=(
NEEDS_LIBICONV=YesPlease
HAVE_CLOCK_MONOTONIC=1
)
if grep -q getdelim "${EROOT}"/usr/include/stdio.h ; then
myopts+=( HAVE_GETDELIM=1 )
fi
fi
if has_version '>=app-text/asciidoc-8.0' ; then
myopts+=( ASCIIDOC8=YesPlease )
fi
# Bug 290465:
# builtin-fetch-pack.c:816: error: 'struct stat' has no member named 'st_mtim'
if [[ "${CHOST}" == *-uclibc* ]] ; then
myopts+=( NO_NSEC=YesPlease )
use iconv && myopts+=( NEEDS_LIBICONV=YesPlease )
fi
export MY_MAKEOPTS="${myopts[@]}"
export EXTLIBS="${extlibs[@]}"
}
src_unpack() {
if [[ ${PV} != *9999 ]]; then
unpack ${MY_P}.tar.${SRC_URI_SUFFIX}
cd "${S}" || die
unpack ${PN}-manpages-${DOC_VER}.tar.${SRC_URI_SUFFIX}
if use doc ; then
pushd "${S}"/Documentation &>/dev/null || die
unpack ${PN}-htmldocs-${DOC_VER}.tar.${SRC_URI_SUFFIX}
popd &>/dev/null || die
fi
else
git-r3_src_unpack
#cp "${FILESDIR}"/GIT-VERSION-GEN .
fi
}
src_prepare() {
# add experimental patches to improve mediawiki support
# see patches for origin
if use mediawiki-experimental ; then
PATCHES+=(
"${FILESDIR}"/git-2.7.0-mediawiki-namespaces.patch
"${FILESDIR}"/git-2.7.0-mediawiki-subpages.patch
"${FILESDIR}"/git-2.7.0-mediawiki-500pages.patch
)
fi
default
sed -i \
-e 's:^\(CFLAGS[[:space:]]*=\).*$:\1 $(OPTCFLAGS) -Wall:' \
-e 's:^\(LDFLAGS[[:space:]]*=\).*$:\1 $(OPTLDFLAGS):' \
-e 's:^\(CC[[:space:]]* =\).*$:\1$(OPTCC):' \
-e 's:^\(AR[[:space:]]* =\).*$:\1$(OPTAR):' \
-e "s:\(PYTHON_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
-e "s:\(PERL_PATH[[:space:]]\+=[[:space:]]\+\)\(.*\)$:\1${EPREFIX}\2:" \
Makefile contrib/svn-fe/Makefile || die
# Fix docbook2texi command
sed -r -i 's/DOCBOOK2X_TEXI[[:space:]]*=[[:space:]]*docbook2x-texi/DOCBOOK2X_TEXI = docbook2texi.pl/' \
Documentation/Makefile || die
}
git_emake() {
# bug #320647: PYTHON_PATH
local PYTHON_PATH=""
use perforce && PYTHON_PATH="${PYTHON}"
emake ${MY_MAKEOPTS} \
prefix="${EPREFIX}"/usr \
htmldir="${EPREFIX}"/usr/share/doc/${PF}/html \
perllibdir="$(use perl && perl_get_raw_vendorlib)" \
sysconfdir="${EPREFIX}"/etc \
DESTDIR="${D}" \
GIT_TEST_OPTS="--no-color" \
OPTAR="$(tc-getAR)" \
OPTCC="$(tc-getCC)" \
OPTCFLAGS="${CFLAGS}" \
OPTLDFLAGS="${LDFLAGS}" \
PERL_PATH="${EPREFIX}/usr/bin/perl" \
PERL_MM_OPT="" \
PYTHON_PATH="${PYTHON_PATH}" \
V=1 \
"$@"
}
src_configure() {
exportmakeopts
}
src_compile() {
git_emake || die "emake failed"
if use emacs ; then
elisp-compile contrib/emacs/git{,-blame}.el
fi
if use perl && use cgi ; then
git_emake \
gitweb \
|| die "emake gitweb (cgi) failed"
fi
if [[ ${CHOST} == *-darwin* ]]; then
pushd contrib/credential/osxkeychain &>/dev/null || die
git_emake CC=$(tc-getCC) CFLAGS="${CFLAGS}" \
|| die "emake credential-osxkeychain"
popd &>/dev/null || die
fi
pushd Documentation &>/dev/null || die
if [[ ${PV} == *9999 ]] ; then
git_emake man \
|| die "emake man failed"
if use doc ; then
git_emake info html \
|| die "emake info html failed"
fi
else
if use doc ; then
git_emake info \
|| die "emake info html failed"
fi
fi
popd &>/dev/null || die
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
# by defining EXTLIBS we override the detection for libintl and
# libiconv, bug #516168
local nlsiconv=()
use nls && use !elibc_glibc && nlsiconv+=( -lintl )
use iconv && use !elibc_glibc && nlsiconv+=( -liconv )
git_emake EXTLIBS="${EXTLIBS} ${nlsiconv[@]}" \
|| die "emake svn-fe failed"
if use doc ; then
# svn-fe.1 requires the full USE=doc dependency stack
git_emake svn-fe.1 \
|| die "emake svn-fe.1 failed"
git_emake svn-fe.html \
|| die "svn-fe.html failed"
fi
popd &>/dev/null || die
fi
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
git_emake || die "emake git-credential-libsecret failed"
popd &>/dev/null || die
fi
pushd contrib/subtree &>/dev/null || die
git_emake git-subtree
# git-subtree.1 requires the full USE=doc dependency stack
use doc && git_emake git-subtree.html git-subtree.1
popd &>/dev/null || die
pushd contrib/diff-highlight &>/dev/null || die
git_emake
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake
popd &>/dev/null || die
fi
}
src_install() {
git_emake install || die "make install failed"
if [[ ${CHOST} == *-darwin* ]]; then
dobin contrib/credential/osxkeychain/git-credential-osxkeychain
fi
# Depending on the tarball and manual rebuild of the documentation, the
# manpages may exist in either OR both of these directories.
find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
use doc && dodir /usr/share/doc/${PF}/html
local d
for d in / /howto/ /technical/ ; do
docinto ${d}
dodoc Documentation${d}*.txt
if use doc ; then
docinto ${d}/html
dodoc Documentation${d}*.html
fi
done
docinto /
# Upstream does not ship this pre-built :-(
use doc && doinfo Documentation/{git,gitman}.info
newbashcomp contrib/completion/git-completion.bash ${PN}
bashcomp_alias git gitk
# Not really a bash-completion file (bug #477920)
# but still needed uncompressed (bug #507480)
insinto /usr/share/${PN}
doins contrib/completion/git-prompt.sh
if use emacs ; then
elisp-install ${PN} contrib/emacs/git.{el,elc}
elisp-install ${PN} contrib/emacs/git-blame.{el,elc}
#elisp-install ${PN}/compat contrib/emacs/vc-git.{el,elc}
# don't add automatically to the load-path, so the sitefile
# can do a conditional loading
touch "${ED}${SITELISP}/${PN}/compat/.nosearch"
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
fi
#dobin contrib/fast-import/git-p4 # Moved upstream
#dodoc contrib/fast-import/git-p4.txt # Moved upstream
newbin contrib/fast-import/import-tars.perl import-tars
exeinto /usr/libexec/git-core/
newexe contrib/git-resurrect.sh git-resurrect
# git-subtree
pushd contrib/subtree &>/dev/null || die
git_emake install || die "Failed to emake install for git-subtree"
if use doc ; then
# Do not move git subtree install-man outside USE=doc!
git_emake install-man install-html || die "Failed to emake install-html install-man for git-subtree"
fi
newdoc README README.git-subtree
dodoc git-subtree.txt
popd &>/dev/null || die
if use mediawiki ; then
pushd contrib/mw-to-git &>/dev/null || die
git_emake install
popd &>/dev/null || die
fi
# diff-highlight
dobin contrib/diff-highlight/diff-highlight
newdoc contrib/diff-highlight/README README.diff-highlight
# git-jump
exeinto /usr/libexec/git-core/
doexe contrib/git-jump/git-jump
newdoc contrib/git-jump/README git-jump.txt
# git-contacts
exeinto /usr/libexec/git-core/
doexe contrib/contacts/git-contacts
dodoc contrib/contacts/git-contacts.txt
if use gnome-keyring ; then
pushd contrib/credential/libsecret &>/dev/null || die
dobin git-credential-libsecret
popd &>/dev/null || die
fi
if use subversion ; then
pushd contrib/svn-fe &>/dev/null || die
dobin svn-fe
dodoc svn-fe.txt
if use doc ; then
# Do not move svn-fe.1 outside USE=doc!
doman svn-fe.1
docinto html
dodoc svn-fe.html
fi
popd &>/dev/null || die
fi
dodir /usr/share/${PN}/contrib
# The following are excluded:
# completion - installed above
# diff-highlight - done above
# emacs - installed above
# examples - these are stuff that is not used in Git anymore actually
# git-jump - done above
# gitview - installed above
# p4import - excluded because fast-import has a better one
# patches - stuff the Git guys made to go upstream to other places
# persistent-https - TODO
# mw-to-git - TODO
# subtree - build seperately
# svnimport - use git-svn
# thunderbird-patch-inline - fixes thunderbird
local contrib_objects=(
buildsystems
fast-import
hg-to-git
hooks
remotes2config.sh
rerere-train.sh
stats
workdir
)
local i
for i in "${contrib_objects[@]}" ; do
cp -rf \
"${S}"/contrib/${i} \
"${ED}"/usr/share/${PN}/contrib \
|| die "Failed contrib ${i}"
done
if use perl && use cgi ; then
# We used to install in /usr/share/${PN}/gitweb
# but upstream installs in /usr/share/gitweb
# so we will install a symlink and use their location for compat with other
# distros
dosym ../gitweb /usr/share/${PN}/gitweb
# INSTALL discusses configuration issues, not just installation
docinto /
newdoc "${S}"/gitweb/INSTALL INSTALL.gitweb
newdoc "${S}"/gitweb/README README.gitweb
for d in "${ED}"/usr/lib{,64}/perl5/ ; do
if test -d "${d}" ; then find "${d}" \
-name .packlist \
-delete || die
fi
done
else
rm -rf "${ED}"/usr/share/gitweb
fi
if ! use subversion ; then
rm -f "${ED}"/usr/libexec/git-core/git-svn \
"${ED}"/usr/share/man/man1/git-svn.1*
fi
if use xinetd ; then
insinto /etc/xinetd.d
newins "${FILESDIR}"/git-daemon.xinetd git-daemon
fi
if use !prefix ; then
newinitd "${FILESDIR}"/git-daemon-r1.initd git-daemon
newconfd "${FILESDIR}"/git-daemon.confd git-daemon
systemd_newunit "${FILESDIR}/git-daemon_at-r1.service" "git-daemon@.service"
systemd_dounit "${FILESDIR}/git-daemon.socket"
fi
perl_delete_localpod
# Remove disabled linguas
# we could remove sources in src_prepare, but install does not
# handle missing locale dir well
rm_loc() {
if [[ -e "${ED}/usr/share/locale/${1}" ]]; then
rm -r "${ED}/usr/share/locale/${1}" || die
fi
}
l10n_for_each_disabled_locale_do rm_loc
}
src_test() {
local disabled=()
local tests_cvs=(
t9200-git-cvsexportcommit.sh
t9400-git-cvsserver-server.sh
t9401-git-cvsserver-crlf.sh
t9402-git-cvsserver-refs.sh
t9600-cvsimport.sh
t9601-cvsimport-vendor-branch.sh
t9602-cvsimport-branches-tags.sh
t9603-cvsimport-patchsets.sh
t9604-cvsimport-timestamps.sh
)
local tests_perl=(
t3701-add-interactive.sh
t5502-quickfetch.sh
t5512-ls-remote.sh
t5520-pull.sh
t7106-reset-unborn-branch.sh
t7501-commit.sh
)
# Bug #225601 - t0004 is not suitable for root perm
# Bug #219839 - t1004 is not suitable for root perm
# t0001-init.sh - check for init notices EPERM* fails
local tests_nonroot=(
t0001-init.sh
t0004-unwritable.sh
t0070-fundamental.sh
t1004-read-tree-m-u-wf.sh
t3700-add.sh
t7300-clean.sh
)
# t9100 still fails with symlinks in SVN 1.7
local test_svn=( t9100-git-svn-basic.sh )
# Unzip is used only for the testcase code, not by any normal parts of Git.
if ! has_version app-arch/unzip ; then
einfo "Disabling tar-tree tests"
disabled+=( t5000-tar-tree.sh )
fi
local cvs=0
use cvs && let cvs=${cvs}+1
if [[ ${EUID} -eq 0 ]]; then
if [[ ${cvs} -eq 1 ]]; then
ewarn "Skipping CVS tests because CVS does not work as root!"
ewarn "You should retest with FEATURES=userpriv!"
disabled+=( ${tests_cvs[@]} )
fi
einfo "Skipping other tests that require being non-root"
disabled+=( ${tests_nonroot[@]} )
else
[[ ${cvs} -gt 0 ]] && \
has_version dev-vcs/cvs && \
let cvs=${cvs}+1
[[ ${cvs} -gt 1 ]] && \
has_version "dev-vcs/cvs[server]" && \
let cvs=${cvs}+1
if [[ ${cvs} -lt 3 ]]; then
einfo "Disabling CVS tests (needs dev-vcs/cvs[USE=server])"
disabled+=( ${tests_cvs[@]} )
fi
fi
if ! use perl ; then
einfo "Disabling tests that need Perl"
disabled+=( ${tests_perl[@]} )
fi
einfo "Disabling tests that fail with SVN 1.7"
disabled+=( ${test_svn[@]} )
# Reset all previously disabled tests
pushd t &>/dev/null || die
local i
for i in *.sh.DISABLED ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i%.DISABLED}"
done
einfo "Disabled tests:"
for i in ${disabled[@]} ; do
[[ -f "${i}" ]] && mv -f "${i}" "${i}.DISABLED" && einfo "Disabled ${i}"
done
# Avoid the test system removing the results because we want them ourselves
sed -e '/^[[:space:]]*$(MAKE) clean/s,^,#,g' \
-i Makefile || die
# Clean old results first, must always run
nonfatal git_emake clean
popd &>/dev/null || die
# Now run the tests, keep going if we hit an error, and don't terminate on
# failure
local rc
einfo "Start test run"
#MAKEOPTS=-j1
nonfatal git_emake --keep-going test
rc=$?
# Display nice results, now print the results
pushd t &>/dev/null || die
nonfatal git_emake aggregate-results
# And bail if there was a problem
[[ ${rc} -eq 0 ]] || die "tests failed. Please file a bug."
}
showpkgdeps() {
local pkg=$1
shift
elog " $(printf "%-17s:" ${pkg}) ${@}"
}
pkg_postinst() {
use emacs && elisp-site-regen
elog "Please read /usr/share/bash-completion/completions/git for Git bash command"
elog "completion."
elog "Please read /usr/share/git/git-prompt.sh for Git bash prompt"
elog "Note that the prompt bash code is now in that separate script"
elog "These additional scripts need some dependencies:"
echo
showpkgdeps git-quiltimport "dev-util/quilt"
showpkgdeps git-instaweb \
"|| ( www-servers/lighttpd www-servers/apache www-servers/nginx )"
echo
use mediawiki-experimental && ewarn "Using experimental git-mediawiki patches. The stability of cloned wiki filesystems is not guaranteed."
}
pkg_postrm() {
use emacs && elisp-site-regen
}

@ -6,5 +6,5 @@ DIST subversion-1.10.0_rc1-patches-1.tar.xz 2984 BLAKE2B 7c9619b95ca6b433a58dc5b
DIST subversion-1.12.2.tar.bz2 8506584 BLAKE2B 535e4c6c369537baa7f9fc9123d0314de1bb8d4b3c51e0216662047fd1084ceb6a1f349de54bf575f0eb8e1041fcd6525e6cf27dbd908e2148578cb9fb807bb3 SHA512 b1f859b460afa54598778d8633f648acb4fa46138f7d6f0c1451e3c6a1de71df859233cd9ac7f19f0f20d7237ed3988f0a38da7552ffa58391e19d957bc7c136
DIST subversion-1.13.0.tar.bz2 8508122 BLAKE2B 761def1bb3a1fe5333534ebda0940b618c343f919688055cdef69552bc515ad6cd9db3ac67c8c73075487d4f45d93bb57fa467288756dfa163fc72c8e8c7b548 SHA512 36f390b412bf772bf894efc2aadc247f12ca30ac407e04f664c14411c3519e1bb242d1239f2f44cbcb86eafc7c413efc8eadbfe1d1e75118235a7b7adc6c85b2
EBUILD subversion-1.12.2.ebuild 15517 BLAKE2B 6a8573f750eb273d22f67a7857652305284e8b8fc7a32fda5a00f9f826854635ef7c708cae0196a10c41804881ec5f3fa68f35415eaf3073efe4a6dae79fd965 SHA512 051325815cbea5de0ecc001c5c7d30156dce016082a92ec038f0298de24d8fde4b07b506d82567c3ae932b98466fed13da1cf790c98956f73c37a277ab1ca5fe
EBUILD subversion-1.13.0-r1.ebuild 15517 BLAKE2B 37fb4df30ad8bc2d1c7d1722967b444f94229144b781b7b5a496d712454bb14d1fa76e012a52725f179839829737b6b490757a71d002b23369a79f1175971053 SHA512 fe4f479654730ba2e407329f5c43376a96d1f8d1d091949ef52dccbec04982f7969c67991fae91df259b6829bc3c82aa57f3ee08833d0d4a04992387de504261
EBUILD subversion-1.13.0-r1.ebuild 15516 BLAKE2B f105a01fb72043da0626f10590a4b0bf2407aeb4f42b413cdca2d7e046b772dcf53df3753ef7efc721f9f7b56b8454f7e731fb8c758166555834bfc1ea1f22e5 SHA512 9a15888f1039fca9366c91e485bf858b54765bb0cacb147a8e768f14cbbf49914035c24e64ce932aa561804dd5aea4ccdb8d3bc2ba738c7b5bffde0461cfa67d
MISC metadata.xml 575 BLAKE2B 10cda26a50a50e6ac6b16d578d1a3856f88ac12b56ac6ff1768c4a0e0240b2e6abea6b1f66a6ea7d3f817e75eb9e2d5e14999ad2ba330b55784ec5028781b994 SHA512 f2a6ff822a11d452c133aca4abeb1ffb214d946c7e706d1caa269564c4dc55374c17449a4912df54b12ce562d66058baf2e710f3e9e46ca3602e9d8483555584

@ -21,7 +21,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="Subversion GPL-2"
SLOT="0"
[[ "${PV}" = *_rc* ]] || \
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
IUSE="apache2 berkdb ctypes-python debug doc +dso extras gnome-keyring +http java kwallet nls perl python ruby sasl test vim-syntax"
RESTRICT="!test? ( test )"

Binary file not shown.

@ -139,6 +139,7 @@ kernel-install_update_symlink() {
else
local symlink_target=$(readlink "${target}")
local symlink_ver=${symlink_target#${target##*/}-}
local updated=
if [[ ${symlink_target} == ${target##*/}-* && \
-z ${symlink_ver//[0-9.]/} ]]
then
@ -151,8 +152,14 @@ kernel-install_update_symlink() {
ebegin "Updating ${target} symlink"
ln -f -n -s "${target##*/}-${version}" "${target}"
eend ${?}
updated=1
fi
fi
if [[ ! ${updated} ]]; then
elog "${target} points at another kernel, leaving it as-is."
elog "Please use 'eselect kernel' to update it when desired."
fi
fi
}

Binary file not shown.

@ -6,6 +6,6 @@ DIST scrot_0.8-13.debian.tar.gz 7943 BLAKE2B 6c58c76f3a8dcf61a8ca4c31f5845cb27b4
DIST scrot_0.8.orig.tar.gz 74324 BLAKE2B 56facc81c29f101279ffc6d5d323a0cecd32b1ff6d1d4bb2052a90703353a9ad5b6ab46c8840ed20834f976badab4258fbb0f031645d9689eef1b838ebd4b1a0 SHA512 cba8f589e45758ddbfe4e276399a1ecb0dbe29569be5d85d97733e7f64de2911bd2d03e62700ad0c718a1fc886c2e3def9dee1de5cac884f9e65e772cebe838c
EBUILD scrot-0.8_p13-r1.ebuild 975 BLAKE2B 4f0920e23cada110c426fcd1ef874379f8ae3d9ed272dc5fd8a8cc4ffa0253066ee1f26428cad4d771bc5875fc205daea8d3e5fa381a204e5d13edcec2bab881 SHA512 b26b4f5aaa5a522a602404197697b17cd04d53d23229c7d1078e851400019c2fc506b96ba72b6aa36c9fe084711c67b9a57f4b75113e0b3ebb64289fd03fbf75
EBUILD scrot-1.2.ebuild 920 BLAKE2B b00fcbdf7665347b42716ce8ab78b8f6965f90b4b1f1a88acd2fffacd2978145208965afd206012c837ab22126ba7e78990b8760c5a58cccef373d2715991918 SHA512 341f2fbb5f4824b38d4c42e18929173cad358faf4b9b475d0c735ddc1a681962019c3a8a35892c5120afc42895ac1ac654c1faeb7a7fee5010725a61251bc7cd
EBUILD scrot-1.3.ebuild 923 BLAKE2B ee72990763af82704a92365c5ce74d9c23c9f5a6dc9f912636f93d57c2f0d6f07221f3da05a239b63f54c033af80376b1b371ea18ac1a51778964df3a73aab3e SHA512 85fcdaee1afc85db083bf0f4db2529adcbf03a2fdcc6626b7ee39a688d062de913f1a2c34c21fbe08129c5a21567b256d71483693b2ec62feb700ad7585c29e1
EBUILD scrot-9999.ebuild 845 BLAKE2B 1f1a89cab451044255c8d772f3d906cf56ac764bad4a7ce5c1781e6945f7554faa4183f720f3408e20154625da3e571abb8295149b7a8d247a14648bd7e3ed93 SHA512 e259a61e4c430977f8d2d9ada66489454279b80f718d57d5a332026ca89c483b19a4bbdfe44d4e54163d02bdf9897e3f96b0d1b118021d99402915cdcfe50305
EBUILD scrot-1.3-r1.ebuild 971 BLAKE2B f4daabaf37c8e2d6ea724d1b96f12928b4f5ece6301a0fa44dcffbbfdf00d4b213f56b5b066116b64eb45bb78100c9b9fd2fb451e2e8d9da664b9624c7f67c63 SHA512 552252c5ca01774197b34dd862a458399004f5be2f78b5d889176c0ebf072b05b08cfa842953205dc64da4ed3d4d011f81fb964a071992ea5b772c0ae69fcacd
EBUILD scrot-9999.ebuild 893 BLAKE2B b294cc0496f809a4066f2ddc84687a71b0dc5967dc09460e1dc1477f1d0a519051da24f6504afbdd2d57d66377e8d07178356c261fff7d7a9233b1d6795a1ef7 SHA512 10ee5b7d2afce6b7cf006575b25c71727854899032591725a22c9594e33821ceb2294398153eec59e5e7ff826b0f570e70ff676c5b0f292ea87ae3d6654eb00d
MISC metadata.xml 327 BLAKE2B 44a3d3f80ed251d0864c6aabb7192146c942a2bab99a4e643189eb74445c52a92fc153e4f198b591e628697df09774a2576cf5678a58774295c881eda04e33ad SHA512 bed8805eb922c213b73629ec8c430a7825ec1451edcd332fffeaef9b855b71b9e57e490775fe462ef2234ad9b534a23f19a373f0f2131d84ff2f965b8a2ed25a

@ -33,6 +33,7 @@ DOCS=(
)
src_prepare() {
sed -i -e 's#-g -O3##g' src/Makefile.am || die
default
eautoreconf
}

@ -33,6 +33,7 @@ DOCS=(
)
src_prepare() {
sed -i -e 's#-g -O3##g' src/Makefile.am || die
default
eautoreconf
}

Binary file not shown.

@ -1 +1 @@
Wed, 29 Apr 2020 06:09:00 +0000
Wed, 29 Apr 2020 09:09:01 +0000

@ -2,22 +2,22 @@
Hash: SHA512
MANIFEST Manifest.files.gz 462857 BLAKE2B 946d94af9fbc04f879448aa3554dc66cf3160c31567ad6e4bc36a23fbbf6a0fd587393b6f8517a799fcb93fe4a18fa55b50feb5be36b5c147bfa5d3fbb6f82e7 SHA512 346d90945a76ef9df93743c23536876cb2d6c9e85aa49567b77c56c29fcc69ac2485b18ee086f1a53eb51f34f10065719b6dd025fa1ecb36ed0164e0cd6a6bc6
TIMESTAMP 2020-04-29T06:09:03Z
TIMESTAMP 2020-04-29T09:09:04Z
-----BEGIN PGP SIGNATURE-----
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAl6pGf9fFIAAAAAALgAo
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAl6pRDBfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
klDcww/7Bf/i1NiaROFNQJojVfIuLUgCLmV0mSKYxhGynVrVZIgn7IjD7RK0fGJc
8WPFkL7jQQe/grDJ+NeJmQ7IkprTXvzRoaekyhGQxHlyedpm43VDZBsBxZOSeSq1
XkxBL9D+krWhQi/J/w5yW7dvby1YGvDPCHW+CA9CYgb6Xkd5fkJzJpnqww0OZJL1
aU9wwdu8rmmgoatHl0O1q3nEsWi+OwPL7ohwtek/9vVybENL2xB5tyq2EmFL8nSY
KO0f1vF+Qk7PpysRFQg9uPGjPlaYegP9n1VQSz6eHq3EdSgoxcgRwxDWoMG8eNwg
lGLs7UrjfGJmRzlPsgSpajK5g/xoUwJ3yaa/0TeNYKb4AEQUWAEqOsF1L0gYdTmv
4QLIqDWJodehrG+jZ9KwTLtZKSKpiyzDkSBn1sQArAIX1P1vyNafxh9x/5cEQAgW
nkBkzFSq9ar3T4I5Zv8IugZt4MkqngT5n35HCDmw4TsZ4KpZpJOvONncLhydWB9w
R7TGkPVpw42kD+h7XYMEW5JgwkG7cevdKJRFnOMEy/2e87SvwQuHwrbZtMuzt4ER
qDP1GfbOcrDWmkciWLYEYCwORQL+ftM3J8gpLJo+jMCt+YguLpxMuWa4IazxeOW5
I0ir8h2ZK5cLiNAEMA1ef9tc1BPpIItXA1plE3c0L/WdQ+vA+h0=
=wBw5
klAusA//RPK/OVv4O5Qf52sXVPAEDkSo31FA8JhJ9Y07OwKYWmzPOnYxBVV7woE2
fMu8uen89K61Us8ip+mdALy28YPf9J/MiI+a9mIsJH9KkmAMbBNMS9oo5hY5AHtD
yNBd4ASKnbCXmm1qhOsLnkDH4O89wRtLR87WRqjDf165KVCGTPymACIvg96zsgBx
mS29LyzV9AnMNdV4TtKXo61UvkhC6TOy1JhjS4+5nvO0T7qYKKTgTLRRH26YIBjI
6ULXR22wR1bIx01aSX0woIEzDZuI9yTP/bGXGIUqoDEN8EzmBtq8YHILKUlhFHHE
F5w4jWdYfDYQn15xTi2grlxB6ADW6OFQrTIT9OEVIJGiyiO55ftjoaRwnRcUrUig
SwEYbIeOVpldktWxfbZTI6bzr99WFBXebsUI23M6oqeS8vzAvEkFkclNpK5N0Nsd
lL6EOlwvjvqoXFOrpzSFnMGUt77YdqcLQBQ46R04ROkWxRoof8eA3vAohC0ReBu2
bDtmURz7aK9MafAPuzd2SspO2U8GpVSG89VnQAcnxqxodxHhjvDbrOEK6AbNcpEV
tHvulsR8K8VuJsXq9evohqEo0iXjmNRrYPuJ2CFB+3TH+KN3MLCNOPnZd8RXWZBs
uECK/G/TRtoyYCRYWJHlLn0mKAYwLubhLOhsuhr8GwbJ+VF4vP0=
=KzKm
-----END PGP SIGNATURE-----

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save