maxx: 1.1.0 -> 2.0.1

This commit is contained in:
gnidorah 2019-04-14 09:51:29 +03:00
parent 4493358e89
commit 1a4072e90f
2 changed files with 26 additions and 37 deletions

View File

@ -13,6 +13,12 @@ in {
config = mkIf (xcfg.enable && cfg.enable) { config = mkIf (xcfg.enable && cfg.enable) {
environment.systemPackages = [ pkgs.maxx ]; 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 = [ services.xserver.desktopManager.session = [
{ name = "MaXX"; { name = "MaXX";
start = '' start = ''

View File

@ -1,43 +1,34 @@
{ stdenv, fetchurl, makeWrapper, autoPatchelfHook { stdenv, fetchurl, makeWrapper, autoPatchelfHook, gnused
, libredirect, gcc-unwrapped, bash, gtk-engine-murrine, gtk_engines, librsvg , gcc, bash, gtk-engine-murrine, gtk_engines, librsvg
, libX11, libXext, libXi, libXau, libXrender, libXft, libXmu, libSM, libXcomposite, libXfixes, libXpm , libX11, libXext, libXi, libXau, libXrender, libXft, libXmu, libSM, libXcomposite, libXfixes, libXpm
, libXinerama, libXdamage, libICE, libXtst, libXaw, fontconfig, pango, cairo, glib, libxml2, atk, gtk2 , 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 stdenv.mkDerivation rec {
version = "Indy-1.1.0"; pname = "MaXX";
version = "2.0.1";
runtime_deps = [ codename = "Indigo";
xclock xsettingsd
];
in stdenv.mkDerivation {
name = "MaXX-${version}";
srcs = [ srcs = [
(fetchurl { (fetchurl {
url = "http://maxxdesktop.arcadedaydream.com/Indy-Releases/Installers/MaXX-${version}-NO-ARCH.tar.gz"; url = "http://maxxdesktop.arcadedaydream.com/${codename}-Releases/Installers/MaXX-${codename}-${version}-x86_64.tar.gz";
sha256 = "1d23j08wwrrn5cp7csv70pcz9jppcn0xb1894wkp0caaliy7g31y"; sha256 = "17hd3j8773kmvvhyf657in6zmhnw4mbvyn4r6dfip5bdaz66pj01";
})
(fetchurl {
url = "http://maxxdesktop.arcadedaydream.com/Indy-Releases/Installers/MaXX-${version}-x86_64.tar.gz";
sha256 = "156p2lra184wyvibrihisd7cr1ivqaygsf0zfm26a12gx23b7708";
}) })
]; ];
nativeBuildInputs = [ makeWrapper autoPatchelfHook ]; nativeBuildInputs = [ makeWrapper autoPatchelfHook gnused ];
buildInputs = [ buildInputs = [
stdenv.cc.cc libX11 libXext libXi libXau libXrender libXft libXmu libSM libXcomposite libXfixes libXpm 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 libXinerama libXdamage libICE libXtst libXaw fontconfig pango cairo glib libxml2 atk gtk2
gdk_pixbuf libGL ncurses gdk_pixbuf libGL ncurses5
]; ];
buildPhase = '' buildPhase = ''
while IFS= read -r -d ''$'\0' i; do sed -i "s/\(LD_LIBRARY_PATH=.*\)$/\1:\$LD_LIBRARY_PATH/p" etc/system.desktopenv
substituteInPlace "$i" --replace /opt/MaXX $out/opt/MaXX
done < <(find "." -type f -exec grep -Iq /opt/MaXX {} \; -and -print0)
substituteInPlace bin/adminterm \ substituteInPlace bin/adminterm \
--replace /bin/bash ${bash}/bin/bash --replace /bin/bash ${bash}/bin/bash
@ -55,33 +46,25 @@ in stdenv.mkDerivation {
wrapProgram $maxx/etc/skel/Xsession.dt \ wrapProgram $maxx/etc/skel/Xsession.dt \
--prefix GTK_PATH : "${gtk-engine-murrine}/lib/gtk-2.0:${gtk_engines}/lib/gtk-2.0" \ --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 GDK_PIXBUF_MODULE_FILE : "$(echo ${librsvg.out}/lib/gdk-pixbuf-2.0/*/loaders.cache)"
--prefix PATH : ${stdenv.lib.makeBinPath runtime_deps}
while IFS= read -r -d ''$'\0' i; do while IFS= read -r -d ''$'\0' i; do
if isExecutable "$i"; then if isExecutable "$i"; then
wrapProgram "$i" \ wrapProgram "$i" \
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ --prefix PATH : ${gcc}/bin
--set NIX_REDIRECTS /opt/MaXX=$maxx \
--prefix PATH : $maxx/sbin
fi fi
done < <(find "$maxx" -type f -print0) done < <(find "$maxx" -type f -print0)
cp ${gcc-unwrapped}/bin/cpp ${gcc-unwrapped}/libexec/gcc/*/*/cc1 $maxx/sbin wrapProgram $maxx/bin/hinv \
for i in $maxx/sbin/cpp $maxx/sbin/cc1 --prefix PATH : ${stdenv.lib.makeBinPath [ dmidecode pciutils usbutils ]}
do
wrapProgram "$i" \
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
--set NIX_REDIRECTS /opt/MaXX=$maxx
done
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A replica of IRIX Interactive Desktop"; description = "A replica of IRIX Interactive Desktop";
homepage = http://www.maxxinteractive.com; homepage = https://www.facebook.com/maxxdesktop/;
license = { license = {
fullName = "The MaXX Interactive Desktop for Linux License Agreement"; 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. free = false; # redistribution is only allowed to *some* hardware, etc.
}; };
maintainers = [ maintainers.gnidorah ]; maintainers = [ maintainers.gnidorah ];