summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/applications/inferno/default.nix46
-rw-r--r--pkgs/shells/fish/default.nix2
2 files changed, 21 insertions, 27 deletions
diff --git a/pkgs/applications/inferno/default.nix b/pkgs/applications/inferno/default.nix
index a0e2796a302..1a720f00300 100644
--- a/pkgs/applications/inferno/default.nix
+++ b/pkgs/applications/inferno/default.nix
@@ -1,55 +1,47 @@
-{ fetchurl, fetchhg, stdenv, xorg, gcc46, makeWrapper }:
+{ fetchurl, fetchhg, stdenv, xorg, makeWrapper }:
 
 stdenv.mkDerivation rec {
   # Inferno is a rolling release from a mercurial repository. For the verison number
   # of the package I'm using the mercurial commit number.
-  version = "645";
-  name = "inferno-${version}";
-
-  # The mercurial repository does not contain all the components needed for the
-  # runtime system. The 'base' package contains these. For this package I download
-  # the base, extract the elements required from that, and add them to the source
-  # pulled from the mercurial repository.
-  srcBase = fetchurl {
-    url = "http://www.vitanuova.com/dist/4e/inferno-20100120.tgz";
-    sha256 = "0msvy3iwl4n5k0ry0xiyysjkq0qsawmwn3hvg67hbi5y8g7f7l88";
-  };
+  rev = "785";
+  name = "inferno-${rev}";
+  host = "Linux";
+  objtype = "386";
 
   src = fetchhg {
-    url    = "https://inferno-os.googlecode.com/hg";
-    rev    = "7ab390b860ca";
-    sha256 = "09y0iclb3yy10gw1p0182sddg64xh60q2fx4ai7lxyfb65i76qbh";
+    url    = "https://bitbucket.org/inferno-os/inferno-os";
+    sha256 = "1b428ma9fi5skvfrxp91dr43a62kax89wmx7950ahc1cxyx90k7x";
   };
 
-  # Fails with gcc48 due to inferno triggering an optimisation issue with floating point.
-  buildInputs = [ gcc46 xorg.libX11 xorg.libXpm xorg.libXext xorg.xextproto makeWrapper ];
+  buildInputs = [ makeWrapper ] ++ (with xorg; [ libX11 libXpm libXext xextproto ]);
 
   infernoWrapper = ./inferno;
 
   configurePhase = ''
-    tar --strip-components=1 -xvf $srcBase inferno/fonts inferno/Mkdirs inferno/empties
-    sed -e 's@^ROOT=.*$@ROOT='"$out"'/share/inferno@g' -e 's@^OBJTYPE=.*$@OBJTYPE=386@g' -e 's@^SYSHOST=.*$@SYSHOST=Linux@g' -i mkconfig
-    mkdir prof
-    sh Mkdirs
+    sed -e 's@^ROOT=.*$@ROOT='"$out"'/share/inferno@g' \
+        -e 's@^OBJTYPE=.*$@OBJTYPE=${objtype}@g' \
+        -e 's@^SYSHOST=.*$@SYSHOST=${host}@g' \
+        -i mkconfig
+    # Get rid of an annoying warning
+    sed -e 's/_BSD_SOURCE/_DEFAULT_SOURCE/g' \
+        -i ${host}/${objtype}/include/lib9.h
   '';
 
   buildPhase = ''
-    export PATH=$PATH:$out/share/inferno/Linux/386/bin
     mkdir -p $out/share/inferno
     cp -r . $out/share/inferno
     ./makemk.sh
+    export PATH=$PATH:$out/share/inferno/Linux/386/bin
     mk nuke
     mk
   '';
 
   installPhase = ''
+    # Installs executables in $out/share/inferno/${host}/${objtype}/bin
     mk install
     mkdir -p $out/bin
-    makeWrapper $out/share/inferno/Linux/386/bin/emu $out/bin/emu \
-      --suffix LD_LIBRARY_PATH ':' "${gcc46.cc}/lib" \
-      --suffix PATH ':' "$out/share/inferno/Linux/386/bin"
+    # Install start-up script
     makeWrapper $infernoWrapper $out/bin/inferno \
-      --suffix LD_LIBRARY_PATH ':' "${gcc46.cc}/lib" \
       --suffix PATH ':' "$out/share/inferno/Linux/386/bin" \
       --set INFERNO_ROOT "$out/share/inferno"
   '';
@@ -58,7 +50,7 @@ stdenv.mkDerivation rec {
     description = "A compact distributed operating system for building cross-platform distributed systems";
     homepage = "http://inferno-os.org/";
     license = stdenv.lib.licenses.gpl2;
-    maintainers = [ "Chris Double <chris.double@double.co.nz>" ];
+    maintainers = with stdenv.lib.maintainers; [ doublec kovirobi ];
     platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index 83c8e3c5816..52121294067 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -22,8 +22,10 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     sed -e "s|expr|${coreutils}/bin/expr|" \
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
         -e "s|if which unicode_start|if true|" \
         -e "s|unicode_start|${kbd}/bin/unicode_start|" \
+  '' + ''
         -i "$out/etc/fish/config.fish"
     sed -e "s|bc|${bc}/bin/bc|" \
         -e "s|/usr/bin/seq|${coreutils}/bin/seq|" \