Mon, 28 Jan 2013 17:37:18 +0100
Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.
1 ##
2 ## libgdiplus.spec -- OpenPKG RPM Package Specification
3 ## Copyright (c) 2009 Michael Schloh von Bennewitz <michael@schloh.com>
4 ##
5 ## Permission to use, copy, modify, and distribute this software for
6 ## any purpose with or without fee is hereby granted, provided that
7 ## the above copyright notice and this permission notice appear in all
8 ## copies.
9 ##
10 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
11 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
13 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
14 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
15 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
16 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
17 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
18 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
19 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
20 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
21 ## SUCH DAMAGE.
22 ##
24 # package information
25 Name: libgdiplus
26 Summary: Unix GDI+ Development API
27 URL: http://www.mono-project.com/Libgdiplus
28 Packager: Michael Schloh von Bennewitz
29 Distribution: Europalab Networks Production
30 Class: EVAL
31 Group: XWindow
32 License: MIT X11
33 Version: 2.0
34 Release: 20090106
36 # build options
37 %option with_shared no
39 # list of sources
40 Source0: ftp://ftp.novell.com/pub/mono/sources/libgdiplus/libgdiplus-%{version}.tar.bz2
42 # build information
43 Prefix: %{l_prefix}
44 BuildRoot: %{l_buildroot}
45 BuildPreReq: OpenPKG, openpkg >= 20040130, make
46 PreReq: OpenPKG, openpkg >= 20040130
47 BuildPreReq: zlib, glib2, X11, xrender, cairo
48 PreReq: zlib, glib2, X11, xrender, cairo
49 BuildPreReq: fontconfig, freetype, giflib, jpeg, png, tiff
50 PreReq: fontconfig, freetype, giflib, jpeg, png, tiff
51 AutoReq: no
52 AutoReqProv: no
53 Conflicts: pnet
55 %description
56 The Graphics Device Interface Plus (GDI+) development API exposes
57 abstract graphics and formatted text logic. The calling process
58 may write to those devices for which the GDI+ has a device driver,
59 such as a video display or printer.
61 %track
62 prog libgdiplus = {
63 version = %{version}
64 url = ftp://ftp.novell.com/pub/mono/sources/libgdiplus/
65 regex = libgdiplus-(\d+\.\d+)\.tar\.bz2
66 }
68 %prep
69 # unpack sources
70 %setup -q
72 # remove subdirectory builds to assure internal library usage
73 rm -rf cairo
75 # correct flaws in the build configuration
76 %{l_shtool} subst \
77 -e 's;\(libexif_pkgconfig=\)\("No\.[^"]*"\);\1no \&\& echo \2;g' \
78 configure
79 %{l_shtool} subst \
80 -e 's;^\(SUBDIRS\) *= *@CAIRO_DIR@ src tests;\1=src tests;' \
81 Makefile.in
83 %build
84 # detect X11 paths
85 x11_incdir=`%{l_rc} --query x11_incdir`
86 x11_libdir=`%{l_rc} --query x11_libdir`
88 %if "%{with_shared}" == "yes"
89 # configure shared library
90 CC="%{l_cc}" \
91 CFLAGS="%{l_cflags -O}" \
92 CPPFLAGS="%{l_cppflags tiff} -I${x11_incdir}" \
93 LDFLAGS="%{l_ldflags}" \
94 ./configure \
95 --prefix=%{l_prefix} \
96 --with-cairo=installed \
97 --without-libexif \
98 --disable-static \
99 --enable-shared \
100 --with-gnu-ld
102 # build shared library
103 %{l_make} %{l_mflags -O}
105 # install early, as we delete to build again
106 %{l_shtool} mkdir -f -p -m 755 gdidyn
107 mv src/.libs/libgdiplus* gdidyn/
109 # reset build configuration
110 %{l_make} %{l_mflags} distclean
111 %endif
113 # configure static library
114 CC="%{l_cc}" \
115 CFLAGS="%{l_cflags -O}" \
116 CPPFLAGS="%{l_cppflags tiff} -I${x11_incdir}" \
117 LDFLAGS="%{l_ldflags}" \
118 ./configure \
119 --prefix=%{l_prefix} \
120 --with-cairo=installed \
121 --without-libexif \
122 --enable-static \
123 --disable-shared \
124 --with-gnu-ld
126 # build static library
127 %{l_make} %{l_mflags -O}
129 %install
130 # install static library
131 rm -rf $RPM_BUILD_ROOT
132 %{l_make} %{l_mflags} install DESTDIR="$RPM_BUILD_ROOT"
134 %if "%{with_shared}" == "yes"
135 # install shared library
136 %{l_tar} cf - gdidyn | %{l_tar} xf - -C $RPM_BUILD_ROOT%{l_prefix}/lib
137 %endif
139 # determine installation files
140 %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
141 %{l_files_std} \
142 '%not %dir %{l_prefix}/lib/pkgconfig'
144 %files -f files
146 %clean
147 rm -rf $RPM_BUILD_ROOT