diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libutempter')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libutempter/default.nix | 39 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libutempter/exec_path.patch | 25 |
2 files changed, 64 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libutempter/default.nix b/nixpkgs/pkgs/development/libraries/libutempter/default.nix new file mode 100644 index 000000000000..ff2044242b9f --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libutempter/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, lib, glib }: + +with lib; + +stdenv.mkDerivation rec { + pname = "libutempter"; + version = "1.1.6"; + + src = fetchurl { + url = "http://archive.ubuntu.com/ubuntu/pool/main/libu/libutempter/libutempter_${version}.orig.tar.bz2"; + sha256 = "15y3xbgznjxnfmix4xg3bwmqdvghdw7slbhazb0ybmyf65gmd65q"; + }; + + buildInputs = [ glib ]; + + patches = [ ./exec_path.patch ]; + + prePatch = '' + substituteInPlace Makefile --replace 2711 0711 + ''; + + makeFlags = [ + "libdir=\${out}/lib" + "libexecdir=\${out}/lib" + "includedir=\${out}/include" + "mandir=\${out}/share/man" + ]; + + meta = { + description = "Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files"; + longDescription = '' + The bundled utempter binary must be able to run as a user belonging to group utmp. + On NixOS systems, this can be achieved by creating a setguid wrapper. + ''; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = [ maintainers.msteen ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/libutempter/exec_path.patch b/nixpkgs/pkgs/development/libraries/libutempter/exec_path.patch new file mode 100644 index 000000000000..bd5f56611ef9 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libutempter/exec_path.patch @@ -0,0 +1,25 @@ +diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c +--- libutempter-1.1.6/iface.c 2010-11-04 18:14:53.000000000 +0100 ++++ libutempter-1.1.6.patched/iface.c 2018-06-06 15:09:11.417755549 +0200 +@@ -60,9 +60,9 @@ + _exit(EXIT_FAILURE); + } + +- execv(path, argv); ++ execvp(path, argv); + #ifdef UTEMPTER_DEBUG +- fprintf(stderr, "libutempter: execv: %s\n", strerror(errno)); ++ fprintf(stderr, "libutempter: execvp: %s\n", strerror(errno)); + #endif + + while (EACCES == errno) +@@ -79,7 +79,7 @@ + if (setgid(sgid)) + break; + +- (void) execv(path, argv); ++ (void) execvp(path, argv); + break; + } + +Only in libutempter-1.1.6.patched: result |