Browse Source

add xdelta version 3 (beta)

Ralf S. Engelschall 20 years ago
parent
commit
d032566cee
1 changed files with 64 additions and 15 deletions
  1. 64 15
      xdelta/xdelta.spec

+ 64 - 15
xdelta/xdelta.spec

@@ -23,21 +23,29 @@
 ##  SUCH DAMAGE.
 ##
 
+#   package version
+%define       V_v1   1.1.3
+%define       V_v3   30b
+
 #   package information
 Name:         xdelta
 Summary:      Binary Difference Tool
-URL:          http://sourceforge.net/projects/xdelta/
+URL:          http://xdelta.org/
 Vendor:       Joshua P. MacDonald
 Packager:     The OpenPKG Project
 Distribution: OpenPKG
 Class:        BASE
 Group:        SCM
 License:      GPL
-Version:      1.1.3
-Release:      20040524
+Version:      %{V_v1}
+Release:      20050308
+
+#   package options
+%option       with_v3  no
 
 #   list of sources
-Source0:      http://osdn.dl.sourceforge.net/xdelta/xdelta-%{version}.tar.gz
+Source0:      http://osdn.dl.sourceforge.net/xdelta/xdelta-%{V_v1}.tar.gz
+Source1:      http://xdelta.org/xdelta%{V_v3}.tar.gz
 
 #   build information
 Prefix:       %{l_prefix}
@@ -54,27 +62,68 @@ AutoReqProv:  no
 
 %track
     prog xdelta = {
-        version   = %{version}
+        version   = %{V_v1}
         url       = http://prdownloads.sourceforge.net/xdelta/
         regex     = xdelta-(\d+\.\d+\.\d+)\.tar\.gz
     }
+    prog xdelta:v3 = {
+        version   = %{V_v3}
+        url       = http://xdelta.org/
+        regex     = xdelta(__VER__)\.tar\.gz
+    }
 
 %prep
-    %setup -q
+    %setup -q -c
+%if "%{with_v3}" == "yes"
+    %setup -q -D -T -a 1
+%endif
 
 %build
-    CC="%{l_cc}" \
-    CFLAGS="%{l_cflags -O} %{l_cppflags}" \
-    CPPFLAGS="%{l_cppflags}" \
-    LDFLAGS="%{l_ldflags}" \
-    ./configure \
-        --prefix=%{l_prefix} \
-        --disable-shared
-    %{l_make} %{l_mflags -O}
+    ( cd xdelta-%{V_v1}
+      CC="%{l_cc}" \
+      CFLAGS="%{l_cflags -O} %{l_cppflags}" \
+      CPPFLAGS="%{l_cppflags}" \
+      LDFLAGS="%{l_ldflags}" \
+      ./configure \
+          --prefix=%{l_prefix} \
+          --disable-shared
+      %{l_make} %{l_mflags -O}
+    ) || exit $?
+%if "%{with_v3}" == "yes"
+    ( cd xdelta%{V_v3}
+      %{l_shtool} subst \
+          -e 's;ulong;unsigned long;g' \
+          -e 's;EBADR;EBADF;g' \
+          -e 's;trunc;my_trunc;g' \
+          *.[ch]
+      %{l_shtool} subst \
+          -e 's;gcc;%{l_cc};g' \
+          Makefile
+      %{l_make} %{l_mflags} xdelta3-everything xdelta3-all.o
+      ar cr libxdelta3.a xdelta3-all.o
+      ranlib libxdelta3.a
+    ) || exit $?
+%endif
 
 %install
     rm -rf $RPM_BUILD_ROOT
-    %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
+    ( cd xdelta-%{V_v1}
+      %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
+    ) || exit $?
+%if "%{with_v3}" == "yes"
+    ( cd xdelta%{V_v3}
+      %{l_shtool} mkdir -f -p -m 755 \
+          $RPM_BUILD_ROOT%{l_prefix}/bin \
+          $RPM_BUILD_ROOT%{l_prefix}/include \
+          $RPM_BUILD_ROOT%{l_prefix}/lib
+      %{l_shtool} install -c -s -m 755 \
+          xdelta3-everything $RPM_BUILD_ROOT%{l_prefix}/bin/xdelta3
+      %{l_shtool} install -c -m 644 \
+          libxdelta3.a $RPM_BUILD_ROOT%{l_prefix}/lib/
+      %{l_shtool} install -c -m 644 \
+          xdelta3.h $RPM_BUILD_ROOT%{l_prefix}/include/
+    ) || exit $?
+%endif
     strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}