diff --git a/maintainers/docs/update-upstream-data.txt b/maintainers/docs/update-upstream-data.txt new file mode 100644 index 00000000000..adeb410d6c4 --- /dev/null +++ b/maintainers/docs/update-upstream-data.txt @@ -0,0 +1,15 @@ +Semi-automatic source information updating using "update-upstream-data.sh" script and "src-{,info-}for-*.nix" + +1. Recognizing when a pre-existing package uses this mechanism. + +Packages using this automatical update mechanism have src-info-for-default.nix and src-for-default.nix next to default.nix. src-info-for-default.nix describes getting the freshest source from upstream web site; src-for-default.nix is a generated file with the current data about used source. Both files define a simple attrSet. + +src-info-for-default.nix (for a file grabbed via http) contains at least downloadPage attribute - it is the page we need to look at to find out the latest version. It also contains baseName that is used for automatical generation of package name containing version. It can contain extra data for trickier cases. + +src-for-default.nix will contain advertisedUrl (raw URL chosen on the site; its change prompts regeneration of source data), url for fetchurl, hash, version retrieved from the download URL and suggested package name. + +2. Updating a package + +nixpkgs/pkgs/build-support/upstream-updater directory contains some scripts. The worker script is called update-upstream-data.sh. This script requires main expression name (e.g. default.nix). It can optionally accpet a second parameter, URL which will be used instead of getting one by parsing the downloadPage (version extraction, mirror URL creation etc. will still be run). After running the script, check src-for-default.nix (or replace default.nix with expression name, if there are seceral expressions in the directory) for new version information. + + diff --git a/maintainers/scripts/gnu/gnupdate.scm b/maintainers/scripts/gnu/gnupdate.scm index 33a2d530b22..3cf6e7cfaba 100644 --- a/maintainers/scripts/gnu/gnupdate.scm +++ b/maintainers/scripts/gnu/gnupdate.scm @@ -28,7 +28,7 @@ (srfi srfi-11) (srfi srfi-37) (system foreign) - (rnrs bytevector)) + (rnrs bytevectors)) ;;; diff --git a/maintainers/scripts/gnu/sxml-match.scm b/maintainers/scripts/gnu/sxml-match.scm deleted file mode 100644 index 48d8c91b4b1..00000000000 --- a/maintainers/scripts/gnu/sxml-match.scm +++ /dev/null @@ -1,1227 +0,0 @@ -;; Library: sxml-match -;; Author: Jim Bender -;; Version: 1.1, version for PLT Scheme -;; -;; Copyright 2005-9, Jim Bender -;; sxml-match is released under the MIT License -;; - -(define-module (sxml-match) - #:export (sxml-match - sxml-match-let - sxml-match-let*) - #:use-module (srfi srfi-1) - #:use-module (srfi srfi-11)) - - -;;; -;;; PLT compatibility layer. -;;; - -(define-syntax syntax-object->datum - (syntax-rules () - ((_ stx) - (syntax->datum stx)))) - -(define-syntax void - (syntax-rules () - ((_) *unspecified*))) - -(define-syntax call/ec - ;; aka. `call-with-escape-continuation' - (syntax-rules () - ((_ proc) - (let ((prompt (gensym))) - (call-with-prompt prompt - (lambda () - (proc (lambda args - (apply abort-to-prompt - prompt args)))) - (lambda (k . args) - (apply values args))))))) - -(define-syntax let/ec - (syntax-rules () - ((_ cont body ...) - (call/ec (lambda (cont) body ...))))) - -(define (raise-syntax-error x msg obj sub) - (throw 'sxml-match-error x msg obj sub)) - - -;;; -;;; Body, unmodified from -;;; http://planet.plt-scheme.org/package-source/jim/sxml-match.plt/1/1/sxml-match.ss -;;; except for: -;;; -;;; 1. The PLT-specific `module' form. -;;; -;;; 2. In `sxml-match1', ESCAPE is called with `call-with-values' instead -;;; of being called "normally", such that the example below returns the -;;; values `x' and `y' instead of just `x': -;;; -;;; (sxml-match '(foo) ((bar) (values 'p 'q)) ((foo) (values 'x 'y))) -;;; - -(define (nodeset? x) - (or (and (pair? x) (not (symbol? (car x)))) (null? x))) - -(define (xml-element-tag s) - (if (and (pair? s) (symbol? (car s))) - (car s) - (error 'xml-element-tag "expected an xml-element, given" s))) - -(define (xml-element-attributes s) - (if (and (pair? s) (symbol? (car s))) - (fold-right (lambda (a b) - (if (and (pair? a) (eq? '@ (car a))) - (if (null? b) - (filter (lambda (i) (not (and (pair? i) (eq? '@ (car i))))) (cdr a)) - (fold-right (lambda (c d) - (if (and (pair? c) (eq? '@ (car c))) - d - (cons c d))) - b (cdr a))) - b)) - '() - (cdr s)) - (error 'xml-element-attributes "expected an xml-element, given" s))) - -(define (xml-element-contents s) - (if (and (pair? s) (symbol? (car s))) - (filter (lambda (i) - (not (and (pair? i) (eq? '@ (car i))))) - (cdr s)) - (error 'xml-element-contents "expected an xml-element, given" s))) - -(define (match-xml-attribute key l) - (if (not (pair? l)) - #f - (if (eq? (car (car l)) key) - (car l) - (match-xml-attribute key (cdr l))))) - -(define (filter-attributes keys lst) - (if (null? lst) - '() - (if (member (caar lst) keys) - (filter-attributes keys (cdr lst)) - (cons (car lst) (filter-attributes keys (cdr lst)))))) - -(define-syntax compile-clause - (lambda (stx) - (letrec - ([sxml-match-syntax-error - (lambda (msg exp sub) - (raise-syntax-error #f msg (with-syntax ([s exp]) (syntax (sxml-match s))) sub))] - [ellipsis? - (lambda (stx) - (and (identifier? stx) (eq? '... (syntax->datum stx))))] - [literal? - (lambda (stx) - (let ([x (syntax->datum stx)]) - (or (string? x) - (char? x) - (number? x) - (boolean? x))))] - [keyword? - (lambda (stx) - (and (identifier? stx) - (let ([str (symbol->string (syntax->datum stx))]) - (char=? #\: (string-ref str (- (string-length str) 1))))))] - [extract-cata-fun - (lambda (cf) - (syntax-case cf () - [#f #f] - [other cf]))] - [add-pat-var - (lambda (pvar pvar-lst) - (define (check-pvar lst) - (if (null? lst) - (void) - (if (bound-identifier=? (car lst) pvar) - (sxml-match-syntax-error "duplicate pattern variable not allowed" - stx - pvar) - (check-pvar (cdr lst))))) - (check-pvar pvar-lst) - (cons pvar pvar-lst))] - [add-cata-def - (lambda (depth cvars cfun ctemp cdefs) - (cons (list depth cvars cfun ctemp) cdefs))] - [process-cata-exp - (lambda (depth cfun ctemp) - (if (= depth 0) - (with-syntax ([cf cfun] - [ct ctemp]) - (syntax (cf ct))) - (let ([new-ctemp (car (generate-temporaries (list ctemp)))]) - (with-syntax ([ct ctemp] - [nct new-ctemp] - [body (process-cata-exp (- depth 1) cfun new-ctemp)]) - (syntax (map (lambda (nct) body) ct))))))] - [process-cata-defs - (lambda (cata-defs body) - (if (null? cata-defs) - body - (with-syntax ([(cata-binding ...) - (map (lambda (def) - (with-syntax ([bvar (cadr def)] - [bval (process-cata-exp (car def) - (caddr def) - (cadddr def))]) - (syntax (bvar bval)))) - cata-defs)] - [body-stx body]) - (syntax (let-values (cata-binding ...) - body-stx)))))] - [cata-defs->pvar-lst - (lambda (lst) - (if (null? lst) - '() - (let iter ([items (cadr (car lst))]) - (syntax-case items () - [() (cata-defs->pvar-lst (cdr lst))] - [(fst . rst) (cons (syntax fst) (iter (syntax rst)))]))))] - [process-output-action - (lambda (action dotted-vars) - (define (finite-lst? lst) - (syntax-case lst () - (item - (identifier? (syntax item)) - #f) - (() - #t) - ((fst dots . rst) - (ellipsis? (syntax dots)) - #f) - ((fst . rst) - (finite-lst? (syntax rst))))) - (define (expand-lst lst) - (syntax-case lst () - [() (syntax '())] - [item - (identifier? (syntax item)) - (syntax item)] - [(fst dots . rst) - (ellipsis? (syntax dots)) - (with-syntax ([exp-lft (expand-dotted-item - (process-output-action (syntax fst) - dotted-vars))] - [exp-rgt (expand-lst (syntax rst))]) - (syntax (append exp-lft exp-rgt)))] - [(fst . rst) - (with-syntax ([exp-lft (process-output-action (syntax fst) - dotted-vars)] - [exp-rgt (expand-lst (syntax rst))]) - (syntax (cons exp-lft exp-rgt)))])) - (define (member-var? var lst) - (let iter ([lst lst]) - (if (null? lst) - #f - (if (or (bound-identifier=? var (car lst)) - (free-identifier=? var (car lst))) - #t - (iter (cdr lst)))))) - (define (dotted-var? var) - (member-var? var dotted-vars)) - (define (merge-pvars lst1 lst2) - (if (null? lst1) - lst2 - (if (member-var? (car lst1) lst2) - (merge-pvars (cdr lst1) lst2) - (cons (car lst1) (merge-pvars (cdr lst1) lst2))))) - (define (select-dotted-vars x) - (define (walk-quasi-body y) - (syntax-case y (unquote unquote-splicing) - [((unquote a) . rst) - (merge-pvars (select-dotted-vars (syntax a)) - (walk-quasi-body (syntax rst)))] - [((unquote-splicing a) . rst) - (merge-pvars (select-dotted-vars (syntax a)) - (walk-quasi-body (syntax rst)))] - [(fst . rst) - (merge-pvars (walk-quasi-body (syntax fst)) - (walk-quasi-body (syntax rst)))] - [other - '()])) - (syntax-case x (quote quasiquote) - [(quote . rst) '()] - [(quasiquote . rst) (walk-quasi-body (syntax rst))] - [(fst . rst) - (merge-pvars (select-dotted-vars (syntax fst)) - (select-dotted-vars (syntax rst)))] - [item - (and (identifier? (syntax item)) - (dotted-var? (syntax item))) - (list (syntax item))] - [item '()])) - (define (expand-dotted-item item) - (let ([dvars (select-dotted-vars item)]) - (syntax-case item () - [x - (identifier? (syntax x)) - (syntax x)] - [x (with-syntax ([(dv ...) dvars]) - (syntax (map (lambda (dv ...) x) dv ...)))]))) - (define (expand-quasiquote-body x) - (syntax-case x (unquote unquote-splicing quasiquote) - [(quasiquote . rst) (process-quasiquote x)] - [(unquote item) - (with-syntax ([expanded-item (process-output-action (syntax item) - dotted-vars)]) - (syntax (unquote expanded-item)))] - [(unquote-splicing item) - (with-syntax ([expanded-item (process-output-action (syntax item) - dotted-vars)]) - (syntax (unquote-splicing expanded-item)))] - [((unquote item) dots . rst) - (ellipsis? (syntax dots)) - (with-syntax ([expanded-item (expand-dotted-item - (process-output-action (syntax item) - dotted-vars))] - [expanded-rst (expand-quasiquote-body (syntax rst))]) - (syntax ((unquote-splicing expanded-item) . expanded-rst)))] - [(item dots . rst) - (ellipsis? (syntax dots)) - (with-syntax ([expanded-item (expand-dotted-item - (process-output-action (syntax (quasiquote item)) - dotted-vars))] - [expanded-rst (expand-quasiquote-body (syntax rst))]) - (syntax ((unquote-splicing expanded-item) . expanded-rst)))] - [(fst . rst) - (with-syntax ([expanded-fst (expand-quasiquote-body (syntax fst))] - [expanded-rst (expand-quasiquote-body (syntax rst))]) - (syntax (expanded-fst . expanded-rst)))] - [other x])) - (define (process-quasiquote x) - (syntax-case x () - [(quasiquote term) (with-syntax ([expanded-body (expand-quasiquote-body (syntax term))]) - (syntax (quasiquote expanded-body)))] - [else (sxml-match-syntax-error "bad quasiquote-form" - stx - x)])) - (syntax-case action (quote quasiquote) - [(quote . rst) action] - [(quasiquote . rst) (process-quasiquote action)] - [(fst . rst) (if (finite-lst? action) - (with-syntax ([exp-lft (process-output-action (syntax fst) dotted-vars)] - [exp-rgt (process-output-action (syntax rst) dotted-vars)]) - (syntax (exp-lft . exp-rgt))) - (with-syntax ([exp-lft (process-output-action (syntax fst) - dotted-vars)] - [exp-rgt (expand-lst (syntax rst))]) - (syntax (apply exp-lft exp-rgt))))] - [item action]))] - [compile-element-pat - (lambda (ele exp nextp fail-k pvar-lst depth cata-fun cata-defs dotted-vars) - (syntax-case ele (@) - [(tag (@ . attr-items) . items) - (identifier? (syntax tag)) - (let ([attr-exp (car (generate-temporaries (list exp)))] - [body-exp (car (generate-temporaries (list exp)))]) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-attr-list (syntax attr-items) - (syntax items) - attr-exp - body-exp - '() - nextp - fail-k - pvar-lst - depth - cata-fun - cata-defs - dotted-vars)]) - (values (with-syntax ([x exp] - [ax attr-exp] - [bx body-exp] - [body tests] - [fail-to fail-k]) - (syntax (if (and (pair? x) (eq? 'tag (xml-element-tag x))) - (let ([ax (xml-element-attributes x)] - [bx (xml-element-contents x)]) - body) - (fail-to)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - [(tag . items) - (identifier? (syntax tag)) - (let ([body-exp (car (generate-temporaries (list exp)))]) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-item-list (syntax items) - body-exp - nextp - fail-k - #t - pvar-lst - depth - cata-fun - cata-defs - dotted-vars)]) - (values (with-syntax ([x exp] - [bx body-exp] - [body tests] - [fail-to fail-k]) - (syntax (if (and (pair? x) (eq? 'tag (xml-element-tag x))) - (let ([bx (xml-element-contents x)]) - body) - (fail-to)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))]))] - [compile-end-element - (lambda (exp nextp fail-k pvar-lst cata-defs dotted-vars) - (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars) - (nextp pvar-lst cata-defs dotted-vars)]) - (values (with-syntax ([x exp] - [body next-tests] - [fail-to fail-k]) - (syntax (if (null? x) body (fail-to)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - [compile-attr-list - (lambda (attr-lst body-lst attr-exp body-exp attr-key-lst nextp fail-k pvar-lst depth cata-fun cata-defs dotted-vars) - (syntax-case attr-lst (unquote ->) - [(unquote var) - (identifier? (syntax var)) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-item-list body-lst - body-exp - nextp - fail-k - #t - (add-pat-var (syntax var) pvar-lst) - depth - cata-fun - cata-defs - dotted-vars)]) - (values (with-syntax ([ax attr-exp] - [matched-attrs attr-key-lst] - [body tests]) - (syntax (let ([var (filter-attributes 'matched-attrs ax)]) - body))) - new-pvar-lst - new-cata-defs - new-dotted-vars))] - [((atag [(unquote [cata -> cvar ...]) default]) . rst) - (identifier? (syntax atag)) - (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))]) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-attr-list (syntax rst) - body-lst - attr-exp - body-exp - (cons (syntax atag) attr-key-lst) - nextp - fail-k - (add-pat-var ctemp pvar-lst) - depth - cata-fun - (add-cata-def depth - (syntax [cvar ...]) - (syntax cata) - ctemp - cata-defs) - dotted-vars)]) - (values (with-syntax ([ax attr-exp] - [ct ctemp] - [body tests]) - (syntax (let ([binding (match-xml-attribute 'atag ax)]) - (let ([ct (if binding - (cadr binding) - default)]) - body)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - [((atag [(unquote [cvar ...]) default]) . rst) - (identifier? (syntax atag)) - (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))]) - (if (not cata-fun) - (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context" - stx - (syntax [cvar ...]))) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-attr-list (syntax rst) - body-lst - attr-exp - body-exp - (cons (syntax atag) attr-key-lst) - nextp - fail-k - (add-pat-var ctemp pvar-lst) - depth - cata-fun - (add-cata-def depth - (syntax [cvar ...]) - cata-fun - ctemp - cata-defs) - dotted-vars)]) - (values (with-syntax ([ax attr-exp] - [ct ctemp] - [body tests]) - (syntax (let ([binding (match-xml-attribute 'atag ax)]) - (let ([ct (if binding - (cadr binding) - default)]) - body)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - [((atag [(unquote var) default]) . rst) - (and (identifier? (syntax atag)) (identifier? (syntax var))) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-attr-list (syntax rst) - body-lst - attr-exp - body-exp - (cons (syntax atag) attr-key-lst) - nextp - fail-k - (add-pat-var (syntax var) pvar-lst) - depth - cata-fun - cata-defs - dotted-vars)]) - (values (with-syntax ([ax attr-exp] - [body tests]) - (syntax (let ([binding (match-xml-attribute 'atag ax)]) - (let ([var (if binding - (cadr binding) - default)]) - body)))) - new-pvar-lst - new-cata-defs - new-dotted-vars))] - [((atag (unquote [cata -> cvar ...])) . rst) - (identifier? (syntax atag)) - (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))]) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-attr-list (syntax rst) - body-lst - attr-exp - body-exp - (cons (syntax atag) attr-key-lst) - nextp - fail-k - (add-pat-var ctemp pvar-lst) - depth - cata-fun - (add-cata-def depth - (syntax [cvar ...]) - (syntax cata) - ctemp - cata-defs) - dotted-vars)]) - (values (with-syntax ([ax attr-exp] - [ct ctemp] - [body tests] - [fail-to fail-k]) - (syntax (let ([binding (match-xml-attribute 'atag ax)]) - (if binding - (let ([ct (cadr binding)]) - body) - (fail-to))))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - [((atag (unquote [cvar ...])) . rst) - (identifier? (syntax atag)) - (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))]) - (if (not cata-fun) - (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context" - stx - (syntax [cvar ...]))) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-attr-list (syntax rst) - body-lst - attr-exp - body-exp - (cons (syntax atag) attr-key-lst) - nextp - fail-k - (add-pat-var ctemp pvar-lst) - depth - cata-fun - (add-cata-def depth - (syntax [cvar ...]) - cata-fun - ctemp - cata-defs) - dotted-vars)]) - (values (with-syntax ([ax attr-exp] - [ct ctemp] - [body tests] - [fail-to fail-k]) - (syntax (let ([binding (match-xml-attribute 'atag ax)]) - (if binding - (let ([ct (cadr binding)]) - body) - (fail-to))))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - [((atag (unquote var)) . rst) - (and (identifier? (syntax atag)) (identifier? (syntax var))) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-attr-list (syntax rst) - body-lst - attr-exp - body-exp - (cons (syntax atag) attr-key-lst) - nextp - fail-k - (add-pat-var (syntax var) pvar-lst) - depth - cata-fun - cata-defs - dotted-vars)]) - (values (with-syntax ([ax attr-exp] - [body tests] - [fail-to fail-k]) - (syntax (let ([binding (match-xml-attribute 'atag ax)]) - (if binding - (let ([var (cadr binding)]) - body) - (fail-to))))) - new-pvar-lst - new-cata-defs - new-dotted-vars))] - [((atag (i ...)) . rst) - (identifier? (syntax atag)) - (sxml-match-syntax-error "bad attribute pattern" - stx - (syntax (kwd (i ...))))] - [((atag i) . rst) - (and (identifier? (syntax atag)) (identifier? (syntax i))) - (sxml-match-syntax-error "bad attribute pattern" - stx - (syntax (kwd i)))] - [((atag literal) . rst) - (and (identifier? (syntax atag)) (literal? (syntax literal))) - (let-values ([(tests new-pvar-lst new-cata-defs new-dotted-vars) - (compile-attr-list (syntax rst) - body-lst - attr-exp - body-exp - (cons (syntax atag) attr-key-lst) - nextp - fail-k - pvar-lst - depth - cata-fun - cata-defs - dotted-vars)]) - (values (with-syntax ([ax attr-exp] - [body tests] - [fail-to fail-k]) - (syntax (let ([binding (match-xml-attribute 'atag ax)]) - (if binding - (if (equal? (cadr binding) literal) - body - (fail-to)) - (fail-to))))) - new-pvar-lst - new-cata-defs - new-dotted-vars))] - [() - (compile-item-list body-lst - body-exp - nextp - fail-k - #t - pvar-lst - depth - cata-fun - cata-defs - dotted-vars)]))] - [compile-item-list - (lambda (lst exp nextp fail-k ellipsis-allowed? pvar-lst depth cata-fun cata-defs dotted-vars) - (syntax-case lst (unquote ->) - [() (compile-end-element exp nextp fail-k pvar-lst cata-defs dotted-vars)] - [(unquote var) - (identifier? (syntax var)) - (if (not ellipsis-allowed?) - (sxml-match-syntax-error "improper list pattern not allowed in this context" - stx - (syntax dots)) - (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars) - (nextp (add-pat-var (syntax var) pvar-lst) cata-defs dotted-vars)]) - (values (with-syntax ([x exp] - [body next-tests]) - (syntax (let ([var x]) body))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - [(unquote [cata -> cvar ...]) - (if (not ellipsis-allowed?) - (sxml-match-syntax-error "improper list pattern not allowed in this context" - stx - (syntax dots)) - (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))]) - (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars) - (nextp (add-pat-var ctemp pvar-lst) - (add-cata-def depth - (syntax [cvar ...]) - (syntax cata) - ctemp - cata-defs) - dotted-vars)]) - (values (with-syntax ([ct ctemp] - [x exp] - [body next-tests]) - (syntax (let ([ct x]) body))) - new-pvar-lst - new-cata-defs - new-dotted-vars))))] - [(unquote [cvar ...]) - (let ([ctemp (car (generate-temporaries (syntax ([cvar ...]))))]) - (if (not cata-fun) - (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context" - stx - (syntax [cvar ...]))) - (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars) - (nextp (add-pat-var ctemp pvar-lst) - (add-cata-def depth - (syntax [cvar ...]) - cata-fun - ctemp - cata-defs) - dotted-vars)]) - (values (with-syntax ([ct ctemp] - [x exp] - [body next-tests]) - (syntax (let ([ct x]) body))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - [(item dots . rst) - (ellipsis? (syntax dots)) - (if (not ellipsis-allowed?) - (sxml-match-syntax-error "ellipses not allowed in this context" - stx - (syntax dots)) - (compile-dotted-pattern-list (syntax item) - (syntax rst) - exp - nextp - fail-k - pvar-lst - depth - cata-fun - cata-defs - dotted-vars))] - [(item . rst) - (compile-item (syntax item) - exp - (lambda (new-exp new-pvar-lst new-cata-defs new-dotted-vars) - (compile-item-list (syntax rst) - new-exp - nextp - fail-k - ellipsis-allowed? - new-pvar-lst - depth - cata-fun - new-cata-defs - new-dotted-vars)) - fail-k - pvar-lst - depth - cata-fun - cata-defs - dotted-vars)]))] - [compile-dotted-pattern-list - (lambda (item - tail - exp - nextp - fail-k - pvar-lst - depth - cata-fun - cata-defs - dotted-vars) - (let-values ([(tail-tests tail-pvar-lst tail-cata-defs tail-dotted-vars) - (compile-item-list tail - (syntax lst) - (lambda (new-pvar-lst new-cata-defs new-dotted-vars) - (values (with-syntax ([(npv ...) new-pvar-lst]) - (syntax (values #t npv ...))) - new-pvar-lst - new-cata-defs - new-dotted-vars)) - (syntax fail) - #f - '() - depth - '() - '() - dotted-vars)] - [(item-tests item-pvar-lst item-cata-defs item-dotted-vars) - (compile-item item - (syntax lst) - (lambda (new-exp new-pvar-lst new-cata-defs new-dotted-vars) - (values (with-syntax ([(npv ...) new-pvar-lst]) - (syntax (values #t (cdr lst) npv ...))) - new-pvar-lst - new-cata-defs - new-dotted-vars)) - (syntax fail) - '() - (+ 1 depth) - cata-fun - '() - dotted-vars)]) - ; more here: check for duplicate pat-vars, cata-defs - (let-values ([(final-tests final-pvar-lst final-cata-defs final-dotted-vars) - (nextp (append tail-pvar-lst item-pvar-lst pvar-lst) - (append tail-cata-defs item-cata-defs cata-defs) - (append item-pvar-lst - (cata-defs->pvar-lst item-cata-defs) - tail-dotted-vars - dotted-vars))]) - (let ([temp-item-pvar-lst (generate-temporaries item-pvar-lst)]) - (values - (with-syntax - ([x exp] - [fail-to fail-k] - [tail-body tail-tests] - [item-body item-tests] - [final-body final-tests] - [(ipv ...) item-pvar-lst] - [(gpv ...) temp-item-pvar-lst] - [(tpv ...) tail-pvar-lst] - [(item-void ...) (map (lambda (i) (syntax (void))) item-pvar-lst)] - [(tail-void ...) (map (lambda (i) (syntax (void))) tail-pvar-lst)] - [(item-null ...) (map (lambda (i) (syntax '())) item-pvar-lst)] - [(item-cons ...) (map (lambda (a b) - (with-syntax ([xa a] - [xb b]) - (syntax (cons xa xb)))) - item-pvar-lst - temp-item-pvar-lst)]) - (syntax (letrec ([match-tail - (lambda (lst fail) - tail-body)] - [match-item - (lambda (lst) - (let ([fail (lambda () - (values #f - lst - item-void ...))]) - item-body))] - [match-dotted - (lambda (x) - (let-values ([(tail-res tpv ...) - (match-tail x - (lambda () - (values #f - tail-void ...)))]) - (if tail-res - (values item-null ... - tpv ...) - (let-values ([(res new-x ipv ...) (match-item x)]) - (if res - (let-values ([(gpv ... tpv ...) - (match-dotted new-x)]) - (values item-cons ... tpv ...)) - (let-values ([(last-tail-res tpv ...) - (match-tail x fail-to)]) - (values item-null ... tpv ...)))))))]) - (let-values ([(ipv ... tpv ...) - (match-dotted x)]) - final-body)))) - final-pvar-lst - final-cata-defs - final-dotted-vars)))))] - [compile-item - (lambda (item exp nextp fail-k pvar-lst depth cata-fun cata-defs dotted-vars) - (syntax-case item (unquote ->) - ; normal pattern var - [(unquote var) - (identifier? (syntax var)) - (let ([new-exp (car (generate-temporaries (list exp)))]) - (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars) - (nextp new-exp (add-pat-var (syntax var) pvar-lst) cata-defs dotted-vars)]) - (values (with-syntax ([x exp] - [nx new-exp] - [body next-tests] - [fail-to fail-k]) - (syntax (if (pair? x) - (let ([nx (cdr x)] - [var (car x)]) - body) - (fail-to)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - ; named catamorphism - [(unquote [cata -> cvar ...]) - (let ([new-exp (car (generate-temporaries (list exp)))] - [ctemp (car (generate-temporaries (syntax ([cvar ...]))))]) - (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars) - (nextp new-exp - (add-pat-var ctemp pvar-lst) - (add-cata-def depth - (syntax [cvar ...]) - (syntax cata) - ctemp - cata-defs) - dotted-vars)]) - (values (with-syntax ([x exp] - [nx new-exp] - [ct ctemp] - [body next-tests] - [fail-to fail-k]) - (syntax (if (pair? x) - (let ([nx (cdr x)] - [ct (car x)]) - body) - (fail-to)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - ; basic catamorphism - [(unquote [cvar ...]) - (let ([new-exp (car (generate-temporaries (list exp)))] - [ctemp (car (generate-temporaries (syntax ([cvar ...]))))]) - (if (not cata-fun) - (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context" - stx - (syntax [cvar ...]))) - (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars) - (nextp new-exp - (add-pat-var ctemp pvar-lst) - (add-cata-def depth - (syntax [cvar ...]) - cata-fun - ctemp - cata-defs) - dotted-vars)]) - (values (with-syntax ([x exp] - [nx new-exp] - [ct ctemp] - [body next-tests] - [fail-to fail-k]) - (syntax (if (pair? x) - (let ([nx (cdr x)] - [ct (car x)]) - body) - (fail-to)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))] - [(tag item ...) - (identifier? (syntax tag)) - (let ([new-exp (car (generate-temporaries (list exp)))]) - (let-values ([(after-tests after-pvar-lst after-cata-defs after-dotted-vars) - (compile-element-pat (syntax (tag item ...)) - (with-syntax ([x exp]) - (syntax (car x))) - (lambda (more-pvar-lst more-cata-defs more-dotted-vars) - (let-values ([(next-tests new-pvar-lst - new-cata-defs - new-dotted-vars) - (nextp new-exp - more-pvar-lst - more-cata-defs - more-dotted-vars)]) - (values (with-syntax ([x exp] - [nx new-exp] - [body next-tests]) - (syntax (let ([nx (cdr x)]) - body))) - new-pvar-lst - new-cata-defs - new-dotted-vars))) - fail-k - pvar-lst - depth - cata-fun - cata-defs - dotted-vars)]) - ; test that we are not at the end of an item-list, BEFORE - ; entering tests for the element pattern (against the 'car' of the item-list) - (values (with-syntax ([x exp] - [body after-tests] - [fail-to fail-k]) - (syntax (if (pair? x) - body - (fail-to)))) - after-pvar-lst - after-cata-defs - after-dotted-vars)))] - [(i ...) - (sxml-match-syntax-error "bad pattern syntax (not an element pattern)" - stx - (syntax (i ...)))] - [i - (identifier? (syntax i)) - (sxml-match-syntax-error "bad pattern syntax (symbol not allowed in this context)" - stx - (syntax i))] - [literal - (literal? (syntax literal)) - (let ([new-exp (car (generate-temporaries (list exp)))]) - (let-values ([(next-tests new-pvar-lst new-cata-defs new-dotted-vars) - (nextp new-exp pvar-lst cata-defs dotted-vars)]) - (values (with-syntax ([x exp] - [nx new-exp] - [body next-tests] - [fail-to fail-k]) - (syntax (if (and (pair? x) (equal? literal (car x))) - (let ([nx (cdr x)]) - body) - (fail-to)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)))]))]) - (let ([fail-k (syntax failure)]) - (syntax-case stx (unquote guard ->) - [(compile-clause ((unquote var) (guard gexp ...) action0 action ...) - exp - cata-fun - fail-exp) - (identifier? (syntax var)) - (syntax (let ([var exp]) - (if (and gexp ...) - (begin action0 action ...) - (fail-exp))))] - [(compile-clause ((unquote [cata -> cvar ...]) (guard gexp ...) action0 action ...) - exp - cata-fun - fail-exp) - (syntax (if (and gexp ...) - (let-values ([(cvar ...) (cata exp)]) - (begin action0 action ...)) - (fail-exp)))] - [(compile-clause ((unquote [cvar ...]) (guard gexp ...) action0 action ...) - exp - cata-fun - fail-exp) - (if (not (extract-cata-fun (syntax cata-fun))) - (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context" - stx - (syntax [cvar ...])) - (syntax (if (and gexp ...) - (let-values ([(cvar ...) (cata-fun exp)]) - (begin action0 action ...)) - (fail-exp))))] - [(compile-clause ((unquote var) action0 action ...) exp cata-fun fail-exp) - (identifier? (syntax var)) - (syntax (let ([var exp]) - action0 action ...))] - [(compile-clause ((unquote [cata -> cvar ...]) action0 action ...) exp cata-fun fail-exp) - (syntax (let-values ([(cvar ...) (cata exp)]) - action0 action ...))] - [(compile-clause ((unquote [cvar ...]) action0 action ...) exp cata-fun fail-exp) - (if (not (extract-cata-fun (syntax cata-fun))) - (sxml-match-syntax-error "sxml-match pattern: catamorphism not allowed in this context" - stx - (syntax [cvar ...])) - (syntax (let-values ([(cvar ...) (cata-fun exp)]) - action0 action ...)))] - [(compile-clause ((lst . rst) (guard gexp ...) action0 action ...) exp cata-fun fail-exp) - (and (identifier? (syntax lst)) (eq? 'list (syntax->datum (syntax lst)))) - (let-values ([(result pvar-lst cata-defs dotted-vars) - (compile-item-list (syntax rst) - (syntax exp) - (lambda (new-pvar-lst new-cata-defs new-dotted-vars) - (values - (with-syntax - ([exp-body (process-cata-defs new-cata-defs - (process-output-action - (syntax (begin action0 - action ...)) - new-dotted-vars))] - [fail-to fail-k]) - (syntax (if (and gexp ...) exp-body (fail-to)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)) - fail-k - #t - '() - 0 - (extract-cata-fun (syntax cata-fun)) - '() - '())]) - (with-syntax ([fail-to fail-k] - [body result]) - (syntax (let ([fail-to fail-exp]) - (if (nodeset? exp) - body - (fail-to))))))] - [(compile-clause ((lst . rst) action0 action ...) exp cata-fun fail-exp) - (and (identifier? (syntax lst)) (eq? 'list (syntax-object->datum (syntax lst)))) - (let-values ([(result pvar-lst cata-defs dotted-vars) - (compile-item-list (syntax rst) - (syntax exp) - (lambda (new-pvar-lst new-cata-defs new-dotted-vars) - (values (process-cata-defs new-cata-defs - (process-output-action - (syntax (begin action0 - action ...)) - new-dotted-vars)) - new-pvar-lst - new-cata-defs - new-dotted-vars)) - fail-k - #t - '() - 0 - (extract-cata-fun (syntax cata-fun)) - '() - '())]) - (with-syntax ([body result] - [fail-to fail-k]) - (syntax (let ([fail-to fail-exp]) - (if (nodeset? exp) - body - (fail-to))))))] - [(compile-clause ((fst . rst) (guard gexp ...) action0 action ...) exp cata-fun fail-exp) - (identifier? (syntax fst)) - (let-values ([(result pvar-lst cata-defs dotted-vars) - (compile-element-pat (syntax (fst . rst)) - (syntax exp) - (lambda (new-pvar-lst new-cata-defs new-dotted-vars) - (values - (with-syntax - ([body (process-cata-defs new-cata-defs - (process-output-action - (syntax (begin action0 - action ...)) - new-dotted-vars))] - [fail-to fail-k]) - (syntax (if (and gexp ...) body (fail-to)))) - new-pvar-lst - new-cata-defs - new-dotted-vars)) - fail-k - '() - 0 - (extract-cata-fun (syntax cata-fun)) - '() - '())]) - (with-syntax ([fail-to fail-k] - [body result]) - (syntax (let ([fail-to fail-exp]) - body))))] - [(compile-clause ((fst . rst) action0 action ...) exp cata-fun fail-exp) - (identifier? (syntax fst)) - (let-values ([(result pvar-lst cata-defs dotted-vars) - (compile-element-pat (syntax (fst . rst)) - (syntax exp) - (lambda (new-pvar-lst new-cata-defs new-dotted-vars) - (values (process-cata-defs new-cata-defs - (process-output-action - (syntax (begin action0 - action ...)) - new-dotted-vars)) - new-pvar-lst - new-cata-defs - new-dotted-vars)) - fail-k - '() - 0 - (extract-cata-fun (syntax cata-fun)) - '() - '())]) - (with-syntax ([fail-to fail-k] - [body result]) - (syntax (let ([fail-to fail-exp]) - body))))] - [(compile-clause ((i ...) (guard gexp ...) action0 action ...) exp cata-fun fail-exp) - (sxml-match-syntax-error "bad pattern syntax (not an element pattern)" - stx - (syntax (i ...)))] - [(compile-clause ((i ...) action0 action ...) exp cata-fun fail-exp) - (sxml-match-syntax-error "bad pattern syntax (not an element pattern)" - stx - (syntax (i ...)))] - [(compile-clause (pat (guard gexp ...) action0 action ...) exp cata-fun fail-exp) - (identifier? (syntax pat)) - (sxml-match-syntax-error "bad pattern syntax (symbol not allowed in this context)" - stx - (syntax pat))] - [(compile-clause (pat action0 action ...) exp cata-fun fail-exp) - (identifier? (syntax pat)) - (sxml-match-syntax-error "bad pattern syntax (symbol not allowed in this context)" - stx - (syntax pat))] - [(compile-clause (literal (guard gexp ...) action0 action ...) exp cata-fun fail-exp) - (literal? (syntax literal)) - (syntax (if (and (equal? literal exp) (and gexp ...)) - (begin action0 action ...) - (fail-exp)))] - [(compile-clause (literal action0 action ...) exp cata-fun fail-exp) - (literal? (syntax literal)) - (syntax (if (equal? literal exp) - (begin action0 action ...) - (fail-exp)))]))))) - -(define-syntax sxml-match1 - (syntax-rules () - [(sxml-match1 exp cata-fun clause) - (compile-clause clause exp cata-fun - (lambda () (error 'sxml-match "no matching clause found")))] - [(sxml-match1 exp cata-fun clause0 clause ...) - (let/ec escape - (compile-clause clause0 exp cata-fun - (lambda () (call-with-values - (lambda () (sxml-match1 exp cata-fun - clause ...)) - escape))))])) - -(define-syntax sxml-match - (syntax-rules () - ((sxml-match val clause0 clause ...) - (letrec ([cfun (lambda (exp) - (sxml-match1 exp cfun clause0 clause ...))]) - (cfun val))))) - -(define-syntax sxml-match-let1 - (syntax-rules () - [(sxml-match-let1 syntag synform () body0 body ...) - (let () body0 body ...)] - [(sxml-match-let1 syntag synform ([pat exp]) body0 body ...) - (compile-clause (pat (let () body0 body ...)) - exp - #f - (lambda () (error 'syntag "could not match pattern ~s" 'pat)))] - [(sxml-match-let1 syntag synform ([pat0 exp0] [pat exp] ...) body0 body ...) - (compile-clause (pat0 (sxml-match-let1 syntag synform ([pat exp] ...) body0 body ...)) - exp0 - #f - (lambda () (error 'syntag "could not match pattern ~s" 'pat0)))])) - -(define-syntax sxml-match-let-help - (lambda (stx) - (syntax-case stx () - [(sxml-match-let-help syntag synform ([pat exp] ...) body0 body ...) - (with-syntax ([(temp-name ...) (generate-temporaries (syntax (exp ...)))]) - (syntax (let ([temp-name exp] ...) - (sxml-match-let1 syntag synform ([pat temp-name] ...) body0 body ...))))]))) - -(define-syntax sxml-match-let - (lambda (stx) - (syntax-case stx () - [(sxml-match-let ([pat exp] ...) body0 body ...) - (with-syntax ([synform stx]) - (syntax (sxml-match-let-help sxml-match-let synform ([pat exp] ...) body0 body ...)))]))) - -(define-syntax sxml-match-let* - (lambda (stx) - (syntax-case stx () - [(sxml-match-let* () body0 body ...) - (syntax (let () body0 body ...))] - [(sxml-match-let* ([pat0 exp0] [pat exp] ...) body0 body ...) - (with-syntax ([synform stx]) - (syntax (sxml-match-let-help sxml-match-let* synform ([pat0 exp0]) - (sxml-match-let* ([pat exp] ...) - body0 body ...))))]))) diff --git a/pkgs/applications/audio/lame/default.nix b/pkgs/applications/audio/lame/default.nix index 816afa0e24f..46bbf10f357 100644 --- a/pkgs/applications/audio/lame/default.nix +++ b/pkgs/applications/audio/lame/default.nix @@ -1,10 +1,10 @@ {stdenv, fetchurl, nasm}: -stdenv.mkDerivation { - name = "lame-3.98.2"; +stdenv.mkDerivation rec { + name = "lame-3.98.4"; src = fetchurl { - url = mirror://sourceforge/lame/lame-398-2.tar.gz; - sha256 = "0cmgr515szd9kd19mpzvwl3cbnpfyjyi47swj4afblcfkmb2hym1"; + url = "mirror://sourceforge/lame/${name}.tar.gz"; + sha256 = "1j3jywv6ic2cy0x0q1a1h6rcl6xmcs5f58xawjdkl8hpcv3l8cdc"; }; buildInputs = [ nasm ]; diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix index fe02132698a..d8316886c34 100644 --- a/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix +++ b/pkgs/applications/editors/emacs-modes/proofgeneral/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, emacs, perl }: +{ stdenv, fetchurl, emacs, texinfo, texLive, perl, which, automake }: let pname = "ProofGeneral"; @@ -15,28 +15,32 @@ stdenv.mkDerivation { sha256 = "ae430590d6763618df50a662a37f0627d3c3c8f31372f6f0bb2116b738fc92d8"; }; - buildInputs = [ emacs perl ]; - sourceRoot = name; - postPatch = "EMACS=emacs make clean"; + buildInputs = [ emacs texinfo texLive perl which ]; - # Skip building ... - buildPhase = "true"; + patchPhase = + '' sed -i "Makefile" \ + -e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \ + s|/sbin/install-info|install-info|g" - installPhase = '' - DEST=$out/share/emacs/site-lisp/ProofGeneral - ensureDir $DEST - cp -a * $DEST - ''; + sed -i "bin/proofgeneral" -e's/which/type -p/g' + ''; + + installPhase = + # Copy `texinfo.tex' in the right place so that `texi2pdf' works. + '' cp -v "${automake}/share/"automake-*/texinfo.tex doc + make install install-doc + ''; meta = { - description = "A generic front-end for proof assistants"; + description = "Proof General, an Emacs front-end for proof assistants"; longDescription = '' Proof General is a generic front-end for proof assistants (also known as interactive theorem provers), based on the customizable text editor Emacs. ''; homepage = website; - license = "GPL"; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index b38bdc95024..e9d86aca52d 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -1,17 +1,25 @@ -{ stdenv, fetchurl, x11, imlib2, libjpeg, libpng, giblib }: +{ stdenv, fetchurl, x11, imlib2, libjpeg, libpng, giblib +, libXinerama }: stdenv.mkDerivation { - name = "feh-1.3.4"; + name = "feh-1.6.1"; src = fetchurl { - url = http://linuxbrit.co.uk/downloads/feh-1.3.4.tar.gz; - sha256 = "091iz2id5z80vn2qxg0ipwncv5bv8i9ifw2q15ja9zazq6xz5fc1"; + url = http://www.chaosdorf.de/~derf/feh/feh-1.6.1.tar.bz2; + sha256 = "1mv09b34ar0dx4wl22xak2g554xgpylicqy5zbnk3bh66vn9pxz2"; }; - buildInputs = [x11 imlib2 giblib libjpeg libpng]; + buildInputs = [x11 imlib2 giblib libjpeg libpng libXinerama]; + + preBuild = '' + makeFlags="PREFIX=$out" + ''; meta = { description = "A light-weight image viewer"; - homepage = http://linuxbrit.co.uk/feh/; + homepage = https://derf.homelinux.org/projects/feh/; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; }; } diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix index 6082c6a4ae4..8ba089903eb 100644 --- a/pkgs/applications/graphics/paraview/default.nix +++ b/pkgs/applications/graphics/paraview/default.nix @@ -1,14 +1,14 @@ { fetchurl, stdenv, cmake, qt4 }: stdenv.mkDerivation rec { - name = "paraview-3.6.2"; + name = "paraview-3.8.0"; src = fetchurl { - url = "http://www.paraview.org/files/v3.6/${name}.tar.gz"; - sha256 = "017axalkiaqd13jfbb4awcxvpndnzaq35ys7svm5rnizdwd5hbq6"; + url = "http://www.paraview.org/files/v3.8/ParaView-3.8.0.tar.gz"; + sha256 = "0y20daf59hn9dmbp1cmx0085z34qccwps04hv2lh9s15namca9py"; }; preConfigure = '' - export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/paraview-3.6" + export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/paraview-3.8" ''; buildInputs = [ cmake qt4 ]; diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix index 1f17f830979..9b8beb5b82b 100644 --- a/pkgs/applications/graphics/xournal/default.nix +++ b/pkgs/applications/graphics/xournal/default.nix @@ -1,35 +1,26 @@ -a : -let - fetchurl = a.fetchurl; +{ stdenv, fetchurl +, ghostscript, atk, gtk, glib, fontconfig, freetype +, libgnomecanvas, libgnomeprint, libgnomeprintui +, pango, libX11, xproto, zlib, poppler, popplerData +, autoconf, automake, libtool, pkgconfig}: +stdenv.mkDerivation rec { + version = "0.4.5"; + name = "xournal-" + version; + src = fetchurl { + url = "mirror://sourceforge/xournal/${name}.tar.gz"; + sha256 = "1lamfzhby06w2pg56lpv1symdixcwmg6wvi7g6br6la4ak5w5mx7"; + }; - version = a.lib.attrByPath ["version"] "0.4.2.1" a; - buildInputs = with a; [ + buildInputs = [ ghostscript atk gtk glib fontconfig freetype libgnomecanvas libgnomeprint libgnomeprintui pango libX11 xproto zlib poppler popplerData autoconf automake libtool pkgconfig ]; -in -rec { - src = fetchurl { - url = "http://downloads.sourceforge.net/xournal/xournal-${version}.tar.gz"; - sha256 = "1zxqcdhsd7h19c6pz7dwkr8bncn64v07liiqyw504m2v8lylrsif"; - }; - inherit buildInputs; - configureFlags = []; - - /* doConfigure should be removed if not needed */ - phaseNames = ["setEnvVars" "doAutotools" "doConfigure" "doMakeInstall"]; - - setEnvVars = a.noDepEntry ('' - export NIX_LDFLAGS="-lX11" - ''); - - name = "xournal-" + version; + NIX_LDFLAGS="-lX11 -lz"; meta = { description = "note-taking application (supposes stylus)"; - maintainers = [ - ]; + maintainers = [ stdenv.lib.maintainers.guibert ]; }; } diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix index ba064be23cb..5261037e1c5 100644 --- a/pkgs/applications/misc/calibre/default.nix +++ b/pkgs/applications/misc/calibre/default.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "calibre-0.6.47"; + name = "calibre-0.7.0"; src = fetchurl { url = "mirror://sourceforge/calibre/${name}.tar.gz"; - sha256 = "16s5rqlwbyq4al8xl5qr8ha6nyhcyd8q9gzm8pbi3q0ksda2k2qi"; + sha256 = "0aij3gqkfvhzrsfk0ms9mlawrdj46r3634cglbwsapv17g2wv6mg"; }; inherit python; diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix index 5ec8c216831..a9ea63368c5 100644 --- a/pkgs/applications/misc/dmenu/default.nix +++ b/pkgs/applications/misc/dmenu/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, libX11, libXinerama}: stdenv.mkDerivation rec { - name = "dmenu-4.0"; + name = "dmenu-4.1.1"; src = fetchurl { url = "http://dl.suckless.org/tools/${name}.tar.gz"; - sha256 = "0qp8n9hz15lzqp5dnq6lqknxhmlrgv20x2bnbc2zr891bql0hif0"; + sha256 = "02p687yi3fmnpkbvnskpryz54dc4i8pzf1spxc554s91wrd7fpwy"; }; buildInputs = [ libX11 libXinerama ]; diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix index 085fa9fed2a..77120a838f5 100644 --- a/pkgs/applications/misc/googleearth/default.nix +++ b/pkgs/applications/misc/googleearth/default.nix @@ -6,11 +6,11 @@ zlib }: assert stdenv.system == "i686-linux"; stdenv.mkDerivation { - name = "googleearth-5.1.3533.1731"; + name = "googleearth-5.1.3535.3218"; src = fetchurl { url = http://dl.google.com/earth/client/current/GoogleEarthLinux.bin; - sha256 = "1sxs1nwb2zh2j8dbwm65r04byn66yn79kpzhilhswly6r8d7yivg"; + sha256 = "f721e4e8db3a7351c77a8aea425ec334ff01e163481cbcf6cdda9dbb0ad422ac"; }; buildNativeInputs = [ @@ -34,10 +34,12 @@ stdenv.mkDerivation { ]; phases = "unpackPhase installPhase"; + unpackPhase = '' bash $src --noexec --target unpacked cd unpacked ''; + installPhase ='' ensureDir $out/{opt/googleearth/,bin}; tar xf googleearth-data.tar -C $out/opt/googleearth diff --git a/pkgs/applications/misc/gosmore/default.nix b/pkgs/applications/misc/gosmore/default.nix new file mode 100644 index 00000000000..b848e81c302 --- /dev/null +++ b/pkgs/applications/misc/gosmore/default.nix @@ -0,0 +1,30 @@ +a@{fetchsvn, libxml2, gtk, curl, pkgconfig, lib, ...} : +let + fetchsvn = a.fetchsvn; + + buildInputs = with a; [ + libxml2 gtk curl pkgconfig + ]; +in +rec { + src = fetchsvn { + url = http://svn.openstreetmap.org/applications/rendering/gosmore; + sha256 = "0r6c6gk0pjljwcqxjy18d2s526pyv2kwydf5gl9k68s1b20ps3nd"; + rev = "21657"; + } + "/"; + + inherit buildInputs; + configureFlags = []; + + /* doConfigure should be removed if not needed */ + phaseNames = ["doConfigure" "doMakeInstall"]; + + name = "gosmore-r21657"; + meta = { + description = "Open Street Map viewer"; + maintainers = [ + a.lib.maintainers.raskin + ]; + platforms = a.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/misc/grass/default.nix b/pkgs/applications/misc/grass/default.nix new file mode 100644 index 00000000000..067e4354573 --- /dev/null +++ b/pkgs/applications/misc/grass/default.nix @@ -0,0 +1,182 @@ +{getConfig, ...}@a: + +# You can set gui by exporting GRASS_GUI=.. +# see http://grass.itc.it/gdp/html_grass64/g.gui.html +# defaulting to wxpython because this is used in the manual +let inherit (builtins) getAttr; + inherit (a.composableDerivation) edf wwf; + inherit (a.stdenv.lib) maybeAttr optionalString; + + # wrapper for wwf call + # lib: the lib whose include and lib paths should be passed + # {}@args: additional args being merged before passing everything to wwf + wwfp = lib: {name, ...}@args: + let mbEnable = maybeAttr "enable" {} args; + in wwf (args // { + enable = mbEnable // { + buildInputs = [ lib ] + ++ maybeAttr "buildInputs" [] mbEnable; + configureFlags = [ + "--with-${name}-libs=${lib}/lib" + "--with-${name}-includes=${lib}/include" + ] ++ maybeAttr "configureFlags" [] mbEnable; + }; + }); +in +a.composableDerivation.composableDerivation {} (fix: { + + name = "grass-6.4.0RC6"; + + buildInputs = [ + # gentoos package depends on gmath ? + a.pkgconfig + a.flex a.bison a.libXmu a.libXext a.libXp a.libX11 a.libXt a.libSM a.libICE + a.libXpm a.libXaw a.flex a.bison a.gdbm + a.makeWrapper + ]; + + cfg = { + _64bitSupport = getConfig ["grass" "64bitSupport"] true; + cursesSupport = getConfig ["grass" "curses"] true; + gdalSupport = getConfig ["grass" "gdal"] true; + pythonSupport = getConfig ["grass" "python"] true; + wxwidgetsSupport = getConfig ["grass" "wxwidgets"] true; + readlineSupport = getConfig ["grass" "readline"] true; + jpegSupport = getConfig ["grass" "jpeg"] true; + tiffSupport = getConfig ["grass" "tiff"] true; + pngSupport = getConfig ["grass" "png"] true; + tcltkSupport = getConfig ["grass" "tcltk"] true; + postgresSupport = getConfig ["grass" "postgres"] true; + mysqlSupport = getConfig ["grass" "mysql"] true; + sqliteSupport = getConfig ["grass" "sqlite"] true; + ffmpegSupport = getConfig ["grass" "ffmpeg"] true; + openglSupport = getConfig ["grass" "opengl"] true; + odbcSupport = getConfig ["grass" "odbc"] false; # fails to find libodbc - why ? + fftwSupport = getConfig ["grass" "fftw"] true; + blasSupport = getConfig ["grass" "blas"] true; + lapackSupport = getConfig ["grass" "lapack"] true; + cairoSupport = getConfig ["grass" "cairo"] true; + motifSupport = getConfig ["grass" "motif"] true; + freetypeSupport = getConfig ["grass" "freetype"] true; + projSupport = getConfig ["grass" "proj"] true; + opendwgSupport = getConfig ["grass" "dwg"] false; + largefileSupport = getConfig ["grass" "largefile"] true; + }; + + # ?? NLS support: no + # ?? GLw support: no + # ?? DWG support: no + flags = { + + python = { + configureFlags = [ "--with-python=${a.python}/bin/python-config" ]; + buildInputs = [a.python a.swig]; + }; + + } + // edf { name = "_64bit"; feat = "64bit"; } + // wwfp a.ncurses { name = "curses"; } + // wwfp a.gdal { name = "gdal"; } + // wwfp a.wxGTK { name = "wxwidgets"; value = "${a.wxGTK}/bin/wx-config"; } + // wwfp a.readline { name = "readline"; } + // wwfp a.libjpeg { name = "jpeg"; } + // wwfp a.libtiff { name = "tiff"; } + // wwfp a.libpng { name = "png"; } + // wwfp a.tk { name = "tcltk"; enable.buildInputs = [ a.tcl ]; } + // wwfp a.postgresql { name = "postgres"; } + // wwf { + name = "mysql"; + enable = { + buildInputs = [ a.mysql ]; + configureFlags = [ + "--with-mysql-libs=${a.mysql}/lib/mysql" + "--with-mysql-includes=${a.mysql}/include/mysql" + ]; + }; + } + // wwfp a.sqlite { name = "sqlite"; } + // wwf { + name = "ffmpeg"; + enable = { + configureFlags = [ + "--with-ffmpeg-libs=${a.ffmpeg}/lib" + "--with-ffmpeg-includes=${a.ffmpeg}/include" + ]; + # is there a nicer way to pass additional include directories? + # this should work: --with-ffmpeg-includes=/usr/include/lib[av|sw]* + # I did not try + preConfigure = '' + for dir in ${a.ffmpeg}/include/*; do + if [ -d $dir ]; then + NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$dir" + fi + done + ''; + buildInputs = [a.ffmpeg]; + }; + } + // wwfp a.mesa { name = "opengl"; } + // wwfp a.unixODBC { name = "odbc"; } + // wwfp a.fftw { name = "fftw"; } + // wwf { + name = "blas"; + enable.configureFlags = [ "--with-blas-libs=${a.blas}/lib" ]; + } + // wwf { + name = "lapack"; + enable.configureFlags = [ "--with-lapack-libs=${a.liblapack}/lib" ]; + } + // wwfp a.cairo { + name = "cairo"; + enable.buildInputs = [ a.fontconfig a.libXrender ]; + } + // wwfp a.motif { name = "motif"; } + // wwf { + name="freetype"; + enable = { + buildInputs = [ a.freetype ]; + configureFlags = [ + "--with-freetype-libs=${a.freetype}/lib" + "--with-freetype-includes=${a.freetype}/include/freetype2" + ]; + }; + } + // wwfp a.proj { name = "proj"; enable.configureFlags = [ "--with-proj-share=${a.proj}/share"]; } + // wwfp a.opendwg { name = "opendwg"; } + // edf { + name = "largefile"; + }; + /* ? + // wwf { + name = "x"; + enable.buildInputs = []; + }; + */ + + src = a.fetchurl { + url = "http://grass.itc.it/grass64/source/grass-6.4.0RC6.tar.gz"; + sha256 = "043cxa224rd4q1x2mq7sl7ylnxv2vvb4k8laycgcjnp60nzhlmaz"; + }; + + postInstall = '' + e=$(echo $out/bin/grass*) + mv $out/bin/{,.}$(basename $e) + cat >> $e << EOF + #!/bin/sh + export PATH=${a.python}/bin:\$PATH + export GRASS_WISH=\${a.tk}/bin/wish + export GRASS_GUI=\''${GRASS_GUI:-wxpython} + export SHELL=/bin/sh + ${optionalString fix.fixed.cfg.wxwidgetsSupport ''export PYTHONPATH=\$PYTHONPATH\''${PYTHONPATH:+:}:$(toPythonPath ${a.wxPython})''} + exec $out/bin/.$(basename $e) + EOF + chmod +x $e + ''; + + meta = { + description = "free Geographic Information System (GIS) software used for geospatial data management and analysis, image processing, graphics/maps production, spatial modeling, and visualization"; + homepage = http://grass.itc.it/index.php; + license = [ "GPL" ]; + }; + +}) diff --git a/pkgs/applications/misc/gv/default.nix b/pkgs/applications/misc/gv/default.nix index cce4c54b828..ff1ff5293a5 100644 --- a/pkgs/applications/misc/gv/default.nix +++ b/pkgs/applications/misc/gv/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, Xaw3d, ghostscriptX }: +{ stdenv, fetchurl, Xaw3d, ghostscriptX, perl }: stdenv.mkDerivation rec { - name = "gv-3.6.9"; + name = "gv-3.7.1"; src = fetchurl { url = "mirror://gnu/gv/${name}.tar.gz"; - sha256 = "1b7n4xbgbgjvbq9kmacmk12vfwzc443bcs38p8k4yb60m7r7qzkb"; + sha256 = "0541p3jlxvvw4136250rizybrl8sqyg03avy0w4r4kiw9w5f31ys"; }; - buildInputs = [ Xaw3d ghostscriptX ]; + buildInputs = [ Xaw3d ghostscriptX perl ]; patchPhase = '' sed 's|\|${ghostscriptX}/bin/gs|g' -i "src/"*.in diff --git a/pkgs/applications/misc/htmldoc/default.nix b/pkgs/applications/misc/htmldoc/default.nix new file mode 100644 index 00000000000..befa8d25210 --- /dev/null +++ b/pkgs/applications/misc/htmldoc/default.nix @@ -0,0 +1,16 @@ +{ stdenv, fetchurl, fltk, openssl, libpng, libjpeg }: +stdenv.mkDerivation rec { + name = "htmldoc-1.8.27"; + src = fetchurl { + url = http://ftp.easysw.com/pub/htmldoc/1.8.27/htmldoc-1.8.27-source.tar.bz2; + sha256 = "04wnxgx6fxdxwiy9vbawdibngwf55mi01hjrr5fkfs22fcix5zw9"; + }; + buildInputs = [ fltk openssl libpng libjpeg ]; + meta = { + homepage = http://www.htmldoc.org/; + description = "Converts HTML files to indexed HTML, PS or PDF"; + license = "GPLv2"; + maintainers = with stdenv.lib.maintainers; [ viric ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix new file mode 100644 index 00000000000..3c88423d045 --- /dev/null +++ b/pkgs/applications/misc/merkaartor/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, qt, boost}: + +stdenv.mkDerivation { + name = "merkaartor-0.16.0"; + src = fetchurl { + url = http://www.merkaartor.org/downloads/source/merkaartor-0.16.0.tar.bz2; + sha256 = "0l33vgwwkqj65i86qq5j33bbf6q02hs8r1frjnd7icqdaqqv08d7"; + }; + + configurePhase = '' + qmake -makefile PREFIX=$out + ''; + + buildInputs = [ qt boost ]; + + meta = { + description = "An openstreetmap editor"; + homepage = http://merkaartor.org/; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; all; + }; +} diff --git a/pkgs/applications/misc/qgis/1.0.1-2.nix b/pkgs/applications/misc/qgis/default.nix similarity index 89% rename from pkgs/applications/misc/qgis/1.0.1-2.nix rename to pkgs/applications/misc/qgis/default.nix index af28a381fba..b49275a6561 100644 --- a/pkgs/applications/misc/qgis/1.0.1-2.nix +++ b/pkgs/applications/misc/qgis/default.nix @@ -6,19 +6,19 @@ let inherit (builtins) getAttr; in composableDerivation.composableDerivation {} { - buildInputs = [ gdal cmake qt flex bison proj geos x11 sqlite gsl]; + buildInputs = [ gdal cmake qt flex bison proj geos x11 sqlite gsl pyqt4]; cfgOption = [ # without this option it can't find sqlite libs yet (missing symbols..) (TODO) "-DWITH_INTERNAL_SQLITE3=TRUE" ]; - name = "qgis-1.0.1-2"; + name = "qgis-1.4.0"; # src = args.fetchsvn { url=https://svn.qgis.org/repos/qgis/trunk/qgis; # md5="ac0560e0a2d4e6258c8639f1e9b56df3"; rev="7704"; }; src = fetchurl { - url = "http://download.osgeo.org/qgis/src/qgis_1.0.1-2.tar.gz"; - sha256 = "07yyic9sn1pz20wjk7k560jwqz6b19rhf2gawybz38xq1f8rjwd4"; + url = http://download.osgeo.org/qgis/src/qgis_1.4.0.tar.gz; + sha256 = "1nn71j9pnkqcprwvzqnybh6ybl0zp50jj04lm769bnjbxknpxq5v"; }; meta = { diff --git a/pkgs/applications/misc/qgis/trunk.nix b/pkgs/applications/misc/qgis/trunk.nix new file mode 100644 index 00000000000..e7e79b47a76 --- /dev/null +++ b/pkgs/applications/misc/qgis/trunk.nix @@ -0,0 +1,23 @@ +{qgis, fetchurl, sourceFromHead, python, sip}: +qgis.merge { + + name = "qgis-trunk"; + + buildInputs = [ sip python ]; + + preConfigure = '' + export PYTHONPATH=$(toPythonPath ${sip}) + ''; + + cfgOption = [ + # without this option it can't find sqlite libs yet (missing symbols..) (TODO) + "-DWITH_INTERNAL_SQLITE3=TRUE" + "-DPYTHON_EXECUTABLE=${python}/bin/python" + ]; + + # REGION AUTO UPDATE: { name="qgis"; type="svn"; url="https://svn.osgeo.org/qgis/trunk/qgis"; } + src = sourceFromHead "qgis-13572.tar.gz" + (fetchurl { url = "http://mawercer.de/~nix/repos/qgis-13572.tar.gz"; sha256 = "fd4c0e19919901cbee7ead7522acdbecbf17c5b9050e34ef91f8ea6e2736bec8"; }); + # END + +} diff --git a/pkgs/applications/misc/simgrid/default.nix b/pkgs/applications/misc/simgrid/default.nix new file mode 100644 index 00000000000..45b93dab830 --- /dev/null +++ b/pkgs/applications/misc/simgrid/default.nix @@ -0,0 +1,59 @@ +{ fetchurl, stdenv, cmake, ruby }: + +stdenv.mkDerivation rec { + name = "simgrid-3.4.1"; + + src = fetchurl { + url = "https://gforge.inria.fr/frs/download.php/26944/${name}.tar.bz2"; + sha256 = "acd2bb2c1abf59e9b190279b1c38582b7c1edd4b6ef4c6a9b01100740f1a6b28"; + }; + + /* FIXME: Ruby currently disabled because of this: + + Linking C shared library ../src/.libs/libsimgrid.so + ld: cannot find -lruby-1.8.7-p72 + + */ + buildInputs = [ cmake /* ruby */ ]; + + preConfigure = + # Make it so that libsimgrid.so will be found when running programs from + # the build dir. + '' export LD_LIBRARY_PATH="$PWD/src/.libs" + export cmakeFlags="-Dprefix=$out" + ''; + + makeFlags = "VERBOSE=1"; + + patchPhase = + '' for i in "src/smpi/"* + do + sed -i "$i" -e's|/bin/bash|/bin/sh|g' + done + ''; + + installPhase = "make install-simgrid"; + + # Fixing the few tests that fail is left as an exercise to the reader. + doCheck = false; + + meta = { + description = "SimGrid, a simulator for distributed applications in heterogeneous environments"; + + longDescription = + '' SimGrid is a toolkit that provides core functionalities for the + simulation of distributed applications in heterogeneous distributed + environments. The specific goal of the project is to facilitate + research in the area of distributed and parallel application + scheduling on distributed computing platforms ranging from simple + network of workstations to Computational Grids. + ''; + + homepage = http://simgrid.gforge.inria.fr/; + + license = "LGPLv2+"; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice + }; +} diff --git a/pkgs/applications/misc/wordnet/default.nix b/pkgs/applications/misc/wordnet/default.nix index f63d61b0ea4..86213a8b3d6 100644 --- a/pkgs/applications/misc/wordnet/default.nix +++ b/pkgs/applications/misc/wordnet/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation { "--with-tk=" + tk + "/lib"; postInstall = '' - wrapProgram $out/bin/wishwn --set TK_LIBRARY "${tk}/lib/tk8.4" + wrapProgram $out/bin/wishwn --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}" wrapProgram $out/bin/wnb --prefix PATH : "$out/bin" ''; diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix new file mode 100644 index 00000000000..6c6b469f18d --- /dev/null +++ b/pkgs/applications/misc/zathura/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, gtk, poppler }: +stdenv.mkDerivation rec { + name = "zathura-0.0.5"; + src = fetchurl { + #url = "https://pwmt.org/zathura/download/{name}.tar.gz" + # Site's SSL cert is invalid, and I dunno how to pass --insecure to curl. + # Thanks Mark Weber for mirroring this tarball. + url = "http://mawercer.de/~nix/${name}.tar.gz"; + sha256 = "e4dfbcceafc7bcb5c4e1ff349822c610db6378906ab65aabba8be246d7ee9b52"; + }; + buildInputs = [ pkgconfig gtk poppler ]; + patchPhase = '' + substituteInPlace config.mk --replace 'PREFIX = /usr' "PREFIX = $out" + ''; + meta = { + homepage = https://pwmt.org/zathura/; + description = "A highly customizable and functional PDF viewer"; + longDescription = '' + zathura is a highly customizable and functional PDF viewer based on the + poppler rendering library and the gtk+ toolkit. The idea behind zathura + is an application that provides a minimalistic and space saving interface + as well as an easy usage that mainly focuses on keyboard interaction. + ''; + license = "free"; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix index da812d3933a..8e81005b943 100644 --- a/pkgs/applications/networking/browsers/opera/default.nix +++ b/pkgs/applications/networking/browsers/opera/default.nix @@ -5,20 +5,20 @@ assert stdenv.isLinux && stdenv.gcc.gcc != null; stdenv.mkDerivation rec { - name = "opera-10.00"; + name = "opera-10.10"; builder = ./builder.sh; src = if stdenv.system == "i686-linux" then fetchurl { - url = "http://mirror.liteserver.nl/pub/opera/linux/1000/final/en/i386/shared/${name}.gcc4-shared-qt3.i386.tar.gz"; - sha256 = "1l87rxdzq2mb92jbwj4gg79j177yzyfbkqb52gcdwicw8jcmhsad"; + url = "http://mirror.liteserver.nl/pub/opera/linux/1010/final/en/i386/shared/opera-10.10.gcc4-shared-qt3.i386.tar.bz2"; + sha256 = "0y8xahwgx5jw83ky4zkw8ixyfgnd2xg9k0zq15yivhimi60fsppc"; } else if stdenv.system == "x86_64-linux" then fetchurl { - url = "http://mirror.liteserver.nl/pub/opera/linux/1000/final/en/x86_64/${name}.gcc4-shared-qt3.x86_64.tar.gz"; - sha256 = "0w9a56j3jz0bjdj98k6n4xmrjnkvlxm32cfvh2c0f5pvgwcr642i"; + url = "http://mirror.liteserver.nl/pub/opera/linux/1010/final/en/x86_64/opera-10.10.gcc4-shared-qt3.x86_64.tar.bz2"; + sha256 = "1z0zgalqv9lnf1jsg3zg9diqfyszh75r7m1dbkifkdawn4zv4q3s"; } else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)"; diff --git a/pkgs/applications/networking/instant-messengers/gajim/default.nix b/pkgs/applications/networking/instant-messengers/gajim/default.nix index 6e950c9fe3b..6b9d7b4d24b 100644 --- a/pkgs/applications/networking/instant-messengers/gajim/default.nix +++ b/pkgs/applications/networking/instant-messengers/gajim/default.nix @@ -2,7 +2,7 @@ a : let fetchurl = a.fetchurl; - version = a.lib.attrByPath ["version"] "0.12.1" a; + version = a.lib.attrByPath ["version"] "0.13.4" a; buildInputs = with a; [ python pyGtkGlade gtk perl intltool dbus gettext pkgconfig makeWrapper libglade pyopenssl libXScrnSaver @@ -13,8 +13,8 @@ let in rec { src = fetchurl { - url = "http://www.gajim.org/downloads/gajim-${version}.tar.gz"; - sha256 = "1iglh0i819m1a8qjkbyv2ydzbzhjgnaxyyq1jnikrwlbah5mjpbv"; + url = "http://www.gajim.org/downloads/0.13/gajim-${version}.tar.gz"; + sha256 = "0w7ddimwbapz51k76agqac5lwaqrsacl01zgq3jngrkgpfjlvxym"; }; inherit buildInputs; @@ -26,8 +26,19 @@ rec { sed -e '/-L[$]x_libraries/d' -i configure '') ["addInputs" "doUnpack"]; + fixScriptNames = a.fullDepEntry ('' + mkdir "$out"/bin-wrapped + for i in "$out"/bin/.*-wrapped; do + name="$i" + name="''${name%-wrapped}" + name="''${name##*/.}" + mv "$i" "$out/bin-wrapped/$name" + sed -e 's^'"$i"'^'"$out/bin-wrapped/$name"'^' -i "$out/bin/$name" + done + '') ["wrapBinContentsPython"]; + /* doConfigure should be removed if not needed */ - phaseNames = ["preConfigure" (a.doDump "1") "doConfigure" "doMakeInstall" "wrapBinContentsPython"]; + phaseNames = ["preConfigure" (a.doDump "1") "doConfigure" "doMakeInstall" "wrapBinContentsPython" "fixScriptNames"]; name = "gajim-" + version; meta = { diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix index b80f81010da..d842dc9364b 100644 --- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix @@ -10,6 +10,8 @@ stdenv.mkDerivation { sha256 = "11d85qxix1dmwvzs3lx0sycsx1d5sy67r9y78fs7z716py4mg9np"; }; + patches = [ ./fix-2.7.0.patch ]; + meta = { description = "SIPE plugin for Pidgin IM."; homepage = http://sipe.sourceforge.net/; diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/fix-2.7.0.patch b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/fix-2.7.0.patch new file mode 100644 index 00000000000..cecfa8a18e4 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/fix-2.7.0.patch @@ -0,0 +1,27 @@ +From 8ad28171ac5c3fbd1917a2f52e75423c4d357b24 Mon Sep 17 00:00:00 2001 +From: David Brown +Date: Thu, 3 Jun 2010 06:40:04 -0700 +Subject: [PATCH] Fix initializer for 2.7.0 release + +The release of 2.7.0 of pidgin/purple gained two extra fields in a +structure. +--- + src/core/sipe.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) + +diff --git a/src/core/sipe.c b/src/core/sipe.c +index 45a9015..19f4237 100644 +--- a/src/core/sipe.c ++++ b/src/core/sipe.c +@@ -10683,6 +10683,8 @@ PurplePluginProtocolInfo prpl_info = + NULL, /* get_media_caps */ + #if PURPLE_VERSION_CHECK(2,7,0) + NULL, /* get_moods */ ++ NULL, /* set_public_alias */ ++ NULL, /* get_public_alias */ + #endif + #endif + #endif +-- +1.7.1 + diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix index 4cba9732f11..04f9e609204 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.7.0"; + name = "pidgin-2.7.1"; src = fetchurl { - url = mirror://sourceforge/pidgin/pidgin-2.7.0.tar.bz2; - sha256 = "0gbq6n36h9a53rp1x41fakrbncxc27y84pn3a0lcz3nvfnpcnnfw"; + url = mirror://sourceforge/pidgin/pidgin-2.7.1.tar.bz2; + sha256 = "1lcmpb86qsknkzwc1395r2aq09v8z6cr7d23jwi57mcs72ksa4pl"; }; inherit nss ncurses; diff --git a/pkgs/applications/networking/instant-messengers/psi/default.nix b/pkgs/applications/networking/instant-messengers/psi/default.nix index 23f27b3caa9..b0819da4c6e 100644 --- a/pkgs/applications/networking/instant-messengers/psi/default.nix +++ b/pkgs/applications/networking/instant-messengers/psi/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, aspell, qt4, zlib, sox, libX11, xproto, libSM, libICE, qca2, pkgconfig }: +{ stdenv, fetchurl, aspell, qt4, zlib, sox, libX11, xproto, libSM, + libICE, qca2, pkgconfig, qca2_ossl, liboil, speex, gst_all }: stdenv.mkDerivation rec { name = "psi-0.14"; @@ -8,7 +9,8 @@ stdenv.mkDerivation rec { sha256 = "1h54a1qryfva187sw9qnb4lv1d3h3lysqgw55v727swvslh4l0da"; }; - buildInputs = [aspell qt4 zlib sox libX11 xproto libSM libICE qca2 pkgconfig]; + buildInputs = [aspell qt4 zlib sox libX11 xproto libSM libICE + qca2 qca2_ossl pkgconfig]; NIX_CFLAGS_COMPILE="-I${qca2}/include/QtCrypto"; @@ -19,7 +21,24 @@ stdenv.mkDerivation rec { " --disable-bundled-qca" ]; + psiMedia = (import ./psimedia.nix) { + inherit stdenv fetchurl qt4 speex gst_all liboil; + }; + + postInstall = '' + PSI_PLUGINS="$out/lib/psi/plugins" + ensureDir "$PSI_PLUGINS" + ln -s "${psiMedia}"/share/psi/plugins/*.so "$PSI_PLUGINS" + PSI_QT_PLUGINS="$out/share/psi" + ensureDir "$PSI_QT_PLUGINS"/crypto + ln -s "${qca2_ossl}"/lib/qt4/plugins/crypto/*.so "$PSI_QT_PLUGINS"/crypto + ''; + meta = { description = "Psi, an XMPP (Jabber) client"; + maintainers = with stdenv.lib.maintainers; + [raskin]; + platforms = with stdenv.lib.platforms; + linux; }; } diff --git a/pkgs/applications/networking/instant-messengers/psi/psimedia.nix b/pkgs/applications/networking/instant-messengers/psi/psimedia.nix new file mode 100644 index 00000000000..5f6112b53d0 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/psi/psimedia.nix @@ -0,0 +1,24 @@ +{stdenv, fetchurl, qt4, gst_all, liboil, speex}: + +stdenv.mkDerivation rec { + name = "psimedia"; + + src = fetchurl { + url = "http://delta.affinix.com/download/psimedia/psimedia-1.0.3.tar.bz2"; + sha256 = "0fxjdz8afh75gfx2msysb1gss6zx578l3224jvc9jhm99w1ii781"; + }; + + buildInputs = [qt4 gst_all.gstreamer gst_all.gstPluginsBase liboil speex]; + + configurePhase = ''./configure''; + + postBuild = '' + TARGET="$out/share/psi/plugins" + ensureDir "$TARGET" + cp gstprovider/*.so "$TARGET"/ + ''; + + meta = { + description = "Psi Media, a plugin to provide Voice/Video over XMPP"; + }; +} diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix index 67839833c31..983862773d4 100644 --- a/pkgs/applications/networking/msmtp/default.nix +++ b/pkgs/applications/networking/msmtp/default.nix @@ -1,4 +1,4 @@ -args: with args; +{stdenv, fetchurl, openssl}: stdenv.mkDerivation { name = "msmtp-1.4.13"; @@ -7,6 +7,8 @@ stdenv.mkDerivation { sha256 = "1x8q8dhcpnjym3icz6070l13hz98fvdvgc5j5psj4pmxbswx0r4p"; }; + buildInputs = [ openssl ]; + meta = { description = "a MUA"; homepage = http://msmtp.sourceforge.net/; diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix index 264bf657cd6..e3feb6d34a0 100644 --- a/pkgs/applications/office/abiword/default.nix +++ b/pkgs/applications/office/abiword/default.nix @@ -3,10 +3,10 @@ enchant, wv, librsvg, bzip2 }: stdenv.mkDerivation { - name = "abiword-2.8.4"; + name = "abiword-2.8.5"; src = fetchurl { - url = http://www.abisource.org/downloads/abiword/2.8.4/source/abiword-2.8.4.tar.gz; - sha256 = "1v2f83cc8j6chsyzgjh903s6c8fkr7dy5s10bqigzfrqi9iv990l"; + url = http://www.abisource.org/downloads/abiword/2.8.5/source/abiword-2.8.5.tar.gz; + sha256 = "0k82y1wd2lx4ifk8rbifbr301zqnrbx61b7x78b14n4k8x13srxa"; }; buildInputs = [pkgconfig gtk libglade librsvg bzip2 diff --git a/pkgs/applications/office/openoffice/OOo-3.1.1-HEADERFIX-1.patch b/pkgs/applications/office/openoffice/OOo-3.1.1-HEADERFIX-1.patch deleted file mode 100644 index ce943890ff6..00000000000 --- a/pkgs/applications/office/openoffice/OOo-3.1.1-HEADERFIX-1.patch +++ /dev/null @@ -1,74 +0,0 @@ -Submitted By: zippo zippo@oppiz.net -Date: 2009-09-23 -Initial Package Version: 3.1.1 -Upstream Status: Unknown -Origin: zippo@oppiz.net -Description: Fixes missing headers, GCC-4.3.2 and corrects errors for Glib 2.10 -diff -Naur OOO310_m19/soltools/mkdepend/def.h OOO310_m19.new/soltools/mkdepend/def.h ---- OOO310_m19/soltools/mkdepend/def.h 2008-04-10 18:05:14.000000000 +0000 -+++ OOO310_m19.new/soltools/mkdepend/def.h 2009-09-23 01:17:01.913883308 +0000 -@@ -154,7 +154,7 @@ - - char *copy(); - char *base_name(); --char *getline(); -+char *get_line(); - char *isdefined(); - struct filepointer *getfile(); - struct inclist *newinclude(); -diff -Naur OOO310_m19/soltools/mkdepend/main.c OOO310_m19.new/soltools/mkdepend/main.c ---- OOO310_m19/soltools/mkdepend/main.c 2008-07-22 17:24:34.000000000 +0000 -+++ OOO310_m19.new/soltools/mkdepend/main.c 2009-09-23 01:18:09.160646833 +0000 -@@ -548,7 +548,7 @@ - * Get the next line. We only return lines beginning with '#' since that - * is all this program is ever interested in. - */ --char *getline(filep) -+char *get_line(filep) - register struct filepointer *filep; - { - register char *p, /* walking pointer */ -diff -Naur OOO310_m19/soltools/mkdepend/parse.c OOO310_m19.new/soltools/mkdepend/parse.c ---- OOO310_m19/soltools/mkdepend/parse.c 2008-04-10 18:06:39.000000000 +0000 -+++ OOO310_m19.new/soltools/mkdepend/parse.c 2009-09-23 01:18:54.183802453 +0000 -@@ -45,7 +45,7 @@ - register int type; - boolean recfailOK; - -- while ((line = getline(filep))) { -+ while ((line = get_line(filep))) { - switch(type = deftype(line, filep, file_red, file, TRUE, symbols)) { - case IF: - doif: -@@ -168,7 +168,7 @@ - register char *line; - register int type; - -- while ((line = getline(filep))) { -+ while ((line = get_line(filep))) { - switch(type = deftype(line, filep, file_red, file, FALSE, symbols)) { - case IF: - case IFFALSE: -diff -Naur OOO310_m19/sw/source/core/doc/docbm.cxx OOO310_m19.new/sw/source/core/doc/docbm.cxx ---- OOO310_m19/sw/source/core/doc/docbm.cxx 2008-09-04 10:19:07.000000000 +0000 -+++ OOO310_m19.new/sw/source/core/doc/docbm.cxx 2009-09-23 12:32:08.011104664 +0000 -@@ -32,7 +32,7 @@ - // MARKER(update_precomp.py): autogen include statement, do not remove - #include "precompiled_sw.hxx" - -- -+#include - #include - #include - #include -diff -Naur OOO310_m19/sw/source/filter/ww8/WW8TableInfo.cxx OOO310_m19.new/sw/source/filter/ww8/WW8TableInfo.cxx ---- OOO310_m19/sw/source/filter/ww8/WW8TableInfo.cxx 2009-04-21 09:51:46.000000000 +0000 -+++ OOO310_m19.new/sw/source/filter/ww8/WW8TableInfo.cxx 2009-09-23 12:51:12.882511596 +0000 -@@ -31,6 +31,7 @@ - // MARKER(update_precomp.py): autogen include statement, do not remove - #include "precompiled_sw.hxx" - -+#include - #include - #include "WW8TableInfo.hxx" - #include "swtable.hxx" diff --git a/pkgs/applications/office/openoffice/get-go-src.nix b/pkgs/applications/office/openoffice/get-go-src.nix new file mode 100644 index 00000000000..ebdb586bd47 --- /dev/null +++ b/pkgs/applications/office/openoffice/get-go-src.nix @@ -0,0 +1,54 @@ +# nix derivation that will create a bash script that will create the go-srcs.nix file. +# +# it can be slightly improved so it downloads properly also the OpenOffice.org upstream package, +# instead of only those 'additional' to the upstream code. By now the upstream oo.org code I wrote +# manually in the go-oo.nix. +# +# I think this looks quite ugly, but the only way I've found to know what files the program will need, +# and from what URLs, is running their './configure' with proper parameters and executing their +# './download' script. + +let + pkgsFun = import /etc/nixos/nixpkgs; + pkgs = pkgsFun {}; + downloadRoot = "http://download.services.openoffice.org/files/stable/"; +in +with pkgs; + +lib.overrideDerivation go_oo (attrs: { + name = attrs.name + "-make-src"; + src = attrs.src; + + buildInputs = attrs.buildInputs ++ [ gawk ]; + + # Avoid downloading what is defined in go_oo + srcs_download = null; + + phases = [ "unpackPhase" "configurePhase" "makesh" ]; + + makesh = '' + sed -i -e '/-x $WG/d' -e "s/WGET='''/WGET='echo XXX'/" download + ensureDir $out + + set +e + ./download --all | grep XXX | + sed '/bouncer/s,\(.*\)http.*version=\([0-9.]\+\).*lang=\([a-z0-9]\+\).*\( .*\),\1${downloadRoot}\2/OOo_\2_src_\3.tar.bz2\4,' | + awk ' + BEGIN { + print "#!/bin/sh" + print "echo \"{fetchurl} : [\" > go-srcs.nix" + } + { + print "echo \"(fetchurl {\" >> go-srcs.nix" + print "echo \" url = \\\"" $2 "\\\";\" >> go-srcs.nix" + print "echo \" sha256 = \\\"`nix-prefetch-url " $2 "`\\\";\" >> go-srcs.nix" + if (NF > 3) + print "echo \" name = \\\"" $4 "\\\";\" >> go-srcs.nix" + print "echo \"})\" >> go-srcs.nix" + } + END { + print "echo ] >> go-srcs.nix" + }' > $out/make-go-srcs-nix.sh + exit 0 + ''; +}) diff --git a/pkgs/applications/office/openoffice/go-oo.nix b/pkgs/applications/office/openoffice/go-oo.nix index ccf9238533f..bdd7b45981e 100644 --- a/pkgs/applications/office/openoffice/go-oo.nix +++ b/pkgs/applications/office/openoffice/go-oo.nix @@ -10,28 +10,32 @@ let langsSpaces = stdenv.lib.concatStringsSep " " langs; + tag = "OOO320_m19"; + version = "3.2.1.3"; in stdenv.mkDerivation rec { - name = "go-oo-3.2.0.10"; + name = "go-oo-${version}"; # builder = ./builder.sh; - downloadRoot = "http://download.services.openoffice.org/files/stable"; - src = fetchurl { - url = "http://download.go-oo.org/OOO320/ooo-build-3.2.0.10.tar.gz"; - sha256 = "0g6n0m9pibn6cx12zslmknzy1p764nqj8vdf45l5flyls9aj3x21"; + url = "http://download.go-oo.org/OOO320/ooo-build-${version}.tar.gz"; + sha256 = "0c8y66ca9nsfbznjazblpszpvg20mgic2bnpffgqb6qlpji6iwd1"; }; - srcs_download = (import ./src.nix) fetchurl; + srcs_download = import ./go-srcs.nix { inherit fetchurl; }; # Multi-CPU: --with-num-cpus=4 + # The '--with-tag=XXXX' string I took from their 'configure' script. I write it so it matches the + # logic in the script for "upstream version for X.X.X". Look for that string in the script. + # We need '--without-split' when downloading directly usptream openoffice src tarballs. configurePhase = '' sed -i -e '1s,/bin/bash,${bash}/bin/bash,' $(find bin -type f) - sed -i -e '1s,/usr/bin/perl,${perl}/bin/perl,' download.in bin/ooinstall bin/generate-bash-completion + sed -i -e '1s,/usr/bin/perl,${perl}/bin/perl,' download.in $(find bin -type f) + sed -i -e '1s,/usr/bin/python,${python}/bin/python,' bin/*.py echo "$distroFlags" > distro-configs/SUSE-11.1.conf.in ./configure --with-distro=SUSE-11.1 --with-system-libwpd --without-git --with-system-cairo \ - --with-lang="${langsSpaces}" + --with-lang="${langsSpaces}" --with-tag=${tag} --without-split ''; buildPhase = '' @@ -48,7 +52,7 @@ stdenv.mkDerivation rec { make build.prepare set -x - pushd build/ooo3*-*/ + pushd build/${tag} # Fix svtools: hardcoded jpeg path sed -i -e 's,^JPEG3RDLIB=.*,JPEG3RDLIB=${libjpeg}/lib/libjpeg.so,' solenv/inc/libs.mk # Fix sysui: wants to create a tar for root @@ -61,6 +65,7 @@ stdenv.mkDerivation rec { sed -i -e 's,^CONFIGURE_FLAGS.*,& --prefix='$TMPDIR, redland/redland/makefile.mk \ redland/raptor/makefile.mk redland/rasqal/makefile.mk popd + set +x make ''; @@ -117,6 +122,7 @@ stdenv.mkDerivation rec { --without-system-mozilla --without-system-libwps --without-system-libwpg + --without-system-redland ''; buildInputs = [ diff --git a/pkgs/applications/office/openoffice/go-srcs.nix b/pkgs/applications/office/openoffice/go-srcs.nix new file mode 100644 index 00000000000..9ac2cff58f8 --- /dev/null +++ b/pkgs/applications/office/openoffice/go-srcs.nix @@ -0,0 +1,66 @@ +{fetchurl} : [ +(fetchurl { + url = "http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_system.tar.bz2"; + sha256 = "0giy3sza64ij19w7b06rxcrkrb5kq2fvkz486vh3mv08s8xa8zfc"; +}) +(fetchurl { + url = "http://download.go-oo.org/src//seamonkey-1.1.14.source.tar.gz"; + sha256 = "0fb0pv2w8583q65ja5x8wh6ah6i3kwwq99s4v8cn99g91v8xn9hr"; +}) +(fetchurl { + url = "http://download.go-oo.org//DEV300/ooo-cli-prebuilt-3.2.1.tar.bz2"; + sha256 = "0wfq6xsiqdzmkq3zxhd0q4k7db9bhl027wy5z28pcnmv4li5h40b"; +}) +(fetchurl { + url = "http://archive.apache.org/dist/ant/binaries/apache-ant-1.7.0-bin.tar.gz"; + sha256 = "1dnwzk1k8d5iinxsal3qskjagljx5ywwmwb4i6bymfmyr64qppn1"; +}) +(fetchurl { + url = "http://download.go-oo.org//SRC680/mdbtools-0.6pre1.tar.gz"; + sha256 = "1lz33lmqifjszad7rl1r7rpxbziprrm5rkb27wmswyl5v98dqsbi"; +}) +(fetchurl { + url = "http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_core.tar.bz2"; + sha256 = "0gj2hinhnzkazh44k1an05x5cj7n6721f2grqrkjh31cm38r9p6i"; +}) +(fetchurl { + url = "http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_extensions.tar.bz2"; + sha256 = "0d5byyg0ac0xsi22cw4d857rpd1r3mm2j13ajfydgsn2d2ka7nrj"; +}) +(fetchurl { + url = "http://download.go-oo.org//SRC680/extras-3.tar.bz2"; + sha256 = "1s6cz92b2amfn135l6a2hras4qrd04kw5yyqli7xmb8xqa0m3y3c"; +}) +(fetchurl { + url = "http://download.go-oo.org//SRC680/biblio.tar.bz2"; + sha256 = "02v2xbq771zi09qw3k4zih95m1rjns4pwwpl51n0m34c0a00lhf0"; +}) +(fetchurl { + url = "http://multidimalgorithm.googlecode.com/files//mdds_0.3.0.tar.bz2"; + sha256 = "1zqxs2a1ah0vq2a5dypqclig2c85z0a8rz7b63vfsqxvd2258a2d"; +}) +(fetchurl { + url = "http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_binfilter.tar.bz2"; + sha256 = "0nxh1rdw566i7nr5vjfxbankwy5lsd2maggcqz3m0chp7jgvsb6p"; +}) +(fetchurl { + url = "http://tools.openoffice.org/unowinreg_prebuild/680//unowinreg.dll"; + sha256 = "0g3529nr0nfhn3cygn8x931pqxnqq88nfc5h829xncr1j8ifaqzm"; +}) +(fetchurl { + url = "http://download.services.openoffice.org/files/stable/3.2.1/OOo_3.2.1_src_l10n.tar.bz2"; + sha256 = "0m3i3czwqcyc2mibldp1zx34wxw7ls7akb3jak75nc6i3h7ykmsm"; +}) +(fetchurl { + url = "http://download.go-oo.org//SRC680/libwps-0.1.2.tar.gz"; + sha256 = "1cdjmgpy0igrwlb5i1sm4s2yxvzbmqz6j7xnmmv3kpbx7z43zw78"; +}) +(fetchurl { + url = "http://download.go-oo.org//SRC680/libwpg-0.1.3.tar.gz"; + sha256 = "1qv5qqycaqrm8arprwf3vyk76fm6v7qabpx5qq58knp1xm72z98r"; +}) +(fetchurl { + url = "http://download.go-oo.org//DEV300/ooo_oxygen_images-2009-06-17.tar.gz"; + sha256 = "0jhgjhm63cmjr59nhvdln1szgm36v6kkazy2388l7z6xjjrhxk1z"; +}) +] diff --git a/pkgs/applications/office/openoffice/src.nix b/pkgs/applications/office/openoffice/src.nix deleted file mode 100644 index 69c35bf9683..00000000000 --- a/pkgs/applications/office/openoffice/src.nix +++ /dev/null @@ -1,141 +0,0 @@ -fetchurl: -[ - (fetchurl { - url = "http://download.go-oo.org//DEV300/ooo-cli-prebuilt-3.2.tar.bz2"; - sha256 = "1v55fl0n8zisn6gih99fn1c5vp6wl6cf0qh1nwlcx9ia76jnjj9k"; - }) -/* - (fetchurl { - url = "http://cairographics.org/releases//cairo-1.4.10.tar.gz"; - sha256 = "0cji7shlnd3yg3939233p8imnrivykx4g39p3qr8r2a4c2k7hkjr"; - }) -*/ - (fetchurl { - url = "http://download.go-oo.org//SRC680/mdbtools-0.6pre1.tar.gz"; - sha256 = "1lz33lmqifjszad7rl1r7rpxbziprrm5rkb27wmswyl5v98dqsbi"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/artwork/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-artwork.tar.bz2"; - sha256 = "1zfn1gjdbxychxb9xvfi9hchzqbp20f15nf06badgga5klllir8b"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/base/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-base.tar.bz2"; - sha256 = "07gmicn9c2x16qzcfi0jh2z8mx0iz76vhskml7xkwv99vryy48im"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/bootstrap/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-bootstrap.tar.bz2"; - sha256 = "070zmd25wysmf2rka07b8w02wkyxz7qa30kscd9b3pc8m0cgq0fl"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/calc/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-calc.tar.bz2"; - sha256 = "0iwgmvffljmm1vbkjv36fq0riy7alk7r4gnfl5x9nrw7zic0xh29"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/components/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-components.tar.bz2"; - sha256 = "19x6lhdbcazkicp4h3zs8sq7n9gc7z9c3xkx6266m15n2k4c8ms9"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/extras/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-extras.tar.bz2"; - sha256 = "1lr8l0nxaqrhgcbb1vn08a8d4wzq032q2zl9a12dgjrnmgcx76s7"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/filters/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-filters.tar.bz2"; - sha256 = "1p13w9gngc5wz40nhsx8igk8zygnwcacd3bgas3m2jv9ifazk9v3"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/help/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-help.tar.bz2"; - sha256 = "0fqg8fpivgpyfqf0s085mjm09cmfzy684q1b58y62hg0f01wwr0k"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/impress/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-impress.tar.bz2"; - sha256 = "1dhrdsak1jqydjfkylj6r7w1h886gbcn1g4wjh1kgkwk50bdamh5"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/libs-gui/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-libs-gui.tar.bz2"; - sha256 = "0x5jf8bwzqkd76dpd7rh0fj1p4hmh8h9yshn8rfq6ss26bgwnmwr"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/libs-core/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-libs-core.tar.bz2"; - sha256 = "1qaa1g9mrlpjv7fkv0c8qarbl162l99w0a92ydsj1lv86jg01xvx"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/libs-extern/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-libs-extern.tar.bz2"; - sha256 = "0hxkba5yb1c09yyrqpw4llrr7xhpf5x08mnwgfdcfks690p1rzc9"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/postprocess/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-postprocess.tar.bz2"; - sha256 = "1jkkxpc199y64a41y13s6ib6gyp6gas8gl4w95sx506xvj90qxi3"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/sdk/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-sdk.tar.bz2"; - sha256 = "0211ak14sblmzswwa605q430gxxdjrqa5a2924r4lb1knrc9vlns"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/testing/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-testing.tar.bz2"; - sha256 = "0i7bcxd791id2bbgnsakwnmr4xnzd5hdcydlnqx50mni5mcd13v1"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/ure/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-ure.tar.bz2"; - sha256 = "16957l2npcbaizs29ly0xxfqaxinchnrvi720gggwhfp2mbl05ql"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/writer/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-writer.tar.bz2"; - sha256 = "0lcdlwy2scs01glj8fi1q1ysmyvn7j70b91ciad3m32lrxmr8s67"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/libs-extern-sys/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-libs-extern-sys.tar.bz2"; - sha256 = "0my3wh90xil3xpcjxi1q76v1bwi0rf62pzrf3pi3angd5y3hmysd"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/extensions/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-extensions.tar.bz2"; - sha256 = "1qmyc2vb0n6fdl7p92cpvp972zm6ilafq5s5m21wgicqwfr34chv"; - }) - (fetchurl { - url = "http://download.go-oo.org//SRC680/extras-3.tar.bz2"; - sha256 = "1s6cz92b2amfn135l6a2hras4qrd04kw5yyqli7xmb8xqa0m3y3c"; - }) - (fetchurl { - url = "http://download.go-oo.org//SRC680/biblio.tar.bz2"; - sha256 = "02v2xbq771zi09qw3k4zih95m1rjns4pwwpl51n0m34c0a00lhf0"; - }) - (fetchurl { - url = "http://tools.openoffice.org/unowinreg_prebuild/680//unowinreg.dll"; - sha256 = "0g3529nr0nfhn3cygn8x931pqxnqq88nfc5h829xncr1j8ifaqzm"; - }) - (fetchurl { - url = "http://cgit.freedesktop.org/ooo-build/l10n/snapshot/ooo/OOO320_m12.tar.bz2"; - name = "ooo320-m12-l10n.tar.bz2"; - sha256 = "0lknxxl0n4f383gxkljl1294zggfgaf2hbg3f6p4q6vr1byf3lww"; - }) - (fetchurl { - url = "http://download.go-oo.org//SRC680/libwps-0.1.2.tar.gz"; - sha256 = "1cdjmgpy0igrwlb5i1sm4s2yxvzbmqz6j7xnmmv3kpbx7z43zw78"; - }) - (fetchurl { - url = "http://download.go-oo.org//SRC680/libwpg-0.1.3.tar.gz"; - sha256 = "1qv5qqycaqrm8arprwf3vyk76fm6v7qabpx5qq58knp1xm72z98r"; - }) - (fetchurl { - url = "http://download.go-oo.org//DEV300/ooo_oxygen_images-2009-06-17.tar.gz"; - sha256 = "0jhgjhm63cmjr59nhvdln1szgm36v6kkazy2388l7z6xjjrhxk1z"; - }) -] diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix index ca1be9a8b41..6789eb4fda5 100644 --- a/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/pkgs/applications/science/electronics/gtkwave/default.nix @@ -1,13 +1,15 @@ -{stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, xz} : +{stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, xz, tcl, tk, judy} : stdenv.mkDerivation rec { - name = "gtkwave-3.3.5"; + name = "gtkwave-3.3.6"; src = fetchurl { url = "mirror://sourceforge/gtkwave/${name}.tar.gz"; - sha256 = "0vll02l3g990spc7yzwl16lbw18ybm7s9j3ffjq2v7949wng43l9"; + sha256 = "0vlayjvhmijcg4pbjix9lm1d5n2wxzcn16lkm2ysgpc8q6987df8"; }; - buildInputs = [ gtk gperf pkgconfig bzip2 xz ]; + buildInputs = [ gtk gperf pkgconfig bzip2 xz tcl tk judy]; + + configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" "--enable-judy" ]; meta = { description = "Wave viewer for Unix and Win32"; diff --git a/pkgs/applications/science/electronics/xoscope/default.nix b/pkgs/applications/science/electronics/xoscope/default.nix new file mode 100644 index 00000000000..61fb615b84d --- /dev/null +++ b/pkgs/applications/science/electronics/xoscope/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl, gtk, pkgconfig}: + +stdenv.mkDerivation rec { + name = "xoscope-2.0"; + + src = fetchurl { + url = "mirror://sourceforge/xoscope/${name}.tgz"; + sha256 = "00xlvvqyw6l1ljbsx1vgx2v1jfh0xacz1a0yhq1dj6yxf5wh58x8"; + }; + + buildInputs = [ gtk pkgconfig ]; + + meta = { + description = "Oscilloscope through the sound card"; + homepage = http://xoscope.sourceforge.net; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix index e0464152280..76d4234448c 100644 --- a/pkgs/applications/version-management/fossil/default.nix +++ b/pkgs/applications/version-management/fossil/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchurl, zlib, openssl}: let - version = "20100318142033"; + version = "20100521162104"; in stdenv.mkDerivation { @@ -9,7 +9,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.fossil-scm.org/download/fossil-src-${version}.tar.gz"; - sha256 = "16kd9sg99s8v549n9ggr5ynjrz36i71fvj1r66djdbdclg5sxlxv"; + sha256 = "0aym6r06194nnl5801lhihvjc9mhj7zl602xsz7dch8bnhln470f"; }; buildInputs = [ zlib openssl ]; 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 9f7149d6663..b7d34906c4a 100644 --- a/pkgs/applications/version-management/git-and-tools/git/default.nix +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -82,7 +82,7 @@ stdenv.mkDerivation rec { for prog in bin/gitk libexec/git-core/git-gui do wrapProgram "$out/$prog" \ - --set TK_LIBRARY "${tk}/lib/tk8.4" \ + --set TK_LIBRARY "${tk}/lib/${tk.libPrefix}" \ --prefix PATH : "${tk}/bin" done '' else '' diff --git a/pkgs/applications/version-management/git-and-tools/git/git-git.nix b/pkgs/applications/version-management/git-and-tools/git/git-git.nix index 0e4efa26fd3..a3b2a60953a 100644 --- a/pkgs/applications/version-management/git-and-tools/git/git-git.nix +++ b/pkgs/applications/version-management/git-and-tools/git/git-git.nix @@ -72,7 +72,7 @@ stdenv.mkDerivation rec { + (if guiSupport then '' # Wrap Tcl/Tk programs - wrapArgs="$wrapArgs --set TK_LIBRARY ${tk}/lib/tk8.4" + wrapArgs="$wrapArgs --set TK_LIBRARY ${tk}/lib/${tk.libPrefix}" wrapArgs="$wrapArgs --prefix PATH : ${tk}/bin" '' else "") diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix index 198d1439514..054dd0c1813 100644 --- a/pkgs/applications/version-management/mercurial/default.nix +++ b/pkgs/applications/version-management/mercurial/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { hgk=$out/lib/${python.libPrefix}/site-packages/hgext/hgk.py EOF # setting HG so that hgk can be run itself as well (not only hg view) - WRAP_TK=" --set TK_LIBRARY \"${tk}/lib/tk8.4\" + WRAP_TK=" --set TK_LIBRARY \"${tk}/lib/${tk.libPrefix}\" --set HG \"$out/bin/hg\" --prefix PATH : \"${tk}/bin\" " '' diff --git a/pkgs/applications/window-managers/dwm/default.nix b/pkgs/applications/window-managers/dwm/default.nix index bf4b5b1b664..cca60332d06 100644 --- a/pkgs/applications/window-managers/dwm/default.nix +++ b/pkgs/applications/window-managers/dwm/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, libX11, libXinerama, patches ? []}: stdenv.mkDerivation rec { - name = "dwm-5.7.2"; + name = "dwm-5.8.2"; src = fetchurl { url = "http://dl.suckless.org/dwm/${name}.tar.gz"; - sha256 = "1q6dpyi3fx09wxrclfmr4k6516gzd1aj2svyvrayr76sslrzxgrj"; + sha256 = "0rlv72fls2k4s48a0mw7mxa05d4qdxgs8pqbkyqkpzz3jb3kn965"; }; buildInputs = [ libX11 libXinerama ]; diff --git a/pkgs/applications/window-managers/larswm/default.nix b/pkgs/applications/window-managers/larswm/default.nix index 3cd3e18b13b..e3fa4f9fc71 100644 --- a/pkgs/applications/window-managers/larswm/default.nix +++ b/pkgs/applications/window-managers/larswm/default.nix @@ -12,7 +12,8 @@ stdenv.mkDerivation { configurePhase = '' xmkmf - makeFlags="BINDIR=$out/bin" + makeFlags="BINDIR=$out/bin MANPATH=$out/share/man" + installTargets="install install.man" ''; meta = { diff --git a/pkgs/build-support/fetchhg/default.nix b/pkgs/build-support/fetchhg/default.nix index a80835cc71f..a3a2ec4d561 100644 --- a/pkgs/build-support/fetchhg/default.nix +++ b/pkgs/build-support/fetchhg/default.nix @@ -1,17 +1,17 @@ -{stdenv, mercurial, nix}: {url, tag ? null, md5}: +{stdenv, mercurial, nix}: {name ? null, url, tag ? null, md5 ? null, sha256 ? null}: # TODO: statically check if mercurial as the https support if the url starts woth https. stdenv.mkDerivation { - name = "fetchhg"; + name = "fetchhg" + (if (name != null) then "-${name}" else ""); builder = ./builder.sh; buildInputs = [mercurial nix]; # Nix <= 0.7 compatibility. id = md5; - outputHashAlgo = "md5"; + outputHashAlgo = if (md5 != null) then "md5" else "sha256"; outputHashMode = "recursive"; - outputHash = md5; + outputHash = if (md5 != null) then md5 else sha256; inherit url tag; } diff --git a/pkgs/build-support/fetchurl/builder.sh b/pkgs/build-support/fetchurl/builder.sh index 22ba25e90a4..3bb55aa3c90 100644 --- a/pkgs/build-support/fetchurl/builder.sh +++ b/pkgs/build-support/fetchurl/builder.sh @@ -13,9 +13,11 @@ fi # cryptographic hash of the output anyway). curl="curl \ --location --max-redirs 20 \ + --retry 3 --disable-epsv \ --cookie-jar cookies \ - --insecure" + --insecure \ + $NIX_CURL_FLAGS" tryDownload() { diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index 1ba9124027d..62f6fb2acf4 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -91,6 +91,9 @@ stdenv.mkDerivation { # by definition pure. "http_proxy" "https_proxy" "ftp_proxy" "all_proxy" "no_proxy" + # This variable allows the user to pass additional options to curl + "NIX_CURL_FLAGS" + # This variable allows the user to override hashedMirrors from the # command-line. "NIX_HASHED_MIRRORS" diff --git a/pkgs/build-support/release/ant-build.nix b/pkgs/build-support/release/ant-build.nix index 04eec99c7ed..e761205f663 100644 --- a/pkgs/build-support/release/ant-build.nix +++ b/pkgs/build-support/release/ant-build.nix @@ -5,10 +5,12 @@ , jars ? [] , jarWrappers ? [] , antProperties ? [] +, antBuildInputs ? [] +, buildfile ? "build.xml" , ... } @ args: let - antFlags = stdenv.lib.concatMapStrings ({name, value}: "-D${name}=${value}" ) antProperties ; + antFlags = "-f ${buildfile} " + stdenv.lib.concatMapStrings ({name, value}: "-D${name}=${value}" ) antProperties ; in stdenv.mkDerivation ( @@ -21,10 +23,13 @@ stdenv.mkDerivation ( prePhases = ["antSetupPhase"]; - antSetupPhase = '' + antSetupPhase = with stdenv.lib; '' if test "$hydraAntLogger" != "" ; then export ANT_ARGS="-logger org.hydra.ant.HydraLogger -lib `ls $hydraAntLogger/lib/java/*.jar | head -1`" fi + for abi in ${concatStringsSep " " (map (f: "`find ${f} -name '*.jar'`") antBuildInputs)}; do + export ANT_ARGS="$ANT_ARGS -lib $abi" + done ''; installPhase = '' @@ -33,8 +38,10 @@ stdenv.mkDerivation ( find . -name "*.jar" | xargs -I{} cp -v {} $out/lib/java '' else stdenv.lib.concatMapStrings (j: '' cp -v ${j} $out/lib/java - echo file jar $out/lib/java/${j} >> $out/nix-support/hydra-build-products '') jars } + for j in $out/lib/java/*.jar ; do + echo file jar $j >> $out/nix-support/hydra-build-products + done ''; generateWrappersPhase = '' diff --git a/pkgs/build-support/upstream-updater/update-upstream-data.sh b/pkgs/build-support/upstream-updater/update-upstream-data.sh index 61c06251802..006da112fdb 100755 --- a/pkgs/build-support/upstream-updater/update-upstream-data.sh +++ b/pkgs/build-support/upstream-updater/update-upstream-data.sh @@ -6,6 +6,11 @@ own_dir="$(cd "$(dirname "$0")"; sh -c pwd)" source "$own_dir/snippets.sh" +[ -z "$1" ] && { + echo "Specify main expression filename." + exit 1; +} + main_file="$1" main_dir="$(cd "$(dirname "$main_file")" ; sh -c pwd)" file_name="$(basename "$main_file")" diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 64fb1d35420..67c0f64fc7a 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -1,4 +1,4 @@ -{pkgs}: +{ pkgs }: with pkgs; @@ -7,47 +7,77 @@ rec { inherit (linuxPackages_2_6_32) kernel; - klibcShrunk = pkgs.klibcShrunk.override { klibc = klibc_15; }; - - kvm = pkgs.kvm76; + kvm = pkgs.qemu_kvm; modulesClosure = makeModulesClosure { inherit kernel; - rootModules = ["cifs" "virtio_net" "virtio_pci" "virtio_blk" "virtio_balloon" "nls_utf8" "ext2" "ext3" "unix"]; + rootModules = [ "cifs" "virtio_net" "virtio_pci" "virtio_blk" "virtio_balloon" "nls_utf8" "ext2" "ext3" "unix" "sd_mod" "ata_piix" ]; }; - # !!! should use the mount_cifs package in all-packages.nix here. - mountCifs = (makeStaticBinaries stdenv).mkDerivation { - name = "mount.cifs"; - src = mount_cifs.src; - buildInputs = [nukeReferences]; - buildCommand = '' + hd = "vda"; # either "sda" or "vda" + + + initrdUtils = runCommand "initrd-utils" + { buildInputs = [ nukeReferences ]; + allowedReferences = [ "out" modulesClosure ]; # prevent accidents like glibc being included in the initrd + } + '' ensureDir $out/bin - gcc -Wall $src -o $out/bin/mount.cifs - strip $out/bin/mount.cifs - nuke-refs $out/bin/mount.cifs - ''; - allowedReferences = []; # prevent accidents like glibc being included in the initrd - }; + ensureDir $out/lib + + # Copy what we need from Glibc. + cp -p ${glibc}/lib/ld-linux*.so.? $out/lib + cp -p ${glibc}/lib/libc.so.* $out/lib + cp -p ${glibc}/lib/librt.so.* $out/lib + cp -p ${glibc}/lib/libdl.so.* $out/lib + # Copy some utillinux stuff. + cp ${utillinux}/bin/mount ${utillinux}/bin/umount $out/bin + cp -pd ${utillinux}/lib/libblkid*.so.* $out/lib + cp -pd ${utillinux}/lib/libuuid*.so.* $out/lib + # Copy some coreutils. + cp ${coreutils}/bin/basename $out/bin + cp ${coreutils}/bin/mkdir $out/bin + cp ${coreutils}/bin/mknod $out/bin + cp ${coreutils}/bin/cat $out/bin + cp ${coreutils}/bin/chroot $out/bin + cp ${coreutils}/bin/sleep $out/bin + cp ${coreutils}/bin/ln $out/bin + + # Copy some other tools. + cp ${bash}/bin/bash $out/bin + cp ${module_init_tools}/sbin/insmod $out/bin/insmod + cp ${nettools}/sbin/ifconfig $out/bin + cp ${sysvinit}/sbin/halt $out/bin + + # Run patchelf to make the programs refer to the copied libraries. + for i in $out/bin/* $out/lib/*; do if ! test -L $i; then nuke-refs $i; fi; done + + for i in $out/bin/*; do + echo "patching $i..." + patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib $i || true + done + ''; # */ + + createDeviceNodes = dev: '' mknod ${dev}/null c 1 3 mknod ${dev}/zero c 1 5 mknod ${dev}/tty c 5 0 - . /sys/class/block/vda/uevent - mknod ${dev}/vda b $MAJOR $MINOR + . /sys/class/block/${hd}/uevent + mknod ${dev}/${hd} b $MAJOR $MINOR ''; stage1Init = writeScript "vm-run-stage1" '' - #! ${klibcShrunk}/bin/sh.shared -e + #! ${initrdUtils}/bin/bash -e echo START - export PATH=${klibcShrunk}/bin:${mountCifs}/bin + export PATH=${initrdUtils}/bin mkdir /etc echo -n > /etc/fstab @@ -82,39 +112,31 @@ rec { args="CIFSMaxBufSize=4194304" ;; esac - echo "loading module $i with args $args" + echo "loading module $(basename $i .ko)" insmod $i $args done mount -t tmpfs none /dev ${createDeviceNodes "/dev"} - ipconfig 10.0.2.15:::::eth0:none + ifconfig eth0 up 10.0.2.15 mkdir /fs if test -z "$mountDisk"; then mount -t tmpfs none /fs else - mount -t ext2 /dev/vda /fs + mount -t ext2 /dev/${hd} /fs fi - + mkdir -p /fs/hostfs mkdir -p /fs/dev mount -o bind /dev /fs/dev - n=. - echo "mounting host filesystem..." - while true; do - if mount.cifs //10.0.2.4/qemu /fs/hostfs -o guest,username=nobody; then - break - else - n=".$n" - test ''${#n} -le 10 || exit 1 - sleep 1 - echo "retrying..." - fi + for ((n = 0; n < 10; n++)); do + echo "mounting host filesystem, attempt $n..." + mount -t cifs //10.0.2.4/qemu /fs/hostfs -o guest,username=nobody && break done mkdir -p /fs/nix/store @@ -142,7 +164,7 @@ rec { mount -o remount,ro dummy /fs echo DONE - reboot + halt -d -p -f ''; @@ -188,26 +210,42 @@ rec { qemuCommandLinux = '' - qemu-system-x86_64 -no-kvm-irqchip \ + qemu-system-x86_64 \ -nographic -no-reboot \ - -net nic,model=virtio -net user -smb / \ - -drive file=$diskImage,if=virtio,boot=on \ + -net nic,model=virtio -chardev socket,id=samba,path=$TMPDIR/samba -net user,guestfwd=tcp:10.0.2.4:139-chardev:samba \ + -drive file=$diskImage,if=virtio,boot=on,cache=writeback,werror=report \ -kernel ${kernel}/bzImage \ -initrd ${initrd}/initrd \ -append "console=ttyS0 panic=1 command=${stage2Init} tmpDir=$TMPDIR out=$out mountDisk=$mountDisk" \ $QEMU_OPTS ''; - + vmRunCommand = qemuCommand: writeText "vm-run" '' export > saved-env - PATH=${coreutils}/bin:${kvm}/bin:${samba}/sbin + PATH=${coreutils}/bin:${kvm}/bin diskImage=''${diskImage:-/dev/null} eval "$preVM" + cat > smb.conf < /dev/null 2>&1 & + while [ ! -e $TMPDIR/samba ]; do sleep 0.1; done # ugly ${qemuCommand} EOF @@ -244,8 +284,8 @@ rec { createRootFS = '' mkdir /mnt - ${e2fsprogs}/sbin/mke2fs -F /dev/vda - ${klibcShrunk}/bin/mount -t ext2 /dev/vda /mnt + ${e2fsprogs}/sbin/mke2fs -F /dev/${hd} + ${utillinux}/bin/mount -t ext2 /dev/${hd} /mnt if test -e /mnt/.debug; then exec ${bash}/bin/sh @@ -401,7 +441,8 @@ rec { # Make the Nix store available in /mnt, because that's where the RPMs live. mkdir -p /mnt/nix/store - ${klibcShrunk}/bin/mount -o bind /nix/store /mnt/nix/store + ${utillinux}/bin/mount -o bind /nix/store /mnt/nix/store + ${utillinux}/bin/mount -o bind /tmp /mnt/tmp echo "installing RPMs..." PATH=/usr/bin:/bin:/usr/sbin:/sbin $chroot /mnt \ @@ -412,8 +453,9 @@ rec { rm /mnt/.debug - ${klibcShrunk}/bin/umount /mnt/nix/store - ${klibcShrunk}/bin/umount /mnt + ${utillinux}/bin/umount /mnt/nix/store + ${utillinux}/bin/umount /mnt/tmp + ${utillinux}/bin/umount /mnt ''; passthru = {inherit fullName;}; @@ -541,9 +583,9 @@ rec { # Make the Nix store available in /mnt, because that's where the .debs live. mkdir -p /mnt/inst/nix/store - ${klibcShrunk}/bin/mount -o bind /nix/store /mnt/inst/nix/store - ${klibcShrunk}/bin/mount -o bind /proc /mnt/proc - ${klibcShrunk}/bin/mount -o bind /dev /mnt/dev + ${utillinux}/bin/mount -o bind /nix/store /mnt/inst/nix/store + ${utillinux}/bin/mount -o bind /proc /mnt/proc + ${utillinux}/bin/mount -o bind /dev /mnt/dev # Misc. files/directories assumed by various packages. echo "initialising Dpkg DB..." @@ -580,10 +622,10 @@ rec { rm /mnt/.debug - ${klibcShrunk}/bin/umount /mnt/inst/nix/store - ${klibcShrunk}/bin/umount /mnt/proc - ${klibcShrunk}/bin/umount /mnt/dev - ${klibcShrunk}/bin/umount /mnt + ${utillinux}/bin/umount /mnt/inst/nix/store + ${utillinux}/bin/umount /mnt/proc + ${utillinux}/bin/umount /mnt/dev + ${utillinux}/bin/umount /mnt ''; passthru = {inherit fullName;}; @@ -950,21 +992,21 @@ rec { } // args); debian40i386 = args: makeImageFromDebDist ({ - name = "debian-4.0r8-etch-i386"; - fullName = "Debian 4.0r8 Etch (i386)"; + name = "debian-4.0r9-etch-i386"; + fullName = "Debian 4.0r9 Etch (i386)"; packagesList = fetchurl { url = mirror://debian/dists/etch/main/binary-i386/Packages.bz2; - sha256 = "80ea57a7f106086c74470229998b07885d185dc62fe4a3200d2fffc5b2371f3d"; + sha256 = "40eeeecc35e6895b6eb0bc601e38fe53fc985d1b1f3fea3766f34763d21f206f"; }; urlPrefix = mirror://debian; } // args); debian40x86_64 = args: makeImageFromDebDist ({ - name = "debian-4.0r8-etch-amd64"; - fullName = "Debian 4.0r8 Etch (amd64)"; + name = "debian-4.0r9-etch-amd64"; + fullName = "Debian 4.0r9 Etch (amd64)"; packagesList = fetchurl { url = mirror://debian/dists/etch/main/binary-amd64/Packages.bz2; - sha256 = "d00114ef5e0c287273eebff7e7c4ca1aa0388a56c7d980a0a031e7782741e5ba"; + sha256 = "cf1c4c7d72e0da45797b046011254d2bd83f5ecb7389c7f30d2561be3f5b2e49"; }; urlPrefix = mirror://debian; } // args); diff --git a/pkgs/build-support/vm/test.nix b/pkgs/build-support/vm/test.nix index c61469bf226..ae91cbfe84e 100644 --- a/pkgs/build-support/vm/test.nix +++ b/pkgs/build-support/vm/test.nix @@ -14,7 +14,7 @@ rec { buildPatchelfRPM = buildRPM { name = "patchelf-rpm"; src = patchelf.src; - diskImage = diskImages.fedora8i386; + diskImage = diskImages.fedora12i386; }; diff --git a/pkgs/desktops/gnome-2.28/default.nix b/pkgs/desktops/gnome-2.28/default.nix index e0c325d33d7..06aaae06aef 100644 --- a/pkgs/desktops/gnome-2.28/default.nix +++ b/pkgs/desktops/gnome-2.28/default.nix @@ -142,7 +142,7 @@ rec { gtk_doc = import ./platform/gtk-doc { inherit (pkgs) stdenv fetchurl pkgconfig perl python libxml2 libxslt; - inherit (pkgs) docbook_xml_dtd_43 docbook_xsl; + inherit (pkgs) docbook_xml_dtd_43 docbook_xsl dblatex; inherit gnome_doc_utils; }; diff --git a/pkgs/desktops/gnome-2.28/platform/gtk-doc/default.nix b/pkgs/desktops/gnome-2.28/platform/gtk-doc/default.nix index c0a41f8f321..90a9088d456 100644 --- a/pkgs/desktops/gnome-2.28/platform/gtk-doc/default.nix +++ b/pkgs/desktops/gnome-2.28/platform/gtk-doc/default.nix @@ -1,12 +1,14 @@ -{stdenv, fetchurl, pkgconfig, perl, python, libxml2, libxslt, docbook_xml_dtd_43, docbook_xsl, gnome_doc_utils}: +{ stdenv, fetchurl, pkgconfig, perl, python, libxml2, libxslt +, docbook_xml_dtd_43, docbook_xsl, gnome_doc_utils, dblatex }: +let version = "1.15"; in stdenv.mkDerivation { - name = "gtk-doc-1.11"; + name = "gtk-doc-${version}"; src = fetchurl { - url = mirror://gnome/sources/gtk-doc/1.11/gtk-doc-1.11.tar.bz2; - sha256 = "08zz6gn90aqps84hfhdgarsilbdj0bbnj3wjm2x552n4i7gmq4wj"; + url = "mirror://gnome/sources/gtk-doc/${version}/gtk-doc-${version}.tar.bz2"; + sha256 = "0ca8wh67nyh574ahlfkx8k9w2bm4ji9yzxvi3afsicqdpyx77k2r"; }; - + # maybe there is a better way to pass the needed dtd and xsl files # "-//OASIS//DTD DocBook XML V4.1.2//EN" and "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl" preConfigure = '' @@ -23,5 +25,8 @@ stdenv.mkDerivation { configureFlags="--with-xml-catalog=$out/nix-support/catalog.xml --disable-scrollkeeper"; ''; - buildInputs = [ pkgconfig perl python libxml2 libxslt docbook_xml_dtd_43 gnome_doc_utils ]; + buildInputs = + [ pkgconfig perl python libxml2 libxslt docbook_xml_dtd_43 docbook_xsl + gnome_doc_utils dblatex + ]; } diff --git a/pkgs/desktops/kde-4.4/accessibility/default.nix b/pkgs/desktops/kde-4.4/accessibility/default.nix index 507764fef22..2e32523aa2a 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.3"; + name = "kdeaccessibility-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdeaccessibility-4.4.3.tar.bz2; - sha256 = "1j1v0bfl6kcapxwqa1ma19z61qx2vd4lx7b9dykkv7z3gq7c5y5m"; + url = mirror://kde/stable/4.4.4/src/kdeaccessibility-4.4.4.tar.bz2; + sha256 = "0v3fbm7wp42fnyxzpk1vlp95z4jn9rf56i075p8g2xvz6gxxgh30"; }; # 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 04e025a19b6..0e202852574 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.3"; + name = "kdeadmin-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdeadmin-4.4.3.tar.bz2; - sha256 = "08s0fagxgdk6p00qxzizrhs9010f6s9rlz7w07ri86m9ps9yd6am"; + url = mirror://kde/stable/4.4.4/src/kdeadmin-4.4.4.tar.bz2; + sha256 = "04jyvnwv8xwzchvzgns2db4bhr0fxis98am58icz6qva9nsgr6zh"; }; builder = ./builder.sh; diff --git a/pkgs/desktops/kde-4.4/artwork/default.nix b/pkgs/desktops/kde-4.4/artwork/default.nix index d0ff4f3b2fd..04d2730206b 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.3"; + name = "kdeartwork-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdeartwork-4.4.3.tar.bz2; - sha256 = "0ivfqg9nr5lqa1dppc0p6aw816jy8zqj308dv367jqh1qbapx0cl"; + url = mirror://kde/stable/4.4.4/src/kdeartwork-4.4.4.tar.bz2; + sha256 = "1pn50kaf77wxzlnw2fabfwg9xxzcw7wlm85525w3all936k5m7yv"; }; 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 a337d987751..fa19a0f7dc5 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.3"; + name = "kdebase-runtime-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdebase-runtime-4.4.3.tar.bz2; - sha256 = "1fyg804gl8hqzjicij8xs0gy7qdjnj6n4i8fxybk2wfn8mn5zgm1"; + url = mirror://kde/stable/4.4.4/src/kdebase-runtime-4.4.4.tar.bz2; + sha256 = "1gxa05i6zvklxng6ak5vak05dyay8j8g2hmdhma2290lwgf8gbx8"; }; /* CLUCENE_HOME=cluceneCore;*/ # Still have to look into Soprano Virtuoso diff --git a/pkgs/desktops/kde-4.4/base-workspace/default.nix b/pkgs/desktops/kde-4.4/base-workspace/default.nix index 738bd603431..aa18f4d3a89 100644 --- a/pkgs/desktops/kde-4.4/base-workspace/default.nix +++ b/pkgs/desktops/kde-4.4/base-workspace/default.nix @@ -6,10 +6,10 @@ }: stdenv.mkDerivation { - name = "kdebase-workspace-4.4.3"; + name = "kdebase-workspace-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdebase-workspace-4.4.3.tar.bz2; - sha256 = "0fcjk6bmswal02lwsywvv44x8qi8vr3vr08rlgp8v9rc5yqv4mkz"; + url = mirror://kde/stable/4.4.4/src/kdebase-workspace-4.4.4.tar.bz2; + sha256 = "1ryy9bmghr8c9hc87i1scmxaw3zdy3gndwwp7qyn5zqzh0jg0b8k"; }; buildInputs = [ cmake perl python qt4 pam consolekit sip pyqt4 kdelibs libXtst kdepimlibs kdebindings boost libusb stdenv.gcc.libc libXi libXau libXdmcp diff --git a/pkgs/desktops/kde-4.4/base/default.nix b/pkgs/desktops/kde-4.4/base/default.nix index 14f48fbd273..2a3286cbbf3 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.3"; + name = "kdebase-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdebase-4.4.3.tar.bz2; - sha256 = "15adml1rlpsgdy7ynbgzh3rnlzi1ynz42dmbjqz5yrv6l2pbgjag"; + url = mirror://kde/stable/4.4.4/src/kdebase-4.4.4.tar.bz2; + sha256 = "10cy6a65lb0164biijiqdwphd9isccac0fg1b66i58xsxpgn4x6w"; }; 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 61a2207a0cc..13d6d4057f8 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.3"; + name = "kdebindings-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdebindings-4.4.3.tar.bz2; - sha256 = "0gna0fwhm05pyxqanz68vvav7ahxzffwh2ry1zadfpzwmq5srnpg"; + url = mirror://kde/stable/4.4.4/src/kdebindings-4.4.4.tar.bz2; + sha256 = "1wn5hxv1sc0qywgq2bx2brzljlmw7kybbf2hcyiz322air753zdw"; }; #builder = ./builder.sh; diff --git a/pkgs/desktops/kde-4.4/default.nix b/pkgs/desktops/kde-4.4/default.nix index 36c30bc9124..24ebfbe58c8 100644 --- a/pkgs/desktops/kde-4.4/default.nix +++ b/pkgs/desktops/kde-4.4/default.nix @@ -282,10 +282,10 @@ pkgs.recurseIntoAttrs (rec { }; koffice = import ./extragear/koffice { - inherit (pkgs) stdenv fetchurl lib cmake qt4 perl lcms exiv2 libxml2 libxslt boost glew; - inherit (pkgs) shared_mime_info gsl gmm wv2 libwpd; + inherit (pkgs) stdenv fetchurl lib cmake qt4 perl lcms exiv2 giflib libxml2 libxslt boost glew; + inherit (pkgs) shared_mime_info gsl gmm wv2 libwpd libgsf; inherit kdelibs kdepimlibs; - inherit automoc4 phonon qimageblitz qca2 eigen; + inherit automoc4 phonon qimageblitz qca2 eigen soprano; poppler = pkgs.popplerQt4; }; diff --git a/pkgs/desktops/kde-4.4/edu/default.nix b/pkgs/desktops/kde-4.4/edu/default.nix index 8ade568e2d8..8b98e6d5d8a 100644 --- a/pkgs/desktops/kde-4.4/edu/default.nix +++ b/pkgs/desktops/kde-4.4/edu/default.nix @@ -3,10 +3,10 @@ , kdelibs, automoc4, phonon, eigen, attica}: stdenv.mkDerivation { - name = "kdeedu-4.4.3"; + name = "kdeedu-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdeedu-4.4.3.tar.bz2; - sha256 = "17hb1j7dy5ccgmna26cabng0z48qdhl8z0w2grm83a1a9szq2y4x"; + url = mirror://kde/stable/4.4.4/src/kdeedu-4.4.4.tar.bz2; + sha256 = "0rdpay0xs5j0k5r2m5yxm89ls5x7rzj9k758axz22r6wv1xynvz0"; }; #TODO: facile, indi, boost.python, cfitsio, R, qalculate buildInputs = [ cmake qt4 perl libxml2 libxslt openbabel boost readline gmm gsl xplanet diff --git a/pkgs/desktops/kde-4.4/extragear/amarok/default.nix b/pkgs/desktops/kde-4.4/extragear/amarok/default.nix index 0219ac411cb..87bb9a1908c 100644 --- a/pkgs/desktops/kde-4.4/extragear/amarok/default.nix +++ b/pkgs/desktops/kde-4.4/extragear/amarok/default.nix @@ -2,10 +2,10 @@ , kdelibs, automoc4, phonon, strigi, soprano, qca2}: stdenv.mkDerivation { - name = "amarok-2.3.0"; + name = "amarok-2.3.1"; src = fetchurl { - url = mirror://kde/stable/amarok/2.3.0/src/amarok-2.3.0.tar.bz2; - sha256 = "1a2c6qy2ik9l7r1lxm82h49acvzxsxxlnlgzwhlrhi27p3sk0xpw"; + url = mirror://kde/stable/amarok/2.3.1/src/amarok-2.3.1.tar.bz2; + sha256 = "0wjaic35bpv6dnnv2wwrbbsqbpng5cn7xfd3ykx25yjg9d6kzvrz"; }; inherit mysql loudmouth; QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins"; diff --git a/pkgs/desktops/kde-4.4/extragear/koffice/default.nix b/pkgs/desktops/kde-4.4/extragear/koffice/default.nix index c3281f354be..069afd27281 100644 --- a/pkgs/desktops/kde-4.4/extragear/koffice/default.nix +++ b/pkgs/desktops/kde-4.4/extragear/koffice/default.nix @@ -1,16 +1,16 @@ { stdenv, fetchurl, lib, cmake, qt4, perl, lcms, exiv2, libxml2, libxslt, boost, glew -, shared_mime_info, poppler, gsl, gmm, wv2, libwpd -, kdelibs, kdepimlibs, automoc4, phonon, qimageblitz, qca2, eigen}: +, shared_mime_info, poppler, gsl, gmm, wv2, libwpd, giflib, libgsf +, kdelibs, kdepimlibs, automoc4, phonon, qimageblitz, qca2, eigen, soprano}: stdenv.mkDerivation { - name = "koffice-2.1.2"; + name = "koffice-2.2.0"; src = fetchurl { - url = mirror://kde/stable/koffice-2.1.2/koffice-2.1.2.tar.bz2; - sha256 = "1nmp2kmksk6vjw9bk04lnl8ld43hf4s0ras6vali725innvkn8v4"; + url = mirror://kde/stable/koffice-2.2.0/koffice-2.2.0.tar.bz2; + sha256 = "0qa73grmn4c2d7zs5p0sxg6dws8hpg8v2vgp6frhj55l0sk3kqba"; }; buildInputs = [ cmake qt4 perl lcms exiv2 libxml2 libxslt boost glew shared_mime_info - poppler gsl gmm wv2 libwpd - kdelibs kdepimlibs automoc4 phonon qimageblitz qca2 eigen ]; + poppler gsl gmm wv2 libwpd giflib libgsf stdenv.gcc.libc + kdelibs kdepimlibs automoc4 phonon qimageblitz qca2 eigen soprano ]; meta = { description = "KDE integrated Office Suite"; license = "GPL"; diff --git a/pkgs/desktops/kde-4.4/games/default.nix b/pkgs/desktops/kde-4.4/games/default.nix index 286a47b8c92..74c710edf47 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.3"; + name = "kdegames-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdegames-4.4.3.tar.bz2; - sha256 = "0i14zd0jxbgrvxgpwq80ghfbhcj9awq1rh7g5716j514wl25nqpl"; + url = mirror://kde/stable/4.4.4/src/kdegames-4.4.4.tar.bz2; + sha256 = "0zs7r9bc7az6px1745jkrqzsgv6lmhvn1rdsw3jpzcb8qk8qk5wv"; }; 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 563e98ab544..807ca12a369 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.3"; + name = "kdegraphics-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdegraphics-4.4.3.tar.bz2; - sha256 = "0f7mw91fr2gx5ycdpb4b3c4d382933fqfhpsfvifpphkg1p0hy54"; + url = mirror://kde/stable/4.4.4/src/kdegraphics-4.4.4.tar.bz2; + sha256 = "1czrasc3ppk4waxsv4mcps25lbdvdspwgnsnad32b0qq0dls3mn1"; }; 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 e4c5c4bd7b9..f013409b337 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.3"; + name = "kde-l10n-${attr.lang}-4.4.4"; src = fetchurl { url = attr.url; sha256 = attr.sha256; @@ -23,344 +23,344 @@ in ar = deriv { lang = "ar"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ar-4.4.3.tar.bz2"; - sha256 = "1gnrnkkmchfwjdc712fkh6apl17d2nmnyyliim8k935s5nx40469"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-ar-4.4.4.tar.bz2"; + sha256 = "0x5ravkd2pba64vc0ss0r98plmxan07pkvqv1nc0h3bkrkv6bcm0"; }; bg = deriv { lang = "bg"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-bg-4.4.3.tar.bz2"; - sha256 = "1zqb07b77lpbk36xgz9s2hrxjwaayqcmp13apqnpbxdjfi98c40p"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-bg-4.4.4.tar.bz2"; + sha256 = "1xvx4c3v3pifpqq3qd3xkrhrc9xnkg5hhczd30akrphq8551z2sc"; }; ca = deriv { lang = "ca"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ca-4.4.3.tar.bz2"; - sha256 = "1y4kp45mm2bqd7sh4p94q7z737n7d56sfca01l4k2z6if2mfdqyv"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-ca-4.4.4.tar.bz2"; + sha256 = "0klixkxm1kgynpnzp8glxpj236x5n9p0nbd8ml3xzbk2pfamyay4"; }; cs = deriv { lang = "cs"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-cs-4.4.3.tar.bz2"; - sha256 = "01drz8cxaqh6vf1pk6pp18bdv4a5imgc1ajsv6cybc2sa63wff3m"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-cs-4.4.4.tar.bz2"; + sha256 = "0lzsddqwr3wr0fa33rfcqim3p708c5hbwlazzs1xckwgl4ww97ri"; }; csb = deriv { lang = "csb"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-csb-4.4.3.tar.bz2"; - sha256 = "1slii5r0s7s8wgmh3j0lxk5k7crpqyn3cyn0shh3fycpi3dhazlh"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-csb-4.4.4.tar.bz2"; + sha256 = "0qr1l01xvjgvg1qjm8j01vpaiz61md9d78qmz3384f72q9iz6jbk"; }; da = deriv { lang = "da"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-da-4.4.3.tar.bz2"; - sha256 = "17kjf2np54kg0s7gimsf4mh93zjvvs2drasb4ayw9phkdcs4a5b0"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-da-4.4.4.tar.bz2"; + sha256 = "0rvsap9y23mi16mfjq46dhw0628mia8k7criywdhkxhhv4dkmm1w"; }; de = deriv { lang = "de"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-de-4.4.3.tar.bz2"; - sha256 = "0v14qf47cvldxg2rlwgakxliamn04x77df48d7g1hzwapvd9s0dd"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-de-4.4.4.tar.bz2"; + sha256 = "0n9mlkvpl0xyyaxc4sjcrkj9x6n08qiljv01xh8mwwzd2v7pyprh"; }; el = deriv { lang = "el"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-el-4.4.3.tar.bz2"; - sha256 = "03bf7lrm2bkxq2q0h18c4ksa3pbxr5yv9363z0396px4zy6srn3p"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-el-4.4.4.tar.bz2"; + sha256 = "08w17ym9gfbfxavhnd4l2cvlkz0n93d842a5q2nddgd5fx74572w"; }; en_GB = deriv { lang = "en_GB"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-en_GB-4.4.3.tar.bz2"; - sha256 = "0jzvybpq9nnnw8cqp3izj7x804gd05q4mzjl8pxvv56s622zdda4"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-en_GB-4.4.4.tar.bz2"; + sha256 = "042mcshf5829vc6ix4rng0vkfl0y36yq4zyamnrawzp6b23y5i5m"; }; eo = deriv { lang = "eo"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-eo-4.4.3.tar.bz2"; - sha256 = "1br75zkyrl0imk0bnr4prcm4w4xmkg8qnjs2yn6842d8m4ffy2q0"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-eo-4.4.4.tar.bz2"; + sha256 = "0dsl6aqawyyv4fhr88cj9gmmccppyrwch4vggdnsj9hm7mq8lvcb"; }; es = deriv { lang = "es"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-es-4.4.3.tar.bz2"; - sha256 = "1vxjxgsvb3fr904nv6s84b0a0nbchv7599gfnirwbdklglbla85h"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-es-4.4.4.tar.bz2"; + sha256 = "0yd0cabrbbhmj8p0w9x38aii1w9xhxx08bp2vi0hdk9fw83pa298"; }; et = deriv { lang = "et"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-et-4.4.3.tar.bz2"; - sha256 = "0r6l1b1pfkry45g5wmii4d5ysalg9w8544dkbib374wjn9zm26qc"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-et-4.4.4.tar.bz2"; + sha256 = "175731akqds7z2mx9lscy56da2pbwqj4abk6i41l5hs3dfwlcgs8"; }; eu = deriv { lang = "eu"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-eu-4.4.3.tar.bz2"; - sha256 = "0rpdalv8bhmvv0cgf4wjdnlqamjqil7sl1brqv74p2dlhlsz03n7"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-eu-4.4.4.tar.bz2"; + sha256 = "1783nw4hyxzs3sn1dgnqj7krp35ffzfqnw9jyn5hxrz0filzw4cm"; }; fi = deriv { lang = "fi"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-fi-4.4.3.tar.bz2"; - sha256 = "1m5czzfmjg9gvw0jyfa875gb7h33yb179vgissddfjmmhap0yypn"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-fi-4.4.4.tar.bz2"; + sha256 = "066hc5p8vka8kl7ascb9vwvxjspxnysjhj4v3brs070prakv63d8"; }; fr = deriv { lang = "fr"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-fr-4.4.3.tar.bz2"; - sha256 = "1whk3a40cc2yiq7biql5klhl2k9h1bi3pilm0yskl0x6x8cdsn3d"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-fr-4.4.4.tar.bz2"; + sha256 = "1b9w0hicgg3rxfgwf11rajcjml5h181llks8p7blasmbcsvccrri"; }; fy = deriv { lang = "fy"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-fy-4.4.3.tar.bz2"; - sha256 = "1xwk1jqalj47iky3cda7z053jsihi0hf4k7sh2cdgvy50n5wj8bi"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-fy-4.4.4.tar.bz2"; + sha256 = "1iwnmpv2dpvmmp5a8iwc07ag8ry3sjdmcx2w87la3drwmbx319gq"; }; ga = deriv { lang = "ga"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ga-4.4.3.tar.bz2"; - sha256 = "0y3p8kj1fm88s5g7md6fwf3hlk5fshaywyw2l5bvx9vrhdv757f1"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-ga-4.4.4.tar.bz2"; + sha256 = "1lvnimdndh9zqq69a6s8pyszrw5x08p4qikrq7mhgjh4v44crk3q"; }; gl = deriv { lang = "gl"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-gl-4.4.3.tar.bz2"; - sha256 = "0j8f4185hq162d4xvk0qzv5drqz1sfx7k2pamqp9vf87js193m1v"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-gl-4.4.4.tar.bz2"; + sha256 = "1n7y15fgi940r07vm26h30ijhq50w6l8a12a3mbsc1fyz8lnkf1k"; }; gu = deriv { lang = "gu"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-gu-4.4.3.tar.bz2"; - sha256 = "141gdz79g2g13c36ci0pzk582s9kj7s47brzamidw683ndjvsarq"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-gu-4.4.4.tar.bz2"; + sha256 = "1594rdmk2b59zah8s8v7g1d5r761cqk7ynxs7mi7lf644xy03b2p"; }; he = deriv { lang = "he"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-he-4.4.3.tar.bz2"; - sha256 = "0safk2vzpr3v1kbm236d4ayvqqa4i5zz8jppabr2zbak522sk6nf"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-he-4.4.4.tar.bz2"; + sha256 = "091c56g2h2hbxhpd0l9xsbbs2pdmsy4a8bisii7vm943q158pc23"; }; hi = deriv { lang = "hi"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-hi-4.4.3.tar.bz2"; - sha256 = "08n1id22k46cnd8jkqczhxp33cz33bay1mkq1zqbwk4nxn9n5b42"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-hi-4.4.4.tar.bz2"; + sha256 = "17095ija6vnx70cpahpw2ynpp2jb4jrr4dfpx7yp68lnqwyaqa8b"; }; hr = deriv { lang = "hr"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-hr-4.4.3.tar.bz2"; - sha256 = "061m5z4fnv7h67g05izdghrpa9bh0f3pk89s7wpk2w41pdpzk98j"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-hr-4.4.4.tar.bz2"; + sha256 = "1bpzsm10shippwj0w01y6jjf38bl97kmbbj06h6dzd7p4dk0km5b"; }; hu = deriv { lang = "hu"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-hu-4.4.3.tar.bz2"; - sha256 = "00jk5ccq7ds9gcx4qb08i85cll9qs0wprw949412hbylwwj7c0qm"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-hu-4.4.4.tar.bz2"; + sha256 = "1032m9a5g4y9x7lfhbnm1zl63m10vcikykza2ix5ks2q8ca9123h"; }; id = deriv { lang = "id"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-id-4.4.3.tar.bz2"; - sha256 = "0c64s38vzwjfdjanljspxqaishmw0c7qz7z2s4gc70bws02dz87b"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-id-4.4.4.tar.bz2"; + sha256 = "1rrqzgz58hshf7s01xp335bxpc28vsgkd18wcl0v69hf4gh36fa3"; }; is = deriv { lang = "is"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-is-4.4.3.tar.bz2"; - sha256 = "17kv9lkiy60kfk9v535fpnx3v2v4vvnjyk0qqp0nigyg2sa2ylhl"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-is-4.4.4.tar.bz2"; + sha256 = "01lkvaffpxv8ba8z6csxqb1kqxqj5r1idxw4qxbqw7dj8cjqj3d2"; }; it = deriv { lang = "it"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-it-4.4.3.tar.bz2"; - sha256 = "17czl01vskisy5fsyk774rdsdrf86pihqqrf6r80flpgd5wf33ym"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-it-4.4.4.tar.bz2"; + sha256 = "0bfjk9lhwls9gyiy0ify3hr5jqjy5wcnlbh44mzf78c3y8snngga"; }; ja = deriv { lang = "ja"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ja-4.4.3.tar.bz2"; - sha256 = "0124xnkkwxdjfmpqbascqfsd3v82r2f4vjjp11yzp8fzfz41qqzz"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-ja-4.4.4.tar.bz2"; + sha256 = "06j5ksv1660hd7bp9q942igi6wm47a4w6grx2q6lbvxc41ms5wk4"; }; kk = deriv { lang = "kk"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-kk-4.4.3.tar.bz2"; - sha256 = "1kyzmw0x7cvhf7bgryvk1c0sqg0cw6qnzalrky451brf82r5k4fk"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-kk-4.4.4.tar.bz2"; + sha256 = "0vm5l5xrs1x9jy9zkjf43xfnxi2wc366j9y797pp04mh5rgdd2vv"; }; km = deriv { lang = "km"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-km-4.4.3.tar.bz2"; - sha256 = "0jyc03zw15bynpjn1ddnb8xzjl2vkkf017yb5g5i5a5jxwp04ca4"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-km-4.4.4.tar.bz2"; + sha256 = "0ihzc62wkhindzl2fawcmvk87wbnbdm4f09pr092n6w2l8k8wz9b"; }; kn = deriv { lang = "kn"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-kn-4.4.3.tar.bz2"; - sha256 = "09wkq79g7rayvv3khx3g8hmzqmlq7pa95wzvixyrdnh9fwk0mm36"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-kn-4.4.4.tar.bz2"; + sha256 = "15xxpb6c6g1v9girss9aimcbszdbq4ccsbq396hfn46kzxybzhjh"; }; ko = deriv { lang = "ko"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ko-4.4.3.tar.bz2"; - sha256 = "0dhkly119cgrmyil0c7zci77hf5w5k2pjaqgz9xx5g2k9jxf8f9q"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-ko-4.4.4.tar.bz2"; + sha256 = "0fzgyqajhjmlr9ibbd4jri00ccjji7m9bg02dw739w4rkvn5k6j1"; }; lt = deriv { lang = "lt"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-lt-4.4.3.tar.bz2"; - sha256 = "1z4gimw4wdig1x0y8h780a2msdsy8rrpaqh8a5vpskjrx67y0pnh"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-lt-4.4.4.tar.bz2"; + sha256 = "126nnk3c1rkfhpy1nbsxkhad6bazbv6x9bh6kpqd9clwh8k35ya4"; }; lv = deriv { lang = "lv"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-lv-4.4.3.tar.bz2"; - sha256 = "1gfh2bamgbsxd042gjnw7x41qw6svw8dq6vz842lkkygdfplk679"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-lv-4.4.4.tar.bz2"; + sha256 = "1n4szkfmyrzh6x3a85byzpn53lp8d4m0abp8k5kn2iksxh9z5mkl"; }; mai = deriv { lang = "mai"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-mai-4.4.3.tar.bz2"; - sha256 = "0bx7wzqm2h3gsinpx0njsmb1x6s1jpj5v6cny5vrjawdm30zbxp4"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-mai-4.4.4.tar.bz2"; + sha256 = "0r65y0vxjbl9ghl7mg4dg58w0rbrlbhrllc6cyvv32xwjbi0qc3c"; }; mk = deriv { lang = "mk"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-mk-4.4.3.tar.bz2"; - sha256 = "0yjhi7v4xfbcxp6z8ycfxqixx2prmv6d05bvlaas4l83vc4i62w7"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-mk-4.4.4.tar.bz2"; + sha256 = "05whf03nlklz63qkgzmg6f7phj128q0lxyqbwvdnrv20v5pbld65"; }; ml = deriv { lang = "ml"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ml-4.4.3.tar.bz2"; - sha256 = "1bd4bb5q70w6k5yqnx2ndrchi745jszih9mi9xsj6v6m8zsn285c"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-ml-4.4.4.tar.bz2"; + sha256 = "1c572ygyhdnb3dl464v9zg6nb3l533qpkv4a54v7afswy6n61cil"; }; nb = deriv { lang = "nb"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-nb-4.4.3.tar.bz2"; - sha256 = "0l4wab6c5sx10a9scimbw4nsmfy58jm7rgrb94sv2v34awnkysji"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-nb-4.4.4.tar.bz2"; + sha256 = "0zl9m90arm5dn1nmapm5ignrx4pm46vyiid0p100id59yjwpk3a9"; }; nds = deriv { lang = "nds"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-nds-4.4.3.tar.bz2"; - sha256 = "0njih51wyj21dk2m7z2165w5ywk3v3w6zqdnvjby489q1laqi9hc"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-nds-4.4.4.tar.bz2"; + sha256 = "1cx54i2xl3zwlkq83xs1q0siap0hddqd4c4s0nqwgwp78vg9x0mw"; }; nl = deriv { lang = "nl"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-nl-4.4.3.tar.bz2"; - sha256 = "11hwijl2x8m9ianr5sniig1rqfdks7z72xaax9n922qf4i8v6n5g"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-nl-4.4.4.tar.bz2"; + sha256 = "0ydkr8ywkkndaik1l6v860zq6mfgdw8l8n0rgjkhs6ikvyd4gk5d"; }; nn = deriv { lang = "nn"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-nn-4.4.3.tar.bz2"; - sha256 = "1wzvaj5im4kwgwxlbig2pdckiijdks3za5ixjc00axk0zkf16604"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-nn-4.4.4.tar.bz2"; + sha256 = "0vb5fgjkn0jcwsb173gwrr5kr5ihi885g09fb7j92dbpdp1fk4gc"; }; pa = deriv { lang = "pa"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-pa-4.4.3.tar.bz2"; - sha256 = "1zdvzk49x9f1fn87sglw5hm2pfjplx94kxra0qyhvy7v899bmixq"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-pa-4.4.4.tar.bz2"; + sha256 = "0jn94b9f3bb7gv5anprcghmhn1wj6vzv8biflqzqk7bx6q07k70d"; }; pl = deriv { lang = "pl"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-pl-4.4.3.tar.bz2"; - sha256 = "0fwfc1h3iwmzl52b1wk1bpxghvy0a8ipp26c813jpv5pqnds777w"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-pl-4.4.4.tar.bz2"; + sha256 = "0p4hd5g2wkqahg79l9n2x7xy647kbf14jz00p8wpbxnbd2hvp333"; }; pt = deriv { lang = "pt"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-pt-4.4.3.tar.bz2"; - sha256 = "0ccswd7lvkpfd2hpzmlvg2dwylzaf1kp0r2dv080308cnji45j28"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-pt-4.4.4.tar.bz2"; + sha256 = "0b0hk7sps0967dn4ryj43ihmbg3glspxd88f77z8ydccxi9zma2k"; }; pt_BR = deriv { lang = "pt_BR"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-pt_BR-4.4.3.tar.bz2"; - sha256 = "1a2fwnlj9pcxjy9fkcciiry42fi7wpdkb5qhim5v1vg1j4ah6zz8"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-pt_BR-4.4.4.tar.bz2"; + sha256 = "1b9iy2mcm3l825kclrbs7sdsvgg5phi37aby3az8f25vh6mk80w9"; }; ro = deriv { lang = "ro"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ro-4.4.3.tar.bz2"; - sha256 = "1f3ikjg19g2lnbrwcryvi4pz0hdy4prq91jw2s1a8cadh3yjr0bz"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-ro-4.4.4.tar.bz2"; + sha256 = "0da5awwls7h3pngq66gab420wlvmjj20pa5zhlmk2y1xdv917ysd"; }; ru = deriv { lang = "ru"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-ru-4.4.3.tar.bz2"; - sha256 = "0f888p973amz0nfahk48ayp20nc76f2rnxhdf4xr0y6rk3a5q3ah"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-ru-4.4.4.tar.bz2"; + sha256 = "0dxs3dzg80vw5gqs8gfj9hkrvh10qm55gjzxj12ks1nwlq5j39wp"; }; si = deriv { lang = "si"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-si-4.4.3.tar.bz2"; - sha256 = "08yfm46abd58fralkyc7mfg20hmk34y5xpnqi09g2xys1ab630bq"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-si-4.4.4.tar.bz2"; + sha256 = "14qppy24c4h7d96b0pc3m1jahkzpd1gxidrpi3cnvniw3qidr88n"; }; sk = deriv { lang = "sk"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-sk-4.4.3.tar.bz2"; - sha256 = "1nnr8mwz24nlc0cy4jkwam7bvdk71vqd0w4ncfjbqi31p69bq12w"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-sk-4.4.4.tar.bz2"; + sha256 = "1vf5dz45nqzg3cdwny9v59nwx0ja25bvwcrhrlqm7q4xl7g8iz8p"; }; sl = deriv { lang = "sl"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-sl-4.4.3.tar.bz2"; - sha256 = "06j62vh78a32ygawvb81d5jsz8canw2w973cjay4qi104ibl8x7q"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-sl-4.4.4.tar.bz2"; + sha256 = "0nvp20hwdpci4gfdgag6j32dvm7a9j21x3kcvs4saals7gfqy1bh"; }; sr = deriv { lang = "sr"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-sr-4.4.3.tar.bz2"; - sha256 = "1yyrqdagfssclj0amw7hnsgdsm1ma3jx03m75kz1xz4dwx044b2q"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-sr-4.4.4.tar.bz2"; + sha256 = "0mw9b6bvgp6mfgzcjx9ircqajna7zf1k2wrp61l0v2cipj4apj5b"; }; sv = deriv { lang = "sv"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-sv-4.4.3.tar.bz2"; - sha256 = "1gynji087fk4iy0410qlh92j1z61mqafbkvw3gy6s82ava77i6i3"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-sv-4.4.4.tar.bz2"; + sha256 = "1sp500d8r7zxql4k0jbavxng6vhwcplvkzfwcvrgvq9326mn5x29"; }; tg = deriv { lang = "tg"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-tg-4.4.3.tar.bz2"; - sha256 = "0vg1sfpyvsi81qaiqb0cln21dvvvck7zvbzyic7cb0028a3619wr"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-tg-4.4.4.tar.bz2"; + sha256 = "0abfl8y4m2y8nk46445376g55xsb51rzjg4jsqzzz6xqmxnhkz79"; }; tr = deriv { lang = "tr"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-tr-4.4.3.tar.bz2"; - sha256 = "0lc8sj6lqidjrhhwipi98kkvc3y0bnn6d04j9dhf2z972bcfpfbp"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-tr-4.4.4.tar.bz2"; + sha256 = "00kgm1a9q5jx6cq3flvrnasj1lwgcqf2kac6wa7qlqpy4nqw2vfm"; }; uk = deriv { lang = "uk"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-uk-4.4.3.tar.bz2"; - sha256 = "1qkpd4qms5gx2lgmciwqbpdrvh251dlgrckzxxd3ch1z8ns2d3xa"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-uk-4.4.4.tar.bz2"; + sha256 = "0l1r2xphq8rlnjf0hqdplsk47a35p6sxvdp9g9vg26gfhd7156zq"; }; wa = deriv { lang = "wa"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-wa-4.4.3.tar.bz2"; - sha256 = "1f8pm69dlx1wvn56km2skk1xm602jfk0984fzhqhpdkkmji8cijn"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-wa-4.4.4.tar.bz2"; + sha256 = "17yijs2mk7sr87lms7wajvxxrf888gbz75z9fza6kp6mlvbjc1a0"; }; zh_CN = deriv { lang = "zh_CN"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-zh_CN-4.4.3.tar.bz2"; - sha256 = "0103wgjqnw542n1492ll7psmly84rxc7q68r6zmszmd2s6nbhlvm"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-zh_CN-4.4.4.tar.bz2"; + sha256 = "1qjr3jlr539lm2mkgn2bma98zdy91frih2bfzl1jxrdp0swnkzh5"; }; zh_TW = deriv { lang = "zh_TW"; - url = "mirror://kde/stable/4.4.3/src/kde-l10n/kde-l10n-zh_TW-4.4.3.tar.bz2"; - sha256 = "08bnljg956948gfm380dlqllj090bv1gpc0y2w7gpq3cd3mqd0xv"; + url = "mirror://kde/stable/4.4.4/src/kde-l10n/kde-l10n-zh_TW-4.4.4.tar.bz2"; + sha256 = "1s6dg6imqjb4wxljd1jblwp6kqkzcnybhndfbzhsb691ivi42mh5"; }; } diff --git a/pkgs/desktops/kde-4.4/libs/default.nix b/pkgs/desktops/kde-4.4/libs/default.nix index efebc6a639f..fd4a3138c4e 100644 --- a/pkgs/desktops/kde-4.4/libs/default.nix +++ b/pkgs/desktops/kde-4.4/libs/default.nix @@ -5,11 +5,11 @@ }: stdenv.mkDerivation { - name = "kdelibs-4.4.3"; + name = "kdelibs-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdelibs-4.4.3.tar.bz2; - sha256 = "0a049wgfl01g029ayg7pvw8fssp74p5d69d94lmfcrlzbwa0zwlk"; + url = mirror://kde/stable/4.4.4/src/kdelibs-4.4.4.tar.bz2; + sha256 = "1jwvdzgmb3kjb57yqxn8iybm5ywfb4qzf8l7fpnab2xyn73a023g"; }; buildInputs = [ diff --git a/pkgs/desktops/kde-4.4/multimedia/default.nix b/pkgs/desktops/kde-4.4/multimedia/default.nix index 7023e15543a..0fb57896c52 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.3"; + name = "kdemultimedia-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdemultimedia-4.4.3.tar.bz2; - sha256 = "0lpwmplwiy6j9rc8vhwp95c64ym7hc8zh6zm41578pvdqgdy6y5j"; + url = mirror://kde/stable/4.4.4/src/kdemultimedia-4.4.4.tar.bz2; + sha256 = "1cvin5cwzp6z9x2sgjnwqd328m60qn508z9xka9v8zxgbmays3cc"; }; 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 382119b68e0..92a6a041bb8 100644 --- a/pkgs/desktops/kde-4.4/network/default.nix +++ b/pkgs/desktops/kde-4.4/network/default.nix @@ -4,16 +4,15 @@ , kdelibs, kdepimlibs, automoc4, phonon, qca2, soprano, qimageblitz, strigi}: stdenv.mkDerivation { - name = "kdenetwork-4.4.3"; + name = "kdenetwork-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdenetwork-4.4.3.tar.bz2; - sha256 = "1p2cx7vr811vrx4d0sqchgz5jy195rw2nbg01brk8i0ihiqfqycg"; + url = mirror://kde/stable/4.4.4/src/kdenetwork-4.4.4.tar.bz2; + sha256 = "13aqgr59wm3iackifymd0vmhwd8p998al2bzalvviz5ganmxzyps"; }; buildInputs = [ cmake qt4 perl speex gmp libxml2 libxslt sqlite alsaLib libidn libvncserver libmsn giflib gpgme boost stdenv.gcc.libc libv4l 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 deleted file mode 100644 index 26b77e7b127..00000000000 --- a/pkgs/desktops/kde-4.4/network/kget-cve.patch +++ /dev/null @@ -1,212 +0,0 @@ -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 0e509e9c8d2..887466535cf 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.3"; + name = "oxygen-icons-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/oxygen-icons-4.4.3.tar.bz2; - sha256 = "1pqz6l8zdijcz4r2qrkx92skcqbijiip90m2j3aiawr1m6rv2l0j"; + url = mirror://kde/stable/4.4.4/src/oxygen-icons-4.4.4.tar.bz2; + sha256 = "103001rxixpm4gb0bwdqvm9j1ygfjm25r11gz73hvyqss2v22zh4"; }; 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 914523dea66..c3a851f3608 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.3"; + name = "kdepim-runtime-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdepim-runtime-4.4.3.tar.bz2; - sha256 = "128azx9bw2fzc9780kf9pzvf745y8kflyb2vrb7mdwmskbr0gm3g"; + url = mirror://kde/stable/4.4.4/src/kdepim-runtime-4.4.4.tar.bz2; + sha256 = "1ibpc6xmcn0gvzy4fywipc1z1dpwj256aijm4a56xkz0m9xayw9h"; }; 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 402d41c2da9..93c84fdc86d 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.3"; + name = "kdepim-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdepim-4.4.3.tar.bz2; - sha256 = "0lpr9q1p89hw22d545yc9ih8m5wmnzc7j7m9cvliyalkk0ys5lqa"; + url = mirror://kde/stable/4.4.4/src/kdepim-4.4.4.tar.bz2; + sha256 = "0632b78r40kjazlk0g78a7k8v8ql3bcin85nr1g7frxllmqk9vjv"; }; 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 97686c9d38e..30ba3eef89b 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.3"; + name = "kdepimlibs-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdepimlibs-4.4.3.tar.bz2; - sha256 = "1q95zwkncady9lviz7bs9pnp1fkqlmnp33vj446m3krwjdh19b4c"; + url = mirror://kde/stable/4.4.4/src/kdepimlibs-4.4.4.tar.bz2; + sha256 = "013xqj7jljz20n412g3s4rzjn1ax774wvrqs9p5zi5kjycfndfpf"; }; 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 676792f1f05..8f4839ea6a6 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.3"; + name = "kdeplasma-addons-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdeplasma-addons-4.4.3.tar.bz2; - sha256 = "00pr74x0q88wn7a4v6m35djcd29yw870fd6dgklqp1zs5yrn0p97"; + url = mirror://kde/stable/4.4.4/src/kdeplasma-addons-4.4.4.tar.bz2; + sha256 = "0pmll98l9d1yh8yfsfqd970bs346xkfi2h4a6vxmm643xsr59d2d"; }; 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 91ddaf87e05..5b069b641e2 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.3"; + name = "kdesdk-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdesdk-4.4.3.tar.bz2; - sha256 = "01wqyixni9sb4330b1cvaysaf7jsvmy9ijjryv8ixnaam3gkxzs7"; + url = mirror://kde/stable/4.4.4/src/kdesdk-4.4.4.tar.bz2; + sha256 = "18ncywimkg5iy58wsgqarx2s1w63xcxxspzxwcxsp46wia80wfr3"; }; builder=./builder.sh; inherit aprutil; diff --git a/pkgs/desktops/kde-4.4/toys/default.nix b/pkgs/desktops/kde-4.4/toys/default.nix index 58c0bedd75d..948b22cc016 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.3"; + name = "kdetoys-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdetoys-4.4.3.tar.bz2; - sha256 = "0x99qkmbbskdnznzidh52sh4hnfzvq8a3363gzs532wmabv1gnl6"; + url = mirror://kde/stable/4.4.4/src/kdetoys-4.4.4.tar.bz2; + sha256 = "16q5fyvl3j3n6f90kw172rz12m3rf6si3wka3wpgbzz3dcl8hda8"; }; 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 493d1fd5596..75c837bd065 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.3"; + name = "kdeutils-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdeutils-4.4.3.tar.bz2; - sha256 = "1yncgljnvw7fvvcazr3f75634czjdzxg0s3kchscvxhfq632p4g5"; + url = mirror://kde/stable/4.4.4/src/kdeutils-4.4.4.tar.bz2; + sha256 = "1vdpa360wmk6gr84xgmpfyjzf2l5dsxacyq29c6dmg6n7cziq85c"; }; builder = ./builder.sh; diff --git a/pkgs/desktops/kde-4.4/webdev/default.nix b/pkgs/desktops/kde-4.4/webdev/default.nix index fcc7e75dabe..3968318079f 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.3"; + name = "kdewebdev-4.4.4"; src = fetchurl { - url = mirror://kde/stable/4.4.3/src/kdewebdev-4.4.3.tar.bz2; - sha256 = "1b1ip3b5lb3z2lrs5rslkzhjl942dh3srjxmkwwcfcg6md8h8ph5"; + url = mirror://kde/stable/4.4.4/src/kdewebdev-4.4.4.tar.bz2; + sha256 = "1jdc55kvv8kr9s05iyp94cl7n7lsph9flyn499jvzbxd6lq366zi"; }; buildInputs = [ cmake qt4 perl libxml2 libxslt boost kdelibs kdepimlibs automoc4 phonon ]; meta = { diff --git a/pkgs/development/compilers/gambit/default.nix b/pkgs/development/compilers/gambit/default.nix new file mode 100644 index 00000000000..265b08c1fbd --- /dev/null +++ b/pkgs/development/compilers/gambit/default.nix @@ -0,0 +1,28 @@ +x@{stdenv, fetchurl, builderDefsPackage, ...}: +builderDefsPackage +(a : +let + s = import ./src-for-default.nix; + helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++ []; + buildInputs = map (n: builtins.getAttr n x) + (builtins.attrNames (builtins.removeAttrs x helperArgNames)); +in +rec { + src = a.fetchUrlFromSrcInfo s; + + inherit (s) name; + inherit buildInputs; + configureFlags = ["--enable-shared"]; + + /* doConfigure should be removed if not needed */ + phaseNames = ["doConfigure" "doMakeInstall"]; + + meta = { + description = "Gambit Scheme to C compiler"; + maintainers = [ + a.lib.maintainers.raskin + ]; + platforms = with a.lib.platforms; + linux ++ freebsd; + }; +}) x diff --git a/pkgs/development/compilers/gambit/src-for-default.nix b/pkgs/development/compilers/gambit/src-for-default.nix new file mode 100644 index 00000000000..6ea9d6bd2fc --- /dev/null +++ b/pkgs/development/compilers/gambit/src-for-default.nix @@ -0,0 +1,9 @@ +rec { + version="v4_6_0"; + name="gambit-v4_6_0"; + hash="1hnczygq25r6hi1l6lh1sd4g382j2z0ji5bdd01lhr4i07dcvipd"; + url="http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-${version}-devel.tgz"; + advertisedUrl="http://www.iro.umontreal.ca/~gambit/download/gambit/v4.6/source/gambc-v4_6_0-devel.tgz"; + + +} diff --git a/pkgs/development/compilers/gambit/src-info-for-default.nix b/pkgs/development/compilers/gambit/src-info-for-default.nix new file mode 100644 index 00000000000..cd32f9d3f82 --- /dev/null +++ b/pkgs/development/compilers/gambit/src-info-for-default.nix @@ -0,0 +1,7 @@ +{ + downloadPage = "http://dynamo.iro.umontreal.ca/~gambit/wiki/index.php/Main_Page"; + baseName = "gambit"; + sourceRegexp = "[.]tgz"; + versionExtractorSedScript = ''s/.*-(v[_0-9]+)-devel[.].*/\1/''; + versionReferenceCreator = ''$(replaceAllVersionOccurences)''; +} diff --git a/pkgs/development/compilers/gcc-4.4/default.nix b/pkgs/development/compilers/gcc-4.4/default.nix index d2ba75624db..e46ceaa0250 100644 --- a/pkgs/development/compilers/gcc-4.4/default.nix +++ b/pkgs/development/compilers/gcc-4.4/default.nix @@ -245,7 +245,7 @@ stdenv.mkDerivation ({ passthru = { inherit langC langCC langAda langFortran langTreelang langVhdl - enableMultilib; }; + enableMultilib version; }; meta = { homepage = http://gcc.gnu.org/; diff --git a/pkgs/development/compilers/gcc-4.5/default.nix b/pkgs/development/compilers/gcc-4.5/default.nix index 855ac76aebb..0544458dfc0 100644 --- a/pkgs/development/compilers/gcc-4.5/default.nix +++ b/pkgs/development/compilers/gcc-4.5/default.nix @@ -136,7 +136,7 @@ stdenv.mkDerivation ({ }; patches = - [ ./softfp-hurd.patch ] + [ ./softfp-hurd.patch ./dragonegg-2.7.patch ] ++ 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 @@ -190,8 +190,10 @@ stdenv.mkDerivation ({ ${if cloogppl != null then "--with-cloog=${cloogppl}" else ""} ${if langJava then "--with-ecj-jar=${javaEcj} " + - "--enable-java-home --with-java-home=\${prefix} " + - "--with-jvm-root-dir=\${prefix}/jdk" + + # Follow Sun's layout for the convenience of IcedTea/OpenJDK. See + # . + "--enable-java-home --with-java-home=\${prefix}/lib/jvm/jre " else ""} ${if javaAwtGtk then "--enable-java-awt=gtk" else ""} ${if langJava && javaAntlr != null then "--with-antlr-jar=${javaAntlr}" else ""} @@ -202,6 +204,8 @@ stdenv.mkDerivation ({ --disable-libstdcxx-pch --without-included-gettext --with-system-zlib + --enable-lto + --enable-plugin --enable-languages=${ concatStrings (intersperse "," ( optional langC "c" @@ -273,7 +277,7 @@ stdenv.mkDerivation ({ else null; passthru = { inherit langC langCC langAda langFortran langTreelang langVhdl - enableMultilib; }; + enableMultilib version; }; meta = { homepage = http://gcc.gnu.org/; diff --git a/pkgs/development/compilers/gcc-4.5/dragonegg-2.7.patch b/pkgs/development/compilers/gcc-4.5/dragonegg-2.7.patch new file mode 100644 index 00000000000..6b37672ddef --- /dev/null +++ b/pkgs/development/compilers/gcc-4.5/dragonegg-2.7.patch @@ -0,0 +1,46 @@ +Index: mainline/gcc/config/i386/i386.c +=================================================================== +--- mainline.orig/gcc/config/i386/i386.c 2010-04-02 09:11:58.733574308 +0200 ++++ mainline/gcc/config/i386/i386.c 2010-04-02 09:29:11.276111437 +0200 +@@ -4992,7 +4992,8 @@ + case, we return the original mode and warn ABI change if CUM isn't + NULL. */ + +-static enum machine_mode ++extern enum machine_mode type_natural_mode (const_tree, CUMULATIVE_ARGS *); ++enum machine_mode + type_natural_mode (const_tree type, CUMULATIVE_ARGS *cum) + { + enum machine_mode mode = TYPE_MODE (type); +@@ -5123,7 +5124,9 @@ + See the x86-64 PS ABI for details. + */ + +-static int ++extern int classify_argument (enum machine_mode, const_tree, ++ enum x86_64_reg_class [MAX_CLASSES], int); ++int + classify_argument (enum machine_mode mode, const_tree type, + enum x86_64_reg_class classes[MAX_CLASSES], int bit_offset) + { +@@ -5504,7 +5507,9 @@ + + /* Examine the argument and return set number of register required in each + class. Return 0 iff parameter should be passed in memory. */ +-static int ++extern int examine_argument (enum machine_mode, const_tree, int, ++ int *, int *); ++int + examine_argument (enum machine_mode mode, const_tree type, int in_return, + int *int_nregs, int *sse_nregs) + { +@@ -6186,7 +6191,8 @@ + + /* Return true when TYPE should be 128bit aligned for 32bit argument passing + ABI. */ +-static bool ++extern bool contains_aligned_value_p (tree); ++bool + contains_aligned_value_p (tree type) + { + enum machine_mode mode = TYPE_MODE (type); diff --git a/pkgs/development/compilers/go/cgo-set-local-to-match-gcc-error-messages.patch b/pkgs/development/compilers/go/cgo-set-local-to-match-gcc-error-messages.patch deleted file mode 100644 index c0da4541a67..00000000000 --- a/pkgs/development/compilers/go/cgo-set-local-to-match-gcc-error-messages.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -r 21cae7efdcc6 src/cmd/cgo/main.go ---- a/src/cmd/cgo/main.go Sat Nov 14 12:23:24 2009 -0800 -+++ b/src/cmd/cgo/main.go Sun Nov 15 00:00:09 2009 +0100 -@@ -52,6 +52,9 @@ - fatal("unknown architecture %s", arch) - } - -+ // Define the language of gcc error messages. -+ os.Setenv("LC_ALL", "C"); -+ - p := openProg(input); - for _, cref := range p.Crefs { - // Convert C.ulong to C.unsigned long, etc. diff --git a/pkgs/development/compilers/go/default.nix b/pkgs/development/compilers/go/default.nix index d5314a976a2..e62934ecbe1 100644 --- a/pkgs/development/compilers/go/default.nix +++ b/pkgs/development/compilers/go/default.nix @@ -1,37 +1,50 @@ -{stdenv, fetchhg, bison, glibc, ed, which, bash, makeWrapper, ...}: +{stdenv, fetchhg, bison, glibc, ed, which, bash, makeWrapper, perl, ...}: let - version = "2009-11-12"; - md5 = "66e5803c8dc2855b339151918b6b0de5"; + version = "2010-06-09"; + sha256 = "b607879b333ef100466c726a13cc69ed143566a3c1af59f6d33a6e90b9d0c917"; + + loader386 = "${glibc}/lib/ld-linux.so.2"; + loaderAmd64 = "${glibc}/lib/ld-linux-x86-64.so.2"; in stdenv.mkDerivation { - name = "Go-" + version; + name = "go-" + version; # No tarball yet. src = fetchhg { url = https://go.googlecode.com/hg/; tag = "release." + version; - inherit md5; + inherit sha256; }; buildInputs = [ bison glibc ed which bash makeWrapper ]; - patches = [ - ./disable-system-dependent-tests.patch - ./cgo-set-local-to-match-gcc-error-messages.patch - ]; - prePatch = '' patchShebangs ./ # replace /bin/bash # only for 386 build # !!! substituteInPlace does not seems to be effective. - sed -i 's,/lib/ld-linux.so.2,${glibc}/lib/ld-linux.so.2,' src/cmd/8l/asm.c + sed -i 's,/lib/ld-linux.so.2,${loader386},' src/cmd/8l/asm.c + sed -i 's,/lib64/ld-linux-x86-64.so.2,${loaderAmd64},' src/cmd/6l/asm.c sed -i 's,/usr/share/zoneinfo/,${glibc}/share/zoneinfo/,' src/pkg/time/zoneinfo.go + sed -i 's,/bin/ed,${ed}/bin/ed,' src/cmd/6l/mkenam + + sed -i -e 's,/bin/cat,${stdenv.coreutils}/bin/cat,' \ + -e 's,/bin/echo,${stdenv.coreutils}/bin/echo,' \ + src/pkg/exec/exec_test.go + + # Disabling the 'os/http/net' tests (they want files not available in + # chroot builds) + sed -i -e '/^NOTEST=/a\\tos\\\n\thttp\\\n\tnet\\' src/pkg/Makefile + + sed -i -e 's,/bin:/usr/bin:/usr/local/bin,'$PATH, test/run + sed -i -e 's,/usr/bin/perl,${perl}/bin/perl,' test/errchk ''; GOOS = "linux"; - GOARCH = "386"; + GOARCH = if (stdenv.system == "i686-linux") then "386" + else if (stdenv.system == "x86_64-linux") then "amd64" + else throw "Unsupported system"; installPhase = '' ensureDir "$out/bin" @@ -64,13 +77,13 @@ stdenv.mkDerivation { # Copy the emacs configuration for Go files. ensureDir "$out/share/emacs/site-lisp" cp ./misc/emacs/* $out/share/emacs/site-lisp/ # */ - ''; meta = { homepage = http://golang.org/; description = "The Go Programming language"; license = "BSD"; - maintainers = with stdenv.lib.maintainers; [ pierron ]; + maintainers = with stdenv.lib.maintainers; [ pierron viric ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/development/compilers/go/disable-system-dependent-tests.patch b/pkgs/development/compilers/go/disable-system-dependent-tests.patch deleted file mode 100644 index d9e7fa48c1f..00000000000 --- a/pkgs/development/compilers/go/disable-system-dependent-tests.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -r cb140bac9ab0 src/pkg/Makefile ---- a/src/pkg/Makefile Thu Nov 12 14:55:26 2009 -0800 -+++ b/src/pkg/Makefile Mon Nov 16 11:50:34 2009 +0100 -@@ -100,12 +100,15 @@ - - NOTEST=\ - debug/proc\ -+ exec\ - go/ast\ - go/doc\ - go/token\ - hash\ - image\ -+ log\ - malloc\ -+ os\ - rand\ - runtime\ - syscall\ -diff -r cb140bac9ab0 src/run.bash ---- a/src/run.bash Thu Nov 12 14:55:26 2009 -0800 -+++ b/src/run.bash Mon Nov 16 11:50:34 2009 +0100 -@@ -69,7 +69,3 @@ - ./timing.sh -test - ) || exit $? - --(xcd ../test --./run --) || exit $? -- diff --git a/pkgs/development/compilers/haxe/default.nix b/pkgs/development/compilers/haxe/default.nix index 4bf6390163e..33260cd5469 100644 --- a/pkgs/development/compilers/haxe/default.nix +++ b/pkgs/development/compilers/haxe/default.nix @@ -3,44 +3,44 @@ args: with args; let src_haxe_swflib = { - # REGION AUTO UPDATE: { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; } - src = sourceFromHead "haxe_swflib-F_23-45-43.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_swflib-F_23-45-43.tar.gz"; sha256 = "a77ce2dda48d28f82b48b96f71404edbf7f58e4c3058b425a473c08d260e0816"; }); + # REGION AUTO UPDATE: { name = "haxe_swflib"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/swflib"; groups = "haxe_group"; } + src = sourceFromHead "haxe_swflib-F_10-43-46.tar.gz" + (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_swflib-F_10-43-46.tar.gz"; sha256 = "a63de75e48bf500ef0e8ef715d178d32f0ef113ded8c21bbca698a8cc70e7b58"; }); # END }.src; src_haxe_extc = { - # REGION AUTO UPDATE: { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; } - src = sourceFromHead "haxe_extc-F_23-45-44.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extc-F_23-45-44.tar.gz"; sha256 = "dd49eb771d52f4d67ca1ebdab1ced9a251dc5799f91896c33bd234690997820f"; }); + # REGION AUTO UPDATE: { name = "haxe_extc"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extc"; groups = "haxe_group"; } + src = sourceFromHead "haxe_extc-F_10-43-47.tar.gz" + (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extc-F_10-43-47.tar.gz"; sha256 = "d0a9980527d62ac6cfe27925ddb0964d334ec382f813fdfb8bd6c59fbbede730"; }); # END }.src; src_haxe_extlib_dev = { - # REGION AUTO UPDATE: { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; } - src = sourceFromHead "haxe_extlib_dev-F_23-45-46.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extlib_dev-F_23-45-46.tar.gz"; sha256 = "0a3566b6119de9063441cecd553248f3bfc00360edd7143f13b3ab0dbc57b310"; }); + # REGION AUTO UPDATE: { name = "haxe_extlib_dev"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/extlib-dev"; groups = "haxe_group"; } + src = sourceFromHead "haxe_extlib_dev-F_10-43-48.tar.gz" + (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_extlib_dev-F_10-43-48.tar.gz"; sha256 = "6b9037230e2615dd5e22f4e7f4165c84f2816bc526957683afc945394fcdf67e"; }); # END }.src; src_haxe_xml_light = { - # REGION AUTO UPDATE: { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; } - src = sourceFromHead "haxe_xml_light-F_23-45-47.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_xml_light-F_23-45-47.tar.gz"; sha256 = "8e1b5a7f1afcb7a6cd8bcac794c3714305ce94a98e989ccf23a38defb6205ed2"; }); + # REGION AUTO UPDATE: { name = "haxe_xml_light"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "ocaml/xml-light"; groups = "haxe_group"; } + src = sourceFromHead "haxe_xml_light-F_10-43-48.tar.gz" + (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_xml_light-F_10-43-48.tar.gz"; sha256 = "be29d9e22ad0dbcb3d447cbbc14907aff5f89bb562b8db369659d299f3a5b44f"; }); # END }.src; src_haxe_neko_include = { - # REGION AUTO UPDATE: { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; } - src = sourceFromHead "haxe_neko_include-F_23-45-48.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_neko_include-F_23-45-48.tar.gz"; sha256 = "78441ec5a20f25c751afeb46e0ea61db6350794f6c5959264059914682c521a9"; }); + # REGION AUTO UPDATE: { name = "haxe_neko_include"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko/libs/include/ocaml"; groups = "haxe_group"; } + src = sourceFromHead "haxe_neko_include-F_10-43-49.tar.gz" + (fetchurl { url = "http://mawercer.de/~nix/repos/haxe_neko_include-F_10-43-49.tar.gz"; sha256 = "e49efc1b348fa6e0f6fb40079a2d380b947d9ebda31843bc293f3cc77f8453db"; }); # END }.src; src_haxe = { - # REGION AUTO UPDATE: { name="haxe-read-only"; type="svn"; url="http://haxe.googlecode.com/svn/trunk"; groups = "haxe_group"; } - src = sourceFromHead "haxe-read-only-3207.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/haxe-read-only-3207.tar.gz"; sha256 = "2d315ca69fac69674eb562e1349fdebefb0dca4a91eb4ee28371230aaaf60df1"; }); + # REGION AUTO UPDATE: { name="haxe-read-only"; type="svn"; url="http://haxe.googlecode.com/svn/trunk"; groups = "haxe_group"; } + src = sourceFromHead "haxe-read-only-3220.tar.gz" + (fetchurl { url = "http://mawercer.de/~nix/repos/haxe-read-only-3220.tar.gz"; sha256 = "2b6702dca95d0829e539cea07b8224e3848e584a425ce8f8e0984a7a2bf7b1f8"; }); # END }.src; @@ -56,9 +56,11 @@ let inherit zlib; buildPhase = '' + set -x mkdir -p ocaml/{swflib,extc,extlib-dev,xml-light} neko/libs # strange setup. install.ml seems to co the same repo again into haxe directory! + mkdir haxe tar xfz $src --strip-components=1 -C haxe t(){ tar xfz $1 -C $2 --strip-components=2; } diff --git a/pkgs/development/compilers/jdk/default.nix b/pkgs/development/compilers/jdk/default.nix index 6738c8366b4..547833c15cd 100644 --- a/pkgs/development/compilers/jdk/default.nix +++ b/pkgs/development/compilers/jdk/default.nix @@ -1,9 +1,11 @@ args: if args.stdenv.system == "i686-linux" || args.stdenv.system == "x86_64-linux" then - (import ./jdk6-linux.nix) args + (import ./jdk6-linux.nix) ( removeAttrs args ["cabextract"] ) else if args.stdenv.system == "powerpc-linux" then - (import ./jdk5-ibm-powerpc-linux.nix) (removeAttrs args ["pluginSupport" "xlibs" "installjdk"]) + (import ./jdk5-ibm-powerpc-linux.nix) (removeAttrs args ["pluginSupport" "xlibs" "installjdk" "cabextract"]) +else if args.stdenv.system == "i686-cygwin" then + (import ./jdk6-cygwin.nix) (removeAttrs args ["pluginSupport" "xlibs" "installjdk" "xlibs"]) else abort "the JDK is not supported on this platform" diff --git a/pkgs/development/compilers/jdk/jdk6-cygwin.nix b/pkgs/development/compilers/jdk/jdk6-cygwin.nix new file mode 100644 index 00000000000..766151dfe6b --- /dev/null +++ b/pkgs/development/compilers/jdk/jdk6-cygwin.nix @@ -0,0 +1,46 @@ +{ stdenv +, fetchurl +, unzip +, cabextract +, ... +}: + +assert stdenv.system == "i686-cygwin"; + +stdenv.mkDerivation rec { + name = "jdk-1.6.0_20"; + + src = fetchurl { + url = file:///tmp/jdk-6u20-windows-i586.exe ; + sha256 = "0w4afz8a9gi1iyhh47gvhiy59dfrzx0fnmywdff3v5cx696w25fh"; + }; + + buildInputs = [unzip cabextract]; + + buildCommand = '' + cabextract ${src} + mkdir -p $out + unzip -d $out tools.zip + find $out -name '*.exe' | xargs chmod a+x + find $out -name '*.dll' | xargs chmod a+x + + cd $out + $out/bin/unpack200.exe ./jre/lib/jsse.pack ./jre/lib/jsse.jar + $out/bin/unpack200.exe ./jre/lib/javaws.pack ./jre/lib/javaws.jar + $out/bin/unpack200.exe ./jre/lib/plugin.pack ./jre/lib/plugin.jar + $out/bin/unpack200.exe ./jre/lib/charsets.pack ./jre/lib/charsets.jar + $out/bin/unpack200.exe ./jre/lib/deploy.pack ./jre/lib/deploy.jar + $out/bin/unpack200.exe ./jre/lib/rt.pack ./jre/lib/rt.jar + $out/bin/unpack200.exe ./jre/lib/ext/localedata.pack ./jre/lib/ext/localedata.jar + $out/bin/unpack200.exe ./lib/tools.pack ./lib/tools.jar + + rm ./jre/lib/jsse.pack \ + ./jre/lib/javaws.pack \ + ./jre/lib/plugin.pack \ + ./jre/lib/charsets.pack \ + ./jre/lib/deploy.pack \ + ./jre/lib/rt.pack \ + ./jre/lib/ext/localedata.pack \ + ./lib/tools.pack + ''; +} diff --git a/pkgs/development/compilers/llvm/builder.sh b/pkgs/development/compilers/llvm/builder.sh deleted file mode 100644 index fd44f6bf6a3..00000000000 --- a/pkgs/development/compilers/llvm/builder.sh +++ /dev/null @@ -1,84 +0,0 @@ -source $stdenv/setup - - -export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy -mkdir $NIX_FIXINC_DUMMY - -export X_CFLAGS="-I${gmp}/include -I${mpfr}/include -L${gmp}/lib -L${mpfr}/lib"; - -# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad -# Thing. -export CPP="gcc -E" - - -if test "$noSysDirs" = "1"; then - - if test -e $NIX_GCC/nix-support/orig-libc; then - - # Figure out what extra flags to pass to the gcc compilers - # being generated to make sure that they use our glibc. - extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)" - extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)" - - # Use *real* header files, otherwise a limits.h is generated - # that does not include Glibc's limits.h (notably missing - # SSIZE_MAX, which breaks the build). - export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include - - else - # Hack: support impure environments. - extraCFlags="-isystem /usr/include" - extraLDFlags="-L/usr/lib64 -L/usr/lib" - export NIX_FIXINC_DUMMY=/usr/include - fi - - extraCFlags="-g0 $extraCFlags" - extraLDFlags="--strip-debug $extraLDFlags" - - export NIX_EXTRA_CFLAGS=$extraCFlags - for i in $extraLDFlags; do - export NIX_EXTRA_LDFLAGS="$NIX_EXTRA_LDFLAGS -Wl,$i" - done - - makeFlagsArray=( \ - NATIVE_SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ - SYSTEM_HEADER_DIR="$NIX_FIXINC_DUMMY" \ - LIMITS_H_TEST=true \ - X_CFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \ - LDFLAGS="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \ - LDFLAGS_FOR_TARGET="$NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" \ - ) -fi - - -preConfigure() { - # Perform the build in a different directory. - mkdir ../build - cd ../build - configureScript=../$sourceRoot/configure -} - - -postInstall() { - # Remove precompiled headers for now. They are very big and - # probably not very useful yet. - find $out/include -name "*.gch" -exec rm -rf {} \; -prune - - # Remove `fixincl' to prevent a retained dependency on the - # previous gcc. - rm -rf $out/libexec/gcc/*/*/install-tools - - # Get rid of some "fixed" header files - rm -rf $out/lib/gcc/*/*/include/root -} - - -if test -z "$staticCompiler"; then - if test -z "$profiledCompiler"; then - buildFlags="bootstrap $buildFlags" - else - buildFlags="profiledbootstrap $buildFlags" - fi -fi - -genericBuild diff --git a/pkgs/development/compilers/llvm/clang-include-paths.patch b/pkgs/development/compilers/llvm/clang-include-paths.patch new file mode 100644 index 00000000000..3c68c001859 --- /dev/null +++ b/pkgs/development/compilers/llvm/clang-include-paths.patch @@ -0,0 +1,205 @@ +diff --git a/tools/clang/lib/Frontend/InitHeaderSearch.cpp b/tools/clang/lib/Frontend/InitHeaderSearch.cpp +index cd749d2..b5591f6 100644 +--- a/tools/clang/lib/Frontend/InitHeaderSearch.cpp ++++ b/tools/clang/lib/Frontend/InitHeaderSearch.cpp +@@ -393,51 +393,7 @@ void InitHeaderSearch::AddDefaultCIncludePaths(const llvm::Triple &triple) { + AddPath(*i, System, false, false, false); + return; + } +- llvm::Triple::OSType os = triple.getOS(); +- switch (os) { +- case llvm::Triple::Win32: +- { +- std::string VSDir; +- std::string WindowsSDKDir; +- if (getVisualStudioDir(VSDir)) { +- AddPath(VSDir + "\\VC\\include", System, false, false, false); +- if (getWindowsSDKDir(WindowsSDKDir)) +- AddPath(WindowsSDKDir, System, false, false, false); +- else +- AddPath(VSDir + "\\VC\\PlatformSDK\\Include", +- System, false, false, false); +- } +- else { +- // Default install paths. +- AddPath("C:/Program Files/Microsoft Visual Studio 9.0/VC/include", +- System, false, false, false); +- AddPath( +- "C:/Program Files/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include", +- System, false, false, false); +- AddPath("C:/Program Files/Microsoft Visual Studio 8/VC/include", +- System, false, false, false); +- AddPath( +- "C:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include", +- System, false, false, false); +- // For some clang developers. +- AddPath("G:/Program Files/Microsoft Visual Studio 9.0/VC/include", +- System, false, false, false); +- AddPath( +- "G:/Program Files/Microsoft Visual Studio 9.0/VC/PlatformSDK/Include", +- System, false, false, false); +- } +- } +- break; +- case llvm::Triple::MinGW64: +- case llvm::Triple::MinGW32: +- AddPath("c:/mingw/include", System, true, false, false); +- break; +- default: +- break; +- } +- +- AddPath("/usr/local/include", System, true, false, false); +- AddPath("/usr/include", System, false, false, false); ++ AddPath(C_INCLUDE_PATH, System, false, false, false); + } + + void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(const llvm::Triple &triple) { +@@ -453,144 +409,9 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths(const llvm::Triple &tripl + CXX_INCLUDE_32BIT_DIR, CXX_INCLUDE_64BIT_DIR, triple); + return; + } +- // FIXME: temporary hack: hard-coded paths. +- switch (os) { +- case llvm::Triple::Cygwin: +- AddPath("/lib/gcc/i686-pc-cygwin/3.4.4/include", +- System, true, false, false); +- AddPath("/lib/gcc/i686-pc-cygwin/3.4.4/include/c++", +- System, true, false, false); +- break; +- case llvm::Triple::MinGW64: +- // Try gcc 4.4.0 +- AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw64", "4.4.0"); +- // Try gcc 4.3.0 +- AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw64", "4.3.0"); +- // Fall through. +- case llvm::Triple::MinGW32: +- // Try gcc 4.4.0 +- AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.4.0"); +- // Try gcc 4.3.0 +- AddMinGWCPlusPlusIncludePaths("c:/MinGW/lib/gcc", "mingw32", "4.3.0"); +- break; +- case llvm::Triple::Darwin: +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2.1", +- "i686-apple-darwin10", "", "x86_64", triple); +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.0.0", +- "i686-apple-darwin8", "", "", triple); +- break; +- case llvm::Triple::DragonFly: +- AddPath("/usr/include/c++/4.1", System, true, false, false); +- break; +- case llvm::Triple::Linux: +- // Exherbo (2010-01-25) +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3", +- "x86_64-pc-linux-gnu", "32", "", triple); +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3", +- "i686-pc-linux-gnu", "", "", triple); +- // Debian sid +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4", +- "x86_64-linux-gnu", "32", "", triple); +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4", +- "i486-linux-gnu", "64", "", triple); +- // Ubuntu 7.10 - Gutsy Gibbon +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.1.3", +- "i486-linux-gnu", "", "", triple); +- // Ubuntu 9.04 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.3", +- "x86_64-linux-gnu","32", "", triple); +- // Ubuntu 9.10 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.1", +- "x86_64-linux-gnu", "32", "", triple); +- // Fedora 8 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.1.2", +- "i386-redhat-linux", "", "", triple); +- // Fedora 9 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.0", +- "i386-redhat-linux", "", "", triple); +- // Fedora 10 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.2", +- "i386-redhat-linux","", "", triple); +- +- // Fedora 10 x86_64 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.2", +- "x86_64-redhat-linux", "32", "", triple); +- +- // Fedora 11 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.1", +- "i586-redhat-linux","", "", triple); +- +- // Fedora 12 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.2", +- "i686-redhat-linux","", "", triple); +- +- // Fedora 12 (February-2010+) +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4.3", +- "i686-redhat-linux","", "", triple); +- +- // openSUSE 11.1 32 bit +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3", +- "i586-suse-linux", "", "", triple); +- // openSUSE 11.1 64 bit +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3", +- "x86_64-suse-linux", "32", "", triple); +- // openSUSE 11.2 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4", +- "i586-suse-linux", "", "", triple); +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.4", +- "x86_64-suse-linux", "", "", triple); +- // Arch Linux 2008-06-24 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1", +- "i686-pc-linux-gnu", "", "", triple); +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3.1", +- "x86_64-unknown-linux-gnu", "", "", triple); +- // Gentoo x86 2009.1 stable +- AddGnuCPlusPlusIncludePaths( +- "/usr/lib/gcc/i686-pc-linux-gnu/4.3.4/include/g++-v4", +- "i686-pc-linux-gnu", "", "", triple); +- // Gentoo x86 2009.0 stable +- AddGnuCPlusPlusIncludePaths( +- "/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/include/g++-v4", +- "i686-pc-linux-gnu", "", "", triple); +- // Gentoo x86 2008.0 stable +- AddGnuCPlusPlusIncludePaths( +- "/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4", +- "i686-pc-linux-gnu", "", "", triple); +- // Ubuntu 8.10 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3", +- "i486-pc-linux-gnu", "", "", triple); +- // Ubuntu 9.04 +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.3", +- "i486-linux-gnu","", "", triple); +- // Gentoo amd64 stable +- AddGnuCPlusPlusIncludePaths( +- "/usr/lib/gcc/x86_64-pc-linux-gnu/4.1.2/include/g++-v4", +- "i686-pc-linux-gnu", "", "", triple); +- +- // Gentoo amd64 gcc 4.3.2 +- AddGnuCPlusPlusIncludePaths( +- "/usr/lib/gcc/x86_64-pc-linux-gnu/4.3.2/include/g++-v4", +- "x86_64-pc-linux-gnu", "", "", triple); +- +- // Gentoo amd64 gcc 4.4.3 +- AddGnuCPlusPlusIncludePaths( +- "/usr/lib/gcc/x86_64-pc-linux-gnu/4.4.3/include/g++-v4", +- "x86_64-pc-linux-gnu", "32", "", triple); +- +- break; +- case llvm::Triple::FreeBSD: +- AddGnuCPlusPlusIncludePaths("/usr/include/c++/4.2", "", "", "", triple); +- break; +- case llvm::Triple::Solaris: +- // Solaris - Fall though.. +- case llvm::Triple::AuroraUX: +- // AuroraUX +- AddGnuCPlusPlusIncludePaths("/opt/gcc4/include/c++/4.2.4", +- "i386-pc-solaris2.11", "", "", triple); +- break; +- default: +- break; +- } ++ AddGnuCPlusPlusIncludePaths( ++ CPP_INCLUDE_PATH, ++ CPP_HOST, "", "", triple); + } + + void InitHeaderSearch::AddDefaultSystemIncludePaths(const LangOptions &Lang, diff --git a/pkgs/development/compilers/llvm/default.nix b/pkgs/development/compilers/llvm/default.nix index dd13441468c..3948f8b7376 100644 --- a/pkgs/development/compilers/llvm/default.nix +++ b/pkgs/development/compilers/llvm/default.nix @@ -1,11 +1,67 @@ -{stdenv, fetchurl, gcc, flex, perl, libtool }: +{stdenv, fetchurl, fetchsvn, gcc, flex, perl, libtool, groff +, buildClang ? false}: -stdenv.mkDerivation { - name = "llvm-2.2"; +stdenv.mkDerivation ({ + name = "llvm-2.7"; src = fetchurl { - url = http://llvm.org/releases/2.2/llvm-2.2.tar.gz; - sha256 = "788d871aec139e0c61d49533d0252b21c4cd030e91405491ee8cb9b2d0311072"; + url = http://llvm.org/releases/2.7/llvm-2.7.tgz; + sha256 = "19dwvfyxr851fjfsaxbm56gdj9mlivr37bv6h41hd8q3hpf4nrlr"; }; - buildInputs = [ gcc flex perl libtool ]; + buildInputs = [ gcc flex perl libtool groff ]; + + configureFlags = [ "--enable-optimized" "--enable-shared" ]; + + meta = { + homepage = http://llvm.org/; + description = "Collection of modular and reusable compiler and toolchain technologies"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; all; + }; } +// +(if buildClang then + # I write the assert because 'gcc.libc' will be evaluated although 'triplet' would not + # evaluate properly (in the preConfigure below) + assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; + let + triplet = if (stdenv.system == "i686-linux") then "i686-unknown-linux-gnu" + else if (stdenv.system == "x86_64-linux") then "x86_64-unknown-linux-gnu" + else throw "System not supported"; + in { + name = "clang-2.7"; + + srcClang = fetchsvn { + url = http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_27; + rev = 105900; + sha256 = "fe79988950319b62d3bca34848424f20a3f33c8182507df222f2ac93fbacf671"; + }; + + prePatch = '' + pushd tools + cp -R "$srcClang" clang + chmod u+w -R clang + popd + ''; + + patches = [ ./clang-include-paths.patch ]; + + # Set up the header file paths + preConfigure = '' + sed -i -e 's,C_INCLUDE_PATH,"${gcc.libc}/include/",' \ + -e 's,CPP_HOST,"${triplet}",' \ + -e 's,CPP_INCLUDE_PATH,"${gcc.gcc}/include/c++/${gcc.gcc.version}",' \ + tools/clang/lib/Frontend/InitHeaderSearch.cpp + ''; + + meta = { + homepage = http://clang.llvm.org/; + description = "A C language family frontend for LLVM"; + license = "BSD"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; + } +else {} +)) diff --git a/pkgs/development/compilers/llvm/dragonegg.nix b/pkgs/development/compilers/llvm/dragonegg.nix new file mode 100644 index 00000000000..4724e509a6e --- /dev/null +++ b/pkgs/development/compilers/llvm/dragonegg.nix @@ -0,0 +1,30 @@ +{stdenv, fetchsvn, llvm, gmp, mpfr, mpc}: + +stdenv.mkDerivation rec { + name = "dragonegg-2.7"; + + src = fetchsvn { + url = http://llvm.org/svn/llvm-project/dragonegg/branches/release_27; + rev = 105882; + sha256 = "0j0mj3zm1nd8kaj3b28b3w2dlzc1xbywq4mcdxk5nq4yds6rx5np"; + }; + + # The gcc the plugin will be built for (the same used building dragonegg) + GCC = "gcc"; + + buildInputs = [ llvm gmp mpfr mpc ]; + + installPhase = '' + ensureDir $out/lib $out/share/doc/${name} + cp -d dragonegg.so $out/lib + cp README COPYING $out/share/doc/${name} + ''; + + meta = { + homepage = http://dragonegg.llvm.org/; + description = "gcc plugin that replaces gcc's optimizers and code generators by those in LLVM"; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; all; + }; +} diff --git a/pkgs/development/compilers/llvm/llvm-gcc.nix b/pkgs/development/compilers/llvm/llvm-gcc.nix deleted file mode 100644 index a1f5e031eba..00000000000 --- a/pkgs/development/compilers/llvm/llvm-gcc.nix +++ /dev/null @@ -1,67 +0,0 @@ -args : with args; -rec { - src = fetchurl { - url = http://llvm.org/releases/2.2/llvm-gcc4.2-2.2.source.tar.gz; - sha256 = "11vjn8wn76cq63jam7y5ralq1b12r6cdipf22nsnzw90srb49qkp"; - }; - - buildInputs = [llvm bison flex perl libtool]; - configureFlags = [ " --enable-languages=c,c++ " ]; - makeFlags = [" -f Makefile "]; - - phaseNames = [ "doPatch" "preConfigure" "doConfigure" - "doMakeInstall" "postInstall"]; - - patches = [ ./no-sys-dirs.patch ]; - - preConfigure = fullDepEntry ('' - - sed -e 's,^LLVMSRCDIR.*,LLVMSRCDIR := dummy,' \ - -e 's,\$(LLVMSRCDIR)/include,${llvm}/include,g' \ - -e 's,^LLVMOBJDIR.*,LLVMOBJDIR := dummy,' \ - -e 's,\$(LLVMOBJDIR)/include,${llvm}/include,g' \ - -e 's,^LLVMBINPATH.*,LLVMBINPATH = ${llvm}/bin,' \ - -i gcc/Makefile.in - - cd .. - mkdir obj install - cd obj - - export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy - mkdir $NIX_FIXINC_DUMMY - - export CPP="gcc -E" - - # Figure out what extra flags to pass to the gcc compilers - # being generated to make sure that they use our glibc. - extraCFlags="$(cat $NIX_GCC/nix-support/libc-cflags)" - extraLDFlags="$(cat $NIX_GCC/nix-support/libc-ldflags) $(cat $NIX_GCC/nix-support/libc-ldflags-before)" - - # Use *real* header files, otherwise a limits.h is generated - # that does not include Glibc's limits.h (notably missing - # SSIZE_MAX, which breaks the build). - export NIX_FIXINC_DUMMY=$(cat $NIX_GCC/nix-support/orig-libc)/include - - extraCFlags="-g0 $extraCFlags" - extraLDFlags="--strip-debug $extraLDFlags" - - export NIX_EXTRA_CFLAGS=$extraCFlags - for i in $extraLDFlags; do - export NIX_EXTRA_LDFLAGS="$NIX_EXTRA_LDFLAGS -Wl,$i" - done - - '') ["doUnpack" "minInit"]; - configureCommand = "$(ls ../llvm-gcc*.*.source/configure)"; - - postInstall = fullDepEntry ('' - mv $out/bin/gcc $out/bin/llvm-gcc - mv $out/bin/g++ $out/bin/llvm-g++ - '')["doMakeInstall" "minInit"]; - - name = "llvm-gcc42-2.2"; - meta = { - description = "LLVM GCC frontend"; - }; -} - - diff --git a/pkgs/development/compilers/llvm/no-sys-dirs.patch b/pkgs/development/compilers/llvm/no-sys-dirs.patch deleted file mode 100644 index 3569afe9570..00000000000 --- a/pkgs/development/compilers/llvm/no-sys-dirs.patch +++ /dev/null @@ -1,139 +0,0 @@ -diff -rc gcc-4.2.0-orig/Makefile.in gcc-4.2.0/Makefile.in -*** gcc-4.2.0-orig/Makefile.in 2006-12-29 18:47:06.000000000 +0100 ---- gcc-4.2.0/Makefile.in 2007-05-20 21:06:42.000000000 +0200 -*************** -*** 364,369 **** ---- 364,377 ---- - @host_makefile_frag@ - ### - -+ CFLAGS += $(NIX_EXTRA_CFLAGS) -+ CPPFLAGS_FOR_TARGET += $(NIX_EXTRA_CFLAGS) -+ CXXFLAGS += $(NIX_EXTRA_CFLAGS) -+ LDFLAGS += $(NIX_EXTRA_LDFLAGS) -+ LDFLAGS_FOR_TARGET += $(NIX_EXTRA_LDFLAGS) -+ BOOT_CFLAGS += $(NIX_EXTRA_CFLAGS) -+ BOOT_LDFLAGS += $(NIX_EXTRA_LDFLAGS) -+ - # This is the list of directories that may be needed in RPATH_ENVVAR - # so that prorgams built for the target machine work. - TARGET_LIB_PATH = $(TARGET_LIB_PATH_libstdc++-v3)$(TARGET_LIB_PATH_libmudflap)$(TARGET_LIB_PATH_libssp)$(TARGET_LIB_PATH_libgomp)$(HOST_LIB_PATH_gcc) -diff -rc gcc-4.2.0-orig/gcc/Makefile.in gcc-4.2.0/gcc/Makefile.in -*** gcc-4.2.0-orig/gcc/Makefile.in 2007-03-12 05:40:09.000000000 +0100 ---- gcc-4.2.0/gcc/Makefile.in 2007-05-20 19:35:13.000000000 +0200 -*************** -*** 396,402 **** - MD5_H = $(srcdir)/../include/md5.h - - # Default native SYSTEM_HEADER_DIR, to be overridden by targets. -! NATIVE_SYSTEM_HEADER_DIR = /usr/include - # Default cross SYSTEM_HEADER_DIR, to be overridden by targets. - CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@ - ---- 396,406 ---- - MD5_H = $(srcdir)/../include/md5.h - - # Default native SYSTEM_HEADER_DIR, to be overridden by targets. -! # 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@ - -*************** -*** 3066,3072 **** - -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)\" \ - -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ - -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ - @TARGET_SYSTEM_ROOT_DEFINE@ ---- 3070,3076 ---- - -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=\"/no-such-dir\" \ - -DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \ - -DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \ - @TARGET_SYSTEM_ROOT_DEFINE@ -diff -rc gcc-4.2.0-orig/gcc/cppdefault.c gcc-4.2.0/gcc/cppdefault.c -*** gcc-4.2.0-orig/gcc/cppdefault.c 2006-01-20 22:00:03.000000000 +0100 ---- gcc-4.2.0/gcc/cppdefault.c 2007-05-20 17:16:44.000000000 +0200 -*************** -*** 41,46 **** ---- 41,50 ---- - # undef CROSS_INCLUDE_DIR - #endif - -+ #undef LOCAL_INCLUDE_DIR -+ #undef SYSTEM_INCLUDE_DIR -+ #undef STANDARD_INCLUDE_DIR -+ - /* APPLE LOCAL begin mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */ - #if defined (CROSS_DIRECTORY_STRUCTURE) && !defined (TARGET_SYSTEM_ROOT) - /* APPLE LOCAL end mainline 4.3 2006-12-13 CROSS_DIRECTORY_STRUCTURE 4697325 */ -diff -rc gcc-4.2.0-orig/gcc/gcc.c gcc-4.2.0/gcc/gcc.c -*** gcc-4.2.0-orig/gcc/gcc.c 2007-03-05 21:37:05.000000000 +0100 ---- gcc-4.2.0/gcc/gcc.c 2007-05-20 17:49:48.000000000 +0200 -*************** -*** 1449,1458 **** - /* Default prefixes to attach to command names. */ - - #ifndef STANDARD_STARTFILE_PREFIX_1 -! #define STANDARD_STARTFILE_PREFIX_1 "/lib/" - #endif - #ifndef STANDARD_STARTFILE_PREFIX_2 -! #define STANDARD_STARTFILE_PREFIX_2 "/usr/lib/" - #endif - - #ifdef CROSS_COMPILE /* Don't use these prefixes for a cross compiler. */ ---- 1449,1458 ---- - /* Default prefixes to attach to command names. */ - - #ifndef STANDARD_STARTFILE_PREFIX_1 -! #define STANDARD_STARTFILE_PREFIX_1 "" - #endif - #ifndef STANDARD_STARTFILE_PREFIX_2 -! #define STANDARD_STARTFILE_PREFIX_2 "" - #endif - - #ifdef CROSS_COMPILE /* Don't use these prefixes for a cross compiler. */ -*************** -*** 1473,1480 **** - #endif - - static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; -! static const char *const standard_exec_prefix_1 = "/usr/libexec/gcc/"; -! static const char *const standard_exec_prefix_2 = "/usr/lib/gcc/"; - static const char *md_exec_prefix = MD_EXEC_PREFIX; - - static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; ---- 1473,1480 ---- - #endif - - static const char *const standard_exec_prefix = STANDARD_EXEC_PREFIX; -! static const char *const standard_exec_prefix_1 = "/no-such-path/"; -! static const char *const standard_exec_prefix_2 = "/no-such-path/"; - static const char *md_exec_prefix = MD_EXEC_PREFIX; - - static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; -diff -rc gcc-4.2.0-orig/ltconfig gcc-4.2.0/ltconfig -*** gcc-4.2.0-orig/ltconfig 2007-02-14 18:08:35.000000000 +0100 ---- gcc-4.2.0/ltconfig 2007-05-20 22:16:24.000000000 +0200 -*************** -*** 2322,2327 **** ---- 2322,2332 ---- - # A language-specific compiler. - CC=$CC - -+ # Ugly hack to get libmudflap (and possibly other libraries) to build. -+ # Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag -+ # to Glibc gets lost. Here we forcibly add it to any invocation. -+ CC="\$CC $NIX_EXTRA_CFLAGS $NIX_EXTRA_LDFLAGS" -+ - # Is the compiler the GNU C compiler? - with_gcc=$with_gcc - diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix index ec47d17ba94..ee8474947f8 100644 --- a/pkgs/development/compilers/neko/default.nix +++ b/pkgs/development/compilers/neko/default.nix @@ -14,11 +14,16 @@ composableDerivation {} ( fixed : { name = "neko-cvs"; - # REGION AUTO UPDATE: { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; groups = "haxe_group"; } - src = sourceFromHead "neko-F_23-45-39.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_23-45-39.tar.gz"; sha256 = "fc74720da7a80cc6f0f9ea9842df8a5fa78858f742171365fae66f0b9975d228"; }); + # REGION AUTO UPDATE: { name="neko"; type="cvs"; cvsRoot = ":pserver:anonymous@cvs.motion-twin.com:/cvsroot"; module = "neko"; groups = "haxe_group"; } + src = sourceFromHead "neko-F_16-06-48.tar.gz" + (fetchurl { url = "http://mawercer.de/~nix/repos/neko-F_16-06-48.tar.gz"; sha256 = "e952582a26099b7a5568d0798839a6d349331510ffe6d7936b4537d60b6ccf26"; }); # END + # # REGION AUTO UPDATE: { name="neko_git"; type="git"; url=""; } + # src = sourceFromHead "neko_git-3abfb2f6d68cc301f9795e10c75734e293b4cfa9.tar.gz" + # (throw "source not not published yet: neko_git"); + # # END + # optionally remove apache mysql like gentoo does? # they just remove libs/{apache,mod_neko} buildInputs = [boehmgc pkgconfig makeWrapper] ++ libs; diff --git a/pkgs/development/interpreters/guile/1.9.nix b/pkgs/development/interpreters/guile/1.9.nix index 94a396446f9..1e029c28dc4 100644 --- a/pkgs/development/interpreters/guile/1.9.nix +++ b/pkgs/development/interpreters/guile/1.9.nix @@ -7,11 +7,11 @@ else stdenv.mkDerivation) rec { - name = "guile-1.9.10"; # This is a beta release! + name = "guile-1.9.11"; # This is a beta release! src = fetchurl { url = "ftp://alpha.gnu.org/gnu/guile/${name}.tar.gz"; - sha256 = "0vdvxkwm0xi65cw77a3yzjvwp3s66p2cpgqgqvp8w46r4amv1zpy"; + sha256 = "13wff9944brzhi2afs4pzwndqcwhi4gg61qwahycr1d72v0wzmjp"; }; buildInputs = diff --git a/pkgs/development/interpreters/php_configurable/default.nix b/pkgs/development/interpreters/php_configurable/default.nix index eb4a29dd720..af639a59e8c 100644 --- a/pkgs/development/interpreters/php_configurable/default.nix +++ b/pkgs/development/interpreters/php_configurable/default.nix @@ -1,10 +1,16 @@ -let version = "5.2.11"; in - args: with args; -let inherit (args.composableDerivation) composableDerivation edf wwf; in +let -composableDerivation {} ( fixed : { + inherit (args.composableDerivation) composableDerivation edf wwf; + +in + +composableDerivation {} ( fixed : let inherit (fixed.fixed) version; in { + + # choose a different version this way: + # php.merge { version = "5.3.2"; } + version = "5.2.11"; name = "php_configurable-${version}"; @@ -34,7 +40,10 @@ composableDerivation {} ( fixed : { }; libxml2 = { - configureFlags = ["--with-libxml-dir=${libxml2}"]; + configureFlags = [ + "--with-libxml-dir=${libxml2}" + "--with-iconv-dir=${libiconv}" + ]; buildInputs = [ libxml2 ]; }; @@ -75,7 +84,7 @@ composableDerivation {} ( fixed : { gd = { configureFlags = ["--with-gd=${args.gd}"]; - buildInputs = [gd]; + buildInputs = [gd libpng libjpeg ]; }; soap = { @@ -138,12 +147,17 @@ composableDerivation {} ( fixed : { installPhase = '' unset installPhase; installPhase; - cp php.ini-recommended $iniFile + cp php.ini-${ if builtins.lessThan (builtins.compareVersions version "5.3") 0 + then "recommended" /* < PHP 5.3 */ + else "production" /* >= PHP 5.3 */ + } $iniFile ''; src = args.fetchurl { url = "http://nl.php.net/get/php-${version}.tar.bz2/from/this/mirror"; - md5 = "286bf34630f5643c25ebcedfec5e0a09"; + md5 = if version == "5.3.2" then "46f500816125202c48a458d0133254a4" + else if version == "5.2.11" then "286bf34630f5643c25ebcedfec5e0a09" + else throw "set md5 sum of php source file" ; name = "php-${version}.tar.bz2"; }; diff --git a/pkgs/development/libraries/cracklib/default.nix b/pkgs/development/libraries/cracklib/default.nix index 33961f760da..9833d79a726 100644 --- a/pkgs/development/libraries/cracklib/default.nix +++ b/pkgs/development/libraries/cracklib/default.nix @@ -1,19 +1,19 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "cracklib-2.8.13"; + name = "cracklib-2.8.16"; - builder = ./builder.sh; + #builder = ./builder.sh; src = fetchurl { url = "mirror://sourceforge/cracklib/${name}.tar.gz"; - sha256 = "06h4b3hifsh1azpjvfn5qa052agavzz9xhgh4g89ghr66vzwl1ha"; + sha256 = "1g3mchdvra9nihxlkl3rdz96as3xnfw5m59hmr5k17l7qa9a8fpw"; }; - dicts = fetchurl { - url = http://nixos.org/tarballs/cracklib-words.gz; - md5 = "d18e670e5df560a8745e1b4dede8f84f"; - }; + #dicts = fetchurl { + # url = http://nixos.org/tarballs/cracklib-words.gz; + # md5 = "d18e670e5df560a8745e1b4dede8f84f"; + #}; meta = { homepage = http://sourceforge.net/projects/cracklib; diff --git a/pkgs/development/libraries/fltk/fltk11.nix b/pkgs/development/libraries/fltk/fltk11.nix index 4832410102d..41733862c17 100644 --- a/pkgs/development/libraries/fltk/fltk11.nix +++ b/pkgs/development/libraries/fltk/fltk11.nix @@ -2,11 +2,11 @@ args: with args; let inherit (args.composableDerivation) composableDerivation edf; in composableDerivation {} { - name = "fltk-1.1.9"; + name = "fltk-1.1.10"; src = args.fetchurl { - url = http://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/1.1.9/fltk-1.1.9-source.tar.bz2; - sha256 = "1ppdqc4vg3g11px4dxm6czxi4sswfxs485q44nrr5ji0galsbjzs"; + url = http://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/1.1.10/fltk-1.1.10-source.tar.bz2; + sha256 = "16mic69a48y3ybijml754x38djxxb25rn8441p9qsssqy8ms5b9p"; }; propagatedBuildInputs=[x11 inputproto libXi freeglut]; diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix new file mode 100644 index 00000000000..d3df5ce58d6 --- /dev/null +++ b/pkgs/development/libraries/gdal/default.nix @@ -0,0 +1,104 @@ +args: with args; + +let inherit (args.composableDerivation) composableDerivation edf wwf; in + +composableDerivation {} ( fixed : { + + name = "gdal-1.7.1"; + + + src = fetchurl { + url = ftp://ftp.remotesensing.org/gdal/gdal171.zip; + md5 = "f5592cff69b239166c9b64ff81943b1a"; + }; + + buildInputs = [unzip libjpeg]; + + # don't use optimization for gcc >= 4.3. That's said to be causeing segfaults + preConfigure = "export CFLAGS=-O0; export CXXFLAGS=-O0"; + + configureFlags = [ + "--with-jpeg=${libjpeg}" + "--with-libtiff=${libtiff}" # optional (without largetiff support + "--with-libz=${zlib}" # optional + + "--with-pg=${postgresql}/bin/pg_config" + "--with-mysql=${mysql}/bin/mysql_config" + "--with-geotiff=${libgeotiff}" + ]; + + /* TODO + # --with-grass=ARG Include GRASS support (GRASS 5.7+, ARG=GRASS install tree dir) + # --with-libgrass=ARG Include GRASS support based on libgrass (GRASS 5.0+) + --with-cfitsio=ARG Include FITS support (ARG=no or libcfitsio path) + --with-pcraster=ARG Include PCRaster (libcsf) support (ARG=internal, no or path) + --with-netcdf=ARG Include netCDF support (ARG=no or netCDF tree prefix) + --with-png=ARG Include PNG support (ARG=internal, no or path) + --with-pcidsk=ARG Path to external PCIDSK SDK, or internal (default), or old + --with-libtiff=ARG Libtiff library to use (ARG=internal, yes or path) + --with-jpeg=ARG Include JPEG support (ARG=internal, no or path) + --without-jpeg12 Disable JPEG 8/12bit TIFF support + --with-gif=ARG Include GIF support (ARG=internal, no or path) + --with-ogdi=ARG Include OGDI support (ARG=path) + --with-fme=ARG Include FMEObjects support (ARG=FME_HOME path) + --with-hdf4=ARG Include HDF4 support (ARG=path) + --with-hdf5=ARG Include HDF5 support (ARG=path) + --with-jasper=ARG Include JPEG-2000 support via JasPer library (ARG=path) + --with-ecw=ARG Include ECW support (ARG=ECW SDK Path, yes or no) + --with-kakadu=ARG Include Kakadu/JPEG2000 support + --with-mrsid=ARG Include MrSID support (ARG=path to MrSID DSDK or no) + --with-jp2mrsid=ARG Enable MrSID JPEG2000 support (ARG=yes/no) + --with-msg=ARG Enable MSG driver (ARG=yes or no) + --without-bsb Disable BSB driver (legal issues pending + --with-oci=[ARG] use Oracle OCI API from given Oracle home + (ARG=path); use existing ORACLE_HOME (ARG=yes); + disable Oracle OCI support (ARG=no) + --with-oci-include=[DIR] + use Oracle OCI API headers from given path + --with-oci-lib=[DIR] use Oracle OCI API libraries from given path + --without-grib Disable GRIB driver + --without-ogr Don't build OGR into shared library + --with-ingres=ARG Include Ingres (ARG=$II_SYSTEM) + --with-xerces=[ARG] use Xerces C++ Parser from given prefix (ARG=path); + check standard prefixes (ARG=yes); disable (ARG=no) + --with-xerces-inc=[DIR] path to Xerces C++ Parser headers + --with-xerces-lib=[ARG] link options for Xerces C++ Parser libraries + --with-expat=[ARG] use Expat XML Parser from given prefix (ARG=path); + check standard prefixes (ARG=yes); disable (ARG=no) + --with-expat-inc=[DIR] path to Expat XML Parser headers + --with-expat-lib=[ARG] link options for Expat XML Parser libraries + --with-odbc=ARG Include ODBC support (ARG=no or path) + --with-dods-root=ARG Include DODS support (ARG=no or absolute path) + --with-curl=ARG Include curl (ARG=path to curl-config.) + --with-spatialite=ARG Include SpatiaLite support (ARG=no or path) + --with-sqlite3=[ARG] use SQLite 3 library [default=yes], optionally + specify the prefix for sqlite3 library + --with-dwgdirect=path Include DWG direct support + --with-dwg-plt=platform DWGdirect Platform, defaults to lnxX86 + --with-idb=DIR Include Informix DataBlade support (DIR points to Informix root) + --with-sde=DIR Include ESRI SDE support (DIR is SDE's install dir). + --with-sde-version=VERSION NUMBER Set ESRI SDE version number (Default is 80). + --without-vfk Disable VFK support + --with-epsilon=ARG Include EPSILON support (ARG=no, yes or libepsilon install root path) + --with-geos=ARG Include GEOS support (ARG=yes, no or geos-config + path) + --without-pam Disable PAM (.aux.xml) support + --with-static-proj4=ARG Compile with PROJ.4 statically (ARG=no or path) + --with-gdal-ver=ARG Override GDAL version + --with-macosx-framework Build and install GDAL as a Mac OS X Framework + --with-perl Enable perl bindings + --with-php Enable php bindings + --with-ruby Enable Ruby bindings + --with-python Enable python bindings + --with-pymoddir=ARG Override Old-gen Python package install dir + + */ + + meta = { + description = "translator library for raster geospatial data formats"; + homepage = http://www.gdal.org/; + license = "X/MIT"; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; +}) diff --git a/pkgs/development/libraries/gettext/0.18.nix b/pkgs/development/libraries/gettext/0.18.nix index 72d23b4c9a9..f7f0cb0018c 100644 --- a/pkgs/development/libraries/gettext/0.18.nix +++ b/pkgs/development/libraries/gettext/0.18.nix @@ -3,11 +3,11 @@ { stdenv, fetchurl, libiconv }: stdenv.mkDerivation (rec { - name = "gettext-0.18"; + name = "gettext-0.18.1.1"; src = fetchurl { url = "mirror://gnu/gettext/${name}.tar.gz"; - sha256 = "1rbgm6sxgq218pridn2vji5nlj3hdf4vs75rz00wc0wcw4fjqd02"; + sha256 = "1sa3ch12qxa4h3ya6hkz119yclcccmincl9j20dhrdx5mykp3b4k"; }; configureFlags = "--disable-csharp"; diff --git a/pkgs/development/libraries/glpk/default.nix b/pkgs/development/libraries/glpk/default.nix index 88b5e93dfcf..d767cf4e3f3 100644 --- a/pkgs/development/libraries/glpk/default.nix +++ b/pkgs/development/libraries/glpk/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "glpk-4.43"; + name = "glpk-4.44"; src = fetchurl { url = "mirror://gnu/glpk/${name}.tar.gz"; - sha256 = "3be5f9c2cc355b39570ddb1b86a2ccc40fb52f81588f953f22c2ed29e3278e27"; + sha256 = "0vby7idacxr4mzj2jrdrawrp91rl135zvnr3al5kdrqy0ik476i8"; }; doCheck = true; diff --git a/pkgs/development/libraries/gss/default.nix b/pkgs/development/libraries/gss/default.nix index ca92fe30798..ded3fccca7b 100644 --- a/pkgs/development/libraries/gss/default.nix +++ b/pkgs/development/libraries/gss/default.nix @@ -1,21 +1,17 @@ { fetchurl, stdenv, shishi }: stdenv.mkDerivation rec { - name = "gss-1.0.0"; + name = "gss-1.0.1"; src = fetchurl { url = "mirror://gnu/gss/${name}.tar.gz"; - sha256 = "0rcbzg19m7bddvbhjqv1iwyydkj61czb0xr691mkj0i5p4d4bakk"; + sha256 = "05g9p45gmd0332ly19g13rbi0wdx447imw42f22482rdr8vpy9m0"; }; buildInputs = [ shishi ]; doCheck = true; - # Work around the lack of `-lshishi' for `krb5context'. See - # . - checkPhase = "make check LDFLAGS=-lshishi"; - meta = { description = "GNU GSS Generic Security Service"; diff --git a/pkgs/development/libraries/gstreamer/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/gstreamer/default.nix index 619a9480b9b..435a80f05c7 100644 --- a/pkgs/development/libraries/gstreamer/gstreamer/default.nix +++ b/pkgs/development/libraries/gstreamer/gstreamer/default.nix @@ -3,6 +3,7 @@ stdenv.mkDerivation rec { name = "gstreamer-0.10.26"; + # TODO: Remove gtkdoc dependency on next upgrade src = fetchurl { urls = [ diff --git a/pkgs/development/libraries/haskell/hmatrix/default.nix b/pkgs/development/libraries/haskell/hmatrix/default.nix new file mode 100644 index 00000000000..19d1d825c3f --- /dev/null +++ b/pkgs/development/libraries/haskell/hmatrix/default.nix @@ -0,0 +1,19 @@ +{cabal, QuickCheck, HUnit, storableComplex, gsl, liblapack, blas, vector}: + +cabal.mkDerivation (self : { + pname = "hmatrix"; + version = "0.9.3.0"; + sha256 = "1p2c37j29nxq1ijs78xn7293cwjzgcl6hx8ri5qz7nijifmpcrkr"; + propagatedBuildInputs = [QuickCheck HUnit storableComplex blas gsl liblapack vector]; + configureFlags = "-fvector"; + /* dirty hack to find blas at link time */ + postConfigure = '' + sed -i -e "/^extra-libraries/ s/: /: blas /" hmatrix.buildinfo + sed -i -e "/^extra-libraries/ s/$/ blas/" hmatrix.buildinfo + ''; + extraLibDirs = "--extra-lib-dir=${blas}/lib --extra-lib-dir=${gsl}/lib --extra-lib-dir=${liblapack}/lib"; + meta = { + description = "Linear algebra and numerical computation"; + maintainers = [ self.stdenv.lib.maintainers.guibert ]; + }; +}) diff --git a/pkgs/development/libraries/java/junit/default.nix b/pkgs/development/libraries/java/junit/default.nix index b5c850d1ae6..ea9b1029efc 100644 --- a/pkgs/development/libraries/java/junit/default.nix +++ b/pkgs/development/libraries/java/junit/default.nix @@ -1,13 +1,17 @@ {stdenv, fetchurl, unzip} : stdenv.mkDerivation { - name = "junit-3.8.1"; + name = "junit-4.8.2"; builder = ./builder.sh; src = fetchurl { - url = mirror://sourceforge/junit/junit3.8.1.zip; - md5 = "5110326e4b7f7497dfa60ede4b626751"; + url = http://github.com/downloads/KentBeck/junit/junit4.8.2.zip; + sha256 = "01simvc3pmgp27p7vzavmsx5rphm6hqzwrqfkwllhf3812dcqxy6"; }; inherit unzip; + + meta = { + homepage = http://www.junit.org/; + }; } diff --git a/pkgs/development/libraries/judy/default.nix b/pkgs/development/libraries/judy/default.nix new file mode 100644 index 00000000000..8c45adf4b57 --- /dev/null +++ b/pkgs/development/libraries/judy/default.nix @@ -0,0 +1,16 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "judy-1.0.5"; + + src = fetchurl { + url = mirror://sourceforge/judy/Judy-1.0.5.tar.gz; + sha256 = "1sv3990vsx8hrza1mvq3bhvv9m6ff08y4yz7swn6znszz24l0w6j"; + }; + + meta = { + homepage = http://judy.sourceforge.net/; + license = "LGPLv2.1+"; + description = "State-of-the-art C library that implements a sparse dynamic array"; + }; +} diff --git a/pkgs/development/libraries/libgeotiff/default.nix b/pkgs/development/libraries/libgeotiff/default.nix new file mode 100644 index 00000000000..16272ebeb2b --- /dev/null +++ b/pkgs/development/libraries/libgeotiff/default.nix @@ -0,0 +1,19 @@ +args: with args; +stdenv.mkDerivation { + name = "libgeotiff-1.2.4"; + + src = fetchurl { + url = ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/libgeotiff-1.2.5.tar.gz; + sha256 = "0z2yx77pm0zs81hc0b4lwzdd5s0rxcbylnscgq80b649src1fyzj"; + }; + + buildInputs = [libtiff]; + + meta = { + description = "library implementing attempt to create a tiff based interchange format for georeferenced raster imagery"; + homepage = http://www.remotesensing.org/geotiff/geotiff.html; + license = "X11"; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix index 8fbeb6d7892..64baf2e7a0d 100644 --- a/pkgs/development/libraries/libidn/default.nix +++ b/pkgs/development/libraries/libidn/default.nix @@ -1,11 +1,11 @@ { fetchurl, stdenv }: stdenv.mkDerivation rec { - name = "libidn-1.18"; + name = "libidn-1.19"; src = fetchurl { url = "mirror://gnu/libidn/${name}.tar.gz"; - sha256 = "0z77jrbpw8j5irdmbr39ffm1n2l2mnihhwlvwjia2jwz660yy95q"; + sha256 = "0hczsci75by17pc5mnr09l7yx0xavrr3djjlbfs30gmfn4vfkllf"; }; doCheck = true; diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix index 48575ee2bff..b02fca888e0 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.6"; + name = "libtasn1-2.7"; src = fetchurl { url = "mirror://gnu/libtasn1/${name}.tar.gz"; - sha256 = "1izrmbmrj29822qbp2dlsjkdck0hnjilplcq2i23cwgdqk79rsvs"; + sha256 = "0rhyg043cqhajrmk30ylfvpk4dfig4djgy1j3q957vj5pqg7zzqh"; }; doCheck = true; diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix index 41068c4e39a..016bd23cf1c 100644 --- a/pkgs/development/libraries/postgis/default.nix +++ b/pkgs/development/libraries/postgis/default.nix @@ -1,51 +1,151 @@ -{stdenv, fetchurl, libxml2, postgresql, geos, proj, perl}: +args@{fetchurl, composableDerivation, stdenv, perl, libxml2, postgresql, geos, proj, flex, ...}: -# TODO: the bin commands to have gtk gui -# compile this optionally ? + /* -# NixOS - usage: services.posgresql.extraPlugins = [ pkgs.postgis ]; + ### NixOS - usage: + ================== -stdenv.mkDerivation { - name = "postgis"; + services.posgresql.extraPlugins = [ pkgs.postgis.v_1_5_1 ]; - src = fetchurl { - url = http://postgis.refractions.net/download/postgis-1.5.1.tar.gz; - sha256 = "0nymvqqi6pp4nh4dcshzqm76x4sraf119jp7l27c2q1lygm6p6jr"; - }; + or if you want to install 1.5.x and 1.3.x at the same time (which works + because the .sql and .so files have different names): - makeFlags = "PERL=${perl}/bin/perl"; + services.postgis.extraPlugins = [ (pkgs.buildEnv { + name = "postgis-plugins"; + ignoreCollisions = 1; # scripts will collide - but there are aliases with version suffixes + paths = [ pkgs.postgis.v_1_3_5 pkgs.postgis.v_1_5_1 ]; + })]; - # 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" + By now it is only supported installing one of the 1.3.x verions because + their shared libraries don't differ in naming. - # 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 + + ### important Postgis implementation details: + ============================================= + + Postgis provides a shared library implementing many operations. They are + exposed to the Postgres SQL interpreter by special SQL queries eg: + + CREATE FUNCTION [...] + AS '[..]liblwgeom', 'lwhistogram2d_in' LANGUAGE 'C' IMMUTABLE STRICT; -- WITH (isstrict); + + where liblwgeom is the shared library. + Postgis < 1.5 used absolute paths, in NixOS $libdir is always used. + + Thus if you want to use postgresql dumps which were created by non NixOS + systems you have to adopt the library path. + + + + ### TODO: + ========= + the bin commands to have gtk gui: + */ + + +let + pgDerivationBase = composableDerivation.composableDerivation {} ( fix : + + let version = fix.fixed.version; in { + + name = "postgis-${version}"; + + src = fetchurl { + url = "http://postgis.refractions.net/download/postgis-${fix.fixed.version}.tar.gz"; + inherit (fix.fixed) sha256; + }; + + # don't pass these vars to the builder + removeAttrs = ["hash" "sql_comments" "sql_srcs"]; + + 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" + ''; + + pg_db_postgis_enable = ./pg_db_postgis_enable.sh; + + scriptNames = [ "pg_db_postgis_enable" ]; # helper scripts + + # prepare fixed parameters for script and create pg_db_postgis_enable script. + # The script just loads postgis features into a list of given databases + postgisEnableScript = '' + s=$out/bin/pg_db_postgis_enable + + sql_comments=$out/share/postgis-${version}/comments.sql + ensureDir $(dirname $sql_comments) + cp $(find -iname ${fix.fixed.sql_comments}) $sql_comments + + for script in $scriptNames; do + tg=$out/bin/$script + substituteAll ''${!script} $tg + chmod +x $tg done - done - EOF - chmod +x $out/bin/enable_postgis_for_db - ''; + ''; - buildInputs = [libxml2 postgresql geos proj perl]; + # create a script enabling postgis features + # also create aliases for all commands adding version information + postInstall = '' + + sql_srcs=$(for sql in ${builtins.toString fix.fixed.sql_srcs}; do echo -n "$(find $out -iname "$sql") "; done ) + + eval "$postgisEnableScript" + eval "$postgisFixLibScript" + + for prog in $out/bin/*; do + ln -s $prog $prog-${version} + done + + cp -r doc $out + ''; + + buildInputs = [libxml2 postgresql geos proj perl]; + + sql_comments = "postgis_comments.sql"; + + meta = { + description = "Geographic Objects for PostgreSQL"; + homepage = "http://postgis.refractions.net"; + license = "GPLv2"; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; + }); + + +in rec { + + # these builders just add some custom informaton to the receipe above + + v_1_3_5 = pgDerivationBase.merge ( fix: { + version = "1.3.5"; + buildInputs = [ flex ]; + sha256 = "102d5ybn0db1wrb249dga2v8347vysd4f1brc8zb82d7vdd34wyq"; + sql_srcs = ["lwpostgis.sql" "spatial_ref_sys.sql"]; + + pg_db_postgis_fix_or_load_sql_dump = ./pg_db_postgis_fix_or_load_sql_dump.sh; + libName = "liblwgeom"; + scriptNames = [ "pg_db_postgis_enable" "pg_db_postgis_fix_or_load_sql_dump"]; # helper scripts + + # sql_srcs is defined in postInstall source above + # if store path changes sql should not break. So replace absolute path to + # shared library by path relatve to $libdir known by Postgres. + postInstall = '' + sed -i "s@AS '$out/lib/liblwgeom@AS '\$libdir/liblwgeom@" $sql_srcs $out/share/lwpostgis_upgrade.sql + ''; + }); + + v_1_3_6 = v_1_3_5.merge ({ + version = "1.3.6"; + sha256 = "0i6inyiwc5zgf5a4ssg0y774f8vn45zn5c38ccgnln9r6i54vc6k"; + }); + + v_1_5_1 = pgDerivationBase.merge ( fix : { + version = "1.5.1"; + sha256 = "0nymvqqi6pp4nh4dcshzqm76x4sraf119jp7l27c2q1lygm6p6jr"; + sql_srcs = ["postgis.sql" "spatial_ref_sys.sql"]; + }); - 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/postgis/pg_db_postgis_enable.sh b/pkgs/development/libraries/postgis/pg_db_postgis_enable.sh new file mode 100644 index 00000000000..c7652e20d9f --- /dev/null +++ b/pkgs/development/libraries/postgis/pg_db_postgis_enable.sh @@ -0,0 +1,38 @@ +#!/bin/sh +sql_files=(@sql_srcs@) +sql_comments=@sql_comments@ + +do_help(){ echo "$0 [--comments] db_name1 [db_name2 ..]"; } + +for arg in "$@"; do + case "$arg" in + -h|--help) + do_help; exit 0 + ;; + --comments) + LOAD_COMMENTS=1 + ;; + *) + dbs=(${dbs[@]} "$arg") + ;; + esac +done + +PSQL(){ + echo ">> loading $1" + psql -d "$db" -f $1 +} + +for db in ${dbs[@]}; do + createlang plpgsql "$db" + + # mandatory + for sql in $sql_files; do + PSQL $sql + done + + # optionally load some comments + if [ -n "$LOAD_COMMENTS" ]; then + PSQL $sql_comments + fi +done diff --git a/pkgs/development/libraries/postgis/pg_db_postgis_fix_or_load_sql_dump.sh b/pkgs/development/libraries/postgis/pg_db_postgis_fix_or_load_sql_dump.sh new file mode 100644 index 00000000000..6a98c5d24ca --- /dev/null +++ b/pkgs/development/libraries/postgis/pg_db_postgis_fix_or_load_sql_dump.sh @@ -0,0 +1,52 @@ +#!/bin/sh +libName=@libName@ + +# this is a quick and dirty implementation + +do_help(){ + echo "$0 --str str in-file|- [out|-|psql:db]"; + echo "in: - = STDIN or filename"; + echo "out: - = STDIN or filename or psql:database_name" + echo " psql:database_name will load the dump into the database" + echo " if out is omitted in is used for out (same file)" + echo "--str: different replacement string. Eg for Ubuntu use: '/usr/lib/postgresql/8.3/lib/liblwgeom'"; + echo "WARNING: A postgis dump is not meant to be distributed - it still may be useful :)" +} + +if [ -z "$1" -o "$1" = --help -o "$1" = -h ]; then + do_help; exit 1 +fi + +tostr='$libdir/'"$libName" +if [ "$1" == "--str" ]; then + to="$2"; shift 2 +fi + +i=$1 +o="${2:-$1}" + +cmd_in(){ + case "$i" in + -) cat;; + *) cat "$i";; + esac +} + +cmd_out(){ + case "$o" in + -) cat;; # stdout + psql:*) psql "${o:5}";; # pipe into psql + *) + t=`mktemp`; cat > "$t"; mv "$t" "$o" + ;; + esac +} + +cmd_replace(){ + contents=`cat` + # get wrong library path: + fromstr=$(echo "$contents" | head -n 50 | sed -n "s/.*AS '\([^']*\)'.*/\1/p" | head -n 1) + echo "$contents" | sed "s@AS '$fromstr@AS '$tostr@g" +} + +cmd_in | cmd_replace | cmd_out diff --git a/pkgs/development/libraries/qt-4.x/4.6/default.nix b/pkgs/development/libraries/qt-4.x/4.6/default.nix index 50ab8e66aea..707f261f600 100644 --- a/pkgs/development/libraries/qt-4.x/4.6/default.nix +++ b/pkgs/development/libraries/qt-4.x/4.6/default.nix @@ -7,11 +7,11 @@ , buildDemos ? false, buildExamples ? false, useDocs ? true}: stdenv.mkDerivation rec { - name = "qt-4.6.2"; + name = "qt-4.6.3"; src = fetchurl { - url = ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.2.tar.gz; - sha256 = "1bpz59y907zz2p67mnf5ckvxh7n2glr6pz1f9fmngkkdn3fm2vqp"; + url = ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.3.tar.gz; + sha256 = "f4e0ada8d4d516bbb8600a3ee7d9046c9c79e38cd781df9ffc46d8f16acd1768"; }; preConfigure = '' diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix index 6904339a57c..5e852e3e245 100644 --- a/pkgs/development/libraries/speex/default.nix +++ b/pkgs/development/libraries/speex/default.nix @@ -1,10 +1,10 @@ args: with args; -stdenv.mkDerivation { - name = "speex-1.2beta3"; +stdenv.mkDerivation rec { + name = "speex-1.2rc1"; src = fetchurl { - url = http://downloads.us.xiph.org/releases/speex/speex-1.2beta3.tar.gz; - sha256 = "1az7kiwa8mzi1x7j01gcakx854qcbm4g67n0c4s56bvny6dn18vp"; + url = "http://downloads.us.xiph.org/releases/speex/${name}.tar.gz"; + sha256 = "19mpkhbz3s08snvndn0h1dk2j139max6b0rr86nnsjmxazf30brl"; }; buildInputs = [libogg]; } diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix new file mode 100644 index 00000000000..97f1b7cc26e --- /dev/null +++ b/pkgs/development/libraries/talloc/default.nix @@ -0,0 +1,20 @@ +{ fetchurl, stdenv}: + +stdenv.mkDerivation rec { + name = "talloc-2.0.1"; + + src = fetchurl { + url = "http://samba.org/ftp/talloc/${name}.tar.gz"; + md5 = "c6e736540145ca58cb3dcb42f91cf57b"; + }; + + configureFlags = "--enable-talloc-compat1 --enable-largefile"; + meta = { + description = "talloc is a hierarchical pool based memory allocator with destructors"; + + homepage = http://tdb.samba.org/; + license = "GPLv3"; + + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/development/libraries/tk/default.nix b/pkgs/development/libraries/tk/default.nix index bf6da7b6598..290580e5212 100644 --- a/pkgs/development/libraries/tk/default.nix +++ b/pkgs/development/libraries/tk/default.nix @@ -19,4 +19,8 @@ stdenv.mkDerivation { buildInputs = [tcl x11]; inherit tcl; + + passthru = { + libPrefix = "tk8.5"; + }; } diff --git a/pkgs/development/tools/analysis/lcov/default.nix b/pkgs/development/tools/analysis/lcov/default.nix index 14f5519c3a8..2e01a3a0784 100644 --- a/pkgs/development/tools/analysis/lcov/default.nix +++ b/pkgs/development/tools/analysis/lcov/default.nix @@ -8,7 +8,10 @@ stdenv.mkDerivation rec { sha256 = "1xrd9abh1gyki9ln9v772dq7jinvyrvx39s3kxbpiila68mbpa7j"; }; - patches = [ ./find-source.patch ]; + patches = + [ ./unexpected-eof.patch + ./find-source.patch + ]; preBuild = '' makeFlagsArray=(PREFIX=$out BIN_DIR=$out/bin MAN_DIR=$out/share/man) diff --git a/pkgs/development/tools/analysis/lcov/unexpected-eof.patch b/pkgs/development/tools/analysis/lcov/unexpected-eof.patch new file mode 100644 index 00000000000..c263f621808 --- /dev/null +++ b/pkgs/development/tools/analysis/lcov/unexpected-eof.patch @@ -0,0 +1,57 @@ +From http://ltp.cvs.sourceforge.net/viewvc/ltp/utils/analysis/lcov/bin/geninfo?revision=1.72&view=markup + +Fixes "reached unexpected end of file" errors processing gcno files. + + +--- a/bin/geninfo 2010/01/29 11:07:25 1.71 ++++ b/bin/geninfo 2010/02/21 14:56:46 1.72 +@@ -2857,6 +2857,9 @@ + # Skip version and stamp + graph_skip(*HANDLE, 8, "version and stamp") or goto incomplete; + while (!eof(HANDLE)) { ++ my $next_pos; ++ my $curr_pos; ++ + # Read record tag + $tag = read_gcno_value(*HANDLE, $big_endian, "record tag"); + goto incomplete if (!defined($tag)); +@@ -2866,6 +2869,11 @@ + goto incomplete if (!defined($length)); + # Convert length to bytes + $length *= 4; ++ # Calculate start of next record ++ $next_pos = tell(HANDLE); ++ goto tell_error if ($next_pos == -1); ++ $next_pos += $length; ++ # Process record + if ($tag == $tag_function) { + ($filename, $function) = read_gcno_function_record( + *HANDLE, $bb, $fileorder, $base, $big_endian); +@@ -2882,6 +2890,14 @@ + graph_skip(*HANDLE, $length, "unhandled record") + or goto incomplete; + } ++ # Ensure that we are at the start of the next record ++ $curr_pos = tell(HANDLE); ++ goto tell_error if ($curr_pos == -1); ++ next if ($curr_pos == $next_pos); ++ goto record_error if ($curr_pos > $next_pos); ++ graph_skip(*HANDLE, $next_pos - $curr_pos, ++ "unhandled record content") ++ or goto incomplete; + } + close(HANDLE); + ($instr, $graph) = graph_from_bb($bb, $fileorder, $gcno_filename); +@@ -2898,6 +2914,12 @@ + magic_error: + graph_error($gcno_filename, "found unrecognized gcno file magic"); + return undef; ++tell_error: ++ graph_error($gcno_filename, "could not determine file position"); ++ return undef; ++record_error: ++ graph_error($gcno_filename, "found unrecognized record format"); ++ return undef; + } + + sub debug($) diff --git a/pkgs/development/tools/build-managers/apache-ant/from-source.nix b/pkgs/development/tools/build-managers/apache-ant/from-source.nix index 2cf588ba377..a5a19a67143 100644 --- a/pkgs/development/tools/build-managers/apache-ant/from-source.nix +++ b/pkgs/development/tools/build-managers/apache-ant/from-source.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, javac, jvm, junit }: +{ stdenv, fetchurl, gcj, junit }: let version = "1.7.1"; in @@ -15,7 +15,7 @@ stdenv.mkDerivation { patches = [ ./use-gcj.patch ]; - buildInputs = [ javac jvm junit ]; + buildInputs = [ gcj junit ]; configurePhase = '' mkdir -p "tool-aliases/bin" @@ -52,7 +52,7 @@ EOF mv -v "$out/lib/"*.jar "$out/lib/java" sed -i "$out/bin/ant" \ -e "s|^ANT_LIB=.*$|ANT_LIB=$out/lib/java|g ; - s|JAVACMD=java.*$|JAVACMD=$(type -P gij)|g ; + s|JAVACMD=java.*$|JAVACMD=${gcj}/lib/jvm/bin/java|g ; /^ant_exec_command/i export ANT_HOME=$out" ''; @@ -82,8 +82,9 @@ EOF homepage = http://ant.apache.org/; - license = "Apache-2.0"; + license = "APLv2"; maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice }; } diff --git a/pkgs/development/tools/misc/sloccount/default.nix b/pkgs/development/tools/misc/sloccount/default.nix index b25313f4355..906770e9066 100644 --- a/pkgs/development/tools/misc/sloccount/default.nix +++ b/pkgs/development/tools/misc/sloccount/default.nix @@ -10,10 +10,22 @@ stdenv.mkDerivation rec { buildInputs = [ perl ]; + # Make sure the Flex-generated files are newer than the `.l' files, so that + # Flex isn't needed to recompile them. patchPhase = '' for file in * do - substituteInPlace "$file" --replace "/usr/bin/perl" "${perl}/bin/perl" + if grep -q /usr/bin/perl "$file" + then + echo "patching \`$file'..." + substituteInPlace "$file" --replace \ + "/usr/bin/perl" "${perl}/bin/perl" + fi + done + + for file in *.l + do + touch "$(echo $file | sed -es'/\.l$/.c/g')" done ''; @@ -47,5 +59,8 @@ stdenv.mkDerivation rec { license = "GPLv2+"; homepage = http://www.dwheeler.com/sloccount/; + + maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/development/tools/ocaml/omake/default.nix b/pkgs/development/tools/ocaml/omake/default.nix new file mode 100644 index 00000000000..22e0d71af4d --- /dev/null +++ b/pkgs/development/tools/ocaml/omake/default.nix @@ -0,0 +1,37 @@ +{stdenv, fetchurl, makeWrapper, ocaml, ncurses}: +let + pname = "omake"; + version = "0.9.8.5-3"; + webpage = "http://omake.metaprl.org"; +in +stdenv.mkDerivation { + + name = "${pname}-${version}"; + + src = fetchurl { + url = "${webpage}/downloads/${pname}-${version}.tar.gz"; + sha256 = "1bfxbsimfivq0ar2g5fkzvr5ql97n5dg562pfyd29y4zyh4mwrsv"; + }; + patchFlags = "-p0"; + patches = [ ./omake-build-0.9.8.5.diff ./omake-lm_printf-gcc44.diff ]; + + buildInputs = [ ocaml makeWrapper ncurses ]; + + phases = "unpackPhase patchPhase buildPhase"; + buildPhase = '' + make bootstrap + make PREFIX=$out all + make PREFIX=$out install + ''; +# prefixKey = "-prefix "; +# +# configureFlags = if transitional then "--transitional" else "--strict"; +# +# buildFlags = "world.opt"; + + meta = { + description = "Omake build system"; + homepage = "${webpage}"; + license = "GPL"; + }; +} diff --git a/pkgs/development/tools/ocaml/omake/omake-build-0.9.8.5.diff b/pkgs/development/tools/ocaml/omake/omake-build-0.9.8.5.diff new file mode 100644 index 00000000000..b0a091e341c --- /dev/null +++ b/pkgs/development/tools/ocaml/omake/omake-build-0.9.8.5.diff @@ -0,0 +1,11 @@ +--- src/exec/omake_exec.ml 2006-12-08 23:52:01.000000000 +0100 ++++ src/exec/omake_exec.ml 2009-04-15 22:19:07.000000000 +0200 +@@ -46,7 +46,7 @@ + open Omake_options + open Omake_command_type + +-external sync : unit -> unit = "caml_sync" ++(*external sync : unit -> unit = "caml_sync"*) + + module Exec = + struct diff --git a/pkgs/development/tools/ocaml/omake/omake-lm_printf-gcc44.diff b/pkgs/development/tools/ocaml/omake/omake-lm_printf-gcc44.diff new file mode 100644 index 00000000000..03665340f5f --- /dev/null +++ b/pkgs/development/tools/ocaml/omake/omake-lm_printf-gcc44.diff @@ -0,0 +1,22 @@ +--- src/libmojave-external/cutil/lm_printf.c.orig 2007-07-15 19:55:23.000000000 +0200 ++++ src/libmojave-external/cutil/lm_printf.c 2009-06-21 19:20:40.000000000 +0200 +@@ -144,3 +144,3 @@ + if(bufp != buffer) +- free(buffer); ++ free(bufp); + failwith("ml_print_string"); +@@ -149,3 +149,3 @@ + if(bufp != buffer) +- free(buffer); ++ free(bufp); + return v_result; +@@ -192,3 +192,3 @@ + if(bufp != buffer) +- free(buffer); ++ free(bufp); + failwith("ml_print_string"); +@@ -197,3 +197,3 @@ + if(bufp != buffer) +- free(buffer); ++ free(bufp); + return v_result; diff --git a/pkgs/development/tools/profiling/sysprof/default.nix b/pkgs/development/tools/profiling/sysprof/default.nix index 6939d4a86a6..154561e27e1 100644 --- a/pkgs/development/tools/profiling/sysprof/default.nix +++ b/pkgs/development/tools/profiling/sysprof/default.nix @@ -2,11 +2,11 @@ , pkgconfig, gtk, glib, pango, libglade }: stdenv.mkDerivation rec { - name = "sysprof-1.0.10-${kernel.version}"; + name = "sysprof-1.0.12-${kernel.version}"; src = fetchurl { - url = "http://www.daimi.au.dk/~sandmann/sysprof/${name}.tar.gz"; - sha256 = "1cdjnymd9nz72vcw6j0bbhb2ka19rjqd3scgx810a4m3qcai7irs"; + url = "http://www.daimi.au.dk/~sandmann/sysprof/sysprof-1.0.12.tar.gz"; + sha256 = "0f0z1dh97swlrkw3cbv5k2jhy5rk7wxv55hp7yhysw3idgp8wbmz"; }; buildInputs = [ binutils pkgconfig gtk glib pango libglade ]; @@ -44,4 +44,4 @@ stdenv.mkDerivation rec { be restarted. ''; }; -} \ No newline at end of file +} diff --git a/pkgs/lib/composable-derivation.nix b/pkgs/lib/composable-derivation.nix index 03f1f48ec72..1099bd152bf 100644 --- a/pkgs/lib/composable-derivation.nix +++ b/pkgs/lib/composable-derivation.nix @@ -42,11 +42,13 @@ let inherit (lib) nv nvs; in # W ith or W ithout F eature wwf = {name, feat ? name, enable ? {}, disable ? {}, value ? ""}: nvs name { - set = { - configureFlags = ["--with-${feat}${if value == "" then "" else "="}${value}"]; - } // enable; - unset = { - configureFlags = ["--without-${feat}"]; - } // disable; + set = enable // { + configureFlags = ["--with-${feat}${if value == "" then "" else "="}${value}"] + ++ lib.maybeAttr "configureFlags" [] enable; + }; + unset = disable // { + configureFlags = ["--without-${feat}"] + ++ lib.maybeAttr "configureFlags" [] disable; + }; }; } diff --git a/pkgs/lib/maintainers.nix b/pkgs/lib/maintainers.nix index a09dbb61652..eccf46ec1ce 100644 --- a/pkgs/lib/maintainers.nix +++ b/pkgs/lib/maintainers.nix @@ -9,12 +9,13 @@ astsmtl = "Alexander Tsamutali "; bjg = "Brian Gough "; eelco = "Eelco Dolstra "; + guibert = "David Guibert "; ludo = "Ludovic Courtès "; marcweber = "Marc Weber "; pierron = "Nicolas B. Pierron "; raskin = "Michael Raskin <7c6f434c@mail.ru>"; - simons = "Peter Simons "; sander = "Sander van der Burg "; + simons = "Peter Simons "; 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 0a8c61d6c85..32b30ee2fbf 100644 --- a/pkgs/lib/misc.nix +++ b/pkgs/lib/misc.nix @@ -294,7 +294,7 @@ rec { mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; } listToAttrs (map (n : nameValuePair n lib.concat) [ "buildNativeInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" ]) // listToAttrs (map (n : nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ]) - // listToAttrs (map (n : nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" ]) + // listToAttrs (map (n : nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ]) ; # returns atribute values as a list diff --git a/pkgs/lib/options.nix b/pkgs/lib/options.nix index 3db9b671fe3..a9d74f2f3fa 100644 --- a/pkgs/lib/options.nix +++ b/pkgs/lib/options.nix @@ -263,7 +263,8 @@ rec { definitions = map (x: toString x.source) opt.definitions; } // optionalAttrs (opt ? example) { example = scrubOptionValue opt.example; } - // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; }; + // optionalAttrs (opt ? default) { default = scrubOptionValue opt.default; } + // optionalAttrs (opt ? defaultText) { default = opt.defaultText; }; subOptions = if opt ? options then @@ -283,7 +284,7 @@ rec { 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 if isAttrs x then mapAttrs (n: v: scrubOptionValue v) (removeAttrs x ["_args"]) else x; diff --git a/pkgs/misc/cups/default.nix b/pkgs/misc/cups/default.nix index 73d665bcc0e..0b8830a7bdc 100644 --- a/pkgs/misc/cups/default.nix +++ b/pkgs/misc/cups/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl, dbus }: +{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl +, dbus, libusb }: let version = "1.4.1"; in @@ -17,7 +18,7 @@ stdenv.mkDerivation { }) ]; - buildInputs = [ pkgconfig zlib libjpeg libpng libtiff pam dbus ]; + buildInputs = [ pkgconfig zlib libjpeg libpng libtiff pam dbus libusb ]; propagatedBuildInputs = [ openssl ]; diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/misc/emulators/dosbox/default.nix index a8b98115ed6..8a7bff6f7e4 100644 --- a/pkgs/misc/emulators/dosbox/default.nix +++ b/pkgs/misc/emulators/dosbox/default.nix @@ -1,14 +1,14 @@ -{stdenv, fetchurl, SDL, makeDesktopItem}: +{ stdenv, fetchurl, SDL, makeDesktopItem }: stdenv.mkDerivation rec { - name = "dosbox-0.73"; + name = "dosbox-0.74"; src = fetchurl { url = "mirror://sourceforge/dosbox/${name}.tar.gz"; - sha256 = "b0a94c46164391a9c32d9571e4d0b61ff238908ff0b77e09157c22dc98a93765"; + sha256 = "01cfjc5bs08m4w79nbxyv7rnvzq2yckmgrbq36njn06lw8b4kxqk"; }; - buildInputs = [SDL]; + buildInputs = [ SDL ]; desktopItem = makeDesktopItem { name = "dosbox"; diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/misc/emulators/wine/default.nix index 3e773b35634..7dd9c951c60 100644 --- a/pkgs/misc/emulators/wine/default.nix +++ b/pkgs/misc/emulators/wine/default.nix @@ -7,7 +7,6 @@ assert stdenv.isLinux; assert stdenv.gcc.gcc != null; let - lib = import ../../../lib/default.nix; s = import ./src-for-default.nix; in diff --git a/pkgs/misc/emulators/wine/src-for-default.nix b/pkgs/misc/emulators/wine/src-for-default.nix index 1f01b17f40e..707d11beedf 100644 --- a/pkgs/misc/emulators/wine/src-for-default.nix +++ b/pkgs/misc/emulators/wine/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="1.1.41"; - name="wine-1.1.41"; - hash="0zlvyw1kaf5zn5qacjgxwig40v056rqj9wdi505hlf3qqcz1b0ff"; + version="1.2-rc1"; + name="wine-1.2-rc1"; + hash="0d5gn85c277vasm9rsmjdn8x9a8dllbzphf6yhyq1agdc84g291b"; url="http://prdownloads.sourceforge.net/wine/wine-${version}.tar.bz2"; - advertisedUrl="http://prdownloads.sourceforge.net/wine/wine-1.1.41.tar.bz2"; + advertisedUrl="http://prdownloads.sourceforge.net/wine/wine-1.2-rc1.tar.bz2"; } diff --git a/pkgs/misc/emulators/wine/src-info-for-default.nix b/pkgs/misc/emulators/wine/src-info-for-default.nix index 92fa68b2b00..5f25399a0de 100644 --- a/pkgs/misc/emulators/wine/src-info-for-default.nix +++ b/pkgs/misc/emulators/wine/src-info-for-default.nix @@ -1,4 +1,6 @@ { downloadPage = "http://www.winehq.org/"; baseName = "wine"; + versionExtractorSedScript = ''s/[^-]*-(.+)[.]tar[.].*/\1/''; + versionReferenceCreator = ''$(replaceAllVersionOccurences)''; } diff --git a/pkgs/os-specific/gnu/mach/default.nix b/pkgs/os-specific/gnu/mach/default.nix index 49f1f4883a3..95b3921ee2b 100644 --- a/pkgs/os-specific/gnu/mach/default.nix +++ b/pkgs/os-specific/gnu/mach/default.nix @@ -1,5 +1,5 @@ { fetchgit, stdenv, mig ? null, autoconf, automake, texinfo -, headersOnly ? true }: +, headersOnly ? false }: assert (!headersOnly) -> (mig != null); @@ -16,9 +16,14 @@ stdenv.mkDerivation ({ inherit rev; }; - configureFlags = "--build=i586-pc-gnu"; + configureFlags = + stdenv.lib.optional headersOnly "--build=i586-pc-gnu" # cheat - buildInputs = [ autoconf automake texinfo ] + # Always enable dependency tracking. See + # . + ++ [ "--enable-dependency-tracking" ]; + + buildNativeInputs = [ autoconf automake texinfo ] ++ stdenv.lib.optional (mig != null) mig; preConfigure = "autoreconf -vfi"; @@ -41,6 +46,7 @@ stdenv.mkDerivation ({ homepage = http://www.gnu.org/software/hurd/microkernel/mach/gnumach.html; maintainers = [ stdenv.lib.maintainers.ludo ]; + platforms = [ "i586-gnu" ]; }; } diff --git a/pkgs/os-specific/linux/acpitool/default.nix b/pkgs/os-specific/linux/acpitool/default.nix index f400229ecc7..c7f96206eab 100644 --- a/pkgs/os-specific/linux/acpitool/default.nix +++ b/pkgs/os-specific/linux/acpitool/default.nix @@ -1,16 +1,17 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "acpitool-0.4.7"; + name = "acpitool-0.5.1"; src = fetchurl { url = "mirror://sourceforge/acpitool/${name}.tar.bz2"; - sha256 = "133bdgcq9ql0l940kp9m2v6wzdvkyv8f1dizwjbx7v96n8g2c239"; + sha256 = "004fb6cd43102918b6302cf537a2db7ceadda04aef2e0906ddf230f820dad34f"; }; meta = { description = "A small, convenient command-line ACPI client with a lot of features"; homepage = http://freeunix.dyndns.org:8000/site2/acpitool.shtml; license = "GPLv2+"; + maintainers = [ stdenv.lib.maintainers.guibert ]; }; } diff --git a/pkgs/os-specific/linux/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-lib/default.nix index 36e99482f5d..727db1c9642 100644 --- a/pkgs/os-specific/linux/alsa-lib/default.nix +++ b/pkgs/os-specific/linux/alsa-lib/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl}: stdenv.mkDerivation rec { - name = "alsa-lib-1.0.21a"; + name = "alsa-lib-1.0.23"; src = fetchurl { url = "ftp://ftp.alsa-project.org/pub/lib/${name}.tar.bz2"; - sha256 = "0x00sxvf1271vfg829yabaj0xkm4xgvk5vvwcq4qnhn5mnphkkm6"; + sha256 = "08zl1yvva6xsdl9pghbvyjdrzwkyll8hc606my1i6jjypb58w8xl"; }; configureFlags = "--disable-xmlto"; diff --git a/pkgs/os-specific/linux/alsa-plugins/default.nix b/pkgs/os-specific/linux/alsa-plugins/default.nix index 8e32ece770c..dc36757e020 100644 --- a/pkgs/os-specific/linux/alsa-plugins/default.nix +++ b/pkgs/os-specific/linux/alsa-plugins/default.nix @@ -1,10 +1,10 @@ -args: with args; +{stdenv, fetchurl, lib, pkgconfig, alsaLib, pulseaudio, jackaudio}: stdenv.mkDerivation { - name = "alsa-plugins-1.0.19"; + name = "alsa-plugins-1.0.23"; src = fetchurl { - url = ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.19.tar.bz2; - sha256 = "000iqwlz93ykl0w19hw4qjh3gcw7f45ykmi91cw2m7dg4iy0igk7"; + url = ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.23.tar.bz2; + sha256 = "10ri5dpmhk028r0qvajswh2xl40kjd600h7hykq03vrkmn8jf6sw"; }; # TODO make backends such as jack, pulseaudio optional @@ -17,7 +17,7 @@ stdenv.mkDerivation { "; homepage = http://alsa-project.org; license = "GPL2.1"; - maintainers = [args.lib.maintainers.marcweber]; - platforms = args.lib.platforms.linux; + maintainers = [lib.maintainers.marcweber]; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/alsa-utils/default.nix b/pkgs/os-specific/linux/alsa-utils/default.nix index 8eda24de577..e20163bfc97 100644 --- a/pkgs/os-specific/linux/alsa-utils/default.nix +++ b/pkgs/os-specific/linux/alsa-utils/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, alsaLib, gettext, ncurses}: stdenv.mkDerivation rec { - name = "alsa-utils-1.0.21"; + name = "alsa-utils-1.0.23"; src = fetchurl { url = "ftp://ftp.alsa-project.org/pub/utils/${name}.tar.bz2"; - sha256 = "19jpqfrlc13yxvw3vzdw6cgdwjd97spsmn348v5181wkid8lkwvd"; + sha256 = "1c7pl5k3d60wacnha8zfn2dixz7hiiaxvijis4559y15bs8mxl5p"; }; buildInputs = [ alsaLib gettext ncurses ]; diff --git a/pkgs/os-specific/linux/aufs2-util/default.nix b/pkgs/os-specific/linux/aufs2-util/default.nix new file mode 100644 index 00000000000..50031b7351c --- /dev/null +++ b/pkgs/os-specific/linux/aufs2-util/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, kernel, aufs2 }: + +let version = "20100506"; in + +stdenv.mkDerivation { + name = "aufs2-util-${version}"; + + src = fetchurl { + url = "http://nixos.org/tarballs/aufs2-util-git-${version}.tar.bz2"; + sha256 = "0ly0c3p8fjxqbk8k5rmm1a91wg8wcrvhi1lv4aawalkkk8rqbnwk"; + }; + + buildInputs = [ aufs2 ]; + + makeFlags = + [ "KDIR=${kernel}/lib/modules/${kernel.version}/build" + "Install=install" + "DESTDIR=$(out)" + ]; + + postInstall = + '' + mv $out/usr/* $out + rmdir $out/usr + + cp aufs.shlib $out/lib/ + + substituteInPlace $out/bin/aubrsync \ + --replace /sbin/mount $out/sbin/mount \ + --replace /usr/lib/aufs.shlib $out/lib/aufs.shlib + ''; + + meta = { + description = "Utilities for AUFS2"; + homepage = http://aufs.sourceforge.net/; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/aufs2-utils/default.nix b/pkgs/os-specific/linux/aufs2-utils/default.nix deleted file mode 100644 index ce2f2c1515a..00000000000 --- a/pkgs/os-specific/linux/aufs2-utils/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -a : -let - s = import ./src-for-default.nix; - buildInputs = with a; [ - ]; -in -rec { - src = (a.fetchGitFromSrcInfo s) + "/"; - - inherit (s) name; - inherit buildInputs; - configureFlags = []; - - preBuild = a.fullDepEntry ('' - sed -e "s@/usr@@g; s@-o root@@g; s@-g root@@g" -i Makefile - '') ["doUnpack" "minInit"]; - postInstall = a.fullDepEntry ('' - sed -e "s@/etc/default@$out&@; s@/sbin/mount@$out&@" -i "$out/bin/"* - '') ["minInit"]; - /* doConfigure should be removed if not needed */ - phaseNames = ["preBuild" "doMakeInstall" "postInstall"]; - makeFlags = [ - ''KDIR="${a.kernel}/lib/modules/${a.kernel.version}/build"'' - ''DESTDIR="$out"'' - ]; - - meta = { - description = "AUFS2 utilities"; - maintainers = [ - a.lib.maintainers.raskin - ]; - platforms = with a.lib.platforms; - linux; - }; -} diff --git a/pkgs/os-specific/linux/aufs2-utils/src-for-default.nix b/pkgs/os-specific/linux/aufs2-utils/src-for-default.nix deleted file mode 100644 index 0ee344a571d..00000000000 --- a/pkgs/os-specific/linux/aufs2-utils/src-for-default.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="f35ba2292fe40aa94aa83713e0b2719f35a25768"; - name="aufs2Utils-f35ba2292fe40aa94aa83713e0b2719f35a25768"; - hash="0d2825327404a2e66ce0f370a949deac766dfcdb7bf7d502c72cb790e4f75705"; - rev="f35ba2292fe40aa94aa83713e0b2719f35a25768"; - url="http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-util.git"; - - -} diff --git a/pkgs/os-specific/linux/aufs2-utils/src-info-for-default.nix b/pkgs/os-specific/linux/aufs2-utils/src-info-for-default.nix deleted file mode 100644 index 739eb1696c2..00000000000 --- a/pkgs/os-specific/linux/aufs2-utils/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - repoUrl = "http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-util.git"; - rev = "origin/master"; - baseName="aufs2Utils"; - method="fetchgit"; -} diff --git a/pkgs/os-specific/linux/aufs2/default.nix b/pkgs/os-specific/linux/aufs2/default.nix index 6e87546c6a9..0b10962b7f7 100644 --- a/pkgs/os-specific/linux/aufs2/default.nix +++ b/pkgs/os-specific/linux/aufs2/default.nix @@ -1,50 +1,34 @@ -{ stdenv, fetchgit, kernel, perl }: +{ stdenv, fetchurl, kernel, perl }: -let s = import ./src-for-default.nix; in +assert kernel.features ? aufsBase; + +let version = "20100522"; in stdenv.mkDerivation { - name = "${s.name}-${kernel.version}"; + name = "aufs2-${version}"; - src = fetchgit { - inherit (s) url rev; - sha256 = s.hash; + src = fetchurl { + url = "http://nixos.org/tarballs/aufs2-standalone-git-${version}.tar.bz2"; + sha256 = "1g4mw4qx2xzpygdwjiw36bkhfz1hi7wxx7w79n2h0lr5grzzdnd6"; }; buildInputs = [ perl ]; - buildPhase = '' - kernelVersion=$(cd ${kernel}/lib/modules && ls) - kernelBuild=$(echo ${kernel}/lib/modules/$kernelVersion/source) - tar xvfj ${kernel.src} - kernelSource=$(echo $(pwd)/linux-*) - cp -prd $kernelBuild/* $kernelSource + makeFlags = "KDIR=${kernel}/lib/modules/${kernel.version}/build"; - # Looks like GCC3 and GCC4 protect stack differently - # We do have the protection with recent GCC3 and GCC4, so override - # the check - chmod u+w $kernelSource/scripts/gcc-x86_32-has-stack-protector.sh - chmod u+w $kernelSource/scripts/gcc-x86_64-has-stack-protector.sh - echo echo y > $kernelSource/scripts/gcc-x86_32-has-stack-protector.sh - echo echo y > $kernelSource/scripts/gcc-x86_64-has-stack-protector.sh + installPhase = + '' + ensureDir $out/lib/modules/${kernel.version}/misc + cp aufs.ko $out/lib/modules/${kernel.version}/misc - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$PWD/include" - - make KDIR=$kernelSource aufs.ko - ''; - - installPhase = '' - ensureDir $out/bin - cp util/aulchown $out/bin - - ensureDir $out/share/man/man5 - cp util/aufs.5 $out/share/man/man5 - - ensureDir $out/lib/modules/$kernelVersion/misc - cp aufs.ko $out/lib/modules/$kernelVersion/misc - ''; + # Install the headers because aufs2-util requires them. + cp -prvd include $out/ + ''; meta = { - description = "Another Unionfs implementation for Linux - second generation"; + description = "Another Unionfs implementation for Linux (second generation)"; homepage = http://aufs.sourceforge.net/; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.linux; }; } diff --git a/pkgs/os-specific/linux/aufs2/src-for-default.nix b/pkgs/os-specific/linux/aufs2/src-for-default.nix deleted file mode 100644 index ba44a60f58c..00000000000 --- a/pkgs/os-specific/linux/aufs2/src-for-default.nix +++ /dev/null @@ -1,9 +0,0 @@ -rec { - version="a5883982f82ce927b3cbd8fc9c8d05865fc43bd9"; - name="aufs2-a5883982f82ce927b3cbd8fc9c8d05865fc43bd9"; - hash="7ea6f267b2b622b85112624ecc98b1c5a6486172efc355b475ad0ff23ce277a5"; - rev="a5883982f82ce927b3cbd8fc9c8d05865fc43bd9"; - url="http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git"; - - -} diff --git a/pkgs/os-specific/linux/aufs2/src-info-for-default.nix b/pkgs/os-specific/linux/aufs2/src-info-for-default.nix deleted file mode 100644 index 0e753c3b399..00000000000 --- a/pkgs/os-specific/linux/aufs2/src-info-for-default.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - repoUrl = "http://git.c3sl.ufpr.br/pub/scm/aufs/aufs2-standalone.git"; - rev = "origin/aufs2"; - baseName="aufs2"; - method="fetchgit"; -} diff --git a/pkgs/os-specific/linux/autofs/autofs-v5.nix b/pkgs/os-specific/linux/autofs/autofs-v5.nix index 7941f443293..731b383e711 100644 --- a/pkgs/os-specific/linux/autofs/autofs-v5.nix +++ b/pkgs/os-specific/linux/autofs/autofs-v5.nix @@ -1,21 +1,17 @@ -args: with args; +{stdenv, fetchurl, flex, bison, linuxHeaders}: + let baseURL = mirror://kernel/linux/daemons/autofs/v5; - in stdenv.mkDerivation { - name = "autofs-5.0.4"; + name = "autofs-5.0.5"; - # It's too tiresome to apply all patches which are availible (see previous rev). - # Using git repo which seems to be the same anyway.. - # REGION AUTO UPDATE: { name="autofs"; type="git"; url="http://ftp.riken.go.jp/Linux/kernel.org/scm/linux/storage/autofs/autofs.git"; } - src= sourceFromHead "autofs-9a77464b8a661d33a6205756955e0047727d5c1f.tar.gz" - (fetchurl { url = "http://mawercer.de/~nix/repos/autofs-9a77464b8a661d33a6205756955e0047727d5c1f.tar.gz"; sha256 = "6764390e1f202eaef2f800146c8ccef616d502cec9471b006abde0781a62237f"; }); - # END - /*fetchurl { - url = "${baseURL}/autofs-5.0.4.tar.bz2"; - sha256 = "06ysv24jwhwvl8vbafy4jxcg9ps1iq5nrz2nyfm6c761rniy27v3"; - };*/ + src = fetchurl { + url = "${baseURL}/autofs-5.0.5.tar.bz2"; + sha256 = "00k0k3jkbr29gn1wnzqjyc9iqq5bwjyip1isc79wf51wph0kxiv8"; + }; + + patches = import ./patches-v5.nix fetchurl; preConfigure = '' configureFlags="--with-path=$PATH" diff --git a/pkgs/os-specific/linux/autofs/create-patches-v5.sh b/pkgs/os-specific/linux/autofs/create-patches-v5.sh new file mode 100644 index 00000000000..781c59a324a --- /dev/null +++ b/pkgs/os-specific/linux/autofs/create-patches-v5.sh @@ -0,0 +1,19 @@ +#!/bin/sh +# +# Use this script with the upstream sorted list of patches +# curl ftp://ftp.kernel.org/pub/linux/daemons/autofs/v5/patch_order-5.0.5 | +# grep -v '^#' | sh create-patches-v5.sh + +BASEURL=mirror://kernel/linux/daemons/autofs/v5; + +echo '# File created automatically' > patches-v5.nix +echo 'fetchurl :' >> patches-v5.nix +echo '[' >> patches-v5.nix + +while read a; do + URL=$BASEURL/$a + HASH=`nix-prefetch-url $URL` + echo "(fetchurl { url = $URL; sha256 = \"$HASH\"; })" >> patches-v5.nix +done + +echo ']' >> patches-v5.nix diff --git a/pkgs/os-specific/linux/autofs/patches-v5.nix b/pkgs/os-specific/linux/autofs/patches-v5.nix new file mode 100644 index 00000000000..0598102fb2a --- /dev/null +++ b/pkgs/os-specific/linux/autofs/patches-v5.nix @@ -0,0 +1,32 @@ +# File created automatically +fetchurl : +[ +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-included-map-read-fail-handling.patch; sha256 = "1a8yhy898zp8hn6ihnz8scannjx74am6ys6dkahds4ga3zjg0k27"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-refactor-ldap-sasl-bind.patch; sha256 = "0c4izyvg4mrn0h4g18vk7d10zyb6b1sh40bjrm0xc6ga7n7z89x1"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.4-add-mount-wait-parameter.patch; sha256 = "1a8wd8lyx4bh9v6yw0360vbzjwvr1w838k2g3xrg374z6fmj4n3f"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-special-case-cifs-escapes.patch; sha256 = "0cb4kaipdmqlx11nw1l9c6ccssl01q5zg3f9zaarhv6ha91jag63"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-libxml2-workaround-configure.patch; sha256 = "1fb5ksyqc7706j48hwjarsk83047np360kln6lll8plmrg2539rc"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-more-code-analysis-corrections.patch; sha256 = "1lhx6iblmi4b8jx5sd94jlj8pwkhfy9f7dxnx45af0c251rcqxi9"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-backwards-ifndef-INET6.patch; sha256 = "0k2cbr2651w6hf720qm68l66d3jr5y6yp80igr7ym60q68pxkwfk"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-stale-init-for-file-map-instance.patch; sha256 = "1h128fj8bgwg8ym0066dl9qp5yfv8jrjnrhsdsmfx2qdq2shyj42"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-ext4-fsck-at-mount.patch; sha256 = "1w92iykwnpvz6sbn98nmc9qa8wwar2qidqln3f14wfic9jrs2x6n"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-dont-use-master_lex_destroy-to-clear-parse-buffer.patch; sha256 = "1rq2xqj3jqibbknnssd3ji0ymdw8jq7fv2a4s15m63rd8q3b2mci"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-make-documentation-for-set-log-priority-clearer.patch; sha256 = "0ly5zkhsx49b98vzrq863ksj9f8024vrzivlhwa45p47kzza9p9b"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-timeout-in-connect_nb.patch; sha256 = "1fhy7rmvk14ikxnavlznx8qya0y5gm73y8gs1v1piwmig0g3y8hf"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-pidof-init-script-usage.patch; sha256 = "1rqpdjn99wqr8j591qsn231chwi3s25jma3raqmpsip3vz75rfy8"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-check-for-path-mount-location-in-generic-module.patch; sha256 = "17lccz000ajclm29v7cv6i2dxs7lgb0p6dg9xdp84h58h6x94n0l"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-dont-fail-mount-on-access-fail.patch; sha256 = "0sssai921nkin77gi6n62qsxp97f49xa7cwb51dwy8216qcn5fkr"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-rpc-large-export-list.patch; sha256 = "1k4574pkmnp55jkqg83f3pyw3vqf0pv8fyhwb6ndrzfmgrmbcqar"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-memory-leak-on-reload.patch; sha256 = "15qc61akl0gvs33anz6vif2cb4g1v47s9n6v9j0sdw4sw45292gv"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-update-kernel-patches-2.6.18-and-2.6.19.patch; sha256 = "0rlb3k2bq5f18jrwa7xnfq3rxngqv9i07xcpyfq8yv3lj6qrb5qc"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-dont-connect-at-ldap-lookup-module-init.patch; sha256 = "0dvfvim2riasa3dcf4ifkjg9bssaq8am4asrxfl9gkxqa3lp0drh"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-random-selection-option.patch; sha256 = "0ignn2m4syk491awkrzjj07vyfmlj4fyigk8fd3larn06vpcy0kx"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-disable-timeout.patch; sha256 = "0d66pm2kmc9pz6k0shsd1gx0m8jhf71ik6wa7nzdijwpzzmbdagc"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-strdup-return-value-check.patch; sha256 = "0k0xqs1k12nxiaidf3j2w8iywycpbx14bmxc00ra0nc2i3shd6cz"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-reconnect-get-base-dn.patch; sha256 = "1yn5fcb1xqzycmnbv6l7ghjy34vlacbnr5yz37sfgz7w81qr7xgk"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-add-sasl-mutex-callbacks.patch; sha256 = "18kkznkg2p5f0gq4hncis37j75pg72h7la9q71xpl0ci875j35r8"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-get-qdn-fail.patch; sha256 = "0sd6k7fcwvql1p3vhhfjiw4rbrqyr36fvjv37dyap7p6sahn84n9"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-fix-ampersand-escape-in-auto-smb.patch; sha256 = "1imsxa4rdbkdy8lx7sibm6g91f05lidhfzwf2k4fbkiz9232872r"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-add-locality-as-valid-ldap-master-map-attribute.patch; sha256 = "1r3azgm8y5i42p9hmp4mn88wz0ks6fyrjb80nj3npv6x3qy8cryv"; }) +(fetchurl { url = mirror://kernel/linux/daemons/autofs/v5/autofs-5.0.5-add-locality-as-valid-ldap-master-map-attribute-fix.patch; sha256 = "026gbbffadl4ly5n5z73mzf2ga14m9ya09agbxrpsf24f4h65cw4"; }) +] diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix index 31241b3110a..e125d273822 100644 --- a/pkgs/os-specific/linux/bluez/default.nix +++ b/pkgs/os-specific/linux/bluez/default.nix @@ -1,16 +1,16 @@ -{stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib}: - +{ stdenv, fetchurl, pkgconfig, dbus, glib, libusb, alsaLib }: + assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "bluez-4.54"; + name = "bluez-4.65"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${name}.tar.gz"; - sha256 = "1ykhyin06gzim4496sgr89x2yaqh4nrwmnfzrp20kiqfslw6fzlp"; + sha256 = "08j9h2cm0d4ifq8jna9lgfg37b3bncmjgxm9nirdrsr6505542sz"; }; - buildInputs = [pkgconfig dbus.libs glib libusb alsaLib]; + buildInputs = [ pkgconfig dbus.libs glib libusb alsaLib ]; configureFlags = "--localstatedir=/var"; diff --git a/pkgs/os-specific/linux/cifs-utils/default.nix b/pkgs/os-specific/linux/cifs-utils/default.nix new file mode 100644 index 00000000000..d49fe20f1ad --- /dev/null +++ b/pkgs/os-specific/linux/cifs-utils/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "cifs-utils-4.5"; + + src = fetchurl { + url = "ftp://ftp.samba.org/pub/linux-cifs/cifs-utils/${name}.tar.bz2"; + sha256 = "0nzjxhhs86ws1dzi2qgmxbkn6pcri7915r0sd51317b0b5n9k1w2"; + }; + + makeFlags = "root_sbindir=$(out)/sbin"; + + meta = { + homepage = http://www.samba.org/linux-cifs/cifs-utils/; + description = "Tools for managing Linux CIFS client filesystems"; + }; +} diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix new file mode 100644 index 00000000000..29a81592c14 --- /dev/null +++ b/pkgs/os-specific/linux/conky/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl, pkgconfig, libxml2, curl, wirelesstools, glib, openssl}: + +stdenv.mkDerivation { + name = "conky-1.7.2"; + + src = fetchurl { + url = "mirror://sourceforge/conky/conky-1.7.2.tar.bz2"; + sha256 = "0p375id2saxm2bp6c33ddn9d6rxymmq60ajlvx49smwhzyqa3h5k"; + }; + + buildInputs = [ pkgconfig libxml2 curl wirelesstools glib openssl ]; + configureFlags = "--disable-x11 --disable-xdamage --disable-own-window --disable-xft --disable-lua --enable-mpd --enable-double-buffer --enable-proc-uptime --enable-seti --enable-wlan --enable-rss"; + + meta = { + homepage = http://conky.sourceforge.net/; + description = "Conky is an advanced, highly configurable system monitor complied without X based on torsmo"; + maintainers = [ stdenv.lib.maintainers.guibert ]; + }; +} + diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index 0b4b492d318..1f56a92efe1 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://www.netfilter.org/projects/iptables/files/${name}.tar.bz2"; - sha256 = "1d6wykz1x2h0hp03akpm5gdgnamb1ij1nxzx3w3lhdvbzjwpbaxq"; + sha256 = "342926b3f9635f89f479660835b0ba518ccd465552e41c29aa83c5af7d506496"; }; # Install header files required by miniupnpd. diff --git a/pkgs/os-specific/linux/kernel/aufs2-34.patch b/pkgs/os-specific/linux/kernel/aufs2-34.patch new file mode 100644 index 00000000000..dd9e7d9f6df --- /dev/null +++ b/pkgs/os-specific/linux/kernel/aufs2-34.patch @@ -0,0 +1,358 @@ +From: +http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=blob_plain;f=aufs2-base.patch;hb=aufs2-34 +http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=blob_plain;f=aufs2-standalone.patch;hb=aufs2-34 + +aufs2 base patch for linux-2.6.34 + +diff --git a/fs/namei.c b/fs/namei.c +index b86b96f..c43d6b8 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -1177,7 +1177,7 @@ out: + * needs parent already locked. Doesn't follow mounts. + * SMP-safe. + */ +-static struct dentry *lookup_hash(struct nameidata *nd) ++struct dentry *lookup_hash(struct nameidata *nd) + { + int err; + +@@ -1187,7 +1187,7 @@ static struct dentry *lookup_hash(struct nameidata *nd) + return __lookup_hash(&nd->last, nd->path.dentry, nd); + } + +-static int __lookup_one_len(const char *name, struct qstr *this, ++int __lookup_one_len(const char *name, struct qstr *this, + struct dentry *base, int len) + { + unsigned long hash; +diff --git a/fs/splice.c b/fs/splice.c +index 9313b61..b9e871f 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -1054,8 +1054,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); + /* + * Attempt to initiate a splice from pipe to file. + */ +-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, +- loff_t *ppos, size_t len, unsigned int flags) ++long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags) + { + ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, + loff_t *, size_t, unsigned int); +@@ -1082,9 +1082,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + /* + * Attempt to initiate a splice from a file to a pipe. + */ +-static long do_splice_to(struct file *in, loff_t *ppos, +- struct pipe_inode_info *pipe, size_t len, +- unsigned int flags) ++long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags) + { + ssize_t (*splice_read)(struct file *, loff_t *, + struct pipe_inode_info *, size_t, unsigned int); +diff --git a/include/linux/namei.h b/include/linux/namei.h +index 05b441d..91bc74e 100644 +--- a/include/linux/namei.h ++++ b/include/linux/namei.h +@@ -73,6 +73,9 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *, + extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry *dentry, + int (*open)(struct inode *, struct file *)); + ++extern struct dentry *lookup_hash(struct nameidata *nd); ++extern int __lookup_one_len(const char *name, struct qstr *this, ++ struct dentry *base, int len); + extern struct dentry *lookup_one_len(const char *, struct dentry *, int); + + extern int follow_down(struct path *); +diff --git a/include/linux/splice.h b/include/linux/splice.h +index 18e7c7c..8393b5c 100644 +--- a/include/linux/splice.h ++++ b/include/linux/splice.h +@@ -82,4 +82,10 @@ extern ssize_t splice_to_pipe(struct pipe_inode_info *, + extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *, + splice_direct_actor *); + ++extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags); ++extern long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags); ++ + #endif + +aufs2 standalone patch for linux-2.6.34 + +diff --git a/fs/namei.c b/fs/namei.c +index c43d6b8..538d40a 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -348,6 +348,7 @@ int deny_write_access(struct file * file) + + return 0; + } ++EXPORT_SYMBOL(deny_write_access); + + /** + * path_get - get a reference to a path +@@ -1186,6 +1187,7 @@ struct dentry *lookup_hash(struct nameidata *nd) + return ERR_PTR(err); + return __lookup_hash(&nd->last, nd->path.dentry, nd); + } ++EXPORT_SYMBOL(lookup_hash); + + int __lookup_one_len(const char *name, struct qstr *this, + struct dentry *base, int len) +@@ -1208,6 +1210,7 @@ int __lookup_one_len(const char *name, struct qstr *this, + this->hash = end_name_hash(hash); + return 0; + } ++EXPORT_SYMBOL(__lookup_one_len); + + /** + * lookup_one_len - filesystem helper to lookup single pathname component +diff --git a/fs/namespace.c b/fs/namespace.c +index f20cb57..7cc1b42 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -1282,6 +1282,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, + } + return 0; + } ++EXPORT_SYMBOL(iterate_mounts); + + static void cleanup_group_ids(struct vfsmount *mnt, struct vfsmount *end) + { +diff --git a/fs/notify/group.c b/fs/notify/group.c +index 0e16771..3fab10a 100644 +--- a/fs/notify/group.c ++++ b/fs/notify/group.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + #include + #include "fsnotify.h" +@@ -169,6 +170,7 @@ void fsnotify_put_group(struct fsnotify_group *group) + fsnotify_recalc_global_mask(); + fsnotify_destroy_group(group); + } ++EXPORT_SYMBOL(fsnotify_put_group); + + /* + * Simply run the fsnotify_groups list and find a group which matches +@@ -252,3 +254,4 @@ struct fsnotify_group *fsnotify_obtain_group(unsigned int group_num, __u32 mask, + + return group; + } ++EXPORT_SYMBOL(fsnotify_obtain_group); +diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c +index 0399bcb..74cdc13 100644 +--- a/fs/notify/inode_mark.c ++++ b/fs/notify/inode_mark.c +@@ -105,6 +105,7 @@ void fsnotify_put_mark(struct fsnotify_mark_entry *entry) + if (atomic_dec_and_test(&entry->refcnt)) + entry->free_mark(entry); + } ++EXPORT_SYMBOL(fsnotify_put_mark); + + /* + * Recalculate the mask of events relevant to a given inode locked. +@@ -215,6 +216,7 @@ void fsnotify_destroy_mark_by_entry(struct fsnotify_mark_entry *entry) + if (unlikely(atomic_dec_and_test(&group->num_marks))) + fsnotify_final_destroy_group(group); + } ++EXPORT_SYMBOL(fsnotify_destroy_mark_by_entry); + + /* + * Given a group, destroy all of the marks associated with that group. +@@ -281,6 +283,7 @@ struct fsnotify_mark_entry *fsnotify_find_mark_entry(struct fsnotify_group *grou + } + return NULL; + } ++EXPORT_SYMBOL(fsnotify_find_mark_entry); + + /* + * Nothing fancy, just initialize lists and locks and counters. +@@ -297,6 +300,7 @@ void fsnotify_init_mark(struct fsnotify_mark_entry *entry, + entry->inode = NULL; + entry->free_mark = free_mark; + } ++EXPORT_SYMBOL(fsnotify_init_mark); + + /* + * Attach an initialized mark entry to a given group and inode. +@@ -352,6 +356,7 @@ int fsnotify_add_mark(struct fsnotify_mark_entry *entry, + + return ret; + } ++EXPORT_SYMBOL(fsnotify_add_mark); + + /** + * fsnotify_unmount_inodes - an sb is unmounting. handle any watched inodes. +diff --git a/fs/open.c b/fs/open.c +index 74e5cd9..8192b46 100644 +--- a/fs/open.c ++++ b/fs/open.c +@@ -225,6 +225,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, + mutex_unlock(&dentry->d_inode->i_mutex); + return ret; + } ++EXPORT_SYMBOL(do_truncate); + + static long do_sys_truncate(const char __user *pathname, loff_t length) + { +diff --git a/fs/splice.c b/fs/splice.c +index b9e871f..b069be4 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -1078,6 +1078,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + + return splice_write(pipe, out, ppos, len, flags); + } ++EXPORT_SYMBOL(do_splice_from); + + /* + * Attempt to initiate a splice from a file to a pipe. +@@ -1104,6 +1105,7 @@ long do_splice_to(struct file *in, loff_t *ppos, + + return splice_read(in, ppos, pipe, len, flags); + } ++EXPORT_SYMBOL(do_splice_to); + + /** + * splice_direct_to_actor - splices data directly between two non-pipes +diff --git a/security/commoncap.c b/security/commoncap.c +index 6166973..a702444 100644 +--- a/security/commoncap.c ++++ b/security/commoncap.c +@@ -951,3 +951,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot, + } + return ret; + } ++EXPORT_SYMBOL(cap_file_mmap); +diff --git a/security/device_cgroup.c b/security/device_cgroup.c +index f77c604..743f39b 100644 +--- a/security/device_cgroup.c ++++ b/security/device_cgroup.c +@@ -515,6 +515,7 @@ found: + + return -EPERM; + } ++EXPORT_SYMBOL(devcgroup_inode_permission); + + int devcgroup_inode_mknod(int mode, dev_t dev) + { +diff --git a/security/security.c b/security/security.c +index 687c6fd..e9e5f6b 100644 +--- a/security/security.c ++++ b/security/security.c +@@ -411,6 +411,7 @@ int security_path_mkdir(struct path *dir, struct dentry *dentry, int mode) + return 0; + return security_ops->path_mkdir(dir, dentry, mode); + } ++EXPORT_SYMBOL(security_path_mkdir); + + int security_path_rmdir(struct path *dir, struct dentry *dentry) + { +@@ -418,6 +419,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) + return 0; + return security_ops->path_rmdir(dir, dentry); + } ++EXPORT_SYMBOL(security_path_rmdir); + + int security_path_unlink(struct path *dir, struct dentry *dentry) + { +@@ -425,6 +427,7 @@ int security_path_unlink(struct path *dir, struct dentry *dentry) + return 0; + return security_ops->path_unlink(dir, dentry); + } ++EXPORT_SYMBOL(security_path_unlink); + + int security_path_symlink(struct path *dir, struct dentry *dentry, + const char *old_name) +@@ -433,6 +436,7 @@ int security_path_symlink(struct path *dir, struct dentry *dentry, + return 0; + return security_ops->path_symlink(dir, dentry, old_name); + } ++EXPORT_SYMBOL(security_path_symlink); + + int security_path_link(struct dentry *old_dentry, struct path *new_dir, + struct dentry *new_dentry) +@@ -441,6 +445,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, + return 0; + return security_ops->path_link(old_dentry, new_dir, new_dentry); + } ++EXPORT_SYMBOL(security_path_link); + + int security_path_rename(struct path *old_dir, struct dentry *old_dentry, + struct path *new_dir, struct dentry *new_dentry) +@@ -451,6 +456,7 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry, + return security_ops->path_rename(old_dir, old_dentry, new_dir, + new_dentry); + } ++EXPORT_SYMBOL(security_path_rename); + + int security_path_truncate(struct path *path, loff_t length, + unsigned int time_attrs) +@@ -459,6 +465,7 @@ int security_path_truncate(struct path *path, loff_t length, + return 0; + return security_ops->path_truncate(path, length, time_attrs); + } ++EXPORT_SYMBOL(security_path_truncate); + + int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, + mode_t mode) +@@ -467,6 +474,7 @@ int security_path_chmod(struct dentry *dentry, struct vfsmount *mnt, + return 0; + return security_ops->path_chmod(dentry, mnt, mode); + } ++EXPORT_SYMBOL(security_path_chmod); + + int security_path_chown(struct path *path, uid_t uid, gid_t gid) + { +@@ -474,6 +482,7 @@ int security_path_chown(struct path *path, uid_t uid, gid_t gid) + return 0; + return security_ops->path_chown(path, uid, gid); + } ++EXPORT_SYMBOL(security_path_chown); + + int security_path_chroot(struct path *path) + { +@@ -550,6 +559,7 @@ int security_inode_readlink(struct dentry *dentry) + return 0; + return security_ops->inode_readlink(dentry); + } ++EXPORT_SYMBOL(security_inode_readlink); + + int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) + { +@@ -564,6 +574,7 @@ int security_inode_permission(struct inode *inode, int mask) + return 0; + return security_ops->inode_permission(inode, mask); + } ++EXPORT_SYMBOL(security_inode_permission); + + int security_inode_setattr(struct dentry *dentry, struct iattr *attr) + { +@@ -664,6 +675,7 @@ int security_file_permission(struct file *file, int mask) + { + return security_ops->file_permission(file, mask); + } ++EXPORT_SYMBOL(security_file_permission); + + int security_file_alloc(struct file *file) + { +@@ -691,6 +703,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot, + return ret; + return ima_file_mmap(file, prot); + } ++EXPORT_SYMBOL(security_file_mmap); + + int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, + unsigned long prot) diff --git a/pkgs/os-specific/linux/kernel/aufs2.patch b/pkgs/os-specific/linux/kernel/aufs2.patch new file mode 100644 index 00000000000..191972c760c --- /dev/null +++ b/pkgs/os-specific/linux/kernel/aufs2.patch @@ -0,0 +1,354 @@ +From: +http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=blob;f=aufs2-base.patch;hb=eb0355d5b8ff5b04ad217a86d8c677f265675436 +http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=blob;f=aufs2-standalone.patch;hb=a9c3ab997b526d76bdd23391b3ddc1fdf28edd46 + +aufs2 base patch for linux-2.6.32 + +diff --git a/fs/namei.c b/fs/namei.c +index d11f404..7d28f56 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -1219,7 +1219,7 @@ out: + * needs parent already locked. Doesn't follow mounts. + * SMP-safe. + */ +-static struct dentry *lookup_hash(struct nameidata *nd) ++struct dentry *lookup_hash(struct nameidata *nd) + { + int err; + +@@ -1229,7 +1229,7 @@ static struct dentry *lookup_hash(struct nameidata *nd) + return __lookup_hash(&nd->last, nd->path.dentry, nd); + } + +-static int __lookup_one_len(const char *name, struct qstr *this, ++int __lookup_one_len(const char *name, struct qstr *this, + struct dentry *base, int len) + { + unsigned long hash; +diff --git a/fs/splice.c b/fs/splice.c +index 7394e9e..77184f0 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -1051,8 +1051,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); + /* + * Attempt to initiate a splice from pipe to file. + */ +-static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, +- loff_t *ppos, size_t len, unsigned int flags) ++long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags) + { + ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, + loff_t *, size_t, unsigned int); +@@ -1078,9 +1078,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + /* + * Attempt to initiate a splice from a file to a pipe. + */ +-static long do_splice_to(struct file *in, loff_t *ppos, +- struct pipe_inode_info *pipe, size_t len, +- unsigned int flags) ++long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags) + { + ssize_t (*splice_read)(struct file *, loff_t *, + struct pipe_inode_info *, size_t, unsigned int); +diff --git a/include/linux/namei.h b/include/linux/namei.h +index ec0f607..1438153 100644 +--- a/include/linux/namei.h ++++ b/include/linux/namei.h +@@ -75,6 +75,9 @@ extern struct file *lookup_instantiate_filp(struct nameidata *nd, struct dentry + extern struct file *nameidata_to_filp(struct nameidata *nd, int flags); + extern void release_open_intent(struct nameidata *); + ++extern struct dentry *lookup_hash(struct nameidata *nd); ++extern int __lookup_one_len(const char *name, struct qstr *this, ++ struct dentry *base, int len); + extern struct dentry *lookup_one_len(const char *, struct dentry *, int); + extern struct dentry *lookup_one_noperm(const char *, struct dentry *); + +diff --git a/include/linux/splice.h b/include/linux/splice.h +index 18e7c7c..8393b5c 100644 +--- a/include/linux/splice.h ++++ b/include/linux/splice.h +@@ -82,4 +82,10 @@ extern ssize_t splice_to_pipe(struct pipe_inode_info *, + extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *, + splice_direct_actor *); + ++extern long do_splice_from(struct pipe_inode_info *pipe, struct file *out, ++ loff_t *ppos, size_t len, unsigned int flags); ++extern long do_splice_to(struct file *in, loff_t *ppos, ++ struct pipe_inode_info *pipe, size_t len, ++ unsigned int flags); ++ + #endif + +aufs2 standalone patch for linux-2.6.32 + +diff --git a/fs/namei.c b/fs/namei.c +index 7d28f56..0f6117c 100644 +--- a/fs/namei.c ++++ b/fs/namei.c +@@ -350,6 +350,7 @@ int deny_write_access(struct file * file) + + return 0; + } ++EXPORT_SYMBOL(deny_write_access); + + /** + * path_get - get a reference to a path +@@ -1228,6 +1229,7 @@ struct dentry *lookup_hash(struct nameidata *nd) + return ERR_PTR(err); + return __lookup_hash(&nd->last, nd->path.dentry, nd); + } ++EXPORT_SYMBOL(lookup_hash); + + int __lookup_one_len(const char *name, struct qstr *this, + struct dentry *base, int len) +@@ -1250,6 +1252,7 @@ int __lookup_one_len(const char *name, struct qstr *this, + this->hash = end_name_hash(hash); + return 0; + } ++EXPORT_SYMBOL(__lookup_one_len); + + /** + * lookup_one_len - filesystem helper to lookup single pathname component +diff --git a/fs/namespace.c b/fs/namespace.c +index bdc3cb4..a2cadcf 100644 +--- a/fs/namespace.c ++++ b/fs/namespace.c +@@ -39,6 +39,7 @@ + + /* spinlock for vfsmount related operations, inplace of dcache_lock */ + __cacheline_aligned_in_smp DEFINE_SPINLOCK(vfsmount_lock); ++EXPORT_SYMBOL(vfsmount_lock); + + static int event; + static DEFINE_IDA(mnt_id_ida); +diff --git a/fs/notify/group.c b/fs/notify/group.c +index 0e16771..3fab10a 100644 +--- a/fs/notify/group.c ++++ b/fs/notify/group.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + #include + #include "fsnotify.h" +@@ -169,6 +170,7 @@ void fsnotify_put_group(struct fsnotify_group *group) + fsnotify_recalc_global_mask(); + fsnotify_destroy_group(group); + } ++EXPORT_SYMBOL(fsnotify_put_group); + + /* + * Simply run the fsnotify_groups list and find a group which matches +@@ -252,3 +254,4 @@ struct fsnotify_group *fsnotify_obtain_group(unsigned int group_num, __u32 mask, + + return group; + } ++EXPORT_SYMBOL(fsnotify_obtain_group); +diff --git a/fs/notify/inode_mark.c b/fs/notify/inode_mark.c +index 3165d85..4586162 100644 +--- a/fs/notify/inode_mark.c ++++ b/fs/notify/inode_mark.c +@@ -106,6 +106,7 @@ void fsnotify_put_mark(struct fsnotify_mark_entry *entry) + if (atomic_dec_and_test(&entry->refcnt)) + entry->free_mark(entry); + } ++EXPORT_SYMBOL(fsnotify_put_mark); + + /* + * Recalculate the mask of events relevant to a given inode locked. +@@ -216,6 +217,7 @@ void fsnotify_destroy_mark_by_entry(struct fsnotify_mark_entry *entry) + if (unlikely(atomic_dec_and_test(&group->num_marks))) + fsnotify_final_destroy_group(group); + } ++EXPORT_SYMBOL(fsnotify_destroy_mark_by_entry); + + /* + * Given a group, destroy all of the marks associated with that group. +@@ -282,6 +284,7 @@ struct fsnotify_mark_entry *fsnotify_find_mark_entry(struct fsnotify_group *grou + } + return NULL; + } ++EXPORT_SYMBOL(fsnotify_find_mark_entry); + + /* + * Nothing fancy, just initialize lists and locks and counters. +@@ -298,6 +301,7 @@ void fsnotify_init_mark(struct fsnotify_mark_entry *entry, + entry->inode = NULL; + entry->free_mark = free_mark; + } ++EXPORT_SYMBOL(fsnotify_init_mark); + + /* + * Attach an initialized mark entry to a given group and inode. +@@ -353,6 +357,7 @@ int fsnotify_add_mark(struct fsnotify_mark_entry *entry, + + return ret; + } ++EXPORT_SYMBOL(fsnotify_add_mark); + + /** + * fsnotify_unmount_inodes - an sb is unmounting. handle any watched inodes. +diff --git a/fs/open.c b/fs/open.c +index 4f01e06..ef09031 100644 +--- a/fs/open.c ++++ b/fs/open.c +@@ -223,6 +223,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, + mutex_unlock(&dentry->d_inode->i_mutex); + return ret; + } ++EXPORT_SYMBOL(do_truncate); + + static long do_sys_truncate(const char __user *pathname, loff_t length) + { +diff --git a/fs/splice.c b/fs/splice.c +index 77184f0..8479d95 100644 +--- a/fs/splice.c ++++ b/fs/splice.c +@@ -1074,6 +1074,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, + + return splice_write(pipe, out, ppos, len, flags); + } ++EXPORT_SYMBOL(do_splice_from); + + /* + * Attempt to initiate a splice from a file to a pipe. +@@ -1099,6 +1100,7 @@ long do_splice_to(struct file *in, loff_t *ppos, + + return splice_read(in, ppos, pipe, len, flags); + } ++EXPORT_SYMBOL(do_splice_to); + + /** + * splice_direct_to_actor - splices data directly between two non-pipes +diff --git a/security/commoncap.c b/security/commoncap.c +index fe30751..813108d 100644 +--- a/security/commoncap.c ++++ b/security/commoncap.c +@@ -1014,3 +1014,4 @@ int cap_file_mmap(struct file *file, unsigned long reqprot, + } + return ret; + } ++EXPORT_SYMBOL(cap_file_mmap); +diff --git a/security/device_cgroup.c b/security/device_cgroup.c +index 6cf8fd2..008e0d8 100644 +--- a/security/device_cgroup.c ++++ b/security/device_cgroup.c +@@ -514,6 +514,7 @@ found: + + return -EPERM; + } ++EXPORT_SYMBOL(devcgroup_inode_permission); + + int devcgroup_inode_mknod(int mode, dev_t dev) + { +diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c +index b85e61b..a23fad4 100644 +--- a/security/integrity/ima/ima_main.c ++++ b/security/integrity/ima/ima_main.c +@@ -324,6 +324,7 @@ int ima_file_mmap(struct file *file, unsigned long prot) + MAY_EXEC, FILE_MMAP); + return 0; + } ++EXPORT_SYMBOL(ima_file_mmap); + + /** + * ima_bprm_check - based on policy, collect/store measurement. +diff --git a/security/security.c b/security/security.c +index c4c6732..092cd90 100644 +--- a/security/security.c ++++ b/security/security.c +@@ -386,6 +386,7 @@ int security_path_mkdir(struct path *path, struct dentry *dentry, int mode) + return 0; + return security_ops->path_mkdir(path, dentry, mode); + } ++EXPORT_SYMBOL(security_path_mkdir); + + int security_path_rmdir(struct path *path, struct dentry *dentry) + { +@@ -393,6 +394,7 @@ int security_path_rmdir(struct path *path, struct dentry *dentry) + return 0; + return security_ops->path_rmdir(path, dentry); + } ++EXPORT_SYMBOL(security_path_rmdir); + + int security_path_unlink(struct path *path, struct dentry *dentry) + { +@@ -400,6 +402,7 @@ int security_path_unlink(struct path *path, struct dentry *dentry) + return 0; + return security_ops->path_unlink(path, dentry); + } ++EXPORT_SYMBOL(security_path_unlink); + + int security_path_symlink(struct path *path, struct dentry *dentry, + const char *old_name) +@@ -408,6 +411,7 @@ int security_path_symlink(struct path *path, struct dentry *dentry, + return 0; + return security_ops->path_symlink(path, dentry, old_name); + } ++EXPORT_SYMBOL(security_path_symlink); + + int security_path_link(struct dentry *old_dentry, struct path *new_dir, + struct dentry *new_dentry) +@@ -416,6 +420,7 @@ int security_path_link(struct dentry *old_dentry, struct path *new_dir, + return 0; + return security_ops->path_link(old_dentry, new_dir, new_dentry); + } ++EXPORT_SYMBOL(security_path_link); + + int security_path_rename(struct path *old_dir, struct dentry *old_dentry, + struct path *new_dir, struct dentry *new_dentry) +@@ -426,6 +431,7 @@ int security_path_rename(struct path *old_dir, struct dentry *old_dentry, + return security_ops->path_rename(old_dir, old_dentry, new_dir, + new_dentry); + } ++EXPORT_SYMBOL(security_path_rename); + + int security_path_truncate(struct path *path, loff_t length, + unsigned int time_attrs) +@@ -434,6 +440,7 @@ int security_path_truncate(struct path *path, loff_t length, + return 0; + return security_ops->path_truncate(path, length, time_attrs); + } ++EXPORT_SYMBOL(security_path_truncate); + #endif + + int security_inode_create(struct inode *dir, struct dentry *dentry, int mode) +@@ -505,6 +512,7 @@ int security_inode_readlink(struct dentry *dentry) + return 0; + return security_ops->inode_readlink(dentry); + } ++EXPORT_SYMBOL(security_inode_readlink); + + int security_inode_follow_link(struct dentry *dentry, struct nameidata *nd) + { +@@ -519,6 +527,7 @@ int security_inode_permission(struct inode *inode, int mask) + return 0; + return security_ops->inode_permission(inode, mask); + } ++EXPORT_SYMBOL(security_inode_permission); + + int security_inode_setattr(struct dentry *dentry, struct iattr *attr) + { +@@ -619,6 +628,7 @@ int security_file_permission(struct file *file, int mask) + { + return security_ops->file_permission(file, mask); + } ++EXPORT_SYMBOL(security_file_permission); + + int security_file_alloc(struct file *file) + { +@@ -641,6 +651,7 @@ int security_file_mmap(struct file *file, unsigned long reqprot, + { + return security_ops->file_mmap(file, reqprot, prot, flags, addr, addr_only); + } ++EXPORT_SYMBOL(security_file_mmap); + + int security_file_mprotect(struct vm_area_struct *vma, unsigned long reqprot, + unsigned long prot) diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.27.nix b/pkgs/os-specific/linux/kernel/linux-2.6.27.nix index 054718d8f60..558cde5a890 100644 --- a/pkgs/os-specific/linux/kernel/linux-2.6.27.nix +++ b/pkgs/os-specific/linux/kernel/linux-2.6.27.nix @@ -3,11 +3,11 @@ args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "", ... }: import ./generic.nix ( rec { - version = "2.6.27.46"; + version = "2.6.27.47"; src = fetchurl { url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2"; - sha256 = "185pniphacd1vfam9qianrw8ibjw1rjlds7hikxxmimfn029q3nv"; + sha256 = "1bwyj2cykybi23c005mcqn13gjc4bd1hhg3qc3iab3zw04iy08ir"; }; features.iwlwifi = true; 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 e12c1bd720b..81fbaade19d 100644 --- a/pkgs/os-specific/linux/kernel/linux-2.6.32.nix +++ b/pkgs/os-specific/linux/kernel/linux-2.6.32.nix @@ -1,5 +1,5 @@ -args @ { stdenv, fetchurl, userModeLinux ? false, systemtap ? false -, extraConfig ? "", ... }: +{ stdenv, fetchurl, userModeLinux ? false, systemtap ? false +, extraConfig ? "", ... } @ args: let configWithPlatform = kernelPlatform : @@ -206,11 +206,11 @@ in import ./generic.nix ( rec { - version = "2.6.32.13"; + version = "2.6.32.14"; src = fetchurl { url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2"; - sha256 = "12byfnxg22jbv2glzklfjlrva7vvihg3d6vnffnn8zwjrw48x39s"; + sha256 = "1j7hry3bqkafwvgfldy8dvwryi0rfhsk36nrsa6g6d0g75p12ccz"; }; 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 cc8bf91883c..367ca425d8f 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.4"; + version = "2.6.33.5"; src = fetchurl { url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2"; - sha256 = "129qkbsazh9609mda3qlwv3fwjv503nypj4lnjws01vbarpfb2bg"; + sha256 = "12130kbq41a5h7vziy0zaynqr8d2y5gniarjlx9x9rymacqqmp74"; }; config = configWithPlatform stdenv.platform; diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.34.nix b/pkgs/os-specific/linux/kernel/linux-2.6.34.nix new file mode 100644 index 00000000000..1a1c712bad9 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-2.6.34.nix @@ -0,0 +1,211 @@ +args @ { stdenv, fetchurl, userModeLinux ? false, extraConfig ? "" +, ... }: + +let + configWithPlatform = kernelPlatform : + '' + # Don't include any debug features. + DEBUG_KERNEL n + + # Support drivers that need external firmware. + STANDALONE n + + # Make /proc/config.gz available. + IKCONFIG_PROC y + + # Optimize with -O2, not -Os. + CC_OPTIMIZE_FOR_SIZE n + + # Enable the kernel's built-in memory tester. + MEMTEST y + + # Include the CFQ I/O scheduler in the kernel, rather than as a + # module, so that the initrd gets a good I/O scheduler. + IOSCHED_CFQ y + + # Disable some expensive (?) features. + FTRACE n + KPROBES n + NUMA? n + PM_TRACE_RTC n + + # Enable various subsystems. + ACCESSIBILITY y # Accessibility support + AUXDISPLAY y # Auxiliary Display support + DONGLE y # Serial dongle support + HIPPI y + MTD_COMPLEX_MAPPINGS y # needed for many devices + NET_POCKET y # enable pocket and portable adapters + SCSI_LOWLEVEL y # enable lots of SCSI devices + SCSI_LOWLEVEL_PCMCIA y + SPI y # needed for many devices + SPI_MASTER y + WAN y + + # Networking options. + IP_PNP n + IPV6_PRIVACY y + NETFILTER_ADVANCED y + IP_VS_PROTO_TCP y + IP_VS_PROTO_UDP y + IP_VS_PROTO_ESP y + IP_VS_PROTO_AH y + IP_DCCP_CCID3 n # experimental + CLS_U32_PERF y + CLS_U32_MARK y + + # Wireless networking. + IPW2100_MONITOR y # support promiscuous mode + IPW2200_MONITOR y # support promiscuous mode + IWL4965 y # Intel Wireless WiFi 4965AGN + IWL5000 y # Intel Wireless WiFi 5000AGN + HOSTAP_FIRMWARE y # Support downloading firmware images with Host AP driver + HOSTAP_FIRMWARE_NVRAM y + + # Some settings to make sure that fbcondecor works - in particular, + # disable tileblitting and the drivers that need it. + + # Enable various FB devices. + FB y + FB_EFI y + FB_NVIDIA_I2C y # Enable DDC Support + FB_RIVA_I2C y + FB_ATY_CT y # Mach64 CT/VT/GT/LT (incl. 3D RAGE) support + FB_ATY_GX y # Mach64 GX support + FB_SAVAGE_I2C y + FB_SAVAGE_ACCEL y + FB_SIS_300 y + FB_SIS_315 y + FB_3DFX_ACCEL y + FB_GEODE y + + # Video configuration + # The intel drivers already require KMS + DRM_I915_KMS y + + # Sound. + SND_AC97_POWER_SAVE y # AC97 Power-Saving Mode + SND_HDA_INPUT_BEEP y # Support digital beep via input layer + SND_USB_CAIAQ_INPUT y + PSS_MIXER y # Enable PSS mixer (Beethoven ADSP-16 and other compatible) + + # USB serial devices. + USB_SERIAL_GENERIC y # USB Generic Serial Driver + USB_SERIAL_KEYSPAN_MPR y # include firmware for various USB serial devices + USB_SERIAL_KEYSPAN_USA28 y + USB_SERIAL_KEYSPAN_USA28X y + USB_SERIAL_KEYSPAN_USA28XA y + USB_SERIAL_KEYSPAN_USA28XB y + USB_SERIAL_KEYSPAN_USA19 y + USB_SERIAL_KEYSPAN_USA18X y + USB_SERIAL_KEYSPAN_USA19W y + USB_SERIAL_KEYSPAN_USA19QW y + USB_SERIAL_KEYSPAN_USA19QI y + USB_SERIAL_KEYSPAN_USA49W y + USB_SERIAL_KEYSPAN_USA49WLC y + + # Filesystem options - in particular, enable extended attributes and + # ACLs for all filesystems that support them. + EXT2_FS_XATTR y # Ext2 extended attributes + EXT2_FS_POSIX_ACL y # Ext2 POSIX Access Control Lists + EXT2_FS_SECURITY y # Ext2 Security Labels + EXT2_FS_XIP y # Ext2 execute in place support + EXT4_FS_POSIX_ACL y + EXT4_FS_SECURITY y + REISERFS_FS_XATTR y + REISERFS_FS_POSIX_ACL y + REISERFS_FS_SECURITY y + JFS_POSIX_ACL y + JFS_SECURITY y + XFS_QUOTA y + XFS_POSIX_ACL y + XFS_RT y # XFS Realtime subvolume support + OCFS2_DEBUG_MASKLOG n + BTRFS_FS_POSIX_ACL y + UBIFS_FS_XATTR y + UBIFS_FS_ADVANCED_COMPR y + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y + CIFS_XATTR y + CIFS_POSIX y + + # Security related features. + STRICT_DEVMEM y # Filter access to /dev/mem + SECURITY_SELINUX_BOOTPARAM_VALUE 0 # disable SELinux by default + + # Misc. options. + 8139TOO_8129 y + 8139TOO_PIO n # PIO is slower + AIC79XX_DEBUG_ENABLE n + AIC7XXX_DEBUG_ENABLE n + AIC94XX_DEBUG n + B43_PCMCIA y + BLK_DEV_BSG n + BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support + BLK_DEV_IDEACPI y # IDE ACPI support + BLK_DEV_INTEGRITY y + BSD_PROCESS_ACCT_V3 y + BT_HCIUART_BCSP y + BT_HCIUART_H4 y # UART (H4) protocol support + BT_HCIUART_LL y + BT_RFCOMM_TTY y # RFCOMM TTY support + CPU_FREQ_DEBUG n + CRASH_DUMP n + DMAR? n # experimental + DVB_DYNAMIC_MINORS y # we use udev + FUSION y # Fusion MPT device support + IDE_GD_ATAPI y # ATAPI floppy support + IRDA_ULTRA y # Ultra (connectionless) protocol + JOYSTICK_IFORCE_232 y # I-Force Serial joysticks and wheels + JOYSTICK_IFORCE_USB y # I-Force USB joysticks and wheels + JOYSTICK_XPAD_FF y # X-Box gamepad rumble support + JOYSTICK_XPAD_LEDS y # LED Support for Xbox360 controller 'BigX' LED + KALLSYMS_EXTRA_PASS n + LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support + LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger + LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback + LOGO n # not needed + MEDIA_ATTACH y + MEGARAID_NEWGEN y + MICROCODE_AMD y + MODVERSIONS y + MOUSE_PS2_ELANTECH y # Elantech PS/2 protocol extension + MTRR_SANITIZER y + NET_FC y # Fibre Channel driver support + PPP_MULTILINK y # PPP multilink support + REGULATOR y # Voltage and Current Regulator Support + SCSI_LOGGING y # SCSI logging facility + SERIAL_8250 y # 8250/16550 and compatible serial support + SLIP_COMPRESSED y # CSLIP compressed headers + SLIP_SMART y + THERMAL_HWMON y # Hardware monitoring support + USB_DEBUG n + USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators + X86_CHECK_BIOS_CORRUPTION y + X86_MCE y + + ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} + ${extraConfig} + ''; +in + +import ./generic.nix ( + + rec { + version = "2.6.34"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v2.6/linux-${version}.tar.bz2"; + sha256 = "0cr64m6vqj7vcp28p2hjxn087yasyfw4hqjvp0fdycz6gpn5yfgs"; + }; + + config = configWithPlatform stdenv.platform; + configCross = configWithPlatform stdenv.cross.platform; + + features.iwlwifi = true; + } + + // removeAttrs args ["extraConfig"] +) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 70e2f017697..2e5232025dd 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -136,4 +136,23 @@ in '' UTRACE y ''; }; + + aufs2_2_6_32 = + { # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-32;hb=aufs2-32 + # Note that this merely the patch needed to build AUFS2 as a + # standalone package. + name = "aufs2"; + patch = ./aufs2.patch; + features.aufsBase = true; + }; + + aufs2_2_6_34 = + { # From http://git.c3sl.ufpr.br/gitweb?p=aufs/aufs2-standalone.git;a=tree;h=refs/heads/aufs2-34;hb=aufs2-34 + # Note that this merely the patch needed to build AUFS2 as a + # standalone package. + name = "aufs2"; + patch = ./aufs2-34.patch; + features.aufsBase = true; + }; + } diff --git a/pkgs/os-specific/linux/klibc/1.5.nix b/pkgs/os-specific/linux/klibc/1.5.nix deleted file mode 100644 index 72b9c12698b..00000000000 --- a/pkgs/os-specific/linux/klibc/1.5.nix +++ /dev/null @@ -1,34 +0,0 @@ -{stdenv, fetchurl, perl, bison, mktemp, linuxHeaders}: - -assert stdenv.isLinux; - -let version = "1.5"; in - -stdenv.mkDerivation { - name = "klibc-${version}"; - - src = fetchurl { - url = "mirror://kernel/linux/libs/klibc/klibc-${version}.tar.bz2"; - sha256 = "1izhf8kscjymsvsvhcqw9awnmp94vwv70zdj09srg9bkpjj0n017"; - }; - - makeFlags = ["V=1" "prefix=$out" "SHLIBDIR=$out/lib"]; - - preBuild = '' - makeFlags=$(eval "echo $makeFlags") - - mkdir linux - cp -prsd ${linuxHeaders}/include linux/ - chmod -R u+w linux/include/ - ''; # */ - - # Install static binaries as well. - postInstall = '' - dir=$out/lib/klibc/bin.static - mkdir $dir - cp $(find $(find . -name static) -type f ! -name "*.g" -a ! -name ".*") $dir/ - cp usr/dash/sh $dir/ - ''; - - buildInputs = [perl bison mktemp]; -} diff --git a/pkgs/os-specific/linux/klibc/builder.sh b/pkgs/os-specific/linux/klibc/builder.sh deleted file mode 100644 index 4ae5a9d080b..00000000000 --- a/pkgs/os-specific/linux/klibc/builder.sh +++ /dev/null @@ -1,11 +0,0 @@ -source $stdenv/setup - -preBuild() { - mkdir -p linux/include - cp -prd $kernel/lib/modules/*/build/include/* linux/include/ - chmod -R u+w linux/include/ -} - -makeFlagsArray=(V=1 prefix=$out SHLIBDIR=$out/lib) - -genericBuild diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index 0a2747eb165..c3f5db58303 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -11,7 +11,7 @@ stdenv.mkDerivation { name = "klibc-${version}"; src = fetchurl { - url = "mirror://kernel/linux/libs/klibc/Testing/klibc-${version}.tar.bz2"; + url = "mirror://kernel/linux/libs/klibc/klibc-${version}.tar.bz2"; sha256 = "1x401wmjca6zkyikf9xz45b3wb1hnj0m2s9in1sg6xdhi3pk8lwb"; }; diff --git a/pkgs/os-specific/linux/mount-cifs/default.nix b/pkgs/os-specific/linux/mount-cifs/default.nix deleted file mode 100644 index 490e6e05cba..00000000000 --- a/pkgs/os-specific/linux/mount-cifs/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{stdenv, fetchurl}: - -stdenv.mkDerivation { - name = "mount.cifs"; - - src = fetchurl { - url = http://nixos.org/tarballs/mount_cifs-20090330.c; - sha256 = "1d9v3qzic3d12vna8g7d1zsl1piwm20f6xhck319rbfkrdg0smnl"; - }; - - buildCommand = '' - ensureDir $out/sbin - gcc -Wall $src -o $out/sbin/mount.cifs - ''; -} diff --git a/pkgs/os-specific/linux/mountall/default.nix b/pkgs/os-specific/linux/mountall/default.nix new file mode 100644 index 00000000000..530ff250802 --- /dev/null +++ b/pkgs/os-specific/linux/mountall/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, libnih, dbus, udev, autoconf, automake, libtool }: + +stdenv.mkDerivation { + name = "mountall-2.15"; + + src = fetchurl { + url = https://launchpad.net/ubuntu/+archive/primary/+files/mountall_2.15.tar.gz; + sha256 = "1ik9r1av0f17byfxr4l2w0qpaijxkfqvxws6gmc98liq6fyyzn4v"; + }; + + patches = [ ./no-plymouth.patch ]; + + preConfigure = "autoreconf"; + + buildInputs = [ pkgconfig libnih dbus.libs udev autoconf automake libtool ]; + + meta = { + homepage = https://launchpad.net/ubuntu/+source/mountall; + description = "Utility to mount all filesystems and emit Upstart events"; + }; +} diff --git a/pkgs/os-specific/linux/mountall/no-plymouth.patch b/pkgs/os-specific/linux/mountall/no-plymouth.patch new file mode 100644 index 00000000000..04beb6ce7a8 --- /dev/null +++ b/pkgs/os-specific/linux/mountall/no-plymouth.patch @@ -0,0 +1,282 @@ +diff -ru -x '*~' mountall-2.15-orig/configure.ac mountall-2.15/configure.ac +--- mountall-2.15-orig/configure.ac 2010-05-09 01:42:22.000000000 +0200 ++++ mountall-2.15/configure.ac 2010-06-03 13:46:09.000000000 +0200 +@@ -29,7 +29,7 @@ + PKG_CHECK_MODULES([NIH_DBUS], [libnih-dbus >= 1.0.0]) + PKG_CHECK_MODULES([DBUS], [dbus-1 >= 1.2.16]) + PKG_CHECK_MODULES([UDEV], [libudev >= 146]) +-PKG_CHECK_MODULES([PLYMOUTH], [ply-boot-client >= 0.8.0]) ++#PKG_CHECK_MODULES([PLYMOUTH], [ply-boot-client >= 0.8.0]) + + # Checks for header files. + +diff -ru -x '*~' mountall-2.15-orig/src/mountall.c mountall-2.15/src/mountall.c +--- mountall-2.15-orig/src/mountall.c 2010-05-09 01:42:24.000000000 +0200 ++++ mountall-2.15/src/mountall.c 2010-06-07 13:04:19.000000000 +0200 +@@ -64,8 +64,10 @@ + #include + #include + ++#if 0 + #include + #include ++#endif + + #include "ioprio.h" + +@@ -75,7 +77,7 @@ + + #define BUILTIN_FSTAB "/lib/init/fstab" + +-#define BOREDOM_TIMEOUT 3 ++#define BOREDOM_TIMEOUT 15 + + enum exit { + EXIT_OK = 0, /* Ok */ +@@ -214,15 +216,19 @@ + void boredom_timeout (void *data, NihTimer *timer); + + int plymouth_connect (void); ++#if 0 + void plymouth_disconnected (void *user_data, ply_boot_client_t *client); ++#endif + + void plymouth_progress (Mount *mnt, int progress); + void plymouth_update (int only_clear); + ++#if 0 + void plymouth_response (void *user_data, ply_boot_client_t *client); + void plymouth_failed (void *user_data, ply_boot_client_t *client); + void plymouth_answer (void *user_data, const char *keys, + ply_boot_client_t *client); ++#endif + + void usr1_handler (void *data, NihSignal *signal); + +@@ -241,8 +247,10 @@ + **/ + size_t num_local = 0; + size_t num_local_mounted = 0; ++size_t num_local_failed = 0; + size_t num_remote = 0; + size_t num_remote_mounted = 0; ++size_t num_remote_failed = 0; + size_t num_virtual = 0; + size_t num_virtual_mounted = 0; + size_t num_swap = 0; +@@ -310,6 +318,7 @@ + **/ + static struct udev *udev = NULL; + ++#if 0 + /** + * ply_event_loop: + * +@@ -323,6 +332,7 @@ + * Plymouth boot client. + **/ + static ply_boot_client_t *ply_boot_client = NULL; ++#endif + + /** + * plymouth_error: +@@ -1475,7 +1485,8 @@ + /* Enforce local only after virtual filesystems triggered */ + if ((! local_triggered) + && virtual_triggered +- && (num_local_mounted == num_local)) { ++ && (num_local_mounted == num_local) ++ && (num_local_failed == 0)) { + nih_info (_("%s finished"), "local"); + emit_event ("local-filesystems", NULL); + local_triggered = TRUE; +@@ -1484,7 +1495,8 @@ + /* Enforce remote only after virtual filesystems triggrered */ + if ((! remote_triggered) + && virtual_triggered +- && (num_remote_mounted == num_remote)) { ++ && (num_remote_mounted == num_remote) ++ && (num_remote_failed == 0)) { + nih_info (_("%s finished"), "remote"); + emit_event ("remote-filesystems", NULL); + remote_triggered = TRUE; +@@ -1494,7 +1506,9 @@ + if ((! filesystem_triggered) + && virtual_triggered + && local_triggered +- && remote_triggered) { ++ && remote_triggered ++ && (num_local_failed == 0) ++ && (num_remote_failed == 0)) { + nih_info (_("All filesystems mounted")); + emit_event ("filesystem", NULL); + filesystem_triggered = TRUE; +@@ -1508,9 +1522,9 @@ + swap_triggered = TRUE; + } + +- nih_info ("local %zi/%zi remote %zi/%zi virtual %zi/%zi swap %zi/%zi", +- num_local_mounted, num_local, +- num_remote_mounted, num_remote, ++ nih_info ("local %zi/%zi/%zi remote %zi/%zi/%zi virtual %zi/%zi swap %zi/%zi", ++ num_local_mounted, num_local, num_local_failed, ++ num_remote_mounted, num_remote, num_remote_failed, + num_virtual_mounted, num_virtual, + num_swap_mounted, num_swap); + } +@@ -2203,12 +2217,14 @@ + if (no_events) + return; + ++#if 0 + /* Flush the Plymouth connection to ensure all updates are sent, + * since the event may kill plymouth. + */ + if (ply_boot_client) + ply_boot_client_flush (ply_boot_client); +- ++#endif ++ + env = NIH_MUST (nih_str_array_new (NULL)); + + if (mnt) { +@@ -2787,6 +2803,7 @@ + int + plymouth_connect (void) + { ++#if 0 + /* If we were already connected, just re-use that connection */ + if (ply_boot_client) + return TRUE; +@@ -2813,8 +2830,13 @@ + nih_info (_("Connected to Plymouth")); + + return TRUE; ++#else ++ return FALSE; ++#endif + } + ++ ++#if 0 + void + plymouth_disconnected (void * user_data, + ply_boot_client_t *client) +@@ -2827,6 +2849,7 @@ + ply_boot_client_free (ply_boot_client); + ply_boot_client = NULL; + } ++#endif + + + void +@@ -2837,6 +2860,7 @@ + + nih_assert (mnt != NULL); + ++#if 0 + /* No Plymouth => no progress information */ + if (! plymouth_connect ()) + return; +@@ -2866,6 +2890,7 @@ + plymouth_response, + plymouth_failed, + NULL); ++#endif + } + + void +@@ -2881,20 +2906,31 @@ + NIH_LIST_FOREACH (mounts, iter) { + Mount *mnt = (Mount *)iter; + +- if (mnt->error <= ERROR_BORED) ++ if (mnt->error == ERROR_NONE) + continue; + +- nih_error (_("Skipping mounting %s since Plymouth is not available"), ++ nih_error (_("Could not mount %s"), + MOUNT_NAME (mnt)); + + mnt->error = ERROR_NONE; + ++ if (mnt->tag == TAG_LOCAL) { ++ num_local_failed++; ++ emit_event ("mount-failed", mnt); ++ } ++ ++ if (mnt->tag == TAG_REMOTE) { ++ num_remote_failed++; ++ emit_event ("mount-failed", mnt); ++ } ++ + skip_mount (mnt); + } + + return; + } + ++#if 0 + /* If we're already displaying messages, don't change them unless + * the message is no longer valid for that mount point; otherwise + * clear the message. +@@ -3005,8 +3041,10 @@ + plymouth_answer, + plymouth_failed, + NULL); ++#endif + } + ++#if 0 + void + plymouth_response (void * user_data, + ply_boot_client_t *client) +@@ -3125,7 +3163,7 @@ + break; + } + } +- ++#endif + + + /** +@@ -3211,6 +3249,7 @@ + (NihIoWatcher)udev_monitor_watcher, + udev_monitor)); + ++#if 0 + /* Initialise a Plymouth event loop; this is an epoll instance that + * we can poll within our own main loop and call out to when needs + * be. +@@ -3224,6 +3263,7 @@ + + /* Attempt an early connection to Plymouth */ + plymouth_connect (); ++#endif + + mounts = NIH_MUST (nih_list_new (NULL)); + +@@ -3236,7 +3276,9 @@ + * from /etc/fstab and /proc/self/mountinfo to find out what else + * we need to do. + */ ++#if 0 + parse_fstab (BUILTIN_FSTAB); ++#endif + parse_fstab (_PATH_MNTTAB); + parse_mountinfo (); + +@@ -3338,10 +3380,12 @@ + /* Flush the D-Bus connection to ensure all messages are sent */ + dbus_connection_flush (connection); + ++#if 0 + /* Flush the Plymouth connection to ensure all updates are sent */ + if (ply_boot_client) + ply_boot_client_flush (ply_boot_client); +- ++#endif ++ + return ret; + } + diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh index 772f72f4cd8..6941288b390 100755 --- a/pkgs/os-specific/linux/nvidia-x11/builder.sh +++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh @@ -9,33 +9,34 @@ unpackFile() { buildPhase() { - echo "Building linux driver against kernel: " $kernel; + if test -z "$libsOnly"; then + echo "Building linux driver against kernel: " $kernel; - cd usr/src/nv/ + cd usr/src/nv/ - # Workaround: get it to build on kernels that have CONFIG_XEN set. - # Disable the test, apply a patch to disable the Xen functionality. - #substituteInPlace Makefile.kbuild --replace xen_sanity_check fnord - #patch -p1 < $xenPatch + # Workaround: get it to build on kernels that have CONFIG_XEN + # set. Disable the test, apply a patch to disable the Xen + # functionality. + + #substituteInPlace Makefile.kbuild --replace xen_sanity_check fnord + #patch -p1 < $xenPatch - # Create the module. - kernelVersion=$(cd $kernel/lib/modules && ls) - sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/) - unset src # used by the nv makefile - # Hack necessary to compile on 2.6.28. - export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default" - make SYSSRC=$sysSrc module - cd ../../.. + # Create the module. + kernelVersion=$(cd $kernel/lib/modules && ls) + sysSrc=$(echo $kernel/lib/modules/$kernelVersion/build/) + unset src # used by the nv makefile + # Hack necessary to compile on 2.6.28. + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$sysSrc/include/asm/mach-default" + make SYSSRC=$sysSrc module + cd ../../.. + fi } installPhase() { - # Install the kernel module. - ensureDir $out/lib/modules/$kernelVersion/misc - cp usr/src/nv/nvidia.ko $out/lib/modules/$kernelVersion/misc - # Install libGL and friends. + ensureDir $out/lib cp -prd usr/lib/* usr/X11R6/lib/libXv* $out/lib/ ln -snf libGLcore.so.$versionNumber $out/lib/libGLcore.so @@ -48,37 +49,45 @@ installPhase() { ln -snf libXvMCNVIDIA.so.$versionNumber $out/lib/libXvMCNVIDIA_dynamic.so.1 ln -snf libcuda.so.$versionNumber $out/lib/libcuda.so.1 - # Install the X driver. - ensureDir $out/lib/xorg/modules - cp -prd usr/X11R6/lib/modules/* $out/lib/xorg/modules/ - - ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1 - ln -snf libglx.so.$versionNumber $out/lib/xorg/modules/extensions/libglx.so - - # Install the programs. - ensureDir $out/bin - patchelf --set-rpath $out/lib:$glPath $out/lib/libGL.so.*.* patchelf --set-rpath $out/lib:$glPath $out/lib/libXvMCNVIDIA.so.*.* set +e # Legacy nvidia doesn't have cuda patchelf --set-rpath $cudaPath $out/lib/libcuda.so.*.* set -e - patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.* - - for i in nvidia-settings nvidia-xconfig; do - cp usr/bin/$i $out/bin/$i - patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ - --set-rpath $out/lib:$programPath:$glPath $out/bin/$i - done - # Header files etc. - cp -prd usr/include usr/share $out + if test -z "$libsOnly"; then + + # Install the kernel module. + ensureDir $out/lib/modules/$kernelVersion/misc + cp usr/src/nv/nvidia.ko $out/lib/modules/$kernelVersion/misc - # Patch the `nvidia-settings.desktop' file. - substituteInPlace $out/share/applications/nvidia-settings.desktop \ - --replace '__UTILS_PATH__' $out/bin \ - --replace '__PIXMAP_PATH__' $out/share/pixmaps + # Install the X driver. + ensureDir $out/lib/xorg/modules + cp -prd usr/X11R6/lib/modules/* $out/lib/xorg/modules/ + + ln -snf libnvidia-wfb.so.$versionNumber $out/lib/xorg/modules/libnvidia-wfb.so.1 + ln -snf libglx.so.$versionNumber $out/lib/xorg/modules/extensions/libglx.so + + patchelf --set-rpath $out/lib $out/lib/xorg/modules/extensions/libglx.so.*.* + + # Install the programs. + ensureDir $out/bin + + for i in nvidia-settings nvidia-xconfig; do + cp usr/bin/$i $out/bin/$i + patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \ + --set-rpath $out/lib:$programPath:$glPath $out/bin/$i + done + + # 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 + fi } diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 68263c128af..bc88775b02f 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -1,13 +1,16 @@ -{stdenv, fetchurl, kernel, xlibs, gtkLibs, zlib, perl}: +{ stdenv, fetchurl, kernel ? null, xlibs, gtkLibs, zlib, perl +, # Whether to build the libraries only (i.e. not the kernel module or + # nvidia-settings). Used to support 32-bit binaries on 64-bit + # Linux. + libsOnly ? false +}: -let +with stdenv.lib; - versionNumber = "195.36.24"; - -in +let versionNumber = "195.36.24"; in stdenv.mkDerivation { - name = "nvidia-x11-${versionNumber}-${kernel.version}"; + name = "nvidia-x11-${versionNumber}${optionalString (!libsOnly) "-${kernel.version}"}"; builder = ./builder.sh; @@ -24,7 +27,9 @@ stdenv.mkDerivation { } else throw "nvidia-x11 does not support platform ${stdenv.system}"; - inherit versionNumber kernel; + inherit versionNumber libsOnly; + + kernel = if libsOnly then null else kernel; dontStrip = true; @@ -32,10 +37,8 @@ stdenv.mkDerivation { cudaPath = stdenv.lib.makeLibraryPath [zlib stdenv.gcc.gcc]; - programPath = stdenv.lib.makeLibraryPath [ - gtkLibs.gtk gtkLibs.atk gtkLibs.pango gtkLibs.glib - xlibs.libXv - ]; + programPath = optionalString (!libsOnly) (stdenv.lib.makeLibraryPath + [ gtkLibs.gtk gtkLibs.atk gtkLibs.pango gtkLibs.glib xlibs.libXv ] ); buildInputs = [ perl ]; diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix index 345211f5226..59c2deab47f 100644 --- a/pkgs/os-specific/linux/pam/default.nix +++ b/pkgs/os-specific/linux/pam/default.nix @@ -1,16 +1,15 @@ -{stdenv, fetchurl, cracklib, flex}: +{ stdenv, fetchurl, flex, cracklib, libxcrypt }: stdenv.mkDerivation { - name = "linux-pam-1.0.3"; + name = "linux-pam-1.1.1"; src = fetchurl { - url = mirror://kernel/linux/libs/pam/library/Linux-PAM-1.0.3.tar.bz2; - sha256 = "1xqj4ibnid5w3pi629vj7jiddf192kzm8rbm3vy90diqpl1k5h6n"; + url = mirror://kernel/linux/libs/pam/library/Linux-PAM-1.1.1.tar.bz2; + sha256 = "015r3xdkjpqwcv4lvxavq0nybdpxhfjycqpzbx8agqd5sywkx3b0"; }; - buildInputs = [flex cracklib]; - - CRACKLIB_DICTPATH = "${cracklib}/lib"; + buildInputs = [ flex cracklib ] + ++ stdenv.lib.optional (stdenv.system != "armv5tel-linux") libxcrypt; preConfigure = '' configureFlags="$configureFlags --includedir=$out/include/security" diff --git a/pkgs/os-specific/linux/pm-utils/default.nix b/pkgs/os-specific/linux/pm-utils/default.nix index a4d327cba24..b58555ba19f 100644 --- a/pkgs/os-specific/linux/pm-utils/default.nix +++ b/pkgs/os-specific/linux/pm-utils/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - name = "pm-utils-1.2.5"; + name = "pm-utils-1.3.0"; src = fetchurl { url = "http://pm-utils.freedesktop.org/releases/${name}.tar.gz"; - sha256 = "1kp4l21786kbvnzlf3n9svl4m93nzi1hr9pknv0r3zhzfz3hgkw4"; + md5 = "37d71f8adbb409442212a85a080d324d"; }; configureFlags = "--sysconfdir=/etc"; diff --git a/pkgs/os-specific/linux/procps/default.nix b/pkgs/os-specific/linux/procps/default.nix index e65287e9139..4a74218aa36 100644 --- a/pkgs/os-specific/linux/procps/default.nix +++ b/pkgs/os-specific/linux/procps/default.nix @@ -1,11 +1,11 @@ {stdenv, fetchurl, ncurses}: stdenv.mkDerivation { - name = "procps-3.2.7"; + name = "procps-3.2.8"; builder = ./builder.sh; src = fetchurl { - url = http://procps.sourceforge.net/procps-3.2.7.tar.gz; - md5 = "f490bca772b16472962c7b9f23b1e97d"; + url = http://procps.sourceforge.net/procps-3.2.8.tar.gz; + sha256 = "0d8mki0q4yamnkk4533kx8mc0jd879573srxhg6r2fs3lkc6iv8i"; }; patches = [./makefile.patch ./procps-build.patch]; buildInputs = [ncurses]; diff --git a/pkgs/os-specific/linux/shadow/default.nix b/pkgs/os-specific/linux/shadow/default.nix index 93e8c4d0fbb..dcaee64b03c 100644 --- a/pkgs/os-specific/linux/shadow/default.nix +++ b/pkgs/os-specific/linux/shadow/default.nix @@ -1,14 +1,19 @@ -{stdenv, fetchurl}: +{ stdenv, fetchurl, pam }: -stdenv.mkDerivation { - name = "shadow-4.0.16"; +stdenv.mkDerivation rec { + name = "shadow-4.1.4.2"; src = fetchurl { - url = http://losser.labs.cs.uu.nl/~armijn/.nix/shadow-4.0.16.tar.bz2; - md5 = "1d91f7479143d1d705b94180c0d4874b"; + url = "ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow/${name}.tar.bz2"; + sha256 = "1449ny7pdnwkavg92wvibapnkgdq5pas38nvl1m5xa37g5m7z64p"; }; - - configureFlags = "--with-selinux=no"; - postInstall = "rm $out/bin/groups"; # coreutils provides `groups' + buildInputs = [ pam ]; + + patches = [ ./no-sanitize-env.patch ./su-name.patch ./keep-path.patch ]; + + meta = { + homepage = http://pkg-shadow.alioth.debian.org/; + description = "Suite containing authentication-related tools such as passwd and su"; + }; } diff --git a/pkgs/os-specific/linux/shadow/keep-path.patch b/pkgs/os-specific/linux/shadow/keep-path.patch new file mode 100644 index 00000000000..4b8406b53b0 --- /dev/null +++ b/pkgs/os-specific/linux/shadow/keep-path.patch @@ -0,0 +1,22 @@ +Don't reset $PATH to /bin:/usr/bin. This is consistent with `su' in +coreutils and important on NixOS. + +diff -ru -x '*~' shadow-4.1.4.2-orig/src/su.c shadow-4.1.4.2/src/su.c +--- shadow-4.1.4.2-orig/src/su.c 2009-07-23 22:38:56.000000000 +0200 ++++ shadow-4.1.4.2/src/su.c 2010-06-04 13:23:11.000000000 +0200 +@@ -827,6 +827,7 @@ + (void) signal (SIGINT, SIG_DFL); + (void) signal (SIGQUIT, SIG_DFL); + ++#if 0 + cp = getdef_str ((pwent.pw_uid == 0) ? "ENV_SUPATH" : "ENV_PATH"); + if (NULL == cp) { + addenv ("PATH=/bin:/usr/bin", NULL); +@@ -835,6 +836,7 @@ + } else { + addenv ("PATH", cp); + } ++#endif + + if (getenv ("IFS") != NULL) { /* don't export user IFS ... */ + addenv ("IFS= \t\n", NULL); /* ... instead, set a safe IFS */ diff --git a/pkgs/os-specific/linux/shadow/no-sanitize-env.patch b/pkgs/os-specific/linux/shadow/no-sanitize-env.patch new file mode 100644 index 00000000000..902706d137e --- /dev/null +++ b/pkgs/os-specific/linux/shadow/no-sanitize-env.patch @@ -0,0 +1,16 @@ +Don't remove environment variables such as PATH or SHELL. + +http://bugs.gentoo.org/show_bug.cgi?id=301957 +https://alioth.debian.org/scm/browser.php?group_id=30580 + +--- a/src/su.c ++++ b/src/su.c +@@ -342,7 +342,7 @@ + #endif + #endif /* !USE_PAM */ + +- sanitize_env (); ++ /* sanitize_env (); */ + + (void) setlocale (LC_ALL, ""); + (void) bindtextdomain (PACKAGE, LOCALEDIR); diff --git a/pkgs/os-specific/linux/shadow/su-name.patch b/pkgs/os-specific/linux/shadow/su-name.patch new file mode 100644 index 00000000000..5873c934274 --- /dev/null +++ b/pkgs/os-specific/linux/shadow/su-name.patch @@ -0,0 +1,20 @@ +When su is invoked with command line arguments for the shell (e.g. "su +- -c 'cmd'"), set argv[0] in the shell to "-su" or "-" (as +determined by the SU_NAME option in /etc/login.defs). This is +necessary to make Bash compiled with the NON_INTERACTIVE_LOGIN_SHELLS +option to read startup files. It is also consistent with the +behaviour of `su' in coreutils, and with the case where there are no +arguments ("su -"). + +diff -ru -x '*~' shadow-4.1.4.2-orig/src/su.c shadow-4.1.4.2/src/su.c +--- shadow-4.1.4.2-orig/src/su.c 2009-07-23 22:38:56.000000000 +0200 ++++ shadow-4.1.4.2/src/su.c 2010-06-04 13:02:24.000000000 +0200 +@@ -983,7 +983,7 @@ + * Use the shell and create an argv + * with the rest of the command line included. + */ +- argv[-1] = shellstr; ++ argv[-1] = cp; + #ifndef USE_PAM + execve_shell (shellstr, &argv[-1], environ); + err = errno; diff --git a/pkgs/os-specific/linux/splashutils/default.nix b/pkgs/os-specific/linux/splashutils/default.nix index 35cbe28bf5d..86bdd7eee9b 100644 --- a/pkgs/os-specific/linux/splashutils/default.nix +++ b/pkgs/os-specific/linux/splashutils/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, klibc, zlib, libjpeg}: +{ stdenv, fetchurl, zlib, libjpeg }: stdenv.mkDerivation { name = "splashutils-1.5.4.3"; @@ -8,9 +8,9 @@ stdenv.mkDerivation { sha256 = "0vn0ifqp9a3bmprzx2yr82hgq8m2y5xv8qcifs2plz6p3lidagpg"; }; - buildInputs = [klibc zlib libjpeg]; + buildInputs = [ zlib libjpeg ]; - configureFlags = "--without-ttf --without-png --without-gpm --with-themedir=/etc/splash"; + configureFlags = "--without-ttf --without-png --without-gpm --with-themedir=/etc/splash KLCC=gcc"; dontDisableStatic = true; @@ -19,10 +19,14 @@ stdenv.mkDerivation { substituteInPlace src/common.h \ --replace 'FBSPLASH_DIR"/sys"' '"/sys"' \ --replace 'FBSPLASH_DIR"/proc"' '"/proc"' + substituteInPlace src/Makefile.in \ + --replace '-all-static' "" \ + --replace '-static' "" ''; CPP = "gcc -E"; CXXCPP = "g++ -E"; + NIX_CFLAGS_COMPILE = "-fPIC"; passthru = { helperName = "sbin/fbcondecor_helper"; diff --git a/pkgs/os-specific/linux/sysvinit/builder.sh b/pkgs/os-specific/linux/sysvinit/builder.sh deleted file mode 100644 index 198fa9ba416..00000000000 --- a/pkgs/os-specific/linux/sysvinit/builder.sh +++ /dev/null @@ -1,31 +0,0 @@ -source $stdenv/setup - -makeFlagsArray=(LCRYPT=-lcrypt BIN_OWNER=$(id -u) BIN_GROUP=$(id -g) ROOT=$out) - -preBuild="cd src" - -preInstall() { - substituteInPlace Makefile --replace /usr / - mkdir $out - mkdir $out/bin - mkdir $out/sbin - mkdir $out/include - mkdir $out/share - mkdir $out/share/man - mkdir $out/share/man/man1 - mkdir $out/share/man/man5 - mkdir $out/share/man/man8 -} - -postInstall() { - if test -n "$withoutInitTools"; then - mv $out/sbin/killall5 $out/bin - ln -sf killall5 $out/bin/pidof - rm -rf $out/sbin - rm -rf $out/include - rm -rf $out/share/man/man5 - rm -rf $out/share/man/man8 - fi -} - -genericBuild diff --git a/pkgs/os-specific/linux/sysvinit/default.nix b/pkgs/os-specific/linux/sysvinit/default.nix index 8d71daf0741..8315ee4835d 100644 --- a/pkgs/os-specific/linux/sysvinit/default.nix +++ b/pkgs/os-specific/linux/sysvinit/default.nix @@ -1,12 +1,36 @@ -{stdenv, fetchurl, withoutInitTools ? false}: +{ stdenv, fetchurl, withoutInitTools ? false }: + +let version = "2.88dsf"; in stdenv.mkDerivation { - name = if withoutInitTools then "sysvtools-2.86" else "sysvinit-2.86"; - builder = ./builder.sh; + name = (if withoutInitTools then "sysvtools" else "sysvinit") + "-" + version; + src = fetchurl { - url = ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-2.86.tar.gz; - sha256 = "1n3rnsynlaw7zyp2q5r7c49yvi1xr3669ick540gz73xw7x9hpq3"; + url = "http://www.very-clever.com/download/nongnu/sysvinit/sysvinit-${version}.tar.bz2"; + sha256 = "068mvzaz808a673zigyaqb63xc8bndh2klk16zi5c83rw70wifv0"; + }; + + patches = [ ./sysvinit-2.85-exec.patch ]; + + makeFlags = "SULOGINLIBS=-lcrypt ROOT=$(out) MANDIR=/share/man"; + + preInstall = + '' + substituteInPlace src/Makefile --replace /usr / + ''; + + postInstall = stdenv.lib.optionalString withoutInitTools + '' + mv $out/sbin/killall5 $out/bin + ln -sf killall5 $out/bin/pidof + rm -rf $out/sbin + rm -rf $out/include + rm -rf $out/share/man/man5 + rm $(for i in $out/share/man/man8/*; do echo $i; done | grep -v 'pidof\|killall5') + ''; + + meta = { + homepage = http://www.nongnu.org/sysvinit/; + description = "Utilities related to booting and shutdown"; }; - patches = [./sysvinit-2.85-exec.patch]; - inherit withoutInitTools; } diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix new file mode 100644 index 00000000000..ebacc84e8c6 --- /dev/null +++ b/pkgs/servers/firebird/default.nix @@ -0,0 +1,58 @@ +{stdenv, fetchurl, libedit, icu +, superServer ? false +, port ? 3050 +, serviceName ? "gds_db" +}: + +/* + there are 3 ways to use firebird: + a) superserver + - one process, one thread for each connection + b) classic + - is built by default + - one process for each connection + - on linux direct io operations (?) + c) embedded. + + manual says that you usually don't notice the difference between a and b. + + I'm only interested in the embedder shared libary for now. + So everything isn't tested yet + +*/ + +stdenv.mkDerivation { + + name = "firebird-2.3.1"; + + configureFlags = + [ "--with-serivec-port=${builtins.toString port}" + "--with-service-name=${serviceName}" + # "--with-system-icu" + # "--with-system-editline" + ] + ++ (stdenv.lib.optional superServer "--enable-superserver=true"); + + src = fetchurl { + url = mirror://sourceforge/firebird/files/2.1.3-Release/Firebird-2.1.3.18185-0.tar.bz2; + sha256 = "0a7xy016r0j1f97cf2lww8fkz1vlvvghrgv9ffz2i6f7ppacniw0"; + }; + + buildInputs = [libedit icu]; + + # TODO: Probably this hase to be tidied up.. + # make install requires beeing. disabling the root checks + # dosen't work. Copying the files manually which can be found + # in ubuntu -dev -classic, -example packages: + # maybe some of those files can be removed again + installPhase = ''cp -r gen/firebird $out''; + + meta = { + description = "firebird database engine"; + homepage = http://www.firebirdnews.org; + license = ["IDPL" "Interbase-1.0"]; + maintainers = [stdenv.lib.maintainers.marcweber]; + platforms = stdenv.lib.platforms.linux; + }; + +} diff --git a/pkgs/servers/http/couchdb/src-for-default.nix b/pkgs/servers/http/couchdb/src-for-default.nix index 8d86d661fe5..fb72c6a355d 100644 --- a/pkgs/servers/http/couchdb/src-for-default.nix +++ b/pkgs/servers/http/couchdb/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="0.10.1"; - name="couchdb-0.10.1"; - hash="0sy644slqmklj3v6dndxw6mh4jn0bm8f90sacycy7l1pclhzfsic"; - url="mirror://apache/couchdb/0.10.1/apache-couchdb-${version}.tar.gz"; - advertisedUrl="http://www.apache.org/dist/couchdb/0.10.1/apache-couchdb-0.10.1.tar.gz"; + version="0.11.0"; + name="couchdb-0.11.0"; + hash="0jdh9h6kzay02fpcjvhpwgvpwy9s8yl0hjc5j67lyw504wn2d441"; + url="mirror://apache/couchdb/0.11.0/apache-couchdb-${version}.tar.gz"; + advertisedUrl="http://www.apache.org/dist/couchdb/0.11.0/apache-couchdb-0.11.0.tar.gz"; } diff --git a/pkgs/shells/dash/default.nix b/pkgs/shells/dash/default.nix new file mode 100644 index 00000000000..3918be2afc1 --- /dev/null +++ b/pkgs/shells/dash/default.nix @@ -0,0 +1,15 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "dash-0.5.6"; + + src = fetchurl { + url = "http://gondor.apana.org.au/~herbert/dash/files/${name}.tar.gz"; + sha256 = "0qnqx14y70ay1mn0w0hrknpll9266pvj0426k8niww9s7fzv89w5"; + }; + + meta = { + homepage = http://gondor.apana.org.au/~herbert/dash/; + description = "A POSIX-compliant implementation of /bin/sh that aims to be as small as possible"; + }; +} diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix index 007241d0e82..d2c28fa638e 100644 --- a/pkgs/tools/backup/duplicity/default.nix +++ b/pkgs/tools/backup/duplicity/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, python, librsync, gnupg, boto, makeWrapper }: stdenv.mkDerivation { - name = "duplicity-0.6.06"; + name = "duplicity-0.6.08b"; src = fetchurl { - url = http://code.launchpad.net/duplicity/0.6-series/0.6.06/+download/duplicity-0.6.06.tar.gz; - sha256 = "1g284y24061krigs386x5s7vs7cnwhah7g1mfk9jfn3gzsidv70g"; + url = http://code.launchpad.net/duplicity/0.6-series/0.6.08b/+download/duplicity-0.6.08b.tar.gz; + sha256 = "03bahzdq2dqngiqadfy1jwzn8an1fm46nl9frd0v6a4c52mr1g8i"; }; installPhase = '' @@ -13,6 +13,8 @@ stdenv.mkDerivation { wrapProgram $out/bin/duplicity \ --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto})" \ --prefix PATH : "${gnupg}/bin" + wrapProgram $out/bin/rdiffdir \ + --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${boto})" \ ''; buildInputs = [ python librsync makeWrapper ]; diff --git a/pkgs/tools/bluetooth/obexd/default.nix b/pkgs/tools/bluetooth/obexd/default.nix index fbdeecba804..a07394b0237 100644 --- a/pkgs/tools/bluetooth/obexd/default.nix +++ b/pkgs/tools/bluetooth/obexd/default.nix @@ -1,14 +1,14 @@ -{ stdenv, fetchurl, pkgconfig, glib, dbus, openobex, bluez }: +{ stdenv, fetchurl, pkgconfig, glib, dbus, openobex, bluez, libical }: stdenv.mkDerivation rec { - name = "obexd-0.18"; + name = "obexd-0.27"; src = fetchurl { url = "mirror://kernel/linux/bluetooth/${name}.tar.gz"; - sha256 = "0a3jpkgg8skiqmy2ksfffmwysji4dnd4h9fc46nj0wcn8n9vvfkd"; + sha256 = "17vlrhn1wgsbdd7f0ggw5nvs657miilhi5jc05pfmi4h18b8710l"; }; - buildInputs = [ pkgconfig glib dbus.libs openobex bluez ]; + buildInputs = [ pkgconfig glib dbus.libs openobex bluez libical ]; meta = { homepage = http://www.bluez.org/; diff --git a/pkgs/tools/compression/bsdiff/default.nix b/pkgs/tools/compression/bsdiff/default.nix index 9f1c3ecf8bc..81210490883 100644 --- a/pkgs/tools/compression/bsdiff/default.nix +++ b/pkgs/tools/compression/bsdiff/default.nix @@ -1,11 +1,14 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, bzip2}: stdenv.mkDerivation { - name = "bsdiff-4.2"; + name = "bsdiff-4.3"; builder = ./builder.sh; src = fetchurl { - url = http://www.daemonology.net/bsdiff/bsdiff-4.2.tar.gz; - md5 = "9f582a77eb76d116d82d1ad268ef48fa"; + url = http://www.daemonology.net/bsdiff/bsdiff-4.3.tar.gz; + sha256 = "0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq"; }; - patches = [./makefile.patch]; + buildInputs = [ bzip2 ]; + patchPhase = '' + sed 's/^\.//g' -i Makefile + ''; } diff --git a/pkgs/tools/compression/bsdiff/makefile.patch b/pkgs/tools/compression/bsdiff/makefile.patch deleted file mode 100644 index 94a4048631c..00000000000 --- a/pkgs/tools/compression/bsdiff/makefile.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -rc bsdiff-orig/Makefile bsdiff-4.2/Makefile -*** bsdiff-orig/Makefile 2004-07-11 20:10:02.000000000 +0200 ---- bsdiff-4.2/Makefile 2004-11-29 22:15:05.000000000 +0100 -*************** -*** 1,7 **** - CFLAGS += -O3 -- .ifdef BZIP2 -- CFLAGS += -DBZIP2=\"${BZIP2}\" -- .endif - - PREFIX ?= /usr/local - INSTALL_PROGRAM ?= ${INSTALL} -c -s -m 555 ---- 1,4 ---- -*************** -*** 13,18 **** - - install: - ${INSTALL_PROGRAM} bsdiff bspatch ${PREFIX}/bin -- .ifndef WITHOUT_MAN - ${INSTALL_MAN} bsdiff.1 bspatch.1 ${PREFIX}/man/man1 -- .endif ---- 10,13 ---- diff --git a/pkgs/tools/compression/zsync/default.nix b/pkgs/tools/compression/zsync/default.nix new file mode 100644 index 00000000000..a657234e577 --- /dev/null +++ b/pkgs/tools/compression/zsync/default.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation rec { + name = "zsync-0.6.1"; + + src = fetchurl { + url = "http://zsync.moria.org.uk/download/${name}.tar.bz2"; + sha256 = "13rbq2m2d4c4qqzadr1cfzrryqxvjgafr8cmask9w2acc0zpv7v1"; + }; + + meta = { + homepage = http://zsync.moria.org.uk/; + description = "File distribution system using the rsync algorithm"; + license = "free"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; all; + }; +} diff --git a/pkgs/tools/graphics/asymptote/src-for-default.nix b/pkgs/tools/graphics/asymptote/src-for-default.nix index cdc735838d5..2a274de0c10 100644 --- a/pkgs/tools/graphics/asymptote/src-for-default.nix +++ b/pkgs/tools/graphics/asymptote/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="1.91"; - name="asymptote-1.91"; - hash="1bchzl8czhhjz47mr68m0ysj0dp09ks69qx3l46is3h6rj4bj1sp"; - url="http://downloads.sourceforge.net/asymptote/files/asymptote/${version}/asymptote-${version}.src.tgz"; - advertisedUrl="http://downloads.sourceforge.net/asymptote/files/asymptote/1.91/asymptote-1.91.src.tgz"; + version="1.96"; + name="asymptote-1.96"; + hash="0rs2h77j3nq36w0vr131yvlp8lqsanidhf9fvd4bggz5j5r8r850"; + url="http://downloads.sourceforge.net/project/asymptote/asymptote/${version}/asymptote-${version}.src.tgz"; + advertisedUrl="http://downloads.sourceforge.net/project/asymptote/asymptote/1.96/asymptote-1.96.src.tgz"; } diff --git a/pkgs/tools/misc/gnokii/default.nix b/pkgs/tools/misc/gnokii/default.nix index 5687195505a..1a16a9bb057 100644 --- a/pkgs/tools/misc/gnokii/default.nix +++ b/pkgs/tools/misc/gnokii/default.nix @@ -5,6 +5,7 @@ let s = import ./src-for-default.nix; buildInputs = with a; [ perl intltool gettext libusb + glib pkgconfig ]; in rec { diff --git a/pkgs/tools/misc/gnokii/src-for-default.nix b/pkgs/tools/misc/gnokii/src-for-default.nix index 975384c17b3..c428690cae7 100644 --- a/pkgs/tools/misc/gnokii/src-for-default.nix +++ b/pkgs/tools/misc/gnokii/src-for-default.nix @@ -1,9 +1,9 @@ rec { - version="0.6.28.1"; - name="gnokii-0.6.28.1"; - hash="0l8ifslvzcwm70pycv8gycdr35g4qk1wsjxbk7b4r5z53jhc6hdz"; + version="0.6.29"; + name="gnokii-0.6.29"; + hash="0w94balyy9l0xy8x3z20f127b5ijpm9a9fbbskz147jyzhprgw0l"; url="http://www.gnokii.org/download/gnokii/gnokii-${version}.tar.gz"; - advertisedUrl="http://www.gnokii.org/download/gnokii/gnokii-0.6.28.1.tar.gz"; + advertisedUrl="http://www.gnokii.org/download/gnokii/gnokii-0.6.29.tar.gz"; } diff --git a/pkgs/tools/misc/gparted/default.nix b/pkgs/tools/misc/gparted/default.nix index 9c11f747de9..df805c10698 100644 --- a/pkgs/tools/misc/gparted/default.nix +++ b/pkgs/tools/misc/gparted/default.nix @@ -3,7 +3,7 @@ stdenv.mkDerivation { name = "gparted-0.5.1"; src = fetchurl { - url = mirror://sourceforge.net/gparted/gparted/gparted-0.5.1/gparted-0.5.1.tar.bz2; + url = mirror://sourceforge/gparted/gparted-0.5.1/gparted-0.5.1.tar.bz2; sha256 = "1mqi1hxv6bahp771bqld0a6wx7khdxvz353n47q1wmqykmn4wbp0"; }; diff --git a/pkgs/tools/misc/qdu/default.nix b/pkgs/tools/misc/qdu/default.nix new file mode 100644 index 00000000000..cd9c296a758 --- /dev/null +++ b/pkgs/tools/misc/qdu/default.nix @@ -0,0 +1,27 @@ +{stdenv, fetchurl, qt3, libXext, libX11}: + +stdenv.mkDerivation { + name = "qdu-2.2"; + src = fetchurl { + url = http://artis.imag.fr/~Gilles.Debunne/Code/QDU/qdu-2.2.tar.gz; + sha256 = "0nn13lcw7bpasdn5xd0ydkyzirz9zamgl8lizi3ncqdzv8bjm7xl"; + }; + + buildInputs = [ qt3 libXext libX11 ]; + + patchPhase = '' + sed -i "s@/usr/bin@$out/bin@" qdu.pro + sed -i "s@hint>directoryview@hint>directoryView@g" qduInterface.ui + ''; + buildPhase = '' + qmake + make + make install + ''; + + meta = { + homepage = "http://artis.imag.fr/~Gilles.Debunne/Code/QDU"; + description = "A graphical disk usage tool based on Qt"; + license="GPL"; + }; +} diff --git a/pkgs/tools/misc/su/default.nix b/pkgs/tools/misc/su/default.nix deleted file mode 100644 index ad7dddbde97..00000000000 --- a/pkgs/tools/misc/su/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{stdenv, fetchurl, pam}: - -# This is just coreutils, except that we only build su, with the PAM -# patch. We build su separately because we don't want to give all of -# coreutils a dependency on PAM. - -stdenv.mkDerivation { - name = "su-7.0"; - - src = fetchurl { - url = "ftp://alpha.gnu.org/gnu/coreutils/coreutils-7.0.tar.gz"; - sha256 = "00cwf8rqbj89ikv8fhdhv26dpc2ghzw1hn48pk1vg3nnmxj55nr7"; - }; - - patches = [ - # PAM patch taken from SUSE's coreutils-6.7-5.src.rpm. - ./su-pam.patch - ]; - - buildInputs = [pam]; - - buildPhase = '' - make -C lib - make -C src version.h - make -C src su su_OBJECTS="su.o getdef.o" CFLAGS="-DUSE_PAM" LDFLAGS="-lpam -lpam_misc -ldl" - ''; - - installPhase = '' - ensureDir $out/bin - cp src/su $out/bin - ''; -} diff --git a/pkgs/tools/misc/su/su-pam.patch b/pkgs/tools/misc/su/su-pam.patch deleted file mode 100644 index 5962d285ebc..00000000000 --- a/pkgs/tools/misc/su/su-pam.patch +++ /dev/null @@ -1,720 +0,0 @@ -diff -rcN coreutils-7.0-orig/src/getdef.c coreutils-7.0/src/getdef.c -*** coreutils-7.0-orig/src/getdef.c 1970-01-01 01:00:00.000000000 +0100 ---- coreutils-7.0/src/getdef.c 2009-02-02 15:28:08.000000000 +0100 -*************** -*** 0 **** ---- 1,257 ---- -+ /* Copyright (C) 2003, 2004, 2005 Thorsten Kukuk -+ Author: Thorsten Kukuk -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License version 2 as -+ published by the Free Software Foundation. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software Foundation, -+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+ #ifdef HAVE_CONFIG_H -+ #include -+ #endif -+ -+ #define _GNU_SOURCE -+ -+ #include -+ #include -+ #include -+ #include -+ #include -+ #include -+ -+ #include "getdef.h" -+ -+ struct item { -+ char *name; /* name of the option. */ -+ char *value; /* value of the option. */ -+ struct item *next; /* pointer to next option. */ -+ }; -+ -+ static struct item *list = NULL; -+ -+ void -+ free_getdef_data (void) -+ { -+ struct item *ptr; -+ -+ ptr = list; -+ while (ptr != NULL) -+ { -+ struct item *tmp; -+ tmp = ptr->next; -+ free (ptr->name); -+ free (ptr->value); -+ free (ptr); -+ ptr = tmp; -+ } -+ -+ list = NULL; -+ } -+ -+ /* Add a new entry to the list. */ -+ static void -+ store (const char *name, const char *value) -+ { -+ struct item *new = malloc (sizeof (struct item)); -+ -+ if (new == NULL) -+ abort (); -+ -+ if (name == NULL) -+ abort (); -+ -+ new->name = strdup (name); -+ new->value = strdup (value?:""); -+ new->next = list; -+ list = new; -+ } -+ -+ /* search a special entry in the list and return the value. */ -+ static const char * -+ search (const char *name) -+ { -+ struct item *ptr; -+ -+ ptr = list; -+ while (ptr != NULL) -+ { -+ if (strcasecmp (name, ptr->name) == 0) -+ return ptr->value; -+ ptr = ptr->next; -+ } -+ -+ return NULL; -+ } -+ -+ /* Load the login.defs file (/etc/login.defs) */ -+ static void -+ load_defaults_internal (const char *filename) -+ { -+ FILE *fp; -+ char *buf = NULL; -+ size_t buflen = 0; -+ -+ fp = fopen (filename, "r"); -+ if (NULL == fp) -+ return; -+ -+ while (!feof (fp)) -+ { -+ char *tmp, *cp; -+ #if defined(HAVE_GETLINE) -+ ssize_t n = getline (&buf, &buflen, fp); -+ #elif defined (HAVE_GETDELIM) -+ ssize_t n = getdelim (&buf, &buflen, '\n', fp); -+ #else -+ ssize_t n; -+ -+ if (buf == NULL) -+ { -+ buflen = 8096; -+ buf = malloc (buflen); -+ } -+ buf[0] = '\0'; -+ fgets (buf, buflen - 1, fp); -+ if (buf != NULL) -+ n = strlen (buf); -+ else -+ n = 0; -+ #endif /* HAVE_GETLINE / HAVE_GETDELIM */ -+ cp = buf; -+ -+ if (n < 1) -+ break; -+ -+ tmp = strchr (cp, '#'); /* remove comments */ -+ if (tmp) -+ *tmp = '\0'; -+ while (isspace ((int)*cp)) /* remove spaces and tabs */ -+ ++cp; -+ if (*cp == '\0') /* ignore empty lines */ -+ continue; -+ -+ if (cp[strlen (cp) - 1] == '\n') -+ cp[strlen (cp) - 1] = '\0'; -+ -+ tmp = strsep (&cp, " \t="); -+ if (cp != NULL) -+ while (isspace ((int)*cp) || *cp == '=') -+ ++cp; -+ -+ store (tmp, cp); -+ } -+ fclose (fp); -+ -+ if (buf) -+ free (buf); -+ } -+ -+ static void -+ load_defaults (void) -+ { -+ load_defaults_internal ("/etc/default/su"); -+ load_defaults_internal ("/etc/login.defs"); -+ } -+ -+ int -+ getdef_bool (const char *name, int dflt) -+ { -+ const char *val; -+ -+ if (list == NULL) -+ load_defaults (); -+ -+ val = search (name); -+ -+ if (val == NULL) -+ return dflt; -+ -+ return (strcasecmp (val, "yes") == 0); -+ } -+ -+ long -+ getdef_num (const char *name, long dflt) -+ { -+ const char *val; -+ char *cp; -+ long retval; -+ -+ if (list == NULL) -+ load_defaults (); -+ -+ val = search (name); -+ -+ if (val == NULL) -+ return dflt; -+ -+ retval = strtol (val, &cp, 0); -+ if (*cp != '\0' || -+ ((retval == LONG_MAX || retval == LONG_MIN) && errno == ERANGE)) -+ { -+ fprintf (stderr, -+ "%s contains invalid numerical value: %s!\n", -+ name, val); -+ retval = dflt; -+ } -+ return retval; -+ } -+ -+ unsigned long -+ getdef_unum (const char *name, unsigned long dflt) -+ { -+ const char *val; -+ char *cp; -+ unsigned long retval; -+ -+ if (list == NULL) -+ load_defaults (); -+ -+ val = search (name); -+ -+ if (val == NULL) -+ return dflt; -+ -+ retval = strtoul (val, &cp, 0); -+ if (*cp != '\0' || (retval == ULONG_MAX && errno == ERANGE)) -+ { -+ fprintf (stderr, -+ "%s contains invalid numerical value: %s!\n", -+ name, val); -+ retval = dflt; -+ } -+ return retval; -+ } -+ -+ const char * -+ getdef_str (const char *name, const char *dflt) -+ { -+ const char *retval; -+ -+ if (list == NULL) -+ load_defaults (); -+ -+ retval = search (name); -+ -+ return retval ?: dflt; -+ } -+ -+ #if defined(TEST) -+ -+ int -+ main () -+ { -+ printf ("CYPT=%s\n", getdef_str ("cRypt", "no")); -+ printf ("LOG_UNKFAIL_ENAB=%s\n", getdef_str ("log_unkfail_enab","")); -+ printf ("DOESNOTEXIST=%s\n", getdef_str ("DOESNOTEXIST","yes")); -+ return 0; -+ } -+ -+ #endif -diff -rcN coreutils-7.0-orig/src/getdef.h coreutils-7.0/src/getdef.h -*** coreutils-7.0-orig/src/getdef.h 1970-01-01 01:00:00.000000000 +0100 ---- coreutils-7.0/src/getdef.h 2009-02-02 15:28:08.000000000 +0100 -*************** -*** 0 **** ---- 1,29 ---- -+ /* Copyright (C) 2003, 2005 Thorsten Kukuk -+ Author: Thorsten Kukuk -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License version 2 as -+ published by the Free Software Foundation. -+ -+ This program is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ GNU General Public License for more details. -+ -+ You should have received a copy of the GNU General Public License -+ along with this program; if not, write to the Free Software Foundation, -+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -+ -+ #ifndef _GETDEF_H_ -+ -+ #define _GETDEF_H_ 1 -+ -+ extern int getdef_bool (const char *name, int dflt); -+ extern long getdef_num (const char *name, long dflt); -+ extern unsigned long getdef_unum (const char *name, unsigned long dflt); -+ extern const char *getdef_str (const char *name, const char *dflt); -+ -+ /* Free all data allocated by getdef_* calls before. */ -+ extern void free_getdef_data (void); -+ -+ #endif /* _GETDEF_H_ */ -diff -rcN coreutils-7.0-orig/src/su.c coreutils-7.0/src/su.c -*** coreutils-7.0-orig/src/su.c 2008-08-24 22:30:10.000000000 +0200 ---- coreutils-7.0/src/su.c 2009-02-02 15:31:08.000000000 +0100 -*************** -*** 37,42 **** ---- 37,48 ---- - restricts who can su to UID 0 accounts. RMS considers that to - be fascist. - -+ Actually, with PAM, su has nothing to do with whether or not a -+ wheel group is enforced by su. RMS tries to restrict your access -+ to a su which implements the wheel group, but PAM considers that -+ to be fascist, and gives the user/sysadmin the opportunity to -+ enforce a wheel group by proper editing of /etc/pam.d/su -+ - Compile-time options: - -DSYSLOG_SUCCESS Log successful su's (by default, to root) with syslog. - -DSYSLOG_FAILURE Log failed su's (by default, to root) with syslog. -*************** -*** 52,57 **** ---- 58,70 ---- - #include - #include - #include -+ #ifdef USE_PAM -+ #include -+ #include -+ #include -+ #include -+ #include -+ #endif - - /* Hide any system prototype for getusershell. - This is necessary because some Cray systems have a conflicting -*************** -*** 65,70 **** ---- 78,86 ---- - - #if HAVE_SYSLOG_H && HAVE_SYSLOG - # include -+ # define SYSLOG_SUCCESS 1 -+ # define SYSLOG_FAILURE 1 -+ # define SYSLOG_NON_ROOT 1 - #else - # undef SYSLOG_SUCCESS - # undef SYSLOG_FAILURE -*************** -*** 98,116 **** - # include - #endif - - /* The default PATH for simulated logins to non-superuser accounts. */ -! #ifdef _PATH_DEFPATH -! # define DEFAULT_LOGIN_PATH _PATH_DEFPATH -! #else -! # define DEFAULT_LOGIN_PATH ":/usr/ucb:/bin:/usr/bin" -! #endif - - /* The default PATH for simulated logins to superuser accounts. */ -! #ifdef _PATH_DEFPATH_ROOT -! # define DEFAULT_ROOT_LOGIN_PATH _PATH_DEFPATH_ROOT -! #else -! # define DEFAULT_ROOT_LOGIN_PATH "/usr/ucb:/bin:/usr/bin:/etc" -! #endif - - /* The shell to run if none is given in the user's passwd entry. */ - #define DEFAULT_SHELL "/bin/sh" ---- 114,126 ---- - # include - #endif - -+ #include "getdef.h" -+ - /* The default PATH for simulated logins to non-superuser accounts. */ -! #define DEFAULT_LOGIN_PATH "/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin" - - /* The default PATH for simulated logins to superuser accounts. */ -! #define DEFAULT_ROOT_LOGIN_PATH "/usr/sbin:/bin:/usr/bin:/sbin:/usr/X11R6/bin" - - /* The shell to run if none is given in the user's passwd entry. */ - #define DEFAULT_SHELL "/bin/sh" -*************** -*** 118,124 **** ---- 128,136 ---- - /* The user to become if none is specified. */ - #define DEFAULT_USER "root" - -+ #ifndef USE_PAM - char *crypt (); -+ #endif - char *getusershell (); - void endusershell (); - void setusershell (); -*************** -*** 212,218 **** ---- 224,249 ---- - } - #endif - -+ #ifdef USE_PAM -+ -+ static pam_handle_t *pamh = NULL; -+ static int retval; -+ static struct pam_conv conv = -+ { -+ misc_conv, -+ NULL -+ }; -+ -+ #define PAM_BAIL_P(a) \ -+ if (retval) \ -+ { \ -+ pam_end (pamh, PAM_SUCCESS); \ -+ a; \ -+ } -+ #endif -+ - /* Ask the user for a password. -+ If PAM is in use, let PAM ask for the password if necessary. - Return true if the user gives the correct password for entry PW, - false if not. Return true without asking for a password if run by UID 0 - or if PW has an empty password. */ -*************** -*** 220,229 **** - static bool - correct_password (const struct passwd *pw) - { - char *unencrypted, *encrypted, *correct; - #if HAVE_GETSPNAM && HAVE_STRUCT_SPWD_SP_PWDP - /* Shadow passwd stuff for SVR3 and maybe other systems. */ -! struct spwd *sp = getspnam (pw->pw_name); - - endspent (); - if (sp) ---- 251,299 ---- - static bool - correct_password (const struct passwd *pw) - { -+ #ifdef USE_PAM -+ const struct passwd *lpw; -+ const char *cp; -+ -+ retval = pam_start ("su", pw->pw_name, &conv, &pamh); -+ PAM_BAIL_P (return false); -+ -+ if (isatty (0) && (cp = ttyname (0)) != NULL) -+ { -+ const char *tty; -+ -+ if (strncmp (cp, "/dev/", 5) == 0) -+ tty = cp + 5; -+ else -+ tty = cp; -+ retval = pam_set_item (pamh, PAM_TTY, tty); -+ PAM_BAIL_P (return false); -+ } -+ cp = getlogin (); -+ if (!(cp && *cp && (lpw = getpwnam (cp)) != NULL && lpw->pw_uid == getuid ())) -+ lpw = getpwuid (getuid ()); -+ if (lpw) -+ { -+ retval = pam_set_item (pamh, PAM_RUSER, (const void *) lpw->pw_name); -+ PAM_BAIL_P (return false); -+ } -+ retval = pam_authenticate (pamh, 0); -+ PAM_BAIL_P (return false); -+ retval = pam_acct_mgmt (pamh, 0); -+ if (retval == PAM_NEW_AUTHTOK_REQD) -+ { -+ /* password has expired. Offer option to change it. */ -+ retval = pam_chauthtok (pamh, PAM_CHANGE_EXPIRED_AUTHTOK); -+ PAM_BAIL_P (return false); -+ } -+ PAM_BAIL_P (return false); -+ /* must be authenticated if this point was reached */ -+ return true; -+ #else /* !USE_PAM */ - char *unencrypted, *encrypted, *correct; - #if HAVE_GETSPNAM && HAVE_STRUCT_SPWD_SP_PWDP - /* Shadow passwd stuff for SVR3 and maybe other systems. */ -! const struct spwd *sp = getspnam (pw->pw_name); - - endspent (); - if (sp) -*************** -*** 244,249 **** ---- 314,320 ---- - encrypted = crypt (unencrypted, correct); - memset (unencrypted, 0, strlen (unencrypted)); - return STREQ (encrypted, correct); -+ #endif /* !USE_PAM */ - } - - /* Update `environ' for the new shell based on PW, with SHELL being -*************** -*** 268,275 **** - xsetenv ("USER", pw->pw_name); - xsetenv ("LOGNAME", pw->pw_name); - xsetenv ("PATH", (pw->pw_uid -! ? DEFAULT_LOGIN_PATH -! : DEFAULT_ROOT_LOGIN_PATH)); - } - else - { ---- 339,346 ---- - xsetenv ("USER", pw->pw_name); - xsetenv ("LOGNAME", pw->pw_name); - xsetenv ("PATH", (pw->pw_uid -! ? getdef_str ("PATH", DEFAULT_LOGIN_PATH) -! : getdef_str ("SUPATH", DEFAULT_ROOT_LOGIN_PATH))); - } - else - { -*************** -*** 279,284 **** ---- 350,361 ---- - { - xsetenv ("HOME", pw->pw_dir); - xsetenv ("SHELL", shell); -+ if (getdef_bool ("ALWAYS_SET_PATH", 0)) -+ xsetenv ("PATH", (pw->pw_uid -+ ? getdef_str ("PATH", -+ DEFAULT_LOGIN_PATH) -+ : getdef_str ("SUPATH", -+ DEFAULT_ROOT_LOGIN_PATH))); - if (pw->pw_uid) - { - xsetenv ("USER", pw->pw_name); -*************** -*** 299,310 **** ---- 376,410 ---- - error (EXIT_FAILURE, errno, _("cannot set groups")); - endgrent (); - #endif -+ #ifdef USE_PAM -+ retval = pam_setcred (pamh, PAM_ESTABLISH_CRED); -+ if (retval != PAM_SUCCESS) -+ error (EXIT_FAILURE, 0, "%s", pam_strerror (pamh, retval)); -+ -+ retval = pam_open_session (pamh,0); -+ if (retval != PAM_SUCCESS) -+ { -+ pam_setcred (pamh, PAM_DELETE_CRED); -+ error (EXIT_FAILURE, 0, "could not open session: %s", -+ pam_strerror (pamh, retval)); -+ } -+ #endif /* USE_PAM */ - if (setgid (pw->pw_gid)) - error (EXIT_FAILURE, errno, _("cannot set group id")); - if (setuid (pw->pw_uid)) - error (EXIT_FAILURE, errno, _("cannot set user id")); - } - -+ #ifdef USE_PAM -+ static bool caught = false; -+ /* Signal handler for parent process later */ -+ static void -+ su_catch_sig (int sig) -+ { -+ caught = true; -+ } -+ #endif -+ - /* Run SHELL, or DEFAULT_SHELL if SHELL is empty. - If COMMAND is nonzero, pass it to the shell with the -c option. - Pass ADDITIONAL_ARGS to the shell as more arguments; there -*************** -*** 317,322 **** ---- 417,519 ---- - size_t n_args = 1 + fast_startup + 2 * !!command + n_additional_args + 1; - char const **args = xnmalloc (n_args, sizeof *args); - size_t argno = 1; -+ #ifdef USE_PAM -+ pid_t child; -+ sigset_t ourset; -+ int status; -+ -+ child = fork (); -+ if (child == (pid_t) -1) -+ error (EXIT_FAILURE, errno, "cannot fork"); -+ -+ if (child != 0) -+ { -+ /* parent only */ -+ sigfillset (&ourset); -+ if (sigprocmask (SIG_BLOCK, &ourset, NULL)) -+ { -+ error (0, errno, "cannot block signals"); -+ caught = true; -+ } -+ if (!caught) -+ { -+ struct sigaction action; -+ action.sa_handler = su_catch_sig; -+ sigemptyset (&action.sa_mask); -+ action.sa_flags = 0; -+ sigemptyset (&ourset); -+ if (sigaddset (&ourset, SIGTERM) -+ || sigaddset (&ourset, SIGALRM) -+ || sigaction (SIGTERM, &action, NULL) -+ || sigprocmask (SIG_UNBLOCK, &ourset, NULL)) -+ { -+ error (0, errno, "cannot set signal handler"); -+ caught = true; -+ } -+ } -+ if (!caught) -+ { -+ for (;;) -+ { -+ pid_t pid; -+ -+ pid = waitpid (child, &status, WUNTRACED); -+ -+ if (WIFSTOPPED (status)) -+ { -+ kill (getpid (), SIGSTOP); -+ /* once we get here, we must have resumed */ -+ kill (pid, SIGCONT); -+ } -+ else -+ break; -+ } -+ if (WIFSIGNALED (status)) -+ status = WTERMSIG (status) + 128; -+ else -+ status = WEXITSTATUS (status); -+ } -+ else -+ status = 1; -+ -+ if (caught) -+ { -+ fprintf (stderr, "\nSession terminated, killing shell..."); -+ kill (child, SIGTERM); -+ } -+ retval = pam_setcred (pamh, PAM_DELETE_CRED); -+ PAM_BAIL_P (exit (EXIT_FAILURE)); -+ retval = pam_close_session (pamh, 0); -+ PAM_BAIL_P (exit (EXIT_FAILURE)); -+ retval = pam_end (pamh, PAM_SUCCESS); -+ PAM_BAIL_P (exit (EXIT_FAILURE)); -+ if (caught) -+ { -+ sleep (2); -+ kill (child, SIGKILL); -+ fprintf (stderr, " ...killed.\n"); -+ } -+ exit (status); -+ } -+ -+ /* child shell */ -+ -+ /* Export env variables declared by PAM modules */ -+ { -+ const char *const *env; -+ -+ env = (const char *const *) pam_getenvlist (pamh); -+ while (env && *env) -+ { -+ -+ if (putenv (*env) != 0) -+ xalloc_die (); -+ env++; -+ } -+ } -+ -+ pam_end (pamh, 0); -+ #endif - - if (simulate_login) - { -*************** -*** 335,340 **** ---- 532,542 ---- - args[argno++] = "-f"; - if (command) - { -+ if (simulate_login) -+ /* Bash 2.0 have to be invoked as `-su'. See the comments in -+ `shell.c (run_startup_files)'. */ -+ args[0] = "-su"; -+ - args[argno++] = "-c"; - args[argno++] = command; - } -*************** -*** 491,496 **** ---- 693,701 ---- - #ifdef SYSLOG_FAILURE - log_su (pw, false); - #endif -+ #ifdef USE_PAM -+ sleep (getdef_num ("FAIL_DELAY", 1)); -+ #endif - error (EXIT_FAILURE, 0, _("incorrect password")); - } - #ifdef SYSLOG_SUCCESS -*************** -*** 512,520 **** - shell = NULL; - } - shell = xstrdup (shell ? shell : pw->pw_shell); - modify_environment (pw, shell); - -- change_identity (pw); - if (simulate_login && chdir (pw->pw_dir) != 0) - error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir); - ---- 717,728 ---- - shell = NULL; - } - shell = xstrdup (shell ? shell : pw->pw_shell); -+ change_identity (pw); -+ -+ /* Set environment after pam_open_session, which may put KRB5CCNAME -+ into the pam_env, etc. */ - modify_environment (pw, shell); - - if (simulate_login && chdir (pw->pw_dir) != 0) - error (0, errno, _("warning: cannot change directory to %s"), pw->pw_dir); - diff --git a/pkgs/tools/networking/autossh/default.nix b/pkgs/tools/networking/autossh/default.nix new file mode 100644 index 00000000000..2cf17f29603 --- /dev/null +++ b/pkgs/tools/networking/autossh/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, openssh}: + +stdenv.mkDerivation { + name="autossh-1.4b"; + src = fetchurl { + url = "http://www.harding.motd.ca/autossh/autossh-1.4b.tgz"; + md5 = "8f9aa006f6f69e912d3c2f504622d6f7"; + }; + buildInputs = [ openssh ]; + installPhase = '' +install -D -m755 autossh $out/bin/autossh || return 1 +install -D -m644 CHANGES $out/share/doc/autossh/CHANGES || return 1 +install -D -m644 README $out/share/doc/autossh/README || return 1 +install -D -m644 autossh.host $out/share/autossh/examples/autossh.host || return 1 +install -D -m644 rscreen $out/share/autossh/examples/rscreen || return 1 +install -D -m644 autossh.1 $out/man/man1/autossh.1 || return 1 + ''; + meta = { + homepage = http://www.harding.motd.ca/autossh/; + description = "Automatically restart SSH sessions and tunnels"; + }; +} + diff --git a/pkgs/tools/networking/socat/default.nix b/pkgs/tools/networking/socat/default.nix index 163db7c84e4..754aabe3a87 100644 --- a/pkgs/tools/networking/socat/default.nix +++ b/pkgs/tools/networking/socat/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, openssl }: stdenv.mkDerivation rec { - name = "socat-1.7.1.1"; + name = "socat-1.7.1.2"; src = fetchurl { url = "http://www.dest-unreach.org/socat/download/${name}.tar.bz2"; - sha256 = "055a57lv2rgr6jvb76444ywhfbg9bzc9hainyk5d4cbpb4ws3pxv"; + sha256 = "0rz12l36id4sfzbr2mpral1ddcqgm71al0snh14smg8l94amnfgp"; }; - buildInputs = [openssl]; + buildInputs = [ openssl ]; meta = { description = "Socat - a different replacement for netcat"; diff --git a/pkgs/tools/package-management/nix/sqlite.nix b/pkgs/tools/package-management/nix/sqlite.nix index 526b956d0d1..d62352d0790 100644 --- a/pkgs/tools/package-management/nix/sqlite.nix +++ b/pkgs/tools/package-management/nix/sqlite.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "nix-0.16pre21920"; - + name = "nix-0.16pre22073"; + src = fetchurl { - url = "http://hydra.nixos.org/build/413218/download/4/${name}.tar.bz2"; - sha256 = "7d978a5d48a329c01d2af763ce6fc2038dbc24318e4ee57d873fa0c68d30f7ae"; + url = "http://hydra.nixos.org/build/429995/download/4/${name}.tar.bz2"; + sha256 = "90caa59a2b09acc0fdd3951e2751105adf4051ca307a3060c4063aa8b75df752"; }; buildInputs = [ perl curl openssl ]; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index 6c6cbbea2b5..f45172ba426 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -4,11 +4,11 @@ }: stdenv.mkDerivation rec { - name = "nix-0.16pre21832"; + name = "nix-0.16pre22206"; src = fetchurl { - url = "http://hydra.nixos.org/build/410867/download/4/${name}.tar.bz2"; - sha256 = "c9ab6723859e07982a83c89f8863069c5c5ca9eea21591b194acd838f0de63b9"; + url = "http://hydra.nixos.org/build/437136/download/4/${name}.tar.bz2"; + sha256 = "1gh2bqgllkxnlz8yzrj31z6libwx2whw0b18hvamm3ryg4b5wadj"; }; buildNativeInputs = [ perl ]; diff --git a/pkgs/tools/security/ccrypt/default.nix b/pkgs/tools/security/ccrypt/default.nix index 9898d6080ff..a134f45c988 100644 --- a/pkgs/tools/security/ccrypt/default.nix +++ b/pkgs/tools/security/ccrypt/default.nix @@ -1,13 +1,20 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, perl}: + stdenv.mkDerivation { - name = "ccrypt-1.7"; + name = "ccrypt-1.9"; src = fetchurl { - url = mirror://sourceforge/ccrypt/ccrypt-1.7.tar.gz; - sha256 = "1bf974c9ee5f20332f0117c5b80784825f505f1a24eb57a10c8195c3ad16540e"; + url = mirror://sourceforge/ccrypt/ccrypt-1.9.tar.gz; + sha256 = "1bzbfq19jnnlp221kilzxpy0l6w3hk9b1iqjz4haypzlyxswnf35"; }; + + buildNativeInputs = [ perl ]; + meta = { + homepage = http://ccrypt.sourceforge.net/; description = "Utility for encrypting and decrypting files and streams with AES-256"; license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; all; }; } diff --git a/pkgs/tools/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix index d0dd566c9e3..665336cbd36 100644 --- a/pkgs/tools/text/enscript/default.nix +++ b/pkgs/tools/text/enscript/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gettext }: stdenv.mkDerivation rec { - name = "enscript-1.6.5.1"; + name = "enscript-1.6.5.2"; src = fetchurl { url = "mirror://gnu/enscript/${name}.tar.gz"; - sha256 = "12zmd3iibpdwpgk10pwd71111dfh31x37xy6cllb1g243in3bgsp"; + sha256 = "0xfblj3liwf1zxpx8bdcl2dwqi2lkfm1zsl6ld9757kgnfyk6gnv"; }; buildInputs = [ gettext ]; diff --git a/pkgs/tools/typesetting/pdftk/default.nix b/pkgs/tools/typesetting/pdftk/default.nix new file mode 100644 index 00000000000..3a6c934928d --- /dev/null +++ b/pkgs/tools/typesetting/pdftk/default.nix @@ -0,0 +1,32 @@ +{ fetchurl, stdenv, gcj }: + +stdenv.mkDerivation { + name = "pdftk-1.41"; + + src = fetchurl { + url = http://www.pdfhacks.com/pdftk/pdftk-1.41.tar.bz2; + sha256 = "1vdrc3179slix6lz3gdiy53z7sh2yf9026r3xi6wdarwrcpawfrf"; + }; + + patches = [ ./gcc-4.3.patch ./gcc-4.4.patch ]; + + buildInputs = [ gcj ]; + + makeFlags = [ "-f" "Makefile.Generic" ]; + + preBuild = "cd pdftk"; + + installPhase = '' + ensureDir $out/bin $out/share/man/man1 + cp pdftk $out/bin + cp ../debian/pdftk.1 $out/share/man/man1 + ''; + + meta = { + description = "Simple tool for doing everyday things with PDF documents"; + homepage = http://www.accesspdf.com/pdftk/; + license = "free"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/tools/typesetting/pdftk/gcc-4.3.patch b/pkgs/tools/typesetting/pdftk/gcc-4.3.patch new file mode 100644 index 00000000000..05bca95f6c2 --- /dev/null +++ b/pkgs/tools/typesetting/pdftk/gcc-4.3.patch @@ -0,0 +1,205 @@ +Taken from gentoo portage. + +# posted to bug #251796 by from Debian patches +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/bc/asn1/Makefile pdftk-1.41/java_libs/com/lowagie/bc/asn1/Makefile +--- pdftk-1.41.orig/java_libs/com/lowagie/bc/asn1/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/bc/asn1/Makefile 2008-12-23 00:04:52.000000000 +0200 +@@ -25,8 +25,7 @@ + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ $(GCJH) --classpath="$(java_libs_root):." $*; + + ## + # targets +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/Makefile pdftk-1.41/java_libs/com/lowagie/text/Makefile +--- pdftk-1.41.orig/java_libs/com/lowagie/text/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/text/Makefile 2008-12-22 23:58:52.000000000 +0200 +@@ -25,13 +25,12 @@ + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ $(GCJH) --classpath="$(java_libs_root):." $*; + + ## + # targets + +-all : $(library) $(headers) ++all : $(library) $(headers) $(classes) + + $(library) : $(objects) + $(AR) $(ARFLAGS) $(library) $(objects); +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/markup/Makefile pdftk-1.41/java_libs/com/lowagie/text/markup/Makefile +--- pdftk-1.41.orig/java_libs/com/lowagie/text/markup/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/text/markup/Makefile 2008-12-23 00:04:28.000000000 +0200 +@@ -25,8 +25,7 @@ + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ $(GCJH) --classpath="$(java_libs_root):." $*; + + ## + # targets +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/Makefile +--- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/Makefile 2008-12-23 00:04:11.000000000 +0200 +@@ -25,8 +25,7 @@ + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ $(GCJH) --classpath="$(java_libs_root):." $*; + + ## + # targets +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile +--- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/postscript/Makefile 2008-12-23 00:03:05.000000000 +0200 +@@ -25,8 +25,7 @@ + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ $(GCJH) --classpath="$(java_libs_root):." $*; + + ## + # targets +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile +--- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/text/pdf/codec/wmf/Makefile 2008-12-23 00:03:29.000000000 +0200 +@@ -25,8 +25,7 @@ + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ $(GCJH) --classpath="$(java_libs_root):." $*; + + ## + # targets +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/fonts/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/fonts/Makefile +--- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/fonts/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/text/pdf/fonts/Makefile 2008-12-23 00:01:33.000000000 +0200 +@@ -34,8 +34,7 @@ + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ $(GCJH) --classpath="$(java_libs_root):." $*; + + ## + # targets +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/Makefile pdftk-1.41/java_libs/com/lowagie/text/pdf/Makefile +--- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/text/pdf/Makefile 2008-12-23 00:00:25.000000000 +0200 +@@ -25,8 +25,7 @@ + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ $(GCJH) --classpath="$(java_libs_root):." $*; + + ## + # targets +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncryption.java pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfEncryption.java +--- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfEncryption.java 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfEncryption.java 2008-12-22 23:46:21.000000000 +0200 +@@ -50,7 +50,7 @@ + + package com.lowagie.text.pdf; + +-import java_local.security.MessageDigest; // ssteward ++import java.security.MessageDigest; + import com.lowagie.text.ExceptionConverter; + + /** +diff -u -r pdftk-1.41.orig/java_libs/com/lowagie/text/xml/xmp/Makefile pdftk-1.41/java_libs/com/lowagie/text/xml/xmp/Makefile +--- pdftk-1.41.orig/java_libs/com/lowagie/text/xml/xmp/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/com/lowagie/text/xml/xmp/Makefile 2008-12-22 23:59:42.000000000 +0200 +@@ -25,8 +25,7 @@ + # the "$*" automatic variable, here + # + %.h : %.class +- $(GCJH) --classpath="." $*; +- $(RM) $< ++ $(GCJH) --classpath="$(java_libs_root):." $*; + + ## + # targets +diff -u -r pdftk-1.41.orig/java_libs/Makefile pdftk-1.41/java_libs/Makefile +--- pdftk-1.41.orig/java_libs/Makefile 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/java_libs/Makefile 2008-12-22 23:47:10.000000000 +0200 +@@ -13,13 +13,7 @@ + # append gcj flags + export GCJFLAGS+= --encoding=UTF-8 --classpath="$(java_libs_root)" + +-all : libgcj_local itext +- +-libgcj_local : +- $(MAKE) -C "$(java_libs_root)/gnu_local/java/security"; +- $(MAKE) -C "$(java_libs_root)/gnu_local/java/security/provider"; +- $(MAKE) -C "$(java_libs_root)/gnu/gcj/convert"; +- $(MAKE) -C "$(java_libs_root)/java_local/security"; ++all : itext + + itext : + $(MAKE) -C "$(java_libs_root)/com/lowagie/text"; +@@ -35,13 +29,7 @@ + $(MAKE) -C "$(java_libs_root)/com/lowagie/bc/asn1"; + $(MAKE) -C "$(java_libs_root)/com/lowagie/text/pdf/codec/postscript"; + +-clean : libgcj_local_clean itext_clean +- +-libgcj_local_clean : +- $(MAKE) -iC "$(java_libs_root)/gnu_local/java/security" clean; +- $(MAKE) -iC "$(java_libs_root)/gnu_local/java/security/provider" clean; +- $(MAKE) -iC "$(java_libs_root)/gnu/gcj/convert" clean; +- $(MAKE) -iC "$(java_libs_root)/java_local/security" clean; ++clean : itext_clean + + itext_clean : + $(MAKE) -iC "$(java_libs_root)/com/lowagie/text" clean; +diff -u -r pdftk-1.41.orig/pdftk/Makefile.Base pdftk-1.41/pdftk/Makefile.Base +--- pdftk-1.41.orig/pdftk/Makefile.Base 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/pdftk/Makefile.Base 2008-12-22 23:44:33.000000000 +0200 +@@ -31,18 +31,6 @@ + afms= $(wildcard $(java_libs_root)/com/lowagie/text/pdf/fonts/*.afm) + afm_objects= $(patsubst %.afm, %.o, $(afms)) + +-# older versions of libgcj might not have the MD5 algorithm, +-# so I added it here; these *_local java files were grabbed from +-# libgcj CVS on March 7, 2004; diffed September 5, 2006 w/ gcc 4.1.1 +-# +-# gnu/gcj/convert/Input_UnicodeBig.java was grabbed March 26, 2004; diffed September 5, 2006 w/ gcc 4.1.1 +-# +-libgcj_local_libs = \ +-$(java_libs_root)/java_local/security/security.a \ +-$(java_libs_root)/gnu_local/java/security/provider/provider.a \ +-$(java_libs_root)/gnu_local/java/security/security.a \ +-$(java_libs_root)/gnu/gcj/convert/convert.a +- + # this must already be set according to your platform Makefile; + # we're just appending to it, here + # +diff -u -r pdftk-1.41.orig/pdftk/Makefile.Generic pdftk-1.41/pdftk/Makefile.Generic +--- pdftk-1.41.orig/pdftk/Makefile.Generic 2008-12-22 23:43:29.000000000 +0200 ++++ pdftk-1.41/pdftk/Makefile.Generic 2008-12-23 00:06:24.000000000 +0200 +@@ -28,7 +28,7 @@ + + # itext compiler flags + # -O3 might cause pdftk to segfault on cat operation (gcc 3.4.4) +-export GCJFLAGS= -O2 ++export GCJFLAGS= -O2 -w + + # + export ARFLAGS= rs diff --git a/pkgs/tools/typesetting/pdftk/gcc-4.4.patch b/pkgs/tools/typesetting/pdftk/gcc-4.4.patch new file mode 100644 index 00000000000..f66c22e5106 --- /dev/null +++ b/pkgs/tools/typesetting/pdftk/gcc-4.4.patch @@ -0,0 +1,18 @@ +Taken from gentoo portage. + +diff -NrU5 pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfDate.java pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfDate.java +--- pdftk-1.41.orig/java_libs/com/lowagie/text/pdf/PdfDate.java 2009-05-18 20:49:13.000000000 -0600 ++++ pdftk-1.41/java_libs/com/lowagie/text/pdf/PdfDate.java 2009-05-18 20:51:36.000000000 -0600 +@@ -74,11 +74,11 @@ + public class PdfDate extends PdfString { + + // ssteward; static builds of pdftk (Windows, gcc 3.3.1) would + // omit this class because of its reference by reflection; + // this treatment ensures that ld will include it +- private static Class c1= gnu.java.locale.Calendar.class; ++ private static Class c1= java.util.Calendar.class; + + private static final int dateSpace[] = {Calendar.YEAR, 4, 0, Calendar.MONTH, 2, -1, Calendar.DAY_OF_MONTH, 2, 0, + Calendar.HOUR_OF_DAY, 2, 0, Calendar.MINUTE, 2, 0, Calendar.SECOND, 2, 0}; + + // constructors diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 57d22b4c237..37d513a9246 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -448,6 +448,10 @@ let inherit fetchurl stdenv python; }; + autossh = import ../tools/networking/autossh { + inherit stdenv fetchurl openssh; + }; + bibtextools = import ../tools/typesetting/bibtex-tools { inherit fetchurl stdenv aterm tetex hevea; inherit (strategoPackages016) strategoxt sdf; @@ -473,7 +477,7 @@ let }; bsdiff = import ../tools/compression/bsdiff { - inherit fetchurl stdenv; + inherit fetchurl stdenv bzip2; }; bzip2 = useFromStdenv "bzip2" @@ -490,7 +494,7 @@ let }; ccrypt = import ../tools/security/ccrypt { - inherit fetchurl stdenv; + inherit fetchurl stdenv perl; }; cdecl = import ../development/tools/cdecl { @@ -806,7 +810,8 @@ let }; gnokii = builderDefsPackage (import ../tools/misc/gnokii) { - inherit intltool perl gettext libusb; + inherit intltool perl gettext libusb pkgconfig; + inherit (gtkLibs) glib; }; gnugrep = useFromStdenv "gnugrep" @@ -1248,7 +1253,7 @@ let }; obexd = import ../tools/bluetooth/obexd { - inherit fetchurl stdenv pkgconfig dbus openobex bluez glib; + inherit fetchurl stdenv pkgconfig dbus openobex bluez glib libical; }; obexfs = import ../tools/bluetooth/obexfs { @@ -1480,6 +1485,11 @@ let inherit fetchurl stdenv; }; + qdu = import ../tools/misc/qdu { + inherit stdenv fetchurl qt3; + inherit (xlibs) libX11 libXext; + }; + qhull = import ../development/libraries/qhull { inherit stdenv fetchurl; }; @@ -1661,9 +1671,7 @@ let inherit fetchurl stdenv openssl; }; - su = import ../tools/misc/su { - inherit fetchurl stdenv pam; - }; + su = shadow; swec = import ../tools/networking/swec { inherit fetchurl stdenv makeWrapper perl; @@ -1935,6 +1943,9 @@ let inherit fetchurl stdenv; }; + zsync = import ../tools/compression/zsync { + inherit fetchurl stdenv; + }; ### SHELLS @@ -1950,6 +1961,10 @@ let interactive = true; }); + dash = import ../shells/dash { + inherit fetchurl stdenv; + }; + tcsh = import ../shells/tcsh { inherit fetchurl stdenv ncurses; }; @@ -1988,6 +2003,10 @@ let ccl = builderDefsPackage ../development/compilers/ccl {}; + clang = llvm.override { + buildClang = true; + }; + dylan = import ../development/compilers/gwydion-dylan { inherit fetchurl stdenv perl boehmgc yacc flex readline; dylan = @@ -2008,6 +2027,10 @@ let inherit fetchurl stdenv gawk system; }; + gambit = import ../development/compilers/gambit { + inherit fetchurl stdenv builderDefsPackage; + }; + gcc = gcc44; gcc295 = wrapGCC (import ../development/compilers/gcc-2.95 { @@ -2195,7 +2218,7 @@ let profiledCompiler = false; }); - gcj = gcj44; + gcj = gcj45; gcj44 = wrapGCC (gcc44_real.gcc.override { name = "gcj"; @@ -2418,7 +2441,7 @@ let }; go = import ../development/compilers/go { - inherit stdenv fetchhg glibc bison ed which bash makeWrapper; + inherit stdenv fetchhg glibc bison ed which bash makeWrapper perl; }; gprolog = import ../development/compilers/gprolog { @@ -2467,12 +2490,13 @@ let supportsJDK = system == "i686-linux" || system == "x86_64-linux" || + system == "i686-cygwin" || system == "powerpc-linux"; jdkdistro = installjdk: pluginSupport: (assert supportsJDK; (if pluginSupport then appendToName "plugin" else x: x) (import ../development/compilers/jdk { - inherit fetchurl stdenv unzip installjdk xlibs pluginSupport makeWrapper; + inherit fetchurl stdenv unzip installjdk xlibs pluginSupport makeWrapper cabextract; })); jikes = import ../development/compilers/jikes { @@ -2485,13 +2509,8 @@ let inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto; }; - llvm = import ../development/compilers/llvm { - inherit fetchurl stdenv gcc flex perl libtool; - }; - - llvmGCC = builderDefsPackage (import ../development/compilers/llvm/llvm-gcc.nix) { - flex=flex2535; - inherit llvm perl libtool bison; + llvm = makeOverridable (import ../development/compilers/llvm) { + inherit fetchurl fetchsvn stdenv gcc flex perl libtool groff; }; mitscheme = import ../development/compilers/mit-scheme { @@ -2756,7 +2775,7 @@ let inherit stdenv fetchurl lib composableDerivation autoconf automake flex bison apacheHttpd mysql libxml2 # gettext - zlib curl gd postgresql openssl pkgconfig sqlite getConfig; + zlib curl gd postgresql openssl pkgconfig sqlite getConfig libiconv libjpeg libpng; }; phpXdebug = import ../development/interpreters/php-xdebug { @@ -2982,8 +3001,7 @@ let apacheAntGcj = import ../development/tools/build-managers/apache-ant/from-source.nix { inherit fetchurl stdenv; inherit junit; # must be either pre-built or built with GCJ *alone* - javac = gcj; - jvm = gcj; + gcj = gcj.gcc; # use the raw GCJ, which has ${gcj}/lib/jvm }; autobuild = import ../development/tools/misc/autobuild { @@ -3276,6 +3294,11 @@ let inherit fetchurl stdenv; }; + omake = import ../development/tools/ocaml/omake { + inherit stdenv fetchurl ocaml makeWrapper ncurses; + }; + + openocd = import ../development/tools/misc/openocd { inherit fetchurl stdenv libftdi; }; @@ -3677,6 +3700,11 @@ let libXrender; }; + dragonegg = import ../development/compilers/llvm/dragonegg.nix { + inherit fetchsvn llvm gmp mpfr mpc; + stdenv = overrideGCC stdenv gcc45; + }; + enchant = makeOverridable (import ../development/libraries/enchant) { inherit fetchurl stdenv aspell pkgconfig; inherit (gnome) glib; @@ -3854,12 +3882,9 @@ let inherit fetchurl stdenv zlib libpng freetype libjpeg fontconfig; }; - gdal = stdenv.mkDerivation { - name = "gdal-1.6.1-rc1"; - src = fetchurl { - url = ftp://ftp.remotesensing.org/gdal/gdal-1.6.1-RC1.tar.gz; - sha256 = "0f7da588yvb1d3l3gk5m0hrqlhg8m4gw93aip3dwkmnawz9r0qcw"; - }; + gdal = import ../development/libraries/gdal { + inherit stdenv fetchurl unzip composableDerivation libtiff zlib postgresql + mysql libjpeg libgeotiff; }; giblib = import ../development/libraries/giblib { @@ -4265,6 +4290,10 @@ let inherit stdenv fetchurl; }; + judy = import ../development/libraries/judy { + inherit fetchurl stdenv; + }; + krb5 = import ../development/libraries/kerberos/krb5.nix { inherit stdenv fetchurl perl ncurses yacc; }; @@ -4540,10 +4569,6 @@ let libtool = libtool_1_5; }; - libjpegStatic = lowPrio (appendToName "static" (libjpeg.override { - stdenv = enableStaticLibraries stdenv; - })); - libksba = import ../development/libraries/libksba { inherit fetchurl stdenv libgpgerror; }; @@ -4690,6 +4715,10 @@ let inherit fetchurl stdenv libtool; }; + libgeotiff = import ../development/libraries/libgeotiff { + inherit stdenv fetchurl libtiff; + }; + libunistring = import ../development/libraries/libunistring { inherit fetchurl stdenv libiconv; }; @@ -5059,7 +5088,8 @@ let }; postgis = import ../development/libraries/postgis { - inherit stdenv fetchurl libxml2 postgresql geos proj perl; + inherit stdenv fetchurl libxml2 postgresql geos proj perl flex + composableDerivation; }; pth = import ../development/libraries/pth { @@ -5246,6 +5276,14 @@ let inherit stdenv fetchurl cmake taglib; }; + talloc = import ../development/libraries/talloc { + inherit fetchurl stdenv; + }; + +## tapioca_qt = import ../development/libraries/tapioca-qt { +## inherit stdenv fetchurl cmake qt4 telepathy_qt; +## }; + tdb = import ../development/libraries/tdb { inherit fetchurl stdenv libxslt libxml2 docbook_xsl; }; @@ -5721,6 +5759,10 @@ let inherit fetchurl stdenv; }; + firebird = import ../servers/firebird { + inherit stdenv fetchurl icu libedit; + }; + ircdHybrid = import ../servers/irc/ircd-hybrid { inherit fetchurl stdenv openssl zlib; }; @@ -5928,7 +5970,7 @@ let }; autofs5 = import ../os-specific/linux/autofs/autofs-v5.nix { - inherit sourceFromHead fetchurl stdenv flex bison linuxHeaders; + inherit fetchurl stdenv flex bison linuxHeaders; }; _915resolution = import ../os-specific/linux/915resolution { @@ -5974,6 +6016,15 @@ let inherit fetchurl stdenv autoconf automake; }; + cifs_utils = import ../os-specific/linux/cifs-utils { + inherit fetchurl stdenv; + }; + + conky = import ../os-specific/linux/conky { + inherit stdenv fetchurl pkgconfig libxml2 curl wirelesstools openssl; + inherit (gtkLibs) glib; + }; + cpufrequtils = ( import ../os-specific/linux/cpufrequtils { inherit fetchurl stdenv libtool gettext; @@ -6263,6 +6314,7 @@ let kernelPatches = [ kernelPatches.fbcondecor_2_6_31 kernelPatches.sec_perm_2_6_24 + kernelPatches.aufs2_2_6_32 ]; }; @@ -6318,6 +6370,15 @@ let }; }; + linux_2_6_34 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.34.nix) { + inherit fetchurl stdenv perl mktemp module_init_tools ubootChooser; + kernelPatches = + [ /*kernelPatches.fbcondecor_2_6_33*/ + kernelPatches.sec_perm_2_6_24 + kernelPatches.aufs2_2_6_34 + ]; + }; + /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a specific kernel, we have a function that builds those packages @@ -6338,19 +6399,13 @@ let inherit fetchurl stdenv kernel; }; - # Currently it is broken - # Build requires exporting some symbols from kernel - # Go to package homepage to learn about the needed - # patch. Feel free to take over the package. aufs2 = import ../os-specific/linux/aufs2 { - inherit fetchgit stdenv kernel perl; + inherit fetchurl stdenv kernel perl; }; - aufs2Utils = if lib.attrByPath ["features" "aufs"] false kernel then - builderDefsPackage ../os-specific/linux/aufs2-utils { - inherit kernel; - } - else null; + aufs2_util = import ../os-specific/linux/aufs2-util { + inherit fetchurl stdenv kernel aufs2; + }; blcr = import ../os-specific/linux/blcr/0.8.2.nix { inherit fetchurl stdenv kernel perl makeWrapper; @@ -6375,7 +6430,7 @@ let inherit fetchurl stdenv builderDefs kernel lib; }; - nvidia_x11 = import ../os-specific/linux/nvidia-x11 { + nvidia_x11 = makeOverridable (import ../os-specific/linux/nvidia-x11) { inherit stdenv fetchurl kernel xlibs gtkLibs zlib perl; }; @@ -6468,6 +6523,7 @@ let linuxPackages_2_6_32_systemtap = recurseIntoAttrs (linuxPackagesFor linux_2_6_32_systemtap); linuxPackages_2_6_33 = recurseIntoAttrs (linuxPackagesFor linux_2_6_33); + linuxPackages_2_6_34 = recurseIntoAttrs (linuxPackagesFor linux_2_6_34); # The current default kernel / kernel modules. linux = linux_2_6_32; @@ -6513,13 +6569,6 @@ let linuxHeaders = glibc.kernelHeaders; }; - # Old version; needed in vmtools for insmod. Should use - # module_init_tools instead. - klibc_15 = makeOverridable (import ../os-specific/linux/klibc/1.5.nix) { - inherit fetchurl stdenv perl bison mktemp; - linuxHeaders = glibc.kernelHeaders; - }; - klibcShrunk = makeOverridable (import ../os-specific/linux/klibc/shrunk.nix) { inherit stdenv klibc; }; @@ -6562,6 +6611,14 @@ let inherit fetchurl stdenv udev; }; + # In theory GNU Mach doesn't have to be cross-compiled. However, since it + # has to be built for i586 (it doesn't work on x86_64), one needs a cross + # compiler for that host. + mach = import ../os-specific/gnu/mach { + inherit fetchgit stdenv autoconf texinfo mig; + automake = automake111x; + }; + machHeaders = import ../os-specific/gnu/mach { inherit fetchgit stdenv autoconf texinfo; automake = automake111x; @@ -6580,8 +6637,9 @@ let inherit fetchurl stdenv; }; - mount_cifs = import ../os-specific/linux/mount-cifs { - inherit fetchurl stdenv; + mountall = import ../os-specific/linux/mountall { + inherit fetchurl stdenv pkgconfig libnih dbus udev autoconf libtool; + automake = automake111x; }; aggregateModules = modules: @@ -6616,7 +6674,7 @@ let }; pam = import ../os-specific/linux/pam { - inherit stdenv fetchurl cracklib flex; + inherit stdenv fetchurl flex cracklib libxcrypt; }; # pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader ) @@ -6697,14 +6755,12 @@ let inherit fetchurl stdenv; }; - shadowutils = import ../os-specific/linux/shadow { - inherit fetchurl stdenv; + shadow = import ../os-specific/linux/shadow { + inherit fetchurl stdenv pam; }; splashutils = import ../os-specific/linux/splashutils/default.nix { - inherit fetchurl stdenv klibc; - zlib = zlibStatic; - libjpeg = libjpegStatic; + inherit fetchurl stdenv zlib libjpeg; }; statifier = builderDefsPackage (import ../os-specific/linux/statifier) { @@ -7508,7 +7564,7 @@ let # 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; + gtk = if stdenv.isDarwin then null else gtkLibs.gtk; # 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; @@ -7595,7 +7651,7 @@ let }; proofgeneral = import ../applications/editors/emacs-modes/proofgeneral { - inherit stdenv fetchurl emacs perl; + inherit stdenv fetchurl emacs texinfo texLive perl which automake; }; quack = import ../applications/editors/emacs-modes/quack { @@ -7647,6 +7703,20 @@ let inherit stdenv fetchurl zlib openssl; }; + grass = import ../applications/misc/grass { + inherit (xlibs) libXmu libXext libXp libX11 libXt libSM libICE libXpm + libXaw libXrender; + inherit getConfig composableDerivation stdenv fetchurl + lib flex bison cairo fontconfig + gdal zlib ncurses gdbm proj pkgconfig swig + blas liblapack libjpeg libpng mysql unixODBC mesa postgresql python + readline sqlite tcl tk libtiff freetype ffmpeg makeWrapper wxGTK; + fftw = fftwSinglePrec; + motif = lesstif; + opendwg = libdwg; + wxPython = wxPython28; + }; + grip = import ../applications/misc/grip { inherit fetchurl stdenv lib grip pkgconfig curl cdparanoia libid3tag; inherit (gtkLibs) gtk glib; @@ -7678,6 +7748,7 @@ let feh = import ../applications/graphics/feh { inherit fetchurl stdenv x11 imlib2 libjpeg libpng giblib; + inherit (xlibs) libXinerama; }; firefox = firefox35; @@ -7878,9 +7949,14 @@ let }; googleearth = import ../applications/misc/googleearth { - inherit stdenv fetchurl glibc mesa freetype zlib glib; - inherit (xlibs) libSM libICE libXi libXv libXrender libXrandr libXfixes - libXcursor libXinerama libXext libX11; + inherit (pkgsi686Linux) stdenv fetchurl glibc mesa freetype zlib glib; + inherit (pkgsi686Linux.xlibs) libSM libICE libXi libXv libXrender + libXrandr libXfixes libXcursor libXinerama libXext libX11; + }; + + gosmore = builderDefsPackage ../applications/misc/gosmore { + inherit fetchsvn curl pkgconfig libxml2; + inherit (gtkLibs) gtk; }; gpsbabel = import ../applications/misc/gpsbabel { @@ -7903,7 +7979,7 @@ let }; gv = import ../applications/misc/gv { - inherit fetchurl stdenv Xaw3d ghostscriptX; + inherit fetchurl stdenv Xaw3d ghostscriptX perl; }; hello = makeOverridable (import ../applications/misc/hello/ex-2) { @@ -7915,6 +7991,11 @@ let inherit (gtkLibs) gtk; }; + htmldoc = import ../applications/misc/htmldoc { + inherit fetchurl stdenv openssl libpng libjpeg; + fltk = fltk11; + }; + hugin = import ../applications/graphics/hugin { inherit fetchurl stdenv cmake panotools libtiff libpng boost pkgconfig exiv2 gettext ilmbase enblendenfuse autopanosiftc mesa freeglut @@ -8111,6 +8192,11 @@ let else pythonBase; }; + merkaartor = import ../applications/misc/merkaartor { + inherit fetchurl stdenv boost; + qt = qt4; + }; + meshlab = import ../applications/graphics/meshlab { inherit fetchurl stdenv bzip2 lib3ds levmar muparser unzip; qt = qt4; @@ -8215,7 +8301,7 @@ let }; msmtp = import ../applications/networking/msmtp { - inherit fetchurl stdenv; + inherit fetchurl stdenv openssl; }; mythtv = import ../applications/video/mythtv { @@ -8303,6 +8389,10 @@ let qt = qt4; }; + pdftk = import ../tools/typesetting/pdftk { + inherit fetchurl stdenv gcj; + }; + pidgin = import ../applications/networking/instant-messengers/pidgin { inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 nss nspr farsight2 python gtkspell aspell gettext ncurses avahi dbus dbus_glib lib intltool libidn; @@ -8461,6 +8551,11 @@ let }; }; + simgrid = import ../applications/misc/simgrid { + inherit fetchurl cmake ruby; + stdenv = stdenv2; + }; + skype_linux = import ../applications/networking/skype { inherit fetchurl stdenv; inherit alsaLib freetype fontconfig zlib; @@ -8832,7 +8927,8 @@ let inherit (xlibs) libX11 libXpm libXt libXext; }; - xournal = builderDefsPackage (import ../applications/graphics/xournal) { + xournal = import ../applications/graphics/xournal { + inherit stdenv fetchurl; inherit ghostscript fontconfig freetype zlib poppler popplerData autoconf automake libtool pkgconfig; @@ -8907,11 +9003,14 @@ let }; # doesn't compile yet - in case someone else want's to continue .. - qgis = (import ../applications/misc/qgis/1.0.1-2.nix) { + # use Trunk because qgisReleased segfaults no resize for now + qgis = qgisTrunk; + qgisReleased = (import ../applications/misc/qgis) { inherit composableDerivation fetchsvn stdenv flex lib ncurses fetchurl perl cmake gdal geos proj x11 gsl libpng zlib bison - sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */; + sqlite glibc fontconfig freetype /* use libc from stdenv ? - to lazy now - Marc */ + python postgresql pyqt4; inherit (xlibs) libSM libXcursor libXinerama libXrandr libXrender; inherit (xorg) libICE; qt = qt4; @@ -8920,6 +9019,11 @@ let # grass = "not yet supported" # cmake -D WITH_GRASS=TRUE and GRASS_PREFX=.. }; + qgisTrunk = (import ../applications/misc/qgis/trunk.nix) { + inherit fetchurl sourceFromHead python sip; + qgis = qgisReleased; + }; + zapping = import ../applications/video/zapping { inherit fetchurl stdenv pkgconfig perl python gettext zvbi libjpeg libpng x11 @@ -8932,6 +9036,10 @@ let recordingSupport = true; }; + zathura = import ../applications/misc/zathura { + inherit stdenv fetchurl pkgconfig poppler; + inherit (gtkLibs) gtk; + }; ### GAMES @@ -9388,10 +9496,16 @@ let }; gtkwave = import ../applications/science/electronics/gtkwave { - inherit fetchurl stdenv gperf pkgconfig bzip2 xz; + inherit fetchurl stdenv gperf pkgconfig bzip2 xz tcl tk judy; inherit (gtkLibs) gtk; }; + xoscope = import ../applications/science/electronics/xoscope { + inherit fetchurl stdenv pkgconfig; + inherit (gtkLibs) gtk; + }; + + ### SCIENCE / MATH maxima = import ../applications/science/math/maxima { @@ -9436,7 +9550,7 @@ let }; cups = import ../misc/cups { - inherit fetchurl stdenv pkgconfig zlib libjpeg libpng libtiff pam openssl dbus; + inherit fetchurl stdenv pkgconfig zlib libjpeg libpng libtiff pam openssl dbus libusb; }; gutenprint = import ../misc/drivers/gutenprint { @@ -9617,9 +9731,11 @@ let }; psi = (import ../applications/networking/instant-messengers/psi) { - inherit stdenv fetchurl zlib aspell sox pkgconfig qt4; + inherit stdenv fetchurl zlib aspell sox pkgconfig qt4 + liboil speex gst_all; inherit (xlibs) xproto libX11 libSM libICE; qca2 = kde4.qca2; + qca2_ossl = kde4.qca2_ossl; }; putty = import ../applications/networking/remote/putty { diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index a5d36088b72..875a3cf5052 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -384,6 +384,11 @@ rec { inherit cabal ; }; + hmatrix = import ../development/libraries/haskell/hmatrix { + inherit cabal QuickCheck HUnit storableComplex vector; + inherit (pkgs) gsl liblapack/* lapack library */ blas; + }; + hscolour = import ../development/libraries/haskell/hscolour { inherit cabal; }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 7df0c824861..dadc8690796 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -184,6 +184,16 @@ rec { doCheck = false; }; + cam_pdf = buildPerlPackage rec { + name = "CAM-PDF-1.52"; + src = fetchurl { + url = "mirror://cpan/authors/id/C/CD/CDOLAN/${name}.tar.gz"; + sha256 = "1lamnx0vcqzzcxdmj5038gvyn6z5xcy9756jhndgpggjfkzilwkh"; + }; + propagatedBuildInputs = [ CryptRC4 TextPDF ]; + buildInputs = [ TestMore ]; + }; + CaptchaReCAPTCHA = buildPerlPackage rec { name = "Captcha-reCAPTCHA-0.92"; src = fetchurl { @@ -740,6 +750,14 @@ rec { }; }; + CryptRC4 = buildPerlPackage rec { + name = "Crypt-RC4-2.02"; + src = fetchurl { + url = "mirror://cpan/authors/id/S/SI/SIFUKURT/${name}.tar.gz"; + sha256 = "1sp099cws0q225h6j4y68hmfd1lnv5877gihjs40f8n2ddf45i2y"; + }; + }; + CryptSSLeay = buildPerlPackage rec { name = "Crypt-SSLeay-0.57"; src = fetchurl { @@ -2608,6 +2626,15 @@ rec { ExtUtilsMakeMaker TestException ]; }; + TextPDF = buildPerlPackage rec { + name = "Text-PDF-0.29a"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MH/MHOSKEN/${name}.tar.gz"; + sha256 = "11jig38vps957zyc9372q2g0jcabxgkql3b5vazc1if1ajhlvc4s"; + }; + propagatedBuildInputs = [ CompressZlib ]; + }; + TextSimpleTable = buildPerlPackage { name = "Text-SimpleTable-0.05"; src = fetchurl { diff --git a/pkgs/top-level/platforms.nix b/pkgs/top-level/platforms.nix index d8a1394bbdb..cb35db579b7 100644 --- a/pkgs/top-level/platforms.nix +++ b/pkgs/top-level/platforms.nix @@ -47,6 +47,14 @@ rec { NFS_FS y ROOT_NFS y TUN m + NFS_V4 y + NFS_V4_1 y + NFS_FSCACHE y + NFSD m + NFSD_V2_ACL y + NFSD_V3 y + NFSD_V3_ACL y + NFSD_V4 y # Fail to build DRM n diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 5f9947ecd86..3bd40d9ad4c 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -95,11 +95,11 @@ rec { }); cssutils = buildPythonPackage (rec { - name = "cssutils-0.9.7a2"; + name = "cssutils-0.9.7a6"; src = fetchurl { - url = http://cssutils.googlecode.com/files/cssutils-0.9.7a2.zip; - sha256 = "068p14qhhczpjgn0w7v57a2swj0g4rndhimh8gkg9h9sd7rp6n07"; + url = http://cssutils.googlecode.com/files/cssutils-0.9.7a6.zip; + sha256 = "1i5n97l20kn2w9v6x8ybcdnl323vy8lcc5qlxz5l89di36a2skgw"; }; buildInputs = [ pkgs.unzip ]; diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix index d4daf2652c3..63cae5f41c2 100644 --- a/pkgs/top-level/release-cross.nix +++ b/pkgs/top-level/release-cross.nix @@ -154,6 +154,7 @@ in { crossGNU = mapTestOnCross crossSystem { gccCrossStageFinal = nativePlatforms; hurdCross = nativePlatforms; + mach.hostDrv = nativePlatforms; coreutils_real.hostDrv = nativePlatforms; ed.hostDrv = nativePlatforms; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 47db7f58719..77bcb8e8794 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -491,28 +491,24 @@ with (import ./release-lib.nix); }; linuxPackages_2_6_28 = { - aufs = linux; kernel = linux; virtualbox = linux; virtualboxGuestAdditions = linux; }; linuxPackages_2_6_29 = { - aufs = linux; kernel = linux; virtualbox = linux; virtualboxGuestAdditions = linux; }; linuxPackages_2_6_32 = { - aufs = linux; kernel = linux; virtualbox = linux; virtualboxGuestAdditions = linux; }; linuxPackages_2_6_33 = { - aufs = linux; kernel = linux; virtualbox = linux; virtualboxGuestAdditions = linux;