unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Alexandru-Sergiu Marton <brown121407@posteo.ro>
To: 46352@debbugs.gnu.org
Cc: Alexandru-Sergiu Marton <brown121407@posteo.ro>
Subject: [bug#46352] [PATCH 1/4] gnu: Add dyncall.
Date: Sat,  6 Feb 2021 23:35:08 +0200	[thread overview]
Message-ID: <20210206213511.11551-1-brown121407@posteo.ro> (raw)
In-Reply-To: <20210206213332.11417-1-brown121407@posteo.ro>

* gnu/packages/c.scm (dyncall): New variable.
---
 gnu/packages/c.scm | 39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d9e5e4d7de..db9938003f 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
 ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -614,3 +615,41 @@ event stream encoding, a binary format for bidirectional client-server
 communication.")
     (home-page "https://github.com/awslabs/aws-c-event-stream")
     (license license:asl2.0)))
+
+(define-public dyncall
+  (package
+    (name "dyncall")
+    (version "1.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://www.dyncall.org/r" version
+                                  "/dyncall-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1mq832l2w17mvxd1sq50my8ykjfyzd52kizm0h3mc89l4k0590g8"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags
+       (list (string-append "CC=" ,(cc-for-target)))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((bash (string-append (assoc-ref inputs "bash")
+                                        "/bin/bash"))
+                   (out (assoc-ref outputs "out")))
+               (invoke bash "./configure"
+                       (string-append "--prefix=" out)))))
+         (replace 'check
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((make (string-append (assoc-ref inputs "make")
+                                        "/bin/make")))
+               (invoke make "tests"
+                       (string-append "CC=" ,(cc-for-target)))))))))
+    (synopsis "Library for calling C functions dynamically")
+    (description "The dyncall library encapsulates architecture-, OS- and
+compiler-specific function call semantics in a virtual bind argument
+parameters from left to right and then call interface allowing programmers to
+call C functions in a completely dynamic manner.")
+    (home-page "https://www.dyncall.org/")
+    (license license:isc)))
-- 
2.30.0





  reply	other threads:[~2021-02-06 21:36 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-06 21:33 [bug#46352] [PATCH 0/4] Update Raku (Perl 6) Alexandru-Sergiu Marton
2021-02-06 21:35 ` Alexandru-Sergiu Marton [this message]
2021-02-06 21:35   ` [bug#46352] [PATCH 2/4] gnu: moarvm: Update to 2020.12 Alexandru-Sergiu Marton
2021-03-20 21:07     ` [bug#46352] [PATCH 0/4] Update Raku (Perl 6) Ludovic Courtès
2021-03-22  9:04       ` Alexandru-Sergiu Marton
2021-03-23 10:32         ` Ludovic Courtès
2021-02-06 21:35   ` [bug#46352] [PATCH 3/4] gnu: nqp: Update to 2020.12 Alexandru-Sergiu Marton
2021-03-20 21:10     ` [bug#46352] [PATCH 0/4] Update Raku (Perl 6) Ludovic Courtès
2021-02-06 21:35   ` [bug#46352] [PATCH 4/4] gnu: rakudo: Update to 2020.12 Alexandru-Sergiu Marton
2021-03-20 21:08     ` [bug#46352] [PATCH 0/4] Update Raku (Perl 6) Ludovic Courtès
2021-03-20 21:03   ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210206213511.11551-1-brown121407@posteo.ro \
    --to=brown121407@posteo.ro \
    --cc=46352@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).