first working version (#305)
This commit is contained in:
parent
08c0074ae5
commit
3962315a6e
9
snap/gui/alpaca.desktop
Normal file
9
snap/gui/alpaca.desktop
Normal file
@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Name=alpaca
|
||||
Exec=alpaca
|
||||
Icon=${SNAP}/meta/gui/com.jeffser.Alpaca.svg
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Utility;Development;Chat;
|
||||
Keywords=ai;ollama;llm
|
||||
X-Purism-FormFactor=Workstation;Mobile;
|
150
snap/gui/com.jeffser.Alpaca.svg
Normal file
150
snap/gui/com.jeffser.Alpaca.svg
Normal file
@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
height="128px"
|
||||
viewBox="0 0 128 128"
|
||||
width="128px"
|
||||
version="1.1"
|
||||
id="svg26"
|
||||
sodipodi:docname="com.jeffser.Alpaca.svg"
|
||||
inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs26" />
|
||||
<sodipodi:namedview
|
||||
id="namedview26"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="6.65625"
|
||||
inkscape:cx="64"
|
||||
inkscape:cy="64"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1011"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg26" />
|
||||
<linearGradient
|
||||
id="a"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="48"
|
||||
x2="48"
|
||||
y1="88"
|
||||
y2="48">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#b6d1f2"
|
||||
id="stop1" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#e9eef4"
|
||||
id="stop2" />
|
||||
</linearGradient>
|
||||
<path
|
||||
d="m 2 66 h 24 v 12 h -24 z m 0 0"
|
||||
fill="#99c1f1"
|
||||
id="path2" />
|
||||
<path
|
||||
d="m 12.324219 56 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 1.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -1.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
|
||||
fill="#99c1f1"
|
||||
id="path3" />
|
||||
<g
|
||||
fill="#5e5c64"
|
||||
id="g7">
|
||||
<path
|
||||
d="m 82 101 h 8 v 23 h -8 z m 0 0"
|
||||
id="path4" />
|
||||
<path
|
||||
d="m 100 101 h 8 v 23 h -8 z m 0 0"
|
||||
id="path5" />
|
||||
<path
|
||||
d="m 20 101 h 8 v 23 h -8 z m 0 0"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 38 101 h 8 v 23 h -8 z m 0 0"
|
||||
id="path7" />
|
||||
</g>
|
||||
<path
|
||||
d="m 40.324219 80 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
|
||||
fill="#6b9bd2"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m 102.324219 80 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
|
||||
fill="#6b9bd2"
|
||||
id="path9" />
|
||||
<path
|
||||
d="m 40.324219 76 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
|
||||
fill="#82adde"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m 102.324219 76 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
|
||||
fill="#82adde"
|
||||
id="path11" />
|
||||
<path
|
||||
d="m 22.324219 80 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
|
||||
fill="#99c1f1"
|
||||
id="path12" />
|
||||
<path
|
||||
d="m 84.324219 80 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
|
||||
fill="#99c1f1"
|
||||
id="path13" />
|
||||
<path
|
||||
d="m 28 58 h 72 c 8.835938 0 16 7.164062 16 16 v 18 c 0 8.835938 -7.164062 16 -16 16 h -72 c -8.835938 0 -16 -7.164062 -16 -16 v -18 c 0 -8.835938 7.164062 -16 16 -16 z m 0 0"
|
||||
fill="#99c1f1"
|
||||
id="path14" />
|
||||
<path
|
||||
d="m 22.324219 76 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
|
||||
fill="#b6d1f2"
|
||||
id="path15" />
|
||||
<path
|
||||
d="m 84.324219 76 h 3.351562 c 5.703125 0 10.324219 4.621094 10.324219 10.324219 v 17.351562 c 0 5.703125 -4.621094 10.324219 -10.324219 10.324219 h -3.351562 c -5.703125 0 -10.324219 -4.621094 -10.324219 -10.324219 v -17.351562 c 0 -5.703125 4.621094 -10.324219 10.324219 -10.324219 z m 0 0"
|
||||
fill="#b6d1f2"
|
||||
id="path16" />
|
||||
<path
|
||||
d="m 111 16 c -2.859375 0 -5.5 -1.523438 -6.929688 -4 c -1.425781 -2.476562 -1.425781 -5.523438 0 -8 c 1.429688 -2.476562 4.070313 -4 6.929688 -4"
|
||||
fill="#bbd6f6"
|
||||
id="path17" />
|
||||
<path
|
||||
d="m 103 8 h 8 v 16 h -8 z m 0 0"
|
||||
fill="#99c1f1"
|
||||
id="path18" />
|
||||
<path
|
||||
d="m 96 8 h 18 c 2.210938 0 4 1.789062 4 4 v 6 c 0 2.210938 -1.789062 4 -4 4 h -18 c -2.207031 0 -4 -1.789062 -4 -4 v -6 c 0 -2.210938 1.792969 -4 4 -4 z m 0 0"
|
||||
fill="#e9eef4"
|
||||
id="path19" />
|
||||
<path
|
||||
d="m 100 16 c -2.859375 0 -5.5 -1.523438 -6.929688 -4 c -1.425781 -2.476562 -1.425781 -5.523438 0 -8 c 1.429688 -2.476562 4.070313 -4 6.929688 -4"
|
||||
fill="#e9eef4"
|
||||
id="path20" />
|
||||
<path
|
||||
d="m 92 16 v 21.675781 c 0 5.71875 -4.605469 10.324219 -10.324219 10.324219 h -53.675781 c -8.863281 0 -16 7.136719 -16 16 v 24 c 0 8.863281 7.136719 16 16 16 h 72 c 8.863281 0 16 -7.136719 16 -16 v -72 z m 0 0"
|
||||
fill="url(#a)"
|
||||
id="path21" />
|
||||
<path
|
||||
d="m 92 8 h 13 v 16 h -13 z m 0 0"
|
||||
fill="#e9eef4"
|
||||
id="path22" />
|
||||
<path
|
||||
d="m 104 14 h 22 v 6 c -11.335938 0.6875 -11.078125 8.476562 -17 8 h -5 z m 0 0"
|
||||
fill="#5e5c64"
|
||||
id="path23" />
|
||||
<path
|
||||
d="m 118 14 c 0 1.378906 -1.117188 2.5 -2.5 2.5 c -1.378906 0 -2.5 -1.121094 -2.5 -2.5 s 1.121094 -2.5 2.5 -2.5 c 1.382812 0 2.5 1.121094 2.5 2.5 z m 0 0"
|
||||
fill="#e9eef4"
|
||||
id="path24" />
|
||||
<path
|
||||
d="m 113 14 c 0 1.378906 -1.121094 2.5 -2.5 2.5 c -1.382812 0 -2.5 -1.121094 -2.5 -2.5 s 1.117188 -2.5 2.5 -2.5 c 1.378906 0 2.5 1.121094 2.5 2.5 z m 0 0"
|
||||
fill="#e9eef4"
|
||||
id="path25" />
|
||||
<path
|
||||
d="m 108 14 c 0 1.378906 -1.117188 2.5 -2.5 2.5 c -1.378906 0 -2.5 -1.121094 -2.5 -2.5 s 1.121094 -2.5 2.5 -2.5 c 1.382812 0 2.5 1.121094 2.5 2.5 z m 0 0"
|
||||
fill="#e9eef4"
|
||||
id="path26" />
|
||||
</svg>
|
After Width: | Height: | Size: 6.7 KiB |
@ -1,28 +1,68 @@
|
||||
name: alpaca
|
||||
base: core24
|
||||
version: '1.0'
|
||||
summary: Alpaca Application
|
||||
adopt-info: alpaca
|
||||
summary: An Ollama client made with GTK4 and Adwaita
|
||||
description: |
|
||||
Alpaca is an app by Jeffser with various features such as PDF processing, downloading with Pytube, and more.
|
||||
Alpaca is an Ollama client where you can manage and chat with multiple models,
|
||||
Alpaca provides an easy and begginer friendly way of interacting with local AI,
|
||||
everything is open source and powered by Ollama.
|
||||
|
||||
platforms:
|
||||
amd64:
|
||||
|
||||
confinement: strict
|
||||
grade: stable
|
||||
compression: lzo
|
||||
|
||||
slots:
|
||||
dbus-alpaca:
|
||||
interface: dbus
|
||||
bus: session
|
||||
name: com.jeffser.Alpaca
|
||||
|
||||
apps:
|
||||
alpaca:
|
||||
command: usr/local/bin/alpaca
|
||||
command: usr/bin/alpaca
|
||||
desktop: meta/gui/alpaca.desktop
|
||||
common-id: com.jeffser.Alpaca
|
||||
extensions:
|
||||
- gnome
|
||||
plugs:
|
||||
- network
|
||||
- network-bind
|
||||
- desktop
|
||||
- desktop-legacy
|
||||
- wayland
|
||||
- opengl
|
||||
- home
|
||||
- raw-usb
|
||||
- system-observe
|
||||
- removable-media
|
||||
slots:
|
||||
- dbus-alpaca
|
||||
|
||||
ollama:
|
||||
command: bin/ollama
|
||||
plugs:
|
||||
- home
|
||||
- removable-media
|
||||
- network
|
||||
- network-bind
|
||||
- opengl
|
||||
|
||||
ollama-daemon:
|
||||
command: bin/ollama serve
|
||||
daemon: simple
|
||||
install-mode: enable
|
||||
restart-condition: on-failure
|
||||
plugs:
|
||||
- home
|
||||
- removable-media
|
||||
- network
|
||||
- network-bind
|
||||
- opengl
|
||||
|
||||
parts:
|
||||
# Python dependencies
|
||||
python-packages:
|
||||
python-deps:
|
||||
plugin: python
|
||||
source: .
|
||||
python-packages:
|
||||
@ -31,28 +71,21 @@ parts:
|
||||
- pypdf==4.2.0
|
||||
- pytube==15.0.0
|
||||
- html2text==2024.2.26
|
||||
build-packages:
|
||||
- python3-dev
|
||||
- python3-pip
|
||||
|
||||
# Ollama plugin
|
||||
ollama:
|
||||
plugin: dump
|
||||
source: https://github.com/ollama/ollama/releases/download/v0.3.9/ollama-linux-amd64.tgz
|
||||
stage: [bin, lib]
|
||||
|
||||
# libnuma build from source
|
||||
libnuma:
|
||||
plugin: autotools
|
||||
source: https://github.com/numactl/numactl/releases/download/v2.0.18/numactl-2.0.18.tar.gz
|
||||
build-packages:
|
||||
- autoconf
|
||||
- make
|
||||
source: https://github.com/ollama/ollama/releases/download/v0.3.10/ollama-linux-amd64.tgz
|
||||
|
||||
# Alpaca app
|
||||
alpaca:
|
||||
plugin: meson
|
||||
source: https://github.com/Jeffser/Alpaca/archive/refs/tags/2.0.1.tar.gz
|
||||
source-type: git
|
||||
source: https://github.com/Jeffser/Alpaca.git
|
||||
source-tag: '2.0.2'
|
||||
source-depth: 1
|
||||
meson-parameters:
|
||||
- --prefix=/snap/alpaca/current/usr
|
||||
build-packages:
|
||||
- meson
|
||||
- ninja-build
|
||||
@ -63,11 +96,16 @@ parts:
|
||||
- gettext
|
||||
- desktop-file-utils
|
||||
- appstream
|
||||
override-build: snapcraftctl build; chmod +x ${CRAFT_PART_INSTALL}/usr/local/bin/alpaca
|
||||
|
||||
layout:
|
||||
/usr/lib/x86_64-linux-gnu/GL/default/lib:
|
||||
bind: $SNAP/usr/lib/x86_64-linux-gnu/GL/default/lib
|
||||
|
||||
environment:
|
||||
LD_LIBRARY_PATH: "$SNAP/usr/lib/x86_64-linux-gnu/GL/default/lib:$SNAP/usr/lib/x86_64-linux-gnu/openh264/extra:/app/plugins/AMD/lib/ollama:$LD_LIBRARY_PATH"
|
||||
override-pull: |
|
||||
craftctl default
|
||||
craftctl set version=$(git describe --tags --abbrev=0)
|
||||
override-build: |
|
||||
craftctl default
|
||||
sed -i '1c#!/usr/bin/env python3' $CRAFT_PART_INSTALL/snap/alpaca/current/usr/bin/alpaca
|
||||
stage-packages:
|
||||
- libnuma1
|
||||
parse-info:
|
||||
- usr/share/metainfo/com.jeffser.Alpaca.metainfo.xml
|
||||
organize:
|
||||
snap/alpaca/current/usr: usr
|
||||
after: [python-deps]
|
||||
|
Loading…
x
Reference in New Issue
Block a user