diff options
author | Pol Dellaiera <pol.dellaiera@protonmail.com> | 2024-02-24 13:42:14 +0100 |
---|---|---|
committer | Pol Dellaiera <pol.dellaiera@protonmail.com> | 2024-02-27 23:35:04 +0100 |
commit | 3cdf5be0dcdc7c829de77c6e7dd519e3d72f591f (patch) | |
tree | 7a42d9654d6b22a1c4bb03119562cdfaa549a246 /pkgs/by-name/gp/gpt4all | |
parent | f9477e3a752d1b4b129b3adcb4fc2fa430627c11 (diff) |
gpt4all: rename `gpt4all-chat` in `gpt4all`
Diffstat (limited to 'pkgs/by-name/gp/gpt4all')
-rw-r--r-- | pkgs/by-name/gp/gpt4all/package.nix | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/pkgs/by-name/gp/gpt4all/package.nix b/pkgs/by-name/gp/gpt4all/package.nix new file mode 100644 index 0000000000000..e6119fc9212ee --- /dev/null +++ b/pkgs/by-name/gp/gpt4all/package.nix @@ -0,0 +1,73 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, qt6 +, fmt +, shaderc +, vulkan-headers +, wayland +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "gpt4all"; + version = "2.7.1"; + + src = fetchFromGitHub { + fetchSubmodules = true; + hash = "sha256-PXOnhSU8YaV0fcLAptSVjsUP2Za23GFUxyOkL0T6z0o="; + 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 = { + changelog = "https://github.com/nomic-ai/gpt4all/releases/tag/v${finalAttrs.version}"; + description = "A free-to-use, locally running, privacy-aware chatbot. No GPU or internet required"; + homepage = "https://github.com/nomic-ai/gpt4all"; + license = lib.licenses.mit; + mainProgram = "gpt4all"; + maintainers = with lib.maintainers; [ drupol polygon ]; + }; +}) |