blob: 6094255440d1883e7239bc312977cf2fa4f9ea31 (
plain)
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
|
#
# Maintainer: Carlos Aznarán <caznaranl@uni.pe>
# Contributor: wangjiezhe <wangjiezhe@gmail.com>
# Contributor: Clemens Buchacher <drizzd@aon.at>
#
# You can use the newpkg script from
# https://github.com/drizzd/octave-forge-archlinux to automatically generate
# new octave-forge PKGBUILDs or update existing ones. Patches welcome.
#
_pack=specfun
pkgname=octave-${_pack}
pkgver=1.1.0
pkgrel=7
pkgdesc="Special functions including ellipitic functions, etc"
arch=(any)
url="https://octave.sourceforge.io/${_pack}"
license=('custom')
groups=('octave-forge')
depends=('octave>=3.4.0')
makedepends=()
optdepends=()
backup=()
options=()
install=${pkgname}.install
_archive=${_pack}-${pkgver}.tar.gz
_archive_patched=${_pack}-${pkgver}-patched.tar.gz
source=("https://downloads.sourceforge.net/octave/${_archive}")
noextract=("${_archive}")
sha512sums=('106fb7fd4504704cf30c27f2d900dea2468dccd3b48fbefa9e7509e33c3f74d93ae1e3fcc857142e4d4f99b546b0bcc81c13c095abab83b7844385606497c2c5')
_octave_run() {
octave --no-history --no-init-file --no-window-system -q -f --eval "$*"
}
_install_dir() {
src=$1
dst=$2
mkdir -p "$(dirname "$dst")"
cp -rT "$src" "$dst"
}
prepare() {
cd "$srcdir"
tar xzf "$_archive"
# https://github.com/macports/macports-ports/blob/master/math/octave-specfun/files/patch-src-ellipj.cc.diff
sed -i 's/ if (u_arg.is_real_type ()) {/ if (u_arg.isreal ()) {/g' ${_pack}/src/ellipj.cc
tar czf "$_archive_patched" "$_pack"
}
build() {
_prefix="$srcdir"/install_prefix
_archprefix="$srcdir"/install_archprefix
mkdir -p "$_prefix" "$_archprefix"
cd "$srcdir"
_octave_run "$(
cat <<-EOF
pkg local_list octave_packages;
pkg prefix $_prefix $_archprefix;
pkg install -verbose -nodeps $_archive_patched;
EOF
)"
}
package() {
prefix=$pkgdir/usr/share/octave/packages
archprefix=$pkgdir/usr/lib/octave/packages
_install_dir "$srcdir"/install_prefix "$prefix"
_install_dir "$srcdir"/install_archprefix "$archprefix"
}
|