summaryrefslogtreecommitdiff
path: root/Biz/Bild/Deps/guile-opengl.nix
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2020-11-24 12:08:13 -0500
committerBen Sima <ben@bsima.me>2020-11-24 12:08:13 -0500
commit1a47cf6ff0cbe6cc80e3497a68343b8ecb9228c1 (patch)
treea29ea5743893fe2ec356da9cc198cb8957fe6d5e /Biz/Bild/Deps/guile-opengl.nix
parent8e256e46bca4b3f04c6379a8ff98d3c5cb7a3683 (diff)
Add inspekt3d to guile deps, and reorganize
I reorganized in order to debug a problem with the nix overlays. I think having small, focused overlayes is more understandable than one overlay that references itself via `rec`. Also the error traces are easier to follow with smaller overlays.
Diffstat (limited to 'Biz/Bild/Deps/guile-opengl.nix')
-rw-r--r--Biz/Bild/Deps/guile-opengl.nix39
1 files changed, 39 insertions, 0 deletions
diff --git a/Biz/Bild/Deps/guile-opengl.nix b/Biz/Bild/Deps/guile-opengl.nix
new file mode 100644
index 0000000..6b5df43
--- /dev/null
+++ b/Biz/Bild/Deps/guile-opengl.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, fetchurl
+, pkgconfig
+, 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 = [ pkgconfig guile libGL libGLU freeglut ];
+
+ meta = with stdenv.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.linux;
+ };
+}