lol

virtualgl: 2.3.2 -> 2.4.1, fix multilib

+54 -58
+17 -28
pkgs/tools/X11/virtualgl/default.nix
··· 1 - { stdenv, fetchurl, mesa, libX11, openssl, libXext 2 - , libjpeg_turbo, cmake }: 1 + { lib, buildEnv 2 + , virtualglLib 3 + , virtualglLib_i686 ? null 4 + }: 3 5 4 - let 5 - version = "2.3.2"; 6 - in 7 - stdenv.mkDerivation { 8 - name = "virtualgl-${version}"; 9 - src = fetchurl { 10 - url = "mirror://sourceforge/virtualgl/VirtualGL-${version}.tar.gz"; 11 - sha256 = "062lrhd8yr13ch4wpgzxdabqs92j4q7fcl3a0c3sdlav4arspqmy"; 12 - }; 6 + buildEnv { 7 + name = "virtualgl-${lib.getVersion virtualglLib}"; 13 8 14 - patches = [ ./xshm.patch ./fixturbopath.patch ]; 9 + paths = [ virtualglLib ]; 15 10 16 - prePatch = '' 17 - sed -i s,LD_PRELOAD=lib,LD_PRELOAD=$out/lib/lib, server/vglrun 18 - ''; 19 - 20 - cmakeFlags = [ "-DTJPEG_LIBRARY=${libjpeg_turbo}/lib/libturbojpeg.so" ]; 21 - 22 - preInstall = '' 23 - export makeFlags="prefix=$out" 11 + postBuild = lib.optionalString (virtualglLib_i686 != null) '' 12 + rm $out/fakelib 13 + # workaround for #4621 14 + rm $out/bin 15 + mkdir $out/bin 16 + for i in ${virtualglLib}/bin/*; do 17 + ln -s $i $out/bin 18 + done 19 + ln -s ${virtualglLib}/bin/.vglrun.vars64 $out/bin 20 + ln -s ${virtualglLib_i686}/bin/.vglrun.vars32 $out/bin 24 21 ''; 25 - 26 - buildInputs = [ cmake mesa libX11 openssl libXext libjpeg_turbo ]; 27 - 28 - meta = { 29 - homepage = http://www.virtualgl.org/; 30 - description = "X11 GL rendering in a remote computer with full 3D hw acceleration"; 31 - license = stdenv.lib.licenses.free; # many parts under different free licenses 32 - }; 33 22 }
-16
pkgs/tools/X11/virtualgl/fixturbopath.patch
··· 1 - --- VirtualGL-2.3/cmakescripts/FindTurboJPEG.cmake.orig 2012-02-02 17:33:49.496283001 +0100 2 - +++ VirtualGL-2.3/cmakescripts/FindTurboJPEG.cmake 2012-02-02 17:44:18.772483239 +0100 3 - @@ -40,8 +40,11 @@ 4 - endif() 5 - endif() 6 - 7 - -set(TJPEG_LIBRARY ${DEFAULT_TJPEG_LIBRARY} CACHE PATH 8 - - "TurboJPEG library path (default: ${DEFAULT_TJPEG_LIBRARY})") 9 - +if(NOT TJPEG_LIBRARY) 10 - + message(STATUS "TJPEG_LIBRARY environment variable not set") 11 - + set(TJPEG_LIBRARY ${DEFAULT_TJPEG_LIBRARY} CACHE PATH 12 - + "TurboJPEG library path (default: ${DEFAULT_TJPEG_LIBRARY})") 13 - +endif() 14 - 15 - if(WIN32) 16 - set(CMAKE_REQUIRED_DEFINITIONS -MT)
+29
pkgs/tools/X11/virtualgl/lib.nix
··· 1 + { stdenv, fetchurl, cmake, mesa, libX11, libXv, libjpeg_turbo, fltk }: 2 + 3 + let 4 + version = "2.4.1"; 5 + in 6 + stdenv.mkDerivation { 7 + name = "virtualgl-lib-${version}"; 8 + 9 + src = fetchurl { 10 + url = "mirror://sourceforge/virtualgl/VirtualGL-${version}.tar.gz"; 11 + sha256 = "0bngb4hrl0kn19qb3sa6mg6dbaahfk09gx2ng18l00xm6pmwd298"; 12 + }; 13 + 14 + cmakeFlags = [ "-DVGL_SYSTEMFLTK=1" "-DTJPEG_LIBRARY=${libjpeg_turbo}/lib/libturbojpeg.so" ]; 15 + 16 + makeFlags = [ "PREFIX=$(out)" ]; 17 + 18 + nativeBuildInputs = [ cmake ]; 19 + 20 + buildInputs = [ libjpeg_turbo mesa fltk libX11 libXv ]; 21 + 22 + meta = with stdenv.lib; { 23 + homepage = http://www.virtualgl.org/; 24 + description = "X11 GL rendering in a remote computer with full 3D hw acceleration"; 25 + license = licenses.free; # many parts under different free licenses 26 + platforms = platforms.linux; 27 + maintainers = with maintainers; [ abbradar ]; 28 + }; 29 + }
-13
pkgs/tools/X11/virtualgl/xshm.patch
··· 1 - diff --git a/util/fbx.c b/util/fbx.c 2 - index 06ea835..0d89842 100644 3 - --- a/util/fbx.c 4 - +++ b/util/fbx.c 5 - @@ -15,6 +15,8 @@ 6 - // This library abstracts fast frame buffer access 7 - #include <string.h> 8 - #include <stdlib.h> 9 - +#include <X11/Xmd.h> 10 - +#include <X11/extensions/shmproto.h> 11 - #include "fbx.h" 12 - 13 - #define MINWIDTH 160
+8 -1
pkgs/top-level/all-packages.nix
··· 13385 13385 13386 13386 virtinst = callPackage ../applications/virtualization/virtinst {}; 13387 13387 13388 - virtualgl = callPackage ../tools/X11/virtualgl { }; 13388 + virtualglLib = callPackage ../tools/X11/virtualgl/lib.nix { 13389 + fltk = fltk13; 13390 + }; 13389 13391 13392 + virtualgl = callPackage ../tools/X11/virtualgl { 13393 + virtualglLib_i686 = if system == "x86_64-linux" 13394 + then pkgsi686Linux.virtualglLib 13395 + else null; 13396 + }; 13390 13397 13391 13398 primusLib = callPackage ../tools/X11/primus/lib.nix { 13392 13399 nvidia_x11 = linuxPackages.nvidia_x11.override { libsOnly = true; };