about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorPol Dellaiera <pol.dellaiera@protonmail.com>2024-02-03 19:25:06 +0100
committerGitHub <noreply@github.com>2024-02-03 19:25:06 +0100
commite8a544f5ffb2b8d0cc1c648eeb74dd4a8ff42205 (patch)
tree5f6aa1e0a935d0ca1778d565f34ac901c7473d24 /pkgs
parent144fcada81a35097b15aa5dedd1ba87c7a94bfce (diff)
parent1923704fa8b13330d3bc417c3d11254799c77001 (diff)
downloadnixlib-e8a544f5ffb2b8d0cc1c648eeb74dd4a8ff42205.tar
nixlib-e8a544f5ffb2b8d0cc1c648eeb74dd4a8ff42205.tar.gz
nixlib-e8a544f5ffb2b8d0cc1c648eeb74dd4a8ff42205.tar.bz2
nixlib-e8a544f5ffb2b8d0cc1c648eeb74dd4a8ff42205.tar.lz
nixlib-e8a544f5ffb2b8d0cc1c648eeb74dd4a8ff42205.tar.xz
nixlib-e8a544f5ffb2b8d0cc1c648eeb74dd4a8ff42205.tar.zst
nixlib-e8a544f5ffb2b8d0cc1c648eeb74dd4a8ff42205.zip
Merge pull request #285719 from drupol/init/gpt4all-2-6-2
gpt4all-chat: init at 2.6.2
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/by-name/gp/gpt4all-chat/package.nix72
1 files changed, 72 insertions, 0 deletions
diff --git a/pkgs/by-name/gp/gpt4all-chat/package.nix b/pkgs/by-name/gp/gpt4all-chat/package.nix
new file mode 100644
index 000000000000..84a4de626204
--- /dev/null
+++ b/pkgs/by-name/gp/gpt4all-chat/package.nix
@@ -0,0 +1,72 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, qt6
+, fmt
+, shaderc
+, vulkan-headers
+, wayland
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "gpt4all-chat";
+  version = "2.6.2";
+
+  src = fetchFromGitHub {
+    fetchSubmodules = true;
+    hash = "sha256-BQE4UQEOOUAh0uGwQf7Q9D30s+aoGFyyMH6EI/WVIkc=";
+    owner = "nomic-ai";
+    repo = "gpt4all";
+    rev = "v${finalAttrs.version}";
+  };
+
+  sourceRoot = "${finalAttrs.src.name}/gpt4all-chat";
+
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace 'set(CMAKE_INSTALL_PREFIX ''${CMAKE_BINARY_DIR}/install)' ""
+  '';
+
+  nativeBuildInputs = [
+    cmake
+    qt6.wrapQtAppsHook
+  ];
+
+  buildInputs = [
+    fmt
+    qt6.qtwayland
+    qt6.qtquicktimeline
+    qt6.qtsvg
+    qt6.qthttpserver
+    qt6.qtwebengine
+    qt6.qt5compat
+    shaderc
+    vulkan-headers
+    wayland
+  ];
+
+  cmakeFlags = [
+    "-DKOMPUTE_OPT_USE_BUILT_IN_VULKAN_HEADER=OFF"
+    "-DKOMPUTE_OPT_DISABLE_VULKAN_VERSION_CHECK=ON"
+    "-DKOMPUTE_OPT_USE_BUILT_IN_FMT=OFF"
+  ];
+
+  postInstall = ''
+    rm -rf $out/include
+    rm -rf $out/lib/*.a
+    mv $out/bin/chat $out/bin/${finalAttrs.meta.mainProgram}
+    install -m 444 -D $src/gpt4all-chat/flatpak-manifest/io.gpt4all.gpt4all.desktop $out/share/applications/io.gpt4all.gpt4all.desktop
+    install -m 444 -D $src/gpt4all-chat/icons/logo.svg $out/share/icons/hicolor/scalable/apps/io.gpt4all.gpt4all.svg
+    substituteInPlace $out/share/applications/io.gpt4all.gpt4all.desktop \
+      --replace 'Exec=chat' 'Exec=${finalAttrs.meta.mainProgram}'
+  '';
+
+  meta = {
+    description = "A free-to-use, locally running, privacy-aware chatbot. No GPU or internet required";
+    homepage = "https://github.com/nomic-ai/gpt4all-chat";
+    license = lib.licenses.mit;
+    mainProgram = "gpt4all-chat";
+    maintainers = with lib.maintainers; [ drupol polygon ];
+  };
+})