# Contributor: Ɓukasz Jendrysik # Maintainer: Natanael Copa global pkgname := 'subversion' global pkgver := '1.9.7' global pkgrel := '0' global pkgdesc := '"Replacement for CVS, another versioning system (svn)'" global url := '"http://subversion.apache.org/'" global arch := '"all'" global license := '"apache bsd'" global depends := '' global makedepends := '"apr-dev apr-util-dev expat-dev neon-dev libressl-dev zlib-dev e2fsprogs-dev sqlite-dev apache2-dev perl-dev swig serf-dev python2-dev autoconf automake libtool python2'" global install := ""$pkgname.pre-install"" global subpackages := ""$pkgname-dev $pkgname-doc mod_dav_svn perl-$pkgname:pl py-$pkgname:py $pkgname-libs"" global source := ""http://archive.apache.org/dist/$pkgname/$pkgname-$pkgver.tar.bz2 subversion-1.7.0-deplibs.patch subversion-perl-deplibs.patch svnserve.confd svnserve.initd "" global _builddir := ""$srcdir"/$pkgname-$pkgver" # secfixes: # 1.9.7-r0: # - CVE-2017-9800 proc prepare { cd $_builddir default_prepare || return 1 env LIBTOOL_CONFIG=/usr/share/libtool/build-aux ./autogen.sh } proc build { cd $_builddir unset CPPFLAGS ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --disable-nls \ --with-apxs \ --with-apache-libexecdir \ --with-swig \ --disable-javahl \ --disable-static \ --enable-disallowing-of-undefined-references \ --without-jdk \ --with-serf \ || return 1 make all || return 1 make swig-pl-lib || return 1 shell {cd subversion/bindings/swig/perl/native ; perl Makefile.PL} || return 1 # need override LD_RUN_PATH with something valid, otherwise we get # empty rpath which is not a good idea. make -j1 -C subversion/bindings/swig/perl/native \ LD_RUN_PATH="/usr/lib" EXTRALIBS="-lapr-1" || return 1 # SWIG 3.x does not support Python comments grep -Ev "^ +#" subversion/bindings/swig/include/proxy.swg > subversion/bindings/swig/include/proxy.swg.tmp mv subversion/bindings/swig/include/proxy.swg.tmp subversion/bindings/swig/include/proxy.swg make swig-py || return 1 } proc package { cd $_builddir make -j1 DESTDIR="$pkgdir" install install-swig-pl-lib install-swig-py || return 1 make pure_vendor_install -C subversion/bindings/swig/perl/native \ PERL_INSTALL_ROOT="$pkgdir" || return 1 find $pkgdir '(' -name perllocal.pod -o -name .packlist ')' -delete install -Dm755 "$srcdir"/svnserve.initd "$pkgdir"/etc/init.d/svnserve install -Dm644 "$srcdir"/svnserve.confd "$pkgdir"/etc/conf.d/svnserve } proc mod_dav_svn { global pkgdesc := '"Apache httpd module for Subversion server'" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/apache2 "$subpkgdir"/usr/lib/ } proc pl { global pkgdesc := '"Perl bindings to subversion'" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/*perl* "$subpkgdir"/usr/lib/ } proc py { global pkgdesc := '"Python bindings to subversion'" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/lib*swig*py* "$subpkgdir"/usr/lib/ global pypath := $[python2 -c 'import os; print os.path.dirname(os.__file__)] mv "$(pkgdir)"/usr/lib/*py* "$(subpkgdir)$(pypath)" } global sha512sums := '"a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b subversion-1.9.7.tar.bz2 fb219c45b80602d919176cc191394df09f90d0f5c7d24e6a36b166bd92777ecae67eeac1e49c0ffbb0e724396b3d2094dbb0bef17d01dc87d418b1cd554bd7c4 subversion-1.7.0-deplibs.patch fd6e5f45cff4d3cf0d885a34c822b32141b13b199d99ad8e1b04d641c9c1ee27e73f5c556a4ad54a900b6d39cc14afad17b6738d8af44c76758f1a27b4d49f9a subversion-perl-deplibs.patch 7fe993443d4d3ef5e1e75f60e85036ee0b2bb2636c2c830210e64f525f95ae4c10ca1dc4504fc36915ec9391815becbe7cbf5f589c28609386d8d079ed02c630 svnserve.confd f6392193cc65aaceee9b6e5e66f80af4b095ba4007e8536e8b1c4e8b2c75610d7f5596b83e5edd504672f021c074887fc6464cf4fc1dfe9446741105f11cd855 svnserve.initd'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(subversion)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.9.7)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Replacement for CVS, another versioning system (svn)"))} spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://subversion.apache.org/"))} spids: [20] ) ] spids: [20] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[25])] spids: [25] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ("apache bsd"))} spids:[30])] spids: [30] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[35])] spids: [35] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ("apr-dev apr-util-dev expat-dev neon-dev libressl-dev zlib-dev\n") ("\te2fsprogs-dev sqlite-dev apache2-dev perl-dev swig serf-dev\n") ("\tpython2-dev autoconf automake libtool python2") ) } spids: [37] ) ] spids: [37] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (.pre-install))} spids: [44] ) ] spids: [44] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc mod_dav_svn\n") ("\tperl-") ($ VSub_Name "$pkgname") (":pl py-") ($ VSub_Name "$pkgname") (":py ") ($ VSub_Name "$pkgname") (-libs) ) } spids: [50] ) ] spids: [50] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://archive.apache.org/dist/") ($ VSub_Name "$pkgname") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver") (".tar.bz2\n") ("\tsubversion-1.7.0-deplibs.patch\n") ("\tsubversion-perl-deplibs.patch\n") ("\tsvnserve.confd\n") ("\tsvnserve.initd\n") ("\t") ) } spids: [65] ) ] spids: [65] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$pkgver")} spids: [82] ) ] spids: [82] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(default_prepare)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (SimpleCommand words: [{(./autogen.sh)}] more_env: [ (env_pair name: LIBTOOL_CONFIG val: {(/usr/share/libtool/build-aux)} spids: [125] ) ] ) ] spids: [106] ) spids: [102 105] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (C {(unset)} {(CPPFLAGS)}) (AndOr children: [ (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)} {(--disable-nls)} {(--with-apxs)} {(--with-apache-libexecdir)} {(--with-swig)} {(--disable-javahl)} {(--disable-static)} {(--enable-disallowing-of-undefined-references)} {(--without-jdk)} {(--with-serf)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(make)} {(all)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(make)} {(swig-pl-lib)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (Subshell child: (CommandList children: [ (Sentence child: (C {(cd)} {(subversion/bindings/swig/perl/native)}) terminator: ) (C {(perl)} {(Makefile.PL)}) ] ) spids: [240 250] ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(make)} {(-j1)} {(-C)} {(subversion/bindings/swig/perl/native)} {(Lit_VarLike "LD_RUN_PATH=") (DQ (/usr/lib))} {(Lit_VarLike "EXTRALIBS=") (DQ (-lapr-1))} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (SimpleCommand words: [{(grep)} {(-Ev)} {(DQ ("^ +#"))} {(subversion/bindings/swig/include/proxy.swg)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(subversion/bindings/swig/include/proxy.swg.tmp)} spids: [308] ) ] ) (C {(mv)} {(subversion/bindings/swig/include/proxy.swg.tmp)} {(subversion/bindings/swig/include/proxy.swg)} ) (AndOr children: [ (C {(make)} {(swig-py)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [137] ) spids: [133 136] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(make)} {(-j1)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)} {(install-swig-pl-lib)} {(install-swig-py)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(make)} {(pure_vendor_install)} {(-C)} {(subversion/bindings/swig/perl/native)} {(Lit_VarLike "PERL_INSTALL_ROOT=") (DQ ($ VSub_Name "$pkgdir"))} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(find)} {(DQ ($ VSub_Name "$pkgdir"))} {(EscapedLiteralPart token:)} {(-name)} {(perllocal.pod)} {(-o)} {(-name)} {(.packlist)} {(EscapedLiteralPart token:)} {(-delete)} ) (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$srcdir")) (/svnserve.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/svnserve)} ) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir")) (/svnserve.confd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/conf.d/svnserve)} ) ] spids: [337] ) spids: [333 336] ) (FuncDef name: mod_dav_svn body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Apache httpd module for Subversion server"))} spids: [454] ) ] spids: [454] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/apache2)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)} ) ] spids: [451] ) spids: [447 450] ) (FuncDef name: pl body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Perl bindings to subversion"))} spids: [492] ) ] spids: [492] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/) (Lit_Other "*") (perl) (Lit_Other "*")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)} ) ] spids: [489] ) spids: [485 488] ) (FuncDef name: py body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Python bindings to subversion"))} spids: [533] ) ] spids: [533] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/lib) (Lit_Other "*") (swig) (Lit_Other "*") (py) (Lit_Other "*") } {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pypath) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(python2)} {(-c)} {(SQ <"import os; print os.path.dirname(os.__file__)">)} ) ] ) left_token: spids: [568 576] ) } spids: [567] ) ] spids: [567] ) (C {(mv)} {(DQ (${ VSub_Name pkgdir)) (/usr/lib/) (Lit_Other "*") (py) (Lit_Other "*")} {(DQ (${ VSub_Name subpkgdir) (${ VSub_Name pypath))} ) ] spids: [530] ) spids: [526 529] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "a55efd3edaddbc099450d849fcc6fe5a8d20b85ece966d8ac2fd73ee9cb4255a0349bbcfceb4e9fca6daf054ce7c648eff8d273c6873f5dade6e62dcea7eeb2b subversion-1.9.7.tar.bz2\n" ) ( "fb219c45b80602d919176cc191394df09f90d0f5c7d24e6a36b166bd92777ecae67eeac1e49c0ffbb0e724396b3d2094dbb0bef17d01dc87d418b1cd554bd7c4 subversion-1.7.0-deplibs.patch\n" ) ( "fd6e5f45cff4d3cf0d885a34c822b32141b13b199d99ad8e1b04d641c9c1ee27e73f5c556a4ad54a900b6d39cc14afad17b6738d8af44c76758f1a27b4d49f9a subversion-perl-deplibs.patch\n" ) ( "7fe993443d4d3ef5e1e75f60e85036ee0b2bb2636c2c830210e64f525f95ae4c10ca1dc4504fc36915ec9391815becbe7cbf5f589c28609386d8d079ed02c630 svnserve.confd\n" ) ( "f6392193cc65aaceee9b6e5e66f80af4b095ba4007e8536e8b1c4e8b2c75610d7f5596b83e5edd504672f021c074887fc6464cf4fc1dfe9446741105f11cd855 svnserve.initd" ) ) } spids: [603] ) ] spids: [603] ) ] )