Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchurl, 5 libGLU, 6 libXmu, 7 libXi, 8 libXext, 9 testers, 10 mesa, 11}: 12 13stdenv.mkDerivation (finalAttrs: { 14 pname = "glew"; 15 version = "1.10.0"; 16 17 src = fetchurl { 18 url = "mirror://sourceforge/glew/glew-${finalAttrs.version}.tgz"; 19 sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r"; 20 }; 21 22 buildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ 23 libXmu 24 libXi 25 libXext 26 ]; 27 propagatedBuildInputs = lib.optionals (!stdenv.hostPlatform.isDarwin) [ libGLU ]; # GL/glew.h includes GL/glu.h 28 29 outputs = [ 30 "out" 31 "dev" 32 ]; 33 34 patchPhase = '' 35 sed -i 's|lib64|lib|' config/Makefile.linux 36 ${lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) '' 37 sed -i -e 's/\(INSTALL.*\)-s/\1/' Makefile 38 ''} 39 ''; 40 41 buildFlags = [ "all" ]; 42 installFlags = [ "install.all" ]; 43 44 preInstall = '' 45 export GLEW_DEST="$out" 46 ''; 47 48 postInstall = '' 49 mkdir -pv $out/share/doc/glew 50 mkdir -p $dev/lib/pkgconfig 51 cp glew*.pc $dev/lib/pkgconfig 52 cp -r README.txt LICENSE.txt doc $out/share/doc/glew 53 ''; 54 55 makeFlags = [ 56 "SYSTEM=${if stdenv.hostPlatform.isMinGW then "mingw" else stdenv.hostPlatform.parsed.kernel.name}" 57 "CC:=$(CC)" 58 "LD:=$(CC)" 59 ]; 60 61 passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; 62 63 meta = with lib; { 64 description = "OpenGL extension loading library for C(++)"; 65 homepage = "https://glew.sourceforge.net/"; 66 license = licenses.free; # different files under different licenses 67 #["BSD" "GLX" "SGI-B" "GPL2"] 68 pkgConfigModules = [ "glew" ]; 69 inherit (mesa.meta) platforms; 70 }; 71})