unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
blob 4e5c90e2af9cac8d1be2f1ae2f341257290c0480 2577 bytes (raw)
name: distro/packages/pth.scm 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
;;; Guix --- Nix package management from Guile.         -*- coding: utf-8 -*-
;;; Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of Guix.
;;;
;;; 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.
;;;
;;; 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 Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (distro packages pth)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (guix build-system gnu))

(define-public pth
  (package
    (name "pth")
    (version "2.0.7")
    (source
     (origin
      (method url-fetch)
      (uri (string-append "mirror://gnu/pth/pth-" version
                          ".tar.gz"))
      (sha256
       (base32
        "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj"))))
    (build-system gnu-build-system)
    (arguments '(#:parallel-build? #f))
    (home-page "http://www.gnu.org/software/pth")
    (synopsis "The GNU Portable Threads library")
    (description
     "Pth is a very portable POSIX/ANSI-C based library for Unix
platforms which provides non-preemptive priority-based scheduling for
multiple threads of execution (aka ``multithreading'') inside
event-driven applications. All threads run in the same address space of
the server application, but each thread has it's own individual
program-counter, run-time stack, signal mask and errno variable.

The thread scheduling itself is done in a cooperative way, i.e., the
threads are managed by a priority- and event-based non-preemptive
scheduler. The intention is that this way one can achieve better
portability and run-time performance than with preemptive
scheduling. The event facility allows threads to wait until various
types of events occur, including pending I/O on file descriptors,
asynchronous signals, elapsed timers, pending I/O on message ports,
thread and process termination, and even customized callback functions.

Additionally Pth provides an optional emulation API for POSIX.1c
threads (\"Pthreads\") which can be used for backward compatibility to
existing multithreaded applications.")
    (license #f)))

debug log:

solving 4e5c90e ...
found 4e5c90e in https://git.savannah.gnu.org/cgit/guix.git

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

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).