aqbanking.spec 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. ##
  2. ## aqbanking.spec -- OpenPKG RPM Package Specification
  3. ## Copyright (c) 2000-2006 OpenPKG Foundation e.V. <http://openpkg.net/>
  4. ## Copyright (c) 2000-2006 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_openpkg 1.9.8
  26. %define V_aqbanking 1.9.8beta
  27. %define V_gwenhywfar 2.0.0
  28. %define V_openhbci2 1.9.4
  29. %define V_openhbci1 0.9.18
  30. # package information
  31. Name: aqbanking
  32. Summary: Banking Abstraction Library
  33. URL: http://www.aquamaniac.de/aqbanking/
  34. Vendor: Martin Preuß
  35. Packager: OpenPKG
  36. Distribution: OpenPKG
  37. Class: EVAL
  38. Group: Finance
  39. License: GPL
  40. Version: %{V_openpkg}
  41. Release: 20060307
  42. # list of sources
  43. Source0: http://osdn.dl.sourceforge.net/aqbanking/aqbanking-%{V_aqbanking}.tar.gz
  44. Source1: http://osdn.dl.sourceforge.net/gwenhywfar/gwenhywfar-%{V_gwenhywfar}.tar.gz
  45. Source2: http://osdn.dl.sourceforge.net/openhbci/openhbci2-%{V_openhbci2}.tar.gz
  46. Source3: http://osdn.dl.sourceforge.net/openhbci/openhbci-%{V_openhbci1}.tar.gz
  47. Patch0: aqbanking.patch
  48. # build information
  49. Prefix: %{l_prefix}
  50. BuildRoot: %{l_buildroot}
  51. BuildPreReq: OpenPKG, openpkg >= 20040130, gcc
  52. PreReq: OpenPKG, openpkg >= 20040130
  53. AutoReq: no
  54. AutoReqProv: no
  55. %description
  56. AqBanking is a middle layer between a home banking applicaton and
  57. various online banking backend libraries which provide various bank
  58. access methods. AqBanking supports the following banking operations:
  59. retrieving account balance, retrieving account statements,
  60. transfers, debit notes and EU transfers.
  61. %track
  62. prog aqbanking = {
  63. version = %{V_aqbanking}
  64. url = http://prdownloads.sourceforge.net/aqbanking/
  65. regex = aqbanking-(\d+(\.\d+)+(?:beta)?)\.tar\.gz
  66. }
  67. prog aqbanking:gwenhywfar = {
  68. version = %{V_gwenhywfar}
  69. url = http://prdownloads.sourceforge.net/gwenhywfar/
  70. regex = gwenhywfar-(__VER__)\.tar\.gz
  71. }
  72. prog aqbanking:openhbci2 = {
  73. version = %{V_openhbci2}
  74. url = http://prdownloads.sourceforge.net/openhbci/
  75. regex = openhbci2-(\d+\.\d+\.\d+)\.tar\.gz
  76. }
  77. prog aqbanking:openhbci1 = {
  78. version = %{V_openhbci1}
  79. url = http://prdownloads.sourceforge.net/openhbci/
  80. regex = openhbci-(\d+\.\d+\.\d+)\.tar\.gz
  81. }
  82. %prep
  83. %setup -q -c
  84. %setup -q -D -T -a 1
  85. %setup -q -D -T -a 2
  86. %setup -q -D -T -a 3
  87. %patch -p0
  88. %build
  89. # build Gwhenhywfar
  90. ( cd gwenhywfar-%{V_gwenhywfar}
  91. %{l_shtool} subst \
  92. -e 's;rm -Rf gwenhywfar;#;' \
  93. configure
  94. CC="%{l_cc}" \
  95. CFLAGS="%{l_cflags -O}" \
  96. CPPFLAGS="-I`pwd`/gwenhywfar %{l_cppflags}" \
  97. LDFLAGS="-L`pwd`/src %{l_ldflags}" \
  98. ./configure \
  99. --prefix=%{l_prefix} \
  100. --enable-ssl \
  101. --with-openssl-includes=%{l_prefix}/include \
  102. --with-openssl-libs=%{l_prefix}/lib \
  103. --disable-nls \
  104. --disable-shared
  105. # build the library
  106. %{l_make} %{l_mflags}
  107. # pre-install it and adjust for temporary usage by AqBanking build (below)
  108. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  109. %{l_shtool} subst \
  110. -e "s;%{l_prefix};$RPM_BUILD_ROOT%{l_prefix};g" \
  111. $RPM_BUILD_ROOT%{l_prefix}/bin/gwenhywfar-config
  112. ) || exit $?
  113. # build OpenHBCI v1 (legacy)
  114. ( cd openhbci-%{V_openhbci1}
  115. CC="%{l_prefix}/bin/gcc" \
  116. CXX="%{l_prefix}/bin/g++" \
  117. CFLAGS="%{l_cflags -O}" \
  118. CXXFLAGS="%{l_cxxflags -O}" \
  119. CPPFLAGS="%{l_cppflags}" \
  120. LDFLAGS="%{l_ldflags}" \
  121. ./configure \
  122. --prefix=%{l_prefix} \
  123. --with-plugin-path=%{l_prefix}/lib/openhbci/plugins \
  124. --with-gwen-dir=$RPM_BUILD_ROOT%{l_prefix} \
  125. --with-openssl-includes=%{l_prefix}/include \
  126. --with-openssl-libs=%{l_prefix}/lib \
  127. --enable-shared \
  128. --enable-static
  129. %{l_make} %{l_mflags}
  130. ) || exit $?
  131. # build OpenHBCI v2 (legacy)
  132. ( cd openhbci2-%{V_openhbci2}
  133. %{l_shtool} subst \
  134. -e 's;^\(hbcixml_LDADD =\);\1 -static ;g' \
  135. src/tools/hbcixml/Makefile.in
  136. CC="%{l_prefix}/bin/gcc" \
  137. CXX="%{l_prefix}/bin/g++" \
  138. CFLAGS="%{l_cflags -O}" \
  139. CXXFLAGS="%{l_cxxflags -O}" \
  140. CPPFLAGS="%{l_cppflags}" \
  141. LDFLAGS="%{l_ldflags}" \
  142. ./configure \
  143. --prefix=%{l_prefix} \
  144. --with-plugin-path=%{l_prefix}/lib/openhbci2/plugins \
  145. --with-xmldata-dir=%{l_prefix}/share/openhbci2/xmldata \
  146. --with-gwen-dir=$RPM_BUILD_ROOT%{l_prefix} \
  147. --with-openssl-includes=%{l_prefix}/include \
  148. --with-openssl-libs=%{l_prefix}/lib \
  149. --enable-shared \
  150. --enable-static
  151. %{l_make} %{l_mflags}
  152. ) || exit $?
  153. # build AqBanking
  154. ( cd aqbanking-%{V_aqbanking}
  155. echo 'ac_cv_header_iconv_h=no' >config.cache
  156. CC="%{l_cc}" \
  157. CFLAGS="%{l_cflags -O}" \
  158. CPPFLAGS="-I`pwd`/aqbanking %{l_cppflags}" \
  159. LDFLAGS="-L`pwd`/src/libs/aqbanking %{l_ldflags}" \
  160. SHELL="%{l_bash}" \
  161. ./configure \
  162. --cache-file=./config.cache \
  163. --prefix=%{l_prefix} \
  164. --with-gwen-dir=$RPM_BUILD_ROOT%{l_prefix} \
  165. --disable-chipcard-client \
  166. --with-backends="aqhbci aqdtaus" \
  167. --with-frontends="cbanking" \
  168. --disable-nls \
  169. --enable-shared \
  170. --enable-static
  171. %{l_make} %{l_mflags} \
  172. SHELL="%{l_bash}"
  173. ) || exit $?
  174. %install
  175. rm -rf $RPM_BUILD_ROOT
  176. # install Gwhenhywfar
  177. ( cd gwenhywfar-%{V_gwenhywfar}
  178. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  179. ) || exit $?
  180. # install OpenHBCI v1 (legacy)
  181. ( cd openhbci-%{V_openhbci1}
  182. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  183. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  184. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci/plugins/*/*/*.a
  185. mv $RPM_BUILD_ROOT%{l_prefix}/lib/*.so* \
  186. $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci/
  187. ) || exit $?
  188. # install OpenHBCI v2 (legacy)
  189. ( cd openhbci2-%{V_openhbci2}
  190. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  191. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  192. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci2/plugins/*/*/*.a
  193. mv $RPM_BUILD_ROOT%{l_prefix}/lib/*.so* \
  194. $RPM_BUILD_ROOT%{l_prefix}/lib/openhbci2/
  195. mv $RPM_BUILD_ROOT%{l_prefix}/bin/hbcixml \
  196. $RPM_BUILD_ROOT%{l_prefix}/bin/openhbci2-hbcixml
  197. ) || exit $?
  198. # install AqBanking
  199. ( cd aqbanking-%{V_aqbanking}
  200. %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
  201. ) || exit $?
  202. # strip down installation
  203. strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true
  204. rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/gwen-public-ca.crt
  205. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/*.so*
  206. rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/aqbanking/plugins/0/*/*.a
  207. rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc
  208. # post-adjust installation
  209. %{l_shtool} subst \
  210. -e 's;-laqbanking";-laqbanking -lgwenhywfar";' \
  211. -e 's;-laqbankingpp";-laqbankingpp -lgwenpp";' \
  212. -e "s;$RPM_BUILD_ROOT%{l_prefix};%{l_prefix};" \
  213. $RPM_BUILD_ROOT%{l_prefix}/bin/aqbanking-config
  214. %{l_shtool} subst \
  215. -e 's;^\(dlname=.\).*\(.\)$;\1\2;' \
  216. -e 's;^\(library_names=.\).*\(.\)$;\1\2;' \
  217. $RPM_BUILD_ROOT%{l_prefix}/lib/lib*.la
  218. # determine installation files
  219. %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
  220. %{l_files_std} \
  221. '%not %dir %{l_prefix}/share/aclocal'
  222. %files -f files
  223. %clean
  224. rm -rf $RPM_BUILD_ROOT