skalibs: new package
Skalibs is a set of general-purpose C programming libraries used for building all software at skarnet.org.
This commit is contained in:
parent
030439d8fe
commit
f0478220d8
58
pkgs/development/libraries/skalibs/default.nix
Normal file
58
pkgs/development/libraries/skalibs/default.nix
Normal file
|
@ -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;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
28
pkgs/development/libraries/skalibs/getpeereid.patch
Normal file
28
pkgs/development/libraries/skalibs/getpeereid.patch
Normal file
|
@ -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 ;
|
|
@ -6169,6 +6169,8 @@ let
|
||||||
|
|
||||||
sfml_git = callPackage ../development/libraries/sfml { };
|
sfml_git = callPackage ../development/libraries/sfml { };
|
||||||
|
|
||||||
|
skalibs = callPackage ../development/libraries/skalibs { };
|
||||||
|
|
||||||
slang = callPackage ../development/libraries/slang { };
|
slang = callPackage ../development/libraries/slang { };
|
||||||
|
|
||||||
slibGuile = callPackage ../development/libraries/slib {
|
slibGuile = callPackage ../development/libraries/slib {
|
||||||
|
|
Loading…
Reference in a new issue