Name: lemonade-server Version: 10.0.0 Release: 1%{?dist} Summary: Local LLM serving with GPU and NPU acceleration License: MIT URL: https://github.com/lemonade-sdk/lemonade Source0: https://github.com/lemonade-sdk/lemonade/archive/refs/tags/v%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: https://github.com/machinezone/IXWebSocket/archive/v11.4.6/ixwebsocket-11.4.6.tar.gz Provides: bundled(ixwebsocket) = 11.4.6 BuildRequires: cmake BuildRequires: gcc-c++ BuildRequires: openssl-devel BuildRequires: git-core BuildRequires: systemd-rpm-macros BuildRequires: libzstd-devel BuildRequires: libcurl-devel BuildRequires: brotli-devel BuildRequires: nlohmann-json-devel BuildRequires: cli11-devel BuildRequires: cpp-httplib-devel BuildRequires: zlib-devel %description Lemonade helps users discover and run local AI apps by serving optimized LLMs right from their own GPUs and NPUs. It supports GGUF, FLM, and ONNX models. %prep %autosetup -n lemonade-%{version} -a 1 sed -i 's/FetchContent_MakeAvailable(httplib)/find_package(httplib REQUIRED)/g' CMakeLists.txt %pre getent group lemonade >/dev/null || groupadd -r lemonade getent passwd lemonade >/dev/null || useradd -r -g lemonade -d %{_sharedstatedir}/lemonade -s /sbin/nologin lemonade exit 0 %build %cmake \ -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ -DFETCHCONTENT_FULLY_DISCONNECTED=ON \ -DFETCHCONTENT_SOURCE_DIR_IXWEBSOCKET=%{_builddir}/lemonade-%{version}/IXWebSocket-11.4.6 %cmake_build %install # cd src/cpp %cmake_install %files %license LICENSE %doc README.md %{_bindir}/lemonade-server %{_bindir}/lemonade-router %{_datadir}/lemonade-server/ %dir %{_sysconfdir}/lemonade %config(noreplace) %{_sysconfdir}/lemonade/lemonade.conf %attr(0660, root, lemonade) %config(noreplace) %{_sysconfdir}/lemonade/secrets.conf # Lemonade systemd service file %{_unitdir}/lemonade-server.service %changelog %autochangelog