michael@22: ## michael@22: ## aqbanking.spec -- OpenPKG RPM Package Specification michael@22: ## Copyright (c) 2000-2008 OpenPKG Foundation e.V. michael@22: ## michael@22: ## Permission to use, copy, modify, and distribute this software for michael@22: ## any purpose with or without fee is hereby granted, provided that michael@22: ## the above copyright notice and this permission notice appear in all michael@22: ## copies. michael@22: ## michael@22: ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED michael@22: ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF michael@22: ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. michael@22: ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR michael@22: ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, michael@22: ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT michael@22: ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF michael@22: ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND michael@22: ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, michael@22: ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT michael@22: ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF michael@22: ## SUCH DAMAGE. michael@22: ## michael@22: michael@22: # package version michael@22: %define V_openpkg 2.3.3 michael@22: %define V_aqbanking 2.3.3 michael@22: %define V_gwenhywfar 2.6.2 michael@22: %define V_openhbci2 1.9.4 michael@22: %define V_openhbci1 0.9.18 michael@22: michael@22: # package information michael@22: Name: aqbanking michael@22: Summary: Banking Abstraction Library michael@22: URL: http://www.aquamaniac.de/aqbanking/ michael@22: Vendor: Martin Preuß michael@22: Packager: OpenPKG Foundation e.V. michael@22: Distribution: OpenPKG Community michael@22: Class: EVAL michael@22: Group: Finance michael@22: License: GPL michael@22: Version: %{V_openpkg} michael@25: Release: 20090106 michael@22: michael@22: # list of sources michael@22: Source0: http://switch.dl.sourceforge.net/aqbanking/aqbanking-%{V_aqbanking}.tar.gz michael@22: Source1: http://switch.dl.sourceforge.net/gwenhywfar/gwenhywfar-%{V_gwenhywfar}.tar.gz michael@22: Source2: http://switch.dl.sourceforge.net/openhbci/openhbci2-%{V_openhbci2}.tar.gz michael@22: Source3: http://switch.dl.sourceforge.net/openhbci/openhbci-%{V_openhbci1}.tar.gz michael@22: Patch0: aqbanking.patch michael@22: michael@22: # build information michael@22: Prefix: %{l_prefix} michael@22: BuildRoot: %{l_buildroot} michael@22: BuildPreReq: OpenPKG, openpkg >= 20040130, gcc, gcc::with_cxx = yes michael@22: PreReq: OpenPKG, openpkg >= 20040130 michael@25: BuildPreReq: openssl, gettext, libiconv michael@25: PreReq: openssl, gettext, libiconv michael@22: AutoReq: no michael@22: AutoReqProv: no michael@22: michael@22: %description michael@22: AqBanking is a middle layer between a home banking applicaton and michael@22: various online banking backend libraries which provide various bank michael@22: access methods. AqBanking supports the following banking operations: michael@22: retrieving account balance, retrieving account statements, michael@22: transfers, debit notes and EU transfers. michael@22: michael@22: %track michael@22: prog aqbanking:aqbanking = { michael@22: version = %{V_aqbanking} michael@22: url = http://prdownloads.sourceforge.net/aqbanking/ michael@22: regex = aqbanking-(\d+\.\d+(\.\d+)+)\.tar\.gz michael@22: } michael@22: prog aqbanking:gwenhywfar = { michael@22: version = %{V_gwenhywfar} michael@22: url = http://prdownloads.sourceforge.net/gwenhywfar/ michael@22: regex = gwenhywfar-(\d+\.\d+\.\d+)\.tar\.gz michael@22: } michael@22: prog aqbanking:openhbci2 = { michael@22: version = %{V_openhbci2} michael@22: url = http://prdownloads.sourceforge.net/openhbci/ michael@22: regex = openhbci2-(\d+\.\d+\.\d+)\.tar\.gz michael@22: } michael@22: prog aqbanking:openhbci1 = { michael@22: version = %{V_openhbci1} michael@22: url = http://prdownloads.sourceforge.net/openhbci/ michael@22: regex = openhbci-(\d+\.\d+\.\d+)\.tar\.gz michael@22: } michael@22: michael@22: %prep michael@22: %setup -q -c michael@22: %setup -q -D -T -a 1 michael@22: %setup -q -D -T -a 2 michael@22: %setup -q -D -T -a 3 michael@22: %patch -p0 michael@22: michael@22: %build michael@22: # build Gwhenhywfar michael@22: ( cd gwenhywfar-%{V_gwenhywfar} michael@22: %{l_shtool} subst \ michael@22: -e 's;rm -Rf gwenhywfar;#;' \ michael@22: configure michael@22: CC="%{l_cc}" \ michael@22: CFLAGS="%{l_cflags -O}" \ michael@22: CPPFLAGS="-I`pwd`/gwenhywfar %{l_cppflags}" \ michael@22: LDFLAGS="-L`pwd`/src %{l_ldflags}" \ michael@22: ./configure \ michael@22: --prefix=%{l_prefix} \ michael@22: --enable-ssl \ michael@22: --with-openssl-includes=%{l_prefix}/include \ michael@22: --with-openssl-libs=%{l_prefix}/lib \ michael@22: --disable-nls \ michael@22: --disable-shared michael@22: michael@22: # build the library michael@25: %{l_make} %{l_mflags -O} LIBS="-lintl -liconv" michael@22: michael@22: # pre-install it and adjust for temporary usage by AqBanking build (below) michael@25: %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT michael@22: %{l_shtool} subst \ michael@22: -e "s;%{l_prefix};$RPM_BUILD_ROOT%{l_prefix};g" \ michael@22: $RPM_BUILD_ROOT%{l_prefix}/bin/gwenhywfar-config michael@22: ) || exit $? michael@22: michael@22: # build OpenHBCI v1 (legacy) michael@22: ( cd openhbci-%{V_openhbci1} michael@22: CC="%{l_prefix}/bin/gcc" \ michael@22: CXX="%{l_prefix}/bin/g++" \ michael@22: CFLAGS="%{l_cflags -O}" \ michael@22: CXXFLAGS="%{l_cxxflags -O}" \ michael@22: CPPFLAGS="%{l_cppflags}" \ michael@22: LDFLAGS="%{l_ldflags}" \ michael@22: ./configure \ michael@22: --prefix=%{l_prefix} \ michael@22: --with-plugin-path=%{l_prefix}/lib/openhbci/plugins \ michael@22: --with-gwen-dir=$RPM_BUILD_ROOT%{l_prefix} \ michael@22: --with-openssl-includes=%{l_prefix}/include \ michael@22: --with-openssl-libs=%{l_prefix}/lib \ michael@22: --enable-shared \ michael@22: --enable-static michael@25: %{l_make} %{l_mflags -O} michael@22: ) || exit $? michael@22: michael@22: # build OpenHBCI v2 (legacy) michael@22: ( cd openhbci2-%{V_openhbci2} michael@22: %{l_shtool} subst \ michael@22: -e 's;^\(hbcixml_LDADD =\);\1 -static ;g' \ michael@22: src/tools/hbcixml/Makefile.in michael@22: CC="%{l_prefix}/bin/gcc" \ michael@22: CXX="%{l_prefix}/bin/g++" \ michael@22: CFLAGS="%{l_cflags -O}" \ michael@22: CXXFLAGS="%{l_cxxflags -O}" \ michael@22: CPPFLAGS="%{l_cppflags}" \ michael@22: LDFLAGS="%{l_ldflags}" \ michael@22: ./configure \ michael@22: --prefix=%{l_prefix} \ michael@22: --with-plugin-path=%{l_prefix}/lib/openhbci2/plugins \ michael@22: --with-xmldata-dir=%{l_prefix}/share/openhbci2/xmldata \ michael@22: --with-gwen-dir=$RPM_BUILD_ROOT%{l_prefix} \ michael@22: --with-openssl-includes=%{l_prefix}/include \ michael@22: --with-openssl-libs=%{l_prefix}/lib \ michael@22: --enable-shared \ michael@22: --enable-static michael@25: %{l_make} %{l_mflags -O} michael@22: ) || exit $? michael@22: michael@22: # build AqBanking michael@22: ( cd aqbanking-%{V_aqbanking} michael@22: echo 'ac_cv_header_iconv_h=no' >config.cache michael@22: CC="%{l_cc}" \ michael@22: CFLAGS="%{l_cflags -O}" \ michael@22: CPPFLAGS="-I`pwd`/aqbanking %{l_cppflags}" \ michael@22: LDFLAGS="-L`pwd`/src/libs/aqbanking %{l_ldflags}" \ michael@22: LIBS="-lssl -lcrypto" \ michael@22: SHELL="%{l_bash}" \ michael@22: ./configure \ michael@22: --cache-file=./config.cache \ michael@22: --prefix=%{l_prefix} \ michael@22: --with-gwen-dir=$RPM_BUILD_ROOT%{l_prefix} \ michael@22: --disable-chipcard-client \ michael@22: --with-backends="aqhbci aqdtaus" \ michael@22: --with-frontends="cbanking" \ michael@22: --disable-nls \ michael@22: --enable-shared \ michael@22: --enable-static michael@22: %{l_make} %{l_mflags} \ michael@22: SHELL="%{l_bash}" michael@22: ) || exit $? michael@22: michael@22: %install michael@22: rm -rf $RPM_BUILD_ROOT michael@22: michael@22: # install Gwhenhywfar michael@22: ( cd gwenhywfar-%{V_gwenhywfar} michael@25: %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT michael@22: ) || exit $? michael@22: michael@22: # install OpenHBCI v1 (legacy) michael@22: ( cd openhbci-%{V_openhbci1} michael@25: %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT michael@22: strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true michael@22: rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci/plugins/*/*/*.a michael@22: mv $RPM_BUILD_ROOT%{l_prefix}/lib/*.so* \ michael@22: $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci/ michael@22: ) || exit $? michael@22: michael@22: # install OpenHBCI v2 (legacy) michael@22: ( cd openhbci2-%{V_openhbci2} michael@25: %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT michael@22: strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true michael@22: rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci2/plugins/*/*/*.a michael@22: mv $RPM_BUILD_ROOT%{l_prefix}/lib/*.so* \ michael@22: $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci2/ michael@22: mv $RPM_BUILD_ROOT%{l_prefix}/bin/hbcixml \ michael@22: $RPM_BUILD_ROOT%{l_prefix}/bin/openhbci2-hbcixml michael@22: ) || exit $? michael@22: michael@22: # install AqBanking michael@22: ( cd aqbanking-%{V_aqbanking} michael@25: %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT michael@22: ) || exit $? michael@22: michael@22: # strip down installation michael@22: strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true michael@22: rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/gwen-public-ca.crt michael@22: rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/*.so* michael@22: rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/aqbanking/plugins/0/*/*.a michael@22: rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc michael@22: michael@22: # post-adjust installation michael@22: %{l_shtool} subst \ michael@22: -e 's;-laqbanking";-laqbanking -lgwenhywfar";' \ michael@22: -e 's;-laqbankingpp";-laqbankingpp -lgwenpp";' \ michael@22: -e "s;$RPM_BUILD_ROOT%{l_prefix};%{l_prefix};" \ michael@22: $RPM_BUILD_ROOT%{l_prefix}/bin/aqbanking-config michael@22: %{l_shtool} subst \ michael@22: -e 's;^\(dlname=.\).*\(.\)$;\1\2;' \ michael@22: -e 's;^\(library_names=.\).*\(.\)$;\1\2;' \ michael@22: $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.la michael@22: michael@22: # determine installation files michael@22: %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ michael@22: %{l_files_std} michael@22: michael@22: %files -f files michael@22: michael@22: %clean michael@22: rm -rf $RPM_BUILD_ROOT michael@22: