Merge recent master

This commit is contained in:
Vladimír Čunát 2014-06-12 09:15:11 +02:00
commit de12094b0e
53 changed files with 2886 additions and 4623 deletions

View File

@ -46,6 +46,7 @@
iElectric = "Domen Kozar <domen@dev.si>";
iyzsong = "Song Wenwu <iyzsong@gmail.com>";
jcumming = "Jack Cummings <jack@mudshark.org>";
joamaki = "Jussi Maki <joamaki@gmail.com>";
joelteon = "Joel Taylor <me@joelt.io>";
jwiegley = "John Wiegley <johnw@newartisans.com>";
kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";

View File

@ -58,12 +58,13 @@ rec {
# Determine whether a string has given prefix/suffix.
hasPrefix = pref: str:
substring 0 (stringLength pref) str == pref;
eqStrings (substring 0 (stringLength pref) str) pref;
hasSuffix = suff: str:
let lenStr = stringLength str;
let
lenStr = stringLength str;
lenSuff = stringLength suff;
in lenStr >= lenSuff &&
substring (lenStr - lenSuff) lenStr str == suff;
eqStrings (substring (lenStr - lenSuff) lenStr str) suff;
# Convert a string to a list of characters (i.e. singleton strings).
@ -118,17 +119,21 @@ rec {
toLower = replaceChars upperChars lowerChars;
toUpper = replaceChars lowerChars upperChars;
# Appends string context from another string
addContextFrom = a: b: (substring 0 0 a)+b;
# Compares strings not requiring context equality
# Obviously, a workaround but works on all Nix versions
eqStrings = a: b: (a+(substring 0 0 b)) == ((substring 0 0 a)+b);
eqStrings = a: b: addContextFrom b a == addContextFrom a b;
# Cut a string with a separator and produces a list of strings which were
# separated by this separator. e.g.,
# `splitString "." "foo.bar.baz"' returns ["foo" "bar" "baz"].
splitString = sep: s:
splitString = _sep: _s:
let
sep = addContextFrom _s _sep;
s = addContextFrom _sep _s;
sepLen = stringLength sep;
sLen = stringLength s;
lastSearch = sub sLen sepLen;
@ -167,7 +172,7 @@ rec {
sufLen = stringLength suf;
sLen = stringLength s;
in
if sufLen <= sLen && suf == substring (sLen - sufLen) sufLen s then
if sufLen <= sLen && eqStrings suf (substring (sLen - sufLen) sufLen s) then
substring 0 (sLen - sufLen) s
else
s;

View File

@ -594,14 +594,14 @@ in
message = "SSL is enabled for HTTPD, but sslServerCert and/or sslServerKey haven't been specified."; }
];
users.extraUsers = optionalAttrs (mainCfg.user == "wwwrun") singleton
users.extraUsers = optional (mainCfg.user == "wwwrun")
{ name = "wwwrun";
group = "wwwrun";
description = "Apache httpd user";
uid = config.ids.uids.wwwrun;
};
users.extraGroups = optionalAttrs (mainCfg.group == "wwwrun") singleton
users.extraGroups = optional (mainCfg.group == "wwwrun")
{ name = "wwwrun";
gid = config.ids.gids.wwwrun;
};

View File

@ -15,13 +15,13 @@ let
pkgs.runCommand "unit" { preferLocalBuild = true; inherit (unit) text; }
''
mkdir -p $out
echo -n "$text" > $out/${name}
echo -n "$text" > $out/${shellEscape name}
''
else
pkgs.runCommand "unit" { preferLocalBuild = true; }
''
mkdir -p $out
ln -s /dev/null $out/${name}
ln -s /dev/null $out/${shellEscape name}
'';
upstreamSystemUnits =
@ -187,9 +187,11 @@ let
"timers.target"
];
shellEscape = s: (replaceChars [ "\\" ] [ "\\\\" ] s);
makeJobScript = name: text:
let x = pkgs.writeTextFile { name = "unit-script"; executable = true; destination = "/bin/${name}"; inherit text; };
in "${x}/bin/${name}";
let x = pkgs.writeTextFile { name = "unit-script"; executable = true; destination = "/bin/${shellEscape name}"; inherit text; };
in "${x}/bin/${shellEscape name}";
unitConfig = { name, config, ... }: {
config = {

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "pgadmin3-${version}";
version = "1.16.1";
version = "1.18.1";
src = fetchurl {
url = "http://ftp.postgresql.org/pub/pgadmin3/release/v${version}/src/pgadmin3-${version}.tar.gz";
sha256 = "13n2nyjnbmjbz9n0xp6627n3pavkqfp4n45l1mnqxhjdq8yj9fnl";
sha256 = "1h6bqslw53q44vy7z1q7wmxkgqdzxacfs8pfm2fxm8vcd8lkxb17";
};
buildInputs = [ postgresql wxGTK libxml2 libxslt openssl ];
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
description = "PostgreSQL administration GUI tool";
homepage = http://www.pgadmin.org;
license = licenses.gpl2;
maintainers = [ maintainers.iElectric ];
maintainers = with maintainers; [ iElectric wmertens ];
platforms = platforms.unix;
};
}

View File

