From: Stefan Schantl Date: Sat, 10 Mar 2012 16:49:32 +0000 (+0100) Subject: subversion: New package. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=34455806efd8627837e0a165ddfa3e95f9dd9d24;p=ipfire-3.x.git subversion: New package. --- 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 index 000000000..248134640 --- /dev/null +++ b/subversion/patches/001-subversion-1.7.0-rpath.patch @@ -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 index 000000000..85e9f076f --- /dev/null +++ b/subversion/patches/002-subversion-1.7.0-pie.patch @@ -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 index 000000000..98a1ad387 --- /dev/null +++ b/subversion/subversion.nm @@ -0,0 +1,97 @@ +############################################################################### +# IPFire.org - An Open Source Firewall Solution # +# Copyright (C) - IPFire Development Team # +############################################################################### + +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