From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 2465C138330 for ; Fri, 2 Sep 2016 04:28:04 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0996621C060; Fri, 2 Sep 2016 04:28:03 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 85EB821C060 for ; Fri, 2 Sep 2016 04:28:02 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B34D5340739 for ; Fri, 2 Sep 2016 04:28:00 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 4DC0B2462 for ; Fri, 2 Sep 2016 04:27:58 +0000 (UTC) From: "Jeroen Roovers" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Jeroen Roovers" Message-ID: <1472790476.90be2edd265129a81dfccbc30288095d93f3d61e.jer@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: x11-libs/fltk/files/, x11-libs/fltk/ X-VCS-Repository: repo/gentoo X-VCS-Files: x11-libs/fltk/files/fltk-1.3.3-makefile-dirs.patch x11-libs/fltk/fltk-1.3.3-r4.ebuild x11-libs/fltk/fltk-1.3.9999.ebuild X-VCS-Directories: x11-libs/fltk/files/ x11-libs/fltk/ X-VCS-Committer: jer X-VCS-Committer-Name: Jeroen Roovers X-VCS-Revision: 90be2edd265129a81dfccbc30288095d93f3d61e X-VCS-Branch: master Date: Fri, 2 Sep 2016 04:27:58 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 511e219f-1e8c-44dc-b7a9-ea1e7e4af0c1 X-Archives-Hash: fd934b38255fb41b3cc48294248231f0 commit: 90be2edd265129a81dfccbc30288095d93f3d61e Author: Jeroen Roovers gentoo org> AuthorDate: Fri Sep 2 04:22:25 2016 +0000 Commit: Jeroen Roovers gentoo org> CommitDate: Fri Sep 2 04:27:56 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=90be2edd x11-libs/fltk: Add multilib support by James Le Cuirot (bug #592434). Package-Manager: portage-2.3.0 x11-libs/fltk/files/fltk-1.3.3-makefile-dirs.patch | 11 ++ x11-libs/fltk/fltk-1.3.3-r4.ebuild | 188 +++++++++++++++++++++ x11-libs/fltk/fltk-1.3.9999.ebuild | 137 +++++++++------ 3 files changed, 282 insertions(+), 54 deletions(-) diff --git a/x11-libs/fltk/files/fltk-1.3.3-makefile-dirs.patch b/x11-libs/fltk/files/fltk-1.3.3-makefile-dirs.patch new file mode 100644 index 00000000..089855c --- /dev/null +++ b/x11-libs/fltk/files/fltk-1.3.3-makefile-dirs.patch @@ -0,0 +1,11 @@ +--- a/Makefile ++++ b/Makefile +@@ -18,7 +18,7 @@ + + include makeinclude + +-DIRS = $(IMAGEDIRS) src $(CAIRODIR) fluid test documentation ++DIRS = $(IMAGEDIRS) src $(CAIRODIR) + + all: makeinclude fltk-config + for dir in $(DIRS); do\ diff --git a/x11-libs/fltk/fltk-1.3.3-r4.ebuild b/x11-libs/fltk/fltk-1.3.3-r4.ebuild new file mode 100644 index 00000000..de7dc98 --- /dev/null +++ b/x11-libs/fltk/fltk-1.3.3-r4.ebuild @@ -0,0 +1,188 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +inherit autotools fdo-mime flag-o-matic multilib-minimal + +DESCRIPTION="C++ user interface toolkit for X and OpenGL" +HOMEPAGE="http://www.fltk.org/" +SRC_URI="http://fltk.org/pub/${PN}/${PV}/${P}-source.tar.gz" + +SLOT="1" +LICENSE="FLTK LGPL-2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos" +IUSE="cairo debug doc examples games +opengl static-libs +threads +xft +xinerama" + +RDEPEND=" + >=media-libs/libpng-1.2:0=[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + virtual/jpeg:0=[${MULTILIB_USEDEP}] + x11-libs/libICE[${MULTILIB_USEDEP}] + x11-libs/libSM[${MULTILIB_USEDEP}] + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXt[${MULTILIB_USEDEP}] + cairo? ( x11-libs/cairo[${MULTILIB_USEDEP},X] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + xft? ( x11-libs/libXft[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + x11-proto/xextproto + doc? ( app-doc/doxygen ) + xinerama? ( x11-proto/xineramaproto ) +" + +DOCS=( + ANNOUNCEMENT + CHANGES + CREDITS + README +) +FLTK_GAMES=" + blocks + checkers + sudoku +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.0-share.patch + "${FILESDIR}"/${PN}-1.3.2-conf-tests.patch + "${FILESDIR}"/${PN}-1.3.2-desktop.patch + "${FILESDIR}"/${PN}-1.3.2-jpeg-9a.patch + "${FILESDIR}"/${PN}-1.3.3-fl_open_display.patch + "${FILESDIR}"/${PN}-1.3.3-fltk-config.patch + "${FILESDIR}"/${PN}-1.3.3-makefile-dirs.patch + "${FILESDIR}"/${PN}-1.3.3-visibility.patch + "${FILESDIR}"/${PN}-1.3.3-xutf8-visibility.patch +) + +pkg_setup() { + unset FLTK_LIBDIRS +} + +src_prepare() { + default + + rm -rf zlib jpeg png || die + + sed -i \ + -e 's:@HLINKS@::g' FL/Makefile.in || die + # docs in proper docdir + sed -i \ + -e "/^docdir/s:fltk:${PF}/html:" \ + -e "/SILENT:/d" \ + makeinclude.in || die + sed -e "s/7/${PV}/" \ + < "${FILESDIR}"/FLTKConfig.cmake \ + > CMake/FLTKConfig.cmake || die + sed -e 's:-Os::g' -i configure.in || die + + # also in Makefile:config.guess config.sub: + cp misc/config.{guess,sub} . || die + + eautoconf + multilib_copy_sources +} + +multilib_src_configure() { + local FLTK_INCDIR=${EPREFIX}/usr/include/fltk + local FLTK_LIBDIR=${EPREFIX}/usr/$(get_libdir)/fltk + FLTK_LIBDIRS+=${FLTK_LIBDIRS+:}${FLTK_LIBDIR} + + multilib_is_native_abi && use prefix && + append-ldflags -Wl,-rpath -Wl,"${FLTK_LIBDIR}" + + econf \ + $(use_enable cairo) \ + $(use_enable debug) \ + $(use_enable opengl gl) \ + $(use_enable threads) \ + $(use_enable xft) \ + $(use_enable xinerama) \ + --disable-localjpeg \ + --disable-localpng \ + --disable-localzlib \ + --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ + --enable-largefile \ + --enable-shared \ + --enable-xcursor \ + --enable-xdbe \ + --enable-xfixes \ + --includedir=${FLTK_INCDIR} \ + --libdir=${FLTK_LIBDIR} +} + +multilib_src_compile() { + # Prevent reconfigure on non-native ABIs. + touch -r makeinclude config.{guess,sub} || die + + default + + if multilib_is_native_abi; then + emake -C fluid + use doc && emake -C documentation html + use games && emake -C test ${FLTK_GAMES} + fi +} + +multilib_src_test() { + emake -C fluid + emake -C test +} + +multilib_src_install() { + default + + if multilib_is_native_abi; then + emake -C fluid DESTDIR="${D}" install-linux + + use doc && \ + emake -C documentation DESTDIR="${D}" install + + use games && \ + emake -C test DESTDIR="${D}" install-linux + fi +} + +multilib_src_install_all() { + for app in fluid $(usex games "${FLTK_GAMES}" ''); do + dosym \ + /usr/share/icons/hicolor/32x32/apps/${app}.png \ + /usr/share/pixmaps/${app}.png + done + + if use examples; then + insinto /usr/share/doc/${PF}/examples + doins test/*.{h,cxx,fl} test/demo.menu + fi + + insinto /usr/share/cmake/Modules + doins CMake/FLTK*.cmake + + echo "LDPATH=${FLTK_LIBDIRS}" > 99fltk || die + echo "FLTK_DOCDIR=${EPREFIX}/usr/share/doc/${PF}/html" >> 99fltk || die + doenvd 99fltk + + # FIXME: This is bad, but building only shared libraries is hardly supported + # FIXME: The executables in test/ are linking statically against libfltk + if ! use static-libs; then + rm "${ED}"/usr/lib*/fltk/*.a || die + fi + + prune_libtool_files +} + +pkg_postinst() { + fdo-mime_desktop_database_update +} + +pkg_postrm() { + fdo-mime_desktop_database_update +} diff --git a/x11-libs/fltk/fltk-1.3.9999.ebuild b/x11-libs/fltk/fltk-1.3.9999.ebuild index 7e769f7..4646fdd 100644 --- a/x11-libs/fltk/fltk-1.3.9999.ebuild +++ b/x11-libs/fltk/fltk-1.3.9999.ebuild @@ -2,8 +2,8 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ -EAPI=5 -inherit autotools eutils fdo-mime flag-o-matic subversion +EAPI=6 +inherit autotools fdo-mime flag-o-matic multilib-minimal subversion DESCRIPTION="C++ user interface toolkit for X and OpenGL" HOMEPAGE="http://www.fltk.org/" @@ -17,17 +17,22 @@ KEYWORDS="" IUSE="cairo debug doc examples games +opengl static-libs +threads +xft +xinerama" RDEPEND=" - >=media-libs/libpng-1.2:0 - virtual/jpeg:0 - sys-libs/zlib - x11-libs/libICE - x11-libs/libSM - x11-libs/libXext - x11-libs/libXt - cairo? ( x11-libs/cairo[X] ) - opengl? ( virtual/glu virtual/opengl ) - xinerama? ( x11-libs/libXinerama ) - xft? ( x11-libs/libXft ) + >=media-libs/libpng-1.2:0=[${MULTILIB_USEDEP}] + sys-libs/zlib[${MULTILIB_USEDEP}] + virtual/jpeg:0=[${MULTILIB_USEDEP}] + x11-libs/libICE[${MULTILIB_USEDEP}] + x11-libs/libSM[${MULTILIB_USEDEP}] + x11-libs/libXcursor[${MULTILIB_USEDEP}] + x11-libs/libXext[${MULTILIB_USEDEP}] + x11-libs/libXfixes[${MULTILIB_USEDEP}] + x11-libs/libXt[${MULTILIB_USEDEP}] + cairo? ( x11-libs/cairo[${MULTILIB_USEDEP},X] ) + opengl? ( + virtual/glu[${MULTILIB_USEDEP}] + virtual/opengl[${MULTILIB_USEDEP}] + ) + xft? ( x11-libs/libXft[${MULTILIB_USEDEP}] ) + xinerama? ( x11-libs/libXinerama[${MULTILIB_USEDEP}] ) " DEPEND=" ${RDEPEND} @@ -36,23 +41,43 @@ DEPEND=" xinerama? ( x11-proto/xineramaproto ) " +DOCS=( + ANNOUNCEMENT + CHANGES + CREDITS + README +) + +FLTK_GAMES=" + blocks + checkers + sudoku +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.3.0-share.patch + "${FILESDIR}"/${PN}-1.3.2-conf-tests.patch + "${FILESDIR}"/${PN}-1.3.3-makefile-dirs.patch + "${FILESDIR}"/${PN}-1.3.3-visibility.patch +) + +pkg_setup() { + unset FLTK_LIBDIRS +} + src_prepare() { + default + rm -rf zlib jpeg png || die - epatch \ - "${FILESDIR}"/${PN}-1.3.0-share.patch \ - "${FILESDIR}"/${PN}-1.3.2-conf-tests.patch \ - "${FILESDIR}"/${PN}-1.3.3-visibility.patch sed -i \ -e 's:@HLINKS@::g' FL/Makefile.in || die sed -i \ + -e '/x-fluid/d' fluid/Makefile || die + sed -i \ -e '/C\(XX\)\?FLAGS=/s:@C\(XX\)\?FLAGS@::' \ -e '/^LDFLAGS=/d' \ "${S}/fltk-config.in" || die - # some fixes introduced because slotting - sed -i \ - -e '/RANLIB/s:$(libdir)/\(.*LIBNAME)\):$(libdir)/`basename \1`:g' \ - src/Makefile || die # docs in proper docdir sed -i \ -e "/^docdir/s:fltk:${PF}/html:" \ @@ -63,17 +88,20 @@ src_prepare() { > CMake/FLTKConfig.cmake || die sed -e 's:-Os::g' -i configure.in || die - use prefix && append-ldflags -Wl,-rpath -Wl,"${FLTK_LIBDIR}" - # also in Makefile:config.guess config.sub: cp misc/config.{guess,sub} . || die eautoconf + multilib_copy_sources } -src_configure() { - FLTK_INCDIR=${EPREFIX}/usr/include/fltk - FLTK_LIBDIR=${EPREFIX}/usr/$(get_libdir)/fltk +multilib_src_configure() { + local FLTK_INCDIR=${EPREFIX}/usr/include/fltk + local FLTK_LIBDIR=${EPREFIX}/usr/$(get_libdir)/fltk + FLTK_LIBDIRS+=${FLTK_LIBDIRS+:}${FLTK_LIBDIR} + + multilib_is_native_abi && use prefix && + append-ldflags -Wl,-rpath -Wl,"${FLTK_LIBDIR}" econf \ $(use_enable cairo) \ @@ -88,53 +116,54 @@ src_configure() { --docdir="${EPREFIX}/usr/share/doc/${PF}/html" \ --enable-largefile \ --enable-shared \ + --enable-xcursor \ --enable-xdbe \ + --enable-xfixes \ --includedir=${FLTK_INCDIR} \ --libdir=${FLTK_LIBDIR} } -src_compile() { - default +multilib_src_compile() { + # Prevent reconfigure on non-native ABIs. + touch -r makeinclude config.{guess,sub} || die - if use doc; then - emake -C documentation html - fi + default - if use games; then - emake -C test blocks checkers sudoku + if multilib_is_native_abi; then + emake -C fluid + use doc && emake -C documentation html + use games && emake -C test ${FLTK_GAMES} fi } -src_test() { +multilib_src_test() { + emake -C fluid emake -C test } -src_install() { +multilib_src_install() { default - emake -C fluid \ - DESTDIR="${D}" install-linux - if use doc; then - emake -C documentation \ - DESTDIR="${D}" install - fi + if multilib_is_native_abi; then + emake -C fluid \ + DESTDIR="${D}" install-linux + + use doc && + emake -C documentation \ + DESTDIR="${D}" install - local apps="fluid" - if use games; then - emake -C test \ - DESTDIR="${D}" install-linux - emake -C documentation \ - DESTDIR="${D}" install-linux - apps+=" sudoku blocks checkers" + use games && + emake -C test \ + DESTDIR="${D}" install-linux fi +} - for app in ${apps}; do +multilib_src_install_all() { + for app in fluid $(usex games "${FLTK_GAMES}" ''); do dosym /usr/share/icons/hicolor/32x32/apps/${app}.png \ - /usr/share/pixmaps/${app}.png + /usr/share/pixmaps/${app}.png done - dodoc CHANGES README CREDITS ANNOUNCEMENT - if use examples; then insinto /usr/share/doc/${PF}/examples doins test/*.{h,cxx,fl} test/demo.menu @@ -143,8 +172,8 @@ src_install() { insinto /usr/share/cmake/Modules doins CMake/FLTK*.cmake - echo "LDPATH=${FLTK_LIBDIR}" > 99fltk - echo "FLTK_DOCDIR=${EPREFIX}/usr/share/doc/${PF}/html" >> 99fltk + echo "LDPATH=${FLTK_LIBDIRS}" > 99fltk || die + echo "FLTK_DOCDIR=${EPREFIX}/usr/share/doc/${PF}/html" >> 99fltk || die doenvd 99fltk # FIXME: This is bad, but building only shared libraries is hardly supported