diff --git a/pkgs/development/guile-modules/guile-git/default.nix b/pkgs/development/guile-modules/guile-git/default.nix new file mode 100644 index 000000000000..f337eefecb2f --- /dev/null +++ b/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.3.0"; + + src = fetchFromGitLab { + owner = "guile-git"; + repo = pname; + rev = "v${version}"; + sha256 = "1s77s70gzfj6h7bglq431kw8l4iknhsfpc0mnvcp4lkhwdcgyn1n"; + }; + + 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/pkgs/development/scheme-modules/scheme-bytestructures/default.nix b/pkgs/development/scheme-modules/scheme-bytestructures/default.nix new file mode 100644 index 000000000000..545c9e165a12 --- /dev/null +++ b/pkgs/development/scheme-modules/scheme-bytestructures/default.nix @@ -0,0 +1,39 @@ +{ lib +, stdenv +, fetchFromGitHub +, guile +, autoreconfHook +, pkg-config +}: + +stdenv.mkDerivation rec { + pname = "scheme-bytestructures"; + version = "1.0.7"; + + src = fetchFromGitHub { + owner = "TaylanUB"; + repo = pname; + rev = "v${version}"; + sha256 = "0q0habjiy3h9cigb7q1br9kz6z212dn2ab31f6dgd3rrmsfn5rvb"; + }; + + 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 + ]; + buildInputs = [ + guile + ]; + + meta = with lib; { + description = "Structured access to bytevector contents"; + homepage = "https://github.com/TaylanUB/scheme-bytestructures"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ ethancedwards8 ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 34e5d3ab0ba3..d867da9bd336 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12577,6 +12577,8 @@ in scheme48 = callPackage ../development/interpreters/scheme48 { }; + scheme-bytestructures = callPackage ../development/scheme-modules/scheme-bytestructures { }; + self = pkgsi686Linux.callPackage ../development/interpreters/self { }; spark = callPackage ../applications/networking/cluster/spark { }; @@ -12651,6 +12653,8 @@ in guile-fibers = callPackage ../development/guile-modules/guile-fibers { }; + guile-git = callPackage ../development/guile-modules/guile-git { }; + guile-gnome = callPackage ../development/guile-modules/guile-gnome { gconf = gnome2.GConf; guile = guile_2_0;