Skip to content

Conversation

Copilot
Copy link
Contributor

@Copilot Copilot AI commented Sep 11, 2025

This PR implements complete GNU Guix packaging for guile-llama-cpp, adding all the necessary files and structure for distribution via the Guix package manager.

Changes Made

Package Definition Improvements

  • Enhanced guix.scm: Fixed package name to follow Guix conventions (guile-llama-cpp instead of guile_llama_cpp), added comprehensive synopsis and description, and included proper home-page URL
  • Added missing imports: Fixed git-predicate import for proper source handling

New Guix Infrastructure Files

  • .guix/modules/guile-package.scm: Modular package definition with proper exports for reusability across different Guix contexts
  • .guix/manifest.scm: Development environment manifest including all build dependencies (autotools, SWIG, Guile 3.0, llama.cpp)
  • .guix-channel: Channel definition enabling system-wide distribution and integration with Guix package management

Documentation and Usage

  • .guix/README.md: Comprehensive guide covering all usage patterns including development environments, building, installation, and channel setup
  • Updated main README.md: Added dedicated Guix section with multiple installation methods and clear examples

Usage Examples

Development Environment:

guix shell -m .guix/manifest.scm
# or
guix shell -D -f guix.scm

Building the Package:

guix build -f guix.scm

Installing the Package:

guix package -f guix.scm

Using as a Guix Channel:

;; Add to ~/.config/guix/channels.scm
(cons* (channel
         (name 'guile-llama-cpp)
         (url "https://git.savannah.nongnu.org/git/guile-llama-cpp.git")
         (branch "master"))
       %default-channels)

Benefits

  • Multiple installation methods: Users can choose between standalone package installation, development environment setup, or system-wide channel integration
  • Proper dependency management: All build and runtime dependencies are correctly specified
  • GNU Guix best practices: Package follows naming conventions, includes complete metadata, and uses recommended file structure
  • CPU-only llama.cpp: Uses CPU-only variant to avoid GPU dependencies and ensure broad compatibility

The implementation has been verified to include all required files and follow Guix packaging conventions, making guile-llama-cpp easily installable and developable on GNU Guix systems.


💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.

Co-authored-by: danregima <10253941+danregima@users.noreply.github.com>
@Copilot Copilot AI changed the title [WIP] package for guix & ensure the following are complete: .guix/modules/guile-package.scm .guix/manifest.scm .guix-channel guix.scm for use with "guix shell" or "guix build -f guix.scm" etc Complete GNU Guix packaging with manifest, channel, and module support Sep 11, 2025
@Copilot Copilot AI requested a review from danregima September 11, 2025 23:51
Copilot finished work on behalf of danregima September 11, 2025 23:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants