aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/graphics/fluxus/default.nix
blob: f560ad45c5742ce52f6eef912d7c8150b06a0c82 (plain)
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
{ stdenv
, fetchFromGitLab
, alsaLib
, bzip2
, fftw
, freeglut
, freetype
, glew
, libjack2
, libGL
, libGLU
, libjpeg
, liblo
, libpng
, libsndfile
, libtiff
, ode
, openal
, openssl
, racket
, sconsPackages
, zlib
}:
let
  libs = [
    alsaLib
    bzip2
    fftw
    freeglut
    freetype
    glew
    libjack2
    libGL
    libGLU
    libjpeg
    liblo
    libpng
    libsndfile
    libtiff
    ode
    openal
    openssl
    zlib
  ];
in
stdenv.mkDerivation rec {
  pname = "fluxus";
  version = "0.19";
  src = fetchFromGitLab {
    owner = "nebogeo";
    repo = "fluxus";
    rev = "ba9aee218dd4a9cfab914ad78bdb6d59e9a37400";
    sha256 = "0mwghpgq4n1khwlmgscirhmcdhi6x00c08q4idi2zcqz961bbs28";
  };

  buildInputs = [
    alsaLib
    fftw
    freeglut.dev
    freetype
    glew
    libjack2
    libjpeg.dev
    liblo
    libsndfile.dev
    libtiff.dev
    ode
    openal
    openssl.dev
    racket
  ];
  nativeBuildInputs = [ sconsPackages.scons_3_1_2 ];

  patches = [ ./fix-build.patch ];
  sconsFlags = [
    "RacketPrefix=${racket}"
    "RacketInclude=${racket}/include/racket"
    "RacketLib=${racket}/lib/racket"
    "LIBPATH=${stdenv.lib.makeLibraryPath libs}"
    "DESTDIR=build"
  ];
  configurePhase = ''
    sconsFlags+=" Prefix=$out"
  '';
  installPhase = ''
    mkdir -p $out
    cp -r build$out/* $out/
  '';

  meta = with stdenv.lib; {
    description = "Livecoding environment for 3D graphics, sound, and games";
    license = licenses.gpl2;
    homepage = "http://www.pawfal.org/fluxus/";
    maintainers = [ maintainers.brainrape ];
  };
}