Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Maintainer: Johannes Schlatow <johannes.schlatow@googlemail.com>
- # Contributor: Stephan Friedrichs <deduktionstheorem@googlemail.com>
- pkgbase='ziboptsuite'
- pkgver='2.1.1'
- pkgname=("${pkgbase}" "${pkgbase}-docs")
- pkgrel=2
- pkgdesc='The ZIB Optimization Suite is a tool for generating and solving mixed integer programs. Consists of ZIMPL, SoPlex and SCIP.'
- arch=('i686' 'x86_64')
- url='http://zibopt.zib.de/'
- license=('LGPL3' 'custom:ZIB Academic License')
- depends=('zlib' 'gmp' 'readline')
- makedepends=('chrpath' 'doxygen' 'graphviz')
- provides=('scip=2.1.1' 'soplex=1.6.0' 'zimpl=3.2.0')
- source=(
- "http://zibopt.zib.de/download/${pkgbase}-${pkgver}.tgz"
- 'fileio.c.patch'
- )
- sha256sums=(
- 'f17e78634140c3e903299e22817ad21011ce1bbee44e9bbff858ba95c4bda11a'
- 'f89f79036152edfac142ff5edebb4a56626aa67cd212c085551329e1685eedd9'
- )
- build() {
- # Extract directory names from the $provides array.
- local _scip="${provides[0]//=/-}"
- local _soplex="${provides[1]//=/-}"
- local _zimpl="${provides[2]//=/-}"
- cd "${srcdir}/${pkgbase}-${pkgver}"
- # Fix compiler error in fileio.c, reported by Tuxe.
- # @FIXME: Remove this in the next version
- if [ ! -d `pwd`/${_scip} ] ; then
- make `pwd`/${_scip}
- patch -i "${srcdir}/fileio.c.patch" ${_scip}/src/scip/fileio.c
- fi
- make
- # A local RPATH is set, get rid of it.
- chrpath --delete ${_scip}/bin/scip
- chrpath --delete ${_soplex}/bin/soplex
- cd "${srcdir}/${pkgbase}-${pkgver}/${_scip}"
- make doc
- cd "${srcdir}/${pkgbase}-${pkgver}/${_soplex}"
- make doc
- # Some files have permission 640.
- # @FIXME: Future versions might not require this line.
- chmod -R a+r "${srcdir}/${pkgbase}-${pkgver}"
- }
- check() {
- cd "${srcdir}/${pkgbase}-${pkgver}"
- make test
- }
- package_ziboptsuite() {
- # Extract directory names from the $provides array
- local _scip="${provides[0]//=/-}"
- local _soplex="${provides[1]//=/-}"
- local _zimpl="${provides[2]//=/-}"
- # Note that, at least in ziboptsuite-2.1.0, the install targets of the
- # scip/soplex/zimpl projects are utterly broken; manually copying
- # everything where it belongs is absolutely necessary.
- # @FIXME: Maybe make install will just work in future releases...
- cd "${srcdir}/${pkgbase}-${pkgver}"
- #
- # Binaries
- #
- install -D -m755 ${_scip}/bin/scip "${pkgdir}/usr/bin/scip"
- install -D -m755 ${_soplex}/bin/soplex "${pkgdir}/usr/bin/soplex"
- install -D -m755 ${_zimpl}/bin/zimpl "${pkgdir}/usr/bin/zimpl"
- #
- # Includes
- #
- for dir in blockmemshell dijkstra nlpi objscip scip tclique xml; do
- mkdir -p "${pkgdir}/usr/include/scip/${dir}"
- cp ${_scip}/src/${dir}/*.h "${pkgdir}/usr/include/scip/${dir}"
- done
- mkdir -p "${pkgdir}/usr/include/"{soplex,zimpl}
- cp ${_soplex}/src/*.h "${pkgdir}/usr/include/soplex"
- cp ${_zimpl}/src/*.h "${pkgdir}/usr/include/zimpl"
- #
- # Libraries
- #
- mkdir -p "${pkgdir}/usr/lib"
- cp -d ${_scip}/lib/liblpispx* "${pkgdir}/usr/lib"
- cp -d ${_scip}/lib/libnlpi* "${pkgdir}/usr/lib"
- cp -d ${_scip}/lib/libobjscip* "${pkgdir}/usr/lib"
- cp -d ${_scip}/lib/libscip* "${pkgdir}/usr/lib"
- cp -d ${_soplex}/lib/* "${pkgdir}/usr/lib"
- cp -d ${_zimpl}/lib/* "${pkgdir}/usr/lib"
- # Repair "missing links"
- # @FIXME: I hope this is not necessary in future versions!
- cd "${pkgdir}/usr/lib"
- ln -s -T libzimpl-* libzimpl.a
- cd "${srcdir}/${pkgbase}-${pkgver}"
- #
- # License
- #
- install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
- }
- package_ziboptsuite-docs() {
- # Extract directory names from the $provides array.
- local _scip="${provides[0]//=/-}"
- local _soplex="${provides[1]//=/-}"
- local _zimpl="${provides[2]//=/-}"
- # All global PKGBUILD variables are set according to the main
- # package, ziboptsuite. Override those that differ for the
- # documentation, ziboptsuite-docs:
- pkgdesc='The ZIB Optimization Suite documentation.'
- arch=('any')
- depends=()
- provides=()
- cd "${srcdir}/${pkgbase}-${pkgver}"
- #
- # Documentation
- #
- mkdir -p "${pkgdir}/usr/share/doc/${pkgbase}/"{scip,soplex,zimpl}
- cp -r ${_scip}/{CHANGELOG,release-notes,doc/html} "${pkgdir}/usr/share/doc/${pkgbase}/scip/"
- cp -r ${_soplex}/{CHANGELOG,doc/html} "${pkgdir}/usr/share/doc/${pkgbase}/soplex/"
- install -m644 ${_soplex}/src/simpleexample.cpp "${pkgdir}/usr/share/doc/${pkgbase}/soplex/"
- cp -r ${_zimpl}/{CHANGELOG,README,doc,example} "${pkgdir}/usr/share/doc/${pkgbase}/zimpl/"
- #
- # License
- #
- install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement