summaryrefslogtreecommitdiff
path: root/Biz/Bild/Deps
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
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')
-rw-r--r--Biz/Bild/Deps/Haskell.nix61
-rw-r--r--Biz/Bild/Deps/guile-opengl.nix39
-rw-r--r--Biz/Bild/Deps/inspekt3d.nix41
-rw-r--r--Biz/Bild/Deps/wemux.nix12
4 files changed, 153 insertions, 0 deletions
diff --git a/Biz/Bild/Deps/Haskell.nix b/Biz/Bild/Deps/Haskell.nix
new file mode 100644
index 0000000..ce75805
--- /dev/null
+++ b/Biz/Bild/Deps/Haskell.nix
@@ -0,0 +1,61 @@
+[
+ "MonadRandom"
+ "QuickCheck"
+ "acid-state"
+ "aeson"
+ "async"
+ "bytestring"
+ # "capability" # broken deps
+ "clay"
+ "cmark"
+ "config-ini"
+ "containers"
+ "directory"
+ "ekg"
+ "envy"
+ "fast-logger"
+ "filepath"
+ "ghcjs-base"
+ "haskeline"
+ "http-types"
+ "ixset"
+ "katip"
+ "lucid"
+ "miso"
+ "monad-logger"
+ "monad-metrics"
+ "mtl"
+ "network-uri"
+ "optparse-simple"
+ "parsec"
+ "process"
+ "protolude"
+ "quickcheck-instances"
+ "random"
+ "regex-applicative"
+ "req"
+ "safecopy"
+ "scotty"
+ "servant"
+ "servant-auth"
+ "servant-auth-server"
+ "servant-lucid"
+ "servant-server"
+ "split"
+ "stm"
+ "string-quote"
+ "tasty"
+ "text"
+ "time"
+ "transformers"
+ "unagi-chan"
+ "unix"
+ "unordered-containers"
+ "vector"
+ "wai"
+ "wai-app-static"
+ "wai-extra"
+ "wai-middleware-metrics"
+ "warp"
+ "x509"
+]
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;
+ };
+}
diff --git a/Biz/Bild/Deps/inspekt3d.nix b/Biz/Bild/Deps/inspekt3d.nix
new file mode 100644
index 0000000..d51b6db
--- /dev/null
+++ b/Biz/Bild/Deps/inspekt3d.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, guile
+, guile-opengl
+, mesa
+, glibcLocales
+, libfive
+, sources
+}:
+
+
+stdenv.mkDerivation {
+ name = "inspekt3d-master";
+
+ src = sources.inspekt3d;
+ version = "master";
+
+ nativeBuildInputs = [ pkgconfig guile autoreconfHook ];
+ buildInputs = [ guile glibcLocales mesa ];
+ propagatedBuildInputs = [ guile-opengl libfive ];
+
+ preBuild = ''
+ substituteInPlace inspekt3d/library.scm \
+ --replace '"libfive-guile"' '"${libfive}/lib/libfive-guile.so"' \
+ --replace '"libfive"' '"${libfive}/lib/libfive.so"'
+ cat inspekt3d/library.scm
+ '';
+
+ preConfigure = "./bootstrap";
+
+ meta = with stdenv.lib; {
+ description = "Lightweight 3D viewer for Libfive written in Guile Scheme";
+ homepage = "https://gitlab.com/kavalogic-inc/inspekt3d";
+ license = licenses.gpl3;
+ maintainers = with maintainers; [ bsima ];
+ platforms = platforms.linux;
+ };
+}
+
diff --git a/Biz/Bild/Deps/wemux.nix b/Biz/Bild/Deps/wemux.nix
new file mode 100644
index 0000000..365853f
--- /dev/null
+++ b/Biz/Bild/Deps/wemux.nix
@@ -0,0 +1,12 @@
+{ sources, stdenv }:
+
+stdenv.mkDerivation rec {
+ name = "wemux-${version}";
+ version = "2020.04.03";
+ src = sources.wemux;
+ installPhase = ''
+ mkdir -p $out/bin
+ cp ${src}/wemux $out/bin
+ chmod +x $out/bin/wemux
+ '';
+}