guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Make a library installable?


From: amirouche
Subject: Re: Make a library installable?
Date: Mon, 13 May 2019 00:23:31 +0200
User-agent: Roundcube Webmail/1.3.8

On 2019-05-12 16:50, HiPhish wrote:
Hello Schemers,

A while ago I presented my MessagePack implementation for Guile[1] here and I
want to make it available to users.

Guile has no dedicated package manager,

I use guile as my package manager, It is easy enough to install.
And Since I keep GUIX environment variable in a dedicated file
it doesn't interfere with the host environment. Basically, I have
no problem with guix.

so it's either manual or Guix, and I would like to support both. What
it the best way of doing it?

Yeah manual is good enough. Also, guix has guile-build-system
that doesn't require autotools.

Here is the package definition for a small single file project
that required to dynamicly load a shared library:

(define-public guile-termbox
  (package
    (name "guile-termbox")
    (version "0.1.1")
    (home-page "https://git.sr.ht/~amz3/guile-termbox";)
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url home-page)
(commit "8d43b12799bc1967b12cf0e86b4c323c1e251cb4")))
              (sha256
               (base32
                "1wc2246gg0dg5g7f7djrl0jy7dvzkjhw0idmijwvnd9r1dgksacq"))
              (file-name (string-append name "-" version "-checkout"))))
    (build-system guile-build-system)
    (arguments
     '(#:phases (modify-phases %standard-phases
                  (add-before 'build 'patch
           (lambda* (#:key inputs #:allow-other-keys)
             (let* ((libtermbox   (assoc-ref inputs "termbox")))
               (substitute* "termbox.scm"
                 (("@LIBTERMBOX@")
                  (format #f "~a/lib/libtermbox.so" libtermbox)))
               #t))))))
    (inputs
     `(("guile" ,guile-2.2)
       ("termbox" ,termbox-truecolor)))
    (propagated-inputs
     `(("guile-bytestructures" ,guile-bytestructures)))
    (synopsis "GNU Guile bindings for termbox")
    (description "GNU Guile bindings for termbox")
    (license license:lgpl3+)))

https://git.sr.ht/~amz3/guix-amz3-channel/tree/master/amz3/termbox.scm#L40

Hope This Helps,


Amirouche ~ amz3



reply via email to

[Prev in Thread] Current Thread [Next in Thread]