]> git.ipfire.org Git - people/arne_f/ipfire-3.x.git/commitdiff
subversion: New package.
authorStefan Schantl <stefan.schantl@ipfire.org>
Sat, 10 Mar 2012 16:49:32 +0000 (17:49 +0100)
committerStefan Schantl <stefan.schantl@ipfire.org>
Sat, 10 Mar 2012 16:49:32 +0000 (17:49 +0100)
subversion/patches/001-subversion-1.7.0-rpath.patch [new file with mode: 0644]
subversion/patches/002-subversion-1.7.0-pie.patch [new file with mode: 0644]
subversion/subversion.nm [new file with mode: 0644]

diff --git a/subversion/patches/001-subversion-1.7.0-rpath.patch b/subversion/patches/001-subversion-1.7.0-rpath.patch
new file mode 100644 (file)
index 0000000..2481346
--- /dev/null
@@ -0,0 +1,49 @@
+diff -uap subversion-1.7.0/build.conf.rpath subversion-1.7.0/build.conf
+--- subversion-1.7.0/build.conf.rpath  2011-08-04 21:18:50.000000000 +0100
++++ subversion-1.7.0/build.conf        2011-10-12 09:23:43.844525530 +0100
+@@ -478,7 +478,7 @@ type = swig_lib
+ lang = python
+ path = subversion/bindings/swig/python/libsvn_swig_py
+ libs = libsvn_client libsvn_wc libsvn_ra libsvn_delta libsvn_subr apriconv apr
+-link-cmd = $(LINK)
++link-cmd = $(LINK_LIB)
+ install = swig-py-lib
+ # need special build rule to include -DSWIGPYTHON
+ compile-cmd = $(COMPILE_SWIG_PY)
+@@ -501,7 +501,7 @@ type = swig_lib
+ lang = ruby
+ path = subversion/bindings/swig/ruby/libsvn_swig_ruby
+ libs = libsvn_client libsvn_wc libsvn_delta libsvn_subr apriconv apr
+-link-cmd = $(LINK) $(SWIG_RB_LIBS)
++link-cmd = $(LINK_LIB) $(SWIG_RB_LIBS)
+ install = swig-rb-lib
+ # need special build rule to include
+ compile-cmd = $(COMPILE_SWIG_RB)
+diff -uap subversion-1.7.0/build/generator/gen_base.py.rpath subversion-1.7.0/build/generator/gen_base.py
+--- subversion-1.7.0/build/generator/gen_base.py.rpath 2011-06-22 17:44:54.000000000 +0100
++++ subversion-1.7.0/build/generator/gen_base.py       2011-10-12 09:23:15.368649375 +0100
+@@ -506,6 +506,10 @@ class TargetLib(TargetLinked):
+     self.msvc_fake = options.get('msvc-fake') == 'yes' # has fake target
+     self.msvc_export = options.get('msvc-export', '').split()
++    ### hmm. this is Makefile-specific
++    if self.link_cmd == '$(LINK)':
++      self.link_cmd = '$(LINK_LIB)'
++
+ class TargetApacheMod(TargetLib):
+   def __init__(self, name, options, gen_obj):
+diff -uap subversion-1.7.0/Makefile.in.rpath subversion-1.7.0/Makefile.in
+--- subversion-1.7.0/Makefile.in.rpath 2011-07-16 12:50:53.000000000 +0100
++++ subversion-1.7.0/Makefile.in       2011-10-12 09:24:36.165524732 +0100
+@@ -203,8 +203,8 @@ COMPILE_JAVAHL_CXX = $(LIBTOOL) $(LTCXXF
+ COMPILE_JAVAHL_JAVAC = $(JAVAC) $(JAVAC_FLAGS)
+ COMPILE_JAVAHL_JAVAH = $(JAVAH)
+-LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS) -rpath $(libdir)
+-LINK_LIB = $(LINK) $(LT_SO_VERSION)
++LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
++LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
+ LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
+ LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
diff --git a/subversion/patches/002-subversion-1.7.0-pie.patch b/subversion/patches/002-subversion-1.7.0-pie.patch
new file mode 100644 (file)
index 0000000..85e9f07
--- /dev/null
@@ -0,0 +1,57 @@
+diff -uap subversion-1.7.0/build/generator/gen_base.py.pie subversion-1.7.0/build/generator/gen_base.py
+--- subversion-1.7.0/build/generator/gen_base.py.pie   2011-10-12 09:25:30.510524103 +0100
++++ subversion-1.7.0/build/generator/gen_base.py       2011-10-12 09:25:30.515650110 +0100
+@@ -406,7 +406,7 @@ class TargetLinked(Target):
+     self.install = options.get('install')
+     self.compile_cmd = options.get('compile-cmd')
+     self.sources = options.get('sources', '*.c *.cpp')
+-    self.link_cmd = options.get('link-cmd', '$(LINK)')
++    self.link_cmd = options.get('link-cmd', '$(LINK_LIB)')
+     self.external_lib = options.get('external-lib')
+     self.external_project = options.get('external-project')
+@@ -462,6 +462,11 @@ class TargetExe(TargetLinked):
+     self.manpages = options.get('manpages', '')
+     self.testing = options.get('testing')
++    if self.install == 'test' or self.install == 'bdb-test':
++      self.link_cmd = '$(LINK_TEST)'
++    else:
++      self.link_cmd = '$(LINK_EXE)'
++
+   def add_dependencies(self):
+     TargetLinked.add_dependencies(self)
+@@ -507,8 +512,8 @@ class TargetLib(TargetLinked):
+     self.msvc_export = options.get('msvc-export', '').split()
+     ### hmm. this is Makefile-specific
+-    if self.link_cmd == '$(LINK)':
+-      self.link_cmd = '$(LINK_LIB)'
++    if self.install == 'test':
++       self.link_cmd = '$(LINK_TEST_LIB)'
+ class TargetApacheMod(TargetLib):
+diff -uap subversion-1.7.0/Makefile.in.pie subversion-1.7.0/Makefile.in
+--- subversion-1.7.0/Makefile.in.pie   2011-10-12 09:25:30.511600030 +0100
++++ subversion-1.7.0/Makefile.in       2011-10-12 09:26:16.757524426 +0100
+@@ -205,6 +205,9 @@ COMPILE_JAVAHL_JAVAH = $(JAVAH)
+ LINK = $(LIBTOOL) $(LTFLAGS) --mode=link $(CC) $(LT_LDFLAGS) $(CFLAGS) $(LDFLAGS)
+ LINK_LIB = $(LINK) $(LT_SO_VERSION) -rpath $(libdir)
++LINK_TEST = $(LINK) -no-install
++LINK_TEST_LIB = $(LINK) -avoid-version
++LINK_EXE = $(LINK) -pie
+ LINK_CXX = $(LIBTOOL) $(LTCXXFLAGS) --mode=link $(CXX) $(LT_LDFLAGS) $(CXXFLAGS) $(LDFLAGS) -rpath $(libdir)
+ LINK_CXX_LIB = $(LINK_CXX) $(LT_SO_VERSION)
+@@ -657,7 +660,7 @@ schema-clean:
+       $(PYTHON) $(top_srcdir)/build/transform_sql.py $< $(top_srcdir)/$@
+ .c.o:
+-      $(COMPILE) -o $@ -c $<
++      $(COMPILE) -fpie -o $@ -c $<
+ .cpp.o:
+       $(COMPILE_CXX) -o $@ -c $<
diff --git a/subversion/subversion.nm b/subversion/subversion.nm
new file mode 100644 (file)
index 0000000..98a1ad3
--- /dev/null
@@ -0,0 +1,97 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+name       = subversion
+version    = 1.7.2
+release    = 1
+
+groups     = Development/Tools
+url        = http://subversion.apache.org/
+license    = ASL 2.0
+summary    = A Modern Concurrent Version Control System.
+
+description
+       Subversion is a concurrent version control system which enables one
+       or more users to collaborate in developing and maintaining a
+       hierarchy of files and directories while keeping a history of all
+       changes.  Subversion only stores the differences between versions,
+       instead of every complete file.  Subversion is intended to be a
+       compelling replacement for CVS.
+end
+
+source_dl  = http://www.apache.org/dist/subversion/
+
+build
+       requires
+               perl(ExtUtils::MakeMaker)
+               perl(ExtUtils::Embed)
+               perl-Carp
+               autoconf
+               apr-util-devel
+               automake
+               db4-devel
+               expat-devel
+               libapr-devel
+               perl-devel
+               sqlite-devel
+               swig
+               zlib-devel
+       end
+
+       configure_options += \
+               --sbindir=/sbin \
+               --disable-mod-activation \
+               --disable-static \
+               --with-berkeley-db
+
+       prepare_cmds
+               ./autogen.sh --release
+
+               # Fix shebang lines.
+               perl -pi -e 's|/usr/bin/env perl -w|/usr/bin/perl -w|' tools/hook-scripts/*.pl.in
+       end
+
+       install_cmds
+               # Build / Install perl bindings.
+               make swig-pl-lib %{PARALELLISMFLAGS}
+               make install-swig-pl-lib DESTDIR=%{BUILDROOT}
+
+               cd subversion/bindings/swig/perl/native
+
+               # Doesn't allow OPTIMIZE="%{CFLAGS}".
+               perl Makefile.PL INSTALLDIRS=vendor
+               make %{PARALELLISMFLAGS}
+               make pure_install PERL_INSTALL_ROOT=%{BUILDROOT}
+       end
+end
+
+packages
+       package %{name}
+
+       package perl-%{name}
+               summary = Perl bindings to the Subversion libraries.
+               description
+                       This package includes the Perl bindings to
+                       the Subversion libraries.
+               end
+
+               files
+                       /usr/lib/libsvn_swig_perl-1.so.*
+                       /usr/lib/perl*/
+               end
+       end
+
+       package %{name}-libs
+               template LIBS
+       end
+
+       package %{name}-devel
+               template DEVEL
+       end
+
+       package %{name}-debuginfo
+               template DEBUGINFO
+       end
+end