about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/guile-modules
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/guile-modules')
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-cairo/default.nix36
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-fibers/default.nix28
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-gnome/default.nix40
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix40
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-ncurses/default.nix44
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-opengl/default.nix23
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-reader/default.nix46
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix34
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix38
-rw-r--r--nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix31
10 files changed, 360 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-cairo/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-cairo/default.nix
new file mode 100644
index 000000000000..99e3ddf34f17
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-cairo/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, pkgconfig, guile, guile-lib, cairo, expat }:
+
+stdenv.mkDerivation rec {
+  pname = "guile-cairo";
+  version = "1.11.0";
+
+  src = fetchurl {
+    url = "mirror://savannah/guile-cairo/${pname}-${version}.tar.gz";
+    sha256 = "11fn2x2973dizzw94fkz6rj9crsyzchphq5097lvbkvqpzbyidyp";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ guile cairo expat ];
+  enableParallelBuilding = true;
+
+  doCheck = false; # Cannot find unit-test module from guile-lib
+  checkInputs = [ guile-lib ];
+
+  meta = with stdenv.lib; {
+    description = "Cairo bindings for GNU Guile";
+    longDescription = ''
+      Guile-Cairo wraps the Cairo graphics library for Guile Scheme.
+
+      Guile-Cairo is complete, wrapping almost all of the Cairo API.  It is API
+      stable, providing a firm base on which to do graphics work.  Finally, and
+      importantly, it is pleasant to use.  You get a powerful and well
+      maintained graphics library with all of the benefits of Scheme: memory
+      management, exceptions, macros, and a dynamic programming environment.
+    '';
+    homepage = "https://www.nongnu.org/guile-cairo/";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ vyp ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-fibers/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-fibers/default.nix
new file mode 100644
index 000000000000..88ba443b6b8a
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-fibers/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, guile, texinfo }:
+
+let
+  version = "1.0.0";
+  name = "guile-fibers-${version}";
+in stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchFromGitHub {
+    owner = "wingo";
+    repo = "fibers";
+    rev = "v${version}";
+    sha256 = "1r47m1m112kxf23xny99f0qkqsk6626iyc5jp7vzndfiyp5yskwi";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ guile texinfo ];
+
+  autoreconfPhase = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    description = "Concurrent ML-like concurrency for Guile";
+    homepage = "https://github.com/wingo/fibers";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ vyp ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-gnome/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-gnome/default.nix
new file mode 100644
index 000000000000..17f03f67cef5
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-gnome/default.nix
@@ -0,0 +1,40 @@
+{ fetchurl, stdenv, guile, guile-lib, gwrap
+, pkgconfig, gconf, glib, gnome_vfs, gtk2
+, libglade, libgnome, libgnomecanvas, libgnomeui
+, pango, guile-cairo, texinfo
+}:
+
+stdenv.mkDerivation rec {
+  pname = "guile-gnome-platform";
+  version = "2.16.4";
+
+  src = fetchurl {
+    url = "mirror://gnu/guile-gnome/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "adabd48ed5993d8528fd604e0aa0d96ad81a61d06da6cdd68323572ad6c216c3";
+  };
+
+  buildInputs = [
+    texinfo guile gwrap pkgconfig gconf glib gnome_vfs gtk2
+    libglade libgnome libgnomecanvas libgnomeui pango guile-cairo
+  ] ++ stdenv.lib.optional doCheck guile-lib;
+
+  # The test suite tries to open an X display, which fails.
+  doCheck = false;
+
+  GUILE_AUTO_COMPILE = 0;
+
+  meta = with stdenv.lib; {
+    description = "GNOME bindings for GNU Guile";
+    longDescription = ''
+      GNU guile-gnome brings the power of Scheme to your graphical application.
+      guile-gnome modules support the entire Gnome library stack: from Pango to
+      GnomeCanvas, GTK to GStreamer, Glade to GtkSourceView, you will find in
+      guile-gnome a comprehensive environment for developing modern
+      applications.
+    '';
+    homepage = "https://www.gnu.org/software/guile-gnome/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ vyp ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix
new file mode 100644
index 000000000000..97f501f41db7
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, guile, texinfo, pkgconfig }:
+
+assert stdenv ? cc && stdenv.cc.isGNU;
+
+let
+  name = "guile-lib-${version}";
+  version = "0.2.6.1";
+in stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "mirror://savannah/guile-lib/${name}.tar.gz";
+    sha256 = "0aizxdif5dpch9cvs8zz5g8ds5s4xhfnwza2il5ji7fv2h7ks7bd";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ guile texinfo ];
+
+  doCheck = true;
+
+  preCheck = ''
+    # Make `libgcc_s.so' visible for `pthread_cancel'.
+    export LD_LIBRARY_PATH=\
+    "$(dirname $(echo ${stdenv.cc.cc.lib}/lib*/libgcc_s.so))''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A collection of useful Guile Scheme modules";
+    longDescription = ''
+      guile-lib is intended as an accumulation place for pure-scheme Guile
+      modules, allowing for people to cooperate integrating their generic Guile
+      modules into a coherent library.  Think "a down-scaled, limited-scope CPAN
+      for Guile".
+    '';
+    homepage = "https://www.nongnu.org/guile-lib/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ vyp ];
+    platforms = platforms.gnu ++ platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-ncurses/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-ncurses/default.nix
new file mode 100644
index 000000000000..8f6018582670
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-ncurses/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchurl, pkgconfig, guile, ncurses, libffi }:
+
+let
+  name = "guile-ncurses-${version}";
+  version = "1.7";
+in stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "mirror://gnu/guile-ncurses/${name}.tar.gz";
+    sha256 = "153vv75gb7l62sp3666rc97i63rnaqbx2rjar7d9b5w81fhwv4r5";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ guile ncurses libffi ];
+
+  preConfigure = ''
+    configureFlags="$configureFlags --with-guilesitedir=$out/share/guile/site"
+  '';
+
+  postFixup = ''
+    for f in $out/share/guile/site/ncurses/**.scm; do \
+      substituteInPlace $f \
+        --replace "libguile-ncurses" "$out/lib/libguile-ncurses"; \
+    done
+  '';
+
+  # XXX: 1 of 65 tests failed.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Scheme interface to the NCurses libraries";
+    longDescription = ''
+      GNU Guile-Ncurses is a library for the Guile Scheme interpreter that
+      provides functions for creating text user interfaces.  The text user
+      interface functionality is built on the ncurses libraries: curses, form,
+      panel, and menu.
+    '';
+    homepage = "https://www.gnu.org/software/guile-ncurses/";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ vyp ];
+    platforms = platforms.gnu ++ platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-opengl/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-opengl/default.nix
new file mode 100644
index 000000000000..e1e04ecfe699
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-opengl/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, pkgconfig, guile }:
+
+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";
+  };
+
+  nativeBuildInputs = [ pkgconfig guile ];
+
+  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/nixpkgs/pkgs/development/guile-modules/guile-reader/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-reader/default.nix
new file mode 100644
index 000000000000..aee74c0ac4dc
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-reader/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, fetchpatch, pkgconfig
+, gperf, guile, guile-lib, libffi }:
+
+with stdenv.lib;
+stdenv.mkDerivation rec {
+
+  pname = "guile-reader";
+  version = "0.6.2";
+
+  src = fetchurl {
+    url = "http://download.savannah.nongnu.org/releases/guile-reader/${pname}-${version}.tar.gz";
+    sha256 = "0592s2s8ampqmqwilc4fvcild6rb9gy79di6vxv5kcdmv23abkgx";
+  };
+
+  patches = [
+    (fetchpatch {
+       name = "0001-fix-prototypes.patch";
+       url = "https://aur.archlinux.org/cgit/aur.git/plain/reader_flag.patch?h=guile-reader&id=63ac0413a1aa65eb6a0db57bc16ef4481b70dc31";
+       sha256 = "01ar34xgpxyli8v2bk4kj6876kyrxhxhfpv9v07lx36d254bzrjb";
+     }) ];
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ gperf guile guile-lib libffi ];
+
+  GUILE_SITE="${guile-lib}/share/guile/site";
+
+  configureFlags = [ "--with-guilemoduledir=$(out)/share/guile/site" ];
+
+  meta = with stdenv.lib; {
+    description = "A simple framework for building readers for GNU Guile";
+    longDescription = ''
+       Guile-Reader is a simple framework for building readers for GNU
+       Guile.
+
+       The idea is to make it easy to build procedures that extend
+       Guile's read procedure. Readers supporting various syntax
+       variants can easily be written, possibly by re-using existing
+       "token readers" of a standard Scheme readers. For example, it
+       is used to implement Skribilo's R5RS-derived document syntax.
+    '';
+    homepage = "https://www.nongnu.org/guile-reader/";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.gnu;
+  };
+}
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix
new file mode 100644
index 000000000000..eff4c699625a
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pkgconfig, guile, buildEnv
+, SDL, SDL_image, SDL_ttf, SDL_mixer
+}:
+
+stdenv.mkDerivation rec {
+  pname = "guile-sdl";
+  version = "0.5.2";
+
+  src = fetchurl {
+    url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
+    sha256 = "0cjgs012a9922hn6xqwj66w6qmfs3nycnm56hyykx5n3g5p7ag01";
+  };
+
+  nativeBuildInputs = [ pkgconfig guile ];
+
+  buildInputs = [ SDL.dev SDL_image SDL_ttf SDL_mixer ];
+
+  GUILE_AUTO_COMPILE = 0;
+
+  makeFlags = let
+    sdl = buildEnv {
+      name = "sdl-env";
+      paths = buildInputs;
+    };
+  in [ "SDLMINUSI=-I${sdl}/include/SDL" ];
+
+  meta = with stdenv.lib; {
+    description = "Guile bindings for SDL";
+    homepage = "https://www.gnu.org/software/guile-sdl/";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ vyp ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix
new file mode 100644
index 000000000000..be885d990ece
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, guile, libtool, pkgconfig
+, SDL2, SDL2_image, SDL2_ttf, SDL2_mixer
+}:
+
+let
+  name = "${pname}-${version}";
+  pname = "guile-sdl2";
+  version = "0.4.0";
+in stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "https://files.dthompson.us/${pname}/${name}.tar.gz";
+    sha256 = "0zcxwgyadwpbhq6h5mv2569c3kalgra26zc186y9fqiyyzmh1v9s";
+  };
+
+  nativeBuildInputs = [ libtool pkgconfig ];
+  buildInputs = [
+    guile SDL2 SDL2_image SDL2_ttf SDL2_mixer
+  ];
+
+  configureFlags = [
+    "--with-libsdl2-prefix=${SDL2}"
+    "--with-libsdl2-image-prefix=${SDL2_image}"
+    "--with-libsdl2-ttf-prefix=${SDL2_ttf}"
+    "--with-libsdl2-mixer-prefix=${SDL2_mixer}"
+  ];
+
+  makeFlags = [ "GUILE_AUTO_COMPILE=0" ];
+
+  meta = with stdenv.lib; {
+    description = "Bindings to SDL2 for GNU Guile";
+    homepage = "https://dthompson.us/projects/guile-sdl2.html";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ seppeljordan vyp ];
+    platforms = platforms.all;
+  };
+}
diff --git a/nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix
new file mode 100644
index 000000000000..b08d8313930b
--- /dev/null
+++ b/nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, pkgconfig, guile, texinfo }:
+
+let
+  name = "guile-xcb-${version}";
+  version = "1.3";
+in stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "http://www.markwitmer.com/dist/${name}.tar.gz";
+    sha256 = "04dvbqdrrs67490gn4gkq9zk8mqy3mkls2818ha4p0ckhh0pm149";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ guile texinfo ];
+
+  preConfigure = ''
+    configureFlags="
+      --with-guile-site-dir=$out/share/guile/site
+      --with-guile-site-ccache-dir=$out/share/guile/site
+    ";
+  '';
+
+  meta = with stdenv.lib; {
+    description = "XCB bindings for Guile";
+    homepage = "http://www.markwitmer.com/guile-xcb/guile-xcb.html";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ vyp ];
+    platforms = platforms.linux;
+  };
+}