Merge 'master' into staging

This commit is contained in:
Vladimír Čunát 2015-05-24 20:39:58 +02:00
commit f83d12a382
707 changed files with 16061 additions and 13247 deletions

View File

@ -1 +1 @@
15.05
15.06

View File

@ -1,12 +1,31 @@
[<img src="http://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />
](https://nixos.org/nixos)
[<img src="http://nixos.org/logo/nixos-hires.png" width="500px" alt="logo" />](https://nixos.org/nixos)
[![Build Status](https://travis-ci.org/NixOS/nixpkgs.svg?branch=master)](https://travis-ci.org/NixOS/nixpkgs) [![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/pr)](http://www.issuestats.com/github/nixos/nixpkgs) [![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/issue)](http://www.issuestats.com/github/nixos/nixpkgs)
[![Build Status](https://travis-ci.org/NixOS/nixpkgs.svg?branch=master)](https://travis-ci.org/NixOS/nixpkgs)
[![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/pr)](http://www.issuestats.com/github/nixos/nixpkgs)
[![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/issue)](http://www.issuestats.com/github/nixos/nixpkgs)
Nixpkgs is a collection of packages for [Nix](https://nixos.org/nix/) package
manager.
Nixpkgs is a collection of packages for the [Nix](https://nixos.org/nix/) package
manager. It is periodically built and tested by the [hydra](http://hydra.nixos.org/)
build daemon as so-called channels. To get channel information via git, add
[nixpkgs-channels](https://github.com/NixOS/nixpkgs-channels.git) as a remote:
[NixOS](https://nixos.org/nixos/) linux distribution source code is located inside `nixos/` folder.
```
% git remote add channels git://github.com/NixOS/nixpkgs-channels.git
```
For stability and maximum binary package support, it is recommended to maintain
custom changes on top of one of the channels, e.g. `nixos-14.12` for the latest
release and `nixos-unstable` for the latest successful build of master:
```
% git remote update channels
% git rebase channels/nixos-14.12
```
For pull-requests, please rebase onto nixpkgs `master`.
[NixOS](https://nixos.org/nixos/) linux distribution source code is located inside
`nixos/` folder.
* [NixOS installation instructions](https://nixos.org/nixos/manual/#ch-installation)
* [Documentation (Nix Expression Language chapter)](https://nixos.org/nix/manual/#ch-expression-language)

View File

@ -256,6 +256,12 @@ bound to the variable name <varname>e2fsprogs</varname> in
a package named <literal>hello-svn</literal> by
<command>nix-env</command>.</para></listitem>
<listitem><para>If package is fetched from git's commit then
the version part of the name <emphasis>must</emphasis> be the date of that
(fetched) commit. The date must be in <literal>"YYYY-MM-DD"</literal> format.
Also add <literal>"git"</literal> to the name - e.g.,
<literal>"pkgname-git-2014-09-23"</literal>.</para></listitem>
<listitem><para>Dashes in the package name should be preserved
in new variable names, rather than converted to underscores
(which was convention up to around 2013 and most names
@ -598,6 +604,51 @@ evaluate correctly.</para>
</section>
</section>
<section xml:id="sec-sources"><title>Fetching Sources</title>
<para>There are multiple ways to fetch a package source in nixpkgs. The
general guidline is that you should package sources with a high degree of
availability. Right now there is only one fetcher which has mirroring
support and that is <literal>fetchurl</literal>. Note that you should also
prefer protocols which have a corresponding proxy environment variable.
</para>
<para>You can find many source fetch helpers in <literal>pkgs/build-support/fetch*</literal>.
</para>
<para>In the file <literal>pkgs/top-level/all-packages.nix</literal> you can
find fetch helpers, these have names on the form
<literal>fetchFrom*</literal>. The intention of these are to provide
snapshot fetches but using the same api as some of the version controlled
fetchers from <literal>pkgs/build-support/</literal>. As an example going
from bad to good:
<itemizedlist>
<listitem><para>Uses <literal>git://</literal> which won't be proxied.
<programlisting>
src = fetchgit {
url = "git://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
}
</programlisting></para>
</listitem>
<listitem><para>This is ok, but an archive fetch will still be faster.
<programlisting>
src = fetchgit {
url = "https://github.com/NixOS/nix.git";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
sha256 = "1cw5fszffl5pkpa6s6wjnkiv6lm5k618s32sp60kvmvpy7a2v9kg";
}
</programlisting></para>
</listitem>
<listitem><para>Fetches a snapshot archive and you get the rev you want.
<programlisting>
src = fetchFromGitHub {
owner = "NixOS";
repo = "nix";
rev = "1f795f9f44607cc5bec70d1300150bfefcef2aae";
sha256 = "04yri911rj9j19qqqn6m82266fl05pz98inasni0vxr1cf1gdgv9";
}
</programlisting></para>
</listitem>
</itemizedlist>
</para>
</section>
</chapter>

View File

@ -662,20 +662,19 @@ standard Go packages.
<programlisting>
net = buildGoPackage rec {
name = "go.net-${rev}";
goPackagePath = "code.google.com/p/go.net"; <co xml:id='ex-buildGoPackage-1' />
goPackagePath = "golang.org/x/net"; <co xml:id='ex-buildGoPackage-1' />
subPackages = [ "ipv4" "ipv6" ]; <co xml:id='ex-buildGoPackage-2' />
rev = "28ff664507e4";
src = fetchhg {
rev = "e0403b4e005";
src = fetchFromGitHub {
inherit rev;
url = "https://${goPackagePath}";
sha256 = "1lkz4c9pyz3yz2yz18hiycvlfhgy3jxp68bs7mv7bcfpaj729qav";
owner = "golang";
repo = "net";
sha256 = "1g7cjzw4g4301a3yqpbk8n1d4s97sfby2aysl275x04g0zh8jxqp";
};
renameImports = [ <co xml:id='ex-buildGoPackage-3' />
"code.google.com/p/go.crypto golang.org/x/crypto"
"code.google.com/p/goprotobuf github.com/golang/protobuf"
];
goPackageAliases = [ "code.google.com/p/go.net" ]; <co xml:id='ex-buildGoPackage-3' />
propagatedBuildInputs = [ goPackages.text ]; <co xml:id='ex-buildGoPackage-4' />
buildFlags = "--tags release"; <co xml:id='ex-buildGoPackage-5' />
disabled = isGo13;<co xml:id='ex-buildGoPackage-6' />
};
</programlisting>
</example>
@ -703,17 +702,18 @@ the following arguments are of special significance to the function:
</para>
</callout>
<callout arearefs='ex-buildGoPackage-4'>
<callout arearefs='ex-buildGoPackage-3'>
<para>
<varname>renameImports</varname> is a list of import paths to be renamed before
building the package. The path to be renamed can be a regular expression.
<varname>goPackageAliases</varname> is a list of alternative import paths
that are valid for this library.
Packages that depend on this library will automatically rename
import paths that match any of the aliases to <literal>goPackagePath</literal>.
</para>
<para>
In this example imports will be renamed from
<literal>code.google.com/p/go.crypto</literal> to
<literal>golang.org/x/crypto</literal> and from
<literal>code.google.com/p/goprotobuf</literal> to
<literal>github.com/golang/protobuf</literal>.
<literal>code.google.com/p/go.net</literal> to
<literal>golang.org/x/net</literal> in every package that depend on the
<literal>go.net</literal> library.
</para>
</callout>
@ -732,6 +732,18 @@ the following arguments are of special significance to the function:
</para>
</callout>
<callout arearefs='ex-buildGoPackage-6'>
<para>
If <varname>disabled</varname> is <literal>true</literal>,
nix will refuse to build this package.
</para>
<para>
In this example the package will not be built for go 1.3. The <literal>isGo13</literal>
is an utility function that returns <literal>true</literal> if go used to build the
package has version 1.3.x.
</para>
</callout>
</calloutlist>
</para>

View File

@ -158,4 +158,27 @@ rec {
drv' = (lib.head outputsList).value;
in lib.deepSeq drv' drv';
/* Tests whether a derivation can be used by the current platform
Returns the derivation if true, otherwise null. */
shouldUsePkgSystem = system: pkg_: let pkg = (builtins.tryEval pkg_).value;
in if lib.any (x: x == system) (pkg.meta.platforms or [])
then pkg
else null;
/* Returns a configure flag string in an autotools format
trueStr: Prepended when cond is true
falseStr: Prepended when cond is false
cond: The condition for the prepended string type and value
name: The flag name
val: The value of the flag only set when cond is true */
mkFlag = trueStr: falseStr: cond: name: val:
if cond == null then null else
"--${if cond != false then trueStr else falseStr}${name}"
+ "${if val != null && cond != false then "=${val}" else ""}";
/* Flag setting helpers for autotools like packages */
mkEnable = mkFlag "enable-" "disable-";
mkWith = mkFlag "with-" "without-";
mkOther = mkFlag "" "" true;
}

View File

@ -43,6 +43,7 @@
bosu = "Boris Sukholitko <boriss@gmail.com>";
bramd = "Bram Duvigneau <bram@bramd.nl>";
bstrik = "Berno Strik <dutchman55@gmx.com>";
c0dehero = "CodeHero <codehero@nerdpol.ch>";
calrama = "Moritz Maxeiner <moritz@ucworks.org>";
campadrenalin = "Philip Horger <campadrenalin@gmail.com>";
cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
@ -116,6 +117,7 @@
kovirobi = "Kovacsics Robert <kovirobi@gmail.com>";
kragniz = "Louis Taylor <kragniz@gmail.com>";
ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
lassulus = "Lassulus <lassulus@gmail.com>";
lethalman = "Luca Bruno <lucabru@src.gnome.org>";
lhvwb = "Nathaniel Baxter <nathaniel.baxter@gmail.com>";
linquize = "Linquize <linquize@yahoo.com.hk>";
@ -132,6 +134,7 @@
meditans = "Carlo Nucera <meditans@gmail.com>";
meisternu = "Matt Miemiec <meister@krutt.org>";
michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
mschristiansen = "Mikkel Christiansen <mikkel@rheosystems.com>";
modulistic = "Pablo Costa <modulistic@gmail.com>";
mornfall = "Petr Ročkai <me@mornfall.net>";
MP2E = "Cray Elliott <MP2E@archlinux.us>";
@ -148,10 +151,12 @@
offline = "Jaka Hudoklin <jakahudoklin@gmail.com>";
olcai = "Erik Timan <dev@timan.info>";
orbitz = "Malcolm Matalka <mmatalka@gmail.com>";
osener = "Ozan Sener <ozan@ozansener.com>";
page = "Carles Pagès <page@cubata.homelinux.net>";
paholg = "Paho Lurie-Gregg <paho@paholg.com>";
pakhfn = "Fedor Pakhomov <pakhfn@gmail.com>";
pashev = "Igor Pashev <pashev.igor@gmail.com>";
pesterhazy = "Paulus Esterhazy <pesterhazy@gmail.com>";
phausmann = "Philipp Hausmann <nix@314.ch>";
philandstuff = "Philip Potter <philip.g.potter@gmail.com>";
phreedom = "Evgeny Egorochkin <phreedom@yandex.ru>";
@ -161,6 +166,7 @@
pkmx = "Chih-Mao Chen <pkmx.tw@gmail.com>";
plcplc = "Philip Lykke Carlsen <plcplc@gmail.com>";
pmahoney = "Patrick Mahoney <pat@polycrystal.org>";
pmiddend = "Philipp Middendorf <pmidden@secure.mailbox.org>";
prikhi = "Pavan Rikhi <pavan.rikhi@gmail.com>";
pSub = "Pascal Wittmann <mail@pascal-wittmann.de>";
puffnfresh = "Brian McKenna <brian@brianmckenna.org>";
@ -194,6 +200,7 @@
smironov = "Sergey Mironov <ierton@gmail.com>";
sprock = "Roger Mason <rmason@mun.ca>";
spwhitt = "Spencer Whitt <sw@swhitt.me>";
stephenmw = "Stephen Weinberg <stephen@q5comm.com>";
sztupi = "Attila Sztupak <attila.sztupak@gmail.com>";
tailhook = "Paul Colomiets <paul@colomiets.name>";
taktoa = "Remy Goldschmidt <taktoa@gmail.com>";
@ -221,6 +228,7 @@
winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
wizeman = "Ricardo M. Correia <rcorreia@wizy.org>";
wjlroe = "William Roe <willroe@gmail.com>";
womfoo = "Kranium Gikos Mendoza <kranium@gikos.net>";
wkennington = "William A. Kennington III <william@wkennington.com>";
wmertens = "Wout Mertens <Wout.Mertens@gmail.com>";
wscott = "Wayne Scott <wsc9tt@gmail.com>";

View File

@ -24,6 +24,9 @@ $ mkdir -p <replaceable>/my/sources</replaceable>
$ cd <replaceable>/my/sources</replaceable>
$ nix-env -i git
$ git clone git://github.com/NixOS/nixpkgs.git
$ cd nixpkgs
$ git remote add channels git://github.com/NixOS/nixpkgs-channels.git
$ git remote update channels
</screen>
This will check out the latest NixOS sources to
@ -31,7 +34,12 @@ This will check out the latest NixOS sources to
and the Nixpkgs sources to
<filename><replaceable>/my/sources</replaceable>/nixpkgs</filename>.
(The NixOS source tree lives in a subdirectory of the Nixpkgs
repository.)</para>
repository.) The remote <literal>channels</literal> refers to a
read-only repository that tracks the Nixpkgs/NixOS channels (see <xref
linkend="sec-upgrading"/> for more information about channels). Thus,
the Git branch <literal>channels/nixos-14.12</literal> will contain
the latest built and tested version available in the
<literal>nixos-14.12</literal> channel.</para>
<para>Its often inconvenient to develop directly on the master
branch, since if somebody has just committed (say) a change to GCC,
@ -40,28 +48,32 @@ rebuild everything from source. So you may want to create a local
branch based on your current NixOS version:
<screen>
$ <replaceable>/my/sources</replaceable>/nixpkgs/maintainers/scripts/update-channel-branches.sh
Fetching channels from https://nixos.org/channels:
* [new branch] cbe467e -> channels/remotes/nixos-unstable
Fetching channels from nixos-version:
* [new branch] 9ff4738 -> channels/current-system
Fetching channels from ~/.nix-defexpr:
* [new branch] 0d4acad -> channels/root/nixos
$ git checkout -b local channels/current-system
$ nixos-version
14.04.273.ea1952b (Baboon)
$ git checkout -b local ea1952b
</screen>
Or, to base your local branch on the latest version available in the
Or, to base your local branch on the latest version available in a
NixOS channel:
<screen>
$ <replaceable>/my/sources</replaceable>/nixpkgs/maintainers/scripts/update-channel-branches.sh
$ git checkout -b local channels/remotes/nixos-unstable
$ git remote update channels
$ git checkout -b local channels/nixos-14.12
</screen>
You can then use <command>git rebase</command> to sync your local
branch with the upstream branch, and use <command>git
cherry-pick</command> to copy commits from your local branch to the
upstream branch.</para>
(Replace <literal>nixos-14.12</literal> with the name of the channel
you want to use.) You can use <command>git merge</command> or
<command>git rebase</command> to keep your local branch in sync with
the channel, e.g.
<screen>
$ git remote update channels
$ git merge channels/nixos-14.12
</screen>
You can use <command>git cherry-pick</command> to copy commits from
your local branch to the upstream branch.</para>
<para>If you want to rebuild your system using your (modified)
sources, you need to tell <command>nixos-rebuild</command> about them

View File

@ -154,6 +154,15 @@ startAll;
log.</para></listitem>
</varlistentry>
<varlistentry>
<term><methodname>getScreenText</methodname></term>
<listitem><para>Return a textual representation of what is currently
visible on the machine's screen using optical character
recognition.</para>
<note><para>This requires passing <option>enableOCR</option> to the test
attribute set.</para></note></listitem>
</varlistentry>
<varlistentry>
<term><methodname>sendMonitorCommand</methodname></term>
<listitem><para>Send a command to the QEMU monitor. This is rarely
@ -237,6 +246,15 @@ startAll;
connections.</para></listitem>
</varlistentry>
<varlistentry>
<term><methodname>waitForText</methodname></term>
<listitem><para>Wait until the supplied regular expressions matches
the textual contents of the screen by using optical character recognition
(see <methodname>getScreenText</methodname>).</para>
<note><para>This requires passing <option>enableOCR</option> to the test
attribute set.</para></note></listitem>
</varlistentry>
<varlistentry>
<term><methodname>waitForWindow</methodname></term>
<listitem><para>Wait until an X11 window has appeared whose name

View File

@ -17,6 +17,7 @@
<itemizedlist>
<listitem><para><literal>brltty</literal></para></listitem>
<listitem><para><literal>marathon</literal></para></listitem>
</itemizedlist>
</para>
@ -61,6 +62,15 @@ was accordingly renamed to <literal>bomi</literal>
</para>
</listitem>
<listitem>
<para>
HPLIP (printer, scanner, and fax drivers for HP devices) has
been updated to version <literal>3.15.4</literal>. This release
adds support for the <literal>arm6l-linux</literal> and
<literal>arm7l-linux</literal> platforms.
</para>
</listitem>
</itemizedlist>
</para>

View File

@ -9,6 +9,7 @@ use FileHandle;
use Cwd;
use File::Basename;
use File::Path qw(make_path);
use File::Slurp;
my $showGraphics = defined $ENV{'DISPLAY'};
@ -493,6 +494,44 @@ sub screenshot {
}
# Take a screenshot and return the result as text using optical character
# recognition.
sub getScreenText {
my ($self) = @_;
system("command -v tesseract &> /dev/null") == 0
or die "getScreenText used but enableOCR is false";
my $text;
$self->nest("performing optical character recognition", sub {
my $tmpbase = Cwd::abs_path(".")."/ocr";
my $tmpin = $tmpbase."in.ppm";
my $tmpout = "$tmpbase.ppm";
$self->sendMonitorCommand("screendump $tmpin");
system("ppmtopgm $tmpin | pamscale 4 -filter=lanczos > $tmpout") == 0
or die "cannot scale screenshot";
unlink $tmpin;
system("tesseract $tmpout $tmpbase") == 0 or die "OCR failed";
unlink $tmpout;
$text = read_file("$tmpbase.txt");
unlink "$tmpbase.txt";
});
return $text;
}
# Wait until a specific regexp matches the textual contents of the screen.
sub waitForText {
my ($self, $regexp) = @_;
$self->nest("waiting for $regexp to appear on the screen", sub {
retry sub {
return 1 if $self->getScreenText =~ /$regexp/;
}
});
}
# Wait until it is possible to connect to the X server. Note that
# testing the existence of /tmp/.X11-unix/X0 is insufficient.
sub waitForX {

View File

@ -28,7 +28,7 @@ rec {
wrapProgram $out/bin/nixos-test-driver \
--prefix PATH : "${qemu_kvm}/bin:${vde2}/bin:${netpbm}/bin:${coreutils}/bin" \
--prefix PERL5LIB : "${lib.makePerlPath [ perlPackages.TermReadLineGnu perlPackages.XMLWriter perlPackages.IOTty ]}:$out/lib/perl5/site_perl"
--prefix PERL5LIB : "${with perlPackages; lib.makePerlPath [ TermReadLineGnu XMLWriter IOTty FileSlurp ]}:$out/lib/perl5/site_perl"
'';
};
@ -68,7 +68,12 @@ rec {
makeTest =
{ testScript, makeCoverageReport ? false, name ? "unnamed", ... } @ t:
{ testScript
, makeCoverageReport ? false
, enableOCR ? false
, name ? "unnamed"
, ...
} @ t:
let
testDriverName = "nixos-test-driver-${name}";
@ -86,6 +91,8 @@ rec {
vms = map (m: m.config.system.build.vm) (lib.attrValues nodes);
ocrProg = tesseract.override { enableLanguages = [ "eng" ]; };
# Generate onvenience wrappers for running the test driver
# interactively with the specified network, and for starting the
# VMs from the command line.
@ -102,12 +109,14 @@ rec {
vms="$(for i in ${toString vms}; do echo $i/bin/run-*-vm; done)"
wrapProgram $out/bin/nixos-test-driver \
--add-flags "$vms" \
${lib.optionalString enableOCR "--prefix PATH : '${ocrProg}/bin'"} \
--run "testScript=\"\$(cat $out/test-script)\"" \
--set testScript '"$testScript"' \
--set VLANS '"${toString vlans}"'
ln -s ${testDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms
wrapProgram $out/bin/nixos-run-vms \
--add-flags "$vms" \
${lib.optionalString enableOCR "--prefix PATH : '${ocrProg}/bin'"} \
--set tests '"startAll; joinAll;"' \
--set VLANS '"${toString vlans}"' \
${lib.optionalString (builtins.length vms == 1) "--set USE_SERIAL 1"}

View File

@ -1,5 +1,5 @@
# This module generates the nixos-checkout script, which replaces the
# Nixpkgs source trees in /etc/nixos/nixpkgs with a Git checkout.
# This module generates the nixos-checkout script, which performs a
# checkout of the Nixpkgs Git repository.
{ config, lib, pkgs, ... }:
@ -37,8 +37,19 @@ let
mv nixpkgs nixpkgs-$backupTimestamp
fi
# Check out the NixOS and Nixpkgs sources.
git clone git://github.com/NixOS/nixpkgs.git nixpkgs
# Check out the Nixpkgs sources.
if ! [ -e nixpkgs/.git ]; then
echo "Creating repository in $prefix/nixpkgs..."
git init --quiet nixpkgs
else
echo "Updating repository in $prefix/nixpkgs..."
fi
cd nixpkgs
git remote add origin git://github.com/NixOS/nixpkgs.git || true
git remote add channels git://github.com/NixOS/nixpkgs-channels.git || true
git remote set-url origin --push git@github.com:NixOS/nixpkgs.git
git remote update
git checkout master
'';
};

View File

@ -196,7 +196,6 @@
nylon = 168;
apache-kafka = 169;
panamax = 170;
marathon = 171;
exim = 172;
#fleet = 173; # unused
#input = 174; # unused
@ -217,6 +216,7 @@
lambdabot = 191;
asterisk = 192;
plex = 193;
bird = 195;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -390,7 +390,6 @@
gitlab = 165;
nylon = 168;
panamax = 170;
#marathon = 171; # unused
exim = 172;
fleet = 173;
input = 174;
@ -412,6 +411,7 @@
#asterisk = 192; # unused
plex = 193;
sabnzbd = 194;
bird = 195;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View File

@ -62,6 +62,7 @@
./programs/environment.nix
./programs/info.nix
./programs/ibus.nix
./programs/kbdlight.nix
./programs/light.nix
./programs/nano.nix
./programs/screen.nix
@ -251,8 +252,10 @@
./services/networking/atftpd.nix
./services/networking/avahi-daemon.nix
./services/networking/bind.nix
./services/networking/bird.nix
./services/networking/bitlbee.nix
./services/networking/btsync.nix
./services/networking/charybdis.nix
./services/networking/chrony.nix
./services/networking/cjdns.nix
./services/networking/cntlm.nix
@ -288,6 +291,7 @@
./services/networking/nat.nix
./services/networking/networkmanager.nix
./services/networking/ngircd.nix
./services/networking/nix-serve.nix
./services/networking/notbit.nix
./services/networking/nsd.nix
./services/networking/ntopng.nix
@ -408,6 +412,7 @@
./system/boot/loader/efi.nix
./system/boot/loader/loader.nix
./system/boot/loader/generations-dir/generations-dir.nix
./system/boot/loader/generic-extlinux-compatible
./system/boot/loader/grub/grub.nix
./system/boot/loader/grub/ipxe.nix
./system/boot/loader/grub/memtest.nix
@ -460,5 +465,6 @@
./virtualisation/openvswitch.nix
./virtualisation/parallels-guest.nix
./virtualisation/virtualbox-guest.nix
./virtualisation/vmware-guest.nix
./virtualisation/xen-dom0.nix
]

View File

@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.kbdlight;
in
{
options.programs.kbdlight.enable = mkEnableOption "kbdlight";
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.kbdlight ];
security.setuidPrograms = [ "kbdlight" ];
};
}

View File

@ -3,13 +3,13 @@
with lib;
let
inherit (pkgs) postgresql gzip;
inherit (pkgs) gzip;
location = config.services.postgresqlBackup.location ;
location = config.services.postgresqlBackup.location;
postgresqlBackupCron = db:
''
${config.services.postgresqlBackup.period} root ${postgresql}/bin/pg_dump ${db} | ${gzip}/bin/gzip -c > ${location}/${db}.gz
${config.services.postgresqlBackup.period} root ${config.services.postgresql.package}/bin/pg_dump ${db} | ${gzip}/bin/gzip -c > ${location}/${db}.gz
'';
in

View File

@ -30,6 +30,30 @@ in
default = "plex";
description = "Group under which Plex runs.";
};
managePlugins = mkOption {
type = types.bool;
default = true;
description = ''
If set to true, this option will cause all of the symlinks in Plex's
plugin directory to be removed and symlinks for paths specified in
<option>extraPlugins</option> to be added.
'';
};
extraPlugins = mkOption {
type = types.listOf types.path;
default = [];
description = ''
A list of paths to extra plugin bundles to install in Plex's plugin
directory. Every time the systemd unit for Plex starts up, all of the
symlinks in Plex's plugin directory will be cleared and this module
will symlink all of the paths specified here to that directory. If
this behavior is undesired, set <option>managePlugins</option> to
false.
'';
};
};
};
@ -45,13 +69,48 @@ in
mkdir -p "${cfg.dataDir}"
chown -R ${cfg.user}:${cfg.group} "${cfg.dataDir}"
}
# Copy the database skeleton files to /var/lib/plex/.skeleton
# See the the Nix expression for Plex's package for more information on
# why this is done.
test -d "${cfg.dataDir}/.skeleton" || mkdir "${cfg.dataDir}/.skeleton"
for db in "com.plexapp.plugins.library.db"; do
cp "${plex}/usr/lib/plexmediaserver/Resources/base_$db" "${cfg.dataDir}/.skeleton/$db"
chmod u+w "${cfg.dataDir}/.skeleton/$db"
chown ${cfg.user}:${cfg.group} "${cfg.dataDir}/.skeleton/$db"
done
# If managePlugins is enabled, setup symlinks for plugins.
${optionalString cfg.managePlugins ''
echo "Preparing plugin directory."
PLUGINDIR="${cfg.dataDir}/Plex Media Server/Plug-ins"
test -d "$PLUGINDIR" || {
mkdir -p "$PLUGINDIR";
chown ${cfg.user}:${cfg.group} "$PLUGINDIR";
}
echo "Removing old symlinks."
# First, remove all of the symlinks in the directory.
for f in `ls "$PLUGINDIR/"`; do
if [[ -L "$PLUGINDIR/$f" ]]; then
echo "Removing plugin symlink $PLUGINDIR/$f."
rm "$PLUGINDIR/$f"
fi
done
echo "Symlinking plugins."
for path in ${toString cfg.extraPlugins}; do
dest="$PLUGINDIR/$(basename $path)"
if [[ ! -d "$path" ]]; then
echo "Error symlinking plugin from $path: no such directory."
elif [[ -d "$dest" || -L "$dest" ]]; then
echo "Error symlinking plugin from $path to $dest: file or directory already exists."
else
echo "Symlinking plugin at $path..."
ln -s "$path" "$dest"
fi
done
''}
'';
serviceConfig = {
Type = "simple";

View File

@ -0,0 +1,76 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkEnableOption mkIf mkOption singleton types;
inherit (pkgs) bird;
cfg = config.services.bird;
configFile = pkgs.writeText "bird.conf" ''
${cfg.config}
'';
in
{
###### interface
options = {
services.bird = {
enable = mkEnableOption "BIRD Internet Routing Daemon";
config = mkOption {
type = types.string;
description = ''
BIRD Internet Routing Daemon configuration file.
<link xlink:href='http://bird.network.cz/'/>
'';
};
user = mkOption {
type = types.string;
default = "ircd";
description = ''
BIRD Internet Routing Daemon user.
'';
};
group = mkOption {
type = types.string;
default = "ircd";
description = ''
BIRD Internet Routing Daemon group.
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
users.extraUsers = singleton {
name = cfg.user;
description = "BIRD Internet Routing Daemon user";
uid = config.ids.uids.bird;
group = cfg.group;
};
users.extraGroups = singleton {
name = cfg.group;
gid = config.ids.gids.bird;
};
systemd.services.bird = {
description = "BIRD Internet Routing Daemon";
wantedBy = [ "multi-user.target" ];
serviceConfig = {
ExecStart = "${bird}/bin/bird -d -c ${configFile} -s /var/run/bird.ctl -u ${cfg.user} -g ${cfg.group}";
};
};
};
}

View File

@ -0,0 +1,98 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkEnableOption mkIf mkOption singleton types;
inherit (pkgs) coreutils charybdis;
cfg = config.services.charybdis;
configFile = pkgs.writeText "charybdis.conf" ''
${cfg.config}
'';
in
{
###### interface
options = {
services.charybdis = {
enable = mkEnableOption "Charybdis IRC daemon";
config = mkOption {
type = types.string;
description = ''
Charybdis IRC daemon configuration file.
'';
};
statedir = mkOption {
type = types.string;
default = "/var/lib/charybdis";
description = ''
Location of the state directory of charybdis.
'';
};
user = mkOption {
type = types.string;
default = "ircd";
description = ''
Charybdis IRC daemon user.
'';
};
group = mkOption {
type = types.string;
default = "ircd";
description = ''
Charybdis IRC daemon group.
'';
};
};
};
###### implementation
config = mkIf cfg.enable {
users.extraUsers = singleton {
name = cfg.user;
description = "Charybdis IRC daemon user";
uid = config.ids.uids.ircd;
group = cfg.group;
};
users.extraGroups = singleton {
name = cfg.group;
gid = config.ids.gids.ircd;
};
systemd.services.charybdis = {
description = "Charybdis IRC daemon";
wantedBy = [ "multi-user.target" ];
environment = {
BANDB_DBPATH = "${cfg.statedir}/ban.db";
};
serviceConfig = {
ExecStart = "${charybdis}/bin/charybdis-ircd -foreground -logfile /dev/stdout -configfile ${configFile}";
Group = cfg.group;
User = cfg.user;
PermissionsStartOnly = true; # preStart needs to run with root permissions
};
preStart = ''
if ! test -d /var/lib/charybdis; then
${coreutils}/bin/mkdir -p ${cfg.statedir}
${coreutils}/bin/chown ${cfg.user}:${cfg.group} ${cfg.statedir}
fi
'';
};
};
}

View File

@ -6,11 +6,9 @@ let
dataDir = "/var/lib/consul";
cfg = config.services.consul;
configOptions = {
data_dir = dataDir;
}
// (if cfg.webUi then { ui_dir = "${pkgs.consul.ui}"; } else { })
// cfg.extraConfig;
configOptions = { data_dir = dataDir; } //
(if cfg.webUi then { ui_dir = "${pkgs.consul.ui}"; } else { }) //
cfg.extraConfig;
configFiles = [ "/etc/consul.json" "/etc/consul-addrs.json" ]
++ cfg.extraConfigFiles;
@ -52,23 +50,6 @@ in
'';
};
joinNodes = mkOption {
type = types.listOf types.str;
default = [ ];
description = ''
A list of addresses of nodes which should be joined at startup if the
current node is in a left state.
'';
};
joinRetries = mkOption {
type = types.int;
default = 10;
description = ''
The number of times to retry connecting to the join nodes.
'';
};
interface = {
advertise = mkOption {
@ -159,10 +140,14 @@ in
users.extraUsers."consul" = {
description = "Consul agent daemon user";
uid = config.ids.uids.consul;
# The shell is needed for health checks
shell = "/run/current-system/sw/bin/bash";
};
environment = {
etc."consul.json".text = builtins.toJSON configOptions;
# We need consul.d to exist for consul to start
etc."consul.d/dummy.json".text = "{ }";
systemPackages = with pkgs; [ consul ];
};
@ -170,10 +155,12 @@ in
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ] ++ systemdDevices;
bindsTo = systemdDevices;
restartTriggers = [ config.environment.etc."consul.json".source ];
restartTriggers = [ config.environment.etc."consul.json".source ]
++ mapAttrsToList (_: d: d.source)
(filterAttrs (n: _: hasPrefix "consul.d/" n) config.environment.etc);
serviceConfig = {
ExecStart = "@${pkgs.consul}/bin/consul consul agent"
ExecStart = "@${pkgs.consul}/bin/consul consul agent -config-dir /etc/consul.d"
+ concatMapStrings (n: " -config-file ${n}") configFiles;
ExecReload = "${pkgs.consul}/bin/consul reload";
PermissionsStartOnly = true;
@ -219,18 +206,6 @@ in
+ ''
echo "}" >> /etc/consul-addrs.json
'';
postStart = ''
# Issues joins to nodes which we statically connect to
${flip concatMapStrings cfg.joinNodes (addr: ''
for i in {0..${toString cfg.joinRetries}}; do
# Try to join the other nodes ${toString cfg.joinRetries} times before failing
consul join "${addr}" && break
sleep 1
done &
'')}
wait
exit 0
'';
};
systemd.services.consul-alerts = mkIf (cfg.alerts.enable) {

View File

@ -0,0 +1,56 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.nix-serve;
in
{
options = {
services.nix-serve = {
enable = mkEnableOption "nix-serve, the standalone Nix binary cache server";
port = mkOption {
type = types.int;
default = 5000;
description = ''
Port number where nix-serve will listen on.
'';
};
bindAddress = mkOption {
type = types.string;
default = "0.0.0.0";
description = ''
IP address where nix-serve will bind its listening socket.
'';
};
extraParams = mkOption {
type = types.string;
default = "";
description = ''
Extra command line parameters for nix-serve.
'';
};
};
};
config = mkIf cfg.enable {
systemd.services.nix-serve = {
description = "nix-serve binary cache server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
path = [ config.nix.package pkgs.bzip2 ];
environment.NIX_REMOTE = "daemon";
serviceConfig = {
ExecStart = "${pkgs.nix-serve}/bin/nix-serve " +
"--port ${cfg.bindAddress}:${toString cfg.port} ${cfg.extraParams}";
User = "nobody";
Group = "nogroup";
};
};
};
}

View File

@ -268,6 +268,16 @@ in
};
};
moduliFile = mkOption {
example = "services.openssh.moduliFile = /etc/my-local-ssh-moduli;";
type = types.path;
description = ''
Path to <literal>moduli</literal> file to install in
<literal>/etc/ssh/moduli</literal>. If this option is unset, then
the <literal>moduli</literal> file shipped with OpenSSH will be used.
'';
};
};
users.extraUsers = mkOption {
@ -282,12 +292,14 @@ in
config = mkIf cfg.enable {
users.extraUsers.sshd =
{ description = "SSH privilege separation user";
home = "/var/empty";
{ isSystemUser = true;
description = "SSH privilege separation user";
};
services.openssh.moduliFile = mkDefault "${cfgc.package}/etc/ssh/moduli";
environment.etc = authKeysFiles ++ [
{ source = "${cfgc.package}/etc/ssh/moduli";
{ source = cfg.moduliFile;
target = "ssh/moduli";
}
{ text = knownHostsText;

View File

@ -154,6 +154,7 @@ in
users.extraUsers = flip mapAttrs' cfg.networks (network: _:
nameValuePair ("tinc.${network}") ({
description = "Tinc daemon user for ${network}";
isSystemUser = true;
})
);

View File

@ -12,27 +12,56 @@ in {
options.services.marathon = {
enable = mkOption {
description = "Whether to enable the marathon mesos framework.";
default = false;
type = types.uniq types.bool;
default = false;
description = ''
Whether to enable the marathon mesos framework.
'';
};
httpPort = mkOption {
description = "Marathon listening port";
default = 8080;
type = types.int;
default = 8080;
description = ''
Marathon listening port for HTTP connections.
'';
};
master = mkOption {
description = "Marathon mesos master zookeeper address";
default = "zk://${head cfg.zookeeperHosts}/mesos";
type = types.str;
default = "zk://${concatStringsSep "," cfg.zookeeperHosts}/mesos";
example = "zk://1.2.3.4:2181,2.3.4.5:2181,3.4.5.6:2181/mesos";
description = ''
Mesos master address. See <link xlink:href="https://mesosphere.github.io/marathon/docs/"/> for details.
'';
};
zookeeperHosts = mkOption {
description = "Marathon mesos zookepper addresses";
default = [ "localhost:2181" ];
type = types.listOf types.str;
default = [ "localhost:2181" ];
example = [ "1.2.3.4:2181" "2.3.4.5:2181" "3.4.5.6:2181" ];
description = ''
ZooKeeper hosts' addresses.
'';
};
extraCmdLineOptions = mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "--https_port=8443" "--zk_timeout=10000" "--marathon_store_timeout=2000" ];
description = ''
Extra command line options to pass to Marathon.
See <link xlink:href="https://mesosphere.github.io/marathon/docs/command-line-flags.html"/> for all possible flags.
'';
};
environment = mkOption {
default = { };
type = types.attrs;
example = { JAVA_OPTS = "-Xmx512m"; MESOSPHERE_HTTP_CREDENTIALS = "username:password"; };
description = ''
Environment variables passed to Marathon.
'';
};
};
@ -41,17 +70,19 @@ in {
config = mkIf cfg.enable {
systemd.services.marathon = {
description = "Marathon Service";
environment = cfg.environment;
wantedBy = [ "multi-user.target" ];
after = [ "network-interfaces.target" "zookeeper.service" "mesos-master.service" "mesos-slave.service" ];
serviceConfig = {
ExecStart = "${pkgs.marathon}/bin/marathon --master ${cfg.master} --zk zk://${head cfg.zookeeperHosts}/marathon";
ExecStart = "${pkgs.marathon}/bin/marathon --master ${cfg.master} --zk zk://${concatStringsSep "," cfg.zookeeperHosts}/marathon --http_port ${toString cfg.httpPort} ${concatStringsSep " " cfg.extraCmdLineOptions}";
User = "marathon";
Restart = "always";
RestartSec = "2";
};
};
users.extraUsers.marathon = {
uid = config.ids.uids.marathon;
description = "Marathon mesos framework user";
};
};

View File

@ -42,7 +42,10 @@ in
config = mkIf cfg.enable {
users.extraUsers.nscd.description = "Name service cache daemon user";
users.extraUsers.nscd =
{ isSystemUser = true;
description = "Name service cache daemon user";
};
systemd.services.nscd =
{ description = "Name Service Cache Daemon";

View File

@ -45,7 +45,7 @@ in {
environment.gnome3.packageSet = mkOption {
default = null;
example = literalExample "pkgs.gnome3_12";
example = literalExample "pkgs.gnome3_16";
description = "Which GNOME 3 package set to use.";
apply = p: if p == null then pkgs.gnome3 else p;
};
@ -109,9 +109,6 @@ in {
# Override default mimeapps
export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${mimeAppsList}/share
# Let gnome-control-center find gnome-shell search providers. GNOME 3.12 compatibility.
export GNOME_SEARCH_PROVIDERS_DIR=${config.system.path}/share/gnome-shell/search-providers/
# Let nautilus find extensions
export NAUTILUS_EXTENSION_DIR=${config.system.path}/lib/nautilus/extensions-3.0/

View File

@ -65,7 +65,7 @@ let
greeters-directory = ${cfg.greeter.package}
sessions-directory = ${dmcfg.session.desktops}
[SeatDefaults]
[Seat:*]
xserver-command = ${xserverWrapper}
session-wrapper = ${dmcfg.session.script}
greeter-session = ${cfg.greeter.name}
@ -143,8 +143,26 @@ in
services.dbus.enable = true;
services.dbus.packages = [ lightdm ];
security.pam.services.lightdm = { allowNullPassword = true; startSession = true; };
security.pam.services.lightdm-greeter = { allowNullPassword = true; startSession = true; };
security.pam.services.lightdm = {
allowNullPassword = true;
startSession = true;
};
security.pam.services.lightdm-greeter = {
allowNullPassword = true;
startSession = true;
text = ''
auth required pam_env.so
auth required pam_permit.so
account required pam_permit.so
password required pam_deny.so
session required pam_env.so envfile=${config.system.build.pamEnvironment}
session required pam_unix.so
session optional ${pkgs.systemd}/lib/security/pam_systemd.so
'';
};
users.extraUsers.lightdm = {
createHome = true;

View File

@ -0,0 +1,44 @@
{ config, lib, pkgs, ... }:
with lib;
let
blCfg = config.boot.loader;
cfg = blCfg.generic-extlinux-compatible;
timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
builder = import ./extlinux-conf-builder.nix { inherit pkgs; };
in
{
options = {
boot.loader.generic-extlinux-compatible = {
enable = mkOption {
default = false;
type = types.bool;
description = ''
Whether to generate an extlinux-compatible configuration file
under <literal>/boot/extlinux.conf</literal>. For instance,
U-Boot's generic distro boot support uses this file format.
See <link xlink:href="http://git.denx.de/?p=u-boot.git;a=blob;f=doc/README.distro;hb=refs/heads/master">U-boot's documentation</link>
for more information.
'';
};
configurationLimit = mkOption {
default = 20;
example = 10;
type = types.int;
description = ''
Maximum number of configurations in the boot menu.
'';
};
};
};
config = mkIf cfg.enable {
system.build.installBootLoader = "${builder} -g ${toString cfg.configurationLimit} -t ${timeoutStr} -c";
system.boot.loader.id = "generic-extlinux-compatible";
};
}

View File

@ -0,0 +1,8 @@
{ pkgs }:
pkgs.substituteAll {
src = ./extlinux-conf-builder.sh;
isExecutable = true;
inherit (pkgs) bash;
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
}

View File

@ -0,0 +1,132 @@
#! @bash@/bin/sh -e
shopt -s nullglob
export PATH=/empty
for i in @path@; do PATH=$PATH:$i/bin; done
usage() {
echo "usage: $0 -t <timeout> -c <path-to-default-configuration> [-d <boot-dir>] [-g <num-generations>]" >&2
exit 1
}
timeout= # Timeout in centiseconds
default= # Default configuration
target=/boot # Target directory
numGenerations=0 # Number of other generations to include in the menu
while getopts "t:c:d:g:" opt; do
case "$opt" in
t) # U-Boot interprets '0' as infinite and negative as instant boot
if [ "$OPTARG" -lt 0 ]; then
timeout=0
elif [ "$OPTARG" = 0 ]; then
timeout=-10
else
timeout=$((OPTARG * 10))
fi
;;
c) default="$OPTARG" ;;
d) target="$OPTARG" ;;
g) numGenerations="$OPTARG" ;;
\?) usage ;;
esac
done
[ "$timeout" = "" -o "$default" = "" ] && usage
mkdir -p $target/nixos
mkdir -p $target/extlinux
# Convert a path to a file in the Nix store such as
# /nix/store/<hash>-<name>/file to <hash>-<name>-<file>.
cleanName() {
local path="$1"
echo "$path" | sed 's|^/nix/store/||' | sed 's|/|-|g'
}
# Copy a file from the Nix store to $target/nixos.
declare -A filesCopied
copyToKernelsDir() {
local src=$(readlink -f "$1")
local dst="$target/nixos/$(cleanName $src)"
# Don't copy the file if $dst already exists. This means that we
# have to create $dst atomically to prevent partially copied
# kernels or initrd if this script is ever interrupted.
if ! test -e $dst; then
local dstTmp=$dst.tmp.$$
cp -r $src $dstTmp
mv $dstTmp $dst
fi
filesCopied[$dst]=1
result=$dst
}
# Copy its kernel, initrd and dtbs to $target/nixos, and echo out an
# extlinux menu entry
addEntry() {
local path=$(readlink -f "$1")
local tag="$2" # Generation number or 'default'
if ! test -e $path/kernel -a -e $path/initrd; then
return
fi
copyToKernelsDir "$path/kernel"; kernel=$result
copyToKernelsDir "$path/initrd"; initrd=$result
# XXX UGLY: maybe the system config should have a top-level "dtbs" entry?
copyToKernelsDir $(readlink -m "$path/kernel/../dtbs"); dtbs=$result
timestampEpoch=$(stat -L -c '%Z' $path)
timestamp=$(date "+%Y-%m-%d %H:%M" -d @$timestampEpoch)
nixosVersion="$(cat $path/nixos-version)"
extraParams="$(cat $path/kernel-params)"
echo
echo "LABEL nixos-$tag"
if [ "$tag" = "default" ]; then
echo " MENU LABEL NixOS - Default"
else
echo " MENU LABEL NixOS - Configuration $tag ($timestamp - $nixosVersion)"
fi
echo " LINUX ../nixos/$(basename $kernel)"
echo " INITRD ../nixos/$(basename $initrd)"
echo " FDTDIR ../nixos/$(basename $dtbs)"
echo " APPEND systemConfig=$path init=$path/init $extraParams"
}
tmpFile="$target/extlinux/extlinux.conf.tmp.$$"
cat > $tmpFile <<EOF
# Generated file, all changes will be lost on nixos-rebuild!
# Change this to e.g. nixos-42 to temporarily boot to an older configuration.
DEFAULT nixos-default
TIMEOUT $timeout
$(addEntry $default default)
EOF
# Add up to $numGenerations generations of the system profile to the menu,
# in reverse (most recent to least recent) order.
for generation in $(
(cd /nix/var/nix/profiles && ls -d system-*-link) \
| sed 's/system-\([0-9]\+\)-link/\1/' \
| sort -n -r \
| head -n $numGenerations); do
link=/nix/var/nix/profiles/system-$generation-link
addEntry $link $generation
done >> $tmpFile
mv -f $tmpFile $target/extlinux/extlinux.conf
# Remove obsolete files from $target/nixos.
for fn in $target/nixos/*; do
if ! test "${filesCopied[$fn]}" = 1; then
echo "Removing no longer needed boot file: $fn"
chmod +w -- "$fn"
rm -rf -- "$fn"
fi
done

View File

@ -736,10 +736,18 @@ in
${concatStringsSep "\n" cfg.tmpfiles.rules}
'';
# Some overrides to upstream units.
systemd.services."systemd-backlight@".restartIfChanged = false;
systemd.services."systemd-rfkill@".restartIfChanged = false;
systemd.services."user@".restartIfChanged = false;
systemd.services.systemd-remount-fs.restartIfChanged = false;
systemd.services.systemd-journal-flush.restartIfChanged = false;
systemd.services.systemd-journald.restartIfChanged = false; # FIXME: shouldn't be necessary with systemd 219
systemd.services.systemd-random-seed.restartIfChanged = false;
systemd.services.systemd-remount-fs.restartIfChanged = false;
systemd.services.systemd-update-utmp.restartIfChanged = false;
systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions.
systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true;
systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true;
};

View File

@ -0,0 +1,61 @@
{ config, lib, pkgs, ... }:
with lib;
{
imports = [ ../profiles/headless.nix ];
boot.kernelParams = [ "console=ttyS0" "earlyprintk=ttyS0" "rootdelay=300" "panic=1" "boot.panic_on_fail" ];
boot.initrd.kernelModules = [ "hv_vmbus" "hv_netvsc" "hv_utils" "hv_storvsc" ];
# Generate a GRUB menu.
boot.loader.grub.device = "/dev/sda";
boot.loader.grub.version = 2;
boot.loader.grub.timeout = 0;
# Don't put old configurations in the GRUB menu. The user has no
# way to select them anyway.
boot.loader.grub.configurationLimit = 0;
fileSystems."/".device = "/dev/disk/by-label/nixos";
# Allow root logins only using the SSH key that the user specified
# at instance creation time, ping client connections to avoid timeouts
services.openssh.enable = true;
services.openssh.permitRootLogin = "without-password";
services.openssh.extraConfig = ''
ClientAliveInterval 180
'';
# Force getting the hostname from Azure
networking.hostName = mkDefault "";
# Always include cryptsetup so that NixOps can use it.
# sg_scan is needed to finalize disk removal on older kernels
environment.systemPackages = [ pkgs.cryptsetup pkgs.sg3_utils ];
networking.usePredictableInterfaceNames = false;
services.udev.extraRules = ''
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:0", ATTR{removable}=="0", SYMLINK+="disk/by-lun/0",
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:1", ATTR{removable}=="0", SYMLINK+="disk/by-lun/1",
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:2", ATTR{removable}=="0", SYMLINK+="disk/by-lun/2"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:3", ATTR{removable}=="0", SYMLINK+="disk/by-lun/3"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:4", ATTR{removable}=="0", SYMLINK+="disk/by-lun/4"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:5", ATTR{removable}=="0", SYMLINK+="disk/by-lun/5"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:6", ATTR{removable}=="0", SYMLINK+="disk/by-lun/6"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:7", ATTR{removable}=="0", SYMLINK+="disk/by-lun/7"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:8", ATTR{removable}=="0", SYMLINK+="disk/by-lun/8"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:9", ATTR{removable}=="0", SYMLINK+="disk/by-lun/9"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:10", ATTR{removable}=="0", SYMLINK+="disk/by-lun/10"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:11", ATTR{removable}=="0", SYMLINK+="disk/by-lun/11"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:12", ATTR{removable}=="0", SYMLINK+="disk/by-lun/12"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:13", ATTR{removable}=="0", SYMLINK+="disk/by-lun/13"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:14", ATTR{removable}=="0", SYMLINK+="disk/by-lun/14"
ENV{DEVTYPE}=="disk", KERNEL!="sda" SUBSYSTEM=="block", SUBSYSTEMS=="scsi", KERNELS=="?:0:0:15", ATTR{removable}=="0", SYMLINK+="disk/by-lun/15"
'';
}

View File

@ -5,8 +5,6 @@ let
diskSize = "4096";
in
{
imports = [ ../profiles/headless.nix ];
system.build.azureImage =
pkgs.vmTools.runInLinuxVM (
pkgs.runCommand "azure-image"
@ -24,7 +22,6 @@ in
postVM =
''
echo Converting
mkdir -p $out
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vpc $diskImage $out/disk.vhd
rm $diskImage
@ -93,34 +90,11 @@ in
''
);
fileSystems."/".device = "/dev/disk/by-label/nixos";
imports = [ ./azure-common.nix ];
# Azure metadata is available as a CD-ROM drive.
fileSystems."/metadata".device = "/dev/sr0";
boot.kernelParams = [ "console=ttyS0" "earlyprintk=ttyS0" "rootdelay=300" "panic=1" "boot.panic_on_fail" ];
boot.initrd.kernelModules = [ "hv_vmbus" "hv_netvsc" "hv_utils" "hv_storvsc" ];
# Generate a GRUB menu.
boot.loader.grub.device = "/dev/sda";
boot.loader.grub.version = 2;
boot.loader.grub.timeout = 0;
# Don't put old configurations in the GRUB menu. The user has no
# way to select them anyway.
boot.loader.grub.configurationLimit = 0;
# Allow root logins only using the SSH key that the user specified
# at instance creation time.
services.openssh.enable = true;
services.openssh.permitRootLogin = "without-password";
# Force getting the hostname from Azure
networking.hostName = mkDefault "";
# Always include cryptsetup so that NixOps can use it.
environment.systemPackages = [ pkgs.cryptsetup ];
systemd.services.fetch-ssh-keys =
{ description = "Fetch host keys and authorized_keys for root user";
@ -157,8 +131,4 @@ in
serviceConfig.StandardOutput = "journal+console";
};
networking.usePredictableInterfaceNames = false;
#users.extraUsers.root.openssh.authorizedKeys.keys = [ (builtins.readFile <ssh-pub-key>) ];
}

View File

@ -57,6 +57,17 @@ in
'';
};
virtualisation.libvirtd.extraOptions =
mkOption {
type = types.listOf types.str;
default = [ ];
example = [ "--verbose" ];
description =
''
Extra command line arguments passed to libvirtd on startup.
'';
};
virtualisation.libvirtd.onShutdown =
mkOption {
type = types.enum ["shutdown" "suspend" ];
@ -140,7 +151,7 @@ in
done
''; # */
serviceConfig.ExecStart = ''@${pkgs.libvirt}/sbin/libvirtd libvirtd --config "${configFile}" --daemon --verbose'';
serviceConfig.ExecStart = ''@${pkgs.libvirt}/sbin/libvirtd libvirtd --config "${configFile}" --daemon ${concatStringsSep " " cfg.extraOptions}'';
serviceConfig.Type = "forking";
serviceConfig.KillMode = "process"; # when stopping, leave the VMs alone

View File

@ -0,0 +1,47 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.vmwareGuest;
open-vm-tools = pkgs.open-vm-tools;
in
{
options = {
services.vmwareGuest.enable = mkEnableOption "Enable VMWare Guest Support";
};
config = mkIf cfg.enable {
assertions = [ {
assertion = pkgs.stdenv.isi686 || pkgs.stdenv.isx86_64;
message = "VMWare guest is not currently supported on ${pkgs.stdenv.system}";
} ];
environment.systemPackages = [ open-vm-tools ];
systemd.services.vmware =
{ description = "VMWare Guest Service";
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${open-vm-tools}/bin/vmtoolsd";
};
services.xserver = {
videoDrivers = mkOverride 50 [ "vmware" ];
config = ''
Section "InputDevice"
Identifier "VMMouse"
Driver "vmmouse"
EndSection
'';
serverLayoutSection = ''
InputDevice "VMMouse"
'';
displayManager.sessionCommands = ''
${open-vm-tools}/bin/vmware-user-suid-wrapper
'';
};
};
}

View File

@ -53,6 +53,7 @@ in rec {
(all nixos.tests.firewall)
(all nixos.tests.gnome3)
(all nixos.tests.installer.lvm)
(all nixos.tests.installer.luksroot)
(all nixos.tests.installer.separateBoot)
(all nixos.tests.installer.simple)
(all nixos.tests.installer.simpleLabels)

View File

@ -255,6 +255,7 @@ in rec {
tests.i3wm = callTest tests/i3wm.nix {};
tests.installer.grub1 = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).grub1.test);
tests.installer.lvm = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).lvm.test);
tests.installer.luksroot = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).luksroot.test);
tests.installer.rebuildCD = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).rebuildCD.test);
tests.installer.separateBoot = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).separateBoot.test);
tests.installer.simple = forAllSystems (system: hydraJob (import tests/installer.nix { inherit system; }).simple.test);

View File

@ -9,6 +9,8 @@ import ./make-test.nix (
}: rec {
name = "chromium";
enableOCR = true;
machine.imports = [ ./common/x11.nix ];
machine.virtualisation.memorySize = 1024;
@ -106,15 +108,11 @@ import ./make-test.nix (
"ulimit -c unlimited; ".
"$pkg/bin/chromium $args \"$url\" & disown"
);
$machine->waitForText(qr/Type to search or enter a URL to navigate/);
$machine->waitUntilSucceeds("${xdo "check-startup" ''
search --sync --onlyvisible --name "startup done"
# close first start help popup
key -delay 1000 Escape
# XXX: This is to make sure the popup is closed, but we better do
# screenshots to detect visual changes.
key -delay 2000 Escape
key -delay 3000 Escape
key -delay 4000 Escape
windowfocus --sync
windowactivate --sync
''}");

View File

@ -1,10 +1,9 @@
{ pkgs, ... }:
{ lib, ... }:
{ users.extraUsers = pkgs.lib.singleton
{ users.extraUsers = lib.singleton
{ isNormalUser = true;
name = "alice";
description = "Alice Foobar";
password = "foobar";
uid = 1000;
};
}

View File

@ -1,34 +0,0 @@
import ./make-test.nix {
name = "gnome3";
machine =
{ config, pkgs, ... }:
{ imports = [ ./common/user-account.nix ];
services.xserver.enable = true;
services.xserver.displayManager.auto.enable = true;
services.xserver.displayManager.auto.user = "alice";
services.xserver.desktopManager.gnome3.enable = true;
environment.gnome3.packageSet = pkgs.gnome3_16;
virtualisation.memorySize = 512;
};
testScript =
''
$machine->waitForX;
$machine->sleep(15);
# Check that logging in has given the user ownership of devices.
$machine->succeed("getfacl /dev/snd/timer | grep -q alice");
$machine->succeed("su - alice -c 'DISPLAY=:0.0 gnome-terminal &'");
$machine->waitForWindow(qr/Terminal/);
$machine->sleep(20);
$machine->screenshot("screen");
'';
}

View File

@ -45,7 +45,8 @@ let
# The configuration to install.
makeConfig = { testChannel, grubVersion, grubDevice, grubIdentifier
, readOnly ? true, forceGrubReinstallCount ? 0 }:
, extraConfig, readOnly ? true, forceGrubReinstallCount ? 0
}:
pkgs.writeText "configuration.nix" ''
{ config, lib, pkgs, modulesPath, ... }:
@ -70,6 +71,7 @@ let
environment.systemPackages = [ ${optionalString testChannel "pkgs.rlwrap"} ];
nix.binaryCaches = [ http://cache.nixos.org/ ];
${replaceChars ["\n"] ["\n "] extraConfig}
}
'';
@ -106,7 +108,9 @@ let
# disk, and then reboot from the hard disk. It's parameterized with
# a test script fragment `createPartitions', which must create
# partitions and filesystems.
testScriptFun = { createPartitions, testChannel, grubVersion, grubDevice, grubIdentifier }:
testScriptFun = { createPartitions, testChannel, grubVersion, grubDevice
, grubIdentifier, preBootCommands, extraConfig
}:
let
# FIXME: OVMF doesn't boot from virtio http://www.mail-archive.com/edk2-devel@lists.sourceforge.net/msg01501.html
iface = if grubVersion == 1 then "scsi" else "virtio";
@ -172,7 +176,7 @@ let
$machine->succeed("cat /mnt/etc/nixos/hardware-configuration.nix >&2");
$machine->copyFileFromHost(
"${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; } }",
"${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier extraConfig; } }",
"/mnt/etc/nixos/configuration.nix");
# Perform the installation.
@ -190,6 +194,9 @@ let
# Now see if we can boot the installation.
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
# For example to enter LUKS passphrase
${preBootCommands}
# Did /boot get mounted?
$machine->waitForUnit("local-fs.target");
@ -210,7 +217,7 @@ let
# We need to a writable nix-store on next boot
$machine->copyFileFromHost(
"${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 1; } }",
"${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier extraConfig; readOnly = false; forceGrubReinstallCount = 1; } }",
"/etc/nixos/configuration.nix");
# Check whether nixos-rebuild works.
@ -225,9 +232,10 @@ let
# Check whether a writable store build works
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
${preBootCommands}
$machine->waitForUnit("multi-user.target");
$machine->copyFileFromHost(
"${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier; readOnly = false; forceGrubReinstallCount = 2; } }",
"${ makeConfig { inherit testChannel grubVersion grubDevice grubIdentifier extraConfig; readOnly = false; forceGrubReinstallCount = 2; } }",
"/etc/nixos/configuration.nix");
$machine->succeed("nixos-rebuild boot >&2");
$machine->shutdown;
@ -235,19 +243,25 @@ let
# And just to be sure, check that the machine still boots after
# "nixos-rebuild switch".
$machine = createMachine({ ${hdFlags} qemuFlags => "${qemuFlags}" });
${preBootCommands}
$machine->waitForUnit("network.target");
$machine->shutdown;
'';
makeInstallerTest = name:
{ createPartitions, testChannel ? false, grubVersion ? 2, grubDevice ? "/dev/vda", grubIdentifier ? "uuid" }:
{ createPartitions, preBootCommands ? "", extraConfig ? ""
, testChannel ? false, grubVersion ? 2, grubDevice ? "/dev/vda"
, grubIdentifier ? "uuid", enableOCR ? false
}:
makeTest {
inherit iso;
name = "installer-" + name;
nodes = if testChannel then { inherit webserver; } else { };
inherit enableOCR;
testScript = testScriptFun {
inherit createPartitions testChannel grubVersion grubDevice grubIdentifier;
inherit createPartitions preBootCommands testChannel grubVersion
grubDevice grubIdentifier extraConfig;
};
};
@ -321,6 +335,44 @@ in {
'';
};
# Boot off an encrypted root partition
luksroot = makeInstallerTest "luksroot"
{ createPartitions = ''
$machine->succeed(
"parted /dev/vda mklabel msdos",
"parted /dev/vda -- mkpart primary ext2 1M 50MB", # /boot
"parted /dev/vda -- mkpart primary linux-swap 50M 1024M",
"parted /dev/vda -- mkpart primary 1024M -1s", # LUKS
"udevadm settle",
"mkswap /dev/vda2 -L swap",
"swapon -L swap",
"modprobe dm_mod dm_crypt",
"echo -n supersecret | cryptsetup luksFormat -q /dev/vda3 -",
"echo -n supersecret | cryptsetup luksOpen --key-file - /dev/vda3 cryptroot",
"mkfs.ext3 -L nixos /dev/mapper/cryptroot",
"mount LABEL=nixos /mnt",
"mkfs.ext3 -L boot /dev/vda1",
"mkdir -p /mnt/boot",
"mount LABEL=boot /mnt/boot",
);
'';
# XXX: Currently, generate-config doesn't detect LUKS yet.
extraConfig = ''
boot.kernelParams = lib.mkAfter [ "console=tty0" ];
boot.initrd.luks.devices = lib.singleton {
name = "cryptroot";
device = "/dev/vda3";
preLVM = true;
};
'';
enableOCR = true;
preBootCommands = ''
$machine->start;
$machine->waitForText(qr/Enter passphrase/);
$machine->sendChars("supersecret\n");
'';
};
swraid = makeInstallerTest "swraid"
{ createPartitions =
''

View File

@ -34,6 +34,7 @@ import ./make-test.nix ({pkgs, ... }: {
# Make sure that cups is up on both sides.
$server->waitForUnit("cups.service");
$client->waitForUnit("cups.service");
$client->sleep(10); # wait until cups is fully initialized
$client->succeed("lpstat -r") =~ /scheduler is running/ or die;
$client->succeed("lpstat -H") =~ "/var/run/cups/cups.sock" or die;
$client->succeed("curl --fail http://localhost:631/");
@ -67,6 +68,7 @@ import ./make-test.nix ({pkgs, ... }: {
# Print the file on the client.
$client->succeed("lp $file");
$client->sleep(10);
$client->succeed("lpq") =~ /active.*root.*$fn/ or die;
# Ensure that a raw PCL file appeared in the server's queue
@ -74,11 +76,13 @@ import ./make-test.nix ({pkgs, ... }: {
# course, since there is no actual USB printer attached, the
# file will stay in the queue forever.
$server->waitForFile("/var/spool/cups/d00001-001");
$server->sleep(10);
$server->succeed("lpq -a") =~ /$fn/ or die;
# Delete the job on the client. It should disappear on the
# server as well.
$client->succeed("lprm");
$client->sleep(10);
$client->succeed("lpq -a") =~ /no entries/;
Machine::retry sub {
return 1 if $server->succeed("lpq -a") =~ /no entries/;

View File

@ -6,14 +6,14 @@ with stdenv.lib;
stdenv.mkDerivation rec{
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
core_version = "0.10.1";
core_version = "0.10.2";
version = core_version;
src = fetchurl {
url = [ "https://bitcoin.org/bin/bitcoin-core-${core_version}/bitcoin-${version}.tar.gz"
"mirror://sourceforge/bitcoin/Bitcoin/bitcoin-${core_version}/bitcoin-${version}.tar.gz"
];
sha256 = "287873f9ba4fd49cd4e4be7eba070d2606878f1690c5be0273164d37cbf3c138";
sha256 = "cddf96c71d0a35524fde93380981cf0cf0b51441454a3a68b9be491b9239bfec";
};
buildInputs = [ pkgconfig autoreconfHook openssl db48 boost zlib

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv, pkgconfig
{ fetchzip, stdenv, pkgconfig
, openssl, db48, boost, zlib, miniupnpc, qt4, qrencode, glib, protobuf
, utillinux
, withGui }:
@ -9,9 +9,9 @@ stdenv.mkDerivation rec {
name = "darkcoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.10.99.99";
src = fetchurl {
src = fetchzip {
url = "https://github.com/darkcoin/darkcoin/archive/v${version}.tar.gz";
sha256 = "1a05a7l878klg4wqk9ykndkhyknrd7jp75v38k99qgk5fi8wa752";
sha256 = "0sigvimqwc1mvaq43a8c2aq7fjla2ncafrals08qfq3jd6in8b4f";
};
buildInputs = [ pkgconfig glib openssl db48 boost zlib miniupnpc ]

View File

@ -46,8 +46,8 @@ let
usbmuxd
];
unwrapped = stdenv.mkDerivation {
name = "clementine-unwrapped-${version}";
free = stdenv.mkDerivation {
name = "clementine-free-${version}";
inherit patches src buildInputs;
enableParallelBuilding = true;
meta = with stdenv.lib; {
@ -91,7 +91,7 @@ with stdenv.lib;
runCommand "clementine-${version}"
{
inherit blob unwrapped;
inherit blob free;
buildInputs = [ makeWrapper ] ++ gst_plugins; # for the setup-hooks
dontPatchELF = true;
dontStrip = true;
@ -109,7 +109,12 @@ runCommand "clementine-${version}"
}
''
mkdir -p $out/bin
makeWrapper "$unwrapped/bin/${exeName}" "$out/bin/${exeName}" \
makeWrapper "$free/bin/${exeName}" "$out/bin/${exeName}" \
${optionalString withSpotify "--set CLEMENTINE_SPOTIFYBLOB \"$blob/libexec/clementine\""} \
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"
mkdir -p $out/share
for dir in applications icons kde4; do
ln -s "$free/share/$dir" "$out/share/$dir"
done
''

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, glib, libid3tag, id3lib, taglib
, libvorbis, libogg, flac, itstool, libxml2, gsettings_desktop_schemas
, makeWrapper, gnome_icon_theme, dconf
, makeWrapper, gnome3
}:
stdenv.mkDerivation rec {
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
preFixup = ''
wrapProgram $out/bin/easytag \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH:$out/share" \
--prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
'';
NIX_LDFLAGS = "-lid3tag -lz";
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ makeWrapper ];
buildInputs = [
pkgconfig intltool gtk3 glib libid3tag id3lib taglib libvorbis libogg flac
itstool libxml2 gsettings_desktop_schemas gnome_icon_theme dconf
itstool libxml2 gsettings_desktop_schemas gnome3.defaultIconTheme gnome3.dconf
];
meta = {

View File

@ -0,0 +1,27 @@
{ stdenv, fetchurl, lv2, pkgconfig, python }:
stdenv.mkDerivation rec {
name = "fomp-${version}";
version = "1.0.0";
src = fetchurl {
url = "http://download.drobilla.net/${name}.tar.bz2";
sha256 = "1hh2xhknanqn3iwp12ihl6bf8p7bqxryms9qk7mh21lixl42b8k5";
};
buildInputs = [ lv2 pkgconfig python ];
installPhase = ''
python waf configure --prefix=$out
python waf
python waf install
'';
meta = with stdenv.lib; {
homepage = http://drobilla.net/software/fomp/;
description = "An LV2 port of the MCP, VCO, FIL, and WAH plugins by Fons Adriaensen";
license = licenses.gpl2;
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchsvn, pkgconfig, autoconf, automake, gnutls, freetype
{ stdenv, fetchsvn, pkgconfig, autoconf, automake, gnutls33, freetype
, SDL, SDL_gfx, SDL_ttf, liblo, libxml2, alsaLib, jack2, libvorbis
, libsndfile, libogg
}:
@ -13,7 +13,7 @@ stdenv.mkDerivation {
};
buildInputs = [
pkgconfig autoconf automake gnutls freetype SDL SDL_gfx SDL_ttf
pkgconfig autoconf automake gnutls33 freetype SDL SDL_gfx SDL_ttf
liblo libxml2 jack2 alsaLib libvorbis libsndfile libogg
];

View File

@ -1,5 +1,5 @@
{ pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool,
ipodSupport ? true, libgpod, gnome3, hicolor_icon_theme }:
ipodSupport ? true, libgpod, gnome3 }:
with pkgs.lib;
@ -16,8 +16,7 @@ in buildPythonPackage rec {
buildInputs = [
coverage feedparser minimock sqlite3 mygpoclient intltool
gnome3.gnome_themes_standard gnome3.gnome_icon_theme
gnome3.gnome_icon_theme_symbolic hicolor_icon_theme
gnome3.gnome_themes_standard gnome3.defaultIconTheme
gnome3.gsettings_desktop_schemas
];

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig makeWrapper intltool curl gettext perl perlXMLParser
flex libgpod libid3tag flac libvorbis gtk3 gdk_pixbuf libglade gnome.anjuta
gnome.gdl gnome.gnome_icon_theme_symbolic gnome.gnome_icon_theme
gnome.gdl gnome.defaultIconTheme
hicolor_icon_theme ];
patchPhase = ''

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, gtk, lv2, libsamplerate, libsndfile, pkgconfig, zita-convolver }:
{ stdenv, fetchurl, fftw, gtk, lv2, libsamplerate, libsndfile, pkgconfig, zita-convolver }:
stdenv.mkDerivation rec {
name = "ir.lv2-${version}";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "17a6h2mv9xv41jpbx6bdakkngin4kqzh2v67l4076ddq609k5a7v";
};
buildInputs = [ gtk lv2 libsamplerate libsndfile pkgconfig zita-convolver ];
buildInputs = [ fftw gtk lv2 libsamplerate libsndfile pkgconfig zita-convolver ];
buildPhase = ''
make

View File

@ -0,0 +1,28 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "ladspa-sdk-${version}";
version = "1.13";
src = fetchurl {
url = "http://www.ladspa.org/download/ladspa_sdk_${version}.tgz";
sha256 = "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm";
};
patchPhase = ''
cd src
sed -i 's@/usr/@$(out)/@g' makefile
sed -i 's@-mkdirhier@mkdir -p@g' makefile
'';
meta = {
description = "The SDK for the LADSPA audio plugin standard";
longDescription = ''
The LADSPA SDK, including the ladspa.h API header file,
ten example LADSPA plugins and
three example programs (applyplugin, analyseplugin and listplugins).
'';
homepage = http://www.ladspa.org/ladspa_sdk/overview.html;
license = stdenv.lib.licenses.lgpl2;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
'';
buildInputs = [ pulseaudio gtkmm3 libcanberra_gtk3 makeWrapper
gnome3.gnome_icon_theme ];
gnome3.defaultIconTheme ];
nativeBuildInputs = [ pkgconfig intltool ];

View File

@ -19,11 +19,11 @@ stdenv.mkDerivation rec {
configurePhase = "export CC=${CC}";
meta = {
meta = with stdenv.lib; {
description = "A console front-end for Pandora.com";
homepage = "http://6xq.net/projects/pianobar/";
platforms = stdenv.lib.platforms.linux;
license = stdenv.lib.licenses.mit; # expat version
maintainers = stdenv.lib.maintainers.eduarrrd;
platforms = platforms.linux;
license = licenses.mit; # expat version
maintainers = with maintainers; [ eduarrrd ];
};
}

View File

@ -0,0 +1,28 @@
{ stdenv, fetchgit, boost, ladspaH, lilv, lv2, pkgconfig, serd, sord, sratom }:
stdenv.mkDerivation rec {
name = "plugin-torture-git-${version}";
version = "2013-10-03";
src = fetchgit {
url = "https://github.com/cth103/plugin-torture";
rev = "9ee06016982bdfbaa215cd0468cc6ada6367462a";
sha256 = "bfe9213fd2c1451d7acc1381d63301c4e6ff69ce86d31a886ece5159ba850706";
};
buildInputs = [ boost ladspaH lilv lv2 pkgconfig serd sord sratom ];
installPhase = ''
mkdir -p $out/bin
cp plugin-torture $out/bin/
cp README $out/bin/
'';
meta = with stdenv.lib; {
homepage = https://github.com/cth103/plugin-torture;
description = "A tool to test LADSPA and LV2 plugins";
license = licenses.gpl2;
maintainers = [ maintainers.magnetophon ];
platforms = platforms.linux;
};
}

View File

@ -4,24 +4,25 @@
}:
let
ver_branch = "1.14";
version = "1.14.0";
ver_branch = "1.15";
version = "1.15.0";
in
stdenv.mkDerivation rec {
name = "lightdm-${version}";
src = fetchurl {
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
sha256 = "0fkbzqncx34dhylrg5328fih7xywmsqj2p40smnx33nyf047jdgc";
sha256 = "0f0c2irb7qq49dabxhh99bwyvkxpfpscy4vynm7y800sz15lm2hs";
};
patches = [ ./fix-paths.patch ];
buildInputs = [
pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
qt4
] ++ stdenv.lib.optional (qt5 != null) qt5.base;
configureFlags = [
"--enable-liblightdm-gobject"
"--localstatedir=/var"
"--sysconfdir=/etc"
] ++ stdenv.lib.optional (qt4 != null) "--enable-liblightdm-qt"

View File

@ -0,0 +1,61 @@
diff --git a/common/user-list.c b/common/user-list.c
index 792c6d3..57fbfb7 100644
--- a/common/user-list.c
+++ b/common/user-list.c
@@ -331,7 +331,7 @@ load_passwd_file (CommonUserList *user_list, gboolean emit_add_signal)
value = g_key_file_get_string (config, "UserList", "hidden-shells", NULL);
if (!value)
- value = g_strdup ("/bin/false /usr/sbin/nologin");
+ value = g_strdup ("/run/current-system/sw/bin/nologin");
hidden_shells = g_strsplit (value, " ", -1);
g_free (value);
diff --git a/src/seat.c b/src/seat.c
index f9b149d..9029742 100644
--- a/src/seat.c
+++ b/src/seat.c
@@ -343,7 +343,7 @@ run_script (Seat *seat, DisplayServer *display_server, const gchar *script_name,
/* Set POSIX variables */
process_set_clear_environment (script, TRUE);
- process_set_env (script, "SHELL", "/bin/sh");
+ process_set_env (script, "SHELL", "/run/current-system/sw/bin/sh");
/* Variables required for regression tests */
if (g_getenv ("LIGHTDM_TEST_ROOT"))
@@ -354,7 +354,7 @@ run_script (Seat *seat, DisplayServer *display_server, const gchar *script_name,
process_set_env (script, "PATH", g_getenv ("PATH"));
}
else
- process_set_env (script, "PATH", "/usr/local/bin:/usr/bin:/bin");
+ process_set_env (script, "PATH", "/run/current-system/sw/bin");
if (user)
{
diff --git a/src/session-child.c b/src/session-child.c
index e85f57d..93db0bd 100644
--- a/src/session-child.c
+++ b/src/session-child.c
@@ -410,7 +410,7 @@ session_child_run (int argc, char **argv)
else
{
/* Set POSIX variables */
- pam_putenv (pam_handle, "PATH=/usr/local/bin:/usr/bin:/bin");
+ pam_putenv (pam_handle, "PATH=/run/current-system/sw/bin");
pam_putenv (pam_handle, g_strdup_printf ("USER=%s", username));
pam_putenv (pam_handle, g_strdup_printf ("LOGNAME=%s", username));
pam_putenv (pam_handle, g_strdup_printf ("HOME=%s", user_get_home_directory (user)));
diff --git a/src/shared-data-manager.c b/src/shared-data-manager.c
index 47f1c10..cc82652 100644
--- a/src/shared-data-manager.c
+++ b/src/shared-data-manager.c
@@ -68,7 +68,7 @@ delete_unused_user (gpointer key, gpointer value, gpointer user_data)
gchar *path = g_build_filename (USERS_DIR, user, NULL);
gchar *quoted_path = g_shell_quote (path);
- gchar *cmd = g_strdup_printf ("/bin/rm -rf %s", quoted_path);
+ gchar *cmd = g_strdup_printf ("/run/current-system/sw/bin/rm -rf %s", quoted_path);
g_spawn_command_line_async (cmd, &error);
if (error)

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
emacsName = "emacs-24.5";
name = "${emacsName}-mac-5.7";
name = "${emacsName}-mac-5.8";
#builder = ./builder.sh;
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
macportSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${name}.tar.gz";
sha256 = "1a86l3556h24x9ml6r8n6xbrxymb9gr38sicny3f0m281myhlsvv";
sha256 = "0ljhrag5lag8i72xfsmgk9lndqv0b3sahyyd48svj6jlg4jachir";
};
buildInputs = [ ncurses pkgconfig texinfo libxml2 gnutls ];

View File

@ -9,7 +9,7 @@ in stdenv.mkDerivation {
name = "tuareg-mode-${version}";
src = fetchzip {
url = "https://github.com/ocaml/tuareg/releases/download/${version}/tuareg-${version}.tar.gz";
sha256 = "1rd7ai1wn476zfkkxv2xk72bbzi4d9c17gngd35882q4b5vzp756";
sha256 = "13rh5ddwvwwz5jf0n3wagc5m9zq4cbaylnsknzjalryyvipwfyh3";
};
buildInputs = [ emacs ];

View File

@ -212,86 +212,86 @@ in
android-studio = buildAndroidStudio rec {
name = "android-studio-${version}";
version = "1.2.0.12";
build = "141.1890965";
version = "1.2.1.1";
build = "141.1903250";
description = "Android development environment based on IntelliJ IDEA";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://dl.google.com/dl/android/studio/ide-zips/${version}" +
"/android-studio-ide-${build}-linux.zip";
sha256 = "01k96rql192ksnprc4yai97fcals7msf06m9bx1q7asn46887h7n";
sha256 = "17n0hsw0655b2w7a3avj5hw6njhv4gayxnsj1bwi9p3dgzr5d5zp";
};
};
clion = buildClion rec {
name = "clion-${version}";
version = "1.0";
build = "141.353";
version = "1.0.3";
build = "141.873";
description = "C/C++ IDE. New. Intelligent. Cross-platform";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/cpp/${name}.tar.gz";
sha256 = "0xjdx13ljp1vy51a7rsj25wg3bsvry4kxq5cdng8zrc1g2y1fqw5";
sha256 = "0ksxpml6fzj91hnzy59wlgz7q76dhc3715jalacq748y0i1jdh3f";
};
};
idea-community = buildIdea rec {
name = "idea-community-${version}";
version = "14.1.2";
build = "IC-141.713.2";
version = "14.1.3";
build = "IC-141.1010.3";
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "1skxbax7gsxxf7519qasxwp9q0v9ff755ibqr1w47dv2al47kjzq";
sha256 = "104ba057p49l41g9gdcgbywdxyqzkm4rfm7yivkcsddh5drsk4jv";
};
};
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "14.1.2";
build = "IU-141.713.2";
version = "14.1.3";
build = "IU-141.1010.3";
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
sha256 = "1ddy0f83rs3yx3w8v49cmlhkc8qxapdh702g26gzlapbpvfw58ay";
sha256 = "1flg3rpb86xfcxlys5rxywa0z9c6j9h3qd8mkadx5pnay1f97pwi";
};
};
ruby-mine = buildRubyMine rec {
name = "ruby-mine-${version}";
version = "7.0.4";
build = "139.1231";
version = "7.1.2";
build = "141.1119";
description = "The Most Intelligent Ruby and Rails IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
sha256 = "08b0iwccb5w9b1yk0kbs99r5mxkcyxqs9mkr57wb5j71an80yx38";
sha256 = "1gz14lv5jhnrnshp7lkx3wgrdf0y60abs4q78yhv2x9dc6ld1gmj";
};
};
pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}";
version = "4.0.6";
build = "139.1659";
description = "PyCharm 4.0 Community Edition";
version = "4.5";
build = "141.1116";
description = "PyCharm Community Edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "16lf2slssfgbds6zyp2rs0ssrg8aw5d2w7b755iqimiyfhyyv83s";
sha256 = "0igx62rijalppsd1nwrri1r4m1597n93ncglyb6b94m3fm32fca6";
};
};
pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}";
version = "4.0.6";
build = "139.1659";
description = "PyCharm 4.0 Professional Edition";
version = "4.5";
build = "141.1116";
description = "PyCharm Professional Edition";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "0wavw41nzqnx75y3k3l5kq09i5d9j8hb4r6a0y3nxzqvmdfza55r";
sha256 = "0zga8sxwrvjvyw9v1pvq40gasp485r1d627jj6jvwzcv78il50d9";
};
};

View File

@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig vala which autoconf automake
libtool glib gtk3 libwnck3 asciidoc
gnome3.gtksourceview gnome3.vte python3Packages.pygments ];
gnome3.gtksourceview gnome3.vte_290 python3Packages.pygments ];
configureScript = "./autogen.sh";

View File

@ -3,7 +3,7 @@
let
name = "zed-${version}";
version = "1.0.0";
version = "1.1.0";
# When upgrading node.nix / node packages:
# fetch package.json from Zed's repository
@ -31,7 +31,7 @@ let
src = fetchgit {
url = "git://github.com/zedapp/zed";
rev = "refs/tags/v${version}";
sha256 = "1kdvj9mvdwm4cswqw6nn9j6kgqvs4d7vycpsmmfha9a2rkryw9zh";
sha256 = "1zvlngv73h968jd2m42ylr9vfhf35n80wzy616cv2ic7gmr1fl9p";
};
buildInputs = [ makeWrapper zip ];

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
pyqt4, qwt, fcgi, pythonPackages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper }:
stdenv.mkDerivation rec {
name = "qgis-2.8.1";
name = "qgis-2.8.2";
buildInputs = [ gdal qt4 flex bison proj geos x11 sqlite gsl pyqt4 qwt qscintilla
fcgi libspatialindex libspatialite postgresql ] ++
@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://qgis.org/downloads/${name}.tar.bz2";
sha256 = "19acb74e4e2739238b87bf64f2750e10e366e9d61d070a4b8ca341ce01ca9741";
sha256 = "fd3c01e48224f611c3bb279b0af9cc1dff3844cdc93f7b45e4f37cf8f350bc4b";
};
postInstall = ''

View File

@ -17,10 +17,6 @@ let
else if stdenv.system == "x86_64-linux" || stdenv.system == "x86_64-darwin" then "x86-64"
else throw "ImageMagick is not supported on this platform.";
mkFlag = trueStr: falseStr: cond: val: "--${if cond then trueStr else falseStr}-${val}";
mkWith = mkFlag "with" "without";
mkEnable = mkFlag "enable" "disable";
hasX11 = libX11 != null && libXext != null && libXt != null;
in
@ -37,38 +33,38 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
configureFlags = [
(mkEnable (libcl != null) "opencl")
(mkWith true "modules")
(mkWith true "gcc-arch=${arch}")
#(mkEnable true "hdri") This breaks some dependencies
(mkWith (perl != null) "perl")
(mkWith (jemalloc != null) "jemalloc")
(mkWith true "frozenpaths")
(mkWith (bzip2 != null) "bzlib")
(mkWith hasX11 "x")
(mkWith (zlib != null) "zlib")
(mkWith false "dps")
(mkWith (fftw != null) "fftw")
(mkWith (libfpx != null) "fpx")
(mkWith (djvulibre != null) "djvu")
(mkWith (fontconfig != null) "fontconfig")
(mkWith (freetype != null) "freetype")
(mkWith (ghostscript != null) "gslib")
(mkWith (graphviz != null) "gvc")
(mkWith (jbigkit != null) "jbig")
(mkWith (libjpeg != null) "jpeg")
(mkWith (lcms2 != null) "lcms2")
(mkWith false "lcms")
(mkWith (openjpeg != null) "openjp2")
(mkWith (liblqr1 != null) "lqr")
(mkWith (xz != null) "lzma")
(mkWith (openexr != null) "openexr")
(mkWith (pango != null) "pango")
(mkWith (libpng != null) "png")
(mkWith (librsvg != null) "rsvg")
(mkWith (libtiff != null) "tiff")
(mkWith (libwebp != null) "webp")
(mkWith (libxml2 != null) "xml")
(mkEnable (libcl != null) "opencl" null)
(mkWith true "modules" null)
(mkWith true "gcc-arch" arch)
#(mkEnable true "hdri" null) This breaks some dependencies
(mkWith (perl != null) "perl" null)
(mkWith (jemalloc != null) "jemalloc" null)
(mkWith true "frozenpaths" null)
(mkWith (bzip2 != null) "bzlib" null)
(mkWith hasX11 "x" null)
(mkWith (zlib != null) "zlib" null)
(mkWith false "dps" null)
(mkWith (fftw != null) "fftw" null)
(mkWith (libfpx != null) "fpx" null)
(mkWith (djvulibre != null) "djvu" null)
(mkWith (fontconfig != null) "fontconfig" null)
(mkWith (freetype != null) "freetype" null)
(mkWith (ghostscript != null) "gslib" null)
(mkWith (graphviz != null) "gvc" null)
(mkWith (jbigkit != null) "jbig" null)
(mkWith (libjpeg != null) "jpeg" null)
(mkWith (lcms2 != null) "lcms2" null)
(mkWith false "lcms" null)
(mkWith (openjpeg != null) "openjp2" null)
(mkWith (liblqr1 != null) "lqr" null)
(mkWith (xz != null) "lzma" null)
(mkWith (openexr != null) "openexr" null)
(mkWith (pango != null) "pango" null)
(mkWith (libpng != null) "png" null)
(mkWith (librsvg != null) "rsvg" null)
(mkWith (libtiff != null) "tiff" null)
(mkWith (libwebp != null) "webp" null)
(mkWith (libxml2 != null) "xml" null)
] ++ optional (dejavu_fonts != null) "--with-dejavu-font-dir=${dejavu_fonts}/share/fonts/truetype/"
++ optional (ghostscript != null) "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts/";

View File

@ -2,11 +2,11 @@
, libXinerama, curl, libexif }:
stdenv.mkDerivation rec {
name = "feh-2.12.1";
name = "feh-2.13";
src = fetchurl {
url = "http://feh.finalrewind.org/${name}.tar.bz2";
sha256 = "18b6yjk88ybqxsa5knk6qwi2xy7fclbzl5cpzwg0wmkr3phfq9lh";
sha256 = "06fa9zh1zpi63l90kw3l9a0sfavf424j7ksi396ifg9669gx35gn";
};
buildInputs = [ makeWrapper x11 imlib2 libjpeg libpng libXinerama curl libexif ];

View File

@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
patchShebangs share/extensions
''
# Clang gets misdetected, so hardcode the right answer
+ stdenv.lib.optionalString (stdenv.cc.cc.isClang or false) ''
+ stdenv.lib.optionalString stdenv.cc.isClang ''
substituteInPlace src/ui/tool/node.h \
--replace "#if __cplusplus >= 201103L" "#if true"
'';

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv, lzip, texinfo }:
stdenv.mkDerivation rec {
name = "ocrad-0.24";
name = "ocrad-0.25";
src = fetchurl {
url = "mirror://gnu/ocrad/${name}.tar.lz";
sha256 = "0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv";
sha256 = "1m2dblgvvjs48rsglfdwq0ib9zk8h9n34xsh67ibrg0g0ffbw477";
};
buildInputs = [ lzip texinfo ];
@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Optical character recognition (OCR) program & library";
longDescription =
'' GNU Ocrad is an OCR (Optical Character Recognition) program based on
a feature extraction method. It reads images in pbm (bitmap), pgm
@ -29,7 +28,6 @@ stdenv.mkDerivation rec {
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [ pSub ];
platforms = platforms.gnu; # arbitrary choice
};

View File

@ -51,8 +51,7 @@ in stdenv.mkDerivation rec {
gst_all_1.gstreamer gst_all_1.gst-plugins-base gnome3.libgee which udev gnome3.gexiv2
libraw rest json_glib gettext desktop_file_utils glib lcms2 gdk_pixbuf librsvg
makeWrapper gnome_doc_utils
gnome3.gnome_icon_theme gnome3.gnome_icon_theme_symbolic
hicolor_icon_theme ];
gnome3.defaultIconTheme ];
meta = with stdenv.lib; {
description = "Popular photo organizer for the GNOME desktop";

View File

@ -1,26 +1,31 @@
{ stdenv, fetchurl, autoconf, automake, libtool, leptonica, libpng, libtiff }:
{ stdenv, fetchurl, autoconf, automake, libtool, leptonica, libpng, libtiff
, enableLanguages ? null
}:
with stdenv.lib;
let
majVersion = "3.02";
version = "${majVersion}.02";
f = lang : sha256 : let
mkLang = lang: sha256: let
src = fetchurl {
url = "http://tesseract-ocr.googlecode.com/files/tesseract-ocr-${majVersion}.${lang}.tar.gz";
inherit sha256;
};
in
"tar xfvz ${src} -C $out/share/ --strip=1";
in "tar xfvz ${src} -C $out/share/ --strip=1";
extraLanguages = ''
${f "cat" "0d1smiv1b3k9ay2s05sl7q08mb3ln4w5iiiymv2cs8g8333z8jl9"}
${f "rus" "059336mkhsj9m3hwfb818xjlxkcdpy7wfgr62qwz65cx914xl709"}
${f "spa" "1c9iza5mbahd9pa7znnq8yv09v5kz3gbd2sarcgcgc1ps1jc437l"}
${f "nld" "162acxp1yb6gyki2is3ay2msalmfcsnrlsd9wml2ja05k94m6bjy"}
${f "eng" "1y5xf794n832s3lymzlsdm2s9nlrd2v27jjjp0fd9xp7c2ah4461"}
${f "slv" "0rqng43435cly32idxm1lvxkcippvc3xpxbfizwq5j0155ym00dr"}
${f "jpn" "07v8pymd0iwyzh946lxylybda20gsw7p4fsb09jw147955x49gq9"}
'';
wantLang = name: const (enableLanguages == null || elem name enableLanguages);
extraLanguages = mapAttrsToList mkLang (filterAttrs wantLang {
cat = "0d1smiv1b3k9ay2s05sl7q08mb3ln4w5iiiymv2cs8g8333z8jl9";
rus = "059336mkhsj9m3hwfb818xjlxkcdpy7wfgr62qwz65cx914xl709";
spa = "1c9iza5mbahd9pa7znnq8yv09v5kz3gbd2sarcgcgc1ps1jc437l";
nld = "162acxp1yb6gyki2is3ay2msalmfcsnrlsd9wml2ja05k94m6bjy";
eng = "1y5xf794n832s3lymzlsdm2s9nlrd2v27jjjp0fd9xp7c2ah4461";
slv = "0rqng43435cly32idxm1lvxkcippvc3xpxbfizwq5j0155ym00dr";
jpn = "07v8pymd0iwyzh946lxylybda20gsw7p4fsb09jw147955x49gq9";
});
in
stdenv.mkDerivation rec {
@ -40,7 +45,7 @@ stdenv.mkDerivation rec {
'LIBLEPT_HEADERSDIR=${leptonica}/include'
'';
postInstall = extraLanguages;
postInstall = concatStringsSep "; " extraLanguages;
meta = {
description = "OCR engine";

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, makeWrapper, unzip, jre }:
stdenv.mkDerivation rec {
name = "yEd-3.14.1";
name = "yEd-3.14.2";
src = fetchurl {
url = "http://www.yworks.com/products/yed/demo/${name}.zip";
sha256 = "09zik3pjs5x0vc0jvndm762blk85y44lxac3vdfqqbinwd9gfnm2";
sha256 = "1i2fncp7q0xin42sf55zc79jzrkzbp25yw8rcjkgsy6hgnhl73nh";
};
nativeBuildInputs = [ unzip makeWrapper ];

View File

@ -34,8 +34,8 @@ let
"Kexiv2" = "libkexiv2";
"Kdcraw" = "libkdcraw";
"Kipi" = "libkipi";
"LibKMahjongg" = "libkmahjongg";
"LibKonq" = "kde-baseapps";
"Marble" = "marble";
};
mkDerivation = drv: kf5.mkDerivation (drv // {
@ -63,6 +63,7 @@ let
(with pkgs;
{
ACL = acl;
AccountsQt5 = accounts-qt.override { inherit qt5; };
Akonadi = kde4.akonadi;
Alsa = alsaLib;
Automoc4 = automoc4;
@ -70,9 +71,10 @@ let
BISON = bison;
Baloo = kde4.baloo;
Boost = boost156;
CFitsio = cfitsio;
CUPS = cups;
Canberra = libcanberra;
Cdparanoia = cdparanoia;
CUPS = cups;
DBusMenuQt = libdbusmenu_qt;
DjVuLibre = djvulibre;
ENCHANT = enchant;
@ -90,15 +92,20 @@ let
Gpgme = gpgme;
Gphoto2 = libgphoto2;
Grantlee = grantlee;
Grantlee5 = grantlee5;
GSL = gsl;
HUNSPELL = hunspell;
HUpnp = herqq;
INDI = indilib;
Intltool = intltool;
Jasper = jasper;
KActivities = kde4.kactivities;
KDEGames = kde4.libkdegames;
LCMS2 = lcms2;
Ldap = openldap;
LibAttica = attica;
LibGcrypt = libgcrypt;
LibKMahjongg = kde4.libkmahjongg;
LibSSH = libssh;
LibSpectre = libspectre;
LibVNCServer = libvncserver;
@ -114,12 +121,14 @@ let
PythonLibrary = python;
Qalculate = libqalculate;
QCA2 = qca2;
Qca-qt5 = qca-qt5.override { inherit qt5; };
QImageBlitz = qimageblitz;
QJSON = qjson;
Qt4 = qt4;
Samba = samba;
Sasl2 = cyrus_sasl;
SharedDesktopOntologies = shared_desktop_ontologies;
SignOnQt5 = signon.override { inherit qt5; };
SndFile = libsndfile;
Speechd = speechd;
TIFF = libtiff;
@ -129,6 +138,7 @@ let
TunePimp = libtunepimp;
UDev = udev;
USB = libusb;
Xplanet = xplanet;
Xscreensaver = xscreensaver;
Xsltproc = libxslt;
}
@ -191,17 +201,9 @@ let
nativeBuildInputs = super.ffmpegthumbs.nativeBuildInputs ++ [pkgconfig];
};
kaccounts-integration =
let accounts-qt = pkgs.accounts-qt.override { inherit qt5; };
signon = pkgs.signon.override { inherit qt5; };
in super.kaccounts-integration // {
buildInputs = super.kaccounts-integration.buildInputs
++ [ accounts-qt signon ];
};
kaccounts-providers = super.kaccounts-providers // {
buildInputs = super.kaccounts-providers.buildInputs
++ (with pkgs; [ intltool libaccounts-glib ]);
++ (with pkgs; [ libaccounts-glib ]);
preConfigure = ''
${super.kaccounts-providers.preConfigure or ""}
substituteInPlace webkit-options/CMakeLists.txt \
@ -301,6 +303,12 @@ let
buildInputs = super.kgpg.buildInputs ++ [boost];
};
khangman = super.khangman // {
buildInputs =
super.khangman.buildInputs
++ [ kf5.kio ];
};
kmix = with pkgs; super.kmix // {
nativeBuildInputs = super.kmix.nativeBuildInputs ++ [pkgconfig];
cmakeFlags = [ "-DKMIX_KF5_BUILD=ON" ];
@ -319,7 +327,33 @@ let
krfb = super.krfb // {
buildInputs =
super.krfb.buildInputs
++ [pkgs.xlibs.libXtst kde4.telepathy.common_internals];
++ [pkgs.xlibs.libXtst kdeApps.ktp-common-internals];
};
kstars = super.kstars // {
buildInputs =
super.kstars.buildInputs
++ (with kf5; [ kparts ])
++ [ pkgs.cfitsio ];
};
ktp-accounts-kcm = super.ktp-accounts-kcm // {
buildInputs =
super.ktp-accounts-kcm.buildInputs
++ [ pkgs.libaccounts-glib ];
};
ktp-common-internals = super.ktp-common-internals // {
buildInputs =
super.ktp-common-internals.buildInputs
++ (with kf5; [ kdelibs4support kparts ])
++ [ pkgs.libotr ]; # needed for ktp-text-ui
};
lokalize = super.lokalize // {
buildInputs =
super.lokalize.buildInputs
++ [ kf5.kdbusaddons ];
};
libkdcraw = with pkgs; super.libkdcraw // {
@ -335,6 +369,14 @@ let
buildInputs = super.libkface.buildInputs ++ [scope.KDE4 opencv];
};
libkgeomap = super.libkgeomap // {
cmakeFlags =
(super.libkgeomap.cmakeFlags or [])
++ [
"-DCMAKE_MODULE_PATH=${kdeApps.marble}/share/apps/cmake/modules"
];
};
libkipi = with pkgs; super.libkipi // {
buildInputs = super.libkipi.buildInputs ++ [scope.KDE4];
};
@ -343,11 +385,14 @@ let
buildInputs = super.libksane.buildInputs ++ [scope.KDE4 saneBackends];
};
marble = super.marble // {
preConfigure = ''
${super.preConfigure or ""}
cmakeFlags="$cmakeFlags -DCMAKE_MODULES_INSTALL_PATH=$out/lib/cmake"
'';
okular = super.okular // {
nativeBuildInputs =
super.okular.nativeBuildInputs
++ [ pkgs.pkgconfig ];
};
rocs = super.rocs // {
buildInputs = super.rocs.buildInputs ++ (with kf5; [ kdelibs4support ]);
};
signon-kwallet-extension =

File diff suppressed because it is too large Load Diff

View File

@ -9,6 +9,7 @@ if [ $# -eq 0 ]; then
# from recursing over the whole server! (No, it's not a bug.)
$(nix-build ../../.. -A autonix.manifest) \
"${KDE_MIRROR}/stable/applications/15.04.0/" \
"${KDE_MIRROR}/stable/applications/15.04.1/" \
$MANIFEST_EXTRA_ARGS -A '*.tar.xz'
else

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, python, pyqt5, sip_4_16, poppler_utils, pkgconfig, libpng
, imagemagick, libjpeg, fontconfig, podofo, qt5, icu, sqlite
, imagemagick, libjpeg, fontconfig, podofo, qt53, icu, sqlite
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, libusb1, libmtp
, xdg_utils
}:
stdenv.mkDerivation rec {
name = "calibre-2.27.0";
name = "calibre-2.28.0";
src = fetchurl {
url = "mirror://sourceforge/calibre/${name}.tar.xz";
sha256 = "13id1r2q6alw4wzb4z0njkyr6lsmzs2fjp3cflqavx3qk25darv5";
sha256 = "15sb74v0nlj45fhlnw1afll35l90cxw78s15fb2nx3fih7ahv3cf";
};
inherit python;
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
buildInputs =
[ python pyqt5 sip_4_16 poppler_utils libpng imagemagick libjpeg
fontconfig podofo qt5.base pil chmlib icu sqlite libusb1 libmtp xdg_utils
fontconfig podofo qt53 pil chmlib icu sqlite libusb1 libmtp xdg_utils
pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
pythonPackages.cssutils pythonPackages.beautifulsoup pythonPackages.pillow
pythonPackages.sqlite3 pythonPackages.netifaces pythonPackages.apsw

View File

@ -3,7 +3,7 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "dmenu2";
name = "dmenu2-0.3pre-2014-07-08";
src = fetchhg {
url = "https://bitbucket.org/melek/dmenu2";

View File

@ -41,7 +41,7 @@ stdenv.mkDerivation {
wrapProgram "$out/bin/finalterm" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "${gnome3.gnome_icon_theme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
--prefix XDG_DATA_DIRS : "${gnome3.defaultIconTheme}/share:${gnome3.gtk}/share:$out/share:$GSETTINGS_SCHEMAS_PATH"
'';
meta = with lib; {

View File

@ -0,0 +1,4 @@
source "https://rubygems.org"
gem 'jekyll'
gem 'rdiscount'

View File

@ -0,0 +1,72 @@
GEM
remote: https://rubygems.org/
specs:
blankslate (2.1.2.4)
celluloid (0.16.0)
timers (~> 4.0.0)
classifier-reborn (2.0.3)
fast-stemmer (~> 1.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.9.1.1)
colorator (0.1)
execjs (2.5.2)
fast-stemmer (1.0.2)
ffi (1.9.8)
hitimes (1.2.2)
jekyll (2.5.3)
classifier-reborn (~> 2.0)
colorator (~> 0.1)
jekyll-coffeescript (~> 1.0)
jekyll-gist (~> 1.0)
jekyll-paginate (~> 1.0)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 1.1)
kramdown (~> 1.3)
liquid (~> 2.6.1)
mercenary (~> 0.3.3)
pygments.rb (~> 0.6.0)
redcarpet (~> 3.1)
safe_yaml (~> 1.0)
toml (~> 0.1.0)
jekyll-coffeescript (1.0.1)
coffee-script (~> 2.2)
jekyll-gist (1.2.1)
jekyll-paginate (1.1.0)
jekyll-sass-converter (1.3.0)
sass (~> 3.2)
jekyll-watch (1.2.1)
listen (~> 2.7)
kramdown (1.7.0)
liquid (2.6.2)
listen (2.10.0)
celluloid (~> 0.16.0)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
mercenary (0.3.5)
parslet (1.5.0)
blankslate (~> 2.0)
posix-spawn (0.3.11)
pygments.rb (0.6.3)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.2.0)
rb-fsevent (0.9.4)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
rdiscount (2.1.8)
redcarpet (3.2.3)
safe_yaml (1.0.4)
sass (3.4.13)
timers (4.0.1)
hitimes
toml (0.1.2)
parslet (~> 1.5.0)
yajl-ruby (1.2.1)
PLATFORMS
ruby
DEPENDENCIES
jekyll
rdiscount

View File

@ -0,0 +1,20 @@
{ stdenv, lib, bundlerEnv, ruby_2_1, curl }:
bundlerEnv {
name = "jekyll-2.5.3";
ruby = ruby_2_1;
gemfile = ./Gemfile;
lockfile = ./Gemfile.lock;
gemset = ./gemset.nix;
buildInputs = [ curl ];
meta = with lib; {
description = "Simple, blog aware, static site generator";
homepage = http://jekyllrb.com/;
license = with licenses; mit;
maintainers = with maintainers; [ pesterhazy ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,282 @@
{
"blankslate" = {
version = "2.1.2.4";
source = {
type = "gem";
sha256 = "0jnnq5q5dwy2rbfcl769vd9bk1yn0242f6yjlb9mnqdm9627cdcx";
};
};
"celluloid" = {
version = "0.16.0";
source = {
type = "gem";
sha256 = "044xk0y7i1xjafzv7blzj5r56s7zr8nzb619arkrl390mf19jxv3";
};
dependencies = [
"timers"
];
};
"classifier-reborn" = {
version = "2.0.3";
source = {
type = "gem";
sha256 = "0vca8jl7nbgzyb7zlvnq9cqgabwjdl59jqlpfkwzv6znkri7cpby";
};
dependencies = [
"fast-stemmer"
];
};
"coffee-script" = {
version = "2.4.1";
source = {
type = "gem";
sha256 = "0rc7scyk7mnpfxqv5yy4y5q1hx3i7q3ahplcp4bq2g5r24g2izl2";
};
dependencies = [
"coffee-script-source"
"execjs"
];
};
"coffee-script-source" = {
version = "1.9.1.1";
source = {
type = "gem";
sha256 = "1arfrwyzw4sn7nnaq8jji5sv855rp4c5pvmzkabbdgca0w1cxfq5";
};
};
"colorator" = {
version = "0.1";
source = {
type = "gem";
sha256 = "09zp15hyd9wlbgf1kmrf4rnry8cpvh1h9fj7afarlqcy4hrfdpvs";
};
};
"execjs" = {
version = "2.5.2";
source = {
type = "gem";
sha256 = "0y2193yhcyz9f97m7g3wanvwzdjb08sllrj1g84sgn848j12vyl0";
};
};
"fast-stemmer" = {
version = "1.0.2";
source = {
type = "gem";
sha256 = "0688clyk4xxh3kdb18vi089k90mca8ji5fwaknh3da5wrzcrzanh";
};
};
"ffi" = {
version = "1.9.8";
source = {
type = "gem";
sha256 = "0ph098bv92rn5wl6rn2hwb4ng24v4187sz8pa0bpi9jfh50im879";
};
};
"hitimes" = {
version = "1.2.2";
source = {
type = "gem";
sha256 = "17y3ggqxl3m6x9gqpgdn39z0pxpmw666d40r39bs7ngdmy680jn4";
};
};
"jekyll" = {
version = "2.5.3";
source = {
type = "gem";
sha256 = "1ad3d62yd5rxkvn3xls3xmr2wnk8fiickjy27g098hs842wmw22n";
};
dependencies = [
"classifier-reborn"
"colorator"
"jekyll-coffeescript"
"jekyll-gist"
"jekyll-paginate"
"jekyll-sass-converter"
"jekyll-watch"
"kramdown"
"liquid"
"mercenary"
"pygments.rb"
"redcarpet"
"safe_yaml"
"toml"
];
};
"jekyll-coffeescript" = {
version = "1.0.1";
source = {
type = "gem";
sha256 = "19nkqbaxqbzqbfbi7sgshshj2krp9ap88m9fc5pa6mglb2ypk3hg";
};
dependencies = [
"coffee-script"
];
};
"jekyll-gist" = {
version = "1.2.1";
source = {
type = "gem";
sha256 = "10hywgdwqafa21nwa5br54wvp4wsr3wnx64v8d81glj5cs17f9bv";
};
};
"jekyll-paginate" = {
version = "1.1.0";
source = {
type = "gem";
sha256 = "0r7bcs8fq98zldih4787zk5i9w24nz5wa26m84ssja95n3sas2l8";
};
};
"jekyll-sass-converter" = {
version = "1.3.0";
source = {
type = "gem";
sha256 = "1xqmlr87xmzpalf846gybkbfqkj48y3fva81r7c7175my9p4ykl1";
};
dependencies = [
"sass"
];
};
"jekyll-watch" = {
version = "1.2.1";
source = {
type = "gem";
sha256 = "0p9mc8m4bggsqlq567g1g67z5fvzlm7yyv4l8717l46nq0d52gja";
};
dependencies = [
"listen"
];
};
"kramdown" = {
version = "1.7.0";
source = {
type = "gem";
sha256 = "070r81kz88zw28c8bs5p0p92ymn1nldci2fm1arkas0bnqrd3rna";
};
};
"liquid" = {
version = "2.6.2";
source = {
type = "gem";
sha256 = "1k7lx7szwnz7vv3hqpdb6bgw8p73sa1ss9m1m5h0jaqb9xkqnfzb";
};
};
"listen" = {
version = "2.10.0";
source = {
type = "gem";
sha256 = "131pgi5bsqln2kfkp72wpi0dfz5i124758xcl1h3c5gz75j0vg2i";
};
dependencies = [
"celluloid"
"rb-fsevent"
"rb-inotify"
];
};
"mercenary" = {
version = "0.3.5";
source = {
type = "gem";
sha256 = "0ls7z086v4xl02g4ia5jhl9s76d22crgmplpmj0c383liwbqi9pb";
};
};
"parslet" = {
version = "1.5.0";
source = {
type = "gem";
sha256 = "0qp1m8n3m6k6g22nn1ivcfkvccq5jmbkw53vvcjw5xssq179l9z3";
};
dependencies = [
"blankslate"
];
};
"posix-spawn" = {
version = "0.3.11";
source = {
type = "gem";
sha256 = "052lnxbkvlnwfjw4qd7vn2xrlaaqiav6f5x5bcjin97bsrfq6cmr";
};
};
"pygments.rb" = {
version = "0.6.3";
source = {
type = "gem";
sha256 = "160i761q2z8kandcikf2r5318glgi3pf6b45wa407wacjvz2966i";
};
dependencies = [
"posix-spawn"
"yajl-ruby"
];
};
"rb-fsevent" = {
version = "0.9.4";
source = {
type = "gem";
sha256 = "12if5xsik64kihxf5awsyavlp595y47g9qz77vfp2zvkxgglaka7";
};
};
"rb-inotify" = {
version = "0.9.5";
source = {
type = "gem";
sha256 = "0kddx2ia0qylw3r52nhg83irkaclvrncgy2m1ywpbhlhsz1rymb9";
};
dependencies = [
"ffi"
];
};
"rdiscount" = {
version = "2.1.8";
source = {
type = "gem";
sha256 = "0vcyy90r6wfg0b0y5wqp3d25bdyqjbwjhkm1xy9jkz9a7j72n70v";
};
};
"redcarpet" = {
version = "3.2.3";
source = {
type = "gem";
sha256 = "0l6zr8wlqb648z202kzi7l9p89b6v4ivdhif5w803l1rrwyzvj0m";
};
};
"safe_yaml" = {
version = "1.0.4";
source = {
type = "gem";
sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094";
};
};
"sass" = {
version = "3.4.13";
source = {
type = "gem";
sha256 = "0wxkjm41xr77pnfi06cbwv6vq0ypbni03jpbpskd7rj5b0zr27ig";
};
};
"timers" = {
version = "4.0.1";
source = {
type = "gem";
sha256 = "03ahv07wn1f2g3c5843q7sf03a81518lq5624s9f49kbrswa2p7l";
};
dependencies = [
"hitimes"
];
};
"toml" = {
version = "0.1.2";
source = {
type = "gem";
sha256 = "1wnvi1g8id1sg6776fvzf98lhfbscchgiy1fp5pvd58a8ds2fq9v";
};
dependencies = [
"parslet"
];
};
"yajl-ruby" = {
version = "1.2.1";
source = {
type = "gem";
sha256 = "0zvvb7i1bl98k3zkdrnx9vasq0rp2cyy5n7p9804dqs4fz9xh9vf";
};
};
}

View File

@ -4,12 +4,12 @@
let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
in stdenv.mkDerivation rec {
name = "llpp-${version}";
version = "21";
version = "21-git-2015-04-27";
src = fetchgit {
url = "git://repo.or.cz/llpp.git";
rev = "refs/tags/v${version}";
sha256 = "0rxdq6j3bs4drnhlxgm0gcwkhxi98vmxm22lnkpic7h67lgsz51q";
rev = "66868744188151eaa433d42c807e1efc5f623aa4";
sha256 = "04hjbkzxixw88xmrpbr1smq486wfw3q9hvy7b4bfcb9j32mazk5c";
};
buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl

View File

@ -21,6 +21,6 @@ stdenv.mkDerivation {
description = "Perl extensions for the rxvt-unicode terminal emulator";
homepage = "https://github.com/muennich/urxvt-perls";
license = licenses.gpl2;
maintainers = maintainers.abbradar;
maintainers = with maintainers; [ abbradar ];
};
}

View File

@ -5,8 +5,8 @@ stdenv.mkDerivation {
src = fetchgit {
url = "https://github.com/mina86/urxvt-tabbedex";
rev = "54c8d6beb4d65278ed6db24693ca56e1ee65bb42";
sha256 = "f8734ee289e1cfc517d0699627191c98d32ae3549e0f1935af2a5ccb86d4dc1e";
rev = "b0a02018b1cbaaba2a0c8ea7af9368db0adf3363";
sha256 = "f0025f2741d424736620147d9fc39faac68193cb9f74bde0fb6e02a6f1ae61c3";
};
installPhase = ''
@ -16,6 +16,6 @@ stdenv.mkDerivation {
meta = with stdenv.lib; {
description = "Tabbed plugin for rxvt-unicode with many enhancements (mina86's fork)";
homepage = "https://github.com/mina86/urxvt-tabbedex";
maintainers = maintainers.abbradar;
maintainers = with maintainers; [ abbradar ];
};
}

View File

@ -1,12 +1,14 @@
{ stdenv, fetchurl, cmake, qt4, qscintilla }:
{ stdenv, fetchFromGitHub, cmake, qt4, qscintilla }:
stdenv.mkDerivation rec {
name = "sqliteman";
version = "1.2.0-c41b89e1";
name = "sqliteman-${version}";
version = "1.2.0";
src = fetchurl {
url = https://github.com/pvanek/sqliteman/archive/1.2.0.tar.gz;
sha256 = "1x4ppwf01jdnz3a4ycia6vv5qf3w2smbqx690z1pnkwbvk337akm";
src = fetchFromGitHub {
repo = "sqliteman";
owner = "pvanek";
rev = version;
sha256 = "1blzyh1646955d580f71slgdvz0nqx0qacryx0jc9w02yrag17cs";
};
buildInputs = [ cmake qt4 qscintilla ];

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
name = "termite-${version}";
version = "9";
version = "10";
src = fetchgit {
url = "https://github.com/thestinger/termite";
rev = "refs/tags/v${version}";
sha256 = "0bnzfjk5yl5i96v5jnlvrz0d1jcp5lal6ppl7y8wx13166i6sdnh";
sha256 = "107v59x8q2m1cx1x3i5ciibw4nl1qbq7p58bfw0irkhp7sl7kjk2";
};
makeFlags = "VERSION=v${version}";

View File

@ -10,6 +10,10 @@ stdenv.mkDerivation {
buildInputs = [tcl tk x11 makeWrapper];
patchPhase = ''
sed "13i#define USE_INTERP_RESULT 1" -i src/stubs.c
'';
# Needs the path to `tclConfig.sh' and `tkConfig.sh'.
configureFlags = "--with-tcl=" + tcl + "/lib " +
"--with-tk=" + tk + "/lib";

View File

@ -3,7 +3,7 @@ stdenv.mkDerivation {
name = "xmove-2.0b2";
src = fetchurl {
url = http://ftp.debian.org/debian/pool/main/x/xmove/xmove_2.0beta2.orig.tar.gz;
url = mirror://debian/pool/main/x/xmove/xmove_2.0beta2.orig.tar.gz;
sha256 = "0q310k3bi39vdk0kqqvsahnb1k6lx9hlx80iyxnkq59l6jxnhyhf";
};

View File

@ -113,7 +113,7 @@ let
glib gtk dbus_glib
libXScrnSaver libXcursor libXtst mesa
pciutils protobuf speechd libXdamage
pythonPackages.gyp pythonPackages.ply pythonPackages.jinja2
pythonPackages.gyp_svn1977 pythonPackages.ply pythonPackages.jinja2
] ++ optional gnomeKeyringSupport libgnome_keyring3
++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
++ optional enableSELinux libselinux

View File

@ -4,185 +4,185 @@
# ruby generate_source.rb > source.nix
{
version = "37.0.2";
version = "38.0.1";
sources = [
{ locale = "ach"; arch = "linux-i686"; sha1 = "77e30ca3d592424f80cf7c6cf31e90edddbebb3d"; }
{ locale = "ach"; arch = "linux-x86_64"; sha1 = "c101098915d8955da06751d5bdf2afe029054e3f"; }
{ locale = "af"; arch = "linux-i686"; sha1 = "4287ba79e3aaaa601ae36643ad281c64554b847f"; }
{ locale = "af"; arch = "linux-x86_64"; sha1 = "a787ec352ad94375600185902766ddfd91ac2d5d"; }
{ locale = "an"; arch = "linux-i686"; sha1 = "4910dab93896ca7198b0154f0518ea5613b9a3b0"; }
{ locale = "an"; arch = "linux-x86_64"; sha1 = "60d2c5122a67bae8d7c27fd01caa8d8eef0a143f"; }
{ locale = "ar"; arch = "linux-i686"; sha1 = "f2b70fc8a72d3d43a28cc51776eaacff22f288ad"; }
{ locale = "ar"; arch = "linux-x86_64"; sha1 = "409d2981a9aff39e23bd00231761899e65e80862"; }
{ locale = "as"; arch = "linux-i686"; sha1 = "d27e921e475608cc52e6f07a22687497eb575b01"; }
{ locale = "as"; arch = "linux-x86_64"; sha1 = "3bfa7ccaff6b04f9f1d0a479c10412a1308caf4f"; }
{ locale = "ast"; arch = "linux-i686"; sha1 = "d1c94f4c5fe83d52fa8e0ee586f78747616e1aaf"; }
{ locale = "ast"; arch = "linux-x86_64"; sha1 = "df3d38e59a5f233caa97134713e29cfa0dce6e27"; }
{ locale = "az"; arch = "linux-i686"; sha1 = "5d01ef1267ddcc28e89009b86f2bb0a1e70fc386"; }
{ locale = "az"; arch = "linux-x86_64"; sha1 = "440a5cd423147412335636326618e6b6b4c02416"; }
{ locale = "be"; arch = "linux-i686"; sha1 = "1b9a9758c17ae74876ee6d09373dd99e89da05a3"; }
{ locale = "be"; arch = "linux-x86_64"; sha1 = "940d2a07808aedc1f9c927b62f03b75270bbecd7"; }
{ locale = "bg"; arch = "linux-i686"; sha1 = "ee3f4b60ebb6fd3639ba7e2a3acd81ffcd13ba3f"; }
{ locale = "bg"; arch = "linux-x86_64"; sha1 = "f97ef4f7d3264b1aaf7699fe656f7dccf2cd4238"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha1 = "1a0e2da3014a811a766164953d003c136e28c174"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "703116b7d2583d21fda09933e5d8b9244c15c6ee"; }
{ locale = "bn-IN"; arch = "linux-i686"; sha1 = "f501f69cf65bf340d5d5ce6744394f1a83c2daf3"; }
{ locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "eb74b7a12a2fddf8c47e9c0b0ab9359b7da10703"; }
{ locale = "br"; arch = "linux-i686"; sha1 = "9ecc2ca3344559a63fefee144fde9faa391f1c29"; }
{ locale = "br"; arch = "linux-x86_64"; sha1 = "5121ac58aa90f6a2e3b3f87bcf7dbd8670b7c9bf"; }
{ locale = "bs"; arch = "linux-i686"; sha1 = "42b9ace3d28e103fb195599c7c88ae78f16c3e4c"; }
{ locale = "bs"; arch = "linux-x86_64"; sha1 = "06b81108ec1509e36de108837f3c7ed1d96ebc0e"; }
{ locale = "ca"; arch = "linux-i686"; sha1 = "5fb5aee535cbede12169d1208d59fb1510207a66"; }
{ locale = "ca"; arch = "linux-x86_64"; sha1 = "e8e6ebb6d70a809cfe8e9102ede99b7ce6239b8e"; }
{ locale = "cs"; arch = "linux-i686"; sha1 = "13d157533dfca54b2a81625dbf3642b915f18e47"; }
{ locale = "cs"; arch = "linux-x86_64"; sha1 = "f7fc30f448e981a47c63c21756dcd6feff08783c"; }
{ locale = "cy"; arch = "linux-i686"; sha1 = "c9cdc5eefca689aabb7861e1ad9f44f42b36acb0"; }
{ locale = "cy"; arch = "linux-x86_64"; sha1 = "a76182a74992ce7031fa2254f056694910c963d1"; }
{ locale = "da"; arch = "linux-i686"; sha1 = "afb09acee0d8456e2bab32d7579da39244754038"; }
{ locale = "da"; arch = "linux-x86_64"; sha1 = "26bca2ea48a814b7b3ffb91fc461867bf775c6dc"; }
{ locale = "de"; arch = "linux-i686"; sha1 = "36a8bf02f324d929c52a6f4f38bb8cd413bbec3e"; }
{ locale = "de"; arch = "linux-x86_64"; sha1 = "2d39187c71ad006e1fbd7ab488c7560d1c88f9cb"; }
{ locale = "dsb"; arch = "linux-i686"; sha1 = "8c9843547aec04af07a09c2f9902583b2daab3f0"; }
{ locale = "dsb"; arch = "linux-x86_64"; sha1 = "7778c1588580bf735e5dd4da89ab16528163a2c3"; }
{ locale = "el"; arch = "linux-i686"; sha1 = "8aef1a9b8c6d1297d53002f1852bf52d6728c0fa"; }
{ locale = "el"; arch = "linux-x86_64"; sha1 = "b7c2ad5da9c446939bf5e7071f84a6c3f8cd7b22"; }
{ locale = "en-GB"; arch = "linux-i686"; sha1 = "f85f36fcd900f642f53a74d6b843e2c67b3ab950"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha1 = "9dcc21ec189c588931e9bf38310522bb994d98c2"; }
{ locale = "en-US"; arch = "linux-i686"; sha1 = "df80ad28979145a116d13db19c1c4e4b516c362d"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha1 = "b4e2da05fcd224ee01e2742d86d6b68bbdc108cd"; }
{ locale = "en-ZA"; arch = "linux-i686"; sha1 = "73a83b23f2f1edcc4114df0b728e791c0626292a"; }
{ locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "fd451735b82a9b609b7f5f09aa0461191b490e5a"; }
{ locale = "eo"; arch = "linux-i686"; sha1 = "471873938d52ccebe8958407be1989937181ca9a"; }
{ locale = "eo"; arch = "linux-x86_64"; sha1 = "fc8c668d3d66a4e42be9aa0fd46ca84cf061dade"; }
{ locale = "es-AR"; arch = "linux-i686"; sha1 = "599823d54919efb62ffd4f65fd8b873720d64b08"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha1 = "cc2e509b55de680d4c9a95ac84765c5fb5fa8b44"; }
{ locale = "es-CL"; arch = "linux-i686"; sha1 = "754b32bbc0108f0e9c3c2e78f4c3e023e0486bff"; }
{ locale = "es-CL"; arch = "linux-x86_64"; sha1 = "7ab4206b66783a72fbe66c59fda120dc1afd0e3c"; }
{ locale = "es-ES"; arch = "linux-i686"; sha1 = "b52814a56ee620693aa4d658ada67e816a3daf59"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha1 = "b4cbbc984c7cc9f566ddce0e180410ccb79adc13"; }
{ locale = "es-MX"; arch = "linux-i686"; sha1 = "874cb197fe4498a83822fa386ac0824bffc9646d"; }
{ locale = "es-MX"; arch = "linux-x86_64"; sha1 = "056746dae1ba7e88a3f2403fb11b17ee831b199b"; }
{ locale = "et"; arch = "linux-i686"; sha1 = "70bb834ac4d70fb1f20625027c73a6ece8f24cc8"; }
{ locale = "et"; arch = "linux-x86_64"; sha1 = "57202dd5e34ed24e31f30bab79b0fcbb220e81b7"; }
{ locale = "eu"; arch = "linux-i686"; sha1 = "1e7287dfcd55f79e2157f3e49875a85f8a500c75"; }
{ locale = "eu"; arch = "linux-x86_64"; sha1 = "a6389d117c02ad2d9a997dcac64ba54c0310d715"; }
{ locale = "fa"; arch = "linux-i686"; sha1 = "5f82328712e7a16ae6dab5928623b0c652b646bc"; }
{ locale = "fa"; arch = "linux-x86_64"; sha1 = "5625f288967b3afc86a5d0136d64a1ba9581a6c1"; }
{ locale = "ff"; arch = "linux-i686"; sha1 = "73afc152eca2aeb346b1ea46a35b24132061c6af"; }
{ locale = "ff"; arch = "linux-x86_64"; sha1 = "ea1eab3e656f1bc68fc76425cd10be01945e7d66"; }
{ locale = "fi"; arch = "linux-i686"; sha1 = "24d0bc254438b96307c650700ca58d4e1b2d5fe8"; }
{ locale = "fi"; arch = "linux-x86_64"; sha1 = "d5b8f8f2052985c5f6dcbcdd5b122094347ed26b"; }
{ locale = "fr"; arch = "linux-i686"; sha1 = "118d981ae14f0425e27726afb516519b8de11390"; }
{ locale = "fr"; arch = "linux-x86_64"; sha1 = "af883c88b1a1e31a31a5a20d603b6109209c6f6b"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha1 = "44d6d4be0a1d1ddd75f476a94b3e2f6117ffca72"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "1629ea289914570257e611323618b477b2cf6576"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha1 = "c3ac3c11a490f37a6c209d753d6db5cd0c696dff"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "ea778a04a997632a38e70d3b96c5cc86545056d3"; }
{ locale = "gd"; arch = "linux-i686"; sha1 = "2e71d653007e589cd93a90e3239beb0074d33e9d"; }
{ locale = "gd"; arch = "linux-x86_64"; sha1 = "d878a2c149a96e2181d110e5ae265f35c0d44b62"; }
{ locale = "gl"; arch = "linux-i686"; sha1 = "2669d169a07cfbba062e147d12cd2a708579c76e"; }
{ locale = "gl"; arch = "linux-x86_64"; sha1 = "515622615f08c49a257ba6766ff0af1984c134a1"; }
{ locale = "gu-IN"; arch = "linux-i686"; sha1 = "98bc0711616e665dc386e2c24b6a96ca5e3bfe25"; }
{ locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "a87c089251356074bc039c88e040138db3485539"; }
{ locale = "he"; arch = "linux-i686"; sha1 = "b8fb6b91641f89159485ea65efb98c0f3aa23d84"; }
{ locale = "he"; arch = "linux-x86_64"; sha1 = "2a2a6cc3dcf6b988138549649ede6b030c26818c"; }
{ locale = "hi-IN"; arch = "linux-i686"; sha1 = "611ed2ff88f2872acfd1302f2ee3defe59142dbd"; }
{ locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "04922ffab952b7493059304d70064956cbaf5dce"; }
{ locale = "hr"; arch = "linux-i686"; sha1 = "13a43d380043f008e26f6fb77b16e6087c622a64"; }
{ locale = "hr"; arch = "linux-x86_64"; sha1 = "c7d45cdd831bafba438c81efa6cf5dd3f4a5657e"; }
{ locale = "hsb"; arch = "linux-i686"; sha1 = "319a922186b3a8a9bea749014498e7f492043b4b"; }
{ locale = "hsb"; arch = "linux-x86_64"; sha1 = "fdd0485af2b0684436bd6207701c287a2f3d05c6"; }
{ locale = "hu"; arch = "linux-i686"; sha1 = "33e82dea7e4a6e421ee23a94ba3a5ca5171fef34"; }
{ locale = "hu"; arch = "linux-x86_64"; sha1 = "fde72e1c7f93e4bcbebc9803e78d3e1cbce2d64b"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha1 = "ad702a8c047a5044ffb39039eaa74e7a86bd80ae"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "b83ff7323e9e66907a02f798cbb13a114fdc652c"; }
{ locale = "id"; arch = "linux-i686"; sha1 = "c435f7c84ee188d09b5352163334a6458ec125ba"; }
{ locale = "id"; arch = "linux-x86_64"; sha1 = "dc8858ac8ae9ef92013fa73f986daf6eade1ae26"; }
{ locale = "is"; arch = "linux-i686"; sha1 = "c1d853deba529e750b8b705581aedb218f0c57d9"; }
{ locale = "is"; arch = "linux-x86_64"; sha1 = "ba819e0bd9e630a6299fd8ef1dd99d1203abbd2d"; }
{ locale = "it"; arch = "linux-i686"; sha1 = "1ffccd73282e28a52d99b8e98e3bf8ccefcf405b"; }
{ locale = "it"; arch = "linux-x86_64"; sha1 = "9d68d2cb24ecf349ff504638e04272d56a636f90"; }
{ locale = "ja"; arch = "linux-i686"; sha1 = "e7cae2f72552fdcd1ccb57c760ddd4b694218513"; }
{ locale = "ja"; arch = "linux-x86_64"; sha1 = "57befb5643689b0ab2b456651735c75fc47a312a"; }
{ locale = "kk"; arch = "linux-i686"; sha1 = "345e0cf27301357d46ead1ef04fcc415c9db4f99"; }
{ locale = "kk"; arch = "linux-x86_64"; sha1 = "ac55fbb3ca6e8ad69c7aceebad99d18ed1353cbc"; }
{ locale = "km"; arch = "linux-i686"; sha1 = "9c8d7c1a6b79dc2ff7a28e309e24fdb2d07385ba"; }
{ locale = "km"; arch = "linux-x86_64"; sha1 = "e122a13e5485d9a8bf12e91487cf0247fb652eea"; }
{ locale = "kn"; arch = "linux-i686"; sha1 = "4da07bc2cdb714f8083032f99e702333ece64dfa"; }
{ locale = "kn"; arch = "linux-x86_64"; sha1 = "48b5f227919b06ee995b68ee0b6117df8f428942"; }
{ locale = "ko"; arch = "linux-i686"; sha1 = "ce22701571474e14ad690ccb5ee700c790667fe8"; }
{ locale = "ko"; arch = "linux-x86_64"; sha1 = "d901ffdec4217b389b96268f9094fc1d01cd2263"; }
{ locale = "lij"; arch = "linux-i686"; sha1 = "2191718817cbf9eefef3f7d994849a737e9adb88"; }
{ locale = "lij"; arch = "linux-x86_64"; sha1 = "f21245f7b00187d8b6fb3d30f6ec83510acf7546"; }
{ locale = "lt"; arch = "linux-i686"; sha1 = "47ebc8005959e431cca843a0514c2499449ed9b2"; }
{ locale = "lt"; arch = "linux-x86_64"; sha1 = "18220fab22a9737d1577455ec218f5b2f9226e53"; }
{ locale = "lv"; arch = "linux-i686"; sha1 = "e4e3d2de5a899c422b85ab1518c454d81ee54bd8"; }
{ locale = "lv"; arch = "linux-x86_64"; sha1 = "45a2551248ee43e189492b1416ed096799857382"; }
{ locale = "mai"; arch = "linux-i686"; sha1 = "aa1374d602fff2d393be86563d3cab72b35f7384"; }
{ locale = "mai"; arch = "linux-x86_64"; sha1 = "acfb03ba9f3d232ff68af24d61f80c6c0a94aeca"; }
{ locale = "mk"; arch = "linux-i686"; sha1 = "a9295e006982059b01f7bd7e2c6f8959de2a2e23"; }
{ locale = "mk"; arch = "linux-x86_64"; sha1 = "e37dcfc6bd29e8a5034624df71726091c6c768f0"; }
{ locale = "ml"; arch = "linux-i686"; sha1 = "b81b278d31aff4d4912da328f2c3ecdbb1ec830a"; }
{ locale = "ml"; arch = "linux-x86_64"; sha1 = "b5c21e4d32f9f78043eee8605d131e63d9568ef1"; }
{ locale = "mr"; arch = "linux-i686"; sha1 = "56d7cc6bf3a125c9e9f5b4799a2d34a5d941dc43"; }
{ locale = "mr"; arch = "linux-x86_64"; sha1 = "528db467e4f64f9149f88ecd36c19c8a23835c17"; }
{ locale = "ms"; arch = "linux-i686"; sha1 = "71482b740ea057ae9cdd15cfba89467639dbda63"; }
{ locale = "ms"; arch = "linux-x86_64"; sha1 = "bdaff803efa7cb1e2bd31e7f7a29b4c174fb60e3"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha1 = "1f4642a4dd61ad57d833ae961ce0f0f1c6c7471a"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "3e89f59c82ae0ee52af586364bad8b6e69fdec28"; }
{ locale = "nl"; arch = "linux-i686"; sha1 = "3292597b5f499193c8a1bd1f71b9df81925e4c87"; }
{ locale = "nl"; arch = "linux-x86_64"; sha1 = "ddb145bb406c096be680d246b9a727d6e926f9cb"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha1 = "9cedfe3a1f98db1a999f64bcfdc77e8df72cbbc5"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "a58a8593b49cbf1d6f6b35feb61df95a51717127"; }
{ locale = "or"; arch = "linux-i686"; sha1 = "b80d8770ce0358674d1b2f39c7bb5b8a042a5d32"; }
{ locale = "or"; arch = "linux-x86_64"; sha1 = "66540a388aa07190fa98aff515f09a01d1c173ee"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha1 = "d9e85c6de7487b13e91f400ce8a06c0104b08ddc"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "01da681d516c6b1febd0096c6dcd8ccbc9b6fdef"; }
{ locale = "pl"; arch = "linux-i686"; sha1 = "faa22ad8c24d6465976412d1bd252c74936f937c"; }
{ locale = "pl"; arch = "linux-x86_64"; sha1 = "5410dcf34d4207e005f207fc430892f23f160461"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha1 = "0735e4827702f896332e1461dcdb3e7088e60d90"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "8b083ad5aad313afd9fa9c4e91ebbd03f205b67f"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha1 = "2fc593cebbfe2bdae3689255f46cd9c41314f00c"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "5bfa929956b1ce9a0ef2afb08ae3510326e962c6"; }
{ locale = "rm"; arch = "linux-i686"; sha1 = "81e5a280e47fbbac82d1c0e0604828ab9937e1e6"; }
{ locale = "rm"; arch = "linux-x86_64"; sha1 = "fbc333306bb32eaf2b2d815efa32a5915cd15ede"; }
{ locale = "ro"; arch = "linux-i686"; sha1 = "df75129e5c618cdfe180ddf71598704f8c652e5c"; }
{ locale = "ro"; arch = "linux-x86_64"; sha1 = "6b0556075110eac4263e1b2ba9bef29a3504d302"; }
{ locale = "ru"; arch = "linux-i686"; sha1 = "3309c2e1bcc6d623a28c01cf3e61ed9d9a2d676b"; }
{ locale = "ru"; arch = "linux-x86_64"; sha1 = "f729504273d11b18f3b9c1f4918a18a2a63483da"; }
{ locale = "si"; arch = "linux-i686"; sha1 = "9d54da726bd01800a7fa41de9bc0b9aaba9202b9"; }
{ locale = "si"; arch = "linux-x86_64"; sha1 = "1550492673a913ecd0ff14ccdea0289bbfc680f6"; }
{ locale = "sk"; arch = "linux-i686"; sha1 = "d8b97959e6d77ac9d1e0c512414824c9c037d2f0"; }
{ locale = "sk"; arch = "linux-x86_64"; sha1 = "1056467b1726dc0469745d5eb80407e3715c6aee"; }
{ locale = "sl"; arch = "linux-i686"; sha1 = "9c51bd6b10adfb2dc3cf07d38981636c3a13557a"; }
{ locale = "sl"; arch = "linux-x86_64"; sha1 = "9f58166807385e0e95682b361e0654125311b4d6"; }
{ locale = "son"; arch = "linux-i686"; sha1 = "cf5b8b7266e6c6c5054aeab213c37e61df68057f"; }
{ locale = "son"; arch = "linux-x86_64"; sha1 = "36a609e8e1a2002653520b7a872562ecd34d6afc"; }
{ locale = "sq"; arch = "linux-i686"; sha1 = "6c723410982cf03559199122ce358757670f0d61"; }
{ locale = "sq"; arch = "linux-x86_64"; sha1 = "7e0dae98aa342781a5e89c7f531545704d48b9b6"; }
{ locale = "sr"; arch = "linux-i686"; sha1 = "eb000da14a0e48ffac929e51db640c721e8c9e11"; }
{ locale = "sr"; arch = "linux-x86_64"; sha1 = "5696ee19d90930527370021a9eb51f0579080293"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha1 = "ed9c5d17963779cebd526a65abd10d82b9b7aadc"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "7086405ab9008c91c9acbe7685590ee4497b0576"; }
{ locale = "ta"; arch = "linux-i686"; sha1 = "0f0aea80ca1dbf604a3c0ac28a255431c1952f88"; }
{ locale = "ta"; arch = "linux-x86_64"; sha1 = "e794ceab525cbc0314d10398a807c436ef66d17d"; }
{ locale = "te"; arch = "linux-i686"; sha1 = "09c3427c855d7c82e44997accc80a52317d0d22d"; }
{ locale = "te"; arch = "linux-x86_64"; sha1 = "af19d02ed9dbb366d0c7b34b538ae83bf2f6212c"; }
{ locale = "th"; arch = "linux-i686"; sha1 = "3064e5bcea910f32fbef60acd41a9917145c48a1"; }
{ locale = "th"; arch = "linux-x86_64"; sha1 = "a7ad2f98a7a534667370ef3f22ae00f90002a1a7"; }
{ locale = "tr"; arch = "linux-i686"; sha1 = "76726e6bbbd89eb6469df960ec889ce781cfc68b"; }
{ locale = "tr"; arch = "linux-x86_64"; sha1 = "031b5eb83b6e96dcd9bdf2eabdfab7a370b0becb"; }
{ locale = "uk"; arch = "linux-i686"; sha1 = "5d31c283914d67dcfc0af09525ab3814d0e05db4"; }
{ locale = "uk"; arch = "linux-x86_64"; sha1 = "a9e577f4e9aba0af6b019b566f98121586112552"; }
{ locale = "uz"; arch = "linux-i686"; sha1 = "f84745683934f221dc5de1b970dae5c919979a71"; }
{ locale = "uz"; arch = "linux-x86_64"; sha1 = "95aef2a68a86030078ac64346445f5f92a85fb63"; }
{ locale = "vi"; arch = "linux-i686"; sha1 = "53e9197a3de8d63950b5d324a4da0d3533dd492c"; }
{ locale = "vi"; arch = "linux-x86_64"; sha1 = "be24b818a6ba1209d383c9c43af0bb0ddd82070b"; }
{ locale = "xh"; arch = "linux-i686"; sha1 = "be808769e77a47ace01b1b2455607c56a402e795"; }
{ locale = "xh"; arch = "linux-x86_64"; sha1 = "9feca0a4ba5ab71b05bad4ff0324c648ccae7f38"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha1 = "057c9ead60a3819eecae1f31ed512ea3e5e2aab4"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "2503f8354c07929c1b943c64ea233bb6453c2740"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha1 = "75c439a7002183aa5ad8795c1986c109714c2f00"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "add241bb07ff446df18f98f6eec18ebec3bb4e31"; }
{ locale = "ach"; arch = "linux-i686"; sha1 = "912fff124863aba8189cdb2f22a2c1cf96c5057a"; }
{ locale = "ach"; arch = "linux-x86_64"; sha1 = "72d9bf343fac24312faf42272553b37e7cb5df5e"; }
{ locale = "af"; arch = "linux-i686"; sha1 = "c266d1ce84018e55f239c0cf692feab0b3d2bb58"; }
{ locale = "af"; arch = "linux-x86_64"; sha1 = "28df7ec17c9008e59af3ba50225e2e6b53f9722a"; }
{ locale = "an"; arch = "linux-i686"; sha1 = "2d254b3818afcc0510efba99fe469754076b8841"; }
{ locale = "an"; arch = "linux-x86_64"; sha1 = "6428c38cd5c00c2a9c02e26b71945831c3c102d2"; }
{ locale = "ar"; arch = "linux-i686"; sha1 = "5477725a61b9479a90e76727eb9f69d19e282f83"; }
{ locale = "ar"; arch = "linux-x86_64"; sha1 = "e663608972b44aca2b08abcc2d92a3f8e8c92ed9"; }
{ locale = "as"; arch = "linux-i686"; sha1 = "101da7d20a72980cdc5db7c4b2755edc3e0a5d66"; }
{ locale = "as"; arch = "linux-x86_64"; sha1 = "9e6b94146534ec11d00ecd4f1e06680f0fd918b8"; }
{ locale = "ast"; arch = "linux-i686"; sha1 = "b5e195606434b4dd90818877e5aea05fa995f136"; }
{ locale = "ast"; arch = "linux-x86_64"; sha1 = "851276e8a86b27ad7b92e075e6e20a527284dd4e"; }
{ locale = "az"; arch = "linux-i686"; sha1 = "48ed44ab60ca16fc39abce13a630d997dd5099c1"; }
{ locale = "az"; arch = "linux-x86_64"; sha1 = "fb6b4ca689670a3d994e3c524490e46636a8cd59"; }
{ locale = "be"; arch = "linux-i686"; sha1 = "6c4d9cdb9fb8aa0fb3ed8042306268600e3c385a"; }
{ locale = "be"; arch = "linux-x86_64"; sha1 = "0795a804507837821fed591849169c13bf193302"; }
{ locale = "bg"; arch = "linux-i686"; sha1 = "3423b59b472eff5bdd0d16994a777c06de734b2b"; }
{ locale = "bg"; arch = "linux-x86_64"; sha1 = "5571d632e5dc7efea9fccae5035ed070542adc52"; }
{ locale = "bn-BD"; arch = "linux-i686"; sha1 = "c9724715fa1036e872b09b4bc453c9ff9344831a"; }
{ locale = "bn-BD"; arch = "linux-x86_64"; sha1 = "f99413c5716c4d45eee22cf1f547138b1ba3d044"; }
{ locale = "bn-IN"; arch = "linux-i686"; sha1 = "76d5752e8bc131ece1a43a3376b99280545861bc"; }
{ locale = "bn-IN"; arch = "linux-x86_64"; sha1 = "b9ea600f884e50afc31d096697b54366186b1331"; }
{ locale = "br"; arch = "linux-i686"; sha1 = "e72e62a49ebda9cadf032e2e90c14adb5a7db1c4"; }
{ locale = "br"; arch = "linux-x86_64"; sha1 = "7c64d69d3510d06ccdf98fbf85f41d3b7f4b532f"; }
{ locale = "bs"; arch = "linux-i686"; sha1 = "c69f54bd537c9d16ce4ccf5169646c6f7dde98a5"; }
{ locale = "bs"; arch = "linux-x86_64"; sha1 = "abe0137bb0cb8536b6bdaf03246bfc97e7cba4bc"; }
{ locale = "ca"; arch = "linux-i686"; sha1 = "3c914e3f26a61568a220b8eed2742c70ee879fd5"; }
{ locale = "ca"; arch = "linux-x86_64"; sha1 = "b3aa2e0caa2b145df9b3c099bb5158eb6c21402d"; }
{ locale = "cs"; arch = "linux-i686"; sha1 = "bfc8733ee396bfa0dedfdffb5aa11bb4c8816be0"; }
{ locale = "cs"; arch = "linux-x86_64"; sha1 = "6de8e3bb0038676a906b75a9603b9f057251538a"; }
{ locale = "cy"; arch = "linux-i686"; sha1 = "125c53350f599e975b177db3e11ce367b2250fd8"; }
{ locale = "cy"; arch = "linux-x86_64"; sha1 = "4535f608f78f91014371b4b49ca5d73ba369e5be"; }
{ locale = "da"; arch = "linux-i686"; sha1 = "860baa240c24453b55bb3c3273eee85821ab4a7f"; }
{ locale = "da"; arch = "linux-x86_64"; sha1 = "2078e23dbeeeaad80ef55a07888a94958a8bce85"; }
{ locale = "de"; arch = "linux-i686"; sha1 = "d3d6fbcfc622a303b932c6f9fed134d26fa3a32f"; }
{ locale = "de"; arch = "linux-x86_64"; sha1 = "1e7e7608ad79337212d73fd72df189bcfbc08be5"; }
{ locale = "dsb"; arch = "linux-i686"; sha1 = "aadd04915c3dd07b4fa257071382081531e910cb"; }
{ locale = "dsb"; arch = "linux-x86_64"; sha1 = "ab57a27336d9b2b379dd9370781cbe38fb34f274"; }
{ locale = "el"; arch = "linux-i686"; sha1 = "a96898e37be58096490ce26313760e9595eab0cb"; }
{ locale = "el"; arch = "linux-x86_64"; sha1 = "fd83ef7ac7b6b44ca61737b85f4b2aa9e297566b"; }
{ locale = "en-GB"; arch = "linux-i686"; sha1 = "923e977c4a53e91ff0299271bfacf675d1c9f047"; }
{ locale = "en-GB"; arch = "linux-x86_64"; sha1 = "6250c59ec325ce9f2a6520cc326a500fe8a61106"; }
{ locale = "en-US"; arch = "linux-i686"; sha1 = "11647b846463af53eebc70e5000c1b2072bcb08e"; }
{ locale = "en-US"; arch = "linux-x86_64"; sha1 = "c65084273a4684898d1bd265714bcd2a577939a0"; }
{ locale = "en-ZA"; arch = "linux-i686"; sha1 = "cbe33f717d3548913cc316adc4163824f63301dd"; }
{ locale = "en-ZA"; arch = "linux-x86_64"; sha1 = "ddaa35f6f054184484856254927bb4b0c7009ec1"; }
{ locale = "eo"; arch = "linux-i686"; sha1 = "d8c0d5adbebac214be559354e6f83efc6c01c874"; }
{ locale = "eo"; arch = "linux-x86_64"; sha1 = "e2deaaea97169a50e50c7a3cd7963b7627fd0271"; }
{ locale = "es-AR"; arch = "linux-i686"; sha1 = "cee1c800c773dd784900e8e1d9efc7ae59764907"; }
{ locale = "es-AR"; arch = "linux-x86_64"; sha1 = "38efb3a002d3ffafd825b24d0aa5c55617f0a198"; }
{ locale = "es-CL"; arch = "linux-i686"; sha1 = "419ca07f1d5bb1d460ce22a7bf8488611b3efee3"; }
{ locale = "es-CL"; arch = "linux-x86_64"; sha1 = "4ccd1423a7840b9bc696dbe9f1edc1e1629e664e"; }
{ locale = "es-ES"; arch = "linux-i686"; sha1 = "9398c4714f01ce1a2420ad879fc710a84c19f666"; }
{ locale = "es-ES"; arch = "linux-x86_64"; sha1 = "79e8fff4b9390f3258a7ed78995759d0005e167e"; }
{ locale = "es-MX"; arch = "linux-i686"; sha1 = "c3b4d3496c08ec12f3dc96d2600b327f8d326377"; }
{ locale = "es-MX"; arch = "linux-x86_64"; sha1 = "d5ee06667437b1d2f56de89b5f5e5f2f007c4eb1"; }
{ locale = "et"; arch = "linux-i686"; sha1 = "1c9a8326ca27152a4a8554c62d69784ad4f07ac6"; }
{ locale = "et"; arch = "linux-x86_64"; sha1 = "f4002b8fa6734353d02e605bf870aa51d67940a8"; }
{ locale = "eu"; arch = "linux-i686"; sha1 = "39bf95af55156896df07a2a5f77909987095f567"; }
{ locale = "eu"; arch = "linux-x86_64"; sha1 = "99a70da03d31e8209e2818ef07d8d380c1521164"; }
{ locale = "fa"; arch = "linux-i686"; sha1 = "1346de9715783742fcafe60df6d1c37460c6db93"; }
{ locale = "fa"; arch = "linux-x86_64"; sha1 = "d2e0b04bbc4617e35a1d46f22801ecebdb6e873f"; }
{ locale = "ff"; arch = "linux-i686"; sha1 = "2ec4e8bd9cdaefe06c390a5e41b5a234a2b1d7e2"; }
{ locale = "ff"; arch = "linux-x86_64"; sha1 = "293dad19f7278909b216107c229e20a79bcfa1fd"; }
{ locale = "fi"; arch = "linux-i686"; sha1 = "15c2fe0d7c6a53ee5bc7d8284ff414dd6da6b883"; }
{ locale = "fi"; arch = "linux-x86_64"; sha1 = "09222ca13bc199c8c32fad00a638f335276ff44b"; }
{ locale = "fr"; arch = "linux-i686"; sha1 = "10a45fab960d898d65f0dc45a6d0e6368f6bde8e"; }
{ locale = "fr"; arch = "linux-x86_64"; sha1 = "e6ed3e2d6d8e272d6a82bd39a0986afe9f9d5b00"; }
{ locale = "fy-NL"; arch = "linux-i686"; sha1 = "0222d1158829d06f3fee3314296ebe9126e0d9ab"; }
{ locale = "fy-NL"; arch = "linux-x86_64"; sha1 = "a0c5529c5439c4a4ac29578dd0df6801310b1279"; }
{ locale = "ga-IE"; arch = "linux-i686"; sha1 = "95e9d1636243553b72c8d5a6a653f5cd12539ca0"; }
{ locale = "ga-IE"; arch = "linux-x86_64"; sha1 = "c525824667f8fe9225fafd1c1bbe6d84413d3e30"; }
{ locale = "gd"; arch = "linux-i686"; sha1 = "d29e93647a906856033607ef15e88307cf98fab7"; }
{ locale = "gd"; arch = "linux-x86_64"; sha1 = "5473877025c6a4e57c286a7dc8c7550b71d4e156"; }
{ locale = "gl"; arch = "linux-i686"; sha1 = "350847f8853219234edb68b9316cbcf486191f2a"; }
{ locale = "gl"; arch = "linux-x86_64"; sha1 = "7e4c444870d24d9b5ce283bbbf0e2ecdd5ed4d85"; }
{ locale = "gu-IN"; arch = "linux-i686"; sha1 = "6aa7416aeb84000778df3ff354f4efd2cd805d70"; }
{ locale = "gu-IN"; arch = "linux-x86_64"; sha1 = "262b35a170b39750dc19579caa05df19c98cac94"; }
{ locale = "he"; arch = "linux-i686"; sha1 = "e6a798072a9fb01e947e5d40e431d3e71256d3e3"; }
{ locale = "he"; arch = "linux-x86_64"; sha1 = "6674ba9cad77bbc912f94084f8fd2403f0ce42fb"; }
{ locale = "hi-IN"; arch = "linux-i686"; sha1 = "d10a236c1e8bc425cd8077b87816fe0a28405274"; }
{ locale = "hi-IN"; arch = "linux-x86_64"; sha1 = "d67449c5cfe939ab5531cf5a27e1da6e5b9335d7"; }
{ locale = "hr"; arch = "linux-i686"; sha1 = "f5e151299b3da7788e40dadf1c1d0fab6e409a00"; }
{ locale = "hr"; arch = "linux-x86_64"; sha1 = "6f6b79f283f11414ba2344e83cfb1f0197011c2e"; }
{ locale = "hsb"; arch = "linux-i686"; sha1 = "a56600d80d772d4009c8feeca7dc6d63c344c199"; }
{ locale = "hsb"; arch = "linux-x86_64"; sha1 = "40a7724e59e002446c0a9cfd35de948fc5311e54"; }
{ locale = "hu"; arch = "linux-i686"; sha1 = "d1e68650ec713a0d24e159fe967b73b26198d33c"; }
{ locale = "hu"; arch = "linux-x86_64"; sha1 = "abac7894c98a55bb3f7f2ca02a439575c241ea7c"; }
{ locale = "hy-AM"; arch = "linux-i686"; sha1 = "d45c305cb676c7456d8e8f4f803089d82077a8fa"; }
{ locale = "hy-AM"; arch = "linux-x86_64"; sha1 = "473b7beca08bcbf8d443f6efbe3ac8752a6773c8"; }
{ locale = "id"; arch = "linux-i686"; sha1 = "084dd83725e94a557e73d11f78633e1bf98e5d69"; }
{ locale = "id"; arch = "linux-x86_64"; sha1 = "e173e4f47878070a98afde349d2fb93a6ae1c342"; }
{ locale = "is"; arch = "linux-i686"; sha1 = "65b89daf623810a94bbaaaad301a2c3e9e6d4d5f"; }
{ locale = "is"; arch = "linux-x86_64"; sha1 = "f108f862dafe32a047c08c6fe1135611728d3f4f"; }
{ locale = "it"; arch = "linux-i686"; sha1 = "ba049d6eb3b455674caf424745607f49675a8ed6"; }
{ locale = "it"; arch = "linux-x86_64"; sha1 = "006f094f2966358ec685b00033e640a94d809d53"; }
{ locale = "ja"; arch = "linux-i686"; sha1 = "95f6d91f882d9d0ab8ff5d4b7654a102d973543f"; }
{ locale = "ja"; arch = "linux-x86_64"; sha1 = "e2a70547561a1fed87e3308ebf857df6cc3a315e"; }
{ locale = "kk"; arch = "linux-i686"; sha1 = "c0d239c2220979dc0daa15ab1e9af510d7c09706"; }
{ locale = "kk"; arch = "linux-x86_64"; sha1 = "d23bdcacb5714b10f773381fb9c8e3d628d2e278"; }
{ locale = "km"; arch = "linux-i686"; sha1 = "d9119536b4295fea892afd8ee1b46fd5eb881314"; }
{ locale = "km"; arch = "linux-x86_64"; sha1 = "1c7eb6d62b050769634fb487c0161c5748b8e4a2"; }
{ locale = "kn"; arch = "linux-i686"; sha1 = "491269cc3bbd577d24cfe898b862cad008d2da41"; }
{ locale = "kn"; arch = "linux-x86_64"; sha1 = "9043341ce5c84064aa80f95545404f5415bea782"; }
{ locale = "ko"; arch = "linux-i686"; sha1 = "13cad5dea192e57b03a26c09254e6fb7cc4022d3"; }
{ locale = "ko"; arch = "linux-x86_64"; sha1 = "8b2f6551415637ff8c9d2de1e1643aa5cd721d48"; }
{ locale = "lij"; arch = "linux-i686"; sha1 = "b57d7e89e0cf548ab016867d468d5fa2e3b429aa"; }
{ locale = "lij"; arch = "linux-x86_64"; sha1 = "3246755855f5d869ddf5724cbd2fb6c237d3ad35"; }
{ locale = "lt"; arch = "linux-i686"; sha1 = "804ee921241432208c83bdf70986628c5fc1ce1d"; }
{ locale = "lt"; arch = "linux-x86_64"; sha1 = "c2bd411ddf33382afd091cda7f2f6c4cf3dfb5d4"; }
{ locale = "lv"; arch = "linux-i686"; sha1 = "89dfa9f319c1d6681deea122a3f23e8ea4bf6248"; }
{ locale = "lv"; arch = "linux-x86_64"; sha1 = "8b209580ff83965ebc27aa3f97eac1180fb82ffd"; }
{ locale = "mai"; arch = "linux-i686"; sha1 = "ff727fe52dac2468d430c5d8d734dca133693e9c"; }
{ locale = "mai"; arch = "linux-x86_64"; sha1 = "21844cd80358d5ac24bd9d9ea2a6daadd296e760"; }
{ locale = "mk"; arch = "linux-i686"; sha1 = "cbc4cb34957fde341affa780ea743fb30aa13aad"; }
{ locale = "mk"; arch = "linux-x86_64"; sha1 = "4e395325fd1550710197822495c8873a89ff014c"; }
{ locale = "ml"; arch = "linux-i686"; sha1 = "19f538b937a9f4a3ef2ee498c64de69b214b87d4"; }
{ locale = "ml"; arch = "linux-x86_64"; sha1 = "ebc164cd9cf4c3993270949a13c9cb1123379093"; }
{ locale = "mr"; arch = "linux-i686"; sha1 = "a942c265bedf537e59fcde8bff39c3addb4a2963"; }
{ locale = "mr"; arch = "linux-x86_64"; sha1 = "8967615af2f2efe359f0babe614d282569e44691"; }
{ locale = "ms"; arch = "linux-i686"; sha1 = "89f8a2bd49ff4793b2d69efb48aaa93b031dfa69"; }
{ locale = "ms"; arch = "linux-x86_64"; sha1 = "d2be6c9f62cc0615f9041470bae3b139b69ef55c"; }
{ locale = "nb-NO"; arch = "linux-i686"; sha1 = "99afd0b77d350df671acbe403b9b19d975bcb91a"; }
{ locale = "nb-NO"; arch = "linux-x86_64"; sha1 = "b14f1b45617773a0e010d81ce83b493dd93dc03a"; }
{ locale = "nl"; arch = "linux-i686"; sha1 = "9a043691524087b9968aaac1b5d19a212ddffebb"; }
{ locale = "nl"; arch = "linux-x86_64"; sha1 = "f22f09a85bdd943c874a0b321ae1ec017200d0b4"; }
{ locale = "nn-NO"; arch = "linux-i686"; sha1 = "1cdbd8319688ccd0af636e71568d7f2244ca0d1a"; }
{ locale = "nn-NO"; arch = "linux-x86_64"; sha1 = "bf660208d072b92f4d961d63f6bfadf5d2848e97"; }
{ locale = "or"; arch = "linux-i686"; sha1 = "fe1edc33462f5b31d76b7b39ef7de459b2260658"; }
{ locale = "or"; arch = "linux-x86_64"; sha1 = "679eb537bd4007ef14b09dd705a0eaf5de6c29ff"; }
{ locale = "pa-IN"; arch = "linux-i686"; sha1 = "cfa52529dcb953c5448d589845bf22343fc6339f"; }
{ locale = "pa-IN"; arch = "linux-x86_64"; sha1 = "a603ec800745b17d7ef31ee4008b2ccfc6515a51"; }
{ locale = "pl"; arch = "linux-i686"; sha1 = "09e02683fa6fc34ff152533026824205f976b866"; }
{ locale = "pl"; arch = "linux-x86_64"; sha1 = "94ed7980eb737171e6d9a428a99cc1cbcfa98daa"; }
{ locale = "pt-BR"; arch = "linux-i686"; sha1 = "2a73ca16724778da05aca6284b50f8ce6b2855c9"; }
{ locale = "pt-BR"; arch = "linux-x86_64"; sha1 = "0c0fc357264ed7ef806729cf5f3a636829740c47"; }
{ locale = "pt-PT"; arch = "linux-i686"; sha1 = "02a6ce278285830a1d9a2f092321d73755fc6b71"; }
{ locale = "pt-PT"; arch = "linux-x86_64"; sha1 = "0bcf7133711b812d55e4c4f824f6cd53b83ce3ef"; }
{ locale = "rm"; arch = "linux-i686"; sha1 = "e314ce94c7f7f72882e4b2671f8a52488e293adc"; }
{ locale = "rm"; arch = "linux-x86_64"; sha1 = "878d2fa1fb737963bb93296d4e0f2e67cd58cb04"; }
{ locale = "ro"; arch = "linux-i686"; sha1 = "e4643626b93bacd2f2dae152228287aa0d84acf3"; }
{ locale = "ro"; arch = "linux-x86_64"; sha1 = "6e99ce189e18f7056720500cfa596c8caf8f5a17"; }
{ locale = "ru"; arch = "linux-i686"; sha1 = "cffab960763f296586e4bbbbc671409323844464"; }
{ locale = "ru"; arch = "linux-x86_64"; sha1 = "7455db46a81f99ba21d7a3ed0ae5a97246fae822"; }
{ locale = "si"; arch = "linux-i686"; sha1 = "ba2a4ddaf8f8978d01f996b599f26801ce3c3a5b"; }
{ locale = "si"; arch = "linux-x86_64"; sha1 = "8e5cf5885fe5e12e1cf28e7b77171ed23c4fd1c3"; }
{ locale = "sk"; arch = "linux-i686"; sha1 = "423e824526557309cb2ec007c41c57daf69e8b42"; }
{ locale = "sk"; arch = "linux-x86_64"; sha1 = "8205ce31e27a6595f2384a85f35f48610cd8b187"; }
{ locale = "sl"; arch = "linux-i686"; sha1 = "8766cf70ffd089e79d1eac1211bcc3255c86146d"; }
{ locale = "sl"; arch = "linux-x86_64"; sha1 = "f49ae94b77df1f038bae64f47f3ded0e4f10f349"; }
{ locale = "son"; arch = "linux-i686"; sha1 = "dd07bb545505ce0251760d7960ddcfb235856b79"; }
{ locale = "son"; arch = "linux-x86_64"; sha1 = "aa660969f12a316dd85f7e69678f583430e084aa"; }
{ locale = "sq"; arch = "linux-i686"; sha1 = "ea498b08ae2dceb0a103a7980ca086bc5ce94cb2"; }
{ locale = "sq"; arch = "linux-x86_64"; sha1 = "4e2d7c6098c3cc48cc7a3e5b1557b75e1a9c1958"; }
{ locale = "sr"; arch = "linux-i686"; sha1 = "e03a369d834c2a2a0a5bc9e539f2a007fa78641f"; }
{ locale = "sr"; arch = "linux-x86_64"; sha1 = "b8cc41734b718deb50654ccc24c20e5be0b767fd"; }
{ locale = "sv-SE"; arch = "linux-i686"; sha1 = "358efd06a28a9ad43703335d190f4bea9b5ef95a"; }
{ locale = "sv-SE"; arch = "linux-x86_64"; sha1 = "e63d4ad88ad45e1e4ed43906c4525a24c1b1cd1b"; }
{ locale = "ta"; arch = "linux-i686"; sha1 = "ce0fb4901e621dea2330cf80df632d9424ea46b6"; }
{ locale = "ta"; arch = "linux-x86_64"; sha1 = "5910ddf0f1bee1ae3e2ce5c2882ce93732edf586"; }
{ locale = "te"; arch = "linux-i686"; sha1 = "367816038ddfbd11b7ad6cc2bae41fe4d82b132b"; }
{ locale = "te"; arch = "linux-x86_64"; sha1 = "6e6c46db9e45bbe20861fc8d6f971daaaa63d181"; }
{ locale = "th"; arch = "linux-i686"; sha1 = "0d4859a54ae11c114cb449b150373465d92b795b"; }
{ locale = "th"; arch = "linux-x86_64"; sha1 = "16d95125a4c51df9ebd587df16cb428f560cb8e9"; }
{ locale = "tr"; arch = "linux-i686"; sha1 = "6bab2ad51c7cf6e761c147d0a0f748573b1683a2"; }
{ locale = "tr"; arch = "linux-x86_64"; sha1 = "ba660dbe60c4e95ac82f536313989933e1edddb6"; }
{ locale = "uk"; arch = "linux-i686"; sha1 = "1e1e5dd54da8e3b94da831909149721dd2766267"; }
{ locale = "uk"; arch = "linux-x86_64"; sha1 = "1f32f890d4a1ba2a672d25a005ef5daa76040e33"; }
{ locale = "uz"; arch = "linux-i686"; sha1 = "49b36171729e3e0924d8398b62c22d5a02b36b8c"; }
{ locale = "uz"; arch = "linux-x86_64"; sha1 = "2336db0769fa921f2a50774791174565e6828978"; }
{ locale = "vi"; arch = "linux-i686"; sha1 = "2b40d9003eca218d235574d1ee7d6da73244d614"; }
{ locale = "vi"; arch = "linux-x86_64"; sha1 = "517d6269f4c2a98f4817be8a926b82c261a8d1f5"; }
{ locale = "xh"; arch = "linux-i686"; sha1 = "9d24460c7bcd1e8b36d900a130bb88ecda967678"; }
{ locale = "xh"; arch = "linux-x86_64"; sha1 = "e70d742aa94bb4678446a4b94edd915033a640fb"; }
{ locale = "zh-CN"; arch = "linux-i686"; sha1 = "3eb4e076fc42e9cbd97dd82af8eb77d3ea6bb068"; }
{ locale = "zh-CN"; arch = "linux-x86_64"; sha1 = "bdbf6abd8e86f6811d032b302818f15f343e8883"; }
{ locale = "zh-TW"; arch = "linux-i686"; sha1 = "b7e4cf9bf9db13f3e2d92bdb91ede3f243232a0a"; }
{ locale = "zh-TW"; arch = "linux-x86_64"; sha1 = "411cfc0033ac8edeb30d9d371738864e9401200c"; }
];
}

View File

@ -15,14 +15,14 @@
assert stdenv.cc ? libc && stdenv.cc.libc != null;
let version = "37.0.2"; in
let version = "38.0.1"; in
stdenv.mkDerivation rec {
name = "firefox-${version}";
src = fetchurl {
url = "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${version}/source/firefox-${version}.source.tar.bz2";
sha1 = "6e306d56e4e00ffdc2ddbdfbbabe4cb9fc527071";
sha1 = "20f52c37e099cb2b21f3a76c6e39fe698e1e79e8";
};
buildInputs =

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation {
desktopItem = makeDesktopItem {
name = browserName;
exec = browserName + " %U";
icon = browserName;
inherit icon;
comment = "";
desktopName = desktopName;
genericName = "Web Browser";
@ -43,7 +43,7 @@ stdenv.mkDerivation {
--suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \
--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH" \
--prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
--set MOZ_OBJDIR "$(ls -d "${browser}/lib/${browserName}*")"
--set MOZ_OBJDIR "$(ls -d "${browser}/lib/${browserName}"*)"
${ lib.optionalString libtrick
''
@ -58,8 +58,14 @@ stdenv.mkDerivation {
''
}
mkdir -p $out/share/icons
ln -s $out/lib/${browserName}${nameSuffix}/browser/icons/mozicon128.png $out/share/icons/${browserName}.png
if [ -e "${browser}/share/icons" ]; then
mkdir -p "$out/share"
ln -s "${browser}/share/icons" "$out/share/icons"
else
mkdir -p "$out/share/icons/hicolor/128x128/apps"
ln -s "$out/lib/$libdirbasename/browser/icons/mozicon128.png" \
"$out/share/icons/hicolor/128x128/apps/${browserName}.png"
fi
mkdir -p $out/share/applications
cp $desktopItem/share/applications/* $out/share/applications

View File

@ -1,4 +1,5 @@
{ stdenv, fetchgit, pkgconfig, girara, gtk, webkitgtk, glib_networking, makeWrapper }:
{ stdenv, fetchgit, pkgconfig, girara, gtk, webkitgtk, glib_networking, makeWrapper
, gsettings_desktop_schemas }:
stdenv.mkDerivation rec {
name = "jumanji-${version}";
@ -10,13 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "1xq06iabr4y76faf4w1cx6fhwdksfsxggz1ndny7icniwjzk98h9";
};
buildInputs = [ girara pkgconfig gtk webkitgtk makeWrapper ];
buildInputs = [ girara pkgconfig gtk webkitgtk makeWrapper gsettings_desktop_schemas ];
makeFlags = [ "PREFIX=$(out)" ];
preFixup=''
wrapProgram "$out/bin/jumanji" \
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules"
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
'';
meta = with stdenv.lib; {

View File

@ -6,7 +6,7 @@
, kdeSupport ? false, qt4, kdelibs
}:
assert stdenv.isLinux && stdenv.cc.cc.isGNU or false && stdenv.cc.libc != null;
assert stdenv.isLinux && stdenv.cc.isGNU && stdenv.cc.libc != null;
let
mirror = http://get.geo.opera.com/pub/opera;

View File

@ -1,7 +1,7 @@
{ stdenv, makeWrapper, jdk, mesos, fetchurl }:
stdenv.mkDerivation rec {
name = "marathon-v${version}";
name = "marathon-${version}";
version = "0.8.1";
src = fetchurl {
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
makeWrapper ${jdk.jre}/bin/java $out/bin/marathon \
--add-flags "-Xmx512m -jar $out/libexec/marathon/${name}.jar" \
--prefix "MESOS_NATIVE_LIBRARY" : "$MESOS_NATIVE_LIBRARY"
--prefix "MESOS_NATIVE_JAVA_LIBRARY" : "$MESOS_NATIVE_JAVA_LIBRARY"
'';
meta = with stdenv.lib; {

View File

@ -1,5 +1,5 @@
{ stdenv, lib, makeWrapper, fetchurl, curl, sasl, openssh, autoconf
, automake, libtool, unzip, gnutar, jdk, maven, python, wrapPython
, automake114x, libtool, unzip, gnutar, jdk, maven, python, wrapPython
, setuptools, distutils-cfg, boto, pythonProtobuf, apr, subversion
, leveldb, glog, perf, utillinux, libnl, iproute
}:
@ -9,18 +9,18 @@ let
soext = if stdenv.system == "x86_64-darwin" then "dylib" else "so";
in stdenv.mkDerivation rec {
version = "0.22.0";
version = "0.22.1";
name = "mesos-${version}";
dontDisableStatic = true;
src = fetchurl {
url = "http://www.apache.org/dist/mesos/${version}/mesos-${version}.tar.gz";
sha256 = "0z8c1vr7b06l3nqgbxq8ydcz79ayw75y2szipfqkw17c7gv6d7v8";
sha256 = "0ry0ppzgpab68fz5bzd7ry5rjbg8xjz73x1x4c5id42cpsqnn7x5";
};
buildInputs = [
makeWrapper autoconf automake libtool curl sasl jdk maven
makeWrapper autoconf automake114x libtool curl sasl jdk maven
python wrapPython boto distutils-cfg setuptools leveldb
subversion apr glog
] ++ lib.optionals stdenv.isLinux [
@ -129,7 +129,7 @@ in stdenv.mkDerivation rec {
homepage = "http://mesos.apache.org";
license = licenses.asl20;
description = "A cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks";
maintainers = with maintainers; [ cstrahan offline ];
maintainers = with maintainers; [ cstrahan offline rushmorem ];
platforms = with platforms; linux;
};
}

View File

@ -18,19 +18,25 @@
# them with our own.
let
arch = if stdenv.system == "x86_64-linux" then "x86_64"
else if stdenv.system == "i686-linux" then "x86"
else throw "Dropbox client for: ${stdenv.system} not supported!";
interpreter = if stdenv.system == "x86_64-linux" then "ld-linux-x86-64.so.2"
else if stdenv.system == "i686-linux" then "ld-linux.so.2"
else throw "Dropbox client for: ${stdenv.system} not supported!";
# NOTE: When updating, please also update in current stable, as older versions stop working
version = "3.4.4";
sha256 = if stdenv.system == "x86_64-linux" then "05ncbxwkimq7cl3bad759qvda7zjdh07f5wh6aw12g472l4yqq98"
else if stdenv.system == "i686-linux" then "18089bh6i64yw75pswgn2vkcl1kf7ipxxncmssw3qhb6791qfhbk"
else throw "Dropbox client for: ${stdenv.system} not supported!";
version = "3.4.6";
sha256 =
{
"x86_64-linux" = "0crhv21q48lwa86qcqgbcd9g73biibfrc2vgbavi67cwxvzcskky";
"i686-linux" = "0kli84kzg1wcwszjni948zb4qih8mynmyqhdwyiv1l7v5lrhb8k2";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch =
{
"x86_64-linux" = "x86_64";
"i686-linux" = "x86";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
interpreter =
{
"x86_64-linux" = "ld-linux-x86-64.so.2";
"i686-linux" = "ld-linux.so.2";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
# relative location where the dropbox libraries are stored
appdir = "opt/dropbox";
@ -109,6 +115,9 @@ in stdenv.mkDerivation {
mkdir -p "$out/bin"
makeWrapper "$out/${appdir}/dropbox" "$out/bin/dropbox" \
--prefix LD_LIBRARY_PATH : "${ldpath}"
mkdir -p "$out/share/icons"
ln -s "$out/${appdir}/images/hicolor" "$out/share/icons/hicolor"
'';
meta = {

View File

@ -1,12 +1,12 @@
{stdenv, fetchurl, flex, bison, libpcap}:
stdenv.mkDerivation rec {
name = "daq-2.0.4";
name = "daq-2.0.5";
src = fetchurl {
name = "${name}.tar.gz";
url = "http://www.snort.org/downloads/snort/${name}.tar.gz";
sha256 = "0g15kny0s6mpqfc723jxv7mgjfh45izhwcidhjzh52fd04ysm552";
sha256 = "0vdwb0r9kdlgj4g0i0swafbc7qik0zmks17mhqji8cl7hpdva13p";
};
buildInputs = [ flex bison libpcap ];

View File

@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool
perl perlXMLParser evolution_data_server gnome_doc_utils avahi
libsigcxx gtk dbus_glib libnotify libXext xextproto sqlite
gnome3.libsoup glib gnome3.gnome_icon_theme_symbolic
hicolor_icon_theme gnome3.gnome_icon_theme boost
gnome3.libsoup glib gnome3.defaultIconTheme boost
autoreconfHook pkgconfig libxml2 videoproto unixODBC db nspr
nss zlib libsecret libXrandr randrproto which libxslt libtasn1
gmp nettle makeWrapper ];

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