mirror of
https://github.com/CHN-beta/nixpkgs.git
synced 2026-01-13 11:30:35 +08:00
Compare commits
7 Commits
16.09-beta
...
black@2016
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bde2351723 | ||
|
|
9e18b81ded | ||
|
|
78e9bc731b | ||
|
|
d2fd6c1621 | ||
|
|
dfa9df316b | ||
|
|
c9f9147bed | ||
|
|
6d9296c3c7 |
@@ -481,7 +481,7 @@ and the aliases
|
||||
#### `buildPythonPackage` function
|
||||
|
||||
The `buildPythonPackage` function is implemented in
|
||||
`pkgs/development/interpreters/python/build-python-package.nix`
|
||||
`pkgs/development/python-modules/generic/default.nix`
|
||||
|
||||
and can be used as:
|
||||
|
||||
@@ -536,7 +536,6 @@ All parameters from `mkDerivation` function are still supported.
|
||||
* `installFlags`: A list of strings. Arguments to be passed to `pip install`. To pass options to `python setup.py install`, use `--install-option`. E.g., `installFlags=["--install-option='--cpp_implementation'"].
|
||||
* `format`: Format of the source. Options are `setup` for when the source has a `setup.py` and `setuptools` is used to build a wheel, and `wheel` in case the source is already a binary wheel. The default value is `setup`.
|
||||
* `catchConflicts` If `true`, abort package build if a package name appears more than once in dependency tree. Default is `true`.
|
||||
* `checkInputs` Dependencies needed for running the `checkPhase`. These are added to `buildInputs` when `doCheck = true`.
|
||||
|
||||
#### `buildPythonApplication` function
|
||||
|
||||
@@ -716,8 +715,8 @@ Python attribute sets are created for each interpreter version. We will therefor
|
||||
In the following example we change the name of the package `pandas` to `foo`.
|
||||
```
|
||||
newpkgs = pkgs.overridePackages(self: super: rec {
|
||||
python35Packages = (super.python35Packages.override { self = python35Packages;})
|
||||
// { pandas = super.python35Packages.pandas.override {name = "foo";};
|
||||
python35Packages = super.python35Packages.override {
|
||||
self = python35Packages // { pandas = python35Packages.pandas.override{name="foo";};};
|
||||
};
|
||||
});
|
||||
```
|
||||
@@ -728,8 +727,8 @@ with import <nixpkgs> {};
|
||||
(let
|
||||
|
||||
newpkgs = pkgs.overridePackages(self: super: rec {
|
||||
python35Packages = (super.python35Packages.override { self = python35Packages;})
|
||||
// { pandas = super.python35Packages.pandas.override {name = "foo";};
|
||||
python35Packages = super.python35Packages.override {
|
||||
self = python35Packages // { pandas = python35Packages.pandas.override{name="foo";};};
|
||||
};
|
||||
});
|
||||
in newpkgs.python35.withPackages (ps: [ps.blaze])
|
||||
@@ -744,7 +743,7 @@ with import <nixpkgs> {};
|
||||
|
||||
newpkgs = pkgs.overridePackages(self: super: rec {
|
||||
python35Packages = super.python35Packages.override {
|
||||
self = python35Packages // { scipy = python35Packages.scipy_0_17;};
|
||||
self = python35Packages // { scipy = python35Packages.scipy_0_16;};
|
||||
};
|
||||
});
|
||||
in newpkgs.python35.withPackages (ps: [ps.blaze])
|
||||
@@ -752,41 +751,23 @@ in newpkgs.python35.withPackages (ps: [ps.blaze])
|
||||
```
|
||||
The requested package `blaze` depends upon `pandas` which itself depends on `scipy`.
|
||||
|
||||
A similar example but now using `django`
|
||||
```
|
||||
with import <nixpkgs> {};
|
||||
|
||||
(let
|
||||
|
||||
newpkgs = pkgs.overridePackages(self: super: rec {
|
||||
python27Packages = (super.python27Packages.override {self = python27Packages;})
|
||||
// { django = super.python27Packages.django_1_9; };
|
||||
});
|
||||
in newpkgs.python27.withPackages (ps: [ps.django_guardian ])
|
||||
).env
|
||||
```
|
||||
|
||||
### `python setup.py bdist_wheel` cannot create .whl
|
||||
|
||||
Executing `python setup.py bdist_wheel` in a `nix-shell `fails with
|
||||
Executing `python setup.py bdist_wheel` fails with
|
||||
```
|
||||
ValueError: ZIP does not support timestamps before 1980
|
||||
```
|
||||
This is because files are included that depend on items in the Nix store which have a timestamp of, that is, it corresponds to January the 1st, 1970 at 00:00:00. And as the error informs you, ZIP does not support that.
|
||||
The command `bdist_wheel` takes into account `SOURCE_DATE_EPOCH`, and `nix-shell` sets this to 1. By setting it to a value corresponding to 1980 or later, or by unsetting it, it is possible to build wheels.
|
||||
Fortunately `bdist_wheel` takes into account `SOURCE_DATE_EPOCH`. On Nix this value is set to 1. By setting it to a value correspond to 1980 or later it is possible to build wheels.
|
||||
|
||||
Use 1980 as timestamp:
|
||||
```
|
||||
nix-shell --run "SOURCE_DATE_EPOCH=315532800 python3 setup.py bdist_wheel"
|
||||
SOURCE_DATE_EPOCH=315532800 python3 setup.py bdist_wheel
|
||||
```
|
||||
or the current time:
|
||||
```
|
||||
nix-shell --run "SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel"
|
||||
SOURCE_DATE_EPOCH=$(date +%s) python3 setup.py bdist_wheel
|
||||
```
|
||||
or unset:
|
||||
"""
|
||||
nix-shell --run "unset SOURCE_DATE_EPOCH; python3 setup.py bdist_wheel"
|
||||
"""
|
||||
|
||||
### `install_data` / `data_files` problems
|
||||
|
||||
|
||||
@@ -29,15 +29,15 @@
|
||||
|
||||
<section><title>Using a split package</title>
|
||||
<para>In the Nix language the individual outputs can be reached explicitly as attributes, e.g. <varname>coreutils.info</varname>, but the typical case is just using packages as build inputs.</para>
|
||||
<para>When a multiple-output derivation gets into a build input of another derivation, the <varname>dev</varname> output is added if it exists, otherwise the first output is added. In addition to that, <varname>propagatedBuildOutputs</varname> of that package which by default contain <varname>$outputBin</varname> and <varname>$outputLib</varname> are also added. (See <xref linkend="multiple-output-file-type-groups" />.)</para>
|
||||
<para>When a multiple-output derivation gets into a build input of another derivation, the first output is added (<varname>.dev</varname> by convention) and also <varname>propagatedBuildOutputs</varname> of that package which by default contain <varname>$outputBin</varname> and <varname>$outputLib</varname>. (See <xref linkend="multiple-output-file-type-groups" />.)</para>
|
||||
</section>
|
||||
|
||||
|
||||
<section><title>Writing a split derivation</title>
|
||||
<para>Here you find how to write a derivation that produces multiple outputs.</para>
|
||||
<para>In nixpkgs there is a framework supporting multiple-output derivations. It tries to cover most cases by default behavior. You can find the source separated in <<filename>nixpkgs/pkgs/build-support/setup-hooks/multiple-outputs.sh</filename>>; it's relatively well-readable. The whole machinery is triggered by defining the <varname>outputs</varname> attribute to contain the list of desired output names (strings).</para>
|
||||
<programlisting>outputs = [ "bin" "dev" "out" "doc" ];</programlisting>
|
||||
<para>Often such a single line is enough. For each output an equally named environment variable is passed to the builder and contains the path in nix store for that output. By convention, the first output should contain the executable programs provided by the package as that output is used by Nix in string conversions, allowing references to binaries like <literal>${pkgs.perl}/bin/perl</literal> to always work. Typically you also want to have the main <varname>out</varname> output, as it catches any files that didn't get elsewhere.</para>
|
||||
<programlisting>outputs = [ "dev" "out" "bin" "doc" ];</programlisting>
|
||||
<para>Often such a single line is enough. For each output an equally named environment variable is passed to the builder and contains the path in nix store for that output. By convention, the first output should usually be <varname>dev</varname>; typically you also want to have the main <varname>out</varname> output, as it catches any files that didn't get elsewhere.</para>
|
||||
|
||||
<note><para>There is a special handling of the <varname>debug</varname> output, described at <xref linkend="stdenv-separateDebugInfo" />.</para></note>
|
||||
|
||||
|
||||
14
doc/old/update-upstream-data.txt
Normal file
14
doc/old/update-upstream-data.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
Semi-automatic source information updating using "update-upstream-data.sh" script and "src-{,info-}for-*.nix"
|
||||
|
||||
1. Recognizing when a pre-existing package uses this mechanism.
|
||||
|
||||
Packages using this automatical update mechanism have src-info-for-default.nix and src-for-default.nix next to default.nix. src-info-for-default.nix describes getting the freshest source from upstream web site; src-for-default.nix is a generated file with the current data about used source. Both files define a simple attrSet.
|
||||
|
||||
src-info-for-default.nix (for a file grabbed via http) contains at least downloadPage attribute - it is the page we need to look at to find out the latest version. It also contains baseName that is used for automatical generation of package name containing version. It can contain extra data for trickier cases.
|
||||
|
||||
src-for-default.nix will contain advertisedUrl (raw URL chosen on the site; its change prompts regeneration of source data), url for fetchurl, hash, version retrieved from the download URL and suggested package name.
|
||||
|
||||
2. Updating a package
|
||||
|
||||
nixpkgs/pkgs/build-support/upstream-updater directory contains some scripts. The worker script is called update-upstream-data.sh. This script requires main expression name (e.g. default.nix). It can optionally accpet a second parameter, URL which will be used instead of getting one by parsing the downloadPage (version extraction, mirror URL creation etc. will still be run). After running the script, check src-for-default.nix (or replace default.nix with expression name, if there are seceral expressions in the directory) for new version information.
|
||||
|
||||
@@ -557,8 +557,8 @@ script) if it exists.</para>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>configureFlags</varname></term>
|
||||
<listitem><para>A list of strings passed as additional arguments to the
|
||||
configure script.</para></listitem>
|
||||
<listitem><para>Additional arguments passed to the configure
|
||||
script.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
@@ -658,7 +658,7 @@ nothing.</para>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>makeFlags</varname></term>
|
||||
<listitem><para>A list of strings passed as additional flags to
|
||||
<listitem><para>Additional flags passed to
|
||||
<command>make</command>. These flags are also used by the default
|
||||
install and check phase. For setting make flags specific to the
|
||||
build phase, use <varname>buildFlags</varname> (see
|
||||
@@ -685,7 +685,7 @@ makeFlagsArray=(CFLAGS="-O0 -g" LDFLAGS="-lfoo -lbar")
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>buildFlags</varname> / <varname>buildFlagsArray</varname></term>
|
||||
<listitem><para>A list of strings passed as additional flags to
|
||||
<listitem><para>Additional flags passed to
|
||||
<command>make</command>. Like <varname>makeFlags</varname> and
|
||||
<varname>makeFlagsArray</varname>, but only used by the build
|
||||
phase.</para></listitem>
|
||||
@@ -753,7 +753,7 @@ doCheck = true;</programlisting>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>checkFlags</varname> / <varname>checkFlagsArray</varname></term>
|
||||
<listitem><para>A list of strings passed as additional flags to
|
||||
<listitem><para>Additional flags passed to
|
||||
<command>make</command>. Like <varname>makeFlags</varname> and
|
||||
<varname>makeFlagsArray</varname>, but only used by the check
|
||||
phase.</para></listitem>
|
||||
@@ -808,7 +808,7 @@ installTargets = "install-bin install-doc";</programlisting>
|
||||
|
||||
<varlistentry>
|
||||
<term><varname>installFlags</varname> / <varname>installFlagsArray</varname></term>
|
||||
<listitem><para>A list of strings passed as additional flags to
|
||||
<listitem><para>Additional flags passed to
|
||||
<command>make</command>. Like <varname>makeFlags</varname> and
|
||||
<varname>makeFlagsArray</varname>, but only used by the install
|
||||
phase.</para></listitem>
|
||||
|
||||
@@ -454,8 +454,6 @@ rec {
|
||||
getLib = getOutput "lib";
|
||||
getDev = getOutput "dev";
|
||||
|
||||
/* Pick the outputs of packages to place in buildInputs */
|
||||
chooseDevOutputs = drvs: builtins.map (drv: if drv.outputUnspecified or false then drv.dev or drv else drv) drvs;
|
||||
|
||||
/*** deprecated stuff ***/
|
||||
|
||||
|
||||
@@ -34,17 +34,6 @@ following incompatible changes:</para>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>A large number of packages have been converted to use the multiple outputs feature
|
||||
of Nix to greatly reduce the amount of required disk space. This may require changes
|
||||
to any custom packages to make them build again; see the relevant chapter in the
|
||||
Nixpkgs manual for more information. (Additional caveat to packagers: some packaging conventions
|
||||
related to multiple-output packages
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/pull/14766">were changed</link>
|
||||
late (August 2016) in the release cycle and differ from the initial introduction of multiple outputs.)
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Shell aliases for systemd sub-commands
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/pull/15598">were dropped</link>:
|
||||
@@ -57,14 +46,6 @@ following incompatible changes:</para>
|
||||
behavior of Redis 3.2</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>/var/setuid-wrappers/
|
||||
<link xlink:href="https://github.com/NixOS/nixpkgs/pull/18124">is now a symlink so
|
||||
it can be atomically updated</link>
|
||||
and it's not mounted as tmpfs anymore since setuid binaries are located on /run/ as tmpfs.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>Gitlab's maintainence script gitlab-runner was removed and split up into the more clearer
|
||||
gitlab-run and gitlab-rake scripts because gitlab-runner is a component of Gitlab CI.</para>
|
||||
@@ -85,11 +66,6 @@ following incompatible changes:</para>
|
||||
<literal>environment.variables</literal>.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>The <literal>audit</literal> service is no longer enabled by default.
|
||||
Use <literal>security.audit.enable = true;</literal> to explicitly enable it.</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ with lib;
|
||||
config = {
|
||||
|
||||
fonts.fonts =
|
||||
[
|
||||
[ pkgs.xorg.fontbhttf
|
||||
pkgs.xorg.fontbhlucidatypewriter100dpi
|
||||
pkgs.xorg.fontbhlucidatypewriter75dpi
|
||||
pkgs.dejavu_fonts
|
||||
|
||||
@@ -54,10 +54,6 @@ let
|
||||
WARNING: Don't try to hibernate when you have at least one swap partition with
|
||||
this option enabled! We have no way to set the partition into which hibernation image
|
||||
is saved, so if your image ends up on an encrypted one you would lose it!
|
||||
|
||||
WARNING #2: Do not use /dev/disk/by-uuid/… or /dev/disk/by-label/… as your swap device
|
||||
when using randomEncryption as the UUIDs and labels will get erased on every boot when
|
||||
the partition is encrypted. Best to use /dev/disk/by-partuuid/…
|
||||
'';
|
||||
};
|
||||
|
||||
@@ -76,7 +72,7 @@ let
|
||||
config = rec {
|
||||
device = mkIf options.label.isDefined
|
||||
"/dev/disk/by-label/${config.label}";
|
||||
deviceName = lib.replaceChars ["\\"] [""] (escapeSystemdPath config.device);
|
||||
deviceName = escapeSystemdPath config.device;
|
||||
realDevice = if config.randomEncryption then "/dev/mapper/${deviceName}" else config.device;
|
||||
};
|
||||
|
||||
@@ -125,8 +121,6 @@ in
|
||||
|
||||
createSwapDevice = sw:
|
||||
assert sw.device != "";
|
||||
assert !(sw.randomEncryption && lib.hasPrefix "/dev/disk/by-uuid" sw.device);
|
||||
assert !(sw.randomEncryption && lib.hasPrefix "/dev/disk/by-label" sw.device);
|
||||
let realDevice' = escapeSystemdPath sw.realDevice;
|
||||
in nameValuePair "mkswap-${sw.deviceName}"
|
||||
{ description = "Initialisation of swap device ${sw.device}";
|
||||
|
||||
@@ -52,8 +52,8 @@ foreach my $g (@{$spec->{groups}}) {
|
||||
$gidsUsed{$g->{gid}} = 1 if defined $g->{gid};
|
||||
}
|
||||
|
||||
foreach my $u (@{$spec->{users}}) {
|
||||
$uidsUsed{$u->{uid}} = 1 if defined $u->{uid};
|
||||
foreach my $u (@{$spec->{groups}}) {
|
||||
$uidsUsed{$u->{u}} = 1 if defined $u->{uid};
|
||||
}
|
||||
|
||||
# Read the current /etc/group.
|
||||
|
||||
@@ -92,12 +92,14 @@ fi
|
||||
mkdir -m 0755 -p $mountPoint/dev $mountPoint/proc $mountPoint/sys $mountPoint/etc $mountPoint/run $mountPoint/home
|
||||
mkdir -m 01777 -p $mountPoint/tmp
|
||||
mkdir -m 0755 -p $mountPoint/tmp/root
|
||||
mkdir -m 0755 -p $mountPoint/var/setuid-wrappers
|
||||
mkdir -m 0700 -p $mountPoint/root
|
||||
mount --rbind /dev $mountPoint/dev
|
||||
mount --rbind /proc $mountPoint/proc
|
||||
mount --rbind /sys $mountPoint/sys
|
||||
mount --rbind / $mountPoint/tmp/root
|
||||
mount -t tmpfs -o "mode=0755" none $mountPoint/run
|
||||
mount -t tmpfs -o "mode=0755" none $mountPoint/var/setuid-wrappers
|
||||
rm -rf $mountPoint/var/run
|
||||
ln -s /run $mountPoint/var/run
|
||||
for f in /etc/resolv.conf /etc/hosts; do rm -f $mountPoint/$f; [ -f "$f" ] && cp -Lf $f $mountPoint/etc/; done
|
||||
|
||||
@@ -4,7 +4,6 @@ with lib;
|
||||
|
||||
let
|
||||
cfg = config.security.audit;
|
||||
enabled = cfg.enable == "lock" || cfg.enable;
|
||||
|
||||
failureModes = {
|
||||
silent = 0;
|
||||
@@ -12,13 +11,6 @@ let
|
||||
panic = 2;
|
||||
};
|
||||
|
||||
disableScript = pkgs.writeScript "audit-disable" ''
|
||||
#!${pkgs.stdenv.shell} -eu
|
||||
# Explicitly disable everything, as otherwise journald might start it.
|
||||
auditctl -D
|
||||
auditctl -e 0 -a task,never
|
||||
'';
|
||||
|
||||
# TODO: it seems like people like their rules to be somewhat secret, yet they will not be if
|
||||
# put in the store like this. At the same time, it doesn't feel like a huge deal and working
|
||||
# around that is a pain so I'm leaving it like this for now.
|
||||
@@ -55,7 +47,7 @@ in {
|
||||
security.audit = {
|
||||
enable = mkOption {
|
||||
type = types.enum [ false true "lock" ];
|
||||
default = false;
|
||||
default = true; # The kernel seems to enable it by default with no rules anyway
|
||||
description = ''
|
||||
Whether to enable the Linux audit system. The special `lock' value can be used to
|
||||
enable auditing and prevent disabling it until a restart. Be careful about locking
|
||||
@@ -99,7 +91,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
config = mkIf (cfg.enable == "lock" || cfg.enable) {
|
||||
systemd.services.audit = {
|
||||
description = "Kernel Auditing";
|
||||
wantedBy = [ "basic.target" ];
|
||||
@@ -111,8 +103,8 @@ in {
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = "@${if enabled then startScript else disableScript} audit-start";
|
||||
ExecStop = "@${stopScript} audit-stop";
|
||||
ExecStart = "@${startScript} audit-start";
|
||||
ExecStop = "@${stopScript} audit-stop";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -20,6 +20,23 @@ with lib;
|
||||
config = mkIf config.security.hideProcessInformation {
|
||||
users.groups.proc.gid = config.ids.gids.proc;
|
||||
|
||||
boot.specialFileSystems."/proc".options = [ "hidepid=2" "gid=${toString config.ids.gids.proc}" ];
|
||||
systemd.services.hidepid = {
|
||||
wantedBy = [ "local-fs.target" ];
|
||||
after = [ "systemd-remount-fs.service" ];
|
||||
before = [ "local-fs-pre.target" "local-fs.target" "shutdown.target" ];
|
||||
wants = [ "local-fs-pre.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
RemainAfterExit = true;
|
||||
ExecStart = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=2,gid=${toString config.ids.gids.proc} /proc'';
|
||||
ExecStop = ''${pkgs.utillinux}/bin/mount -o remount,hidepid=0,gid=0 /proc'';
|
||||
};
|
||||
|
||||
unitConfig = {
|
||||
DefaultDependencies = false;
|
||||
Conflicts = "shutdown.target";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ let
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp ${./setuid-wrapper.c} setuid-wrapper.c
|
||||
gcc -Wall -O2 -DWRAPPER_DIR=\"/run/setuid-wrapper-dirs\" \
|
||||
gcc -Wall -O2 -DWRAPPER_DIR=\"${wrapperDir}\" \
|
||||
setuid-wrapper.c -o $out/bin/setuid-wrapper
|
||||
'';
|
||||
};
|
||||
@@ -102,11 +102,11 @@ in
|
||||
source=/nix/var/nix/profiles/default/bin/${program}
|
||||
fi
|
||||
|
||||
cp ${setuidWrapper}/bin/setuid-wrapper $wrapperDir/${program}
|
||||
echo -n "$source" > $wrapperDir/${program}.real
|
||||
chmod 0000 $wrapperDir/${program} # to prevent races
|
||||
chown ${owner}.${group} $wrapperDir/${program}
|
||||
chmod "u${if setuid then "+" else "-"}s,g${if setgid then "+" else "-"}s,${permissions}" $wrapperDir/${program}
|
||||
cp ${setuidWrapper}/bin/setuid-wrapper ${wrapperDir}/${program}
|
||||
echo -n "$source" > ${wrapperDir}/${program}.real
|
||||
chmod 0000 ${wrapperDir}/${program} # to prevent races
|
||||
chown ${owner}.${group} ${wrapperDir}/${program}
|
||||
chmod "u${if setuid then "+" else "-"}s,g${if setgid then "+" else "-"}s,${permissions}" ${wrapperDir}/${program}
|
||||
'';
|
||||
|
||||
in stringAfter [ "users" ]
|
||||
@@ -115,29 +115,9 @@ in
|
||||
# programs to be wrapped.
|
||||
SETUID_PATH=${config.system.path}/bin:${config.system.path}/sbin
|
||||
|
||||
mkdir -p /run/setuid-wrapper-dirs
|
||||
wrapperDir=$(mktemp --directory --tmpdir=/run/setuid-wrapper-dirs setuid-wrappers.XXXXXXXXXX)
|
||||
rm -f ${wrapperDir}/* # */
|
||||
|
||||
${concatMapStrings makeSetuidWrapper setuidPrograms}
|
||||
|
||||
if [ -L ${wrapperDir} ]; then
|
||||
# Atomically replace the symlink
|
||||
# See https://axialcorps.com/2013/07/03/atomically-replacing-files-and-directories/
|
||||
old=$(readlink ${wrapperDir})
|
||||
ln --symbolic --force --no-dereference $wrapperDir ${wrapperDir}-tmp
|
||||
mv --no-target-directory ${wrapperDir}-tmp ${wrapperDir}
|
||||
rm --force --recursive $old
|
||||
elif [ -d ${wrapperDir} ]; then
|
||||
# Compatibility with old state, just remove the folder and symlink
|
||||
rm -f ${wrapperDir}/*
|
||||
# if it happens to be a tmpfs
|
||||
umount ${wrapperDir} || true
|
||||
rm -d ${wrapperDir}
|
||||
ln -d --symbolic $wrapperDir ${wrapperDir}
|
||||
else
|
||||
# For initial setup
|
||||
ln --symbolic $wrapperDir ${wrapperDir}
|
||||
fi
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
@@ -663,7 +663,7 @@ in
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ curl ]
|
||||
++ optional cfg.pdfExport texlive.combined.scheme-basic
|
||||
++ optional cfg.pdfExport texLiveFull
|
||||
++ optional (cfg.repositoryType == "darcs") darcs
|
||||
++ optional (cfg.repositoryType == "mercurial") mercurial
|
||||
++ optional (cfg.repositoryType == "git") git;
|
||||
|
||||
@@ -43,10 +43,14 @@ in
|
||||
options = {
|
||||
services.unbound = {
|
||||
|
||||
enable = mkEnableOption "Unbound domain name server";
|
||||
enable = mkOption {
|
||||
default = false;
|
||||
type = types.bool;
|
||||
description = "Whether to enable the Unbound domain name server.";
|
||||
};
|
||||
|
||||
allowedAccess = mkOption {
|
||||
default = [ "127.0.0.0/24" ];
|
||||
default = ["127.0.0.0/24"];
|
||||
type = types.listOf types.str;
|
||||
description = "What networks are allowed to use unbound as a resolver.";
|
||||
};
|
||||
@@ -93,7 +97,7 @@ in
|
||||
};
|
||||
|
||||
systemd.services.unbound = {
|
||||
description = "Unbound recursive Domain Name Server";
|
||||
description="Unbound recursive Domain Name Server";
|
||||
after = [ "network.target" ];
|
||||
before = [ "nss-lookup.target" ];
|
||||
wants = [" nss-lookup.target" ];
|
||||
|
||||
@@ -7,19 +7,11 @@ let
|
||||
in
|
||||
{
|
||||
options.services.zerotierone.enable = mkEnableOption "ZeroTierOne";
|
||||
options.services.zerotierone.package = mkOption {
|
||||
default = pkgs.zerotierone;
|
||||
defaultText = "pkgs.zerotierone";
|
||||
type = types.package;
|
||||
description = ''
|
||||
ZeroTier One package to use.
|
||||
'';
|
||||
};
|
||||
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.zerotierone = {
|
||||
description = "ZeroTierOne";
|
||||
path = [ cfg.package ];
|
||||
path = [ pkgs.zerotierone ];
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
preStart =
|
||||
@@ -29,7 +21,7 @@ in
|
||||
chown -R root:root /var/lib/zerotier-one
|
||||
'';
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/zerotier-one";
|
||||
ExecStart = "${pkgs.zerotierone}/bin/zerotier-one";
|
||||
Restart = "always";
|
||||
KillMode = "process";
|
||||
};
|
||||
@@ -38,6 +30,6 @@ in
|
||||
# ZeroTier does not issue DHCP leases, but some strangers might...
|
||||
networking.dhcpcd.denyInterfaces = [ "zt0" ];
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
environment.systemPackages = [ pkgs.zerotierone ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -154,15 +154,9 @@ in
|
||||
|
||||
system.activationScripts.tmpfs =
|
||||
''
|
||||
specialMount() {
|
||||
local device="$1"
|
||||
local mountPoint="$2"
|
||||
local options="$3"
|
||||
local fsType="$4"
|
||||
|
||||
${pkgs.utillinux}/bin/mount -t "$fsType" -o "remount,$options" "$device" "$mountPoint"
|
||||
}
|
||||
source ${config.system.build.earlyMountScript}
|
||||
${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.devSize}" none /dev
|
||||
${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.devShmSize}" none /dev/shm
|
||||
${pkgs.utillinux}/bin/mount -o "remount,size=${config.boot.runSize}" none /run
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
@@ -425,20 +425,13 @@ in
|
||||
{ path = "/boot"; inherit (cfg) devices; inherit (efi) efiSysMountPoint; }
|
||||
];
|
||||
|
||||
system.build.installBootLoader =
|
||||
let
|
||||
install-grub-pl = pkgs.substituteAll {
|
||||
src = ./install-grub.pl;
|
||||
inherit (pkgs) utillinux;
|
||||
btrfsprogs = pkgs.btrfs-progs;
|
||||
};
|
||||
in pkgs.writeScript "install-grub.sh" (''
|
||||
system.build.installBootLoader = pkgs.writeScript "install-grub.sh" (''
|
||||
#!${pkgs.stdenv.shell}
|
||||
set -e
|
||||
export PERL5LIB=${makePerlPath (with pkgs.perlPackages; [ FileSlurp XMLLibXML XMLSAX ListCompare ])}
|
||||
${optionalString cfg.enableCryptodisk "export GRUB_ENABLE_CRYPTODISK=y"}
|
||||
'' + flip concatMapStrings cfg.mirroredBoots (args: ''
|
||||
${pkgs.perl}/bin/perl ${install-grub-pl} ${grubConfig args} $@
|
||||
${pkgs.perl}/bin/perl ${./install-grub.pl} ${grubConfig args} $@
|
||||
''));
|
||||
|
||||
system.build.grub = grub;
|
||||
|
||||
@@ -12,10 +12,8 @@ require List::Compare;
|
||||
use POSIX;
|
||||
use Cwd;
|
||||
|
||||
# system.build.toplevel path
|
||||
my $defaultConfig = $ARGV[1] or die;
|
||||
|
||||
# Grub config XML generated by grubConfig function in grub.nix
|
||||
my $dom = XML::LibXML->load_xml(location => $ARGV[0]);
|
||||
|
||||
sub get { my ($name) = @_; return $dom->findvalue("/expr/attrs/attr[\@name = '$name']/*/\@value"); }
|
||||
@@ -99,8 +97,6 @@ sub PathInMount {
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
# Figure out what filesystem is used for the directory with init/initrd/kernel files
|
||||
sub GetFs {
|
||||
my ($dir) = @_;
|
||||
my $bestFs = Fs->new(device => "", type => "", mount => "");
|
||||
@@ -140,10 +136,7 @@ my $driveid = 1;
|
||||
sub GrubFs {
|
||||
my ($dir) = @_;
|
||||
my $fs = GetFs($dir);
|
||||
my $path = substr($dir, length($fs->mount));
|
||||
if (substr($path, 0, 1) ne "/") {
|
||||
$path = "/$path";
|
||||
}
|
||||
my $path = "/" . substr($dir, length($fs->mount));
|
||||
my $search = "";
|
||||
|
||||
if ($grubVersion > 1) {
|
||||
@@ -176,7 +169,7 @@ sub GrubFs {
|
||||
$search = $types{$fsIdentifier} . ' ';
|
||||
|
||||
# Based on the type pull in the identifier from the system
|
||||
my ($status, @devInfo) = runCommand("@utillinux@/bin/blkid -o export @{[$fs->device]}");
|
||||
my ($status, @devInfo) = runCommand("blkid -o export @{[$fs->device]}");
|
||||
if ($status != 0) {
|
||||
die "Failed to get blkid info for @{[$fs->mount]} on @{[$fs->device]}";
|
||||
}
|
||||
@@ -189,7 +182,7 @@ sub GrubFs {
|
||||
|
||||
# BTRFS is a special case in that we need to fix the referrenced path based on subvolumes
|
||||
if ($fs->type eq 'btrfs') {
|
||||
my ($status, @id_info) = runCommand("@btrfsprogs@/bin/btrfs subvol show @{[$fs->mount]}");
|
||||
my ($status, @id_info) = runCommand("btrfs subvol show @{[$fs->mount]}");
|
||||
if ($status != 0) {
|
||||
die "Failed to retrieve subvolume info for @{[$fs->mount]}\n";
|
||||
}
|
||||
@@ -197,7 +190,7 @@ sub GrubFs {
|
||||
if ($#ids > 0) {
|
||||
die "Btrfs subvol name for @{[$fs->device]} listed multiple times in mount\n"
|
||||
} elsif ($#ids == 0) {
|
||||
my ($status, @path_info) = runCommand("@btrfsprogs@/bin/btrfs subvol list @{[$fs->mount]}");
|
||||
my ($status, @path_info) = runCommand("btrfs subvol list @{[$fs->mount]}");
|
||||
if ($status != 0) {
|
||||
die "Failed to find @{[$fs->mount]} subvolume id from btrfs\n";
|
||||
}
|
||||
|
||||
@@ -59,24 +59,22 @@ echo
|
||||
echo "[1;32m<<< NixOS Stage 1 >>>[0m"
|
||||
echo
|
||||
|
||||
# Make several required directories.
|
||||
mkdir -p /etc/udev
|
||||
touch /etc/fstab # to shut up mount
|
||||
ln -s /proc/mounts /etc/mtab # to shut up mke2fs
|
||||
touch /etc/udev/hwdb.bin # to shut up udev
|
||||
touch /etc/initrd-release
|
||||
|
||||
# Mount special file systems.
|
||||
specialMount() {
|
||||
local device="$1"
|
||||
local mountPoint="$2"
|
||||
local options="$3"
|
||||
local fsType="$4"
|
||||
|
||||
mkdir -m 0755 -p "$mountPoint"
|
||||
mount -n -t "$fsType" -o "$options" "$device" "$mountPoint"
|
||||
}
|
||||
source @earlyMountScript@
|
||||
mkdir -p /etc/udev
|
||||
touch /etc/fstab # to shut up mount
|
||||
touch /etc/mtab # to shut up mke2fs
|
||||
touch /etc/udev/hwdb.bin # to shut up udev
|
||||
touch /etc/initrd-release
|
||||
mkdir -p /proc
|
||||
mount -t proc proc /proc
|
||||
mkdir -p /sys
|
||||
mount -t sysfs sysfs /sys
|
||||
mount -t devtmpfs -o "size=@devSize@" devtmpfs /dev
|
||||
mkdir -p /run
|
||||
mount -t tmpfs -o "mode=0755,size=@runSize@" tmpfs /run
|
||||
mkdir /dev/pts
|
||||
mount -t devpts devpts /dev/pts
|
||||
|
||||
# Log the script output to /dev/kmsg or /run/log/stage-1-init.log.
|
||||
mkdir -p /tmp
|
||||
|
||||
@@ -190,9 +190,7 @@ let
|
||||
|
||||
inherit udevRules extraUtils modulesClosure;
|
||||
|
||||
inherit (config.boot) resumeDevice;
|
||||
|
||||
inherit (config.system.build) earlyMountScript;
|
||||
inherit (config.boot) resumeDevice devSize runSize;
|
||||
|
||||
inherit (config.boot.initrd) checkJournalingFS
|
||||
preLVMCommands preDeviceCommands postDeviceCommands postMountCommands preFailCommands kernelModules;
|
||||
|
||||
@@ -37,16 +37,12 @@ fi
|
||||
# Likewise, stage 1 mounts /proc, /dev and /sys, so if we don't have a
|
||||
# stage 1, we need to do that here.
|
||||
if [ ! -e /proc/1 ]; then
|
||||
specialMount() {
|
||||
local device="$1"
|
||||
local mountPoint="$2"
|
||||
local options="$3"
|
||||
local fsType="$4"
|
||||
|
||||
mkdir -m 0755 -p "$mountPoint"
|
||||
mount -n -t "$fsType" -o "$options" "$device" "$mountPoint"
|
||||
}
|
||||
source @earlyMountScript@
|
||||
mkdir -m 0755 -p /proc
|
||||
mount -n -t proc proc /proc
|
||||
mkdir -m 0755 -p /dev
|
||||
mount -t devtmpfs devtmpfs /dev
|
||||
mkdir -m 0755 -p /sys
|
||||
mount -t sysfs sysfs /sys
|
||||
fi
|
||||
|
||||
|
||||
@@ -91,6 +87,11 @@ done
|
||||
|
||||
|
||||
# More special file systems, initialise required directories.
|
||||
if ! mountpoint -q /dev/shm; then
|
||||
mkdir -m 0755 /dev/shm
|
||||
mount -t tmpfs -o "rw,nosuid,nodev,size=@devShmSize@" tmpfs /dev/shm
|
||||
fi
|
||||
mkdir -m 0755 -p /dev/pts
|
||||
[ -e /proc/bus/usb ] && mount -t usbfs usbfs /proc/bus/usb # UML doesn't have USB by default
|
||||
mkdir -m 01777 -p /tmp
|
||||
mkdir -m 0755 -p /var /var/log /var/lib /var/db
|
||||
@@ -111,6 +112,14 @@ rm -f /etc/{group,passwd,shadow}.lock
|
||||
rm -rf /nix/var/nix/gcroots/tmp /nix/var/nix/temproots
|
||||
|
||||
|
||||
# Create a tmpfs on /run to hold runtime state for programs such as
|
||||
# udev (if stage 1 hasn't already done so).
|
||||
if ! mountpoint -q /run; then
|
||||
rm -rf /run
|
||||
mkdir -m 0755 -p /run
|
||||
mount -t tmpfs -o "mode=0755,size=@runSize@" tmpfs /run
|
||||
fi
|
||||
|
||||
# Create a ramfs on /run/keys to hold secrets that shouldn't be
|
||||
# written to disk (generally used for NixOps, harmless elsewhere).
|
||||
if ! mountpoint -q /run/keys; then
|
||||
@@ -141,6 +150,13 @@ if [ -n "@useHostResolvConf@" -a -e /etc/resolv.conf ]; then
|
||||
cat /etc/resolv.conf | resolvconf -m 1000 -a host
|
||||
fi
|
||||
|
||||
|
||||
# Create /var/setuid-wrappers as a tmpfs.
|
||||
rm -rf /var/setuid-wrappers
|
||||
mkdir -m 0755 -p /var/setuid-wrappers
|
||||
mount -t tmpfs -o "mode=0755" tmpfs /var/setuid-wrappers
|
||||
|
||||
|
||||
# Log the script output to /dev/kmsg or /run/log/stage-2-init.log.
|
||||
# Only at this point are all the necessary prerequisites ready for these commands.
|
||||
exec {logOutFd}>&1 {logErrFd}>&2
|
||||
|
||||
@@ -20,9 +20,10 @@ let
|
||||
src = ./stage-2-init.sh;
|
||||
shellDebug = "${pkgs.bashInteractive}/bin/bash";
|
||||
isExecutable = true;
|
||||
inherit (config.boot) devShmSize runSize;
|
||||
inherit (config.nix) readOnlyStore;
|
||||
inherit (config.networking) useHostResolvConf;
|
||||
inherit (config.system.build) earlyMountScript;
|
||||
ttyGid = config.ids.gids.tty;
|
||||
path =
|
||||
[ pkgs.coreutils
|
||||
pkgs.utillinux
|
||||
|
||||
@@ -309,7 +309,7 @@ in rec {
|
||||
};
|
||||
|
||||
startAt = mkOption {
|
||||
type = with types; either str (listOf str);
|
||||
type = types.str;
|
||||
default = "";
|
||||
example = "Sun 14:00:00";
|
||||
description = ''
|
||||
|
||||
@@ -18,9 +18,7 @@ let
|
||||
|
||||
prioOption = prio: optionalString (prio != null) " pri=${toString prio}";
|
||||
|
||||
specialFSTypes = [ "proc" "sysfs" "tmpfs" "devtmpfs" "devpts" ];
|
||||
|
||||
coreFileSystemOpts = { name, config, ... }: {
|
||||
fileSystemOpts = { name, config, ... }: {
|
||||
|
||||
options = {
|
||||
|
||||
@@ -37,6 +35,13 @@ let
|
||||
description = "Location of the device.";
|
||||
};
|
||||
|
||||
label = mkOption {
|
||||
default = null;
|
||||
example = "root-partition";
|
||||
type = types.nullOr types.str;
|
||||
description = "Label of the device (if any).";
|
||||
};
|
||||
|
||||
fsType = mkOption {
|
||||
default = "auto";
|
||||
example = "ext3";
|
||||
@@ -48,28 +53,12 @@ let
|
||||
default = [ "defaults" ];
|
||||
example = [ "data=journal" ];
|
||||
description = "Options used to mount the file system.";
|
||||
} // (if versionAtLeast lib.nixpkgsVersion "16.09" then {
|
||||
type = types.listOf types.str;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = {
|
||||
mountPoint = mkDefault name;
|
||||
device = mkIf (elem config.fsType specialFSTypes) (mkDefault config.fsType);
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
fileSystemOpts = { config, ... }: {
|
||||
|
||||
options = {
|
||||
|
||||
label = mkOption {
|
||||
default = null;
|
||||
example = "root-partition";
|
||||
type = types.nullOr types.str;
|
||||
description = "Label of the device (if any).";
|
||||
};
|
||||
} else {
|
||||
type = types.either types.commas (types.listOf types.str);
|
||||
apply = x: if isList x then x else lib.strings.splitString "," (builtins.trace "warning: passing a comma-separated string for filesystem options is deprecated; use a list of strings instead. This will become a hard error in 16.09." x);
|
||||
});
|
||||
|
||||
autoFormat = mkOption {
|
||||
default = false;
|
||||
@@ -111,6 +100,8 @@ let
|
||||
};
|
||||
|
||||
config = {
|
||||
mountPoint = mkDefault name;
|
||||
device = mkIf (config.fsType == "tmpfs") (mkDefault config.fsType);
|
||||
options = mkIf config.autoResize [ "x-nixos.autoresize" ];
|
||||
|
||||
# -F needed to allow bare block device without partitions
|
||||
@@ -119,13 +110,6 @@ let
|
||||
|
||||
};
|
||||
|
||||
# Makes sequence of `specialMount device mountPoint options fsType` commands.
|
||||
# `systemMount` should be defined in the sourcing script.
|
||||
makeSpecialMounts = mounts:
|
||||
pkgs.writeText "mounts.sh" (concatMapStringsSep "\n" (mount: ''
|
||||
specialMount "${mount.device}" "${mount.mountPoint}" "${concatStringsSep "," mount.options}" "${mount.fsType}"
|
||||
'') mounts);
|
||||
|
||||
in
|
||||
|
||||
{
|
||||
@@ -147,7 +131,8 @@ in
|
||||
"/bigdisk".label = "bigdisk";
|
||||
}
|
||||
'';
|
||||
type = types.loaOf (types.submodule [coreFileSystemOpts fileSystemOpts]);
|
||||
type = types.loaOf types.optionSet;
|
||||
options = [ fileSystemOpts ];
|
||||
description = ''
|
||||
The file systems to be mounted. It must include an entry for
|
||||
the root directory (<literal>mountPoint = "/"</literal>). Each
|
||||
@@ -179,15 +164,6 @@ in
|
||||
description = "Names of supported filesystem types.";
|
||||
};
|
||||
|
||||
boot.specialFileSystems = mkOption {
|
||||
default = {};
|
||||
type = types.loaOf (types.submodule coreFileSystemOpts);
|
||||
internal = true;
|
||||
description = ''
|
||||
Special filesystems that are mounted very early during boot.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -205,7 +181,6 @@ in
|
||||
|
||||
# Export for use in other modules
|
||||
system.build.fileSystems = fileSystems;
|
||||
system.build.earlyMountScript = makeSpecialMounts (toposort fsBefore (attrValues config.boot.specialFileSystems)).result;
|
||||
|
||||
boot.supportedFilesystems = map (fs: fs.fsType) fileSystems;
|
||||
|
||||
@@ -283,16 +258,6 @@ in
|
||||
|
||||
in listToAttrs (map formatDevice (filter (fs: fs.autoFormat) fileSystems));
|
||||
|
||||
# Sync mount options with systemd's src/core/mount-setup.c: mount_table.
|
||||
boot.specialFileSystems = {
|
||||
"/proc" = { fsType = "proc"; options = [ "nosuid" "noexec" "nodev" ]; };
|
||||
"/sys" = { fsType = "sysfs"; options = [ "nosuid" "noexec" "nodev" ]; };
|
||||
"/run" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=755" "size=${config.boot.runSize}" ]; };
|
||||
"/dev" = { fsType = "devtmpfs"; options = [ "nosuid" "strictatime" "mode=755" "size=${config.boot.devSize}" ]; };
|
||||
"/dev/shm" = { fsType = "tmpfs"; options = [ "nosuid" "nodev" "strictatime" "mode=1777" "size=${config.boot.devShmSize}" ]; };
|
||||
"/dev/pts" = { fsType = "devpts"; options = [ "nosuid" "noexec" "mode=620" "gid=${toString config.ids.gids.tty}" ]; };
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
24
nixos/modules/virtualisation/amazon-grow-partition.nix
Normal file
24
nixos/modules/virtualisation/amazon-grow-partition.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
# This module automatically grows the root partition on Amazon EC2 HVM
|
||||
# instances. This allows an instance to be created with a bigger root
|
||||
# filesystem than provided by the AMI.
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config = lib.mkIf config.ec2.hvm {
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
copy_bin_and_libs ${pkgs.gawk}/bin/gawk
|
||||
copy_bin_and_libs ${pkgs.gnused}/bin/sed
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
|
||||
cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart
|
||||
ln -s sed $out/bin/gnused
|
||||
'';
|
||||
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
if [ -e /dev/xvda ] && [ -e /dev/xvda1 ]; then
|
||||
TMPDIR=/run sh $(type -P growpart) /dev/xvda 1
|
||||
udevadm settle
|
||||
fi
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -11,12 +11,10 @@ with lib;
|
||||
let cfg = config.ec2; in
|
||||
|
||||
{
|
||||
imports = [ ../profiles/headless.nix ./ec2-data.nix ./grow-partition.nix ./amazon-init.nix ];
|
||||
imports = [ ../profiles/headless.nix ./ec2-data.nix ./amazon-grow-partition.nix ./amazon-init.nix ];
|
||||
|
||||
config = {
|
||||
|
||||
virtualisation.growPartition = cfg.hvm;
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
autoResize = true;
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
# This module automatically grows the root partition on virtual machines.
|
||||
# This allows an instance to be created with a bigger root filesystem
|
||||
# than provided by the machine image.
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
|
||||
options = {
|
||||
|
||||
virtualisation.growPartition = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf config.virtualisation.growPartition {
|
||||
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
copy_bin_and_libs ${pkgs.gawk}/bin/gawk
|
||||
copy_bin_and_libs ${pkgs.gnused}/bin/sed
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/lsblk
|
||||
cp -v ${pkgs.cloud-utils}/bin/growpart $out/bin/growpart
|
||||
ln -s sed $out/bin/gnused
|
||||
'';
|
||||
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
rootDevice="${config.fileSystems."/".device}"
|
||||
if [ -e "$rootDevice" ]; then
|
||||
rootDevice="$(readlink -f "$rootDevice")"
|
||||
parentDevice="$(lsblk -npo PKNAME "$rootDevice")"
|
||||
TMPDIR=/run sh $(type -P growpart) "$parentDevice" "''${rootDevice#$parentDevice}"
|
||||
udevadm settle
|
||||
fi
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
@@ -5,7 +5,7 @@ with lib;
|
||||
let
|
||||
cfg = config.virtualisation.virtualbox.host;
|
||||
virtualbox = config.boot.kernelPackages.virtualbox.override {
|
||||
inherit (cfg) enableHardening headless;
|
||||
inherit (cfg) enableHardening;
|
||||
};
|
||||
|
||||
in
|
||||
@@ -47,15 +47,6 @@ in
|
||||
</para></important>
|
||||
'';
|
||||
};
|
||||
|
||||
headless = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Use VirtualBox installation without GUI and Qt dependency. Useful to enable on servers
|
||||
and when virtual machines are controlled only via SSH.
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable (mkMerge [{
|
||||
|
||||
@@ -8,8 +8,6 @@ let
|
||||
|
||||
in {
|
||||
|
||||
imports = [ ./grow-partition.nix ];
|
||||
|
||||
options = {
|
||||
virtualbox = {
|
||||
baseImageSize = mkOption {
|
||||
@@ -66,10 +64,7 @@ in {
|
||||
'';
|
||||
};
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/nixos";
|
||||
autoResize = true;
|
||||
};
|
||||
fileSystems."/".device = "/dev/disk/by-label/nixos";
|
||||
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
|
||||
|
||||
@@ -314,9 +314,6 @@ let
|
||||
|
||||
test2.vmFlags = hostonlyVMFlags;
|
||||
test2.vmScript = dhcpScript;
|
||||
|
||||
headless.virtualisation.virtualbox.headless = true;
|
||||
headless.services.xserver.enable = false;
|
||||
};
|
||||
|
||||
mkVBoxTest = name: testScript: makeTest {
|
||||
@@ -405,14 +402,6 @@ in mapAttrs mkVBoxTest {
|
||||
shutdownVM_simple;
|
||||
'';
|
||||
|
||||
headless = ''
|
||||
createVM_headless;
|
||||
$machine->succeed(ru("VBoxHeadless --startvm headless & disown %1"));
|
||||
waitForStartup_headless;
|
||||
waitForVMBoot_headless;
|
||||
shutdownVM_headless;
|
||||
'';
|
||||
|
||||
host-usb-permissions = ''
|
||||
my $userUSB = removeUUIDs vbm("list usbhost");
|
||||
print STDERR $userUSB;
|
||||
|
||||
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patchPhase = ''
|
||||
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${revision}\"; }\n' > libs/ardour/revision.cc
|
||||
sed 's|/usr/include/libintl.h|${glibc.dev}/include/libintl.h|' -i wscript
|
||||
sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript
|
||||
patchShebangs ./tools/
|
||||
'';
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
#doCheck = true; # takes lots of time
|
||||
|
||||
outputs = [ "bin" "dev" "out" "doc" ];
|
||||
outputs = [ "dev" "out" "bin" "doc" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://xiph.org/flac/;
|
||||
|
||||
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://ncmpcpp.rybczak.net/;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ lovek323 mornfall koral ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -28,10 +28,10 @@
|
||||
ada-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, wisi }:
|
||||
elpaBuild {
|
||||
pname = "ada-mode";
|
||||
version = "5.2.0";
|
||||
version = "5.1.9";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/ada-mode-5.2.0.tar";
|
||||
sha256 = "1j4f94bmykz5j6kyyg5x81k0yjai609c1qzs8sig8v267hydkpqr";
|
||||
url = "https://elpa.gnu.org/packages/ada-mode-5.1.9.tar";
|
||||
sha256 = "04hwy9py22c4vpbk24idbyavjdjpm1akvnfigdzx35zljdrvk3l7";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs wisi ];
|
||||
meta = {
|
||||
@@ -471,10 +471,10 @@
|
||||
debbugs = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib, soap-client }:
|
||||
elpaBuild {
|
||||
pname = "debbugs";
|
||||
version = "0.10";
|
||||
version = "0.9.7";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/debbugs-0.10.tar";
|
||||
sha256 = "0vrsa70h6ipsq01qr9qzlaw1704xqviby321ri6w69wkwlcjkpin";
|
||||
url = "https://elpa.gnu.org/packages/debbugs-0.9.7.tar";
|
||||
sha256 = "07w73if4lmh23ih2v3p0197f781002dywd5fzdbmr4hcqvvi97qq";
|
||||
};
|
||||
packageRequires = [ cl-lib soap-client ];
|
||||
meta = {
|
||||
@@ -523,19 +523,6 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
diffview = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "diffview";
|
||||
version = "1.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/diffview-1.0.el";
|
||||
sha256 = "1gkdmzmgjixz9nak7dxvqy28kz0g7i672gavamwgnc1jl37wkcwi";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/diffview.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
dismal = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "dismal";
|
||||
@@ -618,10 +605,10 @@
|
||||
}) {};
|
||||
el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
|
||||
pname = "el-search";
|
||||
version = "0.2.2";
|
||||
version = "0.2.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/el-search-0.2.2.tar";
|
||||
sha256 = "07b4jk143vi3sydg03mg12gy1rs21q0qvs7p303irwz4pv8bfwqj";
|
||||
url = "https://elpa.gnu.org/packages/el-search-0.2.1.el";
|
||||
sha256 = "1ralag6a4752mqbsz92prd1f75380q5f7j4k3ajhv66krhd1w0k6";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
@@ -711,10 +698,10 @@
|
||||
}) {};
|
||||
exwm = callPackage ({ elpaBuild, fetchurl, lib, xelb }: elpaBuild {
|
||||
pname = "exwm";
|
||||
version = "0.10";
|
||||
version = "0.6";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/exwm-0.10.tar";
|
||||
sha256 = "1c8558dxy7a2m61a0bc0p5vrdw3nw03zq9s8wxgmdvlklyzbqa22";
|
||||
url = "https://elpa.gnu.org/packages/exwm-0.6.tar";
|
||||
sha256 = "0fxkhpc87wd7crzwwj9r5r3s07pznsphk4hi8jinx91641szi1px";
|
||||
};
|
||||
packageRequires = [ xelb ];
|
||||
meta = {
|
||||
@@ -859,19 +846,6 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
hyperbole = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
|
||||
pname = "hyperbole";
|
||||
version = "6.0.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/hyperbole-6.0.2.tar";
|
||||
sha256 = "0nyihi7j2061jpdzl4mf4pki840hkfpwj0m2sqz0nqxd689ckwpg";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/hyperbole.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
ioccur = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "ioccur";
|
||||
version = "2.4";
|
||||
@@ -1006,10 +980,10 @@
|
||||
}) {};
|
||||
lmc = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "lmc";
|
||||
version = "1.4";
|
||||
version = "1.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/lmc-1.4.el";
|
||||
sha256 = "0fm4sclx9gg0d0615smz105x320sk45y4ivpjk3nbc67c5l0sh2h";
|
||||
url = "https://elpa.gnu.org/packages/lmc-1.3.el";
|
||||
sha256 = "0s5dkksgfbfbhc770z1n7d4jrkpcb8z1935abgrw80icxgsrc01p";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@@ -1228,15 +1202,14 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
nhexl-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
nhexl-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "nhexl-mode";
|
||||
version = "0.2";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/nhexl-mode-0.2.el";
|
||||
sha256 = "0qrzpkxxdwi2b3136yj5agvaxwr9g2c58kpmjmjpfhpc6yyyx5x0";
|
||||
url = "https://elpa.gnu.org/packages/nhexl-mode-0.1.el";
|
||||
sha256 = "0h4kl5d8rj9aw4xxrmv4a9fdcqvkk74ia7bq8jgmjp11pwpzww9j";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/nhexl-mode.html";
|
||||
license = lib.licenses.free;
|
||||
@@ -1336,10 +1309,10 @@
|
||||
}) {};
|
||||
org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "org";
|
||||
version = "20160829";
|
||||
version = "20160725";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/org-20160829.tar";
|
||||
sha256 = "1p0bxbzjzxmhsg1m4a3mlsphh7gcv6b97mfgkl22lfy0ia0g1fzv";
|
||||
url = "https://elpa.gnu.org/packages/org-20160725.tar";
|
||||
sha256 = "05ky7hlsjqlml14ss9hcj2756clvsi1f26gv7a01d923m3drkqjc";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@@ -1402,10 +1375,10 @@
|
||||
}) {};
|
||||
poker = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "poker";
|
||||
version = "0.2";
|
||||
version = "0.1";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/poker-0.2.el";
|
||||
sha256 = "0sikspimvnzvwhyivi1gvr0630zz2pr3q2fwagl57iv06jas9f00";
|
||||
url = "https://elpa.gnu.org/packages/poker-0.1.el";
|
||||
sha256 = "0gbm59m6bs0766r7v8dy9gdif1pb89xj1h8h76bh78hr65yh7gg0";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@@ -1466,26 +1439,6 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
realgud = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, load-relative, loc-changes, test-simple }:
|
||||
elpaBuild {
|
||||
pname = "realgud";
|
||||
version = "1.4.3";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/realgud-1.4.3.tar";
|
||||
sha256 = "07yfah8kmr60rhrj8y8gs7l85hsbylv26crw3qbqh67ka4ykpj01";
|
||||
};
|
||||
packageRequires = [
|
||||
cl-lib
|
||||
emacs
|
||||
load-relative
|
||||
loc-changes
|
||||
test-simple
|
||||
];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/realgud.html";
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
register-list = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "register-list";
|
||||
version = "0.1";
|
||||
@@ -1618,15 +1571,14 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
sml-mode = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
sml-mode = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "sml-mode";
|
||||
version = "6.7";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/sml-mode-6.7.el";
|
||||
sha256 = "041dmxx7imiy99si9pscwjh5y4h02y3lirzhv1cfxqr3ghxngf9x";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/sml-mode.html";
|
||||
license = lib.licenses.free;
|
||||
@@ -1687,10 +1639,10 @@
|
||||
}) {};
|
||||
stream = callPackage ({ elpaBuild, emacs, fetchurl, lib }: elpaBuild {
|
||||
pname = "stream";
|
||||
version = "2.2.1";
|
||||
version = "2.2.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/stream-2.2.1.el";
|
||||
sha256 = "1d91ddak5whb7kln216vhcsl707h5kirc6aqbkw82skhpg4c3ap1";
|
||||
url = "https://elpa.gnu.org/packages/stream-2.2.0.el";
|
||||
sha256 = "0i6vwih61a0z0q05v9wyp9nj5h68snlb9n52nmrv1k0hhzsjmlrs";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
meta = {
|
||||
@@ -1738,15 +1690,14 @@
|
||||
license = lib.licenses.free;
|
||||
};
|
||||
}) {};
|
||||
temp-buffer-browse = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
temp-buffer-browse = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "temp-buffer-browse";
|
||||
version = "1.5";
|
||||
version = "1.4";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/temp-buffer-browse-1.5.el";
|
||||
sha256 = "1drfvqxc6g4vfijmx787b1ygq7x2s5wq26l45qnz4wdrqqmcqx3c";
|
||||
url = "https://elpa.gnu.org/packages/temp-buffer-browse-1.4.el";
|
||||
sha256 = "055z7hm8b2s8z1kd6hahjz0crz9qx8k9qb5pwdwdxcsh2j70pmcw";
|
||||
};
|
||||
packageRequires = [ emacs ];
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
homepage = "https://elpa.gnu.org/packages/temp-buffer-browse.html";
|
||||
license = lib.licenses.free;
|
||||
@@ -1808,10 +1759,10 @@
|
||||
}) {};
|
||||
transcribe = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
|
||||
pname = "transcribe";
|
||||
version = "1.5.2";
|
||||
version = "1.5.0";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/transcribe-1.5.2.el";
|
||||
sha256 = "08m1n6adab46bfywm47gygswf10vnxcfh16yjxglvcsg4prkn2vh";
|
||||
url = "https://elpa.gnu.org/packages/transcribe-1.5.0.el";
|
||||
sha256 = "0capyagpzmrf26jgqng5kvsxz30pf2iq55drnws73w9jywkq45mf";
|
||||
};
|
||||
packageRequires = [];
|
||||
meta = {
|
||||
@@ -1980,10 +1931,10 @@
|
||||
wisi = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "wisi";
|
||||
version = "1.1.3";
|
||||
version = "1.1.2";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/wisi-1.1.3.tar";
|
||||
sha256 = "1vhligxyg73gvr68767pjgiqxah00a920h6i37kip8xmhlkgp9ak";
|
||||
url = "https://elpa.gnu.org/packages/wisi-1.1.2.tar";
|
||||
sha256 = "04gryfpgbviviwbnvv3sh280pzasr59cp5xz1s0yf0n4d3rv2df3";
|
||||
};
|
||||
packageRequires = [ cl-lib emacs ];
|
||||
meta = {
|
||||
@@ -2020,10 +1971,10 @@
|
||||
xelb = callPackage ({ cl-generic, elpaBuild, emacs, fetchurl, lib }:
|
||||
elpaBuild {
|
||||
pname = "xelb";
|
||||
version = "0.11";
|
||||
version = "0.9";
|
||||
src = fetchurl {
|
||||
url = "https://elpa.gnu.org/packages/xelb-0.11.tar";
|
||||
sha256 = "12qgbv30dizp7kadq9kg7nfyg5qfbfy14s833zg95fqqa87qg90j";
|
||||
url = "https://elpa.gnu.org/packages/xelb-0.9.tar";
|
||||
sha256 = "19gv08wxs2s337y1wv2i19a0vk8w6733l9mryn334yy2m5031vxh";
|
||||
};
|
||||
packageRequires = [ cl-generic emacs ];
|
||||
meta = {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,7 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qgis-2.16.2";
|
||||
name = "qgis-2.16.1";
|
||||
|
||||
buildInputs = [ gdal qt4 flex bison proj geos xlibsWrapper sqlite gsl qwt qscintilla
|
||||
fcgi libspatialindex libspatialite postgresql qjson qca2 txt2tags ] ++
|
||||
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://qgis.org/downloads/${name}.tar.bz2";
|
||||
sha256 = "0dll8klz0qfba4c1y7mp9k4y4azlay0sypvryicggllk1hna4w0n";
|
||||
sha256 = "4a526cd8ae76fc06bb2b6a158e86db5dc0c94545137a8233cd465ef867acdc8b";
|
||||
};
|
||||
|
||||
cmakeFlags = stdenv.lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
|
||||
|
||||
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
patches = [ ./imagetragick.patch ] ++ cfg.patches;
|
||||
|
||||
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
|
||||
outputs = [ "dev" "out" "doc" ]; # bin/ isn't really big
|
||||
outputMan = "out"; # it's tiny
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -49,6 +49,6 @@ stdenv.mkDerivation rec {
|
||||
description = "The GNU Image Manipulation Program";
|
||||
homepage = http://www.gimp.org/;
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
|
||||
|
||||
postInstall = ''
|
||||
for p in $out/bin/*; do
|
||||
|
||||
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
openjpeg opencolorio vc poppler_qt5 curl ilmbase
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ];
|
||||
NIX_CFLAGS_COMPILE = [ "-I${ilmbase}/include/OpenEXR" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0nzvfxd3ybxx61rj6vxcaaxfrsxrl9af3h8jj7pr3rncisnl9gkl";
|
||||
})];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
|
||||
|
||||
buildInputs =
|
||||
[
|
||||
|
||||
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0cr0z81a41bg193dx9crcq1mns7mmzz7qys4lrbm18cmdbwkk88x";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "out" "dev" "doc" ];
|
||||
|
||||
buildInputs = [
|
||||
boost cmake ilmbase libjpeg libpng libtiff opencolorio openexr
|
||||
unzip
|
||||
@@ -23,15 +21,10 @@ stdenv.mkDerivation rec {
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
makeFlags="ILMBASE_HOME=${ilmbase.dev} OPENEXR_HOME=${openexr.dev} USE_PYTHON=0
|
||||
makeFlags="ILMBASE_HOME=${ilmbase} OPENEXR_HOME=${openexr} USE_PYTHON=0
|
||||
INSTALLDIR=$out dist_dir="
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $bin
|
||||
mv $out/bin $bin/
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
|
||||
@@ -14,12 +14,12 @@ stdenv.mkDerivation rec {
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
preConfigure = ''
|
||||
export CPATH="${ilmbase.dev}/include/OpenEXR:$CPATH"
|
||||
export CPATH="${ilmbase}/include/OpenEXR:$CPATH"
|
||||
'';
|
||||
|
||||
qmakeFlags = [
|
||||
"EXIV2PATH=${exiv2.dev}/include/exiv2"
|
||||
"OPENEXRDIR=${openexr.dev}/include/OpenEXR"
|
||||
"OPENEXRDIR=${openexr}/include/OpenEXR"
|
||||
"FFTW3DIR=${fftwSinglePrec.dev}/include"
|
||||
"LIBTIFFDIR=${libtiff.dev}/include"
|
||||
];
|
||||
|
||||
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON"
|
||||
++ optional colladaSupport "-DWITH_OPENCOLLADA=ON";
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}m";
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${python}/include/${python.libPrefix}m";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "dev" "out" ];
|
||||
outputs = [ "dev" "out" "bin" ];
|
||||
|
||||
buildInputs = [ libjpeg libtiff librsvg ] ++ libintlOrEmpty;
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "emem";
|
||||
version = "0.2.28";
|
||||
version = "0.2.27";
|
||||
name = "${pname}-${version}";
|
||||
|
||||
inherit jdk;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
|
||||
sha256 = "1hapvvkkwnvg32awx4nj84s2ascpci6x02wf4rckyd1ykbxp2b8m";
|
||||
sha256 = "0zmh152dfgsq2yj14wb3504pyibq4r671q5yz6yy28ihym7qr0fd";
|
||||
};
|
||||
|
||||
buildInputs = [ ];
|
||||
|
||||
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
preConfigure = ''
|
||||
cp src/gcconfig.pri.in src/gcconfig.pri
|
||||
cp qwt/qwtconfig.pri.in qwt/qwtconfig.pri
|
||||
echo 'QMAKE_LRELEASE = ${qttools.dev}/bin/lrelease' >> src/gcconfig.pri
|
||||
echo 'QMAKE_LRELEASE = ${qttools}/bin/lrelease' >> src/gcconfig.pri
|
||||
sed -i -e '21,23d' qwt/qwtconfig.pri # Removed forced installation to /usr/local
|
||||
'';
|
||||
#postConfigure =
|
||||
|
||||
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
makeFlags = [ "prefix=$(out)" ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
buildInputs = [ zlib libX11 libXcursor libXext harfbuzz mesa libXrandr libXinerama freetype libjpeg jbig2dec openjpeg ];
|
||||
outputs = [ "bin" "dev" "out" "doc" ];
|
||||
outputs = [ "out" "bin" "doc" ];
|
||||
|
||||
preConfigure = ''
|
||||
# Don't remove mujs because upstream version is incompatible
|
||||
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
|
||||
Description: Library for rendering PDF documents
|
||||
Version: ${version}
|
||||
Libs: -L$out/lib -lmupdf -lmupdfthird
|
||||
Cflags: -I$dev/include
|
||||
Cflags: -I$out/include
|
||||
EOF
|
||||
|
||||
moveToOutput "bin" "$bin"
|
||||
|
||||
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--with-libxml2=${libxml2.dev}"
|
||||
"--with-libxml2=${libxml2}"
|
||||
"--with-libxslt=${libxslt.dev}"
|
||||
];
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Console version of StarDict program";
|
||||
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
|
||||
src = fetchurl {
|
||||
|
||||
@@ -46,8 +46,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = "
|
||||
--without-arts --disable-docs
|
||||
--x-includes=${libX11.dev}/include
|
||||
--x-libraries=${libX11.out}/lib
|
||||
--x-includes=${libX11}/include
|
||||
--x-libraries=${libX11}/lib
|
||||
--with-qt-dir=${qt3}
|
||||
";
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = [
|
||||
imake
|
||||
libX11 libXt libXext libXpm
|
||||
] ++ stdenv.lib.optionals svgSupport [ librsvg glib gdk_pixbuf pkgconfig ];
|
||||
] ++ stdenv.lib.optional svgSupport [ librsvg glib gdk_pixbuf pkgconfig ];
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
|
||||
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
|
||||
description = "An open-source RSS/Atom feed reader for text terminals";
|
||||
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
|
||||
license = stdenv.lib.licenses.mit;
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -40,6 +40,6 @@ stdenv.mkDerivation rec {
|
||||
description = "An open-source RSS/Atom feed reader for text terminals";
|
||||
maintainers = with maintainers; [ lovek323 ];
|
||||
license = licenses.mit;
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs = [ libcommuni qtbase ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
enableParallelBuild = true;
|
||||
|
||||
preConfigure = ''
|
||||
export QMAKEFEATURES=${libcommuni}/features
|
||||
|
||||
@@ -4,123 +4,123 @@
|
||||
# ruby generate_sources.rb 45.1.1 > sources.nix
|
||||
|
||||
{
|
||||
version = "45.3.0";
|
||||
version = "45.2.0";
|
||||
sources = [
|
||||
{ locale = "ar"; arch = "linux-i686"; sha512 = "a2d1728cec3775a3a012ada32a8934fa1a94ff0af315e395e765c94873593c4e2ddb1ec5acee33a83f2970137087ff1fd6ba23b0bbea3780e4f67a3b46146911"; }
|
||||
{ locale = "ar"; arch = "linux-x86_64"; sha512 = "d29362ecf4abe3cb7224058ffb421feafe5ddb277ad8cae407907c0939028e7e03079ec3b6a691cf260ea29908be7df4377dbc626704da622548056f45b6e9d7"; }
|
||||
{ locale = "ast"; arch = "linux-i686"; sha512 = "51fb3626875acbf78f0d2337feee07aeaca24dec59042a2b6374afb205dce099df477ab3384e0e9c545fe68ac13af921a8d3a1c4c93f721d7831f3aca15e4783"; }
|
||||
{ locale = "ast"; arch = "linux-x86_64"; sha512 = "660376e67491f11d484ff112b8b8d1dc9187a7bb7f7ff1e8665d3693e5eee9737bff8f23f69f4d71b2d3f3be0ad4d816febb4894bb17ac911e19ef18411fc667"; }
|
||||
{ locale = "be"; arch = "linux-i686"; sha512 = "be5fed683ee9b325f135e65fc6f641d81b7294f3d13f411b36b4e73d68a8b8592d0c93fa6ad55fc9aa8a281a5d2069f3f8dcf029038d867f3b87baf8e4a93411"; }
|
||||
{ locale = "be"; arch = "linux-x86_64"; sha512 = "4b92f1999478d9a97737b31f34ca78bcbf6d657297b0ef791327c73d89a1737a29df9eaca47aed3e0f1ddf0d4925ba6c0a51584ca8009237ea98fec9007e69b9"; }
|
||||
{ locale = "bg"; arch = "linux-i686"; sha512 = "76d2450774254052ee216644f53025ffd4a928932955d856e16141a95b557fc327b17f01d4c47ff3b7f8a8c267a6a78511c126980554bf64f5fa5c06eba758fe"; }
|
||||
{ locale = "bg"; arch = "linux-x86_64"; sha512 = "53f2463e8838e6dc53fd1212745f401dbbffec484036745114f04e90e2270421efb0e579724023f1a153e2fbf5afb9e31b383b9d0a8e74ec15cdd17aff04b58c"; }
|
||||
{ locale = "bn-BD"; arch = "linux-i686"; sha512 = "c798161824be7fd3253308b3157c0dfb5dbec085f2b530fa4a7cd8992b8e602031c0c8f6959449a3a7f988f10b00b1f99f331b017c8d38358a017e54c2ff5166"; }
|
||||
{ locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "8f8fafa9a79696a81e2e4a7e033edec1e37c44fc6b4a5a20cea0853f88ac978fa536109a81f5fe7baf574af6e1778975b8df5e0a47a0c6cb8161dd19f3e2c067"; }
|
||||
{ locale = "br"; arch = "linux-i686"; sha512 = "9007da613fd8930e669da228197d5be59d53a26f94453523ae468a0b4172adb4509e5ae1677ca21421031238910d19f45323fb09ef52ac95205f1fa3a1d8ce46"; }
|
||||
{ locale = "br"; arch = "linux-x86_64"; sha512 = "57cead8865a052981729f55f85f402329dd4151cf3f89ad5c6cc1a83a068a9ba1e309db521ecde1cf90a3737b04a7d992087a68b93506ce0ab4a7ea26253b761"; }
|
||||
{ locale = "ca"; arch = "linux-i686"; sha512 = "5401395d2e57ada9b62fd1d8a90006e60884a38086fe74bc720109d1fd8d989292bcb2781c1b30f19fbfcb867bf157bf33c3948463ab1e0fd8ddbfbc790b492d"; }
|
||||
{ locale = "ca"; arch = "linux-x86_64"; sha512 = "1d69ddc33643c7227d80cbb61087a73ff46c79e1531479531201b4e49a53400fc576f445306dad20b318f189e8b739179390f9ca7fd340e2d2cac46650569da6"; }
|
||||
{ locale = "cs"; arch = "linux-i686"; sha512 = "25a9c864e60aced998c1599786a9cb3db92c02b9d855c7500fd466cd92f4bc8ff6fc7c5cb37c52b3dbba990ae4ce0eee1854f4f3459b4c2ce50e4e4ccd3ff445"; }
|
||||
{ locale = "cs"; arch = "linux-x86_64"; sha512 = "0b1b72a4f43192afa03fcf17e234fa6d09ab20cccadc0a58682b37c96a576c31d2e5022d3d778992c188b826816d7d36e56fbf4055a0be2213e45062a162939d"; }
|
||||
{ locale = "cy"; arch = "linux-i686"; sha512 = "b69312902ede9687c804a068f9fcf70c0c3c68786d92c72a5b38ed38e9773382223e5d09a2067632b02ae9e2f224c85e0c95de9ada535e0b8e37ce5f6aa86006"; }
|
||||
{ locale = "cy"; arch = "linux-x86_64"; sha512 = "bd03a664a14c2b7271db1ae66f65fada02eb995da9d8466f345d25b40bbd7f836e48e9e8f19276f7109e5e42effc3be70d0c20705d386620319c6e2c920027c4"; }
|
||||
{ locale = "da"; arch = "linux-i686"; sha512 = "2fce874759494b51d9f9081f26985834527984cec849f1f07ebd0f3b7523bdeb7a39cae6d17f021e82972f392ae7cc33d6b81606f81afc7bc35a75698889905d"; }
|
||||
{ locale = "da"; arch = "linux-x86_64"; sha512 = "c7fd6b68f50c2ea4abb2d72dfb804db0e5ff3a8dd932f36fb7e9f194f4a12469bf64785ba18ad6f989b5456e6a0387c17fcf421075341998dce315f658b70058"; }
|
||||
{ locale = "de"; arch = "linux-i686"; sha512 = "8661fd16bcb94fba14156ea0d569364b495dd470359491b482f6e9c957a6ffd1c9b3a60728d6a0755a1789d6c3029952bead677df38d3f7e972469cd877d96a2"; }
|
||||
{ locale = "de"; arch = "linux-x86_64"; sha512 = "c98b8afbd38e3ea31196a2dfdd3e8a13639aed9a3052a25dbcf851139a75167481b67c94542be310c5a2fd8850c8396ff2fbb57ac14b0158c87b6e30562d1eb6"; }
|
||||
{ locale = "dsb"; arch = "linux-i686"; sha512 = "2e5f781f0ea57f4cc129693d5085d17047ecdde3273a97b83717e793bef2693ddd543078c667635e2603e5a4867fdee60cecf0fe47170f84d31456c72f4753a1"; }
|
||||
{ locale = "dsb"; arch = "linux-x86_64"; sha512 = "fcaad0f6ea4f9610bbfb5efd414005ab1b62d13799e2f0ff0188c0e262910c881f0e7ca838c6d18df0bc629eb26e4dc34e48635fb64029f484c0fe3aec12cef0"; }
|
||||
{ locale = "el"; arch = "linux-i686"; sha512 = "d71b2805881cf5b7f0c06e398289907f224bbb58ffe676c32587f98cdfa6d80b1a8497bf4d1d515a4b1ba8472f5250dc7df178a0fd47baf51746409c18157d69"; }
|
||||
{ locale = "el"; arch = "linux-x86_64"; sha512 = "89309f36b503f1be5a23f24def962a7ed6604369fc1e3a254deaf3fca6b020837813e7b3a5896320620301eb14025c604121c4b6727f1362d6783da6256be039"; }
|
||||
{ locale = "en-GB"; arch = "linux-i686"; sha512 = "233fb74c88ff43fc5520fef6fc052019551405ed43e786448c9b7921fb620b81b8b1569dbd3c57b7e8a0aa34043b29fa388100ab0ad66545bb84675de43d4b9b"; }
|
||||
{ locale = "en-GB"; arch = "linux-x86_64"; sha512 = "70dddef3561b53d359ed59205dd77d661f6842a7ac4a62d79f2f2576a7d2b9a8735ae7e48759b669bade841dd7329857d4c273fd6e202f1ae22201b7d461def3"; }
|
||||
{ locale = "en-US"; arch = "linux-i686"; sha512 = "bf1f75d614dc0e401981b81d84911f2e13a1c8fc668b8a7c531963162ac293f72d6252aceb4447c97c57cc3b632452de6475f294f82090751141c3f8f681b868"; }
|
||||
{ locale = "en-US"; arch = "linux-x86_64"; sha512 = "5b7ba243783d5bd3eb1acc6cad872b5f2885cf289d33274932ceee2159295c84230f692a1338fc4c4c3e1947436917251ed54a6995922b4777bdee7e5303ec29"; }
|
||||
{ locale = "es-AR"; arch = "linux-i686"; sha512 = "9fddac56cc41a0b83c794ad7b7744573a6039c736d785a46666fb5c40360aae0397d129e523a7ac8b7e9b07295b56741e96e8cea770533c7c3611c209f9ae5ad"; }
|
||||
{ locale = "es-AR"; arch = "linux-x86_64"; sha512 = "f7d7a051bc7411d2811aa5672da7aff51ee96065eb26e47e9eda721c0e125a529353a6290195cc257f36e44dbca6d81dff1342478a52b0d700f7def335135440"; }
|
||||
{ locale = "es-ES"; arch = "linux-i686"; sha512 = "b0b32a37d13b76899037c7d34e2444cb45d54166516c6f6f141ae4713e5cca36827c0c02f4d9614a1c7eb5d9d859087586dda3e311d221f19091414557f9b713"; }
|
||||
{ locale = "es-ES"; arch = "linux-x86_64"; sha512 = "918affe04e2dbf1f8d2f65a8a16cb30d575631d323eeb5cd29e76f2b30d003337e35792e57f78ca6bf8abd253f005296b44b71ecd4c48d055456b8820a2b8551"; }
|
||||
{ locale = "et"; arch = "linux-i686"; sha512 = "7a2aaa9e81fa166ad66ef6a275ea1e1b1f333946e73bd22c7954b78641949a870e8c4ff38f763ef22bbf25cf81ad0138e5d4b154b1d2cb90126ef53e56b6e676"; }
|
||||
{ locale = "et"; arch = "linux-x86_64"; sha512 = "cfb751a0d94cbc3e130abe78dceb81117750b16c9665860a083a71554ce96e9102fa3c8b084c7acf07c9e10a8fe30e54e5964a214486c2bd16d93678a4b6948d"; }
|
||||
{ locale = "eu"; arch = "linux-i686"; sha512 = "c99dd3738739f06963cf3e31d72831d8861c898ac512b0563f0d9ab21e671fed55c0e16e07ff87e058873095204a81f1756d77453e792bcc522c81d6ac26638c"; }
|
||||
{ locale = "eu"; arch = "linux-x86_64"; sha512 = "4726d30ed22d79edca4d3a6082ecf40cb107b28aeebcc1ed21faca951cd955fca524d4c16f4e9ac71fd57651c2392d79c5adcafea9a7dadbe84dc3e3511f47f4"; }
|
||||
{ locale = "fi"; arch = "linux-i686"; sha512 = "3fe4ae74f046a0fcf95570ff7cd00abfa63567153bbabd036ecd8cccf1aab075b19e43642e247c741165d3990f1690d4c7f4b3eb16aaa34188d1bd17c202e06d"; }
|
||||
{ locale = "fi"; arch = "linux-x86_64"; sha512 = "5e76a85eb66d62c2fcd42d0274e43c052131bd2a8d54bce256e417782d1b97985cc9a917fba18ab1118e72fd3bacb94abdf5620c1be9a7225f6c9b62f1eb0e02"; }
|
||||
{ locale = "fr"; arch = "linux-i686"; sha512 = "216e084442018d1e5925d4deb14c11bda248d5015696b22167693f2534dd98049dd385bc3061348085113487b93cfea675cb7ea528ca4385022b33860b39633a"; }
|
||||
{ locale = "fr"; arch = "linux-x86_64"; sha512 = "6fbb2935899d94b3f56b27c131e2574f6735fba4147430a1dd5cd8728db29b90fd1416bc3661b1a3a927f496e9d716ae165ed8c65951184c2b1e07c962f876df"; }
|
||||
{ locale = "fy-NL"; arch = "linux-i686"; sha512 = "f752dbe8d2e90c0b5e60faa0b34280050463ea1bdda0749c9d46a46f08339e5952eacf70f0765144677362c9dad51c24a3bdffeb89e309563e472484f436993f"; }
|
||||
{ locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "302d8bf3941e0dff52918202f7f885dcb14ae9504baf52686a5c9201a644d469c57925181074ac0789d437d9bd8bfa965ae2ccbd54f51dbe2bc352b29d4a1e9c"; }
|
||||
{ locale = "ga-IE"; arch = "linux-i686"; sha512 = "be52801d6995cd377d451a640e319c2b812d83d62cbb2c3bf7063a18f03838f9b758add09875aa9e4e973b3ce3ac285f6f3486a7495590acf5672ccb900e5528"; }
|
||||
{ locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "a475b35c3fbd9fee3e4fd1475b9d3138d58df296744660dd8cc1932f121bbe9b1a2324c6452a4159b5c97a3846f38e92b9214a512d739a897cffeb40805cc0c7"; }
|
||||
{ locale = "gd"; arch = "linux-i686"; sha512 = "88e209d87e38dd950b1248351d6b0518f63dd27423d2f30df1b177740dda4fb3568e19361b066ddd758fe071a7f2c747f8ff9307d6745b9d68002bb34be5dc77"; }
|
||||
{ locale = "gd"; arch = "linux-x86_64"; sha512 = "a56c26c2393323a8ec9190a89b3c1a4a27de9086222791e6cc84de0f640e2700274b92ffda0a21aa1de39684443108499122a12fbf5ceec3df69301132cf3463"; }
|
||||
{ locale = "gl"; arch = "linux-i686"; sha512 = "bc180ce7132641596151a1b6516b6ab9aa6070c542fbe90be7e440580c8f7a488348ba238922e33c8aea10505814604d5f5568d03978bcc75db536a31f66c4ce"; }
|
||||
{ locale = "gl"; arch = "linux-x86_64"; sha512 = "92bba67974146f832d91c6d023b60a7d4dd3f0391f4df9744379035bbf6fe2ca43d8eb81e05184658da34d5519b310f06fe4429287874ba618d3720931ef89a6"; }
|
||||
{ locale = "he"; arch = "linux-i686"; sha512 = "37da8123306823963ac02c9756d5ce3e76207ee0a1652fdad42cf2c8467062f1369c8f6640625fdc049e2c024d6ed71cb3c9c669d18e1d737246d510102d1d89"; }
|
||||
{ locale = "he"; arch = "linux-x86_64"; sha512 = "62bb1f1735c13ac7adef4ce922eff64aba486bb2274691b8c3df12c4d87c30660dd2054e6fa314f56a690a0a8bf3533237d0d4bce89f83cc7a955e8de3f9fc43"; }
|
||||
{ locale = "hr"; arch = "linux-i686"; sha512 = "b36128139442da20bdda63bf325a12e6f7467fe8f1baf8a56a3b0c55c8cce45f8c5a629b25a97b12c86e10fc12cddc2edd9aeea651bb9026427c6486270d80a2"; }
|
||||
{ locale = "hr"; arch = "linux-x86_64"; sha512 = "ec3c826ed484ced10b417320d50f3c0c9b955b71eb656b2469c7a3268d712579901cba904a789f5f6a2fab6d7707401ff1ea0e112a575091c4196d7bd178387d"; }
|
||||
{ locale = "hsb"; arch = "linux-i686"; sha512 = "274b913c0a5c293b45c622c360380560c62b19772c0d5616d46040b6330cc5c330177084f743f2edc2624c88bcafda748fcd3beae606adf7eafbc4711845517e"; }
|
||||
{ locale = "hsb"; arch = "linux-x86_64"; sha512 = "5af289d7d57645959c0b1f1437239e8ed989720c586b6dff7734bd675258f6876b467b2e4a29686ac0f703685e41204b702df758ea25410271ecad9d9beee203"; }
|
||||
{ locale = "hu"; arch = "linux-i686"; sha512 = "fff9201e818d17b8ed453d272c5095625edac664555fc028efa9f08d23ad151d5aa22e3ddd9ee0eae9d0dfdfac27ca882107f12aa023741bcbd20be61e11c457"; }
|
||||
{ locale = "hu"; arch = "linux-x86_64"; sha512 = "cbe561fbd504b14c59e5db745dcbf83edbb5bf1813f86888419d0dc5cab43bc700f96782c36d1bc8c8732311758209faee5d9755e872e626c0a6012e5be6e441"; }
|
||||
{ locale = "hy-AM"; arch = "linux-i686"; sha512 = "954e697b2400b93fc575c7336a613d3d63702e80a12617a9c86b08e294bf4dad54c2cae4669525e88ecb55a0c029bab028105659a12656f03ce2ba0f0a7e71b1"; }
|
||||
{ locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "9e27956960fb2154e8c4b895123ceb0cbc8538f3f4563e2888db2d056605de0612a629c66f3db9a9acc3db7032ef39b553a9791a11489e89b6485c00f0e1b903"; }
|
||||
{ locale = "id"; arch = "linux-i686"; sha512 = "bdedb03a25ec664c0443fa4e1e0d5dfa84ac5644e2a5dcefc67a714b71c2d18d9a38962e7ca2661f4d0d4d518d3e4eab51fb499efc32825a0446387cd22ed34e"; }
|
||||
{ locale = "id"; arch = "linux-x86_64"; sha512 = "2c18f2b919a64f540e5a1e59a430d1c710959711757e06fb38a12b67f0ff139ddde822ef7cdf5836a32d3bf904e56fb56e9d8d97f9d49cf35b67650be54e131c"; }
|
||||
{ locale = "is"; arch = "linux-i686"; sha512 = "73e866f713fc38ab7e56b97c985db69d49bdea2007c84e2ba54638f07433fc37a1a65a1189dd2b847394811e57ba8c767e20756686ec7fc86dcc3248168b110d"; }
|
||||
{ locale = "is"; arch = "linux-x86_64"; sha512 = "031c069a6c6dd79f21594dcd64801c9f11bf4e41ba8efd3b17020fdebae585ea746910c0186a5dcfb5a073ff33807d8324932e5ef3c2e04b5d35e24a714f2cd2"; }
|
||||
{ locale = "it"; arch = "linux-i686"; sha512 = "86bf4650fabfb9716d228e8449792b620a0692e3f5c6af19398cb37b1079cdf79f42795e16cd13c6ed261c1a81b7b3a23ba305299d03bcf1d716ee0ccade903d"; }
|
||||
{ locale = "it"; arch = "linux-x86_64"; sha512 = "5225af86242544e4fdc176fa68463c9ab03e4066ae57266f112aec179f7085b7621df7e46e34302bc3e3e30dc713eb45af568b86bfb1a4fa6b01f50fe677b5b2"; }
|
||||
{ locale = "ja"; arch = "linux-i686"; sha512 = "401e4c7b9831f2a3342764b6a2de732c89fe5687ff1e611c4ba1b630f22936c0343b3ef5ec444925ccc68c8ad45cd98d67ca502c32094adb567bfa64481e82c0"; }
|
||||
{ locale = "ja"; arch = "linux-x86_64"; sha512 = "7962eaef19bc5bdcf5f3aa9dad6df110ffed9b247d13dd61f3c4c170e4c854985d061847b84058bac35c16391821bdbbf5ed05120687cfc75c4baeba2de6f5ee"; }
|
||||
{ locale = "ko"; arch = "linux-i686"; sha512 = "d09e2083db577b308a65d1600bf15cbc6cae7b5137c66782d922a28588803a58348f87df5b9cb2cf9ca00713d542d441c5947475b551c8d5d929dc6293c00a48"; }
|
||||
{ locale = "ko"; arch = "linux-x86_64"; sha512 = "b8689c851b176ec82b73566bffecff54c0e6c85efcae7deb9dd542360fd7a0f8a6f8e53c193060dc36a98203ad7024a0c1d408ac2348f59fd9f3cbd591a17e5e"; }
|
||||
{ locale = "lt"; arch = "linux-i686"; sha512 = "8d5bd77d3d5d1b6168b65458bbb4f2409c447cfb6d019fcf7f8d81b3d4d486203533d3acb8a59257e664296636ee5b192b237ebf070b37a729926ff11bd81090"; }
|
||||
{ locale = "lt"; arch = "linux-x86_64"; sha512 = "7314e8138a913c7610227cbbf71d535f85bf008e09610d742d996be391ff4be0e9dd4daed8fa3ccf1e1556e5c66982e3f2cea0d34d76d78588fe9926420af75f"; }
|
||||
{ locale = "nb-NO"; arch = "linux-i686"; sha512 = "6b1cbcd9888b400ebcb4eccd416e12d09f29431a4afa3b890b05721d1c4108c35549c2f70800ca386f3b21c66b42be3d00a730d4fd2a4ba9c62069c92ab726f7"; }
|
||||
{ locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "27f278b9f54b563f0aa907448eba04b4f84c9ab33eadb4737a662058e904e68baa481625c0303764ac7416cf5cad7bcf94a651db981fbcf94ab8e93625555415"; }
|
||||
{ locale = "nl"; arch = "linux-i686"; sha512 = "d932296e6cc61c634ab09a66328335e0c6049e9d6ca660a862dce3cbe8cc0900fb3bdc0956b82c9f70f18f5c68c1f37acacdd7a3b8a697acd24df1197683aea3"; }
|
||||
{ locale = "nl"; arch = "linux-x86_64"; sha512 = "010e833b541b1a9ef20d10a1678b7b25cf2a9268cfc6b6f0f1c1e5b1803bfdc4cd214b9e3a86132f1335531f107773dfe01f9f4dcd996262dc2c3ece491b36a4"; }
|
||||
{ locale = "nn-NO"; arch = "linux-i686"; sha512 = "b2ed20a973248031fb63b5652f6eea2c572c1fc2d8dc780db4cfa6a0450ccc211effc1d79ac67718b444f0247f8659d134586a0abe829df4090f65b1cdb59d93"; }
|
||||
{ locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "5924aaeeb828464552b0de572ce24cbb94558aa30d599cb518d7dae74e6974d7da9ac5035c5bb2195fe826a8197907c29f02f5f0e83e36c84bb023b208fb56c7"; }
|
||||
{ locale = "pa-IN"; arch = "linux-i686"; sha512 = "6ac911f182c6c9b7e2617118efb76285136f0320d99f49401e5732841ffd846770bdd7ec98a200922536cfbd855debd037bdbe279b0f43e644d6e107afd73e68"; }
|
||||
{ locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "e16db609e60e4c79336e31d267af552124b2d2b62fac0066e0a84a6e48f082a46699010a9f2540df30ff5c1d4f8d481c4cfc4caea4acc68f50ab83f996105209"; }
|
||||
{ locale = "pl"; arch = "linux-i686"; sha512 = "90217da5f30de60aef9da734355d6b5e0a93526e0d8f91db6c21405e2666df12d1ae37acb94638966b1bff6e3de3713c5243b683e4d321b916125ef89af42c15"; }
|
||||
{ locale = "pl"; arch = "linux-x86_64"; sha512 = "b77b19d6c413a92ae3c0da43f989725b3d74fd9d7c1f343711ea73d5a10e4310f005a2d728fa708fcad3b281c5694964ab91966df00b2667a7a8ef616c3a86eb"; }
|
||||
{ locale = "pt-BR"; arch = "linux-i686"; sha512 = "d4ce84451941a9382d4fa6225b697e2bea2f72dcf76c72b779bd1e3d955803d7ad3bcbed47e9a7dafde72cd20bfa1e8616b691d275e1e390b2af415e0ea9610c"; }
|
||||
{ locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "c3585047b7b5611e5925f873e3a996142e9b73b5f5389729f3b609f3554030d39a988183f15aa2a5d07036fecc147cdd0abc02b13601a0e02e794c40cada5b40"; }
|
||||
{ locale = "pt-PT"; arch = "linux-i686"; sha512 = "e28dce49f6660bea1f56f2515ae539701cc160956318305464ea6b8cf1cf6be21fa8b97b30b234eec9f7e5bc3987ed939b5eca50174ab148a988706f00a2ef0f"; }
|
||||
{ locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "81a225e7d4f56b0c231d690b4da3f819a1549e8f5194cd6dd2da23d7909c24d9f5f9262e6bec5eee8701ce510980426c7d2612149c4c88da68f910cb7b046d1e"; }
|
||||
{ locale = "rm"; arch = "linux-i686"; sha512 = "c4c724f0be3d6a1ada175ec87f840b177ab2a074d5ec858a49732ca7b5289a7d3b1e09b9d0e5c195e1e7565175cdef35e5b6e6e1a3344d7e307f9901e0ca1e6f"; }
|
||||
{ locale = "rm"; arch = "linux-x86_64"; sha512 = "8e55f3b680a7b7d4299e59360413a339a99569af8c3a890cb95437c76dfd903f5fc60b6abfb3820e4dbd7d637015ebf8600f351f858022b535709879c9b0608a"; }
|
||||
{ locale = "ro"; arch = "linux-i686"; sha512 = "cf91019d92850db3954690a403c13948f53d79574d874aa10effeac92d759d1b5e62cad9184f58c29b6e478903a4c6f4e27cc3e7e2457605332e361da5ab3ab4"; }
|
||||
{ locale = "ro"; arch = "linux-x86_64"; sha512 = "ed1106a9855752c951f232de0946665914051dda0e9ded0052b4ef10b7f8d19ce3994165eabeb8b2a1f04009fb7909a48c79c484451335ee24541ab3eee52f4c"; }
|
||||
{ locale = "ru"; arch = "linux-i686"; sha512 = "e3175d29cee4f253f7adf4f1d9b9826840e434d11d0c3f10fd9163f904ca315764b4943fb9d2c8a2324aedaac26047e95b6cf87c3218bc5b941e0b9a07e2b49f"; }
|
||||
{ locale = "ru"; arch = "linux-x86_64"; sha512 = "62c15a60e2d600068273695f00e4d37416cd7c1804bbc814a3e0b7c0de2a3f23a03b4d6fa5666f25971b7726bd0cde1fccb40cde1e95522704c14252d52384dd"; }
|
||||
{ locale = "si"; arch = "linux-i686"; sha512 = "a94106b78937fa105eb254044f5ba808edb17b7b0f9b2b56ad918a48566ed43e181b652f4b4feb37d81ed749a5ecd9bd6997cfe6fd1cd7fc001567d9a888f582"; }
|
||||
{ locale = "si"; arch = "linux-x86_64"; sha512 = "974c8349b19e34e9262a98b44c691354061a8f802c8ce47609251023eb91a97096cc107fbd653e9ef9536deb81259cead57b5bcebadb602af8fe51b7e1224fc6"; }
|
||||
{ locale = "sk"; arch = "linux-i686"; sha512 = "63fea9c688a89717b5626e407abf82e650916ede2f01189a54d33e4af366474b39383c2d64bde4bfdfdde3bfe767afb8677b1638b3b327c8a387d0dc00b1318e"; }
|
||||
{ locale = "sk"; arch = "linux-x86_64"; sha512 = "96684db63e28088ca0d1f6c3bc30b3075ee2f135900359060add36a34d539132655ec403847acd4d7823bf80d6fb5f7ce7a0c618031b64f6af725a8b3c4c5a22"; }
|
||||
{ locale = "sl"; arch = "linux-i686"; sha512 = "6279d3656f2b0a71e7082fd728bd2b551b16838263d7f83a32eebbb28e6d69df11be3f25db259a464428529ddf389f221048f445f0a0f34de1c263aca6fc48ae"; }
|
||||
{ locale = "sl"; arch = "linux-x86_64"; sha512 = "c69e0ae0d72229c59ca0fa68789c1bdab1ceff5159906ccb27766b854b677328cb1c305d5568c058b93c4e512fd5b7f7626531c5a6f1655519f0c07ecc02308f"; }
|
||||
{ locale = "sq"; arch = "linux-i686"; sha512 = "d63f84b4e5d8b9728e354487b243c3de604c571af39e43a7552cebdf28139271a8acab85bd1dfc6506e1231bb1ed49dc127f3b0400c9fdaeba2bf6c3ea78829d"; }
|
||||
{ locale = "sq"; arch = "linux-x86_64"; sha512 = "df10b39b6cc461c2418d8b297fed5f7ce34e31a0892737b99076b11095602f250b7018af109555a0ce7959695e00c56835786a9ca10573bfca07d1f21af7dedb"; }
|
||||
{ locale = "sr"; arch = "linux-i686"; sha512 = "57f710812a1f26212ad0cbc4a3506424d36d0560f5d7d17f8e01d7ed4836fb7a385753b17388b30074cd00985ce7edd7882cb5c326b89840cc816f0b5f1c19cd"; }
|
||||
{ locale = "sr"; arch = "linux-x86_64"; sha512 = "88a92d428e32b7c3f63fc898c1c3a448ef3b78afde1334d86dc4e68819f05cb8cba9816e875aaf36f52f1f04c42f9833d690c43dc5eedff3743416a76d33f38d"; }
|
||||
{ locale = "sv-SE"; arch = "linux-i686"; sha512 = "f86b0d7fd4f5875dee70ec00efe7f4c99a59d34e877b21288c89f9d5c83d04b31eeafe7dadc01ee5bd91a76363dace2da86e5bc219909fa06d47c5351931efc4"; }
|
||||
{ locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "8994b908589746e5d8dc980b5dd06294988399be8e1ced10c6d4b3a6da440f69d6de7f101b9f96723fe55afdc21a7336c141058aa7fc70d283533e5fdd096b85"; }
|
||||
{ locale = "ta-LK"; arch = "linux-i686"; sha512 = "852a0132af6ed9d0c3da36025e0183b9c5bfc4a34af7870373989602059f05f6f5f779439c68ce577e6821295c2aa45135a2b90624b941c736089c391364e566"; }
|
||||
{ locale = "ta-LK"; arch = "linux-x86_64"; sha512 = "bf8332314c43a8f2709be4440e9eace27ce4ca097d0db7a25de99ac6447606fda297bdccd5d7bf865a964f5276f04371a022134c22962fa5743cc90f4e1a627e"; }
|
||||
{ locale = "tr"; arch = "linux-i686"; sha512 = "e46e71d28a9bf4eefe453ad3841bfdbc261594e2b29322bc2e5cc072957674e1121c246d3be3fb56c84f64692d048f6792be526dd600dc85d5b2d7f5d2aaeab4"; }
|
||||
{ locale = "tr"; arch = "linux-x86_64"; sha512 = "1c5d2d1f01129aa4456c166120ab21dd021e92bcd9ba9f4c1d2911699f856516bd9c9a5ae356397d117ae376fc5a44eb3b3880a2fe7e4f61a3b5bc581544f2b1"; }
|
||||
{ locale = "uk"; arch = "linux-i686"; sha512 = "7b3acee5c624600f908ec6ff7e664d2414a3fc48208bd54baf0cf209f66460e560137a52445805ccfb410913f2ab8ecee30f4a702fbe0c8bf758bf89411d06fe"; }
|
||||
{ locale = "uk"; arch = "linux-x86_64"; sha512 = "3b90f1a04c8922889182b81c88a071de2ff54f3524110739878e80738513216ba133ab973219eef822d7c1f605c1d2fa1b32fdbee2451e4c6427a27f9d25599a"; }
|
||||
{ locale = "vi"; arch = "linux-i686"; sha512 = "bd37a54a586e91b29c668a2995fc37ec5b2e6d0bab5af640575981aff2be91e97181f5f89e0c4720979fac38b19530c056562a2c4a07c3b9868b347ea5f7f831"; }
|
||||
{ locale = "vi"; arch = "linux-x86_64"; sha512 = "a571cfd9e0e43e9ebf5d29969a9af08c16c3fb44abad302207ee17018b105cb7079a0e3da02433264cddfc2da7922296c41f4d5ee76d722b07211c9cb78c8caa"; }
|
||||
{ locale = "zh-CN"; arch = "linux-i686"; sha512 = "6560d28c15ec9e46787d8eaa1fd9b20630828f15b2ebea98591e25123e5c51a90e12889ac2474467f9d1e3e41b88ae3cacc75ebb67391af0abbe18aaffa29a48"; }
|
||||
{ locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "0ad5965f5028c7d0642cdbb140caabab24536e9bb386b6b14c59af52758e667a6217c7251445c462d3c283c72215a449545f06a1d176ad178a17ed51640715c3"; }
|
||||
{ locale = "zh-TW"; arch = "linux-i686"; sha512 = "a44dc60451845e27560ba41ff5a37446f955076e0da8cbf8ed9ffe06c217dee8847f57c6a58913581ccd4d4039b0f2b570b660882e68bd0e9050371cd1220022"; }
|
||||
{ locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "17cbdb81577522510f7538d843755f09465700f558d164e6e292070859c9e298165e16c57e5c6db109be6b570666986fd506b60ce6b8ea6f983070c36c5b28c4"; }
|
||||
{ locale = "ar"; arch = "linux-i686"; sha512 = "fa7457cf48ca68f559b14b79acefe90f8d449e7dd7a32a97f728ef33b26e3f513064bf733eed77b12237902491852a66fce690b1cf1de049e2f09d27416d8786"; }
|
||||
{ locale = "ar"; arch = "linux-x86_64"; sha512 = "6b2bc528ef7401a5ca6d6c5e68eaf68386a706925a3087ed16b4a2560a449ccba52c8dacae39d9a761323cc46f934ca2ea3c07bc5ef49df07eff9760a8a0ed15"; }
|
||||
{ locale = "ast"; arch = "linux-i686"; sha512 = "2917644f88a775441634a8b2dc214e29a34eb0cc7ad88c423a5cc02f7603cf321392c7fc3c7ce97231835fd39d1d8e264d8a9fb084651ec722719d5110d83cbb"; }
|
||||
{ locale = "ast"; arch = "linux-x86_64"; sha512 = "d047bc41a3ee0a444c8e4870a986c0068a67deff043bf96a9ae6338247461f2b51ecf02348c4a5b5e2ae4f68f7bd665c64582f0afc45bd480588cc82cdebc1e5"; }
|
||||
{ locale = "be"; arch = "linux-i686"; sha512 = "830fce5b2361acef206876a43af60963ddd720ad4c49c30936b0231c94096c5f43fb9479679c0260846a28a315f359ee2cdcb66e1f2bce0d222f1495b1cf1f58"; }
|
||||
{ locale = "be"; arch = "linux-x86_64"; sha512 = "8ec67cd108abb51b86fb8cc528a6bd43628847e47e2a7e5ffe3bc971b6c89aa0c7cbce2ce0738a7316a54c4ab376502187ddf5be9d74db31985187b7e6ae3038"; }
|
||||
{ locale = "bg"; arch = "linux-i686"; sha512 = "d18965ad8f1456d688811e972b09e293cedaa98832b4d5898d62a80dc9cb4799d898a14ad968fc2f05c3e6dcf3fc480d21d1d8de63a4ea9c10b8081b28c321fa"; }
|
||||
{ locale = "bg"; arch = "linux-x86_64"; sha512 = "a7dcbe29dc4b28b3273693bec60f9ed66d1eb81899a049f7181271e84763f13817f97e07a9696ce803d151b382f3339f3b0d2b1bdfc5bc687c3f6198627e2fd3"; }
|
||||
{ locale = "bn-BD"; arch = "linux-i686"; sha512 = "3919ffd44cb501f5c8d273651e3bef27203270ae269e8682f2c749a32eb6a622a8106179cb9a493f7e62f255da62381ab497e2a590f84bd207a1bbabc039827d"; }
|
||||
{ locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "8e4d026bf30a0fc69eb2c7982b3866a4745f506f5365677540e050cba81a569df1b367c42b9bcaf58ae20243a82a9e7d006c476a83ecc29b4b77f042f8aad5d1"; }
|
||||
{ locale = "br"; arch = "linux-i686"; sha512 = "cd00e42cce4a5efd18ba5b9a784dc93282c200a43796b826cc05eb4858d44775df827dafcda0c6468d17ea5f7f930590db1546b544fc19ad52d9d5e1cf7c522d"; }
|
||||
{ locale = "br"; arch = "linux-x86_64"; sha512 = "be84c92859014a055606588fd7e9c8d8c13fed8ca253ccaed560a2b457305b487cb2664df8af7416220349a85a4db15f7420674ab46c1ba8f8cdec03f0002d83"; }
|
||||
{ locale = "ca"; arch = "linux-i686"; sha512 = "2e678aec4efde29b659f1e4de071f7b5cf2fc56b28b362bfc7fc2a3ba8ceaaa53a3452cb9c2a565ea5bf83304be87fa18dd246d2207e5ba6f5ad16a0f008ffe7"; }
|
||||
{ locale = "ca"; arch = "linux-x86_64"; sha512 = "7bebca69abdf5510793e376693d82e626fbce49d01fc66d28bc53ad51ab70fd9432266e2cc1b0d83359fb2bfdd075daa181c66618f6094996355f6cc0920b239"; }
|
||||
{ locale = "cs"; arch = "linux-i686"; sha512 = "2f8d5faaa0952ad37e3777a2d15e2a1ac7aed1ed275faf909e479f56e4ee2e9f385aedf6b08cdb3abd9e0830949b6b6b1048e19ac489d0d0e881595b31816068"; }
|
||||
{ locale = "cs"; arch = "linux-x86_64"; sha512 = "01e807c22d90e07503b92e3821ddf91b509763d9c7b2ebc5e21ec9788333086de25508979422446a2e0469be611f890db682757ddebf15e549bb8714f40877d4"; }
|
||||
{ locale = "cy"; arch = "linux-i686"; sha512 = "e87718bbd286e1e2fcef8e114aa27b81a1917b37cba996c59ddc30d5300bf53a4e3662d3770f70362850d41e564887ba510f605412e57d8e6510f02e5a4d54d8"; }
|
||||
{ locale = "cy"; arch = "linux-x86_64"; sha512 = "f3287f4cec54f6814a678dfd9875952d5109716cd15d097ad5589fb2bbf75aabf2496cff6d320929c825b1a1e61d50f060b9d9fd7f7011078620995570dbe88a"; }
|
||||
{ locale = "da"; arch = "linux-i686"; sha512 = "6cc8e7c2c3aec96dc9639a8663915db2e86437b8b9a598570946b2dc63c9d261a257dcba3359762668683a67cf39d5448e0203eeeeb4da41f6d5df51c955da3d"; }
|
||||
{ locale = "da"; arch = "linux-x86_64"; sha512 = "bcba101b8438ff5a61ecb76f1328174aaaf7dccf5031a836cfcd8e597db8d0b120623e15a8c8231373732b6796015ed9fe212797bf0f664055d3be3755bf38d5"; }
|
||||
{ locale = "de"; arch = "linux-i686"; sha512 = "fffa1b9a61ef75ac077bf03f85abbb5a40131a9a35a49835ac40b424870b773a42f8fb534ba5757da7c0bf6781efe39dbe2942ddd436860efe5799170952dbed"; }
|
||||
{ locale = "de"; arch = "linux-x86_64"; sha512 = "db88539be38c0a62d9c56b5295af2bb67d342996c85e788a17fe2a74e974a8d196765343ca005207b8b1ebb8f76421640dc7cdf36c51e23a4bc03edfbdbfe73c"; }
|
||||
{ locale = "dsb"; arch = "linux-i686"; sha512 = "2191707e5c796eb5ef210798c3519004f5cfcc9be0f56a22c03eef52a34f04f011e556894dc932467c142c8ec876105cab628c947ded0e11d7a63733db83bdac"; }
|
||||
{ locale = "dsb"; arch = "linux-x86_64"; sha512 = "07a9bb323db8f626ff0614dd8cfbbb1f0c8d922aac4c7ce21770b79c40e79ca09c798903998d44c236cfaa76daaaa94814bff697d34aafa417533078405cef1f"; }
|
||||
{ locale = "el"; arch = "linux-i686"; sha512 = "4325888c1b2585d7f2bf9c999407dba260783570816b0edfadd90bdebe6d6db637f9aa9589f2b5824ab6e833c4527fa760e177ed866ce302fce85d9b9daa2608"; }
|
||||
{ locale = "el"; arch = "linux-x86_64"; sha512 = "bbb2971ba5c3ebda94312f740c54ef0b4b4b4f2311d4a017e272260945a9f063eb4d341857919da4107f2207f3265df9439aea78d636d9c357fd79a11239fd9e"; }
|
||||
{ locale = "en-GB"; arch = "linux-i686"; sha512 = "507f8f79718698b9599d52e7b5a4a9157c05ae1642622eff1b3547861532ece9727b3d56f67a20ca38df0f32375beec65ec3c7b1ba929799ddc057b4b95d1b8d"; }
|
||||
{ locale = "en-GB"; arch = "linux-x86_64"; sha512 = "bbaceccac3ad841259058c738ef2baef780e96177b3b6a635fbc8a18de53137ec6831729b9f98bcb6b4442fe58b5dd71f526a9f0f3b86231a41bb0a48ea4c930"; }
|
||||
{ locale = "en-US"; arch = "linux-i686"; sha512 = "28b5d2699a65792457414d178bb3bc4d73abf911860ecbcf75bbcfae91b24a056fd67d6aa4d50e4b3003ef84c63750050e16e74c92b690fe9b24347de3ad54a7"; }
|
||||
{ locale = "en-US"; arch = "linux-x86_64"; sha512 = "08034ab8d833f7a2e63a7e40a56dfc78a2dd762e73d1a4b8fd0dd70ad23da5d525771846f47c8e7798517d1f85fef9bc2a8437af3d6ba71d7402a9f6a93d5679"; }
|
||||
{ locale = "es-AR"; arch = "linux-i686"; sha512 = "3f08fc47b03cf095bcfc0af78064fd7179006a4b3240292fbd109b2a4c58c55719328eed631a67ca7a3f0f68ac8d2fcc577596bf532ad95442fba728270ef28a"; }
|
||||
{ locale = "es-AR"; arch = "linux-x86_64"; sha512 = "cfe7e9f8dd67fb52462f840048115e54e5f789a34b63c5d7ec592ccc3a2b25220a66fb7499a50f32539d61205fc46199c0167ad5a75ea46123b96070329a236d"; }
|
||||
{ locale = "es-ES"; arch = "linux-i686"; sha512 = "d2c4cc32d2ae7bfdde1870686675f644f4eb3f2bd0870fa72986f5cef2cc3c45b8070b6df3196e67275bc67c1ece63706f1fcae3b89d80fea8db5c34b9f4b638"; }
|
||||
{ locale = "es-ES"; arch = "linux-x86_64"; sha512 = "6f4d295638ab8d16e1ec1db176d9a60946ee76cacb21c7e10018c2b908e5dad0527705d37b7050d11587244e922fa9e218482fcef40c3beab06c07db3dd8ccfb"; }
|
||||
{ locale = "et"; arch = "linux-i686"; sha512 = "e352de0fb13570e5fd39bae39ea7dfab746529e8617beb8cca51c0a6183614722f62f93e91065c74fbe24e0cd91c03428d76c6e70369a60a64957ebebd1052d7"; }
|
||||
{ locale = "et"; arch = "linux-x86_64"; sha512 = "583be1a8c7f1e2aac3242371ca8f34710510c6750b95f933e1574f9ba0e2a6ad733de4c9cc503909a063250d969aaaee6a53a69aae0c502274f5b0d43fc33b43"; }
|
||||
{ locale = "eu"; arch = "linux-i686"; sha512 = "9de8f87c48c65535c7b073ad90d9c1ad3b7f4932124529ffc1ece36175e5a139d4660efc4a850bd0034d885afc7d7889f137b10fb5972377a4ec97d6858c932f"; }
|
||||
{ locale = "eu"; arch = "linux-x86_64"; sha512 = "101beb0a0dc8f33a78583f9b15036815b030429d471ba0c8852dde7a2e2c91bb6436c8dd36f39e4eab1ecdb38cec08c7ab88f4649b5d25a246657d358984f7c2"; }
|
||||
{ locale = "fi"; arch = "linux-i686"; sha512 = "9670d209fabc23fed2dadb873335e3964b7107b67fbfda39e53fa28ff1d91fd617f73d041cd9d4d0b9dfbdc9e619f69ce05199f7afd383a4fd6717b9f912dee9"; }
|
||||
{ locale = "fi"; arch = "linux-x86_64"; sha512 = "3c2b135437a80047ec04e9995d119b32e948d105677bde0efe505272a0768d860e8b68dbe487bb81c38f9eee94a7bcc23c976a3dd614300056ec578bb5dbe7a1"; }
|
||||
{ locale = "fr"; arch = "linux-i686"; sha512 = "d14822f3ef67082a77488ee3f7b6e3294a01f12e48cf037fb2b41ab9c5e4af01f1b0a76b29673c9196f2caa16dade84183d69a6bbf1dd618e7742f9e1d903477"; }
|
||||
{ locale = "fr"; arch = "linux-x86_64"; sha512 = "e1fdb863309bcdf382c3533b15ff1c3e4e9ee6f4c0ea097790c432d302b4a0712d00b1f0851dbc4c4e9c3758f941eddffd82dd1d3912dc76afc20e05083b82ad"; }
|
||||
{ locale = "fy-NL"; arch = "linux-i686"; sha512 = "3881348184cdbac93b452e9f5c9ebbf14c542dff68cb500c82204dec42c3433e3b356f2d332c1fb5a4f6649e8bd5b03564bbd1f75bb25c2d946c72ba955c4b63"; }
|
||||
{ locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "3182f39c26085bc882cb1a391c63f2ce58a8ffcffce4ae1ca9293a08e572d888691cb2968d93caee77576bc7568a0ad67f0ccb6815dfffadc9f8f798343c92b2"; }
|
||||
{ locale = "ga-IE"; arch = "linux-i686"; sha512 = "a653b578be20b8127de26e7c8ac90adc04024cd108e078b5a5e2e7634d834d76f9227341e52ab8b72fdc5f8c11787405eabc19403922c854f0d0fc7e9fcb0774"; }
|
||||
{ locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "28dcbcefd11807482becc961244f58520498e0f9540f28c1e74d18f499cf5a209d51599783b8551ee937f228b406bd0605adef4146e29dccd8ccf2e5ef155a2c"; }
|
||||
{ locale = "gd"; arch = "linux-i686"; sha512 = "2b39ed0b1533cce97f4c4e5663ffef0fc88611334cceeaee0687ccc87e8c4b0f58afd9d826e7e9b66634b51249b776820cf03fc841e739ff3504eadc02597dd5"; }
|
||||
{ locale = "gd"; arch = "linux-x86_64"; sha512 = "525f632482577a3dcc2668495ad8c127bb8bc06412ef01ccf0188c1dbf735e73460cbabac439fc3dd80cf70519c45a439897ef91a1b32208d527e0b6487044f2"; }
|
||||
{ locale = "gl"; arch = "linux-i686"; sha512 = "232bbd56d92ce7648ba57a061d8154b38bc6068dbde32b9ef17199d3a8bb28e1b0b384859d99c526fa96fbb35405520675ab3b45adc90caf125ac813bc77b5bd"; }
|
||||
{ locale = "gl"; arch = "linux-x86_64"; sha512 = "5758ab0d5a6733395ba62601735193073fcee47ba7c3ab24d7031ce87447fb9018264bf3df1ab715ea786beb63a9d479e57217d56477d987021aa482c7b116a5"; }
|
||||
{ locale = "he"; arch = "linux-i686"; sha512 = "dc7cd600a93276995634303cff80d77724b56f0b7ff2fdfe8fe7da23d57d5f4f3d0e0169508c02c9ac57092da58d9ac9e3646f951ca4cb1fd398c70196fc6405"; }
|
||||
{ locale = "he"; arch = "linux-x86_64"; sha512 = "bdb385f4df861b1109169e1819860d46e8edf4d58588d4cdce609387117adeafe35e8bb17a0a2e43bcf12b1bb2244f089f3a1669cd69bb507434da202a1c7e15"; }
|
||||
{ locale = "hr"; arch = "linux-i686"; sha512 = "e7dc17107f762128bac6f0e173ceaec6a9e910dc84d486a0c9447365f1df07fcc1379dd2f05416aa904637836deac5a924f704396ab2af149676a6b1d075c52f"; }
|
||||
{ locale = "hr"; arch = "linux-x86_64"; sha512 = "74600954b56b03d4f2bcc71b32f6c8a19be483af16a7cd2b841fabea6eb042ded21afb1c196aa9bea97c81aae1732d7153e8419f97f439b44570ae53e53f88ea"; }
|
||||
{ locale = "hsb"; arch = "linux-i686"; sha512 = "d42d5b10480100a38d2fe275be060423593f54f9aa6cda13fdac96fca9a36590dd9bb8d1638cca935faedbd09bf2435c0a2858ae9c2ce653af7b2dd183f46f29"; }
|
||||
{ locale = "hsb"; arch = "linux-x86_64"; sha512 = "c41c5b57d7c170c54cd0817dbe21be8ba9e94b99fe28d7478ceb6545c6bf64a215d9ed6c66f99f116f43bb7b442ba6765613c15d14648ff64be3c0c5d7a6c763"; }
|
||||
{ locale = "hu"; arch = "linux-i686"; sha512 = "d2ee002d390bf44ecdadba86ece0d77bdb4ea96a69a79dac4064a4c3f3244c9aeed95df4a1101535fb02225e0305e1d7e97389d4419574ad98d9484237aaff84"; }
|
||||
{ locale = "hu"; arch = "linux-x86_64"; sha512 = "aca465875d8f3cb5815dd2de0546b7a822b55090c78f049d6d3a885f29c90fcbc437f0b7184e8249bb9c8dcc1ca4f146f1cf0067a751590df2d8c5fe4aeeea5d"; }
|
||||
{ locale = "hy-AM"; arch = "linux-i686"; sha512 = "567cba4a91dcc944e1922a429c8b328fc3b2843105056cef938a97c2ba73806f0fee2471b6fe6898856230c54ae0cb6110ebb249eaf9363a0beb35ed2aa0daba"; }
|
||||
{ locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "34bf0a6638822fd1ea6c1a51e01d0d2f370202c61bb5a728abbeb2c1335c9130f3a4fbb7c26f9cb8025849aefde09eaf58567c7aedfd7d854d7313baeb8fd698"; }
|
||||
{ locale = "id"; arch = "linux-i686"; sha512 = "9dd1e0ba44787921fe8fce39f430575334e61948cbbd2e31923c67779c795dc0fc64cc0e46d62e3fa749a3d6cac12c3cb54c3f9e62e02930c1f4fd9a17fa50b2"; }
|
||||
{ locale = "id"; arch = "linux-x86_64"; sha512 = "78385b8276c5a9449d34a0233b40280437dacfc04a9d5d8291ae8603ee5b89337c5b53d4da80f41ca8c7153719654d6506027179c4a79575fd555d9dc8740d4f"; }
|
||||
{ locale = "is"; arch = "linux-i686"; sha512 = "02bc577e3d696735a280079fef84361d556a04c5d3f11f5af93f9ec5220ed729f237eb67120739192dfeedcb4570480bc40da9c413ca2b7f9023a5742cbb2e4a"; }
|
||||
{ locale = "is"; arch = "linux-x86_64"; sha512 = "5de6270e4dd79f402163fdd724fa0987563c1f474c54b555e84ebd94cdb865bd890de21e3dc44ace9dc2bcc70fb182b78752840b6860a6f0494fbfadf4f705c6"; }
|
||||
{ locale = "it"; arch = "linux-i686"; sha512 = "d81131a4322b0a069f3f914d394f8400b0d532aad4f1a0316288ed00df184798c5c61484cbb50a134e7b681a2f150bd04416147734f0d73731811349e537a2d3"; }
|
||||
{ locale = "it"; arch = "linux-x86_64"; sha512 = "7c9ce8e652dc994ee1155e4d1d3375ad093d8f684c422157a5c450edc3701151a1ca8036dda5f79781860ea1e138960266a7df77c16770418f4cb8327e2a2767"; }
|
||||
{ locale = "ja"; arch = "linux-i686"; sha512 = "6b96e8bba64fb004021838e41a36f13469eb48cb03659bceb12b897dd09fdc44f32d279e71e97b146a77fc0433cd85eb38449bf666355692a25f39eddc2775b8"; }
|
||||
{ locale = "ja"; arch = "linux-x86_64"; sha512 = "90c7f76fecc1c9eafbbd7f2f935a006266372d4192c2382c447b52a7993b650b6bb769d1f2f067540f038588b862a82ab4f1dc3b8a7c2a484fedaee55c82889e"; }
|
||||
{ locale = "ko"; arch = "linux-i686"; sha512 = "c2e509fd91664c9ae9d12ad4eebbc875b96c3b7124b88373fbbfb8ef3ec45b3525e8e9c6a295680c583b55564ee26855f2d607a661bfce9d9f57acdc4b90a3cb"; }
|
||||
{ locale = "ko"; arch = "linux-x86_64"; sha512 = "b5fb1e955dde624bdf52a58d5ffadf99cc7fb0a0e757d236c553675aca14fbc942d420a63c91f64e584486fda3e0ecc39c62dbba6b3a62910d01447d7cafd4fc"; }
|
||||
{ locale = "lt"; arch = "linux-i686"; sha512 = "a24deedd6a2ed118cbdb9fc66c17aeb5756d8bf3586a096164c0c1841e1bd7a4b6179cacff3f058bbc9bef40186acf3833a5b2e75aeca8ee525302953fd7ea58"; }
|
||||
{ locale = "lt"; arch = "linux-x86_64"; sha512 = "f4e0a5ec95a30f04a8ee84dd1f4f8bf7427255d382c0fc6a35f63a935edf54380dcd73bca5329ea01147e89c4d3faf30582412618e93a543643ee5922e9044b9"; }
|
||||
{ locale = "nb-NO"; arch = "linux-i686"; sha512 = "c10d7ce6f66d716c550f27ba793cd6239d98ef7fb1dc75605288f426bb2fb65357af95134c4c2241f0438ac90995f666a488a3a61e7696318180496bc29cc94f"; }
|
||||
{ locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "a722d43addca22cfc791da37de60d5ab96e18d66fbb0d8b4b3de9f08202b01bec8c5b8300404df19689d154249d80b0f84a6e09335f607c74a7ee65f64daecee"; }
|
||||
{ locale = "nl"; arch = "linux-i686"; sha512 = "030da83ad81fcb1ce7188d8957fc0ea216372aa4e1fd6fd7d173ef5e329d95d8cd61d1ec9db3e28887d2f949056172644b0590e05815478abb42427d0ad5c06b"; }
|
||||
{ locale = "nl"; arch = "linux-x86_64"; sha512 = "6ea70e3fedc1cf1ea6f75ce9be7c8a7a6245e167f65baaabcdfd3194e70ca5474766e9ccd0d8180270b84c78697793a9af5b82a8f7a773c46b1af0a025382a99"; }
|
||||
{ locale = "nn-NO"; arch = "linux-i686"; sha512 = "354bb0c0447c8e7a54e8e8218f659f4810a6e2848f85c482cf289fe77518fce9c33bd817019bf089f254f71b141d65061c2a690190000c968badd939feaacec0"; }
|
||||
{ locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "fa2484614a067461d8cc3c1fab8675f65b17fc6419c0fe1a8f15e98e8ffffea7297391ec8ec50ec8d2fe1cac4b348afe0b82f2db55584c46cbe2d62daf3a8e4b"; }
|
||||
{ locale = "pa-IN"; arch = "linux-i686"; sha512 = "045fa66125cc3c4fc4650bf4e5ea12aae1b26f2cc4191d6b464f41e5305f015611463b311f3bb55264d07b48edbbff606cb58f73d91b22b3bfaaf5de0b830121"; }
|
||||
{ locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "696dad47dde2f2494f0410fb698b52ca87112e2c29310aea585b703f4633e404f533d37e6bbe09939aa6f575f426d0a4f2605ca5b95fccafc033569bfe258872"; }
|
||||
{ locale = "pl"; arch = "linux-i686"; sha512 = "1848c4c819fa0aebeeec75ac43f3bcf3fa332ba08b79c8296a17aadc7d0434d2b634280541c8d71a68390e3a892a88dd49a0ab4b25c3a2b4b5e7321132801ee9"; }
|
||||
{ locale = "pl"; arch = "linux-x86_64"; sha512 = "e9e0b937a165fd90e0639a01001c9b4ada645c9a1201b64ae6cbc1bbf885b5d0b89e195ca5732aaae66360dfc4f188ac8f1643bf12bdbfa029a348aa29a0f79a"; }
|
||||
{ locale = "pt-BR"; arch = "linux-i686"; sha512 = "4a69c26598d48d25d048288b6d1785dc8e4d89078eca3d300497a93d44639a8eaca0c32c1988abd831d33e0c32788e8ca6d07fdec9cd4ba7f451a23afbddc525"; }
|
||||
{ locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "72d387d49ae5f4dd6406f63fd5c0003f99865079c9d63d7d3deaf15268437dba592642ee8bc759df85fb679da094078c1bdf9808de05bf5e35ac870a62b960e2"; }
|
||||
{ locale = "pt-PT"; arch = "linux-i686"; sha512 = "b3ff7eecd345f789bc4798e94402fe7cf7a0cbf27b03f3d8f92274f39764cfd38bd1e4ad5745f3d177645f2c5bea6cb4aa2f1110c90d524bc6b89916c00b2eb2"; }
|
||||
{ locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "684849e41f77410c290688582488243fed9594c02ebdd85812a2c63e0cc410b470c14533d09184a83df43555b9ff1d775ed0f1ddbe24bb6890848ccce4e041f6"; }
|
||||
{ locale = "rm"; arch = "linux-i686"; sha512 = "02c4171d05c1f070cde474ad60edd7aded613ec1fd7bf51391fe4718554eed435282c44bf891703c356f5bfc0dd08093ef5bc7c979174d5b7fdab1529dde9dbe"; }
|
||||
{ locale = "rm"; arch = "linux-x86_64"; sha512 = "9ea31a30e8b5624c03c1627a6e2e1895a3ede5d35e1b9da0b16d6571c13af0e34cfcbe17f396638c8946b1f96037e9c833b3ed58ad46a9e0bf38ffc0e1dc8bba"; }
|
||||
{ locale = "ro"; arch = "linux-i686"; sha512 = "dc5b581971333067b25317b702a2e9f58484ae66f640ecda0f9d7c8323fbf8c9fb6ca47fb59c94494e641787f7e9b95c6a4cf3037bf2fc974cc394160359910e"; }
|
||||
{ locale = "ro"; arch = "linux-x86_64"; sha512 = "92ef0d86e46d8c80685e9bcd16331447e310147b87cdb45bf80ab2992b4ea11626cf5fbf860ee807d2d8d4e6c7c4fdd352de4c498a57c6951f66ebf72bd60aeb"; }
|
||||
{ locale = "ru"; arch = "linux-i686"; sha512 = "511f96bd7713ea798904216d466f362115922c1566d7214115df7665d9e152b9866bb66608f5426080251f55391ac92eb8ec8a0e76d9471563a0bd84fc8c4431"; }
|
||||
{ locale = "ru"; arch = "linux-x86_64"; sha512 = "57f6669ae5706a4673bb15b1eb06d89807a9a1a0fb59493b2380778efd8dd3f014d1e0a354c16e71207bf0121a561720caa1a71a846237044889916374b6a5d6"; }
|
||||
{ locale = "si"; arch = "linux-i686"; sha512 = "9eb41ae08570098f2cd9d099cec9d2a21490f5bbd7a5a9a422ae9c83b72fb50af2768ed7c33d0d174c3bd09b365107b1e726a57db8fd6bcf52dcc7430f8d22fe"; }
|
||||
{ locale = "si"; arch = "linux-x86_64"; sha512 = "03291a8e69b3b6ebb69e25627ed77fed3e7a008ae77f869b262983fb9334e61748a1028f6dd4e1aabf513b7f6cbaefef83c237107d88c1b177c31f34fff54e3f"; }
|
||||
{ locale = "sk"; arch = "linux-i686"; sha512 = "0152a947109f5257ec17889453cf650d1dcdd40825208053e65b70e8281579fce307d1f38e6d682d7a8d2f3da377c91ca1e249bc1d507c768d2f08292e5e6b90"; }
|
||||
{ locale = "sk"; arch = "linux-x86_64"; sha512 = "d2fdb7585af8a1507362b44b9383acc611668cc4aeb912d98424a49543cefb9a58f95aaa77c1b36a1082fd1334f60df939900e1673e32d3af764ca5ce746d144"; }
|
||||
{ locale = "sl"; arch = "linux-i686"; sha512 = "c2cedc7a07a27f439e5833ca9a1214d0e75b2154ff879fa39b06ab6baa05d13feac227b51d1126d70ef907942db1dcaf1e7c987128f752d0dc1d147266cf520f"; }
|
||||
{ locale = "sl"; arch = "linux-x86_64"; sha512 = "07aa88c7d281e247e9c30f9ae3b8329132d4a145e8a8b0f88b544995d39f58d196fb6ce6a5604954129222a848ce49aa07a0bf6f1ab3a4b1fd29e61f51c7664f"; }
|
||||
{ locale = "sq"; arch = "linux-i686"; sha512 = "e2afd03139f475ae68206cc1f35780261abd7646babd7f05c255acbcdbb712f11ea0b7b68887d0fc05e8bcded3a166cea490c86b2936be7d400c919efbb221cd"; }
|
||||
{ locale = "sq"; arch = "linux-x86_64"; sha512 = "7b91f7c6cdeda2735dbe7befcdec777a6d22c1aa278d4a1caa8cb15441841b4edb7599e8d4d4fbc1d198cc6178625ad4a29455e7195ab563e9bd3ac4faa1104c"; }
|
||||
{ locale = "sr"; arch = "linux-i686"; sha512 = "6b92ea68fde0ede23bdd7998a81d9924e35b8cb77cc396636fb91495cafe039c32efa272f8c3693fa4ec582eb04bc0db6d22991e3056d22188e0eb8c64bf352b"; }
|
||||
{ locale = "sr"; arch = "linux-x86_64"; sha512 = "3ca3f049f677f9283d9af660d2989f5c05ed418bb904e7695e456f73d9615da106e0f0db2c3a371109c77fd7348eef5a94d8061b3a0ad508d193e1234839f954"; }
|
||||
{ locale = "sv-SE"; arch = "linux-i686"; sha512 = "95bbcfaade0c12d87c8b591e3d9d6205e1056741e9eb526cc505687e2ee43fbdb96ff0b411c63b58c6fdd57260180a94d343155163518843a843f5f3b086b25b"; }
|
||||
{ locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "15d0bfb22e6f0d3425737dd05dedc5af7e1f98744fb0d943cd88ad6125083bc86bbfb700d71839a090f9b54642cc1b0ebb8fbd205d46316f83cab75bd5442ec9"; }
|
||||
{ locale = "ta-LK"; arch = "linux-i686"; sha512 = "89b3a7997d3cc3a8372ee49df3dee21e535403d08a2aa742a1416c1e7c41c63fa56fe50fe133f588f3a34db180c4505f05034e99e078c0b19e1eef6f48e3d7fb"; }
|
||||
{ locale = "ta-LK"; arch = "linux-x86_64"; sha512 = "00c20fc4c27005e13cda53c5332bf874267e4bda6894480e599557e5e90a334b648a47ce28fff6353060d9a6fb4e547e632e2deb1513175023c1bf6d453a9583"; }
|
||||
{ locale = "tr"; arch = "linux-i686"; sha512 = "1b791b57b9d8c3da228293c83fa02fc1a24a0b6b8a6efaecbfef42962f2390fb448d2fb08e5a812df8efcf135f9cecb98cba3b2b174e59b43575236ba5fb2f76"; }
|
||||
{ locale = "tr"; arch = "linux-x86_64"; sha512 = "7040da3720ce3b0dad6e2863b48e025c32206c8a0d6cdae4e4fb13b7b6754796e9e1b83a09280303a83c97ddaf391c10a56aa8edfe1e7eca60534a6e1d4006d3"; }
|
||||
{ locale = "uk"; arch = "linux-i686"; sha512 = "54412cf33dab4be4553d267cad386d47ca38726e8643de10b8509828ba6c25f2c35e151165d3d999c22724ba57028b740f9b5e5f9a05aa773779759ffe6ced78"; }
|
||||
{ locale = "uk"; arch = "linux-x86_64"; sha512 = "3725c3c9c7ee8140b2c9ae3ad928e933afbfaab60ec27b8f1a8c56a87553c0123031d50d27c794407b6971b347b8f379c1c92ddff00db960bb635fb0cd945ebf"; }
|
||||
{ locale = "vi"; arch = "linux-i686"; sha512 = "92edb5e4789d1e1a63d5f69f99a06ae474d85949771c07ef572ce5ae66a125d5c04ea207b51fcb4ee2d1f00052f53ee8415d109cb06e53c55e9436f37e375d3f"; }
|
||||
{ locale = "vi"; arch = "linux-x86_64"; sha512 = "e786670f4033857873e5238118b23a86638b190db51d70ac55662718126621580bffd705803638bf71556caa397f3420efaa08e83e06abb4c2e2dbdd22f111af"; }
|
||||
{ locale = "zh-CN"; arch = "linux-i686"; sha512 = "9af79559703b8734df11c2773ccd7f77a88d9dc5ebf2df1bac14fdef4ad0f45c840102e5bb86f6172ad6e7d225af8a1723d4de84b877fb2574fd1a729213ea08"; }
|
||||
{ locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "4d63dc15450d9297d4f161c72eded27d6176bc755f657012821cd9d9e989597c296f985e12af39d7a1b37dd5cf442fdbf9d2e1f7e6f11ba841ed87ea279d813b"; }
|
||||
{ locale = "zh-TW"; arch = "linux-i686"; sha512 = "7bca2ef8b1e597346c0450870fcd0058fac18b3f3607c6280774db97d594e98928bf291ee22146d70f2de40437e38088b9a8af71b0b076b9bbf2049067bfc448"; }
|
||||
{ locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "64ee5cf56a48159c1a2aee2c8dc9118ce9187c5c68a9a1393e2c28a35786fd42042b13d48d30ececf1893973ccab92c0a8b23cbaec340a5150cc1a994236c6cc"; }
|
||||
];
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
enableOfficialBranding ? false
|
||||
}:
|
||||
|
||||
let version = "45.3.0"; in
|
||||
let version = "45.2.0"; in
|
||||
let verName = "${version}"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://mozilla/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.xz";
|
||||
sha512 = "1226b35535d68b9c088ab8692f61120c99951e1ecbae4739ced711665a3237d248202831831f00536c724e2f6359db4601fa5c90f2793433eab4bd9dab0c1165";
|
||||
sha256 = "1h1p14zswrg71qvzshwvw03mhicwwkfg29hvnj56cf41nb5qj8xx";
|
||||
};
|
||||
|
||||
buildInputs = # from firefox30Pkgs.xulrunner, without gstreamer and libvpx
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
{ stdenv, fetchurl, openssl, libsamplerate, alsaLib }:
|
||||
{stdenv, fetchurl, openssl, libsamplerate}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "pjsip-${version}";
|
||||
version = "2.5.5";
|
||||
name = "pjsip-2.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.pjsip.org/release/${version}/pjproject-${version}.tar.bz2";
|
||||
sha256 = "ab39207b761d3485199cd881410afeb2d171dff7c2bf75e8caae91c6dca508f3";
|
||||
url = http://www.pjsip.org/release/2.1/pjproject-2.1.tar.bz2;
|
||||
md5 = "310eb63638dac93095f6a1fc8ee1f578";
|
||||
};
|
||||
|
||||
buildInputs = [ openssl libsamplerate alsaLib ];
|
||||
buildInputs = [ openssl libsamplerate ];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/bin
|
||||
@@ -22,7 +21,7 @@ stdenv.mkDerivation rec {
|
||||
dontPatchELF = true;
|
||||
|
||||
meta = {
|
||||
description = "A multimedia communication library written in C, implementing standard based protocols such as SIP, SDP, RTP, STUN, TURN, and ICE";
|
||||
description = "SIP stack and media stack for presence, im, and multimedia communication";
|
||||
homepage = http://pjsip.org/;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [viric];
|
||||
|
||||
@@ -1,65 +1,33 @@
|
||||
{ stdenv
|
||||
, fetchurl
|
||||
, pkgconfig
|
||||
, automake
|
||||
, autoconf
|
||||
, libtool
|
||||
, ncurses
|
||||
, readline
|
||||
, which
|
||||
, python ? null
|
||||
, pkgconfig
|
||||
, ncurses
|
||||
, mpi ? null
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "neuron-${version}";
|
||||
version = "7.4";
|
||||
|
||||
nativeBuildInputs = [ which pkgconfig automake autoconf libtool ];
|
||||
buildInputs = [ ncurses readline python mpi ];
|
||||
name = "neuron-7.4";
|
||||
buildInputs = [ stdenv pkgconfig ncurses mpi ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.neuron.yale.edu/ftp/neuron/versions/v${version}/nrn-${version}.tar.gz";
|
||||
url = "http://www.neuron.yale.edu/ftp/neuron/versions/v7.4/nrn-7.4.tar.gz";
|
||||
sha256 = "1rid8cmv5mca0vqkgwahm0prkwkbdvchgw2bdwvx4adkn8bbl0ql";
|
||||
};
|
||||
|
||||
patches = (stdenv.lib.optional (stdenv.isDarwin) [ ./neuron-carbon-disable.patch ]);
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
## neuron install by default everything under prefix/${host_arch}/*
|
||||
## override this to support nix standard file hierarchy
|
||||
## without issues: install everything under prefix/
|
||||
preConfigure = ''
|
||||
./build.sh
|
||||
export prefix="''${prefix} --exec-prefix=''${out}"
|
||||
'';
|
||||
|
||||
configureFlags = with stdenv.lib;
|
||||
[ "--without-x" "--with-readline=${readline}" ]
|
||||
++ optionals (python != null) [ "--with-nrnpython=${python.interpreter}" ]
|
||||
++ (if mpi != null then ["--with-mpi" "--with-paranrn"]
|
||||
else ["--without-mpi"]);
|
||||
|
||||
|
||||
postInstall = stdenv.lib.optionals (python != null) [ ''
|
||||
## standardise python neuron install dir if any
|
||||
if [[ -d $out/lib/python ]]; then
|
||||
mkdir -p ''${out}/${python.sitePackages}
|
||||
mv ''${out}/lib/python/* ''${out}/${python.sitePackages}/
|
||||
fi
|
||||
''];
|
||||
|
||||
propagatedBuildInputs = [ readline ncurses which libtool ];
|
||||
configureFlags = [ "--without-x"
|
||||
"${if mpi != null then "--with-mpi" else "--without-mpi"}" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Simulation environment for empirically-based simulations of neurons and networks of neurons";
|
||||
|
||||
longDescription = "NEURON is a simulation environment for developing and exercising models of
|
||||
neurons and networks of neurons. It is particularly well-suited to problems where
|
||||
cable properties of cells play an important role, possibly including extracellular
|
||||
potential close to the membrane), and where cell membrane properties are complex,
|
||||
involving many ion-specific channels, ion accumulation, and second messengers";
|
||||
neurons and networks of neurons. It is particularly well-suited to problems where
|
||||
cable properties of cells play an important role, possibly including extracellular
|
||||
potential close to the membrane), and where cell membrane properties are complex,
|
||||
involving many ion-specific channels, ion accumulation, and second messengers";
|
||||
|
||||
license = licenses.bsd3;
|
||||
homepage = http://www.neuron.yale.edu/neuron;
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
--- nrn-7.4/src/mac/Makefile.am 2015-11-12 21:42:45.000000000 +0100
|
||||
+++ nrn-7.4.new/src/mac/Makefile.am 2016-08-24 17:43:39.000000000 +0200
|
||||
@@ -15,18 +15,8 @@
|
||||
host_cpu = @host_cpu@
|
||||
|
||||
if MAC_DARWIN
|
||||
-carbon = @enable_carbon@
|
||||
bin_SCRIPTS = $(launch_scripts)
|
||||
install: install-am
|
||||
-if UniversalMacBinary
|
||||
- $(CC) -arch ppc -o aoutppc -Dcpu="\"$(host_cpu)\"" -I. $(srcdir)/launch.c $(srcdir)/mac2uxarg.c -framework Carbon
|
||||
- $(CC) -arch i386 -o aouti386 -Dcpu="\"$(host_cpu)\"" -I. $(srcdir)/launch.c $(srcdir)/mac2uxarg.c -framework Carbon
|
||||
- lipo aouti386 aoutppc -create -output a.out
|
||||
-else
|
||||
- gcc -g -arch i386 -Dncpu="\"$(host_cpu)\"" -I. $(srcdir)/launch.c $(srcdir)/mac2uxarg.c -framework Carbon
|
||||
-
|
||||
-endif
|
||||
- carbon=$(carbon) sh $(srcdir)/launch_inst.sh "$(host_cpu)" "$(DESTDIR)$(prefix)" "$(srcdir)"
|
||||
for i in $(S) ; do \
|
||||
sed "s/^CPU.*/CPU=\"$(host_cpu)\"/" < $(DESTDIR)$(bindir)/$$i > temp; \
|
||||
mv temp $(DESTDIR)$(bindir)/$$i; \
|
||||
@@ -17,8 +17,8 @@ stdenv.mkDerivation rec {
|
||||
patchPhase = ''
|
||||
sed -i config.h \
|
||||
-e 's|.*#define.*TKGATE_TCLTK_VERSIONS.*|#define TKGATE_TCLTK_VERSIONS "${tcl.release}"|' \
|
||||
-e 's|.*#define.*TKGATE_INCDIRS.*|#define TKGATE_INCDIRS "${tcl}/include ${tk}/include ${libiconvInc} ${libX11.dev}/include"|' \
|
||||
-e 's|.*#define.*TKGATE_LIBDIRS.*|#define TKGATE_LIBDIRS "${tcl}/lib ${tk}/lib ${libiconvLib} ${libX11.out}/lib"|' \
|
||||
-e 's|.*#define.*TKGATE_INCDIRS.*|#define TKGATE_INCDIRS "${tcl}/include ${tk}/include ${libiconvInc} ${libX11}/include"|' \
|
||||
-e 's|.*#define.*TKGATE_LIBDIRS.*|#define TKGATE_LIBDIRS "${tcl}/lib ${tk}/lib ${libiconvLib} ${libX11}/lib"|' \
|
||||
\
|
||||
-e '20 i #define TCL_LIBRARY "${tcl}/lib"' \
|
||||
-e '20 i #define TK_LIBRARY "${tk}/lib/${tk.libPrefix}"' \
|
||||
|
||||
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
|
||||
for first-order and equational logic. Prover9 is a successor of
|
||||
the Otter Prover. This is the LADR command-line version.
|
||||
'';
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
with stdenv.lib;
|
||||
let
|
||||
makeFlags = ''
|
||||
INCDIR=${glibc.dev}/include \
|
||||
INCDIR=${glibc}/include \
|
||||
BINDIR=$out/bin LIBDIR=$out/lib CALC_INCDIR=$out/include/calc CALC_SHAREDIR=$out/share/calc MANDIR=$out/share/man/man1 \
|
||||
USE_READLINE=-DUSE_READLINE READLINE_LIB=-lreadline READLINE_EXTRAS='-lhistory -lncurses' \
|
||||
TERMCONTROL=-DUSE_TERMIOS \
|
||||
|
||||
@@ -39,6 +39,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://yacas.sourceforge.net/;
|
||||
license = stdenv.lib.licenses.gpl2Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [viric];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
platforms = with stdenv.lib.platforms; all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
"-DCMAKE_INSTALL_INCLUDEDIR=include"
|
||||
]
|
||||
++ stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.lib.getDev stdenv.cc.libc}/include";
|
||||
++ stdenv.lib.optional (stdenv.cc.libc != null) "-DC_INCLUDE_DIRS=${stdenv.cc.libc}/include";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
|
||||
|
||||
license = stdenv.lib.licenses.gpl3Plus;
|
||||
maintainers = with stdenv.lib.maintainers; [ eelco ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ in stdenv.mkDerivation rec {
|
||||
mkdir -p vendor/cache
|
||||
${stdenv.lib.concatStrings (map (gem: "ln -s ${gem} vendor/cache/${gem.name};") gemspec)}
|
||||
|
||||
bundle config build.nokogiri --use-system-libraries --with-iconv-dir="${libiconv}" --with-xslt-dir="${libxslt.dev}" --with-xml2-dir="${libxml2.dev}"
|
||||
bundle config build.nokogiri --use-system-libraries --with-iconv-dir="${libiconv}" --with-xslt-dir="${libxslt.dev}" --with-xml2-dir="${libxml2}"
|
||||
|
||||
bundle install --verbose --local --deployment
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ let
|
||||
};
|
||||
|
||||
# Can't do separate $lib and $bin, as libs reference bins
|
||||
outputs = [ "out" "dev" "man" ];
|
||||
outputs = [ "dev" "out" "man" ];
|
||||
|
||||
buildInputs = [ zlib apr aprutil sqlite ]
|
||||
++ stdenv.lib.optional httpSupport serf
|
||||
|
||||
@@ -31,6 +31,6 @@ stdenv.mkDerivation rec {
|
||||
license = stdenv.lib.licenses.lgpl21;
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -10,13 +10,13 @@ with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "mkvtoolnix-${version}";
|
||||
version = "9.4.0";
|
||||
version = "9.3.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mbunkus";
|
||||
repo = "mkvtoolnix";
|
||||
rev = "release-${version}";
|
||||
sha256 = "0bmr0cnxp56flak6fjcn0ld5238h3ngrvy09yqp4790g8xwif35v";
|
||||
sha256 = "1vipznja07nr7gmzdbv93dv2ggmw4x1bh6xxnn13k3fk6ysqh163";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig autoconf automake gettext ruby ];
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{ stdenv, fetchurl, fetchpatch, python, zlib, pkgconfig, glib
|
||||
, ncurses, perl, pixman, vde2, alsaLib, texinfo, libuuid, flex
|
||||
, bison, lzo, snappy, libaio, gnutls, nettle
|
||||
{ stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl, pixman
|
||||
, vde2, alsaLib, texinfo, libuuid, flex, bison, lzo, snappy
|
||||
, libaio, gnutls, nettle
|
||||
, makeWrapper
|
||||
, attr, libcap, libcap_ng
|
||||
, CoreServices, Cocoa, rez, setfile
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
with stdenv.lib;
|
||||
let
|
||||
version = "2.6.1";
|
||||
version = "2.6.0";
|
||||
audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
|
||||
+ optionalString pulseSupport "pa,"
|
||||
+ optionalString sdlSupport "sdl,";
|
||||
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
|
||||
sha256 = "1l88iqk0swqccrnjwczgl9arqsvy77bis862zxajy7z3dqdzshj9";
|
||||
sha256 = "1v1lhhd6m59hqgmiz100g779rjq70pik5v4b3g936ci73djlmb69";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
@@ -45,24 +45,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
patches = [
|
||||
./no-etc-install.patch
|
||||
(fetchpatch {
|
||||
url = "http://git.qemu.org/?p=qemu.git;a=patch;h=fff39a7ad09da07ef490de05c92c91f22f8002f2";
|
||||
name = "9pfs-forbid-illegal-path-names.patch";
|
||||
sha256 = "081j85p6m7s1cfh3aq1i2av2fsiarlri9gs939s0wvc6pdyb4b70";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "http://git.qemu.org/?p=qemu.git;a=patch;h=805b5d98c649d26fc44d2d7755a97f18e62b438a";
|
||||
name = "9pfs-forbid-.-and-..-in-file-names.patch";
|
||||
sha256 = "0km6knll492dx745gx37bi6dhmz08cmjiyf479ajkykp0aljii24";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "http://git.qemu.org/?p=qemu.git;a=patch;h=56f101ecce0eafd09e2daf1c4eeb1377d6959261";
|
||||
name = "9pfs-directory-traversal-CVE-2016-7116.patch";
|
||||
sha256 = "06pr070qj19w5mjxr36bcqxmgpiczncigqsbwfc8ncjhm1h7dmry";
|
||||
})
|
||||
];
|
||||
patches = [ ./no-etc-install.patch ];
|
||||
|
||||
configureFlags =
|
||||
[ "--smbd=smbd" # use `smbd' from $PATH
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
{ stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
|
||||
, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2
|
||||
, libXrandr
|
||||
, which, alsaLib, curl, libvpx, gawk, nettools, dbus
|
||||
, xorriso, makeself, perl, pkgconfig, nukeReferences
|
||||
, javaBindings ? false, jdk ? null
|
||||
@@ -8,7 +7,6 @@
|
||||
, enableExtensionPack ? false, requireFile ? null, patchelf ? null, fakeroot ? null
|
||||
, pulseSupport ? false, libpulseaudio ? null
|
||||
, enableHardening ? false
|
||||
, headless ? false
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
@@ -69,14 +67,12 @@ in stdenv.mkDerivation {
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor libIDL
|
||||
[ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt4 libIDL SDL
|
||||
libcap glib lvm2 python alsaLib curl libvpx pam xorriso makeself perl
|
||||
pkgconfig which libXmu nukeReferences ]
|
||||
++ optional javaBindings jdk
|
||||
++ optional pythonBindings python
|
||||
++ optional pulseSupport libpulseaudio
|
||||
++ optionals (headless) [ libXrandr libpng ]
|
||||
++ optionals (!headless) [ qt4 SDL ];
|
||||
++ optional pulseSupport libpulseaudio;
|
||||
|
||||
hardeningDisable = [ "fortify" "pic" "stackprotector" ];
|
||||
|
||||
@@ -112,7 +108,7 @@ in stdenv.mkDerivation {
|
||||
|
||||
# first line: ugly hack, and it isn't yet clear why it's a problem
|
||||
configurePhase = ''
|
||||
NIX_CFLAGS_COMPILE=$(echo "$NIX_CFLAGS_COMPILE" | sed 's,\-isystem ${lib.getDev stdenv.cc.libc}/include,,g')
|
||||
NIX_CFLAGS_COMPILE=$(echo "$NIX_CFLAGS_COMPILE" | sed 's,\-isystem ${stdenv.cc.libc}/include,,g')
|
||||
|
||||
cat >> LocalConfig.kmk <<LOCAL_CONFIG
|
||||
VBOX_WITH_TESTCASES :=
|
||||
@@ -133,9 +129,7 @@ in stdenv.mkDerivation {
|
||||
''}
|
||||
LOCAL_CONFIG
|
||||
|
||||
./configure \
|
||||
${optionalString headless "--build-headless"} \
|
||||
${optionalString (!headless) "--with-qt4-dir=${qt4}"} \
|
||||
./configure --with-qt4-dir=${qt4} \
|
||||
${optionalString (!javaBindings) "--disable-java"} \
|
||||
${optionalString (!pythonBindings) "--disable-python"} \
|
||||
${optionalString (!pulseSupport) "--disable-pulse"} \
|
||||
@@ -186,18 +180,16 @@ in stdenv.mkDerivation {
|
||||
EXTHELPER
|
||||
''}
|
||||
|
||||
${optionalString (!headless) ''
|
||||
# Create and fix desktop item
|
||||
mkdir -p $out/share/applications
|
||||
sed -i -e "s|Icon=VBox|Icon=$libexec/VBox.png|" $libexec/virtualbox.desktop
|
||||
ln -sfv $libexec/virtualbox.desktop $out/share/applications
|
||||
# Icons
|
||||
mkdir -p $out/share/icons/hicolor
|
||||
for size in `ls -1 $libexec/icons`; do
|
||||
mkdir -p $out/share/icons/hicolor/$size/apps
|
||||
ln -s $libexec/icons/$size/*.png $out/share/icons/hicolor/$size/apps
|
||||
done
|
||||
''}
|
||||
# Create and fix desktop item
|
||||
mkdir -p $out/share/applications
|
||||
sed -i -e "s|Icon=VBox|Icon=$libexec/VBox.png|" $libexec/virtualbox.desktop
|
||||
ln -sfv $libexec/virtualbox.desktop $out/share/applications
|
||||
# Icons
|
||||
mkdir -p $out/share/icons/hicolor
|
||||
for size in `ls -1 $libexec/icons`; do
|
||||
mkdir -p $out/share/icons/hicolor/$size/apps
|
||||
ln -s $libexec/icons/$size/*.png $out/share/icons/hicolor/$size/apps
|
||||
done
|
||||
|
||||
# Get rid of a reference to linux.dev.
|
||||
nuke-refs $out/lib/modules/*/misc/*.ko
|
||||
|
||||
607
pkgs/build-support/builder-defs/builder-defs.nix
Normal file
607
pkgs/build-support/builder-defs/builder-defs.nix
Normal file
@@ -0,0 +1,607 @@
|
||||
args @ {stringsWithDeps, lib, stdenv, writeScript, fetchurl, fetchmtn, fetchgit, ...}: with args; with stringsWithDeps; with lib;
|
||||
let inherit (builtins) head tail trace; in
|
||||
(rec
|
||||
{
|
||||
inherit writeScript;
|
||||
|
||||
src = attrByPath ["src"] "" args;
|
||||
|
||||
addSbinPath = attrByPath ["addSbinPath"] false args;
|
||||
|
||||
forceShare = if args ? forceShare then args.forceShare else ["man" "doc" "info"];
|
||||
forceCopy = ["COPYING" "LICENSE" "DISTRIBUTION" "LEGAL"
|
||||
"README" "AUTHORS" "ChangeLog" "CHANGES" "LICENCE" "COPYRIGHT"] ++
|
||||
(optional (attrByPath ["forceCopyDoc"] true args) "doc");
|
||||
|
||||
hasSuffixHack = a: b: hasSuffix (a+(substring 0 0 b)) ((substring 0 0 a)+b);
|
||||
|
||||
archiveType = s:
|
||||
(if hasSuffixHack ".tar" s then "tar"
|
||||
else if (hasSuffixHack ".tar.gz" s) || (hasSuffixHack ".tgz" s) then "tgz"
|
||||
else if (hasSuffixHack ".tar.bz2" s) || (hasSuffixHack ".tbz2" s) ||
|
||||
(hasSuffixHack ".tbz" s) then "tbz2"
|
||||
else if hasSuffixHack ".tar.Z" s then "tZ"
|
||||
else if hasSuffixHack ".tar.lzma" s then "tar.lzma"
|
||||
else if hasSuffixHack ".tar.xz" s then "tar.xz"
|
||||
else if hasSuffixHack ".rar" s then "rar"
|
||||
else if (hasSuffixHack ".zip" s) || (hasSuffixHack ".ZIP" s) then "zip"
|
||||
else if hasSuffixHack "-cvs-export" s then "cvs-dir"
|
||||
else if hasSuffixHack "-git-export" s then "git-dir"
|
||||
else if hasSuffixHack ".nar.bz2" s then "narbz2"
|
||||
else if hasSuffixHack ".rpm" s then "rpm"
|
||||
|
||||
# Mostly for manually specified directories..
|
||||
else if hasSuffixHack "/" s then "dir"
|
||||
|
||||
# Last block - for single files!! It should be always after .tar.*
|
||||
else if hasSuffixHack ".bz2" s then "plain-bz2"
|
||||
else if hasSuffixHack ".gz" s then "plain-gz"
|
||||
|
||||
# For bootstrap calls
|
||||
else if (s ==("" + (substring 0 0 s))) then "empty"
|
||||
|
||||
else (abort "unknown archive type : ${s}"));
|
||||
|
||||
# changing this ? see [1]
|
||||
defAddToSearchPath = fullDepEntry ("
|
||||
addToSearchPathWithCustomDelimiter() {
|
||||
local delimiter=\$1
|
||||
local varName=\$2
|
||||
local needDir=\$3
|
||||
local addDir=\${4:-\$needDir}
|
||||
local prefix=\$5
|
||||
if [ -d \$prefix\$needDir ]; then
|
||||
if [ -z \${!varName} ]; then
|
||||
eval export \${varName}=\${prefix}\$addDir
|
||||
else
|
||||
eval export \${varName}=\${!varName}\${delimiter}\${prefix}\$addDir
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
addToSearchPath()
|
||||
{
|
||||
addToSearchPathWithCustomDelimiter \"\${PATH_DELIMITER}\" \"\$@\"
|
||||
}
|
||||
") ["defNest"];
|
||||
|
||||
# changing this ? see [1]
|
||||
defNest = noDepEntry ("
|
||||
nestingLevel=0
|
||||
|
||||
startNest() {
|
||||
nestingLevel=\$((\$nestingLevel + 1))
|
||||
echo -en \"\\e[\$1p\"
|
||||
}
|
||||
|
||||
stopNest() {
|
||||
nestingLevel=\$((\$nestingLevel - 1))
|
||||
echo -en \"\\e[q\"
|
||||
}
|
||||
|
||||
header() {
|
||||
startNest \"\$2\"
|
||||
echo \"\$1\"
|
||||
}
|
||||
|
||||
# Make sure that even when we exit abnormally, the original nesting
|
||||
# level is properly restored.
|
||||
closeNest() {
|
||||
while test \$nestingLevel -gt 0; do
|
||||
stopNest
|
||||
done
|
||||
}
|
||||
|
||||
trap \"closeNest\" EXIT
|
||||
");
|
||||
|
||||
|
||||
# changing this ? see [1]
|
||||
minInit = fullDepEntry ("
|
||||
${stdenv.preHook}
|
||||
|
||||
set -e
|
||||
NIX_CC=${stdenv.cc}
|
||||
export SHELL=${stdenv.shell}
|
||||
PATH_DELIMITER=':'
|
||||
|
||||
# Set up the initial path.
|
||||
PATH=
|
||||
for i in \$NIX_CC ${toString stdenv.initialPath}; do
|
||||
PATH=\$PATH\${PATH:+\"\${PATH_DELIMITER}\"}\$i/bin
|
||||
done
|
||||
|
||||
export TZ=UTC
|
||||
|
||||
prefix=${if args ? prefix then (toString args.prefix) else "\$out"}
|
||||
|
||||
") ["defNest" "defAddToSearchPath"];
|
||||
|
||||
# if you change this rewrite using '' instead of "" to get rid of indentation in builder scripts
|
||||
addInputs = fullDepEntry ("
|
||||
# Recursively find all build inputs.
|
||||
findInputs()
|
||||
{
|
||||
local pkg=\$1
|
||||
|
||||
case \$pkgs in
|
||||
*\\ \$pkg\\ *)
|
||||
return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
pkgs=\"\$pkgs \$pkg \"
|
||||
|
||||
echo \$pkg
|
||||
if test -f \$pkg/nix-support/setup-hook; then
|
||||
source \$pkg/nix-support/setup-hook
|
||||
fi
|
||||
}
|
||||
|
||||
pkgs=\"\"
|
||||
for i in \$NIX_CC ${toString realBuildInputs}; do
|
||||
findInputs \$i
|
||||
done
|
||||
|
||||
|
||||
# Set the relevant environment variables to point to the build inputs
|
||||
# found above.
|
||||
addToEnv()
|
||||
{
|
||||
local pkg=\$1
|
||||
"+
|
||||
(if !((args ? ignoreFailedInputs) && (args.ignoreFailedInputs == 1)) then "
|
||||
if [ -e \$1/nix-support/failed ]; then
|
||||
echo \"failed input \$1\" >&2
|
||||
fail
|
||||
fi
|
||||
" else "")
|
||||
+(if addSbinPath then "
|
||||
if test -d \$1/sbin; then
|
||||
export _PATH=\$_PATH\${_PATH:+\"\${PATH_DELIMITER}\"}\$1/sbin
|
||||
fi
|
||||
" else "")
|
||||
+"
|
||||
if test -d \$1/bin; then
|
||||
export _PATH=\$_PATH\${_PATH:+\"\${PATH_DELIMITER}\"}\$1/bin
|
||||
fi
|
||||
|
||||
for i in \"\${envHooks[@]}\"; do
|
||||
\$i \$pkg
|
||||
done
|
||||
}
|
||||
|
||||
for i in \$pkgs; do
|
||||
addToEnv \$i
|
||||
done
|
||||
|
||||
|
||||
# Add the output as an rpath.
|
||||
if test \"\$NIX_NO_SELF_RPATH\" != \"1\"; then
|
||||
export NIX_LDFLAGS=\"-rpath \$out/lib \$NIX_LDFLAGS\"
|
||||
fi
|
||||
|
||||
PATH=\$_PATH\${_PATH:+\"\${PATH_DELIMITER}\"}\$PATH
|
||||
") ["minInit"];
|
||||
|
||||
# changing this ? see [1]
|
||||
defEnsureDir = fullDepEntry ("
|
||||
# Ensure that the given directories exists.
|
||||
ensureDir() {
|
||||
local dir
|
||||
for dir in \"\$@\"; do
|
||||
if ! test -x \"\$dir\"; then mkdir -p \"\$dir\"; fi
|
||||
done
|
||||
}
|
||||
") ["minInit"];
|
||||
|
||||
# changing this ? see [1]
|
||||
toSrcDir = s : fullDepEntry ((if (archiveType s) == "tar" then "
|
||||
tar xvf '${s}'
|
||||
cd \"\$(tar tf '${s}' | head -1 | sed -e 's@/.*@@' )\"
|
||||
" else if (archiveType s) == "tgz" then "
|
||||
tar xvzf '${s}'
|
||||
cd \"\$(tar tzf '${s}' | head -1 | sed -e 's@/.*@@' )\"
|
||||
" else if (archiveType s) == "tbz2" then "
|
||||
tar xvjf '${s}'
|
||||
cd \"\$(tar tjf '${s}' | head -1 | sed -e 's@/.*@@' )\"
|
||||
" else if (archiveType s) == "tZ" then "
|
||||
uncompress < '${s}' | tar x
|
||||
cd \"\$(uncompress < '${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
|
||||
" else if (archiveType s) == "tar.lzma" then "
|
||||
unlzma -d -c <'${s}' | tar xv
|
||||
cd \"\$(unlzma -d -c <'${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
|
||||
" else if (archiveType s) == "tar.xz" then "
|
||||
xz -d -c <'${s}' | tar xv
|
||||
cd \"\$(xz -d -c <'${s}' | tar t | head -1 | sed -e 's@/.*@@' )\"
|
||||
" else if (archiveType s) == "rar" then "
|
||||
unrar x '${s}'
|
||||
cd \"$(unrar lb '${s}' | tail -1 | sed -e 's@/.*@@' )\"
|
||||
" else if (archiveType s) == "zip" then "
|
||||
unzip '${s}'
|
||||
cd \"$( unzip -lqq '${s}' | tail -1 |
|
||||
sed -e 's@^\\(\\s\\+[-0-9:]\\+\\)\\{3,3\\}\\s\\+\\([^/]\\+\\)/.*@\\2@' )\"
|
||||
" else if (archiveType s) == "cvs-dir" then "
|
||||
cp -r '${s}' .
|
||||
cd \$(basename ${s})
|
||||
chmod u+rwX -R .
|
||||
" else if (archiveType s) == "git-dir" then "
|
||||
cp -r '${s}' .
|
||||
cd \$(basename ${s})
|
||||
chmod u+rwX -R .
|
||||
" else if (archiveType s) == "dir" then "
|
||||
cp -r '${s}' .
|
||||
cd \$(basename ${s})
|
||||
chmod u+rwX -R .
|
||||
" else if (archiveType s) == "narbz2" then "
|
||||
bzip2 <${s} | nix-store --restore \$PWD/\$(basename ${s} .nar.bz2)
|
||||
cd \$(basename ${s} .nar.bz2)
|
||||
" else if (archiveType s) == "rpm" then ''
|
||||
rpm2cpio ${s} > ${s}.cpio
|
||||
cpio -iv < ${s}.cpio
|
||||
test -f *.tar.* && tar -xvf *.tar.*
|
||||
test -d */ && cd */
|
||||
'' else if (archiveType s) == "plain-bz2" then "
|
||||
mkdir \$PWD/\$(basename ${s} .bz2)
|
||||
NAME=\$(basename ${s} .bz2)
|
||||
bzip2 -d <${s} > \$PWD/\$(basename ${s} .bz2)/\${NAME#*-}
|
||||
cd \$(basename ${s} .bz2)
|
||||
" else if (archiveType s) == "plain-gz" then "
|
||||
mkdir \$PWD/\$(basename ${s} .gz)
|
||||
NAME=\$(basename ${s} .gz)
|
||||
gzip -d <${s} > \$PWD/\$(basename ${s} .gz)/\${NAME#*-}
|
||||
cd \$(basename ${s} .gz)
|
||||
" else if (archiveType s) == "empty" then "
|
||||
echo No source to unpack - doing nothing ..
|
||||
" else (abort "unknown archive type : ${s}"))+
|
||||
# goSrcDir is typically something like "cd mysubdir" .. but can be anything else
|
||||
(if args ? goSrcDir then args.goSrcDir else "")
|
||||
) ["minInit"];
|
||||
|
||||
configureCommand = attrByPath ["configureCommand"] "./configure" args;
|
||||
|
||||
# changing this ? see [1]
|
||||
doConfigure = fullDepEntry ("
|
||||
${configureCommand} --prefix=\"\$prefix\" ${toString configureFlags}
|
||||
") ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
# changing this ? see [1]
|
||||
doIntltool = fullDepEntry ("
|
||||
mkdir -p config
|
||||
intltoolize --copy --force
|
||||
") ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
# changing this ? see [1]
|
||||
doAutotools = fullDepEntry ("
|
||||
mkdir -p config
|
||||
libtoolize --copy --force
|
||||
aclocal --force
|
||||
#Some packages do not need this
|
||||
autoheader || true;
|
||||
automake --add-missing --copy
|
||||
autoconf
|
||||
")["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
# changing this ? see [1]
|
||||
doAutogen = fullDepEntry (''
|
||||
./autogen.sh
|
||||
'')["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
# changing this ? see [1]
|
||||
doMake = fullDepEntry ("
|
||||
make ${toString makeFlags}
|
||||
") ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
doUnpack = toSrcDir (toString src);
|
||||
|
||||
# changing this ? see [1]
|
||||
installPythonPackage = fullDepEntry ("
|
||||
python setup.py install --prefix=\"\$prefix\"
|
||||
") ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
doPythonConfigure = fullDepEntry (''
|
||||
pythonVersion=$(toPythonPath "$prefix")
|
||||
pythonVersion=''${pythonVersion#*/lib/python}
|
||||
pythonVersion=''${pythonVersion%%/site-packages}
|
||||
${if args ? extraPythonConfigureCommand then
|
||||
args.extraPythonConfigureCommand
|
||||
else ""}
|
||||
python configure.py -b "$prefix/bin" -d "$(toPythonPath "$prefix")" -v "$prefix/share/sip" ${toString configureFlags}
|
||||
'') ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
# changing this ? see [1]
|
||||
doMakeInstall = fullDepEntry ("
|
||||
make ${toString (attrByPath ["makeFlags"] "" args)} "+
|
||||
"${toString (attrByPath ["installFlags"] "" args)} install") ["doMake"];
|
||||
|
||||
# changing this ? see [1]
|
||||
doForceShare = fullDepEntry ("
|
||||
mkdir -p \"\$prefix/share\"
|
||||
for d in ${toString forceShare}; do
|
||||
if [ -d \"\$prefix/\$d\" -a ! -d \"\$prefix/share/\$d\" ]; then
|
||||
mv -v \"\$prefix/\$d\" \"\$prefix/share\"
|
||||
ln -sv share/\$d \"\$prefix\"
|
||||
fi;
|
||||
done;
|
||||
") ["minInit" "defEnsureDir"];
|
||||
|
||||
doForceCopy = fullDepEntry (''
|
||||
name="$(basename $out)"
|
||||
name="''${name#*-}"
|
||||
mkdir -p "$prefix/share/$name"
|
||||
for f in ${toString forceCopy}; do
|
||||
cp -r "$f" "$prefix/share/$name/$f" || true
|
||||
done;
|
||||
'') ["minInit" "defEnsureDir"];
|
||||
|
||||
doDump = n: noDepEntry "echo Dump number ${n}; set";
|
||||
|
||||
saveEnv = noDepEntry ''export > "$TMP/env-vars" || true'';
|
||||
|
||||
doDumpBuildInputs = noDepEntry (''
|
||||
echo "${toString realBuildInputs}"
|
||||
'');
|
||||
|
||||
patchFlags = if args ? patchFlags then args.patchFlags else "-p1";
|
||||
|
||||
patches = attrByPath ["patches"] [] args;
|
||||
|
||||
toPatchCommand = s: "cat ${s} | patch ${toString patchFlags}";
|
||||
|
||||
doPatch = fullDepEntry (concatStringsSep ";"
|
||||
(map toPatchCommand patches)
|
||||
) ["minInit" "doUnpack"];
|
||||
|
||||
envAdderInner = s: x: if x==null then s else y:
|
||||
a: envAdderInner (s+"echo export ${x}='\"'\"\$${x}:${y}\";'\"'\n") a;
|
||||
|
||||
envAdder = envAdderInner "";
|
||||
|
||||
envAdderList = l: if l==[] then "" else
|
||||
"echo export ${head l}='\"'\"\\\$${head l}:${head (tail l)}\"'\"';\n" +
|
||||
envAdderList (tail (tail l));
|
||||
|
||||
# changing this ? see [1]
|
||||
wrapEnv = cmd: env: "
|
||||
mv \"${cmd}\" \"${cmd}-orig\";
|
||||
touch \"${cmd}\";
|
||||
chmod a+rx \"${cmd}\";
|
||||
(${envAdderList env}
|
||||
echo '\"'\"${cmd}-orig\"'\"' '\"'\\\$@'\"' \n) > \"${cmd}\"";
|
||||
|
||||
doWrap = cmd: fullDepEntry (wrapEnv cmd (attrByPath ["wrappedEnv"] [] args)) ["minInit"];
|
||||
|
||||
makeManyWrappers = wildcard : wrapperFlags : fullDepEntry (''
|
||||
for i in ${wildcard}; do
|
||||
wrapProgram "$i" ${wrapperFlags}
|
||||
done
|
||||
'') ["minInit" "addInputs" "defEnsureDir"];
|
||||
|
||||
wrapBinContentsPython = (makeManyWrappers
|
||||
''$out/bin/*''
|
||||
pythonWrapperArguments
|
||||
);
|
||||
|
||||
pythonWrapperArguments =
|
||||
(''--prefix PYTHONPATH : $(toPythonPath $out)'' +
|
||||
''''${PYTHONPATH:+ --prefix PYTHONPATH : $PYTHONPATH}'');
|
||||
|
||||
preservePathWrapperArguments = ''''${PATH:+ --prefix PATH : $PATH }'';
|
||||
|
||||
doPropagate = fullDepEntry ("
|
||||
mkdir -p \$out/nix-support
|
||||
echo '${toString (attrByPath ["propagatedBuildInputs"] [] args)}' >\$out/nix-support/propagated-build-inputs
|
||||
") ["minInit" "defEnsureDir"];
|
||||
|
||||
cmakeFlags = attrByPath ["cmakeFlags"] [] args;
|
||||
|
||||
cmakeRPathFlag = if attrByPath ["cmakeSkipRpath "] true args then " -DCMAKE_SKIP_BUILD_RPATH=ON " else "";
|
||||
|
||||
cmakeBuildDir = attrByPath ["cmakeBuildDir"] "build" args;
|
||||
|
||||
doCmake = fullDepEntry (''
|
||||
mkdir ${cmakeBuildDir}
|
||||
cd ${cmakeBuildDir}
|
||||
cmake -D CMAKE_INSTALL_PREFIX="$out" ${cmakeRPathFlag}${toString cmakeFlags} ..
|
||||
'') ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
doScons = fullDepEntry (''
|
||||
mkdir -p $out
|
||||
${if (attrByPath ["sconsCleanEnv"] false args)
|
||||
then ""
|
||||
else ''
|
||||
sed -e '1iimport os' -i SConstruct
|
||||
sed -e 's/env *= *Environment *.*/&; env['"'"'ENV'"'"']=os.environ;/' -i SConstruct
|
||||
''
|
||||
}
|
||||
scons ${toString (attrByPath ["sconsFlags"] [] args)} PREFIX=$out
|
||||
scons ${toString (attrByPath ["sconsFlags"] [] args)} PREFIX=$out install
|
||||
'') ["minInit" "doUnpack" "addInputs" "defEnsureDir"];
|
||||
|
||||
/*debug = x:(trace x x);
|
||||
debugX = x:(trace (toXML x) x);*/
|
||||
|
||||
makeNest = x: if x == defNest.text then x else "startNest\n" + x + "\nstopNest\n";
|
||||
textClosure = a: steps: textClosureMap makeNest a (["defNest"] ++ steps);
|
||||
|
||||
inherit noDepEntry fullDepEntry packEntry;
|
||||
|
||||
defList = attrByPath ["defList"] [] args;
|
||||
getVal = getValue args defList;
|
||||
check = checkFlag args;
|
||||
reqsList = attrByPath ["reqsList"] [] args;
|
||||
buildInputsNames = filter (x: null != getVal x)
|
||||
(uniqList {inputList =
|
||||
(concatLists (map
|
||||
(x: if x==[] then [] else builtins.tail x)
|
||||
reqsList));});
|
||||
configFlags = attrByPath ["configFlags"] [] args;
|
||||
buildFlags = attrByPath ["buildFlags"] [] args;
|
||||
nameSuffixes = attrByPath ["nameSuffixes"] [] args;
|
||||
autoBuildInputs = assert (checkReqs args defList reqsList);
|
||||
filter (x: x!=null) (map getVal buildInputsNames);
|
||||
autoConfigureFlags = condConcat "" configFlags check;
|
||||
autoMakeFlags = condConcat "" buildFlags check;
|
||||
useConfig = attrByPath ["useConfig"] false args;
|
||||
realBuildInputs =
|
||||
lib.closePropagation ((if useConfig then
|
||||
autoBuildInputs else
|
||||
attrByPath ["buildInputs"] [] args)++
|
||||
(attrByPath ["propagatedBuildInputs"] [] args));
|
||||
configureFlags = if useConfig then autoConfigureFlags else
|
||||
attrByPath ["configureFlags"] "" args;
|
||||
makeFlags = if useConfig then autoMakeFlags else attrByPath ["makeFlags"] "" args;
|
||||
|
||||
inherit lib;
|
||||
|
||||
surroundWithCommands = x : before : after : {deps=x.deps; text = before + "\n" +
|
||||
x.text + "\n" + after ;};
|
||||
|
||||
createDirs = fullDepEntry (concatStringsSep ";"
|
||||
(map (x: "mkdir -p ${x}") (attrByPath ["neededDirs"] [] args))
|
||||
) ["minInit" "defEnsureDir"];
|
||||
|
||||
copyExtraDoc = fullDepEntry (''
|
||||
name="$(basename $out)"
|
||||
name="''${name#*-}"
|
||||
mkdir -p "$out/share/doc/$name"
|
||||
'' + (concatStringsSep ";"
|
||||
(map
|
||||
(x: ''cp "${x}" "$out/share/doc/$name" || true;'')
|
||||
(attrByPath ["extraDoc"] [] args)))) ["minInit" "defEnsureDir" "doUnpack"];
|
||||
|
||||
realPhaseNames =
|
||||
(optional ([] != attrByPath ["neededDirs"] [] args) "createDirs")
|
||||
++
|
||||
(attrByPath ["phaseNames"] [] args)
|
||||
++
|
||||
["doForceShare" "doPropagate" "doForceCopy"]
|
||||
++
|
||||
(optional ([] != attrByPath ["extraDoc"] [] args) "copyExtraDoc")
|
||||
++
|
||||
(optional (attrByPath ["doCheck"] false args) "doMakeCheck")
|
||||
++
|
||||
(optional (attrByPath ["alwaysFail"] false args) "doFail")
|
||||
;
|
||||
|
||||
doFail = noDepEntry "
|
||||
echo 'Failing to keep builddir (and to invalidate result).'
|
||||
a() { return 127; } ; a ;
|
||||
";
|
||||
|
||||
doMakeCheck = fullDepEntry (''
|
||||
make check
|
||||
'') ["minInit"];
|
||||
|
||||
extraDerivationAttrs = lib.attrByPath ["extraDerivationAttrs"] {} args;
|
||||
|
||||
# for overrides..
|
||||
builderDefsArgs = args;
|
||||
|
||||
innerBuilderDefsPackage = bd: args: (
|
||||
let localDefs = bd.passthru.function args; in
|
||||
|
||||
stdenv.mkDerivation ((rec {
|
||||
inherit (localDefs) name;
|
||||
buildCommand = textClosure localDefs localDefs.realPhaseNames;
|
||||
meta = localDefs.meta;
|
||||
passthru = localDefs.passthru // {inherit (localDefs) src; };
|
||||
}) // (if localDefs ? propagatedBuildInputs then {
|
||||
inherit (localDefs) propagatedBuildInputs;
|
||||
} else {}) // extraDerivationAttrs)
|
||||
);
|
||||
|
||||
builderDefsPackage = bd: func:
|
||||
if builtins.isFunction func then
|
||||
(foldArgs
|
||||
(x: y: ((func (bd // x // y)) // y))
|
||||
(innerBuilderDefsPackage bd)
|
||||
{})
|
||||
else
|
||||
(builderDefsPackage bd (import (toString func)))
|
||||
;
|
||||
|
||||
generateFontsFromSFD = fullDepEntry (''
|
||||
for i in *.sfd; do
|
||||
echo $i;
|
||||
fontforge -c \
|
||||
'Open($1);
|
||||
${optionalString (args ? extraFontForgeCommands) args.extraFontForgeCommands
|
||||
}Reencode("unicode");
|
||||
${optionalString (attrByPath ["createTTF"] true args) ''Generate($1:r + ".ttf");''}
|
||||
${optionalString (attrByPath ["createOTF"] true args) ''Generate($1:r + ".otf");''}
|
||||
Reencode("TeX-Base-Encoding");
|
||||
${optionalString (attrByPath ["createAFM"] true args) ''Generate($1:r + ".afm");''}
|
||||
${optionalString (attrByPath ["createPFM"] true args) ''Generate($1:r + ".pfm");''}
|
||||
${optionalString (attrByPath ["createPFB"] true args) ''Generate($1:r + ".pfb");''}
|
||||
${optionalString (attrByPath ["createMAP"] true args) ''Generate($1:r + ".map");''}
|
||||
${optionalString (attrByPath ["createENC"] true args) ''Generate($1:r + ".enc");''}
|
||||
' $i;
|
||||
done
|
||||
'') ["minInit" "addInputs" "doUnpack"];
|
||||
|
||||
installFonts =
|
||||
let retrievedName = (if args ? name then args.name else ""); in
|
||||
fullDepEntry (''
|
||||
mkdir -p $out/share/fonts/truetype/public/${retrievedName}
|
||||
mkdir -p $out/share/fonts/opentype/public/${retrievedName}
|
||||
mkdir -p $out/share/fonts/type1/public/${retrievedName}
|
||||
mkdir -p $out/share/texmf/fonts/enc/${retrievedName}
|
||||
mkdir -p $out/share/texmf/fonts/map/${retrievedName}
|
||||
|
||||
find -name '*.ttf' -exec cp {} $out/share/fonts/truetype/public/${retrievedName} \;
|
||||
find -name '*.otf' -exec cp {} $out/share/fonts/opentype/public/${retrievedName} \;
|
||||
find -name '*.pfm' -o -name '*.afm' -o -name '*.pfb' -exec cp {} $out/share/fonts/type1/public/${retrievedName} \;
|
||||
find -name '*.enc' -exec cp {} $out/share/texmf/fonts/enc/${retrievedName} \;
|
||||
find -name '*.map' -exec cp {} $out/share/texmf/fonts/map/${retrievedName} \;
|
||||
'') ["minInit" "defEnsureDir"];
|
||||
|
||||
simplyShare = shareName: fullDepEntry (''
|
||||
mkdir -p $out/share
|
||||
cp -r . $out/share/${shareName}
|
||||
'') ["doUnpack" "defEnsureDir"];
|
||||
|
||||
doPatchShebangs = dir: fullDepEntry (''
|
||||
patchShebangFun() {
|
||||
# Rewrite all script interpreter file names (`#! /path') under the
|
||||
# specified directory tree to paths found in $PATH. E.g.,
|
||||
# /bin/sh will be rewritten to /nix/store/<hash>-some-bash/bin/sh.
|
||||
# Interpreters that are already in the store are left untouched.
|
||||
echo "patching script interpreter paths"
|
||||
local f
|
||||
for f in $(find "${dir}" -xtype f -perm -0100); do
|
||||
local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f")
|
||||
if test -n "$oldPath" -a "''${oldPath:0:''${#NIX_STORE}}" != "$NIX_STORE"; then
|
||||
local newPath=$(type -P $(basename $oldPath) || true)
|
||||
if test -n "$newPath" -a "$newPath" != "$oldPath"; then
|
||||
echo "$f: interpreter changed from $oldPath to $newPath"
|
||||
sed -i "1 s,$oldPath,$newPath," "$f"
|
||||
else
|
||||
echo "$f: not changing interpreter from $oldPath"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
}
|
||||
patchShebangFun;
|
||||
'') ["minInit"];
|
||||
|
||||
createPythonInstallationTarget = fullDepEntry (''
|
||||
mkdir -p $(toPythonPath $out)
|
||||
export PYTHONPATH=$PYTHONPATH''${PYTHONPATH:+:}$(toPythonPath $out)
|
||||
'') ["minInit" "addInputs" "defEnsureDir"];
|
||||
|
||||
fetchUrlFromSrcInfo = srcInfo: fetchurl ({
|
||||
url = srcInfo.url;
|
||||
sha256 = srcInfo.hash;
|
||||
} //
|
||||
(if srcInfo ? downloadName then {name = srcInfo.downloadName;} else {}));
|
||||
|
||||
fetchGitFromSrcInfo = srcInfo: fetchgit {
|
||||
url = srcInfo.url;
|
||||
rev = srcInfo.rev;
|
||||
sha256 = srcInfo.hash;
|
||||
};
|
||||
}) // args
|
||||
|
||||
# [1]: rewrite using '' instead of " so that indentation gets stripped. It's
|
||||
# only about some spaces but in the end they will sum up
|
||||
48
pkgs/build-support/builder-defs/template-auto-callable.nix
Normal file
48
pkgs/build-support/builder-defs/template-auto-callable.nix
Normal file
@@ -0,0 +1,48 @@
|
||||
x@{builderDefsPackage
|
||||
(abort "Specify dependencies")
|
||||
, ...}:
|
||||
builderDefsPackage
|
||||
(a :
|
||||
let
|
||||
helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
|
||||
[(abort "Specify helper argument names")];
|
||||
|
||||
buildInputs = map (n: builtins.getAttr n x)
|
||||
(builtins.attrNames (builtins.removeAttrs x helperArgNames));
|
||||
sourceInfo = rec {
|
||||
baseName="${abort ''Specify package name''}";
|
||||
version="";
|
||||
name="${baseName}-${version}";
|
||||
url="${name}";
|
||||
hash="";
|
||||
};
|
||||
in
|
||||
rec {
|
||||
src = a.fetchurl {
|
||||
url = sourceInfo.url;
|
||||
sha256 = sourceInfo.hash;
|
||||
};
|
||||
|
||||
inherit (sourceInfo) name version;
|
||||
inherit buildInputs;
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
phaseNames = ["doConfigure" "doMakeInstall"];
|
||||
|
||||
meta = {
|
||||
description = "${abort ''Specify description''}";
|
||||
maintainers = with a.lib.maintainers;
|
||||
[
|
||||
(abort "Specify maintainers")
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
(abort "Specify platforms");
|
||||
license = a.lib.licenses.(abort "Specify license");
|
||||
};
|
||||
passthru = {
|
||||
updateInfo = {
|
||||
downloadPage = "${abort ''Specify download page''}";
|
||||
};
|
||||
};
|
||||
}) x
|
||||
|
||||
26
pkgs/build-support/builder-defs/template-bdp-uud.nix
Normal file
26
pkgs/build-support/builder-defs/template-bdp-uud.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
a :
|
||||
let
|
||||
s = import ./src-for-default.nix;
|
||||
buildInputs = with a; [
|
||||
|
||||
];
|
||||
in
|
||||
rec {
|
||||
src = a.fetchUrlFromSrcInfo s;
|
||||
|
||||
inherit (s) name;
|
||||
inherit buildInputs;
|
||||
configureFlags = [];
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
phaseNames = ["doConfigure" "doMakeInstall"];
|
||||
|
||||
meta = {
|
||||
description = "${abort "Specify description"}";
|
||||
maintainers = [
|
||||
a.lib.maintainers.(abort "Specify maintainer")
|
||||
];
|
||||
platforms = with a.lib.platforms;
|
||||
(abort "Specify supported platforms");
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
args : with args; let localDefs = builderDefs (args // rec {
|
||||
src = /* put a fetchurl here */
|
||||
(abort "Specify source");
|
||||
useConfig = true;
|
||||
reqsList = [
|
||||
["true" ]
|
||||
["false"]
|
||||
];
|
||||
/* List consisiting of an even number of strings; "key" "value" */
|
||||
configFlags = [
|
||||
];
|
||||
}) args null; /* null is a terminator for sumArgs */
|
||||
in with localDefs;
|
||||
stdenv.mkDerivation rec {
|
||||
name = "${(abort "Specify name")}"+version;
|
||||
builder = writeScript (name + "-builder")
|
||||
(textClosure localDefs [(abort "Check phases") doMakeInstall doForceShare doPropagate]);
|
||||
meta = {
|
||||
description = "${(abort "Specify description")}";
|
||||
inherit src;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
a :
|
||||
let
|
||||
fetchurl = a.fetchurl;
|
||||
|
||||
version = a.lib.attrByPath ["version"] "" a;
|
||||
buildInputs = with a; [
|
||||
|
||||
];
|
||||
in
|
||||
rec {
|
||||
src = /* Here a fetchurl expression goes */;
|
||||
|
||||
inherit buildInputs;
|
||||
configureFlags = [];
|
||||
|
||||
/* doConfigure should be removed if not needed */
|
||||
phaseNames = ["doConfigure" "doMakeInstall"];
|
||||
|
||||
name = "${abort "Specify name"}-" + version;
|
||||
meta = {
|
||||
description = "${abort "Specify description"}";
|
||||
maintainers = [
|
||||
a.lib.maintainers.(abort "Specify maintainer")
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, overrideDerivation
|
||||
|
||||
# required for gcc plugins
|
||||
@@ -25,7 +24,7 @@ overrideDerivation (kernel.override {
|
||||
inherit extraConfig;
|
||||
ignoreConfigErrors = true;
|
||||
}) (attrs: {
|
||||
nativeBuildInputs = (lib.chooseDevOutputs [ gmp libmpc mpfr ]) ++ (attrs.nativeBuildInputs or []);
|
||||
nativeBuildInputs = [ gmp libmpc mpfr ] ++ (attrs.nativeBuildInputs or []);
|
||||
preConfigure = ''
|
||||
echo ${localver} >localversion-grsec
|
||||
${attrs.preConfigure or ""}
|
||||
|
||||
@@ -160,7 +160,8 @@ _multioutDevs() {
|
||||
done
|
||||
}
|
||||
|
||||
# Make the "dev" propagate other outputs needed for development.
|
||||
# Make the first output (typically "dev") propagate other outputs needed for development.
|
||||
# Take the first, because that's what one gets when putting the package into buildInputs.
|
||||
# Note: with current cross-building setup, all packages are "native" if not cross-building;
|
||||
# however, if cross-building, the outputs are non-native. We have to choose the right file.
|
||||
_multioutPropagateDev() {
|
||||
@@ -170,17 +171,13 @@ _multioutPropagateDev() {
|
||||
for outputFirst in $outputs; do
|
||||
break
|
||||
done
|
||||
local propagaterOutput="$outputDev"
|
||||
if [ -z "$propagaterOutput" ]; then
|
||||
propagaterOutput="$outputFirst"
|
||||
fi
|
||||
|
||||
# Default value: propagate binaries, includes and libraries
|
||||
if [ -z "${propagatedBuildOutputs+1}" ]; then
|
||||
local po_dirty="$outputBin $outputInclude $outputLib"
|
||||
set +o pipefail
|
||||
propagatedBuildOutputs=`echo "$po_dirty" \
|
||||
| tr -s ' ' '\n' | grep -v -F "$propagaterOutput" \
|
||||
| tr -s ' ' '\n' | grep -v -F "$outputFirst" \
|
||||
| sort -u | tr '\n' ' ' `
|
||||
set -o pipefail
|
||||
fi
|
||||
@@ -190,6 +187,7 @@ _multioutPropagateDev() {
|
||||
return
|
||||
fi
|
||||
|
||||
mkdir -p "${!outputFirst}"/nix-support
|
||||
local propagatedBuildInputsFile
|
||||
if [ -z "$crossConfig" ]; then
|
||||
propagatedBuildInputsFile=propagated-native-build-inputs
|
||||
@@ -197,9 +195,8 @@ _multioutPropagateDev() {
|
||||
propagatedBuildInputsFile=propagated-build-inputs
|
||||
fi
|
||||
|
||||
mkdir -p "${!propagaterOutput}"/nix-support
|
||||
for output in $propagatedBuildOutputs; do
|
||||
echo -n " ${!output}" >> "${!propagaterOutput}"/nix-support/$propagatedBuildInputsFile
|
||||
echo -n " ${!output}" >> "${!outputFirst}"/nix-support/$propagatedBuildInputsFile
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
21
pkgs/build-support/upstream-updater/attrset-to-dir.sh
Executable file
21
pkgs/build-support/upstream-updater/attrset-to-dir.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#! /bin/sh
|
||||
|
||||
[ -n "$2" ] && NIXPKGS_ALL="$2";
|
||||
[ -z "$NIXPKGS_ALL" ] && [ -d "/etc/nixos/nixpkgs" ] && NIXPKGS_ALL="/etc/nixos/nixpkgs";
|
||||
[ -z "$NIXPKGS_ALL" ] && [ -d "$HOME/nixpkgs" ] && NIXPKGS_ALL="$HOME/nixpkgs";
|
||||
[ -z "$NIXPKGS_ALL" ] && {
|
||||
echo "Cannot find Nixpkgs source. Please specify it via NIXPKGS_ALL or second command line argument"
|
||||
exit 1
|
||||
};
|
||||
|
||||
derivation="$(nix-instantiate --show-trace - << EOF
|
||||
let
|
||||
pkgs = import "${NIXPKGS_ALL}" {};
|
||||
attrSet = import "${1}";
|
||||
in
|
||||
pkgs.attrSetToDir attrSet
|
||||
EOF
|
||||
)"
|
||||
echo "Derivation is: $derivation" >&2
|
||||
output="$(nix-store -r "$derivation")"
|
||||
echo "$output/attributes"
|
||||
@@ -9,7 +9,12 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1vimj3va16plxmv46rw6nzw4m9l11hb7r1d217y1bjpd5q8nw8qz";
|
||||
};
|
||||
|
||||
# keep developer docs separately (man2 and man3)
|
||||
outputs = [ "out" "docdev" ];
|
||||
makeFlags = [ "MANDIR=$(out)/share/man" ];
|
||||
postFixup = ''
|
||||
moveToOutput share/man/man2 "$docdev"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Linux development manual pages";
|
||||
|
||||
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://kldp.net/baekmuk/release/865-${name}.tar.gz";
|
||||
sha256 = "10hqspl70h141ywz1smlzdanlx9vwgsp1qrcjk68fn2xnpzpvaq8";
|
||||
sha256 = "08ab7dffb55d5887cc942ce370f5e33b756a55fbb4eaf0b90f244070e8d51882";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
@@ -13,8 +13,6 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1xknlg2h287dx34v2n5r33bpcl4biqf0cv7nak657rjki7s0k4bk";
|
||||
};
|
||||
|
||||
outputs = [ "out" "minimal" ];
|
||||
|
||||
buildFlags = "full-ttf";
|
||||
|
||||
preBuild = "patchShebangs scripts";
|
||||
@@ -24,10 +22,6 @@ stdenv.mkDerivation rec {
|
||||
for i in $(find build -name '*.ttf'); do
|
||||
cp $i $out/share/fonts/truetype;
|
||||
done;
|
||||
'' + ''
|
||||
local fname=share/fonts/truetype/DejaVuSans.ttf
|
||||
moveToOutput "$fname" "$minimal"
|
||||
ln -s "$minimal/$fname" "$out/$fname"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -19,18 +19,11 @@ stdenv.mkDerivation rec {
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
./install.sh ${withFont}
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = ''
|
||||
Nerd Fonts is a project that attempts to patch as many developer targeted
|
||||
and/or used fonts as possible. The patch is to specifically add a high
|
||||
number of additional glyphs from popular 'iconic fonts' such as Font
|
||||
Awesome, Devicons, Octicons, and others.
|
||||
'';
|
||||
description = "Nerd Fonts is a project that attempts to patch as many developer targeted and/or used fonts as possible. The patch is to specifically add a high number of additional glyphs from popular 'iconic fonts' such as Font Awesome, Devicons, Octicons, and others.";
|
||||
homepage = "https://github.com/ryanoasis/nerd-fonts";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ garbas ];
|
||||
platforms = with platforms; unix;
|
||||
hydraPlatforms = []; # 'Output limit exceeded' on Hydra
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{ stdenv, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "oxygenfonts-20160824";
|
||||
name = "oxygenfonts-20160825";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vernnobile";
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
{ stdenv, fetchurl, unzip }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "roboto-${version}";
|
||||
version = "2.134";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/google/roboto/releases/download/v${version}/roboto-unhinted.zip";
|
||||
sha256 = "1l033xc2n4754gwakxshh5235cnrnzy7q6zsp5zghn8ib0gdp5rb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/fonts/truetype
|
||||
cp -a * $out/share/fonts/truetype/
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = https://github.com/google/roboto;
|
||||
description = "The Roboto family of fonts";
|
||||
longDescription = ''
|
||||
Google’s signature family of fonts, the default font on Android and
|
||||
Chrome OS, and the recommended font for Google’s visual language,
|
||||
Material Design.
|
||||
'';
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
maintainers = [ stdenv.lib.maintainers.romildo ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
|
||||
sha256 = "09ch709cb9fniwc4221xgkq0jf0x0lxs814sqig8p2dcll0llvzk";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" "doc" ];
|
||||
outputs = [ "dev" "out" "doc" ];
|
||||
|
||||
buildInputs = [ ORBit2 dbus_libs dbus_glib libxml2 ]
|
||||
# polkit requires pam, which requires shadow.h, which is not available on
|
||||
|
||||
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
propagatedBuildInputs = [ glib libIDL ] ++ libintlOrEmpty;
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [ "dev" "out" ];
|
||||
|
||||
preBuild = ''
|
||||
sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile
|
||||
|
||||
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1ajg8jb8k3snxc7rrgczlh8daxkjidmcv3zr9w809sq4p2sn9pk2";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [ "dev" "out" ];
|
||||
|
||||
buildInputs =
|
||||
[ pkgconfig libxml2 bzip2 openssl samba dbus_glib fam cdparanoia
|
||||
|
||||
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [ "dev" "out" ];
|
||||
|
||||
preConfigure = # still using stuff deprecated in new glib versions
|
||||
"sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in";
|
||||
|
||||
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
||||
sha256 = "1v2x2s04jry4gpabws92i0wq2ghd47yr5n9nhgnkd7c38xv1wdk4";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [ "dev" "out" ];
|
||||
|
||||
buildInputs = [ pkgconfig gtk python gettext ];
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [ "dev" "out" ];
|
||||
|
||||
patches = [ ./new-glib.patch ];
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0h6xvswbqspdifnyh5pm2pqq55yp3kn6yrswq7ay9z49hkh7i6w5";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [ "dev" "out" ];
|
||||
|
||||
buildInputs = [ libglade ];
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
|
||||
configureFlags = [ "--disable-spamassassin" "--disable-pst-import" "--disable-autoar"
|
||||
"--disable-libcryptui" ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0";
|
||||
NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss}/include/nss -I${glib.dev}/include/gio-unix-2.0";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
|
||||
gdk_pixbuf gnome3.defaultIconTheme librsvg which gnome_common
|
||||
gcr avahi gnome3.gsettings_desktop_schemas gnome3.dconf ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss.dev}/include/nss -I${glib.dev}/include/gio-unix-2.0";
|
||||
NIX_CFLAGS_COMPILE = "-I${nspr.dev}/include/nspr -I${nss}/include/nss -I${glib.dev}/include/gio-unix-2.0";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags = "--disable-fatal-warnings";
|
||||
|
||||
NIX_CFLAGS_COMPILE = ["-I${nspr.dev}/include/nspr" "-I${nss.dev}/include/nss"
|
||||
NIX_CFLAGS_COMPILE = ["-I${nspr.dev}/include/nspr" "-I${nss}/include/nss"
|
||||
"-I${dbus_glib.dev}/include/dbus-1.0" "-I${dbus_libs.dev}/include/dbus-1.0"];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0mm0wldbi40am5qn0nv7psisbg01k42rwzjxl3gv11l5jj554aqk";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [ "dev" "out" ];
|
||||
outputBin = "dev";
|
||||
|
||||
configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
|
||||
|
||||
@@ -16,7 +16,7 @@ kde {
|
||||
|
||||
nativeBuildInputs = [ shared_mime_info ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include";
|
||||
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR -I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include";
|
||||
|
||||
passthru.propagatedUserEnvPackages = [ virtuoso ];
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user