about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libfsm
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-06-19 19:22:30 +0000
committerAlyssa Ross <hi@alyssa.is>2019-06-19 19:22:30 +0000
commit6c3ffdc228a9808c65a0205cd1fd404578d02dee (patch)
treec5998bfbac1bc92dace314e051164f830976d661 /nixpkgs/pkgs/development/libraries/libfsm
parentef93931efff0323fd13c4270415b578c73b5ef35 (diff)
parent83ba5afcc9682b52b39a9a958f730b966cc369c5 (diff)
downloadnixlib-6c3ffdc228a9808c65a0205cd1fd404578d02dee.tar
nixlib-6c3ffdc228a9808c65a0205cd1fd404578d02dee.tar.gz
nixlib-6c3ffdc228a9808c65a0205cd1fd404578d02dee.tar.bz2
nixlib-6c3ffdc228a9808c65a0205cd1fd404578d02dee.tar.lz
nixlib-6c3ffdc228a9808c65a0205cd1fd404578d02dee.tar.xz
nixlib-6c3ffdc228a9808c65a0205cd1fd404578d02dee.tar.zst
nixlib-6c3ffdc228a9808c65a0205cd1fd404578d02dee.zip
Merge commit '83ba5afcc9682b52b39a9a958f730b966cc369c5'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libfsm')
-rw-r--r--nixpkgs/pkgs/development/libraries/libfsm/default.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libfsm/default.nix b/nixpkgs/pkgs/development/libraries/libfsm/default.nix
new file mode 100644
index 000000000000..5491fab3edf2
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libfsm/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchFromGitHub
+, bmake
+}:
+
+stdenv.mkDerivation rec {
+  name    = "libfsm-${version}";
+  version = "0.1pre1869_${builtins.substring 0 7 src.rev}";
+
+  src = fetchFromGitHub {
+    owner  = "katef";
+    repo   = "libfsm";
+    rev    = "f70c3c5778a79eeecb52f9fd35c7cbc241db0ed6";
+    sha256 = "1hgv272jdv6dwnsdjajyky537z84q0cwzspw9br46qj51h8gkwvx";
+    fetchSubmodules = true;
+  };
+
+  nativeBuildInputs = [ bmake ];
+  enableParallelBuilding = true;
+
+  # note: build checks value of '$CC' to add some extra cflags, but we don't
+  # necessarily know which 'stdenv' someone chose, so we leave it alone (e.g.
+  # if we use stdenv vs clangStdenv, we don't know which, and CC=cc in all
+  # cases.) it's unclear exactly what should be done if we want those flags,
+  # but the defaults work fine.
+  buildPhase = "PREFIX=$out bmake -r install";
+
+  # fix up multi-output install. we also have to fix the pkgconfig libdir
+  # file; it uses prefix=$out; libdir=${prefix}/lib, which is wrong in
+  # our case; libdir should really be set to the $lib output.
+  installPhase = ''
+    mkdir -p $lib $dev/lib
+
+    mv $out/lib             $lib/lib
+    mv $out/include         $dev/include
+    mv $out/share/pkgconfig $dev/lib/pkgconfig
+    rmdir $out/share
+
+    for x in libfsm.pc libre.pc; do
+      substituteInPlace "$dev/lib/pkgconfig/$x" \
+        --replace 'libdir=''${prefix}/lib' "libdir=$lib/lib"
+    done
+  '';
+
+  outputs = [ "out" "lib" "dev" ];
+
+  meta = with stdenv.lib; {
+    description = "DFA regular expression library & friends";
+    homepage    = "https://github.com/katef/libfsm";
+    license     = licenses.bsd2;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}