Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Closes: https://bugs.gentoo.org/847607 Signed-off-by: Huang Rui <vowstar@gmail.com>
- Loading branch information
Showing
2 changed files
with
201 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST fltk-1.3.5-source.tar.gz 5261324 BLAKE2B df05989d6581b570c689e29e9f31e5fc85fa91dee1296d70b5f5c3b4aab527749850ea78bec3ef5947151b21598c3bb04e52f78b5e6db179e7fd922627862b5e SHA512 db7ea7c5f3489195a48216037b9371a50f1119ae7692d66f71b6711e5ccf78814670581bae015e408dee15c4bba921728309372c1cffc90113cdc092e8540821 | ||
DIST fltk-1.3.8-source.tar.gz 5335306 BLAKE2B 8c2d2fca4243c0e7c5a8aa46083940f99c8b3e7873d39d6e590a4b66587876393f209e5e7e5eaf4a4cc13f0f97cb03671d97129853b0146eeab409aaf687935e SHA512 5c1cbfc156c49888e25b90dcb9b1ab86a03447e08e00864c3c7ae8a0e32cfbd9154ee630054235c9edfd29fd1d0371ae77eff7b78094fb660dbbdec5cecfc8fb |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,200 @@ | ||
# Copyright 1999-2023 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
inherit autotools flag-o-matic xdg-utils multilib-minimal | ||
|
||
DESCRIPTION="C++ user interface toolkit for X and OpenGL" | ||
HOMEPAGE="https://www.fltk.org/" | ||
SRC_URI="https://www.fltk.org/pub/${PN}/${PV}/${P}-source.tar.gz" | ||
|
||
SLOT="1" | ||
LICENSE="FLTK LGPL-2" | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux" | ||
IUSE="cairo debug doc examples games +opengl static-libs +threads +xft +xinerama" | ||
|
||
RDEPEND=" | ||
media-libs/libjpeg-turbo:0=[${MULTILIB_USEDEP}] | ||
>=media-libs/libpng-1.2:0=[${MULTILIB_USEDEP}] | ||
sys-libs/zlib[${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} | ||
virtual/pkgconfig | ||
x11-base/xorg-proto | ||
doc? ( app-doc/doxygen ) | ||
" | ||
DOCS=( | ||
ANNOUNCEMENT | ||
CHANGES | ||
CHANGES_1.0 | ||
CHANGES_1.1 | ||
CREDITS | ||
README | ||
README.abi-version.txt | ||
README.Cairo.txt | ||
README.CMake.txt | ||
README.MSWindows.txt | ||
README.OSX.txt | ||
README.Unix.txt | ||
) | ||
FLTK_GAMES=" | ||
blocks | ||
checkers | ||
sudoku | ||
" | ||
PATCHES=( | ||
"${FILESDIR}"/${PN}-1.3.0-share.patch | ||
"${FILESDIR}"/${PN}-1.3.4-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 | ||
|
||
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 | ||
# docs in proper docdir | ||
sed -i \ | ||
-e "/^docdir/s:fltk:${PF}/html:" \ | ||
-e "/SILENT:/d" \ | ||
makeinclude.in || die | ||
|
||
# also in Makefile:config.guess config.sub: | ||
cp misc/config.{guess,sub} . || die | ||
|
||
cp fluid/{,x-}fluid.desktop || die | ||
|
||
eaclocal | ||
eautoconf | ||
multilib_copy_sources | ||
} | ||
|
||
multilib_src_configure() { | ||
unset FLTK_LIBDIRS | ||
|
||
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} \ | ||
DSOFLAGS="${LDFLAGS}" \ | ||
LDFLAGS="${LDFLAGS}" | ||
} | ||
|
||
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 install | ||
|
||
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 \ | ||
../icons/hicolor/32x32/apps/${app}.png \ | ||
/usr/share/pixmaps/${app}.png | ||
done | ||
|
||
if use examples; then | ||
docinto examples | ||
dodoc -r 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 | ||
|
||
find "${D}" -name '*.la' -delete || die | ||
} | ||
|
||
pkg_postinst() { | ||
xdg_desktop_database_update | ||
xdg_icon_cache_update | ||
} | ||
|
||
pkg_postrm() { | ||
xdg_desktop_database_update | ||
xdg_icon_cache_update | ||
} |