about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtturin <Artturin@artturin.com>2022-08-30 22:19:20 +0300
committerArtturin <Artturin@artturin.com>2022-08-31 16:50:34 +0300
commit154a55389c64dd28fc7c2c1a284a2e8b6cf7ba32 (patch)
tree5d2cba5e379ec6c40678557354a15c979f71f381
parent118b5d13a16bc6067063a1620613470b354c32b0 (diff)
libstemmer: install and use snowball binary from buildPackages
libstemmer-aarch64-unknown-linux-gnu> ./snowball algorithms/arabic.sbl -o src_c/stem_UTF_8_arabic -eprefix arabic_UTF_8_ -r ../runtime -u
libstemmer-aarch64-unknown-linux-gnu> /nix/store/p7bpdnxqd3i5hwm92mrscf7mvxk66404-bash-5.1-p16/bin/bash: line 4: ./snowball: cannot execute binary file: Exec format error

ref https://github.com/archlinux/svntogit-packages/blob/packages/snowball/trunk/PKGBUILD

for emulator alternative

ref: https://github.com/void-linux/void-packages/blob/4976c61b3af5ce6039caf19365c9dfb536d495f9/srcpkgs/snowball/template#L16-L21
-rw-r--r--pkgs/development/libraries/libstemmer/default.nix6
1 files changed, 5 insertions, 1 deletions
diff --git a/pkgs/development/libraries/libstemmer/default.nix b/pkgs/development/libraries/libstemmer/default.nix
index b0beafbcee263..3f66ee92a72e5 100644
--- a/pkgs/development/libraries/libstemmer/default.nix
+++ b/pkgs/development/libraries/libstemmer/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, perl }:
+{ lib, stdenv, fetchFromGitHub, perl, buildPackages }:
 
 stdenv.mkDerivation rec {
   pname = "libstemmer";
@@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     patchShebangs .
+  '' + lib.optionalString (!stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
+    substituteInPlace GNUmakefile \
+      --replace './snowball' '${lib.getBin buildPackages.libstemmer}/bin/snowball'
   '';
 
   makeTarget = "libstemmer.a";
@@ -23,6 +26,7 @@ stdenv.mkDerivation rec {
     runHook preInstall
     install -Dt $out/lib libstemmer.a
     install -Dt $out/include include/libstemmer.h
+    install -Dt $out/bin {snowball,stemwords}
     runHook postInstall
   '';