blob: 44debc14dcbd95043f7b56a55ac2c81e0180aaf3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/fltk/fltk-1.1.9-r1.ebuild,v 1.1 2009/07/08 11:34:48 yngwin Exp $
EAPI=2
inherit eutils autotools versionator fdo-mime
DESCRIPTION="C++ user interface toolkit for X and OpenGL."
HOMEPAGE="http://www.fltk.org"
SRC_URI="mirror://easysw/${PN}/${PV}/${P}-source.tar.bz2"
KEYWORDS="~amd64 ~x86"
LICENSE="FLTK LGPL-2"
SLOT="$(get_version_component_range 1-2)"
IUSE="doc examples games opengl threads xft xinerama"
RDEPEND="x11-libs/libXext
x11-libs/libICE
x11-libs/libSM
x11-libs/libXt
media-libs/jpeg
media-libs/libpng
sys-libs/zlib
opengl? ( virtual/opengl virtual/glu )
xinerama? ( x11-libs/libXinerama )
xft? ( x11-libs/libXft )
>=sys-libs/glibc-2.10" # glibc-2.10 patch breaks with 2.9, bug 276695
DEPEND="${RDEPEND}
x11-proto/xextproto
doc? ( app-text/htmldoc )
xinerama? ( x11-proto/xineramaproto )"
INCDIR=/usr/include/fltk-${SLOT}
LIBDIR=/usr/$(get_libdir)/fltk-${SLOT}
src_prepare() {
#epatch "${FILESDIR}"/${P}-fromdebian.patch
epatch "${FILESDIR}"/${P}-desktop.patch
epatch "${FILESDIR}"/${P}-as-needed.patch
# prevent to run twice configure (needs eautoconf), to compile tests,
# remove forced -Os compile
epatch "${FILESDIR}"/${P}-conf-tests.patch
# fix stricter c++ handling in glibc-2.10/gcc-4.4 (bug 270487)
epatch "${FILESDIR}"/${P}-glibc2.10-scandir.patch
epatch "${FILESDIR}"/${P}-consts.patch
# remove forced flags from fltk-config
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:" \
makeinclude.in || die
sed -e "s/7/$(get_version_component_range 3)/" \
"${FILESDIR}"/FLTKConfig.cmake > CMake/FLTKConfig.cmake
eautoconf
}
src_configure() {
econf \
--includedir=${INCDIR}\
--libdir=${LIBDIR} \
--docdir=/usr/share/doc/${PF}/html \
--enable-largefile \
--enable-shared \
--enable-xdbe \
$(use_enable opengl gl) \
$(use_enable threads) \
$(use_enable xft) \
$(use_enable xinerama)
}
src_compile() {
emake || die "emake failed"
if use doc; then
cd "${S}"/documentation
emake alldocs || die "emake doc failed"
fi
if use games; then
cd "${S}"/test
emake blocks checkers sudoku || die "emake games failed"
fi
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
emake -C fluid \
DESTDIR="${D}" install-linux || die "emake install fluid failed"
if use doc; then
emake -C documentation \
DESTDIR="${D}" install || die "emake install doc failed"
fi
local apps="fluid"
if use games; then
emake -C test \
DESTDIR="${D}" install-linux || die "emake install games failed"
emake -C documentation \
DESTDIR="${D}" install-linux || die "emake install doc games failed"
apps="${apps} sudoku blocks checkers"
fi
for app in ${apps}; do
dosym /usr/share/icons/hicolor/32x32/apps/${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
fi
insinto /usr/share/cmake/Modules
doins CMake/FLTK*.cmake
echo "LDPATH=${LIBDIR}" > 99fltk-${SLOT}
echo "FLTK_DOCDIR=/usr/share/doc/${PF}/html" >> 99fltk-${SLOT}
doenvd 99fltk-${SLOT}
}
pkg_postinst() {
fdo-mime_desktop_database_update
}
pkg_postrm() {
fdo-mime_desktop_database_update
}
|