aqbanking.spec 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. ##
  2. ## aqbanking.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2005 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ## Copyright (c) 2000-2005 Ralf S. Engelschall <http://engelschall.com/>
  5. ##
  6. ## Permission to use, copy, modify, and distribute this software for
  7. ## any purpose with or without fee is hereby granted, provided that
  8. ## the above copyright notice and this permission notice appear in all
  9. ## copies.
  10. ##
  11. ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  12. ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  13. ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  14. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
  15. ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  16. ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  17. ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  18. ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  19. ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  20. ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  21. ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22. ## SUCH DAMAGE.
  23. ##
  24. # package version
  25. %define V_aqbanking 1.6.1
  26. %define V_gwenhywfar 1.19.1
  27. %define V_openhbci2 1.9.3
  28. %define V_openhbci1 0.9.18
  29. # package information
  30. Name: aqbanking
  31. Summary: Banking Abstraction Library
  32. URL: http://www.aquamaniac.de/aqbanking/
  33. Vendor: Martin Preuß
  34. Packager: OpenPKG
  35. Distribution: OpenPKG
  36. Class: EVAL
  37. Group: Finance
  38. License: GPL
  39. Version: %{V_aqbanking}
  40. Release: 20051114
  41. # list of sources
  42. Source0: http://osdn.dl.sourceforge.net/aqbanking/aqbanking-%{V_aqbanking}.tar.gz
  43. Source1: http://osdn.dl.sourceforge.net/gwenhywfar/gwenhywfar-%{V_gwenhywfar}.tar.gz
  44. Source2: http://osdn.dl.sourceforge.net/openhbci/openhbci2-%{V_openhbci2}.tar.gz
  45. Source3: http://osdn.dl.sourceforge.net/openhbci/openhbci-%{V_openhbci1}.tar.gz
  46. Patch0: aqbanking.patch
  47. # build information
  48. Prefix: %{l_prefix}
  49. BuildRoot: %{l_buildroot}
  50. BuildPreReq: OpenPKG, openpkg >= 20040130, gcc
  51. PreReq: OpenPKG, openpkg >= 20040130
  52. AutoReq: no
  53. AutoReqProv: no
  54. %description
  55. AqBanking is a middle layer between a home banking applicaton and
  56. various online banking backend libraries which provide various bank
  57. access methods. AqBanking supports the following banking operations:
  58. retrieving account balance, retrieving account statements,
  59. transfers, debit notes and EU transfers.
  60. %track
  61. prog aqbanking = {
  62. version = %{V_aqbanking}
  63. url = http://prdownloads.sourceforge.net/aqbanking/
  64. regex = aqbanking-(\d+(\.\d+)+)\.tar\.gz
  65. }
  66. prog aqbanking:gwenhywfar = {
  67. version = %{V_gwenhywfar}
  68. url = http://prdownloads.sourceforge.net/gwenhywfar/
  69. regex = gwenhywfar-(__VER__)\.tar\.gz
  70. }
  71. prog aqbanking:openhbci2 = {
  72. version = %{V_openhbci2}
  73. url = http://prdownloads.sourceforge.net/openhbci/
  74. regex = openhbci2-(\d+\.\d+\.\d+)\.tar\.gz
  75. }
  76. prog aqbanking:openhbci1 = {
  77. version = %{V_openhbci1}
  78. url = http://prdownloads.sourceforge.net/openhbci/
  79. regex = openhbci-(\d+\.\d+\.\d+)\.tar\.gz
  80. }
  81. %prep
  82. %setup -q -c
  83. %setup -q -D -T -a 1
  84. %setup -q -D -T -a 2
  85. %setup -q -D -T -a 3
  86. %patch -p0 -d aqbanking-%{V_aqbanking}
  87. %build
  88. # build OpenHBCI v1 (legacy)
  89. ( cd openhbci-%{V_openhbci1}
  90. CC="%{l_prefix}/bin/gcc" \
  91. CXX="%{l_prefix}/bin/g++" \
  92. CFLAGS="%{l_cflags -O}" \
  93. CXXFLAGS="%{l_cxxflags -O}" \
  94. CPPFLAGS="%{l_cppflags}" \
  95. LDFLAGS="%{l_ldflags}" \
  96. ./configure \
  97. --prefix=%{l_prefix} \
  98. --with-plugin-path=%{l_prefix}/lib/openhbci/plugins \
  99. --with-openssl-includes=%{l_prefix}/include \
  100. --with-openssl-libs=%{l_prefix}/lib \
  101. --enable-shared \
  102. --enable-static
  103. %{l_make} %{l_mflags}
  104. ) || exit $?
  105. # build OpenHBCI v2 (legacy)
  106. ( cd openhbci2-%{V_openhbci2}
  107. %{l_shtool} subst \
  108. -e 's;^\(hbcixml_LDADD =\);\1 -static ;g' \
  109. src/tools/hbcixml/Makefile.in
  110. CC="%{l_prefix}/bin/gcc" \
  111. CXX="%{l_prefix}/bin/g++" \
  112. CFLAGS="%{l_cflags -O}" \
  113. CXXFLAGS="%{l_cxxflags -O}" \
  114. CPPFLAGS="%{l_cppflags}" \
  115. LDFLAGS="%{l_ldflags}" \
  116. ./configure \
  117. --prefix=%{l_prefix} \
  118. --with-plugin-path=%{l_prefix}/lib/openhbci2/plugins \
  119. --with-xmldata-dir=%{l_prefix}/share/openhbci2/xmldata \
  120. --with-gwen-dir=%{l_prefix} \
  121. --with-openssl-includes=%{l_prefix}/include \
  122. --with-openssl-libs=%{l_prefix}/lib \
  123. --enable-shared \
  124. --enable-static
  125. %{l_make} %{l_mflags}
  126. ) || exit $?
  127. # build Gwhenhywfar
  128. ( cd gwenhywfar-%{V_gwenhywfar}
  129. %{l_shtool} subst \
  130. -e 's;rm -Rf gwenhywfar;#;' \
  131. configure
  132. CC="%{l_cc}" \
  133. CFLAGS="%{l_cflags -O}" \
  134. CPPFLAGS="-I`pwd`/gwenhywfar %{l_cppflags}" \
  135. LDFLAGS="-L`pwd`/src %{l_ldflags}" \
  136. ./configure \
  137. --prefix=%{l_prefix} \
  138. --enable-ssl \
  139. --with-openssl-includes=%{l_prefix}/include \
  140. --with-openssl-libs=%{l_prefix}/lib \
  141. --disable-nls \
  142. --disable-shared
  143. # build the library
  144. %{l_make} %{l_mflags -O}
  145. # pre-install it and adjust for temporary usage by AqBanking build (below)
  146. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  147. %{l_shtool} subst \
  148. -e "s;%{l_prefix};$RPM_BUILD_ROOT%{l_prefix};g" \
  149. $RPM_BUILD_ROOT%{l_prefix}/bin/gwenhywfar-config
  150. ) || exit $?
  151. # build AqBanking
  152. ( cd aqbanking-%{V_aqbanking}
  153. echo 'ac_cv_header_iconv_h=no' >config.cache
  154. CC="%{l_cc}" \
  155. CFLAGS="%{l_cflags -O}" \
  156. CPPFLAGS="-I`pwd`/aqbanking %{l_cppflags}" \
  157. LDFLAGS="-L`pwd`/src/libs/aqbanking %{l_ldflags}" \
  158. ./configure \
  159. --cache-file=./config.cache \
  160. --prefix=%{l_prefix} \
  161. --with-gwen-dir=$RPM_BUILD_ROOT%{l_prefix} \
  162. --disable-chipcard-client \
  163. --with-backends="aqhbci aqdtaus" \
  164. --with-frontends="cbanking" \
  165. --disable-nls \
  166. --enable-shared \
  167. --enable-static
  168. ) || exit $?
  169. %install
  170. rm -rf $RPM_BUILD_ROOT
  171. # install OpenHBCI v1 (legacy)
  172. ( cd openhbci-%{V_openhbci1}
  173. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  174. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  175. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci/plugins/*/*/*.a
  176. mv $RPM_BUILD_ROOT%{l_prefix}/lib/*.so* \
  177. $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci/
  178. ) || exit $?
  179. # install OpenHBCI v2 (legacy)
  180. ( cd openhbci2-%{V_openhbci2}
  181. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  182. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  183. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci2/plugins/*/*/*.a
  184. mv $RPM_BUILD_ROOT%{l_prefix}/lib/*.so* \
  185. $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci2/
  186. mv $RPM_BUILD_ROOT%{l_prefix}/bin/hbcixml \
  187. $RPM_BUILD_ROOT%{l_prefix}/bin/openhbci2-hbcixml
  188. ) || exit $?
  189. # build Gwhenhywfar
  190. ( cd gwenhywfar-%{V_gwenhywfar}
  191. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  192. ) || exit $?
  193. # build AqBanking
  194. ( cd aqbanking-%{V_aqbanking}
  195. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  196. ) || exit $?
  197. # strip down installation
  198. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  199. rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/gwen-public-ca.crt
  200. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/*.so*
  201. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/aqbanking/plugins/0/*/*.a
  202. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc
  203. # post-adjust installation
  204. %{l_shtool} subst \
  205. -e 's;-laqbanking";-laqbanking -lgwenhywfar";' \
  206. -e 's;-laqbankingpp";-laqbankingpp -lgwenpp";' \
  207. -e "s;$RPM_BUILD_ROOT%{l_prefix};%{l_prefix};" \
  208. $RPM_BUILD_ROOT%{l_prefix}/bin/aqbanking-config
  209. %{l_shtool} subst \
  210. -e 's;^\(dlname=.\).*\(.\)$;\1\2;' \
  211. -e 's;^\(library_names=.\).*\(.\)$;\1\2;' \
  212. $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.la
  213. # determine installation files
  214. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  215. %{l_files_std} \
  216. '%not %dir %{l_prefix}/share/aclocal'
  217. %files -f files
  218. %clean
  219. rm -rf $RPM_BUILD_ROOT