Merge 'master' into staging
This commit is contained in:
commit
f83d12a382
31
README.md
31
README.md
@ -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)
|
||||
|
@ -169,8 +169,8 @@ stdenv.mkDerivation { ...
|
||||
args: with args; <replaceable>...</replaceable>
|
||||
</programlisting>
|
||||
|
||||
or
|
||||
|
||||
or
|
||||
|
||||
<programlisting>
|
||||
{ stdenv, fetchurl, perl, ... }: <replaceable>...</replaceable>
|
||||
</programlisting>
|
||||
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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>";
|
||||
|
@ -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>It’s 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
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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 {
|
||||
|
@ -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"}
|
||||
|
@ -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
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
]
|
||||
|
16
nixos/modules/programs/kbdlight.nix
Normal file
16
nixos/modules/programs/kbdlight.nix
Normal 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" ];
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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";
|
||||
|
76
nixos/modules/services/networking/bird.nix
Normal file
76
nixos/modules/services/networking/bird.nix
Normal 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}";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
98
nixos/modules/services/networking/charybdis.nix
Normal file
98
nixos/modules/services/networking/charybdis.nix
Normal 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
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
@ -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) {
|
||||
|
56
nixos/modules/services/networking/nix-serve.nix
Normal file
56
nixos/modules/services/networking/nix-serve.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -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;
|
||||
|
@ -154,6 +154,7 @@ in
|
||||
users.extraUsers = flip mapAttrs' cfg.networks (network: _:
|
||||
nameValuePair ("tinc.${network}") ({
|
||||
description = "Tinc daemon user for ${network}";
|
||||
isSystemUser = true;
|
||||
})
|
||||
);
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
@ -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";
|
||||
|
@ -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/
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{ pkgs }:
|
||||
|
||||
pkgs.substituteAll {
|
||||
src = ./extlinux-conf-builder.sh;
|
||||
isExecutable = true;
|
||||
inherit (pkgs) bash;
|
||||
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
|
||||
}
|
@ -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
|
@ -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;
|
||||
|
||||
};
|
||||
|
||||
|
61
nixos/modules/virtualisation/azure-common.nix
Normal file
61
nixos/modules/virtualisation/azure-common.nix
Normal 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"
|
||||
|
||||
'';
|
||||
|
||||
}
|
@ -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>) ];
|
||||
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
47
nixos/modules/virtualisation/vmware-guest.nix
Normal file
47
nixos/modules/virtualisation/vmware-guest.nix
Normal 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
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
''}");
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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");
|
||||
'';
|
||||
|
||||
}
|
@ -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 =
|
||||
''
|
||||
|
@ -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/;
|
||||
|
@ -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
|
||||
|
@ -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 ]
|
||||
|
@ -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
|
||||
''
|
||||
|
@ -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 = {
|
||||
|
27
pkgs/applications/audio/fomp/default.nix
Normal file
27
pkgs/applications/audio/fomp/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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
|
||||
];
|
||||
|
||||
|
@ -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
|
||||
];
|
||||
|
||||
|
@ -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 = ''
|
||||
|
@ -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
|
||||
|
28
pkgs/applications/audio/ladspa-sdk/default.nix
Normal file
28
pkgs/applications/audio/ladspa-sdk/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
buildInputs = [ pulseaudio gtkmm3 libcanberra_gtk3 makeWrapper
|
||||
gnome3.gnome_icon_theme ];
|
||||
gnome3.defaultIconTheme ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
28
pkgs/applications/audio/plugin-torture/default.nix
Normal file
28
pkgs/applications/audio/plugin-torture/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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"
|
||||
|
61
pkgs/applications/display-managers/lightdm/fix-paths.patch
Normal file
61
pkgs/applications/display-managers/lightdm/fix-paths.patch
Normal 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)
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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
@ -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 = ''
|
||||
|
@ -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/";
|
||||
|
||||
|
@ -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 ];
|
||||
|
@ -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"
|
||||
'';
|
||||
|
@ -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
|
||||
};
|
||||
|
@ -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";
|
||||
|
@ -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
|
||||
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";
|
||||
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";
|
||||
|
||||
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";
|
||||
|
@ -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 ];
|
||||
|
@ -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
@ -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
|
||||
|
@ -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
|
||||
|
@ -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";
|
||||
|
@ -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; {
|
||||
|
4
pkgs/applications/misc/jekyll/Gemfile
Normal file
4
pkgs/applications/misc/jekyll/Gemfile
Normal file
@ -0,0 +1,4 @@
|
||||
source "https://rubygems.org"
|
||||
|
||||
gem 'jekyll'
|
||||
gem 'rdiscount'
|
72
pkgs/applications/misc/jekyll/Gemfile.lock
Normal file
72
pkgs/applications/misc/jekyll/Gemfile.lock
Normal 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
|
20
pkgs/applications/misc/jekyll/default.nix
Normal file
20
pkgs/applications/misc/jekyll/default.nix
Normal 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;
|
||||
};
|
||||
}
|
282
pkgs/applications/misc/jekyll/gemset.nix
Normal file
282
pkgs/applications/misc/jekyll/gemset.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
@ -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
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -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 ];
|
||||
|
@ -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}";
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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"; }
|
||||
];
|
||||
}
|
||||
|
@ -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 =
|
||||
|
@ -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
|
||||
|
@ -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; {
|
||||
|
@ -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;
|
||||
|
@ -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; {
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
@ -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!";
|
||||
# NOTE: When updating, please also update in current stable, as older versions stop working
|
||||
version = "3.4.6";
|
||||
sha256 =
|
||||
{
|
||||
"x86_64-linux" = "0crhv21q48lwa86qcqgbcd9g73biibfrc2vgbavi67cwxvzcskky";
|
||||
"i686-linux" = "0kli84kzg1wcwszjni948zb4qih8mynmyqhdwyiv1l7v5lrhb8k2";
|
||||
}."${stdenv.system}" or (throw "system ${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!";
|
||||
arch =
|
||||
{
|
||||
"x86_64-linux" = "x86_64";
|
||||
"i686-linux" = "x86";
|
||||
}."${stdenv.system}" or (throw "system ${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!";
|
||||
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 = {
|
||||
|
@ -1,16 +1,16 @@
|
||||
{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 ];
|
||||
|
||||
|
||||
meta = {
|
||||
description = "Data AcQuisition library (DAQ), for packet I/O";
|
||||
homepage = http://www.snort.org;
|
||||
|
@ -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
Loading…
Reference in New Issue
Block a user