summaryrefslogtreecommitdiff
path: root/Omni/Bild/Deps/guile-opengl.nix
blob: cb625e62aba94739abd3aae4892109a9083e8ef1 (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
{
  stdenv,
  lib,
  fetchurl,
  pkg-config,
  guile,
  libGL,
  libGLU,
  freeglut,
}: let
  name = "guile-opengl-${version}";
  version = "0.1.0";
in
  stdenv.mkDerivation {
    inherit name;

    src = fetchurl {
      url = "mirror://gnu/guile-opengl/${name}.tar.gz";
      sha256 = "13qfx4xh8baryxqrv986l848ygd0piqwm6s2s90pxk9c0m9vklim";
    };

    patchPhase = ''
      substituteInPlace glx/runtime.scm \
        --replace '(dynamic-link "libGL")' '(dynamic-link "${libGL}/lib/libGL.so")'
      substituteInPlace glu/runtime.scm \
        --replace '(dynamic-link "libGLU")' '(dynamic-link "${libGLU}/lib/libGLU.so")'
      substituteInPlace glut/runtime.scm \
        --replace '(dynamic-link "libglut")' '(dynamic-link "${freeglut}/lib/libglut.so")'
    '';

    nativeBuildInputs = [pkg-config guile libGL libGLU freeglut];

    meta = with lib; {
      description = "Guile bindings for the OpenGL graphics API";
      homepage = "https://www.gnu.org/software/guile-opengl/";
      license = licenses.gpl3Plus;
      maintainers = with maintainers; [vyp];
      platforms = platforms.all;
    };
  }