diff --git a/Manifest.files.gz b/Manifest.files.gz index 49e7ef281426..86f9178c416a 100644 Binary files a/Manifest.files.gz and b/Manifest.files.gz differ diff --git a/dev-java/Manifest.gz b/dev-java/Manifest.gz index b8d368412852..367780e8898a 100644 Binary files a/dev-java/Manifest.gz and b/dev-java/Manifest.gz differ diff --git a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.242_p08.ebuild b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.242_p08-r1.ebuild similarity index 98% rename from dev-java/openjdk-jre-bin/openjdk-jre-bin-8.242_p08.ebuild rename to dev-java/openjdk-jre-bin/openjdk-jre-bin-8.242_p08-r1.ebuild index c01f117d1d4e..512f8678a758 100644 --- a/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.242_p08.ebuild +++ b/dev-java/openjdk-jre-bin/openjdk-jre-bin-8.242_p08-r1.ebuild @@ -72,7 +72,7 @@ src_install() { rm -v lib/security/cacerts || die dosym ../../../../../etc/ssl/certs/java/cacerts \ - "${dest}"/jre/lib/security/cacerts + "${dest}"/lib/security/cacerts dodir "${dest}" cp -pPR * "${ddest}" || die diff --git a/dev-util/Manifest.gz b/dev-util/Manifest.gz index 1e8f56efbfe1..664d3a3b0d55 100644 Binary files a/dev-util/Manifest.gz and b/dev-util/Manifest.gz differ diff --git a/dev-util/geany-plugins/Manifest b/dev-util/geany-plugins/Manifest index 26f722c91c29..5343c304284a 100644 --- a/dev-util/geany-plugins/Manifest +++ b/dev-util/geany-plugins/Manifest @@ -1,4 +1 @@ -DIST geany-plugins-1.30.tar.gz 4469990 BLAKE2B 3cb8434765667814dc95227a82bdf204b2f918c951de8d5d9b56549c3fc343e1fe1c3e225d9f907da6b3227440dbdad09d0318d2738c213640a4629e9f7b42fe SHA512 11dc44215aaa369831c249ef84b5dd0ee7eecdfbbf4707fc6165d78201e9e755447463c171ac6c8b2bc70df28a97b23762073ab9b31f7c33285d4728089da807 -DIST geany-plugins-1.34.tar.gz 4640059 BLAKE2B f6a2e001db42e348c129b503fd969f142fecbaa06a10bd220d348f70e6af087a0a856a403bdf866f65fdff02889fa03a2f3a662be3efad0a17401266ab883bcf SHA512 31d25e9b0946b7feeae40b81c4e0c177568cc161c24bfa1c8271dda1c15a44e86f5de9b5992a4acde6cfafe2924a1cc22e95c7b6fb253e8a358931fa5f8ecca3 -DIST geany-plugins-1.35.tar.gz 4656963 BLAKE2B c7c96c7bbd1d17083f75a90eaa741277626db8aeb693cb78d3fcca57136923c58eba1755cc55263d431ff7a992e22b365f91be5e424b4f02eb25299ae3d3cd93 SHA512 9fedb4237096d939919fa40c39a7d19debb19211260a2797b5566c555052dcd8bf9a31a694d057f1dcded794bc75883d0007f8dd9427e3d899434fbf0e8a8e9f DIST geany-plugins-1.36.tar.gz 4693634 BLAKE2B a7c319a77cb92a55a0a53063ab75d9375f7d2a0e419eb3e0acd063b8fda4b4d9798c103ce53b80090c73bd86804c58f815aaf8d0eecc0d7fbf7ad1c8470cb9b5 SHA512 b3e58b42432d17c27289fa20d10b833a2d7f5d8c72b51abe5b1ebdabcb952b18e0984b15ef6ac9753102d839f3174f28798269e1e94bf032bdaa189e98d72b2d diff --git a/dev-util/geany-plugins/geany-plugins-1.30.ebuild b/dev-util/geany-plugins/geany-plugins-1.30.ebuild deleted file mode 100644 index 1be8931d4024..000000000000 --- a/dev-util/geany-plugins/geany-plugins-1.30.ebuild +++ /dev/null @@ -1,146 +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 eutils ltprune python-single-r1 vala - -DESCRIPTION="A collection of different plugins for Geany" -HOMEPAGE="https://plugins.geany.org" -SRC_URI="https://plugins.geany.org/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm ppc ppc64 ~sparc x86" - -IUSE="gtk3 +autoclose +automark +commander ctags debugger +defineformat enchant git gpg gtkspell lua multiterm nls +overview python scope soup" -REQUIRED_USE=" - gtk3? ( !debugger !multiterm !python !scope ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -GTK_COMMON_DEPEND=" - gtk3? ( x11-libs/gtk+:3 ) - !gtk3? ( x11-libs/gtk+:2 ) -" -COMMON_DEPEND=" - >=dev-util/geany-1.26[gtk3=] - dev-libs/glib:2 - dev-libs/libxml2:2 - autoclose? ( ${GTK_COMMON_DEPEND} ) - commander? ( ${GTK_COMMON_DEPEND} ) - ctags? ( dev-util/ctags ) - debugger? ( x11-libs/vte:0 ) - defineformat? ( ${GTK_COMMON_DEPEND} ) - enchant? ( app-text/enchant:0 ) - git? ( dev-libs/libgit2:= ) - gpg? ( app-crypt/gpgme:1= ) - gtkspell? ( - gtk3? ( app-text/gtkspell:3= ) - !gtk3? ( app-text/gtkspell:2 ) - ) - lua? ( dev-lang/lua:0= ) - multiterm? ( - $(vala_depend) - x11-libs/gtk+:2 - >=x11-libs/vte-0.28:0 - ) - python? ( - $(python_gen_cond_dep ' - dev-python/pygtk[${PYTHON_MULTI_USEDEP}] - ') - ${PYTHON_DEPS} - ) - scope? ( x11-libs/vte:0 ) - soup? ( net-libs/libsoup:2.4 ) -" -RDEPEND="${COMMON_DEPEND} - scope? ( sys-devel/gdb ) -" -DEPEND="${COMMON_DEPEND} - nls? ( sys-devel/gettext ) - virtual/pkgconfig -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - # bundled lib buster - rm markdown/peg-markdown/markdown_lib.c || die - # devhelp plugin bundles devhelp - - default - - use multiterm && vala_src_prepare -} - -src_configure() { - local myeconfargs=( - --disable-cppcheck - --disable-extra-c-warnings - $(use_enable !gtk3 geanydoc) - # GeanyGenDoc requires ctpl which isn’t yet in portage - --disable-geanygendoc - # peg-markdown is bundled, use app-text/discount instead - --disable-peg-markdown - --enable-addons - --enable-codenav - --enable-geanyextrasel - --enable-geanyinsertnum - --enable-geanylatex - --enable-geanymacro - --enable-geanynumberedbookmarks - --enable-geanyprj - --enable-geanyvc - --enable-lineoperations - --enable-lipsum - --enable-pairtaghighlighter - --enable-pohelper - --enable-pretty-printer - --enable-projectorganizer - --enable-sendmail - --enable-shiftcolumn - --enable-tableconvert - --enable-treebrowser - --enable-xmlsnippets - $(use_enable autoclose) - $(use_enable automark) - $(use_enable commander) - $(use_enable ctags geanyctags) - $(use_enable debugger) - $(use_enable defineformat) - $(use_enable enchant spellcheck) - $(use_enable git gitchangebar) - $(use_enable gpg geanypg) - $(use_enable gtkspell) - $(use_enable multiterm) - $(use_enable lua geanylua) - $(use_enable nls) - $(use_enable overview) - $(use_enable python geanypy) - $(use_enable scope) - # Having updatechecker… when you’re using a package manager? - $(use_enable soup updatechecker) - $(use_enable soup geniuspaste) - # Relies on obsolete and vulnerable webkit-gtk versions - --disable-devhelp - --disable-markdown - --disable-webhelper - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - prune_libtool_files --modules - - # make installs all translations if LINGUAS is empty - if [[ -n "${LINGUAS+x}" && -z "$LINGUAS" ]]; then - rm -r "${D}/usr/share/locale/" || die - fi -} diff --git a/dev-util/geany-plugins/geany-plugins-1.34-r1.ebuild b/dev-util/geany-plugins/geany-plugins-1.34-r1.ebuild deleted file mode 100644 index 31efe8b38150..000000000000 --- a/dev-util/geany-plugins/geany-plugins-1.34-r1.ebuild +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) - -inherit python-single-r1 vala - -DESCRIPTION="A collection of different plugins for Geany" -HOMEPAGE="https://plugins.geany.org" -SRC_URI="https://plugins.geany.org/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha amd64 arm ppc ppc64 ~sparc x86" - -IUSE="+gtk3 ctags debugger enchant git gpg gtkspell lua markdown multiterm nls pretty-printer python scope soup" -REQUIRED_USE=" - gtk3? ( !debugger !multiterm !python ) - !gtk3? ( !markdown ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -COMMON_DEPEND=" - dev-libs/glib:2 - >=dev-util/geany-1.34[gtk3=] - gtk3? ( x11-libs/gtk+:3 ) - !gtk3? ( x11-libs/gtk+:2 ) - ctags? ( dev-util/ctags ) - debugger? ( x11-libs/vte:0 ) - enchant? ( app-text/enchant:= ) - git? ( dev-libs/libgit2:= ) - gpg? ( app-crypt/gpgme:1= ) - gtkspell? ( - gtk3? ( app-text/gtkspell:3= ) - !gtk3? ( app-text/gtkspell:2 ) - ) - lua? ( dev-lang/lua:0= ) - markdown? ( - app-text/discount - net-libs/webkit-gtk - ) - multiterm? ( - $(vala_depend) - >=x11-libs/vte-0.28:0 - ) - pretty-printer? ( dev-libs/libxml2:2 ) - python? ( - $(python_gen_cond_dep ' - dev-python/pygtk[${PYTHON_MULTI_USEDEP}] - ') - ${PYTHON_DEPS} - ) - scope? ( - gtk3? ( x11-libs/vte:2.91 ) - !gtk3? ( x11-libs/vte:0 ) - ) - soup? ( net-libs/libsoup:2.4 ) -" -RDEPEND="${COMMON_DEPEND} - scope? ( sys-devel/gdb ) -" -DEPEND="${COMMON_DEPEND}" -BDEPEND="virtual/pkgconfig - nls? ( sys-devel/gettext ) -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - use multiterm && vala_src_prepare -} - -src_configure() { - local myeconfargs=( - --disable-cppcheck - --disable-extra-c-warnings - $(use_enable nls) - --enable-utilslib - # Plugins - --enable-addons - --enable-autoclose - --enable-automark - --enable-codenav - --enable-commander - --enable-defineformat - --enable-geanyextrasel - --enable-geanyinsertnum - --enable-geanymacro - --enable-geanyminiscript - --enable-geanynumberedbookmarks - --enable-geanyprj - --enable-geanyvc $(use_enable gtkspell) - --enable-keyrecord - --enable-latex - --enable-lineoperations - --enable-lipsum - --enable-overview - --enable-pairtaghighlighter - --enable-pohelper - --enable-projectorganizer - --enable-sendmail - --enable-shiftcolumn - --enable-tableconvert - --enable-treebrowser - --enable-vimode - --enable-workbench - --enable-xmlsnippets - $(use_enable debugger) - $(use_enable ctags geanyctags) - $(use_enable !gtk3 geanydoc) - $(use_enable lua geanylua) - $(use_enable gpg geanypg) - $(use_enable python geanypy) - $(use_enable soup geniuspaste) - $(use_enable git gitchangebar) - $(use_enable markdown) --disable-peg-markdown # using app-text/discount instead - $(use_enable multiterm) - $(use_enable pretty-printer) - $(use_enable scope) - $(use_enable enchant spellcheck) - # Having updatechecker… when you’re using a package manager? - $(use_enable soup updatechecker) - # GeanyGenDoc requires ctpl which isn’t yet in portage - --disable-geanygendoc - # Require obsolete and vulnerable webkit-gtk versions - --disable-devhelp - --disable-webhelper - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - find "${D}" -name '*.la' -delete || die - - # make installs all translations if LINGUAS is empty - if [[ -z "${LINGUAS-x}" ]]; then - rm -r "${ED}/usr/share/locale/" || die - fi -} diff --git a/dev-util/geany-plugins/geany-plugins-1.35.ebuild b/dev-util/geany-plugins/geany-plugins-1.35.ebuild deleted file mode 100644 index f81c2e65cbbb..000000000000 --- a/dev-util/geany-plugins/geany-plugins-1.35.ebuild +++ /dev/null @@ -1,147 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) - -inherit python-single-r1 vala - -DESCRIPTION="A collection of different plugins for Geany" -HOMEPAGE="https://plugins.geany.org" -SRC_URI="https://plugins.geany.org/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86" - -IUSE="+gtk3 ctags debugger enchant git gpg gtkspell lua markdown multiterm nls pretty-printer python scope soup" -REQUIRED_USE=" - gtk3? ( !debugger !multiterm !python ) - !gtk3? ( !markdown ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -DEPEND=" - dev-libs/glib:2 - >=dev-util/geany-1.35[gtk3=] - gtk3? ( x11-libs/gtk+:3 ) - !gtk3? ( x11-libs/gtk+:2 ) - ctags? ( dev-util/ctags ) - debugger? ( x11-libs/vte:0 ) - enchant? ( app-text/enchant:= ) - git? ( dev-libs/libgit2:= ) - gpg? ( app-crypt/gpgme:1= ) - gtkspell? ( - gtk3? ( app-text/gtkspell:3= ) - !gtk3? ( app-text/gtkspell:2 ) - ) - lua? ( dev-lang/lua:0= ) - markdown? ( - app-text/discount - net-libs/webkit-gtk:4 - ) - multiterm? ( - $(vala_depend) - >=x11-libs/vte-0.28:0 - ) - pretty-printer? ( dev-libs/libxml2:2 ) - python? ( - $(python_gen_cond_dep ' - dev-python/pygtk[${PYTHON_MULTI_USEDEP}] - ') - ${PYTHON_DEPS} - ) - scope? ( - gtk3? ( x11-libs/vte:2.91 ) - !gtk3? ( x11-libs/vte:0 ) - ) - soup? ( net-libs/libsoup:2.4 ) -" -RDEPEND="${DEPEND} - scope? ( sys-devel/gdb ) -" -BDEPEND="virtual/pkgconfig - nls? ( sys-devel/gettext ) -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - use multiterm && vala_src_prepare -} - -src_configure() { - local myeconfargs=( - --disable-cppcheck - --disable-extra-c-warnings - $(use_enable nls) - --enable-utilslib - # Plugins - --enable-addons - --enable-autoclose - --enable-automark - --enable-codenav - --enable-commander - --enable-defineformat - --enable-geanyextrasel - --enable-geanyinsertnum - --enable-geanymacro - --enable-geanyminiscript - --enable-geanynumberedbookmarks - --enable-geanyprj - --enable-geanyvc $(use_enable gtkspell) - --enable-keyrecord - --enable-latex - --enable-lineoperations - --enable-lipsum - --enable-overview - --enable-pairtaghighlighter - --enable-pohelper - --enable-projectorganizer - --enable-sendmail - --enable-shiftcolumn - --enable-tableconvert - --enable-treebrowser - --enable-vimode - --enable-workbench - --enable-xmlsnippets - $(use_enable debugger) - $(use_enable ctags geanyctags) - $(use_enable !gtk3 geanydoc) - $(use_enable lua geanylua) - $(use_enable gpg geanypg) - $(use_enable python geanypy) - $(use_enable soup geniuspaste) - $(use_enable git gitchangebar) - $(use_enable markdown) --disable-peg-markdown # using app-text/discount instead - $(use_enable multiterm) - $(use_enable pretty-printer) - $(use_enable scope) - $(use_enable enchant spellcheck) - # Having updatechecker… when you’re using a package manager? - $(use_enable soup updatechecker) - # GeanyGenDoc requires ctpl which isn’t yet in portage - --disable-geanygendoc - # Require obsolete and vulnerable webkit-gtk versions - --disable-devhelp - --disable-webhelper - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - find "${D}" -name '*.la' -delete || die - - # make installs all translations if LINGUAS is empty - if [[ -z "${LINGUAS-x}" ]]; then - rm -r "${ED}/usr/share/locale/" || die - fi -} diff --git a/dev-util/geany-plugins/geany-plugins-1.36-r1.ebuild b/dev-util/geany-plugins/geany-plugins-1.36-r1.ebuild deleted file mode 100644 index d893f9de3ae9..000000000000 --- a/dev-util/geany-plugins/geany-plugins-1.36-r1.ebuild +++ /dev/null @@ -1,153 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python2_7 ) - -inherit python-single-r1 vala - -DESCRIPTION="A collection of different plugins for Geany" -HOMEPAGE="https://plugins.geany.org" -SRC_URI="https://plugins.geany.org/${PN}/${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~arm ~ppc ~sparc ~x86" - -IUSE="+gtk3 ctags debugger enchant git gpg gtkspell lua markdown multiterm nls pretty-printer python scope soup workbench" -REQUIRED_USE=" - gtk3? ( !multiterm !python ) - !gtk3? ( !markdown ) - python? ( ${PYTHON_REQUIRED_USE} ) -" - -DEPEND=" - dev-libs/glib:2 - >=dev-util/geany-1.35[gtk3=] - gtk3? ( x11-libs/gtk+:3 ) - !gtk3? ( x11-libs/gtk+:2 ) - ctags? ( dev-util/ctags ) - debugger? ( - gtk3? ( x11-libs/vte:2.91 ) - !gtk3? ( x11-libs/vte:0 ) - ) - enchant? ( app-text/enchant:= ) - git? ( dev-libs/libgit2:= ) - gpg? ( app-crypt/gpgme:1= ) - gtkspell? ( - gtk3? ( app-text/gtkspell:3= ) - !gtk3? ( app-text/gtkspell:2 ) - ) - lua? ( dev-lang/lua:0= ) - markdown? ( - app-text/discount - net-libs/webkit-gtk:4 - ) - multiterm? ( - $(vala_depend) - >=x11-libs/vte-0.28:0 - ) - pretty-printer? ( dev-libs/libxml2:2 ) - python? ( - $(python_gen_cond_dep ' - dev-python/pygtk[${PYTHON_MULTI_USEDEP}] - ') - ${PYTHON_DEPS} - ) - scope? ( - gtk3? ( x11-libs/vte:2.91 ) - !gtk3? ( x11-libs/vte:0 ) - ) - soup? ( net-libs/libsoup:2.4 ) - workbench? ( dev-libs/libgit2:= ) -" -RDEPEND="${DEPEND} - scope? ( sys-devel/gdb ) -" -BDEPEND="virtual/pkgconfig - nls? ( sys-devel/gettext ) -" - -PATCHES=( "${FILESDIR}"/${P}-libgit2-0.99.patch ) - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - default - - use multiterm && vala_src_prepare -} - -src_configure() { - local myeconfargs=( - --disable-cppcheck - --disable-extra-c-warnings - $(use_enable nls) - --enable-utilslib - # Plugins - --enable-addons - --enable-autoclose - --enable-automark - --enable-codenav - --enable-commander - --enable-defineformat - --enable-geanyextrasel - --enable-geanyinsertnum - --enable-geanymacro - --enable-geanyminiscript - --enable-geanynumberedbookmarks - --enable-geanyprj - --enable-geanyvc $(use_enable gtkspell) - --enable-keyrecord - --enable-latex - --enable-lineoperations - --enable-lipsum - --enable-overview - --enable-pairtaghighlighter - --enable-pohelper - --enable-projectorganizer - --enable-sendmail - --enable-shiftcolumn - --enable-tableconvert - --enable-treebrowser - --enable-vimode - --enable-xmlsnippets - $(use_enable debugger) - $(use_enable ctags geanyctags) - $(use_enable !gtk3 geanydoc) - $(use_enable lua geanylua) - $(use_enable gpg geanypg) - $(use_enable python geanypy) - $(use_enable soup geniuspaste) - $(use_enable git gitchangebar) - $(use_enable markdown) --disable-peg-markdown # using app-text/discount instead - $(use_enable multiterm) - $(use_enable pretty-printer) - $(use_enable scope) - $(use_enable enchant spellcheck) - # Having updatechecker… when you’re using a package manager? - $(use_enable soup updatechecker) - $(use_enable workbench) - # GeanyGenDoc requires ctpl which isn’t yet in portage - --disable-geanygendoc - # Require obsolete and vulnerable webkit-gtk versions - --disable-devhelp - --disable-webhelper - ) - - econf "${myeconfargs[@]}" -} - -src_install() { - default - - find "${D}" -name '*.la' -delete || die - - # make installs all translations if LINGUAS is empty - if [[ -z "${LINGUAS-x}" ]]; then - rm -r "${ED}/usr/share/locale/" || die - fi -} diff --git a/dev-util/geany-plugins/metadata.xml b/dev-util/geany-plugins/metadata.xml index 682ca11a03c8..6a11d0ae3243 100644 --- a/dev-util/geany-plugins/metadata.xml +++ b/dev-util/geany-plugins/metadata.xml @@ -11,18 +11,12 @@ Use GTK+3 instead of GTK+2 - Enable the autoclose plugin. - Enable the automark plugin - Enable the commander plugin which provides a command panel for rapid access to any action. Enable ctags plugin Enable the debugger plugin which interfaces with sys-devel/gdb - Enable the defineformat plugin. Enable spell checking using enchant Enable geanypg plugin which integrates GPG using app-crypt/gpgme Use gtkspell for dictionary support in GeanyVC Enable the markdown plugin - Enable the multiterm plugin - Enable overview plugin Enable pretty-printer plugin Enable the scope plugin which is a graphical GDB front-end Enable updatechecker and geniuspaste plugins which require net-libs/libsoup diff --git a/dev-util/geany/Manifest b/dev-util/geany/Manifest index b8bdbac59660..7d32a8d8541d 100644 --- a/dev-util/geany/Manifest +++ b/dev-util/geany/Manifest @@ -1,4 +1 @@ -DIST geany-1.30.1.tar.bz2 4352154 BLAKE2B 6efceb21e07aba3b0698196543746e926d6a73ef5d5f560467eee18a7b9ade4ce0ce37808176922b3399ea8a72b2f281af313a9f57aa325e1a9cb964f0f1c34e SHA512 55fb446b0c517ccee4d2f3023334b96a336788422a4dc41207a4f290c5d4b88df1eefa4b7f6fddf0567224f890ae7bea396306a935512f17e01682034f7200e3 -DIST geany-1.34.1.tar.bz2 4474211 BLAKE2B 25c9b3f752b0b19582120ea342d8029f811040ef433adb065aec028f0bcc0909ea1b0005445bae70a53cbb2b1d3bfe0c2dd9d9c25c5e3f89bcdedebc0a392301 SHA512 3e075b23b22682324e4a56046d238d9d0087d095a6157b98c342fbe40a2bfa7118f72cfe1f414d110fff1411e4cc9c33fff800e0a2e32f9f0e5fd7b6fb560c9a -DIST geany-1.35.tar.bz2 4593705 BLAKE2B 1d411da04a82987abccb33385d3b50025078b68dc2cc4accfb7822000a786b97f613a35864fde2389d0525b9547972d0e56699b75aae40686f0ad7e6e2beb4a6 SHA512 9ae2f168b1b5e9fa9029a32f5d1e9b591e50ea4e79041760524a4389572400c6f8f56f1fd6973299f152f9fd653cf3d52ca50136f0bbdbc15d3395bcf7388ccf DIST geany-1.36.tar.bz2 4644521 BLAKE2B 80eeceee31a49e9728a358904ad40e353d3407a22492340e6aa9a82091d32fa004f4494d3ae027732174e7cf7f6fae620b511680e06e58c5b71dd259125900c4 SHA512 15005772b64e8321d7fa8552363df425eb25e9d7b0760c561c8fb3f34d7acae2bf25da8e04fda38a2a1b64cc31ff613b7ff2786d432ff014050c138c7473c810 diff --git a/dev-util/geany/geany-1.30.1.ebuild b/dev-util/geany/geany-1.30.1.ebuild deleted file mode 100644 index 3786c41ed1cd..000000000000 --- a/dev-util/geany/geany-1.30.1.ebuild +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -inherit eutils fdo-mime gnome2-utils ltprune - -LANGS="ar ast be bg ca cs de el en_GB es et eu fa fi fr gl he hi hu id it ja kk ko lb lt mn nl nn pl pt pt_BR ro ru sk sl sr sv tr uk vi zh_CN ZH_TW" -NOSHORTLANGS="en_GB zh_CN zh_TW" - -DESCRIPTION="GTK+ based fast and lightweight IDE" -HOMEPAGE="https://www.geany.org" -SRC_URI="https://download.geany.org/${P}.tar.bz2" - -LICENSE="GPL-2+ HPND" -SLOT="0" -KEYWORDS="~alpha amd64 arm ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux" -IUSE="gtk3 +vte" - -RDEPEND=">=dev-libs/glib-2.32:2 - !gtk3? ( - >=x11-libs/gtk+-2.24:2 - vte? ( x11-libs/vte:0 ) - ) - gtk3? ( - >=x11-libs/gtk+-3.0:3 - vte? ( x11-libs/vte:2.91 ) - )" -DEPEND="${RDEPEND} - virtual/pkgconfig - dev-util/intltool - sys-devel/gettext" - -pkg_setup() { - strip-linguas ${LANGS} -} - -src_prepare() { - default - - # Syntax highlighting for Portage - sed -i -e "s:*.sh;:*.sh;*.ebuild;*.eclass;:" \ - data/filetype_extensions.conf || die -} - -src_configure() { - econf \ - $(use_enable gtk3) \ - $(use_enable vte) -} - -src_install() { - emake DESTDIR="${D}" DOCDIR="${ED}/usr/share/doc/${PF}" install - rm -f "${ED}"/usr/share/doc/${PF}/{COPYING,GPL-2,ScintillaLicense.txt} - prune_libtool_files --all -} - -pkg_preinst() { gnome2_icon_savelist; } - -pkg_postinst() { - fdo-mime_desktop_database_update - gnome2_icon_cache_update -} - -pkg_postrm() { - fdo-mime_desktop_database_update - gnome2_icon_cache_update -} diff --git a/dev-util/geany/geany-1.34.1.ebuild b/dev-util/geany/geany-1.34.1.ebuild deleted file mode 100644 index dee55101743f..000000000000 --- a/dev-util/geany/geany-1.34.1.ebuild +++ /dev/null @@ -1,80 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit eutils gnome2-utils xdg-utils - -LANGS="ar ast be bg ca cs de el en_GB es et eu fa fi fr gl he hi hu id it ja kk ko lb lt mn nl nn pl pt pt_BR ro ru sk sl sr sv tr uk vi zh_CN ZH_TW" -NOSHORTLANGS="en_GB zh_CN zh_TW" - -DESCRIPTION="GTK+ based fast and lightweight IDE" -HOMEPAGE="https://www.geany.org" -if [[ "${PV}" = 9999* ]] ; then - inherit autotools git-r3 - EGIT_REPO_URI="https://github.com/geany/geany.git" -else - SRC_URI="https://download.geany.org/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux" -fi -LICENSE="GPL-2+ HPND" -SLOT="0" - -IUSE="+gtk3 +vte" - -RDEPEND=">=dev-libs/glib-2.32:2 - !gtk3? ( - >=x11-libs/gtk+-2.24:2 - vte? ( x11-libs/vte:0 ) - ) - gtk3? ( - >=x11-libs/gtk+-3.0:3 - vte? ( x11-libs/vte:2.91 ) - )" -DEPEND="${RDEPEND} - virtual/pkgconfig - dev-util/intltool - sys-devel/gettext" - -pkg_setup() { - strip-linguas ${LANGS} -} - -src_prepare() { - default - - # Syntax highlighting for Portage - sed -i -e "s:*.sh;:*.sh;*.ebuild;*.eclass;:" \ - data/filetype_extensions.conf || die - - if [[ ${PV} = *_pre* ]] || [[ ${PV} = 9999* ]] ; then - eautoreconf - fi -} - -src_configure() { - local myeconfargs=( - --disable-html-docs - --disable-pdf-docs - $(use_enable gtk3) - $(use_enable vte) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - emake DESTDIR="${D}" install - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die -} - -pkg_preinst() { gnome2_icon_savelist; } - -pkg_postinst() { - gnome2_icon_cache_update - xdg_desktop_database_update -} - -pkg_postrm() { - gnome2_icon_cache_update - xdg_desktop_database_update -} diff --git a/dev-util/geany/geany-1.35.ebuild b/dev-util/geany/geany-1.35.ebuild deleted file mode 100644 index f8bb6955d661..000000000000 --- a/dev-util/geany/geany-1.35.ebuild +++ /dev/null @@ -1,82 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -# eutils required for strip-linguas -inherit eutils xdg - -LANGS="ar ast be bg ca cs de el en_GB es et eu fa fi fr gl he hi hu id it ja kk ko lb lt mn nl nn pl pt pt_BR ro ru sk sl sr sv tr uk vi zh_CN ZH_TW" -NOSHORTLANGS="en_GB zh_CN zh_TW" - -DESCRIPTION="GTK+ based fast and lightweight IDE" -HOMEPAGE="https://www.geany.org" -if [[ "${PV}" = 9999* ]] ; then - inherit autotools git-r3 - EGIT_REPO_URI="https://github.com/geany/geany.git" -else - [[ "${PV}" == *_pre* ]] && inherit autotools - SRC_URI="https://download.geany.org/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" -fi -LICENSE="GPL-2+ HPND" -SLOT="0" - -IUSE="+gtk3 +vte" - -RDEPEND=">=dev-libs/glib-2.32:2 - !gtk3? ( - >=x11-libs/gtk+-2.24:2 - vte? ( x11-libs/vte:0 ) - ) - gtk3? ( - >=x11-libs/gtk+-3.0:3 - vte? ( x11-libs/vte:2.91 ) - )" -DEPEND="${RDEPEND} - virtual/pkgconfig - dev-util/intltool - sys-devel/gettext" - -pkg_setup() { - strip-linguas ${LANGS} -} - -src_prepare() { - xdg_src_prepare #588570 - - # Syntax highlighting for Portage - sed -i -e "s:*.sh;:*.sh;*.ebuild;*.eclass;:" \ - data/filetype_extensions.conf || die - - if [[ ${PV} = *_pre* ]] || [[ ${PV} = 9999* ]] ; then - eautoreconf - fi -} - -src_configure() { - local myeconfargs=( - --disable-html-docs - --disable-pdf-docs - $(use_enable gtk3) - $(use_enable vte) - ) - econf "${myeconfargs[@]}" -} - -src_install() { - emake DESTDIR="${D}" install - find "${ED}" \( -name '*.a' -o -name '*.la' \) -delete || die -} - -pkg_preinst() { - xdg_pkg_preinst -} - -pkg_postinst() { - xdg_pkg_postinst -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/dev-vcs/Manifest.gz b/dev-vcs/Manifest.gz index bb671a60dabf..786b19ba78ff 100644 Binary files a/dev-vcs/Manifest.gz and b/dev-vcs/Manifest.gz differ diff --git a/dev-vcs/git/Manifest b/dev-vcs/git/Manifest index 4ae1c7225b02..464ac404642e 100644 --- a/dev-vcs/git/Manifest +++ b/dev-vcs/git/Manifest @@ -1,15 +1,27 @@ 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.24.1.tar.xz 5772304 BLAKE2B 45e49325221cd0407968b4e2ff7bcab7ea021863119ae29fec5c7a9ff10461b5af0ea05f587647c7d4965c38e25f1140f194be72ff5f1bea8851c0485effbfa2 SHA512 010c13d4023c142876d0e075a394b74bef422944d8ca602325d0b2b47bf28b1d534283c7f295751113c83fdfcc0c91f97090e8f906560d44b04a94607fd8fcf7 +DIST git-2.24.2.tar.xz 5772460 BLAKE2B 626ca95a675f4f1ae7ad49c7054ad85e0b14fde9230c4e9fc0408a028ea7c4b34243e73bb3364fd5ae4d25a3565ea54a090220e4ed3fe7fd05ea772ff09be6f3 SHA512 2860f9b09ccc1f17398fd5a122d37e3c9fc22a7921ff82f30c28fa58bc609e63f84bbb0a28849ad96680652911fbb1971bcd321b7fc9ff13a96bb27b23f726cc 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.26.0.tar.xz 6005104 BLAKE2B c112e51c32f36860e61e81fd3b540cf4eb3d126d28dd533472d6cafdb55f813df48df31ad06a3317224ea2b2b3a9ac3e02ca37d2364167878c7e2fc5fcc2e45e SHA512 bf8a832211782a9446d041a54da254f2586b894375191fb1a6dc7a6594856ca43230fa1ea804b54daceb68caa8d20c02bdbdbf7b2fa1761ce05a11a26b122a9b +DIST git-2.26.1.tar.xz 6006104 BLAKE2B a94075d995a6fe1682dd20a09c5deefbdf4859a809734d59da83df5e7d0d6e9a287313fd579c289e9e13208c74c9cf68919804dea037bdabed92087d17e5e7ee SHA512 1defa0d94e26e474abd47ec8a0c43c05152e10a5aca5f1aee7480ef0db9f5abd03275fefb7c4e0ee816199c87c0b2a13c164c5f7aa5ff36cafdacf27b3573785 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.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.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.26.0.tar.xz 1303968 BLAKE2B 7a0a7972e58d0be5beb8c4b507f5f7a868cd467f8a87c2bef61a2520876ca0c60353431fa689985dd623c2b54ce79dc89eaf46b99a559cf3d05cbf1fa7756544 SHA512 1fa037b21034121f161416a50f4913cd998a22226f796684b50e49f80a5e2cd7495dc7b4f16b608e556fda8acd2d66145669909fa4c1a4c4d3ba8096f2a0558e +DIST git-htmldocs-2.26.1.tar.xz 1304500 BLAKE2B b11e39075a206bfbe1c2244c40a24f0bd08424f1afba61f968433573eff7dbf949f78bf078467b13609d4cc8c22f714fc1d7b3f3369e588601982bc07b2d5cbf SHA512 b23163fe36f95d34a8f3bb5d89bf5b6c6d61441807a0d6b9bfa79fcb1bc08e74c4bfc03105984329349059ff8ac6c5aad2ae54f638cc49ef81b57cf00143be13 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.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.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.26.0.tar.xz 462092 BLAKE2B 1ad35195b41b399f9f7eb4c981947c0ef4430e669c456b1b3cad0073d2f680315dc11a6e434b1e17601502a16b10187f0ef5587b81a5c6e4bfe04ba8a3cdf976 SHA512 828bebfa5a2cf4558ca6bdd276cc251c6212ceba702418246f05b9f2d41d1c89908b7cd2f81179a1a2b0aca2dbf07ccba9903edd9dae3b5ad9ef6e80b9f50aeb +DIST git-manpages-2.26.1.tar.xz 462068 BLAKE2B 9dcacafb43cc2bdbb6e321addcdbe365a5d1051b374baf27324573a16b359a1294683079edd86b5a9fd82886a58c362bcb0a11f7fbb64e3f6ed4340d05b56413 SHA512 6a52e709b7a3382e45620be1d3517ef23dae6c3f4e68cdfe4f4580a36e591a5c43075d3b869b5dee1bb3253fc9334c0270548f2edc9fb75262169222fa653454 diff --git a/dev-vcs/git/git-2.23.2.ebuild b/dev-vcs/git/git-2.23.2.ebuild new file mode 100644 index 000000000000..d1d5bc4f4238 --- /dev/null +++ b/dev-vcs/git/git-2.23.2.ebuild @@ -0,0 +1,725 @@ +# 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_PTHREAD=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 +} diff --git a/dev-vcs/git/git-2.24.2.ebuild b/dev-vcs/git/git-2.24.2.ebuild new file mode 100644 index 000000000000..db2ca20707c2 --- /dev/null +++ b/dev-vcs/git/git-2.24.2.ebuild @@ -0,0 +1,728 @@ +# 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_PTHREAD=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 +} diff --git a/dev-vcs/git/git-2.25.3.ebuild b/dev-vcs/git/git-2.25.3.ebuild new file mode 100644 index 000000000000..db2ca20707c2 --- /dev/null +++ b/dev-vcs/git/git-2.25.3.ebuild @@ -0,0 +1,728 @@ +# 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_PTHREAD=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 +} diff --git a/dev-vcs/git/git-2.26.1.ebuild b/dev-vcs/git/git-2.26.1.ebuild new file mode 100644 index 000000000000..db2ca20707c2 --- /dev/null +++ b/dev-vcs/git/git-2.26.1.ebuild @@ -0,0 +1,728 @@ +# 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_PTHREAD=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 +} diff --git a/licenses/BlueOak-1.0.0 b/licenses/BlueOak-1.0.0 new file mode 100644 index 000000000000..c5402b9577a8 --- /dev/null +++ b/licenses/BlueOak-1.0.0 @@ -0,0 +1,55 @@ +# Blue Oak Model License + +Version 1.0.0 + +## Purpose + +This license gives everyone as much permission to work with +this software as possible, while protecting contributors +from liability. + +## Acceptance + +In order to receive this license, you must agree to its +rules. The rules of this license are both obligations +under that agreement and conditions to your license. +You must not do anything with this software that triggers +a rule that you cannot or will not follow. + +## Copyright + +Each contributor licenses you to do everything with this +software that would otherwise infringe that contributor's +copyright in it. + +## Notices + +You must ensure that everyone who gets a copy of +any part of this software from you, with or without +changes, also gets the text of this license or a link to +. + +## Excuse + +If anyone notifies you in writing that you have not +complied with [Notices](#notices), you can keep your +license by taking all practical steps to comply within 30 +days after the notice. If you do not do so, your license +ends immediately. + +## Patent + +Each contributor licenses you to do everything with this +software that would otherwise infringe any patent claims +they can license or become able to license. + +## Reliability + +No contributor can revoke this license. + +## No Liability + +***As far as the law allows, this software comes as is, +without any warranty or condition, and no contributor +will be liable to anyone for any damages related to this +software or this license, under any kind of legal claim.*** diff --git a/licenses/Manifest.gz b/licenses/Manifest.gz index 1cde3057b0f7..177b2931d211 100644 Binary files a/licenses/Manifest.gz and b/licenses/Manifest.gz differ diff --git a/metadata/Manifest.gz b/metadata/Manifest.gz index 25c737c488b6..9d0728a11250 100644 Binary files a/metadata/Manifest.gz and b/metadata/Manifest.gz differ diff --git a/metadata/dtd/timestamp.chk b/metadata/dtd/timestamp.chk index 850639740fff..bff7003f5dd1 100644 --- a/metadata/dtd/timestamp.chk +++ b/metadata/dtd/timestamp.chk @@ -1 +1 @@ -Tue, 14 Apr 2020 18:08:57 +0000 +Tue, 14 Apr 2020 20:08:59 +0000 diff --git a/metadata/glsa/timestamp.chk b/metadata/glsa/timestamp.chk index 796cf2b63a6f..bff7003f5dd1 100644 --- a/metadata/glsa/timestamp.chk +++ b/metadata/glsa/timestamp.chk @@ -1 +1 @@ -Tue, 14 Apr 2020 18:08:58 +0000 +Tue, 14 Apr 2020 20:08:59 +0000 diff --git a/metadata/md5-cache/Manifest.gz b/metadata/md5-cache/Manifest.gz index 05514f5605cb..b32139fe8ad9 100644 Binary files a/metadata/md5-cache/Manifest.gz and b/metadata/md5-cache/Manifest.gz differ diff --git a/metadata/md5-cache/dev-java/Manifest.gz b/metadata/md5-cache/dev-java/Manifest.gz index 62c509fe4ace..3286f2a4be25 100644 Binary files a/metadata/md5-cache/dev-java/Manifest.gz and b/metadata/md5-cache/dev-java/Manifest.gz differ diff --git a/metadata/md5-cache/dev-java/openjdk-jre-bin-8.242_p08 b/metadata/md5-cache/dev-java/openjdk-jre-bin-8.242_p08-r1 similarity index 97% rename from metadata/md5-cache/dev-java/openjdk-jre-bin-8.242_p08 rename to metadata/md5-cache/dev-java/openjdk-jre-bin-8.242_p08-r1 index d202de95002b..404ffb717ff6 100644 --- a/metadata/md5-cache/dev-java/openjdk-jre-bin-8.242_p08 +++ b/metadata/md5-cache/dev-java/openjdk-jre-bin-8.242_p08-r1 @@ -12,4 +12,4 @@ RESTRICT=preserve-libs splitdebug SLOT=8 SRC_URI=amd64? ( https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u242-b08/OpenJDK8U-jre_x64_linux_hotspot_8u242b08.tar.gz ) _eclasses_=eapi7-ver f9ec87e93172b25ce65a85303dc06964 java-vm-2 7cfcabfd055e69d3568103a4e0b0fae7 multilib 318e8ae683e57fd3ccd0d31a769d8ee8 pax-utils a41d1fd1c111289ffa04490de6ee79d7 prefix c2993e4c430c1ee24f278983d6189501 toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c xdg-utils ff2ff954e6b17929574eee4efc5152ba -_md5_=0754969451f7b2b5866bafbc4d17cbf5 +_md5_=9b1b18b90697f0c35841d61bb7443b44 diff --git a/metadata/md5-cache/dev-util/Manifest.gz b/metadata/md5-cache/dev-util/Manifest.gz index c8749492743f..79878e78100c 100644 Binary files a/metadata/md5-cache/dev-util/Manifest.gz and b/metadata/md5-cache/dev-util/Manifest.gz differ diff --git a/metadata/md5-cache/dev-util/geany-1.30.1 b/metadata/md5-cache/dev-util/geany-1.30.1 deleted file mode 100644 index 20545d2f88e3..000000000000 --- a/metadata/md5-cache/dev-util/geany-1.30.1 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=configure install postinst postrm preinst prepare setup -DEPEND=>=dev-libs/glib-2.32:2 !gtk3? ( >=x11-libs/gtk+-2.24:2 vte? ( x11-libs/vte:0 ) ) gtk3? ( >=x11-libs/gtk+-3.0:3 vte? ( x11-libs/vte:2.91 ) ) virtual/pkgconfig dev-util/intltool sys-devel/gettext -DESCRIPTION=GTK+ based fast and lightweight IDE -EAPI=6 -HOMEPAGE=https://www.geany.org -IUSE=gtk3 +vte -KEYWORDS=~alpha amd64 arm ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux -LICENSE=GPL-2+ HPND -RDEPEND=>=dev-libs/glib-2.32:2 !gtk3? ( >=x11-libs/gtk+-2.24:2 vte? ( x11-libs/vte:0 ) ) gtk3? ( >=x11-libs/gtk+-3.0:3 vte? ( x11-libs/vte:2.91 ) ) -SLOT=0 -SRC_URI=https://download.geany.org/geany-1.30.1.tar.bz2 -_eclasses_=desktop 7fd20552ce4cc97e8acb132a499a7dd8 epatch ed88001f77c6dd0d5f09e45c1a5b480e estack 686eaab303305a908fd57b2fd7617800 eutils fcb2aa98e1948b835b5ae66ca52868c5 fdo-mime 995b19d3f30e956b4e1bc5a91fdc4ea7 gnome2-utils 893e828f0f25f070f0b38d20c83c7670 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 318e8ae683e57fd3ccd0d31a769d8ee8 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba -_md5_=9c4356ecddc5e6c5b89487a27b7913e2 diff --git a/metadata/md5-cache/dev-util/geany-1.34.1 b/metadata/md5-cache/dev-util/geany-1.34.1 deleted file mode 100644 index 1886189802b9..000000000000 --- a/metadata/md5-cache/dev-util/geany-1.34.1 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=configure install postinst postrm preinst prepare setup -DEPEND=>=dev-libs/glib-2.32:2 !gtk3? ( >=x11-libs/gtk+-2.24:2 vte? ( x11-libs/vte:0 ) ) gtk3? ( >=x11-libs/gtk+-3.0:3 vte? ( x11-libs/vte:2.91 ) ) virtual/pkgconfig dev-util/intltool sys-devel/gettext -DESCRIPTION=GTK+ based fast and lightweight IDE -EAPI=6 -HOMEPAGE=https://www.geany.org -IUSE=+gtk3 +vte -KEYWORDS=~alpha amd64 arm ~ia64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux -LICENSE=GPL-2+ HPND -RDEPEND=>=dev-libs/glib-2.32:2 !gtk3? ( >=x11-libs/gtk+-2.24:2 vte? ( x11-libs/vte:0 ) ) gtk3? ( >=x11-libs/gtk+-3.0:3 vte? ( x11-libs/vte:2.91 ) ) -SLOT=0 -SRC_URI=https://download.geany.org/geany-1.34.1.tar.bz2 -_eclasses_=desktop 7fd20552ce4cc97e8acb132a499a7dd8 epatch ed88001f77c6dd0d5f09e45c1a5b480e estack 686eaab303305a908fd57b2fd7617800 eutils fcb2aa98e1948b835b5ae66ca52868c5 gnome2-utils 893e828f0f25f070f0b38d20c83c7670 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 318e8ae683e57fd3ccd0d31a769d8ee8 preserve-libs ef207dc62baddfddfd39a164d9797648 toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf xdg-utils ff2ff954e6b17929574eee4efc5152ba -_md5_=e16e03a0121ebc8096dcc6f6c9fccf89 diff --git a/metadata/md5-cache/dev-util/geany-1.35 b/metadata/md5-cache/dev-util/geany-1.35 deleted file mode 100644 index 94e3819024bc..000000000000 --- a/metadata/md5-cache/dev-util/geany-1.35 +++ /dev/null @@ -1,13 +0,0 @@ -DEFINED_PHASES=configure install postinst postrm preinst prepare setup -DEPEND=>=dev-libs/glib-2.32:2 !gtk3? ( >=x11-libs/gtk+-2.24:2 vte? ( x11-libs/vte:0 ) ) gtk3? ( >=x11-libs/gtk+-3.0:3 vte? ( x11-libs/vte:2.91 ) ) virtual/pkgconfig dev-util/intltool sys-devel/gettext dev-util/desktop-file-utils x11-misc/shared-mime-info -DESCRIPTION=GTK+ based fast and lightweight IDE -EAPI=7 -HOMEPAGE=https://www.geany.org -IUSE=+gtk3 +vte -KEYWORDS=~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux -LICENSE=GPL-2+ HPND -RDEPEND=>=dev-libs/glib-2.32:2 !gtk3? ( >=x11-libs/gtk+-2.24:2 vte? ( x11-libs/vte:0 ) ) gtk3? ( >=x11-libs/gtk+-3.0:3 vte? ( x11-libs/vte:2.91 ) ) -SLOT=0 -SRC_URI=https://download.geany.org/geany-1.35.tar.bz2 -_eclasses_=eutils fcb2aa98e1948b835b5ae66ca52868c5 xdg c7ba313ea1eaf266f95cc6235f7d6a07 xdg-utils ff2ff954e6b17929574eee4efc5152ba -_md5_=c8117f9bfcc43f3b957b1af6fa3f0c23 diff --git a/metadata/md5-cache/dev-util/geany-plugins-1.30 b/metadata/md5-cache/dev-util/geany-plugins-1.30 deleted file mode 100644 index 1ba473dadb1f..000000000000 --- a/metadata/md5-cache/dev-util/geany-plugins-1.30 +++ /dev/null @@ -1,14 +0,0 @@ -DEFINED_PHASES=configure install prepare setup -DEPEND=>=dev-util/geany-1.26[gtk3=] dev-libs/glib:2 dev-libs/libxml2:2 autoclose? ( gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ) commander? ( gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ) ctags? ( dev-util/ctags ) debugger? ( x11-libs/vte:0 ) defineformat? ( gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ) enchant? ( app-text/enchant:0 ) git? ( dev-libs/libgit2:= ) gpg? ( app-crypt/gpgme:1= ) gtkspell? ( gtk3? ( app-text/gtkspell:3= ) !gtk3? ( app-text/gtkspell:2 ) ) lua? ( dev-lang/lua:0= ) multiterm? ( || ( dev-lang/vala:0.48 dev-lang/vala:0.46 dev-lang/vala:0.44 dev-lang/vala:0.40 dev-lang/vala:0.36 ) x11-libs/gtk+:2 >=x11-libs/vte-0.28:0 ) python? ( python_single_target_python2_7? ( dev-python/pygtk[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) scope? ( x11-libs/vte:0 ) soup? ( net-libs/libsoup:2.4 ) nls? ( sys-devel/gettext ) virtual/pkgconfig -DESCRIPTION=A collection of different plugins for Geany -EAPI=6 -HOMEPAGE=https://plugins.geany.org -IUSE=gtk3 +autoclose +automark +commander ctags debugger +defineformat enchant git gpg gtkspell lua multiterm nls +overview python scope soup +python_single_target_python2_7 -KEYWORDS=~alpha amd64 arm ppc ppc64 ~sparc x86 -LICENSE=GPL-2 -RDEPEND=>=dev-util/geany-1.26[gtk3=] dev-libs/glib:2 dev-libs/libxml2:2 autoclose? ( gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ) commander? ( gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ) ctags? ( dev-util/ctags ) debugger? ( x11-libs/vte:0 ) defineformat? ( gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ) enchant? ( app-text/enchant:0 ) git? ( dev-libs/libgit2:= ) gpg? ( app-crypt/gpgme:1= ) gtkspell? ( gtk3? ( app-text/gtkspell:3= ) !gtk3? ( app-text/gtkspell:2 ) ) lua? ( dev-lang/lua:0= ) multiterm? ( || ( dev-lang/vala:0.48 dev-lang/vala:0.46 dev-lang/vala:0.44 dev-lang/vala:0.40 dev-lang/vala:0.36 ) x11-libs/gtk+:2 >=x11-libs/vte-0.28:0 ) python? ( python_single_target_python2_7? ( dev-python/pygtk[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) scope? ( x11-libs/vte:0 ) soup? ( net-libs/libsoup:2.4 ) scope? ( sys-devel/gdb ) -REQUIRED_USE=gtk3? ( !debugger !multiterm !python !scope ) python? ( ^^ ( python_single_target_python2_7 ) ) -SLOT=0 -SRC_URI=https://plugins.geany.org/geany-plugins/geany-plugins-1.30.tar.gz -_eclasses_=desktop 7fd20552ce4cc97e8acb132a499a7dd8 epatch ed88001f77c6dd0d5f09e45c1a5b480e estack 686eaab303305a908fd57b2fd7617800 eutils fcb2aa98e1948b835b5ae66ca52868c5 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 318e8ae683e57fd3ccd0d31a769d8ee8 preserve-libs ef207dc62baddfddfd39a164d9797648 python-single-r1 2d2617a730e75e491e1d17af87841ec5 python-utils-r1 00efd460b0996a1e4aab8825dded5700 toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c vala 5b72a65a36d681d65aef5f7b4b8b2cb6 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf -_md5_=9b0cafd6b179fb662839235be2fd71c2 diff --git a/metadata/md5-cache/dev-util/geany-plugins-1.34-r1 b/metadata/md5-cache/dev-util/geany-plugins-1.34-r1 deleted file mode 100644 index 1e0eff04b5f0..000000000000 --- a/metadata/md5-cache/dev-util/geany-plugins-1.34-r1 +++ /dev/null @@ -1,15 +0,0 @@ -BDEPEND=virtual/pkgconfig nls? ( sys-devel/gettext ) -DEFINED_PHASES=configure install prepare setup -DEPEND=dev-libs/glib:2 >=dev-util/geany-1.34[gtk3=] gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ctags? ( dev-util/ctags ) debugger? ( x11-libs/vte:0 ) enchant? ( app-text/enchant:= ) git? ( dev-libs/libgit2:= ) gpg? ( app-crypt/gpgme:1= ) gtkspell? ( gtk3? ( app-text/gtkspell:3= ) !gtk3? ( app-text/gtkspell:2 ) ) lua? ( dev-lang/lua:0= ) markdown? ( app-text/discount net-libs/webkit-gtk ) multiterm? ( || ( dev-lang/vala:0.48 dev-lang/vala:0.46 dev-lang/vala:0.44 dev-lang/vala:0.40 dev-lang/vala:0.36 ) >=x11-libs/vte-0.28:0 ) pretty-printer? ( dev-libs/libxml2:2 ) python? ( python_single_target_python2_7? ( dev-python/pygtk[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) scope? ( gtk3? ( x11-libs/vte:2.91 ) !gtk3? ( x11-libs/vte:0 ) ) soup? ( net-libs/libsoup:2.4 ) -DESCRIPTION=A collection of different plugins for Geany -EAPI=7 -HOMEPAGE=https://plugins.geany.org -IUSE=+gtk3 ctags debugger enchant git gpg gtkspell lua markdown multiterm nls pretty-printer python scope soup +python_single_target_python2_7 -KEYWORDS=~alpha amd64 arm ppc ppc64 ~sparc x86 -LICENSE=GPL-2 -RDEPEND=dev-libs/glib:2 >=dev-util/geany-1.34[gtk3=] gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ctags? ( dev-util/ctags ) debugger? ( x11-libs/vte:0 ) enchant? ( app-text/enchant:= ) git? ( dev-libs/libgit2:= ) gpg? ( app-crypt/gpgme:1= ) gtkspell? ( gtk3? ( app-text/gtkspell:3= ) !gtk3? ( app-text/gtkspell:2 ) ) lua? ( dev-lang/lua:0= ) markdown? ( app-text/discount net-libs/webkit-gtk ) multiterm? ( || ( dev-lang/vala:0.48 dev-lang/vala:0.46 dev-lang/vala:0.44 dev-lang/vala:0.40 dev-lang/vala:0.36 ) >=x11-libs/vte-0.28:0 ) pretty-printer? ( dev-libs/libxml2:2 ) python? ( python_single_target_python2_7? ( dev-python/pygtk[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) scope? ( gtk3? ( x11-libs/vte:2.91 ) !gtk3? ( x11-libs/vte:0 ) ) soup? ( net-libs/libsoup:2.4 ) scope? ( sys-devel/gdb ) -REQUIRED_USE=gtk3? ( !debugger !multiterm !python ) !gtk3? ( !markdown ) python? ( ^^ ( python_single_target_python2_7 ) ) -SLOT=0 -SRC_URI=https://plugins.geany.org/geany-plugins/geany-plugins-1.34.tar.gz -_eclasses_=eutils fcb2aa98e1948b835b5ae66ca52868c5 multilib 318e8ae683e57fd3ccd0d31a769d8ee8 python-single-r1 2d2617a730e75e491e1d17af87841ec5 python-utils-r1 00efd460b0996a1e4aab8825dded5700 toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c vala 5b72a65a36d681d65aef5f7b4b8b2cb6 -_md5_=fa600c78b0b1240f27bdf7b3d82c0e92 diff --git a/metadata/md5-cache/dev-util/geany-plugins-1.35 b/metadata/md5-cache/dev-util/geany-plugins-1.35 deleted file mode 100644 index 33a64cad8d44..000000000000 --- a/metadata/md5-cache/dev-util/geany-plugins-1.35 +++ /dev/null @@ -1,15 +0,0 @@ -BDEPEND=virtual/pkgconfig nls? ( sys-devel/gettext ) -DEFINED_PHASES=configure install prepare setup -DEPEND=dev-libs/glib:2 >=dev-util/geany-1.35[gtk3=] gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ctags? ( dev-util/ctags ) debugger? ( x11-libs/vte:0 ) enchant? ( app-text/enchant:= ) git? ( dev-libs/libgit2:= ) gpg? ( app-crypt/gpgme:1= ) gtkspell? ( gtk3? ( app-text/gtkspell:3= ) !gtk3? ( app-text/gtkspell:2 ) ) lua? ( dev-lang/lua:0= ) markdown? ( app-text/discount net-libs/webkit-gtk:4 ) multiterm? ( || ( dev-lang/vala:0.48 dev-lang/vala:0.46 dev-lang/vala:0.44 dev-lang/vala:0.40 dev-lang/vala:0.36 ) >=x11-libs/vte-0.28:0 ) pretty-printer? ( dev-libs/libxml2:2 ) python? ( python_single_target_python2_7? ( dev-python/pygtk[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) scope? ( gtk3? ( x11-libs/vte:2.91 ) !gtk3? ( x11-libs/vte:0 ) ) soup? ( net-libs/libsoup:2.4 ) -DESCRIPTION=A collection of different plugins for Geany -EAPI=7 -HOMEPAGE=https://plugins.geany.org -IUSE=+gtk3 ctags debugger enchant git gpg gtkspell lua markdown multiterm nls pretty-printer python scope soup +python_single_target_python2_7 -KEYWORDS=~alpha ~amd64 ~arm ~ppc ~ppc64 ~sparc ~x86 -LICENSE=GPL-2 -RDEPEND=dev-libs/glib:2 >=dev-util/geany-1.35[gtk3=] gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ctags? ( dev-util/ctags ) debugger? ( x11-libs/vte:0 ) enchant? ( app-text/enchant:= ) git? ( dev-libs/libgit2:= ) gpg? ( app-crypt/gpgme:1= ) gtkspell? ( gtk3? ( app-text/gtkspell:3= ) !gtk3? ( app-text/gtkspell:2 ) ) lua? ( dev-lang/lua:0= ) markdown? ( app-text/discount net-libs/webkit-gtk:4 ) multiterm? ( || ( dev-lang/vala:0.48 dev-lang/vala:0.46 dev-lang/vala:0.44 dev-lang/vala:0.40 dev-lang/vala:0.36 ) >=x11-libs/vte-0.28:0 ) pretty-printer? ( dev-libs/libxml2:2 ) python? ( python_single_target_python2_7? ( dev-python/pygtk[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) scope? ( gtk3? ( x11-libs/vte:2.91 ) !gtk3? ( x11-libs/vte:0 ) ) soup? ( net-libs/libsoup:2.4 ) scope? ( sys-devel/gdb ) -REQUIRED_USE=gtk3? ( !debugger !multiterm !python ) !gtk3? ( !markdown ) python? ( ^^ ( python_single_target_python2_7 ) ) -SLOT=0 -SRC_URI=https://plugins.geany.org/geany-plugins/geany-plugins-1.35.tar.gz -_eclasses_=eutils fcb2aa98e1948b835b5ae66ca52868c5 multilib 318e8ae683e57fd3ccd0d31a769d8ee8 python-single-r1 2d2617a730e75e491e1d17af87841ec5 python-utils-r1 00efd460b0996a1e4aab8825dded5700 toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c vala 5b72a65a36d681d65aef5f7b4b8b2cb6 -_md5_=1c7e80efc3ec7330ce9e0ced862d5a5d diff --git a/metadata/md5-cache/dev-util/geany-plugins-1.36-r1 b/metadata/md5-cache/dev-util/geany-plugins-1.36-r1 deleted file mode 100644 index fbaee88a090d..000000000000 --- a/metadata/md5-cache/dev-util/geany-plugins-1.36-r1 +++ /dev/null @@ -1,15 +0,0 @@ -BDEPEND=virtual/pkgconfig nls? ( sys-devel/gettext ) -DEFINED_PHASES=configure install prepare setup -DEPEND=dev-libs/glib:2 >=dev-util/geany-1.35[gtk3=] gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ctags? ( dev-util/ctags ) debugger? ( gtk3? ( x11-libs/vte:2.91 ) !gtk3? ( x11-libs/vte:0 ) ) enchant? ( app-text/enchant:= ) git? ( dev-libs/libgit2:= ) gpg? ( app-crypt/gpgme:1= ) gtkspell? ( gtk3? ( app-text/gtkspell:3= ) !gtk3? ( app-text/gtkspell:2 ) ) lua? ( dev-lang/lua:0= ) markdown? ( app-text/discount net-libs/webkit-gtk:4 ) multiterm? ( || ( dev-lang/vala:0.48 dev-lang/vala:0.46 dev-lang/vala:0.44 dev-lang/vala:0.40 dev-lang/vala:0.36 ) >=x11-libs/vte-0.28:0 ) pretty-printer? ( dev-libs/libxml2:2 ) python? ( python_single_target_python2_7? ( dev-python/pygtk[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) scope? ( gtk3? ( x11-libs/vte:2.91 ) !gtk3? ( x11-libs/vte:0 ) ) soup? ( net-libs/libsoup:2.4 ) workbench? ( dev-libs/libgit2:= ) -DESCRIPTION=A collection of different plugins for Geany -EAPI=7 -HOMEPAGE=https://plugins.geany.org -IUSE=+gtk3 ctags debugger enchant git gpg gtkspell lua markdown multiterm nls pretty-printer python scope soup workbench +python_single_target_python2_7 -KEYWORDS=~amd64 ~arm ~ppc ~sparc ~x86 -LICENSE=GPL-2 -RDEPEND=dev-libs/glib:2 >=dev-util/geany-1.35[gtk3=] gtk3? ( x11-libs/gtk+:3 ) !gtk3? ( x11-libs/gtk+:2 ) ctags? ( dev-util/ctags ) debugger? ( gtk3? ( x11-libs/vte:2.91 ) !gtk3? ( x11-libs/vte:0 ) ) enchant? ( app-text/enchant:= ) git? ( dev-libs/libgit2:= ) gpg? ( app-crypt/gpgme:1= ) gtkspell? ( gtk3? ( app-text/gtkspell:3= ) !gtk3? ( app-text/gtkspell:2 ) ) lua? ( dev-lang/lua:0= ) markdown? ( app-text/discount net-libs/webkit-gtk:4 ) multiterm? ( || ( dev-lang/vala:0.48 dev-lang/vala:0.46 dev-lang/vala:0.44 dev-lang/vala:0.40 dev-lang/vala:0.36 ) >=x11-libs/vte-0.28:0 ) pretty-printer? ( dev-libs/libxml2:2 ) python? ( python_single_target_python2_7? ( dev-python/pygtk[python_targets_python2_7(-)] ) python_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) ) scope? ( gtk3? ( x11-libs/vte:2.91 ) !gtk3? ( x11-libs/vte:0 ) ) soup? ( net-libs/libsoup:2.4 ) workbench? ( dev-libs/libgit2:= ) scope? ( sys-devel/gdb ) -REQUIRED_USE=gtk3? ( !multiterm !python ) !gtk3? ( !markdown ) python? ( ^^ ( python_single_target_python2_7 ) ) -SLOT=0 -SRC_URI=https://plugins.geany.org/geany-plugins/geany-plugins-1.36.tar.gz -_eclasses_=eutils fcb2aa98e1948b835b5ae66ca52868c5 multilib 318e8ae683e57fd3ccd0d31a769d8ee8 python-single-r1 2d2617a730e75e491e1d17af87841ec5 python-utils-r1 00efd460b0996a1e4aab8825dded5700 toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c vala 5b72a65a36d681d65aef5f7b4b8b2cb6 -_md5_=ef42c28b15d4e5c03cc4d3d17187691e diff --git a/metadata/md5-cache/dev-vcs/Manifest.gz b/metadata/md5-cache/dev-vcs/Manifest.gz index e2770206a1df..8f82426ebb84 100644 Binary files a/metadata/md5-cache/dev-vcs/Manifest.gz and b/metadata/md5-cache/dev-vcs/Manifest.gz differ diff --git a/metadata/md5-cache/dev-vcs/git-2.23.2 b/metadata/md5-cache/dev-vcs/git-2.23.2 new file mode 100644 index 000000000000..6a5733272f05 --- /dev/null +++ b/metadata/md5-cache/dev-vcs/git-2.23.2 @@ -0,0 +1,15 @@ +DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack +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 ) doc? ( app-text/asciidoc app-text/docbook2X app-text/xmlto sys-apps/texinfo ) nls? ( sys-devel/gettext ) test? ( app-crypt/gnupg ) virtual/pkgconfig +DESCRIPTION=stupid content tracker: distributed VCS designed for speed and efficiency +EAPI=6 +HOMEPAGE=https://www.git-scm.com/ +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 python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 +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 +LICENSE=GPL-2 +RDEPEND=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 ) 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_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( >=dev-lang/python-3.6.10:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( >=dev-lang/python-3.7.7-r1:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) ) +REQUIRED_USE=cgi? ( perl ) cvs? ( perl ) mediawiki? ( perl ) mediawiki-experimental? ( mediawiki ) subversion? ( perl ) webdav? ( curl ) pcre-jit? ( pcre ) perforce? ( ^^ ( python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 ) ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/software/scm/git/git-2.23.2.tar.xz https://www.kernel.org/pub/software/scm/git/git-manpages-2.23.2.tar.xz doc? ( https://www.kernel.org/pub/software/scm/git/git-htmldocs-2.23.2.tar.xz ) +_eclasses_=bash-completion-r1 e5f9c3faab3ab3d1e7e007daa8c736ef eapi7-ver f9ec87e93172b25ce65a85303dc06964 elisp-common 504a3383c45504fde86b00426619a709 l10n 97f2753e3f1f3753d53d856c7c0bbb0b multilib 318e8ae683e57fd3ccd0d31a769d8ee8 multiprocessing cac3169468f893670dac3e7cb940e045 perl-functions 6ec4c4d8fc8324200f1c14e8d158c59b perl-module 97206c028d9bdc9f248e022ac5c9fc83 python-single-r1 2d2617a730e75e491e1d17af87841ec5 python-utils-r1 00efd460b0996a1e4aab8825dded5700 systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c +_md5_=6f0ad49d38bca80819880bced45a448d diff --git a/metadata/md5-cache/dev-vcs/git-2.24.2 b/metadata/md5-cache/dev-vcs/git-2.24.2 new file mode 100644 index 000000000000..a4ca1492b7ba --- /dev/null +++ b/metadata/md5-cache/dev-vcs/git-2.24.2 @@ -0,0 +1,16 @@ +BDEPEND=doc? ( app-text/asciidoc app-text/docbook2X app-text/xmlto sys-apps/texinfo ) nls? ( sys-devel/gettext ) test? ( app-crypt/gnupg ) virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack +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 ) +DESCRIPTION=stupid content tracker: distributed VCS designed for speed and efficiency +EAPI=7 +HOMEPAGE=https://www.git-scm.com/ +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 python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 +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 +LICENSE=GPL-2 +RDEPEND=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 ) 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_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( >=dev-lang/python-3.6.10:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( >=dev-lang/python-3.7.7-r1:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) ) +REQUIRED_USE=cgi? ( perl ) cvs? ( perl ) mediawiki? ( perl ) mediawiki-experimental? ( mediawiki ) subversion? ( perl ) webdav? ( curl ) pcre-jit? ( pcre ) perforce? ( ^^ ( python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 ) ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/software/scm/git/git-2.24.2.tar.xz https://www.kernel.org/pub/software/scm/git/git-manpages-2.24.2.tar.xz doc? ( https://www.kernel.org/pub/software/scm/git/git-htmldocs-2.24.2.tar.xz ) +_eclasses_=bash-completion-r1 e5f9c3faab3ab3d1e7e007daa8c736ef elisp-common 504a3383c45504fde86b00426619a709 l10n 97f2753e3f1f3753d53d856c7c0bbb0b multilib 318e8ae683e57fd3ccd0d31a769d8ee8 multiprocessing cac3169468f893670dac3e7cb940e045 perl-functions 6ec4c4d8fc8324200f1c14e8d158c59b perl-module 97206c028d9bdc9f248e022ac5c9fc83 python-single-r1 2d2617a730e75e491e1d17af87841ec5 python-utils-r1 00efd460b0996a1e4aab8825dded5700 systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c +_md5_=c19406f1dea029000d4549435324b78b diff --git a/metadata/md5-cache/dev-vcs/git-2.25.3 b/metadata/md5-cache/dev-vcs/git-2.25.3 new file mode 100644 index 000000000000..13917f912dd9 --- /dev/null +++ b/metadata/md5-cache/dev-vcs/git-2.25.3 @@ -0,0 +1,16 @@ +BDEPEND=doc? ( app-text/asciidoc app-text/docbook2X app-text/xmlto sys-apps/texinfo ) nls? ( sys-devel/gettext ) test? ( app-crypt/gnupg ) virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack +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 ) +DESCRIPTION=stupid content tracker: distributed VCS designed for speed and efficiency +EAPI=7 +HOMEPAGE=https://www.git-scm.com/ +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 python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 +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 +LICENSE=GPL-2 +RDEPEND=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 ) 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_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( >=dev-lang/python-3.6.10:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( >=dev-lang/python-3.7.7-r1:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) ) +REQUIRED_USE=cgi? ( perl ) cvs? ( perl ) mediawiki? ( perl ) mediawiki-experimental? ( mediawiki ) subversion? ( perl ) webdav? ( curl ) pcre-jit? ( pcre ) perforce? ( ^^ ( python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 ) ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/software/scm/git/git-2.25.3.tar.xz https://www.kernel.org/pub/software/scm/git/git-manpages-2.25.3.tar.xz doc? ( https://www.kernel.org/pub/software/scm/git/git-htmldocs-2.25.3.tar.xz ) +_eclasses_=bash-completion-r1 e5f9c3faab3ab3d1e7e007daa8c736ef elisp-common 504a3383c45504fde86b00426619a709 l10n 97f2753e3f1f3753d53d856c7c0bbb0b multilib 318e8ae683e57fd3ccd0d31a769d8ee8 multiprocessing cac3169468f893670dac3e7cb940e045 perl-functions 6ec4c4d8fc8324200f1c14e8d158c59b perl-module 97206c028d9bdc9f248e022ac5c9fc83 python-single-r1 2d2617a730e75e491e1d17af87841ec5 python-utils-r1 00efd460b0996a1e4aab8825dded5700 systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c +_md5_=c19406f1dea029000d4549435324b78b diff --git a/metadata/md5-cache/dev-vcs/git-2.26.1 b/metadata/md5-cache/dev-vcs/git-2.26.1 new file mode 100644 index 000000000000..bf06f8eafc0e --- /dev/null +++ b/metadata/md5-cache/dev-vcs/git-2.26.1 @@ -0,0 +1,16 @@ +BDEPEND=doc? ( app-text/asciidoc app-text/docbook2X app-text/xmlto sys-apps/texinfo ) nls? ( sys-devel/gettext ) test? ( app-crypt/gnupg ) virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst postrm prepare setup test unpack +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 ) +DESCRIPTION=stupid content tracker: distributed VCS designed for speed and efficiency +EAPI=7 +HOMEPAGE=https://www.git-scm.com/ +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 python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 +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 +LICENSE=GPL-2 +RDEPEND=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 ) 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_single_target_python2_7? ( >=dev-lang/python-2.7.17-r1:2.7 >=dev-lang/python-exec-2:=[python_targets_python2_7] ) python_single_target_python3_6? ( >=dev-lang/python-3.6.10:3.6 >=dev-lang/python-exec-2:=[python_targets_python3_6] ) python_single_target_python3_7? ( >=dev-lang/python-3.7.7-r1:3.7 >=dev-lang/python-exec-2:=[python_targets_python3_7] ) ) +REQUIRED_USE=cgi? ( perl ) cvs? ( perl ) mediawiki? ( perl ) mediawiki-experimental? ( mediawiki ) subversion? ( perl ) webdav? ( curl ) pcre-jit? ( pcre ) perforce? ( ^^ ( python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 ) ) +RESTRICT=!test? ( test ) +SLOT=0 +SRC_URI=https://www.kernel.org/pub/software/scm/git/git-2.26.1.tar.xz https://www.kernel.org/pub/software/scm/git/git-manpages-2.26.1.tar.xz doc? ( https://www.kernel.org/pub/software/scm/git/git-htmldocs-2.26.1.tar.xz ) +_eclasses_=bash-completion-r1 e5f9c3faab3ab3d1e7e007daa8c736ef elisp-common 504a3383c45504fde86b00426619a709 l10n 97f2753e3f1f3753d53d856c7c0bbb0b multilib 318e8ae683e57fd3ccd0d31a769d8ee8 multiprocessing cac3169468f893670dac3e7cb940e045 perl-functions 6ec4c4d8fc8324200f1c14e8d158c59b perl-module 97206c028d9bdc9f248e022ac5c9fc83 python-single-r1 2d2617a730e75e491e1d17af87841ec5 python-utils-r1 00efd460b0996a1e4aab8825dded5700 systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c +_md5_=c19406f1dea029000d4549435324b78b diff --git a/metadata/md5-cache/sys-apps/Manifest.gz b/metadata/md5-cache/sys-apps/Manifest.gz index f0cd619148fb..3db995df2de4 100644 Binary files a/metadata/md5-cache/sys-apps/Manifest.gz and b/metadata/md5-cache/sys-apps/Manifest.gz differ diff --git a/metadata/md5-cache/sys-apps/gawk-5.0.0 b/metadata/md5-cache/sys-apps/gawk-5.1.0 similarity index 78% rename from metadata/md5-cache/sys-apps/gawk-5.0.0 rename to metadata/md5-cache/sys-apps/gawk-5.1.0 index 762bf0d130d7..31fc13717c36 100644 --- a/metadata/md5-cache/sys-apps/gawk-5.0.0 +++ b/metadata/md5-cache/sys-apps/gawk-5.1.0 @@ -1,13 +1,14 @@ +BDEPEND=>=sys-apps/texinfo-6.7 >=sys-devel/bison-3.5.4 nls? ( sys-devel/gettext ) DEFINED_PHASES=configure install postinst postrm prepare -DEPEND=dev-libs/gmp:0= mpfr? ( dev-libs/mpfr:0= ) readline? ( sys-libs/readline:0= ) nls? ( sys-devel/gettext ) +DEPEND=dev-libs/gmp:0= mpfr? ( dev-libs/mpfr:0= ) readline? ( sys-libs/readline:0= ) DESCRIPTION=GNU awk pattern-matching language -EAPI=6 +EAPI=7 HOMEPAGE=https://www.gnu.org/software/gawk/gawk.html IUSE=mpfr nls readline KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris LICENSE=GPL-2 RDEPEND=dev-libs/gmp:0= mpfr? ( dev-libs/mpfr:0= ) readline? ( sys-libs/readline:0= ) SLOT=0 -SRC_URI=mirror://gnu/gawk/gawk-5.0.0.tar.xz +SRC_URI=mirror://gnu/gawk/gawk-5.1.0.tar.xz _eclasses_=multilib 318e8ae683e57fd3ccd0d31a769d8ee8 toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c -_md5_=44f28ccf7a8ed85c3c2491c92d80b4b8 +_md5_=d1f79befbdc55499c74d4f9d1348016f diff --git a/metadata/md5-cache/sys-fs/Manifest.gz b/metadata/md5-cache/sys-fs/Manifest.gz index 3ef1c9ed4c9f..bbff81efdf3d 100644 Binary files a/metadata/md5-cache/sys-fs/Manifest.gz and b/metadata/md5-cache/sys-fs/Manifest.gz differ diff --git a/metadata/md5-cache/sys-fs/lvm2-2.02.187-r1 b/metadata/md5-cache/sys-fs/lvm2-2.02.187-r1 new file mode 100644 index 000000000000..f9b1cf2d2428 --- /dev/null +++ b/metadata/md5-cache/sys-fs/lvm2-2.02.187-r1 @@ -0,0 +1,15 @@ +BDEPEND=sys-devel/autoconf-archive virtual/pkgconfig >=app-portage/elt-patches-20170815 || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 virtual/pkgconfig virtual/pkgconfig +DEFINED_PHASES=compile configure install postinst prepare setup test +DEPEND=dev-libs/libaio[static-libs?] static? ( dev-libs/libaio[static-libs] ) !static? ( dev-libs/libaio[static-libs?] ) readline? ( sys-libs/readline:0= ) sanlock? ( sys-cluster/sanlock ) systemd? ( >=sys-apps/systemd-205:0= ) udev? ( >=virtual/libudev-208:=[static-libs(-)?] ) >=sys-devel/binutils-2.20.1-r1 static? ( selinux? ( sys-libs/libselinux[static-libs] ) udev? ( >=sys-fs/eudev-3.1.2[static-libs] ) >=sys-apps/util-linux-2.16[static-libs] ) +DESCRIPTION=User-land utilities for LVM2 (device-mapper) software +EAPI=7 +HOMEPAGE=https://sourceware.org/lvm2/ +IUSE=readline static static-libs systemd lvm2create_initrd sanlock selinux +udev +thin device-mapper-only kernel_linux +KEYWORDS=~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux +LICENSE=GPL-2 +RDEPEND=dev-libs/libaio[static-libs?] static? ( dev-libs/libaio[static-libs] ) !static? ( dev-libs/libaio[static-libs?] ) readline? ( sys-libs/readline:0= ) sanlock? ( sys-cluster/sanlock ) systemd? ( >=sys-apps/systemd-205:0= ) udev? ( >=virtual/libudev-208:=[static-libs(-)?] ) >=sys-apps/baselayout-2.2 !=sys-apps/util-linux-2.16 lvm2create_initrd? ( sys-apps/makedev ) thin? ( >=sys-block/thin-provisioning-tools-0.3.0 ) +REQUIRED_USE=device-mapper-only? ( !lvm2create_initrd !sanlock !thin ) systemd? ( udev ) +SLOT=0 +SRC_URI=ftp://sourceware.org/pub/lvm2/LVM2.2.02.187.tgz ftp://sourceware.org/pub/lvm2/old/LVM2.2.02.187.tgz +_eclasses_=autotools 7d999b62b8749fad43fff00620cedf47 eutils fcb2aa98e1948b835b5ae66ca52868c5 flag-o-matic f1194291b9a1baca337c1c89b5f7f365 libtool f143db5a74ccd9ca28c1234deffede96 linux-info ed97304af323c7b2f6934f229982cb7d multilib 318e8ae683e57fd3ccd0d31a769d8ee8 systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c udev 452708c3f55cf6e918b045adb949a9e6 +_md5_=4aff12604dfee00d65f174dc94b11122 diff --git a/metadata/md5-cache/www-servers/Manifest.gz b/metadata/md5-cache/www-servers/Manifest.gz index f6d4121ee41d..e573a706e54b 100644 Binary files a/metadata/md5-cache/www-servers/Manifest.gz and b/metadata/md5-cache/www-servers/Manifest.gz differ diff --git a/metadata/md5-cache/www-servers/nginx-1.17.10 b/metadata/md5-cache/www-servers/nginx-1.17.10 new file mode 100644 index 000000000000..4d0fb178c16a --- /dev/null +++ b/metadata/md5-cache/www-servers/nginx-1.17.10 @@ -0,0 +1,16 @@ +DEFINED_PHASES=compile configure install postinst prepare setup test +DEPEND=pcre? ( dev-libs/libpcre:= ) pcre-jit? ( dev-libs/libpcre:=[jit] ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) http2? ( !libressl? ( >=dev-libs/openssl-1.0.1c:0= ) libressl? ( dev-libs/libressl:= ) ) http-cache? ( userland_GNU? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) ) nginx_modules_http_brotli? ( app-arch/brotli:= ) nginx_modules_http_geoip? ( dev-libs/geoip ) nginx_modules_http_geoip2? ( dev-libs/libmaxminddb:= ) nginx_modules_http_gunzip? ( sys-libs/zlib ) nginx_modules_http_gzip? ( sys-libs/zlib ) nginx_modules_http_gzip_static? ( sys-libs/zlib ) nginx_modules_http_image_filter? ( media-libs/gd:=[jpeg,png] ) nginx_modules_http_perl? ( >=dev-lang/perl-5.8:= ) nginx_modules_http_rewrite? ( dev-libs/libpcre:= ) nginx_modules_http_secure_link? ( userland_GNU? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) ) nginx_modules_http_xslt? ( dev-libs/libxml2:= dev-libs/libxslt ) nginx_modules_http_lua? ( dev-lang/luajit:2= ) nginx_modules_http_auth_pam? ( sys-libs/pam ) nginx_modules_http_metrics? ( dev-libs/yajl:= ) nginx_modules_http_dav_ext? ( dev-libs/libxml2 ) nginx_modules_http_security? ( dev-libs/apr:= dev-libs/apr-util:= dev-libs/libxml2:= net-misc/curl www-servers/apache ) nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] ) nginx_modules_stream_geoip? ( dev-libs/geoip ) nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= ) nginx_modules_http_brotli? ( virtual/pkgconfig ) nginx_modules_http_security? ( || ( >=sys-devel/automake-1.16.1:1.16 >=sys-devel/automake-1.15.1:1.15 ) >=sys-devel/autoconf-2.69 >=sys-devel/libtool-2.4 ) arm? ( dev-libs/libatomic_ops ) libatomic? ( dev-libs/libatomic_ops ) >=app-portage/elt-patches-20170815 virtual/pkgconfig +DESCRIPTION=Robust, small and high performance http and reverse proxy server +EAPI=6 +HOMEPAGE=https://nginx.org +IUSE=aio debug +http +http2 +http-cache +ipv6 libatomic libressl luajit +pcre pcre-jit rtmp selinux ssl threads userland_GNU vim-syntax +nginx_modules_http_access +nginx_modules_http_auth_basic +nginx_modules_http_autoindex +nginx_modules_http_browser +nginx_modules_http_charset +nginx_modules_http_empty_gif +nginx_modules_http_fastcgi +nginx_modules_http_geo +nginx_modules_http_grpc +nginx_modules_http_gzip +nginx_modules_http_limit_req +nginx_modules_http_limit_conn +nginx_modules_http_map +nginx_modules_http_memcached +nginx_modules_http_mirror +nginx_modules_http_proxy +nginx_modules_http_referer +nginx_modules_http_rewrite +nginx_modules_http_scgi +nginx_modules_http_ssi +nginx_modules_http_split_clients +nginx_modules_http_upstream_hash +nginx_modules_http_upstream_ip_hash +nginx_modules_http_upstream_keepalive +nginx_modules_http_upstream_least_conn +nginx_modules_http_upstream_zone +nginx_modules_http_userid +nginx_modules_http_uwsgi nginx_modules_http_addition nginx_modules_http_auth_request nginx_modules_http_dav nginx_modules_http_degradation nginx_modules_http_flv nginx_modules_http_geoip nginx_modules_http_gunzip nginx_modules_http_gzip_static nginx_modules_http_image_filter nginx_modules_http_mp4 nginx_modules_http_perl nginx_modules_http_random_index nginx_modules_http_realip nginx_modules_http_secure_link nginx_modules_http_slice nginx_modules_http_stub_status nginx_modules_http_sub nginx_modules_http_xslt nginx_modules_stream_access nginx_modules_stream_geo nginx_modules_stream_limit_conn nginx_modules_stream_map nginx_modules_stream_return nginx_modules_stream_split_clients nginx_modules_stream_upstream_hash nginx_modules_stream_upstream_least_conn nginx_modules_stream_upstream_zone nginx_modules_stream_geoip nginx_modules_stream_realip nginx_modules_stream_ssl_preread nginx_modules_mail_imap nginx_modules_mail_pop3 nginx_modules_mail_smtp nginx_modules_http_auth_ldap nginx_modules_http_auth_pam nginx_modules_http_brotli nginx_modules_http_cache_purge nginx_modules_http_dav_ext nginx_modules_http_echo nginx_modules_http_fancyindex nginx_modules_http_geoip2 nginx_modules_http_headers_more nginx_modules_http_javascript nginx_modules_http_lua nginx_modules_http_memc nginx_modules_http_metrics nginx_modules_http_mogilefs nginx_modules_http_naxsi nginx_modules_http_push_stream nginx_modules_http_security nginx_modules_http_slowfs_cache nginx_modules_http_sticky nginx_modules_http_upload_progress nginx_modules_http_upstream_check nginx_modules_http_vhost_traffic_status nginx_modules_stream_geoip2 nginx_modules_stream_javascript nginx_modules_http_spdy +KEYWORDS=~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux +LICENSE=BSD-2 BSD SSLeay MIT GPL-2 GPL-2+ nginx_modules_http_security? ( Apache-2.0 ) nginx_modules_http_push_stream? ( GPL-3 ) +PDEPEND=vim-syntax? ( app-vim/nginx-syntax ) +RDEPEND=pcre? ( dev-libs/libpcre:= ) pcre-jit? ( dev-libs/libpcre:=[jit] ) ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) http2? ( !libressl? ( >=dev-libs/openssl-1.0.1c:0= ) libressl? ( dev-libs/libressl:= ) ) http-cache? ( userland_GNU? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) ) nginx_modules_http_brotli? ( app-arch/brotli:= ) nginx_modules_http_geoip? ( dev-libs/geoip ) nginx_modules_http_geoip2? ( dev-libs/libmaxminddb:= ) nginx_modules_http_gunzip? ( sys-libs/zlib ) nginx_modules_http_gzip? ( sys-libs/zlib ) nginx_modules_http_gzip_static? ( sys-libs/zlib ) nginx_modules_http_image_filter? ( media-libs/gd:=[jpeg,png] ) nginx_modules_http_perl? ( >=dev-lang/perl-5.8:= ) nginx_modules_http_rewrite? ( dev-libs/libpcre:= ) nginx_modules_http_secure_link? ( userland_GNU? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) ) nginx_modules_http_xslt? ( dev-libs/libxml2:= dev-libs/libxslt ) nginx_modules_http_lua? ( dev-lang/luajit:2= ) nginx_modules_http_auth_pam? ( sys-libs/pam ) nginx_modules_http_metrics? ( dev-libs/yajl:= ) nginx_modules_http_dav_ext? ( dev-libs/libxml2 ) nginx_modules_http_security? ( dev-libs/apr:= dev-libs/apr-util:= dev-libs/libxml2:= net-misc/curl www-servers/apache ) nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] ) nginx_modules_stream_geoip? ( dev-libs/geoip ) nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= ) selinux? ( sec-policy/selinux-nginx ) !www-servers/nginx:0 +REQUIRED_USE=pcre-jit? ( pcre ) nginx_modules_http_fancyindex? ( nginx_modules_http_addition ) nginx_modules_http_grpc? ( http2 ) nginx_modules_http_lua? ( luajit nginx_modules_http_rewrite ) nginx_modules_http_naxsi? ( pcre ) nginx_modules_http_dav_ext? ( nginx_modules_http_dav nginx_modules_http_xslt ) nginx_modules_http_metrics? ( nginx_modules_http_stub_status ) nginx_modules_http_security? ( pcre ) nginx_modules_http_push_stream? ( ssl ) +RESTRICT=test +SLOT=mainline +SRC_URI=https://nginx.org/download/nginx-1.17.10.tar.gz https://github.com/simpl/ngx_devel_kit/archive/v0.3.1.tar.gz -> ngx_devel_kit-0.3.1.tar.gz nginx_modules_http_auth_ldap? ( https://github.com/kvspb/nginx-auth-ldap/archive/42d195d7a7575ebab1c369ad3fc5d78dc2c2669c.tar.gz -> nginx-auth-ldap-42d195d7a7575ebab1c369ad3fc5d78dc2c2669c.tar.gz ) nginx_modules_http_auth_pam? ( https://github.com/stogh/ngx_http_auth_pam_module/archive/v1.5.1.tar.gz -> ngx_http_auth_pam-1.5.1.tar.gz ) nginx_modules_http_brotli? ( https://github.com/eustas/ngx_brotli/archive/8104036af9cff4b1d34f22d00ba857e2a93a243c.tar.gz -> ngx_brotli-8104036af9cff4b1d34f22d00ba857e2a93a243c.tar.gz ) nginx_modules_http_cache_purge? ( http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz -> ngx_http_cache_purge-2.3.tar.gz ) nginx_modules_http_dav_ext? ( https://github.com/arut/nginx-dav-ext-module/archive/v3.0.0.tar.gz -> ngx_http_dav_ext-3.0.0.tar.gz ) nginx_modules_http_echo? ( https://github.com/openresty/echo-nginx-module/archive/v0.62rc1.tar.gz -> ngx_http_echo-0.62rc1.tar.gz ) nginx_modules_http_fancyindex? ( https://github.com/aperezdc/ngx-fancyindex/archive/v0.4.3.tar.gz -> ngx_http_fancyindex-0.4.3.tar.gz ) nginx_modules_http_geoip2? ( https://github.com/leev/ngx_http_geoip2_module/archive/3.3.tar.gz -> ngx_http_geoip2_module-3.3.tar.gz ) nginx_modules_http_headers_more? ( https://github.com/agentzh/headers-more-nginx-module/archive/v0.33.tar.gz -> ngx_http_headers_more-0.33.tar.gz ) nginx_modules_http_javascript? ( https://github.com/nginx/njs/archive/0.3.9.tar.gz -> njs-0.3.9.tar.gz ) nginx_modules_http_lua? ( https://github.com/openresty/lua-nginx-module/archive/v0.10.15.tar.gz -> ngx_http_lua-0.10.15.tar.gz ) nginx_modules_http_memc? ( https://github.com/openresty/memc-nginx-module/archive/v0.19.tar.gz -> ngx_memc_module-0.19.tar.gz ) nginx_modules_http_metrics? ( https://github.com/madvertise/ngx_metrics/archive/v0.1.1.tar.gz -> ngx_metrics-0.1.1.tar.gz ) nginx_modules_http_mogilefs? ( https://github.com/vkholodkov/nginx-mogilefs-module/archive/1.0.4.tar.gz -> ngx_mogilefs_module-1.0.4.tar.gz ) nginx_modules_http_naxsi? ( https://github.com/nbs-system/naxsi/archive/0.56.tar.gz -> ngx_http_naxsi-0.56.tar.gz ) nginx_modules_http_push_stream? ( https://github.com/wandenberg/nginx-push-stream-module/archive/0.5.4.tar.gz -> ngx_http_push_stream-0.5.4.tar.gz ) nginx_modules_http_security? ( https://www.modsecurity.org/tarball/2.9.3/modsecurity-2.9.3.tar.gz -> modsecurity-2.9.3.tar.gz ) nginx_modules_http_slowfs_cache? ( http://labs.frickle.com/files/ngx_slowfs_cache-1.10.tar.gz -> ngx_http_slowfs_cache-1.10.tar.gz ) nginx_modules_http_sticky? ( https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/1.2.6-10-g08a395c66e42.tar.bz2 -> nginx_http_sticky_module_ng-1.2.6-10-g08a395c66e42.tar.bz2 ) nginx_modules_http_upload_progress? ( https://github.com/masterzen/nginx-upload-progress-module/archive/v0.9.2.tar.gz -> ngx_http_upload_progress-0.9.2-r1.tar.gz ) nginx_modules_http_upstream_check? ( https://github.com/yaoweibin/nginx_upstream_check_module/archive/9aecf15ec379fe98f62355c57b60c0bc83296f04.tar.gz -> ngx_http_upstream_check-9aecf15ec379fe98f62355c57b60c0bc83296f04.tar.gz ) nginx_modules_http_vhost_traffic_status? ( https://github.com/vozlt/nginx-module-vts/archive/46d85558e344dfe2b078ce757fd36c69a1ec2dd3.tar.gz -> ngx_http_vhost_traffic_status-46d85558e344dfe2b078ce757fd36c69a1ec2dd3.tar.gz ) nginx_modules_stream_geoip2? ( https://github.com/leev/ngx_http_geoip2_module/archive/3.3.tar.gz -> ngx_http_geoip2_module-3.3.tar.gz ) nginx_modules_stream_javascript? ( https://github.com/nginx/njs/archive/0.3.9.tar.gz -> njs-0.3.9.tar.gz ) rtmp? ( https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.tar.gz -> ngx_rtmp-1.2.1.tar.gz ) +_eclasses_=autotools 7d999b62b8749fad43fff00620cedf47 desktop 7fd20552ce4cc97e8acb132a499a7dd8 epatch ed88001f77c6dd0d5f09e45c1a5b480e estack 686eaab303305a908fd57b2fd7617800 eutils fcb2aa98e1948b835b5ae66ca52868c5 flag-o-matic f1194291b9a1baca337c1c89b5f7f365 libtool f143db5a74ccd9ca28c1234deffede96 ltprune 2729691420b6deeda2a90b1f1183fb55 multilib 318e8ae683e57fd3ccd0d31a769d8ee8 multiprocessing cac3169468f893670dac3e7cb940e045 pax-utils a41d1fd1c111289ffa04490de6ee79d7 perl-functions 6ec4c4d8fc8324200f1c14e8d158c59b perl-module 97206c028d9bdc9f248e022ac5c9fc83 preserve-libs ef207dc62baddfddfd39a164d9797648 ssl-cert 876f0e74ef1cc2e7c4edd9bca336d350 systemd 71fd8d2065d102753fb9e4d20eaf3e9f toolchain-funcs 512eb3367f507ebaa1d1d43ab7d66e6c user 7b7fc6ec5eb1c1eee55b0609f01e7362 user-info a2abd4e2f4c3b9b06d64bf1329359a02 vcs-clean 2a0f74a496fa2b1552c4f3398258b7bf versionator 2352c3fc97241f6a02042773c8287748 +_md5_=780705e53592ebee3142c942c339da77 diff --git a/metadata/news/timestamp.chk b/metadata/news/timestamp.chk index 796cf2b63a6f..bff7003f5dd1 100644 --- a/metadata/news/timestamp.chk +++ b/metadata/news/timestamp.chk @@ -1 +1 @@ -Tue, 14 Apr 2020 18:08:58 +0000 +Tue, 14 Apr 2020 20:08:59 +0000 diff --git a/metadata/projects.xml b/metadata/projects.xml index 97206f33025a..28c2cedd9b97 100644 --- a/metadata/projects.xml +++ b/metadata/projects.xml @@ -2119,10 +2119,6 @@ MySQL https://wiki.gentoo.org/wiki/Project:MySQL This project maintains MySQL and its derivatives - - grknight@gentoo.org - Brian Evans - jmbsvicetto@gentoo.org Jorge Manuel B. S. Vicetto diff --git a/metadata/timestamp b/metadata/timestamp index b2097e30e7ef..6da4d3e2f07c 100644 --- a/metadata/timestamp +++ b/metadata/timestamp @@ -1 +1 @@ -Tue 14 Apr 2020 06:08:57 PM UTC +Tue 14 Apr 2020 08:08:59 PM UTC diff --git a/metadata/timestamp.chk b/metadata/timestamp.chk index 7e7732a5b47c..1b046da28108 100644 --- a/metadata/timestamp.chk +++ b/metadata/timestamp.chk @@ -1 +1 @@ -Tue, 14 Apr 2020 18:30:01 +0000 +Tue, 14 Apr 2020 20:30:01 +0000 diff --git a/metadata/timestamp.commit b/metadata/timestamp.commit index f095d811c513..2892efa06684 100644 --- a/metadata/timestamp.commit +++ b/metadata/timestamp.commit @@ -1 +1 @@ -dec01d375dab043eaf11cf012958e9843745705f 1586886867 2020-04-14T17:54:27+00:00 +aad82e3a3255acc77d6938119560d195445dcac1 1586893169 2020-04-14T19:39:29+00:00 diff --git a/metadata/timestamp.x b/metadata/timestamp.x index a73782d6ff89..cd974675471c 100644 --- a/metadata/timestamp.x +++ b/metadata/timestamp.x @@ -1 +1 @@ -1586887501 Tue 14 Apr 2020 06:05:01 PM UTC +1586894701 Tue 14 Apr 2020 08:05:01 PM UTC diff --git a/metadata/xml-schema/timestamp.chk b/metadata/xml-schema/timestamp.chk index 850639740fff..bff7003f5dd1 100644 --- a/metadata/xml-schema/timestamp.chk +++ b/metadata/xml-schema/timestamp.chk @@ -1 +1 @@ -Tue, 14 Apr 2020 18:08:57 +0000 +Tue, 14 Apr 2020 20:08:59 +0000 diff --git a/profiles/Manifest.gz b/profiles/Manifest.gz index 5c400833b217..e2a425ca4e76 100644 Binary files a/profiles/Manifest.gz and b/profiles/Manifest.gz differ diff --git a/profiles/arch/arm/package.use.stable.mask b/profiles/arch/arm/package.use.stable.mask index 065343719bbd..c66cbb93e927 100644 --- a/profiles/arch/arm/package.use.stable.mask +++ b/profiles/arch/arm/package.use.stable.mask @@ -1,10 +1,6 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Andreas Sturmlechner (2020-04-11) -# git useflag requires dev-libs/libgit2 - (2019-11-02) # media-video/pipewire is not stable yet dev-libs/weston pipewire diff --git a/profiles/arch/powerpc/package.use.stable.mask b/profiles/arch/powerpc/package.use.stable.mask index 2c44cb8892f7..582827a67b6f 100644 --- a/profiles/arch/powerpc/package.use.stable.mask +++ b/profiles/arch/powerpc/package.use.stable.mask @@ -17,10 +17,6 @@ #--- END OF EXAMPLES --- -# Andreas Sturmlechner (2020-04-11) -# git useflag requires dev-libs/libgit2 - (2019-12-12) # Needs stable net-libs/webkit-gtk, bug #684702 dev-util/geany-plugins markdown diff --git a/profiles/use.local.desc b/profiles/use.local.desc index 9cfebf363c48..adbf45f1ad01 100644 --- a/profiles/use.local.desc +++ b/profiles/use.local.desc @@ -2897,19 +2897,13 @@ dev-util/emilpro:system-binutils - Use the gentoo binutils instead of building a dev-util/fatrace:powertop - Add powetop integration dev-util/geany:gtk3 - Use GTK+3 instead of GTK+2 dev-util/geany:vte - Enable Terminal support (x11-libs/vte) -dev-util/geany-plugins:autoclose - Enable the autoclose plugin. -dev-util/geany-plugins:automark - Enable the automark plugin -dev-util/geany-plugins:commander - Enable the commander plugin which provides a command panel for rapid access to any action. dev-util/geany-plugins:ctags - Enable ctags plugin dev-util/geany-plugins:debugger - Enable the debugger plugin which interfaces with sys-devel/gdb -dev-util/geany-plugins:defineformat - Enable the defineformat plugin. dev-util/geany-plugins:enchant - Enable spell checking using enchant dev-util/geany-plugins:gpg - Enable geanypg plugin which integrates GPG using app-crypt/gpgme dev-util/geany-plugins:gtk3 - Use GTK+3 instead of GTK+2 dev-util/geany-plugins:gtkspell - Use gtkspell for dictionary support in GeanyVC dev-util/geany-plugins:markdown - Enable the markdown plugin -dev-util/geany-plugins:multiterm - Enable the multiterm plugin -dev-util/geany-plugins:overview - Enable overview plugin dev-util/geany-plugins:pretty-printer - Enable pretty-printer plugin dev-util/geany-plugins:scope - Enable the scope plugin which is a graphical GDB front-end dev-util/geany-plugins:soup - Enable updatechecker and geniuspaste plugins which require net-libs/libsoup diff --git a/sys-apps/Manifest.gz b/sys-apps/Manifest.gz index e74df4ca3707..f59fde4464a6 100644 Binary files a/sys-apps/Manifest.gz and b/sys-apps/Manifest.gz differ diff --git a/sys-apps/gawk/Manifest b/sys-apps/gawk/Manifest index 04104bc29ee5..58ba1b9d171d 100644 --- a/sys-apps/gawk/Manifest +++ b/sys-apps/gawk/Manifest @@ -1,3 +1,3 @@ DIST gawk-4.2.1.tar.xz 2985412 BLAKE2B ea0635904ae8af8943d545b21affbfad64de5a688a615e22e1af2634583d0002094c0668c3260837184f965452ccf84141fff705bbf42d55b6d55c7516c24d8b SHA512 0e3006a795dc3ac91359a7d2590c0cccbfd39b18a1d491617d68505c55a2800355b1439050681b4fcacf65fb0d533151a046babe0fd774503037bab363ef2ae4 -DIST gawk-5.0.0.tar.xz 3000432 BLAKE2B d7885442c615e2b7986d6cb617db3ac376a5e572ab2aca3c6b2bd0f43feca4374f310bbf2e2a875b617df97cfebf98cb983d169468d51db39058b83eb9771afa SHA512 9eb663bbcad53165b7ddb7d72cfb8377252b68004733a9eb8c191b2ddddaff857e48ba811280311384243eb67574fbe7ac9edf4e507f9a82d67b4b2adff8ef6e DIST gawk-5.0.1.tar.xz 3136004 BLAKE2B 1dd8a9bca2488f2d3c946406b01fcbdce0487922ece49fe2121c39d6d10bcfcb6a056edbbf88ba6c22772ef88a250fc8ffcba33ead399c0d7c8f5d19d0e896d3 SHA512 ff9842a91035f843482d93eac8a35cddf2ce16acaa43a0112c1efff08802aebf705ee70d47eff74a190dca7be330c31f7204ad27cb63bdee65333f9b9c984212 +DIST gawk-5.1.0.tar.xz 3154564 BLAKE2B a969b03f45e1d830d2b3760d75530de97eb521a35ac448cf441d7fd2d1a8c1059bd9240cb9571f58ef6ec122864ced3d274a07453c3138177deda895ac3433d9 SHA512 971e6a7617eb051d587984f64be2ff830e49eb60721c3401e8944401e3c3a7cd3334f0334b6e28bfc9283aaff15d83b0933f1fd77b0f8c7059068fa3f94c3cb4 diff --git a/sys-apps/gawk/gawk-5.0.0.ebuild b/sys-apps/gawk/gawk-5.1.0.ebuild similarity index 73% rename from sys-apps/gawk/gawk-5.0.0.ebuild rename to sys-apps/gawk/gawk-5.1.0.ebuild index 1a1bc35f4c0c..850ebc1769ed 100644 --- a/sys-apps/gawk/gawk-5.0.0.ebuild +++ b/sys-apps/gawk/gawk-5.1.0.ebuild @@ -1,7 +1,7 @@ # Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI="6" +EAPI=7 inherit toolchain-funcs multilib @@ -19,8 +19,12 @@ RDEPEND=" mpfr? ( dev-libs/mpfr:0= ) readline? ( sys-libs/readline:0= ) " -DEPEND="${RDEPEND} - nls? ( sys-devel/gettext )" +DEPEND="${RDEPEND}" +BDEPEND=" + >=sys-apps/texinfo-6.7 + >=sys-devel/bison-3.5.4 + nls? ( sys-devel/gettext ) +" src_prepare() { default @@ -30,7 +34,7 @@ src_prepare() { -e '/^LN =/s:=.*:= $(LN_S):' \ -e '/install-exec-hook:/s|$|\nfoo:|' \ Makefile.in doc/Makefile.in || die - sed -i '/^pty1:$/s|$|\n_pty1:|' test/Makefile.in #413327 + sed -i '/^pty1:$/s|$|\n_pty1:|' test/Makefile.in || die #413327 # fix standards conflict on Solaris if [[ ${CHOST} == *-solaris* ]] ; then sed -i \ @@ -58,26 +62,28 @@ src_install() { # Install headers insinto /usr/include/awk doins *.h - rm "${ED%/}"/usr/include/awk/config.h || die + rm "${ED}"/usr/include/awk/config.h || die } pkg_postinst() { # symlink creation here as the links do not belong to gawk, but to any awk - if has_version app-admin/eselect \ - && has_version app-eselect/eselect-awk ; then + if has_version app-admin/eselect && has_version app-eselect/eselect-awk ; then eselect awk update ifunset else local l - for l in "${EROOT}"/usr/share/man/man1/gawk.1* "${EROOT}"/usr/bin/gawk; do - [[ -e ${l} && ! -e ${l/gawk/awk} ]] && ln -s "${l##*/}" "${l/gawk/awk}" + for l in "${EROOT}"/usr/share/man/man1/gawk.1* "${EROOT}"/usr/bin/gawk ; do + if [[ -e ${l} ]] && ! [[ -e ${l/gawk/awk} ]] ; then + ln -s "${l##*/}" "${l/gawk/awk}" || die + fi done - [[ ! -e ${EROOT}/bin/awk ]] && ln -s "../usr/bin/gawk" "${EROOT}/bin/awk" + if ! [[ -e ${EROOT}/bin/awk ]] ; then + ln -s "../usr/bin/gawk" "${EROOT}/bin/awk" || die + fi fi } pkg_postrm() { - if has_version app-admin/eselect \ - && has_version app-eselect/eselect-awk ; then + if has_version app-admin/eselect && has_version app-eselect/eselect-awk ; then eselect awk update ifunset fi } diff --git a/sys-fs/Manifest.gz b/sys-fs/Manifest.gz index 8e85fcd222d5..21fce27dc0ac 100644 Binary files a/sys-fs/Manifest.gz and b/sys-fs/Manifest.gz differ diff --git a/sys-fs/lvm2/files/lvm.rc-2.02.187 b/sys-fs/lvm2/files/lvm.rc-2.02.187 new file mode 100644 index 000000000000..84e799c32f03 --- /dev/null +++ b/sys-fs/lvm2/files/lvm.rc-2.02.187 @@ -0,0 +1,173 @@ +#!/sbin/openrc-run +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +_get_lvm_path() { + local lvm_path= + for lvm_path in /bin/lvm /sbin/lvm ; do + [ -x "${lvm_path}" ] && break + done + echo "${lvm_path}" +} + +_use_lvmetad() { + local lvm_path="$(_get_lvm_path)" + [ ! -x "${lvm_path}" ] && return 1 + ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmetad=1' +} + +_use_lvmlockd() { + local lvm_path="$(_get_lvm_path)" + [ ! -x "${lvm_path}" ] && return 1 + ${lvm_path} dumpconfig global 2>/dev/null | grep -q 'use_lvmlockd=1' +} + +depend() { + before checkfs fsck + after modules device-mapper + # We may use lvmetad based on the configuration. If we added lvmetad + # support while lvm2 is running then we aren't dependent on it. For the + # more common case, if its disabled in the config we aren't dependent + # on it. + config /etc/lvm/lvm.conf + local _use= + + if service_started ; then + _use=$(service_get_value use) + else + if _use_lvmetad ; then + _use="${_use} lvmetad" + fi + + if _use_lvmlockd ; then + _use="${_use} lvmlockd" + fi + fi + + # Make sure you review /etc/conf.d/lvm as well! + # Depending on your system, it might also introduce udev & mdraid + need sysfs + + if [ -n "${_use}" ] ; then + use ${_use} + fi +} + +config='global { locking_dir = "/run/lock/lvm" }' + +dm_in_proc() { + local retval=0 + for x in devices misc ; do + grep -qs 'device-mapper' /proc/${x} + retval=$((${retval} + $?)) + done + return ${retval} +} + +start() { + # LVM support for /usr, /home, /opt .... + # This should be done *before* checking local + # volumes, or they never get checked. + + # NOTE: Add needed modules for LVM or RAID, etc + # to /etc/modules.autoload if needed + + lvm_path="$(_get_lvm_path)" + if [ -z "${lvm_path}" ] ; then + eerror "Failed to find lvm binary in /bin or /sbin!" + return 1 + fi + + if [ -z "${CDBOOT}" ] ; then + if [ -e /proc/modules ] && ! dm_in_proc ; then + ebegin "Trying to load dm-mod module" + modprobe dm-mod 2>/dev/null + eend $? + fi + + if [ -d /proc/lvm ] || dm_in_proc ; then + local has_errors=0 verbose_command + + yesno "${rc_verbose}" && verbose_command=" -v" + + ebegin "Starting the Logical Volume Manager" + + if _use_lvmetad ; then + # Extra PV find pass because some devices might not have been available until very recently + ${lvm_path} pvscan${verbose_command} --config "${config}" --cache + [ $? -ne 0 ] && has_errors=1 + fi + + # Now make the nodes + ${lvm_path} vgscan${verbose_command} --config "${config}" --mknodes + [ $? -ne 0 ] && has_errors=1 + + # Enable all VGs + ${lvm_path} vgchange${verbose_command} --config "${config}" --sysinit --activate y + [ $? -ne 0 ] && has_errors=1 + + if _use_lvmlockd ; then + # Start lockd VGs as required + ${lvm_path} vgchange${verbose_command} --config "${config}" --lock-start --lock-opt auto + [ $? -ne 0 ] && has_errors=1 + fi + + eend ${has_errors} "Failed to start the Logical Volume Manager" + fi + fi +} + +start_post() { + local _use= + if _use_lvmetad ; then + _use="${_use} lvmetad" + fi + + if _use_lvmlockd ; then + _use="${_use} lvmlockd" + fi + + service_set_value use "${_use}" +} + +stop() { + lvm_path="$(_get_lvm_path)" + if [ -z "${lvm_path}" ] ; then + eerror "Failed to find lvm binary in /bin or /sbin!" + return 1 + fi + + # Stop LVM2 + if [ -f /etc/lvmtab -o -d /etc/lvm ] \ + && [ -d /proc/lvm -o "$(grep device-mapper /proc/misc 2>/dev/null)" ] + then + local VGS=$($lvm_path vgs --config "${config}" -o vg_name --noheadings --nosuffix --rows 2> /dev/null) + if [ -z "${VGS}" ] ; then + # nothing to do for us + return 0 + fi + + local has_errors=0 verbose_command eend_cmd="eend" + + yesno "${rc_verbose}" && verbose_command=" -v" + + local msg="Failed to stop Logical Volume Manager" + if [ "${RC_RUNLEVEL}" = shutdown ] ; then + # failures on shutdown are non-fatal + eend_cmd="ewend" + msg="${msg} (possibly some LVs still needed for /usr or root)" + fi + + ebegin "Stopping the Logical Volume Manager" + + ${lvm_path} vgchange${verbose_command} --config "${config}" --sysinit --activate n + [ $? -ne 0 ] && has_errors=1 + + ${eend_cmd} ${has_errors} "${msg}" + fi + + # at this point make sure we always exit without indicating an error + return 0 +} + +# vim:ts=4 diff --git a/sys-fs/lvm2/lvm2-2.02.187-r1.ebuild b/sys-fs/lvm2/lvm2-2.02.187-r1.ebuild new file mode 100644 index 000000000000..12522e077cc4 --- /dev/null +++ b/sys-fs/lvm2/lvm2-2.02.187-r1.ebuild @@ -0,0 +1,279 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools linux-info multilib systemd toolchain-funcs udev flag-o-matic + +DESCRIPTION="User-land utilities for LVM2 (device-mapper) software" +HOMEPAGE="https://sourceware.org/lvm2/" +SRC_URI="ftp://sourceware.org/pub/lvm2/${PN/lvm/LVM}.${PV}.tgz + ftp://sourceware.org/pub/lvm2/old/${PN/lvm/LVM}.${PV}.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" +IUSE="readline static static-libs systemd lvm2create_initrd sanlock selinux +udev +thin device-mapper-only" +REQUIRED_USE="device-mapper-only? ( !lvm2create_initrd !sanlock !thin ) + systemd? ( udev )" + +DEPEND_COMMON=" + dev-libs/libaio[static-libs?] + static? ( dev-libs/libaio[static-libs] ) + !static? ( dev-libs/libaio[static-libs?] ) + readline? ( sys-libs/readline:0= ) + sanlock? ( sys-cluster/sanlock ) + systemd? ( >=sys-apps/systemd-205:0= ) + udev? ( >=virtual/libudev-208:=[static-libs(-)?] )" +# /run is now required for locking during early boot. /var cannot be assumed to +# be available -- thus, pull in recent enough baselayout for /run. +# This version of LVM is incompatible with cryptsetup <1.1.2. +RDEPEND="${DEPEND_COMMON} + >=sys-apps/baselayout-2.2 + !=sys-apps/util-linux-2.16 + lvm2create_initrd? ( sys-apps/makedev ) + thin? ( >=sys-block/thin-provisioning-tools-0.3.0 )" +# note: thin- 0.3.0 is required to avoid --disable-thin_check_needs_check +# USE 'static' currently only works with eudev, bug 520450 +DEPEND="${DEPEND_COMMON} + >=sys-devel/binutils-2.20.1-r1 + static? ( + selinux? ( sys-libs/libselinux[static-libs] ) + udev? ( >=sys-fs/eudev-3.1.2[static-libs] ) + >=sys-apps/util-linux-2.16[static-libs] + )" +BDEPEND=" + sys-devel/autoconf-archive + virtual/pkgconfig +" + +S="${WORKDIR}/${PN/lvm/LVM}.${PV}" + +PATCHES=( + # Gentoo specific modification(s): + "${FILESDIR}"/${PN}-2.02.178-example.conf.in.patch + + # For upstream -- review and forward: + "${FILESDIR}"/${PN}-2.02.63-always-make-static-libdm.patch + "${FILESDIR}"/${PN}-2.02.56-lvm2create_initrd.patch + "${FILESDIR}"/${PN}-2.02.67-createinitrd.patch #301331 + "${FILESDIR}"/${PN}-2.02.99-locale-muck.patch #330373 + "${FILESDIR}"/${PN}-2.02.178-asneeded.patch # -Wl,--as-needed + "${FILESDIR}"/${PN}-2.02.178-dynamic-static-ldflags.patch #332905 + "${FILESDIR}"/${PN}-2.02.178-static-pkgconfig-libs.patch #370217, #439414 + blkid + "${FILESDIR}"/${PN}-2.02.176-pthread-pkgconfig.patch #492450 + "${FILESDIR}"/${PN}-2.02.171-static-libm.patch #617756 + "${FILESDIR}"/${PN}-2.02.166-HPPA-no-O_DIRECT.patch #657446 + #"${FILESDIR}"/${PN}-2.02.145-mkdev.patch #580062 # Merged upstream + "${FILESDIR}"/${PN}-2.02.184-dmeventd-no-idle-exit.patch + #"${FILESDIR}"/${PN}-2.02.184-allow-reading-metadata-with-invalid-creation_time.patch #682380 # merged upstream + "${FILESDIR}"/${PN}-2.02.184-mksh_build.patch #686652 + "${FILESDIR}"/${PN}-2.02.186-udev_remove_unsupported_option.patch #700160 +) + +pkg_setup() { + local CONFIG_CHECK="~SYSVIPC" + + if use udev; then + local WARNING_SYSVIPC="CONFIG_SYSVIPC:\tis not set (required for udev sync)\n" + if linux_config_exists; then + local uevent_helper_path=$(linux_chkconfig_string UEVENT_HELPER_PATH) + if [[ -n "${uevent_helper_path}" ]] && [[ "${uevent_helper_path}" != '""' ]]; then + ewarn "It's recommended to set an empty value to the following kernel config option:" + ewarn "CONFIG_UEVENT_HELPER_PATH=${uevent_helper_path}" + fi + fi + fi + + check_extra_config + + # 1. Genkernel no longer copies /sbin/lvm blindly. + if use static; then + elog "Warning, we no longer overwrite /sbin/lvm and /sbin/dmsetup with" + elog "their static versions. If you need the static binaries," + elog "you must append .static to the filename!" + fi +} + +src_prepare() { + default + + sed -i \ + -e "1iAR = $(tc-getAR)" \ + -e "s:CC ?= @CC@:CC = $(tc-getCC):" \ + make.tmpl.in || die #444082 + + sed -i -e '/FLAG/s:-O2::' configure{.ac,} || die #480212 + + if use udev && ! use device-mapper-only; then + sed -i -e '/use_lvmetad =/s:0:1:' conf/example.conf.in || die #514196 + elog "Notice that \"use_lvmetad\" setting is enabled with USE=\"udev\" in" + elog "/etc/lvm/lvm.conf, which will require restart of udev, lvm, and lvmetad" + elog "if it was previously disabled." + fi + + sed -i -e "s:/usr/bin/true:$(type -P true):" scripts/blk_availability_systemd_red_hat.service.in || die #517514 + + # Don't install thin man page when not requested + if ! use thin ; then + sed -i -e 's/^\(MAN7+=.*\) $(LVMTHINMAN) \(.*\)$/\1 \2/' man/Makefile.in || die + fi + + eautoreconf +} + +src_configure() { + filter-flags -flto + local myeconfargs=() + + # Most of this package does weird stuff. + # The build options are tristate, and --without is NOT supported + # options: 'none', 'internal', 'shared' + myeconfargs+=( + $(use_enable !device-mapper-only dmfilemapd) + $(use_enable !device-mapper-only dmeventd) + $(use_enable !device-mapper-only cmdlib) + $(use_enable !device-mapper-only applib) + $(use_enable !device-mapper-only fsadm) + $(use_enable !device-mapper-only lvmetad) + $(use_enable !device-mapper-only lvmpolld) + $(usex device-mapper-only --disable-udev-systemd-background-jobs '') + + # This only causes the .static versions to become available + $(usex static --enable-static_link '') + + # dmeventd requires mirrors to be internal, and snapshot available + # so we cannot disable them + --with-mirrors="$(usex device-mapper-only none internal)" + --with-snapshots="$(usex device-mapper-only none internal)" + + # disable O_DIRECT support on hppa, breaks pv detection (#99532) + $(usex hppa --disable-o_direct '') + ) + + if use thin; then + myeconfargs+=( --with-thin=internal --with-cache=internal ) + local texec + for texec in check dump repair restore; do + myeconfargs+=( --with-thin-${texec}="${EPREFIX}"/sbin/thin_${texec} ) + myeconfargs+=( --with-cache-${texec}="${EPREFIX}"/sbin/cache_${texec} ) + done + else + myeconfargs+=( --with-thin=none --with-cache=none ) + fi + + myeconfargs+=( --with-clvmd=none --with-cluster=none ) + + myeconfargs+=( + $(use_enable readline) + $(use_enable selinux) + --enable-pkgconfig + --with-confdir="${EPREFIX}"/etc + --exec-prefix="${EPREFIX}" + --sbindir="${EPREFIX}/sbin" + --with-staticdir="${EPREFIX}"/sbin + --libdir="${EPREFIX}/$(get_libdir)" + --with-usrlibdir="${EPREFIX}/usr/$(get_libdir)" + --with-default-dm-run-dir=/run + --with-default-run-dir=/run/lvm + --with-default-locking-dir=/run/lock/lvm + --with-default-pid-dir=/run + $(use_enable udev udev_rules) + $(use_enable udev udev_sync) + $(use_with udev udevdir "$(get_udevdir)"/rules.d) + $(use_enable sanlock lvmlockd-sanlock) + $(use_enable systemd udev-systemd-background-jobs) + $(use_enable systemd notify-dbus) + --with-systemdsystemunitdir="$(systemd_get_systemunitdir)" + CLDFLAGS="${LDFLAGS}" + ) + # Hard-wire this to bash as some shells (dash) don't know + # "-o pipefail" #682404 + CONFIG_SHELL="/bin/bash" \ + econf "${myeconfargs[@]}" +} + +src_compile() { + pushd include >/dev/null + emake V=1 + popd >/dev/null + + if use device-mapper-only ; then + emake V=1 device-mapper + else + emake V=1 + emake V=1 CC="$(tc-getCC)" -C scripts lvm2_activation_generator_systemd_red_hat + fi +} + +src_install() { + local inst INSTALL_TARGETS + INSTALL_TARGETS=( install install_tmpfiles_configuration ) + # install systemd related files only when requested, bug #522430 + use systemd && INSTALL_TARGETS+=( install_systemd_units install_systemd_generators ) + use device-mapper-only && INSTALL_TARGETS=( install_device-mapper ) + for inst in ${INSTALL_TARGETS[@]}; do + emake V=1 DESTDIR="${D}" ${inst} + done + + newinitd "${FILESDIR}"/device-mapper.rc-2.02.105-r2 device-mapper + newconfd "${FILESDIR}"/device-mapper.conf-1.02.22-r3 device-mapper + + if use !device-mapper-only ; then + newinitd "${FILESDIR}"/dmeventd.initd-2.02.184-r2 dmeventd + newinitd "${FILESDIR}"/lvm.rc-2.02.187 lvm + newconfd "${FILESDIR}"/lvm.confd-2.02.184-r3 lvm + if ! use udev ; then + # We keep the variable but remove udev from it. + sed -r -i \ + -e '/^rc_need=/s/\//g' \ + "${ED}/etc/conf.d/lvm" || die "Could not drop udev from rc_need" + fi + + newinitd "${FILESDIR}"/lvm-monitoring.initd-2.02.105-r2 lvm-monitoring + newinitd "${FILESDIR}"/lvmetad.initd-2.02.116-r3 lvmetad + newinitd "${FILESDIR}"/lvmpolld.initd-2.02.183 lvmpolld + fi + + if use sanlock; then + newinitd "${FILESDIR}"/lvmlockd.initd-2.02.166-r1 lvmlockd + fi + + if use static-libs; then + dolib.a libdm/ioctl/libdevmapper.a + if use !device-mapper-only; then + # depends on lvmetad + dolib.a libdaemon/client/libdaemonclient.a #462908 + # depends on dmeventd + dolib.a daemons/dmeventd/libdevmapper-event.a + fi + else + rm -f "${ED}"/usr/$(get_libdir)/{libdevmapper-event,liblvm2cmd,liblvm2app,libdevmapper}.a + fi + + if use lvm2create_initrd; then + dosbin scripts/lvm2create_initrd/lvm2create_initrd + doman scripts/lvm2create_initrd/lvm2create_initrd.8 + newdoc scripts/lvm2create_initrd/README README.lvm2create_initrd + fi + + insinto /etc + doins "${FILESDIR}"/dmtab + + dodoc README VERSION* WHATS_NEW WHATS_NEW_DM doc/*.{c,txt} conf/*.conf +} + +pkg_postinst() { + ewarn "Make sure the \"lvm\" init script is in the runlevels:" + ewarn "# rc-update add lvm boot" + ewarn + ewarn "Make sure to enable lvmetad in /etc/lvm/lvm.conf if you want" + ewarn "to enable lvm autoactivation and metadata caching." +} + +src_test() { + einfo "Tests are disabled because of device-node mucking, if you want to" + einfo "run tests, compile the package and see ${S}/tests" +} diff --git a/www-servers/Manifest.gz b/www-servers/Manifest.gz index f856310882ac..2ef50188dce8 100644 Binary files a/www-servers/Manifest.gz and b/www-servers/Manifest.gz differ diff --git a/www-servers/nginx/Manifest b/www-servers/nginx/Manifest index 07321019e1ee..701704875275 100644 --- a/www-servers/nginx/Manifest +++ b/www-servers/nginx/Manifest @@ -1,5 +1,6 @@ DIST modsecurity-2.9.3.tar.gz 4307670 BLAKE2B 337ea15cc8805af7ab43aed8aecf4c72ccc586d0d7e9d9b91f036a61baa70d1ac8b4ad8045a2bb7a13515912a15fba7d3cdb9670ae6730de43b1e44ee90ded6d SHA512 4e1ea5dd8edadf8f630e4fe92a200d3a8e78963fce3128b5975a1e1ecd0e8bf9ceecd9905c95f8c508932ccd837f1d8ae8bb2ba423307718c3c6a4ae9b783ddd DIST nginx-1.16.1.tar.gz 1032630 BLAKE2B 838c5f08b56378dd3ef3940a979eb1449c4ed7ef5b4b112da2531c0996d121ae32ae4e94d3b4ba198fefcdc1b06683e4b0cfa0087db82fcab13bffb5f67f8aa4 SHA512 17e95b43fa47d4fef5e652dea587518e16ab5ec562c9c94355c356440166d4b6a6a41ee520d406e5a34791a327d2e3c46b3f9b105ac9ce07afdd495c49eca437 +DIST nginx-1.17.10.tar.gz 1039541 BLAKE2B 5e86be6c6aebfd336579269ecfa09eab9ff5c0185e0bd36f993b5ccac4d13f64ef3d10cad4d0ac00c7fb67e3ecb048b7b0f4c74cf5c5376fdc643b5cecee28ac SHA512 0b49169bc49e07733862e09ec5bfa93601ffa57379f98d52a115e511502905baf4cd33b73a03d74416f8c6ffa95ebf4459fc934bd40bfdf54d5b6d35ac4f8756 DIST nginx-1.17.9.tar.gz 1039136 BLAKE2B bc4cb6fa93288f936ee36b86846b9eb864406799bd1cbc14b2e924e30b0490858e573100ea1e6ca506e1353c71176ebaa5e0109e3d5395e9029a41fa899c60ef SHA512 9d6af46bc575763d5d2c279451919a491bdfafb927a8c0783ccc8326a86ed66f9183c900a9844bf31dcde015f36ea6a8e0d3817b77f9b17aebae701c759fe9b6 DIST nginx-auth-ldap-42d195d7a7575ebab1c369ad3fc5d78dc2c2669c.tar.gz 18457 BLAKE2B 22225ca9e5299b20ab5a93a001cac48e446bd86b3a24ac49e716bc975b128890bdb4b0dbbf5730fbaaeadfd958160093c7a6af798dd0e6de27062f149a760333 SHA512 ec59637fda5acac053e815cb1d04b545fc6b765e5ec63d8c2c9c301abad87afaa2698145acac08e9e14c91e1423ebff7aff0cca2b940b19ccccbf4cf53973269 DIST nginx_http_sticky_module_ng-1.2.6-10-g08a395c66e42.tar.bz2 124047 BLAKE2B d37ef9a15c91abe3c6258e420d1f99fa452f9d9966a0e13102174973314a3bac5413957a5fe632a9dcb1163b3be5df8116e05cc053ee061e19319ec25f341570 SHA512 6c1bfdcf89884b2855d51ae7da0f6e53a4ca3629e1aaf58433b70c07dcb2af797ba6e87d9b3eb4fe2fb6d4d697e862f2b4c2f8d8b3fdaea201740c97ec936529 diff --git a/www-servers/nginx/nginx-1.17.10.ebuild b/www-servers/nginx/nginx-1.17.10.ebuild new file mode 100644 index 000000000000..6cda406abe2b --- /dev/null +++ b/www-servers/nginx/nginx-1.17.10.ebuild @@ -0,0 +1,1093 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +# Maintainer notes: +# - http_rewrite-independent pcre-support makes sense for matching locations without an actual rewrite +# - any http-module activates the main http-functionality and overrides USE=-http +# - keep the following requirements in mind before adding external modules: +# * alive upstream +# * sane packaging +# * builds cleanly +# * does not need a patch for nginx core +# - TODO: test the google-perftools module (included in vanilla tarball) + +# prevent perl-module from adding automagic perl DEPENDs +GENTOO_DEPEND_ON_PERL="no" + +# devel_kit (https://github.com/simpl/ngx_devel_kit, BSD license) +DEVEL_KIT_MODULE_PV="0.3.1" +DEVEL_KIT_MODULE_P="ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" +DEVEL_KIT_MODULE_URI="https://github.com/simpl/ngx_devel_kit/archive/v${DEVEL_KIT_MODULE_PV}.tar.gz" +DEVEL_KIT_MODULE_WD="${WORKDIR}/ngx_devel_kit-${DEVEL_KIT_MODULE_PV}" + +# ngx_brotli (https://github.com/eustas/ngx_brotli, BSD-2) +HTTP_BROTLI_MODULE_PV="8104036af9cff4b1d34f22d00ba857e2a93a243c" +HTTP_BROTLI_MODULE_P="ngx_brotli-${HTTP_BROTLI_MODULE_PV}" +HTTP_BROTLI_MODULE_URI="https://github.com/eustas/ngx_brotli/archive/${HTTP_BROTLI_MODULE_PV}.tar.gz" +HTTP_BROTLI_MODULE_WD="${WORKDIR}/ngx_brotli-${HTTP_BROTLI_MODULE_PV}" + +# http_uploadprogress (https://github.com/masterzen/nginx-upload-progress-module, BSD-2 license) +HTTP_UPLOAD_PROGRESS_MODULE_PV="0.9.2" +HTTP_UPLOAD_PROGRESS_MODULE_P="ngx_http_upload_progress-${HTTP_UPLOAD_PROGRESS_MODULE_PV}-r1" +HTTP_UPLOAD_PROGRESS_MODULE_URI="https://github.com/masterzen/nginx-upload-progress-module/archive/v${HTTP_UPLOAD_PROGRESS_MODULE_PV}.tar.gz" +HTTP_UPLOAD_PROGRESS_MODULE_WD="${WORKDIR}/nginx-upload-progress-module-${HTTP_UPLOAD_PROGRESS_MODULE_PV}" + +# http_headers_more (https://github.com/agentzh/headers-more-nginx-module, BSD license) +HTTP_HEADERS_MORE_MODULE_PV="0.33" +HTTP_HEADERS_MORE_MODULE_P="ngx_http_headers_more-${HTTP_HEADERS_MORE_MODULE_PV}" +HTTP_HEADERS_MORE_MODULE_URI="https://github.com/agentzh/headers-more-nginx-module/archive/v${HTTP_HEADERS_MORE_MODULE_PV}.tar.gz" +HTTP_HEADERS_MORE_MODULE_WD="${WORKDIR}/headers-more-nginx-module-${HTTP_HEADERS_MORE_MODULE_PV}" + +# http_cache_purge (http://labs.frickle.com/nginx_ngx_cache_purge/, https://github.com/FRiCKLE/ngx_cache_purge, BSD-2 license) +HTTP_CACHE_PURGE_MODULE_PV="2.3" +HTTP_CACHE_PURGE_MODULE_P="ngx_http_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}" +HTTP_CACHE_PURGE_MODULE_URI="http://labs.frickle.com/files/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}.tar.gz" +HTTP_CACHE_PURGE_MODULE_WD="${WORKDIR}/ngx_cache_purge-${HTTP_CACHE_PURGE_MODULE_PV}" + +# http_slowfs_cache (http://labs.frickle.com/nginx_ngx_slowfs_cache/, BSD-2 license) +HTTP_SLOWFS_CACHE_MODULE_PV="1.10" +HTTP_SLOWFS_CACHE_MODULE_P="ngx_http_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}" +HTTP_SLOWFS_CACHE_MODULE_URI="http://labs.frickle.com/files/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}.tar.gz" +HTTP_SLOWFS_CACHE_MODULE_WD="${WORKDIR}/ngx_slowfs_cache-${HTTP_SLOWFS_CACHE_MODULE_PV}" + +# http_fancyindex (https://github.com/aperezdc/ngx-fancyindex, BSD license) +HTTP_FANCYINDEX_MODULE_PV="0.4.3" +HTTP_FANCYINDEX_MODULE_P="ngx_http_fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" +HTTP_FANCYINDEX_MODULE_URI="https://github.com/aperezdc/ngx-fancyindex/archive/v${HTTP_FANCYINDEX_MODULE_PV}.tar.gz" +HTTP_FANCYINDEX_MODULE_WD="${WORKDIR}/ngx-fancyindex-${HTTP_FANCYINDEX_MODULE_PV}" + +# http_lua (https://github.com/openresty/lua-nginx-module, BSD license) +HTTP_LUA_MODULE_PV="0.10.15" +HTTP_LUA_MODULE_P="ngx_http_lua-${HTTP_LUA_MODULE_PV}" +HTTP_LUA_MODULE_URI="https://github.com/openresty/lua-nginx-module/archive/v${HTTP_LUA_MODULE_PV}.tar.gz" +HTTP_LUA_MODULE_WD="${WORKDIR}/lua-nginx-module-${HTTP_LUA_MODULE_PV}" + +# http_auth_pam (https://github.com/stogh/ngx_http_auth_pam_module/, http://web.iti.upv.es/~sto/nginx/, BSD-2 license) +HTTP_AUTH_PAM_MODULE_PV="1.5.1" +HTTP_AUTH_PAM_MODULE_P="ngx_http_auth_pam-${HTTP_AUTH_PAM_MODULE_PV}" +HTTP_AUTH_PAM_MODULE_URI="https://github.com/stogh/ngx_http_auth_pam_module/archive/v${HTTP_AUTH_PAM_MODULE_PV}.tar.gz" +HTTP_AUTH_PAM_MODULE_WD="${WORKDIR}/ngx_http_auth_pam_module-${HTTP_AUTH_PAM_MODULE_PV}" + +# http_upstream_check (https://github.com/yaoweibin/nginx_upstream_check_module, BSD license) +HTTP_UPSTREAM_CHECK_MODULE_PV="9aecf15ec379fe98f62355c57b60c0bc83296f04" +HTTP_UPSTREAM_CHECK_MODULE_P="ngx_http_upstream_check-${HTTP_UPSTREAM_CHECK_MODULE_PV}" +HTTP_UPSTREAM_CHECK_MODULE_URI="https://github.com/yaoweibin/nginx_upstream_check_module/archive/${HTTP_UPSTREAM_CHECK_MODULE_PV}.tar.gz" +HTTP_UPSTREAM_CHECK_MODULE_WD="${WORKDIR}/nginx_upstream_check_module-${HTTP_UPSTREAM_CHECK_MODULE_PV}" + +# http_metrics (https://github.com/zenops/ngx_metrics, BSD license) +HTTP_METRICS_MODULE_PV="0.1.1" +HTTP_METRICS_MODULE_P="ngx_metrics-${HTTP_METRICS_MODULE_PV}" +HTTP_METRICS_MODULE_URI="https://github.com/madvertise/ngx_metrics/archive/v${HTTP_METRICS_MODULE_PV}.tar.gz" +HTTP_METRICS_MODULE_WD="${WORKDIR}/ngx_metrics-${HTTP_METRICS_MODULE_PV}" + +# http_vhost_traffic_status (https://github.com/vozlt/nginx-module-vts, BSD license) +HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV="46d85558e344dfe2b078ce757fd36c69a1ec2dd3" +HTTP_VHOST_TRAFFIC_STATUS_MODULE_P="ngx_http_vhost_traffic_status-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}" +HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI="https://github.com/vozlt/nginx-module-vts/archive/${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}.tar.gz" +HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD="${WORKDIR}/nginx-module-vts-${HTTP_VHOST_TRAFFIC_STATUS_MODULE_PV}" + +# naxsi-core (https://github.com/nbs-system/naxsi, GPLv2+) +HTTP_NAXSI_MODULE_PV="0.56" +HTTP_NAXSI_MODULE_P="ngx_http_naxsi-${HTTP_NAXSI_MODULE_PV}" +HTTP_NAXSI_MODULE_URI="https://github.com/nbs-system/naxsi/archive/${HTTP_NAXSI_MODULE_PV}.tar.gz" +HTTP_NAXSI_MODULE_WD="${WORKDIR}/naxsi-${HTTP_NAXSI_MODULE_PV}/naxsi_src" + +# nginx-rtmp-module (https://github.com/arut/nginx-rtmp-module, BSD license) +RTMP_MODULE_PV="1.2.1" +RTMP_MODULE_P="ngx_rtmp-${RTMP_MODULE_PV}" +RTMP_MODULE_URI="https://github.com/arut/nginx-rtmp-module/archive/v${RTMP_MODULE_PV}.tar.gz" +RTMP_MODULE_WD="${WORKDIR}/nginx-rtmp-module-${RTMP_MODULE_PV}" + +# nginx-dav-ext-module (https://github.com/arut/nginx-dav-ext-module, BSD license) +HTTP_DAV_EXT_MODULE_PV="3.0.0" +HTTP_DAV_EXT_MODULE_P="ngx_http_dav_ext-${HTTP_DAV_EXT_MODULE_PV}" +HTTP_DAV_EXT_MODULE_URI="https://github.com/arut/nginx-dav-ext-module/archive/v${HTTP_DAV_EXT_MODULE_PV}.tar.gz" +HTTP_DAV_EXT_MODULE_WD="${WORKDIR}/nginx-dav-ext-module-${HTTP_DAV_EXT_MODULE_PV}" + +# echo-nginx-module (https://github.com/openresty/echo-nginx-module, BSD license) +HTTP_ECHO_MODULE_PV="0.62rc1" +HTTP_ECHO_MODULE_P="ngx_http_echo-${HTTP_ECHO_MODULE_PV}" +HTTP_ECHO_MODULE_URI="https://github.com/openresty/echo-nginx-module/archive/v${HTTP_ECHO_MODULE_PV}.tar.gz" +HTTP_ECHO_MODULE_WD="${WORKDIR}/echo-nginx-module-${HTTP_ECHO_MODULE_PV}" + +# mod_security for nginx (https://modsecurity.org/, Apache-2.0) +# keep the MODULE_P here consistent with upstream to avoid tarball duplication +HTTP_SECURITY_MODULE_PV="2.9.3" +HTTP_SECURITY_MODULE_P="modsecurity-${HTTP_SECURITY_MODULE_PV}" +HTTP_SECURITY_MODULE_URI="https://www.modsecurity.org/tarball/${HTTP_SECURITY_MODULE_PV}/${HTTP_SECURITY_MODULE_P}.tar.gz" +HTTP_SECURITY_MODULE_WD="${WORKDIR}/${HTTP_SECURITY_MODULE_P}" + +# push-stream-module (http://www.nginxpushstream.com, https://github.com/wandenberg/nginx-push-stream-module, GPL-3) +HTTP_PUSH_STREAM_MODULE_PV="0.5.4" +HTTP_PUSH_STREAM_MODULE_P="ngx_http_push_stream-${HTTP_PUSH_STREAM_MODULE_PV}" +HTTP_PUSH_STREAM_MODULE_URI="https://github.com/wandenberg/nginx-push-stream-module/archive/${HTTP_PUSH_STREAM_MODULE_PV}.tar.gz" +HTTP_PUSH_STREAM_MODULE_WD="${WORKDIR}/nginx-push-stream-module-${HTTP_PUSH_STREAM_MODULE_PV}" + +# sticky-module (https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng, BSD-2) +HTTP_STICKY_MODULE_PV="1.2.6-10-g08a395c66e42" +HTTP_STICKY_MODULE_P="nginx_http_sticky_module_ng-${HTTP_STICKY_MODULE_PV}" +HTTP_STICKY_MODULE_URI="https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/${HTTP_STICKY_MODULE_PV}.tar.bz2" +HTTP_STICKY_MODULE_WD="${WORKDIR}/nginx-goodies-nginx-sticky-module-ng-08a395c66e42" + +# mogilefs-module (https://github.com/vkholodkov/nginx-mogilefs-module, BSD-2) +HTTP_MOGILEFS_MODULE_PV="1.0.4" +HTTP_MOGILEFS_MODULE_P="ngx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}" +HTTP_MOGILEFS_MODULE_URI="https://github.com/vkholodkov/nginx-mogilefs-module/archive/${HTTP_MOGILEFS_MODULE_PV}.tar.gz" +HTTP_MOGILEFS_MODULE_WD="${WORKDIR}/nginx_mogilefs_module-${HTTP_MOGILEFS_MODULE_PV}" + +# memc-module (https://github.com/openresty/memc-nginx-module, BSD-2) +HTTP_MEMC_MODULE_PV="0.19" +HTTP_MEMC_MODULE_P="ngx_memc_module-${HTTP_MEMC_MODULE_PV}" +HTTP_MEMC_MODULE_URI="https://github.com/openresty/memc-nginx-module/archive/v${HTTP_MEMC_MODULE_PV}.tar.gz" +HTTP_MEMC_MODULE_WD="${WORKDIR}/memc-nginx-module-${HTTP_MEMC_MODULE_PV}" + +# nginx-ldap-auth-module (https://github.com/kvspb/nginx-auth-ldap, BSD-2) +HTTP_LDAP_MODULE_PV="42d195d7a7575ebab1c369ad3fc5d78dc2c2669c" +HTTP_LDAP_MODULE_P="nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}" +HTTP_LDAP_MODULE_URI="https://github.com/kvspb/nginx-auth-ldap/archive/${HTTP_LDAP_MODULE_PV}.tar.gz" +HTTP_LDAP_MODULE_WD="${WORKDIR}/nginx-auth-ldap-${HTTP_LDAP_MODULE_PV}" + +# geoip2 (https://github.com/leev/ngx_http_geoip2_module, BSD-2) +GEOIP2_MODULE_PV="3.3" +GEOIP2_MODULE_P="ngx_http_geoip2_module-${GEOIP2_MODULE_PV}" +GEOIP2_MODULE_URI="https://github.com/leev/ngx_http_geoip2_module/archive/${GEOIP2_MODULE_PV}.tar.gz" +GEOIP2_MODULE_WD="${WORKDIR}/ngx_http_geoip2_module-${GEOIP2_MODULE_PV}" + +# njs-module (https://github.com/nginx/njs, as-is) +NJS_MODULE_PV="0.3.9" +NJS_MODULE_P="njs-${NJS_MODULE_PV}" +NJS_MODULE_URI="https://github.com/nginx/njs/archive/${NJS_MODULE_PV}.tar.gz" +NJS_MODULE_WD="${WORKDIR}/njs-${NJS_MODULE_PV}" + +# We handle deps below ourselves +SSL_DEPS_SKIP=1 +AUTOTOOLS_AUTO_DEPEND="no" + +inherit autotools ssl-cert toolchain-funcs perl-module flag-o-matic user systemd versionator multilib pax-utils + +DESCRIPTION="Robust, small and high performance http and reverse proxy server" +HOMEPAGE="https://nginx.org" +SRC_URI="https://nginx.org/download/${P}.tar.gz + ${DEVEL_KIT_MODULE_URI} -> ${DEVEL_KIT_MODULE_P}.tar.gz + nginx_modules_http_auth_ldap? ( ${HTTP_LDAP_MODULE_URI} -> ${HTTP_LDAP_MODULE_P}.tar.gz ) + nginx_modules_http_auth_pam? ( ${HTTP_AUTH_PAM_MODULE_URI} -> ${HTTP_AUTH_PAM_MODULE_P}.tar.gz ) + nginx_modules_http_brotli? ( ${HTTP_BROTLI_MODULE_URI} -> ${HTTP_BROTLI_MODULE_P}.tar.gz ) + nginx_modules_http_cache_purge? ( ${HTTP_CACHE_PURGE_MODULE_URI} -> ${HTTP_CACHE_PURGE_MODULE_P}.tar.gz ) + nginx_modules_http_dav_ext? ( ${HTTP_DAV_EXT_MODULE_URI} -> ${HTTP_DAV_EXT_MODULE_P}.tar.gz ) + nginx_modules_http_echo? ( ${HTTP_ECHO_MODULE_URI} -> ${HTTP_ECHO_MODULE_P}.tar.gz ) + nginx_modules_http_fancyindex? ( ${HTTP_FANCYINDEX_MODULE_URI} -> ${HTTP_FANCYINDEX_MODULE_P}.tar.gz ) + nginx_modules_http_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz ) + nginx_modules_http_headers_more? ( ${HTTP_HEADERS_MORE_MODULE_URI} -> ${HTTP_HEADERS_MORE_MODULE_P}.tar.gz ) + nginx_modules_http_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz ) + nginx_modules_http_lua? ( ${HTTP_LUA_MODULE_URI} -> ${HTTP_LUA_MODULE_P}.tar.gz ) + nginx_modules_http_memc? ( ${HTTP_MEMC_MODULE_URI} -> ${HTTP_MEMC_MODULE_P}.tar.gz ) + nginx_modules_http_metrics? ( ${HTTP_METRICS_MODULE_URI} -> ${HTTP_METRICS_MODULE_P}.tar.gz ) + nginx_modules_http_mogilefs? ( ${HTTP_MOGILEFS_MODULE_URI} -> ${HTTP_MOGILEFS_MODULE_P}.tar.gz ) + nginx_modules_http_naxsi? ( ${HTTP_NAXSI_MODULE_URI} -> ${HTTP_NAXSI_MODULE_P}.tar.gz ) + nginx_modules_http_push_stream? ( ${HTTP_PUSH_STREAM_MODULE_URI} -> ${HTTP_PUSH_STREAM_MODULE_P}.tar.gz ) + nginx_modules_http_security? ( ${HTTP_SECURITY_MODULE_URI} -> ${HTTP_SECURITY_MODULE_P}.tar.gz ) + nginx_modules_http_slowfs_cache? ( ${HTTP_SLOWFS_CACHE_MODULE_URI} -> ${HTTP_SLOWFS_CACHE_MODULE_P}.tar.gz ) + nginx_modules_http_sticky? ( ${HTTP_STICKY_MODULE_URI} -> ${HTTP_STICKY_MODULE_P}.tar.bz2 ) + nginx_modules_http_upload_progress? ( ${HTTP_UPLOAD_PROGRESS_MODULE_URI} -> ${HTTP_UPLOAD_PROGRESS_MODULE_P}.tar.gz ) + nginx_modules_http_upstream_check? ( ${HTTP_UPSTREAM_CHECK_MODULE_URI} -> ${HTTP_UPSTREAM_CHECK_MODULE_P}.tar.gz ) + nginx_modules_http_vhost_traffic_status? ( ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_URI} -> ${HTTP_VHOST_TRAFFIC_STATUS_MODULE_P}.tar.gz ) + nginx_modules_stream_geoip2? ( ${GEOIP2_MODULE_URI} -> ${GEOIP2_MODULE_P}.tar.gz ) + nginx_modules_stream_javascript? ( ${NJS_MODULE_URI} -> ${NJS_MODULE_P}.tar.gz ) + rtmp? ( ${RTMP_MODULE_URI} -> ${RTMP_MODULE_P}.tar.gz )" + +LICENSE="BSD-2 BSD SSLeay MIT GPL-2 GPL-2+ + nginx_modules_http_security? ( Apache-2.0 ) + nginx_modules_http_push_stream? ( GPL-3 )" + +SLOT="mainline" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" + +# Package doesn't provide a real test suite +RESTRICT="test" + +NGINX_MODULES_STD="access auth_basic autoindex browser charset empty_gif + fastcgi geo grpc gzip limit_req limit_conn map memcached mirror + proxy referer rewrite scgi ssi split_clients upstream_hash + upstream_ip_hash upstream_keepalive upstream_least_conn + upstream_zone userid uwsgi" +NGINX_MODULES_OPT="addition auth_request dav degradation flv geoip gunzip + gzip_static image_filter mp4 perl random_index realip secure_link + slice stub_status sub xslt" +NGINX_MODULES_STREAM_STD="access geo limit_conn map return split_clients + upstream_hash upstream_least_conn upstream_zone" +NGINX_MODULES_STREAM_OPT="geoip realip ssl_preread" +NGINX_MODULES_MAIL="imap pop3 smtp" +NGINX_MODULES_3RD=" + http_auth_ldap + http_auth_pam + http_brotli + http_cache_purge + http_dav_ext + http_echo + http_fancyindex + http_geoip2 + http_headers_more + http_javascript + http_lua + http_memc + http_metrics + http_mogilefs + http_naxsi + http_push_stream + http_security + http_slowfs_cache + http_sticky + http_upload_progress + http_upstream_check + http_vhost_traffic_status + stream_geoip2 + stream_javascript +" + +IUSE="aio debug +http +http2 +http-cache +ipv6 libatomic libressl luajit +pcre + pcre-jit rtmp selinux ssl threads userland_GNU vim-syntax" + +for mod in $NGINX_MODULES_STD; do + IUSE="${IUSE} +nginx_modules_http_${mod}" +done + +for mod in $NGINX_MODULES_OPT; do + IUSE="${IUSE} nginx_modules_http_${mod}" +done + +for mod in $NGINX_MODULES_STREAM_STD; do + IUSE="${IUSE} nginx_modules_stream_${mod}" +done + +for mod in $NGINX_MODULES_STREAM_OPT; do + IUSE="${IUSE} nginx_modules_stream_${mod}" +done + +for mod in $NGINX_MODULES_MAIL; do + IUSE="${IUSE} nginx_modules_mail_${mod}" +done + +for mod in $NGINX_MODULES_3RD; do + IUSE="${IUSE} nginx_modules_${mod}" +done + +# Add so we can warn users updating about config changes +# @TODO: jbergstroem: remove on next release series +IUSE="${IUSE} nginx_modules_http_spdy" + +CDEPEND=" + pcre? ( dev-libs/libpcre:= ) + pcre-jit? ( dev-libs/libpcre:=[jit] ) + ssl? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + http2? ( + !libressl? ( >=dev-libs/openssl-1.0.1c:0= ) + libressl? ( dev-libs/libressl:= ) + ) + http-cache? ( + userland_GNU? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + ) + nginx_modules_http_brotli? ( app-arch/brotli:= ) + nginx_modules_http_geoip? ( dev-libs/geoip ) + nginx_modules_http_geoip2? ( dev-libs/libmaxminddb:= ) + nginx_modules_http_gunzip? ( sys-libs/zlib ) + nginx_modules_http_gzip? ( sys-libs/zlib ) + nginx_modules_http_gzip_static? ( sys-libs/zlib ) + nginx_modules_http_image_filter? ( media-libs/gd:=[jpeg,png] ) + nginx_modules_http_perl? ( >=dev-lang/perl-5.8:= ) + nginx_modules_http_rewrite? ( dev-libs/libpcre:= ) + nginx_modules_http_secure_link? ( + userland_GNU? ( + !libressl? ( dev-libs/openssl:0= ) + libressl? ( dev-libs/libressl:= ) + ) + ) + nginx_modules_http_xslt? ( dev-libs/libxml2:= dev-libs/libxslt ) + nginx_modules_http_lua? ( dev-lang/luajit:2= ) + nginx_modules_http_auth_pam? ( sys-libs/pam ) + nginx_modules_http_metrics? ( dev-libs/yajl:= ) + nginx_modules_http_dav_ext? ( dev-libs/libxml2 ) + nginx_modules_http_security? ( + dev-libs/apr:= + dev-libs/apr-util:= + dev-libs/libxml2:= + net-misc/curl + www-servers/apache + ) + nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] ) + nginx_modules_stream_geoip? ( dev-libs/geoip ) + nginx_modules_stream_geoip2? ( dev-libs/libmaxminddb:= )" +RDEPEND="${CDEPEND} + selinux? ( sec-policy/selinux-nginx ) + !www-servers/nginx:0" +DEPEND="${CDEPEND} + nginx_modules_http_brotli? ( virtual/pkgconfig ) + nginx_modules_http_security? ( ${AUTOTOOLS_DEPEND} ) + arm? ( dev-libs/libatomic_ops ) + libatomic? ( dev-libs/libatomic_ops )" +PDEPEND="vim-syntax? ( app-vim/nginx-syntax )" + +REQUIRED_USE="pcre-jit? ( pcre ) + nginx_modules_http_fancyindex? ( nginx_modules_http_addition ) + nginx_modules_http_grpc? ( http2 ) + nginx_modules_http_lua? ( + luajit + nginx_modules_http_rewrite + ) + nginx_modules_http_naxsi? ( pcre ) + nginx_modules_http_dav_ext? ( nginx_modules_http_dav nginx_modules_http_xslt ) + nginx_modules_http_metrics? ( nginx_modules_http_stub_status ) + nginx_modules_http_security? ( pcre ) + nginx_modules_http_push_stream? ( ssl )" + +pkg_setup() { + NGINX_HOME="/var/lib/nginx" + NGINX_HOME_TMP="${NGINX_HOME}/tmp" + + ebegin "Creating nginx user and group" + enewgroup ${PN} + enewuser ${PN} -1 -1 "${NGINX_HOME}" ${PN} + eend $? + + if use libatomic; then + ewarn "GCC 4.1+ features built-in atomic operations." + ewarn "Using libatomic_ops is only needed if using" + ewarn "a different compiler or a GCC prior to 4.1" + fi + + if [[ -n $NGINX_ADD_MODULES ]]; then + ewarn "You are building custom modules via \$NGINX_ADD_MODULES!" + ewarn "This nginx installation is not supported!" + ewarn "Make sure you can reproduce the bug without those modules" + ewarn "_before_ reporting bugs." + fi + + if use !http; then + ewarn "To actually disable all http-functionality you also have to disable" + ewarn "all nginx http modules." + fi + + if use nginx_modules_http_mogilefs && use threads; then + eerror "mogilefs won't compile with threads support." + eerror "Please disable either flag and try again." + die "Can't compile mogilefs with threads support" + fi +} + +src_prepare() { + eapply "${FILESDIR}/${PN}-1.4.1-fix-perl-install-path.patch" + eapply "${FILESDIR}/${PN}-httpoxy-mitigation-r1.patch" + + if use nginx_modules_http_auth_pam; then + cd "${HTTP_AUTH_PAM_MODULE_WD}" || die + eapply "${FILESDIR}"/http_auth_pam-1.5.1-adjust-loglevel-for-authentication-failures.patch + cd "${S}" || die + fi + + if use nginx_modules_http_brotli; then + cd "${HTTP_BROTLI_MODULE_WD}" || die + eapply "${FILESDIR}"/http_brotli-detect-brotli-r2.patch + cd "${S}" || die + fi + + if use nginx_modules_http_upstream_check; then + eapply -p0 "${FILESDIR}"/http_upstream_check-nginx-1.11.5+.patch + fi + + if use nginx_modules_http_cache_purge; then + cd "${HTTP_CACHE_PURGE_MODULE_WD}" || die + eapply "${FILESDIR}"/http_cache_purge-1.11.6+.patch + cd "${S}" || die + fi + + if use nginx_modules_http_security; then + cd "${HTTP_SECURITY_MODULE_WD}" || die + + eautoreconf + + if use luajit ; then + sed -i \ + -e 's|^\(LUA_PKGNAMES\)=.*|\1="luajit"|' \ + configure || die + fi + + cd "${S}" || die + fi + + if use nginx_modules_http_upload_progress; then + cd "${HTTP_UPLOAD_PROGRESS_MODULE_WD}" || die + eapply "${FILESDIR}"/http_uploadprogress-issue_50-r1.patch + cd "${S}" || die + fi + + find auto/ -type f -print0 | xargs -0 sed -i 's:\&\& make:\&\& \\$(MAKE):' || die + # We have config protection, don't rename etc files + sed -i 's:.default::' auto/install || die + # remove useless files + sed -i -e '/koi-/d' -e '/win-/d' auto/install || die + + # don't install to /etc/nginx/ if not in use + local module + for module in fastcgi scgi uwsgi ; do + if ! use nginx_modules_http_${module}; then + sed -i -e "/${module}/d" auto/install || die + fi + done + + eapply_user +} + +src_configure() { + # mod_security needs to generate nginx/modsecurity/config before including it + if use nginx_modules_http_security; then + cd "${HTTP_SECURITY_MODULE_WD}" || die + + ./configure \ + --enable-standalone-module \ + --disable-mlogc \ + --with-ssdeep=no \ + $(use_enable pcre-jit) \ + $(use_with nginx_modules_http_lua lua) || die "configure failed for mod_security" + + cd "${S}" || die + fi + + local myconf=() http_enabled= mail_enabled= stream_enabled= + + use aio && myconf+=( --with-file-aio ) + use debug && myconf+=( --with-debug ) + use http2 && myconf+=( --with-http_v2_module ) + use libatomic && myconf+=( --with-libatomic ) + use pcre && myconf+=( --with-pcre ) + use pcre-jit && myconf+=( --with-pcre-jit ) + use threads && myconf+=( --with-threads ) + + # HTTP modules + for mod in $NGINX_MODULES_STD; do + if use nginx_modules_http_${mod}; then + http_enabled=1 + else + myconf+=( --without-http_${mod}_module ) + fi + done + + for mod in $NGINX_MODULES_OPT; do + if use nginx_modules_http_${mod}; then + http_enabled=1 + myconf+=( --with-http_${mod}_module ) + fi + done + + if use nginx_modules_http_fastcgi; then + myconf+=( --with-http_realip_module ) + fi + + # third-party modules + if use nginx_modules_http_upload_progress; then + http_enabled=1 + myconf+=( --add-module=${HTTP_UPLOAD_PROGRESS_MODULE_WD} ) + fi + + if use nginx_modules_http_headers_more; then + http_enabled=1 + myconf+=( --add-module=${HTTP_HEADERS_MORE_MODULE_WD} ) + fi + + if use nginx_modules_http_cache_purge; then + http_enabled=1 + myconf+=( --add-module=${HTTP_CACHE_PURGE_MODULE_WD} ) + fi + + if use nginx_modules_http_slowfs_cache; then + http_enabled=1 + myconf+=( --add-module=${HTTP_SLOWFS_CACHE_MODULE_WD} ) + fi + + if use nginx_modules_http_fancyindex; then + http_enabled=1 + myconf+=( --add-module=${HTTP_FANCYINDEX_MODULE_WD} ) + fi + + if use nginx_modules_http_lua; then + http_enabled=1 + export LUAJIT_LIB=$(pkg-config --variable libdir luajit) + export LUAJIT_INC=$(pkg-config --variable includedir luajit) + myconf+=( --add-module=${DEVEL_KIT_MODULE_WD} ) + myconf+=( --add-module=${HTTP_LUA_MODULE_WD} ) + fi + + if use nginx_modules_http_auth_pam; then + http_enabled=1 + myconf+=( --add-module=${HTTP_AUTH_PAM_MODULE_WD} ) + fi + + if use nginx_modules_http_upstream_check; then + http_enabled=1 + myconf+=( --add-module=${HTTP_UPSTREAM_CHECK_MODULE_WD} ) + fi + + if use nginx_modules_http_metrics; then + http_enabled=1 + myconf+=( --add-module=${HTTP_METRICS_MODULE_WD} ) + fi + + if use nginx_modules_http_naxsi ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_NAXSI_MODULE_WD} ) + fi + + if use rtmp ; then + http_enabled=1 + myconf+=( --add-module=${RTMP_MODULE_WD} ) + fi + + if use nginx_modules_http_dav_ext ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_DAV_EXT_MODULE_WD} ) + fi + + if use nginx_modules_http_echo ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_ECHO_MODULE_WD} ) + fi + + if use nginx_modules_http_security ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_SECURITY_MODULE_WD}/nginx/modsecurity ) + fi + + if use nginx_modules_http_push_stream ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_PUSH_STREAM_MODULE_WD} ) + fi + + if use nginx_modules_http_sticky ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_STICKY_MODULE_WD} ) + fi + + if use nginx_modules_http_mogilefs ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_MOGILEFS_MODULE_WD} ) + fi + + if use nginx_modules_http_memc ; then + http_enabled=1 + myconf+=( --add-module=${HTTP_MEMC_MODULE_WD} ) + fi + + if use nginx_modules_http_auth_ldap; then + http_enabled=1 + myconf+=( --add-module=${HTTP_LDAP_MODULE_WD} ) + fi + + if use nginx_modules_http_vhost_traffic_status; then + http_enabled=1 + myconf+=( --add-module=${HTTP_VHOST_TRAFFIC_STATUS_MODULE_WD} ) + fi + + if use nginx_modules_http_geoip2 || use nginx_modules_stream_geoip2; then + myconf+=( --add-module=${GEOIP2_MODULE_WD} ) + fi + + if use nginx_modules_http_javascript || use nginx_modules_stream_javascript; then + myconf+=( --add-module="${NJS_MODULE_WD}/nginx" ) + fi + + if use nginx_modules_http_brotli; then + http_enabled=1 + myconf+=( --add-module=${HTTP_BROTLI_MODULE_WD} ) + fi + + if use http || use http-cache || use http2 || use nginx_modules_http_javascript; then + http_enabled=1 + fi + + if [ $http_enabled ]; then + use http-cache || myconf+=( --without-http-cache ) + use ssl && myconf+=( --with-http_ssl_module ) + else + myconf+=( --without-http --without-http-cache ) + fi + + # Stream modules + for mod in $NGINX_MODULES_STREAM_STD; do + if use nginx_modules_stream_${mod}; then + stream_enabled=1 + else + myconf+=( --without-stream_${mod}_module ) + fi + done + + for mod in $NGINX_MODULES_STREAM_OPT; do + if use nginx_modules_stream_${mod}; then + stream_enabled=1 + myconf+=( --with-stream_${mod}_module ) + fi + done + + if use nginx_modules_stream_geoip2 || use nginx_modules_stream_javascript; then + stream_enabled=1 + fi + + if [ $stream_enabled ]; then + myconf+=( --with-stream ) + use ssl && myconf+=( --with-stream_ssl_module ) + fi + + # MAIL modules + for mod in $NGINX_MODULES_MAIL; do + if use nginx_modules_mail_${mod}; then + mail_enabled=1 + else + myconf+=( --without-mail_${mod}_module ) + fi + done + + if [ $mail_enabled ]; then + myconf+=( --with-mail ) + use ssl && myconf+=( --with-mail_ssl_module ) + fi + + # custom modules + for mod in $NGINX_ADD_MODULES; do + myconf+=( --add-module=${mod} ) + done + + # https://bugs.gentoo.org/286772 + export LANG=C LC_ALL=C + tc-export CC + + if ! use prefix; then + myconf+=( --user=${PN} ) + myconf+=( --group=${PN} ) + fi + + local WITHOUT_IPV6= + if ! use ipv6; then + WITHOUT_IPV6=" -DNGX_HAVE_INET6=0" + fi + + if [[ -n "${EXTRA_ECONF}" ]]; then + myconf+=( ${EXTRA_ECONF} ) + ewarn "EXTRA_ECONF applied. Now you are on your own, good luck!" + fi + + ./configure \ + --prefix="${EPREFIX}"/usr \ + --conf-path="${EPREFIX}"/etc/${PN}/${PN}.conf \ + --error-log-path="${EPREFIX}"/var/log/${PN}/error_log \ + --pid-path="${EPREFIX}"/run/${PN}.pid \ + --lock-path="${EPREFIX}"/run/lock/${PN}.lock \ + --with-cc-opt="-I${EROOT}usr/include${WITHOUT_IPV6}" \ + --with-ld-opt="-L${EROOT}usr/$(get_libdir)" \ + --http-log-path="${EPREFIX}"/var/log/${PN}/access_log \ + --http-client-body-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/client \ + --http-proxy-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/proxy \ + --http-fastcgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/fastcgi \ + --http-scgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/scgi \ + --http-uwsgi-temp-path="${EPREFIX}${NGINX_HOME_TMP}"/uwsgi \ + --with-compat \ + "${myconf[@]}" || die "configure failed" + + # A purely cosmetic change that makes nginx -V more readable. This can be + # good if people outside the gentoo community would troubleshoot and + # question the users setup. + sed -i -e "s|${WORKDIR}|external_module|g" objs/ngx_auto_config.h || die +} + +src_compile() { + use nginx_modules_http_security && emake -C "${HTTP_SECURITY_MODULE_WD}" + + # https://bugs.gentoo.org/286772 + export LANG=C LC_ALL=C + emake LINK="${CC} ${LDFLAGS}" OTHERLDFLAGS="${LDFLAGS}" +} + +src_install() { + emake DESTDIR="${D%/}" install + + cp "${FILESDIR}"/nginx.conf-r2 "${ED%/}"/etc/nginx/nginx.conf || die + + newinitd "${FILESDIR}"/nginx.initd-r4 nginx + newconfd "${FILESDIR}"/nginx.confd nginx + + systemd_newunit "${FILESDIR}"/nginx.service-r1 nginx.service + + doman man/nginx.8 + dodoc CHANGES* README + + # just keepdir. do not copy the default htdocs files (bug #449136) + keepdir /var/www/localhost + rm -rf "${ED%/}"/usr/html || die + + # set up a list of directories to keep + local keepdir_list="${NGINX_HOME_TMP}"/client + local module + for module in proxy fastcgi scgi uwsgi; do + use nginx_modules_http_${module} && keepdir_list+=" ${NGINX_HOME_TMP}/${module}" + done + + keepdir /var/log/nginx ${keepdir_list} + + # this solves a problem with SELinux where nginx doesn't see the directories + # as root and tries to create them as nginx + fperms 0750 "${NGINX_HOME_TMP}" + fowners ${PN}:0 "${NGINX_HOME_TMP}" + + fperms 0700 ${keepdir_list} + fowners ${PN}:${PN} ${keepdir_list} + + fperms 0710 /var/log/nginx + fowners 0:${PN} /var/log/nginx + + # logrotate + insinto /etc/logrotate.d + newins "${FILESDIR}"/nginx.logrotate-r1 nginx + + # Don't create /run + rm -rf "${ED%/}"/run || die + + if use luajit; then + pax-mark m "${ED%/}/usr/sbin/nginx" + fi + + if use nginx_modules_http_perl; then + cd "${S}"/objs/src/http/modules/perl/ || die + emake DESTDIR="${D}" INSTALLDIRS=vendor + perl_delete_localpod + cd "${S}" || die + fi + + if use nginx_modules_http_cache_purge; then + docinto ${HTTP_CACHE_PURGE_MODULE_P} + dodoc "${HTTP_CACHE_PURGE_MODULE_WD}"/{CHANGES,README.md,TODO.md} + fi + + if use nginx_modules_http_slowfs_cache; then + docinto ${HTTP_SLOWFS_CACHE_MODULE_P} + dodoc "${HTTP_SLOWFS_CACHE_MODULE_WD}"/{CHANGES,README.md} + fi + + if use nginx_modules_http_fancyindex; then + docinto ${HTTP_FANCYINDEX_MODULE_P} + dodoc "${HTTP_FANCYINDEX_MODULE_WD}"/README.rst + fi + + if use nginx_modules_http_lua; then + docinto ${HTTP_LUA_MODULE_P} + dodoc "${HTTP_LUA_MODULE_WD}"/README.markdown + fi + + if use nginx_modules_http_auth_pam; then + docinto ${HTTP_AUTH_PAM_MODULE_P} + dodoc "${HTTP_AUTH_PAM_MODULE_WD}"/{README.md,ChangeLog} + fi + + if use nginx_modules_http_upstream_check; then + docinto ${HTTP_UPSTREAM_CHECK_MODULE_P} + dodoc "${HTTP_UPSTREAM_CHECK_MODULE_WD}"/{README,CHANGES} + fi + + if use nginx_modules_http_naxsi; then + insinto /etc/nginx + doins "${HTTP_NAXSI_MODULE_WD}"/../naxsi_config/naxsi_core.rules + fi + + if use rtmp; then + docinto ${RTMP_MODULE_P} + dodoc "${RTMP_MODULE_WD}"/{AUTHORS,README.md,stat.xsl} + fi + + if use nginx_modules_http_dav_ext; then + docinto ${HTTP_DAV_EXT_MODULE_P} + dodoc "${HTTP_DAV_EXT_MODULE_WD}"/README.rst + fi + + if use nginx_modules_http_echo; then + docinto ${HTTP_ECHO_MODULE_P} + dodoc "${HTTP_ECHO_MODULE_WD}"/README.markdown + fi + + if use nginx_modules_http_security; then + docinto ${HTTP_SECURITY_MODULE_P} + dodoc "${HTTP_SECURITY_MODULE_WD}"/{CHANGES,README.md,authors.txt} + fi + + if use nginx_modules_http_push_stream; then + docinto ${HTTP_PUSH_STREAM_MODULE_P} + dodoc "${HTTP_PUSH_STREAM_MODULE_WD}"/{AUTHORS,CHANGELOG.textile,README.textile} + fi + + if use nginx_modules_http_sticky; then + docinto ${HTTP_STICKY_MODULE_P} + dodoc "${HTTP_STICKY_MODULE_WD}"/{README.md,Changelog.txt,docs/sticky.pdf} + fi + + if use nginx_modules_http_memc; then + docinto ${HTTP_MEMC_MODULE_P} + dodoc "${HTTP_MEMC_MODULE_WD}"/README.markdown + fi + + if use nginx_modules_http_auth_ldap; then + docinto ${HTTP_LDAP_MODULE_P} + dodoc "${HTTP_LDAP_MODULE_WD}"/example.conf + fi +} + +pkg_postinst() { + if use ssl; then + if [[ ! -f "${EROOT}"etc/ssl/${PN}/${PN}.key ]]; then + install_cert /etc/ssl/${PN}/${PN} + use prefix || chown ${PN}:${PN} "${EROOT}"etc/ssl/${PN}/${PN}.{crt,csr,key,pem} + fi + fi + + if use nginx_modules_http_spdy; then + ewarn "" + ewarn "In nginx 1.9.5 the spdy module was superseded by http2." + ewarn "Update your configs and package.use accordingly." + fi + + if use nginx_modules_http_lua; then + ewarn "" + ewarn "While you can build lua 3rd party module against ${P}" + ewarn "the author warns that >=${PN}-1.11.11 is still not an" + ewarn "officially supported target yet. You are on your own." + ewarn "Expect runtime failures, memory leaks and other problems!" + fi + + if use nginx_modules_http_lua && use http2; then + ewarn "" + ewarn "Lua 3rd party module author warns against using ${P} with" + ewarn "NGINX_MODULES_HTTP=\"lua http2\". For more info, see https://git.io/OldLsg" + fi + + local _n_permission_layout_checks=0 + local _has_to_adjust_permissions=0 + local _has_to_show_permission_warning=0 + + # Defaults to 1 to inform people doing a fresh installation + # that we ship modified {scgi,uwsgi,fastcgi}_params files + local _has_to_show_httpoxy_mitigation_notice=1 + + local _replacing_version= + for _replacing_version in ${REPLACING_VERSIONS}; do + _n_permission_layout_checks=$((${_n_permission_layout_checks}+1)) + + if [[ ${_n_permission_layout_checks} -gt 1 ]]; then + # Should never happen: + # Package is abusing slots but doesn't allow multiple parallel installations. + # If we run into this situation it is unsafe to automatically adjust any + # permission... + _has_to_show_permission_warning=1 + + ewarn "Replacing multiple ${PN}' versions is unsupported! " \ + "You will have to adjust permissions on your own." + + break + fi + + local _replacing_version_branch=$(get_version_component_range 1-2 "${_replacing_version}") + debug-print "Updating an existing installation (v${_replacing_version}; branch '${_replacing_version_branch}') ..." + + # Do we need to adjust permissions to fix CVE-2013-0337 (bug #458726, #469094)? + # This was before we introduced multiple nginx versions so we + # do not need to distinguish between stable and mainline + local _need_to_fix_CVE2013_0337=1 + + if version_is_at_least "1.4.1-r2" "${_replacing_version}"; then + # We are updating an installation which should already be fixed + _need_to_fix_CVE2013_0337=0 + debug-print "Skipping CVE-2013-0337 ... existing installation should not be affected!" + else + _has_to_adjust_permissions=1 + debug-print "Need to adjust permissions to fix CVE-2013-0337!" + fi + + # Do we need to inform about HTTPoxy mitigation? + # In repository since commit 8be44f76d4ac02cebcd1e0e6e6284bb72d054b0f + if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then + # Updating from <1.10 + _has_to_show_httpoxy_mitigation_notice=1 + debug-print "Need to inform about HTTPoxy mitigation!" + else + # Updating from >=1.10 + local _fixed_in_pvr= + case "${_replacing_version_branch}" in + "1.10") + _fixed_in_pvr="1.10.1-r2" + ;; + "1.11") + _fixed_in_pvr="1.11.3-r1" + ;; + *) + # This should be any future branch. + # If we run this code it is safe to assume that the user has + # already seen the HTTPoxy mitigation notice because he/she is doing + # an update from previous version where we have already shown + # the warning. Otherwise, we wouldn't hit this code path ... + _fixed_in_pvr= + esac + + if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then + # We are updating an installation where we already informed + # that we are mitigating HTTPoxy per default + _has_to_show_httpoxy_mitigation_notice=0 + debug-print "No need to inform about HTTPoxy mitigation ... information was already shown for existing installation!" + else + _has_to_show_httpoxy_mitigation_notice=1 + debug-print "Need to inform about HTTPoxy mitigation!" + fi + fi + + # Do we need to adjust permissions to fix CVE-2016-1247 (bug #605008)? + # All branches up to 1.11 are affected + local _need_to_fix_CVE2016_1247=1 + + if ! version_is_at_least "1.10" "${_replacing_version_branch}"; then + # Updating from <1.10 + _has_to_adjust_permissions=1 + debug-print "Need to adjust permissions to fix CVE-2016-1247!" + else + # Updating from >=1.10 + local _fixed_in_pvr= + case "${_replacing_version_branch}" in + "1.10") + _fixed_in_pvr="1.10.2-r3" + ;; + "1.11") + _fixed_in_pvr="1.11.6-r1" + ;; + *) + # This should be any future branch. + # If we run this code it is safe to assume that we have already + # adjusted permissions or were never affected because user is + # doing an update from previous version which was safe or did + # the adjustments. Otherwise, we wouldn't hit this code path ... + _fixed_in_pvr= + esac + + if [[ -z "${_fixed_in_pvr}" ]] || version_is_at_least "${_fixed_in_pvr}" "${_replacing_version}"; then + # We are updating an installation which should already be adjusted + # or which was never affected + _need_to_fix_CVE2016_1247=0 + debug-print "Skipping CVE-2016-1247 ... existing installation should not be affected!" + else + _has_to_adjust_permissions=1 + debug-print "Need to adjust permissions to fix CVE-2016-1247!" + fi + fi + done + + if [[ ${_has_to_adjust_permissions} -eq 1 ]]; then + # We do not DIE when chmod/chown commands are failing because + # package is already merged on user's system at this stage + # and we cannot retry without losing the information that + # the existing installation needs to adjust permissions. + # Instead we are going to a show a big warning ... + + if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2013_0337} -eq 1 ]]; then + ewarn "" + ewarn "The world-readable bit (if set) has been removed from the" + ewarn "following directories to mitigate a security bug" + ewarn "(CVE-2013-0337, bug #458726):" + ewarn "" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn " ${EPREFIX}${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi}" + ewarn "" + ewarn "Check if this is correct for your setup before restarting nginx!" + ewarn "This is a one-time change and will not happen on subsequent updates." + ewarn "Furthermore nginx' temp directories got moved to '${EPREFIX}${NGINX_HOME_TMP}'" + chmod o-rwx \ + "${EPREFIX}"/var/log/nginx \ + "${EPREFIX}"${NGINX_HOME_TMP}/{,client,proxy,fastcgi,scgi,uwsgi} || \ + _has_to_show_permission_warning=1 + fi + + if [[ ${_has_to_show_permission_warning} -eq 0 ]] && [[ ${_need_to_fix_CVE2016_1247} -eq 1 ]]; then + ewarn "" + ewarn "The permissions on the following directory have been reset in" + ewarn "order to mitigate a security bug (CVE-2016-1247, bug #605008):" + ewarn "" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn "" + ewarn "Check if this is correct for your setup before restarting nginx!" + ewarn "Also ensure that no other log directory used by any of your" + ewarn "vhost(s) is not writeable for nginx user. Any of your log files" + ewarn "used by nginx can be abused to escalate privileges!" + ewarn "This is a one-time change and will not happen on subsequent updates." + chown 0:nginx "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1 + chmod 710 "${EPREFIX}"/var/log/nginx || _has_to_show_permission_warning=1 + fi + + if [[ ${_has_to_show_permission_warning} -eq 1 ]]; then + # Should never happen ... + ewarn "" + ewarn "*************************************************************" + ewarn "*************** W A R N I N G ***************" + ewarn "*************************************************************" + ewarn "The one-time only attempt to adjust permissions of the" + ewarn "existing nginx installation failed. Be aware that we will not" + ewarn "try to adjust the same permissions again because now you are" + ewarn "using a nginx version where we expect that the permissions" + ewarn "are already adjusted or that you know what you are doing and" + ewarn "want to keep custom permissions." + ewarn "" + fi + fi + + # Sanity check for CVE-2016-1247 + # Required to warn users who received the warning above and thought + # they could fix it by unmerging and re-merging the package or have + # unmerged a affected installation on purpose in the past leaving + # /var/log/nginx on their system due to keepdir/non-empty folder + # and are now installing the package again. + local _sanity_check_testfile=$(mktemp --dry-run "${EPREFIX}"/var/log/nginx/.CVE-2016-1247.XXXXXXXXX) + su -s /bin/sh -c "touch ${_sanity_check_testfile}" nginx >&/dev/null + if [ $? -eq 0 ] ; then + # Cleanup -- no reason to die here! + rm -f "${_sanity_check_testfile}" + + ewarn "" + ewarn "*************************************************************" + ewarn "*************** W A R N I N G ***************" + ewarn "*************************************************************" + ewarn "Looks like your installation is vulnerable to CVE-2016-1247" + ewarn "(bug #605008) because nginx user is able to create files in" + ewarn "" + ewarn " ${EPREFIX}/var/log/nginx" + ewarn "" + ewarn "Also ensure that no other log directory used by any of your" + ewarn "vhost(s) is not writeable for nginx user. Any of your log files" + ewarn "used by nginx can be abused to escalate privileges!" + fi + + if [[ ${_has_to_show_httpoxy_mitigation_notice} -eq 1 ]]; then + # HTTPoxy mitigation + ewarn "" + ewarn "This nginx installation comes with a mitigation for the HTTPoxy" + ewarn "vulnerability for FastCGI, SCGI and uWSGI applications by setting" + ewarn "the HTTP_PROXY parameter to an empty string per default when you" + ewarn "are sourcing one of the default" + ewarn "" + ewarn " - 'fastcgi_params' or 'fastcgi.conf'" + ewarn " - 'scgi_params'" + ewarn " - 'uwsgi_params'" + ewarn "" + ewarn "files in your server block(s)." + ewarn "" + ewarn "If this is causing any problems for you make sure that you are sourcing the" + ewarn "default parameters _before_ you set your own values." + ewarn "If you are relying on user-supplied proxy values you have to remove the" + ewarn "correlating lines from the file(s) mentioned above." + ewarn "" + fi +}