summary refs log tree commit diff
path: root/pkgs/development/libraries/gsm/default.nix
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-02-14 13:55:52 -0800
committerWilliam A. Kennington III <william@wkennington.com>2015-02-14 13:55:52 -0800
commitc6642675b97d640017e98753230a239cc21ea515 (patch)
tree46a15bc51d62c8bd9c1af41c1be99670b546fa90 /pkgs/development/libraries/gsm/default.nix
parentc4dd28902f8944edd002ad2c58ad9ea69b687c4d (diff)
parentfc27383909eb04a660fa3813778db1dcf8a82b92 (diff)
downloadnixpkgs-c6642675b97d640017e98753230a239cc21ea515.tar
nixpkgs-c6642675b97d640017e98753230a239cc21ea515.tar.gz
nixpkgs-c6642675b97d640017e98753230a239cc21ea515.tar.bz2
nixpkgs-c6642675b97d640017e98753230a239cc21ea515.tar.lz
nixpkgs-c6642675b97d640017e98753230a239cc21ea515.tar.xz
nixpkgs-c6642675b97d640017e98753230a239cc21ea515.tar.zst
nixpkgs-c6642675b97d640017e98753230a239cc21ea515.zip
Merge pull request #6336 from codyopel/gsm
gsm: seperate phases & fix shared library
Diffstat (limited to 'pkgs/development/libraries/gsm/default.nix')
-rw-r--r--pkgs/development/libraries/gsm/default.nix19
1 files changed, 17 insertions, 2 deletions
diff --git a/pkgs/development/libraries/gsm/default.nix b/pkgs/development/libraries/gsm/default.nix
index aab08d52ca1..581f8b1b222 100644
--- a/pkgs/development/libraries/gsm/default.nix
+++ b/pkgs/development/libraries/gsm/default.nix
@@ -10,10 +10,25 @@ stdenv.mkDerivation rec {
     sha256 = "1bcjl2h60gvr1dc5a963h3vnz9zl6n8qrfa3qmb2x3229lj1iiaj";
   };
 
-  preConfigure = ''
+  patchPhase = ''
+    # Fix include directory
     sed -e 's,$(GSM_INSTALL_ROOT)/inc,$(GSM_INSTALL_ROOT)/include/gsm,' -i Makefile
-    mkdir -p "$out/"{bin,lib,man/man1,man/man3,include/gsm}
+
     makeFlags="$makeFlags INSTALL_ROOT=$out"
+
+    # Build shared library instead of static
+    sed -e 's,-c -O2 -DNeedFunctionPrototypes=1,-c -O2 -fPIC -DNeedFunctionPrototypes=1,' -i Makefile
+    sed -e 's,libgsm.a,libgsm.so,' -i Makefile
+    sed -e 's/$(AR) $(ARFLAGS) $(LIBGSM) $(GSM_OBJECTS)/$(LD) -shared -Wl,-soname,libgsm.so -o $(LIBGSM) $(GSM_OBJECTS) -lc/' -i Makefile
+    sed -e 's,$(RANLIB) $(LIBGSM),,' -i Makefile
+  '';
+
+  makeFlags = [
+    ''SHELL=${stdenv.shell}''
+  ];
+
+  preInstall = ''
+    mkdir -p "$out/"{bin,lib,man/man1,man/man3,include/gsm}
   '';
 
   NIX_CFLAGS_COMPILE = "-fPIC";