all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] Add libdispatch
@ 2016-10-28 15:01 ng0
  2016-10-28 15:01 ` [PATCH 1/4] gnu: Add libkqueue ng0
                   ` (4 more replies)
  0 siblings, 5 replies; 7+ messages in thread
From: ng0 @ 2016-10-28 15:01 UTC (permalink / raw)
  To: guix-devel

libdispatch:
I think that the compiler can only find libblocks-runtime on a bsd system and that the port can not run tests.
This is my theory, I must put it to practice, the new nvidia-texture-tools(?) required libdispatch which is why I packaged this.
This was before the current version got released, I assume it's still required.

[PATCH 1/4] gnu: Add libkque.
[PATCH 2/4] gnu: Add libpthread_workqueue.
[PATCH 3/4] gnu: Add libblocks-runtime.
[PATCH 4/4] gnu: Add libdispatch.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] gnu: Add libkqueue.
  2016-10-28 15:01 [PATCH] Add libdispatch ng0
@ 2016-10-28 15:01 ` ng0
  2016-10-28 15:01 ` [PATCH 2/4] gnu: Add libpthread_workqueue ng0
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: ng0 @ 2016-10-28 15:01 UTC (permalink / raw)
  To: guix-devel

* gnu/local.mk: Include gnu/packages/libdispatch.scm .
* gnu/packages/libdispatch.scm: Add new file.
* gnu/packages/libdispatch.scm (libkqueue): New variable.
---
 gnu/local.mk                 |  1 +
 gnu/packages/libdispatch.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 65 insertions(+)
 create mode 100644 gnu/packages/libdispatch.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index f306180..d1bb937 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -206,6 +206,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/libbsd.scm			\
   %D%/packages/libcanberra.scm			\
   %D%/packages/libdaemon.scm			\
+  %D%/packages/libdispatch.scm                  \
   %D%/packages/libedit.scm			\
   %D%/packages/libevent.scm			\
   %D%/packages/libffcall.scm			\
diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm
new file mode 100644
index 0000000..77c80c0
--- /dev/null
+++ b/gnu/packages/libdispatch.scm
@@ -0,0 +1,64 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages libdispatch)
+  #:use-module (gnu packages)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages perl)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages ruby))
+
+(define-public libkqueue
+  (package
+    (name "libkqueue")
+    (version "2.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/mheily/libkqueue/archive/v"
+                                  version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "07xdns9kaw6v5jbz2d7d9zw1lkz1zdj1wmbyxla0wqyhzywizybf"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (zero? (system* "autoreconf" "-fi")))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("ruby" ,ruby)
+       ("perl" ,perl)
+       ("autoconf" ,(autoconf-wrapper))
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
+    (home-page "https://github.com/mheily/libkqueue")
+    (description
+     "Userspace implementation of the kqueue(2) kernel event
+notification mechanism found in FreeBSD.
+libkqueue acts as a translator between the kevent structure and the
+native kernel facilities.")
+    (synopsis "kqueue(2) compatibility library")
+    ;; event.h is bsd-2
+    (license (list license:expat license:bsd-2))))
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/4] gnu: Add libpthread_workqueue.
  2016-10-28 15:01 [PATCH] Add libdispatch ng0
  2016-10-28 15:01 ` [PATCH 1/4] gnu: Add libkqueue ng0
@ 2016-10-28 15:01 ` ng0
  2016-10-28 15:01 ` [PATCH 3/4] gnu: Add libblocks-runtime ng0
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 7+ messages in thread
From: ng0 @ 2016-10-28 15:01 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/libdispatch.scm (libpthread_workqueue): New variable.
---
 gnu/packages/libdispatch.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm
index 77c80c0..37d9195 100644
--- a/gnu/packages/libdispatch.scm
+++ b/gnu/packages/libdispatch.scm
@@ -62,3 +62,34 @@ native kernel facilities.")
     (synopsis "kqueue(2) compatibility library")
     ;; event.h is bsd-2
     (license (list license:expat license:bsd-2))))
+
+(define-public libpthread_workqueue
+  (package
+    (name "libpthread_workqueue")
+    (version "0.9.2")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/mheily/libpwq/archive/v"
+                    version ".tar.gz"))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0gi8l6jy5d7w3fff684qfjdj16snbc8vkf27y68w91xl5jy16xri"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (zero? (system* "autoreconf" "--install" "--verbose")))))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("autoconf" ,(autoconf-wrapper))
+       ("automake" ,automake)
+       ("libtool" ,libtool)))
+    (home-page "https://github.com/mheily/libpwq")
+    (description
+     "libpthread_workqueue is a POSIX threads workqueue library.")
+    (synopsis "Portable implementation of the pthread_workqueue API")
+    (license license:bsd-2)))
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/4] gnu: Add libblocks-runtime.
  2016-10-28 15:01 [PATCH] Add libdispatch ng0
  2016-10-28 15:01 ` [PATCH 1/4] gnu: Add libkqueue ng0
  2016-10-28 15:01 ` [PATCH 2/4] gnu: Add libpthread_workqueue ng0
@ 2016-10-28 15:01 ` ng0
  2016-10-28 15:01 ` [PATCH 4/4] gnu: Add libdispatch ng0
  2016-10-28 22:20 ` [PATCH] " Ricardo Wurmus
  4 siblings, 0 replies; 7+ messages in thread
