From 1a4072e90f8f462eece4de434638dd65480a2dcc Mon Sep 17 00:00:00 2001 From: gnidorah Date: Sun, 14 Apr 2019 09:51:29 +0300 Subject: [PATCH] maxx: 1.1.0 -> 2.0.1 --- .../services/x11/desktop-managers/maxx.nix | 6 ++ pkgs/desktops/maxx/default.nix | 57 +++++++------------ 2 files changed, 26 insertions(+), 37 deletions(-) diff --git a/nixos/modules/services/x11/desktop-managers/maxx.nix b/nixos/modules/services/x11/desktop-managers/maxx.nix index d7bd2fc5eb0c..6a698658bdd6 100644 --- a/nixos/modules/services/x11/desktop-managers/maxx.nix +++ b/nixos/modules/services/x11/desktop-managers/maxx.nix @@ -13,6 +13,12 @@ in { config = mkIf (xcfg.enable && cfg.enable) { environment.systemPackages = [ pkgs.maxx ]; + # there is hardcoded path in binaries + system.activationScripts.setup-maxx = '' + mkdir -p /opt + ln -sfn ${pkgs.maxx}/opt/MaXX /opt + ''; + services.xserver.desktopManager.session = [ { name = "MaXX"; start = '' diff --git a/pkgs/desktops/maxx/default.nix b/pkgs/desktops/maxx/default.nix index 6f515068418e..5edebb39be41 100644 --- a/pkgs/desktops/maxx/default.nix +++ b/pkgs/desktops/maxx/default.nix @@ -1,43 +1,34 @@ -{ stdenv, fetchurl, makeWrapper, autoPatchelfHook -, libredirect, gcc-unwrapped, bash, gtk-engine-murrine, gtk_engines, librsvg +{ stdenv, fetchurl, makeWrapper, autoPatchelfHook, gnused +, gcc, bash, gtk-engine-murrine, gtk_engines, librsvg , libX11, libXext, libXi, libXau, libXrender, libXft, libXmu, libSM, libXcomposite, libXfixes, libXpm , libXinerama, libXdamage, libICE, libXtst, libXaw, fontconfig, pango, cairo, glib, libxml2, atk, gtk2 -, gdk_pixbuf, libGL, ncurses +, gdk_pixbuf, libGL, ncurses5 -, xclock, xsettingsd }: +, dmidecode, pciutils, usbutils +}: -let - version = "Indy-1.1.0"; - - runtime_deps = [ - xclock xsettingsd - ]; -in stdenv.mkDerivation { - name = "MaXX-${version}"; +stdenv.mkDerivation rec { + pname = "MaXX"; + version = "2.0.1"; + codename = "Indigo"; srcs = [ (fetchurl { - url = "http://maxxdesktop.arcadedaydream.com/Indy-Releases/Installers/MaXX-${version}-NO-ARCH.tar.gz"; - sha256 = "1d23j08wwrrn5cp7csv70pcz9jppcn0xb1894wkp0caaliy7g31y"; - }) - (fetchurl { - url = "http://maxxdesktop.arcadedaydream.com/Indy-Releases/Installers/MaXX-${version}-x86_64.tar.gz"; - sha256 = "156p2lra184wyvibrihisd7cr1ivqaygsf0zfm26a12gx23b7708"; + url = "http://maxxdesktop.arcadedaydream.com/${codename}-Releases/Installers/MaXX-${codename}-${version}-x86_64.tar.gz"; + sha256 = "17hd3j8773kmvvhyf657in6zmhnw4mbvyn4r6dfip5bdaz66pj01"; }) ]; - nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; + nativeBuildInputs = [ makeWrapper autoPatchelfHook gnused ]; buildInputs = [ stdenv.cc.cc libX11 libXext libXi libXau libXrender libXft libXmu libSM libXcomposite libXfixes libXpm libXinerama libXdamage libICE libXtst libXaw fontconfig pango cairo glib libxml2 atk gtk2 - gdk_pixbuf libGL ncurses + gdk_pixbuf libGL ncurses5 ]; buildPhase = '' - while IFS= read -r -d ''$'\0' i; do - substituteInPlace "$i" --replace /opt/MaXX $out/opt/MaXX - done < <(find "." -type f -exec grep -Iq /opt/MaXX {} \; -and -print0) + sed -i "s/\(LD_LIBRARY_PATH=.*\)$/\1:\$LD_LIBRARY_PATH/p" etc/system.desktopenv substituteInPlace bin/adminterm \ --replace /bin/bash ${bash}/bin/bash @@ -55,33 +46,25 @@ in stdenv.mkDerivation { wrapProgram $maxx/etc/skel/Xsession.dt \ --prefix GTK_PATH : "${gtk-engine-murrine}/lib/gtk-2.0:${gtk_engines}/lib/gtk-2.0" \ - --prefix GDK_PIXBUF_MODULE_FILE : "$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)" \ - --prefix PATH : ${stdenv.lib.makeBinPath runtime_deps} + --prefix GDK_PIXBUF_MODULE_FILE : "$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)" while IFS= read -r -d ''$'\0' i; do if isExecutable "$i"; then wrapProgram "$i" \ - --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ - --set NIX_REDIRECTS /opt/MaXX=$maxx \ - --prefix PATH : $maxx/sbin + --prefix PATH : ${gcc}/bin fi done < <(find "$maxx" -type f -print0) - cp ${gcc-unwrapped}/bin/cpp ${gcc-unwrapped}/libexec/gcc/*/*/cc1 $maxx/sbin - for i in $maxx/sbin/cpp $maxx/sbin/cc1 - do - wrapProgram "$i" \ - --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ - --set NIX_REDIRECTS /opt/MaXX=$maxx - done + wrapProgram $maxx/bin/hinv \ + --prefix PATH : ${stdenv.lib.makeBinPath [ dmidecode pciutils usbutils ]} ''; meta = with stdenv.lib; { description = "A replica of IRIX Interactive Desktop"; - homepage = http://www.maxxinteractive.com; + homepage = https://www.facebook.com/maxxdesktop/; license = { fullName = "The MaXX Interactive Desktop for Linux License Agreement"; - url = http://www.maxxinteractive.com/site/?page_id=97; + url = http://maxxdesktop.arcadedaydream.com/Indigo-Releases/docs/license.html; free = false; # redistribution is only allowed to *some* hardware, etc. }; maintainers = [ maintainers.gnidorah ];