@ -1,10 +1,10 @@
{ fetchurl, stdenv, jre, glib, libXtst, gtk, makeWrapper }:
stdenv.mkDerivation rec {
name = "davmail-4.4.1";
name = "davmail-4.5.0";
src = fetchurl {
url = "http://downloads.sourceforge.net/project/davmail/davmail/4.4.1/davmail-linux-x86_64-4.4.1-2225.tgz";
sha256 = "66c7ae23c0242860cca1576e5fc29343431789a821f7623e420b91ba91e480a9";
url = "http://downloads.sourceforge.net/project/davmail/davmail/4.5.0/davmail-linux-x86_64-4.5.0-2292.tgz";
sha256 = "0ixg26s8535b4xf4i8jr0v3acwvaslmi2dvcxg2nmzkicvh6rfd4";
};
buildInputs = [ makeWrapper ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, openssl, curl, coreutils, gawk, bash, which }:
stdenv.mkDerivation {
name = "esniper-2.30.0";
name = "esniper-2.31.0";
src = fetchurl {
url = "mirror://sourceforge/esniper/esniper-2-30-0.tgz";
sha256 = "1p85d5qfr3f35xfj5555ck4wwk5hqkh65ivam1527p8dwcz00wpl";
url = "mirror://sourceforge/esniper/esniper-2-31-0.tgz";
sha256 = "0xn6gdyr0c18khwcsi2brp49wkancrsrxxca7hvbawhbf263glih";
};
buildInputs = [ openssl curl ];

View File

@ -1,3 +1,8 @@
# This file is generated from generate_nix.rb
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_nix.rb > default.nix
{ stdenv, fetchurl, config
, gconf
, alsaLib
@ -33,121 +38,118 @@
}:
let
version = "24.5.0";
version = "24.6.0";
sources = [
{ locale = "ar"; arch = "linux-i686"; sha256 = "a5d7a95ed93277c5e7191f868df343d1a1d14e6c692cac1e6069fd9ee7177273"; }
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "b3100ead31d208968edd5b8545b641d0db9692d31a63e07fa9c391dca61de8a4"; }
{ locale = "ast"; arch = "linux-i686"; sha256 = "059ed2a01afabebc7bd28cc79841debcaaa0bf015f28145c719396d4e612f535"; }
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "75874c6fcabb21332095562b9f86b7c6b668efdfb09904b83fa20743e1740790"; }
{ locale = "be"; arch = "linux-i686"; sha256 = "7eda8e02a15284a0e6814072a0212457a25bcfef5058e1c376fc22facb2970f1"; }
{ locale = "be"; arch = "linux-x86_64"; sha256 = "9fb0150098810b152ecf95e0826a3bac1dbffdfd2f8f2ce400841cb4981e3f3d"; }
{ locale = "bg"; arch = "linux-i686"; sha256 = "6929e9c0580e62cffb3bfffb1398f35b7ac59dcc3d76a4a5c49a20cfb72e6d60"; }
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "19e2098131a6e280f1f8e8bae7c623ebe1081b0ea0dea81ebbaea51111774729"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "30f95bf5d5974ab417ff5a24fad78687b88b3f16e2337a3a4a22dd4f1d670c7a"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "85000f577549ccf35b2a43dc3a79264b78d100dce1e0cfd3418a0ec1f87cff90"; }
{ locale = "br"; arch = "linux-i686"; sha256 = "ef31dbfc1cc4528ee762e384d5e12fb6383f57ea34d4d1625975a2341d5004da"; }
{ locale = "br"; arch = "linux-x86_64"; sha256 = "d2f8330081a203477c6fc6007230f3893290c17aab4ba9e8ed591ddc337dd73c"; }
{ locale = "ca"; arch = "linux-i686"; sha256 = "86be66b6f8075cd85470e60a1e278fb7992fbd130b6481f0ebc21e9ad46c647f"; }
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "a2b19e3ce3a747e4b1e5b52d463e3f5822e8e120a7e043d83057746552fa9867"; }
{ locale = "cs"; arch = "linux-i686"; sha256 = "632ece525a79537acad192f8ec37fbb1e3423bcf64b1af5d18da34f1410ffbae"; }
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "f45e4701d4b81e4a5a052b5759616540317b9e89e241dc97ad1ffc39b18abaed"; }
{ locale = "da"; arch = "linux-i686"; sha256 = "9befe92c296b57c7a7b97ecb6eb23803c93949056177df72bc111c6e18d497f0"; }
{ locale = "da"; arch = "linux-x86_64"; sha256 = "343ef548a102a63a96b1a10745ff7866f30ac6524d4f7a2ced1be3cb3bd9f64c"; }
{ locale = "de"; arch = "linux-i686"; sha256 = "010c9225f56a3d9f552f77502daf2e70e88e45f85b39f183907741ad773cf811"; }
{ locale = "de"; arch = "linux-x86_64"; sha256 = "ed60c8dd0abda8c8cabdf34fcb96d39463cde9cdf1247af44438da7586490120"; }
{ locale = "el"; arch = "linux-i686"; sha256 = "03affa186bb66fabd9b61d0e53cb7f75aa13702a58fd2dd551e6da1b6e9cfd87"; }
{ locale = "el"; arch = "linux-x86_64"; sha256 = "d60419e5ebeec445e8efc8d9db59d093060be86af140605c8019a8f24680c4bb"; }
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "e1b6c1f3f30ea522410f947c9cf331e3d580a1620af63401186d435707a041d8"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "6d873704a2cbeb2549dd2e55b8c915292b7167ce2f5022defd3bb2c0ad29da58"; }
{ locale = "en-US"; arch = "linux-i686"; sha256 = "6441f90eda22808c37bca023748efee7735cf9b18b1d21ce75878c10da8baad7"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "a54afdf7dcadb94bfe2bc6ea3d6232d311568a74ed3fd93becff9cd57063ff0c"; }
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "989f400b587a75160a4ef1b6913819e0bd2c8b0689753b233943e61412bdba4d"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "c294e1a4173dd14222d0edba31c529a3f9005412de728b1a17602e2a89c84af8"; }
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "f6eac1108efaaa0c5f34c4856e7db5236c60b8aba7c99558b32b4e60f1df3dea"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "74132bc1e0fbe03c462399860168928bb1bca20ee1b0bf9a80262538ce320f57"; }
{ locale = "et"; arch = "linux-i686"; sha256 = "09fea4be7480ae51d7d68bc4b044c4d4a79e405893c4952ae083a8f417b99b85"; }
{ locale = "et"; arch = "linux-x86_64"; sha256 = "c8c5d621d975cfeb22695e589dd69a360d1b1dc6a4d0f52afc3b778835fbdb55"; }
{ locale = "eu"; arch = "linux-i686"; sha256 = "19af889a9205d99080aa1a0afc7c75d0c43a970f864d4cefb956cc37c618b7d7"; }
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "0074802e84cab6ad21de7d960709ba15531705f4ff60bf141a917edb5295c201"; }
{ locale = "fi"; arch = "linux-i686"; sha256 = "ae301f557be17b60290ee0910053fc99ab367fd6a68b4f0c27e1e80316fea95d"; }
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "567009788743148001e842418bfa520275ae6ed39857fd99da90ea37f6635008"; }
{ locale = "fr"; arch = "linux-i686"; sha256 = "0491d2760611a5709c23df1a3ae618b4bc069c4af5ce2b2b7ae491bac390c058"; }
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "64e4cfe3e899cbd71ac3c3b6052d742bae4215704eeffb51f27c93f98ec7f3cb"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "9d72a5fdc02ce45030bf44d7d8b31274cfb3579efc93d064824e6909fef2ed81"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "f04d7404ce637abd3d807484422970852db0253da3da0a0654f3bea213f352a3"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "853112a5c6fda45afed60a9c9f2d5f9fe972d21b092ae83cc4a3796f1be90b91"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "36b0cef0ba9e483b13ce5f9fd12e7bc11e2bd0270b5b34e5b2690e79248724b5"; }
{ locale = "gd"; arch = "linux-i686"; sha256 = "fcb07754340c2558e94ce44ac6e1577fb4cd155577b6bece74ceb61b2bf204b1"; }
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "cc842860d7abfc114c0db47d832508a70ea1ff0bc726fc58ccb875c245689d2b"; }
{ locale = "gl"; arch = "linux-i686"; sha256 = "325e8a27d49b1748ac7b5c2070d32df0d66c8d9b1b651136d500d2bb4bfefe14"; }
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "dd4c6aad88ac32d6175320bd82026ae6b1c4f7b44fe04904743c7e7e3d270642"; }
{ locale = "he"; arch = "linux-i686"; sha256 = "cbf801085b4a7a3b2ac84790b176fbea8e254b13776bd19413d4c5b6522645ea"; }
{ locale = "he"; arch = "linux-x86_64"; sha256 = "9d60e3a8b5756bc3d3a9148dee458c28bed9bf1fac29587bd7e95318a78f59d8"; }
{ locale = "hr"; arch = "linux-i686"; sha256 = "4361a3dc02a0dc8a26716a96aa47f0c529e0942658fcd16b472d03ae1f0f50d7"; }
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "b23b33c823ee55daa5a3f90a9f1f616fb8ea67be912182b6118521541f7039fa"; }
{ locale = "hu"; arch = "linux-i686"; sha256 = "3d2e37fbdd5af291bc90666460258b61e4b499007ad9bba5e6e48b3b3f9cb068"; }
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "a7b904317bcf046f9139c415f1c453b66e355b31291211dc8dac76200902ac11"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "8802522b5db21a9230ae856f90013d80a466a8c2caed35079318ece7028120cd"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "43e899856a625d8dea84c79c0c7d1dfa15f286da628cec9f99c351139de1831e"; }
{ locale = "id"; arch = "linux-i686"; sha256 = "6ff994c056189d13a0c36cde5925e45ba3ba52ccab61486b338a1753eafc09c8"; }
{ locale = "id"; arch = "linux-x86_64"; sha256 = "287e89ba01280eb778b1cf1f2fd9859610b46f2abfe369fe54d4af8cc1f675ac"; }
{ locale = "is"; arch = "linux-i686"; sha256 = "5ee6ea3e48d526af3ef29ef374b40a0cafb299d32c1d6af4684382b8b171f88c"; }
{ locale = "is"; arch = "linux-x86_64"; sha256 = "aae33e6b2e75a9db69d17d356bc49e026bf39199cd1612ce42aa41a102a1ac03"; }
{ locale = "it"; arch = "linux-i686"; sha256 = "3a54ac3fc738e02c8ed9b7a730624497fab15dee4f9f82e84a526dd5600e300a"; }
{ locale = "it"; arch = "linux-x86_64"; sha256 = "cc99d99214e6d847fc885af036783fe3c1b2a55b04c758bbb2fd5bd0a39463ff"; }
{ locale = "ja"; arch = "linux-i686"; sha256 = "804485d204392b52b4bfdbb28804f729614c53fa692a89e58f97161c89809bf0"; }
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "8bdce5e6f97c2747ff209acee7fad24f2dc0e07801ee30754370bb0450d383f7"; }
{ locale = "ko"; arch = "linux-i686"; sha256 = "61ab133865b2c62ea88154917ddf1383a3157b96ac3b073568e392036874f5d7"; }
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "695ef59b94626f03151c8bd68ea799b0ae5e879a57f8185af5557799211bda1f"; }
{ locale = "lt"; arch = "linux-i686"; sha256 = "014e8604790af3fa4af504986b86dc0de4bd2e53267548c01bb85e48bc90ffc5"; }
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "8c803b613526d39618c8e82d9f981293ebb6799136697488ef4d10eb2a485808"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "bfc828d3882588a9909fef1d6731a6bc1636eaf53342a57d56e3fbc975133869"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "f25bc7dacd28fd2c907565ab608d504abcc2896118e4cd8813de28c75d26c569"; }
{ locale = "nl"; arch = "linux-i686"; sha256 = "cb94f869fa63215686465bb29a8c05f80611cd60a82d7cbded6ddf55577172e1"; }
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "ecb185013de3d55cfafaa156821308453a90a123b99d122ea4ef7a29e7d7fab5"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "8719216b8cc0293d8aa23c04e2d663dfef515a7bc1b6e06a5f03bed3d6fb3b6a"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "f6617cf98b49d28ae7fa8e7d022587c6ed8138c758ff088c5abc78f7bdd52613"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "b0e57d139f359850558f40bad00b2c4e69da8e9d73ec9aa7d180b9f33d970449"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "2efcfe4b366f7ff5dc95c45cb229aeed316315fe4554651e5d0239985cd64fdb"; }
{ locale = "pl"; arch = "linux-i686"; sha256 = "3d579ed8e18d98c446a5f069d6d2e94a3ee234c75feffbaf99f561ef7bd45a2e"; }
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "04090e4b4b412f79d1879340c36e36c65e4f23fde5dc545b4d855c8497ca47f7"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "9d202dd10b626ed9753ac5e243c14f6b1eee76e8edd40389f56003c4e8816c83"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "3b82124d8956e83657b30347ef3b5e44cf3813c1b02998b197c817c6528423c0"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "65ebb88e9e544c38a9d85a70a1920ed9c6ec03452762f98cb2fe104912074b44"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "fba7f18daee4832b9851615a0597dbde98a5271c5882d56ab4c1e0cb6d8c4783"; }
{ locale = "rm"; arch = "linux-i686"; sha256 = "e0ffc4b23cbf4a92768eff507335dffb92fad26d02662adf77e0ccff4f4b6c8b"; }
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "555e30eaa6942543c7b1cd3569a6480016be5826a474a76c2ba8e2078d6d5b83"; }
{ locale = "ro"; arch = "linux-i686"; sha256 = "38bf63ae8365fbe1ca88b683d94c21cd5620a7397b3b344c0e4e938287311ec3"; }
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "328cb7395e61924240f8e29399bf1d64179bce5bb911595cda422b741d9b6f34"; }
{ locale = "ru"; arch = "linux-i686"; sha256 = "8df9749d8dbe4218910026a8e4c4145b1f155903e577a16758d15eefbc2715f9"; }
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "99cd036facc18242e5ab5df00a480e5c7c779b50fa95eac191bbebfa7343a270"; }
{ locale = "si"; arch = "linux-i686"; sha256 = "4ce33a17b148329334e596186d274b9c262a779e7190f9777dd0673df12f7b4c"; }
{ locale = "si"; arch = "linux-x86_64"; sha256 = "c22cd896e651b2e664128411710a80a33471319951f5aff3cfc86ff86de39a86"; }
{ locale = "sk"; arch = "linux-i686"; sha256 = "30351a15f43f905bf69e578d9ce14506ade61e805e34097f81bf8ac50f1f9ee9"; }
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "c8930d6ebff4f7429af5daf72648651162543fa000acad0fb63179c2c3f150e6"; }
{ locale = "sl"; arch = "linux-i686"; sha256 = "10c61d7e3bc592f23811d5a06fcdc892a088cbef7fc3298e8ed9937dc7518b37"; }
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "81483f6bdc85eb244904d3a8328d81391be24ea2ae7604cb00bbf922025afd89"; }
{ locale = "sq"; arch = "linux-i686"; sha256 = "8ac202a6eb0a3f08e9c34502b26b0cf1a85ab43850658cce7042f0afd5f9f50a"; }
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "23fc8634b6dfa984c530292f7f01f9a2d43b196a8092f93cc435abd7a8d131de"; }
{ locale = "sr"; arch = "linux-i686"; sha256 = "9c96c0935b7a0124059caea758ba3319cc3a5977e542965f663d2daa54f5a32e"; }
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "2d64f970c70f34bd726296b8aa2db243c245d2c36167a36de7032ae17fc1ccb2"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "1b0d6476248896b9224c5c69a944084677df45e273508bf8d629eb14b57662a9"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "05977173bdd460eab1ff5a7065067b4074417297e38dbc70c6cceedca0c933b5"; }
{ locale = "ta-LK"; arch = "linux-i686"; sha256 = "3ef8950e8aa9f130aa66a1ad2cfdd21c2ba9572ef3e0d868d7a8fbf1ef8e3291"; }
{ locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "be101ca34d96577ccc6ba715235eefa9dd065f04a651e9a35786f9edb6278a98"; }
{ locale = "tr"; arch = "linux-i686"; sha256 = "d5b35faa3e0e09af778aebec4b33f39bbce98465a39edb2da15197671b777abe"; }
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "995c1abcd5357cfda831d07ad6e0b762fbabda61601a58122acc2e8942fb944a"; }
{ locale = "uk"; arch = "linux-i686"; sha256 = "6c5b0df0a1448fcf1cebc8d82072d5653cb0432e2f787179526bae4cef774352"; }
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "86f3ce21bc863eb8f3e0099d9386e0f38ad8b2c8e29a79e47bfda37acecd991f"; }
{ locale = "vi"; arch = "linux-i686"; sha256 = "0a21d13abb629549df74d956cc1c5f99c879980fbee2d269e1532610aebb404c"; }
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "29cbf72f4990eb55d30a85a767d01c8077ab89af69eba3b7299d43871aaa165e"; }
{ locale = "xpi"; arch = "linux-i686"; sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; }
{ locale = "xpi"; arch = "linux-x86_64"; sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "1527b8e9f245c96d0104f0b7d5c8dc696036fbb80067d14a1eee9a423ddd9368"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "ae294571b8433b646b5d65a0cb1ab7f42295b17369f5ec82c2383c654df28e20"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "98e5c8f912d1a03f5c0a2f14b63f350823d15f1253e15a318b61227ba82fec0e"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "49ee58ad3978113e10de520eb094fc9c0f4d740ca6c0a0e07d5743e313163d0f"; }
{ locale = "id"; arch = "linux-i686"; sha256 = "e19f6f5b8f19178350ec68386afd2ab7e5900b8c1fdb7bf81928fedcfcea5cbe"; }
{ locale = "id"; arch = "linux-x86_64"; sha256 = "ece7445451150b2776f5debc818e288b9037dac1f2da9c7f7db584b6d2b73d34"; }
{ locale = "he"; arch = "linux-i686"; sha256 = "0ff30ffc7ffe087056b0e72d66d2bc264c1060e3abb65e0c4d53d976855f436f"; }
{ locale = "he"; arch = "linux-x86_64"; sha256 = "dd41d433644f7790ace1f246ec6703c060456260716710fc4318ca834ecd758b"; }
{ locale = "el"; arch = "linux-i686"; sha256 = "eb6d53c00a6cd912279b56c5322d65b94fdd2a021c9ea2c854f664e476ae89e2"; }
{ locale = "el"; arch = "linux-x86_64"; sha256 = "b0fdf2dc2de7ba5296f69694908aef4954b24b4c3092bddbec8995bf838bb817"; }
{ locale = "tr"; arch = "linux-i686"; sha256 = "71f4f7738540445dc64399368bb63bf48ede79f055d6647ba9ed4d274040d623"; }
{ locale = "tr"; arch = "linux-x86_64"; sha256 = "2be714b598bf8f1a3c6c9a13141d370c4d29bfec3e4053eb6f1c8a6a7988a96b"; }
{ locale = "ast"; arch = "linux-i686"; sha256 = "8b2c3b83f4f88e33ac31b07dfb64e83fd1b2cce9ad877c8bb5715a0e6299ce6f"; }
{ locale = "ast"; arch = "linux-x86_64"; sha256 = "93cd2c5c6c2ac05af3bb55a723bf3f02234d55064b5ea7cba6289bd07cca7647"; }
{ locale = "nl"; arch = "linux-i686"; sha256 = "2f11b85055fa21b4e2677b92fef34a769ed56bdbd877fefb86599edb5dd39932"; }
{ locale = "nl"; arch = "linux-x86_64"; sha256 = "d47057633c0ec5e785a723c45c5b8b0168e3d3fabe4aaedb4ca1adbff29a4dcd"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha256 = "902274548b7308e75c465f71912a7d1e5539e92420ffa17c80a2ac20d02d8630"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha256 = "044494d6bfc07b9cbeaa325dab3c1f0c5e554a05f1a050d960c39fbe093d9482"; }
{ locale = "eu"; arch = "linux-i686"; sha256 = "e453a06a64c35ed81e661c67fbd4241a7c5494b1f3d2bf5ace7543798feb338c"; }
{ locale = "eu"; arch = "linux-x86_64"; sha256 = "e8006f0e89153424c809de41ec1a714b91011b5a2a9601c1893a6ff30dcbd2ac"; }
{ locale = "fr"; arch = "linux-i686"; sha256 = "fed414783f8e9bba5be6d4cb90ef04f274aabab34f3b4351a329d5c5ae7ae8f0"; }
{ locale = "fr"; arch = "linux-x86_64"; sha256 = "e8f0203bf90bc30c89380c417921139f7b92ef1d38b3d95d292acee3be4e93c3"; }
{ locale = "br"; arch = "linux-i686"; sha256 = "0948d002df401b9aaedbf8e3277ce312edeb635baa57b1bdf5de87cc13dd36cb"; }
{ locale = "br"; arch = "linux-x86_64"; sha256 = "733e09671f00c693e13a726fa597b4705822e693ddce8a0494c57fde1de3cb56"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha256 = "c160c17e4b9b0e3d579a01b5973d142c711d4f87b03fd542d073d816ced9a9c9"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha256 = "0c281e6430a233aca5c6130e907e08c7d05aed8851214063546aff5a5df82232"; }
{ locale = "gd"; arch = "linux-i686"; sha256 = "5d85eb78f01e1d52e733d4abf8d33281ec2c4adf9a9c65f50c6d6e2b6acf3d1d"; }
{ locale = "gd"; arch = "linux-x86_64"; sha256 = "a7bb71bb08ccfc01f8e91b47b6ee0ac4592976e964454304da493e0582d262d1"; }
{ locale = "bg"; arch = "linux-i686"; sha256 = "a63e060eac9efb27b4166e05ff6a035afd51cd29d45ddf69e5226e08441ac53c"; }
{ locale = "bg"; arch = "linux-x86_64"; sha256 = "8a5f45352e180e984c7f1bc37f0e7602cbc6085a3dcdcac2d74f493941fd9f0e"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha256 = "ef70e1ff3ff3ce2fd9ecbe62ed010c06e63b410b843cdc3aa3c93fda2bf56708"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha256 = "af33cba52556057abf17df0e92c11ecbf39382bbf92c66b137113e5503ae170b"; }
{ locale = "ja"; arch = "linux-i686"; sha256 = "f87eac6641ebccf018c76275adcba03976b9c62b9fa51533ec67ab0d2a5a91b9"; }
{ locale = "ja"; arch = "linux-x86_64"; sha256 = "009b53f10bd785a799026dab028fbb7fa46c154569eba98db2673af12f6c19c4"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha256 = "ae2243346546cc2c768a9c24fc296013a45459637ab65477537f9d08d5ae193c"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha256 = "5cb2af1ec854e12b91bdf7f2fe88b56bfb45bf7144cf5cc3f0e307259d767a43"; }
{ locale = "is"; arch = "linux-i686"; sha256 = "bf3a2e4efd86b1e73ac38ef3dc880ce2cee3102d2844b17ebf31aa6528040a92"; }
{ locale = "is"; arch = "linux-x86_64"; sha256 = "d36f8d321d2952310dcb19a288f36f6496ca24e7f49fb483882c270c1c96571d"; }
{ locale = "es-AR"; arch = "linux-i686"; sha256 = "e05f63d1f978029169a91719551b6e399be0e0d37310921168904d188e41f50d"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha256 = "b8025a7a724a0d98c4f706e7ce59aae8c0f7bcd0082733ce6bee73a1d243feef"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha256 = "26ded9a3ebea58bcf80ca47759d4fdb86fe91aea8dcf56afdbaf7a32d548ee66"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha256 = "fd8321d5d6adaae042651d911df6ef587afda19ee82bdcfce98814144282b54d"; }
{ locale = "sr"; arch = "linux-i686"; sha256 = "94b94517072901f34ab28b6cf3a2fd8852867f147ab4b47f34f7d9ae16fbd603"; }
{ locale = "sr"; arch = "linux-x86_64"; sha256 = "e38f493ea1b8c0b183bad2f2627eb166e75e875a62b33704f50f8f831fd552ec"; }
{ locale = "si"; arch = "linux-i686"; sha256 = "319ae8256ecf3d7623195e474040fffffff230cd612571872a38b52b608c0507"; }
{ locale = "si"; arch = "linux-x86_64"; sha256 = "f776b8a9efad41f5c2f8770452a0bd053a3ba9ed4b74da3e3f24214c69e9779e"; }
{ locale = "ro"; arch = "linux-i686"; sha256 = "f6aea954d3ba2334411a7ce9e7e1da926b0039935c5db3a5480f0fbda583b849"; }
{ locale = "ro"; arch = "linux-x86_64"; sha256 = "9fef811764441b2b16e408808f4608e17cd21175cf45774162b3bce8b8612491"; }
{ locale = "it"; arch = "linux-i686"; sha256 = "71df4de89a1eff632339dbaf48ce41182f7a20f7e55a223f6816ef86d3465443"; }
{ locale = "it"; arch = "linux-x86_64"; sha256 = "076332c97a5c854b2313bd9f2138a6660d8e04fbddc3f8beb89acf071efd4c86"; }
{ locale = "pl"; arch = "linux-i686"; sha256 = "1a45f7d1d8817f6c724dff556886edc3f2d0ee62ff45bea8d6b7ef63f7f92928"; }
{ locale = "pl"; arch = "linux-x86_64"; sha256 = "8aa25320126052c9ebc3496e8731224e30fbd45ee2679f4d87f7f2050a01c312"; }
{ locale = "sk"; arch = "linux-i686"; sha256 = "83a31a94eeb95e28612eeb1e696ed387b6793da350efda439de11833e0ea1173"; }
{ locale = "sk"; arch = "linux-x86_64"; sha256 = "8c1647f8bfb210f7da8aa164777ef412bf3d4459ce53c95ee2211b4b5df440dc"; }
{ locale = "vi"; arch = "linux-i686"; sha256 = "e5bb99de119fd6496674fb9cc8432f146e684afc652dec2861108d1ef20b49d7"; }
{ locale = "vi"; arch = "linux-x86_64"; sha256 = "f35e62031154a32da68ea3d6960da8807f0de7ade7071526fafd6ace48c88976"; }
{ locale = "rm"; arch = "linux-i686"; sha256 = "0826595dddc981b64d4f1a59cd71411c34ccd0aeac182925709abeedff8461fc"; }
{ locale = "rm"; arch = "linux-x86_64"; sha256 = "b5b8d30251fc482861518e1c86001aa5eca6b53a65e14a8c6ff9e61eaf651044"; }
{ locale = "ar"; arch = "linux-i686"; sha256 = "a9b2138cacc983142353ec09a5c4226fc731501da4c0200cc86026e6b28ca10c"; }
{ locale = "ar"; arch = "linux-x86_64"; sha256 = "6c9a2ce8a8d3b4815475827caf89a3fee8371c422aa6c4984bb03f56728b682c"; }
{ locale = "es-ES"; arch = "linux-i686"; sha256 = "813260cf5ab06e55c563e015e0172ce0192ccdd894a352ef6d4f439252032619"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha256 = "c879fe62db6952f91c51ec7c172bc67d5351f55e99ab6df5cdd8639206f3444a"; }
{ locale = "fi"; arch = "linux-i686"; sha256 = "33888c19b7e5e57155748d7372ad2b0e61f522ee96913f8846c754c3361fcb4a"; }
{ locale = "fi"; arch = "linux-x86_64"; sha256 = "d5487588cf07cbd2b02b1c566b6515d087cf8fe9d528890b1dd5a0de53ab1d8c"; }
{ locale = "hu"; arch = "linux-i686"; sha256 = "72b3a36269de70bd627589bad817e7702a4c83fff9b460e4f787486fa4bf15c7"; }
{ locale = "hu"; arch = "linux-x86_64"; sha256 = "d458ed4b62f65ce7c3787930549cbee42842ae87a846e5d1565c1881b3bc17e8"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha256 = "3155a71e847020b2806f6b31acbaa702ccf20f8bd805c2aedb0c9c415f75b88f"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha256 = "b56beb864d247685cd9ba6820e5a8a143be28ff95440e38670c8963d2c769738"; }
{ locale = "uk"; arch = "linux-i686"; sha256 = "74b7059580a4f389278b1059d80308101ffcfd0a738c6d614e56560ce116db34"; }
{ locale = "uk"; arch = "linux-x86_64"; sha256 = "a351421c230f6629de0125a30767ff10d541264f6249f6fa2568eae76189398f"; }
{ locale = "ko"; arch = "linux-i686"; sha256 = "d26ba336a555276c36f9a003df9bc3e0df1c40dd4da7062d1cd8b3a6cba6d52c"; }
{ locale = "ko"; arch = "linux-x86_64"; sha256 = "078e5878f823b2d19568af8bda095e6ab46097a680b209bae9242d7658377abf"; }
{ locale = "cs"; arch = "linux-i686"; sha256 = "c9aaab25dabdba0708459a82882b926155b475314d72463633af10c27d9e5dfb"; }
{ locale = "cs"; arch = "linux-x86_64"; sha256 = "9a9fc61875f0427c26107b96ee3a6f7d71717c0d4aa6e41cc7b1b56bff2131e7"; }
{ locale = "be"; arch = "linux-i686"; sha256 = "afc862a2a1054f08cffa0ec4facb2e9098fb042f7e4dab85c2ace7f30a384426"; }
{ locale = "be"; arch = "linux-x86_64"; sha256 = "50353005857df556840fab0b18e8784dc18cbcdc5c45f4fc1f68f6b78b58048c"; }
{ locale = "ru"; arch = "linux-i686"; sha256 = "4876fcda18fd01b51f392a56085ebfcb97cefd69355666f42d58ffe53b9eb8e9"; }
{ locale = "ru"; arch = "linux-x86_64"; sha256 = "ef90a31aa408c6c86f3103d7bc82e3e8b5ac7bc9956d431ef46e1f44156b7dbf"; }
{ locale = "ta-LK"; arch = "linux-i686"; sha256 = "ee4a961e76e63a79d08118e2355e37b1b2a1e0260613532ac6dc7c9a9e86caf1"; }
{ locale = "ta-LK"; arch = "linux-x86_64"; sha256 = "9a1233c0ee7a72f8b1c071a6cd507d870d34bd64c71f7f960c00cf2e840ea5b1"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha256 = "00bf471763ca98d7c7e0243f5bbc75230b6cf8cea9c5dab17464c47544d102de"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha256 = "61e474bd0c930b9d6bcc553a87c07e415e1fe037dd033a6a97f9137d4fc73f49"; }
{ locale = "de"; arch = "linux-i686"; sha256 = "e93520901aa59938e1c51c9943225dded88c668a91da6660de9f41714114ac8b"; }
{ locale = "de"; arch = "linux-x86_64"; sha256 = "008156ddb73f4eb91d801d8bc35685e517328b5e5f13a4ed39873df471d01c67"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha256 = "20b3b10e12238238737fa0da3dce5e2fdff1161594b415c5872dd7416001482b"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha256 = "79f854469ac1a6fb0768934dc20ebc511a01904c71f321ed31ebe400ab88f4d8"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha256 = "61cec7fef6e75ecd7d459e973b258c5b62af0dbfd175b7000484594e63ead2e4"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha256 = "83b3761bfd949e3890c7006ba9610e858fab25815cd6e2f3f293ca707086a78c"; }
{ locale = "sq"; arch = "linux-i686"; sha256 = "f36321189ed80130b9e4a3a6e387531c48745f4c109f35afe928cf2d44e1b424"; }
{ locale = "sq"; arch = "linux-x86_64"; sha256 = "81da71b2ce832788213ed60f801fd79e61205a98c44e9082a35f2195af314de8"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha256 = "b759d93d78964eb8b9ce5aaad37d652fa425cfb5d6049f58a31c2492e3aa475d"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha256 = "62b32a8a4e7455c42bbf8cc5029919a64ca2ff61e06f535dd628a8dd612a15d9"; }
{ locale = "da"; arch = "linux-i686"; sha256 = "4ad6ede882e973b37627105812619d2e8c804d50d496d96f68554bf75ca093fe"; }
{ locale = "da"; arch = "linux-x86_64"; sha256 = "9fd6ce0edef1a8c8eb7d811afa39600a2c946f9ed87610a9e98a971d4cf31b08"; }
{ locale = "hr"; arch = "linux-i686"; sha256 = "35254ef736865d1a7c368e62c9cba68fa64b7f017aca4d9569aeb18b5f559717"; }
{ locale = "hr"; arch = "linux-x86_64"; sha256 = "6ff8a5b4ebfb9217b37afdfc4d5cab01f1ce66387010d2105a51bed486eea52c"; }
{ locale = "ca"; arch = "linux-i686"; sha256 = "eb4af3ff107f6827d0288bd68486b8eef174c5dc6e9b5313099d99b2e695db0d"; }
{ locale = "ca"; arch = "linux-x86_64"; sha256 = "80a6bf800a53af0cc9445c632546ce7cefcf5bd819e6e5e35e662330d58d757c"; }
{ locale = "en-US"; arch = "linux-i686"; sha256 = "ba35f578095f79582341e988ce7c5e07f489833f7a309756c80caf4f56367987"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha256 = "09c193e865e90b6d2c547c17d10add7d43e8b89b630a8a490323d4ed391c924d"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha256 = "57610296c564291a8432fdb9215bcfbab6f09792c47e5606c1619bb203c7f5de"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha256 = "c702acf69957ffd1c4774f42d4f28dc239a4c5bcf6e003c236952167bf9e7e9f"; }
{ locale = "gl"; arch = "linux-i686"; sha256 = "56ae2d38af2988791163e6b118c781d55e2c545097aa5afccc72998705312888"; }
{ locale = "gl"; arch = "linux-x86_64"; sha256 = "c5386f149831aa2f48b65391f31f8f2e0a9c3b7a8bcaae67420a5819e80315ec"; }
{ locale = "lt"; arch = "linux-i686"; sha256 = "8409401c0b87be071d081c03eb34e3338cb62e80669045f5d268f8da60d96bce"; }
{ locale = "lt"; arch = "linux-x86_64"; sha256 = "4f93e9b0688e30586b3d372944ae5579f7249220733d6045e6bca3830e7f121a"; }
{ locale = "en-GB"; arch = "linux-i686"; sha256 = "ae1608b9e15862f82d15c5acbcd9f65775efc4368588bc685ebff523ff93e2d6"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha256 = "2466f020209de610f429315e0b090b43cf42c9ce540c6bc51e7ad11f5a3449f5"; }
{ locale = "sl"; arch = "linux-i686"; sha256 = "76cbcf31388cbe72ebbf3fa3be66a0cfe20cd572febf062f3a58a9c50313aa03"; }
{ locale = "sl"; arch = "linux-x86_64"; sha256 = "e4aa9dd8bb21f3d79ce5f9cfc907fc8a355fef349dcdec30403d534bf3cfbdf6"; }
{ locale = "et"; arch = "linux-i686"; sha256 = "06561fa96d5166bfbe8eb492ebc08b3d2a768a8a7a251b357dec89ad33f3825e"; }
{ locale = "et"; arch = "linux-x86_64"; sha256 = "85e663261cc6722c25dd36e1c0a15b7a82a3a6aaca54191effe8ea09ccb8c43e"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha256 = "d80f116d39e48b42a767fbda5b6e765be4bc3d210cf95d80bb014606785be3e6"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha256 = "c2e124736d63581a3034e60fe3d40bfef9458a712853ab5c8c5d391a9d3af6a9"; }
];
arch = if stdenv.system == "i686-linux"
@ -263,4 +265,3 @@ stdenv.mkDerivation {
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,210 @@
version = if ARGV.empty?
"latest"
else
ARGV[0]
end
base_path = "download-installer.cdn.mozilla.net/pub/thunderbird/releases"
arches = ["linux-i686", "linux-x86_64"]
arches.each do |arch|
system("wget", "--recursive", "--continue", "--no-parent", "--reject-regex", ".*\\?.*", "--reject", "xpi", "http://#{base_path}/#{version}/#{arch}/")
end
locales = Dir.glob("#{base_path}/#{version}/#{arches[0]}/*").map do |path|
File.basename(path)
end
locales.delete("index.html")
locales.delete("xpi")
real_version = Dir.glob("#{base_path}/#{version}/#{arches[0]}/#{locales[0]}/thunderbird-*")[0].match(/thunderbird-([0-9.]*)/)[1][0..-2]
locale_arch_path_tuples = locales.flat_map do |locale|
arches.map do |arch|
path = Dir.glob("#{base_path}/#{version}/#{arch}/#{locale}/thunderbird-*")[0]
[locale, arch, path]
end
end
paths = locale_arch_path_tuples.map do |tuple| tuple[2] end
hashes = IO.popen(["sha256sum", "--binary", *paths]) do |input|
input.each_line.map do |line|
$stderr.puts(line)
line.match(/^[0-9a-f]*/)[0]
end
end
puts(<<"EOH")
# This file is generated from generate_nix.rb
# Execute the following command in a temporary directory to update the file.
#
# ruby generate_nix.rb > default.nix
{ stdenv, fetchurl, config
, gconf
, alsaLib
, at_spi2_atk
, atk
, cairo
, cups
, curl
, dbus_glib
, dbus_libs
, fontconfig
, freetype
, gdk_pixbuf
, glib
, glibc
, gst_plugins_base
, gstreamer
, gtk
, kerberos
, libX11
, libXScrnSaver
, libXext
, libXinerama
, libXrender
, libXt
, libcanberra
, libgnome
, libgnomeui
, mesa
, nspr
, nss
, pango
}:
let
version = "#{real_version}";
sources = [
EOH
locale_arch_path_tuples.zip(hashes) do |tuple, hash|
locale, arch, path = tuple
puts(%Q| { locale = "#{locale}"; arch = "#{arch}"; sha256 = "#{hash}"; }|)
end
puts(<<'EOF')
];
arch = if stdenv.system == "i686-linux"
then "linux-i686"
else "linux-x86_64";
isPrefixOf = prefix: string:
builtins.substring 0 (builtins.stringLength prefix) string == prefix;
sourceMatches = locale: source:
(isPrefixOf source.locale locale) && source.arch == arch;
systemLocale = config.i18n.defaultLocale or "en-US";
defaultSource = stdenv.lib.findFirst (sourceMatches "en-US") {} sources;
source = stdenv.lib.findFirst (sourceMatches systemLocale) defaultSource sources;
in
stdenv.mkDerivation {
name = "thunderbird-bin-${version}";
src = fetchurl {
url = "http://download-installer.cdn.mozilla.net/pub/thunderbird/releases/${version}/${source.arch}/${source.locale}/thunderbird-${version}.tar.bz2";
inherit (source) sha256;
};
phases = "unpackPhase installPhase";
libPath = stdenv.lib.makeLibraryPath
[ stdenv.gcc.gcc
gconf
alsaLib
at_spi2_atk
atk
cairo
cups
curl
dbus_glib
dbus_libs
fontconfig
freetype
gdk_pixbuf
glib
glibc
gst_plugins_base
gstreamer
gtk
kerberos
libX11
libXScrnSaver
libXext
libXinerama
libXrender
libXt
libcanberra
libgnome
libgnomeui
mesa
nspr
nss
pango
] + ":" + stdenv.lib.makeSearchPath "lib64" [
stdenv.gcc.gcc
];
installPhase =
''
mkdir -p "$prefix/usr/lib/thunderbird-bin-${version}"
cp -r * "$prefix/usr/lib/thunderbird-bin-${version}"
mkdir -p "$out/bin"
ln -s "$prefix/usr/lib/thunderbird-bin-${version}/thunderbird" "$out/bin/"
for executable in \
thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
updater
do
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
"$out/usr/lib/thunderbird-bin-${version}/$executable"
done
for executable in \
thunderbird mozilla-xremote-client thunderbird-bin plugin-container \
updater libxul.so
do
patchelf --set-rpath "$libPath" \
"$out/usr/lib/thunderbird-bin-${version}/$executable"
done
# Create a desktop item.
mkdir -p $out/share/applications
cat > $out/share/applications/thunderbird.desktop <<EOF
[Desktop Entry]
Type=Application
Exec=$out/bin/thunderbird
Icon=$out/lib/thunderbird-bin-${version}/chrome/icons/default/default256.png
Name=Thunderbird
GenericName=Mail Reader
Categories=Application;Network;
EOF
'';
meta = with stdenv.lib; {
description = "Mozilla Thunderbird, a full-featured email client";
homepage = http://www.mozilla.org/thunderbird/;
license = {
shortName = "unfree"; # not sure
fullName = "unfree";
url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
};
platforms = platforms.linux;
};
}
EOF

View File

@ -10,7 +10,7 @@ in
stdenv.mkDerivation {
name = "teamviewer-8.0.17147";
src = fetchurl {
url = "http://download.teamviewer.com/download/teamviewer_linux_x64.deb";
url = "http://download.teamviewer.com/download/version_8x/teamviewer_linux_x64.deb";
sha256 = "0s5m15f99rdmspzwx3gb9mqd6jx1bgfm0d6rfd01k9rf7gi7qk0k";
};

View File

@ -11,7 +11,7 @@ in
stdenv.mkDerivation {
name = "teamviewer-7.0.9377";
src = fetchurl {
url = "http://www.teamviewer.com/download/version_7x/teamviewer_linux.tar.gz";
url = "http://download.teamviewer.com/download/version_7x/teamviewer_linux.tar.gz";
sha256 = "1f8934jqj093m1z56yl6k2ah6njkk6pz1rjvpqnryi29pp5piaiy";
};

View File

@ -5,43 +5,39 @@ let
libPath = stdenv.lib.makeLibraryPath
[ stdenv.gcc.libc stdenv.gcc.gcc gtk gdk_pixbuf atk pango glib cairo
freetype fontconfig libxml2 gnome2.gtksourceview
];
] + ":${stdenv.gcc.gcc}/lib64";
patchLib = x: extra: "patchelf --set-rpath ${libPath}:${extra} ${x}";
patchExe = x: extra: ''
patchExe = x: ''
patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
--set-rpath ${libPath}:${extra} ${x}
--set-rpath ${libPath} ${x}
'';
in
stdenv.mkDerivation rec {
name = "verifast-${version}";
version = "13.11.14";
version = "14.5";
src = fetchurl {
url = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/verifast-13.11.14.tar.gz";
sha256 = "1ahay7achjsfz59d3b6vl1v91gr5j34vb494isqw3fsw5l8jd9p7";
url = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/${name}-x64.tar.gz";
sha256 = "03y1s6s2j9vqgiad0vbxriipsypxaylxxd3q36n9rvrc3lf9xra9";
};
dontStrip = true;
phases = "unpackPhase installPhase";
installPhase = ''
mkdir -p $out/bin
cp -R bin $out/libexec
${patchLib "$out/libexec/libz3-gmp.so" "$out/libexec"}
${patchExe "$out/libexec/vfide-core" "$out/libexec"}
${patchExe "$out/libexec/verifast-core" "$out/libexec"}
${patchExe "$out/libexec/verifast-core"}
${patchExe "$out/libexec/vfide-core"}
ln -s $out/libexec/verifast-core $out/bin/verifast
ln -s $out/libexec/vfide-core $out/bin/vfide
'';
phases = "unpackPhase installPhase";
meta = {
description = "Verification for C and Java programs via separation logic";
homepage = "http://people.cs.kuleuven.be/~bart.jacobs/verifast/";
license = stdenv.lib.licenses.msrla;
platforms = [ "i686-linux" ];
platforms = [ "x86_64-linux" ];
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
};
}

View File

@ -52,6 +52,8 @@ if test -z "$finalPath"; then
# Perform the checkout.
bzr -Ossl.cert_reqs=none export $revarg --format=dir "$tmpFile" "$url"
echo "bzr revision is $(bzr revno $revarg "$url")"
# Compute the hash.
hash=$(nix-hash --type $hashType $hashFormat $tmpFile)
if ! test -n "$QUIET"; then echo "hash is $hash" >&2; fi

View File

@ -217,7 +217,7 @@ clone_user_rev() {
fi;;
esac
echo "git revision is $(cd $dir && git rev-parse $rev)"
echo "git revision is $(cd $dir && (git rev-parse $rev 2> /dev/null || git rev-parse refs/heads/fetchgit) | tail -n1)"
# Allow doing additional processing before .git removal
eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK"

View File

@ -51,6 +51,7 @@ if test -z "$finalPath"; then
hg archive -q -y -r "$rev" --cwd $tmpClone $tmpArchive
rm -f $tmpArchive/.hg_archival.txt
echo "hg revision is $(cd $tmpClone; hg id -r "$rev" -i)"
# Compute the hash.
hash=$(nix-hash --type $hashType $hashFormat $tmpArchive)

View File

@ -56,6 +56,7 @@ if test -z "$finalPath"; then
fi
echo p | svn "$command" --quiet -r "$rev" "$url" "$tmpFile" >&2
echo "svn revision is $(svn info -r "$rev" "$url" | grep "Revision: " | cut -d' ' -f2)"
# Compute the hash.
hash=$(nix-hash --type $hashType $hashFormat $tmpFile)

View File

@ -1,28 +0,0 @@
{stdenv}:
stdenv.mkDerivation {
name = "nix-prefetch-tools";
src = "";
srcRoot=".";
prePhases = "undefUnpack";
undefUnpack = ''
unpackPhase () { :; };
'';
installPhase = ''
mkdir -p $out/bin
cp ${../fetchbzr/nix-prefetch-bzr} $out/bin
cp ${../fetchcvs/nix-prefetch-cvs} $out/bin
cp ${../fetchgit/nix-prefetch-git} $out/bin
cp ${../fetchhg/nix-prefetch-hg} $out/bin
cp ${../fetchsvn/nix-prefetch-svn} $out/bin
chmod a+x $out/bin/*
'';
meta = {
description = ''
A package to include all the NixPkgs prefetchers
'';
maintainers = with stdenv.lib.maintainers; [raskin];
platforms = with stdenv.lib.platforms; unix;
# Quicker to build than to download, I hope
hydraPlatforms = [];
};
}

View File

@ -106,7 +106,7 @@ rec {
gucharmap = callPackage ./core/gucharmap { };
gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; };
gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; lightWeight = false; };
eog = callPackage ./core/eog { };

View File

@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir $out $sdk
perl ./install-linux.pl --prefix="$out"
rm $out/tools/CUDA_Occupancy_Calculator.xls
perl ./install-sdk-linux.pl --prefix="$sdk" --cudaprefix="$out"
'';

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, ghc, perl, gmp, ncurses, happy, alex }:
stdenv.mkDerivation rec {
version = "7.9.20140430";
version = "7.9.20140608";
name = "ghc-${version}";
src = fetchurl {
url = "http://deb.haskell.org/dailies/2014-05-01/ghc_7.9.20140430.orig.tar.bz2";
sha256 = "072c1d71idi7jw711icn1wz4q64laasvb0ii8xvg5mbhi9szbwk4";
url = "http://deb.haskell.org/dailies/2014-06-08/ghc_${version}.orig.tar.bz2";
sha256 = "0x3hgh4zfns2m6bbq9xwwlafav0a29azl0xh8549za256clz97w1";
};
buildInputs = [ ghc perl gmp ncurses happy alex ];

View File

@ -0,0 +1,59 @@
{ stdenv, fetchgit, cmake, boost, libunwind, mariadb, libmemcached, pcre
, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php, re2c
, expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog
, bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
, libxslt, ocaml
}:
stdenv.mkDerivation rec {
name = "hhvm-${version}";
version = "3.1.0";
src = fetchgit {
url = "https://github.com/facebook/hhvm.git";
rev = "71ecbd8fb5e94b2a008387a2b5e9a8df5c6f5c7b";
sha256 = "1zv3k3bxahwyna2jgicwxm9lxs11jddpc9v41488rmzvfhdmzzkn";
fetchSubmodules = true;
};
buildInputs =
[ cmake boost libunwind mariadb libmemcached pcre libevent gd curl
libxml2 icu flex bison openssl zlib php expat libcap oniguruma
libdwarf libmcrypt tbb gperftools bzip2 openldap readline
libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml
];
enableParallelBuilding = true;
dontUseCmakeBuildDir = true;
dontUseCmakeConfigure = true;
NIX_LDFLAGS = "-lpam -L${pam}/lib";
USE_HHVM=1;
MYSQL_INCLUDE_DIR="${mariadb}/include/mysql";
MYSQL_DIR=mariadb;
patchPhase = ''
substituteInPlace hphp/util/generate-buildinfo.sh \
--replace /bin/bash ${stdenv.shell}
'';
installPhase = ''
mkdir -p $out/bin $out/lib
mv hphp/hhvm/hhvm $out/bin
mv hphp/hack/bin/hh_server $out/bin
mv hphp/hack/bin/hh_client $out/bin
mv hphp/hack/hhi $out/lib/hack-hhi
cat > $out/bin/hhvm-hhi-copy <<EOF
#!${stdenv.shell}
cp -R $out/lib/hack-hhi \$1
EOF
chmod +x $out/bin/hhvm-hhi-copy
'';
meta = {
description = "High-performance JIT compiler for PHP/Hack";
homepage = "http://hhvm.com";
license = "PHP/Zend";
platforms = [ "x86_64-linux" ];
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
};
}

View File

@ -1,61 +0,0 @@
{ stdenv, fetchurl, fetchgit, cmake, boost, libunwind, mysql, libmemcached, pcre
, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php, re2c
, expat, libcap, oniguruma, libdwarf, libmcrypt, inteltbb, gperftools, glog
, bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
}:
assert stdenv.system == "x86_64-linux";
let
src = fetchgit {
url = "git://github.com/facebook/hiphop-php.git";
rev = "1e23dec9f0b1ce8aaa5833d0527a369c8e254ffd";
sha256 = "0fblwgq8c3hmamw0m5d1mn8qhyqf14v2zf62cgrkvmbiz6jlrbr6";
};
libxml2_280 = stdenv.lib.overrideDerivation libxml2 (args: rec {
name = "libxml2-2.8.0";
src = fetchurl {
url = "ftp://xmlsoft.org/libxml2/${name}.tar.gz";
sha256 = "0ak2mjwvanz91nwxf1kkgbhrkm85vhhkpj7ymz8r6lb84bix1qpj";
};
patches = [];
});
fbPatch = "${src}/hphp/third_party/libevent-1.4.14.fb-changes.diff";
libeventFB = stdenv.lib.overrideDerivation libevent (args: { patches = [fbPatch]; });
in
stdenv.mkDerivation {
name = "hiphop-php-1e23dec9f0";
inherit src;
dontUseCmakeBuildDir = true;
dontUseCmakeConfigure = true;
USE_HHVM=1;
preConfigure = ''
export HPHP_LIB=$PWD/bin
export TBB_INSTALL_DIR=${inteltbb}
export TBB_ARCH_PLATFORM="intel64/cc4.1.0_libc2.4_kernel2.6.16.21"
sed 's=/bin/bash=/${stdenv.shell}=g' -i hphp/util/generate-buildinfo.sh
'';
NIX_LDFLAGS = "-lpam -L${pam}/lib";
MYSQL_INCLUDE_DIR="${mysql}/include/mysql";
MYSQL_DIR=mysql;
buildInputs = [
cmake boost libunwind mysql libmemcached pcre libeventFB gd curl
libxml2_280 icu flex bison openssl zlib php expat libcap oniguruma
libdwarf libmcrypt inteltbb gperftools bzip2 openldap readline
libelf uwimap binutils cyrus_sasl pam glog libpng
];
installPhase = ''
mkdir -p $out/bin
cp hphp/hhvm/hhvm $out/bin
'';
patches = [./tbb.patch];
meta = {
description = "High performance PHP toolchain";
homepage = https://github.com/facebook/hiphop-php;
platforms = ["x86_64-linux"];
};
}

View File

@ -1,13 +0,0 @@
diff --git a/CMake/FindTBB.cmake b/CMake/FindTBB.cmake
index 6a09c85..977418c 100644
--- a/CMake/FindTBB.cmake
+++ b/CMake/FindTBB.cmake
@@ -164,7 +164,7 @@ mark_as_advanced(TBB_INCLUDE_DIR)
#-- Look for libraries
# GvdB: $ENV{TBB_ARCH_PLATFORM} is set by the build script tbbvars[.bat|.sh|.csh]
if (NOT $ENV{TBB_ARCH_PLATFORM} STREQUAL "")
- set (TBB_LIBRARY_DIR "${_TBB_INSTALL_DIR}/$ENV{TBB_ARCH_PLATFORM}/lib")
+ set (TBB_LIBRARY_DIR "${_TBB_INSTALL_DIR}/lib/$ENV{TBB_ARCH_PLATFORM}")
else (NOT $ENV{TBB_ARCH_PLATFORM} STREQUAL "")
# HH: deprecated
message(STATUS "[Warning] FindTBB.cmake: The use of TBB_ARCHITECTURE and TBB_COMPILER is deprecated and may not be supported in future versions. Please set $ENV{TBB_ARCH_PLATFORM} (using tbbvars.[bat|csh|sh]).")

View File

@ -0,0 +1,27 @@
{ stdenv, fetchurl, perl, jdk, icu, zlib, gmp, readline }:
stdenv.mkDerivation rec {
name = "rakudo-star-${version}";
version = "2014.04";
src = fetchurl {
url = "http://rakudo.org/downloads/star/${name}.tar.gz";
sha256 = "0spdrxc2kiidpgni1vl71brgs4d76h8029w5jxvah3yvjcqixz7l";
};
buildInputs = [ icu zlib gmp readline jdk perl ];
configureScript = "perl ./Configure.pl";
configureFlags =
[ "--gen-moar"
"--gen-nqp"
"--gen-parrot"
];
meta = {
description = "A Perl 6 implementation";
homepage = "http://www.rakudo.org";
license = stdenv.lib.licenses.artistic2;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
};
}

View File

@ -1,22 +1,22 @@
{ cabal, ansiTerminal, deepseq, doctest, filepath, ghcPaths
{ cabal, ansiTerminal, async, deepseq, doctest, filepath, ghcPaths
, hspecExpectations, hspecMeta, HUnit, QuickCheck, quickcheckIo
, random, setenv, silently, tfRandom, time, transformers
}:
cabal.mkDerivation (self: {
pname = "hspec";
version = "1.9.5";
sha256 = "0y9gbm5rwwn80yzdllh1amaih4vxa61i9dzym88jr2kkwjrhxay4";
version = "1.10.0";
sha256 = "0lqc4sxl2c1rgnmp4a2fikc78f9caxswkmxfi8wajxlwaj58sy8p";
isLibrary = true;
isExecutable = true;
buildDepends = [
ansiTerminal deepseq filepath hspecExpectations HUnit QuickCheck
quickcheckIo random setenv tfRandom time transformers
ansiTerminal async deepseq filepath hspecExpectations HUnit
QuickCheck quickcheckIo random setenv tfRandom time transformers
];
testDepends = [
ansiTerminal deepseq doctest filepath ghcPaths hspecExpectations
hspecMeta HUnit QuickCheck quickcheckIo random setenv silently
tfRandom time transformers
ansiTerminal async deepseq doctest filepath ghcPaths
hspecExpectations hspecMeta HUnit QuickCheck quickcheckIo random
setenv silently tfRandom time transformers
];
doCheck = false;
meta = {

View File

@ -0,0 +1,29 @@
{ cabal, ansiTerminal, async, deepseq, doctest, filepath, ghcPaths
, hspecExpectations, hspecMeta, HUnit, ioMemoize, QuickCheck
, quickcheckIo, random, setenv, silently, tfRandom, time
, transformers
}:
cabal.mkDerivation (self: {
pname = "hspec2";
version = "0.3.0";
sha256 = "0ia19jraz2di31c48lh0kswkb2573jxm7msf33i8d5a5yq8y9wwp";
isLibrary = true;
isExecutable = true;
buildDepends = [
ansiTerminal async deepseq filepath hspecExpectations HUnit
ioMemoize QuickCheck quickcheckIo random setenv tfRandom time
transformers
];
testDepends = [
ansiTerminal async deepseq doctest filepath ghcPaths
hspecExpectations hspecMeta HUnit ioMemoize QuickCheck quickcheckIo
random setenv silently tfRandom time transformers
];
meta = {
homepage = "http://hspec.github.io/";
description = "Alpha version of Hspec 2.0";
license = self.stdenv.lib.licenses.mit;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,13 @@
{ cabal, spawn }:
cabal.mkDerivation (self: {
pname = "io-memoize";
version = "1.0.0.0";
sha256 = "1z6aimyg7wasaqmacpch7skfm9iyl7khd54lfmb8iwghyfvah5d0";
buildDepends = [ spawn ];
meta = {
description = "Memoize IO actions";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -13,6 +13,7 @@ cabal.mkDerivation (self: {
dataDefault hspec HUnit mtl network QuickCheck text time utf8String
];
jailbreak = true;
doCheck = false;
meta = {
homepage = "http://github.com/joachifm/libmpd-haskell#readme";
description = "An MPD client library";

View File

@ -0,0 +1,19 @@
{ cabal, pipes, pipesBytestring, pipesGroup, pipesParse, pipesSafe
, profunctors, text, textStreamDecode, transformers
}:
cabal.mkDerivation (self: {
pname = "pipes-text";
version = "0.0.0.10";
sha256 = "05lrxfy6cma7g5h41c74sc22p1y38kzbmiagr3grxk5a5110vhr1";
buildDepends = [
pipes pipesBytestring pipesGroup pipesParse pipesSafe profunctors
text textStreamDecode transformers
];
meta = {
homepage = "https://github.com/michaelt/text-pipes";
description = "Text pipes";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -0,0 +1,12 @@
{ cabal }:
cabal.mkDerivation (self: {
pname = "spawn";
version = "0.3";
sha256 = "0xkkl0w30rqif2jwdzjv239raly4yaf0116vkqcwh1i41jqn7ij8";
meta = {
description = "Tiny library for concurrent computations";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
};
})

View File

@ -1,14 +0,0 @@
{ cabal }:
cabal.mkDerivation (self: {
pname = "syb";
version = "0.2.2";
sha256 = "0m29vnqkkmpf4m3gi42kcbr2gfyxgkcw85xsyrq0mgbxb0zg6ky9";
meta = {
homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
description = "Scrap Your Boilerplate";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View File

@ -1,14 +0,0 @@
{ cabal }:
cabal.mkDerivation (self: {
pname = "syb";
version = "0.3.6.2";
sha256 = "0n1h0zlq2ygwkh7s914gfy4rg4b5kg6msd65id84c5412sri3mk4";
meta = {
homepage = "http://www.cs.uu.nl/wiki/GenericProgramming/SYB";
description = "Scrap Your Boilerplate";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
})

View File

@ -2,8 +2,8 @@
cabal.mkDerivation (self: {
pname = "syb";
version = "0.4.1";
sha256 = "1lkh4rrqdzvb8kyry07x2z88v478hrw5cp8wmhjgpg0ck8ywncma";
version = "0.4.2";
sha256 = "1gvyw2gbccip24wpp9xi6qgwvg4m5cijhzz1v51wvyamqv4p2b8l";
testDepends = [ HUnit mtl ];
doCheck = self.stdenv.lib.versionOlder self.ghc.version "7.9";
meta = {

View File

@ -1,29 +0,0 @@
{ stdenv, fetchurl }:
assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
stdenv.mkDerivation rec {
name = "intel-tbb-4.1";
src = fetchurl {
url = http://threadingbuildingblocks.org/sites/default/files/software_releases/linux/tbb41_20121003oss_lin.tgz;
sha256 = "12vxljcgkrcyw9mm8v5vfk03nkf3bmwz60r2qbljs0hl2yrx8jml";
};
buildPhase = ''
mkdir -p $out
cp -R * $out
for f in $out/lib/${if stdenv.system == "x86_64-linux" then "linux64" else "ia32"}/*.so.2; do
patchelf --set-rpath ${stdenv.gcc.gcc}/lib:${stdenv.gcc.gcc}/lib64 $f
done
rm $out/CHANGES $out/README $out/COPYING
'';
dontInstall = true;
meta = {
homepage = http://threadingbuildingblocks.org/;
};
}

View File

@ -17,7 +17,7 @@
with stdenv.lib;
let
v_maj = "5.1";
v_maj = "5.2";
v_min = "1";
ver = "${v_maj}.${v_min}";
in
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://download.qt-project.org/official_releases/qt/"
+ "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
sha256 = "4c05742db52325e96b1d610a2388140dcc1e3d03d93faea2b2d3791015b186f6";
sha256 = "18bxrnyis7xbhpxpf7w42i54hs4qr062b1wx4c0dpmja3lc29sc4";
};
# The version property must be kept because it will be included into the QtSDK package name
@ -151,7 +151,7 @@ stdenv.mkDerivation rec {
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
'';
#enableParallelBuilding = true; # often fails on Hydra, as well as qt4
enableParallelBuilding = true; # often fails on Hydra, as well as qt4
meta = {
homepage = http://qt-project.org;

View File

@ -1,15 +1,15 @@
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-08-25 20:03:35.000000000 +0200
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-09-25 17:43:14.047015411 +0200
@@ -93,7 +93,7 @@
static void resolveLibrary()
@@ -103,7 +103,7 @@
if (!lib.load())
#endif
{
#if !defined(QT_NO_LIBRARY) && !defined(Q_OS_QNX)
- QLibrary lib(QLatin1String("resolv"));
+ QLibrary lib(QLatin1String("@glibc@/lib/libresolv"));
- lib.setFileName(QLatin1String("resolv"));
+ lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
if (!lib.load())
return;
}
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-08-25 20:03:35.000000000 +0200
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-09-25 17:51:29.834674976 +0200

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "tbb-4.0-u5";
name = "tbb-4.2-u5";
src = fetchurl {
url = "http://threadingbuildingblocks.org/uploads/77/187/4.0%20update%205/tbb40_20120613oss_src.tgz";
sha256 = "aaa98146049e55f6ac969298340eeb49df61395403fcc1480824a4ecd0d46192";
url = "https://www.threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb42_20140601oss_src.tgz";
sha256 = "1zjh81hvfxvk1v1li27w1nm3bp6kqv913lxfb2pqa134dibw2pp7";
};
checkTarget = "test";
@ -22,10 +22,9 @@ stdenv.mkDerivation {
enableParallelBuilding = true;
meta = {
homepage = "http://threadingbuildingblocks.org/";
description = "Intel Thread Building Blocks C++ Library";
homepage = "http://threadingbuildingblocks.org/";
license = "LGPLv3+";
longDescription = ''
Intel Threading Building Blocks offers a rich and complete approach to
expressing parallelism in a C++ program. It is a library that helps you
@ -34,8 +33,7 @@ stdenv.mkDerivation {
represents a higher-level, task-based parallelism that abstracts platform
details and threading mechanisms for scalability and performance.
'';
maintainers = [ stdenv.lib.maintainers.simons ];
platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ simons thoughtpolice ];
};
}

View File

@ -11,6 +11,7 @@ stdenv.mkDerivation {
};
preConfigure = ''
rm BUILD # otherwise `mkdir build` fails on case insensitive file systems
sed -r -i \
-e 's/(install.*TARGET.*DESTINATION )\.\)/\1bin)/' \
-e 's!(install.*(FILE|DIR).*DESTINATION )([^)]*)!\1share/xpwn/\3!' \

View File

@ -135,8 +135,7 @@ python.stdenv.mkDerivation (attrs // {
runHook postInstall
'';
postFixup =
''
postFixup = attrs.postFixup or ''
wrapPythonPrograms
# If a user installs a Python package, they probably also wants its

View File

@ -24,6 +24,11 @@ buildPythonPackage {
checkPhase = "python selftest.py";
buildPhase = "python setup.py build_ext -i";
postInstall = ''
cd "$out"/lib/python*/site-packages
ln -s $PWD PIL
'';
meta = {
homepage = http://www.pythonware.com/products/pil/;
description = "The Python Imaging Library (PIL)";

View File

@ -3,8 +3,8 @@
with stdenv.lib;
let
baseVersion = "2.8";
revision = "1";
baseVersion = "3.1";
revision = "0";
version = "${baseVersion}.${revision}";
in
@ -16,8 +16,8 @@ stdenv.mkDerivation rec {
+ optionalString sdkBuild "-qt-${qtLib.version}";
src = fetchurl {
url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-${version}-src.tar.gz";
sha256 = "d5ae007a297a4288d0e95fd605edbfb8aee80f6788c7a6cfb9cb297f50c364b9";
url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.gz";
sha256 = "c8c648f4988b707393e0f1958a8868718f27e59263f05f3b6599fa62290c2bbf";
};
# This property can be used in a nix development environment to refer to the Qt package

View File

@ -1,7 +1,8 @@
{ stdenv, fetchurl, ghostscript, texinfo, imagemagick, texi2html, guile
, python, gettext, flex, perl, bison, pkgconfig, texLive, dblatex
, fontconfig, freetype, pango, fontforge, help2man, zip, netpbm, groff
, fetchsvn, makeWrapper }:
, fetchsvn, makeWrapper, t1utils
}:
stdenv.mkDerivation rec{
majorVersion="2.16";
@ -24,7 +25,7 @@ stdenv.mkDerivation rec{
'';
postInstall = ''
for f in "$out"/bin/*; do
for f in "$out/bin/"*; do
wrapProgram "$f" --set GUILE_AUTO_COMPILE 0 \
--set PATH "${ghostscript}/bin"
done
@ -35,7 +36,7 @@ stdenv.mkDerivation rec{
buildInputs =
[ ghostscript texinfo imagemagick texi2html guile dblatex zip netpbm
python gettext flex perl bison pkgconfig texLive fontconfig freetype pango
fontforge help2man groff makeWrapper
fontforge help2man groff makeWrapper t1utils
];
meta = {

View File

@ -0,0 +1,21 @@
{ fetchurl, stdenv, ncurses, autoconf, automake }:
stdenv.mkDerivation rec {
name = "htop-0.8.2.2";
src = fetchurl {
url = "https://github.com/max-horvath/htop-osx/archive/0.8.2.2.tar.gz";
sha256 = "0qxibadn2lfqn10a5jmkv8r5ljfs0vaaa4j6psd7ppxa2w6bx5li";
};
buildInputs = [ autoconf automake ncurses ];
preConfigure = "./autogen.sh";
meta = {
description = "An interactive process viewer for Mac OS X";
homepage = "https://github.com/max-horvath/htop-osx";
platforms = stdenv.lib.platforms.darwin;
maintainers = with stdenv.lib.maintainers; [ joelteon ];
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "t1utils-1.38";
src = fetchurl {
url = "http://www.lcdf.org/type/${name}.tar.gz";
sha256 = "1pnxpjabjyzfjrp319wsq4acxw99c8nnsaalbz7nwamj8kkim7zw";
};
meta = with stdenv.lib; {
description = "Collection of simple Type 1 font manipulation programs";
longDescription = ''
t1utils is a collection of simple type-1 font manipulation programs.
Together, they allow you to convert between PFA (ASCII) and PFB (binary)
formats, disassemble PFA or PFB files into human-readable form,
reassemble them into PFA or PFB format. Additionally you can extract font
resources from a Macintosh font file or create a Macintosh Type 1 font
file from a PFA or PFB font.
'';
homepage = http://www.lcdf.org/type/;
# README from tarball says "BSD-like" and points to non-existing LICENSE
# file...
license = "BSD-like";
platforms = platforms.linux;
maintainers = [ maintainers.bjornfor ];
};
}

View File

@ -0,0 +1,33 @@
{ stdenv, makeWrapper, git, subversion, mercurial, bazaar, cvs }:
stdenv.mkDerivation {
name = "nix-prefetch-scripts";
buildInputs = [ makeWrapper ];
phases = [ "installPhase" "fixupPhase" ];
installPhase = ''
mkdir -p $out/bin
function copyScript {
local name=nix-prefetch-$1;
local src=$2;
local exe=$3/bin;
cp $src $out/bin/$name;
wrapProgram $out/bin/$name --suffix PATH : "$exe"
}
copyScript "hg" ${../../../build-support/fetchhg/nix-prefetch-hg} ${mercurial}
copyScript "git" ${../../../build-support/fetchgit/nix-prefetch-git} ${git}
copyScript "svn" ${../../../build-support/fetchsvn/nix-prefetch-svn} ${subversion}
copyScript "bzr" ${../../../build-support/fetchbzr/nix-prefetch-bzr} ${bazaar}
copyScript "cvs" ${../../../build-support/fetchcvs/nix-prefetch-cvs} ${cvs}
'';
meta = with stdenv.lib; {
description = "Collection of all the nix-prefetch-* scripts which may be used to obtain source hashes";
maintainers = with maintainers; [ bennofs ];
platforms = with stdenv.lib.platforms; unix;
# Quicker to build than to download, I hope
hydraPlatforms = [];
};
}

View File

@ -1,6 +1,10 @@
{ stdenv, fetchurl
, coreutils, gnused, getopt, pwgen, git, tree, gnupg
, makeWrapper }:
, makeWrapper
, withX ? false, xclip ? null
}:
assert withX -> xclip != null;
stdenv.mkDerivation rec {
version = "1.6.2";
@ -51,6 +55,6 @@ stdenv.mkDerivation rec {
# Ensure all dependencies are in PATH
wrapProgram $out/bin/pass \
--prefix PATH : "${coreutils}/bin:${gnused}/bin:${getopt}/bin:${gnupg}/bin:${git}/bin:${tree}/bin:${pwgen}/bin"
--prefix PATH : "${coreutils}/bin:${gnused}/bin:${getopt}/bin:${gnupg}/bin:${git}/bin:${tree}/bin:${pwgen}/bin${if withX then ":${xclip}/bin" else ""}"
'';
}

View File

@ -0,0 +1,37 @@
{ stdenv, fetchurl, pythonPackages, python }:
pythonPackages.buildPythonPackage rec {
version = "1.6.1";
name = "ansible-${version}";
namePrefix = "";
src = fetchurl {
url = "https://github.com/ansible/ansible/archive/v${version}.tar.gz";
sha256 = "1iz1q2h0zll4qsxk0pndc59knasw663kv53sm21q57qz7lf30q9z";
};
prePatch = ''
sed -i "s,\/usr\/share\/ansible\/,$out/share/ansible," lib/ansible/constants.py
'';
doCheck = false;
dontStrip = true;
dontPatchELF = true;
dontPatchShebangs = true;
propagatedBuildInputs = with pythonPackages; [
paramiko jinja2 pyyaml httplib2 boto
];
postFixup = ''
wrapPythonProgramsIn $out/bin "$out $pythonPath"
'';
meta = with stdenv.lib; {
homepage = "http://www.ansible.com";
description = "A simple automation tool";
license = licenses.gpl3;
maintainers = [ maintainers.joamaki ];
platforms = platforms.linux; # Only tested on Linux
};
}

View File

@ -2114,6 +2114,8 @@ let
privoxy = callPackage ../tools/networking/privoxy { };
t1utils = callPackage ../tools/misc/t1utils { };
tarsnap = callPackage ../tools/backup/tarsnap { };
tcpcrypt = callPackage ../tools/security/tcpcrypt { };
@ -2939,11 +2941,8 @@ let
haxe = callPackage ../development/compilers/haxe { };
hiphopvm = callPackage ../development/interpreters/hiphopvm {
libevent = libevent14;
boost = boost149;
stdenv = overrideGCC stdenv gcc48;
};
hhvm = callPackage ../development/compilers/hhvm { };
hiphopvm = hhvm; /* Compatibility alias */
falcon = builderDefsPackage (import ../development/interpreters/falcon) {
inherit cmake;
@ -3552,6 +3551,8 @@ let
racket = callPackage ../development/interpreters/racket { };
rakudo = callPackage ../development/interpreters/rakudo { };
rascal = callPackage ../development/interpreters/rascal { };
regina = callPackage ../development/interpreters/regina { };
@ -3673,6 +3674,8 @@ let
### DEVELOPMENT / TOOLS
ansible = callPackage ../tools/system/ansible { };
antlr = callPackage ../development/tools/parsing/antlr/2.7.7.nix { };
antlr3 = callPackage ../development/tools/parsing/antlr { };
@ -4844,8 +4847,6 @@ let
iniparser = callPackage ../development/libraries/iniparser { };
inteltbb = callPackage ../development/libraries/intel-tbb { };
intltool = callPackage ../development/tools/misc/intltool { };
irrlicht3843 = callPackage ../development/libraries/irrlicht { };
@ -7062,7 +7063,12 @@ let
hostapd = callPackage ../os-specific/linux/hostapd { };
htop = callPackage ../os-specific/linux/htop { };
htop =
if stdenv.isLinux then
callPackage ../os-specific/linux/htop { }
else if stdenv.isDarwin then
callPackage ../os-specific/darwin/htop { }
else null;
# GNU/Hurd core packages.
gnu = recurseIntoAttrs (callPackage ../os-specific/gnu {
@ -10669,7 +10675,7 @@ let
tptp = callPackage ../applications/science/logic/tptp {};
verifast = callPackage_i686 ../applications/science/logic/verifast {};
verifast = callPackage ../applications/science/logic/verifast {};
why3 = callPackage ../applications/science/logic/why3 {};
@ -10901,7 +10907,7 @@ let
nixops = callPackage ../tools/package-management/nixops { };
nix-prefetch-tools = callPackage ../build-support/nix-prefetch-tools {};
nix-prefetch-scripts = callPackage ../tools/package-management/nix-prefetch-scripts { };
nix-repl = callPackage ../tools/package-management/nix-repl { };

View File

@ -15,14 +15,15 @@
# Older compilers inherit the overrides from newer ones.
ghcHEADPrefs = self : super : super // {
mtl = self.mtl_2_1_2;
cabalInstall_1_20_0_2 = super.cabalInstall_1_20_0_2.override { Cabal = null; };
mtl = self.mtl_2_2_1;
transformersCompat = super.transformersCompat_0_3_3;
};
ghc782Prefs = self : super : ghcHEADPrefs self super // {
cabalInstall_1_20_0_2 = super.cabalInstall_1_20_0_2.override { Cabal = self.Cabal_1_20_0_1; };
codex = super.codex.override { hackageDb = super.hackageDb.override { Cabal = self.Cabal_1_20_0_1; }; };
mtl = self.mtl_2_1_2;
};
ghc763Prefs = self : super : ghc782Prefs self super // {

View File

@ -1156,6 +1156,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
hspec = callPackage ../development/libraries/haskell/hspec {};
hspec2 = callPackage ../development/libraries/haskell/hspec2 {};
hspecExpectations = callPackage ../development/libraries/haskell/hspec-expectations {};
hspecExpectationsLens = callPackage ../development/libraries/haskell/hspec-expectations-lens {};
@ -1236,6 +1238,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
ioChoice = callPackage ../development/libraries/haskell/io-choice {};
ioMemoize = callPackage ../development/libraries/haskell/io-memoize {};
IORefCAS = callPackage ../development/libraries/haskell/IORefCAS {};
IOSpec = callPackage ../development/libraries/haskell/IOSpec {};
@ -1699,6 +1703,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
pipesSafe = callPackage ../development/libraries/haskell/pipes-safe {};
pipesText = callPackage ../development/libraries/haskell/pipes-text {};
pipesZlib = callPackage ../development/libraries/haskell/pipes-zlib {};
polyparse = callPackage ../development/libraries/haskell/polyparse {};
@ -1982,6 +1988,8 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
sparse = callPackage ../development/libraries/haskell/sparse {};
spawn = callPackage ../development/libraries/haskell/spawn {};
speculation = callPackage ../development/libraries/haskell/speculation {};
spoon = callPackage ../development/libraries/haskell/spoon {};
@ -2022,15 +2030,13 @@ self : let callPackage = x : y : modifyPrio (newScope self x y); in
stylishHaskell = callPackage ../development/libraries/haskell/stylish-haskell {};
syb_0_2_2 = callPackage ../development/libraries/haskell/syb/0.2.2.nix {};
syb_0_3 = callPackage ../development/libraries/haskell/syb/0.3.nix {};
syb_0_3_3 = callPackage ../development/libraries/haskell/syb/0.3.3.nix {};
syb_0_3_6_1 = callPackage ../development/libraries/haskell/syb/0.3.6.1.nix {};
syb_0_3_6_2 = callPackage ../development/libraries/haskell/syb/0.3.6.2.nix {};
syb_0_3_7 = callPackage ../development/libraries/haskell/syb/0.3.7.nix {};
syb_0_4_0 = callPackage ../development/libraries/haskell/syb/0.4.0.nix {};
syb_0_4_1 = callPackage ../development/libraries/haskell/syb/0.4.1.nix {};
syb = self.syb_0_4_1;
syb_0_4_2 = callPackage ../development/libraries/haskell/syb/0.4.2.nix {};
syb = self.syb_0_4_2;
sybWithClass = callPackage ../development/libraries/haskell/syb/syb-with-class.nix {};

File diff suppressed because it is too large Load Diff

View File

@ -131,5 +131,4 @@
, "sinon"
, "shelljs"
, "typescript"
, "vtop"
]

View File

@ -4073,7 +4073,7 @@ rec {
src = fetchurl {
url = "${meta.homepage}/download/${name}.tar.gz";
sha256 = "1ddqni6d4kc8ypl6yig4nc00izvbk359sz6hykb9g0lfcpfqlngj";
sha256 = "0mpyw8iw4l4jv175qlbn0rrlgiz1k79m44jncbdxfj8ddvvvyz2j";
};
buildInputs = [
@ -4090,7 +4090,7 @@ rec {
'';
meta = {
version = "0.9";
version = "0.10.1";
description = ''Man-in-the-middle proxy'';
homepage = "http://mitmproxy.org/";
license = licenses.mit;
@ -4385,7 +4385,7 @@ rec {
src = fetchurl {
url = "https://github.com/cortesi/netlib/archive/v${meta.version}.tar.gz";
name = "${name}.tar.gz";
sha256 = "1y8lx2j1jrr93mqfb06zg1x5jm9lllw744sb61ib8dagw43nnq3v";
sha256 = "1x2n126b7fal64fb5fzkp4by7ym0iswn3w9mh6pm4c1vjdpnk592";
};
buildInputs = [
@ -4395,7 +4395,7 @@ rec {
doCheck = false;
meta = {
version = "0.9";
version = "0.10";
description = ''Man-in-the-middle proxy'';
homepage = "https://github.com/cortesi/netlib";
license = licenses.mit;