summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulian Daube2020-11-11 01:43:32 +0100
committerJulian Daube2020-11-11 01:44:18 +0100
commitf9be634e7b16d262c9a1571ca62e0c740212ca15 (patch)
treef5fcc6746ad3b01ab99d4af2d32230dd77e9c066
parent55948ae2d87f60eb404db723070b0f7ec53090f0 (diff)
downloadaur-f9be634e7b16d262c9a1571ca62e0c740212ca15.tar.gz
build shared library instead of statially linked one
was needed for a program of mine, so i make it into a package
-rw-r--r--.SRCINFO9
-rw-r--r--PKGBUILD32
-rw-r--r--makefile.patch9
3 files changed, 36 insertions, 14 deletions
diff --git a/.SRCINFO b/.SRCINFO
index ac97a9efc1bd..c17b6903c63a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,4 +1,4 @@
-pkgbase = newmat
+pkgbase = newmat-shared
pkgdesc = C++ matrix library
pkgver = 10
pkgrel = 1
@@ -6,11 +6,14 @@ pkgbase = newmat
arch = i686
arch = x86_64
license = custom
- options = staticlibs
+ provides = newmat
+ conflicts = newmat
source = http://www.robertnz.net/ftp/newmat10.tar.gz
source = filelist
+ source = makefile.patch
sha256sums = 637d18c0363b8bb99c48eb04cce8c182ccbff771df0bf1e2d541e95f6eb34e7b
sha256sums = b707dfdf6f64c7bcea1f288845b967349aaa76b6b8fb43559138a9f70307ceee
+ sha256sums = 57a4875047ea1a4a71d70509cc1e7018c13e0a71bde8f0d7d16ba1cabbec30aa
-pkgname = newmat
+pkgname = newmat-shared
diff --git a/PKGBUILD b/PKGBUILD
index 0d3a6177aaed..44473739f7ad 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,36 +1,46 @@
-# Maintainer: Stefan Husmann <stefan-husmann@t-online.de>
+# Maintainer: Julian Daube <joposter (at) gmail (dot) com>
+# Contributor: Julian Daube <joposter (at) gmail (dot) com>
+# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
-pkgname=newmat
+pkgname=newmat-shared
+_pkgname=newmat
pkgver=10
pkgrel=1
pkgdesc="C++ matrix library"
url="http://www.robertnz.net"
arch=('i686' 'x86_64')
license=('custom')
-source=("http://www.robertnz.net/ftp/$pkgname$pkgver.tar.gz" filelist)
+source=("http://www.robertnz.net/ftp/$_pkgname$pkgver.tar.gz" filelist makefile.patch)
sha256sums=('637d18c0363b8bb99c48eb04cce8c182ccbff771df0bf1e2d541e95f6eb34e7b'
- 'b707dfdf6f64c7bcea1f288845b967349aaa76b6b8fb43559138a9f70307ceee')
-options=('staticlibs')
+ 'b707dfdf6f64c7bcea1f288845b967349aaa76b6b8fb43559138a9f70307ceee'
+ '57a4875047ea1a4a71d70509cc1e7018c13e0a71bde8f0d7d16ba1cabbec30aa')
+
+provides=("newmat")
+conflicts=("newmat")
prepare() {
sed -i 's+//#define use_namespace+#define use_namespace+' include.h
}
build() {
+ patch nm_gnu.mak < makefile.patch
make -f nm_gnu.mak
}
package() {
for _i in `cat filelist | awk '{print $1}'`
do
- install -Dm644 ${_i} "$pkgdir"/usr/include/$pkgname/${_i}
+ install -Dm644 ${_i} "$pkgdir"/usr/include/$_pkgname/${_i}
done
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
- install -Dm644 README "$pkgdir"/usr/share/licenses/$pkgname/README
- install -Dm644 libnewmat.a "$pkgdir"/usr/lib/libnewmat.a
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$_pkgname/COPYING
+ install -Dm644 README "$pkgdir"/usr/share/licenses/$_pkgname/README
+ install -Dm644 libnewmat.so "$pkgdir"/usr/lib/libnewmat.so
+ ln -s "/usr/lib/libnewmat.so" "$pkgdir"/usr/lib/libnewmat.so.10
+
for _i in `cat filelist | awk '{print $1}'|sed s+.cpp+.o+|grep -v .h`
do
- install -Dm755 ${_i} "$pkgdir"/usr/lib/$pkgname/${_i}
+ install -Dm755 ${_i} "$pkgdir"/usr/lib/$_pkgname/${_i}
done
- install -Dm644 nm10.htm "$pkgdir"/usr/share/doc/$pkgname/nm10.htm
+
+ install -Dm644 nm10.htm "$pkgdir"/usr/share/doc/$_pkgname/nm10.htm
}
diff --git a/makefile.patch b/makefile.patch
new file mode 100644
index 000000000000..7ad7b69caed9
--- /dev/null
+++ b/makefile.patch
@@ -0,0 +1,9 @@
+12c12
+< everything: tmt example test_exc nl_ex sl_ex garch
+---
+> everything: libnewmat.so tmt example test_exc nl_ex sl_ex garch
+14a15,18
+>
+> libnewmat.so: CXXFLAGS += -fPIC
+> libnewmat.so: $(newmat_lobj)
+> gcc -shared $(newmat_lobj) -o $@