about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/gu
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/gu')
-rw-r--r--nixpkgs/pkgs/by-name/gu/guile-avahi/package.nix2
-rw-r--r--nixpkgs/pkgs/by-name/gu/guile-disarchive/package.nix51
-rw-r--r--nixpkgs/pkgs/by-name/gu/guix/package.nix138
3 files changed, 140 insertions, 51 deletions
diff --git a/nixpkgs/pkgs/by-name/gu/guile-avahi/package.nix b/nixpkgs/pkgs/by-name/gu/guile-avahi/package.nix
index 3ad6ff9dd2c3..c75d4ee0f079 100644
--- a/nixpkgs/pkgs/by-name/gu/guile-avahi/package.nix
+++ b/nixpkgs/pkgs/by-name/gu/guile-avahi/package.nix
@@ -3,6 +3,7 @@
 , fetchgit
 , avahi
 , gmp
+, buildPackages
 , autoreconfHook
 , pkg-config
 , texinfo
@@ -20,6 +21,7 @@ stdenv.mkDerivation rec {
   };
 
   strictDeps = true;
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ autoreconfHook guile pkg-config texinfo ];
   buildInputs = [ guile ];
   propagatedBuildInputs = [ avahi gmp ];
diff --git a/nixpkgs/pkgs/by-name/gu/guile-disarchive/package.nix b/nixpkgs/pkgs/by-name/gu/guile-disarchive/package.nix
deleted file mode 100644
index a81157db614e..000000000000
--- a/nixpkgs/pkgs/by-name/gu/guile-disarchive/package.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ stdenv
-, lib
-, fetchurl
-, guile
-, autoreconfHook
-, guile-gcrypt
-, guile-lzma
-, guile-quickcheck
-, pkg-config
-, zlib
-}:
-
-stdenv.mkDerivation rec {
-  pname = "guile-disarchive";
-  version = "0.5.0";
-
-  src = fetchurl {
-    url = "https://files.ngyro.com/disarchive/disarchive-${version}.tar.gz";
-    hash = "sha256-Agt7v5HTpaskXuYmMdGDRIolaqCHUpwd/CfbZCe9Ups=";
-  };
-
-  strictDeps = true;
-
-  nativeBuildInputs = [
-    autoreconfHook
-    guile
-    pkg-config
-  ];
-
-  buildInputs = [
-    guile
-    zlib
-  ];
-
-  propagatedBuildInputs = [
-    guile-gcrypt
-    guile-lzma
-  ];
-
-  nativeCheckInputs = [ guile-quickcheck ];
-
-  doCheck = !stdenv.isDarwin;
-
-  meta = with lib; {
-    description = "Disassemble software into data and metadata";
-    homepage = "https://ngyro.com/software/disarchive.html";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ foo-dogsquared ];
-    platforms = guile.meta.platforms;
-  };
-}
diff --git a/nixpkgs/pkgs/by-name/gu/guix/package.nix b/nixpkgs/pkgs/by-name/gu/guix/package.nix
new file mode 100644
index 000000000000..e20a969f8347
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/gu/guix/package.nix
@@ -0,0 +1,138 @@
+{ lib
+, stdenv
+, fetchurl
+, autoreconfHook
+, disarchive
+, git
+, glibcLocales
+, guile
+, guile-avahi
+, guile-gcrypt
+, guile-git
+, guile-gnutls
+, guile-json
+, guile-lib
+, guile-lzlib
+, guile-lzma
+, guile-semver
+, guile-ssh
+, guile-sqlite3
+, guile-zlib
+, guile-zstd
+, help2man
+, makeWrapper
+, pkg-config
+, po4a
+, scheme-bytestructures
+, texinfo
+, bzip2
+, libgcrypt
+, sqlite
+}:
+
+stdenv.mkDerivation rec {
+  pname = "guix";
+  version = "1.4.0";
+
+  src = fetchurl {
+    url = "mirror://gnu/guix/guix-${version}.tar.gz";
+    hash = "sha256-Q8dpy/Yy7wVEmsH6SMG6FSwzSUxqvH5HE3u6eyFJ+KQ=";
+  };
+
+  postPatch = ''
+    sed nix/local.mk -i -E \
+      -e "s|^sysvinitservicedir = .*$|sysvinitservicedir = $out/etc/init.d|" \
+      -e "s|^openrcservicedir = .*$|openrcservicedir = $out/etc/openrc|"
+  '';
+
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    disarchive
+    git
+    glibcLocales
+    guile
+    guile-avahi
+    guile-gcrypt
+    guile-git
+    guile-gnutls
+    guile-json
+    guile-lib
+    guile-lzlib
+    guile-lzma
+    guile-semver
+    guile-ssh
+    guile-sqlite3
+    guile-zlib
+    guile-zstd
+    help2man
+    makeWrapper
+    pkg-config
+    po4a
+    scheme-bytestructures
+    texinfo
+  ];
+
+  buildInputs = [
+    bzip2
+    guile
+    libgcrypt
+    sqlite
+  ];
+
+  propagatedBuildInputs = [
+    disarchive
+    guile-avahi
+    guile-gcrypt
+    guile-git
+    guile-gnutls
+    guile-json
+    guile-lib
+    guile-lzlib
+    guile-lzma
+    guile-semver
+    guile-ssh
+    guile-sqlite3
+    guile-zlib
+    guile-zstd
+    scheme-bytestructures
+  ];
+
+  configureFlags = [
+    "--localstatedir=/var"
+    "--sysconfdir=/etc"
+    "--with-bash-completion-dir=$(out)/etc/bash_completion.d"
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''
+    for f in $out/bin/*; do
+      wrapProgram $f \
+        --prefix GUILE_LOAD_PATH : "$out/${guile.siteDir}:$GUILE_LOAD_PATH" \
+        --prefix GUILE_LOAD_COMPILED_PATH : "$out/${guile.siteCcacheDir}:$GUILE_LOAD_COMPILED_PATH"
+    done
+  '';
+
+  meta = with lib; {
+    description = "Functional package manager with a Scheme interface";
+    longDescription = ''
+      GNU Guix is a purely functional package manager for the GNU system, and a distribution thereof.
+      In addition to standard package management features, Guix supports
+      transactional upgrades and roll-backs, unprivileged package management,
+      per-user profiles, and garbage collection.
+      It provides Guile Scheme APIs, including high-level embedded
+      domain-specific languages (EDSLs), to describe how packages are built
+      and composed.
+      A user-land free software distribution for GNU/Linux comes as part of
+      Guix.
+      Guix is based on the Nix package manager.
+    '';
+    homepage = "http://www.gnu.org/software/guix";
+    license = licenses.gpl3Plus;
+    mainProgram = "guix";
+    maintainers = with maintainers; [ cafkafk ];
+    platforms = platforms.linux;
+  };
+}