diff options
author | Patrick Mahoney <pat@polycrystal.org> | 2014-08-22 23:22:55 -0500 |
---|---|---|
committer | Patrick Mahoney <pat@polycrystal.org> | 2014-08-22 23:22:55 -0500 |
commit | f0478220d888f247c37a882df4a2ec82571b932c (patch) | |
tree | 241742f57a9b0ca09c49161a2834697833174ac9 /pkgs | |
parent | 030439d8fe009772f692239aaa79bd08e506acb2 (diff) | |
download | nixlib-f0478220d888f247c37a882df4a2ec82571b932c.tar nixlib-f0478220d888f247c37a882df4a2ec82571b932c.tar.gz nixlib-f0478220d888f247c37a882df4a2ec82571b932c.tar.bz2 nixlib-f0478220d888f247c37a882df4a2ec82571b932c.tar.lz nixlib-f0478220d888f247c37a882df4a2ec82571b932c.tar.xz nixlib-f0478220d888f247c37a882df4a2ec82571b932c.tar.zst nixlib-f0478220d888f247c37a882df4a2ec82571b932c.zip |
skalibs: new package
Skalibs is a set of general-purpose C programming libraries used for building all software at skarnet.org.
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/libraries/skalibs/default.nix | 58 | ||||
-rw-r--r-- | pkgs/development/libraries/skalibs/getpeereid.patch | 28 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
3 files changed, 88 insertions, 0 deletions
diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix new file mode 100644 index 000000000000..842d74848df6 --- /dev/null +++ b/pkgs/development/libraries/skalibs/default.nix @@ -0,0 +1,58 @@ +{stdenv, fetchurl}: + +let + + version = "1.6.0.0"; + +in stdenv.mkDerivation rec { + name = "skalibs-${version}"; + + src = fetchurl { + url = "http://skarnet.org/software/skalibs/${name}.tar.gz"; + sha256 = "0jz3farll9n5jvz3g6wri99s6njkgmnf0r9jqjlg03f20dzv8c8w"; + }; + + sourceRoot = "prog/${name}"; + + # See http://skarnet.org/cgi-bin/archive.cgi?1:mss:75:201405:pkmodhckjklemogbplje + patches = [ ./getpeereid.patch ]; + + configurePhase = '' + pushd conf-compile + + printf "$out/bin" > conf-defaultpath + printf "$out/etc" > conf-etc + printf "$out/bin" > conf-install-command + printf "$out/include" > conf-install-include + printf "$out/libexec" > conf-install-libexec + printf "$out/lib" > conf-install-library + printf "$out/lib" > conf-install-library.so + printf "$out/sysdeps" > conf-install-sysdeps + + # let nix builder strip things, cross-platform + truncate --size 0 conf-stripbins + truncate --size 0 conf-striplibs + + rm -f flag-slashpackage + touch flag-allstatic + touch flag-forcedevr + + popd + ''; + + preBuild = '' + patchShebangs src/sys + ''; + + preInstall = '' + mkdir -p "$out/etc" + ''; + + meta = { + homepage = http://skarnet.org/software/skalibs/; + description = "A set of general-purpose C programming libraries."; + platforms = stdenv.lib.platforms.all; + license = stdenv.lib.licenses.isc; + }; + +} diff --git a/pkgs/development/libraries/skalibs/getpeereid.patch b/pkgs/development/libraries/skalibs/getpeereid.patch new file mode 100644 index 000000000000..c366780e2670 --- /dev/null +++ b/pkgs/development/libraries/skalibs/getpeereid.patch @@ -0,0 +1,28 @@ +--- a/src/libstddjb/getpeereid.h ++++ b/src/libstddjb/getpeereid.h +@@ -3,6 +3,14 @@ + #ifndef GETPEEREID_H + #define GETPEEREID_H + ++#include "sysdeps.h" ++ ++#ifdef HASGETPEEREID ++/* syscall exists - do nothing */ ++ ++#else ++ + extern int getpeereid (int, int *, int *) ; + + #endif ++#endif +--- a/src/libstddjb/ipc_eid.c ++++ b/src/libstddjb/ipc_eid.c +@@ -5,7 +5,7 @@ + + int ipc_eid (int s, unsigned int *u, unsigned int *g) + { +- int dummyu, dummyg ; ++ unsigned int dummyu, dummyg ; + if (getpeereid(s, &dummyu, &dummyg) < 0) return -1 ; + *u = (unsigned int)dummyu ; + *g = (unsigned int)dummyg ; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 15da2e5e4e1e..6b90a705f1cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6169,6 +6169,8 @@ let sfml_git = callPackage ../development/libraries/sfml { }; + skalibs = callPackage ../development/libraries/skalibs { }; + slang = callPackage ../development/libraries/slang { }; slibGuile = callPackage ../development/libraries/slib { |