about summary refs log tree commit diff
path: root/pkgs/tools/graphics/nifskope/default.nix
blob: 19aa7f00f14a822259bc1e3b4d0c8d4b1bd796d0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{ stdenv, fetchurl, qt4, qmake4Hook }:

stdenv.mkDerivation rec {
  name = "nifskope-1.1.3";

  src = fetchurl {
    url = "https://github.com/niftools/nifskope/releases/download/${name}/${name}.tar.bz2";
    sha256 = "0fcvrcjyvivww10sjhxamcip797b9ykbf5p3rm2k24xhkwdaqp72";
  };

  patches = [ ./gcc-6.patch ];

  buildInputs = [ qt4 ];

  nativeBuildInputs = [ qmake4Hook ];

  preConfigure =
    ''
      for i in *.cpp gl/*.cpp widgets/*.cpp; do
        substituteInPlace $i --replace /usr/share/nifskope $out/share/nifskope
      done
    '';

  qmakeFlags = [ "-after TARGET=nifskope" ];

  enableParallelBuilding = true;

  hardeningDisable = [ "format" ];

  # Inspired by linux-install/nifskope.spec.in.
  installPhase =
    ''
      d=$out/share/nifskope
      mkdir -p $out/bin $out/share/applications $out/share/pixmaps $d/{shaders,doc,lang}
      cp release/nifskope $out/bin/
      cp nifskope.png $out/share/pixmaps/
      cp nif.xml kfm.xml style.qss $d/
      cp shaders/*.frag shaders/*.prog shaders/*.vert $d/shaders/
      cp doc/*.html doc/docsys.css doc/favicon.ico $d/doc/
      cp lang/*.ts lang/*.tm $d/lang/

      substituteInPlace nifskope.desktop \
        --replace 'Exec=nifskope' "Exec=$out/bin/nifskope" \
        --replace 'Icon=nifskope' "Icon=$out/share/pixmaps/nifskope.png"
      cp nifskope.desktop $out/share/applications/

      find $out/share -type f -exec chmod -x {} \;
    ''; # */

  meta = {
    homepage = https://github.com/niftools/nifskope/;
    description = "A tool for analyzing and editing NetImmerse/Gamebryo '*.nif' files";
    maintainers = [ stdenv.lib.maintainers.eelco ];
    platforms = stdenv.lib.platforms.linux;
    license = stdenv.lib.licenses.bsd3;
  };
}