summary refs log tree commit diff
path: root/pkgs/tools/graphics/nifskope/default.nix
blob: 392527a21198d4d050d4e2cbaeb5aa8b6f44ccf6 (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
{ stdenv, fetchurl, qt4 }:

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

  src = fetchurl {
    url = "mirror://sourceforge/niftools/${name}.tar.bz2";
    sha256 = "0fcvrcjyvivww10sjhxamcip797b9ykbf5p3rm2k24xhkwdaqp72";
  };

  buildInputs = [ qt4 ];

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

      qmake -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 = http://niftools.sourceforge.net/;
    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;
  };
}