public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Jeroen Roovers" <jer@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-libs/fltk/files/, x11-libs/fltk/
Date: Fri,  2 Sep 2016 04:27:58 +0000 (UTC)	[thread overview]
Message-ID: <1472790476.90be2edd265129a81dfccbc30288095d93f3d61e.jer@gentoo> (raw)

commit:     90be2edd265129a81dfccbc30288095d93f3d61e
Author:     Jeroen Roovers <jer <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  2 04:22:25 2016 +0000
Commit:     Jeroen Roovers <jer <AT> gentoo <DOT> 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


             reply	other threads:[~2016-09-02  4:28 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-02  4:27 Jeroen Roovers [this message]
  -- strict thread matches above, loose matches on Subject: below --
2017-05-21 21:39 [gentoo-commits] repo/gentoo:master commit in: x11-libs/fltk/files/, x11-libs/fltk/ Jeroen Roovers
2018-03-17 12:48 Jeroen Roovers
2018-05-07 21:01 Lars Wendler
2020-03-13  8:15 Jeroen Roovers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1472790476.90be2edd265129a81dfccbc30288095d93f3d61e.jer@gentoo \
    --to=jer@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox