PKGBUILDs/community/marisa/PKGBUILD
2021-12-12 23:52:18 +00:00

122 lines
3.5 KiB
Bash

# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: ponsfoot <cabezon dot hashimoto at gmail dot com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - remove --enable-sse2 from configure
pkgbase=marisa
pkgname=('marisa' 'perl-marisa' 'python-marisa' 'ruby-marisa')
pkgver=0.2.6
pkgrel=8
arch=('x86_64')
url="https://github.com/s-yata/marisa-trie"
license=('BSD' 'LGPL')
makedepends=('python' 'ruby' 'perl' 'swig')
source=("marisa-trie-$pkgver.tar.gz::https://github.com/s-yata/marisa-trie/archive/v$pkgver.tar.gz")
sha512sums=('c094e4b22e1457efdd20f2b978ee421b53e36ed94e4fdbd8944136c0ba23da4f6ba9fe3a2c64729c1426aee4dbe8098bfa5eebb943ae7fdaa4eec760485c564d')
prepare() {
cd marisa-trie-$pkgver
autoreconf -i
}
build() {
cd marisa-trie-$pkgver
# sse2 is part of amd64
./configure --prefix=/usr --disable-static
# --enable-popcnt
# --enable-sse3
# --enable-ssse3
# --enable-sse4.1
# --enable-sse4.2
# --enable-sse4
# --enable-sse4a
make
# Regenerate swig bindings
# remove ruby because it's broken for now
make -C bindings -j1 swig-perl swig-python
# Perl bindings
cd "$srcdir"/marisa-trie-$pkgver/bindings/perl
perl Makefile.PL \
INC=-I"$srcdir"/marisa-trie-$pkgver/include \
LIBS=-L"$srcdir"/marisa-trie-$pkgver/lib/marisa/.libs \
INSTALLDIRS=vendor
make
# Python bindings
cd "$srcdir"/marisa-trie-$pkgver/bindings/python
python setup.py build_ext \
--include-dirs="$srcdir"/marisa-trie-$pkgver/include \
--library-dirs="$srcdir"/marisa-trie-$pkgver/lib/marisa/.libs
python setup.py build
# Ruby bindings
cd "$srcdir"/marisa-trie-$pkgver/bindings/ruby
ruby extconf.rb \
--with-opt-include="$srcdir"/marisa-trie-$pkgver/include \
--with-opt-lib="$srcdir"/marisa-trie-$pkgver/lib/marisa/.libs \
--vendor
make
}
package_marisa() {
pkgdesc="Static and space-efficient trie data structure library"
depends=('gcc-libs')
cd marisa-trie-$pkgver
make DESTDIR="$pkgdir" install
install -d "$pkgdir"/usr/share/doc/$pkgbase-$pkgver
install -m 644 docs/* "$pkgdir"/usr/share/doc/$pkgbase-$pkgver/
install -d "$pkgdir"/usr/share/licenses/$pkgname
install -m 644 AUTHORS COPYING.md "$pkgdir"/usr/share/licenses/$pkgname/
}
package_perl-marisa() {
pkgdesc="Perl language binding for marisa"
depends=('perl' 'marisa')
cd marisa-trie-$pkgver/bindings/perl
make DESTDIR="$pkgdir" install
cd ../..
install -d "$pkgdir"/usr/share/licenses/$pkgname
install -m 644 AUTHORS COPYING.md "$pkgdir"/usr/share/licenses/$pkgname/
}
package_python-marisa() {
pkgdesc="Python language binding for marisa"
depends=('python' 'marisa')
cd marisa-trie-$pkgver/bindings/python
python setup.py install -O1 --root="$pkgdir"
cd ../..
install -d "$pkgdir"/usr/share/licenses/$pkgname
install -m 644 AUTHORS COPYING.md "$pkgdir"/usr/share/licenses/$pkgname/
}
package_ruby-marisa() {
pkgdesc="Ruby language binding for marisa"
depends=('ruby' 'marisa')
# ruby version without the patch number, e.g. 2.4
local _rubyver=$(ruby -e"puts Gem.ruby_version.to_s.split('.')[0..1].join('.')")
cd marisa-trie-$pkgver/bindings/ruby
_hdrdir=$(pkg-config --variable=rubyhdrdir ruby-$_rubyver)
_arch=$(pkg-config --variable=arch ruby-$_rubyver)
make DESTDIR="$pkgdir" install \
hdrdir="$_hdrdir" \
arch_hdrdir="${_hdrdir}/${_arch}" \
rubyhdrdir="$_hdrdir"
cd ../..
install -d "$pkgdir"/usr/share/licenses/$pkgname
install -m 644 AUTHORS COPYING.md "$pkgdir"/usr/share/licenses/$pkgname/
}