summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRepository mirror & CI <repomirrorci@gentoo.org>2019-02-11 17:34:38 +0000
committerRepository mirror & CI <repomirrorci@gentoo.org>2019-02-11 17:34:38 +0000
commit8c36f780c4f1f8cd5e7911868fe624f7d397436e (patch)
treed6ae71e1da4036b5c2581ec93d03ca337d92f169
parent2019-02-11 17:04:17 UTC (diff)
parentdev-lang/vala: 0.42.4 → 0.42.5 (diff)
downloadgentoo-8c36f780c4f1f8cd5e7911868fe624f7d397436e.tar.gz
gentoo-8c36f780c4f1f8cd5e7911868fe624f7d397436e.tar.bz2
gentoo-8c36f780c4f1f8cd5e7911868fe624f7d397436e.zip
Merge updates from master
-rw-r--r--app-shells/fish/Manifest1
-rw-r--r--app-shells/fish/fish-3.0.1.ebuild75
-rw-r--r--dev-lang/vala/Manifest2
-rw-r--r--dev-lang/vala/files/0.40-Allow-disabling-the-build-of-valadoc.patch184
-rw-r--r--dev-lang/vala/files/0.40-valadoc-doclets-data-parallel-installable.patch212
-rw-r--r--dev-lang/vala/metadata.xml11
-rw-r--r--dev-lang/vala/vala-0.40.13.ebuild56
-rw-r--r--dev-lang/vala/vala-0.42.5.ebuild56
-rw-r--r--dev-libs/vala-common/Manifest2
-rw-r--r--dev-libs/vala-common/vala-common-0.40.13.ebuild76
-rw-r--r--dev-libs/vala-common/vala-common-0.42.5.ebuild76
-rw-r--r--eclass/gnome.org.eclass13
-rw-r--r--eclass/gnome2-utils.eclass114
-rw-r--r--eclass/gnome2.eclass9
-rw-r--r--eclass/vala.eclass31
-rw-r--r--eclass/xdg-utils.eclass75
-rw-r--r--eclass/xdg.eclass43
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