blob: 0e90755d4d76159a0debebc36bb6834f3ed7e386 (
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
134
135
136
137
|
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-libs/fltk/fltk-1.1.10-r1.ebuild,v 1.4 2010/11/08 12:50:02 nelchael Exp $
EAPI=3
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="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
LICENSE="FLTK LGPL-2"
SLOT="$(get_version_component_range 1-2)"
IUSE="debug doc examples games opengl threads xft xinerama"
RDEPEND="x11-libs/libXext
x11-libs/libICE
x11-libs/libSM
x11-libs/libXt
virtual/jpeg
media-libs/libpng
sys-libs/zlib
opengl? ( virtual/opengl )
xinerama? ( x11-libs/libXinerama )
xft? ( x11-libs/libXft )
!prefix? ( >=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=${EPREFIX}/usr/include/fltk-${SLOT}
LIBDIR=${EPREFIX}/usr/$(get_libdir)/fltk-${SLOT}
src_prepare() {
epatch "${FILESDIR}"/fltk-1.1.9-share.patch
#epatch "${FILESDIR}"/${P}-fromdebian.patch
epatch "${FILESDIR}"/${PN}-1.1.9-desktop.patch
epatch "${FILESDIR}"/${PN}-1.1.9-as-needed.patch
# prevent to run twice configure (needs eautoconf), to compile tests,
# remove forced -Os compile
epatch "${FILESDIR}"/${PN}-1.1.9-conf-tests.patch
# fix stricter c++ handling in glibc-2.10/gcc-4.4 (bug 270487)
epatch "${FILESDIR}"/${PN}-1.1.9-glibc2.10-scandir.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="${EPREFIX}/usr/share/doc/${PF}/html" \
--enable-largefile \
--enable-shared \
--enable-xdbe \
--disable-localjpeg \
--disable-localpng \
--disable-localzlib \
$(use_enable debug) \
$(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=${EPREFIX}/usr/share/doc/${PF}/html" >> 99fltk-${SLOT}
doenvd 99fltk-${SLOT}
}
pkg_postinst() {
fdo-mime_desktop_database_update
}
pkg_postrm() {
fdo-mime_desktop_database_update
}
|