diff options
Diffstat (limited to 'nixpkgs/pkgs/development/guile-modules')
14 files changed, 657 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..1ea76cb237df --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-cairo/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchurl +, cairo +, expat +, guile +, guile-lib +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "guile-cairo"; + version = "1.11.2"; + + src = fetchurl { + url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz"; + hash = "sha256-YjLU3Cxb2dMxE5s7AfQ0PD4fucp4mDYaaZIGcwlBoHs="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + cairo + expat + guile + ]; + + enableParallelBuilding = true; + + doCheck = false; # Cannot find unit-test module from guile-lib + checkInputs = [ guile-lib ]; + + meta = with lib; { + homepage = "https://www.nongnu.org/guile-cairo/"; + 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. + ''; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ vyp ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/guile-modules/guile-commonmark/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-commonmark/default.nix new file mode 100644 index 000000000000..113fad13600c --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-commonmark/default.nix @@ -0,0 +1,42 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, guile +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "guile-commonmark"; + version = "0.1.2"; + + src = fetchFromGitHub { + owner = "OrangeShark"; + repo = pname; + rev = "v${version}"; + hash = "sha256-qYDcIiObKOU8lmcfk327LMPx/2Px9ecI3QLrSWWLxMo="; + }; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + guile + ]; + + # https://github.com/OrangeShark/guile-commonmark/issues/20 + doCheck = false; + + makeFlags = [ + "GUILE_AUTO_COMPILE=0" + ]; + + meta = with lib; { + homepage = "https://github.com/OrangeShark/guile-commonmark"; + description = "Implementation of CommonMark for Guile"; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ AndersonTorres ]; + platforms = guile.meta.platforms; + }; +} 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..ccc51a5a7691 --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-fibers/default.nix @@ -0,0 +1,39 @@ +{ lib +, stdenv +, fetchFromGitHub +, autoreconfHook +, guile +, pkg-config +, texinfo +}: + +stdenv.mkDerivation rec { + pname = "guile-fibers"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "wingo"; + repo = "fibers"; + rev = "v${version}"; + hash = "sha256-kU/ty/XRNfv3ubIwH40wZmo8MXApeduHcH2KEGqoh+Q="; + }; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + buildInputs = [ + guile + texinfo + ]; + + autoreconfPhase = "./autogen.sh"; + + meta = with lib; { + homepage = "https://github.com/wingo/fibers"; + description = "Concurrent ML-like concurrency for Guile"; + license = licenses.lgpl3Plus; + maintainers = with maintainers; [ vyp ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/guile-modules/guile-gcrypt/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-gcrypt/default.nix new file mode 100644 index 000000000000..73152fb9d2c3 --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-gcrypt/default.nix @@ -0,0 +1,45 @@ +{ lib +, stdenv +, fetchFromGitea +, guile +, libgcrypt +, autoreconfHook +, pkg-config +, texinfo +}: + +stdenv.mkDerivation rec { + pname = "guile-gcrypt"; + version = "0.3.0"; + + src = fetchFromGitea { + domain = "notabug.org"; + owner = "cwebber"; + repo = "guile-gcrypt"; + rev = "v${version}"; + sha256 = "sha256-lAaiKBOdTFWEWsmwKgx0C67ACvtnEKUxti66dslzSVQ="; + }; + + postConfigure = '' + sed -i '/moddir\s*=/s%=.*%=''${out}/share/guile/site%' Makefile; + sed -i '/godir\s*=/s%=.*%=''${out}/share/guile/ccache%' Makefile; + ''; + + nativeBuildInputs = [ + autoreconfHook pkg-config texinfo + ]; + buildInputs = [ + guile + ]; + propagatedBuildInputs = [ + libgcrypt + ]; + + meta = with lib; { + description = "Bindings to Libgcrypt for GNU Guile"; + homepage = "https://notabug.org/cwebber/guile-gcrypt"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ethancedwards8 ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/guile-modules/guile-git/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-git/default.nix new file mode 100644 index 000000000000..254afae0cc4f --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-git/default.nix @@ -0,0 +1,48 @@ +{ lib +, stdenv +, fetchFromGitLab +, guile +, libgit2 +, scheme-bytestructures +, autoreconfHook +, pkg-config +, texinfo +}: + +stdenv.mkDerivation rec { + pname = "guile-git"; + version = "0.5.1"; + + src = fetchFromGitLab { + owner = "guile-git"; + repo = pname; + rev = "v${version}"; + sha256 = "7Cnuyk9xAPTvz9R44O3lvKDrT6tUQui7YzxIoqhRfPQ="; + }; + + postConfigure = '' + sed -i '/moddir\s*=/s%=.*%=''${out}/share/guile/site%' Makefile; + sed -i '/godir\s*=/s%=.*%=''${out}/share/guile/ccache%' Makefile; + ''; + + nativeBuildInputs = [ + autoreconfHook pkg-config texinfo + ]; + buildInputs = [ + guile + ]; + propagatedBuildInputs = [ + libgit2 scheme-bytestructures + ]; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Bindings to Libgit2 for GNU Guile"; + homepage = "https://gitlab.com/guile-git/guile-git"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ethancedwards8 ]; + 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..ead08ce0231b --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-gnome/default.nix @@ -0,0 +1,70 @@ +{ lib +, stdenv +, fetchurl +, gconf +, glib +, gnome_vfs +, gtk2 +, guile +, guile-cairo +, guile-lib +, gwrap +, libglade +, libgnome +, libgnomecanvas +, libgnomeui +, pango +, pkg-config +, texinfo +}: + +stdenv.mkDerivation rec { + pname = "guile-gnome-platform"; + version = "2.16.4"; + + src = fetchurl { + url = "mirror://gnu/guile-gnome/${pname}/${pname}-${version}.tar.gz"; + hash = "sha256-ravUjtWZPYUo/WBOCqDZatgaYdBtps3WgyNXKtbCFsM="; + }; + + nativeBuildInputs = [ + pkg-config + texinfo + ]; + buildInputs = [ + gconf + glib + gnome_vfs + gtk2 + guile + guile-cairo + gwrap + libglade + libgnome + libgnomecanvas + libgnomeui + pango + ] ++ lib.optional doCheck guile-lib; + + # The test suite tries to open an X display, which fails. + doCheck = false; + + makeFlags = [ + "GUILE_AUTO_COMPILE=0" + ]; + + meta = with lib; { + homepage = "https://www.gnu.org/software/guile-gnome/"; + 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. + ''; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ vyp ]; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/development/guile-modules/guile-json/default.nix b/nixpkgs/pkgs/development/guile-modules/guile-json/default.nix new file mode 100644 index 000000000000..5433bbb1aa64 --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-json/default.nix @@ -0,0 +1,39 @@ +{ lib +, stdenv +, fetchurl +, guile +, texinfo +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "guile-json"; + version = "4.5.2"; + + src = fetchurl { + url = "mirror://savannah/guile-json/${pname}-${version}.tar.gz"; + sha256 = "GrBG7DaxxEwEGsJ1Vo2Bh4TXH6uaXZX5Eoz+iiUFGTM="; + }; + + postConfigure = '' + sed -i '/moddir\s*=/s%=.*%=''${out}/share/guile/site%' Makefile; + sed -i '/objdir\s*=/s%=.*%=''${out}/share/guile/ccache%' Makefile; + sed -i '/moddir\s*=/s%=.*%=''${out}/share/guile/site/json%' json/Makefile; + sed -i '/objdir\s*=/s%=.*%=''${out}/share/guile/ccache/json%' json/Makefile; + ''; + + nativeBuildInputs = [ + pkg-config texinfo + ]; + buildInputs = [ + guile + ]; + + meta = with lib; { + description = "JSON Bindings for GNU Guile"; + homepage = "https://savannah.nongnu.org/projects/guile-json"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ethancedwards8 ]; + 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..50c6a1daefb2 --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-lib/default.nix @@ -0,0 +1,49 @@ +{ lib +, stdenv +, fetchurl +, guile +, pkg-config +, texinfo +}: + +assert stdenv ? cc && stdenv.cc.isGNU; + +stdenv.mkDerivation rec { + pname = "guile-lib"; + version = "0.2.6.1"; + + src = fetchurl { + url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz"; + hash = "sha256-bR09DxTbnSgLjUJ9bh3sRBfd0Cv/I71Zguy24mLrPyo="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + 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 lib; { + homepage = "https://www.nongnu.org/guile-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". + ''; + 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..1e6418b0c3c7 --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-ncurses/default.nix @@ -0,0 +1,55 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, guile +, libffi +, ncurses +}: + +stdenv.mkDerivation rec { + pname = "guile-ncurses"; + version = "1.7"; + + src = fetchurl { + url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; + hash = "sha256-JZPNoQuIl5XayUpm0RdWNg8TT2LZGDOuFoae9crZe5Q="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + guile + libffi + ncurses + ]; + + 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 lib; { + homepage = "https://www.gnu.org/software/guile-ncurses/"; + 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. + ''; + 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..437af0f4edf2 --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-opengl/default.nix @@ -0,0 +1,29 @@ +{ lib +, stdenv +, fetchurl +, guile +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "guile-opengl"; + version = "0.1.0"; + + src = fetchurl { + url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; + hash = "sha256-NdK5UwUszX5B0kKbynG8oD2PCKIGpZ1x91ktBDvpDo8="; + }; + + nativeBuildInputs = [ + pkg-config + guile + ]; + + meta = with lib; { + homepage = "https://www.gnu.org/software/guile-opengl/"; + description = "Guile bindings for the OpenGL graphics API"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ vyp ]; + platforms = platforms.unix; + }; +} 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..1675ac0e333a --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-reader/default.nix @@ -0,0 +1,51 @@ +{ lib +, stdenv +, fetchurl +, fetchpatch +, gperf +, guile +, guile-lib +, libffi +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "guile-reader"; + version = "0.6.3"; + + src = fetchurl { + url = "http://download.savannah.nongnu.org/releases/${pname}/${pname}-${version}.tar.gz"; + hash = "sha256-OMK0ROrbuMDKt42QpE7D6/9CvUEMW4SpEBjO5+tk0rs="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + gperf + guile + guile-lib + libffi + ]; + + GUILE_SITE="${guile-lib}/share/guile/site"; + + configureFlags = [ "--with-guilemoduledir=$(out)/share/guile/site" ]; + + meta = with lib; { + homepage = "https://www.nongnu.org/guile-reader/"; + 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. + ''; + 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..c6e250e6d717 --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-sdl/default.nix @@ -0,0 +1,50 @@ +{ lib +, stdenv +, fetchurl +, SDL +, SDL_image +, SDL_mixer +, SDL_ttf +, buildEnv +, guile +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "guile-sdl"; + version = "0.5.2"; + + src = fetchurl { + url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz"; + hash = "sha256-ATx1bnnDlj69h6ZUy7wd2lVsuDGS424sFCIlJQLQTzI="; + }; + + nativeBuildInputs = [ + guile + pkg-config + ]; + buildInputs = [ + SDL.dev + SDL_image + SDL_mixer + SDL_ttf + ]; + + makeFlags = let + sdl-env = buildEnv { + name = "sdl-env"; + paths = buildInputs; + }; + in [ + "GUILE_AUTO_COMPILE=0" + "SDLMINUSI=-I${sdl-env}/include/SDL" + ]; + + meta = with lib; { + homepage = "https://www.gnu.org/software/guile-sdl/"; + description = "Guile bindings for 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..c6fbba93de47 --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-sdl2/default.nix @@ -0,0 +1,52 @@ +{ lib +, stdenv +, fetchurl +, SDL2 +, SDL2_image +, SDL2_mixer +, SDL2_ttf +, guile +, libtool +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "guile-sdl2"; + version = "0.5.0"; + + src = fetchurl { + url = "https://files.dthompson.us/${pname}/${pname}-${version}.tar.gz"; + hash = "sha256-lWTLctPUDqvN/Y95oOL7LF3czlLJFQ9d9np9dx4DHYU="; + }; + + nativeBuildInputs = [ + pkg-config + libtool + ]; + buildInputs = [ + SDL2 + SDL2_image + SDL2_mixer + SDL2_ttf + guile + ]; + + configureFlags = [ + "--with-libsdl2-image-prefix=${SDL2_image}" + "--with-libsdl2-mixer-prefix=${SDL2_mixer}" + "--with-libsdl2-prefix=${SDL2}" + "--with-libsdl2-ttf-prefix=${SDL2_ttf}" + ]; + + makeFlags = [ + "GUILE_AUTO_COMPILE=0" + ]; + + meta = with lib; { + homepage = "https://dthompson.us/projects/guile-sdl2.html"; + description = "Bindings to SDL2 for GNU Guile"; + 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..72066313ecaa --- /dev/null +++ b/nixpkgs/pkgs/development/guile-modules/guile-xcb/default.nix @@ -0,0 +1,38 @@ +{ lib +, stdenv +, fetchurl +, guile +, pkg-config +, texinfo +}: + +stdenv.mkDerivation rec { + pname = "guile-xcb"; + version = "1.3"; + + src = fetchurl { + url = "http://www.markwitmer.com/dist/${pname}-${version}.tar.gz"; + hash = "sha256-iYR6AYSTgUsURAEJTWcdHlc0f8LzEftAIsfonBteuxE="; + }; + + nativeBuildInputs = [ + pkg-config + ]; + buildInputs = [ + guile + texinfo + ]; + + configureFlags = [ + "--with-guile-site-dir=$out/share/guile/site" + "--with-guile-site-ccache-dir=$out/share/guile/site" + ]; + + meta = with lib; { + homepage = "http://www.markwitmer.com/guile-xcb/guile-xcb.html"; + description = "XCB bindings for Guile"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ vyp ]; + platforms = platforms.linux; + }; +} |