diff options
author | 2019-02-11 17:34:38 +0000 | |
---|---|---|
committer | 2019-02-11 17:34:38 +0000 | |
commit | 8c36f780c4f1f8cd5e7911868fe624f7d397436e (patch) | |
tree | d6ae71e1da4036b5c2581ec93d03ca337d92f169 | |
parent | 2019-02-11 17:04:17 UTC (diff) | |
parent | dev-lang/vala: 0.42.4 → 0.42.5 (diff) | |
download | gentoo-8c36f780c4f1f8cd5e7911868fe624f7d397436e.tar.gz gentoo-8c36f780c4f1f8cd5e7911868fe624f7d397436e.tar.bz2 gentoo-8c36f780c4f1f8cd5e7911868fe624f7d397436e.zip |
Merge updates from master
-rw-r--r-- | app-shells/fish/Manifest | 1 | ||||
-rw-r--r-- | app-shells/fish/fish-3.0.1.ebuild | 75 | ||||
-rw-r--r-- | dev-lang/vala/Manifest | 2 | ||||
-rw-r--r-- | dev-lang/vala/files/0.40-Allow-disabling-the-build-of-valadoc.patch | 184 | ||||
-rw-r--r-- | dev-lang/vala/files/0.40-valadoc-doclets-data-parallel-installable.patch | 212 | ||||
-rw-r--r-- | dev-lang/vala/metadata.xml | 11 | ||||
-rw-r--r-- | dev-lang/vala/vala-0.40.13.ebuild | 56 | ||||
-rw-r--r-- | dev-lang/vala/vala-0.42.5.ebuild | 56 | ||||
-rw-r--r-- | dev-libs/vala-common/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/vala-common/vala-common-0.40.13.ebuild | 76 | ||||
-rw-r--r-- | dev-libs/vala-common/vala-common-0.42.5.ebuild | 76 | ||||
-rw-r--r-- | eclass/gnome.org.eclass | 13 | ||||
-rw-r--r-- | eclass/gnome2-utils.eclass | 114 | ||||
-rw-r--r-- | eclass/gnome2.eclass | 9 | ||||
-rw-r--r-- | eclass/vala.eclass | 31 | ||||
-rw-r--r-- | eclass/xdg-utils.eclass | 75 | ||||
-rw-r--r-- | eclass/xdg.eclass | 43 |
17 files changed, 898 insertions, 138 deletions
diff --git a/app-shells/fish/Manifest b/app-shells/fish/Manifest index f6ea60fabfe4..6af343b95df4 100644 --- a/app-shells/fish/Manifest +++ b/app-shells/fish/Manifest @@ -1,2 +1,3 @@ DIST fish-2.7.1.tar.gz 5760550 BLAKE2B 71568a3a17f4222b05a314464a61fceb241409a7d42c46249486ca742ef0cf990c46d693bcc22521c18f58a558e6aab35759d0da6eb62ee6611a2a7946fe714d SHA512 45ee3453404c5d6c56d307b4cd19197de862f9f42d7fa06461acec56dea7146db5675cf6419dd5f72e939b3e4b1955d3761098df1de89a8cebe47645eb6f7a4b DIST fish-3.0.0.tar.gz 6472393 BLAKE2B 9a8226ca4dce40a7bbc62ad5791c5238d1257cebea296cd97a195438d771d7394acb012be6af118bf355a9b6e391ddee1061d83298356f664e0d5dbe3d859012 SHA512 e4159821d4263e5afb67adee82e30cfed0ad30f3772dd95beb0df71423ff52c21354970f64967f2de9fd1d31caa702208cfd9f2ce281bbf33114f3aa7cd539a2 +DIST fish-3.0.1.tar.gz 6477550 BLAKE2B 31862bee18cc6db9b624850c87816ecc7d2a50671522ecafa887973ff2b9cb890d4880a567570025957064f0c68c4846810373efc03a4c6d616840b553ece625 SHA512 0bbf02d6be658f81e8dbb3a23066878087e1dc9f3abae43ff1c493e1b9d4394944e8fe7d176a3384f290ebd1e0c5325fd78eb7a654bab6b4f21687b24df40ca7 diff --git a/app-shells/fish/fish-3.0.1.ebuild b/app-shells/fish/fish-3.0.1.ebuild new file mode 100644 index 000000000000..8cc9571025c2 --- /dev/null +++ b/app-shells/fish/fish-3.0.1.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit cmake-utils readme.gentoo-r1 + +DESCRIPTION="Friendly Interactive SHell" +HOMEPAGE="http://fishshell.com/" + +MY_PV="${PV/_beta/b}" +MY_P="${PN}-${MY_PV}" + +if [[ ${PV} == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${PN}-shell/${PN}-shell.git" +else + SRC_URI="https://github.com/${PN}-shell/${PN}-shell/releases/download/${MY_PV}/${MY_P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris" +fi + +LICENSE="GPL-2" +SLOT="0" + +IUSE="doc nls test" + +RDEPEND=" + >=dev-libs/libpcre2-10.21[pcre32] + sys-devel/bc + sys-libs/ncurses:0=[unicode] +" + +DEPEND="${RDEPEND} + doc? ( app-doc/doxygen ) + nls? ( sys-devel/gettext ) + test? ( dev-tcltk/expect ) +" + +PATCHES=( "${FILESDIR}/fix-histfile-test-on-ppc.patch" ) + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + # workaround for https://github.com/fish-shell/fish-shell/issues/4883 + sed -i 's#${TEST_INSTALL_DIR}/${CMAKE_INSTALL_PREFIX}#${TEST_INSTALL_DIR}#' \ + cmake/Tests.cmake || die + cmake-utils_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_INSTALL_BINDIR="${EPREFIX}/bin" + -DCMAKE_INSTALL_DOCDIR="share/doc/${PF}" + -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc" + -DCURSES_NEED_NCURSES=ON + -DINTERNAL_WCWIDTH=OFF + -DBUILD_DOCS="$(usex doc)" + -DWITH_GETTEXT="$(usex nls)" + ) + cmake-utils_src_configure +} + +src_install() { + cmake-utils_src_install + keepdir /usr/share/fish/vendor_{completions,conf,functions}.d + readme.gentoo_create_doc +} + +src_test() { + cmake-utils_src_make -j1 test +} + +pkg_postinst() { + readme.gentoo_print_elog +} diff --git a/dev-lang/vala/Manifest b/dev-lang/vala/Manifest index 5862496b9739..38b67fb0ce02 100644 --- a/dev-lang/vala/Manifest +++ b/dev-lang/vala/Manifest @@ -2,3 +2,5 @@ DIST vala-0.32.1.tar.xz 2759528 BLAKE2B cce23844ee5769216ef5cccb20476f4bdd2cb809 DIST vala-0.34.16.tar.xz 2795676 BLAKE2B 64428099c209e13a6aad09233af650f412efa191ff4873fae1dbfb9bcc252e13d4e152733c9f199cd23323872fd912807a685980f651c1f784bfaffae7bf4162 SHA512 6411d55524a6c717c2eaf5cc1231ac931400e3f66d151a8b8856910258eb5bd7affe3a90946de34feb51aabfafce721b8d57f61e0475095b275d20b73cc4bbec DIST vala-0.36.15.tar.xz 2880300 BLAKE2B ea83bde6396f3be1c96038d63ae30b18fa070a6f7a06b75569bfed9d7792c898201a1f24d000f5b6415bb890cf975758341a97f22db74da02fcbeb3f283e546f SHA512 1c8f888832b2dd4248737a5a27f00f42d8bab2fe0a0790a7df5c426f4e3e1d0919ed0f6f6fd905be758ed477ba840e18f608e67811389c811ba65710094abe61 DIST vala-0.36.17.tar.xz 2898524 BLAKE2B 4a5a373bacd4e4a392350c7819e0498054e38f50dce89658412d7aeb5642892ef9f32a7689ebd45f53c41f064e0b6d2f52fb441be67a1dd48e67311a1e764637 SHA512 93d4fa600cd0ef62b71ed056b837f2c0a42c3aba25b021b2bbd2045428550307727827b250dae546926ea3fe2e33a5ac80c9b24b5100f02550ec584dd5da5e92 +DIST vala-0.40.13.tar.xz 3394588 BLAKE2B cb3055b859b220f999bc5b4533251a069e9c10690963bc92b087b0ab351f0d78eb8f5992b747cc345d9d2a3dba69c68d130bca20604036c2c62e380442675e8b SHA512 0590224ec5128f6939b66109b6bcf7f764af3ece28f9bce9a5d715f53defbc8746d5d20599039b067848da2f38fdae7a057427be1ea9ef0fe09e0ce45db091d0 +DIST vala-0.42.5.tar.xz 3350460 BLAKE2B 790c9f9e9e656ce96226f1ac6a0d090033ecf1943d024da0c9ee174bf65f76a14721819c6c2263c5b094f16cf112cc964000000ee42c9a7fdc0f2ad6fc01feb7 SHA512 1862307eab505e500326f84e267648f084926629f6b45b9abb6a90a20a7aa6dd2fc305962b9028c5ca7becb574573cca43fbecd9294b782d9942e71639a32aa9 diff --git a/dev-lang/vala/files/0.40-Allow-disabling-the-build-of-valadoc.patch b/dev-lang/vala/files/0.40-Allow-disabling-the-build-of-valadoc.patch new file mode 100644 index 000000000000..55bcb7d63b05 --- /dev/null +++ b/dev-lang/vala/files/0.40-Allow-disabling-the-build-of-valadoc.patch @@ -0,0 +1,184 @@ +From 1dae711f17473e12c822a657ffca02abee27b3a2 Mon Sep 17 00:00:00 2001 +From: Rico Tzschichholz <ricotz@ubuntu.com> +Date: Sun, 27 Aug 2017 16:03:03 +0200 +Subject: [PATCH] build: Allow disabling the build of valadoc + +Allow disabling build of valadoc with configure option --disable-valadoc + +Fixes https://gitlab.gnome.org/GNOME/vala/issues/596 +--- + Makefile.am | 10 +++++++++ + configure.ac | 59 ++++++++++++++++++++++++++----------------------- + doc/Makefile.am | 17 +++++++++++++- + 3 files changed, 57 insertions(+), 29 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 88bef90ed..e4d46741f 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -13,9 +13,19 @@ SUBDIRS = \ + doc \ + gobject-introspection \ + vapigen \ ++ $(NULL) ++ ++if ENABLE_VALADOC ++SUBDIRS += \ + libvaladoc \ + valadoc \ + $(NULL) ++endif ++ ++DISTCHECK_CONFIGURE_FLAGS = \ ++ --enable-valadoc \ ++ --enable-unversioned \ ++ $(NULL) + + if ENABLE_UNVERSIONED + aclocaldir = $(datadir)/aclocal +diff --git a/configure.ac b/configure.ac +index 88ca0f94b..9d1c97417 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -119,35 +119,38 @@ PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= $GLIB_REQUIRED) + AC_SUBST(GMODULE_CFLAGS) + AC_SUBST(GMODULE_LIBS) + +-PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED) +-AC_MSG_CHECKING([for CGRAPH]) +-cgraph_tmp_LIBADD="$LIBADD" +-cgraph_tmp_CFLAGS="$CFLAGS" +-LIBADD="$LIBADD $LIBGVC_LIBS" +-CFLAGS="$CFLAGS $LIBGVC_CFLAGS" +-AC_RUN_IFELSE( +- [AC_LANG_SOURCE([ +- #include <gvc.h> +- +- int main(void) { +- #ifdef WITH_CGRAPH +- return 0; +- #else +- return -1; +- #endif +- } +- ])], [ +- AC_MSG_RESULT([yes]) +- VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH" +- have_cgraph=yes +- ], [ +- AC_MSG_RESULT([no]) +- have_cgraph=no +- ] +-) +-LIBADD="$cgraph_tmp_LIBADD" +-CFLAGS="$cgraph_tmp_CFLAGS" ++AC_ARG_ENABLE(valadoc, AS_HELP_STRING([--disable-valadoc], [Disable valadoc]), enable_valadoc=$enableval, enable_valadoc=yes) ++if test x$enable_valadoc = xyes; then ++ PKG_CHECK_MODULES(LIBGVC, libgvc >= $LIBGVC_REQUIRED) ++ AC_MSG_CHECKING([for CGRAPH]) ++ cgraph_tmp_LIBADD="$LIBADD" ++ cgraph_tmp_CFLAGS="$CFLAGS" ++ LIBADD="$LIBADD $LIBGVC_LIBS" ++ CFLAGS="$CFLAGS $LIBGVC_CFLAGS" ++ AC_RUN_IFELSE( ++ [AC_LANG_SOURCE([ ++ #include <gvc.h> ++ int main(void) { ++ #ifdef WITH_CGRAPH ++ return 0; ++ #else ++ return -1; ++ #endif ++ } ++ ])], [ ++ AC_MSG_RESULT([yes]) ++ VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH" ++ have_cgraph=yes ++ ], [ ++ AC_MSG_RESULT([no]) ++ have_cgraph=no ++ ] ++ ) ++ LIBADD="$cgraph_tmp_LIBADD" ++ CFLAGS="$cgraph_tmp_CFLAGS" ++fi + AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes") ++AM_CONDITIONAL(ENABLE_VALADOC, test x$enable_valadoc = xyes) + + AC_PATH_PROG([XSLTPROC], [xsltproc], :) + AM_CONDITIONAL(HAVE_XSLTPROC, test "$XSLTPROC" != :) +diff --git a/doc/Makefile.am b/doc/Makefile.am +index 758ad733a..b79f229c4 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -6,11 +6,16 @@ SUBDIRS = \ + + dist_man_MANS = \ + valac.1 \ +- valadoc.1 \ + vala-gen-introspect.1 \ + vapigen.1 \ + $(NULL) + ++if ENABLE_VALADOC ++dist_man_MANS += \ ++ valadoc.1 \ ++ $(NULL) ++endif ++ + EXTRA_DIST = \ + valac.h2m \ + valadoc.h2m \ +@@ -19,7 +24,11 @@ EXTRA_DIST = \ + $(NULL) + + if HAVE_HELP2MAN ++if ENABLE_VALADOC + manpages: valac.1 valadoc.1 vala-gen-introspect.1 vapigen.1 ++else ++manpages: valac.1 vala-gen-introspect.1 vapigen.1 ++endif + @rm $^ + $(MAKE) $(AM_MAKEFLAGS) $^ + +@@ -28,11 +37,13 @@ valac.1: + --include $(srcdir)/valac.h2m \ + --libtool --no-info \ + --output=$@ ++if ENABLE_VALADOC + valadoc.1: + $(HELP2MAN) $(top_builddir)/valadoc/valadoc \ + --include $(srcdir)/valadoc.h2m \ + --libtool --no-info \ + --output=$@ ++endif + vala-gen-introspect.1: + $(HELP2MAN) $(top_builddir)/gobject-introspection/gen-introspect \ + --include $(srcdir)/vala-gen-introspect.h2m \ +@@ -49,12 +60,15 @@ endif + if ENABLE_UNVERSIONED + install-data-hook: + cd $(DESTDIR)$(man1dir) && $(LN_S) -f valac@PACKAGE_SUFFIX@.1 valac.1 ++if ENABLE_VALADOC + cd $(DESTDIR)$(man1dir) && $(LN_S) -f valadoc@PACKAGE_SUFFIX@.1 valadoc.1 ++endif + cd $(DESTDIR)$(man1dir) && $(LN_S) -f vala-gen-introspect@PACKAGE_SUFFIX@.1 vala-gen-introspect.1 + cd $(DESTDIR)$(man1dir) && $(LN_S) -f vapigen@PACKAGE_SUFFIX@.1 vapigen.1 + endif + + ++if ENABLE_VALADOC + COMMON_VALADOCFLAGS = \ + --force \ + --verbose \ +@@ -130,6 +144,7 @@ internal-apis/valadoc: $(valadoc_VALASOURCES) internal-apis/codegen + @touch $@ + + internal-api-docs: internal-apis/gee internal-apis/vala internal-apis/ccode internal-apis/codegen internal-apis/valadoc ++endif + + clean-local: + rm -rf $(builddir)/internal-apis +-- +2.20.1 + diff --git a/dev-lang/vala/files/0.40-valadoc-doclets-data-parallel-installable.patch b/dev-lang/vala/files/0.40-valadoc-doclets-data-parallel-installable.patch new file mode 100644 index 000000000000..1c9b44677e1e --- /dev/null +++ b/dev-lang/vala/files/0.40-valadoc-doclets-data-parallel-installable.patch @@ -0,0 +1,212 @@ +From 3dc5768c045c400ff522b8a510b789001aa93df4 Mon Sep 17 00:00:00 2001 +From: Gilles Dartiguelongue <eva@gentoo.org> +Date: Fri, 4 Jan 2019 11:31:14 +0100 +Subject: [PATCH 2/2] Make valadoc doclets & data parallel installable + +--- + libvaladoc/Makefile.am | 12 ++++++++++-- + valadoc/Makefile.am | 7 ++++++- + valadoc/doclets/devhelp/Makefile.am | 11 ++++++++--- + valadoc/doclets/gtkdoc/Makefile.am | 11 ++++++++--- + valadoc/doclets/html/Makefile.am | 11 ++++++++--- + valadoc/icons/Makefile.am | 4 ++++ + valadoc/tests/Makefile.am | 7 ++++++- + 7 files changed, 50 insertions(+), 13 deletions(-) + +diff --git a/libvaladoc/Makefile.am b/libvaladoc/Makefile.am +index f3f790e76..86875631b 100644 +--- a/libvaladoc/Makefile.am ++++ b/libvaladoc/Makefile.am +@@ -3,8 +3,6 @@ include $(top_srcdir)/Makefile.common + NULL = + + AM_CFLAGS = \ +- -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \ +- -DPACKAGE_DATADIR=\"$(libdir)/valadoc\" \ + -DPACKAGE_VERSION=\"$(VERSION)\" \ + $(COVERAGE_CFLAGS) \ + $(LIBGVC_CFLAGS) \ +@@ -16,6 +14,16 @@ AM_CFLAGS = \ + -I$(top_srcdir)/codegen \ + $(NULL) + ++if ENABLE_UNVERSIONED ++AM_CFLAGS += \ ++ -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \ ++ -DPACKAGE_DATADIR=\"$(libdir)/valadoc\" ++else ++AM_CFLAGS += \ ++ -DPACKAGE_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\" \ ++ -DPACKAGE_DATADIR=\"$(libdir)/valadoc@PACKAGE_SUFFIX@\" ++endif ++ + AM_VALAFLAGS = \ + $(NULL) + +diff --git a/valadoc/Makefile.am b/valadoc/Makefile.am +index 33f3a9375..2f3dec848 100644 +--- a/valadoc/Makefile.am ++++ b/valadoc/Makefile.am +@@ -9,7 +9,6 @@ SUBDIRS = \ + $(NULL) + + AM_CFLAGS = \ +- -DPACKAGE_DATADIR=\"$(libdir)/valadoc\" \ + -DPACKAGE_VERSION=\"$(VERSION)\" \ + -I$(top_srcdir)/libvaladoc/ \ + -I$(top_srcdir)/gee \ +@@ -22,6 +21,12 @@ AM_CFLAGS = \ + $(LIBGVC_CFLAGS) \ + $(NULL) + ++if ENABLE_UNVERSIONED ++AM_CFLAGS += -DPACKAGE_DATADIR=\"$(libdir)/valadoc\" ++else ++AM_CFLAGS += -DPACKAGE_DATADIR=\"$(libdir)/valadoc@PACKAGE_SUFFIX@\" ++endif ++ + BUILT_SOURCES = valadoc.vala.stamp + + bin_PROGRAMS = valadoc +diff --git a/valadoc/doclets/devhelp/Makefile.am b/valadoc/doclets/devhelp/Makefile.am +index 5783c0b5a..afbb8f7f9 100644 +--- a/valadoc/doclets/devhelp/Makefile.am ++++ b/valadoc/doclets/devhelp/Makefile.am +@@ -3,7 +3,6 @@ include $(top_srcdir)/Makefile.common + NULL = + + AM_CFLAGS = \ +- -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \ + -I$(top_srcdir)/gee/ \ + -I$(top_srcdir)/vala/ \ + -I$(top_srcdir)/libvaladoc/ \ +@@ -12,12 +11,18 @@ AM_CFLAGS = \ + $(LIBGVC_CFLAGS) \ + $(NULL) + ++if ENABLE_UNVERSIONED ++AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" ++docletdir = $(libdir)/valadoc/doclets/devhelp ++else ++AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\" ++docletdir = $(libdir)/valadoc@PACKAGE_SUFFIX@/doclets/devhelp ++endif ++ + BUILT_SOURCES = libdoclet.vala.stamp + + doclet_LTLIBRARIES = libdoclet.la + +-docletdir = $(libdir)/valadoc/doclets/devhelp +- + libdoclet_la_LDFLAGS = -module -avoid-version -no-undefined + + libdoclet_la_VALASOURCES = \ +diff --git a/valadoc/doclets/gtkdoc/Makefile.am b/valadoc/doclets/gtkdoc/Makefile.am +index 763e46932..f689018ce 100644 +--- a/valadoc/doclets/gtkdoc/Makefile.am ++++ b/valadoc/doclets/gtkdoc/Makefile.am +@@ -3,7 +3,6 @@ include $(top_srcdir)/Makefile.common + NULL = + + AM_CFLAGS = \ +- -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \ + -I$(top_srcdir)/gee/ \ + -I$(top_srcdir)/vala/ \ + -I$(top_srcdir)/libvaladoc/ \ +@@ -12,12 +11,18 @@ AM_CFLAGS = \ + $(LIBGVC_CFLAGS) \ + $(NULL) + ++if ENABLE_UNVERSIONED ++AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" ++docletdir = $(libdir)/valadoc/doclets/gtkdoc ++else ++AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\" ++docletdir = $(libdir)/valadoc@PACKAGE_SUFFIX@/doclets/gtkdoc ++endif ++ + BUILT_SOURCES = libdoclet.vala.stamp + + doclet_LTLIBRARIES = libdoclet.la + +-docletdir = $(libdir)/valadoc/doclets/gtkdoc +- + libdoclet_la_LDFLAGS = -module -avoid-version -no-undefined + + libdoclet_la_VALASOURCES = \ +diff --git a/valadoc/doclets/html/Makefile.am b/valadoc/doclets/html/Makefile.am +index 885fbfbab..855184020 100644 +--- a/valadoc/doclets/html/Makefile.am ++++ b/valadoc/doclets/html/Makefile.am +@@ -3,7 +3,6 @@ include $(top_srcdir)/Makefile.common + NULL = + + AM_CFLAGS = \ +- -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \ + -I$(top_srcdir)/gee/ \ + -I$(top_srcdir)/vala/ \ + -I$(top_srcdir)/libvaladoc/ \ +@@ -12,12 +11,18 @@ AM_CFLAGS = \ + $(LIBGVC_CFLAGS) \ + $(NULL) + ++if ENABLE_UNVERSIONED ++AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" ++docletdir = $(libdir)/valadoc/doclets/html ++else ++AM_CFLAGS += -DPACKAGE_ICONDIR=\"$(datadir)/valadoc@PACKAGE_SUFFIX@/icons/\" ++docletdir = $(libdir)/valadoc@PACKAGE_SUFFIX@/doclets/html ++endif ++ + BUILT_SOURCES = libdoclet.vala.stamp + + doclet_LTLIBRARIES = libdoclet.la + +-docletdir = $(libdir)/valadoc/doclets/html +- + libdoclet_la_LDFLAGS = -module -avoid-version -no-undefined + + libdoclet_la_VALASOURCES = \ +diff --git a/valadoc/icons/Makefile.am b/valadoc/icons/Makefile.am +index 454bdba7c..668956f3b 100644 +--- a/valadoc/icons/Makefile.am ++++ b/valadoc/icons/Makefile.am +@@ -1,6 +1,10 @@ + NULL = + ++if ENABLE_UNVERSIONED + iconsdir = $(datadir)/valadoc/icons ++else ++iconsdir = $(datadir)/valadoc@PACKAGE_SUFFIX@/icons ++endif + + dist_icons_DATA = \ + abstractclass.png \ +diff --git a/valadoc/tests/Makefile.am b/valadoc/tests/Makefile.am +index e40cc1ca3..2bca58128 100644 +--- a/valadoc/tests/Makefile.am ++++ b/valadoc/tests/Makefile.am +@@ -22,7 +22,6 @@ check-TESTS: $(TESTS) + G_DEBUG=fatal_warnings $(builddir)/driver + + AM_CFLAGS = \ +- -DPACKAGE_DATADIR=\"$(libdir)/valadoc\" \ + -DPACKAGE_VERSION=\"$(VERSION)\" \ + -DTOP_SRC_DIR=\"$(abs_top_srcdir)\" \ + -I$(top_srcdir)/libvaladoc/ \ +@@ -36,6 +35,12 @@ AM_CFLAGS = \ + $(LIBGVC_CFLAGS) \ + $(NULL) + ++if ENABLE_UNVERSIONED ++AM_CFLAGS += -DPACKAGE_DATADIR=\"$(libdir)/valadoc\" ++else ++AM_CFLAGS += -DPACKAGE_DATADIR=\"$(libdir)/valadoc@PACKAGE_SUFFIX@\" ++endif ++ + BUILT_SOURCES = driver.vala.stamp + + check_PROGRAMS = driver +-- +2.20.1 + diff --git a/dev-lang/vala/metadata.xml b/dev-lang/vala/metadata.xml index 5f429420cb76..a6cf4ba175a4 100644 --- a/dev-lang/vala/metadata.xml +++ b/dev-lang/vala/metadata.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="project"> - <email>gnome@gentoo.org</email> - <name>Gentoo GNOME Desktop</name> - </maintainer> + <maintainer type="project"> + <email>gnome@gentoo.org</email> + <name>Gentoo GNOME Desktop</name> + </maintainer> + <use> + <flag name="valadoc">Installs valadoc documentation generation tool</flag> + </use> </pkgmetadata> diff --git a/dev-lang/vala/vala-0.40.13.ebuild b/dev-lang/vala/vala-0.40.13.ebuild new file mode 100644 index 000000000000..bebbf4102931 --- /dev/null +++ b/dev-lang/vala/vala-0.40.13.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GNOME2_EAUTORECONF="yes" + +inherit gnome2 + +DESCRIPTION="Compiler for the GObject type system" +HOMEPAGE="https://wiki.gnome.org/Projects/Vala" + +LICENSE="LGPL-2.1" +SLOT="0.40" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +IUSE="test valadoc" + +RDEPEND=" + >=dev-libs/glib-2.40.0:2 + >=dev-libs/vala-common-${PV} + valadoc? ( >=media-gfx/graphviz-2.16 ) +" +DEPEND="${RDEPEND} + !${CATEGORY}/${PN}:0 + dev-libs/libxslt + sys-devel/flex + virtual/pkgconfig + virtual/yacc + test? ( + dev-libs/dbus-glib + >=dev-libs/glib-2.26:2 + dev-libs/gobject-introspection ) +" + +PATCHES=( + # From master + "${FILESDIR}"/0.40-Allow-disabling-the-build-of-valadoc.patch + # Add missing bits to make valadoc parallel installable + "${FILESDIR}"/0.40-valadoc-doclets-data-parallel-installable.patch +) + +src_configure() { + # https://bugs.gentoo.org/483134 + export GIT_CEILING_DIRECTORIES="${WORKDIR}" + + # weasyprint enables generation of PDF from HTML + gnome2_src_configure \ + --disable-unversioned \ + $(use_enable valadoc) \ + VALAC=: \ + WEASYPRINT=: +} + +src_install() { + default + find "${D}" -name "*.la" -delete || die +} diff --git a/dev-lang/vala/vala-0.42.5.ebuild b/dev-lang/vala/vala-0.42.5.ebuild new file mode 100644 index 000000000000..1339fc0c6a54 --- /dev/null +++ b/dev-lang/vala/vala-0.42.5.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GNOME2_EAUTORECONF="yes" + +inherit gnome2 + +DESCRIPTION="Compiler for the GObject type system" +HOMEPAGE="https://wiki.gnome.org/Projects/Vala" + +LICENSE="LGPL-2.1" +SLOT="0.42" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-linux" +IUSE="test valadoc" + +RDEPEND=" + >=dev-libs/glib-2.40.0:2 + >=dev-libs/vala-common-${PV} + valadoc? ( >=media-gfx/graphviz-2.16 ) +" +DEPEND="${RDEPEND} + !${CATEGORY}/${PN}:0 + dev-libs/libxslt + sys-devel/flex + virtual/pkgconfig + virtual/yacc + test? ( + dev-libs/dbus-glib + >=dev-libs/glib-2.26:2 + dev-libs/gobject-introspection ) +" + +PATCHES=( + # From master + "${FILESDIR}"/0.40-Allow-disabling-the-build-of-valadoc.patch + # Add missing bits to make valadoc parallel installable + "${FILESDIR}"/0.40-valadoc-doclets-data-parallel-installable.patch +) + +src_configure() { + # https://bugs.gentoo.org/483134 + export GIT_CEILING_DIRECTORIES="${WORKDIR}" + + # weasyprint enables generation of PDF from HTML + gnome2_src_configure \ + --disable-unversioned \ + $(use_enable valadoc) \ + VALAC=: \ + WEASYPRINT=: +} + +src_install() { + default + find "${D}" -name "*.la" -delete || die +} diff --git a/dev-libs/vala-common/Manifest b/dev-libs/vala-common/Manifest index 46d9be21f8ee..eddf0c4c8088 100644 --- a/dev-libs/vala-common/Manifest +++ b/dev-libs/vala-common/Manifest @@ -1,2 +1,4 @@ DIST vala-0.36.15.tar.xz 2880300 BLAKE2B ea83bde6396f3be1c96038d63ae30b18fa070a6f7a06b75569bfed9d7792c898201a1f24d000f5b6415bb890cf975758341a97f22db74da02fcbeb3f283e546f SHA512 1c8f888832b2dd4248737a5a27f00f42d8bab2fe0a0790a7df5c426f4e3e1d0919ed0f6f6fd905be758ed477ba840e18f608e67811389c811ba65710094abe61 DIST vala-0.36.17.tar.xz 2898524 BLAKE2B 4a5a373bacd4e4a392350c7819e0498054e38f50dce89658412d7aeb5642892ef9f32a7689ebd45f53c41f064e0b6d2f52fb441be67a1dd48e67311a1e764637 SHA512 93d4fa600cd0ef62b71ed056b837f2c0a42c3aba25b021b2bbd2045428550307727827b250dae546926ea3fe2e33a5ac80c9b24b5100f02550ec584dd5da5e92 +DIST vala-0.40.13.tar.xz 3394588 BLAKE2B cb3055b859b220f999bc5b4533251a069e9c10690963bc92b087b0ab351f0d78eb8f5992b747cc345d9d2a3dba69c68d130bca20604036c2c62e380442675e8b SHA512 0590224ec5128f6939b66109b6bcf7f764af3ece28f9bce9a5d715f53defbc8746d5d20599039b067848da2f38fdae7a057427be1ea9ef0fe09e0ce45db091d0 +DIST vala-0.42.5.tar.xz 3350460 BLAKE2B 790c9f9e9e656ce96226f1ac6a0d090033ecf1943d024da0c9ee174bf65f76a14721819c6c2263c5b094f16cf112cc964000000ee42c9a7fdc0f2ad6fc01feb7 SHA512 1862307eab505e500326f84e267648f084926629f6b45b9abb6a90a20a7aa6dd2fc305962b9028c5ca7becb574573cca43fbecd9294b782d9942e71639a32aa9 diff --git a/dev-libs/vala-common/vala-common-0.40.13.ebuild b/dev-libs/vala-common/vala-common-0.40.13.ebuild new file mode 100644 index 000000000000..29fd6de8fd02 --- /dev/null +++ b/dev-libs/vala-common/vala-common-0.40.13.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GNOME_ORG_MODULE="vala" + +inherit gnome.org + +DESCRIPTION="Build infrastructure for packages that use Vala" +HOMEPAGE="https://wiki.gnome.org/Projects/Vala" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +IUSE="" + +# Previously ${PN} was part of dev-lang/vala +RDEPEND=" + !<dev-lang/vala-0.10.4-r2 + !<dev-lang/vala-0.12.1-r1:0.12 + !<dev-lang/vala-0.14.2-r2:0.14 + !<dev-lang/vala-0.16.1-r2:0.16 + !<dev-lang/vala-0.17.5:0.18 +" +DEPEND="" + +src_configure() { :; } + +src_compile() { :; } + +src_install() { + insinto /usr/share/aclocal + doins vala.m4 vapigen/vapigen.m4 + insinto /usr/share/vala + doins vapigen/Makefile.vapigen +} + +pkg_postinst() { + # Hack to prevent alternatives_auto_makesym in previously installed + # dev-lang/vala's pkg_postrm from overwriting vala-common's files + if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then + ebegin "Removing old vala-0.10 macros" + rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null + eend $? + fi + if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then + ebegin "Removing old vala-0.12 macros" + rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null + eend $? + fi + if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then + ebegin "Removing old vala-0.14 macros" + rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null + eend $? + fi + if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then + ebegin "Removing old vala-0.16 macros" + rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null + eend $? + if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then + ebegin "Removing old vala-0.16 makefile template" + rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null + eend $? + fi + fi + if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then + ebegin "Removing old vala-0.18 macros" + rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null + eend $? + if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then + ebegin "Removing old vala-0.18 makefile template" + rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null + eend $? + fi + fi +} diff --git a/dev-libs/vala-common/vala-common-0.42.5.ebuild b/dev-libs/vala-common/vala-common-0.42.5.ebuild new file mode 100644 index 000000000000..29fd6de8fd02 --- /dev/null +++ b/dev-libs/vala-common/vala-common-0.42.5.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +GNOME_ORG_MODULE="vala" + +inherit gnome.org + +DESCRIPTION="Build infrastructure for packages that use Vala" +HOMEPAGE="https://wiki.gnome.org/Projects/Vala" + +LICENSE="LGPL-2.1" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris" +IUSE="" + +# Previously ${PN} was part of dev-lang/vala +RDEPEND=" + !<dev-lang/vala-0.10.4-r2 + !<dev-lang/vala-0.12.1-r1:0.12 + !<dev-lang/vala-0.14.2-r2:0.14 + !<dev-lang/vala-0.16.1-r2:0.16 + !<dev-lang/vala-0.17.5:0.18 +" +DEPEND="" + +src_configure() { :; } + +src_compile() { :; } + +src_install() { + insinto /usr/share/aclocal + doins vala.m4 vapigen/vapigen.m4 + insinto /usr/share/vala + doins vapigen/Makefile.vapigen +} + +pkg_postinst() { + # Hack to prevent alternatives_auto_makesym in previously installed + # dev-lang/vala's pkg_postrm from overwriting vala-common's files + if has_version '<dev-lang/vala-0.10.4-r2:0.10' && [[ -f "${EROOT}usr/share/aclocal/vala-0-10.m4" ]]; then + ebegin "Removing old vala-0.10 macros" + rm "${EROOT}usr/share/aclocal/vala-0-10.m4" &> /dev/null + eend $? + fi + if has_version '<dev-lang/vala-0.12.1-r1:0.12' && [[ -f "${EROOT}usr/share/aclocal/vala-0-12.m4" ]]; then + ebegin "Removing old vala-0.12 macros" + rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null + eend $? + fi + if has_version '<dev-lang/vala-0.14.2-r2:0.14' && [[ -f "${EROOT}usr/share/aclocal/vala-0-14.m4" ]]; then + ebegin "Removing old vala-0.14 macros" + rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null + eend $? + fi + if has_version '<dev-lang/vala-0.16.1-r2:0.16' && [[ -f "${EROOT}usr/share/aclocal/vala-0-16.m4" ]]; then + ebegin "Removing old vala-0.16 macros" + rm "${EROOT}usr/share/aclocal/vala-0-14.m4" &> /dev/null + eend $? + if [[ -f "${EROOT}usr/share/vala-0.16/Makefile.vapigen" ]]; then + ebegin "Removing old vala-0.16 makefile template" + rm "${EROOT}usr/share/vala-0.16/Makefile.vapigen" &> /dev/null + eend $? + fi + fi + if has_version '<dev-lang/vala-0.17.5:0.18' && [[ -f "${EROOT}usr/share/aclocal/vala-0-18.m4" ]]; then + ebegin "Removing old vala-0.18 macros" + rm "${EROOT}usr/share/aclocal/vala-0-12.m4" &> /dev/null + eend $? + if [[ -f "${EROOT}usr/share/vala-0.18/Makefile.vapigen" ]]; then + ebegin "Removing old vala-0.18 makefile template" + rm "${EROOT}usr/share/vala-0.18/Makefile.vapigen" &> /dev/null + eend $? + fi + fi +} diff --git a/eclass/gnome.org.eclass b/eclass/gnome.org.eclass index 6b2ae672a2d4..fd6077e4594c 100644 --- a/eclass/gnome.org.eclass +++ b/eclass/gnome.org.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: gnome.org.eclass @@ -11,7 +11,8 @@ # @DESCRIPTION: # Provide a default SRC_URI for tarball hosted on gnome.org mirrors. -inherit versionator +# versionator inherit kept for older EAPIs due to ebuilds (potentially) relying on it +[[ ${EAPI} == [0123456] ]] && inherit eapi7-ver versionator # @ECLASS-VARIABLE: GNOME_TARBALL_SUFFIX # @DESCRIPTION: @@ -28,7 +29,11 @@ fi # Even though xz-utils are in @system, they must still be added to DEPEND; see # https://archives.gentoo.org/gentoo-dev/msg_a0d4833eb314d1be5d5802a3b710e0a4.xml if [[ ${GNOME_TARBALL_SUFFIX} == "xz" ]]; then - DEPEND="${DEPEND} app-arch/xz-utils" + if [[ ${EAPI:-0} != [0123456] ]]; then + BDEPEND="app-arch/xz-utils" + else + DEPEND="app-arch/xz-utils" + fi fi # @ECLASS-VARIABLE: GNOME_ORG_MODULE @@ -41,7 +46,7 @@ fi # @INTERNAL # @DESCRIPTION: # Major and minor numbers of the version number. -: ${GNOME_ORG_PVP:=$(get_version_component_range 1-2)} +: ${GNOME_ORG_PVP:=$(ver_cut 1-2)} SRC_URI="mirror://gnome/sources/${GNOME_ORG_MODULE}/${GNOME_ORG_PVP}/${GNOME_ORG_MODULE}-${PV}.tar.${GNOME_TARBALL_SUFFIX}" diff --git a/eclass/gnome2-utils.eclass b/eclass/gnome2-utils.eclass index b2f536a45e96..06683a7467f8 100644 --- a/eclass/gnome2-utils.eclass +++ b/eclass/gnome2-utils.eclass @@ -1,25 +1,25 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: gnome2-utils.eclass # @MAINTAINER: # gnome@gentoo.org -# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 +# @SUPPORTED_EAPIS: 0 1 2 3 4 5 6 7 # @BLURB: Auxiliary functions commonly used by Gnome packages. # @DESCRIPTION: # This eclass provides a set of auxiliary functions needed by most Gnome # packages. It may be used by non-Gnome packages as needed for handling various # Gnome stack related functions such as: -# * Gtk+ icon cache management # * GSettings schemas management # * GConf schemas management # * scrollkeeper (old Gnome help system) management [[ ${EAPI:-0} == [012345] ]] && inherit multilib -inherit eutils xdg-utils +[[ ${EAPI:-0} == [0123456] ]] && inherit eutils +inherit xdg-utils case "${EAPI:-0}" in - 0|1|2|3|4|5|6) ;; + 0|1|2|3|4|5|6|7) ;; *) die "EAPI=${EAPI} is not supported" ;; esac @@ -41,12 +41,6 @@ esac # Path to scrollkeeper-update : ${SCROLLKEEPER_UPDATE_BIN:="/usr/bin/scrollkeeper-update"} -# @ECLASS-VARIABLE: GTK_UPDATE_ICON_CACHE -# @INTERNAL -# @DESCRIPTION: -# Path to gtk-update-icon-cache -: ${GTK_UPDATE_ICON_CACHE:="/usr/bin/gtk-update-icon-cache"} - # @ECLASS-VARIABLE: GLIB_COMPILE_SCHEMAS # @INTERNAL # @DESCRIPTION: @@ -83,8 +77,6 @@ esac # @DESCRIPTION: # List of gdk-pixbuf loaders provided by the package -DEPEND=">=sys-apps/sed-4" - # @FUNCTION: gnome2_environment_reset # @DESCRIPTION: @@ -102,7 +94,7 @@ gnome2_environment_reset() { # Ensure we don't rely on dconf/gconf while building, bug #511946 export GSETTINGS_BACKEND="memory" - if has ${EAPI:-0} 6; then + if has ${EAPI:-0} 6 7; then # Try to cover the packages honoring this variable, bug #508124 export GST_INSPECT="$(type -P true)" @@ -205,72 +197,6 @@ gnome2_gconf_uninstall() { fi } -# @FUNCTION: gnome2_icon_savelist -# @DESCRIPTION: -# Find the icons that are about to be installed and save their location -# in the GNOME2_ECLASS_ICONS environment variable. This is only -# necessary for eclass implementations that call -# gnome2_icon_cache_update conditionally. -# This function should be called from pkg_preinst. -gnome2_icon_savelist() { - has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" - pushd "${ED}" > /dev/null || die - export GNOME2_ECLASS_ICONS=$(find 'usr/share/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) - popd > /dev/null || die -} - -# @FUNCTION: gnome2_icon_cache_update -# @DESCRIPTION: -# Updates Gtk+ icon cache files under /usr/share/icons. -# This function should be called from pkg_postinst and pkg_postrm. -gnome2_icon_cache_update() { - has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}" - local updater="${EROOT}${GTK_UPDATE_ICON_CACHE}" - - if [[ ! -x "${updater}" ]] ; then - debug-print "${updater} is not executable" - return - fi - - ebegin "Updating icons cache" - - local retval=0 - local fails=( ) - - for dir in "${EROOT%/}"/usr/share/icons/* - do - if [[ -f "${dir}/index.theme" ]] ; then - local rv=0 - - "${updater}" -qf "${dir}" - rv=$? - - if [[ ! $rv -eq 0 ]] ; then - debug-print "Updating cache failed on ${dir}" - - # Add to the list of failures - fails+=( "${dir}" ) - - retval=2 - fi - elif [[ $(ls "${dir}") = "icon-theme.cache" ]]; then - # Clear stale cache files after theme uninstallation - rm "${dir}/icon-theme.cache" - fi - - if [[ -z $(ls "${dir}") ]]; then - # Clear empty theme directories after theme uninstallation - rmdir "${dir}" - fi - done - - eend ${retval} - - for f in "${fails[@]}" ; do - eerror "Failed to update cache with icon $f" - done -} - # @FUNCTION: gnome2_omf_fix # @DESCRIPTION: # Workaround applied to Makefile rules in order to remove redundant @@ -523,3 +449,31 @@ gnome2_disable_deprecation_warning() { ewarn "Failed to disable deprecation warnings in ${makefile}" done } + +case ${EAPI:-0} in +0|1|2|3|4|5|6) + +# @FUNCTION: gnome2_icon_savelist +# @DESCRIPTION: +# Find the icons that are about to be installed and save their location +# in the GNOME2_ECLASS_ICONS environment variable. This is only +# necessary for eclass implementations that call +# gnome2_icon_cache_update conditionally. +# This function should be called from pkg_preinst. +gnome2_icon_savelist() { + has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}" + pushd "${ED}" > /dev/null || die + export GNOME2_ECLASS_ICONS=$(find 'usr/share/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null) + popd > /dev/null || die +} + +# @FUNCTION: gnome2_icon_cache_update +# @DESCRIPTION: +# Updates Gtk+ icon cache files under /usr/share/icons. +# Deprecated. Please use xdg_icon_cache_update from xdg-utils.eclass +gnome2_icon_cache_update() { + xdg_icon_cache_update +} + +;; +esac diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass index f741a041c27a..d19bd0b9ac69 100644 --- a/eclass/gnome2.eclass +++ b/eclass/gnome2.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: gnome2.eclass @@ -316,7 +316,6 @@ gnome2_src_install() { gnome2_pkg_preinst() { xdg_pkg_preinst gnome2_gconf_savelist - gnome2_icon_savelist gnome2_schemas_savelist gnome2_scrollkeeper_savelist gnome2_gdk_pixbuf_savelist @@ -338,9 +337,6 @@ gnome2_pkg_preinst() { gnome2_pkg_postinst() { xdg_pkg_postinst gnome2_gconf_install - if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then - gnome2_icon_cache_update - fi if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then gnome2_schemas_update fi @@ -362,9 +358,6 @@ gnome2_pkg_postinst() { # Handle scrollkeeper, GSettings, Icons, desktop and mime database updates. gnome2_pkg_postrm() { xdg_pkg_postrm - if [[ -n ${GNOME2_ECLASS_ICONS} ]]; then - gnome2_icon_cache_update - fi if [[ -n ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then gnome2_schemas_update fi diff --git a/eclass/vala.eclass b/eclass/vala.eclass index 11fd875d5d99..7ce2a5e681fd 100644 --- a/eclass/vala.eclass +++ b/eclass/vala.eclass @@ -32,7 +32,7 @@ VALA_MIN_API_VERSION=${VALA_MIN_API_VERSION:-0.32} # @ECLASS-VARIABLE: VALA_MAX_API_VERSION # @DESCRIPTION: # Maximum vala API version (e.g. 0.32). -VALA_MAX_API_VERSION=${VALA_MAX_API_VERSION:-0.36} +VALA_MAX_API_VERSION=${VALA_MAX_API_VERSION:-0.44} # @ECLASS-VARIABLE: VALA_USE_DEPEND # @DEFAULT_UNSET @@ -59,16 +59,33 @@ vala_api_versions() { done } +# Outputs VALA_USE_DEPEND as a a USE-dependency string +_vala_use_depend() { + local u="" vala_use + + if [[ -n ${VALA_USE_DEPEND} ]]; then + for vala_use in ${VALA_USE_DEPEND}; do + case ${vala_use} in + vapigen) u="${u},${vala_use}(+)" ;; + valadoc) u="${u},${vala_use}(-)" ;; + esac + done + u="[${u#,}]" + fi + + echo -n "${u}" +} + # @FUNCTION: vala_depend # @DESCRIPTION: # Outputs a ||-dependency string on vala from VALA_MAX_API_VERSION down to # VALA_MIN_API_VERSION vala_depend() { - local u v versions=$(vala_api_versions) - [[ ${VALA_USE_DEPEND} ]] && u="[${VALA_USE_DEPEND}(+)]" + local u v + u=$(_vala_use_depend) echo -n "|| (" - for v in ${versions}; do + for v in $(vala_api_versions); do echo -n " dev-lang/vala:${v}${u}" done echo " )" @@ -80,7 +97,8 @@ vala_depend() { # VALA_MAX_API_VERSION, VALA_MIN_API_VERSION, and VALA_USE_DEPEND. vala_best_api_version() { local u v - [[ ${VALA_USE_DEPEND} ]] && u="[${VALA_USE_DEPEND}(+)]" + u=$(_vala_use_depend) + for v in $(vala_api_versions); do has_version "dev-lang/vala:${v}${u}" && echo "${v}" && return done @@ -130,6 +148,9 @@ vala_src_prepare() { valafoo=$(type -P vapigen-${version}) [[ ${valafoo} ]] && export VAPIGEN="${valafoo}" + valafoo=$(type -P valadoc-${version}) + [[ ${valafoo} ]] && has valadoc ${VALA_USE_DEPEND} && export VALADOC="${valafoo}" + valafoo="${EPREFIX}/usr/share/vala/Makefile.vapigen" [[ -e ${valafoo} ]] && export VAPIGEN_MAKEFILE="${valafoo}" diff --git a/eclass/xdg-utils.eclass b/eclass/xdg-utils.eclass index fe1eef213ea4..f5121830d888 100644 --- a/eclass/xdg-utils.eclass +++ b/eclass/xdg-utils.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2017 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: xdg-utils.eclass @@ -12,6 +12,7 @@ # This eclass provides a set of auxiliary functions needed by most XDG # compliant packages. # It provides XDG stack related functions such as: +# * GTK/Qt5 icon theme cache management # * XDG .desktop files cache management # * XDG mime information database management @@ -20,24 +21,12 @@ case "${EAPI:-0}" in *) die "EAPI=${EAPI} is not supported" ;; esac -# @ECLASS-VARIABLE: DESKTOP_DATABASE_UPDATE_BIN -# @INTERNAL -# @DESCRIPTION: -# Path to update-desktop-database -: ${DESKTOP_DATABASE_UPDATE_BIN:="/usr/bin/update-desktop-database"} - # @ECLASS-VARIABLE: DESKTOP_DATABASE_DIR # @INTERNAL # @DESCRIPTION: # Directory where .desktop files database is stored : ${DESKTOP_DATABASE_DIR="/usr/share/applications"} -# @ECLASS-VARIABLE: MIMEINFO_DATABASE_UPDATE_BIN -# @INTERNAL -# @DESCRIPTION: -# Path to update-mime-database -: ${MIMEINFO_DATABASE_UPDATE_BIN:="/usr/bin/update-mime-database"} - # @ECLASS-VARIABLE: MIMEINFO_DATABASE_DIR # @INTERNAL # @DESCRIPTION: @@ -67,39 +56,79 @@ xdg_environment_reset() { # Updates the .desktop files database. # Generates a list of mimetypes linked to applications that can handle them xdg_desktop_database_update() { - local updater="${EROOT%/}${DESKTOP_DATABASE_UPDATE_BIN}" - if [[ ${EBUILD_PHASE} != post* ]] ; then die "xdg_desktop_database_update must be used in pkg_post* phases." fi - if [[ ! -x "${updater}" ]] ; then - debug-print "${updater} is not executable" + if ! type update-desktop-database &>/dev/null; then + debug-print "update-desktop-database is not found" return fi ebegin "Updating .desktop files database" - "${updater}" -q "${EROOT%/}${DESKTOP_DATABASE_DIR}" + update-desktop-database -q "${EROOT%/}${DESKTOP_DATABASE_DIR}" eend $? } +# @FUNCTION: xdg_icon_cache_update +# @DESCRIPTION: +# Updates icon theme cache files under /usr/share/icons. +# This function should be called from pkg_postinst and pkg_postrm. +xdg_icon_cache_update() { + if [[ ${EBUILD_PHASE} != post* ]] ; then + die "xdg_icon_cache_update must be used in pkg_post* phases." + fi + + if ! type gtk-update-icon-cache &>/dev/null; then + debug-print "gtk-update-icon-cache is not found" + return + fi + + ebegin "Updating icons cache" + local retval=0 + local fails=( ) + for dir in "${EROOT%/}"/usr/share/icons/* + do + if [[ -f "${dir}/index.theme" ]] ; then + local rv=0 + gtk-update-icon-cache -qf "${dir}" + rv=$? + if [[ ! $rv -eq 0 ]] ; then + debug-print "Updating cache failed on ${dir}" + # Add to the list of failures + fails+=( "${dir}" ) + retval=2 + fi + elif [[ $(ls "${dir}") = "icon-theme.cache" ]]; then + # Clear stale cache files after theme uninstallation + rm "${dir}/icon-theme.cache" + fi + if [[ -z $(ls "${dir}") ]]; then + # Clear empty theme directories after theme uninstallation + rmdir "${dir}" + fi + done + eend ${retval} + for f in "${fails[@]}" ; do + eerror "Failed to update cache with icon $f" + done +} + # @FUNCTION: xdg_mimeinfo_database_update # @DESCRIPTION: # Update the mime database. # Creates a general list of mime types from several sources xdg_mimeinfo_database_update() { - local updater="${EROOT%/}${MIMEINFO_DATABASE_UPDATE_BIN}" - if [[ ${EBUILD_PHASE} != post* ]] ; then die "xdg_mimeinfo_database_update must be used in pkg_post* phases." fi - if [[ ! -x "${updater}" ]] ; then - debug-print "${updater} is not executable" + if ! type update-mime-database &>/dev/null; then + debug-print "update-mime-database is not found" return fi ebegin "Updating shared mime info database" - "${updater}" "${EROOT%/}${MIMEINFO_DATABASE_DIR}" + update-mime-database "${EROOT%/}${MIMEINFO_DATABASE_DIR}" eend $? } diff --git a/eclass/xdg.eclass b/eclass/xdg.eclass index 9ee771223dc0..219be712e84d 100644 --- a/eclass/xdg.eclass +++ b/eclass/xdg.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: xdg.eclass @@ -6,16 +6,16 @@ # freedesktop-bugs@gentoo.org # @AUTHOR: # Original author: Gilles Dartiguelongue <eva@gentoo.org> -# @SUPPORTED_EAPIS: 4 5 6 +# @SUPPORTED_EAPIS: 4 5 6 7 # @BLURB: Provides phases for XDG compliant packages. # @DESCRIPTION: -# Utility eclass to update the desktop and shared mime info as laid +# Utility eclass to update the desktop, icon and shared mime info as laid # out in the freedesktop specs & implementations inherit xdg-utils case "${EAPI:-0}" in - 4|5|6) + 4|5|6|7) EXPORT_FUNCTIONS src_prepare pkg_preinst pkg_postinst pkg_postrm ;; *) die "EAPI=${EAPI} is not supported" ;; @@ -35,33 +35,36 @@ fi xdg_src_prepare() { xdg_environment_reset - has ${EAPI:-0} 6 && default + [[ ${EAPI:-0} != [45] ]] && default } # @FUNCTION: xdg_pkg_preinst # @DESCRIPTION: -# Finds .desktop and mime info files for later handling in pkg_postinst. -# Locations are stored in XDG_ECLASS_DESKTOPFILES and XDG_ECLASS_MIMEINFOFILES -# respectively. +# Finds .desktop, icon and mime info files for later handling in pkg_postinst. +# Locations are stored in XDG_ECLASS_DESKTOPFILES, XDG_ECLASS_ICONFILES +# and XDG_ECLASS_MIMEINFOFILES respectively. xdg_pkg_preinst() { local f XDG_ECLASS_DESKTOPFILES=() while IFS= read -r -d '' f; do XDG_ECLASS_DESKTOPFILES+=( ${f} ) - done < <(cd "${D}" && find 'usr/share/applications' -type f -print0 2>/dev/null) + done < <(cd "${ED}" && find 'usr/share/applications' -type f -print0 2>/dev/null) + + XDG_ECLASS_ICONFILES=() + while IFS= read -r -d '' f; do + XDG_ECLASS_ICONFILES+=( ${f} ) + done < <(cd "${ED}" && find 'usr/share/icons' -type f -print0 2>/dev/null) XDG_ECLASS_MIMEINFOFILES=() while IFS= read -r -d '' f; do XDG_ECLASS_MIMEINFOFILES+=( ${f} ) - done < <(cd "${D}" && find 'usr/share/mime' -type f -print0 2>/dev/null) - - export XDG_ECLASS_DESKTOPFILES XDG_ECLASS_MIMEINFOFILES + done < <(cd "${ED}" && find 'usr/share/mime' -type f -print0 2>/dev/null) } # @FUNCTION: xdg_pkg_postinst # @DESCRIPTION: -# Handle desktop and mime info database updates. +# Handle desktop, icon and mime info database updates. xdg_pkg_postinst() { if [[ ${#XDG_ECLASS_DESKTOPFILES[@]} -gt 0 ]]; then xdg_desktop_database_update @@ -69,6 +72,12 @@ xdg_pkg_postinst() { debug-print "No .desktop files to add to database" fi + if [[ ${#XDG_ECLASS_ICONFILES[@]} -gt 0 ]]; then + xdg_icon_cache_update + else + debug-print "No icon files to add to cache" + fi + if [[ ${#XDG_ECLASS_MIMEINFOFILES[@]} -gt 0 ]]; then xdg_mimeinfo_database_update else @@ -78,7 +87,7 @@ xdg_pkg_postinst() { # @FUNCTION: xdg_pkg_postrm # @DESCRIPTION: -# Handle desktop and mime info database updates. +# Handle desktop, icon and mime info database updates. xdg_pkg_postrm() { if [[ ${#XDG_ECLASS_DESKTOPFILES[@]} -gt 0 ]]; then xdg_desktop_database_update @@ -86,6 +95,12 @@ xdg_pkg_postrm() { debug-print "No .desktop files to add to database" fi + if [[ ${#XDG_ECLASS_ICONFILES[@]} -gt 0 ]]; then + xdg_icon_cache_update + else + debug-print "No icon files to add to cache" + fi + if [[ ${#XDG_ECLASS_MIMEINFOFILES[@]} -gt 0 ]]; then xdg_mimeinfo_database_update else |