# Maintainer: Felix Yan # Contributor: ponsfoot # ALARM: Kevin Mihelich # - remove --enable-sse2 from configure pkgbase=marisa pkgname=('marisa' 'perl-marisa' 'python-marisa' 'ruby-marisa') pkgver=0.2.6 pkgrel=15 arch=('x86_64') url="https://github.com/s-yata/marisa-trie" license=('BSD' 'LGPL') makedepends=('python' 'ruby' 'perl' 'swig' 'python-setuptools') source=("marisa-trie-$pkgver.tar.gz::https://github.com/s-yata/marisa-trie/archive/v$pkgver.tar.gz" fix-format-security.patch) sha512sums=('c094e4b22e1457efdd20f2b978ee421b53e36ed94e4fdbd8944136c0ba23da4f6ba9fe3a2c64729c1426aee4dbe8098bfa5eebb943ae7fdaa4eec760485c564d' '3583f23c55ccd46cefbd757ef3f82dc7a90f14c64ecf69a99ab3467ca1e6aeddf9822be4c4dffcdbb8841d79fe116cfb8eff0e9b44abaadbcbf8d50a10ab1ec9') prepare() { cd marisa-trie-$pkgver autoreconf -i # https://github.com/s-yata/marisa-trie/pull/45 patch -Np1 -i ../fix-format-security.patch } 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/ }