Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework guile packages #346464

Draft
wants to merge 30 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
f4738ca
g-wrap: rework
AndersonTorres Oct 4, 2024
e5e6df8
guile-aspell: refactor
AndersonTorres Sep 8, 2024
f314990
guile-avahi: refactor
AndersonTorres Oct 4, 2024
65b0908
guile-cairo: refactor
AndersonTorres Sep 8, 2024
44d44f8
guile-chickadee: refactor
AndersonTorres Oct 4, 2024
e48ae70
guile-commonmark: refactor
AndersonTorres Sep 14, 2024
aa520c3
guile-config: refactor
AndersonTorres Sep 14, 2024
8b172bc
guile-fibers: refactor
AndersonTorres Sep 14, 2024
df55d52
guile-gcrypt: refactor
AndersonTorres Sep 14, 2024
bdb98ff
guile-git: refactor
AndersonTorres Oct 4, 2024
8cb5067
guile-gnutls: refactor
AndersonTorres Oct 4, 2024
3368b3d
guile-goblins: refactor
AndersonTorres Oct 4, 2024
14eab99
guile-hall: refactor
AndersonTorres Oct 4, 2024
8895d9a
guile-json: refactor
AndersonTorres Oct 4, 2024
781a074
guile-json: use fetchFromSavannah
AndersonTorres Oct 4, 2024
8ca2ac9
guile-lib: refactor
AndersonTorres Oct 4, 2024
b6ee712
guile-lzlib: refactor
AndersonTorres Oct 4, 2024
5f85a33
guile-lzma: refactor
AndersonTorres Oct 4, 2024
16c4991
guile-ncurses: refactor
AndersonTorres Oct 4, 2024
8fc4e50
guile-opengl: refactor
AndersonTorres Oct 4, 2024
65119c4
guile-quickcheck: refactor
AndersonTorres Oct 4, 2024
6e2660b
guile-reader: refactor
AndersonTorres Oct 4, 2024
fe21260
guile-sdl: refactor
AndersonTorres Oct 4, 2024
aae2b9d
guile-sdl2: refactor
AndersonTorres Oct 4, 2024
3939f51
guile-semver: refactor
AndersonTorres Oct 4, 2024
c5a7b71
guile-sjson: refactor
AndersonTorres Oct 4, 2024
43cf32d
guile-ssh: refactor
AndersonTorres Oct 4, 2024
219d483
guile-xcb: refactor
AndersonTorres Oct 4, 2024
f94674e
guile-zlib: refactor
AndersonTorres Oct 4, 2024
0882844
guile-zstd: refactor
AndersonTorres Oct 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 39 additions & 17 deletions pkgs/by-name/g-/g-wrap/package.nix
Original file line number Diff line number Diff line change
@@ -1,37 +1,59 @@
{ fetchurl, lib, stdenv, guile, guile-lib, libffi, pkg-config, glib }:

stdenv.mkDerivation rec {
{
lib,
fetchurl,
glib,
guile,
guile-lib,
libffi,
pkg-config,
stdenv,
# Boolean flags
glibSupport ? lib.meta.availableOn stdenv.hostPlatform glib,
}:

stdenv.mkDerivation (finalAttrs: {
pname = "g-wrap";
version = "1.9.15";

src = fetchurl {
url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
sha256 = "0ak0bha37dfpj9kmyw1r8fj8nva639aw5xr66wr5gd3l1rqf5xhg";
url = "mirror://savannah/g-wrap/g-wrap-${finalAttrs.version}.tar.gz";
hash = "sha256-D/bicA50tFcyNyb3wlUaRm2LpEM5cF9nkte1MxRcYCo=";
};

nativeBuildInputs = [ pkg-config ];

# Note: Glib support is optional, but it's quite useful (e.g., it's used by
# Guile-GNOME).
buildInputs = [ guile glib guile-lib ];
nativeBuildInputs =
[
guile
pkg-config
];

buildInputs =
[
guile
guile-lib
]
# Note: Glib support is optional, but it's quite useful (e.g., it's used by
# Guile-GNOME).
++ lib.optionals glibSupport [ glib ];

propagatedBuildInputs = [ libffi ];

env.NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";

doCheck = true;

meta = with lib; {
strictDeps = true;

meta = {
homepage = "https://www.nongnu.org/g-wrap/";
description = "Wrapper generator for Guile";
mainProgram = "g-wrap-config";
longDescription = ''
G-Wrap is a tool (and Guile library) for generating function wrappers for
inter-language calls. It currently only supports generating Guile
wrappers for C functions.
'';
homepage = "https://www.nongnu.org/g-wrap/";
license = licenses.lgpl2Plus;
maintainers = with maintainers; [ vyp ];
platforms = platforms.linux;
license = lib.licenses.lgpl2Plus;
mainProgram = "g-wrap-config";
maintainers = with lib.maintainers; [ vyp ];
platforms = lib.platforms.linux;
};
}
})
44 changes: 23 additions & 21 deletions pkgs/by-name/gu/guile-aspell/package.nix
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{ lib
, stdenv
, fetchFromGitHub
, guile
, autoreconfHook
, pkg-config
, aspell
, texinfo
{
lib,
aspell,
autoreconfHook,
fetchFromGitHub,
guile,
pkg-config,
stdenv,
texinfo,
}:

stdenv.mkDerivation (finalAttrs: {
Expand All @@ -19,28 +20,29 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-CvLECZLwf4MujAQCL3I81O5xFvq6ezVhV0BjbqI3mR0=";
};

strictDeps = true;
outputs = [
"out"
"info"
];

nativeBuildInputs = [
guile
autoreconfHook
guile
pkg-config
texinfo
];

buildInputs = [
guile
];
buildInputs = [ guile ];

propagatedBuildInputs = [
aspell
];
propagatedBuildInputs = [ aspell ];

meta = with lib; {
description = "Guile bindings for the aspell library";
strictDeps = true;

meta = {
homepage = "https://github.com/spk121/guile-aspell";
license = licenses.gpl3Only;
maintainers = with maintainers; [ snowflake ];
platforms = guile.meta.platforms;
description = "Guile bindings for the aspell library";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ snowflake ];
inherit (guile.meta) platforms;
};
})
64 changes: 39 additions & 25 deletions pkgs/by-name/gu/guile-avahi/package.nix
Original file line number Diff line number Diff line change
@@ -1,41 +1,55 @@
{ stdenv
, lib
, fetchgit
, avahi
, gmp
, buildPackages
, autoreconfHook
, pkg-config
, texinfo
, guile
{
lib,
autoreconfHook,
avahi,
buildPackages,
fetchFromSavannah,
gmp,
guile,
pkg-config,
stdenv,
texinfo,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "guile-avahi";
version = "0.4.1";

src = fetchgit {
url = "git://git.sv.gnu.org/guile-avahi.git";
rev = "v${version}";
src = fetchFromSavannah {
repo = "guile-avahi";
rev = "v${finalAttrs.version}";
hash = "sha256-Yr+OiqaGv6DgsjxSoc4sAjy4OO/D+Q50vdSTPEeIrV8=";
};

strictDeps = true;
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ autoreconfHook guile pkg-config texinfo ];

nativeBuildInputs = [
autoreconfHook
guile
pkg-config
texinfo
];

buildInputs = [ guile ];
propagatedBuildInputs = [ avahi gmp ];

doCheck = true;
propagatedBuildInputs = [
avahi
gmp
];

makeFlags = [ "GUILE_AUTO_COMPILE=0" ];

env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-Wno-unused-function";

meta = with lib; {
description = "Bindings to Avahi for GNU Guile";
strictDeps = true;

doCheck = true;

meta = {
homepage = "https://www.nongnu.org/guile-avahi/";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ foo-dogsquared ];
platforms = guile.meta.platforms;
description = "Bindings to Avahi for GNU Guile";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ foo-dogsquared ];
inherit (guile.meta) platforms;
};
}

})
49 changes: 30 additions & 19 deletions pkgs/by-name/gu/guile-cairo/package.nix
Original file line number Diff line number Diff line change
@@ -1,37 +1,48 @@
{ lib
, stdenv
, fetchurl
, cairo
, expat
, guile
, guile-lib
, pkg-config
{
lib,
autoreconfHook,
cairo,
expat,
fetchFromSavannah,
guile,
guile-lib,
pkg-config,
stdenv,
texinfo,
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "guile-cairo";
version = "1.11.2";

src = fetchurl {
url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
hash = "sha256-YjLU3Cxb2dMxE5s7AfQ0PD4fucp4mDYaaZIGcwlBoHs=";
src = fetchFromSavannah {
repo = "guile-cairo";
rev = "v${finalAttrs.version}";
hash = "sha256-fPK5sMHnqmj/2BcY16uy7IUO/aSsWVwnSplZowCEdZA=";
};

nativeBuildInputs = [
autoreconfHook
guile
pkg-config
texinfo
];

buildInputs = [
cairo
expat
guile
];

nativeCheckInputs = [ guile-lib ];

doCheck = true; # Cannot find unit-test module from guile-lib

enableParallelBuilding = true;

doCheck = false; # Cannot find unit-test module from guile-lib
nativeCheckInputs = [ guile-lib ];
strictDeps = true;

meta = with lib; {
meta = {
homepage = "https://www.nongnu.org/guile-cairo/";
description = "Cairo bindings for GNU Guile";
longDescription = ''
Expand All @@ -43,8 +54,8 @@ stdenv.mkDerivation rec {
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 = guile.meta.platforms;
license = lib.licenses.lgpl3Plus;
maintainers = with lib.maintainers; [ vyp ];
inherit (guile.meta) platforms;
};
}
})
57 changes: 29 additions & 28 deletions pkgs/by-name/gu/guile-chickadee/package.nix
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
{ lib
, stdenv
, fetchurl
, autoreconfHook
, makeWrapper
, testers
, guile
, pkg-config
, texinfo
, freetype
, libjpeg_turbo
, libpng
, libvorbis
, mpg123
, openal
, readline
, guile-opengl
, guile-sdl2
, guile-chickadee
{
lib,
autoreconfHook,
fetchurl,
freetype,
guile,
guile-opengl,
guile-sdl2,
libjpeg_turbo,
libpng,
libvorbis,
makeWrapper,
mpg123,
openal,
pkg-config,
readline,
stdenv,
testers,
texinfo,
}:

stdenv.mkDerivation (finalAttrs: {
pname = "guile-chickadee";
version = "0.10.0";
Expand All @@ -27,12 +28,10 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-Ey9TtuWaGlHG2cYYwqJIt2RX7XNUW28OGl/kuPUCD3U=";
};

strictDeps = true;

nativeBuildInputs = [
makeWrapper
autoreconfHook
guile
makeWrapper
pkg-config
texinfo
];
Expand All @@ -55,26 +54,28 @@ stdenv.mkDerivation (finalAttrs: {

makeFlags = [ "GUILE_AUTO_COMPILE=0" ];

strictDeps = true;

postInstall = ''
wrapProgram $out/bin/chickadee \
--prefix GUILE_LOAD_PATH : "$out/${guile.siteDir}:$GUILE_LOAD_PATH" \
--prefix GUILE_LOAD_COMPILED_PATH : "$out/${guile.siteCcacheDir}:$GUILE_LOAD_COMPILED_PATH"
'';

passthru.tests.version = testers.testVersion {
package = guile-chickadee;
package = finalAttrs.finalPackage;
command = "chickadee -v";
};

doCheck = !stdenv.hostPlatform.isDarwin;

meta = with lib; {
description = "Game development toolkit for Guile Scheme with SDL2 and OpenGL";
meta = {
homepage = "https://dthompson.us/projects/chickadee.html";
license = licenses.asl20;
maintainers = with maintainers; [ chito ];
description = "Game development toolkit for Guile Scheme with SDL2 and OpenGL";
license = lib.licenses.asl20;
mainProgram = "chickadee";
platforms = guile.meta.platforms;
maintainers = with lib.maintainers; [ chito ] ;
inherit (guile.meta) platforms;
broken = stdenv.hostPlatform.isDarwin;
};
})
Loading