alpaca: init at 0.9.6.1
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
diff --git a/src/alpaca.in b/src/alpaca.in
|
||||
index cb883c8..a9822cc 100755
|
||||
--- a/src/alpaca.in
|
||||
+++ b/src/alpaca.in
|
||||
@@ -35,7 +35,21 @@ locale.bindtextdomain('alpaca', localedir)
|
||||
locale.textdomain('alpaca')
|
||||
gettext.install('alpaca', localedir)
|
||||
|
||||
+# Use the right XDG paths outside flatpak
|
||||
+def set_xdg_path(env, default):
|
||||
+ app_id = "com.jeffser.Alpaca"
|
||||
+ base = os.getenv(env) or os.path.expanduser(default)
|
||||
+ path = os.path.join(base, app_id)
|
||||
+ if not os.path.exists(path):
|
||||
+ os.makedirs(path)
|
||||
+ os.environ[env] = path
|
||||
+ return
|
||||
+
|
||||
if __name__ == '__main__':
|
||||
+ set_xdg_path("XDG_CONFIG_HOME", "~/.config")
|
||||
+ set_xdg_path("XDG_DATA_HOME", "~/.local/share")
|
||||
+ set_xdg_path("XDG_CACHE_HOME", "~/.cache")
|
||||
+
|
||||
import gi
|
||||
|
||||
from gi.repository import Gio
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
fetchpatch,
|
||||
appstream,
|
||||
meson,
|
||||
ninja,
|
||||
pkg-config,
|
||||
gobject-introspection,
|
||||
wrapGAppsHook4,
|
||||
desktop-file-utils,
|
||||
libadwaita,
|
||||
gtksourceview5,
|
||||
xdg-utils,
|
||||
ollama,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "alpaca";
|
||||
version = "0.9.6.1";
|
||||
pyproject = false; # Built with meson
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Jeffser";
|
||||
repo = "Alpaca";
|
||||
rev = version;
|
||||
hash = "sha256-EbaEjKqfotJBceaYEyz3LHilK3GnnwEpfMR7Teq96hI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Change the way XDG paths are handled so it makes sense outside of flatpak
|
||||
./fix_xdg_path_flatpak.patch
|
||||
|
||||
# Let ollama instance stop gracefully so we don't have model instance left behind
|
||||
(fetchpatch {
|
||||
url = "https://github.com/Jeffser/Alpaca/commit/e81d918675896c1670cf5aa5a55e1b706be5ed51.patch";
|
||||
hash = "sha256-gYYFvaoBI/Qn0g2qgS1cB0B4F08swznrSd5KCb51vh0=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/local_instance.py \
|
||||
--replace-fail '/app/bin/ollama' 'ollama'
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
gobject-introspection
|
||||
wrapGAppsHook4
|
||||
desktop-file-utils
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libadwaita
|
||||
gtksourceview5
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
pygobject3
|
||||
requests
|
||||
pillow
|
||||
pypdf
|
||||
];
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
makeWrapperArgs = [
|
||||
"\${gappsWrapperArgs[@]}"
|
||||
"--prefix PATH : ${lib.makeBinPath [ xdg-utils ollama ]}"
|
||||
# Declared but not used in src/window.py, for later reference
|
||||
# https://github.com/flatpak/flatpak/issues/3229
|
||||
"--set FLATPAK_DEST ${placeholder "out"}"
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "Ollama client made with GTK4 and Adwaita";
|
||||
longDescription = ''
|
||||
To run Alpaca with GPU acceleration enabled, simply override it:
|
||||
```nix
|
||||
pkgs.alpaca.override {
|
||||
ollama = pkgs.ollama-cuda;
|
||||
}
|
||||
```
|
||||
'';
|
||||
homepage = "https://jeffser.com/alpaca";
|
||||
license = lib.licenses.gpl3Plus;
|
||||
mainProgram = "alpaca";
|
||||
maintainers = with lib.maintainers; [ aleksana ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user