diff options
Diffstat (limited to 'nixpkgs/pkgs/development/guile-modules')
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; + }; +} |