commit ef5e76ac2bcbb7cba9304a84c0d7912c5731dfd9 Author: Gilles Dartiguelongue Date: Sun May 10 15:44:12 2015 +0200 net-misc/spice-gtk: 0.25-r1 → 0.28 Use multibuild eclass to simplify ebuild spice-gtk-0.28.ebuild | 107 ++++++++++++++++++-------------------------------- 1 file changed, 40 insertions(+), 67 deletions(-) --- a/net-misc/spice-gtk/spice-gtk-0.25-r1.ebuild 2015-05-15 15:01:16.000000000 +0200 +++ b/net-misc/spice-gtk/spice-gtk-0.28.ebuild 2015-06-03 23:05:47.000000000 +0200 @@ -10,7 +10,7 @@ PYTHON_COMPAT=( python2_7 ) -inherit autotools eutils python-single-r1 vala +inherit autotools eutils multibuild python-single-r1 vala DESCRIPTION="Set of GObject and Gtk objects for connecting to Spice servers and a client GUI" HOMEPAGE="http://spice-space.org http://gitorious.org/spice-gtk" @@ -18,34 +18,34 @@ LICENSE="LGPL-2.1" SLOT="0" SRC_URI="http://spice-space.org/download/gtk/${P}.tar.bz2" -KEYWORDS="~alpha amd64 arm ppc ppc64 ~x86" -IUSE="dbus doc gstreamer gtk3 +introspection policykit pulseaudio -python sasl smartcard static-libs usbredir vala webdav" - +KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~x86" +IUSE="dbus gstreamer gtk2 gtk3 +introspection lz4 policykit pulseaudio python sasl smartcard static-libs usbredir vala webdav" REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - ?? ( pulseaudio gstreamer )" + python? ( gtk2 ${PYTHON_REQUIRED_USE} ) + ?? ( pulseaudio gstreamer ) +" # TODO: # * check if sys-freebsd/freebsd-lib (from virtual/acl) provides acl/libacl.h # * use external pnp.ids as soon as that means not pulling in gnome-desktop -RDEPEND="${PYTHON_DEPS} +RDEPEND=" + ${PYTHON_DEPS} pulseaudio? ( media-sound/pulseaudio[glib] ) gstreamer? ( - media-libs/gstreamer:0.10 - media-libs/gst-plugins-base:0.10 ) + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 ) >=x11-libs/pixman-0.17.7 >=media-libs/celt-0.5.1.1:0.5.1 media-libs/opus - dev-libs/openssl + dev-libs/openssl:= + gtk2? ( x11-libs/gtk+:2[introspection?] ) gtk3? ( x11-libs/gtk+:3[introspection?] ) - x11-libs/gtk+:2[introspection?] - >=dev-libs/glib-2.26:2 + >=dev-libs/glib-2.28:2 >=x11-libs/cairo-1.2 - virtual/jpeg + virtual/jpeg:= sys-libs/zlib - dbus? ( dev-libs/dbus-glib ) introspection? ( dev-libs/gobject-introspection ) + lz4? ( app-arch/lz4 ) python? ( dev-python/pygtk:2 ) sasl? ( dev-libs/cyrus-sasl ) smartcard? ( app-emulation/qemu[smartcard] ) @@ -59,34 +59,32 @@ >=sys-auth/polkit-0.110-r1 !~sys-auth/polkit-0.111 ) ) - webdav? ( net-libs/phodav )" + webdav? ( + net-libs/phodav:2.0 + >=dev-libs/glib-2.43.90:2 + >=net-libs/libsoup-2.49.91 ) +" DEPEND="${RDEPEND} dev-lang/python dev-python/pyparsing dev-perl/Text-CSV + >=dev-util/gtk-doc-am-1.14 >=dev-util/intltool-0.40.0 >=sys-devel/gettext-0.17 virtual/pkgconfig - vala? ( $(vala_depend) )" + vala? ( $(vala_depend) ) +" # Hard-deps while building from git: # dev-lang/vala:0.14 # dev-lang/perl -GTK2_BUILDDIR="${WORKDIR}/${P}_gtk2" -GTK3_BUILDDIR="${WORKDIR}/${P}_gtk3" - src_prepare() { - epatch \ - "${FILESDIR}/${P}-Introduce-enable-disable-webdav-option.patch" \ - "${FILESDIR}/${P}-Do-not-depend-on-libsoup-directly.patch" \ - "${FILESDIR}/${P}-missing_gio_libs.patch" epatch_user AT_NO_RECURSIVE="yes" eautoreconf use vala && vala_src_prepare - mkdir ${GTK2_BUILDDIR} ${GTK3_BUILDDIR} || die } src_configure() { @@ -102,6 +100,7 @@ fi myconf=" + --disable-maintainer-mode \ $(use_enable static-libs static) \ $(use_enable introspection) \ --with-audio=${audio} \ @@ -115,61 +114,35 @@ $(use_enable vala) \ $(use_enable webdav) \ $(use_enable dbus) \ - $(use_enable doc gtk-doc) \ + --disable-gtk-doc \ --disable-werror \ --enable-pie" - cd ${GTK2_BUILDDIR} - echo "Running configure in ${GTK2_BUILDDIR}" - ECONF_SOURCE="${S}" econf --disable-maintainer-mode \ - --with-gtk=2.0 \ - ${myconf} - - if use gtk3; then - cd ${GTK3_BUILDDIR} - echo "Running configure in ${GTK3_BUILDDIR}" - ECONF_SOURCE="${S}" econf --disable-maintainer-mode \ - --with-gtk=3.0 \ - ${myconf} - fi + # Parameter of --with-gtk + MULTIBUILD_VARIANTS=( no ) + use gtk2 && MULTIBUILD_VARIANTS+=( 2.0 ) + use gtk3 && MULTIBUILD_VARIANTS+=( 3.0 ) + + configure() { + [[ ${MULTIBUILD_VARIANT} != "2.0" ]] && myconf+=( --with-python ) + myconf+=( --with-gtk=${MULTIBUILD_VARIANT} ) + ECONF_SOURCE="${S}" econf ${myconf[@]} + } + multibuild_foreach_variant run_in_build_dir configure } src_compile() { - cd ${GTK2_BUILDDIR} - einfo "Running make in ${GTK2_BUILDDIR}" - default - - if use gtk3; then - cd ${GTK3_BUILDDIR} - einfo "Running make in ${GTK3_BUILDDIR}" - default - fi + multibuild_foreach_variant run_in_build_dir default } src_test() { - cd ${GTK2_BUILDDIR} - einfo "Running make check in ${GTK2_BUILDDIR}" - default - - if use gtk3; then - cd ${GTK3_BUILDDIR} - einfo "Running make check in ${GTK3_BUILDDIR}" - default - fi + multibuild_foreach_variant run_in_build_dir default } src_install() { dodoc AUTHORS ChangeLog NEWS README THANKS TODO - cd ${GTK2_BUILDDIR} - einfo "Running make check in ${GTK2_BUILDDIR}" - default - - if use gtk3; then - cd ${GTK3_BUILDDIR} - einfo "Running make install in ${GTK3_BUILDDIR}" - default - fi + multibuild_foreach_variant run_in_build_dir default # Remove .la files if they're not needed use static-libs || prune_libtool_files