diff --git a/maintainers/scripts/gnu/gnupdate.scm b/maintainers/scripts/gnu/gnupdate.scm index e43e5baf32c3..33a2d530b22f 100644 --- a/maintainers/scripts/gnu/gnupdate.scm +++ b/maintainers/scripts/gnu/gnupdate.scm @@ -17,13 +17,12 @@ (cond-expand (guile-2 #t) (else (error "GNU Guile 2.0 is required"))) -(use-modules (sxml simple) +(use-modules (sxml ssax) (ice-9 popen) (ice-9 match) (ice-9 rdelim) (ice-9 regex) (ice-9 vlist) - (sxml-match) (srfi srfi-1) (srfi srfi-9) (srfi srfi-11) @@ -47,6 +46,13 @@ (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): @@ -58,7 +64,7 @@ ;; bool #f|#t ;; derivation (derivation drv-path out-path attributes) ;; ellipsis '... -;; expr (expr loc body ...) +;; expr (snix loc body ...) ;; function (function loc at|attrspat|varpat) ;; int int ;; list list @@ -73,118 +79,100 @@ ;; lazily because the whole SXML tree has to be traversed to maintain the ;; list of known derivations. -(define (sxml->snix tree) +(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))) - ;; FIXME: We should use SSAX to avoid the SXML step otherwise we end up - ;; eating memory up to the point where fork(2) returns ENOMEM! + 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)))) - (define whitespace - ;; The whitespace marker. - (cons 'white 'space)) - - (let loop ((node tree) - (derivations vlist-null)) - (define (process-body body) - (let ((result+derivations - (fold (lambda (node result) - (let-values (((out derivations) - (loop node (cdr result)))) - (if (eq? out whitespace) - result - (cons (cons out (car result)) - derivations)))) - (cons '() derivations) - body))) - (values (reverse (car result+derivations)) - (cdr result+derivations)))) - - (sxml-match node - (,x - (guard (and (string? x) (string=? (string-trim-both x) ""))) - (values whitespace derivations)) - ((*TOP* (*PI* ,_ ...) (expr ,body ...)) - ;; The entry/exit point. Of the two values returned, the second one - ;; is likely to be discarded by the caller (thanks to multiple-value - ;; truncation). - (let-values (((body derivations) (process-body body))) - (values (cons* 'snix #f body) - derivations))) - ((at ,body ...) - (let-values (((body derivations) (process-body body))) - (values (list 'at body) derivations))) - ((attr (@ (name ,name) - (line (,line #f)) (column (,column #f)) (path (,path #f))) - ,body ...) - (let-values (((body derivations) (process-body body))) - (values (cons* 'attribute - (->loc line column path) - name - (if (or (null? body) - (and (pair? body) (null? (cdr body)))) - body - (error 'sxml->snix "invalid attribute body" - body))) - derivations))) - ((attrs ,body ...) - (let-values (((body derivations) (process-body body))) - (values (list 'attribute-set body) - derivations))) - ((attrspat ,body ...) - (let-values (((body derivations) (process-body body))) - (values (cons 'attribute-set-pattern body) - derivations))) - ((bool (@ (value ,value))) - (values (string-ci=? value "true") derivations)) - ((derivation (@ (drvPath ,drv-path) (outPath ,out-path)) ,body ...) - (let-values (((body derivations) (process-body body))) - (let ((repeated? (equal? body '(repeated)))) - (values (list 'derivation drv-path out-path - (if repeated? - (let ((body (vhash-assoc drv-path derivations))) - (if (pair? body) - (cdr body) - (error "no previous occurrence of derivation" - drv-path))) - body)) - (if repeated? - derivations - (vhash-cons drv-path body derivations)))))) - ((ellipsis) - (values '... derivations)) - ((function (@ (line (,line #f)) (column (,column #f)) (path (,path #f))) - ,body ...) - (let-values (((body derivations) (process-body body))) - (values (cons* 'function - (->loc line column path) - (if (and (pair? body) (null? (cdr body))) - body - (error 'sxml->snix "invalid function body" - body))) - derivations))) - ((int (@ (value ,value))) - (values (string->number value) derivations)) - (,x - ;; We can't use `(list ,body ...)', which has a different meaning, - ;; hence the guard hack. - (guard (and (pair? x) (eq? (car x) 'list))) - (process-body (cdr x))) - ((null) - (values 'null derivations)) - ((path (@ (value ,value))) - (values value derivations)) - ((repeated) - ;; This is then handled in `derivation' above. - (values 'repeated derivations)) - ((string (@ (value ,value))) - (values value derivations)) - ((unevaluated) - (values 'unevaluated derivations)) - ((varpat (@ (name ,name))) - (values (list 'varpat name) derivations)) - (,x - (error 'sxml->snix "unmatched sxml form" x))))) + 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 @@ -319,6 +307,15 @@ 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 () @@ -331,8 +328,7 @@ (if (eqv? code 220) (begin ;(%ftp-command "OPTS UTF8 ON" 200 s) - ;; FIXME: When `USER' returns 331, we should do a `PASS email'. - (%ftp-command "USER anonymous" 230 s) + (%ftp-login "anonymous" "ludo@example.com" s) (%make-ftp-connection s ai)) (begin (format (current-error-port) "FTP to `~a' failed: ~A: ~A~%" @@ -365,7 +361,7 @@ (throw 'ftp-error conn "PASV" 227 message))))) -(define (ftp-list conn) +(define* (ftp-list conn #:optional directory) (define (address-with-port sa port) (let ((fam (sockaddr:fam sa)) (addr (sockaddr:addr sa))) @@ -377,6 +373,9 @@ (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) @@ -452,7 +451,7 @@ (match attr (('attribute _ "description" value) (string-prefix? "GNU" value)) - (('attribute "homepage" value) + (('attribute _ "homepage" value) (string-contains value "www.gnu.org")) (_ #f))) metas)) @@ -478,11 +477,13 @@ (define (ftp-server/directory project) (define quirks - '(("libgcrypt" "ftp.gnupg.org" "/gcrypt" #t) + '(("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))) @@ -504,6 +505,7 @@ ("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)) @@ -516,21 +518,20 @@ (catch #t (lambda () (let-values (((server directory) (ftp-server/directory project))) - (let ((conn (ftp-open server))) - (ftp-chdir conn directory) - (let ((files (ftp-list conn))) - (ftp-close conn) - (map (lambda (tarball) - (let ((end (string-contains tarball ".tar"))) - (substring tarball 0 end))) + (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)))))) + ;; 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~%" @@ -658,20 +659,19 @@ (format #t "~%") (format #t " -x, --xml=FILE Read XML output of `nix-instantiate'~%") (format #t " from FILE.~%") - (format #t " -s, --sxml=FILE Read SXML 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 ~%") (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))) - (option '(#\s "sxml") #t #f - (lambda (opt name arg result) - (alist-cons 'sxml-file arg result))))) + (alist-cons 'xml-file arg result))))) -(define (main . args) +(define-public (main . args) ;; Assume Nixpkgs is under $NIXPKGS or ~/src/nixpkgs. (let* ((opts (args-fold args %options (lambda (opt name arg result) @@ -682,24 +682,11 @@ (home (getenv "HOME")) (path (or (getenv "NIXPKGS") (string-append home "/src/nixpkgs"))) - (sxml (or (and=> (assoc-ref opts 'sxml-file) - (lambda (input) - (format (current-error-port) - "reading SXML...~%") - (read-disable 'positions) ;; reduce memory usage - (with-input-from-file input read))) - (begin - (format (current-error-port) "parsing XML...~%") - (xml->sxml - (or (and=> (assoc-ref opts 'xml-file) - open-input-file) - (open-nixpkgs path)))))) - (snix (let ((s (begin - (format (current-error-port) - "producing SNix tree...~%") - (sxml->snix sxml)))) - (set! sxml #f) (gc) - s)) + (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) @@ -713,8 +700,13 @@ old-version old-hash new-version new-hash location) - (update-nix-expression (location-file location) - old-version old-hash - new-version new-hash)) + (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))) + updates) + #t)) diff --git a/pkgs/applications/audio/lame/default.nix b/pkgs/applications/audio/lame/default.nix index f9c0e151c897..816afa0e24fb 100644 --- a/pkgs/applications/audio/lame/default.nix +++ b/pkgs/applications/audio/lame/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, nasm}: stdenv.mkDerivation { name = "lame-3.98.2"; @@ -7,6 +7,10 @@ stdenv.mkDerivation { sha256 = "0cmgr515szd9kd19mpzvwl3cbnpfyjyi47swj4afblcfkmb2hym1"; }; + buildInputs = [ nasm ]; + + configureFlags = [ "--enable-nasm" ]; + # Either disable static, or fix the rpath of 'lame' for it to point # properly to the libmp3lame shared object. dontDisableStatic = true; diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix index 7085d703b5c8..937c5df5894b 100644 --- a/pkgs/applications/editors/eclipse/default.nix +++ b/pkgs/applications/editors/eclipse/default.nix @@ -1,24 +1,104 @@ { stdenv, fetchurl, patchelf, makeDesktopItem, makeWrapper , freetype, fontconfig, libX11, libXext, libXrender, zlib , glib, gtk, libXtst, jre + # defaulting to this version because not all installable plugins work with 3.5.2 yet + # can also be set to "latest" +, version ? "3.5.1" }: +/* + Note: Eclipse stores various Eclipse instance specific data in ~/.eclipse/*-instance/... + The '*' depends on the executable location of Eclipse. + + So if an Eclipse dependency such as gtk changes a different Eclipse setup directory will be used and + the plugins and update site list and more global settings seem to be gone. + + Staring Eclipse from ~/.nix-profile/bin/eclipse doesn't help. + + So I suggest copying the store path to ~/eclipse and run ~/eclipse/bin/eclipse instead. + + However this still has some drawbacks: If you run nix-collect-garbage the gtk + libs the wrapper refers to might be gone. It should be easy for you to + replace the imortant lines in the wrapper. + + You can also put this eclipse wrapper script (which was removed from + all-packages.nix -r 18458) + to your packageOverrides section and use that to run eclipse/eclipse. + + Its parameterized by system because you may want to run both: i686 and x86_64 systems. + + eclipseRunner = + pkgs.stdenv.mkDerivation { + name = "nix-eclipse-runner-script-${stdenv.system}"; + + phases = "installPhase"; + installPhase = '' + ensureDir $out/bin + target=$out/bin/nix-run-eclipse-${stdenv.system} + cat > $target << EOF + #!/bin/sh + export PATH=${pkgs.jre}/bin:\$PATH + export LD_LIBRARY_PATH=${pkgs.gtkLibs216.glib}/lib:${pkgs.gtkLibs216.gtk}/lib:${pkgs.xlibs.libXtst}/lib + # If you run out of XX space try these? -vmargs -Xms512m -Xmx2048m -XX:MaxPermSize=256m + eclipse="\$1"; shift + exec \$eclipse -vmargs -Xms512m -Xmx2048m -XX:MaxPermSize=256m "\$@" + EOF + chmod +x $target + ''; + + meta = { + description = "provide environment to run Eclipse"; + longDescription = '' + Is there one distribution providing support for up to date Eclipse installations? + There are various reasons why not. + Installing binaries just works. Get Eclipse binaries form eclipse.org/downloads + install this wrapper then run Eclipse like this: + nix-run-eclipse $PATH_TO_ECLIPSE/eclipse/eclipse + and be happy. Everything works including update sites. + ''; + maintainers = [pkgs.lib.maintainers.marcweber]; + platforms = pkgs.lib.platforms.linux; + }; + }; + +*/ + + +let + + v = if version == "latest" then "3.5.2" else version; + +in + assert stdenv ? glibc; stdenv.mkDerivation rec { - name = "eclipse-3.5.2"; + name = "eclipse-${v}"; src = - if stdenv.system == "x86_64-linux" then - fetchurl { - url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk-x86_64.tar.gz; - md5 = "54e2ce0660b2b1b0eb4267acf70ea66d"; + if v == "3.5.2" then + if stdenv.system == "x86_64-linux" then + fetchurl { + url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk-x86_64.tar.gz; + md5 = "54e2ce0660b2b1b0eb4267acf70ea66d"; + } + else + fetchurl { + url = http://mirror.selfnet.de/eclipse/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk.tar.gz; + md5 = "bde55a2354dc224cf5f26e5320e72dac"; + } + else if v == "3.5.1" then + if stdenv.system == "x86_64-linux" then + fetchurl { + url = http://ftp.ing.umu.se/mirror/eclipse/eclipse/downloads/drops/R-3.5.1-200909170800/eclipse-SDK-3.5.1-linux-gtk-x86_64.tar.gz; + sha256 = "132zd7q9q29h978wnlsfbrlszc85r1wj30yqs2aqbv3l5xgny1kk"; + } + else + fetchurl { + url = http://mirrors.linux-bg.org/eclipse/eclipse/downloads/drops/R-3.5.1-200909170800/eclipse-SDK-3.5.1-linux-gtk.tar.gz; + sha256 = "0a0lpa7gxg91zswpahi6fvg3csl4csvlym4z2ad5cc1d4yvicp56"; } - else - fetchurl { - url = http://mirror.selfnet.de/eclipse/eclipse/downloads/drops/R-3.5.2-201002111343/eclipse-SDK-3.5.2-linux-gtk.tar.gz; - md5 = "bde55a2354dc224cf5f26e5320e72dac"; - }; + else throw "no source for eclipse version ${v} known"; desktopItem = makeDesktopItem { name = "Eclipse"; @@ -55,5 +135,7 @@ stdenv.mkDerivation rec { meta = { homepage = http://www.eclipse.org/; description = "A extensible multi-language software development environment"; + longDescription = '' + ''; }; } diff --git a/pkgs/applications/editors/emacs-22/default.nix b/pkgs/applications/editors/emacs-22/default.nix index da3c4babbf6b..89c8af070e09 100644 --- a/pkgs/applications/editors/emacs-22/default.nix +++ b/pkgs/applications/editors/emacs-22/default.nix @@ -16,17 +16,17 @@ stdenv.mkDerivation rec { name = "emacs-22.3"; builder = ./builder.sh; - + src = fetchurl { url = "mirror://gnu/emacs/${name}.tar.gz"; sha256 = "05hd89bchcpwzcx5la0alcp0wb7xywvnf98dxrshrqlfvccvgnbv"; }; - + buildInputs = [ncurses x11] ++ stdenv.lib.optional xawSupport (if xaw3dSupport then Xaw3d else libXaw) ++ stdenv.lib.optional xpmSupport libXpm ++ stdenv.lib.optionals gtkGUI [pkgconfig gtk]; - + configureFlags = stdenv.lib.optional gtkGUI "--with-x-toolkit=gtk"; @@ -43,6 +43,6 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/emacs/; license = "GPLv3+"; - platforms = stdenv.lib.platforms.linux; # GTK & co. are needed. + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/applications/editors/emacs-23/default.nix b/pkgs/applications/editors/emacs-23/default.nix index 866baa41ee80..4bdb4f132c2f 100644 --- a/pkgs/applications/editors/emacs-23/default.nix +++ b/pkgs/applications/editors/emacs-23/default.nix @@ -1,46 +1,29 @@ -{ xawSupport ? true -, xpmSupport ? true -, dbusSupport ? true -, xaw3dSupport ? false -, gtkGUI ? false -, xftSupport ? false -, stdenv, fetchurl, ncurses, x11, libXaw ? null, libXpm ? null, Xaw3d ? null -, pkgconfig ? null, gtk ? null, libXft ? null, dbus ? null -, libpng, libjpeg, libungif, libtiff, texinfo +{ stdenv, fetchurl, ncurses, x11, libXaw, libXpm, Xaw3d +, pkgconfig, gtk, libXft, dbus, libpng, libjpeg, libungif +, libtiff, librsvg, texinfo, gconf }: -assert xawSupport -> libXaw != null; -assert xpmSupport -> libXpm != null; -assert dbusSupport -> dbus != null; -assert xaw3dSupport -> Xaw3d != null; -assert gtkGUI -> pkgconfig != null && gtk != null; -assert xftSupport -> libXft != null && libpng != null; # libpng = probably a bug -assert stdenv.system == "i686-darwin" -> xawSupport; # fails to link otherwise +assert (gtk != null) -> (pkgconfig != null); +assert (libXft != null) -> libpng != null; # probably a bug +assert stdenv.isDarwin -> libXaw != null; # fails to link otherwise stdenv.mkDerivation rec { - name = "emacs-23.1"; + name = "emacs-23.2"; builder = ./builder.sh; src = fetchurl { url = "mirror://gnu/emacs/${name}.tar.bz2"; - sha256 = "076b4ixdp29l4c02bwic26d14gxlj0lcqyam33wyj3ksgi2z8d9b"; + sha256 = "1i96hp91s86jawrqjhfxm5y2sjxizv99009128b4bh06bgx6dm7z"; }; buildInputs = [ - ncurses x11 texinfo - (if xawSupport then libXaw else null) - (if xpmSupport then libXpm else null) - (if dbusSupport then dbus else null) - (if xaw3dSupport then Xaw3d else null) - libpng libjpeg libungif libtiff # maybe not strictly required? - ] - ++ (if gtkGUI then [pkgconfig gtk] else []) - ++ (if xftSupport then [libXft] else []); + ncurses x11 texinfo libXaw Xaw3d libXpm dbus libpng libjpeg libungif + libtiff librsvg gtk (if gtk != null then pkgconfig else null) libXft gconf + ]; - configureFlags = " - ${if gtkGUI then "--with-x-toolkit=gtk --enable-font-backend --with-xft" else ""} - "; + configureFlags = + stdenv.lib.optionals (gtk != null) [ "--with-x-toolkit=gtk" "--with-xft" ]; doCheck = true; @@ -67,7 +50,7 @@ stdenv.mkDerivation rec { homepage = http://www.gnu.org/software/emacs/; license = "GPLv3+"; - maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.linux; # GTK & co. are needed. + maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/applications/editors/emacs-modes/jabber/default.nix b/pkgs/applications/editors/emacs-modes/jabber/default.nix new file mode 100644 index 000000000000..82028722f54c --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/jabber/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, emacs }: +stdenv.mkDerivation rec { + pname = "emacs-jabber"; + version = "0.8.0"; + name = "${pname}-${version}"; + src = fetchurl { + url = "mirror://sourceforge/${pname}/${name}.tar.bz2"; + sha256 = "75e3b7853de4783b8ab8270dcbe6a1e4f576224f77f7463116532e11c6498c26"; + }; + buildInputs = [ emacs ]; + meta = { + description = "A Jabber client for Emacs"; + longDescription = '' + jabber.el is a Jabber client for Emacs. It may seem strange to have a + chat client in an editor, but consider that chatting is, after all, just + a special case of text editing. + ''; + homepage = http://emacs-jabber.sourceforge.net/; + license = [ "GPLv2+" ]; + maintainers = with stdenv.lib.maintainers; [ astsmtl ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/editors/emacs-modes/magit/default.nix b/pkgs/applications/editors/emacs-modes/magit/default.nix index 4f0b760ae20b..45de918a472d 100644 --- a/pkgs/applications/editors/emacs-modes/magit/default.nix +++ b/pkgs/applications/editors/emacs-modes/magit/default.nix @@ -1,19 +1,17 @@ -{stdenv, fetchurl, emacs, texinfo, autoconf, automake}: +{ stdenv, fetchurl, emacs, texinfo }: let - version = "0.7-109-g0fc3980"; + version = "0.8"; in stdenv.mkDerivation { name = "magit-${version}"; src = fetchurl { - url = "http://cryp.to/magit-mainline-${version}.tar.gz"; - sha256 = "0jyx57znvn49xm0h92kh8iywn44ip130dpflzq2ns2k6gspg36b6"; + url = "http://github.com/downloads/philjackson/magit/magit-${version}.tar.gz"; + sha256 = "4d1b55dcb118e506c6b8838acd4a50dbdd5348b1d12edd9789a3109a582e2954"; }; - unpackCmd = "tar xf $src"; - preConfigure = "./autogen.sh"; - buildInputs = [emacs texinfo autoconf automake]; + buildInputs = [emacs texinfo]; meta = { description = "An an interface to Git, implemented as an extension to Emacs."; @@ -31,6 +29,8 @@ stdenv.mkDerivation { ''; license = "GPLv3+"; - homepage = "http://zagadka.vm.bytemark.co.uk/magit/"; + homepage = "http://github.com/philjackson/magit"; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.simons ]; }; } diff --git a/pkgs/applications/editors/zile/default.nix b/pkgs/applications/editors/zile/default.nix index 332033d48d75..3cc8d984a8cd 100644 --- a/pkgs/applications/editors/zile/default.nix +++ b/pkgs/applications/editors/zile/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, ncurses, help2man }: stdenv.mkDerivation rec { - name = "zile-2.3.15"; + name = "zile-2.3.16"; src = fetchurl { url = "mirror://gnu/zile/${name}.tar.gz"; - sha256 = "09argmn5klh5w6nn9xq2msrv1pcc7c11glanlc7ip9kbkbgxlm3w"; + sha256 = "1lm24sw2ziqsib11sddz7gcqzw5iwfnsx65m1i461kxq218xl59h"; }; buildInputs = [ ncurses help2man ]; diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix index 57c236297d8b..e40c0372ffec 100644 --- a/pkgs/applications/graphics/ImageMagick/default.nix +++ b/pkgs/applications/graphics/ImageMagick/default.nix @@ -1,8 +1,25 @@ -args: with args; +{ stdenv +, fetchurl +, bzip2 +, freetype +, graphviz +, ghostscript +, libjpeg +, libpng +, libtiff +, libxml2 +, zlib +, libtool +, jasper +, libX11 +, tetex ? null +, librsvg ? null +}: -let version = "6.5.9-1"; in - -stdenv.mkDerivation (rec { +let + version = "6.5.9-1"; +in +stdenv.mkDerivation rec { name = "ImageMagick-${version}"; src = fetchurl { @@ -13,22 +30,20 @@ stdenv.mkDerivation (rec { configureFlags = '' --with-gs-font-dir=${ghostscript}/share/ghostscript/fonts --with-gslib - ${if args ? tetex then "--with-frozenpaths" else ""} + ${if tetex != null then "--with-frozenpaths" else ""} ''; buildInputs = - [ bzip2 freetype ghostscript graphviz libjpeg libpng - libtiff libX11 libxml2 zlib libtool - ] - ++ stdenv.lib.optional (args ? tetex) args.tetex - ++ stdenv.lib.optional (args ? librsvg) args.librsvg; + [ bzip2 freetype graphviz ghostscript libjpeg libpng + libtiff libxml2 zlib tetex librsvg libtool jasper libX11 + ]; - preConfigure = if args ? tetex then + preConfigure = if tetex != null then '' - export DVIDecodeDelegate=${args.tetex}/bin/dvips + export DVIDecodeDelegate=${tetex}/bin/dvips '' else ""; meta = { homepage = http://www.imagemagick.org; }; -}) +} diff --git a/pkgs/applications/misc/blender/2.49.nix b/pkgs/applications/misc/blender/2.49.nix new file mode 100644 index 000000000000..6a66c45b94fc --- /dev/null +++ b/pkgs/applications/misc/blender/2.49.nix @@ -0,0 +1,33 @@ +{stdenv, fetchurl, cmake, mesa, gettext, python, libjpeg, libpng, zlib, openal, SDL +, openexr, libsamplerate, libXi, libtiff, ilmbase, freetype}: + +stdenv.mkDerivation rec { + name = "blender-2.49b"; + + src = fetchurl { + url = "http://download.blender.org/source/${name}.tar.gz"; + sha256 = "1214fp2asij7l1sci2swh46nfjgpm72gk2qafq70xc0hmas4sm93"; + }; + + buildInputs = [ cmake mesa gettext python libjpeg libpng zlib openal SDL openexr libsamplerate + libXi libtiff ilmbase freetype ]; + + cmakeFlags = [ "-DFREETYPE_INC=${freetype}/include" "-DOPENEXR_INC=${openexr}/include/OpenEXR" "-DWITH_OPENCOLLADA=OFF" + "-DPYTHON_LIBPATH=${python}/lib" ]; + + NIX_LDFLAGS = "-lX11"; + NIX_CFLAGS_COMPILE = "-iquote ${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix} -I${freetype}/include/freetype2"; + + installPhase = '' + ensureDir $out/bin + cp bin/* $out/bin + ''; + + meta = { + description = "3D Creation/Animation/Publishing System"; + homepage = http://www.blender.org; + # They comment two licenses: GPLv2 and Blender License, but they + # say: "The BL has not been activated yet." + license = "GPLv2+"; + }; +} diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix index 7ab744f6a36b..87d91e59823e 100644 --- a/pkgs/applications/misc/blender/default.nix +++ b/pkgs/applications/misc/blender/default.nix @@ -1,50 +1,29 @@ -args: with args; -stdenv.mkDerivation { - name = "blender-2.48"; +{stdenv, fetchurl, cmake, mesa, gettext, python, libjpeg, libpng, zlib, openal, SDL +, openexr, libsamplerate, libXi, libtiff, ilmbase }: + +stdenv.mkDerivation rec { + name = "blender-2.50a1"; src = fetchurl { - url = http://download.blender.org/source/blender-2.48a.tar.gz; - sha256 = "0ijfpy510ls8xq1i8fb6j6wd0vac1jvnzmpiga4g7x1j4fg4s7bq"; + url = "http://download.blender.org/source/${name}.tar.gz"; + sha256 = "1cik05fmf9b8z3qpwsm6q9h1ia87w1piz87hxhfs24jw6l5pyiwr"; }; - phases="unpackPhase buildPhase"; + buildInputs = [ cmake mesa gettext python libjpeg libpng zlib openal SDL openexr libsamplerate + libXi libtiff ilmbase ]; - inherit scons SDL freetype openal python openexr mesa; + cmakeFlags = [ "-DOPENEXR_INC=${openexr}/include/OpenEXR" "-DWITH_OPENCOLLADA=OFF" + "-DPYTHON_LIBPATH=${python}/lib" ]; - buildInputs = [python scons - gettext libjpeg libpng zlib freetype /* fmod smpeg */ freealut openal x11 mesa inputproto libtiff libXi - ]; + NIX_CFLAGS_COMPILE = "-iquote ${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}"; - # patch SConstruct so that we can pass on additional include. Either blender - # or openEXR is broken. I think OpenEXR should use include "" isntead of <> to - # include files beeing in the same directory - buildPhase = " -cat >> user-config.py << EOF -WITH_BF_OPENAL = 'true' -WITH_BF_GAMEENGINE='true' -WITH_BF_BULLET = 'true' -WITH_BF_INTERNATIONAL = 'true' -WITH_BF_OPENEXR = 'true' -EOF - - sed -i -e \"s=##### END SETUP ##########=env['CPPFLAGS'].append(os.getenv('CPPFLAGS').split(':'))\\n##### END SETUP ##########=\" SConstruct\n" - + " CPPFLAGS=-I$openexr/include/OpenEXR" - + " scons PREFIX=\$out/nix-support" - + " BF_SDL=\$SDL" - + " BF_SDL_LIBPATH=\$SDL/lib" - + " BF_FREETYPE=\$freetype" - + " BF_OPENAL=\$openal" - + " BF_PYTHON=\$python" - + " BF_OPENEXR_INC=\$openexr/include" - + " BF_OPENEXR_LIBPATH=\$openexr/lib" - + " BF_INSTALLDIR=\$out/nix-support/dontLinkThatMuch \n" - + " ensureDir \$out/bin\n" - + " ln -s \$out/nix-support/dontLinkThatMuch/blender \$out/bin/blender" - ; + patches = [ ./python-chmod.patch ]; meta = { - description = "3D Creation/Animation/Publishing System"; - homepage = http://www.blender.org; - license = "GPL-2 BL"; - }; + description = "3D Creation/Animation/Publishing System"; + homepage = http://www.blender.org; + # They comment two licenses: GPLv2 and Blender License, but they + # say: "We've decided to cancel the BL offering for an indefinite period." + license = "GPLv2+"; + }; } diff --git a/pkgs/applications/misc/blender/python-chmod.patch b/pkgs/applications/misc/blender/python-chmod.patch new file mode 100644 index 000000000000..bda04b1cbb41 --- /dev/null +++ b/pkgs/applications/misc/blender/python-chmod.patch @@ -0,0 +1,14 @@ +As the code copied from the nix store, the files there do not have the 'writeable' permission. +Hence this fix, needed on nix but not on usual LSB linuces. +diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt +index 386ef1b..6a180fa 100644 +--- a/source/creator/CMakeLists.txt ++++ b/source/creator/CMakeLists.txt +@@ -152,6 +152,7 @@ IF(WITH_INSTALL) + COMMAND mkdir ${TARGETDIR}/.blender/python # PYTHONPATH and PYTHONHOME is set here + COMMAND mkdir ${TARGETDIR}/.blender/python/lib/ + COMMAND cp -R ${PYTHON_LIBPATH}/python${PYTHON_VERSION} ${TARGETDIR}/.blender/python/lib/ ++ COMMAND chmod -R +w ${TARGETDIR}/.blender/python/lib/ + + COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/distutils + COMMAND rm -rf ${TARGETDIR}/.blender/python/lib/python${PYTHON_VERSION}/lib2to3 diff --git a/pkgs/applications/misc/gv/default.nix b/pkgs/applications/misc/gv/default.nix index c01f516599fd..cce4c54b8285 100644 --- a/pkgs/applications/misc/gv/default.nix +++ b/pkgs/applications/misc/gv/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, Xaw3d, ghostscriptX }: stdenv.mkDerivation rec { - name = "gv-3.6.8"; + name = "gv-3.6.9"; src = fetchurl { url = "mirror://gnu/gv/${name}.tar.gz"; - sha256 = "1i86a4wfswp908gp4i0f6jbksn8bqqzkfy58r9ishspzkp2fb510"; + sha256 = "1b7n4xbgbgjvbq9kmacmk12vfwzc443bcs38p8k4yb60m7r7qzkb"; }; buildInputs = [ Xaw3d ghostscriptX ]; diff --git a/pkgs/applications/misc/hello/ex-2/default.nix b/pkgs/applications/misc/hello/ex-2/default.nix index ad153341a273..a7cf2b19762f 100644 --- a/pkgs/applications/misc/hello/ex-2/default.nix +++ b/pkgs/applications/misc/hello/ex-2/default.nix @@ -1,13 +1,15 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "hello-2.5"; + name = "hello-2.6"; src = fetchurl { url = "mirror://gnu/hello/${name}.tar.gz"; - sha256 = "0in467phypnis2ify1gkmvc5l2fxyz3s4xss7g74gwk279ylm4r2"; + sha256 = "1h6fjkkwr7kxv0rl5l61ya0b49imzfaspy7jk9jas1fil31sjykl"; }; + doCheck = true; + meta = { description = "A program that produces a familiar, friendly greeting"; longDescription = '' @@ -16,5 +18,8 @@ stdenv.mkDerivation rec { ''; homepage = http://www.gnu.org/software/hello/manual/; license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix index a05668d246f2..7df11653b044 100644 --- a/pkgs/applications/misc/ikiwiki/default.nix +++ b/pkgs/applications/misc/ikiwiki/default.nix @@ -1,24 +1,26 @@ -{stdenv, fetchurl, perl, gettext, makeWrapper, lib, +{ stdenv, fetchurl, perl, gettext, makeWrapper, lib, PerlMagick, TextMarkdown, URI, HTMLParser, HTMLScrubber, HTMLTemplate, TimeDate, - CGISession, CGIFormBuilder, DBFile, LocaleGettext + CGISession, CGIFormBuilder, DBFile, LocaleGettext, RpcXML, XMLSimple , git ? null , monotone ? null , extraUtils ? [] }: -stdenv.mkDerivation rec { - name = "ikiwiki_3.20100312"; +let + name = "ikiwiki"; + version = "3.20100515"; +in +stdenv.mkDerivation { + name = "${name}-${version}"; src = fetchurl { - url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}.tar.gz"; - sha256 = "1pzjl4iplizzspsl237996j1ma6yp9jagbqf3d43kbhv1ai0v3ci"; + url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz"; + sha256 = "143f245196d98ab037a097402420208da14506d6a65793d042daef5dd765ddd7"; }; buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate - TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext ] - ++ - (lib.optional (monotone != null) monotone) - ; + TimeDate gettext makeWrapper DBFile CGISession CGIFormBuilder LocaleGettext + RpcXML XMLSimple PerlMagick git monotone]; patchPhase = '' sed -i s@/usr/bin/perl@${perl}/bin/perl@ pm_filter mdwn2man @@ -34,16 +36,15 @@ stdenv.mkDerivation rec { postInstall = '' for a in $out/bin/*; do wrapProgram $a --suffix PERL5LIB : $PERL5LIB --prefix PATH : ${perl}/bin:$out/bin \ - ${lib.optionalString (git != null) + ${lib.optionalString (git != null) ''--prefix PATH : ${git}/bin \''} - ${lib.optionalString (monotone != null) + ${lib.optionalString (monotone != null) ''--prefix PATH : ${monotone}/bin \''} ${lib.concatMapStrings (x: "--prefix PATH : ${x}/bin ") extraUtils} - done ''; - meta = { + meta = { description = "Wiki compiler, storing pages and history in a RCS"; homepage = http://ikiwiki.info/; license = "GPLv2+"; diff --git a/pkgs/applications/misc/openjump/default.nix b/pkgs/applications/misc/openjump/default.nix new file mode 100644 index 000000000000..3b42f0f33221 --- /dev/null +++ b/pkgs/applications/misc/openjump/default.nix @@ -0,0 +1,39 @@ +{stdenv, fetchurl, unzip}: + +stdenv.mkDerivation { + name = "openjump-1.3.1"; + + src = fetchurl { + url = mirror://sourceforge/jump-pilot/OpenJUMP/1.3.1/openjump-1.3.1.zip; + sha256 = "0y4z53yx0x7rp3c8rnj028ni3gr47r35apgcpqp3jl7r2di6zgqm"; + }; + + # ln jump.log hack: a different user will probably get a permission denied + # error. Still this is better than getting it always. + # TODO: build from source and patch this + unpackPhase = '' + ensureDir $out/bin; + cd $out; unzip $src + s=$out/bin/OpenJump + dir=$(echo $out/openjump-*) + cat >> $s << EOF + #!/bin/sh + cd $dir/bin + exec /bin/sh openjump.sh + EOF + chmod +x $s + ln -s /tmp/openjump.log $dir/bin/jump.log + ''; + + installPhase = ":"; + + buildInputs = [unzip]; + + meta = { + description = "open source Geographic Information System (GIS) written in the Java programming language"; + homepage = http://www.openjump.org/index.html; + license = "GPLv2"; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/misc/sakura/default.nix b/pkgs/applications/misc/sakura/default.nix index 3f1737f55577..0ae81fcf00fb 100644 --- a/pkgs/applications/misc/sakura/default.nix +++ b/pkgs/applications/misc/sakura/default.nix @@ -1,15 +1,11 @@ -{ stdenv, fetchurl, cmake, pkgconfig, gtk, vte, pixman, gettext }: +{ stdenv, fetchurl, cmake, pkgconfig, gtk, vte, pixman, gettext, perl }: stdenv.mkDerivation rec { - name = "sakura-2.3.6"; + name = "sakura-2.3.8"; src = fetchurl { url = "http://www.pleyades.net/david/projects/sakura/${name}.tar.bz2"; - sha256 = "0g6v1filixy4zcz1fabjz0zpdicgzxkc8rh06jxfch5pk9dq4x5j"; + sha256 = "1gfjh1xxqgna0njh0pd4srnbmj67ir4b13slrdri6bm80shfbz8l"; }; - # FIXME - patchPhase = '' - sed -i "s:INSTALL (FILES sakura.1:#INSTALL (FILES sakura.1:" CMakeLists.txt - ''; - buildInputs = [ cmake pkgconfig gtk vte pixman gettext ]; + buildInputs = [ cmake pkgconfig gtk vte pixman gettext perl ]; meta = { homepage = "http://www.pleyades.net/david/sakura.php"; description = "A terminal emulator based on GTK and VTE"; diff --git a/pkgs/applications/misc/thinking-rock/default.nix b/pkgs/applications/misc/thinking-rock/default.nix index 0fb87f9555c6..553e297cf7f1 100644 --- a/pkgs/applications/misc/thinking-rock/default.nix +++ b/pkgs/applications/misc/thinking-rock/default.nix @@ -3,7 +3,7 @@ args.stdenv.mkDerivation { name = "thinkingrock-2.2.1-binary"; src = args.fetchurl { - url = mirror://sourceforge/thinkingrock/files/ThinkingRock/TR%202.2.1/tr-2.2.1.tar.gz; + url = mirror://sourceforge/thinkingrock/ThinkingRock/TR%202.2.1/tr-2.2.1.tar.gz; sha256 = "0hnwvvyc8miiz8w2g4iy7s4rgfy0kfbncgbgfzpsq6nrzq334kgm"; }; diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix index b7b644f018a1..8e2abada55df 100644 --- a/pkgs/applications/misc/xpdf/default.nix +++ b/pkgs/applications/misc/xpdf/default.nix @@ -8,7 +8,7 @@ assert enablePDFtoPPM -> freetype != null; assert useT1Lib -> t1lib != null; stdenv.mkDerivation { - name = "xpdf-3.02pl3"; + name = "xpdf-3.02pl4"; src = fetchurl { url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02.tar.gz; @@ -32,6 +32,10 @@ stdenv.mkDerivation { url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl3.patch; sha256 = "0jskkv8x6dqr9zj4azaglas8cziwqqrkbbnzrpm2kzrvsbxyhk2r"; }) + (fetchurl { + url = ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl4.patch; + sha256 = "1c48h7aizx0ngmzlzw0mpja1w8vqyy3pg62hyxp7c60k86al715h"; + }) ./xpdf-3.02-protection.patch ]; diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index ab112337dafb..addeb0dcf114 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -24,23 +24,26 @@ , libjpeg , bzip2 , libpng +, dbus +, dbus_glib +, patchelf }: assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux" ; stdenv.mkDerivation rec { name = "chrome-${version}"; - version = "35449"; + version = "47504"; src = if stdenv.system == "x86_64-linux" then fetchurl { url = "http://build.chromium.org/buildbot/snapshots/chromium-rel-linux-64/${version}/chrome-linux.zip"; - sha256 = "0fdm1hs67vcr68r290ami3zlyypcvd88rm059622qyadqz49yvcj"; + sha256 = "06cwfr02acv9b0sbc14irqx099p4mgyjl9w58g1vja6r7jbb234c"; } else if stdenv.system == "i686-linux" then fetchurl { url = "http://build.chromium.org/buildbot/snapshots/chromium-rel-linux/${version}/chrome-linux.zip"; - sha256 = "1indm0s87yz9zsg4archsywvp4yd0ff83azkjbwszj0snggk16pg"; + sha256 = "1g9m2d5x415gybjd6kvnhbj2sbfcaszv3dzvdwncsrcviic6w634"; } else null; @@ -50,7 +53,7 @@ stdenv.mkDerivation rec { libPath = stdenv.lib.makeLibraryPath - [ stdenv.glibc stdenv.gcc.gcc ffmpeg cairo pango glib libXrender gtk nspr nss fontconfig freetype alsaLib libX11 GConf libXext atk libXt expat zlib libjpeg bzip2 libpng libXScrnSaver] ; + [ stdenv.glibc stdenv.gcc.gcc ffmpeg cairo pango glib libXrender gtk nspr nss fontconfig freetype alsaLib libX11 GConf libXext atk libXt expat zlib libjpeg bzip2 libpng libXScrnSaver dbus dbus_glib] ; installPhase = '' ensureDir $out/bin @@ -59,8 +62,8 @@ stdenv.mkDerivation rec { cp -R * $out/chrome ln -s $out/chrome/chrome $out/bin/chrome - - patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath ${libPath}:$out/lib:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib $out/chrome/chrome + ${patchelf}/bin/patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" --set-rpath ${libPath}:$out/lib:${stdenv.gcc.gcc}/lib64:${stdenv.gcc.gcc}/lib $out/chrome/chrome + ln -s ${nss}/lib/libsmime3.so $out/lib/libsmime3.so.1d ln -s ${nss}/lib/libnssutil3.so $out/lib/libnssutil3.so.1d diff --git a/pkgs/applications/networking/browsers/conkeror/default.nix b/pkgs/applications/networking/browsers/conkeror/default.nix new file mode 100644 index 000000000000..d7e87e4015b5 --- /dev/null +++ b/pkgs/applications/networking/browsers/conkeror/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, unzip }: +stdenv.mkDerivation { + name = "conkeror-0.9.2"; + src = fetchurl { + url = http://repo.or.cz/w/conkeror.git/snapshot/efacc207b0d6c7b3899fc584c9f48547b18da076.zip; + sha256 = "1bkrrskrmhpx2xp90zgi5jrz4akynkxv2nzk5hzg0a17ikdi5ql8"; + }; + buildInputs = [ unzip ]; + installPhase = '' + cp -r . $out + ''; + meta = { + description = "A keyboard-oriented, customizable, extensible web browser"; + longDescription = '' + Conkeror is a keyboard-oriented, highly-customizable, highly-extensible + web browser based on Mozilla XULRunner, written mainly in JavaScript, + and inspired by exceptional software such as Emacs and vi. Conkeror + features a sophisticated keyboard system, allowing users to run commands + and interact with content in powerful and novel ways. It is + self-documenting, featuring a powerful interactive help system. + ''; + homepage = http://conkeror.org/; + license = [ "MPLv1.1" "GPLv2" "LGPLv2.1" ]; + maintainers = with stdenv.lib.maintainers; [ astsmtl ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix index f9778146d152..24e1e8273637 100644 --- a/pkgs/applications/networking/browsers/firefox/wrapper.nix +++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix @@ -1,4 +1,8 @@ -{stdenv, browser, browserName ? "firefox", nameSuffix ? "", makeDesktopItem, makeWrapper, plugins}: +{ stdenv, browser, makeDesktopItem, makeWrapper, plugins +, browserName ? "firefox" +, desktopName ? "Firefox" +, nameSuffix ? "" +}: stdenv.mkDerivation { name = browser.name + "-with-plugins"; @@ -8,7 +12,7 @@ stdenv.mkDerivation { exec = browserName; icon = "${browser}/lib/${browser.name}/icons/mozicon128.png"; comment = ""; - desktopName = browserName; + desktopName = desktopName; genericName = "Web Browser"; categories = "Application;Network;"; }; diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix index 42aea3dffcd0..8bbe3396c478 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer-10/default.nix @@ -77,10 +77,7 @@ stdenv.mkDerivation { libXext libXrender libXt gtk glib pango atk ]; - buildPhase = stdenv.lib.optionalString debug - '' - tar xfz plugin/debugger/libflashplayer.so.tar.gz - ''; + buildPhase = ":"; meta = { description = "Adobe Flash Player browser plugin"; diff --git a/pkgs/applications/networking/browsers/rekonq/default.nix b/pkgs/applications/networking/browsers/rekonq/default.nix new file mode 100644 index 000000000000..f011009c1112 --- /dev/null +++ b/pkgs/applications/networking/browsers/rekonq/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, fetchgit, cmake, qt4, kdelibs, automoc4, phonon, perl +, v ? "0.4.0" }: + +stdenv.mkDerivation ( + builtins.getAttr v (import ./source.nix { inherit fetchurl fetchgit; }) + // { + buildInputs = [ cmake qt4 kdelibs automoc4 phonon perl ]; + + meta = with stdenv.lib; { + platforms = platforms.linux; + maintainers = [ maintainers.urkud ]; + description = "KDE Webkit browser"; + homepage = http://rekonq.sourceforge.net; + }; + } +) diff --git a/pkgs/applications/networking/browsers/rekonq/source.nix b/pkgs/applications/networking/browsers/rekonq/source.nix new file mode 100644 index 000000000000..a30de7bfbeeb --- /dev/null +++ b/pkgs/applications/networking/browsers/rekonq/source.nix @@ -0,0 +1,27 @@ +{ fetchurl, fetchgit }: + +builtins.listToAttrs +[ + { + name = "0.4.0"; + value = rec { + name = "rekonq-0.4.0"; + src = fetchurl { + url = "mirror://sourceforge/rekonq/${name}.tar.bz2"; + sha256 = "1dxpzkifqy85kwj94mhazan6f9glxvl7i02c50n3f0a12wiywwvy"; + }; + }; + } + + { + name = "scm"; + value = { + name = "rekonq-0.4.0-20100514"; + src = fetchgit { + url = git://gitorious.org/rekonq/mainline.git; + rev = "6b4f4d69a3c599bc958ccddc5f7ac1c8648a7042"; + sha256 = "1qcwf7rsrnsbnq62cl44r48bmavc2nysi2wqhy1jxmj2ndwvsxy1"; + }; + }; + } +] diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix new file mode 100644 index 000000000000..b80f81010da6 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix @@ -0,0 +1,22 @@ +args: with args; + +let + version = "1.10.0"; +in +stdenv.mkDerivation { + name = "pidgin-sipe-${version}"; + src = fetchurl { + url = "mirror://sourceforge/sipe/sipe/pidgin-sipe-${version}/pidgin-sipe-${version}.tar.gz"; + sha256 = "11d85qxix1dmwvzs3lx0sycsx1d5sy67r9y78fs7z716py4mg9np"; + }; + + meta = { + description = "SIPE plugin for Pidgin IM."; + homepage = http://sipe.sourceforge.net/; + license = "GPLv2"; + }; + + postInstall = "find $out -ls; ln -s \$out/lib/purple-2 \$out/share/pidgin-sipe"; + + buildInputs = [pidgin intltool libxml2]; +} diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index 3bf2522fd645..4cba9732f11b 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix @@ -21,10 +21,10 @@ } : stdenv.mkDerivation { - name = "pidgin-2.6.6"; + name = "pidgin-2.7.0"; src = fetchurl { - url = mirror://sourceforge/pidgin/pidgin-2.6.6.tar.bz2; - sha256 = "1n9aggkzvqk9w8pfy90h1l98yrzb9xf8ak2f4jxzwv94779ykfvf"; + url = mirror://sourceforge/pidgin/pidgin-2.7.0.tar.bz2; + sha256 = "0gbq6n36h9a53rp1x41fakrbncxc27y84pn3a0lcz3nvfnpcnnfw"; }; inherit nss ncurses; diff --git a/pkgs/applications/networking/irc/irssi/default.nix b/pkgs/applications/networking/irc/irssi/default.nix index 9e3fc40b7056..86d800e0cfe5 100644 --- a/pkgs/applications/networking/irc/irssi/default.nix +++ b/pkgs/applications/networking/irc/irssi/default.nix @@ -1,18 +1,18 @@ -{stdenv, fetchurl, pkgconfig, ncurses, glib, openssl}: +{stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl}: stdenv.mkDerivation rec { - name = "irssi-0.8.14"; + name = "irssi-0.8.15"; src = fetchurl { url = "http://irssi.org/files/${name}.tar.bz2"; - sha256 = "0a6zizpqb4yyk7c9sxvqcj8jx20qrnfr2kwqbsckryz63kmp1sk3"; + sha256 = "19m0aah9bhc70dnhh7kpydbsz5n35l0l9knxav1df0sic3xicbf1"; }; - buildInputs = [pkgconfig ncurses glib openssl]; + buildInputs = [pkgconfig ncurses glib openssl perl]; NIX_LDFLAGS = "-lncurses"; - configureFlags = "--with-proxy --with-ncurses --enable-ssl"; + configureFlags = "--with-proxy --with-ncurses --enable-ssl --with-perl=yes"; meta = { homepage = http://irssi.org; diff --git a/pkgs/applications/networking/remote/putty/builder.sh b/pkgs/applications/networking/remote/putty/builder.sh deleted file mode 100755 index 8b7da0a84e41..000000000000 --- a/pkgs/applications/networking/remote/putty/builder.sh +++ /dev/null @@ -1,12 +0,0 @@ -source $stdenv/setup - -tar zxvf $src -cd putty-*/unix/ - -ensureDir $out/bin -ensureDir $out/share/man/man1 - -./configure --prefix=$out --with-gtk-prefix=$gtk -make -make install - diff --git a/pkgs/applications/networking/remote/putty/default.nix b/pkgs/applications/networking/remote/putty/default.nix index 402b5a520f45..980bb894aa2a 100644 --- a/pkgs/applications/networking/remote/putty/default.nix +++ b/pkgs/applications/networking/remote/putty/default.nix @@ -1,22 +1,28 @@ -{ stdenv, fetchurl, ncurses -, gtk -}: +{ stdenv, fetchsvn, ncurses, gtk, pkgconfig, autoconf, automake, perl, halibut }: +let + rev = 8934; +in stdenv.mkDerivation { - name = "putty-0.60"; - builder = ./builder.sh; + name = "putty-${toString rev}"; + # builder = ./builder.sh; + + preConfigure = '' + perl mkfiles.pl + ( cd doc ; make ); + cd unix + sed '/AM_PATH_GTK(/d' -i configure.ac + cp ${automake}/share/automake-*/install-sh . + autoreconf -vf + ''; - src = fetchurl { - url = http://the.earth.li/~sgtatham/putty/latest/putty-0.60.tar.gz; - sha256 = "b2bbaaf9324997e85cf15d44ed41e8e89539c8215dceac9d6d7272a37dbc2849"; + # The hash is going to change on new snapshot. + # I don't know of any better URL + src = fetchsvn { + url = svn://svn.tartarus.org/sgt/putty; + rev = rev; + sha256 = "1yg5jhk7jp4yrnhpi0lvz71qqaf5gfpcwy8p198qqs8xgd1w51jc"; }; - buildInputs = [ - gtk ncurses - ]; - - #propagatedBuildInputs = [ - #]; - - inherit gtk; + buildInputs = [ gtk ncurses pkgconfig autoconf automake perl halibut ]; } diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix index ff4ab601251f..7738ce43f99c 100644 --- a/pkgs/applications/networking/sync/unison/default.nix +++ b/pkgs/applications/networking/sync/unison/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation (rec { postInstall = '' for i in $(cd $out/bin && ls); do wrapProgram $out/bin/$i \ - --run "${xset}/bin/xset q | grep -q \"${fontschumachermisc}\" || ${xset}/bin/xset +fp \"${fontschumachermisc}/lib/X11/fonts/misc\"" + --run "[ -n \"\$DISPLAY\" ] && (${xset}/bin/xset q | grep -q \"${fontschumachermisc}\" || ${xset}/bin/xset +fp \"${fontschumachermisc}/lib/X11/fonts/misc\")" done ''; diff --git a/pkgs/applications/office/ledger/const.patch b/pkgs/applications/office/ledger/const.patch new file mode 100644 index 000000000000..8565fbfd0d45 --- /dev/null +++ b/pkgs/applications/office/ledger/const.patch @@ -0,0 +1,41 @@ +diff --git a/gnucash.cc b/gnucash.cc +index 7d31526..c4edd77 100644 +--- a/gnucash.cc ++++ b/gnucash.cc +@@ -201,7 +201,7 @@ static amount_t convert_number(const std::string& number, + { + const char * num = number.c_str(); + +- if (char * p = std::strchr(num, '/')) { ++ if (const char * p = std::strchr(num, '/')) { + std::string numer_str(num, p - num); + std::string denom_str(p + 1); + +diff --git a/option.cc b/option.cc +index 10c23a7..8f2fead 100644 +--- a/option.cc ++++ b/option.cc +@@ -892,7 +892,7 @@ OPT_BEGIN(market, "V") { + namespace { + void parse_price_setting(const char * optarg) + { +- char * equals = std::strchr(optarg, '='); ++ const char * equals = std::strchr(optarg, '='); + if (! equals) + return; + +diff --git a/textual.cc b/textual.cc +index 2033106..d897368 100644 +--- a/textual.cc ++++ b/textual.cc +@@ -298,8 +298,8 @@ transaction_t * parse_transaction(char * line, account_t * account, + DEBUG_PRINT("ledger.textual.parse", "line " << linenum << ": " << + "Parsed a note '" << xact->note << "'"); + +- if (char * b = std::strchr(xact->note.c_str(), '[')) +- if (char * e = std::strchr(xact->note.c_str(), ']')) { ++ if (const char * b = std::strchr(xact->note.c_str(), '[')) ++ if (const char * e = std::strchr(xact->note.c_str(), ']')) { + char buf[256]; + std::strncpy(buf, b + 1, e - b - 1); + buf[e - b - 1] = '\0'; diff --git a/pkgs/applications/office/ledger/default.nix b/pkgs/applications/office/ledger/default.nix index c6c2fd4d1b19..14121e6281f4 100644 --- a/pkgs/applications/office/ledger/default.nix +++ b/pkgs/applications/office/ledger/default.nix @@ -20,6 +20,8 @@ stdenv.mkDerivation { buildInputs = [ emacs gmp pcre ]; + patches = [ ./const.patch ]; + # Something goes wrong with pathelf... # this is a small workaround: adds a small shell script for # setting LD_LIBRARY_PATH diff --git a/pkgs/applications/office/openoffice/default.nix b/pkgs/applications/office/openoffice/default.nix index 2916a48efbfd..5c1e34a4425c 100644 --- a/pkgs/applications/office/openoffice/default.nix +++ b/pkgs/applications/office/openoffice/default.nix @@ -6,27 +6,30 @@ , libXinerama, openssl, gperf, cppunit, GConf, ORBit2 }: -let version = "3.1.1"; in +let version = "3.2.0"; in stdenv.mkDerivation rec { name = "openoffice.org-${version}"; builder = ./builder.sh; - #downloadRoot = "http://download.services.openoffice.org/files/stable"; - downloadRoot = "http://www-openoffice.com/source/"; - versionDirs = false; + downloadRoot = "http://download.services.openoffice.org/files/stable"; + versionDirs = true; src = fetchurl { url = "${downloadRoot}/${if versionDirs then version + "/" else ""}OOo_${version}_src_core.tar.bz2"; - sha256 = "95440f09f8dce616178b86b26af8e543c869d01579207aa68e8474019b59caca"; + sha256 = "0jl14rxmvhz86jlhhwqlbr9nfi9p271aknqxada9775qfm6bjjml"; }; - patches = [ ./oo.patch ./OOo-3.1.1-HEADERFIX-1.patch ./root-required.patch ]; + patches = [ ./oo.patch ./root-required.patch ]; src_system = fetchurl { url = "${downloadRoot}/${if versionDirs then version + "/" else ""}OOo_${version}_src_system.tar.bz2"; - sha256 = "bb4a440ca91a40cd2b5692abbc19e8fbd3d311525edb266dc5cd9ebc324f2b4a"; + sha256 = "0nihw4iyh9qc188dkyfjr3zvp6ym6i1spm16j0cyh5rgxcrn6ycp"; }; + preConfigure = '' + PATH=$PATH:${icu}/sbin + ''; + configureFlags = " --with-package-format=native --disable-epm @@ -41,6 +44,7 @@ stdenv.mkDerivation rec { --with-system-libs --with-system-python --with-system-boost + --with-system-db --with-jdk-home=${jdk} --with-ant-home=${ant} --without-afms @@ -56,7 +60,6 @@ stdenv.mkDerivation rec { --without-system-xerces --without-system-xml-apis --without-system-xt - --without-system-db --without-system-jars --without-system-hunspell --without-system-altlinuxhyph @@ -64,6 +67,11 @@ stdenv.mkDerivation rec { --without-system-graphite "; + # Double make - I don't know why a single make reports error, and two, do not. + buildPhase = '' + make || make + ''; + LD_LIBRARY_PATH = "${libXext}/lib:${libX11}/lib:${libXtst}/lib:${libXi}/lib:${libjpeg}/lib"; buildInputs = [ diff --git a/pkgs/applications/office/openoffice/oo.patch b/pkgs/applications/office/openoffice/oo.patch index 1b8234e6d61e..e759fcdc2d4f 100644 --- a/pkgs/applications/office/openoffice/oo.patch +++ b/pkgs/applications/office/openoffice/oo.patch @@ -1,5 +1,5 @@ diff --git a/libtextcat/makefile.mk b/libtextcat/makefile.mk -index 602b9b1..6be8427 100644 +index 74c64bf..fbf8d21 100644 --- a/libtextcat/makefile.mk +++ b/libtextcat/makefile.mk @@ -57,7 +57,7 @@ ADDITIONAL_FILES= \ @@ -8,46 +8,46 @@ index 602b9b1..6be8427 100644 #relative to CONFIGURE_DIR -CONFIGURE_ACTION=configure CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" +CONFIGURE_ACTION=configure CFLAGS="$(ARCH_FLAGS) $(EXTRA_CFLAGS)" --prefix=$(TMPDIR) - CONFIGURE_FLAGS= + CONFIGURE_FLAGS=$(eq,$(OS),MACOSX CPPFLAGS="$(EXTRA_CDEFS)" $(NULL)) BUILD_ACTION=make diff --git a/redland/raptor/makefile.mk b/redland/raptor/makefile.mk -index 0e64d50..547d66b 100644 +index 0d92de9..aae3b4f 100644 --- a/redland/raptor/makefile.mk +++ b/redland/raptor/makefile.mk -@@ -104,7 +104,7 @@ XSLTLIB:=$(XSLTLIB) - +@@ -130,7 +130,7 @@ XSLTLIB!:=$(XSLTLIB) # expand dmake variables for xslt-config CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure --CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml -+CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --prefix=$(TMPDIR) + # do not enable grddl parser (#i93768#) +-CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --enable-parsers="rdfxml ntriples turtle trig guess rss-tag-soup" --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml ++CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --enable-parsers="rdfxml ntriples turtle trig guess rss-tag-soup" --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --prefix=$(TMPDIR) BUILD_ACTION=$(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) diff --git a/redland/rasqal/makefile.mk b/redland/rasqal/makefile.mk -index 850ee9c..3293a79 100644 +index fba6460..fc70419 100644 --- a/redland/rasqal/makefile.mk +++ b/redland/rasqal/makefile.mk -@@ -104,7 +104,7 @@ XSLTLIB:=$(XSLTLIB) +@@ -126,7 +126,7 @@ XSLTLIB!:=$(XSLTLIB) # expand dmake variables for xslt-config CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure PATH="..$/..$/..$/bin:$$PATH" -CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml +CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --prefix=$(TMPDIR) - BUILD_ACTION=$(GNUMAKE) + BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) diff --git a/redland/redland/makefile.mk b/redland/redland/makefile.mk -index 5719272..75c31b7 100644 +index 710d7d6..dd60f0d 100644 --- a/redland/redland/makefile.mk +++ b/redland/redland/makefile.mk -@@ -108,7 +108,7 @@ XSLTLIB:=$(XSLTLIB) +@@ -132,7 +132,7 @@ XSLTLIB!:=$(XSLTLIB) # expand dmake variables for xslt-config CONFIGURE_DIR= CONFIGURE_ACTION=.$/configure PATH="..$/..$/..$/bin:$$PATH" -CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --with-raptor=system --with-rasqual=system --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml +CONFIGURE_FLAGS=--disable-static --disable-gtk-doc --with-threads --with-openssl-digests --with-xml-parser=libxml --with-raptor=system --with-rasqual=system --without-bdb --without-sqlite --without-mysql --without-postgresql --without-threestore --with-regex-library=posix --with-decimal=none --with-www=xml --prefix=$(TMPDIR) - BUILD_ACTION=$(GNUMAKE) + BUILD_ACTION=$(AUGMENT_LIBRARY_PATH) $(GNUMAKE) BUILD_FLAGS+= -j$(EXTMAXPROCESS) BUILD_DIR=$(CONFIGURE_DIR) diff --git a/hunspell/hunspell-1.2.8.patch b/hunspell/hunspell-1.2.8.patch diff --git a/pkgs/applications/science/logic/coq/beta.nix b/pkgs/applications/science/logic/coq/beta.nix new file mode 100644 index 000000000000..c5c4221ac1ee --- /dev/null +++ b/pkgs/applications/science/logic/coq/beta.nix @@ -0,0 +1,53 @@ +# TODO: +# - coqide compilation should be optional or (better) separate; +# - coqide libraries are not installed; + +{stdenv, fetchurl, ocaml, camlp5, lablgtk, ncurses}: + +stdenv.mkDerivation { + name = "coq-8.3-beta0-1"; + + src = fetchurl { + url = http://coq.inria.fr/distrib/V8.3-beta0/files/coq-8.3-beta0-1.tar.gz; + sha256 = "01m1x0gpzfsiybyqanm82ls8q63q0g2d9vvfs99zf4z1nny7vlf1"; + }; + + buildInputs = [ ocaml camlp5 ncurses lablgtk ]; + + prefixKey = "-prefix "; + + preConfigure = '' + ARCH=`uname -s` + CAMLDIR=`type -p ocamlc` + ''; + + configureFlags = + "-arch $ARCH " + + "-camldir $CAMLDIR " + + "-camldir ${ocaml}/bin " + + "-camlp5dir ${camlp5}/lib/ocaml/camlp5 " + + "-lablgtkdir ${lablgtk}/lib/ocaml/lablgtk2 " + + "-opt -coqide opt"; + + buildFlags = "world"; # Debug with "world VERBOSE=1"; + + patches = [ ./coq-8.3-beta0-1.patch ]; + + postPatch = '' + substituteInPlace scripts/coqmktop.ml --replace \ + "\"-I\"; \"+lablgtk2\"" \ + "\"-I\"; \"${lablgtk}/lib/ocaml/lablgtk2\"; \"-I\"; \"${lablgtk}/lib/ocaml/stublibs\"" + ''; + + meta = { + description = "Coq proof assistant"; + longDescription = '' + Coq is a formal proof management system. It provides a formal language + to write mathematical definitions, executable algorithms and theorems + together with an environment for semi-interactive development of + machine-checked proofs. + ''; + homepage = "http://coq.inria.fr"; + license = "LGPL"; + }; +} diff --git a/pkgs/applications/science/logic/coq/coq-8.3-beta0-1.patch b/pkgs/applications/science/logic/coq/coq-8.3-beta0-1.patch new file mode 100644 index 000000000000..a5259eb43c08 --- /dev/null +++ b/pkgs/applications/science/logic/coq/coq-8.3-beta0-1.patch @@ -0,0 +1,20 @@ +diff -Nurp coq-8.3-beta0-1/configure coq-8.3-beta0-1-nix/configure +--- coq-8.3-beta0-1/configure 2010-02-16 12:37:58.000000000 +0100 ++++ coq-8.3-beta0-1-nix/configure 2010-05-11 17:47:44.000000000 +0200 +@@ -394,7 +394,6 @@ case $camldir_spec in + ocamlyaccexec=$CAMLBIN/ocamlyacc + ocamlmktopexec=$CAMLBIN/ocamlmktop + ocamlmklibexec=$CAMLBIN/ocamlmklib +- camlp4oexec=$CAMLBIN/camlp4o + esac + + if test ! -f "$CAMLC" ; then +@@ -626,7 +625,7 @@ case $COQIDE in + no) LABLGTKLIB=+lablgtk2 # Pour le message + LABLGTKINCLUDES="-I $LABLGTKLIB";; # Pour le makefile + yes) LABLGTKLIB="$lablgtkdir" # Pour le message +- LABLGTKINCLUDES="-I \"$LABLGTKLIB\"";; # Pour le makefile ++ LABLGTKINCLUDES="-I $LABLGTKLIB";; # Pour le makefile + esac;; + no) LABLGTKINCLUDES="";; + esac diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 19827022072d..acf88848f059 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -1,6 +1,5 @@ # TODO: # - coqide compilation should be optional or (better) separate; -# - coqide libraries are not installed; {stdenv, fetchurl, ocaml, camlp5, lablgtk, ncurses}: @@ -52,6 +51,10 @@ stdenv.mkDerivation { "\"-I\"; \"${lablgtk}/lib/ocaml/lablgtk2\"; \"-I\"; \"${lablgtk}/lib/ocaml/stublibs\"" ''; + postInstall = '' + cp ide/*.cmi ide/ide.*a $out/lib/coq/ide/ + ''; + meta = { description = "Coq proof assistant"; longDescription = '' diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 0e9c285a55e7..a06d3805209c 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -2,14 +2,14 @@ let name = "maxima"; - version = "5.20.1"; + version = "5.21.1"; in stdenv.mkDerivation { name = "${name}-${version}"; src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz"; - sha256 = "cc2430ad6b895fb730ee2a7b8df4852c2b6d09a5a8bb715bdba783982c470bd9"; + sha256 = "1dae887e1787871437d699a6b1acc1c1f7428729487492a07c6a31e26bf53a1b"; }; buildInputs = [clisp]; @@ -17,7 +17,7 @@ stdenv.mkDerivation { meta = { description = "Maxima computer algebra system"; homepage = http://maxima.sourceforge.net; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.simons ]; }; - - maintainers = [ stdenv.lib.maintainers.simons ]; } diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix index 403105aaaa7f..2bd50b7707b4 100644 --- a/pkgs/applications/science/math/wxmaxima/default.nix +++ b/pkgs/applications/science/math/wxmaxima/default.nix @@ -6,14 +6,14 @@ let name = "wxmaxima"; - version = "0.8.3"; + version = "0.8.5"; in stdenv.mkDerivation { name = "${name}-${version}"; src = fetchurl { url = "mirror://sourceforge/${name}/wxMaxima-${version}.tar.gz"; - sha256 = "829e732e668f13c3153cc2fb67c7678973bf1bc468fb1b9f437fd0c24f59507a"; + sha256 = "794317fa2a8d0c2e88c3e5d238c5b81a3e11783ec4a692468b51f15bf5d294f2"; }; buildInputs = [maxima wxGTK]; diff --git a/pkgs/applications/version-management/darcs/darcs-2.nix b/pkgs/applications/version-management/darcs/darcs-2.nix index dd54bfa112b5..c399c523f899 100644 --- a/pkgs/applications/version-management/darcs/darcs-2.nix +++ b/pkgs/applications/version-management/darcs/darcs-2.nix @@ -1,16 +1,20 @@ -{cabal, html, mtl, parsec, regexCompat, curl, haskeline, hashedStorage} : +{cabal, html, mtl, parsec, regexCompat, curl, haskeline, hashedStorage, zlib} : cabal.mkDerivation (self : { pname = "darcs"; name = self.fname; - version = "2.3.1"; - sha256 = "14821bb2db4975cb4db2c5cc4f085069b936da591b7b71592befc9e07f17d214"; + version = "2.4.1"; + sha256 = "6ac0e84d2eca160e6e33755679dfb185d9b5f9f5bdc43f99db326210aabbc4aa"; - extraBuildInputs = [html parsec regexCompat curl haskeline hashedStorage]; + extraBuildInputs = [ + html parsec regexCompat curl haskeline hashedStorage zlib + ]; meta = { homepage = http://darcs.net/; description = "Patch-based version management system"; + license = "GPL"; + maintainers = [self.stdenv.lib.maintainers.andres]; }; }) diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix new file mode 100644 index 000000000000..e04641522805 --- /dev/null +++ b/pkgs/applications/version-management/fossil/default.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, zlib, openssl}: + +let + version = "20100318142033"; +in + +stdenv.mkDerivation { + name = "fossil-${version}"; + + src = fetchurl { + url = "http://www.fossil-scm.org/download/fossil-src-${version}.tar.gz"; + sha256 = "16kd9sg99s8v549n9ggr5ynjrz36i71fvj1r66djdbdclg5sxlxv"; + }; + + buildInputs = [ zlib openssl ]; + + installPhase = '' + ensureDir $out/bin + INSTALLDIR=$out/bin make install + ''; + + meta = { + description = "Simple, high-reliability, distributed software configuration management."; + longDescription = '' + Fossil is a software configuration management system. Fossil is + software that is designed to control and track the development of a + software project and to record the history of the project. There are + many such systems in use today. Fossil strives to distinguish itself + from the others by being extremely simple to setup and operate. + ''; + homepage = http://www.fossil-scm.org/; + license = "GPLv2"; + maintainers = [ #Add your name here! + stdenv.lib.maintainers.z77z + ]; + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix index fc998a8b23ba..a899c8e5c56d 100644 --- a/pkgs/applications/version-management/git-and-tools/default.nix +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -15,13 +15,21 @@ rec { cpio tcl tk makeWrapper subversion; svnSupport = config "svnSupport" false; # for git-svn support guiSupport = config "guiSupport" false; + sendEmailSupport = config "sendEmailSupport" false; perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey]; + smtpPerlLibs = [ + perlPackages.NetSMTP perlPackages.NetSMTPSSL + perlPackages.IOSocketSSL perlPackages.NetSSLeay + perlPackages.MIMEBase64 perlPackages.AuthenSASL + perlPackages.DigestHMAC + ]; }; # The full-featured Git. gitFull = git.override { svnSupport = true; guiSupport = true; + sendEmailSupport = stdenv.isDarwin == false; }; gitGit = import ./git/git-git.nix { @@ -104,4 +112,28 @@ rec { subversion; }; + git2cl = import ./git2cl { + inherit fetchgit stdenv perl; + }; + + gitSubtree = stdenv.mkDerivation { + name = "git-subtree-0.3"; + src = fetchurl { + url = "http://github.com/apenwarr/git-subtree/tarball/v0.3"; +# sha256 = "0y57lpbcc2142jgrr4lflyb9xgzs9x33r7g4b919ncn3alb95vdr"; + sha256 = "f2ccac1e9cff4c35d989dc2a5581133c96b72d96c6a5ed89e51b6446dadac03f"; + }; + unpackCmd = "gzip -d < $curSrc | tar xvf -"; + buildInputs = [ git asciidoc xmlto docbook_xsl docbook_xml_dtd_45 libxslt ]; + configurePhase = "export prefix=$out"; + buildPhase = "true"; + installPhase = '' + make install prefix=$out gitdir=$out/bin #work around to deal with a wrong makefile + ''; + meta= { + description = "An experimental alternative to the git-submodule command"; + homepage = http://github.com/apenwarr/git-subtree; + license = "GPLv2"; + }; + }; } diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix index 7e41a1297ead..9f7149d6663b 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -1,9 +1,10 @@ { fetchurl, stdenv, curl, openssl, zlib, expat, perl, python, gettext, cpio , asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_45 , libxslt, tcl, tk, makeWrapper -, svnSupport, subversion, perlLibs +, svnSupport, subversion, perlLibs, smtpPerlLibs , guiSupport , pythonSupport ? true +, sendEmailSupport }: let @@ -11,11 +12,11 @@ let in stdenv.mkDerivation rec { - name = "git-1.7.0.5"; + name = "git-1.7.1"; src = fetchurl { url = "mirror://kernel/software/scm/git/${name}.tar.bz2"; - sha256 = "96b44fcd8652db8a7a30d87096a17200457d3fbcc91aa334cb7644a6da898d53"; + sha256 = "bcf008ec9639480a3ebfdc4708743b6c0978a8bd3103a2dda587ea9473b9dde2"; }; patches = [ ./docbook2texi.patch ]; @@ -60,6 +61,18 @@ stdenv.mkDerivation rec { notSupported $out/bin/git-svn "reinstall with config git = { svnSupport = true } set" '') + + (if sendEmailSupport then + ''# wrap git-send-email + gitperllib=$out/lib/perl5/site_perl + for i in ${builtins.toString smtpPerlLibs}; do + gitperllib=$gitperllib:$i/lib/perl5/site_perl + done + wrapProgram "$out/libexec/git-core/git-send-email" \ + --set GITPERLLIB "$gitperllib" '' + else '' # replace git-send-email by notification script + notSupported $out/bin/git-send-email "reinstall with config git = { sendEmailSupport = true } set" + '') + + ''# Install man pages and Info manual make PERL_PATH="${perl}/bin/perl" cmd-list.made install install-info \ -C Documentation '' @@ -119,6 +132,6 @@ stdenv.mkDerivation rec { stdenv.lib.maintainers.simons ]; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/applications/version-management/git-and-tools/git2cl/default.nix b/pkgs/applications/version-management/git-and-tools/git2cl/default.nix new file mode 100644 index 000000000000..026fc18c8018 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git2cl/default.nix @@ -0,0 +1,19 @@ +{ fetchgit +, stdenv +, perl +}: +stdenv.mkDerivation rec { + name = "git2cl"; + + src = fetchgit { + url = git://git.sv.gnu.org/git2cl.git; + rev = "8373c9f74993e218a08819cbcdbab3f3564bbeba"; + sha256 = "b0d39379640c8a12821442431e2121f7908ce1cc88ec8ec6bede218ea8c21f2f"; + }; + + buildCommand = '' + ensureDir $out/bin + cp ${src}/git2cl $out/bin + sed -i 's|/usr/bin/perl|${perl}/bin/perl|' $out/bin/git2cl + ''; +} diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 2dae1b344fc6..da7e72669c6c 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -41,7 +41,6 @@ stdenv.mkDerivation rec { ${if javahlBindings then "--enable-javahl --with-jdk=${jdk}" else ""} --with-zlib=${zlib} --with-sqlite=${sqlite} - --disable-neon-version-check ''; preBuild = '' diff --git a/pkgs/applications/video/MPlayer/default.nix b/pkgs/applications/video/MPlayer/default.nix index 6d2de592f428..7ce8f0ed789d 100644 --- a/pkgs/applications/video/MPlayer/default.nix +++ b/pkgs/applications/video/MPlayer/default.nix @@ -6,6 +6,8 @@ , cdparanoia ? null, cddaSupport ? true , amrnb ? null, amrwb ? null, amrSupport ? false , jackaudioSupport ? false, jackaudio ? null +, x264Support ? false, x264 ? null +, xvidSupport ? false, xvidcore ? null , mesa, pkgconfig, unzip }: @@ -43,11 +45,11 @@ let in stdenv.mkDerivation { - name = "MPlayer-1.0-pre-rc4-20100213"; + name = "MPlayer-1.0-pre-rc4-20100506"; src = fetchurl { - url = mirror://gentoo/distfiles/mplayer-1.0_rc4_p20100213.tbz2; - sha256 = "1c5w49vqavs9pnc5av89v502wfa5g7hfn65ffhpx25ddi1irzh2r"; + url = mirror://gentoo/distfiles/mplayer-1.0_rc4_p20100506.tar.bz2; + sha256 = "0rhs0mv216iir8cz13xdq0rs88lc48ciiyn0wqzxjrnjb17yajy6"; }; buildInputs = @@ -61,11 +63,14 @@ stdenv.mkDerivation { ++ stdenv.lib.optionals dvdnavSupport [ libdvdnav libdvdnav.libdvdread ] ++ stdenv.lib.optional cddaSupport cdparanoia ++ stdenv.lib.optional jackaudioSupport jackaudio - ++ stdenv.lib.optionals amrSupport [ amrnb amrwb ]; + ++ stdenv.lib.optionals amrSupport [ amrnb amrwb ] + ++ stdenv.lib.optional x264Support x264 + ++ stdenv.lib.optional xvidSupport xvidcore; configureFlags = '' ${if cacaSupport then "--enable-caca" else "--disable-caca"} ${if dvdnavSupport then "--enable-dvdnav --enable-dvdread --disable-dvdread-internal" else ""} + ${if x264Support then "--enable-x264 --extra-libs=-lx264" else ""} --codecsdir=${codecs} --enable-runtime-cpudetection --enable-x11 diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index b84ef841efc2..89ec101610c7 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation { - name = "vlc-1.0.5"; + name = "vlc-1.0.6"; src = fetchurl { - url = http://download.videolan.org/pub/videolan/vlc/1.0.5/vlc-1.0.5.tar.bz2; - sha256 = "1kbd43y6sy6lg1xgl1j4mid6rdx6sszkm8c14hwqrfvgjd69kwgp"; + url = http://download.videolan.org/pub/videolan/vlc/1.0.6/vlc-1.0.6.tar.bz2; + sha256 = "0hhqbr0hwm07pimdy4rfmf3k3d6iz6icmrndirnp888hg8z968gm"; }; buildInputs = [ diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index 39ed68ce9f73..d1b4838491dc 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation { - name = "virtualbox-3.1.6-${kernel.version}"; + name = "virtualbox-3.1.8-${kernel.version}"; src = fetchurl { - url = http://download.virtualbox.org/virtualbox/3.1.6/VirtualBox-3.1.6-OSE.tar.bz2; - sha256 = "05m0gsihvg0fs73a9bcivvlqkwrxvzfnyn2l59nixvy8g7w4h0c4"; + url = http://download.virtualbox.org/virtualbox/3.1.8/VirtualBox-3.1.8-OSE.tar.bz2; + sha256 = "118y12k9kv8nfhgnzn3z4d8v75jz6nvy7y1il84cj09lnkkqlz5p"; }; buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL hal libcap glib kernel python alsaLib curl]; diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index 0c0ccc442de6..6e099ef5df7e 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -2,10 +2,10 @@ , libX11, libXt, libXext, libXmu, libXcomposite, libXfixes}: stdenv.mkDerivation { - name = "VirtualBox-GuestAdditions-3.1.6"; + name = "VirtualBox-GuestAdditions-3.1.8"; src = fetchurl { - url = http://download.virtualbox.org/virtualbox/3.1.6/VBoxGuestAdditions_3.1.6.iso; - sha256 = "07vylsjs960yqgz2cn57sdhrhs0i3mkb286vnl7p86i7dfl0r08s"; + url = http://download.virtualbox.org/virtualbox/3.1.8/VBoxGuestAdditions_3.1.8.iso; + sha256 = "11fn49zxmd7nxmqn9pcakmzj6j9f8kfb38czpl8fhbnl2k4ggj5q"; }; KERN_DIR = "${kernel}/lib/modules/*/build"; buildInputs = [ patchelf cdrkit ]; @@ -71,7 +71,6 @@ stdenv.mkDerivation { ensureDir $out/bin install -m 755 bin/VBoxClient $out/bin install -m 755 bin/VBoxControl $out/bin - install -m 755 bin/VBoxRandR $out/bin install -m 755 bin/VBoxClient-all $out/bin # Install OpenGL libraries diff --git a/pkgs/applications/window-managers/awesome/default.nix b/pkgs/applications/window-managers/awesome/default.nix index d706bae0ae61..3d8782e45055 100644 --- a/pkgs/applications/window-managers/awesome/default.nix +++ b/pkgs/applications/window-managers/awesome/default.nix @@ -1,20 +1,30 @@ {stdenv, fetchurl, xz, cmake, gperf, imagemagick, pkgconfig, lua , glib, cairo, pango, imlib2, libxcb, libxdg_basedir, xcbutil , libstartup_notification, libev, asciidoc, xmlto, dbus, docbook_xsl -, docbook_xml_dtd_45, libxslt}: +, docbook_xml_dtd_45, libxslt, coreutils}: stdenv.mkDerivation rec { - name = "awesome-3.4.4"; + name = "awesome-3.4.5"; src = fetchurl { - url = http://awesome.naquadah.org/download/awesome-3.4.4.tar.xz; - sha256 = "1d1ida8mznn02pzj2kfh6m59mwrz8vk1cy66npgyfpzyrv8a558y"; + url = http://awesome.naquadah.org/download/awesome-3.4.5.tar.xz; + sha256 = "124g6k4n2yf9shw3ig9lj1jdwiysfbj13mnjd38k22hqbj3yhnbi"; }; buildInputs = [ xz cmake gperf imagemagick pkgconfig lua glib cairo pango imlib2 libxcb libxdg_basedir xcbutil libstartup_notification libev asciidoc xmlto dbus docbook_xsl docbook_xml_dtd_45 libxslt ]; + # We use coreutils for 'env', that will allow then finding 'bash' or 'zsh' in + # the awesome lua code. I prefered that instead of adding 'bash' or 'zsh' as + # dependencies. + patchPhase = '' + # Fix the tab completion (supporting bash or zsh) + sed s,/usr/bin/env,${coreutils}/bin/env, -i lib/awful/completion.lua.in + # Remove the 'root' PATH override (I don't know why they have that) + sed /WHOAMI/d -i utils/awsetbg + ''; + # Somehow libev does not get into the rpath, although it should. # Something may be wrong in the gcc wrapper. preBuild = '' diff --git a/pkgs/applications/window-managers/larswm/default.nix b/pkgs/applications/window-managers/larswm/default.nix new file mode 100644 index 000000000000..3cd3e18b13b0 --- /dev/null +++ b/pkgs/applications/window-managers/larswm/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, imake, libX11, libXext, libXmu}: + +stdenv.mkDerivation { + name = "larswm-7.5.3"; + + src = fetchurl { + url = mirror://sourceforge/larswm/larswm-7.5.3.tar.gz; + sha256 = "1xmlx9g1nhklxjrg0wvsya01s4k5b9fphnpl9zdwp29mm484ni3v"; + }; + + buildInputs = [ imake libX11 libXext libXmu ]; + + configurePhase = '' + xmkmf + makeFlags="BINDIR=$out/bin" + ''; + + meta = { + homepage = http://larswm.fnurt.net/; + description = "9wm-like tiling window manager"; + license = "free"; + }; +} diff --git a/pkgs/applications/window-managers/wmii/default.nix b/pkgs/applications/window-managers/wmii/default.nix index 0750fc7b12dd..3df24cf33603 100644 --- a/pkgs/applications/window-managers/wmii/default.nix +++ b/pkgs/applications/window-managers/wmii/default.nix @@ -2,7 +2,7 @@ args: with args; stdenv.mkDerivation { name = "wmii-20071116"; src = fetchurl { - url = http://code.suckless.org/dl/wmii/wmii-3.6.tar.gz; + url = http://dl.suckless.org/wmii/wmii-3.6.tar.gz; sha256 = "46f39b788c5ef4695040b36cc7d9c539db0306bafc4d8cefdc5980ed4331b216"; }; diff --git a/pkgs/applications/window-managers/wmii31/default.nix b/pkgs/applications/window-managers/wmii31/default.nix index 1602f1ece399..d5705af5ce18 100644 --- a/pkgs/applications/window-managers/wmii31/default.nix +++ b/pkgs/applications/window-managers/wmii31/default.nix @@ -2,7 +2,7 @@ args: with args; stdenv.mkDerivation { name = "wmiimenu-3.1"; src = fetchurl { - url = http://suckless.org/download/wmii-3.1.tar.gz; + url = http://dl.suckless.org/wmii/wmii-3.1.tar.gz; sha256 = "0sviwxbanpsfdm55zvx9hflncw35slkz41xr517y3yfgxx6qlhlk"; }; diff --git a/pkgs/build-support/gcc-wrapper/ld-wrapper2.sh b/pkgs/build-support/gcc-wrapper/ld-wrapper2.sh index 0e39dde0b013..99ba3968ae33 100644 --- a/pkgs/build-support/gcc-wrapper/ld-wrapper2.sh +++ b/pkgs/build-support/gcc-wrapper/ld-wrapper2.sh @@ -82,6 +82,11 @@ if test "$NIX_DONT_SET_RPATH" != "1"; then rpath="$rpath $1 " } + libs="" + addToLibs() { + libs="$libs $1" + } + rpath="" # First, find all -L... switches. @@ -95,6 +100,11 @@ if test "$NIX_DONT_SET_RPATH" != "1"; then elif test "$p" = "-L"; then addToLibPath ${p2} n=$((n + 1)) + elif test "$p" = "-l"; then + addToLibs ${p2} + n=$((n + 1)) + elif test "${p:0:2}" = "-l"; then + addToLibs ${p:2} elif [[ "$p" =~ ^[^-].*\.so($|\.) ]]; then # This is a direct reference to a shared library, so add # its directory to the rpath. @@ -103,27 +113,18 @@ if test "$NIX_DONT_SET_RPATH" != "1"; then fi n=$((n + 1)) done - + # Second, for each directory in the library search path (-L...), # see if it contains a dynamic library used by a -l... flag. If # so, add the directory to the rpath. - - for i in $libPath; do - n=0 - while test $n -lt ${#allParams[*]}; do - p=${allParams[n]} - p2=${allParams[$((n+1))]} - if test "${p:0:2}" = "-l" -a -f "$i/lib${p:2}.so"; then - addToRPath $i - break - elif test "$p" = "-l" -a -f "$i/lib${p2}"; then - # I haven't seen `-l foo', but you never know... - addToRPath $i + + for i in $libs; do + for j in $libPath; do + if test -f "$j/lib$i.so"; then + addToRPath $j break fi - n=$((n + 1)) done - done diff --git a/pkgs/build-support/release/nix-build.nix b/pkgs/build-support/release/nix-build.nix index 385abe531408..d0acce96113d 100644 --- a/pkgs/build-support/release/nix-build.nix +++ b/pkgs/build-support/release/nix-build.nix @@ -7,6 +7,7 @@ { doCoverageAnalysis ? false , lcovFilter ? [] +, lcovExtraTraceFiles ? [] , src, stdenv , name ? if doCoverageAnalysis then "nix-coverage" else "nix-build" , ... } @ args: @@ -73,8 +74,9 @@ stdenv.mkDerivation ( ${args.lcov}/bin/lcov --remove app.info $lcovFilter > app2.info set +o noglob mv app2.info app.info + mkdir $out/coverage - ${args.lcov}/bin/genhtml app.info -o $out/coverage > log + ${args.lcov}/bin/genhtml app.info $lcovExtraTraceFiles -o $out/coverage > log # Grab the overall coverage percentage for use in release overviews. grep "Overall coverage rate" log | sed 's/^.*(\(.*\)%).*$/\1/' > $out/nix-support/coverage-rate @@ -85,6 +87,7 @@ stdenv.mkDerivation ( lcovFilter = ["/nix/store/*"] ++ lcovFilter; + inherit lcovExtraTraceFiles; meta = (if args ? meta then args.meta else {}) // { description = if doCoverageAnalysis then "Coverage analysis" else "Native Nix build on ${stdenv.system}"; diff --git a/pkgs/build-support/trivial-builders.nix b/pkgs/build-support/trivial-builders.nix index 25ae340629b1..992e28476f06 100644 --- a/pkgs/build-support/trivial-builders.nix +++ b/pkgs/build-support/trivial-builders.nix @@ -73,6 +73,36 @@ rec { linkFarm = name: entries: runCommand name {} ("mkdir -p $out; cd $out; \n" + (stdenv.lib.concatMapStrings (x: "ln -s '${x.path}' '${x.name}';\n") entries)); + # Require file + requireFile = {name, sha256, url ? null, message ? null} : + assert (message != null) || (url != null); + let msg = + if message != null then message + else '' + Unfortunately, we may not download file ${name} automatically. + Please, go to ${url}, download it yourself, and add it to the Nix store + using either + nix-store --add-fixed sha256 ${name} + or + nix-prefetch-url file://path/to/${name} + ''; + in + stdenv.mkDerivation { + inherit name; + outputHashAlgo = "sha256"; + outputHash = sha256; + builder = writeScript "restrict-message" '' +source ${stdenv}/setup +cat <<_EOF_ + +*** +${msg} +*** + +_EOF_ + ''; + }; + # Search in the environment if the same program exists with a set uid or # set gid bit. If it exists, run the first program found, otherwise run # the default binary. diff --git a/pkgs/desktops/gnome-2.28/default.nix b/pkgs/desktops/gnome-2.28/default.nix index 7a1e66a88908..e0c325d33d7a 100644 --- a/pkgs/desktops/gnome-2.28/default.nix +++ b/pkgs/desktops/gnome-2.28/default.nix @@ -11,7 +11,6 @@ rec { gnomeicontheme = gnome_icon_theme; # !!! Missing! Need to add these. - libgnomeprintui = throw "libgnomeprintui not implemented"; gnomepanel = throw "gnomepanel not implemented"; gtksourceview_24 = gtksourceview; @@ -26,22 +25,23 @@ rec { inherit (pkgs) stdenv fetchurl pkgconfig alsaLib; inherit audiofile; }; - + libIDL = import ./platform/libIDL { inherit (pkgs) stdenv fetchurl flex bison pkgconfig; inherit (pkgs.gtkLibs) glib; + gettext = if pkgs.stdenv.isDarwin then pkgs.gettext else null; }; - + ORBit2 = import ./platform/ORBit2 { inherit (pkgs) stdenv fetchurl pkgconfig; inherit (pkgs.gtkLibs) glib; inherit libIDL; }; - + libart_lgpl = import ./platform/libart_lgpl { inherit (pkgs) stdenv fetchurl; }; - + libglade = import ./platform/libglade { inherit (pkgs) stdenv fetchurl pkgconfig libxml2 python gettext; inherit (pkgs.gtkLibs) gtk; @@ -53,6 +53,12 @@ rec { inherit (pkgs.gtkLibs) gtk; }; + libgnomeprintui = import ./platform/libgnomeprintui { + inherit intltool libgnomecanvas libgnomeprint gnomeicontheme; + inherit (pkgs) stdenv fetchurl pkgconfig gettext; + inherit (pkgs.gtkLibs) gtk; + }; + libgnomecups = import ./platform/libgnomecups { inherit intltool libart_lgpl; inherit (pkgs) stdenv fetchurl pkgconfig gettext libxml2; @@ -63,11 +69,11 @@ rec { inherit (pkgs) stdenv fetchurl pkgconfig gettext libxml2; inherit (pkgs.gtkLibs) gtk; }; - + intltool = import ./platform/intltool { inherit (pkgs) stdenv fetchurl pkgconfig perl perlXMLParser gettext; }; - + GConf = import ./platform/GConf { inherit (pkgs) stdenv fetchurl pkgconfig dbus_glib libxml2 policykit; inherit (pkgs.gtkLibs) glib; @@ -86,47 +92,47 @@ rec { inherit (pkgs) stdenv fetchgit pkgconfig autoconf automake libtool; }; - + gnome_mime_data = import ./platform/gnome-mime-data { inherit (pkgs) stdenv fetchurl; inherit intltool; }; - + gnome_vfs = import ./platform/gnome-vfs { inherit (pkgs) stdenv fetchurl pkgconfig libxml2 bzip2 openssl samba dbus_glib fam hal cdparanoia; inherit (pkgs.gtkLibs) glib; inherit intltool GConf gnome_mime_data; }; - + gnome_vfs_monikers = import ./platform/gnome-vfs-monikers { inherit (pkgs) stdenv fetchurl pkgconfig; inherit (pkgs.gtkLibs) glib; inherit intltool gnome_vfs libbonobo ORBit2; }; - + libgnome = import ./platform/libgnome { inherit (pkgs) stdenv fetchurl pkgconfig popt zlib; inherit (pkgs.gtkLibs) glib; inherit intltool esound libbonobo GConf gnome_vfs ORBit2; }; - + libgnomeui = import ./platform/libgnomeui { inherit (pkgs) stdenv fetchurl pkgconfig libxml2 xlibs; inherit intltool libgnome libgnomecanvas libbonoboui GConf; inherit gnome_vfs gnome_keyring libglade glib pango; }; - + libbonobo = import ./platform/libbonobo { inherit (pkgs) stdenv fetchurl flex bison pkgconfig dbus_glib libxml2 popt; inherit (pkgs.gtkLibs) glib; inherit intltool ORBit2; }; - + libbonoboui = import ./platform/libbonoboui { inherit (pkgs) stdenv fetchurl bison pkgconfig popt libxml2; inherit intltool libbonobo GConf libgnomecanvas libgnome libglade gtk; }; - + at_spi = import ./platform/at-spi { inherit (pkgs) stdenv fetchurl python pkgconfig popt; inherit (pkgs.xlibs) libX11 libICE libXtst libXi; @@ -141,7 +147,7 @@ rec { }; # What name should we use?? - gtkdoc = gtk_doc; + gtkdoc = gtk_doc; gtkhtml = import ./platform/gtkhtml { inherit (pkgs.gtkLibs) gtk; @@ -149,18 +155,18 @@ rec { inherit GConf gnome_icon_theme; }; - + # Freedesktop library startup_notification = import ./platform/startup-notification { inherit (pkgs) stdenv fetchurl pkgconfig xlibs; }; - + # Required for nautilus libunique = import ./platform/libunique { inherit (pkgs) stdenv fetchurl pkgconfig gettext; inherit (pkgs.gtkLibs) gtk; }; - + gtkglext = import ./platform/gtkglext { inherit (pkgs) stdenv fetchurl mesa pkgconfig; inherit (pkgs.gtkLibs) gtk pango; @@ -173,7 +179,7 @@ rec { inherit (pkgs.gtkLibs) glib gtk; inherit intltool GConf; }; - + libsoup = import ./desktop/libsoup { inherit (pkgs) stdenv fetchurl pkgconfig libxml2 gnutls libproxy sqlite curl; inherit (pkgs.gtkLibs) glib; @@ -186,56 +192,56 @@ rec { inherit (pkgs.gtkLibs) gtk; inherit intltool; }; - + # Not part of GNOME desktop, but provides CSS support for librsvg libcroco = import ./desktop/libcroco { inherit (pkgs) stdenv fetchurl pkgconfig libxml2; inherit (pkgs.gtkLibs) glib; }; - + librsvg = import ./desktop/librsvg { inherit (pkgs) stdenv fetchurl pkgconfig libxml2 libgsf bzip2; inherit (pkgs.gtkLibs) glib gtk; inherit libcroco; }; - + libgweather = import ./desktop/libgweather { inherit (pkgs) stdenv fetchurl pkgconfig libxml2; inherit (pkgs.gtkLibs) gtk; inherit intltool GConf libsoup; }; - + gvfs = import ./desktop/gvfs { inherit (pkgs) stdenv fetchurl pkgconfig dbus samba hal libarchive fuse libgphoto2 cdparanoia libxml2 libtool; inherit (pkgs.gtkLibs) glib; inherit intltool GConf gnome_keyring libsoup; }; - + libgnomekbd = import ./desktop/libgnomekbd { inherit (pkgs) stdenv fetchurl pkgconfig dbus_glib libxklavier; inherit (pkgs.gtkLibs) glib gtk; inherit intltool GConf libglade; }; - + # Removed from recent GNOME releases, but still required scrollkeeper = import ./desktop/scrollkeeper { inherit (pkgs) stdenv fetchurl pkgconfig perl perlXMLParser libxml2 libxslt docbook_xml_dtd_42; }; - + gnome_doc_utils = import ./desktop/gnome-doc-utils { inherit (pkgs) stdenv fetchurl python pkgconfig libxslt makeWrapper; inherit intltool scrollkeeper; libxml2 = pkgs.libxml2Python; }; - + zenity = import ./desktop/zenity { inherit (pkgs) stdenv fetchurl pkgconfig cairo libxml2 libxslt; inherit (pkgs.gtkLibs) glib gtk pango atk; inherit gnome_doc_utils intltool libglade; inherit (pkgs.xlibs) libX11; }; - + metacity = import ./desktop/metacity { inherit (pkgs) stdenv fetchurl pkgconfig libcanberra; inherit (pkgs.gtkLibs) glib gtk; @@ -248,7 +254,7 @@ rec { inherit (pkgs.gtkLibs) glib; inherit intltool; }; - + gnome_desktop = import ./desktop/gnome-desktop { inherit (pkgs) stdenv fetchurl pkgconfig python libxslt which; libxml2 = pkgs.libxml2Python; @@ -256,7 +262,7 @@ rec { inherit (pkgs.gtkLibs) gtk; inherit intltool GConf gnome_doc_utils; }; - + gnome_panel = import ./desktop/gnome-panel { inherit (pkgs) stdenv fetchurl pkgconfig dbus_glib dbus cairo popt which bzip2 python libxslt; libxml2 = pkgs.libxml2Python; @@ -265,20 +271,20 @@ rec { inherit intltool ORBit2 libglade libgnome libgnomeui libbonobo libbonoboui GConf gnome_menus gnome_desktop; inherit libwnck librsvg libgweather gnome_doc_utils libgnomecanvas libart_lgpl; }; - + gnome_session = import ./desktop/gnome-session { inherit (pkgs) stdenv fetchurl pkgconfig dbus_glib cairo dbus; inherit (pkgs.gtkLibs) gtk pango atk; inherit (pkgs.xlibs) libXau libXtst inputproto; inherit intltool libglade startup_notification GConf; }; - + gnome_settings_daemon = import ./desktop/gnome-settings-daemon { inherit (pkgs) stdenv fetchurl pkgconfig dbus_glib libxklavier; inherit (pkgs.gtkLibs) gtk; inherit intltool GConf gnome_desktop libglade libgnomekbd; }; - + gnome_control_center = import ./desktop/gnome-control-center { inherit (pkgs) stdenv fetchurl pkgconfig dbus_glib libxklavier hal libtool bzip2; inherit (pkgs) cairo popt which python libxslt shared_mime_info desktop_file_utils; @@ -295,7 +301,7 @@ rec { inherit (pkgs.gtkLibs) atk glib gtk pango; libxml2 = pkgs.libxml2Python; }; - + nautilus = import ./desktop/nautilus { inherit (pkgs) stdenv fetchurl pkgconfig libxml2 dbus_glib libexif shared_mime_info; inherit (pkgs.gtkLibs) gtk; @@ -310,7 +316,7 @@ rec { inherit (pkgs) stdenv fetchurl pkgconfig ncurses python; inherit intltool glib gtk; }; - + #### BINDINGS libglademm = import ./bindings/libglademm { diff --git a/pkgs/desktops/gnome-2.28/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2.28/platform/gnome-vfs/default.nix index 4772e2ded9e7..1e35ac9430bd 100644 --- a/pkgs/desktops/gnome-2.28/platform/gnome-vfs/default.nix +++ b/pkgs/desktops/gnome-2.28/platform/gnome-vfs/default.nix @@ -3,16 +3,17 @@ stdenv.mkDerivation { name = "gnome-vfs-2.24.1"; - + src = fetchurl { url = mirror://gnome/sources/gnome-vfs/2.24/gnome-vfs-2.24.1.tar.bz2; sha256 = "1dmyr8nj77717r8dhwkixpar2yp8ld3r683gp222n59v61718ndw"; }; - + buildInputs = - [ pkgconfig libxml2 bzip2 openssl samba dbus_glib fam hal cdparanoia + [ pkgconfig libxml2 bzip2 openssl samba dbus_glib fam cdparanoia intltool gnome_mime_data - ]; + ] + ++ (if stdenv.isLinux then [hal] else []); propagatedBuildInputs = [ GConf glib ]; } diff --git a/pkgs/desktops/gnome-2.28/platform/libIDL/default.nix b/pkgs/desktops/gnome-2.28/platform/libIDL/default.nix index 29897623abfb..f48b0821f126 100644 --- a/pkgs/desktops/gnome-2.28/platform/libIDL/default.nix +++ b/pkgs/desktops/gnome-2.28/platform/libIDL/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, flex, bison, pkgconfig, glib}: +{stdenv, fetchurl, flex, bison, pkgconfig, glib, gettext ? null}: stdenv.mkDerivation { name = "libIDL-0.8.13"; @@ -6,5 +6,5 @@ stdenv.mkDerivation { url = mirror://gnome/sources/libIDL/0.8/libIDL-0.8.13.tar.bz2; sha256 = "0w9b4q5sllwncz498sj5lmc3ajzc8x74dy0jy27m2yg9v887xk5w"; }; - buildInputs = [ flex bison pkgconfig glib ]; + buildInputs = [ flex bison pkgconfig glib gettext ]; } diff --git a/pkgs/desktops/gnome-2.28/platform/libgnomeprintui/default.nix b/pkgs/desktops/gnome-2.28/platform/libgnomeprintui/default.nix new file mode 100644 index 000000000000..a406f9209a33 --- /dev/null +++ b/pkgs/desktops/gnome-2.28/platform/libgnomeprintui/default.nix @@ -0,0 +1,12 @@ +{stdenv, fetchurl, pkgconfig, gtk, gettext, intltool, libgnomecanvas, libgnomeprint, gnomeicontheme}: + +stdenv.mkDerivation { + name = "libgnomeprintui-2.11.1"; + + src = fetchurl { + url = mirror://gnome/sources/libgnomeprintui/2.18/libgnomeprintui-2.18.4.tar.bz2; + sha256 = "19d2aa95c9cb85f1ddd13464500217a76e2abce59281ec5d210e139c14dd7490"; + }; + + buildInputs = [ pkgconfig gtk gettext intltool libgnomecanvas libgnomeprint gnomeicontheme]; +} diff --git a/pkgs/desktops/kde-4.4/accessibility/default.nix b/pkgs/desktops/kde-4.4/accessibility/default.nix index 7929a6983b5f..507764fef22a 100644 --- a/pkgs/desktops/kde-4.4/accessibility/default.nix +++ b/pkgs/desktops/kde-4.4/accessibility/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, lib, cmake, qt4, perl, alsaLib, libXi, libXtst, kdelibs, automoc4, phonon}: stdenv.mkDerivation { - name = "kdeaccessibility-4.4.2"; + name = "kdeaccessibility-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdeaccessibility-4.4.2.tar.bz2; - sha256 = "10n08w7x5sna0ilc965yi1041dwm13s5r4fd1valmlx8wcckrj6q"; + url = mirror://kde/stable/4.4.3/src/kdeaccessibility-4.4.3.tar.bz2; + sha256 = "1j1v0bfl6kcapxwqa1ma19z61qx2vd4lx7b9dykkv7z3gq7c5y5m"; }; # Missing: speechd, I was too lazy to implement this buildInputs = [ cmake qt4 perl alsaLib libXi libXtst kdelibs automoc4 phonon ]; diff --git a/pkgs/desktops/kde-4.4/admin/default.nix b/pkgs/desktops/kde-4.4/admin/default.nix index 7bc551481d12..04e025a19b65 100644 --- a/pkgs/desktops/kde-4.4/admin/default.nix +++ b/pkgs/desktops/kde-4.4/admin/default.nix @@ -3,11 +3,11 @@ , kdelibs, kdepimlibs, kdebindings, automoc4, phonon}: stdenv.mkDerivation { - name = "kdeadmin-4.4.2"; + name = "kdeadmin-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdeadmin-4.4.2.tar.bz2; - sha256 = "0qzsfkf0gzhdzyyyfycz652ii8ivgin7zvzbkha3jz7kfbrskg9k"; + url = mirror://kde/stable/4.4.3/src/kdeadmin-4.4.3.tar.bz2; + sha256 = "08s0fagxgdk6p00qxzizrhs9010f6s9rlz7w07ri86m9ps9yd6am"; }; builder = ./builder.sh; diff --git a/pkgs/desktops/kde-4.4/artwork/default.nix b/pkgs/desktops/kde-4.4/artwork/default.nix index 16fc4be88d94..d0ff4f3b2fdb 100644 --- a/pkgs/desktops/kde-4.4/artwork/default.nix +++ b/pkgs/desktops/kde-4.4/artwork/default.nix @@ -2,10 +2,10 @@ , kdelibs, kdebase_workspace, automoc4, phonon, strigi, eigen}: stdenv.mkDerivation { - name = "kdeartwork-4.4.2"; + name = "kdeartwork-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdeartwork-4.4.2.tar.bz2; - sha256 = "1yb9p3nsayzp4vq0sq2ax0svmf6za73g4wzj3jcbs13j0gsvpz70"; + url = mirror://kde/stable/4.4.3/src/kdeartwork-4.4.3.tar.bz2; + sha256 = "0ivfqg9nr5lqa1dppc0p6aw816jy8zqj308dv367jqh1qbapx0cl"; }; buildInputs = [ cmake qt4 perl xscreensaver kdelibs kdebase_workspace automoc4 phonon strigi eigen ]; diff --git a/pkgs/desktops/kde-4.4/base-runtime/default.nix b/pkgs/desktops/kde-4.4/base-runtime/default.nix index 4c7033cf4624..a337d9877514 100644 --- a/pkgs/desktops/kde-4.4/base-runtime/default.nix +++ b/pkgs/desktops/kde-4.4/base-runtime/default.nix @@ -2,10 +2,10 @@ , kdelibs, automoc4, phonon, strigi, soprano, cluceneCore, attica}: stdenv.mkDerivation { - name = "kdebase-runtime-4.4.2"; + name = "kdebase-runtime-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdebase-runtime-4.4.2.tar.bz2; - sha256 = "087g05k2zrlwk4n7n14nblflxxm3g28nzyyyx18jr4r2xq9x64b5"; + url = mirror://kde/stable/4.4.3/src/kdebase-runtime-4.4.3.tar.bz2; + sha256 = "1fyg804gl8hqzjicij8xs0gy7qdjnj6n4i8fxybk2wfn8mn5zgm1"; }; /* CLUCENE_HOME=cluceneCore;*/ # Still have to look into Soprano Virtuoso diff --git a/pkgs/desktops/kde-4.4/base-workspace/builder.sh b/pkgs/desktops/kde-4.4/base-workspace/builder.sh deleted file mode 100644 index ace6677be52e..000000000000 --- a/pkgs/desktops/kde-4.4/base-workspace/builder.sh +++ /dev/null @@ -1,8 +0,0 @@ -source $stdenv/setup - -myPatchPhase() -{ - sed -i -e "s|\${PYTHON_SITE_PACKAGES_DIR}|$out/lib/python2.6/site-packages|" plasma/generic/scriptengines/python/CMakeLists.txt -} -patchPhase=myPatchPhase -genericBuild diff --git a/pkgs/desktops/kde-4.4/base-workspace/default.nix b/pkgs/desktops/kde-4.4/base-workspace/default.nix index 6f682e3029df..738bd6034311 100644 --- a/pkgs/desktops/kde-4.4/base-workspace/default.nix +++ b/pkgs/desktops/kde-4.4/base-workspace/default.nix @@ -6,15 +6,19 @@ }: stdenv.mkDerivation { - name = "kdebase-workspace-4.4.2"; + name = "kdebase-workspace-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdebase-workspace-4.4.2.tar.bz2; - sha256 = "1g8rnpwpihk6sgvils9cafxz017d23ksg5i9x9275ilydslbsclc"; + url = mirror://kde/stable/4.4.3/src/kdebase-workspace-4.4.3.tar.bz2; + sha256 = "0fcjk6bmswal02lwsywvv44x8qi8vr3vr08rlgp8v9rc5yqv4mkz"; }; - buildInputs = [ cmake perl python qt4 pam consolekit sip pyqt4 kdelibs kdepimlibs kdebindings libpthreadstubs boost libusb stdenv.gcc.libc - libXi libXau libXdmcp libXtst libXcomposite libXdamage libXScrnSaver - lm_sensors libxklavier automoc4 phonon strigi soprano qimageblitz akonadi polkit_qt ]; - builder = ./builder.sh; + buildInputs = [ cmake perl python qt4 pam consolekit sip pyqt4 kdelibs libXtst + kdepimlibs kdebindings boost libusb stdenv.gcc.libc libXi libXau libXdmcp + libXcomposite libXdamage libXScrnSaver lm_sensors libxklavier automoc4 + phonon strigi soprano qimageblitz akonadi polkit_qt libpthreadstubs ]; + patchPhase='' + sed -i -e 's|''${PYTHON_SITE_PACKAGES_DIR}|''${CMAKE_INSTALL_PREFIX}/lib/python2.6/site-packages|' \ + plasma/generic/scriptengines/python/CMakeLists.txt + ''; meta = { description = "KDE Workspace"; longDescription = "KDE base components that are only required to work with X11 such KDM and KWin"; diff --git a/pkgs/desktops/kde-4.4/base/default.nix b/pkgs/desktops/kde-4.4/base/default.nix index a11ca3cadadf..14f48fbd2738 100644 --- a/pkgs/desktops/kde-4.4/base/default.nix +++ b/pkgs/desktops/kde-4.4/base/default.nix @@ -3,10 +3,10 @@ , automoc4, phonon, strigi, qimageblitz, soprano}: stdenv.mkDerivation { - name = "kdebase-4.4.2"; + name = "kdebase-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdebase-4.4.2.tar.bz2; - sha256 = "1bf75y7barmymaf810n66qf47jfrn1vfqpqn5rsls8r8wjcz0j71"; + url = mirror://kde/stable/4.4.3/src/kdebase-4.4.3.tar.bz2; + sha256 = "15adml1rlpsgdy7ynbgzh3rnlzi1ynz42dmbjqz5yrv6l2pbgjag"; }; buildInputs = [ cmake perl qt4 kdelibs pciutils stdenv.gcc.libc libraw1394 kdebase_workspace automoc4 phonon strigi qimageblitz soprano ]; diff --git a/pkgs/desktops/kde-4.4/bindings/default.nix b/pkgs/desktops/kde-4.4/bindings/default.nix index 2a7bbee3c62f..61a2207a0cc7 100644 --- a/pkgs/desktops/kde-4.4/bindings/default.nix +++ b/pkgs/desktops/kde-4.4/bindings/default.nix @@ -6,10 +6,10 @@ # some bindings are even broken. stdenv.mkDerivation { - name = "kdebindings-4.4.2"; + name = "kdebindings-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdebindings-4.4.2.tar.bz2; - sha256 = "0172xbm1mkg9zhbqjqhvc1iizaqiv7vl5d2n6rz3k9b6mpm01jyp"; + url = mirror://kde/stable/4.4.3/src/kdebindings-4.4.3.tar.bz2; + sha256 = "0gna0fwhm05pyxqanz68vvav7ahxzffwh2ry1zadfpzwmq5srnpg"; }; #builder = ./builder.sh; diff --git a/pkgs/desktops/kde-4.4/default.nix b/pkgs/desktops/kde-4.4/default.nix index 9623f309fc98..3982301c8d13 100644 --- a/pkgs/desktops/kde-4.4/default.nix +++ b/pkgs/desktops/kde-4.4/default.nix @@ -10,8 +10,9 @@ pkgs.recurseIntoAttrs (rec { }; phonon = import ./support/phonon { - inherit (pkgs) stdenv fetchurl lib cmake; - inherit (pkgs) qt4 gst_all xineLib; + inherit (pkgs) stdenv fetchurl cmake pkgconfig; + inherit (pkgs) qt4 xineLib pulseaudio; + inherit (pkgs.gst_all) gstreamer gstPluginsBase; inherit (pkgs.xlibs) libXau libXdmcp libpthreadstubs; inherit automoc4; }; @@ -61,7 +62,7 @@ pkgs.recurseIntoAttrs (rec { kdelibs = import ./libs { inherit (pkgs) stdenv fetchurl lib cmake qt4 perl bzip2 pcre fam libxml2 libxslt; inherit (pkgs) xz flex bison giflib jasper openexr aspell avahi shared_mime_info - kerberos acl attr shared_desktop_ontologies; + kerberos acl attr shared_desktop_ontologies enchant; inherit (pkgs.xlibs) libXScrnSaver; inherit automoc4 phonon strigi soprano qca2 attica polkit_qt; }; @@ -122,7 +123,7 @@ pkgs.recurseIntoAttrs (rec { kdeedu = import ./edu { inherit (pkgs) stdenv fetchurl lib cmake qt4 perl libxml2 libxslt openbabel boost; - inherit (pkgs) readline gmm gsl facile ocaml xplanet; + inherit (pkgs) readline gmm gsl xplanet libspectre; inherit kdelibs attica; inherit automoc4 phonon eigen; }; @@ -145,7 +146,7 @@ pkgs.recurseIntoAttrs (rec { kdenetwork = import ./network { inherit (pkgs) stdenv fetchurl lib cmake qt4 perl gmp speex libxml2 libxslt sqlite alsaLib; - inherit (pkgs) libidn libvncserver libmsn giflib gpgme boost libv4l; + inherit (pkgs) libidn libvncserver libmsn giflib gpgme boost libv4l libotr; inherit (pkgs.xlibs) libXi libXtst libXdamage libXxf86vm; inherit kdelibs kdepimlibs; inherit automoc4 phonon qca2 soprano qimageblitz strigi; @@ -220,9 +221,10 @@ pkgs.recurseIntoAttrs (rec { }; digikam = import ./extragear/digikam { - inherit (pkgs) stdenv fetchurl lib cmake qt4 lcms jasper libgphoto2 gettext; - inherit kdelibs kdepimlibs kdegraphics; - inherit automoc4 phonon qimageblitz qca2 eigen; + inherit (pkgs) stdenv fetchurl cmake qt4 lcms jasper libgphoto2 gettext + liblqr1 lensfun; + inherit kdelibs kdepimlibs kdegraphics kdeedu; + inherit automoc4 phonon qimageblitz qca2 eigen soprano; }; filelight = import ./extragear/filelight { @@ -231,6 +233,23 @@ pkgs.recurseIntoAttrs (rec { inherit automoc4 phonon qimageblitz; }; + kdenlive = import ./extragear/kdenlive { + inherit (pkgs) stdenv fetchurl lib cmake qt4 perl mlt gettext shared_mime_info; + inherit kdelibs soprano; + inherit automoc4 phonon; + }; + + kdevelop = import ./extragear/kdevelop { + inherit (pkgs) stdenv fetchurl cmake pkgconfig shared_mime_info gettext perl; + inherit kdevplatform automoc4 kdebase_workspace; + }; + + kdevplatform = import ./extragear/kdevplatform { + inherit (pkgs) stdenv fetchurl cmake subversion qt4 perl gettext pkgconfig + apr aprutil boost; + inherit kdelibs automoc4 phonon; + }; + kdesvn = import ./extragear/kdesvn { inherit (pkgs) stdenv fetchurl lib cmake qt4 perl gettext apr aprutil subversion db4; inherit kdelibs; diff --git a/pkgs/desktops/kde-4.4/edu/default.nix b/pkgs/desktops/kde-4.4/edu/default.nix index 451a505fd85a..8ade568e2d8a 100644 --- a/pkgs/desktops/kde-4.4/edu/default.nix +++ b/pkgs/desktops/kde-4.4/edu/default.nix @@ -1,15 +1,16 @@ { stdenv, fetchurl, lib, cmake, qt4, perl, libxml2, libxslt, openbabel, boost, readline, gmm, gsl -, facile, ocaml, xplanet +, xplanet, libspectre , kdelibs, automoc4, phonon, eigen, attica}: stdenv.mkDerivation { - name = "kdeedu-4.4.2"; + name = "kdeedu-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdeedu-4.4.2.tar.bz2; - sha256 = "0fgqsizp1vm0yp6nirbqbxj0kvbqvnb8q3wxzav4hhn85r294ps7"; + url = mirror://kde/stable/4.4.3/src/kdeedu-4.4.3.tar.bz2; + sha256 = "17hb1j7dy5ccgmna26cabng0z48qdhl8z0w2grm83a1a9szq2y4x"; }; - buildInputs = [ cmake qt4 perl libxml2 libxslt openbabel boost readline gmm gsl facile ocaml xplanet - kdelibs automoc4 phonon eigen attica ]; +#TODO: facile, indi, boost.python, cfitsio, R, qalculate + buildInputs = [ cmake qt4 perl libxml2 libxslt openbabel boost readline gmm gsl xplanet + kdelibs automoc4 phonon eigen attica libspectre ]; meta = { description = "KDE Educative software"; license = "GPL"; diff --git a/pkgs/desktops/kde-4.4/extragear/digikam/default.nix b/pkgs/desktops/kde-4.4/extragear/digikam/default.nix index e1d2f2864c6b..51e7365a8543 100644 --- a/pkgs/desktops/kde-4.4/extragear/digikam/default.nix +++ b/pkgs/desktops/kde-4.4/extragear/digikam/default.nix @@ -1,5 +1,6 @@ -{ stdenv, fetchurl, lib, cmake, qt4, kdelibs, automoc4, phonon, qimageblitz, qca2, eigen, -kdegraphics, lcms, jasper, libgphoto2, kdepimlibs, gettext}: +{ stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, qimageblitz, qca2, eigen, +kdegraphics, lcms, jasper, libgphoto2, kdepimlibs, gettext, soprano, kdeedu, +liblqr1, lensfun }: stdenv.mkDerivation rec { name = "digikam-1.2.0"; @@ -10,13 +11,13 @@ stdenv.mkDerivation rec { }; buildInputs = [ cmake qt4 kdelibs kdegraphics automoc4 phonon qimageblitz qca2 eigen - lcms jasper libgphoto2 kdepimlibs gettext ]; + lcms jasper libgphoto2 kdepimlibs gettext soprano kdeedu liblqr1 lensfun ]; cmakeFlags = [ "-DGETTEXT_INCLUDE_DIR=${gettext}/include" ]; meta = { description = "Photo Management Program"; license = "GPL"; homepage = http://www.digikam.org; - maintainers = [ lib.maintainers.viric ]; - platforms = with lib.platforms; linux; + maintainers = [ stdenv.lib.maintainers.viric ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/desktops/kde-4.4/extragear/filelight/default.nix b/pkgs/desktops/kde-4.4/extragear/filelight/default.nix index d6f73478f738..c91fb13c8623 100644 --- a/pkgs/desktops/kde-4.4/extragear/filelight/default.nix +++ b/pkgs/desktops/kde-4.4/extragear/filelight/default.nix @@ -14,5 +14,6 @@ stdenv.mkDerivation { license = "GPL"; homepage = http://www.methylblue.com/filelight/; maintainers = [ lib.maintainers.viric ]; + platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/desktops/kde-4.4/extragear/kdenlive/default.nix b/pkgs/desktops/kde-4.4/extragear/kdenlive/default.nix new file mode 100644 index 000000000000..8af0db2fcc88 --- /dev/null +++ b/pkgs/desktops/kde-4.4/extragear/kdenlive/default.nix @@ -0,0 +1,21 @@ +{stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, automoc4, phonon, mlt, gettext, +shared_mime_info, soprano}: + +stdenv.mkDerivation { + name = "kdenlive-0.7.7.1"; + src = fetchurl { + url = mirror://sourceforge/kdenlive/kdenlive-0.7.7.1.tar.gz; + sha256 = "047kpzfdmipgnnkbdhcpy5c0kqgpg7yn3qhyd7inlplmyd3i1pfx"; + }; + + buildInputs = [ cmake qt4 perl kdelibs automoc4 phonon mlt gettext + shared_mime_info soprano ]; + + meta = { + description = "Free and open source video editor"; + license = "GPLv2+"; + homepage = http://www.kdenlive.org/; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/desktops/kde-4.4/extragear/kdevelop/default.nix b/pkgs/desktops/kde-4.4/extragear/kdevelop/default.nix new file mode 100644 index 000000000000..6e4fcbad25cc --- /dev/null +++ b/pkgs/desktops/kde-4.4/extragear/kdevelop/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, kdevplatform, cmake, pkgconfig, automoc4, shared_mime_info, + kdebase_workspace, gettext, perl }: + +stdenv.mkDerivation rec { + name = "kdevelop-4.0.0"; + + src = fetchurl { + url = "mirror://kde/stable/kdevelop/4.0.0/src/${name}.tar.bz2"; + sha256 = "0cnwhfk71iksip17cjzf3g68n751k8fz2acin6qb27k7sh71pdfp"; + }; + + buildInputs = [ kdevplatform cmake pkgconfig automoc4 shared_mime_info + kdebase_workspace gettext stdenv.gcc.libc perl ]; + + meta = with stdenv.lib; { + maintainers = [ maintainers.urkud ]; + platforms = platforms.linux; + description = "KDE official IDE"; + longDescription = + '' + A free, opensource IDE (Integrated Development Environment) + for MS Windows, Mac OsX, Linux, Solaris and FreeBSD. It is a + feature-full, plugin extendable IDE for C/C++ and other + programing languages. It is based on KDevPlatform, KDE and Qt + libraries and is under development since 1998. + ''; + homepage = http://www.kdevelop.org; + }; +} diff --git a/pkgs/desktops/kde-4.4/extragear/kdevplatform/default.nix b/pkgs/desktops/kde-4.4/extragear/kdevplatform/default.nix new file mode 100644 index 000000000000..7be3c89319ee --- /dev/null +++ b/pkgs/desktops/kde-4.4/extragear/kdevplatform/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, cmake, kdelibs, subversion, qt4, automoc4, perl, phonon, + gettext, pkgconfig, apr, aprutil, boost }: + +stdenv.mkDerivation rec { + name = "kdevplatform-1.0.0"; + + src = fetchurl { + url = "mirror://kde/stable/kdevelop/4.0.0/src/${name}.tar.bz2"; + sha256 = "05qgi5hwvzqzysihd5nrn28kiz0l6rp9dbxlf25jcjs5dml3dza6"; + }; + + propagatedBuildInputs = [ kdelibs subversion qt4 phonon ]; + buildInputs = [ cmake automoc4 perl gettext pkgconfig apr aprutil boost stdenv.gcc.libc ]; + + meta = with stdenv.lib; { + maintainers = [ maintainers.urkud ]; + platforms = platforms.linux; + description = "KDE libraries for IDE-like programs"; + longDescription = '' + A free, opensource set of libraries that can be used as a foundation for + IDE-like programs. It is programing-language independent, and is planned + to be used by programs like: KDevelop, Quanta, Kile, KTechLab ... etc." + ''; + }; +} diff --git a/pkgs/desktops/kde-4.4/extragear/kdiff3/default.nix b/pkgs/desktops/kde-4.4/extragear/kdiff3/default.nix index d53fdbaf2e69..1a313ca215be 100644 --- a/pkgs/desktops/kde-4.4/extragear/kdiff3/default.nix +++ b/pkgs/desktops/kde-4.4/extragear/kdiff3/default.nix @@ -11,4 +11,12 @@ stdenv.mkDerivation { # kdebase allows having a konqueror plugin built buildInputs = [ cmake qt4 perl kdelibs automoc4 phonon gettext kdebase ]; + + meta = { + homepage = http://kdiff3.sourceforge.net/; + license = "GPLv2+"; + description = "Compares and merges 2 or 3 files or directories"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; } diff --git a/pkgs/desktops/kde-4.4/games/default.nix b/pkgs/desktops/kde-4.4/games/default.nix index 22e2fdf8a355..286a47b8c92e 100644 --- a/pkgs/desktops/kde-4.4/games/default.nix +++ b/pkgs/desktops/kde-4.4/games/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, lib, cmake, qt4, perl, shared_mime_info, kdelibs, automoc4, phonon, qca2}: stdenv.mkDerivation { - name = "kdegames-4.4.2"; + name = "kdegames-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdegames-4.4.2.tar.bz2; - sha256 = "15qj5nj39fbv0643rk3jr1ygi46jw439qs7zvwqr0w35r3k6kp6w"; + url = mirror://kde/stable/4.4.3/src/kdegames-4.4.3.tar.bz2; + sha256 = "0i14zd0jxbgrvxgpwq80ghfbhcj9awq1rh7g5716j514wl25nqpl"; }; buildInputs = [ cmake qt4 perl shared_mime_info kdelibs automoc4 phonon qca2 ]; meta = { diff --git a/pkgs/desktops/kde-4.4/graphics/default.nix b/pkgs/desktops/kde-4.4/graphics/default.nix index c95db63c557b..563e98ab5446 100644 --- a/pkgs/desktops/kde-4.4/graphics/default.nix +++ b/pkgs/desktops/kde-4.4/graphics/default.nix @@ -3,10 +3,10 @@ , kdelibs, automoc4, phonon, strigi, qimageblitz, soprano, qca2}: stdenv.mkDerivation { - name = "kdegraphics-4.4.2"; + name = "kdegraphics-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdegraphics-4.4.2.tar.bz2; - sha256 = "1q4yzi4y0zfjy1avbcax7sykb0g3ib01v12lg6ydxgvf3bvxibmz"; + url = mirror://kde/stable/4.4.3/src/kdegraphics-4.4.3.tar.bz2; + sha256 = "0f7mw91fr2gx5ycdpb4b3c4d382933fqfhpsfvifpphkg1p0hy54"; }; buildInputs = [ cmake perl qt4 exiv2 lcms saneBackends libgphoto2 libspectre poppler chmlib shared_mime_info stdenv.gcc.libc libXxf86vm diff --git a/pkgs/desktops/kde-4.4/l10n/default.nix b/pkgs/desktops/kde-4.4/l10n/default.nix index a0117997dda4..e4c5c4bd7b90 100644 --- a/pkgs/desktops/kde-4.4/l10n/default.nix +++ b/pkgs/desktops/kde-4.4/l10n/default.nix @@ -4,7 +4,7 @@ let deriv = attr : stdenv.mkDerivation { - name = "kde-l10n-${attr.lang}-4.4.2"; + name = "kde-l10n-${attr.lang}-4.4.3"; src = fetchurl { url = attr.url; sha256 = attr.sha256; @@ -23,344 +23,344 @@ in ar = deriv { lang = "ar"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-ar-4.4.2.tar.bz2"; - sha256 = "1vx0x08x2xqc0wcyjxnxfvb00vfgn99xzq8jx0408yj7mbm0a7h1"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ar-4.4.3.tar.bz2"; + sha256 = "1gnrnkkmchfwjdc712fkh6apl17d2nmnyyliim8k935s5nx40469"; }; bg = deriv { lang = "bg"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-bg-4.4.2.tar.bz2"; - sha256 = "1jfwrl68b36220bffhqqgbj21cqgn7rw777skzn6gvzd6q19848f"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-bg-4.4.3.tar.bz2"; + sha256 = "1zqb07b77lpbk36xgz9s2hrxjwaayqcmp13apqnpbxdjfi98c40p"; }; ca = deriv { lang = "ca"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-ca-4.4.2.tar.bz2"; - sha256 = "0mvls8fd9qzfj1qhv0lizm3vr22qxzpc0kkdcn77pc2ayrwx2psz"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ca-4.4.3.tar.bz2"; + sha256 = "1y4kp45mm2bqd7sh4p94q7z737n7d56sfca01l4k2z6if2mfdqyv"; }; cs = deriv { lang = "cs"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-cs-4.4.2.tar.bz2"; - sha256 = "1x3yglhq3g159w0smrd9zg2blnk6xpc5bqdj6136rd9xh3xhg2m3"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-cs-4.4.3.tar.bz2"; + sha256 = "01drz8cxaqh6vf1pk6pp18bdv4a5imgc1ajsv6cybc2sa63wff3m"; }; csb = deriv { lang = "csb"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-csb-4.4.2.tar.bz2"; - sha256 = "1jh3rqm95glz6xbl4fpydz13vhq6z3nys6hqbayvk3x4bygd2zy6"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-csb-4.4.3.tar.bz2"; + sha256 = "1slii5r0s7s8wgmh3j0lxk5k7crpqyn3cyn0shh3fycpi3dhazlh"; }; da = deriv { lang = "da"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-da-4.4.2.tar.bz2"; - sha256 = "15y8zp15sb8yqhbck3xkpw6h1aabslsddywcwk6d9y6ipw79vnal"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-da-4.4.3.tar.bz2"; + sha256 = "17kjf2np54kg0s7gimsf4mh93zjvvs2drasb4ayw9phkdcs4a5b0"; }; de = deriv { lang = "de"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-de-4.4.2.tar.bz2"; - sha256 = "0xnxm7xlx777y0cx681155nzda68xbnmnf62gjvd6pxpcd40s3hk"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-de-4.4.3.tar.bz2"; + sha256 = "0v14qf47cvldxg2rlwgakxliamn04x77df48d7g1hzwapvd9s0dd"; }; el = deriv { lang = "el"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-el-4.4.2.tar.bz2"; - sha256 = "0jn3fwyy22s4nabzpl3pslp5z63yb50l29ca8rg4j7mz46xbsb3w"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-el-4.4.3.tar.bz2"; + sha256 = "03bf7lrm2bkxq2q0h18c4ksa3pbxr5yv9363z0396px4zy6srn3p"; }; en_GB = deriv { lang = "en_GB"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-en_GB-4.4.2.tar.bz2"; - sha256 = "1vzlbax5m68xvgwp8ls4i8bj1lvh8bj88jh65wqqpf5w2rj3ndbk"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-en_GB-4.4.3.tar.bz2"; + sha256 = "0jzvybpq9nnnw8cqp3izj7x804gd05q4mzjl8pxvv56s622zdda4"; }; eo = deriv { lang = "eo"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-eo-4.4.2.tar.bz2"; - sha256 = "0z3320czlwvsjij5rfv1drv6x4d61aqvxsq1yj876av4w7pys7r9"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-eo-4.4.3.tar.bz2"; + sha256 = "1br75zkyrl0imk0bnr4prcm4w4xmkg8qnjs2yn6842d8m4ffy2q0"; }; es = deriv { lang = "es"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-es-4.4.2.tar.bz2"; - sha256 = "0fsqcj809vf2zahkiqlmdxzpxzgwj437267lgfdjp65amsfw2cmd"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-es-4.4.3.tar.bz2"; + sha256 = "1vxjxgsvb3fr904nv6s84b0a0nbchv7599gfnirwbdklglbla85h"; }; et = deriv { lang = "et"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-et-4.4.2.tar.bz2"; - sha256 = "189y04kgbjx3pbbp46g1v9i5h9bz02zfgvy4l6nw1v97bnkrkjrr"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-et-4.4.3.tar.bz2"; + sha256 = "0r6l1b1pfkry45g5wmii4d5ysalg9w8544dkbib374wjn9zm26qc"; }; eu = deriv { lang = "eu"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-eu-4.4.2.tar.bz2"; - sha256 = "0v41s33lvmyrlsn6cvqj42b8r0d36lci8lins3212g0sw5fkc83p"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-eu-4.4.3.tar.bz2"; + sha256 = "0rpdalv8bhmvv0cgf4wjdnlqamjqil7sl1brqv74p2dlhlsz03n7"; }; fi = deriv { lang = "fi"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-fi-4.4.2.tar.bz2"; - sha256 = "0j90qd3ll1ycj8d5ms4rmbkbw280cvgx47z5q6byfv4qaq2sq2bv"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-fi-4.4.3.tar.bz2"; + sha256 = "1m5czzfmjg9gvw0jyfa875gb7h33yb179vgissddfjmmhap0yypn"; }; fr = deriv { lang = "fr"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-fr-4.4.2.tar.bz2"; - sha256 = "0sf0fdvmqrv6qxy6bmvb03fq9vdv1y4y28475s6vn6alz94q9ga1"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-fr-4.4.3.tar.bz2"; + sha256 = "1whk3a40cc2yiq7biql5klhl2k9h1bi3pilm0yskl0x6x8cdsn3d"; }; fy = deriv { lang = "fy"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-fy-4.4.2.tar.bz2"; - sha256 = "1jb1mmw08bf9rmm8qipfwc86w9klcs1zynsyjfabc4p38jp4pirn"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-fy-4.4.3.tar.bz2"; + sha256 = "1xwk1jqalj47iky3cda7z053jsihi0hf4k7sh2cdgvy50n5wj8bi"; }; ga = deriv { lang = "ga"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-ga-4.4.2.tar.bz2"; - sha256 = "0pijkmbj0bspwcrncn890ycgf2hxh2yxsayry0fkl9rcxz556bwy"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ga-4.4.3.tar.bz2"; + sha256 = "0y3p8kj1fm88s5g7md6fwf3hlk5fshaywyw2l5bvx9vrhdv757f1"; }; gl = deriv { lang = "gl"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-gl-4.4.2.tar.bz2"; - sha256 = "02ccvdabnwp112483k2yb1w3b390cg61a7wl3pw02kkmxx5lcc7n"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-gl-4.4.3.tar.bz2"; + sha256 = "0j8f4185hq162d4xvk0qzv5drqz1sfx7k2pamqp9vf87js193m1v"; }; gu = deriv { lang = "gu"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-gu-4.4.2.tar.bz2"; - sha256 = "1dzpmwf7n29w3hfzhbyvj06jbs1mxxn46g9w98mclbis9ign10p1"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-gu-4.4.3.tar.bz2"; + sha256 = "141gdz79g2g13c36ci0pzk582s9kj7s47brzamidw683ndjvsarq"; }; he = deriv { lang = "he"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-he-4.4.2.tar.bz2"; - sha256 = "0my1l4nsjpyjgx118jdw5px0pmb621pyns5c4708y9if8pwdv7hv"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-he-4.4.3.tar.bz2"; + sha256 = "0safk2vzpr3v1kbm236d4ayvqqa4i5zz8jppabr2zbak522sk6nf"; }; hi = deriv { lang = "hi"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-hi-4.4.2.tar.bz2"; - sha256 = "0rj4bny1kv7rwnj01vcjxxa620vsdx5v03va4szhgdv4bm04j011"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-hi-4.4.3.tar.bz2"; + sha256 = "08n1id22k46cnd8jkqczhxp33cz33bay1mkq1zqbwk4nxn9n5b42"; }; hr = deriv { lang = "hr"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-hr-4.4.2.tar.bz2"; - sha256 = "1l7vnjsklqk0dcb4zccifl77gaa9k72j70d0fa3vmw1bf0y7yld7"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-hr-4.4.3.tar.bz2"; + sha256 = "061m5z4fnv7h67g05izdghrpa9bh0f3pk89s7wpk2w41pdpzk98j"; }; hu = deriv { lang = "hu"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-hu-4.4.2.tar.bz2"; - sha256 = "1zwxg38lspan3z3y3an4ypm7wwf1qgv1kz9k7p9jqj661j58g0j8"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-hu-4.4.3.tar.bz2"; + sha256 = "00jk5ccq7ds9gcx4qb08i85cll9qs0wprw949412hbylwwj7c0qm"; }; id = deriv { lang = "id"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-id-4.4.2.tar.bz2"; - sha256 = "0h59z03q9rv07g8hyzh2km0l0znddvflxz9jb047rgyll1ah96js"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-id-4.4.3.tar.bz2"; + sha256 = "0c64s38vzwjfdjanljspxqaishmw0c7qz7z2s4gc70bws02dz87b"; }; is = deriv { lang = "is"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-is-4.4.2.tar.bz2"; - sha256 = "15dz28jrzb38mn19l3wgprh9p2q1xsd08c25m911849fn4kvcs59"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-is-4.4.3.tar.bz2"; + sha256 = "17kv9lkiy60kfk9v535fpnx3v2v4vvnjyk0qqp0nigyg2sa2ylhl"; }; it = deriv { lang = "it"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-it-4.4.2.tar.bz2"; - sha256 = "1hqw8k6gns66clfaxyqdvbxmac1p2j2nl5vzabb9dxqxm6i4a6dm"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-it-4.4.3.tar.bz2"; + sha256 = "17czl01vskisy5fsyk774rdsdrf86pihqqrf6r80flpgd5wf33ym"; }; ja = deriv { lang = "ja"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-ja-4.4.2.tar.bz2"; - sha256 = "0awyr5iad03gjb2agcvyzpiq3hh3jdgar970n9g8d6in5p33jnba"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ja-4.4.3.tar.bz2"; + sha256 = "0124xnkkwxdjfmpqbascqfsd3v82r2f4vjjp11yzp8fzfz41qqzz"; }; kk = deriv { lang = "kk"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-kk-4.4.2.tar.bz2"; - sha256 = "173i7f236c55nsfn9m24s3pn63fkp51wylgj2whqi6pl3s2f2iz1"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-kk-4.4.3.tar.bz2"; + sha256 = "1kyzmw0x7cvhf7bgryvk1c0sqg0cw6qnzalrky451brf82r5k4fk"; }; km = deriv { lang = "km"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-km-4.4.2.tar.bz2"; - sha256 = "0d9y8hvb2r55gj41g7gpr5iiz1dmayg05ry1yy1w1f800iv5756x"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-km-4.4.3.tar.bz2"; + sha256 = "0jyc03zw15bynpjn1ddnb8xzjl2vkkf017yb5g5i5a5jxwp04ca4"; }; kn = deriv { lang = "kn"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-kn-4.4.2.tar.bz2"; - sha256 = "1s1ig0pa804mx59b7sxci3i5pa1gqb4naw123vay8g0mkq3jjnqn"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-kn-4.4.3.tar.bz2"; + sha256 = "09wkq79g7rayvv3khx3g8hmzqmlq7pa95wzvixyrdnh9fwk0mm36"; }; ko = deriv { lang = "ko"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-ko-4.4.2.tar.bz2"; - sha256 = "0x0gbpa0f21rm2ls2kjyjbz9wl1yj8bsc0qc3bl5g6xk4kr6j634"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ko-4.4.3.tar.bz2"; + sha256 = "0dhkly119cgrmyil0c7zci77hf5w5k2pjaqgz9xx5g2k9jxf8f9q"; }; lt = deriv { lang = "lt"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-lt-4.4.2.tar.bz2"; - sha256 = "0jxdwqi7lz9brxw80kfix5wxx1x421n628zf4dkyd7szdl3svxc8"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-lt-4.4.3.tar.bz2"; + sha256 = "1z4gimw4wdig1x0y8h780a2msdsy8rrpaqh8a5vpskjrx67y0pnh"; }; lv = deriv { lang = "lv"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-lv-4.4.2.tar.bz2"; - sha256 = "03yi2gj8ckdmz8wyq8dj1kwzl7g8xz5g3ppmw2h4w6xmh0kdbkdy"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-lv-4.4.3.tar.bz2"; + sha256 = "1gfh2bamgbsxd042gjnw7x41qw6svw8dq6vz842lkkygdfplk679"; }; mai = deriv { lang = "mai"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-mai-4.4.2.tar.bz2"; - sha256 = "069mx66ib9bwjh0c0ndnsdrj2xlzdbbihz9yc4br1vd3disj1jd2"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-mai-4.4.3.tar.bz2"; + sha256 = "0bx7wzqm2h3gsinpx0njsmb1x6s1jpj5v6cny5vrjawdm30zbxp4"; }; mk = deriv { lang = "mk"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-mk-4.4.2.tar.bz2"; - sha256 = "01k1bzmmq8g59xvyn4pxxapbd8x1a85ps2z241zlhlrpmi6faja8"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-mk-4.4.3.tar.bz2"; + sha256 = "0yjhi7v4xfbcxp6z8ycfxqixx2prmv6d05bvlaas4l83vc4i62w7"; }; ml = deriv { lang = "ml"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-ml-4.4.2.tar.bz2"; - sha256 = "0vpj5i30p6hbabvqyfkzyjcwqblh2qz167bja3589halhdiadhf4"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ml-4.4.3.tar.bz2"; + sha256 = "1bd4bb5q70w6k5yqnx2ndrchi745jszih9mi9xsj6v6m8zsn285c"; }; nb = deriv { lang = "nb"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-nb-4.4.2.tar.bz2"; - sha256 = "1kh0cwfds7gh5rda4vhccwrjlgmbvcgkwr9gyiy8ssx02absqcz0"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-nb-4.4.3.tar.bz2"; + sha256 = "0l4wab6c5sx10a9scimbw4nsmfy58jm7rgrb94sv2v34awnkysji"; }; nds = deriv { lang = "nds"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-nds-4.4.2.tar.bz2"; - sha256 = "18h7j89dmc95b24fgziixmfz1x8jhxnpwanhq3yb3f243j7rkvmn"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-nds-4.4.3.tar.bz2"; + sha256 = "0njih51wyj21dk2m7z2165w5ywk3v3w6zqdnvjby489q1laqi9hc"; }; nl = deriv { lang = "nl"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-nl-4.4.2.tar.bz2"; - sha256 = "0s2941ywppgpnvafqqbfciliv6qllsjm5migzbqd5pwhpjifjjsl"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-nl-4.4.3.tar.bz2"; + sha256 = "11hwijl2x8m9ianr5sniig1rqfdks7z72xaax9n922qf4i8v6n5g"; }; nn = deriv { lang = "nn"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-nn-4.4.2.tar.bz2"; - sha256 = "1phl56asdsn30wk2k9q6dhy99jvy2n11w2ny680jzdpc7gqp7j1n"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-nn-4.4.3.tar.bz2"; + sha256 = "1wzvaj5im4kwgwxlbig2pdckiijdks3za5ixjc00axk0zkf16604"; }; pa = deriv { lang = "pa"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-pa-4.4.2.tar.bz2"; - sha256 = "0d5nksy2wr0glq5n82knfl4hhc6na55y5dp20q678agvxyz7nq94"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-pa-4.4.3.tar.bz2"; + sha256 = "1zdvzk49x9f1fn87sglw5hm2pfjplx94kxra0qyhvy7v899bmixq"; }; pl = deriv { lang = "pl"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-pl-4.4.2.tar.bz2"; - sha256 = "1jbxbrqcp2cn6wijsm8jpqj925b5dc3s7120jqp4w25lr92gnip1"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-pl-4.4.3.tar.bz2"; + sha256 = "0fwfc1h3iwmzl52b1wk1bpxghvy0a8ipp26c813jpv5pqnds777w"; }; pt = deriv { lang = "pt"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-pt-4.4.2.tar.bz2"; - sha256 = "1c17axsrjxjq101wd0yihf098q3lhwxqii2i4wcjpvi3iarrc5ri"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-pt-4.4.3.tar.bz2"; + sha256 = "0ccswd7lvkpfd2hpzmlvg2dwylzaf1kp0r2dv080308cnji45j28"; }; pt_BR = deriv { lang = "pt_BR"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-pt_BR-4.4.2.tar.bz2"; - sha256 = "0hkrj5kps37xifzsj89d9ky0hq7ddk9jblaccg22bwc4vh3d5vh1"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-pt_BR-4.4.3.tar.bz2"; + sha256 = "1a2fwnlj9pcxjy9fkcciiry42fi7wpdkb5qhim5v1vg1j4ah6zz8"; }; ro = deriv { lang = "ro"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-ro-4.4.2.tar.bz2"; - sha256 = "04qpzdic051xib0xnlg0jw9lnp45wgqc85l91a4pl50w3afcjcx2"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ro-4.4.3.tar.bz2"; + sha256 = "1f3ikjg19g2lnbrwcryvi4pz0hdy4prq91jw2s1a8cadh3yjr0bz"; }; ru = deriv { lang = "ru"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-ru-4.4.2.tar.bz2"; - sha256 = "0pbmr5pddys3rmsfy4zmynhzb3lc9381k2kw4nw3sqgv888p3xwv"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ru-4.4.3.tar.bz2"; + sha256 = "0f888p973amz0nfahk48ayp20nc76f2rnxhdf4xr0y6rk3a5q3ah"; }; si = deriv { lang = "si"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-si-4.4.2.tar.bz2"; - sha256 = "1kw60d4v71vrfpb9fcsvjk0inaws1p2wsd3cw3sr2xnqk9yiwx1l"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-si-4.4.3.tar.bz2"; + sha256 = "08yfm46abd58fralkyc7mfg20hmk34y5xpnqi09g2xys1ab630bq"; }; sk = deriv { lang = "sk"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-sk-4.4.2.tar.bz2"; - sha256 = "1h3nkgvzifkk456kdnj0fmi4aazn08lz1s4km8699gl15zv6i5zx"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-sk-4.4.3.tar.bz2"; + sha256 = "1nnr8mwz24nlc0cy4jkwam7bvdk71vqd0w4ncfjbqi31p69bq12w"; }; sl = deriv { lang = "sl"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-sl-4.4.2.tar.bz2"; - sha256 = "0671a6crik2wn40kbvfa7dvwxdyznmac3frpvr2g20430g6d58n3"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-sl-4.4.3.tar.bz2"; + sha256 = "06j62vh78a32ygawvb81d5jsz8canw2w973cjay4qi104ibl8x7q"; }; sr = deriv { lang = "sr"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-sr-4.4.2.tar.bz2"; - sha256 = "12pbjyij5dp9y6kxw995zw07fa174yaidc9mxsx0kv34sylnz9yn"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-sr-4.4.3.tar.bz2"; + sha256 = "1yyrqdagfssclj0amw7hnsgdsm1ma3jx03m75kz1xz4dwx044b2q"; }; sv = deriv { lang = "sv"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-sv-4.4.2.tar.bz2"; - sha256 = "1hs8szh09av5900s3cfjrmx8ynyz3ggv7l6gaaxsy4vfvslvd8vc"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-sv-4.4.3.tar.bz2"; + sha256 = "1gynji087fk4iy0410qlh92j1z61mqafbkvw3gy6s82ava77i6i3"; }; tg = deriv { lang = "tg"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-tg-4.4.2.tar.bz2"; - sha256 = "0mjlq6sbknd8lan9vaj8479a0hd6gk272d5an5n6d3m4q68smsx5"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-tg-4.4.3.tar.bz2"; + sha256 = "0vg1sfpyvsi81qaiqb0cln21dvvvck7zvbzyic7cb0028a3619wr"; }; tr = deriv { lang = "tr"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-tr-4.4.2.tar.bz2"; - sha256 = "1g7lr6by3i32x0la20r1dsjbf6z376bd065rnfwdhnibaaidqm2p"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-tr-4.4.3.tar.bz2"; + sha256 = "0lc8sj6lqidjrhhwipi98kkvc3y0bnn6d04j9dhf2z972bcfpfbp"; }; uk = deriv { lang = "uk"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-uk-4.4.2.tar.bz2"; - sha256 = "13px5in34hkzwx25525cjbqlnxghqws1rnipm0mhb9q4yww98ccx"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-uk-4.4.3.tar.bz2"; + sha256 = "1qkpd4qms5gx2lgmciwqbpdrvh251dlgrckzxxd3ch1z8ns2d3xa"; }; wa = deriv { lang = "wa"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-wa-4.4.2.tar.bz2"; - sha256 = "0g3jy5d5zxp8996i3n3g6fzlnsgkjf828x2xjz9494nx176xqdkk"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-wa-4.4.3.tar.bz2"; + sha256 = "1f8pm69dlx1wvn56km2skk1xm602jfk0984fzhqhpdkkmji8cijn"; }; zh_CN = deriv { lang = "zh_CN"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-zh_CN-4.4.2.tar.bz2"; - sha256 = "1yg2wg7pyknrc12fv9h78xh4imcqlzy5xxg266npv4c3n6b90xdh"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-zh_CN-4.4.3.tar.bz2"; + sha256 = "0103wgjqnw542n1492ll7psmly84rxc7q68r6zmszmd2s6nbhlvm"; }; zh_TW = deriv { lang = "zh_TW"; - url = "mirror://kde/stable/4.4.2/src/kde-l10n/kde-l10n-zh_TW-4.4.2.tar.bz2"; - sha256 = "17q3ymwvrpp81rjw7vz60l3z6yg9mja0h5v37chzlbfnfdhngq39"; + url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-zh_TW-4.4.3.tar.bz2"; + sha256 = "08bnljg956948gfm380dlqllj090bv1gpc0y2w7gpq3cd3mqd0xv"; }; } diff --git a/pkgs/desktops/kde-4.4/libs/default.nix b/pkgs/desktops/kde-4.4/libs/default.nix index 896c444d10e4..efebc6a639f4 100644 --- a/pkgs/desktops/kde-4.4/libs/default.nix +++ b/pkgs/desktops/kde-4.4/libs/default.nix @@ -1,30 +1,29 @@ { stdenv, fetchurl, cmake, lib, perl , qt4, bzip2, pcre, fam, libxml2, libxslt, shared_mime_info, giflib, jasper , xz, flex, bison, openexr, aspell, avahi, kerberos, acl, attr, shared_desktop_ontologies, libXScrnSaver -, automoc4, phonon, strigi, soprano, qca2, attica, polkit_qt +, automoc4, phonon, strigi, soprano, qca2, attica, polkit_qt, enchant }: stdenv.mkDerivation { - name = "kdelibs-4.4.2"; - + name = "kdelibs-4.4.3"; + src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdelibs-4.4.2.tar.bz2; - sha256 = "02kcw716hmkcvsz7sc823m7lzkmacb526fajkq54gxqa6fc2yr15"; + url = mirror://kde/stable/4.4.3/src/kdelibs-4.4.3.tar.bz2; + sha256 = "0a049wgfl01g029ayg7pvw8fssp74p5d69d94lmfcrlzbwa0zwlk"; }; buildInputs = [ cmake perl qt4 stdenv.gcc.libc xz flex bison bzip2 pcre fam libxml2 libxslt shared_mime_info giflib jasper /*openexr*/ aspell avahi kerberos acl attr - libXScrnSaver + libXScrnSaver enchant automoc4 phonon strigi soprano qca2 attica polkit_qt ]; propagatedBuildInputs = [ shared_desktop_ontologies ]; - - # I don't know why cmake does not find the acl files (but finds attr files) + # cmake fails to find acl.h because of C++-style comment cmakeFlags = [ "-DHAVE_ACL_LIBACL_H=ON" "-DHAVE_SYS_ACL_H=ON" ]; - + meta = { description = "KDE libraries"; license = "LGPL"; diff --git a/pkgs/desktops/kde-4.4/multimedia/default.nix b/pkgs/desktops/kde-4.4/multimedia/default.nix index f33a4d748c0e..7023e15543a9 100644 --- a/pkgs/desktops/kde-4.4/multimedia/default.nix +++ b/pkgs/desktops/kde-4.4/multimedia/default.nix @@ -2,10 +2,10 @@ , kdelibs, automoc4, phonon}: stdenv.mkDerivation { - name = "kdemultimedia-4.4.2"; + name = "kdemultimedia-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdemultimedia-4.4.2.tar.bz2; - sha256 = "15qq25ijnv0jsmxpc5fv7hwianxpqsz8i89j460kndm4pyplhdbj"; + url = mirror://kde/stable/4.4.3/src/kdemultimedia-4.4.3.tar.bz2; + sha256 = "0lpwmplwiy6j9rc8vhwp95c64ym7hc8zh6zm41578pvdqgdy6y5j"; }; buildInputs = [ cmake perl qt4 alsaLib libvorbis xineLib flac taglib cdparanoia lame kdelibs automoc4 phonon ]; diff --git a/pkgs/desktops/kde-4.4/network/default.nix b/pkgs/desktops/kde-4.4/network/default.nix index 8192b06da94d..382119b68e01 100644 --- a/pkgs/desktops/kde-4.4/network/default.nix +++ b/pkgs/desktops/kde-4.4/network/default.nix @@ -1,18 +1,19 @@ { stdenv, fetchurl, lib, cmake, qt4, perl, speex, gmp, libxml2, libxslt, sqlite, alsaLib, libidn -, libvncserver, libmsn, giflib, gpgme, boost, libv4l +, libvncserver, libmsn, giflib, gpgme, boost, libv4l, libotr , libXi, libXtst, libXdamage, libXxf86vm , kdelibs, kdepimlibs, automoc4, phonon, qca2, soprano, qimageblitz, strigi}: stdenv.mkDerivation { - name = "kdenetwork-4.4.2"; + name = "kdenetwork-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdenetwork-4.4.2.tar.bz2; - sha256 = "08rlbixv1q3x3zscyfr2jpdr33rgaw54hyszyd92ny6l13g2hf56"; + url = mirror://kde/stable/4.4.3/src/kdenetwork-4.4.3.tar.bz2; + sha256 = "1p2cx7vr811vrx4d0sqchgz5jy195rw2nbg01brk8i0ihiqfqycg"; }; buildInputs = [ cmake qt4 perl speex gmp libxml2 libxslt sqlite alsaLib libidn libvncserver libmsn giflib gpgme boost stdenv.gcc.libc libv4l - libXi libXtst libXdamage libXxf86vm + libotr libXi libXtst libXdamage libXxf86vm kdelibs kdepimlibs automoc4 phonon qca2 soprano qimageblitz strigi ]; + patches = [ ./kget-cve.patch ]; meta = { description = "KDE network utilities"; longDescription = "Various network utilities for KDE such as a messenger client and network configuration interface"; diff --git a/pkgs/desktops/kde-4.4/network/kget-cve.patch b/pkgs/desktops/kde-4.4/network/kget-cve.patch new file mode 100644 index 000000000000..26b77e7b127b --- /dev/null +++ b/pkgs/desktops/kde-4.4/network/kget-cve.patch @@ -0,0 +1,212 @@ +Index: kget/transfer-plugins/metalink/metalink.cpp +=================================================================== +--- a/kget/transfer-plugins/metalink/metalink.cpp (revision 1124973) ++++ b/kget/transfer-plugins/metalink/metalink.cpp (revision 1124974) +@@ -99,6 +99,7 @@ + void Metalink::metalinkInit(const KUrl &src, const QByteArray &data) + { + kDebug(5001); ++ + bool justDownloaded = !m_localMetalinkLocation.isValid(); + if (!src.isEmpty()) + { +@@ -121,7 +122,9 @@ + //error + if (!m_metalink.isValid()) + { +- kDebug(5001) << "Unknown error when trying to load the .metalink-file"; ++ kError(5001) << "Unknown error when trying to load the .metalink-file. Metalink is not valid."; ++ setStatus(Job::Aborted); ++ setTransferChange(Tc_Status, true); + return; + } + +@@ -202,7 +205,7 @@ + if (!m_dataSourceFactory.size()) + { + KMessageBox::error(0, i18n("Download failed, no working URLs were found."), i18n("Error")); +- setStatus(Job::Aborted, i18n("An error occurred...."), SmallIcon("document-preview")); ++ setStatus(Job::Aborted); + setTransferChange(Tc_Status, true); + return; + } +@@ -227,16 +230,29 @@ + ui.treeView->hideColumn(FileItem::SignatureVerified); + dialog->setMainWidget(widget); + dialog->setCaption(i18n("File Selection")); +- dialog->setButtons(KDialog::Ok); +- connect(dialog, SIGNAL(finished()), this, SLOT(filesSelected())); ++ dialog->setButtons(KDialog::Ok | KDialog::Cancel); ++ connect(dialog, SIGNAL(finished(int)), this, SLOT(fileDlgFinished(int))); + + dialog->show(); + } + } + +-void Metalink::filesSelected() ++void Metalink::fileDlgFinished(int result) + { ++ //BEGIN HACK if the dialog was not accepted untick every file, so that the download does not start ++ //generally setStatus should do the job as well, but does not as it appears ++ if (result != QDialog::Accepted) { ++ for (int row = 0; row < fileModel()->rowCount(); ++row) { ++ QModelIndex index = fileModel()->index(row, FileItem::File); ++ if (index.isValid()) { ++ fileModel()->setData(index, Qt::Unchecked, Qt::CheckStateRole); ++ } ++ } ++ } ++ //END ++ + QModelIndexList files = fileModel()->fileIndexes(FileItem::File); ++ int numFilesSelected = 0; + foreach (const QModelIndex &index, files) + { + const KUrl dest = fileModel()->getUrl(index); +@@ -244,6 +260,9 @@ + if (m_dataSourceFactory.contains(dest)) + { + m_dataSourceFactory[dest]->setDoDownload(doDownload); ++ if (doDownload) { ++ ++numFilesSelected; ++ } + } + } + +@@ -252,9 +271,15 @@ + processedSizeChanged(); + speedChanged(); + ++ //no files selected to download or dialog rejected, stop the download ++ if (!numFilesSelected || (result != QDialog::Accepted)) { ++ setStatus(Job::Stopped);//FIXME ++ setTransferChange(Tc_Status, true); ++ return; ++ } ++ + //some files may be set to download, so start them as long as the transfer is not stopped +- if (status() != Job::Stopped) +- { ++ if (status() != Job::Stopped) { + startMetalink(); + } + } +Index: kget/transfer-plugins/metalink/metalink.h +=================================================================== +--- a/kget/transfer-plugins/metalink/metalink.h (revision 1124973) ++++ b/kget/transfer-plugins/metalink/metalink.h (revision 1124974) +@@ -81,7 +81,7 @@ + + private Q_SLOTS: + void metalinkInit(const KUrl &url = KUrl(), const QByteArray &data = QByteArray()); +- void filesSelected(); ++ void fileDlgFinished(int result); + void totalSizeChanged(KIO::filesize_t size); + void processedSizeChanged(); + void speedChanged(); +Index: kget/ui/metalinkcreator/metalinker.h +=================================================================== +--- a/kget/ui/metalinkcreator/metalinker.h (revision 1124973) ++++ b/kget/ui/metalinkcreator/metalinker.h (revision 1124974) +@@ -259,6 +259,14 @@ + KIO::filesize_t size; + CommonData data; + Resources resources; ++ ++ private: ++ /** ++ * Controlls if the name attribute is valid, i.e. it is not empty and ++ * does not contain any directory traversal directives or information, ++ * as described in the Metalink 4.0 specification 4.1.2.1. ++ */ ++ bool isValidNameAttribute() const; + }; + + class Files +Index: kget/ui/metalinkcreator/metalinker.cpp +=================================================================== +--- a/kget/ui/metalinkcreator/metalinker.cpp (revision 1124973) ++++ b/kget/ui/metalinkcreator/metalinker.cpp (revision 1124974) +@@ -528,14 +528,14 @@ + + bool KGetMetalink::File::isValid() const + { +- return !name.isEmpty() && resources.isValid(); ++ return isValidNameAttribute() && resources.isValid(); + } + + void KGetMetalink::File::load(const QDomElement &e) + { + data.load(e); + +- name = e.attribute("name"); ++ name = QUrl::fromPercentEncoding(e.attribute("name").toAscii()); + size = e.firstChildElement("size").text().toULongLong(); + + verification.load(e); +@@ -575,6 +575,22 @@ + resources.clear(); + } + ++ ++bool KGetMetalink::File::isValidNameAttribute() const ++{ ++ if (name.isEmpty()) { ++ kError(5001) << "Name attribute of Metalink::File is empty."; ++ return false; ++ } ++ ++ if (name.contains(QRegExp("$(\\.\\.?)?/")) || name.contains("/../") || name.endsWith("/..")) { ++ kError(5001) << "Name attribute of Metalink::File contains directory traversal directives:" << name; ++ return false; ++ } ++ ++ return true; ++} ++ + #ifdef HAVE_NEPOMUK + QHash KGetMetalink::File::properties() const + { +@@ -584,13 +600,28 @@ + + bool KGetMetalink::Files::isValid() const + { +- bool isValid = !files.empty(); +- foreach (const File &file, files) +- { +- isValid &= file.isValid(); ++ if (files.isEmpty()) { ++ return false; + } + +- return isValid; ++ QStringList fileNames; ++ foreach (const File &file, files) { ++ fileNames << file.name; ++ if (!file.isValid()) { ++ return false; ++ } ++ } ++ ++ //The value of name must be unique for each file ++ while (!fileNames.isEmpty()) { ++ const QString fileName = fileNames.takeFirst(); ++ if (fileNames.contains(fileName)) { ++ kError(5001) << "Metalink::File name" << fileName << "exists multiple times."; ++ return false; ++ } ++ } ++ ++ return true; + } + + void KGetMetalink::Files::load(const QDomElement &e) +@@ -751,7 +782,7 @@ + + for (QDomElement elem = filesElem.firstChildElement("file"); !elem.isNull(); elem = elem.nextSiblingElement("file")) { + File file; +- file.name = elem.attribute("name"); ++ file.name = QUrl::fromPercentEncoding(elem.attribute("name").toAscii()); + file.size = elem.firstChildElement("size").text().toULongLong(); + + file.data = parseCommonData(elem); diff --git a/pkgs/desktops/kde-4.4/oxygen-icons/default.nix b/pkgs/desktops/kde-4.4/oxygen-icons/default.nix index ffbda87177a7..0e509e9c8d2a 100644 --- a/pkgs/desktops/kde-4.4/oxygen-icons/default.nix +++ b/pkgs/desktops/kde-4.4/oxygen-icons/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, lib, cmake}: stdenv.mkDerivation { - name = "oxygen-icons-4.4.2"; + name = "oxygen-icons-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/oxygen-icons-4.4.2.tar.bz2; - sha256 = "0n0pyf861a5y1j03d9qyb8w7xnn81w2i503pv3lh48bvk1pc0zim"; + url = mirror://kde/stable/4.4.3/src/oxygen-icons-4.4.3.tar.bz2; + sha256 = "1pqz6l8zdijcz4r2qrkx92skcqbijiip90m2j3aiawr1m6rv2l0j"; }; buildInputs = [ cmake ]; meta = { diff --git a/pkgs/desktops/kde-4.4/pim-runtime/default.nix b/pkgs/desktops/kde-4.4/pim-runtime/default.nix index 4238666d6ab3..914523dea667 100644 --- a/pkgs/desktops/kde-4.4/pim-runtime/default.nix +++ b/pkgs/desktops/kde-4.4/pim-runtime/default.nix @@ -3,10 +3,10 @@ , automoc4, phonon, akonadi, soprano, strigi}: stdenv.mkDerivation { - name = "kdepim-runtime-4.4.2"; + name = "kdepim-runtime-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdepim-runtime-4.4.2.tar.bz2; - sha256 = "05baz0wslxyvdilwj1lx9gg77xh51pa5ah91855vkfsjlc0qzvcs"; + url = mirror://kde/stable/4.4.3/src/kdepim-runtime-4.4.3.tar.bz2; + sha256 = "128azx9bw2fzc9780kf9pzvf745y8kflyb2vrb7mdwmskbr0gm3g"; }; buildInputs = [ cmake qt4 perl libxml2 libxslt boost shared_mime_info kdelibs kdepimlibs diff --git a/pkgs/desktops/kde-4.4/pim/default.nix b/pkgs/desktops/kde-4.4/pim/default.nix index 314c32d4bcf0..402d41c2da96 100644 --- a/pkgs/desktops/kde-4.4/pim/default.nix +++ b/pkgs/desktops/kde-4.4/pim/default.nix @@ -3,10 +3,10 @@ , kdelibs, kdepimlibs, automoc4, phonon, akonadi, strigi, soprano, qca2}: stdenv.mkDerivation { - name = "kdepim-4.4.2"; + name = "kdepim-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdepim-4.4.2.tar.bz2; - sha256 = "0dnk0gv3l4ls70jgy1w9z312gvdyv1bvl9w911dyv1qmfg8cc7w4"; + url = mirror://kde/stable/4.4.3/src/kdepim-4.4.3.tar.bz2; + sha256 = "0lpr9q1p89hw22d545yc9ih8m5wmnzc7j7m9cvliyalkk0ys5lqa"; }; builder = ./builder.sh; buildInputs = [ cmake qt4 perl boost gpgme stdenv.gcc.libc libassuan libgpgerror libxslt diff --git a/pkgs/desktops/kde-4.4/pimlibs/default.nix b/pkgs/desktops/kde-4.4/pimlibs/default.nix index 7f4c42820012..97686c9d38e6 100644 --- a/pkgs/desktops/kde-4.4/pimlibs/default.nix +++ b/pkgs/desktops/kde-4.4/pimlibs/default.nix @@ -2,10 +2,10 @@ , kdelibs, automoc4, phonon, akonadi}: stdenv.mkDerivation { - name = "kdepimlibs-4.4.2"; + name = "kdepimlibs-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdepimlibs-4.4.2.tar.bz2; - sha256 = "071rxf3ym3yf4klzy5dcvrppfm6lm8lhfphidgq97in322g76kl8"; + url = mirror://kde/stable/4.4.3/src/kdepimlibs-4.4.3.tar.bz2; + sha256 = "1q95zwkncady9lviz7bs9pnp1fkqlmnp33vj446m3krwjdh19b4c"; }; buildInputs = [ cmake qt4 perl boost cyrus_sasl gpgme stdenv.gcc.libc libical openldap shared_mime_info kdelibs automoc4 phonon akonadi ]; diff --git a/pkgs/desktops/kde-4.4/plasma-addons/default.nix b/pkgs/desktops/kde-4.4/plasma-addons/default.nix index 57f60fbcf911..676792f1f054 100644 --- a/pkgs/desktops/kde-4.4/plasma-addons/default.nix +++ b/pkgs/desktops/kde-4.4/plasma-addons/default.nix @@ -3,10 +3,10 @@ , automoc4, phonon, soprano, eigen, qimageblitz, attica}: stdenv.mkDerivation { - name = "kdeplasma-addons-4.4.2"; + name = "kdeplasma-addons-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdeplasma-addons-4.4.2.tar.bz2; - sha256 = "044xfs4j98wgc0zjfxsml7wlydna3h31zdpxnkv178sq592m1pid"; + url = mirror://kde/stable/4.4.3/src/kdeplasma-addons-4.4.3.tar.bz2; + sha256 = "00pr74x0q88wn7a4v6m35djcd29yw870fd6dgklqp1zs5yrn0p97"; }; inherit kdebase_workspace; builder = ./builder.sh; diff --git a/pkgs/desktops/kde-4.4/sdk/default.nix b/pkgs/desktops/kde-4.4/sdk/default.nix index 1023bdf47424..91ddaf87e05c 100644 --- a/pkgs/desktops/kde-4.4/sdk/default.nix +++ b/pkgs/desktops/kde-4.4/sdk/default.nix @@ -3,10 +3,10 @@ , kdelibs, kdepimlibs, automoc4, phonon, strigi}: stdenv.mkDerivation { - name = "kdesdk-4.4.2"; + name = "kdesdk-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdesdk-4.4.2.tar.bz2; - sha256 = "1cjbk35cqjif1ng8mlb5lcsilcxy9j62iviz8mzrwivdf9sixa1r"; + url = mirror://kde/stable/4.4.3/src/kdesdk-4.4.3.tar.bz2; + sha256 = "01wqyixni9sb4330b1cvaysaf7jsvmy9ijjryv8ixnaam3gkxzs7"; }; builder=./builder.sh; inherit aprutil; diff --git a/pkgs/desktops/kde-4.4/support/phonon/default.nix b/pkgs/desktops/kde-4.4/support/phonon/default.nix index 3d9f28e09b6c..437e2fc40c14 100644 --- a/pkgs/desktops/kde-4.4/support/phonon/default.nix +++ b/pkgs/desktops/kde-4.4/support/phonon/default.nix @@ -1,21 +1,27 @@ -{ stdenv, fetchurl, lib, cmake, qt4 +{ stdenv, fetchurl, cmake, qt4, automoc4, pkgconfig , libXau, libXdmcp, libpthreadstubs -, gst_all, xineLib, automoc4}: +, gstreamer, gstPluginsBase, xineLib, pulseaudio}: -stdenv.mkDerivation { - name = "phonon-4.3.80"; +let + v = "4.4.1"; + stable = true; +in + +stdenv.mkDerivation rec { + name = "phonon-${v}"; src = fetchurl { - url = mirror://kde/unstable/phonon/phonon-4.3.80.tar.bz2; - sha256 = "1v4ba2ddphkv0gjki5das5brd1wp4nf5ci73c7r1pnyp8mgjkjw9"; + url = "mirror://kde/${if stable then "" else "un"}stable/phonon/${v}/${name}.tar.bz2"; + sha256 = "0xsjbvpiqrsmqvxmhmjkwyhcxkajf1f78pg67kfwidaz9kkv0lla"; }; - includeAllQtDirs=true; - NIX_CFLAGS_COMPILE = "-I${gst_all.gstPluginsBase}/include/${gst_all.prefix}"; - buildInputs = [ cmake qt4 libXau libXdmcp libpthreadstubs gst_all.gstreamer gst_all.gstPluginsBase xineLib automoc4 ]; - meta = { + patches = [ ./phonon-4.4.1-gst-plugins-include.patch ]; + buildInputs = [ cmake qt4 libXau libXdmcp libpthreadstubs gstreamer + gstPluginsBase xineLib automoc4 pulseaudio pkgconfig ]; + meta = with stdenv.lib; { + platforms = platforms.linux; description = "KDE Multimedia API"; longDescription = "KDE Multimedia API which abstracts over various backends such as GStreamer and Xine"; license = "LGPL"; homepage = http://phonon.kde.org; - maintainers = [ lib.maintainers.sander ]; + maintainers = [ maintainers.sander maintainers.urkud ]; }; } diff --git a/pkgs/desktops/kde-4.4/support/phonon/phonon-4.4.1-gst-plugins-include.patch b/pkgs/desktops/kde-4.4/support/phonon/phonon-4.4.1-gst-plugins-include.patch new file mode 100644 index 000000000000..46782840570c --- /dev/null +++ b/pkgs/desktops/kde-4.4/support/phonon/phonon-4.4.1-gst-plugins-include.patch @@ -0,0 +1,263 @@ +From 1e3a6c25bc258021899c0a31ea9b68ea656d8f6b Mon Sep 17 00:00:00 2001 +From: Yury G. Kudryashov +Date: Sat, 8 May 2010 18:42:35 +0400 +Subject: [PATCH] Find include directories as well + +Makes it possible to compile phonon if gstreamer and gst-plugins-base are +installed into different prefixes. Theoretically, should work even if each +plugin is installed into dedicated prefix, but this feature is not tested. +--- + cmake/FindGStreamerPlugins.cmake | 160 +++++++++++++++----------------------- + gstreamer/CMakeLists.txt | 4 +- + gstreamer/ConfigureChecks.cmake | 10 +- + 3 files changed, 72 insertions(+), 102 deletions(-) + +diff --git a/cmake/FindGStreamerPlugins.cmake b/cmake/FindGStreamerPlugins.cmake +index f6d70d5..9e7a4d0 100644 +--- a/cmake/FindGStreamerPlugins.cmake ++++ b/cmake/FindGStreamerPlugins.cmake +@@ -2,19 +2,63 @@ + # Once done this will define + # + # GSTREAMERPLUGINSBASE_FOUND - system has GStreamer_Plugins +-# GSTREAMERPLUGINSBASE_INCLUDE_DIR - the GStreamer_Plugins include directory ++# GSTREAMERPLUGINSBASE_INCLUDE_DIRS - the GStreamer_Plugins include directories + # GSTREAMERPLUGINSBASE_LIBRARIES - the libraries needed to use GStreamer_Plugins +-# GSTREAMERPLUGINSBASE_DEFINITIONS - Compiler switches required for using GStreamer_Plugins ++# ++# The following variables are set for each plugin PLUGINNAME: ++# ++# GSTREAMER_PLUGIN_PLUGINNAME_FOUND - plugin is found ++# GSTREAMER_PLUGIN_PLUGINNAME_INCLUDE_DIR - plugin include directory ++# GSTREAMER_PLUGIN_PLUGINNAME_LIBRARY - the library needed to use plugin + # + # (c)2009 Nokia Corporation ++# (c)2010 Yury G. Kudryashov + + FIND_PACKAGE(PkgConfig REQUIRED) + + IF (NOT WIN32) + # don't make this check required - otherwise you can't use macro_optional_find_package on this one +- PKG_CHECK_MODULES( PKG_GSTREAMER gstreamer-plugins-base-0.10 ) ++ PKG_CHECK_MODULES( PKG_GSTREAMER_PLUGINSBASE gstreamer-plugins-base-0.10 ) + ENDIF (NOT WIN32) + ++MACRO(MACRO_FIND_GSTREAMER_PLUGIN _plugin _header) ++ STRING(TOUPPER ${_plugin} _upper) ++ IF (NOT WIN32) ++ # don't make this check required - otherwise you can't use macro_optional_find_package on this one ++ PKG_CHECK_MODULES( PKG_GSTREAMER_${_upper} gstreamer-${_plugin}-0.10 ) ++ ENDIF (NOT WIN32) ++ ++ FIND_LIBRARY(GSTREAMER_PLUGIN_${_upper}_LIBRARY NAMES gst${_plugin}-0.10 ++ PATHS ++ ${PKG_GSTREAMER_PLUGINSBASE_LIBRARY_DIRS} ++ ${PKG_GSTREAMER_${_upper}_LIBRARY_DIRS} ++ ) ++ ++ FIND_PATH(GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR ++ NAMES gst/${_plugin}/${_header} ++ PATHS ++ ${PKG_GSTREAMER_PLUGINSBASE_INCLUDE_DIRS} ++ ${PKG_GSTREAMER_${_upper}_INCLUDE_DIRS} ++ ) ++ ++ IF(GSTREAMER_PLUGIN_${_upper}_LIBRARY AND GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR) ++ SET(GSTREAMER_PLUGIN_${_upper}_FOUND TRUE) ++ LIST(APPEND GSTREAMERPLUGINSBASE_INCLUDE_DIRS GSTREAMER_${_upper}_INCLUDE_DIR) ++ LIST(APPEND GSTREAMERPLUGINSBASE_LIBRARIES GSTREAMER_${_upper}_LIBRARY) ++ ELSE(GSTREAMER_PLUGIN_${_upper}_LIBRARY AND GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR) ++ MESSAGE(STATUS "Could not find ${_plugin} plugin") ++ MESSAGE(STATUS "${_upper} library: ${GSTREAMER_${_upper}_LIBRARY}") ++ MESSAGE(STATUS "${_upper} include dir: ${GSTREAMER_${_upper}_INCLUDE_DIR}") ++ SET(GSTREAMER_PLUGIN_${_upper}_FOUND FALSE) ++ SET(GSTREAMER_PLUGIN_${_upper}_LIBRARY GSTREAMER_${_upper}_LIBRARY-NOTFOUND) ++ SET(GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR GSTREAMER_${_upper}_INCLUDE_DIR-NOTFOUND) ++ SET(GSTREAMERPLUGINSBASE_FOUND FALSE) ++ ENDIF(GSTREAMER_PLUGIN_${_upper}_LIBRARY AND GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR) ++ ++ MARK_AS_ADVANCED(GSTREAMER_PLUGIN_${_upper}_LIBRARY ++ GSTREAMER_PLUGIN_${_upper}_INCLUDE_DIR) ++ENDMACRO(MACRO_FIND_GSTREAMER_PLUGIN) ++ + # + # Base plugins: + # audio +@@ -31,87 +75,21 @@ ENDIF (NOT WIN32) + # The gstinterfaces-0.10 library is found by FindGStreamer.cmake + # + +-FIND_LIBRARY(GSTREAMER_PLUGIN_AUDIO_LIBRARIES NAMES gstaudio-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +-FIND_LIBRARY(GSTREAMER_PLUGIN_CDDA_LIBRARIES NAMES gstcdda-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +-FIND_LIBRARY(GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES NAMES gstnetbuffer-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +-FIND_LIBRARY(GSTREAMER_PLUGIN_PBUTILS_LIBRARIES NAMES gstpbutils-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +-FIND_LIBRARY(GSTREAMER_PLUGIN_RIFF_LIBRARIES NAMES gstriff-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +-FIND_LIBRARY(GSTREAMER_PLUGIN_RTP_LIBRARIES NAMES gstrtp-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +-FIND_LIBRARY(GSTREAMER_PLUGIN_RTSP_LIBRARIES NAMES gstrtsp-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +-FIND_LIBRARY(GSTREAMER_PLUGIN_SDP_LIBRARIES NAMES gstsdp-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +-FIND_LIBRARY(GSTREAMER_PLUGIN_TAG_LIBRARIES NAMES gsttag-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +-FIND_LIBRARY(GSTREAMER_PLUGIN_VIDEO_LIBRARIES NAMES gstvideo-0.10 +- PATHS +- ${PKG_GSTREAMER_LIBRARY_DIRS} +- ) +- +-IF (GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND +- GSTREAMER_PLUGIN_CDDA_LIBRARIES AND +- GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES AND +- GSTREAMER_PLUGIN_PBUTILS_LIBRARIES AND +- GSTREAMER_PLUGIN_RIFF_LIBRARIES AND +- GSTREAMER_PLUGIN_RTP_LIBRARIES AND +- GSTREAMER_PLUGIN_RTSP_LIBRARIES AND +- GSTREAMER_PLUGIN_SDP_LIBRARIES AND +- GSTREAMER_PLUGIN_TAG_LIBRARIES AND +- GSTREAMER_PLUGIN_VIDEO_LIBRARIES) +- SET(GSTREAMERPLUGINSBASE_FOUND TRUE) +-ELSE (GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND +- GSTREAMER_PLUGIN_CDDA_LIBRARIES AND +- GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES AND +- GSTREAMER_PLUGIN_PBUTILS_LIBRARIES AND +- GSTREAMER_PLUGIN_RIFF_LIBRARIES AND +- GSTREAMER_PLUGIN_RTP_LIBRARIES AND +- GSTREAMER_PLUGIN_RTSP_LIBRARIES AND +- GSTREAMER_PLUGIN_SDP_LIBRARIES AND +- GSTREAMER_PLUGIN_TAG_LIBRARIES AND +- GSTREAMER_PLUGIN_VIDEO_LIBRARIES) +- SET(GSTREAMERPLUGINSBASE_FOUND FALSE) +-ENDIF (GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND +- GSTREAMER_PLUGIN_CDDA_LIBRARIES AND +- GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES AND +- GSTREAMER_PLUGIN_PBUTILS_LIBRARIES AND +- GSTREAMER_PLUGIN_RIFF_LIBRARIES AND +- GSTREAMER_PLUGIN_RTP_LIBRARIES AND +- GSTREAMER_PLUGIN_RTSP_LIBRARIES AND +- GSTREAMER_PLUGIN_SDP_LIBRARIES AND +- GSTREAMER_PLUGIN_TAG_LIBRARIES AND +- GSTREAMER_PLUGIN_VIDEO_LIBRARIES) ++SET(GSTREAMER_PLUGINSBASE_FOUND TRUE) ++MACRO_FIND_GSTREAMER_PLUGIN(audio audio.h) ++MACRO_FIND_GSTREAMER_PLUGIN(cdda gstcddabasesrc.h) ++MACRO_FIND_GSTREAMER_PLUGIN(netbuffer gstnetbuffer.h) ++MACRO_FIND_GSTREAMER_PLUGIN(pbutils pbutils.h) ++MACRO_FIND_GSTREAMER_PLUGIN(riff riff-ids.h) ++MACRO_FIND_GSTREAMER_PLUGIN(rtp gstrtpbuffer.h) ++MACRO_FIND_GSTREAMER_PLUGIN(rtsp gstrtspdefs.h) ++MACRO_FIND_GSTREAMER_PLUGIN(sdp gstsdp.h) ++MACRO_FIND_GSTREAMER_PLUGIN(tag tag.h) ++MACRO_FIND_GSTREAMER_PLUGIN(video video.h) + + IF (GSTREAMERPLUGINSBASE_FOUND) +- SET(GSTREAMERPLUGINS_FOUND TRUE) +-ELSE (GSTREAMERPLUGINSBASE_FOUND) +- SET(GSTREAMERPLUGINS_FOUND FALSE) +-ENDIF (GSTREAMERPLUGINSBASE_FOUND) +- +-IF (GSTREAMERPLUGINS_FOUND) ++ LIST(REMOVE_DUPLICATES GSTREAMERPLUGINSBASE_LIBRARIES) ++ LIST(REMOVE_DUPLICATES GSTREAMERPLUGINSBASE_INCLUDE_DIRS) + IF (NOT GStreamer_Plugins_FIND_QUIETLY) + MESSAGE(STATUS "Found GStreamer Plugins: + ${GSTREAMER_PLUGIN_AUDIO_LIBRARIES} +@@ -125,20 +103,10 @@ IF (GSTREAMERPLUGINS_FOUND) + ${GSTREAMER_PLUGIN_TAG_LIBRARIES} + ${GSTREAMER_PLUGIN_VIDEO_LIBRARIES}") + ENDIF (NOT GStreamer_Plugins_FIND_QUIETLY) +-ELSE (GSTREAMERPLUGINS_FOUND) ++ELSE (GSTREAMERPLUGINSBASE_FOUND) ++ SET(GSTREAMERPLUGINSBASE_LIBRARIES GSTREAMERPLUGINSBASE_LIBRARIES-NOTFOUND) ++ SET(GSTREAMERPLUGINSBASE_INCLUDE_DIRS GSTREAMERPLUGINSBASE_INCLUDE_DIRS-NOTFOUND) + IF (GStreamer_Plugins_FIND_REQUIRED) + MESSAGE(SEND_ERROR "Could NOT find GStreamer Plugins") + ENDIF (GStreamer_Plugins_FIND_REQUIRED) +-ENDIF (GSTREAMERPLUGINS_FOUND) +- +-MARK_AS_ADVANCED(GSTREAMERPLUGINS_DEFINITIONS +- GSTREAMER_PLUGIN_AUDIO_LIBRARIES +- GSTREAMER_PLUGIN_CDDA_LIBRARIES +- GSTREAMER_PLUGIN_NETBUFFER_LIBRARIES +- GSTREAMER_PLUGIN_PBUTILS_LIBRARIES +- GSTREAMER_PLUGIN_RIFF_LIBRARIES +- GSTREAMER_PLUGIN_RTP_LIBRARIES +- GSTREAMER_PLUGIN_RTSP_LIBRARIES +- GSTREAMER_PLUGIN_SDP_LIBRARIES +- GSTREAMER_PLUGIN_TAG_LIBRARIES +- GSTREAMER_PLUGIN_VIDEO_LIBRARIES) ++ENDIF (GSTREAMERPLUGINSBASE_FOUND) +diff --git a/gstreamer/CMakeLists.txt b/gstreamer/CMakeLists.txt +index d529fb6..c42710b 100644 +--- a/gstreamer/CMakeLists.txt ++++ b/gstreamer/CMakeLists.txt +@@ -20,6 +20,8 @@ if (BUILD_PHONON_GSTREAMER) + include_directories( + ${CMAKE_CURRENT_BINARY_DIR} + ${GSTREAMER_INCLUDE_DIR} ++ ${GSTREAMER_PLUGIN_VIDEO_INCLUDE_DIR} ++ ${GSTREAMER_PLUGIN_AUDIO_INCLUDE_DIR} + ${GLIB2_INCLUDE_DIR} + ${LIBXML2_INCLUDE_DIR} + ${X11_X11_INCLUDE_PATH}) +@@ -78,7 +80,7 @@ if (BUILD_PHONON_GSTREAMER) + ${QT_QTOPENGL_LIBRARY} + ${PHONON_LIBS} ${OPENGL_gl_LIBRARY} + ${GSTREAMER_LIBRARIES} ${GSTREAMER_BASE_LIBRARY} ${GSTREAMER_INTERFACE_LIBRARY} +- ${GSTREAMER_PLUGIN_VIDEO_LIBRARIES} ${GSTREAMER_PLUGIN_AUDIO_LIBRARIES} ++ ${GSTREAMER_PLUGIN_VIDEO_LIBRARY} ${GSTREAMER_PLUGIN_AUDIO_LIBRARY} + ${GLIB2_LIBRARIES} ${GOBJECT_LIBRARIES}) + if(ALSA_FOUND) + target_link_libraries(phonon_gstreamer ${ASOUND_LIBRARY}) +diff --git a/gstreamer/ConfigureChecks.cmake b/gstreamer/ConfigureChecks.cmake +index 095a0e9..73616fa 100644 +--- a/gstreamer/ConfigureChecks.cmake ++++ b/gstreamer/ConfigureChecks.cmake +@@ -16,8 +16,8 @@ macro_optional_find_package(GStreamer) + macro_log_feature(GSTREAMER_FOUND "GStreamer" "gstreamer 0.10 is required for the multimedia backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10") + + macro_optional_find_package(GStreamerPlugins) +-macro_log_feature(GSTREAMER_PLUGIN_VIDEO_LIBRARIES "GStreamer video plugin" "The gstreamer video plugin (part of gstreamer-plugins-base 0.10) is required for the multimedia gstreamer backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10") +-macro_log_feature(GSTREAMER_PLUGIN_AUDIO_LIBRARIES "GStreamer audio plugin" "The gstreamer audio plugin (part of gstreamer-plugins-base 0.10) is required for the multimedia gstreamer backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10") ++macro_log_feature(GSTREAMER_PLUGIN_VIDEO_FOUND "GStreamer video plugin" "The gstreamer video plugin (part of gstreamer-plugins-base 0.10) is required for the multimedia gstreamer backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10") ++macro_log_feature(GSTREAMER_PLUGIN_AUDIO_FOUND "GStreamer audio plugin" "The gstreamer audio plugin (part of gstreamer-plugins-base 0.10) is required for the multimedia gstreamer backend" "http://gstreamer.freedesktop.org/modules/" FALSE "0.10") + + macro_optional_find_package(GLIB2) + macro_log_feature(GLIB2_FOUND "GLib2" "GLib 2 is required to compile the gstreamer backend for Phonon" "http://www.gtk.org/download/" FALSE) +@@ -31,8 +31,8 @@ macro_log_feature(LIBXML2_FOUND "LibXml2" "LibXml2 is required to compile the gs + macro_optional_find_package(OpenGL) + macro_log_feature(OPENGL_FOUND "OpenGL" "OpenGL support is required to compile the gstreamer backend for Phonon" "" FALSE) + +-if (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_LIBRARIES AND GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND) ++if (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_FOUND AND GSTREAMER_PLUGIN_AUDIO_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND) + set(BUILD_PHONON_GSTREAMER TRUE) +-else (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_LIBRARIES AND GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND) ++else (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_FOUND AND GSTREAMER_PLUGIN_AUDIO_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND) + set(BUILD_PHONON_GSTREAMER FALSE) +-endif (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_LIBRARIES AND GSTREAMER_PLUGIN_AUDIO_LIBRARIES AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND) ++endif (GSTREAMER_FOUND AND GSTREAMER_PLUGIN_VIDEO_FOUND AND GSTREAMER_PLUGIN_AUDIO_FOUND AND GLIB2_FOUND AND GOBJECT_FOUND AND LIBXML2_FOUND AND OPENGL_FOUND) +-- +1.7.1 + diff --git a/pkgs/desktops/kde-4.4/support/polkit-qt/default.nix b/pkgs/desktops/kde-4.4/support/polkit-qt/default.nix index 33ff8c00aaa6..441321a42d2e 100644 --- a/pkgs/desktops/kde-4.4/support/polkit-qt/default.nix +++ b/pkgs/desktops/kde-4.4/support/polkit-qt/default.nix @@ -6,7 +6,8 @@ stdenv.mkDerivation { url = mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-0.9.3.tar.bz2; sha256 = "08mz8p98nlxnxy1l751jg1010vgjq2f2d6n4cj27jvihqkpbaixn"; }; - buildInputs = [ cmake qt4 policykit automoc4 ]; + buildInputs = [ cmake automoc4 ]; + propagatedBuildInputs = [ qt4 policykit ]; meta = { description = "Qt PolicyKit bindings"; license = "LGPL"; diff --git a/pkgs/desktops/kde-4.4/support/qca2/ossl.nix b/pkgs/desktops/kde-4.4/support/qca2/ossl.nix index 6385919305d8..be992eb42ea3 100644 --- a/pkgs/desktops/kde-4.4/support/qca2/ossl.nix +++ b/pkgs/desktops/kde-4.4/support/qca2/ossl.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { configureFlags="--no-separate-debug-info --with-qca=${qca2} --with-openssl-inc=${openssl}/include --with-openssl-lib=${openssl}/lib"; preConfigure='' - configureFlags="$configureFlags --plugins-path=$out/plugins" + configureFlags="$configureFlags --plugins-path=$out/lib/qt4/plugins" ''; patches = [ ./ossl-remove-whirlpool.patch ]; meta = { diff --git a/pkgs/desktops/kde-4.4/toys/default.nix b/pkgs/desktops/kde-4.4/toys/default.nix index 73d74b1fa695..58c0bedd75d8 100644 --- a/pkgs/desktops/kde-4.4/toys/default.nix +++ b/pkgs/desktops/kde-4.4/toys/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, lib, cmake, qt4, perl, kdelibs, kdebase_workspace, automoc4, phonon}: stdenv.mkDerivation { - name = "kdetoys-4.4.2"; + name = "kdetoys-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdetoys-4.4.2.tar.bz2; - sha256 = "12yqykbl278w19wxaa6yl9m72ykih81v0rwgnfn0bq3zkwj1z5y0"; + url = mirror://kde/stable/4.4.3/src/kdetoys-4.4.3.tar.bz2; + sha256 = "0x99qkmbbskdnznzidh52sh4hnfzvq8a3363gzs532wmabv1gnl6"; }; buildInputs = [ cmake qt4 perl kdelibs kdebase_workspace automoc4 phonon ]; meta = { diff --git a/pkgs/desktops/kde-4.4/utils/default.nix b/pkgs/desktops/kde-4.4/utils/default.nix index 59467421407e..493d1fd55963 100644 --- a/pkgs/desktops/kde-4.4/utils/default.nix +++ b/pkgs/desktops/kde-4.4/utils/default.nix @@ -3,11 +3,11 @@ , kdelibs, kdepimlibs, kdebase, kdebindings, automoc4, phonon, qimageblitz, qca2}: stdenv.mkDerivation { - name = "kdeutils-4.4.2"; + name = "kdeutils-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdeutils-4.4.2.tar.bz2; - sha256 = "13b8ygyaz61h1lq55fa2a4x88439rbaqqagw0syqqr9lmx63xc2j"; + url = mirror://kde/stable/4.4.3/src/kdeutils-4.4.3.tar.bz2; + sha256 = "1yncgljnvw7fvvcazr3f75634czjdzxg0s3kchscvxhfq632p4g5"; }; builder = ./builder.sh; diff --git a/pkgs/desktops/kde-4.4/webdev/default.nix b/pkgs/desktops/kde-4.4/webdev/default.nix index 889ebc26bb37..fcc7e75dabe5 100644 --- a/pkgs/desktops/kde-4.4/webdev/default.nix +++ b/pkgs/desktops/kde-4.4/webdev/default.nix @@ -2,10 +2,10 @@ , kdelibs, kdepimlibs, automoc4, phonon}: stdenv.mkDerivation { - name = "kdewebdev-4.4.2"; + name = "kdewebdev-4.4.3"; src = fetchurl { - url = mirror://kde/stable/4.4.2/src/kdewebdev-4.4.2.tar.bz2; - sha256 = "0rc1xbs6daczpxryhch5gqwl95amk1qz9r72k46dv86pbbd9qvl5"; + url = mirror://kde/stable/4.4.3/src/kdewebdev-4.4.3.tar.bz2; + sha256 = "1b1ip3b5lb3z2lrs5rslkzhjl942dh3srjxmkwwcfcg6md8h8ph5"; }; buildInputs = [ cmake qt4 perl libxml2 libxslt boost kdelibs kdepimlibs automoc4 phonon ]; meta = { diff --git a/pkgs/desktops/xfce-4/applications/terminal/default.nix b/pkgs/desktops/xfce-4/applications/terminal/default.nix new file mode 100644 index 000000000000..8a05d999fc19 --- /dev/null +++ b/pkgs/desktops/xfce-4/applications/terminal/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl +, pkgconfig, ncurses +, intltool, vte +, libexo, libxfce4util +, gtk +}: + +stdenv.mkDerivation { + name = "xfce-terminal-0.4.4"; + src = fetchurl { + url = http://archive.xfce.org/src/apps/terminal/0.4/Terminal-0.4.4.tar.bz2; + sha256 = "1cmkrzgi2j5dgb1jigdqigf7fa84hh9l2bclgxzn17168cwpd1lw"; + }; + + buildInputs = [ pkgconfig intltool libexo gtk vte libxfce4util ncurses ]; + + CPPFLAGS = "-I${libexo}/include/exo-0.3 -I{libxfce4util}/include/xfce4"; + + meta = { + homepage = http://www.xfce.org/projects/terminal; + description = "A modern terminal emulator primarily for the Xfce desktop environment"; + license = "GPLv2+"; + }; +} diff --git a/pkgs/desktops/xfce-4/core/libexo/default.nix b/pkgs/desktops/xfce-4/core/libexo/default.nix new file mode 100644 index 000000000000..837bf5b8ad0a --- /dev/null +++ b/pkgs/desktops/xfce-4/core/libexo/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl +, pkgconfig +, intltool +, URI +, glib, gtk +, libxfce4util +}: + +stdenv.mkDerivation { + name = "libexo-0.3.106"; + src = fetchurl { + url = http://archive.xfce.org/src/xfce/exo/0.3/exo-0.3.106.tar.bz2; + sha256 = "1n823ipqdz47kxq6fwry3zza3j9ap7gikwm4s8169297xcjqd6qb"; + }; + + buildInputs = [ pkgconfig intltool URI glib gtk libxfce4util ]; + + meta = { + homepage = http://www.xfce.org/projects/exo; + description = "Application library for the Xfce desktop environment"; + license = "GPLv2+"; + }; +} diff --git a/pkgs/desktops/xfce-4/core/libxfce4util/default.nix b/pkgs/desktops/xfce-4/core/libxfce4util/default.nix new file mode 100644 index 000000000000..f47cb44c23d1 --- /dev/null +++ b/pkgs/desktops/xfce-4/core/libxfce4util/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl +, pkgconfig +, glib +}: + +stdenv.mkDerivation { + name = "libxfce4util-4.6.1"; + src = fetchurl { + url = http://www.xfce.org/archive/xfce-4.6.1/src/libxfce4util-4.6.1.tar.bz2; + sha256 = "0sy1222s0cq8zy2ankrp1747b6fg5jjahxrddih4gxc97iyxrv6f"; + }; + + buildInputs = [ pkgconfig glib ]; + + meta = { + homepage = http://www.xfce.org/; + description = "Basic utility non-GUI functions for Xfce"; + license = "GPLv2"; + }; +} diff --git a/pkgs/desktops/xfce-4/default.nix b/pkgs/desktops/xfce-4/default.nix new file mode 100644 index 000000000000..76aa608677c5 --- /dev/null +++ b/pkgs/desktops/xfce-4/default.nix @@ -0,0 +1,28 @@ +pkgs: +rec { + inherit (pkgs.gtkLibs) gtk; + + #### CORE + + libexo = import ./core/libexo { + inherit (pkgs) stdenv fetchurl pkgconfig; + inherit (pkgs.gnome) intltool; + inherit (pkgs.perlPackages) URI; + inherit (pkgs.gtkLibs) glib gtk; + inherit libxfce4util; + }; + + libxfce4util = import ./core/libxfce4util { + inherit (pkgs) stdenv fetchurl pkgconfig; + inherit (pkgs.gtkLibs) glib; + }; + + #### APPLICATIONS + terminal = import ./applications/terminal { + inherit (pkgs) stdenv fetchurl pkgconfig ncurses; + inherit (pkgs.gnome) intltool vte; + inherit (pkgs.gtkLibs) gtk; + inherit libexo libxfce4util; + }; + +} diff --git a/pkgs/development/compilers/ehc/default.nix b/pkgs/development/compilers/ehc/default.nix index 3590f2ea0752..cc2a6f9685ca 100644 --- a/pkgs/development/compilers/ehc/default.nix +++ b/pkgs/development/compilers/ehc/default.nix @@ -1,60 +1,36 @@ -{stdenv, coreutils, fetchsvn, m4, libtool, ghc, uulib, uuagc, llvm}: +{stdenv, coreutils, glibc, fetchsvn, m4, libtool, ghc, uulib, uuagc, mtl, network, binary, llvm, fgl}: stdenv.mkDerivation (rec { - name = "ehc-svn-1042"; + revision = "1996"; + name = "ehc-svn-${revision}"; homepage = "http://www.cs.uu.nl/wiki/Ehc/WebHome/"; src = fetchsvn { - url = https://svn.cs.uu.nl:12443/repos/EHC/trunk/EHC; - rev = "1042"; - sha256 = "7a9e5d1d57825caa4664686d9a5c0d9b5ebb870095817d77bb7b97869718ed5b"; + url = https://subversion.cs.uu.nl/repos/project.UHC.pub/trunk/EHC; + rev = revision; + sha256 = "92c658cd15dd513ccaeb81341f2680056276a46d053330f66c0214d10a6729e2"; }; - buildInputs = [coreutils m4 ghc libtool uulib uuagc llvm]; + propagatedBuildInputs = [mtl network binary fgl]; + buildInputs = [coreutils m4 ghc libtool uulib uuagc]; + # --force is required because the dependencies are not properly + # detected by Nix, being located in several package config files + configureFlags = [ + "--with-cabal-config-options=--ghc-pkg-options=--force" + "--with-cpp-ehc-options=-I${glibc}/include" + ]; + + # EHC builds packages during compilation; these are by default + # installed in the user-specific package config file. We do not + # want that, and hack the build process to use a temporary package + # configuration file instead. preConfigure = '' - find src -name files\*.mk -exec sed -i -- "s/--user//g" '{}' \; + p=`pwd`/ehc-local-packages + echo '[]' > $p + sed -i "s|--user|--package-db=$p|g" mk/shared.mk.in + sed -i "s|-fglasgow-exts|-fglasgow-exts -package-conf=$p|g" mk/shared.mk.in sed -i "s|/bin/date|${coreutils}/bin/date|g" mk/dist.mk - echo "RTS_GCC_CC_OPTS := -std=gnu99" >> mk/shared.mk.in - ''; - - buildFlags = "100/ehc 100/ehclib"; - - installPhase = '' - cd bin - - # install executables - echo "installing executables..." - mkdir -p $out/bin-ehc - for i in *; do - if [[ -d $i ]]; then - cp $i/ehc $out/bin-ehc/ehc-$i - fi; - done - - # install runtime support - cp -r ../install/* $out - - # install prelude - echo "installing prelude..." - mkdir -p $out/lib-ehc - for i in *; do - if [[ -d ../build/$i/ehclib/ehcbase ]]; then - mkdir -p $out/lib-ehc/$i - cp -r ../build/$i/ehclib/ehcbase $out/lib-ehc/$i - fi; - done - - # generate wrappers - echo "generating wrappers..." - mkdir -p $out/bin - for i in *; do - if [[ -d $i ]]; then - echo '#!'"$SHELL" > $out/bin/ehc-$i - echo "exec \"$out/bin-ehc/ehc-$i\" --use-inplace=0 -P $out/lib-ehc/$i/ehcbase" '"$@"' >> $out/bin/ehc-$i - chmod 751 $out/bin/ehc-$i - fi; - done ''; meta = { diff --git a/pkgs/development/compilers/gcc-4.4/update-gcc.sh b/pkgs/development/compilers/gcc-4.4/update-gcc.sh index d4fff825f617..c93035296fc7 100755 --- a/pkgs/development/compilers/gcc-4.4/update-gcc.sh +++ b/pkgs/development/compilers/gcc-4.4/update-gcc.sh @@ -20,16 +20,17 @@ options["core"]="/* langC */ true" options["g++"]="langCC" options["fortran"]="langFortran" options["java"]="langJava" +options["ada"]="langAda" cat > "$out"< bison != null && flex != null; +assert langJava -> zip != null && unzip != null + && zlib != null && boehmgc != null; +assert langAda -> gnatboot != null; +assert langVhdl -> gnat != null; + +# LTO needs libelf and zlib. +assert libelf != null -> zlib != null; + +with stdenv.lib; + +let version = "4.5.0"; + javaEcj = fetchurl { + # The `$(top_srcdir)/ecj.jar' file is automatically picked up at + # `configure' time. + + # XXX: Eventually we might want to take it from upstream. + url = "ftp://sourceware.org/pub/java/ecj-4.3.jar"; + sha256 = "0jz7hvc0s6iydmhgh5h2m15yza7p2rlss2vkif30vm9y77m97qcx"; + }; + + # Antlr (optional) allows the Java `gjdoc' tool to be built. We want a + # binary distribution here to allow the whole chain to be bootstrapped. + javaAntlr = fetchurl { + url = http://www.antlr.org/download/antlr-3.1.3.jar; + sha256 = "1f41j0y4kjydl71lqlvr73yagrs2jsg1fjymzjz66mjy7al5lh09"; + }; + + xlibs = [ + libX11 libXt libSM libICE libXtst libXrender libXrandr libXi + xproto renderproto xextproto inputproto randrproto + ]; + + javaAwtGtk = langJava && gtk != null; + + /* Cross-gcc settings */ + gccArch = stdenv.lib.attrByPath [ "gcc" "arch" ] null cross; + gccCpu = stdenv.lib.attrByPath [ "gcc" "cpu" ] null cross; + gccAbi = stdenv.lib.attrByPath [ "gcc" "abi" ] null cross; + withArch = if gccArch != null then " --with-arch=${gccArch}" else ""; + withCpu = if gccCpu != null then " --with-cpu=${gccCpu}" else ""; + withAbi = if gccAbi != null then " --with-abi=${gccAbi}" else ""; + crossMingw = (cross != null && cross.libc == "msvcrt"); + + crossConfigureFlags = + "--target=${cross.config}" + + withArch + + withCpu + + withAbi + + (if (crossMingw && crossStageStatic) then + " --with-headers=${libcCross}/include" + + " --with-gcc" + + " --with-gnu-as" + + " --with-gnu-ld" + + " --with-gnu-ld" + + " --disable-shared" + + " --disable-nls" + + " --disable-debug" + + " --enable-sjlj-exceptions" + + " --enable-threads=win32" + + " --disable-win32-registry" + else if crossStageStatic then + " --disable-libssp --disable-nls" + + " --without-headers" + + " --disable-threads " + + " --disable-libmudflap " + + " --disable-libgomp " + + " --disable-shared" + + " --disable-decimal-float" # libdecnumber requires libc + else + " --with-headers=${libcCross}/include" + + " --enable-__cxa_atexit" + + " --enable-long-long" + + (if crossMingw then + " --enable-threads=win32" + + " --enable-sjlj-exceptions" + + " --enable-hash-synchronization" + + " --enable-version-specific-runtime-libs" + + " --disable-libssp" + + " --disable-nls" + + " --with-dwarf2" + else + " --enable-threads=posix" + + " --enable-nls" + + " --disable-decimal-float") # No final libdecnumber (it may work only in 386) + ); + stageNameAddon = if (crossStageStatic) then "-stage-static" else + "-stage-final"; + crossNameAddon = if (cross != null) then "-${cross.config}" + stageNameAddon else ""; + +in + +# We need all these X libraries when building AWT with GTK+. +assert gtk != null -> (filter (x: x == null) xlibs) == []; + +stdenv.mkDerivation ({ + name = "${name}-${version}" + crossNameAddon; + + builder = ./builder.sh; + + src = (import ./sources.nix) { + inherit fetchurl optional version; + inherit langC langCC langFortran langJava langAda; + }; + + patches = + [ ] + ++ optional (cross != null) ./libstdc++-target.patch + ++ optional noSysDirs ./no-sys-dirs.patch + # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its + # target libraries and tools. + ++ optional langAda ./gnat-cflags.patch + ++ optional langVhdl ./ghdl-ortho-cflags.patch + ; + + inherit noSysDirs profiledCompiler staticCompiler langJava crossStageStatic + libcCross crossMingw; + + buildInputs = [ texinfo gmp mpfr mpc libelf gettext which ] + ++ (optional (ppl != null) ppl) + ++ (optional (cloogppl != null) cloogppl) + ++ (optionals langTreelang [bison flex]) + ++ (optional (zlib != null) zlib) + ++ (optional (boehmgc != null) boehmgc) + ++ (optionals langJava [zip unzip]) + ++ (optionals javaAwtGtk [gtk pkgconfig libart_lgpl] ++ xlibs) + ++ (optionals (cross != null) [binutilsCross]) + ++ (optionals langAda [gnatboot]) + ++ (optionals langVhdl [gnat]) + ; + + configureFlags = " + ${if enableMultilib then "" else "--disable-multilib"} + ${if enableShared then "" else "--disable-shared"} + ${if ppl != null then "--with-ppl=${ppl}" else ""} + ${if cloogppl != null then "--with-cloog=${cloogppl}" else ""} + ${if langJava then "--with-ecj-jar=${javaEcj}" else ""} + ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} + ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""} + --with-gmp=${gmp} + --with-mpfr=${mpfr} + --with-mpc=${mpc} + ${if (libelf != null) then "--with-libelf=${libelf}" else ""} + --disable-libstdcxx-pch + --without-included-gettext + --with-system-zlib + --enable-languages=${ + concatStrings (intersperse "," + ( optional langC "c" + ++ optional langCC "c++" + ++ optional langFortran "fortran" + ++ optional langJava "java" + ++ optional langTreelang "treelang" + ++ optional langAda "ada" + ++ optional langVhdl "vhdl" + ) + ) + } + ${if langAda then " --enable-libada" else ""} + ${if (cross == null && stdenv.isi686) then "--with-arch=i686" else ""} + ${if cross != null then crossConfigureFlags else ""} + "; + + targetConfig = if (cross != null) then cross.config else null; + + # Needed for the cross compilation to work + AR = "ar"; + LD = "ld"; + CC = "gcc"; + + # Setting $CPATH and $LIBRARY_PATH to make sure both `gcc' and `xgcc' find + # the library headers and binaries, regarless of the language being + # compiled. + + # Note: When building the Java AWT GTK+ peer, the build system doesn't + # honor `--with-gmp' et al., e.g., when building + # `libjava/classpath/native/jni/java-math/gnu_java_math_GMP.c', so we just + # add them to $CPATH and $LIBRARY_PATH in this case. + # + # Likewise, the LTO code doesn't find zlib. + + CPATH = concatStrings + (intersperse ":" (map (x: x + "/include") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ]))); + + LIBRARY_PATH = concatStrings + (intersperse ":" (map (x: x + "/lib") + (optionals (zlib != null) [ zlib ] + ++ optionals langJava [ boehmgc ] + ++ optionals javaAwtGtk xlibs + ++ optionals javaAwtGtk [ gmp mpfr ]))); + + + passthru = { inherit langC langCC langAda langFortran langTreelang langVhdl + enableMultilib; }; + + meta = { + homepage = http://gcc.gnu.org/; + license = "GPLv3+"; # runtime support libraries are typically LGPLv3+ + description = "GNU Compiler Collection, version ${version}"; + + longDescription = '' + The GNU Compiler Collection includes compiler front ends for C, C++, + Objective-C, Fortran, OpenMP for C/C++/Fortran, Java, and Ada, as well + as libraries for these languages (libstdc++, libgcj, libgomp,...). + + GCC development is a part of the GNU Project, aiming to improve the + compiler used in the GNU system including the GNU/Linux variant. + ''; + + maintainers = [ + stdenv.lib.maintainers.ludo + stdenv.lib.maintainers.viric + ]; + + # Volunteers needed for the {Cyg,Dar}win ports of *PPL. + # gnatboot is not available out of linux platforms, so we disable the darwin build + # for the gnat (ada compiler). + platforms = stdenv.lib.platforms.linux ++ optionals (langAda == false) [ "i686-darwin" ]; + }; +} +// (if cross != null && cross.libc == "msvcrt" && crossStageStatic then rec { + makeFlags = [ "all-gcc" "all-target-libgcc" ]; + installTargets = "install-gcc install-target-libgcc"; +} else {}) +// (if langVhdl then rec { + name = "ghdl-0.29"; + + ghdlSrc = fetchurl { + url = "http://ghdl.free.fr/ghdl-0.29.tar.bz2"; + sha256 = "15mlinr1lwljwll9ampzcfcrk9bk0qpdks1kxlvb70xf9zhh2jva"; + }; + + # Ghdl has some timestamps checks, storing file timestamps in '.cf' files. + # As we will change the timestamps to 1970-01-01 00:00:01, we also set the + # content of that .cf to that value. This way ghdl does not complain on + # the installed object files from the basic libraries (ieee, ...) + postInstallGhdl = '' + pushd $out + find . -name "*.cf" -exec \ + sed 's/[0-9]*\.000" /19700101000001.000" /g' -i {} \; + popd + ''; + + postUnpack = '' + tar xvf ${ghdlSrc} + mv ghdl-*/vhdl gcc*/gcc + rm -Rf ghdl-* + ''; + + meta = { + homepage = "http://ghdl.free.fr/"; + license = "GPLv2+"; + description = "Complete VHDL simulator, using the GCC technology (gcc ${version})"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; + +} else {})) diff --git a/pkgs/development/compilers/gcc-4.5/ghdl-ortho-cflags.patch b/pkgs/development/compilers/gcc-4.5/ghdl-ortho-cflags.patch new file mode 100644 index 000000000000..901534591c8f --- /dev/null +++ b/pkgs/development/compilers/gcc-4.5/ghdl-ortho-cflags.patch @@ -0,0 +1,111 @@ +diff --git a/gcc/vhdl/Make-lang.in b/gcc/vhdl/Make-lang.in +index 8f481df..681ac59 100644 +--- a/gcc/vhdl/Make-lang.in ++++ b/gcc/vhdl/Make-lang.in +@@ -96,7 +96,7 @@ AGCC_GCCOBJ_DIR=../ + AGCC_INC_FLAGS=-I$(AGCC_GCCOBJ_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/include \ + -I$(AGCC_GCCSRC_DIR)/gcc -I$(AGCC_GCCSRC_DIR)/gcc/config \ + -I$(AGCC_GCCSRC_DIR)/libcpp/include +-AGCC_CFLAGS=-g -Wall -DIN_GCC $(AGCC_INC_FLAGS) ++AGCC_CFLAGS=-g -Wall -DIN_GCC $(AGCC_INC_FLAGS) $(CFLAGS) $(INCLUDES) + + AGCC_LOCAL_OBJS=ortho-lang.o + +@@ -140,7 +140,7 @@ ghdl$(exeext): force + + # Ghdl libraries. + ghdllib: ghdl$(exeext) $(GCC_PASSES) force +- $(MAKE_IN_VHDL) GRT_FLAGS="-O -g" ghdllib ++ $(MAKE_IN_VHDL) GRT_FLAGS="-O -g $(CFLAGS)" ghdllib + + # Build hooks: + +diff --git a/gcc/vhdl/Makefile.in b/gcc/vhdl/Makefile.in +index d754c6c..07abc4a 100644 +--- a/gcc/vhdl/Makefile.in ++++ b/gcc/vhdl/Makefile.in +@@ -80,7 +80,8 @@ T_CPPFLAGS = + X_ADAFLAGS = + T_ADAFLAGS = + +-ADAC = $(CC) ++# Never use the bootstrapped compiler, as it may not be built for ada ++ADAC = gcc + + ECHO = echo + CHMOD = chmod +diff --git a/gcc/vhdl/ortho-lang.c b/gcc/vhdl/ortho-lang.c +index 84aeb92..8eddd42 100644 +--- a/gcc/vhdl/ortho-lang.c ++++ b/gcc/vhdl/ortho-lang.c +@@ -16,6 +16,7 @@ + #include "options.h" + #include "real.h" +-#include "tree-gimple.h" ++#include "gimple.h" ++#include "tree.h" + #include "function.h" + #include "cgraph.h" + #include "target.h" +@@ -680,38 +681,10 @@ type_for_mode (enum machine_mode mode, int unsignedp) + + const struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER; + +-/* Tree code classes. */ +- +-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) TYPE, +- +-const enum tree_code_class tree_code_type[] = { +-#include "tree.def" +- 'x' +-}; +-#undef DEFTREECODE +- +-/* Table indexed by tree code giving number of expression +- operands beyond the fixed part of the node structure. +- Not used for types or decls. */ +- +-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) LENGTH, +- +-const unsigned char tree_code_length[] = { +-#include "tree.def" +- 0 +-}; +-#undef DEFTREECODE +- +-#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) NAME, +-const char * const tree_code_name[] = { +-#include "tree.def" +- "@@dummy" +-}; +-#undef DEFTREECODE + + union lang_tree_node + GTY((desc ("0"), +- chain_next ("(union lang_tree_node *) GENERIC_NEXT (&%h.generic)"))) ++ chain_next ("(union lang_tree_node *) TREE_CHAIN (&%h.generic)"))) + { + union tree_node GTY ((tag ("0"))) generic; + }; +@@ -1162,7 +1135,7 @@ new_access_type (tree dtype) + res = make_node (POINTER_TYPE); + TREE_TYPE (res) = NULL_TREE; + /* Seems necessary. */ +- TYPE_MODE (res) = Pmode; ++ SET_TYPE_MODE (res, Pmode); + layout_type (res); + return res; + } +diff --git a/gcc/vhdl/Make-lang.in b/gcc/vhdl/Make-lang.in +index e201f64..f36fb97 100644 +--- a/gcc/vhdl/Make-lang.in ++++ b/gcc/vhdl/Make-lang.in +@@ -132,7 +132,7 @@ ghdl1$(exeext): $(AGCC_OBJS) $(AGCC_DEPS) force + -cargs $(CFLAGS) $(GHDL_ADAFLAGS) + $(GNATMAKE) -o $@ -aI$(srcdir)/vhdl -aOvhdl ortho_gcc-main \ + -bargs -E -cargs $(CFLAGS) $(GHDL_ADAFLAGS) \ +- -largs $(AGCC_OBJS) $(LIBS) $(GMPLIBS) ++ -largs $(AGCC_OBJS) $(LIBS) $(GMPLIBS) $(CLOOGLIBS) $(PPLLIBS) + + # The driver for ghdl. + ghdl$(exeext): force diff --git a/pkgs/development/compilers/gcc-4.5/gnat-cflags.patch b/pkgs/development/compilers/gcc-4.5/gnat-cflags.patch new file mode 100644 index 000000000000..e85e5076be69 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.5/gnat-cflags.patch @@ -0,0 +1,33 @@ +diff --git a/libada/Makefile.in b/libada/Makefile.in +index f5057a0..337e0c6 100644 +--- a/libada/Makefile.in ++++ b/libada/Makefile.in +@@ -55,7 +55,7 @@ GCC_WARN_CFLAGS = $(LOOSE_WARN) + WARN_CFLAGS = @warn_cflags@ + + TARGET_LIBGCC2_CFLAGS= +-GNATLIBCFLAGS= -g -O2 ++GNATLIBCFLAGS= -g -O2 $(CFLAGS) + GNATLIBCFLAGS_FOR_C = $(GNATLIBCFLAGS) $(TARGET_LIBGCC2_CFLAGS) -fexceptions \ + -DIN_RTS @have_getipinfo@ + +--- a/gcc/ada/gcc-interface/Makefile.in ++++ b/gcc/ada/gcc-interface/Makefile.in +@@ -105,7 +105,7 @@ ADAFLAGS = -W -Wall -gnatpg -gnata + SOME_ADAFLAGS =-gnata + FORCE_DEBUG_ADAFLAGS = -g + GNATLIBFLAGS = -gnatpg -nostdinc +-GNATLIBCFLAGS = -g -O2 ++GNATLIBCFLAGS = -g -O2 $(CFLAGS_FOR_TARGET) + # Pretend that _Unwind_GetIPInfo is available for the target by default. This + # should be autodetected during the configuration of libada and passed down to + # here, but we need something for --disable-libada and hope for the best. +@@ -1838,7 +1838,7 @@ ADA_INCLUDE_SRCS =\ + + LIBGNAT=../$(RTSDIR)/libgnat.a + +-GCC_LINK=$(CC) -static-libgcc $(ADA_INCLUDES) ++GCC_LINK=$(CC) -static-libgcc $(CFLAGS_FOR_TARGET) $(ADA_INCLUDES) + + # when compiling the tools, the runtime has to be first on the path so that + # it hides the runtime files lying with the rest of the sources diff --git a/pkgs/development/compilers/gcc-4.5/java-jvgenmain-link.patch b/pkgs/development/compilers/gcc-4.5/java-jvgenmain-link.patch new file mode 100644 index 000000000000..2612e8bfbbbc --- /dev/null +++ b/pkgs/development/compilers/gcc-4.5/java-jvgenmain-link.patch @@ -0,0 +1,17 @@ +The `jvgenmain' executable must be linked against `vec.o', among others, +since it uses its vector API. + +--- gcc-4.3.3/gcc/java/Make-lang.in 2008-12-05 00:00:19.000000000 +0100 ++++ gcc-4.3.3/gcc/java/Make-lang.in 2009-07-03 16:11:41.000000000 +0200 +@@ -109,9 +109,9 @@ jcf-dump$(exeext): $(JCFDUMP_OBJS) $(LIB + $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JCFDUMP_OBJS) \ + $(CPPLIBS) $(ZLIB) $(LDEXP_LIB) $(LIBS) + +-jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) ++jvgenmain$(exeext): $(JVGENMAIN_OBJS) $(LIBDEPS) $(BUILD_RTL) + rm -f $@ +- $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(LIBS) ++ $(CC) $(ALL_CFLAGS) $(LDFLAGS) -o $@ $(JVGENMAIN_OBJS) $(BUILD_RTL) $(LIBS) + + # + # Build hooks: diff --git a/pkgs/development/compilers/gcc-4.5/libstdc++-target.patch b/pkgs/development/compilers/gcc-4.5/libstdc++-target.patch new file mode 100644 index 000000000000..fb622b395806 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.5/libstdc++-target.patch @@ -0,0 +1,32 @@ +Patch to make the target libraries 'configure' scripts find the proper CPP. +I noticed that building the mingw32 cross compiler. +Looking at the build script for mingw in archlinux, I think that only nixos +needs this patch. I don't know why. +diff --git a/Makefile.in b/Makefile.in +index 93f66b6..d691917 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -266,6 +266,7 @@ BASE_TARGET_EXPORTS = \ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \ ++ CPP="$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CC; \ + CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ +@@ -291,11 +292,13 @@ BASE_TARGET_EXPORTS = \ + RAW_CXX_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ + CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \ +- CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; ++ CXX="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \ ++ CXXCPP="$(RAW_CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX; + + NORMAL_TARGET_EXPORTS = \ + $(BASE_TARGET_EXPORTS) \ +- CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; ++ CXX="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CXX; \ ++ CXXCPP="$(CXX_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS -E"; export CXX; + + # Where to find GMP + HOST_GMPLIBS = @gmplibs@ diff --git a/pkgs/development/compilers/gcc-4.5/no-sys-dirs.patch b/pkgs/development/compilers/gcc-4.5/no-sys-dirs.patch new file mode 100644 index 000000000000..8128fa87da5f --- /dev/null +++ b/pkgs/development/compilers/gcc-4.5/no-sys-dirs.patch @@ -0,0 +1,54 @@ +diff -ru gcc-4.3.1-orig/gcc/cppdefault.c gcc-4.3.1/gcc/cppdefault.c +--- gcc-4.3.1-orig/gcc/cppdefault.c 2007-07-26 10:37:01.000000000 +0200 ++++ gcc-4.3.1/gcc/cppdefault.c 2008-06-25 17:48:23.000000000 +0200 +@@ -41,6 +41,10 @@ + # undef CROSS_INCLUDE_DIR + #endif + ++#undef LOCAL_INCLUDE_DIR ++#undef SYSTEM_INCLUDE_DIR ++#undef STANDARD_INCLUDE_DIR ++ + const struct default_include cpp_include_defaults[] + #ifdef INCLUDE_DEFAULTS + = INCLUDE_DEFAULTS; +diff -ru gcc-4.3.1-orig/gcc/gcc.c gcc-4.3.1/gcc/gcc.c +--- gcc-4.3.1-orig/gcc/gcc.c 2008-03-02 23:55:19.000000000 +0100 ++++ gcc-4.3.1/gcc/gcc.c 2008-06-25 17:52:53.000000000 +0200 +@@ -1478,10 +1478,10 @@ + /* Default prefixes to attach to command names. */ + + #ifndef STANDARD_STARTFILE_PREFIX_1 +-#define STANDARD_STARTFILE_PREFIX_1 "/lib/" ++#define STANDARD_STARTFILE_PREFIX_1 "" + #endif + #ifndef STANDARD_STARTFILE_PREFIX_2 +-#define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" ++#define STANDARD_STARTFILE_PREFIX_2 "" + #endif + + #ifdef CROSS_DIRECTORY_STRUCTURE /* Don't use these prefixes for a cross compiler. */ +--- gcc-4.3.1-orig/gcc/Makefile.in 2008-05-11 20:54:15.000000000 +0200 ++++ gcc-4.3.1/gcc/Makefile.in 2008-06-25 17:48:23.000000000 +0200 +@@ -378,7 +378,11 @@ + MD5_H = $(srcdir)/../include/md5.h + + # Default native SYSTEM_HEADER_DIR, to be overridden by targets. +-NATIVE_SYSTEM_HEADER_DIR = /usr/include ++# Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent ++# `fixinc' from fixing header files in /usr/include. However, ++# NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set ++# it to some dummy directory. ++NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY) + # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. + CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ + +@@ -3277,7 +3281,7 @@ + -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ + -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \ + -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \ +- -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \ ++ -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \ + -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ + -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ + -DPREFIX=\"$(prefix)/\" \ diff --git a/pkgs/development/compilers/gcc-4.5/sources.nix b/pkgs/development/compilers/gcc-4.5/sources.nix new file mode 100644 index 000000000000..4a9201d08eb4 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.5/sources.nix @@ -0,0 +1,26 @@ +/* Automatically generated by `update-gcc.sh', do not edit. + For GCC 4.5.0. */ +{ fetchurl, optional, version, langC, langCC, langFortran, langJava, langAda }: + +assert version == "4.5.0"; +optional /* langC */ true (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2"; + sha256 = "19ykzyd938d4pblsihrsalk9ch1s23z57s0r5an8sqs7acv51r0g"; +}) ++ +optional langCC (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2"; + sha256 = "0hialil4v2hi7klr14x6h5z7b9ryzzy9kchr96s2p9hmsm7famlk"; +}) ++ +optional langFortran (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2"; + sha256 = "0anby974dikygjmxr6h1pd9s24fdps84fki1dijzhqqvq6lr3hbb"; +}) ++ +optional langJava (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2"; + sha256 = "0mlbxyhj7svjgby5vrpc49l2vk0k0878nlx0ap6jqq7xdyysvlcn"; +}) ++ +optional langAda (fetchurl { + url = "mirror://gcc/releases/gcc-${version}/gcc-ada-${version}.tar.bz2"; + sha256 = "1yar842bixmh2n9siy8s383lg8mz611xjdbbacgcznwab601czzv"; +}) ++ +[] diff --git a/pkgs/development/compilers/gcc-4.5/update-gcc.sh b/pkgs/development/compilers/gcc-4.5/update-gcc.sh new file mode 120000 index 000000000000..dd7bcd60c1b4 --- /dev/null +++ b/pkgs/development/compilers/gcc-4.5/update-gcc.sh @@ -0,0 +1 @@ +../gcc-4.4/update-gcc.sh \ No newline at end of file diff --git a/pkgs/development/compilers/ghc/6.12.1.nix b/pkgs/development/compilers/ghc/6.12.1.nix index b54001a70eaf..20a3a606be8a 100644 --- a/pkgs/development/compilers/ghc/6.12.1.nix +++ b/pkgs/development/compilers/ghc/6.12.1.nix @@ -5,6 +5,7 @@ stdenv.mkDerivation rec { name = "ghc-${version}"; + # TODO: Does this have to be here, or can it go to meta? homepage = "http://haskell.org/ghc"; src = fetchurl { @@ -34,11 +35,14 @@ stdenv.mkDerivation rec { meta = { inherit homepage; description = "The Glasgow Haskell Compiler"; - maintainers = [stdenv.lib.maintainers.marcweber]; + maintainers = [ + stdenv.lib.maintainers.marcweber + stdenv.lib.maintainers.andres + ]; platforms = stdenv.lib.platforms.linux; }; - + # TODO: requires a comment as to what it does and why it is needed. passthru = { corePackages = [ [ "Cabal" "1.8.0.2" ] diff --git a/pkgs/development/compilers/ghc/6.12.2.nix b/pkgs/development/compilers/ghc/6.12.2.nix new file mode 100644 index 000000000000..13e85fcc6a4f --- /dev/null +++ b/pkgs/development/compilers/ghc/6.12.2.nix @@ -0,0 +1,84 @@ +{stdenv, fetchurl, ghc, perl, gmp, ncurses}: + +stdenv.mkDerivation rec { + version = "6.12.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 = "7f1e39f0b3ddaca35b55cd430ca058d1c4678445a7177391c9cb6342b7c41a30"; + }; + + buildInputs = [ghc perl gmp ncurses]; + + buildMK = '' + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib" + libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include" + ''; + + preConfigure = '' + echo "${buildMK}" > mk/build.mk + ''; + + configureFlags=[ + "--with-gcc=${stdenv.gcc}/bin/gcc" + ]; + + # required, because otherwise all symbols from HSffi.o are stripped, and + # that in turn causes GHCi to abort + stripDebugFlags=["-S" "--keep-file-symbols"]; + + meta = { + inherit homepage; + description = "The Glasgow Haskell Compiler"; + maintainers = [ + stdenv.lib.maintainers.marcweber + stdenv.lib.maintainers.andres + ]; + platforms = stdenv.lib.platforms.linux; + }; + + # TODO: requires a comment as to what it does and why it is needed. + passthru = { + corePackages = [ + [ "Cabal" "1.8.0.2" ] + [ "array" "0.3.0.0" ] + [ "base" "3.0.3.2" ] + [ "base" "4.2.0.0" ] + [ "bin-package-db" "0.0.0.0" ] + [ "bytestring" "0.9.1.5" ] + [ "containers" "0.3.0.0" ] + [ "directory" "1.0.1.0" ] + [ "dph-base" "0.4.0" ] + [ "dph-par" "0.4.0" ] + [ "dph-prim-interface" "0.4.0" ] + [ "dph-prim-par" "0.4.0" ] + [ "dph-prim-seq" "0.4.0" ] + [ "dph-seq" "0.4.0" ] + [ "extensible-exceptions" "0.1.1.1" ] + [ "ffi" "1.0" ] + [ "filepath" "1.1.0.3" ] + [ "ghc" "6.12.1" ] + [ "ghc-binary" "0.5.0.2" ] + [ "ghc-prim" "0.2.0.0" ] + [ "haskell98" "1.0.1.1" ] + [ "hpc" "0.5.0.4" ] + [ "integer-gmp" "0.2.0.0" ] + [ "old-locale" "1.0.0.2" ] + [ "old-time" "1.0.0.3" ] + [ "pretty" "1.0.1.1" ] + [ "process" "1.0.1.2" ] + [ "random" "1.0.0.2" ] + [ "rts" "1.0" ] + [ "syb" "0.1.0.2" ] + [ "template-haskell" "2.4.0.0" ] + [ "time" "1.1.4" ] + [ "unix" "2.4.0.0" ] + [ "utf8-string" "0.3.4" ] + ]; + }; +} diff --git a/pkgs/development/compilers/ghc/wrapper.nix b/pkgs/development/compilers/ghc/wrapper.nix index 50633123491a..16441daaeedf 100644 --- a/pkgs/development/compilers/ghc/wrapper.nix +++ b/pkgs/development/compilers/ghc/wrapper.nix @@ -20,6 +20,9 @@ stdenv.mkDerivation { for prg in ghc-pkg ghc-pkg-${ghc.version}; do makeWrapper $ghc/bin/$prg $out/bin/$prg --add-flags "\$($out/bin/ghc-get-packages.sh ${ghc.version} \"\$(dirname \$0)\" --package-conf=)" done + for prg in hp2ps hpc hasktags hsc2hs; do + test -x $ghc/bin/$prg && ln -s $ghc/bin/$prg $out/bin/$prg + done cat >> $out/bin/ghc-packages << EOF #! /bin/bash -e declare -A GHC_PACKAGES_HASH # using bash4 hashs to get uniq paths @@ -45,5 +48,6 @@ stdenv.mkDerivation { GHCGetPackages = ./ghc-get-packages.sh; inherit ghc; + inherit (ghc) meta; ghcVersion = ghc.version; } diff --git a/pkgs/development/compilers/mit-scheme/default.nix b/pkgs/development/compilers/mit-scheme/default.nix index 629aec850d8a..8a277f9b89e3 100644 --- a/pkgs/development/compilers/mit-scheme/default.nix +++ b/pkgs/development/compilers/mit-scheme/default.nix @@ -1,16 +1,37 @@ -{ fetchurl, stdenv }: +{ fetchurl, stdenv, gnum4 }: -let version = "9.0.1"; in +let + version = "9.0.1"; + bootstrapFromC = ! (stdenv.isi686 || stdenv.isx86_64); +in stdenv.mkDerivation { name = "mit-scheme-${version}"; - src = fetchurl { - url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-c-${version}.tar.gz"; - sha256 = "1g2mifrx0bvag0hlrbk81rkrlm1pbn688zw8b9d2i0sl5g2p1ril"; - }; + # MIT/GNU Scheme is not bootstrappable, so it's recommended to compile from + # the platform-specific tarballs, which contain pre-built binaries. It + # leads to more efficient code than when building the tarball that contains + # generated C code instead of those binaries. + src = + if stdenv.isi686 + then fetchurl { + url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-i386.tar.gz"; + sha256 = "0cfj3bawjdnpa7cbqh2f23hfpjpmryypmzkhndvdbi79a65fl0n2"; + } else if stdenv.isx86_64 + then fetchurl { + url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-${version}-x86-64.tar.gz"; + sha256 = "0p188d7n0iqdgvra6qv5apvcsv0z2p97ry7xz5216zkc364i6mmr"; + } else fetchurl { + url = "mirror://gnu/mit-scheme/stable.pkg/${version}/mit-scheme-c-${version}.tar.gz"; + sha256 = "1g2mifrx0bvag0hlrbk81rkrlm1pbn688zw8b9d2i0sl5g2p1ril"; + }; preConfigure = "cd src"; - buildPhase = "./etc/make-liarc.sh --prefix=$out"; + buildPhase = + if bootstrapFromC + then "./etc/make-liarc.sh --prefix=$out" + else "make compile-microcode"; + + buildInputs = [ gnum4 ]; # XXX: The `check' target doesn't exist. doCheck = false; @@ -31,6 +52,9 @@ stdenv.mkDerivation { license = "GPLv2+"; maintainers = [ stdenv.lib.maintainers.ludo ]; - platforms = stdenv.lib.platforms.gnu; # arbitrary choice + + # Build fails on Cygwin and Darwin: + # . + platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.freebsd; }; } diff --git a/pkgs/development/compilers/yasm/default.nix b/pkgs/development/compilers/yasm/default.nix new file mode 100644 index 000000000000..19431de1477e --- /dev/null +++ b/pkgs/development/compilers/yasm/default.nix @@ -0,0 +1,16 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "yasm-1.0.0"; + + src = fetchurl { + url = http://www.tortall.net/projects/yasm/releases/yasm-1.0.0.tar.gz; + sha256 = "0nd95r9y5r3p9mvdyj1yhvlz9zjw0id1g470c7i1p3p0x0n6zc06"; + }; + + meta = { + homepage = http://www.tortall.net/projects/yasm/; + description = "Complete rewrite of the NASM assembler"; + license = "BSD"; + }; +} diff --git a/pkgs/development/interpreters/maude/default.nix b/pkgs/development/interpreters/maude/default.nix index c41c17c6e3c1..4dc64fc15a9c 100644 --- a/pkgs/development/interpreters/maude/default.nix +++ b/pkgs/development/interpreters/maude/default.nix @@ -3,12 +3,6 @@ stdenv.mkDerivation rec { name = "maude-2.4"; - meta = { - homepage = "http://maude.cs.uiuc.edu/"; - description = "Maude -- a high-level specification language"; - license = "GPLv2"; - }; - src = fetchurl { url = "http://maude.cs.uiuc.edu/download/current/Maude-2.4.tar.gz"; sha256 = "0bydkf8fd5v267bfak4mm5lmm3vvnr6ir1jr7gimgyzqygdk0in2"; @@ -43,5 +37,11 @@ stdenv.mkDerivation rec { mv maude-2.3.0-extras/* $out/share/doc/maude/ ''; - maintainers = [ stdenv.lib.maintainers.simons ]; + meta = { + homepage = "http://maude.cs.uiuc.edu/"; + description = "Maude -- a high-level specification language"; + license = "GPLv2"; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; } diff --git a/pkgs/development/interpreters/python/2.5/default.nix b/pkgs/development/interpreters/python/2.5/default.nix index 97a307be1223..33aa66d765d2 100644 --- a/pkgs/development/interpreters/python/2.5/default.nix +++ b/pkgs/development/interpreters/python/2.5/default.nix @@ -8,6 +8,7 @@ , tcl ? null , libX11 ? null , xproto ? null +, ncurses ? null }: assert zlibSupport -> zlib != null; @@ -30,6 +31,8 @@ let ++ optional (tcl != null) tcl ++ optional (libX11 != null) libX11 ++ optional (xproto != null) xproto + ++ optional (xproto != null) xproto + ++ optional (ncurses != null) ncurses ; in diff --git a/pkgs/development/interpreters/python/2.6/default.nix b/pkgs/development/interpreters/python/2.6/default.nix index 88e9c32a808f..8865738b0d75 100644 --- a/pkgs/development/interpreters/python/2.6/default.nix +++ b/pkgs/development/interpreters/python/2.6/default.nix @@ -10,6 +10,7 @@ , xproto ? null , arch ? null , sw_vers ? null +, ncurses ? null }: assert zlibSupport -> zlib != null; @@ -39,6 +40,7 @@ let ++ optional (xproto != null) xproto ++ optional (arch != null) arch ++ optional (sw_vers != null) sw_vers + ++ optional (ncurses != null) ncurses ; in diff --git a/pkgs/development/interpreters/python/3.1/default.nix b/pkgs/development/interpreters/python/3.1/default.nix index 8f3a94e137e9..963a4aec26c5 100644 --- a/pkgs/development/interpreters/python/3.1/default.nix +++ b/pkgs/development/interpreters/python/3.1/default.nix @@ -12,8 +12,9 @@ , sw_vers ? null }: -# I haven't spend much time on this derivation. So some of these settings may not apply to python-3.1 -# +# This derivation is mostly identical to the one that builds Python 2.x. +# Some of these settings may not apply to the latest version. A general +# cleanup might be worthwile. assert zlibSupport -> zlib != null; assert gdbmSupport -> gdbm != null; @@ -47,7 +48,7 @@ let in stdenv.mkDerivation ( { - name = "python-${version}"; + name = "python3-${version}"; src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2"; diff --git a/pkgs/development/libraries/SDL_gfx/default.nix b/pkgs/development/libraries/SDL_gfx/default.nix new file mode 100644 index 000000000000..7f4ee8ac20ca --- /dev/null +++ b/pkgs/development/libraries/SDL_gfx/default.nix @@ -0,0 +1,44 @@ +{stdenv, fetchurl, SDL} : + +stdenv.mkDerivation rec { + name = "SDL_gfx-2.0.20"; + + src = fetchurl { + url = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/${name}.tar.gz"; + sha256 = "0dyc1sj0ymv2ghmlgwfb2c6r07scbgmi2dfhmnddsb27y8wjqz4q"; + }; + + buildInputs = [ SDL ] ; + + configureFlags = "--disable-mmx"; + + postInstall = "ln -s $out/include/SDL/*.h $out/include/"; + + meta = { + description = "SDL graphics drawing primitives and support functions"; + + longDescription = + '' The SDL_gfx library evolved out of the SDL_gfxPrimitives code + which provided basic drawing routines such as lines, circles or + polygons and SDL_rotozoom which implemented a interpolating + rotozoomer for SDL surfaces. + + The current components of the SDL_gfx library are: + + * Graphic Primitives (SDL_gfxPrimitves.h) + * Rotozoomer (SDL_rotozoom.h) + * Framerate control (SDL_framerate.h) + * MMX image filters (SDL_imageFilter.h) + * Custom Blit functions (SDL_gfxBlitFunc.h) + + The library is backwards compatible to the above mentioned + code. Its is written in plain C and can be used in C++ code. + ''; + + homepage = https://sourceforge.net/projects/sdlgfx/; + license = "LGPLv2+"; + + maintainers = [ stdenv.lib.maintainers.bjg ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix index ad7ba37568bd..f481c8d65e3b 100644 --- a/pkgs/development/libraries/avahi/default.nix +++ b/pkgs/development/libraries/avahi/default.nix @@ -11,17 +11,19 @@ stdenv.mkDerivation rec { sha256 = "0ndsrd357igp0m2cd8vwr16gmh6axlndf34hlg7qqnsiymsdj84j"; }; + patches = [ ./no-mkdir-localstatedir.patch ]; + buildInputs = [ pkgconfig libdaemon dbus perl perlXMLParser glib expat gettext intltool ] ++ lib.optional qt4Support qt4; - configureFlags = '' - --disable-qt3 --disable-gdbm --disable-gtk --disable-mono - --${if qt4Support then "enable" else "disable"}-qt4 - --with-distro=none --disable-python - ''; + configureFlags = + [ "--disable-qt3" "--disable-gdbm" "--disable-gtk" "--disable-mono" + "--${if qt4Support then "enable" else "disable"}-qt4" "--disable-python" + "--with-distro=none" "--localstatedir=/var" + ]; meta = { description = "Avahi, an mDNS/DNS-SD implementation"; @@ -34,5 +36,8 @@ stdenv.mkDerivation rec { homepage = http://avahi.org; license = "LGPLv2+"; + + platforms = stdenv.lib.platforms.gnu; # arbitrary choice + maintainers = [ stdenv.lib.maintainers.ludo ]; }; } diff --git a/pkgs/development/libraries/avahi/no-mkdir-localstatedir.patch b/pkgs/development/libraries/avahi/no-mkdir-localstatedir.patch new file mode 100644 index 000000000000..29e5a05e09d1 --- /dev/null +++ b/pkgs/development/libraries/avahi/no-mkdir-localstatedir.patch @@ -0,0 +1,14 @@ +Don't "mkdir $(localstatedir)" since we can't do it (/var). + +--- avahi-0.6.25/avahi-daemon/Makefile.in 2009-04-14 03:57:14.000000000 +0200 ++++ avahi-0.6.25/avahi-daemon/Makefile.in 2010-05-09 00:12:35.000000000 +0200 +@@ -1310,7 +1310,7 @@ xmllint: + done + + install-data-local: +- test -z "$(localstatedir)/run" || $(mkdir_p) "$(DESTDIR)$(localstatedir)/run" ++ + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: + diff --git a/pkgs/development/libraries/boost/1.36.0.nix b/pkgs/development/libraries/boost/1.36.0.nix deleted file mode 100644 index 14b7dd8da339..000000000000 --- a/pkgs/development/libraries/boost/1.36.0.nix +++ /dev/null @@ -1,24 +0,0 @@ -{stdenv, fetchurl, icu, expat, zlib, bzip2, python}: - -stdenv.mkDerivation { - name = "boost-1.36.0"; - - meta = { - homepage = "http://boost.org/"; - description = "Boost C++ Library Collection"; - license = "boost-license"; - }; - - src = fetchurl { - url = "mirror://sourceforge/boost/boost_1_36_0.tar.bz2"; - sha256 = "1vydzfvzg0fkzixkr2jikvcc0zbh5qgw98hr6nhj0z12ppxhqjls"; - }; - - buildInputs = [icu expat zlib bzip2 python]; - - preBuild = '' - makeFlagsArray=(BJAM_CONFIG="-sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=system variant=release threading=multi link=shared") - ''; - - configureFlags = "--with-icu=${icu} --with-python=${python}"; -} diff --git a/pkgs/development/libraries/boost/1.38.0.nix b/pkgs/development/libraries/boost/1.38.0.nix deleted file mode 100644 index 739291a0574e..000000000000 --- a/pkgs/development/libraries/boost/1.38.0.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ stdenv, fetchurl, icu, expat, zlib, bzip2, python -, enableRelease ? true -, enableDebug ? false -, enableSingleThreaded ? false -, enableMultiThreaded ? true -, enableShared ? true -, enableStatic ? false -}: - -let - - variant = stdenv.lib.concatStringsSep "," - (stdenv.lib.optional enableRelease "release" ++ - stdenv.lib.optional enableDebug "debug"); - - threading = stdenv.lib.concatStringsSep "," - (stdenv.lib.optional enableSingleThreaded "single" ++ - stdenv.lib.optional enableMultiThreaded "multi"); - - link = stdenv.lib.concatStringsSep "," - (stdenv.lib.optional enableShared "shared" ++ - stdenv.lib.optional enableStatic "static"); - -in - -stdenv.mkDerivation { - name = "boost-1.38.0"; - - meta = { - homepage = "http://boost.org/"; - description = "Boost C++ Library Collection"; - license = "boost-license"; - }; - - src = fetchurl { - url = "mirror://sourceforge/boost/boost_1_38_0.tar.bz2"; - sha256 = "0rk044s4m7l4sma6anml34vxcd9w0fzcy1cy7csbzynjyida9qry"; - }; - - patches = [ ./classr.patch ]; - - buildInputs = [icu expat zlib bzip2 python]; - - preBuild = '' - makeFlagsArray=(BJAM_CONFIG="-sEXPAT_INCLUDE=${expat}/include -sEXPAT_LIBPATH=${expat}/lib --layout=system variant=${variant} threading=${threading} link=${link}") - ''; - - configureFlags = "--with-icu=${icu} --with-python=${python}"; -} diff --git a/pkgs/development/libraries/boost/classr.patch b/pkgs/development/libraries/boost/classr.patch deleted file mode 100644 index fbe383086968..000000000000 --- a/pkgs/development/libraries/boost/classr.patch +++ /dev/null @@ -1,15 +0,0 @@ -Taken from http://wiki.freebsd.org/BoostPortingProject ---- boost1.38/boost/function/function_template.hpp.orig 2008-10-16 17:21:50.000000000 +0400 -+++ boost1.38_2/boost/function/function_template.hpp 2009-03-25 04:12:15.000000000 +0300 -@@ -950,10 +950,10 @@ - f.vtable->manager(f.functor, this->functor, - boost::detail::function::move_functor_tag); - f.vtable = 0; --#if !defined(BOOST_NO_EXCEPTIONS) - } else { - clear(); - } -+#if !defined(BOOST_NO_EXCEPTIONS) - } catch (...) { - vtable = 0; - throw; diff --git a/pkgs/development/libraries/boost/1.42.0.nix b/pkgs/development/libraries/boost/default.nix similarity index 88% rename from pkgs/development/libraries/boost/1.42.0.nix rename to pkgs/development/libraries/boost/default.nix index 4f71e7347a91..a549b5181ae7 100644 --- a/pkgs/development/libraries/boost/1.42.0.nix +++ b/pkgs/development/libraries/boost/default.nix @@ -33,17 +33,19 @@ let in stdenv.mkDerivation { - name = "boost-1.42.0"; + name = "boost-1.43.0"; meta = { homepage = "http://boost.org/"; description = "Boost C++ Library Collection"; license = "boost-license"; + + maintainers = [ stdenv.lib.maintainers.simons ]; }; src = fetchurl { - url = "mirror://sourceforge/boost/boost_1_42_0.tar.bz2"; - sha256 = "02g6m6f7m11ig93p5sx7sfq75c15y9kn2pa3csn1bkjhs9dvj7jb"; + url = "mirror://sourceforge/boost/boost_1_43_0.tar.bz2"; + sha256 = "0831h19ph65r2rai6ipk5c2bx04af8q423mzr89fh454385i0krl"; }; buildInputs = [icu expat zlib bzip2 python]; diff --git a/pkgs/development/libraries/consolekit/default.nix b/pkgs/development/libraries/consolekit/default.nix index f41e8c6fbd1b..d6ea4a9e79bd 100644 --- a/pkgs/development/libraries/consolekit/default.nix +++ b/pkgs/development/libraries/consolekit/default.nix @@ -1,21 +1,21 @@ { stdenv, fetchurl, pkgconfig, dbus_glib, zlib, pam, glib, - libX11, policykit, expat, ... }: + libX11, polkit, expat }: stdenv.mkDerivation rec { - name = "consolekit-0.2.10"; + name = "consolekit-0.4.1"; src = fetchurl { - url = http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.2.10.tar.gz; - sha256 = "1jrv33shrmc1klwpgp02pycmbk9lfaxkd5q7bqxb6v95cl7m3f82"; + url = http://www.freedesktop.org/software/ConsoleKit/dist/ConsoleKit-0.4.1.tar.bz2; + sha256 = "0gj0airrgyi14a06w3d4407g62bs5a1cam2h64s50x3d2k3ascph"; }; - buildInputs = [ pkgconfig dbus_glib zlib pam glib libX11 policykit expat ]; + buildInputs = [ pkgconfig dbus_glib zlib pam glib libX11 polkit expat ]; + + # For console-kit to get the rpath to libgcc_s, needed for pthread_cancel to work + NIX_LDFLAGS = "-lgcc_s"; configureFlags = "--enable-pam-module --with-pam-module-dir=$(out)/lib/security --localstatedir=/var --sysconfdir=/etc"; - # Needed for pthread_cancel(). - NIX_LDFLAGS = "-lgcc_s"; - installFlags = "sysconfdir=$(out)/etc DBUS_SYS_DIR=$(out)/etc/dbus-1/system.d"; # keep `make install' happy meta = { diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix index 3552ad323465..c9d14fe8465c 100644 --- a/pkgs/development/libraries/cyrus-sasl/default.nix +++ b/pkgs/development/libraries/cyrus-sasl/default.nix @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "0dmi41hfy015pzks8n93qsshgvi0az7pv81nls4nxayb810crvr0"; }; preConfigure='' - configureFlags="--with-openssl=${openssl} --with-plugindir=$out/lib/sasl2 --with-configdir=$out/lib/sasl2" + configureFlags="--with-openssl=${openssl} --with-plugindir=$out/lib/sasl2 --with-configdir=$out/lib/sasl2 --enable-login" ''; buildInputs = [ openssl db4 gettext ]; patches = [ ./cyrus-sasl-2.1.22-bad-elif.patch ]; diff --git a/pkgs/development/libraries/ffmpeg/default.nix b/pkgs/development/libraries/ffmpeg/default.nix index cdb9bb887e82..70f7feaaf1a9 100644 --- a/pkgs/development/libraries/ffmpeg/default.nix +++ b/pkgs/development/libraries/ffmpeg/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, faad2, libtheora, speex, libvorbis}: +{stdenv, fetchurl, faad2, libtheora, speex, libvorbis, x264, pkgconfig, xvidcore}: stdenv.mkDerivation { name = "ffmpeg-0.5.1"; @@ -22,9 +22,11 @@ stdenv.mkDerivation { --enable-libtheora --enable-libvorbis --enable-libspeex + --enable-libx264 + --enable-libxvid ''; - buildInputs = [faad2 libtheora speex libvorbis]; + buildInputs = [faad2 libtheora speex libvorbis x264 pkgconfig xvidcore]; meta = { homepage = http://www.ffmpeg.org/; diff --git a/pkgs/development/libraries/freeglut/default.nix b/pkgs/development/libraries/freeglut/default.nix index 19720b9d6779..a225ca748a2f 100644 --- a/pkgs/development/libraries/freeglut/default.nix +++ b/pkgs/development/libraries/freeglut/default.nix @@ -2,12 +2,14 @@ stdenv.mkDerivation { name = "freeglut-2.4.0"; - + src = fetchurl { url = mirror://sourceforge/freeglut/freeglut-2.4.0.tar.gz; sha256 = "0lmhh5p19rw4wisr0jsl7nsa2hxdaasj0vxk5ri83crhp982v7r6"; }; + configureFlags = "--" + (if stdenv.isDarwin then "disable" else "enable") + "-warnings"; + buildInputs = [x11 mesa]; patches = ./freeglut-gcc-4.2.patch; } diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix index d30f55b95c62..cbb0c23e3117 100644 --- a/pkgs/development/libraries/geos/default.nix +++ b/pkgs/development/libraries/geos/default.nix @@ -10,11 +10,11 @@ composableDerivation {} { # (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else []) # // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };} - name = "geos-3.0.3"; + name = "geos-3.2.2"; src = fetchurl { - url = http://download.osgeo.org/geos/geos-3.0.3.tar.bz2; - sha256 = "1pxk20jcbyidp3bvip1vdf8wfw2wvh8pcn810qkf1y3zfnki0c7k"; + url = http://download.osgeo.org/geos/geos-3.2.2.tar.bz2; + sha256 = "0711wcq46h7zgvp0bk4m60vmx1wal9db1q36mayf0vwk34hprpr4"; }; # for development version. can be removed ? diff --git a/pkgs/development/libraries/gettext/0.18.nix b/pkgs/development/libraries/gettext/0.18.nix new file mode 100644 index 000000000000..72d23b4c9a9c --- /dev/null +++ b/pkgs/development/libraries/gettext/0.18.nix @@ -0,0 +1,66 @@ +# XXX: Remove me when `stdenv-updates' is merged. + +{ stdenv, fetchurl, libiconv }: + +stdenv.mkDerivation (rec { + name = "gettext-0.18"; + + src = fetchurl { + url = "mirror://gnu/gettext/${name}.tar.gz"; + sha256 = "1rbgm6sxgq218pridn2vji5nlj3hdf4vs75rz00wc0wcw4fjqd02"; + }; + + configureFlags = "--disable-csharp"; + + # On cross building, gettext supposes that the wchar.h from libc + # does not fulfill gettext needs, so it tries to work with its + # own wchar.h file, which does not cope well with the system's + # wchar.h and stddef.h (gcc-4.3 - glibc-2.9) + preConfigure = '' + if test -n "$crossConfig"; then + echo gl_cv_func_wcwidth_works=yes > cachefile + configureFlags="$configureFlags --cache-file=`pwd`/cachefile" + fi + ''; + + crossAttrs = { + buildInputs = stdenv.lib.optional (stdenv.gccCross.libc ? libiconv) + stdenv.gccCross.libc.libiconv.hostDrv; + }; + + meta = { + description = "GNU gettext, a well integrated set of translation tools and documentation"; + + longDescription = '' + Usually, programs are written and documented in English, and use + English at execution time for interacting with users. Using a common + language is quite handy for communication between developers, + maintainers and users from all countries. On the other hand, most + people are less comfortable with English than with their own native + language, and would rather be using their mother tongue for day to + day's work, as far as possible. Many would simply love seeing their + computer screen showing a lot less of English, and far more of their + own language. + + GNU `gettext' is an important step for the GNU Translation Project, as + it is an asset on which we may build many other steps. This package + offers to programmers, translators, and even users, a well integrated + set of tools and documentation. Specifically, the GNU `gettext' + utilities are a set of tools that provides a framework to help other + GNU packages produce multi-lingual messages. + ''; + + homepage = http://www.gnu.org/software/gettext/; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.all; + }; +} + +// + +(if (!stdenv.isLinux) # any non-GNU system + then { + buildInputs = [ libiconv ]; + } + else {})) diff --git a/pkgs/development/libraries/glibc-2.11/common.nix b/pkgs/development/libraries/glibc-2.11/common.nix index 4fe261c7fdc6..30e26326d373 100644 --- a/pkgs/development/libraries/glibc-2.11/common.nix +++ b/pkgs/development/libraries/glibc-2.11/common.nix @@ -5,13 +5,21 @@ cross : { name, fetchurl, stdenv, installLocales ? false , gccCross ? null, kernelHeaders ? null +, machHeaders ? null, hurdHeaders ? null, mig ? null, fetchgit ? null , profilingLibraries ? false, meta , preConfigure ? "", ... }@args : -let version = "2.11.1"; in +let + rev = "df4c3faf0ccc848b5a8086c222bdb42679a9798f"; + version = if hurdHeaders != null then "0.0-pre" + rev else "2.11.1"; +in assert (cross != null) -> (gccCross != null); +assert (mig != null) -> (machHeaders != null); +assert (machHeaders != null) -> (hurdHeaders != null); +assert (hurdHeaders != null) -> (fetchgit != null); + stdenv.mkDerivation ({ inherit kernelHeaders installLocales; @@ -20,7 +28,8 @@ stdenv.mkDerivation ({ inherit (stdenv) is64bit; - patches = [ + patches = + stdenv.lib.optional (fetchgit == null) /* Fix for NIXPKGS-79: when doing host name lookups, when nsswitch.conf contains a line like @@ -49,10 +58,11 @@ stdenv.mkDerivation ({ /* Make sure `nscd' et al. are linked against `libssp'. */ ./stack-protector-link.patch + ] + ++ stdenv.lib.optional (fetchgit == null) /* MOD_NANO definition, for ntp (taken from glibc upstream) */ - ./mod_nano.patch - ]; + ./mod_nano.patch; configureFlags = [ "-C" @@ -75,7 +85,8 @@ stdenv.mkDerivation ({ "--without-fp" ]; - buildInputs = stdenv.lib.optionals (cross != null) [ gccCross ]; + buildInputs = stdenv.lib.optionals (cross != null) [ gccCross ] + ++ stdenv.lib.optional (mig != null) mig; # Needed to install share/zoneinfo/zone.tab. Set to impure /bin/sh to # prevent a retained dependency on the bootstrap tools in the stdenv-linux @@ -96,10 +107,20 @@ stdenv.mkDerivation ({ name = name + "-${version}" + stdenv.lib.optionalString (cross != null) "-${cross.config}"; - src = fetchurl { - url = "mirror://gnu/glibc/glibc-${version}.tar.bz2"; - sha256 = "18azb6518ryqhkfmddr25p0h1s2msrmx7dblij58sjlnzh61vq34"; - }; + src = + if hurdHeaders != null + then fetchgit { + # Shamefully the "official" glibc won't build on GNU, so use the one + # maintained by the Hurd folks, `tschwinge/Roger_Whittaker' branch. + # See . + url = "git://git.sv.gnu.org/hurd/glibc.git"; + sha256 = "f3590a54a9d897d121f91113949edbaaf3e30cdeacbb8d0a44de7b6564f6643e"; + inherit rev; + } + else fetchurl { + url = "mirror://gnu/glibc/glibc-${version}.tar.bz2"; + sha256 = "18azb6518ryqhkfmddr25p0h1s2msrmx7dblij58sjlnzh61vq34"; + }; srcPorts = fetchurl { url = "mirror://gnu/glibc/glibc-ports-2.11.tar.bz2"; @@ -147,4 +168,19 @@ stdenv.mkDerivation ({ maintainers = [ stdenv.lib.maintainers.ludo ]; platforms = stdenv.lib.platforms.linux; } // meta; -}) +} + +// + +(if hurdHeaders != null + then { + # Work around the fact that the configure snippet that looks for + # does not honor `--with-headers=$sysheaders' and that + # glibc expects both Mach and Hurd headers to be in the same place. + CPATH = "${hurdHeaders}/include:${machHeaders}/include"; + + # `fetchgit' is a function and thus should not be passed to the + # `derivation' primitive. + fetchgit = null; + } + else { })) diff --git a/pkgs/development/libraries/glibc-2.11/default.nix b/pkgs/development/libraries/glibc-2.11/default.nix index 32c37aaac34e..7c92a0fe41b4 100644 --- a/pkgs/development/libraries/glibc-2.11/default.nix +++ b/pkgs/development/libraries/glibc-2.11/default.nix @@ -1,4 +1,5 @@ { stdenv, fetchurl, kernelHeaders +, machHeaders ? null, hurdHeaders ? null, mig ? null, fetchgit ? null , installLocales ? true , profilingLibraries ? false , gccCross ? null @@ -37,6 +38,12 @@ in // + (if hurdHeaders != null + then { inherit machHeaders hurdHeaders mig fetchgit; } + else { }) + + // + (if cross != null then { preConfigure = '' diff --git a/pkgs/development/libraries/glibc-2.11/info.nix b/pkgs/development/libraries/glibc-2.11/info.nix index 926598b37603..84a16fefce9d 100644 --- a/pkgs/development/libraries/glibc-2.11/info.nix +++ b/pkgs/development/libraries/glibc-2.11/info.nix @@ -2,7 +2,8 @@ let build = import ./common.nix; in - build { + /* null cross builder */ + build null { name = "glibc-info"; inherit fetchurl stdenv; diff --git a/pkgs/development/libraries/glpk/default.nix b/pkgs/development/libraries/glpk/default.nix new file mode 100644 index 000000000000..88b5e93dfcf0 --- /dev/null +++ b/pkgs/development/libraries/glpk/default.nix @@ -0,0 +1,29 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "glpk-4.43"; + + src = fetchurl { + url = "mirror://gnu/glpk/${name}.tar.gz"; + sha256 = "3be5f9c2cc355b39570ddb1b86a2ccc40fb52f81588f953f22c2ed29e3278e27"; + }; + + doCheck = true; + + meta = { + description = "The GNU Linear Programming Kit"; + + longDescription = + '' The GNU Linear Programming Kit is intended for solving large + scale linear programming problems by means of the revised + simplex method. It is a set of routines written in the ANSI C + programming language and organized in the form of a library. + ''; + + homepage = http://www.gnu.org/software/glpk/; + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.bjg ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix index 22facd2ccfca..078d7e500b81 100644 --- a/pkgs/development/libraries/gmime/default.nix +++ b/pkgs/development/libraries/gmime/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, pkgconfig, glib, zlib}: stdenv.mkDerivation { - name = "gmime-2.2.1"; + name = "gmime-2.4.15"; src = fetchurl { - url = http://spruce.sourceforge.net/gmime/sources/v2.2/gmime-2.2.1.tar.gz; - md5 = "b05e4d6344c8465fb74386e5f1fed45c"; + url = http://ftp.acc.umu.se/pub/GNOME/sources/gmime/2.4/gmime-2.4.15.tar.bz2; + sha256 = "a0a6c9413b057ab5d8a2a2902cbaa5b3a17871af3f94dc8431978c9e0e5f53e1"; }; buildInputs = [pkgconfig glib zlib]; } diff --git a/pkgs/development/libraries/gnutls/default.nix b/pkgs/development/libraries/gnutls/default.nix index 9950e1f71776..b5b385ee20ad 100644 --- a/pkgs/development/libraries/gnutls/default.nix +++ b/pkgs/development/libraries/gnutls/default.nix @@ -5,15 +5,13 @@ assert guileBindings -> guile != null; stdenv.mkDerivation rec { - name = "gnutls-2.8.5"; + name = "gnutls-2.8.6"; src = fetchurl { url = "mirror://gnu/gnutls/${name}.tar.bz2"; - sha256 = "1s6a2plds995q8rb8x19rz3c8v6xfqc4wvqqw01f6l8myyfw4jcj"; + sha256 = "0mm3i2b6pvchx4cxgg0c2xkvflv9wz75vmpbk8nfxwsa0skldy6n"; }; - patches = [ ./gnutls-cli-libgcrypt.patch ]; - configurePhase = '' ./configure --prefix="$out" \ --disable-dependency-tracking --enable-fast-install \ diff --git a/pkgs/development/libraries/gnutls/gnutls-cli-libgcrypt.patch b/pkgs/development/libraries/gnutls/gnutls-cli-libgcrypt.patch deleted file mode 100644 index b8af852705d8..000000000000 --- a/pkgs/development/libraries/gnutls/gnutls-cli-libgcrypt.patch +++ /dev/null @@ -1,14 +0,0 @@ -This patch is to make sure `gnutls-cli' is explicitly linked against -libgcrypt since it really needs to. - ---- gnutls-2.8.5/src/Makefile.in 2009-11-02 11:36:01.000000000 +0100 -+++ gnutls-2.8.5/src/Makefile.in 2009-11-06 23:30:42.000000000 +0100 -@@ -840,6 +840,7 @@ libcmd_psk_la_CFLAGS = - libcmd_psk_la_SOURCES = psk.gaa psk-gaa.h psk-gaa.c - gnutls_cli_SOURCES = cli.c common.h common.c - gnutls_cli_LDADD = ../lib/libgnutls.la ../libextra/libgnutls-extra.la \ -+ -lgcrypt \ - libcmd-cli.la ../gl/libgnu.la $(LIBSOCKET) $(GETADDRINFO_LIB) - libcmd_cli_la_CFLAGS = - libcmd_cli_la_SOURCES = cli.gaa cli-gaa.h cli-gaa.c - diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix new file mode 100644 index 000000000000..f5fed1e16049 --- /dev/null +++ b/pkgs/development/libraries/gobject-introspection/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python, cairo }: + +let + baseName = "gobject-introspection"; + v = "0.6.10"; +in + +stdenv.mkDerivation rec { + name = "${baseName}-${v}"; + + buildInputs = [ flex bison glib pkgconfig python cairo ]; + propagatedBuildInputs = [ libffi ]; + configureFlags = "--enable-gcov"; + + src = fetchurl { + url = "mirror://gnome/sources/${baseName}/0.6/${name}.tar.bz2"; + sha256 = "0jwd7bybgvg6dwhg64da8k9yjrs37y5p153gaaapz5j59ld53g9n"; + }; + + meta = with stdenv.lib; { + maintainers = [ maintainers.urkud ]; + platforms = platforms.linux; + homepage = http://live.gnome.org/GObjectIntrospection; + }; +} diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix new file mode 100644 index 000000000000..2e81a4806f8c --- /dev/null +++ b/pkgs/development/libraries/gsasl/default.nix @@ -0,0 +1,29 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "gsasl-1.4.4"; + + src = fetchurl { + url = "mirror://gnu/gsasl/${name}.tar.gz"; + sha256 = "0xd9irff42dd5i4cr74dy0yd9ijjv9nkg6c2l1328grsn8zifwdc"; + }; + + doCheck = true; + + meta = { + description = "GNU SASL, Simple Authentication and Security Layer library"; + + longDescription = + '' GNU SASL is a library that implements the IETF Simple + Authentication and Security Layer (SASL) framework and + some SASL mechanisms. SASL is used in network servers + (e.g. IMAP, SMTP, etc.) to authenticate peers. + ''; + + homepage = http://www.gnu.org/software/gsasl/; + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.bjg ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix index 781db753cd37..d479610838c0 100644 --- a/pkgs/development/libraries/gsl/default.nix +++ b/pkgs/development/libraries/gsl/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "gsl-1.13"; + name = "gsl-1.14"; src = fetchurl { url = "mirror://gnu/gsl/${name}.tar.gz"; - sha256 = "1ix2ic7m8spkbmkxz9549385agpy2vxi6wim0vhcnm08wjk4hih9"; + sha256 = "1yzsazwz7w9pckh7y0mnbl75ykfcv20426vrjwxwgrx1v6plfjix"; }; doCheck = true; diff --git a/pkgs/development/libraries/gss/default.nix b/pkgs/development/libraries/gss/default.nix new file mode 100644 index 000000000000..bf47c79f7506 --- /dev/null +++ b/pkgs/development/libraries/gss/default.nix @@ -0,0 +1,29 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "gss-1.0.0"; + + src = fetchurl { + url = "mirror://gnu/gss/${name}.tar.gz"; + sha256 = "0rcbzg19m7bddvbhjqv1iwyydkj61czb0xr691mkj0i5p4d4bakk"; + }; + + doCheck = true; + + meta = { + description = "GNU GSS Generic Security Service"; + + longDescription = + '' GSS is an implementation of the Generic Security Service Application + Program Interface (GSS-API). GSS-API is used by network servers to + provide security services, e.g., to authenticate SMTP/IMAP clients + against SMTP/IMAP servers. + ''; + + homepage = http://www.gnu.org/software/gss/; + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.bjg ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/haskell/GlomeVec/default.nix b/pkgs/development/libraries/haskell/GlomeVec/default.nix new file mode 100644 index 000000000000..4ca87d9bced2 --- /dev/null +++ b/pkgs/development/libraries/haskell/GlomeVec/default.nix @@ -0,0 +1,13 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "GlomeVec"; + version = "0.1.2"; + sha256 = "6023c11977bf16baf487235087e94f5a2f465e8403b8e40ab513e7879dd52639"; + meta = { + description = "Simple 3D vector library"; + license = "GPL"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/Ranged-sets/default.nix b/pkgs/development/libraries/haskell/Ranged-sets/default.nix new file mode 100644 index 000000000000..547ac31b03cd --- /dev/null +++ b/pkgs/development/libraries/haskell/Ranged-sets/default.nix @@ -0,0 +1,14 @@ +{cabal, HUnit, QuickCheck}: + +cabal.mkDerivation (self : { + pname = "Ranged-sets"; + version = "0.2.1"; + sha256 = "dee83d2ea0ae56ff31eb7c74a0785328ca8621792c0859e223b12c17bb775f12"; + propagatedBuildInputs = [HUnit QuickCheck]; + meta = { + description = "Ranged sets for Haskell"; + license = "BSD"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/Vec/default.nix b/pkgs/development/libraries/haskell/Vec/default.nix new file mode 100644 index 000000000000..92e1a68db28d --- /dev/null +++ b/pkgs/development/libraries/haskell/Vec/default.nix @@ -0,0 +1,14 @@ +{cabal, QuickCheck}: + +cabal.mkDerivation (self : { + pname = "Vec"; + version = "0.9.7"; + sha256 = "a67197f4dc022d6119a790e029a9475a17bb04ad812006bb154e5da9cd8f7ac7"; + propagatedBuildInputs = [QuickCheck]; + meta = { + description = "Fixed-length lists and low-dimensional linear algebra"; + license = "BSD"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/bitmap/default.nix b/pkgs/development/libraries/haskell/bitmap/default.nix new file mode 100644 index 000000000000..aff1eea1f0c7 --- /dev/null +++ b/pkgs/development/libraries/haskell/bitmap/default.nix @@ -0,0 +1,13 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "bitmap"; + version = "0.0.1"; + sha256 = "281ad4d9234349cfd14f91977b48e2d1861c037f4b6562aa138cddd25c801a7e"; + meta = { + description = "A library for handling and manipulating bitmaps"; + license = "BSD"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/cabal/cabal.nix b/pkgs/development/libraries/haskell/cabal/cabal.nix index 7ee0cfcccb91..fc719e032ac2 100644 --- a/pkgs/development/libraries/haskell/cabal/cabal.nix +++ b/pkgs/development/libraries/haskell/cabal/cabal.nix @@ -1,6 +1,6 @@ # generic builder for Cabal packages -attrs : +{stdenv, fetchurl, lib, ghc, enableLibraryProfiling ? false} : { mkDerivation = transform : @@ -17,11 +17,14 @@ attrs : # all packages with haskell- to avoid name clashes for libraries; # if that is not desired (for applications), name can be set to # fname. - name = "haskell-${self.pname}-ghc${attrs.ghc.ghc.version}-${self.version}"; + name = if enableLibraryProfiling then + "haskell-${self.pname}-ghc${ghc.ghc.version}-${self.version}-profiling" + else + "haskell-${self.pname}-ghc${ghc.ghc.version}-${self.version}"; # the default download location for Cabal packages is Hackage, # you still have to specify the checksum - src = attrs.fetchurl { + src = fetchurl { url = "http://hackage.haskell.org/packages/archive/${self.pname}/${self.version}/${self.fname}.tar.gz"; inherit (self) sha256; }; @@ -29,7 +32,7 @@ attrs : # default buildInputs are just ghc, if more buildInputs are required # buildInputs can be extended by the client by using extraBuildInputs, # but often propagatedBuildInputs is preferable anyway - buildInputs = [attrs.ghc] ++ self.extraBuildInputs; + buildInputs = [ghc] ++ self.extraBuildInputs; extraBuildInputs = []; # we make sure that propagatedBuildInputs is defined, so that we don't @@ -39,6 +42,10 @@ attrs : # library directories that have to be added to the Cabal files extraLibDirs = []; + libraryProfiling = + if enableLibraryProfiling then ["--enable-library-profiling"] + else ["--disable-library-profiling"]; + # compiles Setup and configures configurePhase = '' eval "$preConfigure" @@ -55,7 +62,7 @@ attrs : done done - ./Setup configure --verbose --prefix="$out" $extraLibDirs $configureFlags + ./Setup configure --verbose --prefix="$out" $libraryProfiling $extraLibDirs $configureFlags eval "$postConfigure" ''; @@ -82,7 +89,7 @@ attrs : ensureDir $out/bin # necessary to get it added to PATH - local confDir=$out/lib/ghc-pkgs/ghc-${attrs.ghc.ghc.version} + local confDir=$out/lib/ghc-pkgs/ghc-${ghc.ghc.version} local installedPkgConf=$confDir/${self.fname}.installedconf local pkgConf=$confDir/${self.fname}.conf ensureDir $confDir @@ -100,7 +107,7 @@ attrs : # We inherit stdenv and ghc so that they can be used # in Cabal derivations. - inherit (attrs) stdenv ghc; + inherit stdenv ghc; }; - in attrs.stdenv.mkDerivation ((rec { f = dtransform f // transform f; }).f); + in stdenv.mkDerivation ((rec { f = dtransform f // transform f; }).f); } diff --git a/pkgs/development/libraries/haskell/cmdargs/default.nix b/pkgs/development/libraries/haskell/cmdargs/default.nix new file mode 100644 index 000000000000..b7d3e81160a8 --- /dev/null +++ b/pkgs/development/libraries/haskell/cmdargs/default.nix @@ -0,0 +1,14 @@ +{cabal, filepath, mtl}: + +cabal.mkDerivation (self : { + pname = "cmdargs"; + version = "0.1"; + sha256 = "1ec8a0b49dedc0b159c4e8f6b02ae57ba918b27d8648294998a13e04cf257ebf"; + propagatedBuildInputs = [filepath mtl]; + meta = { + description = "Command line argument processing"; + license = "BSD"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/hashed-storage/default.nix b/pkgs/development/libraries/haskell/hashed-storage/default.nix index de1893697727..ff89b3b8f109 100644 --- a/pkgs/development/libraries/haskell/hashed-storage/default.nix +++ b/pkgs/development/libraries/haskell/hashed-storage/default.nix @@ -1,12 +1,13 @@ -{cabal, mtl, zlib, mmap}: +{cabal, mtl, zlib, mmap, binary, dataenc}: cabal.mkDerivation (self : { pname = "hashed-storage"; - version = "0.3.8"; - sha256 = "1f379dcb00a56c0b330eeabb1f069ef294bcf1f3dc18980e93b8b228e577fdb1"; - propagatedBuildInputs = [mtl zlib mmap]; + version = "0.4.11"; + sha256 = "c719f9b86c5a517324ce3448fcb4b6377ccbfa085268b396bec47b8bbcfbde1b"; + propagatedBuildInputs = [mtl zlib mmap binary dataenc]; meta = { description = "Hashed file storage support code"; + maintainers = [self.stdenv.lib.maintainers.andres]; }; }) diff --git a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix index 8d34277d846d..73b076947d28 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/2010.1.0.0.nix @@ -16,6 +16,7 @@ cabal.mkDerivation (self : { ]; meta = { description = "Haskell Platform meta package"; + maintainers = [self.stdenv.lib.maintainers.andres]; }; }) diff --git a/pkgs/development/libraries/haskell/haskell-platform/default.nix b/pkgs/development/libraries/haskell/haskell-platform/default.nix index 691e6c5e1986..87b5173620c8 100644 --- a/pkgs/development/libraries/haskell/haskell-platform/default.nix +++ b/pkgs/development/libraries/haskell/haskell-platform/default.nix @@ -16,6 +16,7 @@ cabal.mkDerivation (self : { ]; meta = { description = "Haskell Platform meta package"; + maintainers = [self.stdenv.lib.maintainers.andres]; }; }) diff --git a/pkgs/development/libraries/haskell/parsec/3.nix b/pkgs/development/libraries/haskell/parsec/3.nix index 883f1adabd61..048dc87b547a 100644 --- a/pkgs/development/libraries/haskell/parsec/3.nix +++ b/pkgs/development/libraries/haskell/parsec/3.nix @@ -1,12 +1,14 @@ -{cabal,mtl}: +{cabal, mtl}: cabal.mkDerivation (self : { pname = "parsec"; - version = "3.0.1"; - sha256 = "619d0c2eb093cfe6d6caab2ff94f31a6208720b4bcc85b9f98600253bb505542"; + version = "3.1.0"; + sha256 = "962d39944bae18b0fea60961c77513f455f95c0f67ae4b10ab15484a27b6fb98"; propagatedBuildInputs = [mtl]; meta = { + license = "BSD"; description = "Monadic parser combinators"; + maintainer = [self.stdenv.lib.maintainers.andres]; }; -}) +}) diff --git a/pkgs/development/libraries/haskell/ppm/default.nix b/pkgs/development/libraries/haskell/ppm/default.nix new file mode 100644 index 000000000000..e3cfd77bbdb4 --- /dev/null +++ b/pkgs/development/libraries/haskell/ppm/default.nix @@ -0,0 +1,13 @@ +{cabal, mtl}: + +cabal.mkDerivation (self : { + pname = "ppm"; + version = "2009.5.13"; + sha256 = "9e390ca9a9e6e740fa71d2b72fa2c9c3d521118b0ebb35f10fabbbe543ecfb5b"; + propagatedBuildInputs = [mtl]; + meta = { + license = "BSD"; + description = "a tiny PPM image generator"; + maintainer = [self.stdenv.lib.maintainers.andres]; + }; +}) diff --git a/pkgs/development/libraries/haskell/primitive/default.nix b/pkgs/development/libraries/haskell/primitive/default.nix new file mode 100644 index 000000000000..ea2de19592f4 --- /dev/null +++ b/pkgs/development/libraries/haskell/primitive/default.nix @@ -0,0 +1,13 @@ +{cabal}: + +cabal.mkDerivation (self : { + pname = "primitive"; + version = "0.3"; + sha256 = "b63cb5dd3417433429b3ad5489791bddd0973b96b7c3314a4ecc9e6a68b2a35d"; + meta = { + description = "Wrappers for primitive operations"; + license = "BSD"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/stb-image/default.nix b/pkgs/development/libraries/haskell/stb-image/default.nix new file mode 100644 index 000000000000..4574b80ce2a5 --- /dev/null +++ b/pkgs/development/libraries/haskell/stb-image/default.nix @@ -0,0 +1,14 @@ +{cabal, bitmap}: + +cabal.mkDerivation (self : { + pname = "stb-image"; + version = "0.2"; + sha256 = "7d027b6de52d07bbe439a84897aaa6e26a8f05c6fa6f4aeaa3060be23ae11937"; + propagatedBuildInputs = [bitmap]; + meta = { + description = "A wrapper around Sean Barrett's JPEG/PNG decoder"; + license = "free"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/haskell/vector/default.nix b/pkgs/development/libraries/haskell/vector/default.nix new file mode 100644 index 000000000000..bf9dbd818edd --- /dev/null +++ b/pkgs/development/libraries/haskell/vector/default.nix @@ -0,0 +1,14 @@ +{cabal, primitive}: + +cabal.mkDerivation (self : { + pname = "vector"; + version = "0.6.0.1"; + sha256 = "b0cba9b3aa94688321a2ec7b4fb4b41781073b2605584ad41957ba1c6892acce"; + propagatedBuildInputs = [primitive]; + meta = { + description = "Efficient arrays"; + license = "BSD"; + maintainers = [self.stdenv.lib.maintainers.andres]; + }; +}) + diff --git a/pkgs/development/libraries/java/geoipjava/default.nix b/pkgs/development/libraries/java/geoipjava/default.nix new file mode 100644 index 000000000000..f713ef2f645a --- /dev/null +++ b/pkgs/development/libraries/java/geoipjava/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl, jdk, unzip}: + +stdenv.mkDerivation { + name = "GeoIPJava-1.2.3"; + src = fetchurl { + url = http://geolite.maxmind.com/download/geoip/api/java/GeoIPJava-1.2.3.zip; + sha256 = "0l8vxan2xh0mp1vjxh39q05jyfw8gk5y77b7i8s1aw7ssyzd05vs"; + }; + buildInputs = [ jdk unzip ]; + buildPhase = + '' + cd source + javac $(find . -name \*.java) + jar cfv maxmindgeoip.jar $(find . -name \*.class) + ''; + installPhase = + '' + ensureDir $out/share/java + cp maxmindgeoip.jar $out/share/java + ''; + meta = { + description = "GeoIP Java API"; + license = "LGPL2.1+"; + maintainers = [ stdenv.lib.maintainers.sander ]; + }; +} diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix index 9f7305f2d3e8..6cdd10166906 100644 --- a/pkgs/development/libraries/kerberos/heimdal.nix +++ b/pkgs/development/libraries/kerberos/heimdal.nix @@ -1,14 +1,14 @@ -args: with args; +{stdenv, fetchurl, openldap, readline, db4, openssl, cyrus_sasl} : stdenv.mkDerivation rec { - name = "heimdal-1.0.2"; + name = "heimdal-1.3.2"; src = fetchurl { urls = [ "http://www.h5l.org/dist/src/${name}.tar.gz" "http://ftp.pdc.kth.se/pub/heimdal/src/${name}.tar.gz" ]; - sha256 = "1h4x41lpv2abpv5l3yjd58pfzs0kkp5sbnih9iykhwd6sii1iig5"; + sha256 = "0qwcq79nffsv9iyz4cf854l85i3x1cq79rxb34prpmjbfvs3ynwn"; }; ## ugly, X should be made an option diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix new file mode 100644 index 000000000000..6aa5867d8ffd --- /dev/null +++ b/pkgs/development/libraries/lensfun/default.nix @@ -0,0 +1,22 @@ +{ stdenv, fetchurl, pkgconfig, python, glib, zlib, libpng }: + +stdenv.mkDerivation rec { + name = "lensfun-0.2.5"; + + src = fetchurl { + url = "http://download.berlios.de/lensfun/${name}.tar.bz2"; + sha256 = "11zvi3lk60iljync3a495h9la7makx6lf22fbvr4lwc933mrh562"; + }; + + patchPhase = "sed -e 's@/usr/bin/python@${python}/bin/python@' -i configure"; + + buildInputs = [ pkgconfig glib zlib libpng ]; + + meta = with stdenv.lib; { + platforms = platforms.all; + maintainers = [ maintainers.urkud ]; + license = "LGPL3"; + description = "An opensource database of photographic lenses and their + characteristics"; + }; +} diff --git a/pkgs/development/libraries/libdwg/default.nix b/pkgs/development/libraries/libdwg/default.nix new file mode 100644 index 000000000000..a92a48bf75f9 --- /dev/null +++ b/pkgs/development/libraries/libdwg/default.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "libdwg-0.3"; + + src = fetchurl { + url = mirror://sourceforge/libdwg/libdwg-0.3.tar.bz2; + sha256 = "0lx7ih00m11qw9wsc5ksmwvi3d80l0yfwnbrn5qfz182w4d3fpc9"; + }; + + meta = { + description = "library reading dwg files"; + homepage = http://libdwg.sourceforge.net/en/; + license = "GPLv3"; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix new file mode 100644 index 000000000000..339e97b9673b --- /dev/null +++ b/pkgs/development/libraries/libelf/default.nix @@ -0,0 +1,23 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "libelf-0.8.13"; + + src = fetchurl { + url = "http://www.mr511.de/software/${name}.tar.gz"; + sha256 = "0vf7s9dwk2xkmhb79aigqm0x0yfbw1j0b9ksm51207qwr179n6jr"; + }; + + doCheck = true; + + meta = { + description = "Libelf, an ELF object file access library"; + + homepage = http://www.mr511.de/software/english.html; + + license = "LGPLv2+"; + + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} diff --git a/pkgs/development/libraries/libixp_for_wmii/default.nix b/pkgs/development/libraries/libixp_for_wmii/default.nix index 52d6288316f7..a322c087d890 100644 --- a/pkgs/development/libraries/libixp_for_wmii/default.nix +++ b/pkgs/development/libraries/libixp_for_wmii/default.nix @@ -14,7 +14,7 @@ stdenv.mkDerivation { cp -r lib \$out "; src = fetchurl { - url = http://code.suckless.org/dl/libs/libixp-0.4.tar.gz; + url = http://dl.suckless.org/libs/libixp-0.4.tar.gz; sha256 = "0b44p9wvmzxpyf2xd86rxyr49bmfh9cd5hj3d234gkvynvgph60p"; }; diff --git a/pkgs/development/libraries/liblqr-1/default.nix b/pkgs/development/libraries/liblqr-1/default.nix new file mode 100644 index 000000000000..c6323fcc84a4 --- /dev/null +++ b/pkgs/development/libraries/liblqr-1/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, glib }: + +stdenv.mkDerivation rec { + name = "liblqr-1-0.4.1"; + src = fetchurl { + url = "${meta.homepage}/local--files/en:download-page/${name}.tar.bz2"; + sha256 = "02g90wag7xi5rjlmwq8h0qs666b1i2sa90s4303hmym40il33nlz"; + }; + + buildInputs = [ pkgconfig ]; + propagatedBuildInputs = [ glib ]; + configureFlags = "--enable-install-man"; + + meta = with stdenv.lib; { + homepage = http://liblqr.wikidot.com; + description = "Seam-carving C/C++ library called Liquid Rescaling"; + platforms = platforms.all; + maintainers = [ maintainers.urkud ]; + }; +} diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix index 31ae886d2e4c..48575ee2bff3 100644 --- a/pkgs/development/libraries/libtasn1/default.nix +++ b/pkgs/development/libraries/libtasn1/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "libtasn1-2.5"; + name = "libtasn1-2.6"; src = fetchurl { url = "mirror://gnu/libtasn1/${name}.tar.gz"; - sha256 = "0xr4hsrs7cjx5zy7nkm6a93gkx7dkynyycgk2ayhscf5n5z96pyz"; + sha256 = "1izrmbmrj29822qbp2dlsjkdck0hnjilplcq2i23cwgdqk79rsvs"; }; doCheck = true; diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix index 4219142250ff..c7e76447e3fd 100644 --- a/pkgs/development/libraries/libunistring/default.nix +++ b/pkgs/development/libraries/libunistring/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv, libiconv }: stdenv.mkDerivation (rec { - name = "libunistring-0.9.2.1"; + name = "libunistring-0.9.3"; src = fetchurl { url = "mirror://gnu/libunistring/${name}.tar.gz"; - sha256 = "1y9dcj972in9rx9lw9xkmirdfv92m00ccd553hhr37dby1gzinjl"; + sha256 = "18q620269xzpw39dwvr9zpilnl2dkw5z5kz3mxaadnpv4k3kw3b1"; }; propagatedBuildInputs = diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix index cbe52ae0e370..23c12825f8e9 100644 --- a/pkgs/development/libraries/mesa/default.nix +++ b/pkgs/development/libraries/mesa/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, x11, xlibs, libdrm, expat }: +{ stdenv, fetchurl, pkgconfig, x11, xlibs, libdrm, expat, lipo ? null }: if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then throw "unsupported platform for Mesa" @@ -6,21 +6,23 @@ else stdenv.mkDerivation { name = "mesa-7.6.1"; - + src = fetchurl { url = ftp://ftp.freedesktop.org/pub/mesa/7.6.1/MesaLib-7.6.1.tar.bz2; md5 = "7db4617e9e10ad3aca1b64339fd71b7d"; }; - configureFlags = "--disable-gallium"; - + configureFlags = "--disable-gallium" + + (if stdenv.isDarwin then " --disable-egl" else ""); + buildInputs = [ pkgconfig expat x11 libdrm xlibs.glproto xlibs.libXxf86vm xlibs.libXfixes xlibs.libXdamage xlibs.dri2proto + lipo ]; - + passthru = { inherit libdrm; }; - + meta = { description = "An open source implementation of OpenGL"; homepage = http://www.mesa3d.org/; diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix new file mode 100644 index 000000000000..53ce0ed847e6 --- /dev/null +++ b/pkgs/development/libraries/mlt/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, SDL, qt, pkgconfig, ffmpeg, libdv, libxml2, libsamplerate, +libvorbis, sox}: + +stdenv.mkDerivation { + name = "mlt-0.5.4"; + + src = fetchurl { + url = mirror://sourceforge/mlt/mlt-0.5.4.tar.gz; + sha256 = "12s5znbm6q45r33ymyw1bak3d41xhh72gh9i1pdsgvddr0pizshj"; + }; + + buildInputs = [ qt SDL ffmpeg libdv libxml2 libsamplerate libvorbis sox ]; + + # Mostly taken from: + # http://www.kdenlive.org/user-manual/downloading-and-installing-kdenlive/installing-source/installing-mlt-rendering-engine + configureFlags = [ "--enable-gpl" "--avformat-swscale" ]; + + meta = { + homepage = http://www.mltframework.org/; + description = "Open source multimedia framework, designed for television broadcasting"; + license = "GPLv2+"; + }; +} diff --git a/pkgs/development/libraries/mpc/default.nix b/pkgs/development/libraries/mpc/default.nix new file mode 100644 index 000000000000..e5ae5b76323b --- /dev/null +++ b/pkgs/development/libraries/mpc/default.nix @@ -0,0 +1,30 @@ +{ fetchurl, stdenv, gmp, mpfr }: + +stdenv.mkDerivation rec { + name = "mpc-0.8.1"; + + src = fetchurl { + url = "http://www.multiprecision.org/mpc/download/${name}.tar.gz"; + sha256 = "1r73zqw8lnf0bkfsxn0znbwbfyacg94pd0l4aaixh7r5awvn0r76"; + }; + + buildInputs = [ gmp mpfr ]; + + doCheck = true; + + meta = { + description = "MPC, a library for multiprecision complex arithmetic with exact rounding"; + + longDescription = + '' MPC is a C library for the arithmetic of complex numbers with + arbitrarily high precision and correct rounding of the result. It is + built upon and follows the same principles as GNU MPFR. + ''; + + homepage = http://mpc.multiprecision.org/; + license = "LGPLv2+"; + + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} diff --git a/pkgs/development/libraries/neon/0.26.nix b/pkgs/development/libraries/neon/0.26.nix index c6dde2253bc8..6b06e54e73d6 100644 --- a/pkgs/development/libraries/neon/0.26.nix +++ b/pkgs/development/libraries/neon/0.26.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libxml2 +{ stdenv, fetchurl, libxml2, pkgconfig , compressionSupport ? true, zlib ? null , sslSupport ? true, openssl ? null }: @@ -14,11 +14,13 @@ stdenv.mkDerivation { sha256 = "1pjrn5wb18gy419293hmwd02blmh36aaxsrgajm9nkkkjzqakncj"; }; - buildInputs = [libxml2] ++ stdenv.lib.optional compressionSupport zlib; + buildInputs = [libxml2] + ++ stdenv.lib.optional compressionSupport zlib + ++ (if sslSupport then [ openssl pkgconfig ] else []); configureFlags = '' ${if compressionSupport then "--with-zlib" else "--without-zlib"} - ${if sslSupport then "--with-ssl --with-libs=${openssl}" else "--without-ssl"} + ${if sslSupport then "--with-ssl" else "--without-ssl"} --enable-shared ''; diff --git a/pkgs/development/libraries/neon/0.28.nix b/pkgs/development/libraries/neon/0.28.nix index c41474b39b62..8e717ff52d82 100644 --- a/pkgs/development/libraries/neon/0.28.nix +++ b/pkgs/development/libraries/neon/0.28.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libxml2 +{ stdenv, fetchurl, libxml2, pkgconfig , compressionSupport ? true, zlib ? null , sslSupport ? true, openssl ? null , static ? false @@ -17,13 +17,14 @@ stdenv.mkDerivation rec { sha256 = "03ncisn1iziz79vw678wsrv8jf63m2szd2qml5baj53slcd8pvh6"; }; - buildInputs = [libxml2] ++ stdenv.lib.optional compressionSupport zlib; + buildInputs = [libxml2 pkgconfig openssl] + ++ stdenv.lib.optional compressionSupport zlib; configureFlags = '' ${if shared then "--enable-shared" else "--disable-shared"} ${if static then "--enable-static" else "--disable-static"} ${if compressionSupport then "--with-zlib" else "--without-zlib"} - ${if sslSupport then "--with-ssl --with-libs=${openssl}" else "--without-ssl"} + ${if sslSupport then "--with-ssl" else "--without-ssl"} --enable-shared ''; diff --git a/pkgs/development/libraries/neon/0.29.nix b/pkgs/development/libraries/neon/0.29.nix new file mode 100644 index 000000000000..df952a253155 --- /dev/null +++ b/pkgs/development/libraries/neon/0.29.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchurl, libxml2, pkgconfig +, compressionSupport ? true, zlib ? null +, sslSupport ? true, openssl ? null +, static ? false +, shared ? true +}: + +assert compressionSupport -> zlib != null; +assert sslSupport -> openssl != null; +assert static || shared; + +stdenv.mkDerivation rec { + name = "neon-0.29.3"; + + src = fetchurl { + url = "http://www.webdav.org/neon/${name}.tar.gz"; + sha256 = "1d1c6zhr00yvg0fbhpkq8kmsq9cchr112ii9rl39gdybyflh9444"; + }; + + buildInputs = [libxml2 pkgconfig openssl] + ++ stdenv.lib.optional compressionSupport zlib; + + configureFlags = '' + ${if shared then "--enable-shared" else "--disable-shared"} + ${if static then "--enable-static" else "--disable-static"} + ${if compressionSupport then "--with-zlib" else "--without-zlib"} + ${if sslSupport then "--with-ssl" else "--without-ssl"} + --enable-shared + ''; + + passthru = {inherit compressionSupport sslSupport;}; + + meta = { + description = "An HTTP and WebDAV client library"; + homepage = http://www.webdav.org/neon/; + }; +} diff --git a/pkgs/development/libraries/openssl/1.x.nix b/pkgs/development/libraries/openssl/1.x.nix new file mode 100644 index 000000000000..eae32de30e48 --- /dev/null +++ b/pkgs/development/libraries/openssl/1.x.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, perl }: + +let + opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ] + (throw "openssl needs its platform name cross building" null) + stdenv.cross; +in + +stdenv.mkDerivation (rec { + name = "openssl-1.0.0"; + + src = fetchurl { + url = "http://www.openssl.org/source/${name}.tar.gz"; + sha1 = "3f800ea9fa3da1c0f576d689be7dca3d55a4cb62"; + }; + + buildNativeInputs = [ perl ]; + + configureScript = "./config"; + + configureFlags="--libdir=lib shared"; + + crossAttrs = { + preConfigure='' + export cross=$crossSystem- + ''; + configureFlags="--libdir=lib ${opensslCrossSystem} shared"; + buildPhase = '' + make CC=$crossConfig-gcc \ + AR="$crossConfig-ar r" \ + RANLIB=$crossConfig-ranlib + ''; + }; + + meta = { + homepage = http://www.openssl.org/; + description = "A cryptographic library that implements the SSL and TLS protocols"; + }; +} +// +(if stdenv.isDarwin then { + patches = ./darwin-arch.patch; +} +else { }) +) diff --git a/pkgs/development/libraries/openssl/darwin-arch-1.patch b/pkgs/development/libraries/openssl/darwin-arch-1.patch new file mode 100644 index 000000000000..ad8e86c6791e --- /dev/null +++ b/pkgs/development/libraries/openssl/darwin-arch-1.patch @@ -0,0 +1,16 @@ +The patch is specific to nix: MacOS gcc supports -arch. +--- a/Configure ++++ b/Configure +@@ -549,9 +549,9 @@ my %table=( + "rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::", + "darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", + "darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +-"darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +-"debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +-"darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", ++"darwin-i386-cc","cc:-O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", ++"debug-darwin-i386-cc","cc:-g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", ++"darwin64-x86_64-cc","cc:-O3 -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", + "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", + + ##### A/UX diff --git a/pkgs/development/libraries/openssl/darwin-arch.patch b/pkgs/development/libraries/openssl/darwin-arch.patch index 5cbc90b9ebf1..f17a40395d62 100644 --- a/pkgs/development/libraries/openssl/darwin-arch.patch +++ b/pkgs/development/libraries/openssl/darwin-arch.patch @@ -1,24 +1,30 @@ -diff -rc openssl-0.9.8k/Configure openssl-0.9.8k-new/Configure -*** openssl-0.9.8k/Configure Mon Feb 16 09:44:22 2009 ---- openssl-0.9.8k-new/Configure Fri Nov 27 13:41:58 2009 +Removed -arch flags for darwin as they are not supported by gcc-darwin. + +diff -rc openssl-0.9.8n/Configure openssl-0.9.8n-new/Configure +*** openssl-0.9.8n/Configure Mon Nov 9 15:14:26 2009 +--- openssl-0.9.8n-new/Configure Thu Apr 29 10:16:15 2010 *************** -*** 518,526 **** +*** 523,533 **** + + ##### MacOS X (a.k.a. Rhapsody or Darwin) setup "rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::", - "darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - "darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc64.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +! "darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +! "darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc64.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", ! "darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - "debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -! "darwin64-x86_64-cc","cc:-arch x86_64 -O3 -fomit-frame-pointer -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +! "debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +! "darwin64-x86_64-cc","cc:-arch x86_64 -O3 -fomit-frame-pointer -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", ##### A/UX ---- 518,526 ---- +--- 523,533 ---- + + ##### MacOS X (a.k.a. Rhapsody or Darwin) setup "rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::", - "darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - "darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc64.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +! "darwin-ppc-cc","cc:-O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common: -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +! "darwin64-ppc-cc","cc:-O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc64.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", ! "darwin-i386-cc","cc:-O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", - "debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", -! "darwin64-x86_64-cc","cc:-O3 -fomit-frame-pointer -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK BF_PTR2 DES_INT DES_UNROLL:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +! "debug-darwin-i386-cc","cc:-g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", +! "darwin64-x86_64-cc","cc:-O3 -fomit-frame-pointer -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DB_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", ##### A/UX diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index 4d0e0cd8afbd..4e567cf6577b 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -6,16 +6,14 @@ let stdenv.cross; in -stdenv.mkDerivation rec { - name = "openssl-0.9.8l"; +stdenv.mkDerivation ( rec { + name = "openssl-0.9.8n"; src = fetchurl { url = "http://www.openssl.org/source/${name}.tar.gz"; - sha1 = "d3fb6ec89532ab40646b65af179bb1770f7ca28f"; + sha256 = "008z1h09pa6dfxs4wgbqj5i1clw4v82b1waqvwanb1kb6wlbq6mh"; }; - patches = [ ./darwin-arch.patch ]; - buildNativeInputs = [ perl ]; configureScript = "./config"; @@ -38,4 +36,4 @@ stdenv.mkDerivation rec { homepage = http://www.openssl.org/; description = "A cryptographic library that implements the SSL and TLS protocols"; }; -} +} // (if stdenv.isDarwin then { patches = [./darwin-arch.patch]; } else {}) ) diff --git a/pkgs/development/libraries/pango/1.26.x.nix b/pkgs/development/libraries/pango/1.26.x.nix index 423f4c8c7024..fb24cb544b0d 100644 --- a/pkgs/development/libraries/pango/1.26.x.nix +++ b/pkgs/development/libraries/pango/1.26.x.nix @@ -27,6 +27,6 @@ stdenv.mkDerivation rec { license = "LGPLv2+"; maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix index d3b2c67a0107..0e4b6cab6502 100644 --- a/pkgs/development/libraries/polkit/default.nix +++ b/pkgs/development/libraries/polkit/default.nix @@ -1,32 +1,49 @@ -{ stdenv, fetchurl, pkgconfig, glib, eggdbus, expat, pam, intltool, gettext }: +{ stdenv, fetchurl, pkgconfig, glib, eggdbus, expat, pam, intltool, gettext, + gobjectIntrospection }: + +let + system="/var/run/current-system/sw"; + foolVars = { + LOCALSTATE = "/var"; + SYSCONF = "/etc"; + LIBEXEC = "${system}/libexec/polkit-1"; + LIB = "${system}/lib"; + DATA = "${system}/share"; + }; +in stdenv.mkDerivation rec { - name = "policy-kit-0.92"; - + name = "polkit-0.96"; + src = fetchurl { - url = http://hal.freedesktop.org/releases/polkit-0.92.tar.gz; - sha256 = "18x4xp4m14fm4aayra4njh82g2jzf6ccln40yybmhxqpb5a3nii8"; + url = "http://hal.freedesktop.org/releases/${name}.tar.gz"; + sha256 = "0jh5v0dhf9msvmfmr9d67563m64gq5l96m9jax9abchhfa8wl9il"; }; - - buildInputs = [ pkgconfig glib eggdbus expat pam intltool gettext ]; - configureFlags = "--localstatedir=/var"; + buildInputs = [ pkgconfig glib eggdbus expat pam intltool gettext + gobjectIntrospection ]; + + preConfigure='' + configureFlags="--libexecdir=$out/libexec/polkit-1" + ''; + + # Ugly hack to overwrite hardcoded directories + # TODO: investigate a proper patch which will be accepted upstream + CFLAGS = stdenv.lib.concatStringsSep " " + ( map (var: ''-DPACKAGE_${var}_DIR=\""${builtins.getAttr var foolVars}"\"'') + (builtins.attrNames foolVars) ); - installFlags = "localstatedir=$(TMPDIR)/var"; # keep `make install' happy - postInstall = '' # Allow some files with paranoid permissions to be stripped in # the fixup phase. chmod a+rX -R $out - - # Fix the pathname in the frobnicate example. - substituteInPlace $out/share/polkit-1/actions/org.freedesktop.policykit.examples.pkexec.policy \ - --replace /usr/bin/pk-example-frobnicate $out/bin/pk-example-frobnicate ''; - meta = { + meta = with stdenv.lib; { homepage = http://www.freedesktop.org/wiki/Software/PolicyKit; description = "A toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes"; + platforms = platforms.linux; + maintainers = [ maintainers.urkud ]; }; } diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix new file mode 100644 index 000000000000..41068c4e39a1 --- /dev/null +++ b/pkgs/development/libraries/postgis/default.nix @@ -0,0 +1,51 @@ +{stdenv, fetchurl, libxml2, postgresql, geos, proj, perl}: + +# TODO: the bin commands to have gtk gui +# compile this optionally ? + +# NixOS - usage: services.posgresql.extraPlugins = [ pkgs.postgis ]; + +stdenv.mkDerivation { + name = "postgis"; + + src = fetchurl { + url = http://postgis.refractions.net/download/postgis-1.5.1.tar.gz; + sha256 = "0nymvqqi6pp4nh4dcshzqm76x4sraf119jp7l27c2q1lygm6p6jr"; + }; + + makeFlags = "PERL=${perl}/bin/perl"; + + # default both defaul to postgis location !? + preConfigure = '' + configureFlags="--datadir=$out/share --datarootdir=$out/share --bindir=$out/bin" + makeFlags="PERL=${perl}/bin/perl datadir=$out/share pkglibdir=$out/lib bindir=$out/bin" + + # makeFlags="DESTDIR=$out " + ''; + + # create a script enabling postgis features + postInstall = '' + cat >> $out/bin/enable_postgis_for_db << EOF + #!/bin/sh + set -x + t=$out/share/contrib/postgis-1.5 + for db in "\$@"; do + createlang plpgsql \$db + for f in postgis spatial_ref_sys; do + psql -d \$db -f \$t/\$f.sql + done + done + EOF + chmod +x $out/bin/enable_postgis_for_db + ''; + + buildInputs = [libxml2 postgresql geos proj perl]; + + meta = { + description = "Geographic Objects for PostgreSQL"; + homepage = "http://postgis.refractions.net"; + license = "GPLv2"; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/qt-4.5/default.nix b/pkgs/development/libraries/qt-4.x/4.5/default.nix similarity index 100% rename from pkgs/development/libraries/qt-4.5/default.nix rename to pkgs/development/libraries/qt-4.x/4.5/default.nix diff --git a/pkgs/development/libraries/qt-4.5/setup-hook.sh b/pkgs/development/libraries/qt-4.x/4.5/setup-hook.sh similarity index 100% rename from pkgs/development/libraries/qt-4.5/setup-hook.sh rename to pkgs/development/libraries/qt-4.x/4.5/setup-hook.sh diff --git a/pkgs/development/libraries/qt-4.6/default.nix b/pkgs/development/libraries/qt-4.x/4.6/default.nix similarity index 64% rename from pkgs/development/libraries/qt-4.6/default.nix rename to pkgs/development/libraries/qt-4.x/4.6/default.nix index 0a83cc9e4a55..50ab8e66aeaf 100644 --- a/pkgs/development/libraries/qt-4.6/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.6/default.nix @@ -1,10 +1,12 @@ { stdenv, fetchurl, lib , libXft, libXrender, randrproto, xextproto, libXinerama, xineramaproto, libXcursor, libXmu , libXext, libXfixes, inputproto, fixesproto, libXrandr, freetype, fontconfig -, zlib, libjpeg, mysql, libpng, which, mesa, openssl, dbus, cups, pkgconfig, libtiff, glib -, buildDemos ? false, buildExamples ? false, keepDocumentation ? false}: +, zlib, libjpeg, libpng, which, mesa, openssl, dbus, cups, pkgconfig, libtiff, glib +, mysql, postgresql +, perl, coreutils, libXi, sqlite, alsaLib +, buildDemos ? false, buildExamples ? false, useDocs ? true}: -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "qt-4.6.2"; src = fetchurl { @@ -12,16 +14,24 @@ stdenv.mkDerivation { sha256 = "1bpz59y907zz2p67mnf5ckvxh7n2glr6pz1f9fmngkkdn3fm2vqp"; }; - setupHook = ./setup-hook.sh; - preConfigure = '' export LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH" + configureFlags+=" + -docdir $out/share/doc/${name} + -plugindir $out/lib/qt4/plugins + -examplesdir $out/share/doc/${name}/examples + -demosdir $out/share/doc/${name}/demos + -datadir $out/share/qt4 + " ''; propagatedBuildInputs = [ + alsaLib + sqlite libXft libXrender libXrandr + libXi randrproto xextproto libXinerama @@ -30,6 +40,7 @@ stdenv.mkDerivation { zlib libjpeg mysql + postgresql libpng which mesa @@ -48,6 +59,8 @@ stdenv.mkDerivation { libtiff ]; + buildInputs = [ perl ]; + # libQtNetwork will call libQtCore for it to dlopen openssl. NIX_LDFLAGS = "-rpath ${openssl}/lib"; # Don't shrink the rpath, to keep ${openssl} in it. @@ -59,29 +72,27 @@ stdenv.mkDerivation { -v -no-separate-debug-info -release -system-zlib -system-libpng -system-libjpeg -fast -qt-gif -confirm-license -opensource - -opengl -xrender -xrandr -xinerama -xcursor -qt-sql-mysql + -opengl -xrender -xrandr -xinerama -xcursor -qt-sql-mysql -system-sqlite -qdbus -cups -glib -xfixes -dbus-linked -fontconfig -I${freetype}/include/freetype2 + -exceptions -xmlpatterns ${if buildDemos == true then "" else "-nomake demos"} ${if buildExamples == true then "" else "-nomake examples"} + ${if useDocs then "" else "-nomake docs"} ''; patchPhase = '' substituteInPlace configure --replace /bin/pwd pwd + substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls sed -e 's@/usr@/FOO@' -i config.tests/*/*.test -i mkspecs/*/*.conf ''; - # Remove the documentation: it takes up >= 130 MB, which is more - # than half of the installed size. Ideally we should put this in a - # separate package (as well as the Qt Designer). - postInstall = '' - ${if keepDocumentation == false then "rm -rf $out/doc" else ""} - ''; + postInstall = if useDocs then "rm -rf $out/share/doc/${name}/{html,src}" else ""; meta = { - homepage = http://www.qtsoftware.com/downloads/opensource/appdev/linux-x11-cpp; + homepage = http://qt.nokia.com/products; description = "A cross-platform application framework for C++"; license = "GPL/LGPL"; - maintainers = [ lib.maintainers.sander ]; + maintainers = with lib.maintainers; [ sander urkud ]; }; } diff --git a/pkgs/development/libraries/qt-4.6/setup-hook.sh b/pkgs/development/libraries/qt-4.x/4.6/setup-hook.sh similarity index 100% rename from pkgs/development/libraries/qt-4.6/setup-hook.sh rename to pkgs/development/libraries/qt-4.x/4.6/setup-hook.sh diff --git a/pkgs/development/libraries/qt-4.x/4.7/default.nix b/pkgs/development/libraries/qt-4.x/4.7/default.nix new file mode 100644 index 000000000000..0bb61a07bcb6 --- /dev/null +++ b/pkgs/development/libraries/qt-4.x/4.7/default.nix @@ -0,0 +1,107 @@ +{ stdenv, fetchurl, lib +, alsaLib, gstreamer, gstPluginsBase, pulseaudio +, libXft, libXrender, randrproto, xextproto, libXinerama, xineramaproto, libXcursor, libXmu +, libXv, libXext, libXfixes, inputproto, fixesproto, libXrandr, freetype, fontconfig +, zlib, libjpeg, libpng, which, mesa, openssl, dbus, cups, pkgconfig, libtiff, glib +, mysql, postgresql, sqlite +, perl, coreutils, libXi +, buildDemos ? false, buildExamples ? false, useDocs ? true}: + +stdenv.mkDerivation rec { + name = "qt-4.7.0-beta1"; + + src = fetchurl { + url = ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.7.0-beta1.tar.gz; + sha256 = "0ac9dk2xdcbwjmh9hgmnp60df9shv2ss78lls2apgnjddscdw1qi"; + }; + + preConfigure = '' + export LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH" + configureFlags+=" + -docdir $out/share/doc/${name} + -plugindir $out/lib/qt4/plugins + -examplesdir $out/share/doc/${name}/examples + -demosdir $out/share/doc/${name}/demos + -datadir $out/share/qt4 + " + ''; + + propagatedBuildInputs = [ + alsaLib + sqlite + libXft + libXrender + libXrandr + libXi + randrproto + xextproto + libXinerama + xineramaproto + libXcursor + zlib + libjpeg + mysql + postgresql + libpng + which + mesa + libXmu + libXv + openssl + dbus.libs + cups + pkgconfig + libXext + freetype + fontconfig + inputproto + fixesproto + libXfixes + glib + libtiff + gstreamer + gstPluginsBase + pulseaudio + ]; + + buildInputs = [ perl ]; + + # libQtNetwork will call libQtCore for it to dlopen openssl. + NIX_LDFLAGS = "-rpath ${openssl}/lib"; + # Don't shrink the rpath, to keep ${openssl} in it. + dontPatchELF = 1; + + prefixKey = "-prefix "; + + configureFlags = '' + -v -no-separate-debug-info -release -fast -confirm-license -opensource + -system-zlib -system-libpng -system-libjpeg -qt-gif + -opengl -xrender -xrandr -xinerama -xcursor + -plugin-sql-mysql -system-sqlite + -qdbus -cups -glib -xfixes -dbus-linked + -fontconfig -I${freetype}/include/freetype2 + -exceptions -xmlpatterns + -multimedia -mediaservices + -javascript-jit + ${if buildDemos == true then "-make demos" else "-nomake demos"} + ${if buildExamples == true then "-make examples" else "-nomake examples"} + ${if useDocs then "-make docs" else "-nomake docs"} + ''; + + patchPhase = '' + substituteInPlace configure --replace /bin/pwd pwd + substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls + sed -e 's@/usr@/FOO@' -i config.tests/*/*.test -i mkspecs/*/*.conf + ''; + + postInstall = if useDocs then "rm -rf $out/share/doc/${name}/{html,src}" else ""; + + meta = { + homepage = http://qt.nokia.com/products; + description = "A cross-platform application framework for C++"; + license = "GPL/LGPL"; + maintainers = with lib.maintainers; [ urkud sander ]; + platforms = stdenv.lib.platforms.linux; + priority = 10; + }; +} diff --git a/pkgs/development/libraries/qtscriptgenerator/default.nix b/pkgs/development/libraries/qtscriptgenerator/default.nix index 75bd7b4dc7fb..8b257d299bf3 100644 --- a/pkgs/development/libraries/qtscriptgenerator/default.nix +++ b/pkgs/development/libraries/qtscriptgenerator/default.nix @@ -19,7 +19,8 @@ stdenv.mkDerivation { cd generator qmake make - ./generator + # Set QTDIR, see http://code.google.com/p/qtscriptgenerator/issues/detail?id=38 + QTDIR=${qt4} ./generator cd ../qtbindings qmake make diff --git a/pkgs/development/libraries/quesoglc/default.nix b/pkgs/development/libraries/quesoglc/default.nix new file mode 100644 index 000000000000..3d2f098267d3 --- /dev/null +++ b/pkgs/development/libraries/quesoglc/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, mesa, glew, freetype, fontconfig, fribidi, libX11 }: +stdenv.mkDerivation rec { + pname = "quesoglc"; + version = "0.7.2"; + name = "${pname}-${version}"; + src = fetchurl { + url = "mirror://sourceforge/${pname}/${name}.tar.bz2"; + sha256 = "0cf9ljdzii5d4i2m23gdmf3kn521ljcldzq69lsdywjid3pg5zjl"; + }; + buildInputs = [ mesa glew freetype fontconfig fribidi libX11 ]; + # FIXME: Configure fails to use system glew. + meta = { + description = "A free implementation of the OpenGL Character Renderer"; + longDescription = '' + QuesoGLC is a free (as in free speech) implementation of the OpenGL + Character Renderer (GLC). QuesoGLC is based on the FreeType library, + provides Unicode support and is designed to be easily ported to any + platform that supports both FreeType and the OpenGL API. + ''; + homepage = http://quesoglc.sourceforge.net/; + license = [ "LGPLv2.1+" ]; + maintainers = with stdenv.lib.maintainers; [ astsmtl ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/development/libraries/wtk/builder.sh b/pkgs/development/libraries/wtk/builder.sh index bf65b96c7cac..5ccfc1a7391f 100644 --- a/pkgs/development/libraries/wtk/builder.sh +++ b/pkgs/development/libraries/wtk/builder.sh @@ -1,23 +1,8 @@ source $stdenv/setup -if ! test -e "$pathname"; then - echo "" - echo "SORRY!" - echo "You should download \`$(basename $pathname)' from Sun and place it in $(dirname $pathname)." - echo "Blame Sun, not us." - echo "" - exit 1 -fi - -actual=$(md5sum -b $pathname | cut -c1-32) -if test "$actual" != "$md5"; then - echo "hash is $actual, expected $md5" - exit 1 -fi - mkdir unzipped pushd unzipped -unzip $pathname || true +unzip $src || true popd ensureDir $out diff --git a/pkgs/development/libraries/wtk/default.nix b/pkgs/development/libraries/wtk/default.nix index 123d0a9216a1..c9e7fb4249d9 100644 --- a/pkgs/development/libraries/wtk/default.nix +++ b/pkgs/development/libraries/wtk/default.nix @@ -1,12 +1,15 @@ -{ stdenv, fetchurl, unzip, xlibs }: +{ stdenv, requireFile, unzip, xlibs }: assert stdenv.system == "i686-linux"; -stdenv.mkDerivation { +stdenv.mkDerivation rec { name = "sun-java-wtk-2.5.2_01"; - pathname = "/tmp/sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh"; - md5 = "6b70b6e6d426eac121db8a087991589f"; + src = requireFile { + url = meta.homepage; + name = "sun_java_wireless_toolkit-2.5.2_01-linuxi486.bin.sh"; + sha256 = "1cjb9c27847wv0hq3j645ckn4di4vsfvp29fr4zmdqsnvk4ahvj1"; + }; builder = ./builder.sh; diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxGTK-2.8/default.nix index 0bdec709e13b..cc899d7b0034 100644 --- a/pkgs/development/libraries/wxGTK-2.8/default.nix +++ b/pkgs/development/libraries/wxGTK-2.8/default.nix @@ -9,11 +9,11 @@ assert gtk.libpng != null; assert gtk.libpng.zlib != null; stdenv.mkDerivation { - name = "wxGTK-2.8.10"; + name = "wxGTK-2.8.11"; src = fetchurl { - url = mirror://sourceforge/wxwindows/wxGTK-2.8.10.tar.gz; - sha256 = "1hygkrwa71kzdbz029igkxsqyb14y6vsllqafjgm9b7v91nq49r8"; + url = mirror://sourceforge/wxwindows/wxGTK-2.8.11.tar.gz; + sha256 = "149waiwwzw238avkhj8vmm1394nw45fa02b7cf1mqwc3jdd1pfz6"; }; buildInputs = [ diff --git a/pkgs/development/libraries/x264/default.nix b/pkgs/development/libraries/x264/default.nix index 636a5081c5f0..6928f9f6df4b 100644 --- a/pkgs/development/libraries/x264/default.nix +++ b/pkgs/development/libraries/x264/default.nix @@ -1,16 +1,21 @@ -args: -args.stdenv.mkDerivation rec { - version = "snapshot-20080521-2245"; +{stdenv, fetchurl, yasm}: + +stdenv.mkDerivation rec { + version = "snapshot-20100429-2245"; name = "x264-${version}"; - src = args.fetchurl { + src = fetchurl { url = "ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-${version}.tar.bz2"; - sha256 = "07khxih1lmhvrzlaksqmaghbi8w2yyjrjcw867gi2y4z1h0ndhks"; + sha256 = "16b24mc63zyp4h4fqyvgzbdclnhpay4l72yfqzwnzsnlby94zwcj"; }; - configureFlags= if args.stdenv.system == "x86_64-linux" then ["--enable-pic"] else []; + patchPhase = '' + sed -i s,/bin/bash,${stdenv.shell}, configure version.sh + ''; - buildInputs =(with args; []); + configureFlags = [ "--enable-shared" ]; + + buildInputs = [ yasm ]; meta = { description = "library for encoding H264/AVC video streams"; diff --git a/pkgs/development/libraries/xvidcore/default.nix b/pkgs/development/libraries/xvidcore/default.nix new file mode 100644 index 000000000000..7276402cbf5d --- /dev/null +++ b/pkgs/development/libraries/xvidcore/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, nasm}: + +stdenv.mkDerivation rec { + name = "xvidcore-1.2.2"; + + src = fetchurl { + url = http://downloads.xvid.org/downloads/xvidcore-1.2.2.tar.bz2; + sha256 = "04bd1clv90i5pdwh6mz3mskyzmxyx5l2nx7lyyb8nhw9whnn0ap4"; + }; + + preConfigure = '' + cd build/generic + ''; + + buildInputs = [ nasm ]; + + meta = { + description = "MPEG-4 video codec for PC"; + homepage = http://www.xvid.org/; + license = "GPLv2+"; + }; +} + diff --git a/pkgs/development/python-modules/pygtk/default.nix b/pkgs/development/python-modules/pygtk/default.nix index 76b50372ca26..3dc37ebe2f08 100644 --- a/pkgs/development/python-modules/pygtk/default.nix +++ b/pkgs/development/python-modules/pygtk/default.nix @@ -14,4 +14,9 @@ stdenv.mkDerivation { ; propagatedBuildInputs = [pygobject pycairo]; + + postInstall = '' + rm $out/bin/pygtk-codegen-2.0 + ln -s ${pygobject}/bin/pygobject-codegen-2.0 $out/bin/pygtk-codegen-2.0 + ''; } diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix index 2e72047354c1..3e549fe7bbe7 100644 --- a/pkgs/development/tools/build-managers/scons/default.nix +++ b/pkgs/development/tools/build-managers/scons/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { SCons is an easier, more reliable and faster way to build software. ''; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.simons ]; }; - - maintainers = [ stdenv.lib.maintainers.simons ]; } diff --git a/pkgs/development/tools/build-managers/simple-build-tool/default.nix b/pkgs/development/tools/build-managers/simple-build-tool/default.nix new file mode 100644 index 000000000000..218957ae360d --- /dev/null +++ b/pkgs/development/tools/build-managers/simple-build-tool/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl }: + +# Depends on a JRE at runtime. + +let + version = "0.7.3"; +in + stdenv.mkDerivation rec { + name = "simple-build-tool-${version}"; + src = fetchurl { + url = "http://simple-build-tool.googlecode.com/files/sbt-launch-${version}.jar"; + sha256 = "1nciifzf00cs54a4h57a7v1hyklm5vgln0sscmz5kzv96ggphs6k"; + }; + + installPhase = '' + mkdir -pv "$out/lib/java" + cp $src "$out/lib/java/sbt-launch-${version}.jar" + mkdir -p "$out/bin" + cat > "$out/bin/sbt" < ((libX11 != null) && (libXext != null) + && (libpng != null)); stdenv.mkDerivation rec { - name = "oprofile-0.9.4"; + name = "oprofile-0.9.6"; src = fetchurl { url = "mirror://sourceforge/oprofile/${name}.tar.gz"; - sha256 = "1pna65lpdxzbg4lcmpvayw1ibinbizrzwpdp0cq7vfinj0am456b"; + sha256 = "103q0w4wr5lnhg1yfdhc67dvdwzqpzml57fp4l6nbz29fw5d839z"; }; patchPhase = '' @@ -16,10 +20,14 @@ stdenv.mkDerivation rec { s|^PATH=.*$||g" ''; - # FIXME: Add optional Qt support. - buildInputs = [ binutils popt makeWrapper gawk which gnugrep ]; + buildInputs = [ binutils popt makeWrapper gawk which gnugrep ] + ++ stdenv.lib.optionals (qt != null) [ qt libX11 libXext libpng ]; - configureFlags = "--with-kernel-support --disable-shared"; + configureFlags = + [ "--with-kernel-support" + "--disable-shared" # needed because only the static libbfd is available + ] + ++ stdenv.lib.optional (qt != null) "--with-qt-dir=${qt}"; postInstall = '' wrapProgram "$out/bin/opcontrol" \ @@ -27,7 +35,7 @@ stdenv.mkDerivation rec { ''; meta = { - description = "Oprofile, a system-wide profiler for Linux"; + description = "OProfile, a system-wide profiler for Linux"; longDescription = '' OProfile is a system-wide profiler for Linux systems, capable of profiling all running code at low overhead. It consists of a @@ -42,5 +50,8 @@ stdenv.mkDerivation rec { ''; license = "GPLv2"; homepage = http://oprofile.sourceforge.net/; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.ludo ]; }; } diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix new file mode 100644 index 000000000000..66e4870aa59c --- /dev/null +++ b/pkgs/development/tools/profiling/systemtap/default.nix @@ -0,0 +1,73 @@ +{ fetchurl, stdenv, linux, elfutils, latex2html, xmlto, docbook_xml_dtd_412 +, libxml2, docbook_xsl, libxslt, texLive, texLiveExtra, ghostscript, pkgconfig +, gtkmm, libglademm, boost, perl, sqlite }: + +stdenv.mkDerivation rec { + name = "systemtap-1.2"; + + src = fetchurl { + url = "http://sources.redhat.com/systemtap/ftp/releases/${name}.tar.gz"; + sha256 = "0kxgjr8p1pnncc0l4941gzx0jsyyqjzjqar2qkcjzp266ajn9qz6"; + }; + + patches = + stdenv.lib.optional (stdenv ? glibc) ./nixos-kernel-store-path.patch; + + postPatch = + '' sed -i scripts/kernel-doc -e 's|/usr/bin/perl|${perl}/bin/perl|g' + ''; + + preConfigure = + # XXX: This should really be handled by TeXLive's setup-hook. + '' export TEXINPUTS="${latex2html}/texinputs:$TEXINPUTS" + export TEXINPUTS="${texLiveExtra}/texmf-dist/tex/latex/preprint:$TEXINPUTS" + echo "\$TEXINPUTS is \`$TEXINPUTS'" + ''; + + postConfigure = + /* Work around this: + + StapParser.cxx:118: instantiated from here + /...-boost-1.42.0/include/boost/algorithm/string/compare.hpp:43: error: comparison between signed and unsigned integer expressions + + */ + '' sed -i "grapher/Makefile" -e's/-Werror//g' + ''; + + buildInputs = + [ elfutils latex2html xmlto texLive texLiveExtra ghostscript + pkgconfig gtkmm libglademm boost sqlite + docbook_xml_dtd_412 libxml2 + docbook_xsl libxslt + ]; + + meta = { + description = "SystemTap, tools to gather information about a running GNU/Linux system"; + + longDescription = + '' SystemTap provides free software (GPL) infrastructure to simplify + the gathering of information about the running GNU/Linux system. + This assists diagnosis of a performance or functional problem. + SystemTap eliminates the need for the developer to go through the + tedious and disruptive instrument, recompile, install, and reboot + sequence that may be otherwise required to collect data. + + SystemTap provides a simple command line interface and scripting + language for writing instrumentation for a live running kernel. We + are publishing samples, as well as enlarging the internal "tapset" + script library to aid reuse and abstraction. + + Among other tracing/probing tools, SystemTap is the tool of choice + for complex tasks that may require live analysis, programmable + on-line response, and whole-system symbolic access. SystemTap can + also handle simple tracing jobs. + ''; + + homepage = http://sourceware.org/systemtap/; + + license = "GPLv2+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/tools/profiling/systemtap/nixos-kernel-store-path.patch b/pkgs/development/tools/profiling/systemtap/nixos-kernel-store-path.patch new file mode 100644 index 000000000000..5881ed84533f --- /dev/null +++ b/pkgs/development/tools/profiling/systemtap/nixos-kernel-store-path.patch @@ -0,0 +1,47 @@ +This patch makes stap(1) know about the kernel store path on NixOS. + +--- systemtap-1.2/main.cxx 2010-03-22 22:51:49.000000000 +0100 ++++ systemtap-1.2/main.cxx 2010-05-04 14:56:19.000000000 +0200 +@@ -528,6 +528,32 @@ getmemusage () + return oss.str(); + } + ++/* Read `/proc/cmdline' and extract the store path. The assumption is that ++ `/proc/cmdline' looks like this: ++ ++ BOOT_IMAGE=/nix/store/sxjd69wfcr6w8jlbcc5bc20nwjliq872-linux-2.6.32.8/bzImage systemConfig=/nix/store/kiicqkjwgfvkwrg4fp3dnhwldh7dq7is-system init=/nix/store/czgncihjwx3n58xij6i1rlnz8wv6ym4j-stage-2-init.sh splash=verbose vga=0x317 ++ ++ This is the case on NixOS GNU/Linux. */ ++static string ++kernel_store_path (void) ++{ ++ ifstream proc_cmdline ("/proc/cmdline"); ++ string variable_name, store_path; ++ ++ getline (proc_cmdline, variable_name, '='); ++ if (variable_name == "BOOT_IMAGE") ++ { ++ string boot_image_path; ++ size_t slash_pos; ++ ++ getline (proc_cmdline, boot_image_path, ' '); ++ slash_pos = boot_image_path.find_last_of ('/'); ++ store_path = boot_image_path.substr (0, slash_pos); ++ } ++ ++ return store_path; ++} ++ + int + main (int argc, char * const argv []) + { +@@ -541,7 +567,8 @@ main (int argc, char * const argv []) + struct utsname buf; + (void) uname (& buf); + s.kernel_release = string (buf.release); +- s.kernel_build_tree = "/lib/modules/" + s.kernel_release + "/build"; ++ s.kernel_build_tree = ++ kernel_store_path () + "/lib/modules/" + s.kernel_release + "/build"; + + // PR4186: Copy logic from coreutils uname (uname -i) to squash + // i?86->i386. Actually, copy logic from linux top-level Makefile diff --git a/pkgs/games/freedink/default.nix b/pkgs/games/freedink/default.nix new file mode 100644 index 000000000000..cb3f032539e0 --- /dev/null +++ b/pkgs/games/freedink/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, SDL, SDL_mixer, SDL_image, SDL_ttf, SDL_gfx +, pkgconfig, fontconfig, libzip, zip, zlib }: + +stdenv.mkDerivation rec { + name = "freedink-1.08.20100420"; + + src = fetchurl { + url = "mirror://gnu/freedink/${name}.tar.gz"; + sha256 = "0jw0690k7wgsga74nd8m1c3k34xmzgav6z0hhpx507krw2mkbm90"; + }; + + buildInputs = [ SDL SDL_mixer SDL_image SDL_ttf SDL_gfx pkgconfig fontconfig libzip zip zlib] ; + + meta = { + description = "GNU FreeDink, a free, portable and enhanced version of the Dink Smallwood game engine. "; + + longDescription = + '' GNU FreeDink is a new and portable version of the Dink Smallwood + game engine, which runs the original game as well as its D-Mods, + with close compatibility, under multiple platforms. + ''; + + homepage = http://www.freedink.org/; + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.bjg ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/games/gnugo/default.nix b/pkgs/games/gnugo/default.nix new file mode 100644 index 000000000000..21c4195b28b8 --- /dev/null +++ b/pkgs/games/gnugo/default.nix @@ -0,0 +1,24 @@ +{ stdenv, fetchurl }: + +let + + versionNumber = "3.8"; + +in + +stdenv.mkDerivation { + + name = "gnugo-${versionNumber}"; + + src = fetchurl { + url = "mirror://gnu/gnugo/gnugo-${versionNumber}.tar.gz"; + sha256 = "0wkahvqpzq6lzl5r49a4sd4p52frdmphnqsfdv7gdp24bykdfs6s"; + }; + + meta = { + description = "GNU Go - A computer go player"; + homepage = "http://http://www.gnu.org/software/gnugo/"; + license = "GPLv3"; + }; + +} diff --git a/pkgs/games/scummvm/default.nix b/pkgs/games/scummvm/default.nix index f26d25d0cbc3..d6912d5c3c0c 100644 --- a/pkgs/games/scummvm/default.nix +++ b/pkgs/games/scummvm/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, SDL, zlib, mpeg2dec}: stdenv.mkDerivation { - name = "scummvm-1.1.0"; + name = "scummvm-1.1.1"; src = fetchurl { - url = mirror://sourceforge/scummvm/scummvm-1.1.0.tar.bz2; - sha256 = "0fdqc98jib6593cpjc1jhklp9y0c1mlk0lrn9d6r9ax159x53h2k"; + url = mirror://sourceforge/scummvm/scummvm-1.1.1.tar.bz2; + sha256 = "0jlxwd8rzk4dn221v9w024w6f503am29hd8djzs1vz0bd72nbj4w"; }; buildInputs = [SDL zlib mpeg2dec]; diff --git a/pkgs/games/six/default.nix b/pkgs/games/six/default.nix new file mode 100644 index 000000000000..2f11eab3ceaf --- /dev/null +++ b/pkgs/games/six/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, arts, kdelibs, libX11, libXext, libXt, perl, qt3, zlib }: + +let + + versionNumber = "0.5.3"; + +in + +stdenv.mkDerivation { + + name = "six-${versionNumber}"; + + src = fetchurl { + url = "http://six.retes.hu/download/six-${versionNumber}.tar.gz"; + sha256 = "0hialm0kxr11rp5z452whjmxp2vaqqj668d0dfs32fd10ggi8wj4"; + }; + + meta = { + description = "Six - A Hex playing program for KDE"; + homepage = http://six.retes.hu/; + license = "GPLv2"; + }; + + buildInputs = [ arts kdelibs libX11 libXext libXt perl qt3 zlib ]; + + # Supress some warnings which are less useful to us when making packages. + NIX_CFLAGS_COMPILE = "-Wno-conversion -Wno-parentheses"; + + # Without "--x-libraries=", we get the error + # "impure path `/usr/lib' used in link". + configureFlags = "--x-libraries="; + + patches = [ ./gcc43-includes.patch ]; +} diff --git a/pkgs/games/six/gcc43-includes.patch b/pkgs/games/six/gcc43-includes.patch new file mode 100644 index 000000000000..83096bb0da2b --- /dev/null +++ b/pkgs/games/six/gcc43-includes.patch @@ -0,0 +1,38 @@ +This patch makes six compile with gcc 4.3 by including more header files. It +is based on the advice at . + +--- a/six/carrier.h ++++ b/six/carrier.h +@@ -2,6 +2,7 @@ + #ifndef CARRIER_H + #define CARRIER_H + ++#include + #include + #include + +diff --git a/six/hexgame.cpp b/six/hexgame.cpp +index 720e977..5d0dafe 100644 +--- a/six/hexgame.cpp ++++ b/six/hexgame.cpp +@@ -3,6 +3,7 @@ + #include + #include + #include ++#include + + #include + +diff --git a/six/main.cpp b/six/main.cpp +index 7fb5c21..b925a0c 100644 +--- a/six/main.cpp ++++ b/six/main.cpp +@@ -4,6 +4,8 @@ + #include "carrier.h" + #include "misc.h" + ++#include ++ + #include + #include + #include diff --git a/pkgs/games/super-tux/default.nix b/pkgs/games/super-tux/default.nix new file mode 100644 index 000000000000..60e9cc537bf0 --- /dev/null +++ b/pkgs/games/super-tux/default.nix @@ -0,0 +1,28 @@ +{ fetchurl, stdenv, SDL, SDL_image, SDL_mixer, curl, gettext, libogg, libvorbis, mesa, openal }: + +let + + version = "0.1.3"; + +in + +stdenv.mkDerivation { + name = "supertux-${version}"; + + src = fetchurl { + url = "http://download.berlios.de/supertux/supertux-${version}.tar.bz2"; + sha256 = "15xdq99jy4hayr96jpqcp15rbr9cs5iamjirafajcrkpa61mi4h0"; + }; + + buildInputs = [ SDL SDL_image SDL_mixer curl gettext libogg libvorbis mesa openal ]; + + patches = [ ./g++4.patch ]; + + meta = { + description = "SuperTux is a classic 2D jump'n run sidescroller game in a style similar to the original Super Mario games covered under the GPL."; + + homepage = http://supertux.lethargik.org/index.html; + + license = "GPLv2"; + }; +} diff --git a/pkgs/games/super-tux/g++4.patch b/pkgs/games/super-tux/g++4.patch new file mode 100644 index 000000000000..a7378c80a29b --- /dev/null +++ b/pkgs/games/super-tux/g++4.patch @@ -0,0 +1,13 @@ +diff --git a/src/menu.h b/src/menu.h +index 3c67c45..7c7ab8e 100644 +--- a/src/menu.h ++++ b/src/menu.h +@@ -207,7 +207,7 @@ public: + + bool isToggled(int id); + +- void Menu::get_controlfield_key_into_input(MenuItem *item); ++ void get_controlfield_key_into_input(MenuItem *item); + + void draw (); + void draw_item(int index, int menu_width, int menu_height); diff --git a/pkgs/games/urbanterror/default.nix b/pkgs/games/urbanterror/default.nix index c5e562ced534..dc870c79aba1 100644 --- a/pkgs/games/urbanterror/default.nix +++ b/pkgs/games/urbanterror/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, unzip, SDL, mesa, curl, openal }: +{ stdenv, fetchurl, unzip, SDL, mesa, openal, curl }: stdenv.mkDerivation rec { name = "urbanterror-${version}"; version = "4.1"; @@ -16,16 +16,15 @@ stdenv.mkDerivation rec { unzip $src1 unzip $src2 ''; - # FIXME - #patchPhase = '' - # cd ioUrbanTerrorClientSource - # substituteInPlace code/client/snd_openal.c \ - # --replace libopenal.so.0 ${openal}/lib/libopenal.so - # substituteInPlace code/client/cl_curl.h \ - # --replace libcurl.so.3 ${curl}/lib/libcurl.so - # cd .. - #''; - buildInputs = [ unzip SDL mesa ]; + configurePhase = '' + cd ioUrbanTerrorClientSource + echo "USE_OPENAL = 1" > Makefile.local + echo "USE_OPENAL_DLOPEN = 0" >> Makefile.local + echo "USE_CURL = 1" >> Makefile.local + echo "USE_CURL_DLOPEN = 0" >> Makefile.local + cd .. + ''; + buildInputs = [ unzip SDL mesa openal curl ]; buildPhase = '' for d in ioUrbanTerrorClientSource ioUrbanTerrorServerSource do @@ -44,18 +43,23 @@ stdenv.mkDerivation rec { "$destDir/ioUrTded" cp -rv UrbanTerror/q3ut4 "$destDir" cat << EOF > "$out/bin/urbanterror" -#!/bin/sh -cd "$destDir" -exec ./ioUrbanTerror "\$@" -EOF + #!/bin/sh + cd "$destDir" + exec ./ioUrbanTerror "\$@" + EOF chmod +x "$out/bin/urbanterror" cat << EOF > "$out/bin/urbanterror-ded" -#!/bin/sh -cd "$destDir" -exec ./ioUrTded "\$@" -EOF + #!/bin/sh + cd "$destDir" + exec ./ioUrTded "\$@" + EOF chmod +x "$out/bin/urbanterror-ded" ''; + postFixup = '' + p=$out/opt/urbanterror/ioUrbanTerror + cur_rpath=$(patchelf --print-rpath $p) + patchelf --set-rpath $cur_rpath:${mesa}/lib $p + ''; meta = { description = "A multiplayer tactical FPS on top of Quake 3 engine"; longDescription = '' diff --git a/pkgs/games/warzone2100/default.nix b/pkgs/games/warzone2100/default.nix new file mode 100644 index 000000000000..43708306ce7c --- /dev/null +++ b/pkgs/games/warzone2100/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, bison, flex, gettext, pkgconfig, SDL, libpng, libtheora +, openal, popt, physfs, mesa, quesoglc, zip, unzip, which +}: +stdenv.mkDerivation rec { + pname = "warzone2100"; + version = "2.3.0"; + name = "${pname}-${version}"; + src = fetchurl { + url = "mirror://sourceforge/${pname}/${name}.tar.gz"; + sha256 = "10iisg6lixs8bnd57qzyf3bqhispcylxvkyqwyfagg7r2qr159zj"; + }; + buildInputs = [ bison flex gettext pkgconfig SDL libpng libtheora openal + popt physfs mesa quesoglc zip unzip + ]; + patchPhase = '' + substituteInPlace lib/exceptionhandler/dumpinfo.cpp \ + --replace "which %s" "${which}/bin/which %s" + substituteInPlace lib/exceptionhandler/exceptionhandler.c \ + --replace "which %s" "${which}/bin/which %s" + ''; + meta = { + description = "A free RTS game, originally developed by Pumpkin Studios"; + longDescription = '' + Warzone 2100 is an open source real-time strategy and real-time tactics + hybrid computer game, originally developed by Pumpkin Studios and + published by Eidos Interactive. + In Warzone 2100, you command the forces of The Project in a battle to + rebuild the world after mankind has almost been destroyed by nuclear + missiles. The game offers campaign, multi-player, and single-player + skirmish modes. An extensive tech tree with over 400 different + technologies, combined with the unit design system, allows for a wide + variety of possible units and tactics. + ''; + homepage = http://wz2100.net; + license = [ "GPLv2+" ]; + maintainers = with stdenv.lib.maintainers; [ astsmtl ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix index 678c061eb87e..a09dbb616523 100644 --- a/pkgs/lib/maintainers.nix +++ b/pkgs/lib/maintainers.nix @@ -7,6 +7,7 @@ all = "Nix Committers "; andres = "Andres Loeh "; astsmtl = "Alexander Tsamutali "; + bjg = "Brian Gough "; eelco = "Eelco Dolstra "; ludo = "Ludovic Courtès "; marcweber = "Marc Weber "; @@ -16,4 +17,5 @@ sander = "Sander van der Burg "; urkud = "Yury G. Kudryashov "; viric = "Lluís Batlle i Rossell "; + z77z = "Marco Maggesi "; } diff --git a/pkgs/lib/misc.nix b/pkgs/lib/misc.nix index 2cfd15735a74..0a8c61d6c85c 100644 --- a/pkgs/lib/misc.nix +++ b/pkgs/lib/misc.nix @@ -9,6 +9,11 @@ with import ./strings.nix; rec { + # returns default if env var is not set + maybeEnv = name: default: + let value = builtins.getEnv name; in + if value == "" then default else value; + defaultMergeArg = x : y: if builtins.isAttrs y then y else diff --git a/pkgs/lib/modules.nix b/pkgs/lib/modules.nix index 3808893c14fe..6457fd14eb59 100644 --- a/pkgs/lib/modules.nix +++ b/pkgs/lib/modules.nix @@ -219,7 +219,7 @@ rec { decl = lib.addErrorContext "${eol - }while enhancing option '${addName name}'.${eol + }while enhancing option `${addName name}':${eol }${errorSource declarations}${eol }" ( addOptionMakeUp @@ -270,7 +270,7 @@ rec { value = lib.addErrorContext "${eol - }while evaluating the option '${addName name}'.${eol + }while evaluating the option `${addName name}':${eol }${errorSource (modulesOf name)}${eol }" ( let opt = option.decl; in diff --git a/pkgs/lib/options.nix b/pkgs/lib/options.nix index edcbfaa48305..3db9b671fe37 100644 --- a/pkgs/lib/options.nix +++ b/pkgs/lib/options.nix @@ -251,12 +251,6 @@ rec { # the set generated with filterOptionSets. optionAttrSetToDocList = ignore: newOptionAttrSetToDocList; newOptionAttrSetToDocList = attrs: - let tryEval = v: - let res = builtins.tryEval v; in - if builtins ? tryEval then - if res.success then res.value else "" - else v; - in let options = collect isOption attrs; in fold (opt: rest: let @@ -268,8 +262,8 @@ rec { declarations = map (x: toString x.source) opt.declarations; definitions = map (x: toString x.source) opt.definitions; } - // optionalAttrs (opt ? example) { example = tryEval opt.example; } - // optionalAttrs (opt ? default) { default = tryEval opt.default; }; + // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; } + // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }; subOptions = if opt ? options then @@ -281,4 +275,16 @@ rec { ) [] options; + /* This function recursively removes all derivation attributes from + `x' except for the `name' attribute. This is to make the + generation of `options.xml' much more efficient: the XML + representation of derivations is very large (on the order of + megabytes) and is not actually used by the manual generator. */ + scrubOptionValue = x: + if isDerivation x then { type = "derivation"; drvPath = x.name; outPath = x.name; name = x.name; } + else if isList x then map scrubOptionValue x + else if isAttrs x then mapAttrs (n: v: scrubOptionValue v) x + else x; + + } diff --git a/pkgs/lib/properties.nix b/pkgs/lib/properties.nix index 5950ec54791f..592dc9c4bcb1 100644 --- a/pkgs/lib/properties.nix +++ b/pkgs/lib/properties.nix @@ -73,7 +73,7 @@ rec { let cleanAttrs = rmProperties attrs; in if isProperty attrs then iter (a: v: - lib.addErrorContext "while moving properties on the attribute `${a}'." ( + lib.addErrorContext "while moving properties on the attribute `${a}':" ( triggerPropertiesGlobalDelay a ( triggerPropertiesDelay a ( copyProperties attrs v @@ -88,7 +88,7 @@ rec { triggerPropertiesDelay = name: attrs: let callOnDelay = p@{property, ...}: - lib.addErrorContext "while calling a onDelay function." ( + lib.addErrorContext "while calling an `onDelay' function:" ( if property ? onDelay then property.onDelay name p else @@ -111,7 +111,7 @@ rec { }; callOnGlobalDelay = property: content: - lib.addErrorContext "while calling a onGlobalDelay function." ( + lib.addErrorContext "while calling an `onGlobalDelay' function:" ( property.onGlobalDelay name content ); in @@ -124,7 +124,7 @@ rec { evalProperties = valList: if valList != [] then filter (x: !isNotdef x) ( - lib.addErrorContext "while evaluating properties." ( + lib.addErrorContext "while evaluating properties:" ( triggerPropertiesGlobalEval ( evalLocalProperties valList ))) @@ -133,14 +133,14 @@ rec { evalLocalProperties = valList: filter (x: !isNotdef x) ( - lib.addErrorContext "while evaluating local properties." ( + lib.addErrorContext "while evaluating local properties:" ( map triggerPropertiesEval valList )); # Call onEval function triggerPropertiesEval = val: foldProperty (p@{property, ...}: - lib.addErrorContext "while calling a onEval function." ( + lib.addErrorContext "while calling an `onEval' function:" ( if property ? onEval then property.onEval p else @@ -165,7 +165,7 @@ rec { }; callOnGlobalEval = property: valList: - lib.addErrorContext "while calling a onGlobalEval function." ( + lib.addErrorContext "while calling an `onGlobalEval' function:" ( property.onGlobalEval valList ); in diff --git a/pkgs/misc/sane-backends/default.nix b/pkgs/misc/sane-backends/default.nix index b0ea92e03e8a..0b8a12799dda 100644 --- a/pkgs/misc/sane-backends/default.nix +++ b/pkgs/misc/sane-backends/default.nix @@ -4,11 +4,11 @@ assert hotplugSupport -> stdenv.system == "i686-linux"; stdenv.mkDerivation { - name = "sane-backends-1.0.20"; + name = "sane-backends-1.0.21"; src = fetchurl { - url = ftp://ftp.sane-project.org/pub/sane/sane-backends-1.0.20/sane-backends-1.0.20.tar.gz; - sha256 = "0fixmq3jbz77zcy2cikb882kz8bq3n40n0jaykiczfcjc4g57ccg"; + url = ftp://ftp.sane-project.org/pub/sane/sane-backends-1.0.21/sane-backends-1.0.21.tar.gz; + sha256 = "12wl4a86hxwlrx46lm5z6lw4id3j8wi82yv3khxcz5sqjai2ykp4"; }; udevSupport = hotplugSupport; diff --git a/pkgs/misc/source-and-tags/default.nix b/pkgs/misc/source-and-tags/default.nix index b02c5e843e14..42101fa6ffe4 100644 --- a/pkgs/misc/source-and-tags/default.nix +++ b/pkgs/misc/source-and-tags/default.nix @@ -48,7 +48,7 @@ args: with args; { sourceWithTags = { inherit (deriv) src; srcDir = if deriv ? srcDir then deriv.srcDir else "."; - name = deriv.name + "-src-with-tags"; + name = deriv.name; createTagFiles = [ { name = "${deriv.name}_haskell"; # tagCmd = "${toString ghcsAndLibs.ghc68.ghc}/bin/hasktags --ignore-close-implementation --ctags `find . -type f -name \"*.*hs\"`; sort tags > \$TAG_FILE"; } diff --git a/pkgs/misc/synaptics/default.nix b/pkgs/misc/synaptics/default.nix deleted file mode 100644 index c809046130db..000000000000 --- a/pkgs/misc/synaptics/default.nix +++ /dev/null @@ -1,24 +0,0 @@ -args: with args; -stdenv.mkDerivation { - name = "synaptics-0.14.6"; - - src = fetchurl { - url = http://web.telia.com/~u89404340/touchpad/files/synaptics-0.14.6.tar.bz2; - md5 = "1102cd575045640a064ab6f9b1e391af"; - }; - - preBuild = "export NIX_CFLAGS_COMPILE=\"\${NIX_CFLAGS_COMPILE} -I${pixman}/include/pixman-1\"; - sed -e '/local-[>]motion_history_proc/d; /local-[>]history_size/d;' -i synaptics.c - sed -e '/ALLINCLUDES = /iX_INCLUDES_ROOT = /homeless-shelter' -i Makefile - sed -e 's@^CFLAGS =.*@& -DDBG=//@' -i Makefile - sed -e 's/miPointerGetMotionBufferSize()/&,2/' -i synaptics.c - sed -e 's/miPointerGetMotionEvents/GetMotionHistory/' -i synaptics.c - sed -e 's/miPointerGetMotionBufferSize/GetMotionHistorySize/' -i synaptics.c - "; - makeFlags="DESTDIR=\${out} PREFIX=/ "; - buildInputs = [libX11 pkgconfig xorgserver libXi libXext pixman xf86inputevdev]; - - meta = { - description = "Driver for synaptics touchpad."; - }; -} diff --git a/pkgs/os-specific/darwin/lipo/builder.sh b/pkgs/os-specific/darwin/lipo/builder.sh new file mode 100755 index 000000000000..aea544296775 --- /dev/null +++ b/pkgs/os-specific/darwin/lipo/builder.sh @@ -0,0 +1,3 @@ +source $stdenv/setup +mkdir -p "$out/bin" +ln -s /usr/bin/lipo "$out/bin/" diff --git a/pkgs/os-specific/darwin/lipo/default.nix b/pkgs/os-specific/darwin/lipo/default.nix new file mode 100644 index 000000000000..a4f7cfc1e54c --- /dev/null +++ b/pkgs/os-specific/darwin/lipo/default.nix @@ -0,0 +1,8 @@ +{stdenv}: + +assert stdenv.isDarwin; + +stdenv.mkDerivation { + name = "darwin-lipo-utility"; + builder = ./builder.sh; +} diff --git a/pkgs/os-specific/gnu/hurd/default.nix b/pkgs/os-specific/gnu/hurd/default.nix new file mode 100644 index 000000000000..c9e1a1e6cab0 --- /dev/null +++ b/pkgs/os-specific/gnu/hurd/default.nix @@ -0,0 +1,44 @@ +{ fetchgit, stdenv, autoconf, automake, libtool, texinfo +, machHeaders, mig, headersOnly ? true }: + +let rev = "7913beaef3e6a2c4f7f315a8db7a31dbe1f713e0"; in +stdenv.mkDerivation (rec { + name = "hurd-0.4-${rev}"; + + src = fetchgit { + url = "git://git.sv.gnu.org/hurd/hurd.git"; + sha256 = "bf4f1376b26b0dcdfd23ff9c9b01440f50d032f48946fad6d3861539978f8f4d"; + inherit rev; + }; + + buildInputs = [ autoconf automake libtool texinfo mig ]; + propagatedBuildInputs = [ machHeaders ]; + + configureFlags = "--build=i586-pc-gnu"; + + preConfigure = "autoreconf -vfi"; + + meta = { + description = "The GNU Hurd, GNU project's replacement for the Unix kernel"; + + longDescription = + '' The GNU Hurd is the GNU project's replacement for the Unix kernel. + It is a collection of servers that run on the Mach microkernel to + implement file systems, network protocols, file access control, and + other features that are implemented by the Unix kernel or similar + kernels (such as Linux). + ''; + + license = "GPLv2+"; + + homepage = http://www.gnu.org/software/hurd/; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} + +// + +(if headersOnly + then { buildPhase = ":"; installPhase = "make install-headers"; } + else {})) diff --git a/pkgs/os-specific/gnu/mach/default.nix b/pkgs/os-specific/gnu/mach/default.nix new file mode 100644 index 000000000000..9bb08ef36fba --- /dev/null +++ b/pkgs/os-specific/gnu/mach/default.nix @@ -0,0 +1,49 @@ +{ fetchgit, stdenv, mig ? null, autoconf, automake, texinfo +, headersOnly ? true }: + +assert (!headersOnly) -> (mig != null); + +let rev = "7987a711e8f13c0543e87a0211981f4b40ef6d94"; +in +stdenv.mkDerivation (rec { + name = "gnumach-1.4-${rev}"; + + src = fetchgit { + url = "git://git.sv.gnu.org/hurd/gnumach.git"; + sha256 = "7b383a23b7fbe1ec812951cc0f553c85da3279f4f723dd6a65e45976f9d5ca2d"; + inherit rev; + }; + + configureFlags = "--build=i586-pc-gnu"; + + buildInputs = [ autoconf automake texinfo ] + ++ stdenv.lib.optional (mig != null) mig; + + preConfigure = "autoreconf -vfi"; + + meta = { + description = "GNU Mach, the microkernel used by the GNU Hurd"; + + longDescription = + '' GNU Mach is the microkernel that the GNU Hurd system is based on. + + It is maintained by the Hurd developers for the GNU project and + remains compatible with Mach 3.0. + + The majority of GNU Mach's device drivers are from Linux 2.0. They + were added using glue code, i.e., a Linux emulation layer in Mach. + ''; + + license = "GPLv2+"; + + homepage = http://www.gnu.org/software/hurd/microkernel/mach/gnumach.html; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} + +// + +(if headersOnly + then { buildPhase = ":"; installPhase = "make install-data"; } + else {})) diff --git a/pkgs/os-specific/linux/ati-drivers/builder.sh b/pkgs/os-specific/linux/ati-drivers/builder.sh new file mode 100644 index 000000000000..f830e1e066f8 --- /dev/null +++ b/pkgs/os-specific/linux/ati-drivers/builder.sh @@ -0,0 +1,175 @@ +# What is LIBGL_DRIVERS_PATH used for? +# TODO gentoo removes some tools because there are xorg sources (?) + +source $stdenv/setup + +die(){ echo $@; exit 1; } + + +# custom unpack: +cp $src archive +sh archive --extract . + + +kernelVersion=$(cd ${kernel}/lib/modules && ls) +kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/build) + + +# note: maybe the .config file should be used to determine this ? +# current kbuild infrastructure allows using CONFIG_* defines +# but ati sources don't use them yet.. +# copy paste from make.sh +setSMP(){ + + linuxincludes=$kernelBuild/include + + # copied and stripped. source: make.sh: + + # 3 + # linux/autoconf.h may contain this: #define CONFIG_SMP 1 + + src_file=$linuxincludes/linux/autoconf.h + [ -e $src_file ] || die "$src_file not found" + + if [ `cat $src_file | grep "#undef" | grep "CONFIG_SMP" -c` = 0 ]; then + SMP=`cat $src_file | grep CONFIG_SMP | cut -d' ' -f3` + echo "file $src_file says: SMP=$SMP" + fi + + if [ "$SMP" = 0 ]; then + echo "assuming default: SMP=$SMP" + fi + + # act on final result + if [ ! "$SMP" = 0 ]; then + smp="-SMP" + def_smp=-D__SMP__ + fi + +} + +setModVersions(){ + ! grep CONFIG_MODVERSIONS=y $kernel/config || + def_modversions="-DMODVERSIONS" + # make.sh contains much more code to determine this whether its enabled +} + + +# make.sh contains some code figuring out whether to use these or not.. +PAGE_ATTR_FIX=0 +setSMP +setModVersions +CC=gcc +MODULE=fglrx +case "$system" in + x86_64-linux) + arch=x86_64 + lib_arch=lib64 + ;; + i686-linux) + arch=x86 + lib_arch=lib + ;; + *) exit 1;; +esac +LIBIP_PREFIX=$TMP/arch/$arch/lib/modules/fglrx/build_mod +[ -d $LIBIP_PREFIX ] +GCC_MAJOR="`gcc --version | grep -o -e ") ." | head -1 | cut -d " " -f 2`" + +{ # build .ko module + cd ./common/lib/modules/fglrx/build_mod/2.6.x + echo .lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd + echo 'This is a dummy file created to suppress this warning: could not find /lib/modules/fglrx/build_mod/2.6.x/.libfglrx_ip.a.GCC4.cmd for /lib/modules/fglrx/build_mod/2.6.x/libfglrx_ip.a.GCC4' > lib${MODULE}_ip.a.GCC${GCC_MAJOR}.cmd + + make CC=${CC} \ + LIBIP_PREFIX=$(echo "$LIBIP_PREFIX" | sed -e 's|^\([^/]\)|../\1|') \ + MODFLAGS="-DMODULE -DATI -DFGL -DPAGE_ATTR_FIX=$PAGE_ATTR_FIX $def_smp $def_modversions" \ + KVER=$kernelVersion \ + KDIR=$kernelBuild \ + PAGE_ATTR_FIX=$PAGE_ATTR_FIX \ + -j4 + + cd $TMP +} + +{ # install + + ensureDir $out/lib/xorg + + cp -r common/usr/include $out + cp -r common/usr/sbin $out + cp -r common/usr/share $out + cp -r common/usr/X11R6 $out + + cp -r arch/$arch/lib $out/lib + + # what are those files used for? + cp -r common/etc $out + + DIR_DEPENDING_ON_XORG_VERSION=x750_64a + cp -r $DIR_DEPENDING_ON_XORG_VERSION/usr/X11R6/$lib_arch/* $out/lib/xorg + + t=$out/lib/modules/${kernelVersion}/kernel/drivers/misc + ensureDir $t + + cp ./common/lib/modules/fglrx/build_mod/2.6.x/fglrx.ko $t + + # should this be installed at all? + # its used by the example fglrx_gamma only + # don't use $out/lib/modules/dri because this will cause the kernel module + # aggregator code to see both: kernel version and the dri direcotry. It'll + # fail saying different kernel versions + cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/modules/dri $out/lib + cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/modules/dri/* $out/lib + cp -r $TMP/arch/$arch/usr/X11R6/$lib_arch/*.so.* $out/lib + cp -r $TMP/arch/$arch/usr/$lib_arch/* $out/lib + + # cp -r $TMP/arch/$arch/usr/$lib_arch/* $out/lib + ln -s libatiuki.so.1.0 $out/lib/libatiuki.so.1 + ln -s libGL.so.1.2 $out/lib/libGL.so.1 + ln -s libfglrx_gamma.so.1.0 $out/lib/libfglrx_gamma.so.1 + +} + +{ # build samples + ensureDir $out/bin + + mkdir -p samples + cd samples + tar xfz ../common/usr/src/ati/fglrx_sample_source.tgz + + + ( # build and install fgl_glxgears + cd fgl_glxgears; + gcc -DGL_ARB_texture_multisample=1 -g \ + -I$mesa/include \ + -I$out/include \ + -L$mesa/lib -lGL -lGLU -lX11 -lm \ + -o $out/bin/fgl_glxgears -Wall fgl_glxgears.c + ) + + true || ( # build and install + + # doesn't build undefined reference to `FGLRX_X11SetGamma' + # wich should be contained in -lfglrx_gamma + + cd programs/fglrx_gamma + gcc -fPIC -I${libXxf86vm}/include \ + -I${xf86vidmodeproto}/include \ + -I$out/X11R6/include \ + -L$out/lib \ + -Wall -lm -lfglrx_gamma -lX11 -lXext -o fglrx_xgamma fglrx_xgamma.c + ) + + { # copy binaries and wrap them: + BIN=$TMP/arch/$arch/usr/X11R6/bin + cp $BIN/* $out/bin + for prog in $BIN/*; do + patchelf --set-interpreter $(echo $glibc/lib/ld-linux*.so.2) $out/bin/$(basename $prog) + wrapProgram $out/bin/$(basename $prog) --prefix LD_LIBRARY_PATH : $out/lib:$LD_LIBRARY_PATH + done + } + + rm -fr $out/lib/modules/fglrx # don't think those .a files are needed. They cause failure of the mod + +} diff --git a/pkgs/os-specific/linux/ati-drivers/default.nix b/pkgs/os-specific/linux/ati-drivers/default.nix new file mode 100644 index 000000000000..9c936544034c --- /dev/null +++ b/pkgs/os-specific/linux/ati-drivers/default.nix @@ -0,0 +1,66 @@ +{stdenv, fetchurl , kernel, xlibs, which, imake +, mesa # for fgl_glxgears +, libXxf86vm, xf86vidmodeproto # for fglrx_gamma +, xorg, makeWrapper, glibc, patchelf +}: + +# If you want to use a different Xorg version probably +# DIR_DEPENDING_ON_XORG_VERSION in builder.sh has to be adopted (?) +# make sure libglx.so of ati is used. xorg.xorgserver does provide it as well +# which is a problem because it doesn't contain the xorgserver patch supporting +# the XORG_DRI_DRIVER_PATH env var. +# See http://thread.gmane.org/gmane.linux.distributions.nixos/4145 for a +# workaround (TODO) + +# The gentoo ebuild contains much more magic.. + +let lib = stdenv.lib; + inherit (lib) concatStringsSep; +in +# http://wiki.cchtml.com/index.php/Main_Page + +stdenv.mkDerivation { + name = "ati-drivers"; + + builder = ./builder.sh; + + inherit libXxf86vm xf86vidmodeproto; + + src = + assert stdenv.system == "x86_64-linux"; + fetchurl { + url = https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/ati-driver-installer-10-4-x86.x86_64.run; + sha256 = "1rlqbfv729lray1c72ga4528kj7v4a5nmdznbgx7izwaxip2a45z"; + }; + + buildInputs = [xlibs.libXext xlibs.libX11 + xlibs.libXrandr which imake makeWrapper + patchelf + ]; + inherit kernel glibc /* glibc only used for setting interpreter */; + + LD_LIBRARY_PATH = concatStringsSep ":" + [ "${xorg.libXrandr}/lib" + "${xorg.libXrender}/lib" + "${xorg.libXext}/lib" + "${xorg.libX11}/lib" + ]; + + inherit mesa; # only required to build examples + + meta = { + description = "ati drivers"; + homepage = http://support.amd.com/us/gpudownload/Pages/index.aspx; + license = "unfree"; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; + + # moved assertions here because the name is evaluated when the NixOS manual is generated + # Don't make that fail - fail lazily when a users tries to build this derivation only + dummy = + assert xorg.xorgserver.name == "xorg-server-1.7.5"; + assert stdenv.system == "x86_64-linux"; # i686-linux should work as well - however I didn't test it. + null; + +} diff --git a/pkgs/os-specific/linux/hal/default.nix b/pkgs/os-specific/linux/hal/default.nix index b6fdfac367cc..521992dae17e 100644 --- a/pkgs/os-specific/linux/hal/default.nix +++ b/pkgs/os-specific/linux/hal/default.nix @@ -1,4 +1,9 @@ -args: with args; +{ stdenv, fetchurl, pkgconfig, python, pciutils, expat +, libusb, dbus, dbus_glib, glib, libuuid, perl +, perlXMLParser, gettext, zlib, gperf, consolekit, policykit +, libsmbios, dmidecode, udev, utillinuxng, pmutils, usbutils +, eject +}: assert stdenv ? glibc; @@ -9,7 +14,7 @@ stdenv.mkDerivation rec { url = "http://hal.freedesktop.org/releases/${name}.tar.gz"; sha256 = "1by8z7vy1c1m3iyh57rlqx6rah5gj6kx3ba30s9305bnffij5kzb"; }; - + buildInputs = [ pkgconfig python pciutils expat libusb dbus.libs dbus_glib glib libuuid perl perlXMLParser gettext zlib gperf @@ -18,7 +23,7 @@ stdenv.mkDerivation rec { ] ++ stdenv.lib.optional (stdenv.system != "armv5tel-linux") [ libsmbios ]; # !!! Hm, maybe the pci/usb.ids location should be in /etc, so that - # we don't have to rebuild HAL when we update the PCI/USB IDs. + # we don't have to rebuild HAL when we update the PCI/USB IDs. configureFlags = '' --with-pci-ids=${pciutils}/share --with-usb-ids=${usbutils}/share @@ -40,7 +45,7 @@ stdenv.mkDerivation rec { do substituteInPlace $i \ --replace /usr/sbin/dmidecode ${dmidecode}/sbin/dmidecode \ - --replace /sbin/udevadm ${udev}/sbin/udevadm \ + ${if udev != null then "--replace /sbin/udevadm ${udev}/sbin/udevadm" else ""} \ --replace /bin/mount ${utillinuxng}/bin/mount \ --replace /bin/umount ${utillinuxng}/bin/umount \ --replace /usr/bin/pm-is-supported ${pmutils}/bin/pm-is-supported \ diff --git a/pkgs/os-specific/linux/kernel/builder.sh b/pkgs/os-specific/linux/kernel/builder.sh index 75283e835de5..e7d25e868835 100644 --- a/pkgs/os-specific/linux/kernel/builder.sh +++ b/pkgs/os-specific/linux/kernel/builder.sh @@ -6,6 +6,15 @@ if [ -n "$crossConfig" ]; then makeFlags="$makeFlags CROSS_COMPILE=$crossConfig-" fi +postPatch() { + # Makefiles are full of /bin/pwd, /bin/false, /bin/bash, etc. + # Patch these away, assuming the tools are in $PATH. + for mf in $(find -name Makefile); do + echo "stripping FHS paths in \`$mf'..." + sed -i "$mf" -e 's|/usr/bin/||g ; s|/bin/||g' + done +} + configurePhase() { if test -n "$preConfigure"; then eval "$preConfigure"; @@ -76,12 +85,14 @@ installPhase() { $makeFlags "${makeFlagsArray[@]}" \ $installFlags "${installFlagsArray[@]}" - # Strip the kernel modules. - echo "Stripping kernel modules..." - if [ -z "$crossConfig" ]; then - find $out -name "*.ko" -print0 | xargs -0 strip -S - else - find $out -name "*.ko" -print0 | xargs -0 $crossConfig-strip -S + if test -z "$dontStrip"; then + # Strip the kernel modules. + echo "Stripping kernel modules..." + if [ -z "$crossConfig" ]; then + find $out -name "*.ko" -print0 | xargs -0 strip -S + else + find $out -name "*.ko" -print0 | xargs -0 $crossConfig-strip -S + fi fi # move this to install later on @@ -103,6 +114,12 @@ installPhase() { cp --parents `find -type f -name Makefile -o -name "Kconfig*"` $out/lib/modules/$version/build cp Module.symvers $out/lib/modules/$version/build + if test "$dontStrip" = "1"; then + # copy any debugging info that can be found + cp --parents -rv `find -name \*.debug -o -name debug.a` \ + "$out/lib/modules/$version/build" + fi + # weed out unneeded stuff rm -rf $out/lib/modules/$version/build/Documentation rm -rf $out/lib/modules/$version/build/scripts diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix index 954e580f356f..e12c1bd720bf 100644 --- a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix +++ b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix @@ -1,11 +1,11 @@ -args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "" -, ... }: +args @ { stdenv, fetchurl, userModeLinux ? false, systemtap ? false +, extraConfig ? "", ... }: let configWithPlatform = kernelPlatform : '' # Don't include any debug features. - DEBUG_KERNEL n + DEBUG_KERNEL ${if systemtap then "y" else "n"} # Support drivers that need external firmware. STANDALONE n @@ -25,7 +25,6 @@ let # Disable some expensive (?) features. FTRACE n - KPROBES n NUMA? n PM_TRACE_RTC n @@ -191,6 +190,14 @@ let X86_CHECK_BIOS_CORRUPTION y X86_MCE y + ${if systemtap then '' + # SystemTap support. + KPROBES y # kernel probes (needs `utrace' for process probes) + DEBUG_INFO y + RELAY y + DEBUG_FS y + '' else ""} + ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} ${extraConfig} ''; @@ -199,11 +206,11 @@ in import ./generic.nix ( rec { - version = "2.6.32.11"; + version = "2.6.32.13"; src = fetchurl { url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2"; - sha256 = "0zqf8ihsw454acj186m1bham1ahpcf0q616sgb00wngz3qif22cw"; + sha256 = "12byfnxg22jbv2glzklfjlrva7vvihg3d6vnffnn8zwjrw48x39s"; }; config = configWithPlatform stdenv.platform; diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.33.nix b/pkgs/os-specific/linux/kernel/linux-2.6.33.nix index 34fa3e2f9fcf..cc8bf91883c3 100644 --- a/pkgs/os-specific/linux/kernel/linux-2.6.33.nix +++ b/pkgs/os-specific/linux/kernel/linux-2.6.33.nix @@ -197,11 +197,11 @@ in import ./generic.nix ( rec { - version = "2.6.33.2"; + version = "2.6.33.4"; src = fetchurl { url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2"; - sha256 = "105xjc8dadqry97qgbnwbnrk4n86cjgf9rdyjp1ljcaifkj9qwva"; + sha256 = "129qkbsazh9609mda3qlwv3fwjv503nypj4lnjws01vbarpfb2bg"; }; config = configWithPlatform stdenv.platform; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index f1ac2a378952..70e2f017697d 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -114,4 +114,26 @@ in ''; }; + tracehook_2_6_32 = + { # From . + name = "tracehook"; + patch = fetchurl { + url = http://people.redhat.com/roland/utrace/2.6.32/tracehook.patch; + sha256 = "1y009p8dyqknbjm8ryb495jqmvl372gfhswdn167xh2g1f24xqv8"; + }; + }; + + utrace_2_6_32 = + { # From , depends on the + # `tracehook' patch above. + # See also . + name = "utrace"; + patch = fetchurl { + url = http://people.redhat.com/roland/utrace/2.6.32/utrace.patch; + sha256 = "1951mwc8jfiwrl0d2bb1zk9yrl7n7kadc00ymjsxrg2irda1b89r"; + }; + extraConfig = + '' UTRACE y + ''; + }; } diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 26c2e3c392ac..a03463362735 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -1,14 +1,20 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, udev }: + +let + v = "2.02.64"; +in stdenv.mkDerivation { - name = "lvm2-2.02.56"; + name = "lvm2-${v}"; src = fetchurl { - url = ftp://sources.redhat.com/pub/lvm2/LVM2.2.02.56.tgz; - sha256 = "0hrgca93jnc3k05cgc3rc5klvc03anxmqydgljv6qq59nhnfz5lw"; + url = "ftp://sources.redhat.com/pub/lvm2/LVM2.${v}.tgz"; + sha256 = "130yg8a9l0266hraklalm2k26n25a8kb2nvhj13cnczfxbz5a4m0"; }; configureFlags = "--disable-readline --enable-udev_rules --enable-udev_sync"; + + buildInputs = [ udev ]; # To prevent make install from failing. preInstall = "installFlags=\"OWNER= GROUP= confdir=$out/etc\""; diff --git a/pkgs/os-specific/linux/mdadm/default.nix b/pkgs/os-specific/linux/mdadm/default.nix index dd1708e83799..0a80e7c8dd0c 100644 --- a/pkgs/os-specific/linux/mdadm/default.nix +++ b/pkgs/os-specific/linux/mdadm/default.nix @@ -1,22 +1,32 @@ -{stdenv, fetchurl, groff}: +{ stdenv, fetchurl, groff }: -stdenv.mkDerivation { - name = "mdadm-2.6"; +stdenv.mkDerivation rec { + name = "mdadm-3.1.2"; + src = fetchurl { - url = http://www.cse.unsw.edu.au/~neilb/source/mdadm/mdadm-2.6.tgz; - md5 = "15019078eacc8c21eac7b0b7faf86129"; + url = "mirror://kernel/linux/utils/raid/mdadm/${name}.tar.bz2"; + sha256 = "0s2d2a01j8cizxqvbgd0sn5bpa1j46q8976078b3jq1q7i1ir0zz"; }; - buildNativeInputs = [groff]; + # Enable incremental activation of swraid arrays from udev. + patches = [ ./udev.patch ]; - preBuild = '' - makeFlags="INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man" - if [ -n "$crossConfig" ]; then - makeFlags="$makeFlags CROSS_COMPILE=$crossConfig-" - fi - ''; + buildNativeInputs = [ groff ]; + + preConfigure = "sed -e 's@/lib/udev@\${out}/lib/udev@' -i Makefile"; + + # Force mdadm to use /var/run/mdadm.map for its map file (or + # /dev/.mdadm/map as a fallback). + preBuild = + '' + makeFlagsArray=(INSTALL=install BINDIR=$out/sbin MANDIR=$out/share/man VAR_RUN=/var/run/mdadm ALT_RUN=/dev/.mdadm) + if [[ -n "$crossConfig" ]]; then + makeFlagsArray+=(CROSS_COMPILE=$crossConfig-) + fi + ''; meta = { description = "Programs for managing RAID arrays under Linux"; + homepage = http://neil.brown.name/blog/mdadm; }; } diff --git a/pkgs/os-specific/linux/mdadm/udev.patch b/pkgs/os-specific/linux/mdadm/udev.patch new file mode 100644 index 000000000000..5eb35f0c584c --- /dev/null +++ b/pkgs/os-specific/linux/mdadm/udev.patch @@ -0,0 +1,20 @@ +diff --exclude '*~' -rc mdadm-3.1.2-orig/udev-md-raid.rules mdadm-3.1.2/udev-md-raid.rules +*** mdadm-3.1.2-orig/udev-md-raid.rules 2010-02-22 21:14:58.000000000 +0100 +--- mdadm-3.1.2/udev-md-raid.rules 2010-05-16 20:45:22.000000000 +0200 +*************** +*** 5,11 **** + ACTION=="change", GOTO="md_no_incr" + + # import data from a raid member and activate it +! #ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}" + # import data from a raid set + LABEL="md_no_incr" + KERNEL!="md*", GOTO="md_end" +--- 5,11 ---- + ACTION=="change", GOTO="md_no_incr" + + # import data from a raid member and activate it +! ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}" + # import data from a raid set + LABEL="md_no_incr" + KERNEL!="md*", GOTO="md_end" diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix index 90b9068eacc1..b651d39b8887 100644 --- a/pkgs/os-specific/linux/nfs-utils/default.nix +++ b/pkgs/os-specific/linux/nfs-utils/default.nix @@ -1,18 +1,31 @@ -{ fetchurl, stdenv, tcpWrapper, libuuid }: +{ fetchurl, stdenv, tcpWrapper, utillinuxng, libcap }: stdenv.mkDerivation rec { - name = "nfs-utils-1.2.0"; + name = "nfs-utils-1.2.2"; src = fetchurl { url = "mirror://sourceforge/nfs/${name}.tar.bz2"; - sha256 = "1ld1f6wcm53pza3zy768y1y8xa01zq3bnjyy1j3z62yd7a5lcffb"; + sha256 = "07nhr7ds5ic4x81l9qphrlmi4ifxl28xzr1zpzvg334ncrv2fizx"; }; # Needs `libblkid' and `libcomerr' from `e2fsprogs' or `util-linux-ng'. - buildInputs = [ tcpWrapper libuuid ]; + buildInputs = [ tcpWrapper utillinuxng libcap ]; - # FIXME: Currently too lazy to build the dependencies needed for NFSv4. - configureFlags = "--disable-gss --disable-nfsv4 --with-statedir=/var/lib/nfs"; + # FIXME: Add the dependencies needed for NFSv4 and TI-RPC. + configureFlags = + [ "--disable-gss" "--disable-nfsv4" "--disable-nfsv41" "--disable-tirpc" + "--with-statedir=/var/lib/nfs" + ]; + + patchPhase = + '' + for i in "tests/"*.sh + do + sed -i "$i" -e's|/bin/bash|/bin/sh|g' + chmod +x "$i" + done + sed -i s,/usr/sbin,$out/sbin, utils/statd/statd.c + ''; preBuild = '' @@ -20,7 +33,9 @@ stdenv.mkDerivation rec { installFlags="statedir=$TMPDIR" # hack to make `make install' work ''; - meta = { + doCheck = true; + + meta = { description = "Linux user-space NFS utilities"; longDescription = '' @@ -31,5 +46,8 @@ stdenv.mkDerivation rec { homepage = http://nfs.sourceforge.net/; license = "GPLv2"; + + platforms = stdenv.lib.platforms.linux; + maintainers = [ stdenv.lib.maintainers.ludo ]; }; } diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index be325766c77f..772f72f4cd81 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -74,6 +74,11 @@ installPhase() { # Header files etc. cp -prd usr/include usr/share $out + + # Patch the `nvidia-settings.desktop' file. + substituteInPlace $out/share/applications/nvidia-settings.desktop \ + --replace '__UTILS_PATH__' $out/bin \ + --replace '__PIXMAP_PATH__' $out/share/pixmaps } diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index b3aa4104fc7f..68263c128af3 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -2,7 +2,7 @@ let - versionNumber = "195.36.15"; + versionNumber = "195.36.24"; in @@ -15,12 +15,12 @@ stdenv.mkDerivation { if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run"; - sha256 = "0wjcijmkkkpiw72fr2zm0v0x8dz5gf4mdgr329kldi52lb5lf85d"; + sha256 = "0h96356jmmk283ijq30zimp3wxldsaddrk03gy3jifj1v29iklcg"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run"; - sha256 = "17m0ia220rr0xvnpws251rk1l4gswkdgyhxcyrz0arr5dsr8dzb4"; + sha256 = "1car62fgzy4gvgmqjywbdpascrasqwv3knlyw6zzr7r84qabzc1a"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; diff --git a/pkgs/os-specific/linux/pam_login/default.nix b/pkgs/os-specific/linux/pam_login/default.nix index 724e316a15a0..46da3053d20c 100644 --- a/pkgs/os-specific/linux/pam_login/default.nix +++ b/pkgs/os-specific/linux/pam_login/default.nix @@ -8,9 +8,11 @@ stdenv.mkDerivation { sha256 = "1w2hpwjhmwjhf8rg789xpl0hibahqlr3ccivfy3m4kgrm5gf04kv"; }; + patches = [ ./sys-stat-h.patch ]; + # To overcome a gcc 4.4 warning: # "#ident is a deprecated GCC extension" - patchPhase = '' + postPatch = '' sed -i s/-Werror// configure ''; diff --git a/pkgs/os-specific/linux/pam_login/sys-stat-h.patch b/pkgs/os-specific/linux/pam_login/sys-stat-h.patch new file mode 100644 index 000000000000..163fd7ce8e25 --- /dev/null +++ b/pkgs/os-specific/linux/pam_login/sys-stat-h.patch @@ -0,0 +1,12 @@ +Include the needed since recent glibc is stricter about that. + +--- pam_login-3.35/src/login.c~ 2007-05-04 14:07:49.000000000 +0200 ++++ pam_login-3.35/src/login.c 2010-04-27 11:38:13.000000000 +0200 +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + #include + #include + #include diff --git a/pkgs/os-specific/linux/pam_usb/default.nix b/pkgs/os-specific/linux/pam_usb/default.nix index ce0384197316..05137acc0435 100644 --- a/pkgs/os-specific/linux/pam_usb/default.nix +++ b/pkgs/os-specific/linux/pam_usb/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { name = "pam_usb-0.4.2"; src = fetchurl { - url = mirror://sourceforge/pamusb/files/pam_usb/pam_usb-0.4.2/pam_usb-0.4.2.tar.gz; + url = mirror://sourceforge/pamusb/pam_usb/pam_usb-0.4.2/pam_usb-0.4.2.tar.gz; sha256 = "736afced7482c7c5d47127285f7defe0a304a6136a0090588fa8698d385ba202"; }; diff --git a/pkgs/os-specific/linux/pwdutils/default.nix b/pkgs/os-specific/linux/pwdutils/default.nix index 0d771599d64c..98b9ab707353 100644 --- a/pkgs/os-specific/linux/pwdutils/default.nix +++ b/pkgs/os-specific/linux/pwdutils/default.nix @@ -1,14 +1,42 @@ -{stdenv, fetchurl, pam, openssl, libnscd}: - -stdenv.mkDerivation { - name = "pwdutils-3.1.3"; - +{ stdenv, fetchurl, pam, gnutls, libnscd }: + +stdenv.mkDerivation rec { + name = "pwdutils-3.2.6"; + src = fetchurl { - url = mirror://kernel/linux/utils/net/NIS/pwdutils-3.1.3.tar.bz2; - md5 = "b18c601e282d8695cbb5ddd87eaa473c"; + url = "mirror://kernel/linux/utils/net/NIS/${name}.tar.bz2"; + sha256 = "1pyawvv9x0hiachn1mb257s6hm92dh1ykczgp7ik8z6jl020z3n7"; }; - buildInputs = [pam openssl libnscd]; + buildInputs = [ pam gnutls libnscd ]; - configureFlags = "--disable-ldap"; + patches = [ ./sys-stat-h.patch ]; + + postPatch = + '' for i in src/tst-* + do + sed -i "$i" -e's|/bin/bash|/bin/sh|g' + done + ''; + + configureFlags = "--disable-ldap --enable-gnutls --exec-prefix=$(out)"; + + # FIXME: The test suite seems to make assumptions that don't hold in Nix + # chroots. + doCheck = false; + + meta = { + description = "Linux pwdutils, utilities to manage passwd information"; + + longDescription = + '' Pwdutils is a collection of utilities to manage the passwd + information stored in local files, NIS, NIS+ or LDAP and can replace + the shadow suite complete. + ''; + + license = "GPLv2"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.linux; + }; } diff --git a/pkgs/os-specific/linux/pwdutils/sys-stat-h.patch b/pkgs/os-specific/linux/pwdutils/sys-stat-h.patch new file mode 100644 index 000000000000..5b5bc8440d55 --- /dev/null +++ b/pkgs/os-specific/linux/pwdutils/sys-stat-h.patch @@ -0,0 +1,37 @@ +Fix builds with current glibc git, which appears to be stricter +about . + +--- pwdutils-3.2.6/src/useradd.c~ 2008-10-16 13:46:07.000000000 +0200 ++++ pwdutils-3.2.6/src/useradd.c 2010-04-26 11:24:43.000000000 +0200 +@@ -18,6 +18,7 @@ + #include "config.h" + #endif + ++#include + #include + #include + #include + +--- pwdutils-3.2.6/src/userdel.c~ 2006-11-29 14:20:39.000000000 +0100 ++++ pwdutils-3.2.6/src/userdel.c 2010-04-26 11:26:08.000000000 +0200 +@@ -18,6 +18,7 @@ + #include "config.h" + #endif + ++#include + #include + #include + #include + +diff -ubB --show-c-function pwdutils-3.2.6/src/usermod.c\~ pwdutils-3.2.6/src/usermod.c +--- pwdutils-3.2.6/src/usermod.c~ 2006-11-29 14:20:41.000000000 +0100 ++++ pwdutils-3.2.6/src/usermod.c 2010-04-26 11:27:41.000000000 +0200 +@@ -18,6 +18,7 @@ + #include "config.h" + #endif + ++#include + #include + #include + #include + diff --git a/pkgs/os-specific/linux/tcp-wrapper/builder.sh b/pkgs/os-specific/linux/tcp-wrapper/builder.sh index 6cb91110530c..58bc1d4409d1 100644 --- a/pkgs/os-specific/linux/tcp-wrapper/builder.sh +++ b/pkgs/os-specific/linux/tcp-wrapper/builder.sh @@ -11,7 +11,7 @@ patchPhase for patch in debian/patches/* do echo "applying Debian patch \`$(basename $patch)'..." - patch -p1 < $patch + patch --batch -p1 < $patch done substituteInPlace "Makefile" --replace \ diff --git a/pkgs/os-specific/linux/udev/default.nix b/pkgs/os-specific/linux/udev/default.nix index 988d0a3df3b9..d6007c9f9577 100644 --- a/pkgs/os-specific/linux/udev/default.nix +++ b/pkgs/os-specific/linux/udev/default.nix @@ -4,29 +4,23 @@ assert stdenv ? glibc; stdenv.mkDerivation rec { - name = "udev-145"; + name = "udev-154"; src = fetchurl { url = "mirror://kernel/linux/utils/kernel/hotplug/${name}.tar.bz2"; - sha256 = "1zmibp6n7d582fqx8vmg9vb2a1435hghfpz36056bc25ccwf7yiv"; + sha256 = "1aw5vn96gasvkjh6nfivaf68l6ph33y63zf7gnp3mc7c7zfncm0c"; }; buildInputs = [gperf pkgconfig glib acl libusb usbutils]; - configureFlags = "--with-pci-ids-path=${pciutils}/share/pci.ids"; - - preConfigure = - '' - substituteInPlace extras/keymap/Makefile.in \ - --replace /usr/include ${stdenv.glibc}/include - ''; + configureFlags = "--with-pci-ids-path=${pciutils}/share/pci.ids + --disable-introspection + --with-firmware-path=/root/test-firmware:/var/run/current-system/firmware"; postInstall = '' # Install some rules that really should be installed by default. - for i in 40-alsa.rules 40-infiniband.rules 40-isdn.rules 40-pilot-links.rules 64-device-mapper.rules 64-md-raid.rules; do - cp rules/packages/$i $out/libexec/rules.d/ - done + cp rules/packages/40-pilot-links.rules $out/libexec/rules.d/ # The path to rule_generator.functions in write_cd_rules and # write_net_rules is broken. Also, don't store the mutable @@ -39,12 +33,7 @@ stdenv.mkDerivation rec { done # Don't set PATH to /bin:/sbin; won't work in NixOS. - substituteInPlace $out/libexec/rule_generator.functions \ - --replace 'PATH=' '#PATH=' - - # Don't hardcore the FIRMWARE_DIRS variable; obtain it from the - # environment of the caller. - sed '3,4d' -i $out/libexec/firmware.sh + sed -e '/PATH=/d' -i $out/libexec/rule_generator.functions ln -s $out/lib/ConsoleKit $out/etc/ConsoleKit ''; diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix index 5e2e4b2972c6..be7c5a38c2a6 100644 --- a/pkgs/os-specific/linux/wpa_supplicant/default.nix +++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix @@ -1,4 +1,12 @@ -{stdenv, fetchurl, openssl, qt4 ? null}: +{stdenv, fetchurl, openssl +, guiSupport ? false +, qt4}: + +assert !guiSupport || qt4 != null; + +let + buildDirs = "wpa_supplicant wpa_passphrase wpa_cli"; +in stdenv.mkDerivation rec { name = "wpa_supplicant-0.7.2"; @@ -13,19 +21,33 @@ stdenv.mkDerivation rec { cp defconfig .config echo CONFIG_DEBUG_SYSLOG=y >> .config substituteInPlace Makefile --replace /usr/local $out - makeFlagsArray=(ALL="wpa_supplicant wpa_passphrase wpa_cli ${if qt4 == null then "" else "wpa_gui-qt4"}") + makeFlagsArray=(ALL="${buildDirs} ${if guiSupport then "wpa_gui-qt4" else ""}") ''; - buildInputs = [openssl qt4]; + buildInputs = [openssl] + ++ stdenv.lib.optional guiSupport qt4; + + # qt gui doesn't install because the executable is named differently from directory name + # so never include wpa_gui_-qt4 in buildDirs when running make install + preInstall = if guiSupport then '' + makeFlagsArray=(ALL="${buildDirs}") + '' else null; postInstall = '' ensureDir $out/share/man/man5 $out/share/man/man8 cp doc/docbook/*.5 $out/share/man/man5/ cp doc/docbook/*.8 $out/share/man/man8/ - ''; + '' + + (if guiSupport then '' + pwd + cp wpa_gui-qt4/wpa_gui $out/sbin + '' else ""); meta = { homepage = http://hostap.epitest.fi/wpa_supplicant/; description = "A tool for connecting to WPA and WPA2-protected wireless networks"; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; }; + } diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix index b1468a18990d..05993ad7b487 100644 --- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix +++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix @@ -25,9 +25,10 @@ stdenv.mkDerivation rec { cp ${./10-wacom.rules} $out/etc/udev/rules.d/10-wacom.rules ''; - meta = { - maintainers = with stdenv.lib.maintainers; [urkud]; + meta = with stdenv.lib; { + maintainers = [ maintainers.urkud ]; description = "Wacom digitizer driver for X11"; homepage = http://linuxwacom.sourceforge.net; + platforms = platforms.linux; # Probably, works with other unices as well }; } diff --git a/pkgs/os-specific/windows/mingw-headers/default.nix b/pkgs/os-specific/windows/mingw-headers/default.nix new file mode 100644 index 000000000000..c4e0063feecb --- /dev/null +++ b/pkgs/os-specific/windows/mingw-headers/default.nix @@ -0,0 +1,13 @@ +{stdenv, mingw_runtime_headers, w32api_headers}: + +stdenv.mkDerivation { + name = "mingw-headers"; + + phases = [ "installPhase" ]; + + installPhase = '' + ensureDir $out/include + cp -R ${mingw_runtime_headers}/include/* $out/include + cp -R ${w32api_headers}/include/* $out/include + ''; +} diff --git a/pkgs/os-specific/windows/mingwrt/default.nix b/pkgs/os-specific/windows/mingwrt/default.nix new file mode 100644 index 000000000000..aecf43c9123b --- /dev/null +++ b/pkgs/os-specific/windows/mingwrt/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl, binutilsCross ? null, gccCross ? null, onlyHeaders ? false}: + +let + name = "mingwrt-3.18"; +in +stdenv.mkDerivation (rec { + inherit name; + + src = fetchurl { + url = "mirror://sourceforge/mingw/${name}-mingw32-src.tar.gz"; + sha256 = "0hmxgkxnf6an70g07gmyik46sw1qm204izh6sp923szddvypjjfy"; + }; + +} // +(if onlyHeaders then { + name = name + "-headers"; + phases = [ "unpackPhase" "installPhase" ]; + installPhase = '' + ensureDir $out + cp -R include $out + ''; +} else { + buildInputs = [ gccCross binutilsCross ]; + + crossConfig = gccCross.crossConfig; + + dontStrip = true; +}) +) diff --git a/pkgs/os-specific/windows/w32api/default.nix b/pkgs/os-specific/windows/w32api/default.nix new file mode 100644 index 000000000000..570b83f671e5 --- /dev/null +++ b/pkgs/os-specific/windows/w32api/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl, binutilsCross ? null, gccCross ? null, onlyHeaders ? false}: + +let + name = "w32api-3.14"; +in +stdenv.mkDerivation ({ + inherit name; + + src = fetchurl { + url = "mirror://sourceforge/mingw/${name}-mingw32-src.tar.gz"; + sha256 = "128ax8a4dlspxsi5fi7bi1aslppqx3kczr1ibzj1z1az48bvwp21"; + }; + +} // +(if onlyHeaders then { + name = name + "-headers"; + phases = [ "unpackPhase" "installPhase" ]; + installPhase = '' + ensureDir $out + cp -R include $out + ''; +} else { + buildInputs = [ gccCross binutilsCross ]; + + crossConfig = gccCross.crossConfig; + + dontStrip = true; +}) +) diff --git a/pkgs/os-specific/windows/wxMSW-2.8/default.nix b/pkgs/os-specific/windows/wxMSW-2.8/default.nix new file mode 100644 index 000000000000..5c79460060ad --- /dev/null +++ b/pkgs/os-specific/windows/wxMSW-2.8/default.nix @@ -0,0 +1,40 @@ +{ stdenv, fetchurl, compat24 ? false, compat26 ? true, unicode ? true, +}: + +assert stdenv ? cross -> stdenv.cross.libc == "msvcrt"; + +stdenv.mkDerivation { + name = "wxMSW-2.8.11"; + + src = fetchurl { + url = mirror://sourceforge/wxwindows/wxWidgets-2.8.11.tar.gz; + sha256 = "0icxd21g18d42n1ygshkpw0jnflm03iqki6r623pb5hhd7fm2ksj"; + }; + + configureFlags = [ + (if compat24 then "--enable-compat24" else "--disable-compat24") + (if compat26 then "--enable-compat26" else "--disable-compat26") + "--disable-precomp-headers" + (if unicode then "--enable-unicode" else "") + "--with-opengl" + ]; + + # Cross build only tested for mingw32 + checkCross = throw "This package can only be cross-built" false; + crossAttrs = { + checkCross = true; + }; + + preConfigure = " + substituteInPlace configure --replace /usr /no-such-path + "; + + postBuild = "(cd contrib/src && make)"; + + postInstall = " + (cd contrib/src && make install) + (cd $out/include && ln -s wx-*/* .) + "; + + passthru = {inherit compat24 compat26 unicode;}; +} diff --git a/pkgs/servers/monitoring/zabbix/default.nix b/pkgs/servers/monitoring/zabbix/default.nix index 0e708df55f3b..1206eb97ba06 100644 --- a/pkgs/servers/monitoring/zabbix/default.nix +++ b/pkgs/servers/monitoring/zabbix/default.nix @@ -2,11 +2,11 @@ let - version = "1.8.1"; + version = "1.8.2"; src = fetchurl { url = "mirror://sourceforge/zabbix/zabbix-${version}.tar.gz"; - sha256 = "0z4a5lbpgszc2vfg2hc30c1l3l1lbihinqx2sygxf9r5y9k7fj7g"; + sha256 = "10gx47kckjrwl6ssq8ky896gbscwnqc6gxvhsbqcdhai8m2h07ds"; }; preConfigure = diff --git a/pkgs/servers/radius/default.nix b/pkgs/servers/radius/default.nix new file mode 100644 index 000000000000..5533469a1da1 --- /dev/null +++ b/pkgs/servers/radius/default.nix @@ -0,0 +1,33 @@ +{ fetchurl, stdenv, m4, groff, readline }: + +stdenv.mkDerivation rec { + name = "radius-1.6.1"; + + src = fetchurl { + url = "mirror://gnu/radius/${name}.tar.gz"; + sha256 = "1l4k17zkbjsmk8mqrjjymagq8a8kwgrain9mcb5zp8jaf1qbclrh"; + }; + + buildInputs = [ m4 groff readline ] ; + + doCheck = true; + + meta = { + description = "GNU Radius remote authentication and accounting system"; + + longDescription = + '' Radius is a server for remote user authentication and + accounting. Its primary use is for Internet Service + Providers, though it may as well be used on any network that + needs a centralized authentication and/or accounting service + for its workstations. The package includes an authentication + and accounting server and administrator tools. + ''; + + homepage = http://www.gnu.org/software/radius/; + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.bjg ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/servers/samba/default.nix b/pkgs/servers/samba/default.nix index 64b7c5fc7de4..28d37869e7bd 100644 --- a/pkgs/servers/samba/default.nix +++ b/pkgs/servers/samba/default.nix @@ -1,5 +1,6 @@ -{ stdenv, fetchurl, readline, pam, openldap, kerberos, popt -, iniparser, libunwind, fam, acl +{ stdenv, fetchurl, readline, pam, openldap, popt, iniparser, libunwind, fam +, acl +, useKerberos ? false, kerberos ? null # Eg. smbclient and smbspool require a smb.conf file. # If you set configDir to "" an empty configuration file @@ -20,14 +21,15 @@ stdenv.mkDerivation rec { sha256 = "08x3ng7ls5c1a95v7djx362i55wdlmnvarpr7rhng5bb55s9n5qn"; }; - buildInputs = [readline pam openldap kerberos popt iniparser libunwind fam acl]; + buildInputs = [readline pam openldap popt iniparser libunwind fam acl] + ++ stdenv.lib.optional useKerberos kerberos; preConfigure = "cd source"; - postInstall = if configDir == "" - then "touch $out/lib/smb.conf" - else ""; - + postInstall = '' + mkdir -pv $out/lib/cups/backend + ln -sv ../../../bin/smbspool $out/lib/cups/backend/smb + '' + stdenv.lib.optionalString (configDir == "") "touch $out/lib/smb.conf"; # Don't pass --with-private-dir=/var/samba/private # --with-lockdir=/var/samba/lock diff --git a/pkgs/servers/shishi/default.nix b/pkgs/servers/shishi/default.nix new file mode 100644 index 000000000000..8b81f5290d08 --- /dev/null +++ b/pkgs/servers/shishi/default.nix @@ -0,0 +1,36 @@ +{ fetchurl, stdenv, libtasn1, libgcrypt, gnutls }: + +stdenv.mkDerivation rec { + name = "shishi-0.0.43"; + + src = fetchurl { + url = "ftp://alpha.gnu.org/gnu/shishi/${name}.tar.gz"; + sha256 = "17hj4lklvprws6r5bhavi43yj3bz8sv554gcqvvsjrsq8w3qjxm0"; + }; + + buildInputs = [ libtasn1 libgcrypt gnutls ] ; + + doCheck = true; + + meta = { + description = "GNU Shishi, free implementation of the Kerberos 5 network security system"; + + longDescription = + '' GNU Shishi is an implementation of the Kerberos 5 network + authentication system, as specified in RFC 4120. Shishi can be + used to authenticate users in distributed systems. + + Shishi contains a library ('libshishi') that can be used by + application developers to add support for Kerberos 5. Shishi + contains a command line utility ('shishi') that is used by + users to acquire and manage tickets (and more). The server + side, a Key Distribution Center, is implemented by 'shishid'. + ''; + + homepage = http://www.gnu.org/software/shishi/; + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.bjg ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/servers/sql/virtuoso/default.nix b/pkgs/servers/sql/virtuoso/default.nix index 6730ce26fcd1..346b63bafe52 100644 --- a/pkgs/servers/sql/virtuoso/default.nix +++ b/pkgs/servers/sql/virtuoso/default.nix @@ -1,14 +1,17 @@ -{ stdenv, fetchurl, libxml2, openssl, readline }: +{ stdenv, fetchurl, libxml2, openssl, readline, gawk }: + +assert stdenv ? gawk || gawk != null; stdenv.mkDerivation rec { - name = "virtuoso-opensource-6.1.0"; + name = "virtuoso-opensource-6.1.1"; src = fetchurl { url = "mirror://sf/virtuoso/${name}.tar.gz"; - sha256 = "1kwsb4j7k1a4mnbpjzn4hpg3bwx0bjndan5x8ffpagk5ardqi5b4"; + sha256 = "1sd70j9i26ml16lig9r9lmrdf5q0kybq71r6vzzzc5v5jxjz0l7w"; }; - buildInputs = [ libxml2 openssl readline ]; + buildInputs = [ libxml2 openssl readline ] + ++ stdenv.lib.optional (! stdenv ? gawk) gawk; CPP="${stdenv.gcc}/bin/gcc -E"; @@ -24,4 +27,10 @@ stdenv.mkDerivation rec { mv $out/share/virtuoso/doc $out/share/doc/${name} find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete ''; + + meta = with stdenv.lib; { + homepage = http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/; + platforms = platforms.all; + maintainers = [ maintainers.urkud ]; + }; } diff --git a/pkgs/shells/rush/default.nix b/pkgs/shells/rush/default.nix new file mode 100644 index 000000000000..dd1b47f5619b --- /dev/null +++ b/pkgs/shells/rush/default.nix @@ -0,0 +1,36 @@ +{ fetchurl, stdenv }: + +stdenv.mkDerivation rec { + name = "rush-1.6"; + + src = fetchurl { + url = "mirror://gnu/rush/${name}.tar.gz"; + sha256 = "1j9h1imql05cijav6hr9jigcmy1br8fs9vahvh6y7pf53k4lcfrv"; + }; + + doCheck = true; + + meta = { + description = "GNU Rush, Restricted User Shell"; + + longDescription = + '' GNU Rush is a Restricted User Shell, designed for sites + providing limited remote access to their resources, such as + svn or git repositories, scp, or the like. Using a + sophisticated configuration file, Rush gives you complete + control over the command lines that users execute, as well as + over the usage of system resources, such as virtual memory, + CPU time, etc. + + In particular, it allows remote programs to be run in a chrooted + environment, which is important with such programs as + sftp-server or scp, that lack this ability. + ''; + + homepage = http://www.gnu.org/software/rush/; + license = "GPLv3+"; + + maintainers = [ stdenv.lib.maintainers.bjg ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/stdenv/generic/default.nix b/pkgs/stdenv/generic/default.nix index fa9c18b2c374..4b988ef524a8 100644 --- a/pkgs/stdenv/generic/default.nix +++ b/pkgs/stdenv/generic/default.nix @@ -100,6 +100,10 @@ let || result.system == "i686-freebsd" || result.system == "i686-openbsd" || result.system == "i386-sunos"; + isx86_64 = result.system == "x86_64-linux" + || result.system == "x86_64-darwin" + || result.system == "x86_64-freebsd" + || result.system == "x86_64-openbsd"; is64bit = result.system == "x86_64-linux" || result.system == "x86_64-darwin"; diff --git a/pkgs/tools/X11/x2x/default.nix b/pkgs/tools/X11/x2x/default.nix new file mode 100644 index 000000000000..abe5c9b59d60 --- /dev/null +++ b/pkgs/tools/X11/x2x/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, imake, libX11, libXtst, libXext}: + +stdenv.mkDerivation { + name = "x2x-1.27"; + + src = fetchurl { + url = "http://github.com/downloads/dottedmag/x2x/x2x-1.27.tar.gz"; + sha256 = "0dha0kn1lbc4as0wixsvk6bn4innv49z9a0sm5wlx4q1v0vzqzyj"; + }; + + buildInputs = [ imake libX11 libXtst libXext ]; + + configurePhase = '' + xmkmf + makeFlags="BINDIR=$out/bin x2x" + ''; + + installPhase = '' + ensureDir $out/bin + ensureDir $out/man/man1 + cp x2x $out/bin/ + cp x2x.1 $out/man/man1/ + ''; + + meta = { + description = "x2x allows the keyboard, mouse on one X display to be used to control another X display."; + homepage = http://x2x.dottedmag.net; + license = "BSD"; + }; +} diff --git a/pkgs/tools/archivers/unshield/default.nix b/pkgs/tools/archivers/unshield/default.nix index 95a66ed7e2db..bc7906e2243f 100644 --- a/pkgs/tools/archivers/unshield/default.nix +++ b/pkgs/tools/archivers/unshield/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, zlib}: stdenv.mkDerivation { - name = "unshield-0.5.1"; + name = "unshield-0.6"; src = fetchurl { - url = mirror://sourceforge/synce/unshield-0.5.1.tar.gz; - sha256 = "0zc6kllw54m925zyh33jwjhk9c7rwcrkyydvhdsixr72fdqacjx3"; + url = mirror://sourceforge/synce/Unshield/0.6/unshield-0.6.tar.gz; + sha256 = "07q48zwvjz9f8barql4b894fzz897agscvj13i6gkpy862aya41b"; }; configureFlags = "--with-zlib=${zlib}"; } diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix new file mode 100644 index 000000000000..521c1452e1c7 --- /dev/null +++ b/pkgs/tools/filesystems/mtdutils/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchgit, libuuid, lzo, zlib, acl}: + +let + version = "v1.3.1"; +in +stdenv.mkDerivation { + name = "mtd-utils-${version}"; + + src = fetchgit { + url = git://git.infradead.org/mtd-utils.git; + rev = version; + sha256 = "0pjjs9x03bgvphqwlw99c2cpkpjsx0vkqi79vjl7fcb9pyrghgd1"; + }; + + preBuild = '' + makeFlags="DESTDIR=$out" + ''; + + buildInputs = [ libuuid lzo zlib acl ]; + + meta = { + description = "Tools for MTD filesystems"; + license = "GPLv2+"; + homepage = http://www.linux-mtd.infradead.org/; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/tools/graphics/dcraw/default.nix b/pkgs/tools/graphics/dcraw/default.nix index 2d18a875221f..74a9ffca74a1 100644 --- a/pkgs/tools/graphics/dcraw/default.nix +++ b/pkgs/tools/graphics/dcraw/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, libjpeg, lcms, gettext }: stdenv.mkDerivation { - name = "dcraw-8.98"; + name = "dcraw-8.99"; src = fetchurl { - url = http://www.cybercom.net/~dcoffin/dcraw/archive/dcraw-8.98.tar.gz; - sha256 = "0vb375m1s5b1d72d9a5apcyxz2b9zl0pycj700yhy2zsfx804kmp"; + url = http://www.cybercom.net/~dcoffin/dcraw/archive/dcraw-8.99.tar.gz; + sha256 = "0w557lsrj8fs666cxzhhv1rigmy705bnkn94rn856dwck59l3ipq"; }; buildInputs = [ libjpeg lcms gettext ]; diff --git a/pkgs/tools/graphics/dmtx/default.nix b/pkgs/tools/graphics/dmtx/default.nix index 651cdbd8797a..bc222fa59cc2 100644 --- a/pkgs/tools/graphics/dmtx/default.nix +++ b/pkgs/tools/graphics/dmtx/default.nix @@ -7,7 +7,7 @@ let buildInputs = with args; [ libpng libtiff libjpeg librsvg imagemagick pkgconfig zlib libX11 bzip2 libtool freetype fontconfig - ghostscript + ghostscript jasper ]; in rec { diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix index 303bc38741c9..003169415d39 100644 --- a/pkgs/tools/graphics/gnuplot/default.nix +++ b/pkgs/tools/graphics/gnuplot/default.nix @@ -1,4 +1,6 @@ { stdenv, fetchurl, zlib, gd, texinfo +, texLive ? null +, lua ? null , emacs ? null , libX11 ? null , libXt ? null @@ -8,26 +10,20 @@ , pango ? null , cairo ? null , pkgconfig ? null -, x11Support ? false , readline }: -assert x11Support -> ((libX11 != null) && - (libXt != null) && (libXpm != null) && - (libXaw != null)); - -assert (wxGTK != null) -> x11Support; - stdenv.mkDerivation { - name = "gnuplot-4.2.6"; + name = "gnuplot-4.4.0"; src = fetchurl { - url = "mirror://sourceforge/gnuplot/gnuplot-4.2.6.tar.gz"; - sha256 = "10lfmbib3wrzfhvjqk7ffc29fb2aw6m84p4cx6znmgbpc3mw5yw1"; + url = "mirror://sourceforge/gnuplot/gnuplot-4.4.0.tar.gz"; + sha256 = "0akb2lzxa3b0j4nr6anr0mhsk10b1fcnixk8vk9aa82rl1a2rph0"; }; - configureFlags = if x11Support then ["--with-x"] else ["--without-x"]; + configureFlags = if (libX11 != null) then ["--with-x"] else ["--without-x"]; - buildInputs = [zlib gd texinfo readline emacs] ++ - (if x11Support then [libX11 libXt libXpm libXaw] else []) ++ - (if wxGTK != null then [wxGTK pango cairo pkgconfig] else []); + buildInputs = [ + zlib gd texinfo readline emacs lua texLive libX11 libXt libXpm libXaw + wxGTK pango cairo pkgconfig + ]; } diff --git a/pkgs/tools/misc/most/default.nix b/pkgs/tools/misc/most/default.nix new file mode 100644 index 000000000000..52e1fb22feda --- /dev/null +++ b/pkgs/tools/misc/most/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, slang}: + +stdenv.mkDerivation { + name = "most-5.0.0"; + + src = fetchurl { + url = ftp://space.mit.edu/pub/davis/most/most-5.0.0.tar.bz2; + sha256 = "1f5x7rvjg89b5klfqs1gb91jmbnd3fy08d8rwgdvgg0plqkxr7ja"; + }; + + preConfigure = '' + sed -i -e "s|-ltermcap|-ncurses|" configure + sed -i autoconf/Makefile.in src/Makefile.in \ + -e "s|/bin/cp|cp|" \ + -e "s|/bin/rm|rm|" + ''; + configureFlags = "--with-slang=${slang}"; + + buildInputs = [ slang ]; + + meta = { + description = '' + MOST is a powerful paging program for Unix, VMS, MSDOS, and win32 + systems. Unlike other well-known paging programs most supports multiple + windows and can scroll left and right. Why settle for less? + ''; + homepage = http://www.jedsoft.org/most/index.html; + license = "GPLv2"; + }; +} diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix new file mode 100644 index 000000000000..2526606adc2b --- /dev/null +++ b/pkgs/tools/misc/parallel/default.nix @@ -0,0 +1,46 @@ +{ fetchurl, stdenv, perl }: + +stdenv.mkDerivation rec { + name = "parallel-20100424"; + + src = fetchurl { + url = "mirror://gnu/parallel/${name}.tar.bz2"; + sha256 = "0japyn4n044zpd88czsrfh4lyjmckih25jl671vby8v5mhk42vw4"; + }; + + patchPhase = + '' sed -i "src/parallel" -e's|/usr/bin/perl|${perl}/bin/perl|g' + ''; + + buildInputs = [ perl ]; + doCheck = true; + + meta = { + description = "GNU Parallel, a shell tool for executing jobs in parallel"; + + longDescription = + '' GNU Parallel is a shell tool for executing jobs in parallel. A job + is typically a single command or a small script that has to be run + for each of the lines in the input. The typical input is a list of + files, a list of hosts, a list of users, or a list of tables. + + If you use xargs today you will find GNU Parallel very easy to use. + If you write loops in shell, you will find GNU Parallel may be able + to replace most of the loops and make them run faster by running + jobs in parallel. If you use ppss or pexec you will find GNU + Parallel will often make the command easier to read. + + GNU Parallel makes sure output from the commands is the same output + as you would get had you run the commands sequentially. This makes + it possible to use output from GNU Parallel as input for other + programs. + ''; + + homepage = http://www.gnu.org/software/parallel/; + + license = "GPLv3+"; + + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.ludo ]; + }; +} diff --git a/pkgs/tools/misc/pk2cmd/default.nix b/pkgs/tools/misc/pk2cmd/default.nix new file mode 100644 index 000000000000..e3a9e7b87c3d --- /dev/null +++ b/pkgs/tools/misc/pk2cmd/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, libusb, makeWrapper}: + +assert stdenv.isLinux; + +stdenv.mkDerivation { + name = "pk2cmd-1.20"; + src = fetchurl { + url = http://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv1.20LinuxMacSource.tar.gz; + sha256 = "1yjpi2qshnqfpan4w3ggakkr3znfrx5cxkny92ka7v9na3g2fc4h"; + }; + + makeFlags = [ "LIBUSB=${libusb}" "linux" ]; + + installPhase = '' + ensureDir $out/bin $out/share/pk2 + cp pk2cmd $out/bin + cp PK2DeviceFile.dat $out/share/pk2 + wrapProgram $out/bin/pk2cmd --prefix PATH : $out/share/pk2 + ''; + + buildInputs = [ libusb makeWrapper ]; + + meta = { + homepage = http://www.microchip.com/pickit2; + license = "nonfree"; + description = "Microchip PIC programming software for the PICKit2 programmer"; + }; +} diff --git a/pkgs/tools/networking/inetutils/default.nix b/pkgs/tools/networking/inetutils/default.nix index 2b164dcc2237..6734465dbba5 100644 --- a/pkgs/tools/networking/inetutils/default.nix +++ b/pkgs/tools/networking/inetutils/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, ncurses }: stdenv.mkDerivation rec { - name = "inetutils-1.7"; + name = "inetutils-1.8"; src = fetchurl { url = "mirror://gnu/inetutils/${name}.tar.gz"; - sha256 = "09v9nycqpc3j7bsi5aj4hm8gxw1xgxr4lz14brnzv0i80qqxjb7p"; + sha256 = "1iqihfv54nzjmclivys2dpcyfhavgynj8pp6r44a97jbw2p0nl68"; }; buildInputs = [ ncurses /* for `talk' */ ]; diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix index cd3074546f42..3b35bc6ab2cf 100644 --- a/pkgs/tools/networking/openssh/default.nix +++ b/pkgs/tools/networking/openssh/default.nix @@ -1,11 +1,8 @@ -{ stdenv, fetchurl, zlib, openssl, perl, libedit, pkgconfig -, pamSupport ? false, pam ? null +{ stdenv, fetchurl, zlib, openssl, perl, libedit, pkgconfig, pam , etcDir ? null , hpnSupport ? false }: -assert pamSupport -> pam != null; - let hpnSrc = fetchurl { @@ -23,20 +20,19 @@ stdenv.mkDerivation rec { sha256 = "12kywhjnz6w6kx5fk526fhs2xc7rf234hwrms9p1hqv6zrpdvvin"; }; - patchPhase = stdenv.lib.optionalString hpnSupport + prePatch = stdenv.lib.optionalString hpnSupport '' gunzip -c ${hpnSrc} | patch -p1 ''; - - buildInputs = - [ zlib openssl perl libedit pkgconfig ] - ++ stdenv.lib.optional pamSupport pam; + patches = [ ./locale_archive.patch ]; + + buildInputs = [ zlib openssl perl libedit pkgconfig pam ]; configureFlags = '' --with-mantype=man --with-libedit=yes - ${if pamSupport then "--with-pam" else "--without-pam"} + ${if pam != null then "--with-pam" else "--without-pam"} ${if etcDir != null then "--sysconfdir=${etcDir}" else ""} ''; diff --git a/pkgs/tools/networking/openssh/locale_archive.patch b/pkgs/tools/networking/openssh/locale_archive.patch new file mode 100644 index 000000000000..a7f946d693a2 --- /dev/null +++ b/pkgs/tools/networking/openssh/locale_archive.patch @@ -0,0 +1,15 @@ +diff --git a/session.c b/session.c +index e032de6..44db2bb 100644 +--- a/session.c ++++ b/session.c +@@ -1196,6 +1196,10 @@ do_setup_env(Session *s, const char *shell) + if (getenv("TZ")) + child_set_env(&env, &envsize, "TZ", getenv("TZ")); + ++ /* NixOS path to the glibc locale archive, to be set in the upstart job */ ++ if (getenv("LOCALE_ARCHIVE")) ++ child_set_env(&env, &envsize, "LOCALE_ARCHIVE", getenv("LOCALE_ARCHIVE")); ++ + /* Set custom environment options from RSA authentication. */ + if (!options.use_login) { + while (custom_environment) { diff --git a/pkgs/tools/networking/p2p/bittorrent/builder.sh b/pkgs/tools/networking/p2p/bittorrent/builder.sh index c074c1919ac5..3f30aa5c851f 100644 --- a/pkgs/tools/networking/p2p/bittorrent/builder.sh +++ b/pkgs/tools/networking/p2p/bittorrent/builder.sh @@ -9,7 +9,6 @@ export HOME=$TMP buildPhase() { - #substituteInPlace BitTorrent/GUI_wx/__init__.py --replace "'2.6'" "'2.8'" python setup.py build } diff --git a/pkgs/tools/networking/p2p/bittorrent/default.nix b/pkgs/tools/networking/p2p/bittorrent/default.nix index 980f51d37467..1d4f43445bf1 100644 --- a/pkgs/tools/networking/p2p/bittorrent/default.nix +++ b/pkgs/tools/networking/p2p/bittorrent/default.nix @@ -6,16 +6,16 @@ assert gui -> wxPython != null; stdenv.mkDerivation { - name = "bittorrent-5.2.0"; + name = "bittorrent-5.2.2"; builder = ./builder.sh; src = fetchurl { - url = http://download.bittorrent.com/dl/BitTorrent-5.2.0.tar.gz; - sha256 = "0lg54x5y2k1cb7vpj7hanlnvzqa2k3v24qq0g6fsycjk4n8dky02"; + url = http://download.bittorrent.com/dl/archive/BitTorrent-5.2.2.tar.gz; + sha256 = "05k803hbwsyn51j4aibzdsnqxz24kw4rvr60v2c0wji8gcvy3kx9"; }; - buildInputs = [python pycrypto twisted makeWrapper] + buildInputs = [ python pycrypto twisted makeWrapper ] ++ stdenv.lib.optional gui wxPython; meta = { diff --git a/pkgs/tools/networking/p2p/ktorrent/default.nix b/pkgs/tools/networking/p2p/ktorrent/default.nix deleted file mode 100644 index db9e23197af0..000000000000 --- a/pkgs/tools/networking/p2p/ktorrent/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, kde, xlibs, zlib -, libpng, libjpeg, perl, gmp, cmake, gettext, boost -}: - -stdenv.mkDerivation { - name = "ktorrent-3.3.3"; - - src = fetchurl { - url = http://ktorrent.org/downloads/3.3.3/ktorrent-3.3.3.tar.bz2; - sha256 = "1f2hr8q8j1fxd3wa74vavq7b0spdsjfcl3jbyfi9xhk9mxxlm216"; - }; - - buildInputs = [ - pkgconfig xlibs.xlibs zlib libpng libjpeg perl gmp cmake gettext boost - ]; - - propagatedBuildInputs = [ - kde.qt4 kde.automoc4 kde.kdelibs kde.phonon kde.qca2 kde.kdepimlibs - ]; - - cmakeFlags = [ "-DGETTEXT_INCLUDE_DIR=${gettext}/include" ]; - includeAllQtDirs=true; - - meta = { - homepage = http://ktorrent.org/; - description = "A BitTorrent client for KDE"; - }; -} diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix index 3ea7a7bdd5c0..1034d7e09f5f 100644 --- a/pkgs/tools/networking/pdsh/default.nix +++ b/pkgs/tools/networking/pdsh/default.nix @@ -2,11 +2,6 @@ stdenv.mkDerivation rec { name = "pdsh-2.18"; - meta = { - homepage = "https://computing.llnl.gov/linux/pdsh.html"; - description = "A high-performance, parallel remote shell utility."; - license = "GPLv2"; - }; src = fetchurl { url = "mirror://sourceforge/pdsh/${name}.tar.bz2"; sha256 = "8c94acb17b4af8a9f553db180b4d5745c9c98844a5dc070e2ce80590e8e8a539"; @@ -40,5 +35,11 @@ stdenv.mkDerivation rec { + " --disable-debug" ; - maintainers = [ stdenv.lib.maintainers.simons ]; + meta = { + homepage = "https://computing.llnl.gov/linux/pdsh.html"; + description = "A high-performance, parallel remote shell utility."; + license = "GPLv2"; + platforms = stdenv.lib.platforms.all; + maintainers = [ stdenv.lib.maintainers.simons ]; + }; } diff --git a/pkgs/tools/networking/privoxy/default.nix b/pkgs/tools/networking/privoxy/default.nix index 894e11f607b4..8af67aed1d40 100644 --- a/pkgs/tools/networking/privoxy/default.nix +++ b/pkgs/tools/networking/privoxy/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, autoconf, automake}: +{stdenv, fetchurl, autoconf, automake, zlib, pcre, w3m}: stdenv.mkDerivation { name = "privoxy-3.0.12"; @@ -8,7 +8,7 @@ stdenv.mkDerivation { sha256 = "16ngim1p4pb4zk8h7js4zjw280fxqxamasfngixikp2ivmzxl469"; }; - buildInputs = [automake autoconf ]; + buildInputs = [automake autoconf zlib pcre w3m]; patches = [./disable-user-error.patch]; diff --git a/pkgs/tools/package-management/nix/sqlite.nix b/pkgs/tools/package-management/nix/sqlite.nix index 445008c58585..5ea3a934bab8 100644 --- a/pkgs/tools/package-management/nix/sqlite.nix +++ b/pkgs/tools/package-management/nix/sqlite.nix @@ -1,28 +1,27 @@ -{ stdenv, fetchurl, aterm, perl, curl, bzip2, sqlite, openssl ? null +{ stdenv, fetchurl, perl, curl, bzip2, sqlite, openssl ? null , storeDir ? "/nix/store" , stateDir ? "/nix/var" }: stdenv.mkDerivation rec { - name = "nix-0.15pre20563"; + name = "nix-0.16pre21802"; src = fetchurl { - url = "http://hydra.nixos.org/build/322387/download/4/${name}.tar.bz2"; - sha256 = "20d2d7f231c2c92e68c8d828292ecde4e3858a95965dfc6b7066feb24659541e"; + url = "http://hydra.nixos.org/build/410078/download/4/${name}.tar.bz2"; + sha256 = "dec142f401fd0aab771eebcddf8354edc57d9a05f63f07f0e74dd7c499df8cf8"; }; - buildInputs = [perl curl openssl]; + buildInputs = [ perl curl openssl ]; configureFlags = '' --with-store-dir=${storeDir} --localstatedir=${stateDir} - --with-aterm=${aterm} --with-bzip2=${bzip2} --with-sqlite=${sqlite} + --with-bzip2=${bzip2} --with-sqlite=${sqlite} --disable-init-state + CFLAGS=-O3 CXXFLAGS=-O3 ''; doCheck = true; - passthru = { inherit aterm; }; - meta = { description = "The Nix Deployment System"; homepage = http://nixos.org/; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index 574b223ce06f..adcac62070e1 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, aterm, perl, curl, bzip2, openssl ? null +{ stdenv, fetchurl, perl, curl, bzip2, openssl ? null , storeDir ? "/nix/store" , stateDir ? "/nix/var" }: stdenv.mkDerivation rec { - name = "nix-0.15pre20612"; + name = "nix-0.16pre21778"; src = fetchurl { - url = "http://hydra.nixos.org/build/325045/download/4/${name}.tar.bz2"; - sha256 = "a0fecb2d9cced473880649d7ee6448688d63416fb2e26bdbadec069e5b619bce"; + url = "http://hydra.nixos.org/build/408983/download/4/${name}.tar.bz2"; + sha256 = "54e154776efe05973aaf75b33f6e00987cd147d1cb7a2a132f4386d4b51c6bdc"; }; buildNativeInputs = [ perl ]; @@ -17,13 +17,23 @@ stdenv.mkDerivation rec { configureFlags = '' --with-store-dir=${storeDir} --localstatedir=${stateDir} - --with-aterm=${aterm} --with-bzip2=${bzip2} + --with-bzip2=${bzip2} --disable-init-state + CFLAGS=-O3 CXXFLAGS=-O3 ''; - doCheck = true; + crossAttrs = { + configureFlags = + '' + --with-store-dir=${storeDir} --localstatedir=${stateDir} + --with-bzip2=${bzip2.hostDrv} + --disable-init-state + CFLAGS=-O3 CXXFLAGS=-O3 + ''; + doCheck = false; + }; - passthru = { inherit aterm; }; + doCheck = true; meta = { description = "The Nix Deployment System"; diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix new file mode 100644 index 000000000000..136a6efe7a1e --- /dev/null +++ b/pkgs/tools/security/tor/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchurl, libevent, openssl, zlib}: + +stdenv.mkDerivation { + name = "tor-0.2.1.26"; + + src = fetchurl { + url = "http://www.torproject.org/dist/tor-0.2.1.26.tar.gz"; + sha256 = "18kz1hs6lvckkddy4y36gi7ly03ar2il2xzkrf8bfgif1gnn1p3c"; + }; + + buildInputs = [libevent openssl zlib]; + + doCheck = true; + + meta = { + homepage = http://www.torproject.org/; + description = "Tor is an onion router enabling Internet anonymity by thwarting network traffic analysis"; + longDescription='' + Tor protects you by bouncing your communications around a distributed + network of relays run by volunteers all around the world: it prevents + somebody watching your Internet connection from learning what sites you + visit, and it prevents the sites you visit from learning your physical + location. Tor works with many of your existing applications, including + web browsers, instant messaging clients, remote login, and other + applications based on the TCP protocol. + ''; + license="bsd"; + }; + +} diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix new file mode 100644 index 000000000000..a9994f14b57a --- /dev/null +++ b/pkgs/tools/system/logrotate/default.nix @@ -0,0 +1,31 @@ +{stdenv, fetchurl, gzip, popt}: + +stdenv.mkDerivation rec { + name = "logrotate-3.7.8"; + + src = fetchurl { + url = https://fedorahosted.org/releases/l/o/logrotate/logrotate-3.7.8.tar.gz; + sha256 = "1p9nqmznqvzn03saw3jxa8xwsdqym8jr778rwig8kk786343vai1"; + }; + + # Logrotate wants to access the 'mail' program; to be done. + patchPhase = '' + sed -i -e 's,[a-z/]\+gzip,${gzip}/bin/gzip,' \ + -e 's,[a-z/]\+gunzip,${gzip}/bin/gunzip,' config.h + ''; + + preBuild = '' + makeFlags="BASEDIR=$out" + ''; + + buildInputs = [ popt ]; + + meta = { + homepage = "https://fedorahosted.org/releases/l/o/logrotate/"; + description = "Rotates and compresses system logs"; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; all; + }; + +} diff --git a/pkgs/tools/text/catdoc/default.nix b/pkgs/tools/text/catdoc/default.nix new file mode 100644 index 000000000000..5880de7a735c --- /dev/null +++ b/pkgs/tools/text/catdoc/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "catdoc-0.94.2"; + src = fetchurl { + url = "http://ftp.wagner.pp.ru/pub/catdoc/${name}.tar.gz"; + sha256 = "0qnk8fw3wc40qa34yqz51g0knif2jd78a4717nvd3rb46q88pj83"; + }; + + configureFlags = "--disable-wordview"; + + meta = with stdenv.lib; { + platforms = platforms.all; + license = "GPL2"; + maintainers = [ maintainers.urkud ]; + }; +} diff --git a/pkgs/tools/text/source-highlight/default.nix b/pkgs/tools/text/source-highlight/default.nix new file mode 100644 index 000000000000..35dc7a8a8e6e --- /dev/null +++ b/pkgs/tools/text/source-highlight/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, boost }: + +let + name = "source-highlight"; + version = "3.1.3"; +in +stdenv.mkDerivation { + name = "${name}-${version}"; + + src = fetchurl { + url = "mirror://gnu/src-highlite/${name}-${version}.tar.gz"; + sha256 = "2d819f2ffdc8bb23a87635bdfbc51545db22605a8e544f66f86054b8075af0b5"; + }; + + buildInputs = [boost]; + doCheck = false; # The test suite fails with a trivial + # error, so I'll disable it for now. + # Whoever bumps this build to the next + # version, please re-enable it though! + + meta = { + description = "render source code with syntax highlighting"; + homepage = "http://www.gnu.org/software/src-highlite/"; + license = "GPLv3+"; + maintainers = [ ]; + platforms = stdenv.lib.platforms.all; + longDescription = + '' + GNU Source-highlight, given a source file, produces a document + with syntax highlighting. + ''; + }; +} diff --git a/pkgs/tools/text/wdiff/default.nix b/pkgs/tools/text/wdiff/default.nix index da1ff92add33..7ae7241c40b9 100644 --- a/pkgs/tools/text/wdiff/default.nix +++ b/pkgs/tools/text/wdiff/default.nix @@ -1,18 +1,20 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "wdiff-0.5.95"; - + name = "wdiff-0.6.1"; + src = fetchurl { - url = "http://alpha.gnu.org/gnu/wdiff/${name}.tar.gz"; - sha256 = "1rha2x8b6i0gk9s2gp61x4acakkx5q9ar1k54x9grmgr6w7fzd97"; + url = "mirror://gnu/wdiff/${name}.tar.gz"; + sha256 = "0cgmx9k8sj0l79kp4m2lmn4ifx55ah68q4qk7xsanx69m1061ghf"; }; - + + doCheck = true; + meta = { homepage = http://www.gnu.org/software/wdiff/; - description = "A front-end to diff for comparing files on a word per word basis"; - license = "GPLv3"; - maintainers = [ stdenv.lib.maintainers.eelco ]; + description = "GNU wdiff, comparing files on a word by word basis"; + license = "GPLv3+"; + maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.ludo ]; platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix index 85d4ee010b38..423772385958 100644 --- a/pkgs/tools/typesetting/xmlto/default.nix +++ b/pkgs/tools/typesetting/xmlto/default.nix @@ -1,13 +1,12 @@ { fetchurl, stdenv, flex, libxml2, libxslt , docbook_xml_dtd_42, docbook_xsl, w3m -, bash, getopt, mktemp, findutils -, makeWrapper }: +, bash, getopt, makeWrapper }: stdenv.mkDerivation rec { - name = "xmlto-0.0.20"; + name = "xmlto-0.0.23"; src = fetchurl { - url = "http://cyberelk.net/tim/data/xmlto/stable/${name}.tar.bz2"; - sha256 = "1s71khb0ycawhjpr19zrrqk0jac11jgwvxnajjkm2656p5qikylz"; + url = "http://fedorahosted.org/releases/x/m/xmlto/${name}.tar.bz2"; + sha256 = "1i5iihx304vj52nik42drs7z6z58m9szahng113r4mgd1mvb5zx9"; }; patchPhase = '' @@ -15,21 +14,17 @@ stdenv.mkDerivation rec { --replace "/bin/bash" "${bash}/bin/bash" substituteInPlace "xmlto.in" \ --replace "/usr/bin/locale" "$(type -P locale)" - ''; - - configureFlags = '' - --with-mktemp=${mktemp}/bin/mktemp - --with-find=${findutils}/bin/find - --with-bash=${bash}/bin/bash - --with-getopt=${getopt}/bin/getopt + substituteInPlace "xmlto.in" \ + --replace "mktemp" "$(type -P mktemp)" ''; # `libxml2' provides `xmllint', needed at build-time and run-time. # `libxslt' provides `xsltproc', used by `xmlto' at run-time. - buildInputs = [ libxml2 libxslt docbook_xml_dtd_42 docbook_xsl makeWrapper ]; + buildInputs = [ libxml2 libxslt docbook_xml_dtd_42 docbook_xsl getopt makeWrapper ]; postInstall = '' - wrapProgram $out/bin/xmlto --prefix PATH : "${libxslt}/bin:${libxml2}/bin" + wrapProgram "$out/bin/xmlto" \ + --prefix PATH : "${libxslt}/bin:${libxml2}/bin:${getopt}/bin" # `w3m' is needed for HTML to text conversions. substituteInPlace "$out/share/xmlto/format/docbook/txt" \ @@ -47,8 +42,9 @@ stdenv.mkDerivation rec { ''; license = "GPLv2+"; - homepage = http://cyberelk.net/tim/software/xmlto/; + homepage = https://fedorahosted.org/xmlto/; maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/tools/video/rtmpdump/default.nix b/pkgs/tools/video/rtmpdump/default.nix new file mode 100644 index 000000000000..3f79e57592f5 --- /dev/null +++ b/pkgs/tools/video/rtmpdump/default.nix @@ -0,0 +1,28 @@ +{stdenv, fetchurl, zlib, gnutls}: + +stdenv.mkDerivation { + name = "rtmpdump-2.2d"; + src = fetchurl { + url = http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.2d.tgz; + sha256 = "0w2cr3mgp4dcabmr7d7pnsn8f2r1zvar553vfavnzqv61gnhyrm5"; + }; + + buildInputs = [ zlib gnutls ]; + + makeFlags = "CRYPTO=GNUTLS posix"; + + installPhase = '' + ensureDir $out/bin $out/share/man/man{1,8} + cp rtmpdump rtmpsrv rtmpsuck rtmpgw $out/bin + cp *.1 $out/share/man/man1 + cp *.8 $out/share/man/man8 + ''; + + meta = { + homepage = http://rtmpdump.mplayerhq.hu/; + description = "Toolkit for RTMP streams"; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b4010ada3f7f..8afede97c855 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -218,6 +218,7 @@ let theAttrSet = arg; }; + buildEnvScript = ../build-support/buildenv/builder.pl; buildEnv = import ../build-support/buildenv { inherit stdenv perl; }; @@ -417,6 +418,10 @@ let inherit libuuid zlib acl; }; + catdoc = import ../tools/text/catdoc { + inherit fetchurl stdenv; + }; + eggdrop = import ../tools/networking/eggdrop { inherit fetchurl stdenv tcl; }; @@ -738,11 +743,11 @@ let }; dos2unix = import ../tools/text/dos2unix { - inherit fetchurl stdenv; + inherit fetchurl stdenv; }; unix2dos = import ../tools/text/unix2dos { - inherit fetchurl stdenv; + inherit fetchurl stdenv; }; gawk = useFromStdenv "gawk" @@ -802,24 +807,19 @@ let inherit fetchurl stdenv ed; }); - gnupg = import ../tools/security/gnupg { + gnupg = makeOverridable (import ../tools/security/gnupg) { inherit fetchurl stdenv readline bzip2; - ideaSupport = getPkgConfig "gnupg" "idea" false; # enable for IDEA crypto support + ideaSupport = false; }; - gnupg2 = import ../tools/security/gnupg2 { - inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib; - openldap = if getPkgConfig "gnupg" "ldap" true then openldap else null; - bzip2 = if getPkgConfig "gnupg" "bzip2" true then bzip2 else null; - libusb = if getPkgConfig "gnupg" "usb" true then libusb else null; - curl = if getPkgConfig "gnupg" "curl" true then curl else null; + gnupg2 = makeOverridable (import ../tools/security/gnupg2) { + inherit fetchurl stdenv readline libgpgerror libgcrypt libassuan pth libksba zlib + openldap bzip2 libusb curl; }; - gnuplot = import ../tools/graphics/gnuplot { - inherit fetchurl stdenv zlib gd texinfo readline emacs; + gnuplot = makeOverridable (import ../tools/graphics/gnuplot) { + inherit fetchurl stdenv zlib gd texinfo readline emacs wxGTK; inherit (xlibs) libX11 libXt libXaw libXpm; - x11Support = getPkgConfig "gnuplot" "x11" false; - wxGTK = if getPkgConfig "gnuplot" "wxGtk" false then wxGTK else null; inherit (gtkLibs) pango; inherit cairo pkgconfig; }; @@ -951,9 +951,9 @@ let inherit fetchurl stdenv; }; - ipmitool = import ../tools/system/ipmitool { + ipmitool = makeOverridable (import ../tools/system/ipmitool) { inherit fetchurl stdenv openssl; - static = !stdenv.isDarwin && getPkgConfig "ipmitool" "static" false; + static = false; }; jdiskreport = import ../tools/misc/jdiskreport { @@ -997,16 +997,16 @@ let inherit fetchurl stdenv libpcap ncurses expat pcre; }; - ktorrent = import ../tools/networking/p2p/ktorrent { - inherit fetchurl stdenv pkgconfig boost - xlibs zlib libpng libjpeg perl gmp cmake gettext; - kde = kde44; - }; + ktorrent = kde4.ktorrent; less = import ../tools/misc/less { inherit fetchurl stdenv ncurses; }; + most = import ../tools/misc/most { + inherit fetchurl stdenv slang; + }; + lftp = import ../tools/networking/lftp { inherit fetchurl stdenv readline; }; @@ -1015,6 +1015,10 @@ let inherit fetchurl stdenv pkgconfig openssl libsigcxx; }; + logrotate = import ../tools/system/logrotate { + inherit fetchurl stdenv gzip popt; + }; + lout = import ../tools/typesetting/lout { inherit fetchurl stdenv ghostscript; }; @@ -1109,6 +1113,10 @@ let inherit fetchurl stdenv gettext; }; + mtdutils = import ../tools/filesystems/mtdutils { + inherit stdenv fetchgit libuuid lzo zlib acl; + }; + multitran = recurseIntoAttrs (let inherit fetchurl stdenv help2man; in rec { @@ -1273,11 +1281,10 @@ let inherit stdenv makeWrapper ed libopensc_dnie; }; - openssh = import ../tools/networking/openssh { + openssh = makeOverridable (import ../tools/networking/openssh) { inherit fetchurl stdenv zlib openssl pam perl libedit pkgconfig; - pamSupport = getPkgConfig "openssh" "pam" true; - hpnSupport = getPkgConfig "openssh" "hpn" false; - etcDir = getPkgConfig "openssh" "etcDir" "/etc/ssh"; + hpnSupport = false; + etcDir = "/etc/ssh"; }; opensp = import ../tools/text/sgml/opensp { @@ -1305,6 +1312,10 @@ let inherit fetchurl stdenv; }; + parallel = import ../tools/misc/parallel { + inherit fetchurl stdenv perl; + }; + patchutils = import ../tools/text/patchutils { inherit fetchurl stdenv; }; @@ -1345,12 +1356,10 @@ let inherit fetchurl stdenv ncurses postgresql; }; - pdsh = import ../tools/networking/pdsh { - inherit fetchurl stdenv perl; - readline = if getPkgConfig "pdsh" "readline" true then readline else null; - rsh = getPkgConfig "pdsh" "rsh" true; - ssh = if getPkgConfig "pdsh" "ssh" true then openssh else null; - pam = if getPkgConfig "pdsh" "pam" true then pam else null; + pdsh = makeOverridable (import ../tools/networking/pdsh) { + inherit fetchurl stdenv perl readline pam; + rsh = true; # enable internal rsh implementation + ssh = openssh; }; pfstools = import ../tools/graphics/pfstools { @@ -1365,6 +1374,10 @@ let inherit (gnome) glib gtk; }; + pk2cmd = import ../tools/misc/pk2cmd { + inherit fetchurl stdenv libusb makeWrapper; + }; + plan9port = import ../tools/system/plan9port { inherit fetchurl stdenv; inherit (xlibs) libX11 xproto libXt xextproto; @@ -1454,6 +1467,10 @@ let qt = qt4; }; + rtmpdump = import ../tools/video/rtmpdump { + inherit fetchurl stdenv zlib gnutls; + }; + reiser4progs = import ../tools/filesystems/reiser4progs { inherit fetchurl stdenv libaal; }; @@ -1582,6 +1599,10 @@ let inherit fetchurl stdenv openssl; }; + sourceHighlight = import ../tools/text/source-highlight { + inherit fetchurl stdenv boost; + }; + socat2pre = builderDefsPackage ../tools/networking/socat/2.0.0-b3.nix { inherit fetchurl stdenv openssl; }; @@ -1636,11 +1657,12 @@ let }; sitecopy = import ../tools/networking/sitecopy { - inherit fetchurl stdenv neon openssl; + inherit fetchurl stdenv openssl; + neon = neon026; }; privoxy = import ../tools/networking/privoxy { - inherit fetchurl stdenv autoconf automake ; + inherit fetchurl stdenv autoconf automake zlib pcre w3m; }; tcpdump = import ../tools/networking/tcpdump { @@ -1661,6 +1683,10 @@ let inherit (xlibs) libX11 libXext; }; + tor = import ../tools/security/tor { + inherit fetchurl stdenv libevent openssl zlib; + }; + ttf2pt1 = import ../tools/misc/ttf2pt1 { inherit fetchurl stdenv perl freetype; }; @@ -1792,7 +1818,8 @@ let }; wdfs = import ../tools/filesystems/wdfs { - inherit stdenv fetchurl neon fuse pkgconfig glib; + inherit stdenv fetchurl fuse pkgconfig glib; + neon = neon026; }; wdiff = import ../tools/text/wdiff { @@ -1854,8 +1881,7 @@ let xmlto = import ../tools/typesetting/xmlto { inherit fetchurl stdenv flex libxml2 libxslt - docbook_xml_dtd_42 docbook_xsl w3m - bash getopt mktemp findutils makeWrapper; + docbook_xml_dtd_42 docbook_xsl w3m bash getopt makeWrapper; }; xmltv = import ../tools/misc/xmltv { @@ -1906,6 +1932,10 @@ let inherit fetchurl stdenv ncurses; }; + rush = import ../shells/rush { + inherit fetchurl stdenv; + }; + zsh = import ../shells/zsh { inherit fetchurl stdenv ncurses coreutils; }; @@ -2021,21 +2051,47 @@ let cross = assert crossSystem != null; crossSystem; }); - gccCrossStageStatic = wrapGCCCross { - gcc = forceBuildDrv (lib.addMetaAttrs { platforms = []; } ( - gcc44_realCross.override { - crossStageStatic = true; - langCC = false; - libcCross = null; - enableShared = true; - })); - libc = null; + gcc45_realCross = lib.addMetaAttrs { platforms = []; } + (makeOverridable (import ../development/compilers/gcc-4.5) { + inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib + ppl cloogppl gettext which noSysDirs; + binutilsCross = binutilsCross; + libcCross = libcCross; + profiledCompiler = false; + enableMultilib = false; + crossStageStatic = false; + cross = assert crossSystem != null; crossSystem; + }); + + gcc_realCross = gcc45_realCross; + + gccCrossStageStatic = let + isMingw = (stdenv.cross.libc == "msvcrt"); + libcCross1 = if isMingw then windows.mingw_headers1 else null; + in + wrapGCCCross { + gcc = forceBuildDrv (lib.addMetaAttrs { platforms = []; } ( + gcc_realCross.override { + crossStageStatic = true; + langCC = false; + libcCross = libcCross1; + enableShared = false; + })); + libc = libcCross1; + binutils = binutilsCross; + cross = assert crossSystem != null; crossSystem; + }; + + # Only needed for mingw builds + gccCrossMingw2 = wrapGCCCross { + gcc = gccCrossStageStatic.gcc; + libc = windows.mingw_headers2; binutils = binutilsCross; cross = assert crossSystem != null; crossSystem; }; gccCrossStageFinal = wrapGCCCross { - gcc = forceBuildDrv gcc44_realCross; + gcc = forceBuildDrv gcc_realCross; libc = libcCross; binutils = binutilsCross; cross = assert crossSystem != null; crossSystem; @@ -2053,6 +2109,13 @@ let profiledCompiler = true; })); + gcc45 = lowPrio (wrapGCC (makeOverridable (import ../development/compilers/gcc-4.5) { + inherit fetchurl stdenv texinfo gmp mpfr mpc libelf zlib + ppl cloogppl + gettext which noSysDirs; + profiledCompiler = true; + })); + gccApple = wrapGCC ( (if stdenv.system == "i686-darwin" then import ../development/compilers/gcc-apple else import ../development/compilers/gcc-apple64) { inherit fetchurl stdenv noSysDirs; @@ -2120,6 +2183,20 @@ let libXrandr xproto renderproto xextproto inputproto randrproto; }); + gcj45 = wrapGCC (gcc45.gcc.override { + name = "gcj"; + langJava = true; + langFortran = false; + langCC = true; + langC = false; + profiledCompiler = false; + inherit zip unzip zlib boehmgc gettext pkgconfig; + inherit (gtkLibs) gtk; + inherit (gnome) libart_lgpl; + inherit (xlibs) libX11 libXt libSM libICE libXtst libXi libXrender + libXrandr xproto renderproto xextproto inputproto randrproto; + }); + gnat = gnat44; gnat44 = wrapGCC (gcc44_real.gcc.override { @@ -2176,8 +2253,8 @@ let # GHC binaries are around for bootstrapping purposes - #ghc = haskellPackages.ghc; - + # If we'd want to reactivate the 6.6 and 6.8 series of ghc, we'd + # need to reenable an old binary such as this. /* ghc642Binary = lowPrio (import ../development/compilers/ghc/6.4.2-binary.nix { inherit fetchurl stdenv ncurses gmp; @@ -2197,8 +2274,11 @@ let # For several compiler versions, we export a large set of Haskell-related # packages. + # This should point to the current default version. haskellPackages = haskellPackages_ghc6104; + # Old versions of ghc that currently don't build because the binary + # is broken. /* haskellPackages_ghc642 = import ./haskell-packages.nix { inherit pkgs; @@ -2241,55 +2321,63 @@ let }); */ - haskellPackages_ghc6101 = import ./haskell-packages.nix { - inherit pkgs; - ghc = import ../development/compilers/ghc/6.10.1.nix { - inherit fetchurl stdenv perl ncurses gmp libedit; - ghc = ghc6101Binary; - }; - }; + # NOTE: After discussion, we decided to enable recurseIntoAttrs for all + # currently available ghc versions. (Before, it used to be enabled only + # for a selected few versions.) If someone complains about nix-env -qa + # output being spammed by lots of Haskell packages, we can talk about + # reducing the number or "enabled" versions again. - haskellPackages_ghc6102 = import ./haskell-packages.nix { + # Helper functions to abstract away from repetitive instantiations. + haskellPackagesFun610 = ghcPath : profDefault : recurseIntoAttrs (import ./haskell-packages.nix { inherit pkgs; - ghc = import ../development/compilers/ghc/6.10.2.nix { - inherit fetchurl stdenv perl ncurses gmp libedit; - ghc = ghc6101Binary; - }; - }; - - haskellPackages_ghc6103 = recurseIntoAttrs (import ./haskell-packages.nix { - inherit pkgs; - ghc = import ../development/compilers/ghc/6.10.3.nix { + enableLibraryProfiling = getConfig [ "cabal" "libraryProfiling" ] profDefault; + ghc = import ghcPath { inherit fetchurl stdenv perl ncurses gmp libedit; ghc = ghc6101Binary; }; }); - haskellPackages_ghc6104 = recurseIntoAttrs (import ./haskell-packages.nix { + haskellPackagesFun612 = ghcPath : profDefault : recurseIntoAttrs (import ./haskell-packages.nix { inherit pkgs; - ghc = import ../development/compilers/ghc/6.10.4.nix { - inherit fetchurl stdenv perl ncurses gmp libedit; - ghc = ghc6101Binary; - }; - }); - - # make this ghc default when it's supported by the Haskell Platform - haskellPackages_ghc6121 = lowPrio (import ./haskell-packages.nix { - inherit pkgs; - ghc = import ../development/compilers/ghc/6.12.1.nix { + enableLibraryProfiling = getConfig [ "cabal" "libraryProfiling" ] profDefault; + ghc = import ghcPath { inherit fetchurl stdenv perl ncurses gmp; ghc = ghc6101Binary; }; }); - haskellPackages_ghcHEAD = import ./haskell-packages.nix { + # Currently active GHC versions. + haskellPackages_ghc6101 = + haskellPackagesFun610 ../development/compilers/ghc/6.10.1.nix false; + + haskellPackages_ghc6102 = + haskellPackagesFun610 ../development/compilers/ghc/6.10.2.nix false; + + haskellPackages_ghc6103 = + haskellPackagesFun610 ../development/compilers/ghc/6.10.3.nix false; + + # Current default version. + haskellPackages_ghc6104 = + haskellPackagesFun610 ../development/compilers/ghc/6.10.4.nix false; + + # We will soon switch to either ghc-6.12.1 or ghc-6.12.2 as default. + haskellPackages_ghc6121 = lowPrio + (haskellPackagesFun612 ../development/compilers/ghc/6.12.1.nix false); + + haskellPackages_ghc6122 = lowPrio + (haskellPackagesFun612 ../development/compilers/ghc/6.12.2.nix false); + + # Currently not pointing to the actual HEAD, therefore disabled + /* + haskellPackages_ghcHEAD = lowPrio (import ./haskell-packages.nix { inherit pkgs; ghc = import ../development/compilers/ghc/6.11.nix { inherit fetchurl stdenv perl ncurses gmp libedit; inherit (haskellPackages) happy alex; # hope these aren't required for the final version ghc = ghc6101Binary; }; - }; + }); + */ haxeDist = import ../development/compilers/haxe { inherit fetchurl sourceFromHead stdenv lib ocaml zlib makeWrapper neko; @@ -2379,7 +2467,7 @@ let }; mitscheme = import ../development/compilers/mit-scheme { - inherit fetchurl stdenv; + inherit fetchurl stdenv gnum4; }; mono = import ../development/compilers/mono { @@ -2540,6 +2628,9 @@ let inherit fetchurl stdenv; }; + yasm = import ../development/compilers/yasm { + inherit fetchurl stdenv; + }; ### DEVELOPMENT / INTERPRETERS @@ -2674,11 +2765,11 @@ let inherit fetchurl stdenv zlib bzip2; }; - python25Base = composedArgsAndFun (import ../development/interpreters/python/2.5) { + python25Base = makeOverridable (import ../development/interpreters/python/2.5) { inherit fetchurl stdenv zlib bzip2 gdbm; }; - python25Full = lowPrio (python25Base.passthru.function { + python25Full = lowPrio (python25Base.override { # FIXME: We lack ncurses support, needed, e.g., for `gpsd'. db4 = if getConfig ["python" "db4Support"] true then db4 else null; sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null; @@ -2688,15 +2779,16 @@ let tcl = if getConfig ["python" "tkSupport"] true then tcl else null; libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null; xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null; + ncurses = if getConfig ["python" "curses"] true then ncurses else null; }); - python26Base = composedArgsAndFun (import ../development/interpreters/python/2.6) { + python26Base = makeOverridable (import ../development/interpreters/python/2.6) { inherit fetchurl stdenv zlib bzip2 gdbm; arch = if stdenv.isDarwin then darwinArchUtility else null; sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null; }; - python26Full = lowPrio (python26Base.passthru.function { + python26Full = lowPrio (python26Base.override { # FIXME: We lack ncurses support, needed, e.g., for `gpsd'. db4 = if getConfig ["python" "db4Support"] true then db4 else null; sqlite = if getConfig ["python" "sqliteSupport"] true then sqlite else null; @@ -2706,14 +2798,15 @@ let tcl = if getConfig ["python" "tkSupport"] true then tcl else null; libX11 = if getConfig ["python" "tkSupport"] true then xlibs.libX11 else null; xproto = if getConfig ["python" "tkSupport"] true then xlibs.xproto else null; + ncurses = if getConfig ["python" "curses"] true then ncurses else null; }); - python31Base = lowPrio (composedArgsAndFun (import ../development/interpreters/python/3.1) { + python31Base = lowPrio (makeOverridable (import ../development/interpreters/python/3.1) { inherit fetchurl stdenv zlib bzip2 gdbm; arch = if stdenv.isDarwin then darwinArchUtility else null; sw_vers = if stdenv.isDarwin then darwinSwVersUtility else null; }); - + pyrex = pyrex095; pyrex095 = import ../development/interpreters/pyrex/0.9.5.nix { @@ -2995,13 +3088,10 @@ let inherit (xlibs) libX11 libXt; }; - distcc = import ../development/tools/misc/distcc { - inherit fetchurl stdenv popt; - python = if getPkgConfig "distcc" "python" true then python else null; - avahi = if getPkgConfig "distcc" "avahi" false then avahi else null; - pkgconfig = if getPkgConfig "distcc" "gtk" false then pkgconfig else null; - gtk = if getPkgConfig "distcc" "gtk" false then gtkLibs.gtk else null; - static = getPkgConfig "distcc" "static" false; + distcc = makeOverridable (import ../development/tools/misc/distcc) { + inherit fetchurl stdenv popt python avahi pkgconfig; + inherit (gtkLibs) gtk; + static = false; }; docutils = builderDefsPackage (import ../development/tools/documentation/docutils) { @@ -3154,6 +3244,11 @@ let inherit fetchurl stdenv builderDefs stringsWithDeps lib elfutils; }; + migCross = forceBuildDrv (import ../development/tools/misc/mig { + inherit fetchgit stdenv autoconf automake flex bison machHeaders; + cross = assert crossSystem != null; crossSystem; + }); + mk = import ../development/tools/build-managers/mk { inherit fetchurl stdenv; }; @@ -3167,8 +3262,14 @@ let }; oprofile = import ../development/tools/profiling/oprofile { - inherit fetchurl stdenv binutils popt; - inherit makeWrapper gawk which gnugrep; + inherit fetchurl stdenv binutils popt makeWrapper gawk which gnugrep; + + # Optional build inputs for the (useless) GUI. + /* + qt = qt3; + inherit (xlibs) libX11 libXext; + inherit libpng; + */ }; patchelf = useFromStdenv "patchelf" @@ -3176,6 +3277,10 @@ let inherit fetchurl stdenv; }); + patchelf06 = import ../development/tools/misc/patchelf/0.6.nix { + inherit fetchurl stdenv; + }; + pmccabe = import ../development/tools/misc/pmccabe { inherit fetchurl stdenv; }; @@ -3227,6 +3332,10 @@ let inherit fetchurl stdenv python makeWrapper; }; + simpleBuildTool = import ../development/tools/build-managers/simple-build-tool { + inherit fetchurl stdenv; + }; + sloccount = import ../development/tools/misc/sloccount { inherit fetchurl stdenv perl; }; @@ -3398,11 +3507,7 @@ let inherit fetchurl stdenv lib pkgconfig; }; - boost_1_36_0 = import ../development/libraries/boost/1.36.0.nix { - inherit fetchurl stdenv icu expat zlib bzip2 python; - }; - - boost = makeOverridable (import ../development/libraries/boost/1.42.0.nix) { + boost = makeOverridable (import ../development/libraries/boost) { inherit fetchurl stdenv icu expat zlib bzip2 python; }; @@ -3489,7 +3594,7 @@ let }; consolekit = makeOverridable (import ../development/libraries/consolekit) { - inherit stdenv fetchurl pkgconfig dbus_glib zlib pam policykit expat glib; + inherit stdenv fetchurl pkgconfig dbus_glib zlib pam polkit expat glib; inherit (xlibs) libX11; }; @@ -3606,7 +3711,7 @@ let }; ffmpeg = import ../development/libraries/ffmpeg { - inherit fetchurl stdenv faad2 libvorbis speex libtheora; + inherit fetchurl stdenv faad2 libvorbis speex libtheora x264 pkgconfig xvidcore; }; fftw = import ../development/libraries/fftw { @@ -3666,7 +3771,7 @@ let inherit fetchurl stdenv x11 mesa; }; - freetype = import ../development/libraries/freetype { + freetype = makeOverridable (import ../development/libraries/freetype) { inherit fetchurl stdenv; }; @@ -3706,6 +3811,10 @@ let inherit zlib; }; + geoipjava = import ../development/libraries/java/geoipjava { + inherit stdenv fetchurl jdk unzip; + }; + geos = import ../development/libraries/geos { inherit fetchurl fetchsvn stdenv autoconf automake libtool swig which lib composableDerivation python ruby; @@ -3716,6 +3825,11 @@ let inherit fetchurl stdenv libiconv; }; + # XXX: Remove me when `stdenv-updates' is merged. + gettext_0_18 = import ../development/libraries/gettext/0.18.nix { + inherit fetchurl stdenv libiconv; + }; + gd = import ../development/libraries/gd { inherit fetchurl stdenv zlib libpng freetype libjpeg fontconfig; }; @@ -3742,17 +3856,12 @@ let inherit (xlibs) libX11 libXext xextproto; }; - glibc = - let haveRedHatKernel = system == "i686-linux" || system == "x86_64-linux"; - haveBrokenRedHatKernel = haveRedHatKernel && getConfig ["brokenRedHatKernel"] false; - in - useFromStdenv "glibc" (if haveBrokenRedHatKernel then glibc25 else - glibc211); + glibc = useFromStdenv "glibc" glibc211; - glibc25 = import ../development/libraries/glibc-2.5 { + glibc25 = makeOverridable (import ../development/libraries/glibc-2.5) { inherit fetchurl stdenv; kernelHeaders = linuxHeaders; - installLocales = getPkgConfig "glibc" "locales" false; + installLocales = false; }; glibc27 = import ../development/libraries/glibc-2.7 { @@ -3780,22 +3889,38 @@ let installLocales = getPkgConfig "glibc" "locales" false; }; - glibc211Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.11) { - inherit stdenv fetchurl; - gccCross = gccCrossStageStatic; - kernelHeaders = linuxHeadersCross; - installLocales = getPkgConfig "glibc" "locales" false; - }); + glibc211Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.11) + (let crossGNU = (crossSystem != null && crossSystem.config == "i586-pc-gnu"); + in ({ + inherit stdenv fetchurl; + gccCross = gccCrossStageStatic; + kernelHeaders = if crossGNU then hurdHeaders else linuxHeadersCross; + installLocales = getPkgConfig "glibc" "locales" false; + } + + // + + (if crossGNU + then { + inherit machHeaders hurdHeaders fetchgit; + mig = migCross; + } + else { })))); glibcCross = glibc211Cross; # We can choose: libcCrossChooser = name : if (name == "glibc") then glibcCross else if (name == "uclibc") then uclibcCross + else if (name == "msvcrt") then windows.mingw_headers3 else throw "Unknown libc"; libcCross = assert crossSystem != null; libcCrossChooser crossSystem.libc; + libdwg = import ../development/libraries/libdwg { + inherit stdenv fetchurl; + }; + eglibc = import ../development/libraries/eglibc { inherit fetchsvn stdenv; kernelHeaders = linuxHeaders; @@ -3832,6 +3957,10 @@ let '' # */ ; + glpk = import ../development/libraries/glpk { + inherit fetchurl stdenv; + }; + gmime = import ../development/libraries/gmime { inherit fetchurl stdenv pkgconfig zlib glib; }; @@ -3855,6 +3984,10 @@ let gmpxx = gmp.override { cxx = true; }; + gobjectIntrospection = makeOverridable (import ../development/libraries/gobject-introspection) { + inherit fetchurl stdenv pkgconfig flex bison glib libffi python cairo; + }; + goffice = import ../development/libraries/goffice { inherit fetchurl stdenv pkgconfig libgsf libxml2 cairo intltool gettext bzip2; @@ -3900,6 +4033,10 @@ let inherit fetchurl stdenv libgpgerror pkgconfig pth gnupg gnupg2 glib; }; + gsasl = import ../development/libraries/gsasl { + inherit stdenv fetchurl; + }; + gsl = import ../development/libraries/gsl { inherit fetchurl stdenv; }; @@ -3908,6 +4045,10 @@ let inherit fetchurl stdenv m4 bison flex openssl zlib; }; + gss = import ../development/libraries/gss { + inherit stdenv fetchurl; + }; + gtkimageview = import ../development/libraries/gtkimageview { inherit fetchurl stdenv pkgconfig; inherit (gnome) gtk; @@ -4122,6 +4263,11 @@ let inherit fetchurl stdenv; }; + lensfun = import ../development/libraries/lensfun { + inherit fetchurl stdenv libpng python zlib pkgconfig; + inherit (gnome) glib; + }; + lesstif = import ../development/libraries/lesstif { inherit fetchurl stdenv x11; inherit (xlibs) libXp libXau; @@ -4218,10 +4364,10 @@ let inherit fetchurl stdenv lib composableDerivation; }; - libdrm = import ../development/libraries/libdrm { + libdrm = if stdenv.isDarwin then null else (import ../development/libraries/libdrm { inherit fetchurl stdenv pkgconfig; inherit (xorg) libpthreadstubs; - }; + }); libdvdcss = import ../development/libraries/libdvdcss { inherit fetchurl stdenv; @@ -4239,6 +4385,10 @@ let inherit fetchurl stdenv ncurses; }; + libelf = import ../development/libraries/libelf { + inherit fetchurl stdenv; + }; + liblo = import ../development/libraries/liblo { inherit fetchurl stdenv; }; @@ -4307,6 +4457,11 @@ let useGTK = getPkgConfig "libiodbc" "gtk" false; }; + liblqr1 = makeOverridable (import ../development/libraries/liblqr-1) { + inherit stdenv fetchurl pkgconfig; + inherit (gnome) glib; + }; + libnice = import ../development/libraries/libnice { inherit stdenv fetchurl pkgconfig; inherit (gnome) glib; @@ -4665,12 +4820,19 @@ let mesa = import ../development/libraries/mesa { inherit fetchurl stdenv pkgconfig expat x11 xlibs libdrm; + lipo = if stdenv.isDarwin then darwinLipoUtility else null; }; ming = import ../development/libraries/ming { inherit fetchurl stdenv flex bison freetype zlib libpng perl; }; + mlt = import ../development/libraries/mlt { + inherit fetchurl stdenv pkgconfig SDL ffmpeg libdv libxml2 libsamplerate + libvorbis sox; + qt = qt4; + }; + mpeg2dec = import ../development/libraries/mpeg2dec { inherit fetchurl stdenv; }; @@ -4679,6 +4841,10 @@ let inherit fetchurl stdenv ilbc mediastreamer pkgconfig; }; + mpc = import ../development/libraries/mpc { + inherit fetchurl stdenv gmp mpfr; + }; + mpich2 = import ../development/libraries/mpich2 { inherit fetchurl stdenv python perl; }; @@ -4694,16 +4860,22 @@ let unicode = (system != "i686-cygwin" && crossSystem == null); }; - neon = neon026; + neon = neon029; neon026 = import ../development/libraries/neon/0.26.nix { - inherit fetchurl stdenv libxml2 zlib openssl; + inherit fetchurl stdenv libxml2 zlib openssl pkgconfig; compressionSupport = true; sslSupport = true; }; neon028 = import ../development/libraries/neon/0.28.nix { - inherit fetchurl stdenv libxml2 zlib openssl; + inherit fetchurl stdenv libxml2 zlib openssl pkgconfig; + compressionSupport = true; + sslSupport = true; + }; + + neon029 = import ../development/libraries/neon/0.29.nix { + inherit fetchurl stdenv libxml2 zlib openssl pkgconfig; compressionSupport = true; sslSupport = true; }; @@ -4754,7 +4926,7 @@ let pkgconfig xineLib; inherit (gtkLibs) gtk glib; inherit (gst_all) gstreamer; - stdenv = stdenv2; + stdenv = stdenv2; }; # this ctl version is needed by openexr_viewers @@ -4776,6 +4948,8 @@ let version = "1.4.0"; }; + openexr = openexr_1_6_1; + openldap = import ../development/libraries/openldap { inherit fetchurl stdenv openssl cyrus_sasl db4 groff; }; @@ -4798,6 +4972,11 @@ let inherit stdenv perl; }; + openssl1 = makeOverridable (import ../development/libraries/openssl/1.x.nix) { + fetchurl = fetchurlBoot; + inherit stdenv perl; + }; + ortp = import ../development/libraries/ortp { inherit fetchurl stdenv; }; @@ -4828,7 +5007,8 @@ let }; polkit = import ../development/libraries/polkit { - inherit stdenv fetchurl pkgconfig eggdbus expat pam intltool gettext glib; + inherit stdenv fetchurl pkgconfig eggdbus expat pam intltool gettext glib + gobjectIntrospection; }; policykit = makeOverridable (import ../development/libraries/policykit) { @@ -4855,6 +5035,10 @@ let inherit fetchurl stdenv; }; + postgis = import ../development/libraries/postgis { + inherit stdenv fetchurl libxml2 postgresql geos proj perl; + }; + pth = import ../development/libraries/pth { inherit fetchurl stdenv; }; @@ -4873,7 +5057,7 @@ let qt4 = qt46; - qt45 = import ../development/libraries/qt-4.5 { + qt45 = import ../development/libraries/qt-4.x/4.5 { inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus fontconfig freetype pkgconfig libtiff; inherit (xlibs) xextproto libXft libXrender libXrandr randrproto @@ -4882,20 +5066,37 @@ let inherit (gnome) glib; }; - qt46 = import ../development/libraries/qt-4.6 { + qt46 = makeOverridable (import ../development/libraries/qt-4.x/4.6) { inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus - fontconfig freetype pkgconfig libtiff; + fontconfig freetype pkgconfig libtiff perl coreutils sqlite alsaLib + postgresql; inherit (xlibs) xextproto libXft libXrender libXrandr randrproto - libXmu libXinerama xineramaproto libXcursor libXext + libXmu libXinerama xineramaproto libXcursor libXext libXi inputproto fixesproto libXfixes; inherit (gnome) glib; }; + qt47 = makeOverridable (import ../development/libraries/qt-4.x/4.7) { + inherit fetchurl stdenv lib zlib libjpeg libpng which mysql mesa openssl cups dbus + fontconfig freetype pkgconfig libtiff perl coreutils sqlite alsaLib + postgresql pulseaudio; + inherit (gst_all) gstreamer gstPluginsBase; + inherit (xlibs) xextproto libXft libXrender libXrandr randrproto + libXmu libXinerama xineramaproto libXcursor libXext libXi + inputproto fixesproto libXfixes libXv; + inherit (gnome) glib; + }; + qtscriptgenerator = makeOverridable (import ../development/libraries/qtscriptgenerator) { inherit stdenv fetchurl; qt4 = qt46; }; + quesoglc = import ../development/libraries/quesoglc { + inherit stdenv fetchurl mesa glew freetype fontconfig fribidi; + inherit (xlibs) libX11; + }; + readline = readline6; readline4 = import ../development/libraries/readline/readline4.nix { @@ -4957,6 +5158,10 @@ let pulseaudioSupport = false; # better go through ALSA }; + SDL_gfx = import ../development/libraries/SDL_gfx { + inherit fetchurl stdenv SDL; + }; + SDL_image = import ../development/libraries/SDL_image { inherit fetchurl stdenv SDL libjpeg libungif libtiff libpng; inherit (xlibs) libXpm; @@ -5096,11 +5301,11 @@ let }; wtk = import ../development/libraries/wtk { - inherit fetchurl stdenv unzip xlibs; - }; + inherit requireFile stdenv unzip xlibs; + }; x264 = import ../development/libraries/x264 { - inherit fetchurl stdenv; + inherit fetchurl stdenv yasm; }; xapian = makeOverridable (import ../development/libraries/xapian) { @@ -5145,6 +5350,10 @@ let ]; }; + xvidcore = import ../development/libraries/xvidcore { + inherit fetchurl stdenv nasm; + }; + zangband = builderDefsPackage (import ../games/zangband) { inherit ncurses flex bison autoconf automake m4 coreutils; }; @@ -5476,11 +5685,11 @@ let inherit fetchurl stdenv erlang spidermonkey icu getopt curl; }; - + felix = import ../servers/felix { inherit stdenv fetchurl; }; - + felix_remoteshell = import ../servers/felix/remoteshell.nix { inherit stdenv fetchurl; }; @@ -5614,9 +5823,17 @@ let inherit xmpppy python makeWrapper fetchcvs; }; + radius = import ../servers/radius { + inherit fetchurl stdenv m4 groff readline; + }; + samba = makeOverridable (import ../servers/samba) { inherit stdenv fetchurl readline openldap pam kerberos popt iniparser - libunwind acl fam; + libunwind acl fam; + }; + + shishi = import ../servers/shishi { + inherit fetchurl stdenv libtasn1 libgcrypt gnutls; }; squids = recurseIntoAttrs( import ../servers/squid/squids.nix { @@ -5641,7 +5858,7 @@ let }; virtuoso = makeOverridable (import ../servers/sql/virtuoso) { - inherit stdenv fetchurl libxml2 openssl readline; + inherit stdenv fetchurl libxml2 openssl readline gawk; }; vsftpd = import ../servers/ftp/vsftpd { @@ -5696,7 +5913,7 @@ let }; nfsUtils = import ../os-specific/linux/nfs-utils { - inherit fetchurl stdenv tcpWrapper libuuid; + inherit fetchurl stdenv tcpWrapper utillinuxng libcap; }; acpi = import ../os-specific/linux/acpi { @@ -5761,6 +5978,10 @@ let inherit stdenv; }; + darwinLipoUtility = import ../os-specific/darwin/lipo { + inherit stdenv; + }; + devicemapper = lvm2; dmidecode = import ../os-specific/linux/dmidecode { @@ -5848,6 +6069,13 @@ let inherit fetchurl stdenv ncurses; }; + hurdHeaders = import ../os-specific/gnu/hurd { + inherit fetchgit stdenv autoconf libtool texinfo machHeaders; + mig = migCross; + automake = automake111x; + headersOnly = true; + }; + hwdata = import ../os-specific/linux/hwdata { inherit fetchurl stdenv; }; @@ -5981,6 +6209,18 @@ let ]; }; + linux_2_6_32_systemtap = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.32.nix) { + inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; + systemtap = true; + dontStrip = true; + kernelPatches = + [ kernelPatches.fbcondecor_2_6_31 + kernelPatches.sec_perm_2_6_24 + kernelPatches.tracehook_2_6_32 + kernelPatches.utrace_2_6_32 + ]; + }; + linux_2_6_32_zen4 = makeOverridable (import ../os-specific/linux/zen-kernel/2.6.32-zen4.nix) { inherit fetchurl stdenv perl mktemp module_init_tools runCommand xz; }; @@ -6031,6 +6271,12 @@ let inherit kernel; + ati_drivers_x11 = import ../os-specific/linux/ati-drivers { + inherit stdenv fetchurl kernel xlibs which mesa xorg makeWrapper + patchelf glibc; + inherit (xorg) imake libXxf86vm xf86vidmodeproto; + }; + aufs = import ../os-specific/linux/aufs { inherit fetchurl stdenv kernel; }; @@ -6133,6 +6379,14 @@ let inherit (gnome) gtk glib pango libglade; }; + systemtap = import ../development/tools/profiling/systemtap { + inherit fetchurl stdenv elfutils latex2html xmlto pkgconfig boost + texLive texLiveExtra ghostscript perl docbook_xml_dtd_412 libxml2 + docbook_xsl libxslt sqlite; + linux = kernel; + inherit (gnome) gtkmm libglademm; + }; + virtualbox = import ../applications/virtualization/virtualbox { stdenv = stdenv_32bit; inherit fetchurl lib iasl dev86 libxslt libxml2 SDL hal @@ -6154,6 +6408,8 @@ let linuxPackages_2_6_29 = recurseIntoAttrs (linuxPackagesFor linux_2_6_29); linuxPackages_2_6_31 = recurseIntoAttrs (linuxPackagesFor linux_2_6_31); linuxPackages_2_6_32 = recurseIntoAttrs (linuxPackagesFor linux_2_6_32); + linuxPackages_2_6_32_systemtap = + recurseIntoAttrs (linuxPackagesFor linux_2_6_32_systemtap); linuxPackages_2_6_33 = recurseIntoAttrs (linuxPackagesFor linux_2_6_33); # The current default kernel / kernel modules. @@ -6246,7 +6502,13 @@ let }; lvm2 = import ../os-specific/linux/lvm2 { - inherit fetchurl stdenv; + inherit fetchurl stdenv udev; + }; + + machHeaders = import ../os-specific/gnu/mach { + inherit fetchgit stdenv autoconf texinfo; + automake = automake111x; + headersOnly = true; }; mdadm = import ../os-specific/linux/mdadm { @@ -6354,7 +6616,7 @@ let }; pwdutils = import ../os-specific/linux/pwdutils { - inherit fetchurl stdenv pam openssl libnscd; + inherit fetchurl stdenv pam gnutls libnscd; }; qemu_kvm = import ../os-specific/linux/qemu-kvm { @@ -6502,6 +6764,47 @@ let inherit ncurses; }; + windows = rec { + w32api = makeOverridable (import ../os-specific/windows/w32api) { + inherit fetchurl stdenv; + gccCross = gccCrossStageStatic; + binutilsCross = binutilsCross; + }; + + w32api_headers = w32api.override { + onlyHeaders = true; + }; + + mingw_runtime = makeOverridable (import ../os-specific/windows/mingwrt) { + inherit fetchurl stdenv; + gccCross = gccCrossMingw2; + binutilsCross = binutilsCross; + }; + + mingw_runtime_headers = mingw_runtime.override { + onlyHeaders = true; + }; + + mingw_headers1 = buildEnv { + name = "mingw-headers-1"; + paths = [ w32api_headers mingw_runtime_headers ]; + }; + + mingw_headers2 = buildEnv { + name = "mingw-headers-2"; + paths = [ w32api mingw_runtime_headers ]; + }; + + mingw_headers3 = buildEnv { + name = "mingw-headers-3"; + paths = [ w32api mingw_runtime ]; + }; + + wxMSW = makeOverridable (import ../os-specific/windows/wxMSW-2.8) { + inherit fetchurl stdenv; + }; + }; + wesnoth = import ../games/wesnoth { inherit fetchurl stdenv SDL SDL_image SDL_mixer SDL_net SDL_ttf gettext zlib boost freetype libpng pkgconfig; @@ -6512,13 +6815,20 @@ let inherit fetchurl stdenv; }; - wpa_supplicant = import ../os-specific/linux/wpa_supplicant { + wpa_supplicant = makeOverridable (import ../os-specific/linux/wpa_supplicant) { inherit fetchurl stdenv openssl; + inherit qt4; + guiSupport = false; }; + # prebuild binaries: + wpa_supplicant_gui = wpa_supplicant.override { guiSupport = true; }; - wpa_supplicant_gui_qt4 = import ../os-specific/linux/wpa_supplicant/gui-qt4.nix { + # deprecated, but contains icon ? Does no longer build + /* didn't build Sun Apr 25 20:34:18 CEST 2010 + wpa_supplicant_gui_qt4_old = import ../os-specific/linux/wpa_supplicant/gui-qt4.nix { inherit fetchurl stdenv qt4 imagemagick inkscape; }; + */ xf86_input_wacom = import ../os-specific/linux/xf86-input-wacom { inherit stdenv fetchurl ncurses pkgconfig file; @@ -6813,7 +7123,7 @@ let awesome = import ../applications/window-managers/awesome { inherit fetchurl stdenv xz cmake gperf imagemagick pkgconfig imlib2 libxdg_basedir libstartup_notification libev asciidoc libxslt xmlto dbus docbook_xsl - docbook_xml_dtd_45; + docbook_xml_dtd_45 coreutils; inherit (gtkLibs) glib pango; inherit (xorg) libxcb xcbutil; lua = lua5; @@ -6862,18 +7172,22 @@ let openal = openalSoft; }; - blender = import ../applications/misc/blender { - inherit cmake mesa gettext freetype SDL libtiff fetchurl glibc scons x11 lib - libjpeg libpng zlib /* smpeg sdl */ python; - inherit (xlibs) inputproto libXi; - freealut = freealut_soft; - openal = openalSoft; - openexr = openexr_1_4_0; - # using gcc43 makes blender segfault when pressing p then esc. - # is this related to the PHP bug? I'm to lazy to try recompilng it without optimizations - stdenv = overrideGCC stdenv gcc42; + blender = import ../applications/misc/blender/2.49.nix { + inherit fetchurl cmake mesa gettext libjpeg libpng zlib openal SDL openexr + libsamplerate libtiff ilmbase freetype; + inherit (xlibs) libXi; + python = python26Base; + stdenv = stdenv2; }; + blender_2_50 = lowPrio (import ../applications/misc/blender { + inherit fetchurl cmake mesa gettext libjpeg libpng zlib openal SDL openexr + libsamplerate libtiff ilmbase; + inherit (xlibs) libXi; + python = python31Base; + stdenv = stdenv2; + }); + bmp = import ../applications/audio/bmp { inherit fetchurl stdenv pkgconfig libogg libvorbis alsaLib id3lib; inherit (gnome) esound libglade; @@ -6933,10 +7247,11 @@ let }; chrome = import ../applications/networking/browsers/chromium { - inherit stdenv fetchurl ffmpeg cairo nspr nss fontconfig freetype alsaLib makeWrapper unzip expat zlib bzip2 libpng; + inherit stdenv fetchurl ffmpeg cairo nspr nss fontconfig freetype alsaLib makeWrapper unzip expat zlib bzip2 libpng dbus dbus_glib; inherit (xlibs) libX11 libXext libXrender libXt libXScrnSaver; inherit (gtkLibs) gtk glib pango atk; inherit (gnome) GConf; + patchelf = patchelf06; libjpeg = libjpeg62; }; @@ -7025,6 +7340,13 @@ let wxGTK = wxGTK26; }; + conkeror = xulrunnerWrapper { + launcher = "conkeror"; + application = import ../applications/networking/browsers/conkeror { + inherit stdenv fetchurl unzip; + }; + }; + cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) { inherit cmake patchelf; imagemagick=imagemagick; @@ -7074,7 +7396,7 @@ let dmtx = builderDefsPackage (import ../tools/graphics/dmtx) { inherit libpng libtiff libjpeg imagemagick librsvg pkgconfig bzip2 zlib libtool freetype fontconfig - ghostscript; + ghostscript jasper; inherit (xlibs) libX11; }; @@ -7093,13 +7415,14 @@ let inherit (xlibs) libX11; }; - eclipse = import ../applications/editors/eclipse { + eclipse = makeOverridable (import ../applications/editors/eclipse) { inherit stdenv fetchurl patchelf makeDesktopItem makeWrapper freetype fontconfig jre zlib; # GTK 2.18 gives glitches such as mouse clicks on buttons not # working correctly. inherit (gtkLibs216) glib gtk; inherit (xlibs) libX11 libXext libXrender libXtst; }; + eclipseLatest = eclipse.override { version = "latest"; }; ed = import ../applications/editors/ed { inherit fetchurl stdenv; @@ -7124,16 +7447,17 @@ let gtkGUI = getPkgConfig "emacs" "gtkSupport" true; }; - emacs23 = import ../applications/editors/emacs-23 { - inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d - libpng libjpeg libungif libtiff texinfo dbus; - inherit (xlibs) libXaw libXpm libXft; - inherit (gtkLibs) gtk; - xawSupport = stdenv.isDarwin || getPkgConfig "emacs" "xawSupport" false; - xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false; - gtkGUI = getPkgConfig "emacs" "gtkSupport" true; - xftSupport = getPkgConfig "emacs" "xftSupport" true; - dbusSupport = getPkgConfig "emacs" "dbusSupport" true; + emacs23 = makeOverridable (import ../applications/editors/emacs-23) { + inherit fetchurl stdenv ncurses pkgconfig x11 libpng libjpeg + libungif libtiff texinfo dbus; + inherit (xlibs) libXpm libXft; + # use override to select the appropriate gui toolkit + libXaw = if stdenv.isDarwin then xlibs.libXaw else null; + Xaw3d = null; + gtk = if stdenv.isDarwin then gtkLibs.gtk else null; + # TODO: these packages don't build on Darwin. + gconf = if stdenv.isDarwin then null else gnome.GConf; + librsvg = if stdenv.isDarwin then null else librsvg; }; emacsSnapshot = lowPrio (import ../applications/editors/emacs-snapshot { @@ -7166,6 +7490,10 @@ let inherit fetchurl stdenv emacs cedet jdee texinfo; }; + jabber = import ../applications/editors/emacs-modes/jabber { + inherit stdenv fetchurl emacs; + }; + emacsSessionManagement = import ../applications/editors/emacs-modes/session-management-for-emacs { inherit fetchurl stdenv emacs; }; @@ -7197,7 +7525,7 @@ let }; magit = import ../applications/editors/emacs-modes/magit { - inherit fetchurl stdenv emacs texinfo autoconf automake; + inherit fetchurl stdenv emacs texinfo; }; maudeMode = import ../applications/editors/emacs-modes/maude { @@ -7261,6 +7589,10 @@ let inherit stdenv fetchurl openssl; }; + fossil = import ../applications/version-management/fossil { + inherit stdenv fetchurl zlib openssl; + }; + grip = import ../applications/misc/grip { inherit fetchurl stdenv lib grip pkgconfig curl cdparanoia libid3tag; inherit (gtkLibs) gtk glib; @@ -7275,7 +7607,7 @@ let inherit fetchurl stdenv perl pkgconfig libpcap flex bison; inherit (gtkLibs) gtk; }; - + wvdial = import ../os-specific/linux/wvdial { inherit stdenv fetchurl wvstreams pkgconfig; }; @@ -7573,21 +7905,23 @@ let ikiwiki = makeOverridable (import ../applications/misc/ikiwiki) { inherit fetchurl stdenv perl gettext makeWrapper lib; inherit (perlPackages) TextMarkdown URI HTMLParser HTMLScrubber - HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder LocaleGettext; - inherit git; # The RCS should be optional - monotone = null; + HTMLTemplate TimeDate CGISession DBFile CGIFormBuilder LocaleGettext + RpcXML XMLSimple PerlMagick; + git = if getPkgConfig "ikiwiki" "git" true then git else null; + monotone = if getPkgConfig "ikiwiki" "monotone" false then monotone else null; extraUtils = []; }; imagemagick = import ../applications/graphics/ImageMagick { inherit stdenv fetchurl bzip2 freetype graphviz ghostscript - libjpeg libpng libtiff libxml2 zlib libtool; + libjpeg libpng libtiff libxml2 zlib libtool jasper; inherit (xlibs) libX11; }; imagemagickBig = import ../applications/graphics/ImageMagick { inherit stdenv fetchurl bzip2 freetype graphviz ghostscript - libjpeg libpng libtiff libxml2 zlib tetex librsvg libtool; + libjpeg libpng libtiff libxml2 zlib tetex librsvg libtool + jasper; inherit (xlibs) libX11; }; @@ -7620,7 +7954,7 @@ let }; irssi = import ../applications/networking/irc/irssi { - inherit stdenv fetchurl pkgconfig ncurses openssl glib; + inherit stdenv fetchurl pkgconfig ncurses openssl glib perl; }; jackmeter = import ../applications/audio/jackmeter { @@ -7661,7 +7995,12 @@ let }; lame = import ../applications/audio/lame { + inherit fetchurl stdenv nasm; + }; + + larswm = import ../applications/window-managers/larswm { inherit fetchurl stdenv; + inherit (xlibs) imake libX11 libXext libXmu; }; ladspaH = import ../applications/audio/ladspa-plugins/ladspah.nix { @@ -7683,7 +8022,7 @@ let inherit fetchurl stdenv; }; - ledger = import ../applications/office/ledger { + ledger = makeOverridable (import ../applications/office/ledger) { inherit stdenv fetchurl emacs gmp pcre; }; @@ -7784,7 +8123,7 @@ let MPlayer = import ../applications/video/MPlayer { inherit fetchurl stdenv freetype fontconfig x11 zlib libtheora libcaca libdvdnav - cdparanoia mesa pkgconfig unzip amrnb amrwb jackaudio; + cdparanoia mesa pkgconfig unzip amrnb amrwb jackaudio x264 xvidcore; inherit (xlibs) libX11 libXv libXinerama libXrandr; alsaSupport = true; alsa = alsaLib; @@ -7794,6 +8133,8 @@ let randrSupport = true; cddaSupport = true; amrSupport = getConfig [ "MPlayer" "amr" ] false; + x264Support = true; + xvidSupport = true; }; MPlayerPlugin = browser: @@ -7845,15 +8186,21 @@ let inherit fetchurl stdenv ncurses; }; + openjump = import ../applications/misc/openjump { + inherit stdenv fetchurl unzip; + }; + openoffice = import ../applications/office/openoffice { - inherit fetchurl stdenv pam python tcsh libxslt perl zlib libjpeg + inherit fetchurl pam python tcsh libxslt perl zlib libjpeg expat pkgconfig freetype fontconfig libwpd libxml2 db4 sablotron - curl libsndfile flex zip unzip libmspack getopt file neon cairo + curl libsndfile flex zip unzip libmspack getopt file cairo which icu jdk ant cups openssl bison boost gperf cppunit; inherit (xlibs) libXaw libXext libX11 libXtst libXi libXinerama; inherit (gtkLibs) gtk; inherit (perlPackages) ArchiveZip CompressZlib; inherit (gnome) GConf ORBit2; + neon = neon026; + stdenv = stdenv2; }; opera = import ../applications/networking/browsers/opera { @@ -7919,6 +8266,10 @@ let inherit fetchurl stdenv libotr pidgin; }; + pidginsipe = import ../applications/networking/instant-messengers/pidgin-plugins/sipe { + inherit fetchurl stdenv pidgin intltool libxml2; + }; + pinfo = import ../applications/misc/pinfo { inherit fetchurl stdenv ncurses readline; }; @@ -7992,6 +8343,13 @@ let libstdcpp5 = gcc33.gcc; }); + rekonq = makeOverridable (import ../applications/networking/browsers/rekonq) { + inherit fetchurl fetchgit stdenv cmake perl; + inherit (kde4) qt4 kdelibs automoc4 phonon; + }; + + rekonqScm = rekonq.override { v = "scm"; }; + rsync = import ../applications/networking/sync/rsync { inherit fetchurl stdenv acl perl; enableACLs = !stdenv.isDarwin; @@ -8010,7 +8368,7 @@ let }; sakura = import ../applications/misc/sakura { - inherit stdenv fetchurl cmake pkgconfig gettext; + inherit stdenv fetchurl cmake pkgconfig gettext perl; inherit (gtkLibs) gtk; inherit (gnome) vte; inherit (xlibs) pixman; @@ -8088,7 +8446,7 @@ let subversion = makeOverridable (import ../applications/version-management/subversion/default.nix) { inherit (pkgsOverriden) fetchurl stdenv apr aprutil expat swig zlib jdk python perl sqlite; - neon = neon028; + neon = neon029; bdbSupport = getConfig ["subversion" "bdbSupport"] true; httpServer = getConfig ["subversion" "httpServer"] false; httpSupport = getConfig ["subversion" "httpSupport"] true; @@ -8550,6 +8908,11 @@ let }); */ + freedink = import ../games/freedink { + inherit stdenv fetchurl SDL SDL_mixer SDL_image SDL_ttf SDL_gfx + pkgconfig fontconfig libzip zip zlib; + }; + fsg = import ../games/fsg { inherit stdenv fetchurl pkgconfig mesa; inherit (gtkLibs) glib gtk; @@ -8572,6 +8935,10 @@ let flex = flex2535; }; + gnugo = import ../games/gnugo { + inherit stdenv fetchurl; + }; + gparted = import ../tools/misc/gparted { inherit fetchurl stdenv parted intltool gettext libuuid pkgconfig libxml2; inherit (gtkLibs) gtk glib gtkmm; @@ -8643,6 +9010,13 @@ let inherit (xlibs) libX11; }; + six = import ../games/six { + inherit stdenv fetchurl; + inherit perl zlib qt3; + inherit (kde3) arts kdelibs; + inherit (xlibs) libX11 libXt libXext; + }; + # You still can override by passing more arguments. spaceOrbit = composedArgsAndFun (import ../games/orbit/1.01.nix) { inherit fetchurl stdenv builderDefs mesa freeglut; @@ -8650,6 +9024,10 @@ let inherit (xlibs) libXt libX11 libXmu libXi libXext; }; + superTux = import ../games/super-tux { + inherit fetchurl stdenv SDL SDL_image SDL_mixer curl gettext libogg libvorbis mesa openal; + }; + superTuxKart = import ../games/super-tux-kart { inherit fetchurl stdenv plib SDL openal freealut mesa libvorbis libogg gettext; @@ -8674,7 +9052,7 @@ let }; urbanterror = import ../games/urbanterror { - inherit fetchurl stdenv unzip SDL mesa curl openal; + inherit fetchurl stdenv unzip SDL mesa openal curl; }; ut2004demo = import ../games/ut2004demo { @@ -8688,6 +9066,12 @@ let libjpeg = libjpeg62; }; + warzone2100 = import ../games/warzone2100 { + inherit stdenv fetchurl bison gettext pkgconfig SDL libpng libtheora + openal popt physfs mesa quesoglc zip unzip which; + flex = flex2535; + }; + xboard = builderDefsPackage (import ../games/xboard) { inherit (xlibs) libX11 xproto libXt libXaw libSM libICE libXmu libXext libXpm; @@ -8798,8 +9182,12 @@ let kde44 = makeOverridable (import ../desktops/kde-4.4) (pkgs // { openexr = openexr_1_6_1; + stdenv = stdenv2; }); + xfce = xfce4; + xfce4 = recurseIntoAttrs (import ../desktops/xfce-4 pkgs); + ### SCIENCE xplanet = import ../applications/science/xplanet { @@ -8895,6 +9283,11 @@ let camlp5 = camlp5_transitional; }; + coq_beta = import ../applications/science/logic/coq/beta.nix { + inherit stdenv fetchurl ocaml lablgtk ncurses; + camlp5 = camlp5_transitional; + }; + hol_light = import ../applications/science/logic/hol_light { inherit stdenv fetchurl ocaml_with_sources; }; @@ -9088,25 +9481,23 @@ let inherit stdenv fetchurl jdk makeWrapper; }; - nix = makeOverridable (import ../tools/package-management/nix) { + nix = nixUnstable; + + nixStable = makeOverridable (import ../tools/package-management/nix) { inherit fetchurl stdenv perl curl bzip2 openssl aterm; storeDir = getPkgConfig "nix" "storeDir" "/nix/store"; stateDir = getPkgConfig "nix" "stateDir" "/nix/var"; }; - # The bleeding edge. - nixUnstable = nix; - /* nixUnstable = makeOverridable (import ../tools/package-management/nix/unstable.nix) { - inherit fetchurl stdenv perl curl bzip2 openssl aterm; + inherit fetchurl stdenv perl curl bzip2 openssl; storeDir = getPkgConfig "nix" "storeDir" "/nix/store"; stateDir = getPkgConfig "nix" "stateDir" "/nix/var"; }; - */ # The SQLite branch. nixSqlite = lowPrio (makeOverridable (import ../tools/package-management/nix/sqlite.nix) { - inherit fetchurl stdenv perl curl bzip2 openssl aterm sqlite; + inherit fetchurl stdenv perl curl bzip2 openssl sqlite; storeDir = getPkgConfig "nix" "storeDir" "/nix/store"; stateDir = getPkgConfig "nix" "stateDir" "/nix/var"; }); @@ -9166,8 +9557,8 @@ let }; putty = import ../applications/networking/remote/putty { - inherit stdenv fetchurl ncurses; - inherit (gtkLibs1x) gtk; + inherit stdenv fetchsvn ncurses pkgconfig autoconf automake perl halibut; + inherit (gtkLibs) gtk; }; rssglx = import ../misc/screensavers/rss-glx { @@ -9199,12 +9590,6 @@ let inherit stdenv fetchurl cups zlib; }; - synaptics = import ../misc/synaptics { - inherit fetchurl stdenv pkgconfig; - inherit (xlibs) libX11 libXi libXext pixman xf86inputevdev; - inherit (xorg) xorgserver; - }; - tetex = import ../misc/tex/tetex { inherit fetchurl stdenv flex bison zlib libpng ncurses ed; }; @@ -9292,6 +9677,11 @@ let flex = pkgsi686Linux.flex2535; }; + x2x = import ../tools/X11/x2x { + inherit stdenv fetchurl; + inherit (xlibs) imake libX11 libXtst libXext; + }; + xosd = import ../misc/xosd { inherit fetchurl stdenv; inherit (xlibs) libX11 libXext libXt xextproto xproto; diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index 9d4f276d9b3c..a5d36088b729 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -1,4 +1,4 @@ -{pkgs, ghc}: +{pkgs, ghc, enableLibraryProfiling ? false}: let ghcReal = pkgs.lowPrio ghc; in @@ -21,7 +21,7 @@ rec { cabal = import ../development/libraries/haskell/cabal/cabal.nix { inherit (pkgs) stdenv fetchurl lib; - inherit ghc; + inherit ghc enableLibraryProfiling; }; @@ -57,6 +57,10 @@ rec { inherit cabal; }; + bitmap = import ../development/libraries/haskell/bitmap { + inherit cabal; + }; + bytestring = import ../development/libraries/haskell/bytestring { inherit cabal; }; @@ -78,6 +82,10 @@ rec { inherit cabal mtl network parsec xhtml; }; + cmdargs = import ../development/libraries/haskell/cmdargs { + inherit cabal filepath mtl; + }; + colorizeHaskell = import ../development/libraries/haskell/colorize-haskell { inherit cabal ansiTerminal haskellLexer; }; @@ -206,6 +214,10 @@ rec { network = network2217; }; + GlomeVec = import ../development/libraries/haskell/GlomeVec { + inherit cabal; + }; + GLUT2121 = import ../development/libraries/haskell/GLUT/2.1.2.1.nix { inherit cabal; OpenGL = OpenGL2230; @@ -213,14 +225,14 @@ rec { inherit (pkgs) mesa; inherit (pkgs.xlibs) libSM libICE libXmu libXi; }; - + GLUT = import ../development/libraries/haskell/GLUT { inherit cabal OpenGL; glut = pkgs.freeglut; inherit (pkgs) mesa; inherit (pkgs.xlibs) libSM libICE libXmu libXi; }; - + gtk2hs = import ../development/libraries/haskell/gtk2hs { inherit ghc mtl; inherit (pkgs) stdenv fetchurl pkgconfig gnome cairo; @@ -261,7 +273,7 @@ rec { }; hashedStorage = import ../development/libraries/haskell/hashed-storage { - inherit cabal mtl zlib mmap; + inherit cabal mtl zlib mmap binary dataenc; }; haskeline = import ../development/libraries/haskell/haskeline { @@ -287,8 +299,8 @@ rec { haskellSrcMeta = import ../development/libraries/haskell/haskell-src-meta { inherit cabal haskellSrcExts; }; - - haskellPlatform2010100 = import ../development/libraries/haskell/haskell-platform/2010.1.0.0.nix { + + haskellPlatform2010100 = pkgs.lowPrio (import ../development/libraries/haskell/haskell-platform/2010.1.0.0.nix { inherit cabal ghc fgl haskellSrc html stm xhtml happy; @@ -308,7 +320,7 @@ rec { regexPosix = regexPosix0941; haddock = haddock272; inherit (pkgs) fetchurl; - }; + }); haskellPlatform = import ../development/libraries/haskell/haskell-platform { inherit cabal ghc GLUT HTTP HUnit OpenGL QuickCheck cgi fgl editline @@ -546,10 +558,18 @@ rec { inherit cabal; }; + ppm = import ../development/libraries/haskell/ppm { + inherit cabal mtl; + }; + pureMD5 = import ../development/libraries/haskell/pureMD5 { inherit cabal binary; }; + primitive = import ../development/libraries/haskell/primitive { + inherit cabal; + }; + QuickCheck = QuickCheck1; QuickCheck1 = import ../development/libraries/haskell/QuickCheck { @@ -560,6 +580,10 @@ rec { inherit cabal mtl; }; + RangedSets = import ../development/libraries/haskell/Ranged-sets { + inherit cabal HUnit QuickCheck; + }; + readline = import ../development/libraries/haskell/readline { inherit cabal; inherit (pkgs) readline ncurses; @@ -679,6 +703,10 @@ rec { inherit cabal; }; + stbImage = import ../development/libraries/haskell/stb-image { + inherit cabal bitmap; + }; + stm = import ../development/libraries/haskell/stm { inherit cabal; }; @@ -766,6 +794,14 @@ rec { inherit cabal vacuum gtk2hs parallel strictConcurrency; }; + Vec = import ../development/libraries/haskell/Vec { + inherit cabal QuickCheck; + }; + + vector = import ../development/libraries/haskell/vector { + inherit cabal primitive; + }; + vty = import ../development/libraries/haskell/vty { inherit cabal utf8String terminfo; }; @@ -843,8 +879,8 @@ rec { # Compilers. ehc = import ../development/compilers/ehc { - inherit ghc uulib uuagc; - inherit (pkgs) fetchsvn stdenv coreutils m4 libtool llvm; + inherit ghc uulib uuagc mtl network binary fgl; + inherit (pkgs) fetchsvn stdenv coreutils glibc m4 libtool llvm; }; helium = import ../development/compilers/helium { @@ -887,7 +923,7 @@ rec { }; # does not compile with ghc-6.8.3 - haddock210 = pkgs.stdenv.lib.lowPrio (import ../development/tools/documentation/haddock/haddock-2.1.0.nix { + haddock210 = pkgs.lowPrio (import ../development/tools/documentation/haddock/haddock-2.1.0.nix { inherit cabal; }); @@ -940,6 +976,7 @@ rec { darcs = import ../applications/version-management/darcs/darcs-2.nix { inherit cabal html mtl parsec regexCompat haskeline hashedStorage; + zlib = zlib0520; inherit (pkgs) curl; }; @@ -947,7 +984,7 @@ rec { inherit cabal gtk2hs binary parsec regexPosix regexCompat utf8String; inherit (pkgs) libedit makeWrapper; }; - + xmobar = import ../applications/misc/xmobar { inherit cabal X11 mtl parsec stm utf8String X11_xft; }; diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix index 5f5938d25cae..93a833c994fe 100644 --- a/pkgs/top-level/make-tarball.nix +++ b/pkgs/top-level/make-tarball.nix @@ -43,7 +43,7 @@ releaseTools.makeSourceTarball { checkPhase = '' # Run the regression tests in `lib'. res="$(nix-instantiate --eval-only --strict pkgs/lib/tests.nix)" - if test "$res" != "List([])"; then + if test "$res" != "[ ]"; then echo "regression tests for lib failed, got: $res" exit 1 fi diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index bb455efa7902..421684be43b5 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -88,6 +88,15 @@ rec { }; }; + AuthenSASL = buildPerlPackage rec { + name = "Authen-SASL-2.1401"; + src = fetchurl { + url = "mirror://cpan/authors/id/G/GB/GBARR/${name}.tar.gz"; + sha256 = "1vx97xnqj5jqlh767l04jbqmsiqd5qcbw2jnbd3qh7fhh0slff6d"; + }; + propagatedBuildInputs = [DigestHMAC]; + }; + Autobox = buildPerlPackage rec { name = "autobox-2.55"; src = fetchurl { @@ -641,7 +650,7 @@ rec { sha256 = "0fazl71hrc0r56gnc7vzwz9283p7h62gc8wsna7zgyfvrajjnhwl"; }; }; - + CompressRawBzip2 = import ../development/perl-modules/Compress-Raw-Bzip2 { inherit fetchurl buildPerlPackage; inherit (pkgs) bzip2; @@ -988,10 +997,10 @@ rec { }; DigestSHA1 = buildPerlPackage { - name = "Digest-SHA1-2.11"; + name = "Digest-SHA1-2.12"; src = fetchurl { - url = mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.11.tar.gz; - md5 = "2449bfe21d6589c96eebf94dae24df6b"; + url = mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.12.tar.gz; + sha256 = "19gmbb3yb9pr0y02c6rf99zh14a7a67l4frl7cs0lzpxb41484xa"; }; }; @@ -1372,6 +1381,20 @@ rec { }; }; + PerlMagick = buildPerlPackage { + name = "PerlMagick-6.59"; + src = fetchurl { + url = mirror://cpan/authors/id/J/JC/JCRISTY/PerlMagick-6.59.tar.gz; + sha256 = "a87999b322460f7ba964eed81f91f400fba4ba6ff88e3f9e2b216d4d8ecf638d"; + }; + buildInputs = [pkgs.imagemagick]; + preConfigure = + '' + sed -i -e 's|my \$INC_magick = .*|my $INC_magick = "-I${pkgs.imagemagick}/include/ImageMagick";|' Makefile.PL + ''; + doCheck = false; + }; + IOCompressBase = buildPerlPackage rec { name = "IO-Compress-Base-2.015"; src = fetchurl { @@ -1415,6 +1438,16 @@ rec { }; }; + IOSocketSSL = buildPerlPackage { + name = "IO-Socket-SSL-1.33"; + src = fetchurl { + url = mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-1.33.tar.gz; + sha256 = "1lpp2cs794d989b9gfhssjv1bkcs9lmrkjcpnxsavj7822izs4xj"; + }; + propagatedBuildInputs = [NetSSLeay]; + # TODO: IOSocketINET6 + }; + IOString = buildPerlPackage rec { name = "IO-String-1.08"; src = fetchurl { @@ -1654,6 +1687,14 @@ rec { propagatedBuildInputs = [TimeDate TestPod]; }; + MIMEBase64 = buildPerlPackage rec { + name = "MIME-Base64-3.09"; + src = fetchurl { + url = "mirror://cpan/authors/id/G/GA/GAAS/${name}.tar.gz"; + sha256 = "1gi2zyxwkkmyng8jawfnbxpsybvybz6h6ryq0wfdljmmjpjbmzzc"; + }; + }; + MIMETypes = buildPerlPackage rec { name = "MIME-Types-1.27"; src = fetchurl { @@ -1718,7 +1759,7 @@ rec { }; propagatedBuildInputs = [Moose MooseXTypes TestException]; }; - + MooseXParamsValidate = buildPerlPackage rec { name = "MooseX-Params-Validate-0.10"; src = fetchurl { @@ -1727,7 +1768,7 @@ rec { }; propagatedBuildInputs = [Moose ParamsValidate SubExporter TestException]; }; - + MooseXSemiAffordanceAccessor = buildPerlPackage rec { name = "MooseX-SemiAffordanceAccessor-0.03"; src = fetchurl { @@ -1736,7 +1777,7 @@ rec { }; propagatedBuildInputs = [Moose]; }; - + MooseXTraits = buildPerlPackage rec { name = "MooseX-Traits-0.06"; src = fetchurl { @@ -1747,7 +1788,7 @@ rec { ClassMOP Moose TestException TestUseOk ]; }; - + MooseXTraitsPluggable = buildPerlPackage rec { name = "MooseX-Traits-Pluggable-0.04"; src = fetchurl { @@ -1759,7 +1800,7 @@ rec { MooseXTraits MooseAutobox ]; }; - + MooseXTypes = buildPerlPackage rec { name = "MooseX-Types-0.16"; src = fetchurl { @@ -1768,7 +1809,7 @@ rec { }; propagatedBuildInputs = [Moose CarpClan NamespaceClean]; }; - + Mouse = buildPerlPackage rec { name = "Mouse-0.26"; src = fetchurl { @@ -1832,6 +1873,37 @@ rec { doCheck = false; # seems to hang waiting for connections }; + NetSMTP = buildPerlPackage { + name = "Net-SMTP-1.22"; + src = fetchurl { + url = mirror://cpan/authors/id/G/GB/GBARR/libnet-1.22.tar.gz; + sha256 = "113c36qilbvd69yhkm2i2ba20ajff7cdpgvlqx96j9bb1hfmhb1p"; + }; + # Test perform network access + doCheck = false; + }; + + NetSMTPSSL = buildPerlPackage { + name = "Net-SMTP-SSL-1.01"; + src = fetchurl { + url = mirror://cpan/authors/id/C/CW/CWEST/Net-SMTP-SSL-1.01.tar.gz; + sha256 = "12b2xvrd253ngvzwf81s9han4jr94l39vs5ca70pzr3wpi39qn8k"; + }; + propagatedBuildInputs = [IOSocketSSL]; + }; + + NetSSLeay = buildPerlPackage { + name = "Net-SSLeay-1.36"; + src = fetchurl { + url = mirror://cpan/authors/id/F/FL/FLORA/Net-SSLeay-1.36.tar.gz; + sha256 = "1kjk5kdwsklchxrv21m4ii80akbxrg3i6y4zwfb91an5cdr8jqp2"; + }; + buildInputs = [pkgs.openssl]; + OPENSSL_PREFIX = pkgs.openssl; + # Test perform network access + doCheck = false; + }; + NetTwitterLite = buildPerlPackage { name = "Net-Twitter-Lite-0.08003"; @@ -1949,7 +2021,7 @@ rec { url = "mirror://cpan/authors/id/A/AD/ADAMK/${name}.tar.gz"; sha256 = "6c851e86475242fa0def2f02565743d41ab703ff6df3e826166ee9df5b961c7a"; }; - propagatedBuildInputs = [ + propagatedBuildInputs = [ ClassInspector Clone FileRemove @@ -2089,6 +2161,15 @@ rec { }; }; + RpcXML = buildPerlPackage { + name = "RPC-XML-0.73"; + src = fetchurl { + url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.73.tar.gz; + sha256 = "a023649603240e7a19fc52a8316a41c854639c0600058ea4d1e436fe1b1b7734"; + }; + propagatedBuildInputs = [LWP XMLLibXML XMLParser]; + }; + ReturnValue = buildPerlPackage { name = "Return-Value-1.302"; src = fetchurl { diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix index 5244769a261f..d8a1394bbdb1 100644 --- a/pkgs/top-level/platforms.nix +++ b/pkgs/top-level/platforms.nix @@ -62,6 +62,8 @@ rec { ATM_HE n SCSI_ACARD n BLK_DEV_CMD640_ENHANCED n + + FUSE_FS m ''; kernelTarget = "uImage"; uboot = "sheevaplug"; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 16a6544f3ff3..48cdf1f143a9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -367,11 +367,11 @@ rec { }); numpy = buildPythonPackage ( rec { - name = "numpy-1.3.0"; + name = "numpy-1.4.1"; src = fetchurl { - url = "http://downloads.sourceforge.net/numpy/${name}.tar.gz"; - sha256 = "7524687cce85aa78103046db5e617c626b0ef871a203a049159f88f35647c90d"; + url = "mirror://sourceforge/numpy/${name}.tar.gz"; + sha256 = "01lf3nc2lp1qkrqnnar50vb7i6y07d1zs6f9yc3kw4p5fd2vhyrf"; }; doCheck = false; @@ -606,7 +606,8 @@ rec { sha256 = "0jg9q9mhsky444mm7lpmmlxai8hmjg4pc71viv4kni8gls0gk9n8"; }; - propagatedBuildInputs = [ pkgs.darcs ]; + # In order to break the dependency on darcs -> ghc, we don't add + # darcs as a propagated build input. meta = { description = "setuptools plugin for the Darcs version control system"; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index 571484f05409..0845d73175cc 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -121,4 +121,36 @@ let }; in { crossUltraSparcLinux = mapTestOnCross crossSystem basic; +}) // ( + +/* Test some cross builds on mingw32 */ +let + crossSystem = { + config = "i686-pc-mingw32"; + arch = "x86"; + libc = "msvcrt"; # This distinguishes the mingw (non posix) toolchain + platform = {}; + }; +in { + crossMingw32 = mapTestOnCross crossSystem { + windows.wxMSW.hostDrv = nativePlatforms; + gccCrossStageFinal = nativePlatforms; + }; +}) // ( + +/* GNU aka. GNU/Hurd. */ +let + crossSystem = { + config = "i586-pc-gnu"; + bigEndian = false; + arch = "i586"; + float = "hard"; + withTLS = true; + platform = pkgs.platforms.pc; + libc = "glibc"; + }; +in { + crossGNU = mapTestOnCross crossSystem { + gccCrossStageFinal = nativePlatforms; + }; }) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index d5f29f6d7846..edb82944508f 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -4,7 +4,7 @@ /nix/var/nix/gcroots/per-user/hydra/hydra-roots --argstr \ system i686-linux --argstr system x86_64-linux --arg \ nixpkgs "{outPath = ./}" .... release.nix - + Hydra can be installed with "nix-env -i hydra". */ with (import ./release-lib.nix); @@ -38,7 +38,7 @@ with (import ./release-lib.nix); bind = linux; bison23 = all; bison24 = all; - bitlbee = linux; + bitlbee = linux; bittorrent = linux; blender = linux; boost = all; @@ -388,11 +388,11 @@ with (import ./release-lib.nix); firefox35Pkgs = { firefox = prio 150 linux; }; - + firefox36Pkgs = { firefox = linux; }; - + gnome = { gnome_panel = linux; metacity = linux; @@ -417,12 +417,21 @@ with (import ./release-lib.nix); gtk2hs = linux; leksah = linux; lhs2tex = ghcSupported; - haskellPlatform = linux; /* OpenGL/mesa seems to fail on darwin */ + haskellPlatform = ghcSupported; xmonad = linux; + gitit = linux; }; haskellPackages_ghc6121 = { + darcs = ghcSupported; ghc = ghcSupported; + haskellPlatform2010100 = ghcSupported; + }; + + haskellPackages_ghc6122 = { + darcs = ghcSupported; + ghc = ghcSupported; + haskellPlatform2010100 = ghcSupported; }; kde3 = { @@ -480,7 +489,7 @@ with (import ./release-lib.nix); virtualbox = linux; virtualboxGuestAdditions = linux; }; - + linuxPackages_2_6_28 = { aufs = linux; kernel = linux; @@ -534,7 +543,7 @@ with (import ./release-lib.nix); pythonPackages = { zfec = linux; }; - + xorg = { fontadobe100dpi = linux; fontadobe75dpi = linux; @@ -567,5 +576,5 @@ with (import ./release-lib.nix); xset = linux; }; -} )) +} ))