xdelta.spec 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. ##
  2. ## xdelta.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ## Copyright (c) 2000-2006 Ralf S. Engelschall <http://engelschall.com/>
  5. ##
  6. ## Permission to use, copy, modify, and distribute this software for
  7. ## any purpose with or without fee is hereby granted, provided that
  8. ## the above copyright notice and this permission notice appear in all
  9. ## copies.
  10. ##
  11. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  12. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  14. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  15. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  16. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  17. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  18. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  19. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  20. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  21. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22. ## SUCH DAMAGE.
  23. ##
  24. # package version
  25. %define V_v1 1.1.3
  26. %define V_v3 30d
  27. # package information
  28. Name: xdelta
  29. Summary: Binary Difference Tool
  30. URL: http://xdelta.org/
  31. Vendor: Joshua P. MacDonald
  32. Packager: OpenPKG
  33. Distribution: OpenPKG
  34. Class: BASE
  35. Group: SCM
  36. License: GPL
  37. Version: %{V_v1}
  38. Release: 20060219
  39. # package options
  40. %option with_v3 no
  41. # list of sources
  42. Source0: http://osdn.dl.sourceforge.net/xdelta/xdelta-%{V_v1}.tar.gz
  43. Source1: http://xdelta.org/xdelta%{V_v3}.tar.gz
  44. Patch0: xdelta.patch
  45. # build information
  46. Prefix: %{l_prefix}
  47. BuildRoot: %{l_buildroot}
  48. BuildPreReq: OpenPKG, openpkg >= 20040130, glib, zlib, gcc, config
  49. PreReq: OpenPKG, openpkg >= 20040130, glib, zlib
  50. AutoReq: no
  51. AutoReqProv: no
  52. %description
  53. Xdelta is a complete system for managing delta-compressed storage
  54. and network transport. Using the Xdelta system, you can easily
  55. incorporate this functionality into your application.
  56. %track
  57. prog xdelta = {
  58. version = %{V_v1}
  59. url = http://prdownloads.sourceforge.net/xdelta/
  60. regex = xdelta-(\d+\.\d+\.\d+)\.tar\.gz
  61. }
  62. prog xdelta:v3 = {
  63. version = %{V_v3}
  64. url = http://xdelta.org/
  65. regex = xdelta(__VER__)\.tar\.gz
  66. }
  67. %prep
  68. %setup -q -c
  69. %patch -p0 -d xdelta-%{V_v1}
  70. %{l_prefix}/bin/config install xdelta-%{V_v1}/
  71. %if "%{with_v3}" == "yes"
  72. %setup -q -D -T -a 1
  73. %endif
  74. %build
  75. ( cd xdelta-%{V_v1}
  76. CC="%{l_cc}" \
  77. CFLAGS="%{l_cflags -O} %{l_cppflags}" \
  78. CPPFLAGS="%{l_cppflags}" \
  79. LDFLAGS="%{l_ldflags}" \
  80. ./configure \
  81. --prefix=%{l_prefix} \
  82. --disable-shared
  83. %{l_make} %{l_mflags -O}
  84. ) || exit $?
  85. %if "%{with_v3}" == "yes"
  86. ( cd xdelta%{V_v3}
  87. %{l_shtool} subst \
  88. -e 's;ulong;unsigned long;g' \
  89. -e 's;EBADR;EBADF;g' \
  90. -e 's;trunc;my_trunc;g' \
  91. *.[ch]
  92. %{l_shtool} subst \
  93. -e 's;gcc;%{l_cc};g' \
  94. Makefile
  95. %{l_make} %{l_mflags} xdelta3-everything xdelta3-all.o
  96. ar cr libxdelta3.a xdelta3-all.o
  97. ranlib libxdelta3.a
  98. ) || exit $?
  99. %endif
  100. %install
  101. rm -rf $RPM_BUILD_ROOT
  102. ( cd xdelta-%{V_v1}
  103. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  104. ) || exit $?
  105. %if "%{with_v3}" == "yes"
  106. ( cd xdelta%{V_v3}
  107. %{l_shtool} mkdir -f -p -m 755 \
  108. $RPM_BUILD_ROOT%{l_prefix}/bin \
  109. $RPM_BUILD_ROOT%{l_prefix}/include \
  110. $RPM_BUILD_ROOT%{l_prefix}/lib
  111. %{l_shtool} install -c -s -m 755 \
  112. xdelta3-everything $RPM_BUILD_ROOT%{l_prefix}/bin/xdelta3
  113. %{l_shtool} install -c -m 644 \
  114. libxdelta3.a $RPM_BUILD_ROOT%{l_prefix}/lib/
  115. %{l_shtool} install -c -m 644 \
  116. xdelta3.h $RPM_BUILD_ROOT%{l_prefix}/include/
  117. ) || exit $?
  118. %endif
  119. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  120. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}
  121. %files -f files
  122. %clean
  123. rm -rf $RPM_BUILD_ROOT