guile-modules: stylistic nix expression changes to modules with sole

maintainer vyp
This commit is contained in:
xd1le 2017-09-24 21:03:56 +10:00
parent 796b69318f
commit 3579d7e2b2
6 changed files with 110 additions and 105 deletions

View File

@ -1,7 +1,8 @@
{ fetchurl, stdenv, guile, pkgconfig, cairo, expat, guile-lib }: { stdenv, fetchurl, pkgconfig, guile, guile-lib, cairo, expat }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "guile-cairo-1.4.1"; name = "guile-cairo-${version}";
version = "1.4.1";
src = fetchurl { src = fetchurl {
url = "http://download.gna.org/guile-cairo/${name}.tar.gz"; url = "http://download.gna.org/guile-cairo/${name}.tar.gz";
@ -13,25 +14,20 @@ stdenv.mkDerivation rec {
doCheck = true; doCheck = true;
meta = { meta = with stdenv.lib; {
description = "Guile-Cairo, Cairo bindings for GNU Guile"; description = "Cairo bindings for GNU Guile";
longDescription = ''
Guile-Cairo wraps the Cairo graphics library for Guile Scheme.
longDescription = Guile-Cairo is complete, wrapping almost all of the Cairo API. It is API
'' Guile-Cairo wraps the Cairo graphics library for Guile Scheme. 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
Guile-Cairo is complete, wrapping almost all of the Cairo API. It maintained graphics library with all of the benefits of Scheme: memory
is API stable, providing a firm base on which to do graphics work. management, exceptions, macros, and a dynamic programming environment.
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 = "http://home.gna.org/guile-cairo/";
license = stdenv.lib.licenses.lgpl3Plus; license = licenses.lgpl3Plus;
maintainers = with maintainers; [ vyp ];
homepage = http://home.gna.org/guile-cairo/; platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.vyp ];
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -1,44 +1,45 @@
{stdenv, fetchurl, guile, texinfo, pkgconfig}: { stdenv, fetchurl, guile, texinfo, pkgconfig }:
assert stdenv ? cc && stdenv.cc.isGNU; assert stdenv ? cc && stdenv.cc.isGNU;
stdenv.mkDerivation rec { let
name = "guile-lib-0.2.2"; name = "guile-lib-${version}";
version = "0.2.2";
in stdenv.mkDerivation {
inherit name;
src = fetchurl { src = fetchurl {
url = "mirror://savannah/guile-lib/${name}.tar.gz"; url = "mirror://savannah/guile-lib/${name}.tar.gz";
sha256 = "1f9n2b5b5r75lzjinyk6zp6g20g60msa0jpfrk5hhg4j8cy0ih4b"; sha256 = "1f9n2b5b5r75lzjinyk6zp6g20g60msa0jpfrk5hhg4j8cy0ih4b";
}; };
nativeBuildInputs = [pkgconfig]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [guile texinfo]; buildInputs = [ guile texinfo ];
# One test doesn't seem to be compatible with guile_2_2 # One test doesn't seem to be compatible with guile_2_2.
patchPhase = '' patchPhase = ''
sed -i -e '/sxml.ssax.scm/d' unit-tests/Makefile* sed -i -e '/sxml.ssax.scm/d' unit-tests/Makefile*
''; '';
doCheck = true; doCheck = true;
preCheck = preCheck = ''
# Make `libgcc_s.so' visible for `pthread_cancel'. # 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" export LD_LIBRARY_PATH=\
"$(dirname $(echo ${stdenv.cc.cc.lib}/lib*/libgcc_s.so)):$LD_LIBRARY_PATH"
''; '';
meta = { meta = with stdenv.lib; {
description = "Guile-Library, a collection of useful Guile Scheme modules"; description = "A collection of useful Guile Scheme modules";
longDescription = ''
longDescription = guile-lib is intended as an accumulation place for pure-scheme Guile
'' guile-lib is intended as an accumulation place for pure-scheme Guile modules, allowing for people to cooperate integrating their generic Guile
modules, allowing for people to cooperate integrating their generic modules into a coherent library. Think "a down-scaled, limited-scope CPAN
Guile modules into a coherent library. Think "a down-scaled, for Guile".
limited-scope CPAN for Guile".
''; '';
homepage = "http://www.nongnu.org/guile-lib/";
homepage = http://www.nongnu.org/guile-lib/; license = licenses.gpl3Plus;
license = stdenv.lib.licenses.gpl3Plus; maintainers = with maintainers; [ vyp ];
platforms = platforms.gnu;
maintainers = [ stdenv.lib.maintainers.vyp ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
}; };
} }

View File

@ -1,7 +1,10 @@
{ fetchurl, stdenv, pkgconfig, guile, ncurses, libffi }: { stdenv, fetchurl, pkgconfig, guile, ncurses, libffi }:
stdenv.mkDerivation rec { let
name = "guile-ncurses-1.7"; name = "guile-ncurses-${version}";
version = "1.7";
in stdenv.mkDerivation {
inherit name;
src = fetchurl { src = fetchurl {
url = "mirror://gnu/guile-ncurses/${name}.tar.gz"; url = "mirror://gnu/guile-ncurses/${name}.tar.gz";
@ -11,31 +14,31 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ guile ncurses libffi ]; buildInputs = [ guile ncurses libffi ];
preConfigure = preConfigure = ''
'' configureFlags="$configureFlags --with-guilesitedir=$out/share/guile/site" ''; configureFlags="$configureFlags --with-guilesitedir=$out/share/guile/site"
'';
postFixup = postFixup = ''
'' for f in $out/share/guile/site/ncurses/**.scm; do \ for f in $out/share/guile/site/ncurses/**.scm; do \
substituteInPlace $f \ substituteInPlace $f \
--replace "libguile-ncurses" "$out/lib/libguile-ncurses"; \ --replace "libguile-ncurses" "$out/lib/libguile-ncurses"; \
done done
''; '';
doCheck = false; # XXX: 1 of 65 tests failed # XXX: 1 of 65 tests failed.
doCheck = false;
meta = { meta = with stdenv.lib; {
description = "GNU Guile-Ncurses, Scheme interface to the NCurses libraries"; description = "Scheme interface to the NCurses libraries";
longDescription = ''
longDescription = GNU Guile-Ncurses is a library for the Guile Scheme interpreter that
'' GNU Guile-Ncurses is a library for the Guile Scheme interpreter that
provides functions for creating text user interfaces. The text user provides functions for creating text user interfaces. The text user
interface functionality is built on the ncurses libraries: curses, interface functionality is built on the ncurses libraries: curses, form,
form, panel, and menu. panel, and menu.
''; '';
homepage = "https://www.gnu.org/software/guile-ncurses/";
license = stdenv.lib.licenses.lgpl3Plus; license = licenses.lgpl3Plus;
maintainers = with maintainers; [ vyp ];
maintainers = [ stdenv.lib.maintainers.vyp ]; platforms = platforms.gnu;
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
}; };
} }

View File

@ -1,15 +1,10 @@
{ stdenv, fetchurl, pkgconfig, guile }: { stdenv, fetchurl, pkgconfig, guile }:
stdenv.mkDerivation rec { let
name = "guile-opengl-0.1.0"; name = "guile-opengl-${version}";
version = "0.1.0";
meta = with stdenv.lib; { in stdenv.mkDerivation {
description = "Guile binding for the OpenGL graphics API"; inherit name;
homepage = "http://gnu.org/s/guile-opengl";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.linux;
};
src = fetchurl { src = fetchurl {
url = "mirror://gnu/guile-opengl/${name}.tar.gz"; url = "mirror://gnu/guile-opengl/${name}.tar.gz";
@ -17,4 +12,12 @@ stdenv.mkDerivation rec {
}; };
nativeBuildInputs = [ pkgconfig guile ]; nativeBuildInputs = [ pkgconfig guile ];
meta = with stdenv.lib; {
description = "Guile bindings for the OpenGL graphics API";
homepage = "http://gnu.org/s/guile-opengl";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.linux;
};
} }

View File

@ -3,15 +3,8 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "guile-sdl-0.5.1"; name = "guile-sdl-${version}";
version = "0.5.1";
meta = with stdenv.lib; {
description = "Guile bindings for SDL";
homepage = "http://gnu.org/s/guile-sdl";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.linux;
};
src = fetchurl { src = fetchurl {
url = "mirror://gnu/guile-sdl/${name}.tar.xz"; url = "mirror://gnu/guile-sdl/${name}.tar.xz";
@ -20,9 +13,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig guile ]; nativeBuildInputs = [ pkgconfig guile ];
buildInputs = [ buildInputs = [ SDL.dev SDL_image SDL_ttf SDL_mixer ];
SDL.dev SDL_image SDL_ttf SDL_mixer
];
GUILE_AUTO_COMPILE = 0; GUILE_AUTO_COMPILE = 0;
@ -32,4 +23,12 @@ stdenv.mkDerivation rec {
paths = buildInputs; paths = buildInputs;
}; };
in "SDLMINUSI=-I${sdl}/include/SDL"; in "SDLMINUSI=-I${sdl}/include/SDL";
meta = with stdenv.lib; {
description = "Guile bindings for SDL";
homepage = "http://gnu.org/s/guile-sdl";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.linux;
};
} }

View File

@ -1,18 +1,13 @@
{ stdenv, fetchurl, pkgconfig, guile, texinfo }: { stdenv, fetchurl, pkgconfig, guile, texinfo }:
stdenv.mkDerivation { let
name = "guile-xcb-1.3"; name = "guile-xcb-${version}";
version = "1.3";
meta = with stdenv.lib; { in stdenv.mkDerivation {
description = "XCB bindings for Guile"; inherit name;
homepage = "http://www.markwitmer.com/guile-xcb/guile-xcb.html";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.linux;
};
src = fetchurl { src = fetchurl {
url = "http://www.markwitmer.com/dist/guile-xcb-1.3.tar.gz"; url = "http://www.markwitmer.com/dist/${name}.tar.gz";
sha256 = "04dvbqdrrs67490gn4gkq9zk8mqy3mkls2818ha4p0ckhh0pm149"; sha256 = "04dvbqdrrs67490gn4gkq9zk8mqy3mkls2818ha4p0ckhh0pm149";
}; };
@ -24,4 +19,12 @@ stdenv.mkDerivation {
--with-guile-site-ccache-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;
};
} }