From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Amirouche Boubekki Newsgroups: gmane.lisp.guile.user Subject: Re: Make a library installable? Date: Tue, 14 May 2019 12:57:46 +0200 Message-ID: References: <6372591.9J7NaK4W3v@aleksandar-ixtreme-m5740> <8da6c39894d7ba12c32d2bfad28d64ea@hyper.dev> <3481293.477KK3UXbR@aleksandar-ixtreme-m5740> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="58729"; mail-complaints-to="usenet@blaine.gmane.org" Cc: Guile User To: HiPhish Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue May 14 12:58:40 2019 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hQV8q-000F9u-1n for guile-user@m.gmane.org; Tue, 14 May 2019 12:58:40 +0200 Original-Received: from localhost ([127.0.0.1]:45550 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hQV8p-0008AU-1d for guile-user@m.gmane.org; Tue, 14 May 2019 06:58:39 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:41405) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hQV8I-00088p-KW for guile-user@gnu.org; Tue, 14 May 2019 06:58:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hQV8F-0000ni-Hw for guile-user@gnu.org; Tue, 14 May 2019 06:58:05 -0400 Original-Received: from mail-ua1-x92e.google.com ([2607:f8b0:4864:20::92e]:37640) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hQV8C-0000fw-6P for guile-user@gnu.org; Tue, 14 May 2019 06:58:00 -0400 Original-Received: by mail-ua1-x92e.google.com with SMTP id t18so2997871uar.4 for ; Tue, 14 May 2019 03:57:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=poiPSEMDXSrPJ6fpCoLBi5tvQXGRUzGGj8BMNx2ZKqY=; b=MIoRJcXpH5AlGdj47nd7ipA3dYZxTS+cSC6IWwuSA0I5FXwznLAkJAmYjS8cPRG11V G/wA4IdFOn6/2dNgr+mMFiBXXBFZxn78FCKPmdHYbDpJ66HtXXk7bxULOOfWRL3iI48y wo5OnYWgWir7KYrR2u4tJBQ2NEqEWI+3j4PsrpYwZBpSypxUBsq80pGzqU0dhI8gNmIR KTO5oQnaTzmiyb0G/pT2zCliigf+CiWUxspjCoQVXV+rsriIEpwMQna1CUK+imTcScdI uN0tXU5bzeqXQ5zuOeiZUsAz+CJc9pDLlYmToQSpZ0e3gUV6ZrKcsSHU7dauDVio8DIt OH1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=poiPSEMDXSrPJ6fpCoLBi5tvQXGRUzGGj8BMNx2ZKqY=; b=rAyBYjDE3FHMqeCblH40hUeR0AN8JpMpn9Bf2gSWMdJIcqgUczg9UuiW4hPul1OvmC 7l0T2ohO8i1yMCXa6g/HBMIOZHFmrdhmwIrkK8rLMvEIS817U82H8CCG6OBvSli0XH/2 bQPlrRNIHMT8arl5k0edbSvaLof/PGQez5uszNyNlbhTvjJwtUdF9ePctPQWHVEgfrBf OeXJHSUvAGfR4WB5F/pxtV6y320bS9V2TcnyX6LGViTXwRR3rTsH3rn6jjREZ4pVTixL tFwUmqqgYZCHo0YgI8WL0ATQYyVt6B7Q+vkpo1te9jT6ceszus8/+NYH4wYD1z6lyJGD oX7w== X-Gm-Message-State: APjAAAU52cuMWqy5iv9t6MyGnOi9XaOuxrzmLgTcYg5+lxJiksH3Khs0 Dl3U0bN+hQTk1fb15Lzdj0VQz9/Ro3WZsN9CKZI= X-Google-Smtp-Source: APXvYqym2TXZvyCgmVJj7C/f/1NHkBxfji25eJf/kLEo6aIgJaGtdFTUz9ly5+C5xWPBbhViwGIR9tLTYoYPR2g10YY= X-Received: by 2002:ab0:852:: with SMTP id b18mr12509310uaf.63.1557831477967; Tue, 14 May 2019 03:57:57 -0700 (PDT) In-Reply-To: <3481293.477KK3UXbR@aleksandar-ixtreme-m5740> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::92e X-Content-Filtered-By: Mailman/MimeDel 2.1.21 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:15476 Archived-At: Le mar. 14 mai 2019 =C3=A0 06:42, HiPhish a =C3=A9crit = : > Oh cool, I did not know about guile-build-system, that one must be new? Yes, it somewhat new. Here is the code of it http://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system/guile.scm > I am not seeing anything about it also compiling and installing Info > documentation > though. > AFAIU it must be done in a specific step. Look at http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/guile-xyz.scm for instance guile-pfds as a step that does rename files from .sls to .scm before building. Computing is most of the time coding on top of existing infrastructure. autotools is no different. It has its quirks, but it works. [0] I can setup a repository using autotools for bindings and pure guile modules > On Monday, 13 May 2019 00:23:31 CEST you wrote: > > On 2019-05-12 16:50, HiPhish wrote: > > > Hello Schemers, > > > > > > A while ago I presented my MessagePack implementation for Guile[1] he= re > > > 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#L4= 0 > > > > Hope This Helps, > > > > > > Amirouche ~ amz3 > > > > > >