summary refs log tree commit diff
path: root/pkgs/by-name
diff options
context:
space:
mode:
authorChristina Sørensen <christina@cafkafk.com>2023-08-03 16:30:43 +0200
committerWeijia Wang <9713184+wegank@users.noreply.github.com>2023-10-27 20:19:46 +0200
commit3b2cc947eeae77167c2556e7bc5e6402e2556cb6 (patch)
tree3af9a5468a63564c368e4ddad8b53e5398147c20 /pkgs/by-name
parent3e8e17821822ef190d72db3a612ea9be5a441ca9 (diff)
downloadnixpkgs-3b2cc947eeae77167c2556e7bc5e6402e2556cb6.tar
nixpkgs-3b2cc947eeae77167c2556e7bc5e6402e2556cb6.tar.gz
nixpkgs-3b2cc947eeae77167c2556e7bc5e6402e2556cb6.tar.bz2
nixpkgs-3b2cc947eeae77167c2556e7bc5e6402e2556cb6.tar.lz
nixpkgs-3b2cc947eeae77167c2556e7bc5e6402e2556cb6.tar.xz
nixpkgs-3b2cc947eeae77167c2556e7bc5e6402e2556cb6.tar.zst
nixpkgs-3b2cc947eeae77167c2556e7bc5e6402e2556cb6.zip
guix: init at 1.4.0
Signed-off-by: Christina Sørensen <christina@cafkafk.com>
Diffstat (limited to 'pkgs/by-name')
-rw-r--r--pkgs/by-name/gu/guix/package.nix138
1 files changed, 138 insertions, 0 deletions
diff --git a/pkgs/by-name/gu/guix/package.nix b/pkgs/by-name/gu/guix/package.nix
new file mode 100644
index 00000000000..5d45033b72f
--- /dev/null
+++ b/pkgs/by-name/gu/guix/package.nix
@@ -0,0 +1,138 @@
+{ lib
+, stdenv
+, fetchurl
+, autoreconfHook
+, git
+, glibcLocales
+, guile
+, guile-avahi
+, guile-disarchive
+, 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
+    git
+    glibcLocales
+    guile
+    guile-avahi
+    guile-disarchive
+    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 = [
+    guile-avahi
+    guile-disarchive
+    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;
+  };
+}