glib2.spec 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. ##
  2. ## glib2.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2008 OpenPKG Foundation e.V. <http://openpkg.net/>
  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. ##
  23. # package version
  24. %define V_glib2_major 2.16
  25. %define V_glib2_minor 5
  26. # package information
  27. Name: glib2
  28. Summary: The Gtk Utility Library
  29. URL: http://www.gtk.org/
  30. Vendor: The Gtk Project
  31. Packager: OpenPKG Foundation e.V.
  32. Distribution: OpenPKG Community
  33. Class: BASE
  34. Group: Algorithm
  35. License: GPL
  36. Version: %{V_glib2_major}.%{V_glib2_minor}
  37. Release: 20080720
  38. # package options
  39. %option with_threads yes
  40. # list of sources
  41. Source0: ftp://ftp.gnome.org/pub/gnome/sources/glib/%{V_glib2_major}/glib-%{version}.tar.gz
  42. Patch0: glib2.patch
  43. # build information
  44. Prefix: %{l_prefix}
  45. BuildRoot: %{l_buildroot}
  46. BuildPreReq: OpenPKG, openpkg >= 20040130, perl, make, pkgconfig
  47. PreReq: OpenPKG, openpkg >= 20040130, perl
  48. BuildPreReq: gettext, libiconv, pcre, pcre::with_utf8 = yes
  49. PreReq: gettext, libiconv, pcre, pcre::with_utf8 = yes
  50. AutoReq: no
  51. AutoReqProv: no
  52. %description
  53. GLib is the low-level core library that originally was split out
  54. from Gtk+. It provides data structure handling for C, portability
  55. wrappers, and interfaces for such runtime functionality as an event
  56. loop, threads, dynamic loading, and an object system.
  57. %track
  58. prog glib2 = {
  59. version = %{version}
  60. url = ftp://ftp.gnome.org/pub/gnome/sources/glib/%{V_glib2_major}/
  61. regex = glib-(__VER__)\.tar\.(gz|bz2)
  62. }
  63. %prep
  64. %setup -q -n glib-%{version}
  65. %patch -p0
  66. %{l_shtool} subst \
  67. -e 's;\$export_dynamic_flag_spec;;g' \
  68. -e 's;eval echo \\\\;eval echo ;' \
  69. -e '/LINENO: error: C[+]* preprocessor/{N;N;N;N;s/.*/:/;}' \
  70. configure
  71. %{l_shtool} subst \
  72. -e 's;/glib-2\.0\.pc;/glib-x.x.pc;g' \
  73. -e 's;/gobject-2\.0\.pc;/gobject-x.x.pc;g' \
  74. -e 's;/gthread-2\.0\.pc;/gthread-x.x.pc;g' \
  75. -e 's;/gmodule-2\.0\.pc;/gmodule-x.x.pc;g' \
  76. -e 's;/gio-unix-2\.0\.pc;/gio-unix-x.x.pc;g' \
  77. -e 's;/gio-2\.0\.pc;/gio-x.x.pc;g' \
  78. -e 's;/glib-2\.0;/glib2;g' \
  79. -e 's;/gobject-2\.0;/gobject2;g' \
  80. -e 's;/gthread-2\.0;/gthread2;g' \
  81. -e 's;/gmodule-2\.0;/gmodule2;g' \
  82. -e 's;/gio-unix-2\.0;/gio-unix2;g' \
  83. -e 's;/gio-2\.0;/gio2;g' \
  84. -e 's;/glib-x\.x\.pc;/glib-2.0.pc;g' \
  85. -e 's;/gobject-x\.x\.pc;/gobject-2.0.pc;g' \
  86. -e 's;/gthread-x\.x\.pc;/gthread-2.0.pc;g' \
  87. -e 's;/gmodule-x\.x\.pc;/gmodule-2.0.pc;g' \
  88. -e 's;/gio-unix-x\.x\.pc;/gio-unix-2.0.pc;g' \
  89. -e 's;/gio-x\.x\.pc;/gio-2.0.pc;g' \
  90. -e 's;lib\(g[a-z]*\)-2\.0;lib\12;g' \
  91. `find . -name Makefile.in -print` \
  92. m4macros/glib-2.0.m4
  93. %{l_shtool} subst \
  94. -e 's;/glib-2\.0;/glib2;g' \
  95. -e 's;/gobject-2\.0;/gobject2;g' \
  96. -e 's;/gthread-2\.0;/gthread2;g' \
  97. -e 's;/gmodule-2\.0;/gmodule2;g' \
  98. -e 's;/gio-unix-2\.0;/gio-unix2;g' \
  99. -e 's;/gio-2\.0;/gio2;g' \
  100. -e 's;-l\(g[a-z]*\)-2\.0;-l\12;g' \
  101. *-2.0.pc.in
  102. %build
  103. libs=""
  104. %if "%{with_threads}" == "yes"
  105. case "%{l_platform -t}" in
  106. *-netbsd* ) libs="-lpthread" ;;
  107. esac
  108. %endif
  109. CC="%{l_cc}" \
  110. CFLAGS="%{l_cflags -O}" \
  111. CPPFLAGS="%{l_cppflags}" \
  112. LDFLAGS="%{l_ldflags}" \
  113. LIBS="$libs" \
  114. PERL="%{l_prefix}/bin/perl" \
  115. PERL_PATH="%{l_prefix}/bin/perl" \
  116. GREP="grep" \
  117. ./configure \
  118. --prefix=%{l_prefix} \
  119. --mandir=%{l_prefix}/man \
  120. --with-libiconv=gnu \
  121. --disable-debug \
  122. --disable-shared \
  123. --with-pcre=system \
  124. %if "%{with_threads}" == "yes"
  125. --enable-threads
  126. %else
  127. --disable-threads
  128. %endif
  129. %{l_make} %{l_mflags}
  130. %install
  131. rm -rf $RPM_BUILD_ROOT
  132. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  133. rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir
  134. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/charset.alias
  135. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/locale
  136. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/glib-2.0
  137. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/gtk-doc
  138. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  139. rm $RPM_BUILD_ROOT%{l_prefix}/lib/*.la
  140. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  141. %{l_files_std}
  142. %files -f files
  143. %clean
  144. rm -rf $RPM_BUILD_ROOT