Merge pull request #59188 from gnidorah/maxx

maxx: 1.1.0 -> 2.0.1
This commit is contained in:
markuskowa 2019-04-18 21:48:01 +02:00 committed by GitHub
commit dac0051e60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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 ];