]> git.pld-linux.org Git - packages/crossmingw32-harfbuzz.git/blob - crossmingw32-harfbuzz.spec
- updated to 8.4.0
[packages/crossmingw32-harfbuzz.git] / crossmingw32-harfbuzz.spec
1 Summary:        HarfBuzz - internationalized text shaping library - MinGW32 cross version
2 Summary(pl.UTF-8):      Rasteryzer fontów TrueType - wersja skrośna dla MinGW32
3 Name:           crossmingw32-harfbuzz
4 Version:        1.7.2
5 Release:        1
6 License:        MIT
7 Group:          Development/Libraries
8 Source0:        https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-%{version}.tar.bz2
9 # Source0-md5:  88f03ba47543393bc9f8400482ab38eb
10 Patch0:         harfbuzz-win32.patch
11 URL:            https://www.freedesktop.org/wiki/HarfBuzz
12 BuildRequires:  autoconf >= 2.64
13 BuildRequires:  automake >= 1:1.11.1
14 # cairo is used only for utilities, which are not packaged
15 #BuildRequires: crossmingw32-cairo >= 1.8.0
16 BuildRequires:  crossmingw32-freetype >= 2.4.2
17 BuildRequires:  crossmingw32-glib2 >= 2.38
18 BuildRequires:  crossmingw32-gcc-c++ >= 1:4.7
19 BuildRequires:  libtool >= 2:2.2
20 BuildRequires:  pkgconfig >= 1:0.20
21 Requires:       crossmingw32-freetype >= 2.4.2
22 Requires:       crossmingw32-glib2 >= 2.38
23 Requires:       crossmingw32-gcc-c++ >= 1:4.7
24 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
25
26 # see <harfbuzz/internal/ftserv.h>, the real horror
27 %define         specflags       -fno-strict-aliasing
28
29 %define         no_install_post_strip   1
30
31 %define         target                  i386-mingw32
32 %define         target_platform         i386-pc-mingw32
33
34 %define         _sysprefix              /usr
35 %define         _prefix                 %{_sysprefix}/%{target}
36 %define         _libdir                 %{_prefix}/lib
37 %define         _pkgconfigdir           %{_prefix}/lib/pkgconfig
38 %define         _dlldir                 /usr/share/wine/windows/system
39 %define         __cc                    %{target}-gcc
40 %define         __cxx                   %{target}-g++
41 %define         __pkgconfig_provides    %{nil}
42 %define         __pkgconfig_requires    %{nil}
43
44 %ifnarch %{ix86}
45 # arch-specific flags (like alpha's -mieee) are not valid for i386 gcc
46 %define         optflags        -O2
47 %endif
48 # -z options are invalid for mingw linker, most of -f options are Linux-specific
49 %define         filterout_ld    -Wl,-z,.*
50 %define         filterout_c     -f[-a-z0-9=]*
51 %define         filterout_cxx   -f[-a-z0-9=]*
52
53 %description
54 Internationalized OpenType text layout and rendering library.
55
56 This package contains the cross version for Win32.
57
58 %description -l pl.UTF-8
59 Biblioteka rozmieszczająca i rysująca tekst z fontów OpenType,
60 obsługująca wiele języków.
61
62 Ten pakiet zawiera wersję skrośną dla Win32.
63
64 %package static
65 Summary:        Static harfbuzz library (cross MinGW32 version)
66 Summary(pl.UTF-8):      Statyczna biblioteka harfbuzz (wersja skrośna MinGW32)
67 Group:          Development/Libraries
68 Requires:       %{name} = %{version}-%{release}
69
70 %description static
71 Static harfbuzz library (cross MinGW32 version).
72
73 %description static -l pl.UTF-8
74 Statyczna biblioteka harfbuzz (wersja skrośna MinGW32).
75
76 %package dll
77 Summary:        DLL harfbuzz library for Windows
78 Summary(pl.UTF-8):      Biblioteka DLL harfbuzz dla Windows
79 Group:          Applications/Emulators
80 Requires:       crossmingw32-freetype-dll >= 2.4.2
81 Requires:       crossmingw32-glib2-dll >= 2.38
82 Requires:       wine
83
84 %description dll
85 DLL harfbuzz library for Windows.
86
87 %description dll -l pl.UTF-8
88 Biblioteka DLL harfbuzz dla Windows.
89
90 %prep
91 %setup -q -n harfbuzz-%{version}
92 %patch0 -p1
93
94 %build
95 %{__libtoolize}
96 %{__aclocal} -I m4
97 %{__autoconf}
98 %{__autoheader}
99 %{__automake}
100 export PKG_CONFIG_LIBDIR=%{_pkgconfigdir}
101 # MingW32 headers require GNU extensions (-std=c++11 doesn't work)
102 %configure \
103         CPPFLAGS="%{rpmcppflags} -D_GNU_SOURCE" \
104         CXXFLAGS="%{rpmcxxflags} -std=gnu++11" \
105         --target=%{target} \
106         --build=i686-pc-linux-gnu \
107         --host=%{target} \
108         --disable-gtk-doc \
109         --disable-silent-rules \
110         --enable-static \
111         --without-cairo \
112         --with-freetype \
113         --with-glib \
114         --without-graphite2 \
115         --with-html-dir=%{_gtkdocdir} \
116         --without-icu \
117         --with-uniscribe
118
119 %{__make}
120
121 %install
122 rm -rf $RPM_BUILD_ROOT
123
124 %{__make} install \
125         DESTDIR=$RPM_BUILD_ROOT
126
127 install -d $RPM_BUILD_ROOT%{_dlldir}
128 %{__mv} $RPM_BUILD_ROOT%{_prefix}/bin/*.dll $RPM_BUILD_ROOT%{_dlldir}
129
130 %if 0%{!?debug:1}
131 %{target}-strip --strip-unneeded -R.comment -R.note $RPM_BUILD_ROOT%{_dlldir}/*.dll
132 %{target}-strip -g -R.comment -R.note $RPM_BUILD_ROOT%{_libdir}/*.a
133 %endif
134
135 %{__rm} $RPM_BUILD_ROOT%{_bindir}/hb*.exe
136 %{__rm} -rf $RPM_BUILD_ROOT%{_gtkdocdir}
137
138 %clean
139 rm -rf $RPM_BUILD_ROOT
140
141 %files
142 %defattr(644,root,root,755)
143 %doc COPYING ChangeLog README TODO
144 %{_libdir}/libharfbuzz.dll.a
145 %{_libdir}/libharfbuzz.la
146 %{_includedir}/harfbuzz
147 %{_pkgconfigdir}/harfbuzz.pc
148
149 %files static
150 %defattr(644,root,root,755)
151 %{_libdir}/libharfbuzz.a
152
153 %files dll
154 %defattr(644,root,root,755)
155 %{_dlldir}/libharfbuzz-*.dll
This page took 0.102755 seconds and 3 git commands to generate.