Skip to content

Commit

Permalink
guile-modules: stylistic nix expression changes to modules with sole
Browse files Browse the repository at this point in the history
maintainer vyp
  • Loading branch information
vyp committed Sep 24, 2017
1 parent 796b693 commit 3579d7e
Show file tree
Hide file tree
Showing 6 changed files with 112 additions and 107 deletions.
40 changes: 18 additions & 22 deletions pkgs/development/guile-modules/guile-cairo/default.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{ fetchurl, stdenv, guile, pkgconfig, cairo, expat, guile-lib }:
{ stdenv, fetchurl, pkgconfig, guile, guile-lib, cairo, expat }:

stdenv.mkDerivation rec {
name = "guile-cairo-1.4.1";
name = "guile-cairo-${version}";
version = "1.4.1";

src = fetchurl {
url = "http://download.gna.org/guile-cairo/${name}.tar.gz";
Expand All @@ -13,25 +14,20 @@ stdenv.mkDerivation rec {

doCheck = true;

meta = {
description = "Guile-Cairo, 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 = stdenv.lib.licenses.lgpl3Plus;

homepage = http://home.gna.org/guile-cairo/;

maintainers = [ stdenv.lib.maintainers.vyp ];
platforms = stdenv.lib.platforms.linux;
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 = "http://home.gna.org/guile-cairo/";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.linux;
};
}
49 changes: 25 additions & 24 deletions pkgs/development/guile-modules/guile-lib/default.nix
Original file line number Diff line number Diff line change
@@ -1,44 +1,45 @@
{stdenv, fetchurl, guile, texinfo, pkgconfig}:
{ stdenv, fetchurl, guile, texinfo, pkgconfig }:

assert stdenv ? cc && stdenv.cc.isGNU;

stdenv.mkDerivation rec {
name = "guile-lib-0.2.2";
let
name = "guile-lib-${version}";
version = "0.2.2";
in stdenv.mkDerivation {
inherit name;

src = fetchurl {
url = "mirror://savannah/guile-lib/${name}.tar.gz";
sha256 = "1f9n2b5b5r75lzjinyk6zp6g20g60msa0jpfrk5hhg4j8cy0ih4b";
};

nativeBuildInputs = [pkgconfig];
buildInputs = [guile texinfo];
nativeBuildInputs = [ pkgconfig ];
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 = ''
sed -i -e '/sxml.ssax.scm/d' unit-tests/Makefile*
'';

doCheck = true;

preCheck =
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"
'';

meta = {
description = "Guile-Library, 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 = http://www.nongnu.org/guile-lib/;
license = stdenv.lib.licenses.gpl3Plus;
export LD_LIBRARY_PATH=\
"$(dirname $(echo ${stdenv.cc.cc.lib}/lib*/libgcc_s.so)):$LD_LIBRARY_PATH"
'';

maintainers = [ stdenv.lib.maintainers.vyp ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
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 = "http://www.nongnu.org/guile-lib/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.gnu;
};
}
59 changes: 31 additions & 28 deletions pkgs/development/guile-modules/guile-ncurses/default.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
{ fetchurl, stdenv, pkgconfig, guile, ncurses, libffi }:
{ stdenv, fetchurl, pkgconfig, guile, ncurses, libffi }:

stdenv.mkDerivation rec {
name = "guile-ncurses-1.7";
let
name = "guile-ncurses-${version}";
version = "1.7";
in stdenv.mkDerivation {
inherit name;

src = fetchurl {
url = "mirror://gnu/guile-ncurses/${name}.tar.gz";
Expand All @@ -11,31 +14,31 @@ stdenv.mkDerivation rec {
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
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.
'';

doCheck = false; # XXX: 1 of 65 tests failed

meta = {
description = "GNU Guile-Ncurses, 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 = stdenv.lib.licenses.lgpl3Plus;

maintainers = [ stdenv.lib.maintainers.vyp ];
platforms = stdenv.lib.platforms.gnu; # arbitrary choice
homepage = "https://www.gnu.org/software/guile-ncurses/";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.gnu;
};
}
23 changes: 13 additions & 10 deletions pkgs/development/guile-modules/guile-opengl/default.nix
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
{ stdenv, fetchurl, pkgconfig, guile }:

stdenv.mkDerivation rec {
name = "guile-opengl-0.1.0";

meta = with stdenv.lib; {
description = "Guile binding for the OpenGL graphics API";
homepage = "http://gnu.org/s/guile-opengl";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.linux;
};
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 = "http://gnu.org/s/guile-opengl";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.linux;
};
}
23 changes: 11 additions & 12 deletions pkgs/development/guile-modules/guile-sdl/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,8 @@
}:

stdenv.mkDerivation rec {
name = "guile-sdl-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;
};
name = "guile-sdl-${version}";
version = "0.5.1";

src = fetchurl {
url = "mirror://gnu/guile-sdl/${name}.tar.xz";
Expand All @@ -20,9 +13,7 @@ stdenv.mkDerivation rec {

nativeBuildInputs = [ pkgconfig guile ];

buildInputs = [
SDL.dev SDL_image SDL_ttf SDL_mixer
];
buildInputs = [ SDL.dev SDL_image SDL_ttf SDL_mixer ];

GUILE_AUTO_COMPILE = 0;

Expand All @@ -32,4 +23,12 @@ stdenv.mkDerivation rec {
paths = buildInputs;
};
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;
};
}
25 changes: 14 additions & 11 deletions pkgs/development/guile-modules/guile-xcb/default.nix
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
{ stdenv, fetchurl, pkgconfig, guile, texinfo }:

stdenv.mkDerivation {
name = "guile-xcb-1.3";

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;
};
let
name = "guile-xcb-${version}";
version = "1.3";
in stdenv.mkDerivation {
inherit name;

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";
};

Expand All @@ -24,4 +19,12 @@ stdenv.mkDerivation {
--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;
};
}

0 comments on commit 3579d7e

Please sign in to comment.