* Sync with the trunk.

svn path=/nixpkgs/branches/modular-python/; revision=26586
This commit is contained in:
Eelco Dolstra 2011-03-28 20:22:30 +00:00
commit 1439ae44be
325 changed files with 3001 additions and 1444 deletions

View file

@ -1,712 +0,0 @@
;;; GNUpdate -- Update GNU packages in Nixpkgs. -*- coding: utf-8; -*-
;;; Copyright (C) 2010 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This program 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.
;;;
;;; This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
(cond-expand (guile-2 #t)
(else (error "GNU Guile 2.0 is required")))
(use-modules (sxml ssax)
(ice-9 popen)
(ice-9 match)
(ice-9 rdelim)
(ice-9 regex)
(ice-9 vlist)
(srfi srfi-1)
(srfi srfi-9)
(srfi srfi-11)
(srfi srfi-37)
(system foreign)
(rnrs bytevectors))
;;;
;;; SNix.
;;;
(define-record-type <location>
(make-location file line column)
location?
(file location-file)
(line location-line)
(column location-column))
(define (->loc line column path)
(and line column path
(make-location path (string->number line) (string->number column))))
;; XXX: Hack to add missing exports from `(sxml ssax)' as of 1.9.10.
(let ((ssax (resolve-module '(sxml ssax))))
(for-each (lambda (sym)
(module-add! (current-module) sym
(module-variable ssax sym)))
'(ssax:warn ssax:skip-pi nl)))
;; Nix object types visible in the XML output of `nix-instantiate' and
;; mapping to S-expressions (we map to sexps, not records, so that we
;; can do pattern matching):
;;
;; at (at varpat attrspat)
;; attr (attribute loc name value)
;; attrs (attribute-set attributes)
;; attrspat (attribute-set-pattern patterns)
;; bool #f|#t
;; derivation (derivation drv-path out-path attributes)
;; ellipsis '...
;; expr (snix loc body ...)
;; function (function loc at|attrspat|varpat)
;; int int
;; list list
;; null 'null
;; path string
;; string string
;; unevaluated 'unevaluated
;; varpat (varpat name)
;;
;; Initially ATTRIBUTES in `derivation' and `attribute-set' was a promise;
;; however, handling `repeated' nodes makes it impossible to do anything
;; lazily because the whole SXML tree has to be traversed to maintain the
;; list of known derivations.
(define (xml-element->snix elem attributes body derivations)
;; Return an SNix element corresponding to XML element ELEM.
(define (loc)
(->loc (assq-ref attributes 'line)
(assq-ref attributes 'column)
(assq-ref attributes 'path)))
(case elem
((at)
(values `(at ,(car body) ,(cadr body)) derivations))
((attr)
(let ((name (assq-ref attributes 'name)))
(cond ((null? body)
(values `(attribute-pattern ,name) derivations))
((and (pair? body) (null? (cdr body)))
(values `(attribute ,(loc) ,name ,(car body))
derivations))
(else
(error "invalid attribute body" name (loc) body)))))
((attrs)
(values `(attribute-set ,(reverse body)) derivations))
((attrspat)
(values `(attribute-set-pattern ,body) derivations))
((bool)
(values (string-ci=? "true" (assq-ref attributes 'value))
derivations))
((derivation)
(let ((drv-path (assq-ref attributes 'drvPath))
(out-path (assq-ref attributes 'outPath)))
(if (equal? body '(repeated))
(let ((body (vhash-assoc drv-path derivations)))
(if (pair? body)
(values `(derivation ,drv-path ,out-path ,(cdr body))
derivations)
(error "no previous occurrence of derivation"
drv-path)))
(values `(derivation ,drv-path ,out-path ,body)
(vhash-cons drv-path body derivations)))))
((ellipsis)
(values '... derivations))
((expr)
(values `(snix ,(loc) ,@body) derivations))
((function)
(values `(function ,(loc) ,body) derivations))
((int)
(values (string->number (assq-ref attributes 'value))
derivations))
((list)
(values body derivations))
((null)
(values 'null derivations))
((path)
(values (assq-ref attributes 'value) derivations))
((repeated)
(values 'repeated derivations))
((string)
(values (assq-ref attributes 'value) derivations))
((unevaluated)
(values 'unevaluated derivations))
((varpat)
(values `(varpat ,(assq-ref attributes 'name)) derivations))
(else (error "unhandled Nix XML element" elem))))
(define xml->snix
;; Return the SNix represention of TREE, an SXML tree as returned by
;; parsing the XML output of `nix-instantiate' on Nixpkgs.
(let ((parse
(ssax:make-parser NEW-LEVEL-SEED
(lambda (elem-gi attributes namespaces expected-content
seed)
(cons '() (cdr seed)))
FINISH-ELEMENT
(lambda (elem-gi attributes namespaces parent-seed
seed)
(let ((snix (car seed))
(derivations (cdr seed)))
(let-values (((snix derivations)
(xml-element->snix elem-gi
attributes
snix
derivations)))
(cons (cons snix (car parent-seed))
derivations))))
CHAR-DATA-HANDLER
(lambda (string1 string2 seed)
;; Discard inter-node strings, which are blanks.
seed))))
(lambda (port)
;; Discard the second value returned by the parser (the derivation
;; vhash).
(caar (parse port (cons '() vlist-null))))))
(define (call-with-package snix proc)
(match snix
(('attribute _ (and attribute-name (? string?))
('derivation _ _ body))
;; Ugly pattern matching.
(let ((meta
(any (lambda (attr)
(match attr
(('attribute _ "meta" ('attribute-set metas)) metas)
(_ #f)))
body))
(package-name
(any (lambda (attr)
(match attr
(('attribute _ "name" (and name (? string?)))
name)
(_ #f)))
body))
(location
(any (lambda (attr)
(match attr
(('attribute loc "name" (? string?))
loc)
(_ #f)))
body))
(src
(any (lambda (attr)
(match attr
(('attribute _ "src" src)
src)
(_ #f)))
body)))
(proc attribute-name package-name location meta src)))))
(define (call-with-src snix proc)
;; Assume SNIX contains the SNix expression for the value of an `src'
;; attribute, as returned by `call-with-package', and call PROC with the
;; relevant SRC information, or #f if SNIX doesn't match.
(match snix
(('derivation _ _ body)
(let ((name
(any (lambda (attr)
(match attr
(('attribute _ "name" (and name (? string?)))
name)
(_ #f)))
body))
(output-hash
(any (lambda (attr)
(match attr
(('attribute _ "outputHash" (and hash (? string?)))
hash)
(_ #f)))
body))
(urls
(any (lambda (attr)
(match attr
(('attribute _ "urls" (and urls (? pair?)))
urls)
(_ #f)))
body)))
(proc name output-hash urls)))
(_ (proc #f #f #f))))
(define (src->values snix)
(call-with-src snix values))
(define (open-nixpkgs nixpkgs)
(let ((script (string-append nixpkgs
"/maintainers/scripts/eval-release.nix")))
(open-pipe* OPEN_READ "nix-instantiate"
"--strict" "--eval-only" "--xml"
script)))
(define (nix-prefetch-url url)
;; Download URL in the Nix store and return the base32-encoded SHA256 hash
;; of the file at URL
(let* ((pipe (open-pipe* OPEN_READ "nix-prefetch-url" url))
(hash (read-line pipe)))
(close-pipe pipe)
(if (eof-object? hash)
(values #f #f)
(let* ((pipe (open-pipe* OPEN_READ "nix-store" "--print-fixed-path"
"sha256" hash (basename url)))
(path (read-line pipe)))
(if (eof-object? path)
(values #f #f)
(values (string-trim-both hash) (string-trim-both path)))))))
(define (update-nix-expression file
old-version old-hash
new-version new-hash)
;; Modify FILE in-place. Ugly: we call out to sed(1).
(let ((cmd (format #f "sed -i \"~a\" -e 's/~A/~a/g ; s/~A/~A/g'"
file
(regexp-quote old-version) new-version
old-hash
(or new-hash "new hash not available, check the log"))))
(format #t "running `~A'...~%" cmd)
(system cmd)))
;;;
;;; FTP client.
;;;
(define-record-type <ftp-connection>
(%make-ftp-connection socket addrinfo)
ftp-connection?
(socket ftp-connection-socket)
(addrinfo ftp-connection-addrinfo))
(define %ftp-ready-rx
(make-regexp "^([0-9]{3}) (.+)$"))
(define (%ftp-listen port)
(let loop ((line (read-line port)))
(cond ((eof-object? line) (values line #f))
((regexp-exec %ftp-ready-rx line)
=>
(lambda (match)
(values (string->number (match:substring match 1))
(match:substring match 2))))
(else
(loop (read-line port))))))
(define (%ftp-command command expected-code port)
(format port "~A~A~A" command (string #\return) (string #\newline))
(let-values (((code message) (%ftp-listen port)))
(if (eqv? code expected-code)
message
(throw 'ftp-error port command code message))))
(define (%ftp-login user pass port)
(let ((command (string-append "USER " user (string #\newline))))
(display command port)
(let-values (((code message) (%ftp-listen port)))
(case code
((230) #t)
((331) (%ftp-command (string-append "PASS " pass) 230 port))
(else (throw 'ftp-error port command code message))))))
(define (ftp-open host)
(catch 'getaddrinfo-error
(lambda ()
(let* ((ai (car (getaddrinfo host "ftp")))
(s (socket (addrinfo:fam ai) (addrinfo:socktype ai)
(addrinfo:protocol ai))))
(connect s (addrinfo:addr ai))
(setvbuf s _IOLBF)
(let-values (((code message) (%ftp-listen s)))
(if (eqv? code 220)
(begin
;(%ftp-command "OPTS UTF8 ON" 200 s)
(%ftp-login "anonymous" "ludo@example.com" s)
(%make-ftp-connection s ai))
(begin
(format (current-error-port) "FTP to `~a' failed: ~A: ~A~%"
host code message)
(close s)
#f)))))
(lambda (key errcode)
(format (current-error-port) "failed to resolve `~a': ~a~%"
host (gai-strerror errcode))
#f)))
(define (ftp-close conn)
(close (ftp-connection-socket conn)))
(define (ftp-chdir conn dir)
(%ftp-command (string-append "CWD " dir) 250
(ftp-connection-socket conn)))
(define (ftp-pasv conn)
(define %pasv-rx
(make-regexp "([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+),([0-9]+)"))
(let ((message (%ftp-command "PASV" 227 (ftp-connection-socket conn))))
(cond ((regexp-exec %pasv-rx message)
=>
(lambda (match)
(+ (* (string->number (match:substring match 5)) 256)
(string->number (match:substring match 6)))))
(else
(throw 'ftp-error conn "PASV" 227 message)))))
(define* (ftp-list conn #:optional directory)
(define (address-with-port sa port)
(let ((fam (sockaddr:fam sa))
(addr (sockaddr:addr sa)))
(cond ((= fam AF_INET)
(make-socket-address fam addr port))
((= fam AF_INET6)
(make-socket-address fam addr port
(sockaddr:flowinfo sa)
(sockaddr:scopeid sa)))
(else #f))))
(if directory
(ftp-chdir conn directory))
(let* ((port (ftp-pasv conn))
(ai (ftp-connection-addrinfo conn))
(s (socket (addrinfo:fam ai) (addrinfo:socktype ai)
(addrinfo:protocol ai))))
(connect s (address-with-port (addrinfo:addr ai) port))
(setvbuf s _IOLBF)
(dynamic-wind
(lambda () #t)
(lambda ()
(%ftp-command "LIST" 150 (ftp-connection-socket conn))
(let loop ((line (read-line s))
(result '()))
(cond ((eof-object? line) (reverse result))
((regexp-exec %ftp-ready-rx line)
=>
(lambda (match)
(let ((code (string->number (match:substring match 1))))
(if (= 126 code)
(reverse result)
(throw 'ftp-error conn "LIST" code)))))
(else
(loop (read-line s)
(let ((file (car (reverse (string-tokenize line)))))
(cons file result)))))))
(lambda ()
(close s)
(let-values (((code message) (%ftp-listen (ftp-connection-socket conn))))
(or (eqv? code 226)
(throw 'ftp-error conn "LIST" code message)))))))
;;;
;;; GNU.
;;;
(define %ignored-package-attributes
;; Attribute name of packages to be ignored.
'("bash" "bashReal" "bashInteractive" ;; the full versioned name is incorrect
"autoconf213"
"automake17x"
"automake19x"
"automake110x"
"automake" ;; = 1.10.x
"bison1875"
"bison23"
"bison" ;; = 2.3
"emacs22"
"emacsSnapshot"
"gcc295"
"gcc33"
"gcc34"
"gcc40"
"gcc41"
"gcc42"
"gcc43"
"glibc25"
"glibc27"
"glibc29"
"guile_1_9"
))
(define (gnu? package)
;; Return true if PACKAGE (a snix expression) is a GNU package (according
;; to a simple heuristic.) Otherwise return #f.
(match package
(('attribute _ attribute-name ('derivation _ _ body))
(any (lambda (attr)
(match attr
(('attribute _ "meta" ('attribute-set metas))
(any (lambda (attr)
(match attr
(('attribute _ "description" value)
(string-prefix? "GNU" value))
(('attribute _ "homepage" value)
(string-contains value "www.gnu.org"))
(_ #f)))
metas))
(_ #f)))
body))
(_ #f)))
(define (gnu-packages packages)
(fold (lambda (package gnu)
(match package
(('attribute _ "emacs23Packages" emacs-packages)
;; XXX: Should prepend `emacs23Packages.' to attribute names.
(append (gnu-packages emacs-packages) gnu))
(('attribute _ attribute-name ('derivation _ _ body))
(if (member attribute-name %ignored-package-attributes)
gnu
(if (gnu? package)
(cons package gnu)
gnu)))
(_ gnu)))
'()
packages))
(define (ftp-server/directory project)
(define quirks
'(("commoncpp2" "ftp.gnu.org" "/gnu/commoncpp" #f)
("libgcrypt" "ftp.gnupg.org" "/gcrypt" #t)
("libgpg-error" "ftp.gnupg.org" "/gcrypt" #t)
("gnupg" "ftp.gnupg.org" "/gcrypt" #t)
("gnu-ghostscript" "ftp.gnu.org" "/ghostscript" #f)
("GNUnet" "ftp.gnu.org" "/gnu/gnunet" #f)
("mit-scheme" "ftp.gnu.org" "/gnu/mit-scheme/stable.pkg")
("icecat" "ftp.gnu.org" "/gnu/gnuzilla" #f)
("TeXmacs" "ftp.texmacs.org" "/TeXmacs/targz" #f)))
(let ((quirk (assoc project quirks)))
(match quirk
((_ server directory subdir?)
(values server (if (not subdir?)
directory
(string-append directory "/" project))))
(else
(values "ftp.gnu.org" (string-append "/gnu/" project))))))
(define (nixpkgs->gnu-name project)
(define quirks
'(("gcc-wrapper" . "gcc")
("ghostscript" . "gnu-ghostscript") ;; ../ghostscript/gnu-ghoscript-X.Y.tar.gz
("gnum4" . "m4")
("gnugrep" . "grep")
("gnused" . "sed")
("gnutar" . "tar")
("gnunet" . "GNUnet") ;; ftp.gnu.org/gnu/gnunet/GNUnet-x.y.tar.gz
("mitscheme" . "mit-scheme")
("texmacs" . "TeXmacs")))
(or (assoc-ref quirks project) project))
(define (releases project)
;; TODO: Handle project release trees like that of IceCat and MyServer.
(define release-rx
(make-regexp (string-append "^" project "-[0-9].*\\.tar\\.")))
(catch #t
(lambda ()
(let-values (((server directory) (ftp-server/directory project)))
(let* ((conn (ftp-open server))
(files (ftp-list conn directory)))
(ftp-close conn)
(map (lambda (tarball)
(let ((end (string-contains tarball ".tar")))
(substring tarball 0 end)))
;; Filter out signatures, deltas, and files which are potentially
;; not releases of PROJECT (e.g., in /gnu/guile, filter out
;; guile-oops and guile-www).
(filter (lambda (file)
(and (not (string-suffix? ".sig" file))
(regexp-exec release-rx file)))
files)))))
(lambda (key subr message . args)
(format (current-error-port)
"failed to get release list for `~A': ~A ~A~%"
project message args)
'())))
(define version-string>?
(let ((strverscmp
(let ((sym (or (dynamic-func "strverscmp" (dynamic-link))
(error "could not find `strverscmp' (from GNU libc)"))))
(make-foreign-function int sym (list '* '*))))
(string->null-terminated-utf8
(lambda (s)
(let* ((utf8 (string->utf8 s))
(len (bytevector-length utf8))
(nts (make-bytevector (+ len 1))))
(bytevector-copy! utf8 0 nts 0 len)
(bytevector-u8-set! nts len 0)
nts))))
(lambda (a b)
(let ((a (bytevector->foreign (string->null-terminated-utf8 a)))
(b (bytevector->foreign (string->null-terminated-utf8 b))))
(> (strverscmp a b) 0)))))
(define (latest-release project)
;; Return "FOO-X.Y" or #f.
(let ((releases (releases project)))
(and (not (null? releases))
(fold (lambda (release latest)
(if (version-string>? release latest)
release
latest))
""
releases))))
(define (package/version name+version)
(let ((hyphen (string-rindex name+version #\-)))
(if (not hyphen)
(values name+version #f)
(let ((name (substring name+version 0 hyphen))
(version (substring name+version (+ hyphen 1)
(string-length name+version))))
(values name version)))))
(define (file-extension file)
(let ((dot (string-rindex file #\.)))
(and dot (substring file (+ 1 dot) (string-length file)))))
(define (packages-to-update gnu-packages)
(fold (lambda (pkg result)
(call-with-package pkg
(lambda (attribute name+version location meta src)
(let-values (((name old-version)
(package/version name+version)))
(let ((latest (latest-release (nixpkgs->gnu-name name))))
(cond ((not latest)
(format #t "~A [unknown latest version]~%"
name+version)
result)
((string=? name+version latest)
(format #t "~A [up to date]~%" name+version)
result)
(else
(let-values (((project new-version)
(package/version latest))
((old-name old-hash old-urls)
(src->values src)))
(format #t "~A -> ~A [~A]~%" name+version latest
(and (pair? old-urls) (car old-urls)))
(let* ((url (and (pair? old-urls)
(car old-urls)))
(new-hash (fetch-gnu project new-version
(if url
(file-extension url)
"gz"))))
(cons (list name attribute
old-version old-hash
new-version new-hash
location)
result))))))))))
'()
gnu-packages))
(define (fetch-gnu project version archive-type)
(let-values (((server directory)
(ftp-server/directory project)))
(let* ((base (string-append project "-" version ".tar." archive-type))
(url (string-append "ftp://" server "/" directory "/" base))
(sig (string-append base ".sig"))
(sig-url (string-append url ".sig")))
(let-values (((hash path) (nix-prefetch-url url)))
(pk 'prefetch-url url hash path)
(and hash path
(begin
(false-if-exception (delete-file sig))
(system* "wget" sig-url)
(if (file-exists? sig)
(let ((ret (system* "gpg" "--verify" sig path)))
(false-if-exception (delete-file sig))
(if (and ret (= 0 (status:exit-val ret)))
hash
(begin
(format (current-error-port)
"signature verification failed for `~a'~%"
base)
(format (current-error-port)
"(could be because the public key is not in your keyring)~%")
#f)))
(begin
(format (current-error-port)
"no signature for `~a'~%" base)
hash))))))))
;;;
;;; Main program.
;;;
(define %options
;; Specifications of the command-line options.
(list (option '(#\h "help") #f #f
(lambda (opt name arg result)
(format #t "Usage: gnupdate [OPTIONS...]~%")
(format #t "GNUpdate -- update Nix expressions of GNU packages in Nixpkgs~%")
(format #t "~%")
(format #t " -x, --xml=FILE Read XML output of `nix-instantiate'~%")
(format #t " from FILE.~%")
(format #t " -d, --dry-run Don't actually update Nix expressions~%")
(format #t " -h, --help Give this help list.~%~%")
(format #t "Report bugs to <ludo@gnu.org>~%")
(exit 0)))
(option '(#\d "dry-run") #f #f
(lambda (opt name arg result)
(alist-cons 'dry-run #t result)))
(option '(#\x "xml") #t #f
(lambda (opt name arg result)
(alist-cons 'xml-file arg result)))))
(define-public (main . args)
;; Assume Nixpkgs is under $NIXPKGS or ~/src/nixpkgs.
(let* ((opts (args-fold args %options
(lambda (opt name arg result)
(error "unrecognized option `~A'" name))
(lambda (operand result)
(error "extraneous argument `~A'" operand))
'()))
(home (getenv "HOME"))
(path (or (getenv "NIXPKGS")
(string-append home "/src/nixpkgs")))
(snix (begin
(format (current-error-port) "parsing XML...~%")
(xml->snix
(or (and=> (assoc-ref opts 'xml-file) open-input-file)
(open-nixpkgs path)))))
(packages (match snix
(('snix _ ('attribute-set attributes))
attributes)
(else #f)))
(gnu (gnu-packages packages))
(updates (packages-to-update gnu)))
(format #t "~%~A packages to update...~%" (length updates))
(for-each (lambda (update)
(match update
((name attribute
old-version old-hash
new-version new-hash
location)
(if (assoc-ref opts 'dry-run)
(format #t "`~a' would be updated from ~a to ~a (~a -> ~a)~%"
name old-version new-version
old-hash new-hash)
(update-nix-expression (location-file location)
old-version old-hash
new-version new-hash)))
(_ #f)))
updates)
#t))

View file

@ -6,11 +6,11 @@ stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "amarok";
version = "2.3.2";
version = "2.4.0";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
sha256 = "0dw2928vkd42h3d8nsb8i4xhp8qfj1zsfc1m9wrzrsxl0vd6j9c4";
sha256 = "52be0e926d1362828a4bf64e2a174dc009c85f6f33da4ca589f0f09ab9b7085c";
};
QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";

View file

@ -1,6 +0,0 @@
source $stdenv/setup
ensureDir "$out/lib/bmp/Input"
installFlags="install libdir=$out/lib/bmp/Input"
genericBuild

View file

@ -1,11 +0,0 @@
{stdenv, fetchurl, pkgconfig, bmp, libmpcdec, taglib}:
stdenv.mkDerivation {
name = "bmp-plugin-musepack-1.2";
builder = ./builder.sh;
src = fetchurl {
url = http://files2.musepack.net/linux/plugins/bmp-musepack-1.2.tar.bz2;
md5 = "5fe0c9d341ca37d05c780a478f829a5f";
};
buildInputs = [pkgconfig bmp libmpcdec taglib];
}

View file

@ -1,19 +0,0 @@
{stdenv, fetchurl, pkgconfig, bmp}:
stdenv.mkDerivation {
name = "bmp-plugin-wma-1.0.5";
src = fetchurl {
url = http://mcmcc.bat.ru/xmms-wma/xmms-wma-1.0.5.tar.bz2;
md5 = "5d62a0f969617aeb40096362c7a8a506";
};
buildInputs = [pkgconfig bmp];
buildFlags = "-f Makefile.bmp";
installPhase = ''
ensureDir "$out/lib/bmp/Input"
cp libwma.so "$out/lib/bmp/Input"
'';
}

View file

@ -1,21 +0,0 @@
{ stdenv, fetchurl, pkgconfig, alsaLib, esound, libogg, libvorbis, id3lib
, glib, gtk, libglade
}:
stdenv.mkDerivation {
name = "bmp-0.9.7.1";
src = fetchurl {
url = mirror://sourceforge/beepmp/bmp-0.9.7.1.tar.gz;
md5 = "c25d5a8d49cc5851d13d525a20023c4c";
};
buildInputs = [
pkgconfig alsaLib esound libogg libvorbis id3lib libglade
];
meta = {
description = "Beep Media Player, an XMMS fork";
};
propagatedBuildInputs = [glib gtk];
}

View file

@ -1,20 +1,25 @@
{ stdenv, fetchurl, emacs, texinfo }:
let
version = "0.8.2";
version = "1.0.0";
in
stdenv.mkDerivation {
name = "magit-${version}";
src = fetchurl {
url = "http://github.com/downloads/philjackson/magit/magit-${version}.tar.gz";
sha256 = "fc02c23e3e8994e9c3e3299d560d0cbfed888dcc66088f06b8cea3bc89cd6ae8";
sha256 = "1hfdl90d96zin31v8x4p8zx5f0x0i5i9hccysx6q3prdgw9r6wzq";
};
buildInputs = [emacs texinfo];
configurePhase =
'' sed -i Makefile \
-e "s|^PREFIX=.*$|PREFIX=$out|g ; s|/etc/emacs/|$out/etc/emacs/|"
'';
meta = {
description = "An an interface to Git, implemented as an extension to Emacs.";
description = "Magit, an Emacs interface to Git";
longDescription = ''
With Magit, you can inspect and modify your Git repositories with
@ -31,6 +36,6 @@ stdenv.mkDerivation {
license = "GPLv3+";
homepage = "http://github.com/philjackson/magit";
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.simons ];
maintainers = with stdenv.lib.maintainers; [ simons ludo ];
};
}

View file

@ -1,11 +1,11 @@
{ fetchurl, stdenv, ncurses, help2man }:
stdenv.mkDerivation rec {
name = "zile-2.3.22";
name = "zile-2.3.23";
src = fetchurl {
url = "mirror://gnu/zile/${name}.tar.gz";
sha256 = "0zkmym5vpb653c5gmzic8588v4ksidnhh33s4pjvr24n7vgj9biy";
sha256 = "01vh7mar2m5p3rmfidl5g2vs86kb3iyljm345cqqh1h6bynqmbc6";
};
buildInputs = [ ncurses ];

View file

@ -1,15 +1,15 @@
{ stdenv, fetchurl, libX11, cups, glib, pango, atk, gtk, zlib, libxml2 }:
{ stdenv, fetchurl, libX11, cups, gtkLibs, zlib, libxml2 }:
assert stdenv.system == "i686-linux";
stdenv.mkDerivation {
name = "adobe-reader-9.4-1";
name = "adobe-reader-9.4.2-1";
builder = ./builder.sh;
src = fetchurl {
url = http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.4.0/enu/AdbeRdr9.4-1_i486linux_enu.tar.bz2;
sha256 = "093msw0b5k3ab0vv7bh4n81fxp51s2lynvsm076i5jvlp71l8adf";
url = http://ardownload.adobe.com/pub/adobe/reader/unix/9.x/9.4.2/enu/AdbeRdr9.4.2-1_i486linux_enu.tar.bz2;
sha256 = "0xm8ngr7lslhxli9ly1g2w7ichip88vpf7lfx1ma0liaw4m2gv0h";
};
# !!! Adobe Reader contains copies of OpenSSL, libcurl, and libicu.
@ -17,7 +17,13 @@ stdenv.mkDerivation {
# versions.
libPath = stdenv.lib.makeLibraryPath
[ stdenv.gcc.gcc libX11 glib pango atk gtk zlib libxml2 cups ];
[ stdenv.gcc.gcc libX11 zlib libxml2 cups
gtkLibs.pango
gtkLibs.atk
gtkLibs.gtk
gtkLibs.glib
gtkLibs.gdk_pixbuf
];
meta = {
description = "Adobe Reader, a viewer for PDF documents";

View file

@ -0,0 +1,50 @@
{ fetchurl, stdenv, openssl, db4, boost, zlib, glib, libSM, gtk, wxGTK }:
stdenv.mkDerivation rec {
version = "0.3.20.2";
name = "bitcoin-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/bitcoin/Bitcoin/bitcoin-0.3.20/bitcoin-0.3.20.2-linux.tar.gz";
sha256 = "1maq75myqkyngfi9ngaw6kv6nfia5wsjj2zjhns75k3wxhmvgpw5";
};
buildInputs = [ openssl db4 boost zlib glib libSM gtk wxGTK ];
preConfigure = ''
cd src
mkdir obj
mkdir obj/nogui
substituteInPlace makefile.unix \
--replace "-Wl,-Bstatic" "" \
--replace "-Wl,-Bdynamic" "" \
--replace "-mt \\" " \\" \
--replace "-l wx_gtk2ud-2.9" "-l wx_gtk2u_core-2.9 -l wx_gtk2u_html-2.9 -l wx_gtk2u_adv-2.9" \
--replace "DEBUGFLAGS=-g -D__WXDEBUG__" "DEBUGFLAGS=" \
--replace "/usr/local/include/wx-2.9" "${wxGTK}/include/wx-2.9" \
--replace "/usr/local/lib/wx/include/gtk2-unicode-debug-static-2.9" "${wxGTK}/lib/wx/include/gtk2-unicode-release-2.9"
'';
makefile = "makefile.unix";
buildFlags = "bitcoin bitcoind";
installPhase = ''
ensureDir $out/bin
cp bitcoin $out/bin
cp bitcoind $out/bin
'';
meta = {
description = "Bitcoin is a peer-to-peer currency";
longDescription=''
Bitcoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly
with each other, with the help of a P2P network to check for double-spending.
'';
homepage = "http://www.bitcoin.org/";
maintainers = [ stdenv.lib.maintainers.roconnor ];
license = "MIT";
};
}

View file

@ -1,5 +1,5 @@
{ stdenv, fetchurl, gtk, glib, pkgconfig, libgnome, libgnomeui, vte
, curl, cdparanoia, libid3tag }:
, curl, cdparanoia, libid3tag, ncurses }:
stdenv.mkDerivation {
name = "grip-3.2.0";
@ -9,9 +9,9 @@ stdenv.mkDerivation {
sha256 = "1jh5x35rq15n8ivlp9wbdx8x9mj6agf5rfdv8sd6gai851zsclas";
};
buildInputs = [ gtk glib pkgconfig libgnome libgnomeui vte curl cdparanoia libid3tag ];
buildInputs = [ gtk glib pkgconfig libgnome libgnomeui vte curl cdparanoia libid3tag ncurses ];
meta = {
meta = {
description = "GTK+-based audio CD player/ripper";
homepage = http://nostatic.org/grip;
license = "GPLv2";

View file

@ -1,7 +1,6 @@
{ stdenv, fetchurl, cmake, qt4, perl, shared_mime_info, libvorbis, taglib
, ffmpeg, flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext
, kdelibs, kdemultimedia, cdrdao, cdrtools, dvdplusrwtools
, automoc4, phonon, makeWrapper
, kdelibs, kdemultimedia, automoc4, phonon, makeWrapper
}:
stdenv.mkDerivation rec {
@ -13,14 +12,10 @@ stdenv.mkDerivation rec {
buildInputs = [ cmake qt4 perl shared_mime_info libvorbis taglib
ffmpeg flac libsamplerate libdvdread lame libsndfile
libmad gettext stdenv.gcc.libc cdrdao cdrtools
kdelibs kdemultimedia automoc4 phonon dvdplusrwtools
libmad gettext stdenv.gcc.libc
kdelibs kdemultimedia automoc4 phonon
makeWrapper ];
postInstall = ''
wrapProgram $out/bin/k3b --suffix PATH : "${cdrdao}/bin:${dvdplusrwtools}/bin:${cdrtools}/bin"
'';
meta = with stdenv.lib; {
description = "CD/DVD Burning Application for KDE";
license = licenses.gpl2Plus;

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, makeWrapper, autoconf, automake, boost, file, gettext
{ stdenv, fetchurl, makeWrapper, boost, file, gettext
, glib, glibc, gnome_keyring, gtk, gtkmm, intltool, libctemplate, libglade
, libgnome, libsigcxx, libtool, libuuid, libxml2, libzip, lua, mesa, mysql
, pango, paramiko, pcre, pexpect, pkgconfig, pycrypto, python, sqlite
@ -6,22 +6,20 @@
stdenv.mkDerivation rec {
pname = "mysql-workbench";
version = "5.2.31a";
version = "5.2.33";
name = "${pname}-${version}";
src = fetchurl {
url = "http://mirror.services.wisc.edu/mysql/Downloads/MySQLGUITools/mysql-workbench-gpl-${version}-src.tar.gz";
sha256 = "0mvjpin2qmnr8ksiknpcmlqjh5r3mafjcjdrnzbccyxc6r55xiy3";
sha256 = "193iikz0wfm3yvazficxfiqb84f34psq0bcasp3l41n9dygbgldc";
};
buildInputs = [ autoconf automake boost file gettext glib glibc gnome_keyring gtk gtkmm intltool
buildInputs = [ boost file gettext glib glibc gnome_keyring gtk gtkmm intltool
libctemplate libglade libgnome libsigcxx libtool libuuid libxml2 libzip lua makeWrapper mesa
mysql paramiko pcre pexpect pkgconfig pycrypto python sqlite ];
preConfigure = ''
substituteInPlace $(pwd)/frontend/linux/workbench/mysql-workbench.in --replace "catchsegv" "${glibc}/bin/catchsegv"
./autogen.sh --prefix=$out
'';
postInstall = ''
@ -58,7 +56,7 @@ mkfifo $FIFOCTL
) &
exec 19> $FIFOCTL
'
'
'';
meta = with stdenv.lib; {

View file

@ -1,8 +1,9 @@
{ stdenv, fetchurl, perlSupport, libX11, libXt, libXft, ncurses, perl }:
{ stdenv, fetchurl, perlSupport, libX11, libXt, libXft, ncurses, perl,
fontconfig, freetype, pkgconfig, libXrender }:
let
name = "rxvt-unicode";
version = "9.07";
version = "9.10";
n = "${name}-${version}";
in
@ -11,18 +12,21 @@ stdenv.mkDerivation (rec {
name = "${n}${if perlSupport then "-with-perl" else ""}";
src = fetchurl {
url = "http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-9.07.tar.bz2";
sha256 = "18y5mb3cm1gawjm723q5r7yk37s9drzg39kna036i694m2667865";
url = "http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-${version}.tar.bz2";
sha256 = "1c238f7e545b1a8da81239b826fb2a7d196c73effbcbd211db7a50995a0a067a";
};
buildInputs =
[ libX11 libXt libXft ncurses /* required to build the terminfo file */ ]
[ libX11 libXt libXft ncurses /* required to build the terminfo file */
fontconfig freetype pkgconfig libXrender ]
++ stdenv.lib.optional perlSupport perl;
preConfigure =
''
configureFlags="${if perlSupport then "--enable-perl" else "--disable-perl"}";
export TERMINFO=$out/share/terminfo # without this the terminfo won't be compiled by tic, see man tic
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender "
''
# make urxvt find its perl file lib/perl5/site_perl is added to PERL5LIB automatically
+ stdenv.lib.optionalString perlSupport ''

View file

@ -1,10 +1,10 @@
{stdenv, fetchurl, wxGTK, chmlib}:
stdenv.mkDerivation {
name = "xchm-1.17";
name = "xchm-1.18";
src = fetchurl {
url = mirror://sourceforge/xchm/xchm-1.17.tar.gz;
sha256 = "0yizisn4833nnpd4apallyg8iv334y00hv3awbsbc0ks2zf93x0n";
url = mirror://sourceforge/xchm/xchm-1.18.tar.gz;
sha256 = "1wvvyzqbmj3c6i46x4vpxkawjwmmp276r84ifvlzaj5q4b52g5gw";
};
buildInputs = [wxGTK chmlib];

View file

@ -1,24 +1,24 @@
{ GConf, alsaLib, atk, bzip2, cairo, cups, dbus, dbus_glib, expat,
fetchurl, ffmpeg, fontconfig, freetype, glib, gtk, libX11,
libXScrnSaver, libXdamage, libXext, libXrender, libXt, libXtst,
libgcrypt, libjpeg, libpng, makeWrapper, nspr, nss, pango, patchelf,
stdenv, unzip, zlib }:
{ GConf, alsaLib, bzip2, cairo, cups, dbus, dbus_glib, expat
, fetchurl, ffmpeg, fontconfig, freetype, gtkLibs, libX11
, libXScrnSaver, libXdamage, libXext, libXrender, libXt, libXtst
, libgcrypt, libjpeg, libpng, makeWrapper, nspr, nss, patchelf
, stdenv, unzip, zlib, pam }:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" ;
stdenv.mkDerivation rec {
name = "chrome-${version}";
version = "75853";
version = "78873";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://build.chromium.org/f/chromium/continuous/linux64/2011-02-23/${version}/chrome-linux.zip";
sha256 = "1bh507j1pm3qrkj8afzhmqicza5nms6f4dc9848xjgcvj9x2qii7";
url = "http://build.chromium.org/f/chromium/continuous/linux64/2011-03-21/${version}/chrome-linux.zip";
sha256 = "04jmk4hfj305iyc6mi26iy617q4hd8341vfnl830qy02cp8pwf03";
}
else if stdenv.system == "i686-linux" then
fetchurl {
url = "http://build.chromium.org/f/chromium/continuous/linux/2011-02-23/${version}/chrome-linux.zip";
sha256 = "0rq888yvw5zsh0c3jnp115y4sl1q5kn4pz8flnwhrh35ca15lchn";
url = "http://build.chromium.org/f/chromium/continuous/linux/2011-03-21/${version}/chrome-linux.zip";
sha256 = "0jilfj5kk6zwr02m6982ss7xxnalmny8ml6m5k91h6gnlsrgi808";
}
else throw "Chromium is not supported on this platform.";
@ -28,10 +28,13 @@ stdenv.mkDerivation rec {
libPath =
stdenv.lib.makeLibraryPath
[ GConf alsaLib atk bzip2 cairo cups dbus dbus_glib expat
ffmpeg fontconfig freetype glib gtk libX11 libXScrnSaver
[ GConf alsaLib bzip2 cairo cups dbus dbus_glib expat
ffmpeg fontconfig freetype libX11 libXScrnSaver
libXdamage libXext libXrender libXt libXtst libgcrypt libjpeg
libpng nspr nss pango stdenv.gcc.gcc zlib stdenv.gcc.libc ];
libpng nspr nss stdenv.gcc.gcc zlib stdenv.gcc.libc
gtkLibs.glib gtkLibs.gtk gtkLibs.gdk_pixbuf gtkLibs.pango
pam
];
installPhase = ''
ensureDir $out/bin

View file

@ -1,138 +0,0 @@
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
, freetype, fontconfig, file, alsaLib, nspr, nss
, # If you want the resulting program to call itself "Firefox" instead
# of "Shiretoko" or whatever, enable this option. However, those
# binaries may not be distributed without permission from the
# Mozilla Foundation, see
# http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
rec {
firefoxVersion = "3.5.10";
xulVersion = "1.9.1.10"; # this attribute is used by other packages
src = fetchurl {
url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
sha1 = "9e84dee03f003eaf79df12de9d13ac8f6c4cd9b1";
};
commonConfigureFlags =
[ "--enable-optimize"
"--disable-debug"
"--enable-strip"
"--with-system-jpeg"
"--with-system-zlib"
"--with-system-bz2"
"--with-system-nspr"
#"--with-system-nss"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
"--enable-system-cairo"
#"--enable-system-sqlite" # <-- this seems to be discouraged
"--disable-crashreporter"
"--disable-tests"
];
xulrunner = stdenv.mkDerivation {
name = "xulrunner-${xulVersion}";
inherit src;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
alsaLib nspr /* nss */
];
configureFlags =
[ "--enable-application=xulrunner"
"--disable-javaxpcom"
] ++ commonConfigureFlags;
# !!! Temporary hack.
preBuild = ''
export NIX_ENFORCE_PURITY=
'';
installFlags = "SKIP_GRE_REGISTRATION=1";
postInstall = ''
# Fix some references to /bin paths in the Xulrunner shell script.
substituteInPlace $out/bin/xulrunner \
--replace /bin/pwd "$(type -tP pwd)" \
--replace /bin/ls "$(type -tP ls)"
# Fix run-mozilla.sh search
libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
echo libDir: $libDir
test -n "$libDir"
cd $out/bin
mv xulrunner ../lib/$libDir/
for i in $out/lib/$libDir/*; do
file $i;
if file $i | grep executable &>/dev/null; then
ln -s $i $out/bin
fi;
done;
rm -f $out/bin/run-mozilla.sh
''; # */
meta = {
description = "Mozilla Firefox XUL runner";
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = { inherit gtk; version = xulVersion; };
};
firefox = stdenv.mkDerivation rec {
name = "firefox-${firefoxVersion}";
inherit src;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr
];
propagatedBuildInputs = [xulrunner];
configureFlags =
[ "--enable-application=browser"
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
]
++ commonConfigureFlags
++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
postInstall = ''
libDir=$(cd $out/lib && ls -d firefox-[0-9]*)
test -n "$libDir"
ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $out/lib/$libDir/xulrunner
# Register extensions etc. !!! is this needed anymore?
echo "running firefox -register..."
$out/bin/firefox -register
''; # */
meta = {
description = "Mozilla Firefox - the browser, reloaded";
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = {
inherit gtk xulrunner nspr;
isFirefox3Like = true;
};
};
}

View file

@ -12,14 +12,14 @@
rec {
firefoxVersion = "3.6.15";
firefoxVersion = "3.6.16";
xulVersion = "1.9.2.15"; # this attribute is used by other packages
xulVersion = "1.9.2.16"; # this attribute is used by other packages
src = fetchurl {
url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
sha1 = "bfb69ae49b2def7482543d4d982fa58993a458e9";
sha1 = "38124597440b7d60aa568adeef23659575841e92";
};

View file

@ -11,16 +11,18 @@
enableOfficialBranding ? false
}:
assert stdenv.gcc ? libc;
rec {
firefoxVersion = "4.0b7";
firefoxVersion = "4.0";
xulVersion = "2.0b7"; # this attribute is used by other packages
xulVersion = "2.0"; # this attribute is used by other packages
src = fetchurl {
url = "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2";
sha256 = "02cc466a92af828ff3bc563d4515bd98064cf5f136b5871e072b9408fb4db128";
sha1 = "403da9dd65662e5c4dd34299214e04cb6f80575e";
};
commonConfigureFlags =
@ -47,7 +49,7 @@ rec {
inherit src;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
alsaLib nspr /* nss */ libnotify xlibs.pixman libvpx yasm mesa
@ -60,9 +62,11 @@ rec {
"--disable-javaxpcom"
] ++ commonConfigureFlags;
enableParallelBuilding = true;
# !!! Temporary hack.
preBuild = ''
export NIX_ENFORCE_PURITY=
export NIX_ENFORCE_PURITY=
'';
# Hack to work around make's idea of -lbz2 dependency
@ -111,6 +115,8 @@ rec {
inherit src;
enableParallelBuilding = true;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr libnotify
@ -122,6 +128,7 @@ rec {
configureFlags =
[ "--enable-application=browser"
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
"--enable-chrome-format=jar"
]
++ commonConfigureFlags
++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";

View file

@ -1,23 +0,0 @@
diff -rc mozilla-orig/xpcom/io/nsLocalFileUnix.cpp mozilla/xpcom/io/nsLocalFileUnix.cpp
*** mozilla-orig/xpcom/io/nsLocalFileUnix.cpp 2004-04-03 01:48:18.000000000 +0200
--- mozilla/xpcom/io/nsLocalFileUnix.cpp 2004-10-05 19:48:04.000000000 +0200
***************
*** 634,639 ****
--- 634,640 ----
// get the dirs old permissions
if (NS_FAILED(rv = GetPermissions(&oldPerms)))
return rv;
+ oldPerms |= 0200;
if (NS_FAILED(rv = newParent->Create(DIRECTORY_TYPE, oldPerms)))
return rv;
} else { // dir exists lets try to use leaf
***************
*** 758,763 ****
--- 759,765 ----
// get the old permissions
PRUint32 myPerms;
GetPermissions(&myPerms);
+ myPerms |= 0200;
// Create the new file with the old file's permissions, even if write
// permission is missing. We can't create with write permission and

View file

@ -1,10 +0,0 @@
--- mozilla/layout/build/Makefile.in.orig 2007-01-13 14:23:19.000000000 -0200
+++ mozilla/layout/build/Makefile.in 2007-01-13 14:24:55.000000000 -0200
@@ -282,5 +282,6 @@ LDFLAGS += -Wl,-LD_LAYOUT:lgot_buffer=50
endif
endif
+LDFLAGS += -lX11 -lXrender
export:: $(BUILD_DATE)

View file

@ -52,9 +52,9 @@ let
url = http://download.macromedia.com/pub/labs/flashplayer10/flashplayer_square_p2_32bit_debug_linux_092710.tar.gz;
sha256 = "11w3mxa39l4mnlsqzlwbdh1sald549afyqbx2kbid7in5qzamlcc";
} else {
version = "10.1.102.64";
version = "10.2.152.27";
url = http://fpdownload.macromedia.com/get/flashplayer/current/install_flash_player_10_linux.tar.gz;
sha256 = "1jfk9va3id0m6q6csg6gfycmryvi7kylbb7dswpsh6zh1zv00s62";
sha256 = "1xfa0m1h02lvl5an225z4n2l4rv4s35x7a4w3rc413jbggbd0f6k";
}
else throw "flashplayer is not supported on this platform";

View file

@ -1,6 +1,6 @@
x@{builderDefsPackage
, qt4, openssl
, xproto, libX11
, xproto, libX11, libXScrnSaver, scrnsaverproto
, ...}:
builderDefsPackage
(a :
@ -11,11 +11,11 @@ let
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
version="1.0.2";
version="1.1.0";
baseName="vacuum";
name="${baseName}-${version}";
url="http://vacuum-im.googlecode.com/files/${name}-source.tar.gz";
hash="01ndwxpgr8911f2nfyb6i7avmmlwfikn031q1s60js4lgbqdq3b7";
url="http://vacuum-im.googlecode.com/files/${name}.tar.gz";
hash="c956b0cf5cc0a1acee47a96f0b0e7ab5d716e48cac4a7fcbca496f901a219dcc";
};
in
rec {
@ -35,8 +35,6 @@ rec {
sed -re 's/qHash[(][a-z ]*QUrl/vacuum_obsolete_&/' -i src/plugins/dataforms/dataforms.cpp
'') ["minInit" "doUnpack"];
goSrcDir = ''cd vacuum-*/'';
doQMake = a.fullDepEntry (''
qmake INSTALL_PREFIX=$out -recursive vacuum.pro
'') ["doUnpack" "addInputs"];

View file

@ -11,11 +11,11 @@ let
in with stdenv; mkDerivation rec {
name = "quassel-0.6.1";
name = "quassel-0.7.1";
src = fetchurl {
url = "http://quassel-irc.org/pub/${name}.tar.bz2";
sha256 = "1v5mxligfygn7r7hm3b9by38qxigncfkp6w4n8ypp8ww6n8ml6z0";
sha256 = "1kby1yikiv5bpzkdri5dq39pxnsj9gjrcv1gigvy2jzy3g99qjli";
};
buildInputs = [ cmake qt4 ]

View file

@ -2,7 +2,7 @@
let
download_root = "http://homebank.free.fr/public/";
name = "homebank-4.3";
name = "homebank-4.4";
lastrelease = download_root + name + ".tar.gz";
oldrelease = download_root + "old/" + name + ".tar.gz";
in
@ -12,7 +12,7 @@ stdenv.mkDerivation {
src = fetchurl {
urls = [ lastrelease oldrelease ];
sha256 = "1r4bvyc2wnizjjc27hap6b4b01zjfp1x0rygylvi5n29jy6r2fn6";
sha256 = "1lp7vhimn7aa2b4ik857w7d7rbbqcwlsffk8s8lw4fjyaxrr7f0k";
};
buildInputs = [ pkgconfig gtk libofx intltool ];

View file

@ -1,10 +1,10 @@
{stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, xz, tcl, tk, judy} :
stdenv.mkDerivation rec {
name = "gtkwave-3.3.11";
name = "gtkwave-3.3.20";
src = fetchurl {
url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
sha256 = "1krhxdpzj2ma3xisbk0d9yzhlk1i60hgkkfycc2nsqqirqrvdpbr";
sha256 = "0r2yh8a5rrxjzvykdmqlb098wws5c9k255saf2bsdchnigs8il3n";
};
buildInputs = [ gtk gperf pkgconfig bzip2 xz tcl tk judy];

View file

@ -0,0 +1,17 @@
{stdenv, fetchurl, gfortran, liblapack, blas}:
stdenv.mkDerivation rec {
name = "JAGS-2.2.0";
src = fetchurl {
url = "mirror://sourceforge/mcmc-jags/${name}.tar.gz";
sha256 = "016xml4k99lmdwwjiabxin95k9p3q2zh4pcci8wwcqwlq5y205b6";
};
buildInputs = [gfortran liblapack blas];
meta = {
description = "JAGS: Just Another Gibbs Sampler";
license = "GPL2";
homepage = http://www-ice.iarc.fr/~martyn/software/jags/;
maintainers = [stdenv.lib.maintainers.andres];
};
}

View file

@ -0,0 +1,37 @@
{ stdenv, fetchurl, makeWrapper, xdg_utils, libX11, libXext, libSM }:
stdenv.mkDerivation {
name = "aangifte2010-1";
src = fetchurl {
url = http://download.belastingdienst.nl/belastingdienst/apps/linux/ib2010_linux.tar.gz;
sha256 = "15mingjyqjvy4k6ws6qlhaaw8dj7336b54zg7mj70ig7jskjkz5h";
};
dontStrip = true;
dontPatchELF = true;
buildInputs = [ makeWrapper ];
buildPhase =
''
for i in bin/*; do
patchelf \
--set-interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath ${stdenv.lib.makeLibraryPath [ libX11 libXext libSM ]}:$(cat $NIX_GCC/nix-support/orig-gcc)/lib \
$i
done
'';
installPhase =
''
ensureDir $out
cp -prvd * $out/
wrapProgram $out/bin/ib2010ux --prefix PATH : ${xdg_utils}/bin
'';
meta = {
description = "Elektronische aangifte IB 2010 (Dutch Tax Return Program)";
url = http://www.belastingdienst.nl/particulier/aangifte2009/download/;
};
}

View file

@ -42,6 +42,11 @@ rec {
perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey subversion];
};
gitAnnex = lib.makeOverridable (import ./git-annex) {
inherit stdenv fetchurl libuuid rsync findutils curl perl;
inherit (haskellPackages) ghc MissingH utf8String QuickCheck2 pcreLight;
};
qgit = import ./qgit {
inherit fetchurl stdenv;
inherit (xlibs) libXext libX11;
@ -56,37 +61,11 @@ rec {
stgit = import ./stgit {
inherit fetchurl stdenv python git;
inherit fetchurl stdenv python git;
};
topGit = stdenv.mkDerivation rec {
name = "topgit-0.8-32-g8b0f1f9";
src = fetchurl {
url = "http://repo.or.cz/w/topgit.git/snapshot/${name}.zip";
sha256 = "0v3binh7wc2di57w6rdnlww30ryszzsklfdmm61sl1ildyl1klk4";
};
buildInputs = [unzip];
configurePhase = "export prefix=$out";
postInstall = ''
mkdir -p "$out/share/doc/${name}"
cp -v README "$out/share/doc/${name}"
mkdir -p $out/etc/bash_completion.d
make prefix=$out \
install
mv contrib/tg-completion.bash $out/etc/bash_completion.d
'';
meta = {
description = "TopGit aims to make handling of large amount of interdependent topic branches easier";
maintainers = [ lib.maintainers.marcweber lib.maintainers.ludo lib.maintainers.simons ];
homepage = http://repo.or.cz/w/topgit.git;
license = "GPLv2";
platforms = stdenv.lib.platforms.unix;
};
topGit = lib.makeOverridable (import ./topgit) {
inherit stdenv fetchurl unzip;
};
tig = stdenv.mkDerivation {

View file

@ -0,0 +1,46 @@
{ stdenv, fetchurl, ghc, libuuid, rsync, findutils, curl, perl, MissingH, utf8String, QuickCheck2, pcreLight }:
let
version = "0.20110320";
in
stdenv.mkDerivation {
name = "git-annex-${version}";
src = fetchurl {
url = "http://ftp.de.debian.org/debian/pool/main/g/git-annex/git-annex_${version}.tar.gz";
sha256 = "1waq9kx8yzyhaf3yib2adz91vqs2csa3lyxm5w7kvyqdq2yymhs4";
};
buildInputs = [ghc libuuid rsync findutils curl perl MissingH utf8String QuickCheck2 pcreLight];
preConfigure = ''
makeFlagsArray=( PREFIX=$out )
sed -i -e 's|#!/usr/bin/perl|#!${perl}/bin/perl|' mdwn2man
'';
meta = {
description = "Manage files with git, without checking the file contents into git";
longDescription = ''
Git-annex allows managing files with git, without checking the
file contents into git. While that may seem paradoxical, it is
useful when dealing with files larger than git can currently
easily handle, whether due to limitations in memory, checksumming
time, or disk space.
Even without file content tracking, being able to manage files
with git, move files around and delete files with versioned
directory trees, and use branches and distributed clones, are all
very handy reasons to use git. And annexed files can co-exist in
the same git repository with regularly versioned files, which is
convenient for maintaining documents, Makefiles, etc that are
associated with annexed files but that benefit from full revision
control.
'';
license = "GPLv3+";
homepage = "http://git-annex.branchable.com/";
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View file

@ -0,0 +1,33 @@
{ stdenv, fetchurl, unzip }:
let
version = "0.8-45-gd279e29";
lib = stdenv.lib;
in
stdenv.mkDerivation {
name = "topgit-${version}";
src = fetchurl {
url = "http://repo.or.cz/w/topgit.git/snapshot/topgit-${version}.zip";
sha256 = "0vzrng1w2k7m4z0x9h6zbrcf33dx08ly8fnbxzz3ms2k2dbsmpl6";
};
buildInputs = [unzip];
configurePhase = "export prefix=$out";
postInstall = ''
ensureDir "$out/share/doc/topgit-${version}"
cp README "$out/share/doc/topgit-${version}/"
ensureDir "$out/etc/bash_completion.d"
make prefix="$out" install
mv "contrib/tg-completion.bash" "$out/etc/bash_completion.d/"
'';
meta = {
description = "TopGit aims to make handling of large amount of interdependent topic branches easier";
maintainers = [ lib.maintainers.marcweber lib.maintainers.ludo lib.maintainers.simons ];
homepage = http://repo.or.cz/w/topgit.git;
license = "GPLv2";
platforms = stdenv.lib.platforms.unix;
};
}

View file

@ -1,20 +1,20 @@
{ stdenv, fetchurl, python, makeWrapper
{ stdenv, fetchurl, python, makeWrapper, docutils
, guiSupport ? false, tk ? null, ssl }:
stdenv.mkDerivation rec {
name = "mercurial-1.6.4";
name = "mercurial-1.7.5";
src = fetchurl {
url = "http://www.selenic.com/mercurial/release/${name}.tar.gz";
sha256 = "04c8vj942ys71dn0bjga33i0qi5hybjjhq087xd0jp29ijzxp3hy";
sha256 = "14849n52vladjmzp0s3nc8q31rkjxswg7l2f2v3j7a9h7n4czbfz";
};
inherit python; # pass it so that the same version can be used in hg2git
buildInputs = [ python makeWrapper ];
buildInputs = [ python makeWrapper docutils ];
makeFlags = "PREFIX=$(out)";
postInstall = (stdenv.lib.optionalString guiSupport
''
ensureDir $out/etc/mercurial

View file

@ -27,7 +27,7 @@ rec {
sed -e "s@/bin/bash@${a.stdenv.shell}@" -i $(find .. -type f)
mkdir pseudo-home
export HOME=$PWD/pseudo-home
echo make test
make test || true
'' ["doMake" "minInit"];
prepare_sgneeds = a.fullDepEntry (''

View file

@ -1,9 +1,9 @@
rec {
version="0.5.7.10397";
name="veracity-0.5.7.10397";
hash="09w1qj4wklaf7mw0vavzyqpagcd0cwqppdl8vaqqi0irddgivnq8";
version="0.7.0.10414";
name="veracity-0.7.0.10414";
hash="0kaqh2d1zh2vskwz9fw2yrx396knhbjq63h4r72y7cc2izgly21j";
url="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-${version}.tar.gz";
advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.5.7.10397.tar.gz";
advertisedUrl="http://download-us.sourcegear.com/Veracity/nightly/veracity-source-0.7.0.10414.tar.gz";
}

View file

@ -1,10 +1,10 @@
{ stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, soprano, kdemultimedia, taglib, glibc, gettext }:
stdenv.mkDerivation rec {
name = "bangarang-1.0.1";
name = "bangarang-2.0";
src = fetchurl {
url = "http://bangarangissuetracking.googlecode.com/files/${name}.tar.gz";
sha256 = "0a89w6zqyzcb34vp3qmyp1mdm2k0igm71b5sh11xnikjvs3k7c33";
sha256 = "1fixqx56k0mk0faz35rzpdg6zaa0mvm4548rg0g7fhafl35fxzlz";
};
buildInputs = [ cmake qt4 kdelibs automoc4 phonon soprano kdemultimedia taglib glibc gettext ];

View file

@ -3,19 +3,21 @@
, gstFfmpeg, speex
, libogg, libxml2, libjpeg, mesa, libpng, libungif, libtool
, boost, freetype, agg, dbus, curl, pkgconfig, gettext
, glib, gtk, gtkglext, x11, ming, dejagnu, python
, lib, makeWrapper }:
, glib, gtk, gtkglext, x11, ming, dejagnu, python, perl
, freefont_ttf, haxe, swftools
, lib, makeWrapper
, xulrunner }:
assert stdenv ? glibc;
let version = "0.8.8"; in
let version = "0.8.9"; in
stdenv.mkDerivation rec {
name = "gnash-${version}";
src = fetchurl {
url = "mirror://gnu/gnash/${version}/${name}.tar.bz2";
sha256 = "0872qrgzpy76lxq5b2xigyzaghn53xrpqba2qp3nrk8yz20lpb6w";
sha256 = "1ga8khwaympj4fphhpyqx6ddcikv0zmcpnlykcipny1xy33bs3gr";
};
patchPhase = ''
@ -32,19 +34,27 @@ stdenv.mkDerivation rec {
do
sed -i "$file" -es'|/tmp/|$TMPDIR/|g'
done
# Provide a default font.
sed -i "configure" \
-e 's|/usr/share/fonts/truetype/freefont/|${freefont_ttf}/share/fonts/truetype/|g'
'';
enableParallelBuilding = true;
# XXX: KDE is supported as well so we could make it available optionally.
buildInputs = [
gettext x11 SDL SDL_mixer gstreamer gstPluginsBase gstPluginsGood
gstFfmpeg speex libtool
libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
dbus curl pkgconfig glib gtk gtkglext
xulrunner
makeWrapper
]
# For the test suite
ming dejagnu python
];
++ (stdenv.lib.optionals doCheck [
ming dejagnu python perl haxe swftools
]);
preConfigure =
'' configureFlags=" \
@ -58,12 +68,15 @@ stdenv.mkDerivation rec {
# Work around this using GCC's $CPATH variable.
export CPATH="${gstPluginsBase}/include/gstreamer-0.10:${gstPluginsGood}/include/gstreamer-0.10"
echo "\$CPATH set to \`$CPATH'"
echo "\$GST_PLUGIN_PATH set to \`$GST_PLUGIN_PATH'"
'';
# Make sure `gtk-gnash' gets `libXext' in its `RPATH'.
NIX_LDFLAGS="-lX11 -lXext";
doCheck = true;
# XXX: Tests currently fail.
doCheck = false;
preInstall = ''ensureDir $out/plugins'';
postInstall = ''

View file

@ -8,6 +8,11 @@ stdenv.mkDerivation {
sha256 = "10bwmhh3kzdbq1nzq8s5ln7ydrzg41d1rihj5kdmf5hb91az8mvx";
};
prePatch = ''
# For Qt47 compatibility.
sed -i 's@class QImage@#include <QImage>@' src/colorcorrection/vectorscopegenerator.h
'';
buildInputs = [ cmake qt4 perl kdelibs automoc4 phonon mlt gettext
shared_mime_info soprano ];

View file

@ -1,4 +1,5 @@
{ stdenv, fetchurl, libX11, libXext, libXinerama, libXpm, libXft }:
{ stdenv, fetchurl, libX11, libXext, libXinerama, libXpm, libXft, freetype,
fontconfig }:
stdenv.mkDerivation {
name = "jwm-2.0.1";
@ -8,7 +9,13 @@ stdenv.mkDerivation {
sha256 = "1ix5y00cmg3cyazl0adzgv49140zxaf2dpngyg1dyy4ma6ysdmnw";
};
buildInputs = [ libX11 libXext libXinerama libXpm libXft ];
buildInputs = [ libX11 libXext libXinerama libXpm libXft freetype
fontconfig ];
preConfigure = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2 "
export NIX_LDFLAGS="$NIX_LDFLAGS -lXft -lfreetype -lfontconfig "
'';
postInstall =
''

View file

@ -0,0 +1,20 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "man-pages-posix-2003a";
src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/man-pages-posix/man-pages-posix-2003-a.tar.bz2";
sha256 = "1sj97lbj27w935f9ia91ih1mwlz4j3qcr3d3nkvcxm6cpfvv2mg3";
};
preBuild =
''
makeFlagsArray=(MANDIR=$out/share/man)
'';
meta = {
description = "POSIX man-pages (0p, 1p, 3p)";
homepage = http://kernel.org/pub/linux/docs/manpages/;
};
}

View file

@ -7,14 +7,14 @@
{ fetchurl, stdenv, perl }:
let version = "2.3.6";
let version = "2.5";
in
stdenv.mkDerivation rec {
name = "pthread-man-pages-${version}";
src = fetchurl {
url = "mirror://gnu/glibc/glibc-linuxthreads-${version}.tar.bz2";
sha256 = "0f56msimlyfmragqa69jd39rb47h09l9b0agn67k1rfi8yic8fvc";
sha256 = "0b5xg7ba64d1gbqw4k1qk96qgy7h2y4qksr0qx8v7a14c6xaw9zf";
};
buildInputs = [ perl ];

View file

@ -189,6 +189,12 @@ pkgs.makeOverridable
inherit GConf gnome_keyring;
};
libsoup_2_33 = import ./desktop/libsoup/2.33.nix {
inherit (pkgs) stdenv fetchurl pkgconfig libxml2 gnutls libproxy sqlite curl;
inherit (pkgs.gtkLibs) glib;
inherit GConf gnome_keyring;
};
libwnck = import ./desktop/libwnck {
inherit (pkgs) stdenv fetchurl pkgconfig;
inherit (pkgs.xlibs) libX11;

View file

@ -0,0 +1,12 @@
{stdenv, fetchurl, pkgconfig, libxml2, gnutls, libproxy, sqlite, curl,
glib, GConf, gnome_keyring}:
stdenv.mkDerivation rec {
name = "libsoup-2.33.6";
src = fetchurl {
url = "mirror://gnome/sources/libsoup/2.33/${name}.tar.bz2";
sha256 = "988f7897fe125a77a5946b2fd6d47d7374fd94a1406e810482cfff6a52a6a923";
};
buildInputs = [ pkgconfig libxml2 gnutls libproxy sqlite curl
glib GConf gnome_keyring ];
}

View file

@ -1,19 +1,16 @@
{stdenv, fetchurl, ghc, perl, gmp, ncurses}:
{stdenv, fetchurl, ghc, perl, gmp, ncurses, darwinInstallNameToolUtility}:
stdenv.mkDerivation rec {
version = "7.0.2";
name = "ghc-${version}";
# TODO: Does this have to be here, or can it go to meta?
homepage = "http://haskell.org/ghc";
src = fetchurl {
url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
sha256 = "f0551f1af2f008a8a14a888b70c0557e00dd04f9ae309ac91897306cd04a6668";
};
buildInputs = [ghc perl gmp ncurses];
buildInputs = [ghc perl gmp ncurses] ++
(if stdenv.isDarwin then [darwinInstallNameToolUtility] else []);
buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
@ -22,6 +19,7 @@ stdenv.mkDerivation rec {
preConfigure = ''
echo "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'';
configureFlags=[
@ -33,13 +31,13 @@ stdenv.mkDerivation rec {
stripDebugFlags=["-S" "--keep-file-symbols"];
meta = {
inherit homepage;
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = [
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
];
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
};
}

View file

@ -0,0 +1,81 @@
{ stdenv, fetchurl, ghc, swiProlog, syb, mtl, makeWrapper, rlwrap, tk }:
stdenv.mkDerivation rec {
pname = "pakcs";
version = "1.9.2";
name = "${pname}-${version}";
src = fetchurl {
url = "http://www.informatik.uni-kiel.de/~pakcs/download/pakcs_src.tar.gz";
sha256 = "1sa6k4s5avn3qvica3a5zvb6q9vnawpp00zviqjwncwwd4a9bcwm";
};
buildInputs = [ ghc swiProlog syb mtl makeWrapper rlwrap tk ];
prePatch = ''
# Remove copying pakcsrc into $HOME.
sed -i '/update-pakcsrc/d' Makefile
# Remove copying pakcsinitrc into $HOME
sed -i '68d' configure-pakcs
'';
preConfigure = ''
# Path to GHC and SWI Prolog
sed -i 's@GHC=@GHC=${ghc}/bin/ghc@' bin/.pakcs_variables
sed -i 's@SWIPROLOG=@SWIPROLOG=${swiProlog}/bin/swipl@' bin/.pakcs_variables
'';
postInstall = ''
cp pakcsrc $out/
cp update-pakcsrc $out/
cp -r bin/ $out/
cp -r cpns/ $out/
cp -r curry2prolog/ $out/
cp -r docs/ $out/
cp -r examples/ $out/
cp -r include/ $out/
cp -r lib/ $out/
cp -r mccparser/ $out/
cp -r tools/ $out/
cp -r www/ $out/
# The Prolog sources must be built in their final directory.
(cd $out/curry2prolog/ ; make)
ensureDir $out/share/emacs/site-lisp/curry-pakcs
for e in $out/tools/emacs/*.el ; do
ln -s $out/tools/emacs/$e $out/share/emacs/site-lisp/curry-pakcs/;
done
sed -i 's@which@type -P@' $out/bin/.pakcs_wrapper
# Get the program name from the environment instead of the calling wrapper (for rlwrap).
sed -i 's@progname=`basename "$0"`@progname=$PAKCS_PROGNAME@' $out/bin/.pakcs_wrapper
wrapProgram $out/bin/.pakcs_wrapper \
--prefix PATH ":" "${rlwrap}/bin" \
--prefix PATH ":" "${tk}/bin" \
--run 'export PAKCS_PROGNAME=`basename "$0"`'
'';
meta = {
description = "PAKCS is an implementation of the multi-paradigm declarative language Curry.";
longDescription = ''
PAKCS is an implementation of the multi-paradigm declarative language
Curry jointly developed by the Portland State University, the Aachen
University of Technology, and the University of Kiel. Although this is
not a highly optimized implementation but based on a high-level
compilation of Curry programs into Prolog programs, it is not a toy
implementation but has been used for a variety of applications (e.g.,
graphical programming environments, an object-oriented front-end for
Curry, partial evaluators, database applications, HTML programming
with dynamic web pages, prototyping embedded systems).
'';
homepage = http://www.informatik.uni-kiel.de/~pakcs/;
license = stdenv.lib.licenses.bsd3;
maintainers = [ stdenv.lib.maintainers.kkallio ];
platforms = stdenv.lib.platforms.linux;
};
}

View file

@ -1,4 +1,6 @@
{ stdenv, fetchurl, gmp, readline, openssl, libjpeg, unixODBC, zlib, libXinerama, libXft, libXpm, libSM, libXt }:
{ stdenv, fetchurl, gmp, readline, openssl, libjpeg, unixODBC, zlib,
libXinerama, libXft, libXpm, libSM, libXt, freetype, pkgconfig,
fontconfig }:
stdenv.mkDerivation rec {
version = "5.10.2";
@ -9,10 +11,15 @@ stdenv.mkDerivation rec {
sha256 = "1a3ebbcd649f429a41b64561d38423692e00524c29227432d0eb5a0e24e2a4c9";
};
buildInputs = [gmp readline openssl libjpeg unixODBC libXinerama libXft libXpm libSM libXt zlib];
buildInputs = [gmp readline openssl libjpeg unixODBC libXinerama
libXft libXpm libSM libXt zlib freetype pkgconfig fontconfig];
configureFlags = "--with-world --enable-gmp --enable-shared";
makeFlags = "world";
preConfigure = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
'';
meta = {
homepage = http://www.swi-prolog.org/;
description = "A Prolog compiler and interpreter";

View file

@ -1,17 +1,22 @@
{stdenv, fetchurl, guile, texinfo}:
stdenv.mkDerivation rec {
name = "guile-lib-0.1.9";
name = "guile-lib-0.2.0";
src = fetchurl {
url = "mirror://savannah/guile-lib/${name}.tar.gz";
sha256 = "13sc2x9x0rmfgfa69wabyhajc70yiywih9ibszjmkhxcm2zx0gan";
sha256 = "14acyznc0xgjd33fb9ngil102nvbhx12bvxi4hd25pl66i2d6izc";
};
buildInputs = [guile texinfo];
doCheck = true;
preCheck =
# Make `libgcc_s.so' visible for `pthread_cancel'.
'' export LD_LIBRARY_PATH="$(dirname $(echo ${stdenv.gcc.gcc}/lib*/libgcc_s.so)):$LD_LIBRARY_PATH"
'';
meta = {
description = "Guile-Library, a collection of useful Guile Scheme modules";
homepage = http://www.nongnu.org/guile-lib/;

View file

@ -0,0 +1,81 @@
x@{builderDefsPackage
, readline
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="j";
version="701_b";
name="${baseName}-${version}";
url="http://www.jsoftware.com/download/${baseName}${version}_source.tar.gz";
hash="1gmjlpxcd647x690c4dxnf8h6ays8ndir6cib70h3zfnkrc34cys";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
};
inherit (sourceInfo) name version;
inherit buildInputs;
/* doConfigure should be removed if not needed */
phaseNames = ["doUnpack" "doBuildJ" "doDeploy"];
bits = if a.stdenv.system == "i686-linux" then
"32"
else if a.stdenv.system == "x86_64-linux" then
"64"
else
throw "Oops, unknown system: ${a.stdenv.system}";
doBuildJ = a.fullDepEntry ''
sed -i bin/jconfig -e 's@bits=32@bits=${bits}@g; s@readline=0@readline=1@; s@LIBREADLINE=""@LIBREADLINE=" -lreadline "@'
sed -i bin/build_libj -e 's@>& make.txt@ 2>\&1 | tee make.txt@'
touch *.c *.h
sh bin/build_jconsole
sh bin/build_libj
sh bin/build_defs
sh bin/build_tsdll
sed -i j/bin/profile.ijs -e "s@userx=[.] *'.j'@userx=. '/.j'@;
s@bin,'/profilex.ijs'@user,'/profilex.ijs'@ ;
/install=./ainstall=. install,'/share/j'
"
'' ["doUnpack" "addInputs" "minInit"];
doDeploy = a.fullDepEntry ''
ensureDir "$out"
cp -r j/bin "$out/bin"
rm "$out/bin/profilex_template.ijs"
ensureDir "$out/share/j"
cp -r docs j/addons j/system "$out/share/j"
'' ["doUnpack" "doBuildJ" "minInit" "defEnsureDir"];
meta = {
description = "J programming language, an ASCII-based APL successor";
maintainers = with a.lib.maintainers;
[
raskin
];
platforms = with a.lib.platforms;
linux;
license = a.lib.licenses.gpl3Plus;
};
passthru = {
updateInfo = {
downloadPage = "http://jsoftware.com/source.htm";
};
};
}) x

View file

@ -0,0 +1,66 @@
x@{builderDefsPackage
, jdk /* only used in bootstrap */
, ...}:
builderDefsPackage
(a :
let
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
[];
buildInputs = map (n: builtins.getAttr n x)
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
sourceInfo = rec {
baseName="picolisp";
tarballBaseName="picoLisp";
version="3.0.5";
name="${baseName}-${version}";
tarballName="${tarballBaseName}-${version}";
extension="tgz";
url="http://www.software-lab.de/${tarballName}.${extension}";
hash="07w2aygllkmnfcnby3dy88n9giqsas35s77rp2lr2ll5yy2hkc0x";
};
in
rec {
src = a.fetchurl {
url = sourceInfo.url;
sha256 = sourceInfo.hash;
};
inherit (sourceInfo) name version;
inherit buildInputs;
/* doConfigure should be removed if not needed */
phaseNames = ["doMake" "doDeploy"];
goSrcDir = if a.stdenv.system == "x86_64-linux" then
"cd src64" else "cd src";
makeFlags = [''PREFIX=$out''];
doDeploy = a.fullDepEntry (''
cd ..
sed -e "s@/usr/@$out/@g" -i bin/pil
ensureDir "$out/share/picolisp" "$out/lib" "$out/bin"
cp -r . "$out/share/picolisp/build-dir"
ln -s "$out/share/picolisp/build-dir" "$out/lib/picolisp"
ln -s "$out/lib/picolisp/bin/picolisp" "$out/bin/picolisp"
'') ["minInit" "defEnsureDir" "doMake"];
meta = {
description = "An interpreter for a small Lisp dialect with builtin DB";
maintainers = with a.lib.maintainers;
[
raskin
];
platforms = with a.lib.platforms;
linux;
license = a.lib.licenses.mit;
};
passthru = {
updateInfo = {
downloadPage = "http://www.software-lab.de/down.html";
};
};
}) x

View file

@ -12,7 +12,12 @@ stdenv.mkDerivation rec {
configureFlags = "--disable-mmx";
postInstall = "ln -s $out/include/SDL/*.h $out/include/";
postInstall = ''
sed -i -e 's,"SDL.h",<SDL/SDL.h>,' \
$out/include/SDL/*.h
ln -s $out/include/SDL/*.h $out/include/;
'';
meta = {
description = "SDL graphics drawing primitives and support functions";

View file

@ -13,7 +13,15 @@ stdenv.mkDerivation rec {
buildInputs = [SDL libpng libjpeg libtiff libungif libXpm];
postInstall = "ln -sv $out/include/SDL/SDL_image.h $out/include/";
postInstall = ''
sed -i -e 's,"SDL.h",<SDL/SDL.h>,' \
-e 's,"SDL_version.h",<SDL/SDL_version.h>,' \
-e 's,"begin_code.h",<SDL/begin_code.h>,' \
-e 's,"close_code.h",<SDL/close_code.h>,' \
$out/include/SDL/SDL_image.h
ln -sv $out/include/SDL/SDL_image.h $out/include/
'';
meta = {
description = "SDL image library";

View file

@ -1,7 +1,7 @@
x@{builderDefsPackage
, texinfo, libXext, xextproto, libX11, xproto, libXpm, libXt, libXcursor
, alsaLib, cmake, zlib, libpng, libvorbis, libXxf86dga, libXxf86misc
, xf86dgaproto, xf86miscproto, xf86vidmodeproto, libXxf86vm, openal
, xf86dgaproto, xf86miscproto, xf86vidmodeproto, libXxf86vm, openal, mesa
, ...}:
builderDefsPackage
(a :

View file

@ -0,0 +1,20 @@
{stdenv, fetchurl, boost, openssl}:
stdenv.mkDerivation rec {
name = "asio-1.5.3";
src = fetchurl {
url = "mirror://sourceforge/asio/${name}.tar.bz2";
sha256 = "08fdsv1zhwbfwlx3r3dzl1371lxy5gw92ms0kqcscxqn0ycf3rlj";
};
propagatedBuildInputs = [ boost ];
buildInputs = [ openssl ];
meta = {
homepage = http://asio.sourceforge.net/;
description = "Cross-platform C++ library for network and low-level I/O programming";
license = "boost";
};
}

View file

@ -59,6 +59,16 @@ stdenv.mkDerivation {
installPhase = ":";
patches = [
# Patch to get rid of following error, experienced by some packages like encfs, bitcoin:
# terminate called after throwing an instance of 'std::runtime_error'
# what(): locale::facet::_S_create_c_locale name not valid
(fetchurl {
url = https://svn.boost.org/trac/boost/raw-attachment/ticket/4688/boost_filesystem.patch ;
sha256 = "15k91ihzs6190pnryh4cl0b3c2pjpl9d790mr14x16zq52y7px2d";
})
];
crossAttrs = rec {
buildInputs = [ expat.hostDrv zlib.hostDrv bzip2.hostDrv ];
# all buildInputs set previously fell into propagatedBuildInputs, as usual, so we have to

View file

@ -0,0 +1,18 @@
{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}:
stdenv.mkDerivation {
name = "db4-4.7.25";
builder = ./builder.sh;
src = fetchurl {
url = http://download-east.oracle.com/berkeley-db/db-4.7.25.tar.gz;
sha256 = "0gi667v9cw22c03hddd6xd6374l0pczsd56b7pba25c9sdnxjkzi";
};
configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
(if compat185 then "--enable-compat185" else "--disable-compat185")
];
}

View file

@ -0,0 +1,18 @@
{stdenv, fetchurl, cxxSupport ? true, compat185 ? true}:
stdenv.mkDerivation {
name = "db4-4.8.26";
builder = ./builder.sh;
src = fetchurl {
url = http://download-east.oracle.com/berkeley-db/db-4.8.26.tar.gz;
sha256 = "0hcxh0kb6m0wk3apjhs57p7b171zzn63rg4l3nkcavygg5gx2mgp";
};
configureFlags = [
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
(if compat185 then "--enable-compat185" else "--disable-compat185")
];
}

View file

@ -1,11 +1,11 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "enet-1.3.0";
name = "enet-1.3.1";
src = fetchurl {
url = "http://enet.bespin.org/download/${name}.tar.gz";
sha256 = "0b6nv3q546mr1vr74jccd4nsad9zkmjn17kdrqxxnyc944djf310";
sha256 = "1faszy5jvxcbjvnqzxaxpcm0rh8xib52pgn2zm1vyc9gg957hw99";
};
meta = {

View file

@ -1,9 +1,9 @@
{stdenv, fetchurl, unzip}:
stdenv.mkDerivation {
name = "freeimage-3.14.1";
name = "freeimage-3.15.0";
src = fetchurl {
url = mirror://sourceforge/freeimage/FreeImage3141.zip;
sha256 = "0rgzdjwzd64z5z9j4bq075h3kfqjk8ab2dwswy0lnzw9jvmbbifm";
url = mirror://sourceforge/freeimage/FreeImage3150.zip;
sha256 = "0diyj862sdqwjqb7v2nccf8cl6886v937jkw6dgszp86qpwsfx3n";
};
buildInputs = [ unzip ];
prePatch = ''
@ -12,7 +12,6 @@ stdenv.mkDerivation {
-e 's@ldconfig@echo not running ldconfig@' \
-i Makefile.gnu
'';
patches = [ ./memset.patch ];
preInstall = "mkdir -p $out/include $out/lib";
meta = {

View file

@ -1,11 +0,0 @@
diff -urN a/Source/OpenEXR/Imath/ImathMatrix.h b/Source/OpenEXR/Imath/ImathMatrix.h
--- a/Source/OpenEXR/Imath/ImathMatrix.h 2010-07-17 12:48:40.000000000 +0200
+++ b/Source/OpenEXR/Imath/ImathMatrix.h 2010-09-03 18:38:37.138598422 +0200
@@ -49,6 +49,7 @@
#include "ImathVec.h"
#include "ImathShear.h"
+#include <string.h>
#include <iostream>
#include <iomanip>

View file

@ -1,11 +1,12 @@
{stdenv, fetchurl}:
stdenv.mkDerivation {
name = "fribidi-0.10.9";
stdenv.mkDerivation rec {
name = "fribidi-${version}";
version = "0.19.2";
src = fetchurl {
url = http://fribidi.org/download/fribidi-0.10.9.tar.gz;
sha256 = "1d479wbygqmxcsyg3g7d6nmzlaa3wngy21ci5qcc5nhbyn97bz5q";
url = "http://fribidi.org/download/${name}.tar.gz";
sha256 = "0xs1yr22zw9a1qq9ygsrqam0vzqdvb0ndzvjb3i2zda8drc93ks9";
};
meta = {

View file

@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
# Hm, apparently --disable-gtk-doc is ignored...
postInstall = "rm -rf $out/share/gtk-doc";
setupHook = ./setup-hook.sh;
meta = {
homepage = http://gstreamer.freedesktop.org;

View file

@ -9,5 +9,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -14,5 +14,5 @@ cabal.mkDerivation (self : {
description = "A dependently typed functional language and proof assistant";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -10,5 +10,5 @@ cabal.mkDerivation (self : {
license = "LGPL";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -9,5 +9,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -3,16 +3,16 @@
cabal.mkDerivation (self : {
pname = "CS173Tourney";
version = "2.5.2";
src = fetchgit {
url = git://github.com/arjunguha/173tourney.git;
rev = "dce044761b008cb685a675a1f35be6aff66fed21" ;
md5 = "21e5e5c2e184b4b70696d4d6c60e51d3";
};
patches = [./sendmail.patch];
patches = [./sendmail.patch];
propagatedBuildInputs = [json time hslogger Crypto base64string CouchDB WebServer WebServerExtras];
meta = {
description = "";
};
})
})

View file

@ -11,5 +11,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -10,5 +10,5 @@ cabal.mkDerivation (self : {
license = "LGPL";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -3,12 +3,12 @@
cabal.mkDerivation (self : {
pname = "CouchDB";
version = "0.8.1.1";
sha256 = "91edc35782e43a3b8dd5c5d3c303b88c05c57ba686e9565a11fe4d060f9372d7";
propagatedBuildInputs = [network HTTP mtl json];
meta = {
description = "";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Several encryption algorithms for Haskell";
};
})
})

View file

@ -7,5 +7,5 @@ cabal.mkDerivation (self : {
meta = {
description = "O(ND) diff algorithm in Haskell";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "A binding for the OpenGL Utility Toolkit";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "A binding for the OpenGL Utility Toolkit";
};
})
})

View file

@ -9,5 +9,5 @@ cabal.mkDerivation (self : {
description = "A library to use graph theory analysis";
license = "OtherLicene";
};
})
})

View file

@ -7,5 +7,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Heterogeneous lists";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "StringTemplate implementation in Haskell";
};
})
})

View file

@ -2,7 +2,7 @@
cabal.mkDerivation (self : {
pname = "HTTP";
version = "3001.1.5";
version = "3001.1.5";
sha256 = "e34d9f979bafbbf2e45bf90a9ee9bfd291f3c67c291a250cc0a6378431578aeb";
propagatedBuildInputs = [mtl network parsec];
meta = {

View file

@ -7,5 +7,5 @@ cabal.mkDerivation (self : {
meta = {
description = "A unit testing framework for Haskell";
};
})
})

View file

@ -7,5 +7,5 @@ cabal.mkDerivation (self : {
meta = {
description = "A unit testing framework for Haskell";
};
})
})

View file

@ -7,5 +7,5 @@ cabal.mkDerivation (self : {
meta = {
description = "A unit testing framework for Haskell";
};
})
})

View file

@ -7,5 +7,5 @@ cabal.mkDerivation (self : {
meta = {
description = "A Haskell binding for Chipmunk";
};
})
})

View file

@ -10,5 +10,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -10,5 +10,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -9,5 +9,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -10,5 +10,5 @@ cabal.mkDerivation (self : {
license = "GPL";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Monad-transformer version of the Control.Exception module";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Monad-transformer compatible version of the Control.Exception module";
};
})
})

View file

@ -0,0 +1,17 @@
{cabal, mtl}:
cabal.mkDerivation (self : {
pname = "MonadPrompt";
version = "1.0.0.2";
sha256 = "01inbw0lfjrsgs68fvak1rxi76nhwsiyarfwl1g5mis4glmh4w4c";
propagatedBuildInputs = [mtl];
preConfigure = ''
sed -i 's|base<=4|base >= 3 \&\& < 5|' ${self.pname}.cabal
'';
meta = {
description = "MonadPrompt, implementation & examples";
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Random-number generation monad";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "A binding to the OpenAL cross-platform 3D audio API";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "A binding for the OpenGL graphics system";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "A binding for the OpenGL graphics system";
};
})
})

View file

@ -7,5 +7,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Automatic testing of Haskell programs";
};
})
})

View file

@ -7,5 +7,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Automatic testing of Haskell programs";
};
})
})

View file

@ -10,5 +10,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -10,5 +10,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -10,5 +10,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -10,5 +10,5 @@ cabal.mkDerivation (self : {
license = "BSD";
maintainers = [self.stdenv.lib.maintainers.andres];
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Binding to libSDL_image";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Binding to libSDL_mixer";
};
})
})

View file

@ -8,5 +8,5 @@ cabal.mkDerivation (self : {
meta = {
description = "Binding to libSDL_ttf";
};
})
})

Some files were not shown because too many files have changed in this diff Show more