1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Maintainer: Robert Schwarz <mail@rschwarz.net>
# Contributor: Johannes Schlatow <johannes.schlatow@googlemail.com>
# Contributor: Stephan Friedrichs <deduktionstheorem@googlemail.com>
pkgname='scipoptsuite'
pkgver='3.1.1'
pkgrel=1
pkgdesc="Toolbox for generating and solving optimization problems."
arch=('i686' 'x86_64')
url='http://scip.zib.de'
license=('LGPL3' 'custom:ZIB Academic License')
depends=('zlib' 'gmp' 'readline')
replaces=('ziboptsuite')
makedepends=('chrpath' 'doxygen' 'graphviz')
provides=('scip=3.1.1' 'soplex=2.0.1' 'zimpl=3.3.2' 'gcg=2.0.1' 'ug=0.7.5')
options=(staticlibs)
source=("http://scip.zib.de/download/release/${pkgname}-${pkgver}.tgz")
sha256sums=('c15359c75493a52f2ae6489dd2be07b3d20683bd21ad36ec134a866be2213a85')
build() {
# Extract directory names from the $provides array.
local _scip="${provides[0]//=/-}"
local _soplex="${provides[1]//=/-}"
local _zimpl="${provides[2]//=/-}"
local _gcg="${provides[3]//=/-}"
local _ug="${provides[4]//=/-}"
cd "${srcdir}/${pkgname}-${pkgver}"
make SHARED=true scipoptlib
make
make BLISS=false gcg
make ug
cd "${srcdir}/${pkgname}-${pkgver}/${_scip}"
make doc -j
cd "${srcdir}/${pkgname}-${pkgver}/${_soplex}"
make doc -j
cd "${srcdir}/${pkgname}-${pkgver}/${_gcg}"
make doc -j
# Some files have permission 640.
# @FIXME: Future versions might not require this line.
chmod -R a+r "${srcdir}/${pkgname}-${pkgver}"
}
check() {
cd "${srcdir}/${pkgname}-${pkgver}"
make test
}
package_scipoptsuite() {
# Extract directory names from the $provides array
local _scip="${provides[0]//=/-}"
local _soplex="${provides[1]//=/-}"
local _zimpl="${provides[2]//=/-}"
local _gcg="${provides[3]//=/-}"
local _ug="${provides[4]//=/-}"
# install everything manually (the install targets are still broken)
cd "${srcdir}/${pkgname}-${pkgver}"
# A local RPATH is set, get rid of it.
chrpath --delete ${_scip}/bin/scip
chrpath --delete ${_soplex}/bin/soplex
chrpath --delete ${_gcg}/bin/gcg
chrpath --delete ${_ug}/bin/fscip
#
# Binaries
#
install -D -m755 ${_soplex}/bin/soplex "${pkgdir}/usr/bin/soplex"
install -D -m755 ${_scip}/bin/scip "${pkgdir}/usr/bin/scip"
install -D -m755 ${_zimpl}/bin/zimpl "${pkgdir}/usr/bin/zimpl"
install -D -m755 ${_gcg}/bin/gcg "${pkgdir}/usr/bin/gcg"
install -D -m755 ${_ug}/bin/fscip "${pkgdir}/usr/bin/fscip"
#
# Includes
#
mkdir -p "${pkgdir}/usr/include/"{blockmemshell,lpi,nlpi,objscip,scip,soplex,zimpl}
cp ${_scip}/src/blockmemshell/*.h "${pkgdir}/usr/include/blockmemshell"
cp ${_scip}/src/lpi/*.h "${pkgdir}/usr/include/lpi"
cp ${_scip}/src/nlpi/*.h "${pkgdir}/usr/include/nlpi"
cp ${_scip}/src/objscip/*.h "${pkgdir}/usr/include/objscip"
cp ${_scip}/src/scip/*.h "${pkgdir}/usr/include/scip"
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/libscip*.a "${pkgdir}/usr/lib/"
cp -d ${_soplex}/lib/libsoplex*.a "${pkgdir}/usr/lib/"
cp -d ${_zimpl}/lib/libzimpl*.a "${pkgdir}/usr/lib/"
cp -d lib/libscipopt*.so "${pkgdir}/usr/lib/libscipopt.so"
# Repair "missing links"
# @FIXME: I hope this is not necessary in future versions!
cd "${pkgdir}/usr/lib"
ln -s -T libzimpl-*.a libzimpl.a
cd "${srcdir}/${pkgname}-${pkgver}"
#
# Documentation
#
mkdir -p "${pkgdir}/usr/share/doc/${pkgname}/"{scip,soplex,zimpl,gcg,ug}
cp -r ${_scip}/{CHANGELOG,release-notes,doc/html} "${pkgdir}/usr/share/doc/${pkgname}/scip/"
cp -r ${_soplex}/{CHANGELOG,doc/html} "${pkgdir}/usr/share/doc/${pkgname}/soplex/"
install -m644 ${_soplex}/src/example.cpp "${pkgdir}/usr/share/doc/${pkgname}/soplex/"
cp -r ${_zimpl}/{CHANGELOG,README,doc,example} "${pkgdir}/usr/share/doc/${pkgname}/zimpl/"
cp -r ${_gcg}/{CHANGELOG,doc/html} "${pkgdir}/usr/share/doc/${pkgname}/gcg/"
cp -r ${_ug}/README "${pkgdir}/usr/share/doc/${pkgname}/ug/"
#
# License
#
install -D -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
|