diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix index 5d870c7e6bd8..37a546770a0d 100644 --- a/pkgs/servers/shellinabox/default.nix +++ b/pkgs/servers/shellinabox/default.nix @@ -1,18 +1,20 @@ -{ stdenv, fetchurl, pam, openssl, openssh, shadow, makeWrapper }: +{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pam, openssl, openssh, shadow, makeWrapper }: stdenv.mkDerivation rec { - version = "2.14"; + version = "2.16"; name = "shellinabox-${version}"; - src = fetchurl { - url = "https://shellinabox.googlecode.com/files/shellinabox-${version}.tar.gz"; - sha1 = "9e01f58c68cb53211b83d0f02e676e0d50deb781"; + src = fetchFromGitHub { + owner = "shellinabox"; + repo = "shellinabox"; + rev = "8ac3a4efcf20f7b66d3f1eb1d4f3054aef6e196b"; + sha256 = "1pp6nk0279d2q7l1cvx8jc73skfjv0s42wxb2m00x0bg9i1fvs5j"; }; - buildInputs = [ pam openssl openssh makeWrapper ]; - patches = [ ./shellinabox-minus.patch ]; + buildInputs = [ autoconf automake libtool pam openssl openssh makeWrapper]; + # Disable GSSAPIAuthentication errors. Also, paths in certain source files are # hardcoded. Replace the hardcoded paths with correct paths. preConfigure = '' @@ -21,11 +23,14 @@ stdenv.mkDerivation rec { substituteInPlace ./shellinabox/service.c --replace "/bin/login" "${shadow}/bin/login" substituteInPlace ./shellinabox/launcher.c --replace "/bin/login" "${shadow}/bin/login" substituteInPlace ./libhttp/ssl.c --replace "/usr/bin" "${openssl}/bin" + autoreconf -vfi ''; postInstall = '' wrapProgram $out/bin/shellinaboxd \ --prefix LD_LIBRARY_PATH : ${openssl}/lib + mkdir -p $out/lib + cp shellinabox/* $out/lib ''; meta = with stdenv.lib; { diff --git a/pkgs/servers/shellinabox/shellinabox-minus.patch b/pkgs/servers/shellinabox/shellinabox-minus.patch index 2e30bd9c8aa1..d84bdd2eb161 100644 --- a/pkgs/servers/shellinabox/shellinabox-minus.patch +++ b/pkgs/servers/shellinabox/shellinabox-minus.patch @@ -1,6 +1,6 @@ -diff -ru shellinabox-2.14/shellinabox/vt100.js shellinabox-2.14.new/shellinabox/vt100.js ---- shellinabox-2.14/shellinabox/vt100.js 2012-04-21 21:30:44.000000000 +0400 -+++ shellinabox-2.14.new/shellinabox/vt100.js 2014-03-27 16:33:31.012344164 +0400 +diff -ru shellinabox-2.14/shellinabox/vt100.jspp shellinabox-2.14.new/shellinabox/vt100.jspp +--- shellinabox-2.14/shellinabox/vt100.jspp 2012-04-21 21:30:44.000000000 +0400 ++++ shellinabox-2.14.new/shellinabox/vt100.jspp 2014-03-27 16:33:31.012344164 +0400 @@ -2676,6 +2676,7 @@ switch (key) { case 33: /* Page Up */ this.scrollBack(); return;