From mboxrd@z Thu Jan 1 00:00:00 1970 From: ng0 Subject: [PATCH] gnu: Add libdispatch. Date: Fri, 16 Sep 2016 10:50:09 +0000 Message-ID: <87poo4m84e.fsf@we.make.ritual.n0.is> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60887) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bkqjW-0003Ob-19 for guix-devel@gnu.org; Fri, 16 Sep 2016 06:51:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bkqjQ-0005Fc-G9 for guix-devel@gnu.org; Fri, 16 Sep 2016 06:51:01 -0400 Received: from aibo.runbox.com ([91.220.196.211]:60431) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bkqjQ-0005F6-09 for guix-devel@gnu.org; Fri, 16 Sep 2016 06:50:56 -0400 Received: from [10.9.9.210] (helo=mailfront10.runbox.com) by bars.runbox.com with esmtp (Exim 4.71) (envelope-from ) id 1bkqjM-0002fe-7s for guix-devel@gnu.org; Fri, 16 Sep 2016 12:50:52 +0200 Received: from xd9bb9d06.dyn.telefonica.de ([217.187.157.6] helo=localhost) by mailfront10.runbox.com with esmtpsa (uid:892961 ) (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1bkqiu-0000FG-46 for guix-devel@gnu.org; Fri, 16 Sep 2016 12:50:24 +0200 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: guix-devel@gnu.org --==-=-= Content-Type: multipart/mixed; boundary="=-=-=" --=-=-= Content-Type: text/plain Hi, this adds libdispatch and its dependencies, needed for the newer version of nvidia-texture-tools, a dependency I want to unbundle from the source of 0ad. --=-=-= Content-Type: text/x-patch; charset=utf-8 Content-Disposition: inline; filename=0001-gnu-Add-libkqueue.patch Content-Transfer-Encoding: quoted-printable From=20ff2e6ba4151900ec06bbdcc997be83f6c68785be Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 16 Sep 2016 02:19:26 +0000 Subject: [PATCH 1/4] gnu: Add libkqueue. * gnu/local.mk: Include gnu/packages/libdispatch.scm . * gnu/packages/libdispatch.scm: Add new file. * gnu/packages/libdispatch.scm (libkqueue): New variable. =2D-- 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 a7006cb..5a3bc94 100644 =2D-- a/gnu/local.mk +++ b/gnu/local.mk @@ -200,6 +200,7 @@ GNU_SYSTEM_MODULES =3D \ %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 =2D-- /dev/null +++ b/gnu/packages/libdispatch.scm @@ -0,0 +1,64 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright =C2=A9 2016 ng0 +;;; +;;; 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 . + +(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/arc= hive/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)))) =2D-=20 2.10.0 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0002-gnu-Add-libpthread_workqueue.patch Content-Transfer-Encoding: quoted-printable From=2058b9d3d9b529ec1a1199347849810f12a77919a4 Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 16 Sep 2016 10:01:22 +0000 Subject: [PATCH 2/4] gnu: Add libpthread_workqueue. * gnu/packages/libdispatch.scm (libpthread_workqueue): New variable. =2D-- gnu/packages/libdispatch.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm index 77c80c0..3159763 100644 =2D-- a/gnu/packages/libdispatch.scm +++ b/gnu/packages/libdispatch.scm @@ -62,3 +62,33 @@ 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.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/mheily/libpwq/releases/download/v" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "13cikhmc6mmk7falwapph8lahig6g7j2cbzsaf5rh85xbkj9a666")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (zero? (system* "autoreconf" "--install" "--symlink" "--verbo= se"))))))) + (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))) =2D-=20 2.10.0 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0003-gnu-Add-libblocks-runtime.patch Content-Transfer-Encoding: quoted-printable From=20138b41aeba99ac97e2932cf08d69523190cafcf4 Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 16 Sep 2016 10:18:32 +0000 Subject: [PATCH 3/4] gnu: Add libblocks-runtime. * gnu/packages/libdispatch.scm (libblocks-runtime): New variable. =2D-- gnu/packages/libdispatch.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm index 3159763..dae3857 100644 =2D-- 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)) @@ -92,3 +93,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" "--symlink" "--verbo= se"))))))) + (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)))) =2D-=20 2.10.0 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0004-gnu-Add-libdispatch.patch Content-Transfer-Encoding: quoted-printable From=2026970808912e08a65915dc17e037247c6ccfbd6c Mon Sep 17 00:00:00 2001 From: ng0 Date: Fri, 16 Sep 2016 10:42:26 +0000 Subject: [PATCH 4/4] gnu: Add libdispatch. * gnu/packages/libdispatch.scm (libdispatch): New variable. =2D-- gnu/packages/libdispatch.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/libdispatch.scm b/gnu/packages/libdispatch.scm index dae3857..1bfa440 100644 =2D-- a/gnu/packages/libdispatch.scm +++ b/gnu/packages/libdispatch.scm @@ -22,10 +22,12 @@ #:use-module (guix packages) #:use-module (guix 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)) =20 (define-public libkqueue @@ -126,3 +128,35 @@ languages developed by Apple to support the Grand Cent= ral Dispatch concurrency engine.") (synopsis "Blocks Runtime") (license (list license:ncsa license:expat)))) + +(define-public libdispatch + (package + (name "libdispatch") + (version "0.1.3.1") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/nickhutchinson/" + "libdispatch/archive/v" version ".tar.gz= ")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17iwnfs68spg9nv6lgnglgjx11id8amy2a5ajjvqfm0mm95agnma")))) + (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)) + (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))) =2D-=20 2.10.0 --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable =2D-=20 ng0 --=-=-=-- --==-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBCgAGBQJX285jAAoJEAKilhUMIBgjgBIQAL4rIvfxQPs7jqXI8XQ6WjCN Ak5Wfj3HV3EYAFbmRNebi0bVA1ycNDgRhyyRa11XFbRTvV2SKCa0yFrN2Bq94cWZ dHACabZ37qc1MW6M6q9/XJh3KjFJ/8tWpuIbSFO6plG3BTH9DrC/ZQMwMUiPbdSc echcv7vfoCUebwYbGUWQSOwxq5ztFdZMy9VIzqxPp7Y55bOOnk6NTSuyUedC0wAU bS/s1wH9DNQgR7nD2Zo5fxAPhlLRTbj7dqcdYzaUFBRnikyvkxzp3njiE9nRYF34 QulLoQd2iatVf3u93kuKqoxmag5Bhw5PGhtCkoO6I0pom4IDUQcOrSbihQwbVeZJ IE/BJ6ymJIcWxx/i1U6XZ97FOnkGN/Zhkz0rkQ/JzYYA0blMD2WHLr6hypnIys0R u6HH1zDysYzg+qObdHC/RHqZxB4YCyFMq+0NeicFuP1JvvlLE+LJ1aaLOaaiRLaT hSE7cePjU33ZO/cqF8PCW8G2hkwcdiqHRHva2jZ8Dw/879ret/L8AChXdznV4dzM /H9CsYWDZB3S9QyLOhfYN5fS2PvkK8BVkDmBdJB+3z/qk9VJh0YeF2kx1UNpzHO3 M5qIP5sd0fhncfNQPI1QYuGRj2qcBhPmHRnI3MrFr7BYCGbUR/gjXcnUnJaHZ+qt o1kq1rqowBakCbSLSMSp =CZ3B -----END PGP SIGNATURE----- --==-=-=--