From: ng0 @ 2016-10-28 15:01 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/libdispatch.scm (libblocks-runtime): New variable.
---
 gnu/packages/libdispatch.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm
index 37d9195..3902a82 100644
--- a/gnu/packages/libdispatch.scm
+++ b/gnu/packages/libdispatch.scm
@@ -23,6 +23,7 @@
   #:use-module (guix download)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages autotools)
+  #:use-module (gnu packages llvm)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages ruby))
@@ -93,3 +94,36 @@ native kernel facilities.")
      "libpthread_workqueue is a POSIX threads workqueue library.")
     (synopsis "Portable implementation of the pthread_workqueue API")
     (license license:bsd-2)))
+
+(define-public libblocks-runtime
+  (package
+    (name "libblocks-runtime")
+    (version "0.4.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/mheily/blocks-runtime/releases/"
+                    "download/v" version "/" "libblocksruntime-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1g1a25g1qfy3w21dy0kaxnj6ylbjskmsif68fw7xkavcgn6y21vq"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+           (lambda _
+             (zero? (system* "autoreconf" "--install" "--verbose")))))))
+    (native-inputs
+     `(("autoconf" ,(autoconf-wrapper))
+       ("automake" ,automake)
+       ("clang" ,clang)
+       ("libtool" ,libtool)
+       ("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/mheily/blocks-runtime/")
+    (description
+     "Blocks are a proposed extension to the C, Objective C, and C++
+languages developed by Apple to support the Grand Central Dispatch
+concurrency engine.")
+    (synopsis "Blocks Runtime")
+    (license (list license:ncsa license:expat))))
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/4] gnu: Add libdispatch.
  2016-10-28 15:01 [PATCH] Add libdispatch ng0
                   ` (2 preceding siblings ...)
  2016-10-28 15:01 ` [PATCH 3/4] gnu: Add libblocks-runtime ng0
@ 2016-10-28 15:01 ` ng0
  2016-10-28 22:20 ` [PATCH] " Ricardo Wurmus
  4 siblings, 0 replies; 7+ messages in thread
From: ng0 @ 2016-10-28 15:01 UTC (permalink / raw)
  To: guix-devel

* gnu/packages/libdispatch.scm (libdispatch): New variable.
---
 gnu/packages/libdispatch.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 44 insertions(+)

diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm
index 3902a82..1e58296 100644
--- a/gnu/packages/libdispatch.scm
+++ b/gnu/packages/libdispatch.scm
@@ -21,11 +21,14 @@
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix git-download)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
   #:use-module (gnu packages ruby))
 
 (define-public libkqueue
@@ -127,3 +130,44 @@ languages developed by Apple to support the Grand Central Dispatch
 concurrency engine.")
     (synopsis "Blocks Runtime")
     (license (list license:ncsa license:expat))))
+
+;; This commit includes a commit which drops click.
+(define-public libdispatch
+  (let ((commit "bd1808980b04830cbbd79c959b8bc554085e38a1")
+        (revision "1"))
+    (package
+      (name "libdispatch")
+      (version (string-append "0.1.3.1" "-" revision "." (string-take commit 7)))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/nickhutchinson/libdispatch")
+                      (commit commit)))
+                (file-name (string-append name "-" version "-checkout"))
+                (sha256
+                 (base32
+                  "00a6xkzrd7svk7pbi59w0rq7wxszp888lg00kzaim2ikagw67ihi"))))
+      (native-inputs
+       `(("python-2" ,python-2)))
+      (inputs
+       `(("libpthread_workqueue" ,libpthread_workqueue)
+         ("libkqueue" ,libkqueue)
+         ("libblocks-runtime" ,libblocks-runtime)))
+      (build-system cmake-build-system)
+      (arguments
+       ;;`(#:tests? #f))
+       `(#:configure-flags (list "-DDISPATCH_ENABLE_TEST_SUITE=1")))
+         ;; #:phases
+         ;; (modify-phases %standard-phases
+         ;;   (add-after 'unpack 'autogen
+         ;;     (lambda _
+      (home-page "http://nickhutchinson.me/libdispatch/")
+      (synopsis "GNU-linux port of Apple's concurrency library")
+      (description
+       "libdispatch, aka Grand Central Dispatch (GCD) is Apple's
+high-performance event-handling library.  It provides asynchronous
+task queues, monitoring of file descriptor read and write-ability,
+asynchronous I/O (for sockets and regular files), readers-writer locks,
+parallel for-loops, sane signal handling, periodic timers, semaphores
+and more.")
+      (license license:asl2.0))))
-- 
2.10.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] Add libdispatch
  2016-10-28 15:01 [PATCH] Add libdispatch ng0
                   ` (3 preceding siblings ...)
  2016-10-28 15:01 ` [PATCH 4/4] gnu: Add libdispatch ng0
@ 2016-10-28 22:20 ` Ricardo Wurmus
  2016-10-29  7:22   ` ng0
  4 siblings, 1 reply; 7+ messages in thread
From: Ricardo Wurmus @ 2016-10-28 22:20 UTC (permalink / raw)
  To: ng0; +Cc: guix-devel


ng0 <ng0@we.make.ritual.n0.is> writes:

> libdispatch:
> I think that the compiler can only find libblocks-runtime on a bsd system and that the port can not run tests.
> This is my theory, I must put it to practice, the new nvidia-texture-tools(?) required libdispatch which is why I packaged this.
> This was before the current version got released, I assume it's still required.
>
> [PATCH 1/4] gnu: Add libkque.
> [PATCH 2/4] gnu: Add libpthread_workqueue.
> [PATCH 3/4] gnu: Add libblocks-runtime.
> [PATCH 4/4] gnu: Add libdispatch.

I don’t know what this means.  If this isn’t actually working on a GNU
system I’d like to suggest to wait until you can confirm that it does.
If you need “nvidia-texture-tools” and that requires libdispatch then
please test that it does in fact work.

If you have no need for libdispatch and it seems that it’s not working
I’d rather not have it in Guix.

~~ Ricardo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Add libdispatch
  2016-10-28 22:20 ` [PATCH] " Ricardo Wurmus
@ 2016-10-29  7:22   ` ng0
  0 siblings, 0 replies; 7+ messages in thread
From: ng0 @ 2016-10-29  7:22 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

Ricardo Wurmus <rekado@elephly.net> writes:

> ng0 <ng0@we.make.ritual.n0.is> writes:
>
>> libdispatch:
>> I think that the compiler can only find libblocks-runtime on a bsd system and that the port can not run tests.
>> This is my theory, I must put it to practice, the new nvidia-texture-tools(?) required libdispatch which is why I packaged this.
>> This was before the current version got released, I assume it's still required.
>>
>> [PATCH 1/4] gnu: Add libkque.
>> [PATCH 2/4] gnu: Add libpthread_workqueue.
>> [PATCH 3/4] gnu: Add libblocks-runtime.
>> [PATCH 4/4] gnu: Add libdispatch.
>
> I don’t know what this means.  If this isn’t actually working on a GNU
> system I’d like to suggest to wait until you can confirm that it does.
> If you need “nvidia-texture-tools” and that requires libdispatch then
> please test that it does in fact work.
>
> If you have no need for libdispatch and it seems that it’s not working
> I’d rather not have it in Guix.
>
> ~~ Ricardo
>
>

Okay, I will add nvidia-texture-tools to the patches. Disregard
the patches for now.
nvidia-texture-tools was bundled with recent versions of
0ad. That was before the new version of nvt was released, so
maybe they will unbundle it now and there's no need for this at
least for 0ad. But as far as I remember some other graphical
application (maybe pixar's USD?) needed this.

I will work on a proof that it works.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-10-29  7:23 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-28 15:01 [PATCH] Add libdispatch ng0
2016-10-28 15:01 ` [PATCH 1/4] gnu: Add libkqueue ng0
2016-10-28 15:01 ` [PATCH 2/4] gnu: Add libpthread_workqueue ng0
2016-10-28 15:01 ` [PATCH 3/4] gnu: Add libblocks-runtime ng0
2016-10-28 15:01 ` [PATCH 4/4] gnu: Add libdispatch ng0
2016-10-28 22:20 ` [PATCH] " Ricardo Wurmus
2016-10-29  7:22   ` ng0

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.