Merge remote-tracking branch 'central/master' into viric_clean
This commit is contained in:
commit
f54b387b63
10
.github/CODEOWNERS
vendored
10
.github/CODEOWNERS
vendored
@ -52,11 +52,11 @@
|
|||||||
/doc/languages-frameworks/python.md @FRidh
|
/doc/languages-frameworks/python.md @FRidh
|
||||||
|
|
||||||
# Haskell
|
# Haskell
|
||||||
/pkgs/development/compilers/ghc @peti @ryantm
|
/pkgs/development/compilers/ghc @peti @ryantm @basvandijk
|
||||||
/pkgs/development/haskell-modules @peti @ryantm
|
/pkgs/development/haskell-modules @peti @ryantm @basvandijk
|
||||||
/pkgs/development/haskell-modules/default.nix @peti @ryantm
|
/pkgs/development/haskell-modules/default.nix @peti @ryantm @basvandijk
|
||||||
/pkgs/development/haskell-modules/generic-builder.nix @peti @ryantm
|
/pkgs/development/haskell-modules/generic-builder.nix @peti @ryantm @basvandijk
|
||||||
/pkgs/development/haskell-modules/hoogle.nix @peti @ryantm
|
/pkgs/development/haskell-modules/hoogle.nix @peti @ryantm @basvandijk
|
||||||
|
|
||||||
# R
|
# R
|
||||||
/pkgs/applications/science/math/R @peti
|
/pkgs/applications/science/math/R @peti
|
||||||
|
|||||||
@ -649,6 +649,8 @@ merge:"diff3"
|
|||||||
imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
|
imageDigest = "sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b"; <co xml:id='ex-dockerTools-pullImage-2' />
|
||||||
finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-3' />
|
finalImageTag = "1.11"; <co xml:id='ex-dockerTools-pullImage-3' />
|
||||||
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' />
|
sha256 = "0mqjy3zq2v6rrhizgb9nvhczl87lcfphq9601wcprdika2jz7qh8"; <co xml:id='ex-dockerTools-pullImage-4' />
|
||||||
|
os = "linux"; <co xml:id='ex-dockerTools-pullImage-5' />
|
||||||
|
arch = "x86_64"; <co xml:id='ex-dockerTools-pullImage-6' />
|
||||||
}
|
}
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</example>
|
</example>
|
||||||
@ -664,9 +666,15 @@ merge:"diff3"
|
|||||||
<callout arearefs='ex-dockerTools-pullImage-2'>
|
<callout arearefs='ex-dockerTools-pullImage-2'>
|
||||||
<para>
|
<para>
|
||||||
<varname>imageDigest</varname> specifies the digest of the image to be
|
<varname>imageDigest</varname> specifies the digest of the image to be
|
||||||
downloaded. Skopeo can be used to get the digest of an image
|
downloaded. Skopeo can be used to get the digest of an image, with its
|
||||||
|
<varname>inspect</varname> subcommand. Since a given <varname>imageName</varname>
|
||||||
|
may transparently refer to a manifest list of images which support
|
||||||
|
multiple architectures and/or operating systems, supply the `--override-os`
|
||||||
|
and `--override-arch` arguments to specify exactly which image you
|
||||||
|
want. By default it will match the OS and architecture of the host the
|
||||||
|
command is run on.
|
||||||
<programlisting>
|
<programlisting>
|
||||||
$ skopeo inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'
|
$ nix-shell --packages skopeo jq --command "skopeo --override-os linux --override-arch x86_64 inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'"
|
||||||
sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
|
sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
|
||||||
</programlisting>
|
</programlisting>
|
||||||
This argument is required.
|
This argument is required.
|
||||||
@ -686,6 +694,18 @@ merge:"diff3"
|
|||||||
This argument is required.
|
This argument is required.
|
||||||
</para>
|
</para>
|
||||||
</callout>
|
</callout>
|
||||||
|
<callout arearefs='ex-dockerTools-pullImage-5'>
|
||||||
|
<para>
|
||||||
|
<varname>os</varname>, if specified, is the operating system of the fetched image.
|
||||||
|
By default it's <literal>linux</literal>.
|
||||||
|
</para>
|
||||||
|
</callout>
|
||||||
|
<callout arearefs='ex-dockerTools-pullImage-6'>
|
||||||
|
<para>
|
||||||
|
<varname>arch</varname>, if specified, is the cpu architecture of the fetched image.
|
||||||
|
By default it's <literal>x86_64</literal>.
|
||||||
|
</para>
|
||||||
|
</callout>
|
||||||
</calloutlist>
|
</calloutlist>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|||||||
@ -424,7 +424,7 @@ available.
|
|||||||
|
|
||||||
At some point you'll likely have multiple packages which you would
|
At some point you'll likely have multiple packages which you would
|
||||||
like to be able to use in different projects. In order to minimise unnecessary
|
like to be able to use in different projects. In order to minimise unnecessary
|
||||||
duplication we now look at how you can maintain yourself a repository with your
|
duplication we now look at how you can maintain a repository with your
|
||||||
own packages. The important functions here are `import` and `callPackage`.
|
own packages. The important functions here are `import` and `callPackage`.
|
||||||
|
|
||||||
### Including a derivation using `callPackage`
|
### Including a derivation using `callPackage`
|
||||||
@ -647,7 +647,7 @@ in python.withPackages(ps: [ps.blaze])).env
|
|||||||
|
|
||||||
The `buildPythonApplication` function is practically the same as `buildPythonPackage`.
|
The `buildPythonApplication` function is practically the same as `buildPythonPackage`.
|
||||||
The difference is that `buildPythonPackage` by default prefixes the names of the packages with the version of the interpreter.
|
The difference is that `buildPythonPackage` by default prefixes the names of the packages with the version of the interpreter.
|
||||||
Because with an application we're not interested in multiple version the prefix is dropped.
|
Because this is irrelevant for applications, the prefix is omitted.
|
||||||
|
|
||||||
#### `toPythonApplication` function
|
#### `toPythonApplication` function
|
||||||
|
|
||||||
@ -1006,14 +1006,14 @@ folder and not downloaded again.
|
|||||||
If you need to change a package's attribute(s) from `configuration.nix` you could do:
|
If you need to change a package's attribute(s) from `configuration.nix` you could do:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
nixpkgs.config.packageOverrides = superP: {
|
nixpkgs.config.packageOverrides = super: {
|
||||||
pythonPackages = superP.pythonPackages.override {
|
python = super.python.override {
|
||||||
overrides = self: super: {
|
packageOverrides = python-self: python-super: {
|
||||||
bepasty-server = super.bepasty-server.overrideAttrs ( oldAttrs: {
|
zerobin = python-super.zerobin.overrideAttrs (oldAttrs: {
|
||||||
src = pkgs.fetchgit {
|
src = super.fetchgit {
|
||||||
url = "https://github.com/bepasty/bepasty-server";
|
url = "https://github.com/sametmax/0bin";
|
||||||
sha256 = "9ziqshmsf0rjvdhhca55sm0x8jz76fsf2q4rwh4m6lpcf8wr0nps";
|
rev = "a344dbb18fe7a855d0742b9a1cede7ce423b34ec";
|
||||||
rev = "e2516e8cf4f2afb5185337073607eb9e84a61d2d";
|
sha256 = "16d769kmnrpbdr0ph0whyf4yff5df6zi4kmwx7sz1d3r6c8p6xji";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -1021,27 +1021,39 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul
|
|||||||
};
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
If you are using the `bepasty-server` package somewhere, for example in `systemPackages` or indirectly from `services.bepasty`, then a `nixos-rebuild switch` will rebuild the system but with the `bepasty-server` package using a different `src` attribute. This way one can modify `python` based software/libraries easily. Using `self` and `super` one can also alter dependencies (`buildInputs`) between the old state (`self`) and new state (`super`).
|
`pythonPackages.zerobin` is now globally overridden. All packages and also the
|
||||||
|
`zerobin` NixOS service use the new definition.
|
||||||
|
Note that `python-super` refers to the old package set and `python-self`
|
||||||
|
to the new, overridden version.
|
||||||
|
|
||||||
|
To modify only a Python package set instead of a whole Python derivation, use this snippet:
|
||||||
|
|
||||||
|
```nix
|
||||||
|
myPythonPackages = pythonPackages.override {
|
||||||
|
overrides = self: super: {
|
||||||
|
zerobin = ...;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
### How to override a Python package using overlays?
|
### How to override a Python package using overlays?
|
||||||
|
|
||||||
To alter a python package using overlays, you would use the following approach:
|
Use the following overlay template:
|
||||||
|
|
||||||
```nix
|
```nix
|
||||||
self: super:
|
self: super:
|
||||||
{
|
{
|
||||||
python = super.python.override {
|
python = super.python.override {
|
||||||
packageOverrides = python-self: python-super: {
|
packageOverrides = python-self: python-super: {
|
||||||
bepasty-server = python-super.bepasty-server.overrideAttrs ( oldAttrs: {
|
zerobin = python-super.zerobin.overrideAttrs (oldAttrs: {
|
||||||
src = self.pkgs.fetchgit {
|
src = super.fetchgit {
|
||||||
url = "https://github.com/bepasty/bepasty-server";
|
url = "https://github.com/sametmax/0bin";
|
||||||
sha256 = "9ziqshmsf0rjvdhhca55sm0x8jz76fsf2q4rwh4m6lpcf8wr0nps";
|
rev = "a344dbb18fe7a855d0742b9a1cede7ce423b34ec";
|
||||||
rev = "e2516e8cf4f2afb5185337073607eb9e84a61d2d";
|
sha256 = "16d769kmnrpbdr0ph0whyf4yff5df6zi4kmwx7sz1d3r6c8p6xji";
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
pythonPackages = self.python.pkgs;
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -689,7 +689,7 @@ overrides = super: self: rec {
|
|||||||
plugins = with availablePlugins; [
|
plugins = with availablePlugins; [
|
||||||
(python.withPackages (ps: with ps; [ pycrypto python-dbus ]))
|
(python.withPackages (ps: with ps; [ pycrypto python-dbus ]))
|
||||||
];
|
];
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</para>
|
</para>
|
||||||
|
|||||||
@ -231,6 +231,12 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
|
|||||||
fullName = "Eiffel Forum License v2.0";
|
fullName = "Eiffel Forum License v2.0";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
elastic = {
|
||||||
|
fullName = "ELASTIC LICENSE";
|
||||||
|
url = https://github.com/elastic/elasticsearch/blob/master/licenses/ELASTIC-LICENSE.txt;
|
||||||
|
free = false;
|
||||||
|
};
|
||||||
|
|
||||||
epl10 = spdx {
|
epl10 = spdx {
|
||||||
spdxId = "EPL-1.0";
|
spdxId = "EPL-1.0";
|
||||||
fullName = "Eclipse Public License 1.0";
|
fullName = "Eclipse Public License 1.0";
|
||||||
|
|||||||
@ -16,6 +16,7 @@ rec {
|
|||||||
isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
|
isAarch64 = { cpu = { family = "arm"; bits = 64; }; };
|
||||||
isMips = { cpu = { family = "mips"; }; };
|
isMips = { cpu = { family = "mips"; }; };
|
||||||
isRiscV = { cpu = { family = "riscv"; }; };
|
isRiscV = { cpu = { family = "riscv"; }; };
|
||||||
|
isSparc = { cpu = { family = "sparc"; }; };
|
||||||
isWasm = { cpu = { family = "wasm"; }; };
|
isWasm = { cpu = { family = "wasm"; }; };
|
||||||
|
|
||||||
is32bit = { cpu = { bits = 32; }; };
|
is32bit = { cpu = { bits = 32; }; };
|
||||||
|
|||||||
@ -93,6 +93,9 @@ rec {
|
|||||||
riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; };
|
riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; };
|
||||||
riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; };
|
riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; };
|
||||||
|
|
||||||
|
sparc = { bits = 32; significantByte = bigEndian; family = "sparc"; };
|
||||||
|
sparc64 = { bits = 64; significantByte = bigEndian; family = "sparc"; };
|
||||||
|
|
||||||
wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; };
|
wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; };
|
||||||
wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; };
|
wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; };
|
||||||
};
|
};
|
||||||
|
|||||||
132
lib/trivial.nix
132
lib/trivial.nix
@ -1,43 +1,9 @@
|
|||||||
{ lib }:
|
{ lib }:
|
||||||
let
|
|
||||||
zipIntBits = f: x: y:
|
|
||||||
let
|
|
||||||
# (intToBits 6) -> [ 0 1 1 ]
|
|
||||||
intToBits = x:
|
|
||||||
if x == 0 || x == -1 then
|
|
||||||
[]
|
|
||||||
else
|
|
||||||
let
|
|
||||||
headbit = if (x / 2) * 2 != x then 1 else 0; # x & 1
|
|
||||||
tailbits = if x < 0 then ((x + 1) / 2) - 1 else x / 2; # x >> 1
|
|
||||||
in
|
|
||||||
[headbit] ++ (intToBits tailbits);
|
|
||||||
|
|
||||||
# (bitsToInt [ 0 1 1 ] 0) -> 6
|
|
||||||
# (bitsToInt [ 0 1 0 ] 1) -> -6
|
|
||||||
bitsToInt = l: signum:
|
|
||||||
if l == [] then
|
|
||||||
(if signum == 0 then 0 else -1)
|
|
||||||
else
|
|
||||||
(builtins.head l) + (2 * (bitsToInt (builtins.tail l) signum));
|
|
||||||
|
|
||||||
xsignum = if x < 0 then 1 else 0;
|
|
||||||
ysignum = if y < 0 then 1 else 0;
|
|
||||||
zipListsWith' = fst: snd:
|
|
||||||
if fst==[] && snd==[] then
|
|
||||||
[]
|
|
||||||
else if fst==[] then
|
|
||||||
[(f xsignum (builtins.head snd))] ++ (zipListsWith' [] (builtins.tail snd))
|
|
||||||
else if snd==[] then
|
|
||||||
[(f (builtins.head fst) ysignum )] ++ (zipListsWith' (builtins.tail fst) [] )
|
|
||||||
else
|
|
||||||
[(f (builtins.head fst) (builtins.head snd))] ++ (zipListsWith' (builtins.tail fst) (builtins.tail snd));
|
|
||||||
in
|
|
||||||
assert (builtins.isInt x) && (builtins.isInt y);
|
|
||||||
bitsToInt (zipListsWith' (intToBits x) (intToBits y)) (f xsignum ysignum);
|
|
||||||
in
|
|
||||||
rec {
|
rec {
|
||||||
|
|
||||||
|
## Simple (higher order) functions
|
||||||
|
|
||||||
/* The identity function
|
/* The identity function
|
||||||
For when you need a function that does “nothing”.
|
For when you need a function that does “nothing”.
|
||||||
|
|
||||||
@ -59,7 +25,7 @@ rec {
|
|||||||
|
|
||||||
## Named versions corresponding to some builtin operators.
|
## Named versions corresponding to some builtin operators.
|
||||||
|
|
||||||
/* Concat two strings */
|
/* Concatenate two lists */
|
||||||
concat = x: y: x ++ y;
|
concat = x: y: x ++ y;
|
||||||
|
|
||||||
/* boolean “or” */
|
/* boolean “or” */
|
||||||
@ -69,13 +35,19 @@ rec {
|
|||||||
and = x: y: x && y;
|
and = x: y: x && y;
|
||||||
|
|
||||||
/* bitwise “and” */
|
/* bitwise “and” */
|
||||||
bitAnd = builtins.bitAnd or zipIntBits (a: b: if a==1 && b==1 then 1 else 0);
|
bitAnd = builtins.bitAnd
|
||||||
|
or import ./zip-int-bits.nix
|
||||||
|
(a: b: if a==1 && b==1 then 1 else 0);
|
||||||
|
|
||||||
/* bitwise “or” */
|
/* bitwise “or” */
|
||||||
bitOr = builtins.bitOr or zipIntBits (a: b: if a==1 || b==1 then 1 else 0);
|
bitOr = builtins.bitOr
|
||||||
|
or import ./zip-int-bits.nix
|
||||||
|
(a: b: if a==1 || b==1 then 1 else 0);
|
||||||
|
|
||||||
/* bitwise “xor” */
|
/* bitwise “xor” */
|
||||||
bitXor = builtins.bitXor or zipIntBits (a: b: if a!=b then 1 else 0);
|
bitXor = builtins.bitXor
|
||||||
|
or import ./zip-int-bits.nix
|
||||||
|
(a: b: if a!=b then 1 else 0);
|
||||||
|
|
||||||
/* bitwise “not” */
|
/* bitwise “not” */
|
||||||
bitNot = builtins.sub (-1);
|
bitNot = builtins.sub (-1);
|
||||||
@ -93,10 +65,22 @@ rec {
|
|||||||
*/
|
*/
|
||||||
mergeAttrs = x: y: x // y;
|
mergeAttrs = x: y: x // y;
|
||||||
|
|
||||||
# Flip the order of the arguments of a binary function.
|
/* Flip the order of the arguments of a binary function.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
flip concat [1] [2]
|
||||||
|
=> [ 2 1 ]
|
||||||
|
*/
|
||||||
flip = f: a: b: f b a;
|
flip = f: a: b: f b a;
|
||||||
|
|
||||||
# Apply function if argument is non-null
|
/* Apply function if argument is non-null.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
mapNullable (x: x+1) null
|
||||||
|
=> null
|
||||||
|
mapNullable (x: x+1) 22
|
||||||
|
=> 23
|
||||||
|
*/
|
||||||
mapNullable = f: a: if isNull a then a else f a;
|
mapNullable = f: a: if isNull a then a else f a;
|
||||||
|
|
||||||
# Pull in some builtins not included elsewhere.
|
# Pull in some builtins not included elsewhere.
|
||||||
@ -105,20 +89,30 @@ rec {
|
|||||||
isInt isFloat add sub lessThan
|
isInt isFloat add sub lessThan
|
||||||
seq deepSeq genericClosure;
|
seq deepSeq genericClosure;
|
||||||
|
|
||||||
inherit (lib.strings) fileContents;
|
|
||||||
|
|
||||||
release = fileContents ../.version;
|
## nixpks version strings
|
||||||
versionSuffix = let suffixFile = ../.version-suffix; in
|
|
||||||
if pathExists suffixFile then fileContents suffixFile else "pre-git";
|
|
||||||
|
|
||||||
# Return the Nixpkgs version number.
|
# The current full nixpkgs version number.
|
||||||
version = release + versionSuffix;
|
version = release + versionSuffix;
|
||||||
|
|
||||||
|
# The current nixpkgs version number as string.
|
||||||
|
release = lib.strings.fileContents ../.version;
|
||||||
|
|
||||||
|
# The current nixpkgs version suffix as string.
|
||||||
|
versionSuffix =
|
||||||
|
let suffixFile = ../.version-suffix;
|
||||||
|
in if pathExists suffixFile
|
||||||
|
then lib.strings.fileContents suffixFile
|
||||||
|
else "pre-git";
|
||||||
|
|
||||||
nixpkgsVersion = builtins.trace "`lib.nixpkgsVersion` is deprecated, use `lib.version` instead!" version;
|
nixpkgsVersion = builtins.trace "`lib.nixpkgsVersion` is deprecated, use `lib.version` instead!" version;
|
||||||
|
|
||||||
# Whether we're being called by nix-shell.
|
# Whether we're being called by nix-shell.
|
||||||
inNixShell = builtins.getEnv "IN_NIX_SHELL" != "";
|
inNixShell = builtins.getEnv "IN_NIX_SHELL" != "";
|
||||||
|
|
||||||
|
|
||||||
|
## Integer operations
|
||||||
|
|
||||||
# Return minimum/maximum of two numbers.
|
# Return minimum/maximum of two numbers.
|
||||||
min = x: y: if x < y then x else y;
|
min = x: y: if x < y then x else y;
|
||||||
max = x: y: if x > y then x else y;
|
max = x: y: if x > y then x else y;
|
||||||
@ -133,6 +127,9 @@ rec {
|
|||||||
*/
|
*/
|
||||||
mod = base: int: base - (int * (builtins.div base int));
|
mod = base: int: base - (int * (builtins.div base int));
|
||||||
|
|
||||||
|
|
||||||
|
## Comparisons
|
||||||
|
|
||||||
/* C-style comparisons
|
/* C-style comparisons
|
||||||
|
|
||||||
a < b, compare a b => -1
|
a < b, compare a b => -1
|
||||||
@ -162,17 +159,20 @@ rec {
|
|||||||
cmp "fooa" "a" => -1
|
cmp "fooa" "a" => -1
|
||||||
# while
|
# while
|
||||||
compare "fooa" "a" => 1
|
compare "fooa" "a" => 1
|
||||||
|
|
||||||
*/
|
*/
|
||||||
splitByAndCompare = p: yes: no: a: b:
|
splitByAndCompare = p: yes: no: a: b:
|
||||||
if p a
|
if p a
|
||||||
then if p b then yes a b else -1
|
then if p b then yes a b else -1
|
||||||
else if p b then 1 else no a b;
|
else if p b then 1 else no a b;
|
||||||
|
|
||||||
|
|
||||||
/* Reads a JSON file. */
|
/* Reads a JSON file. */
|
||||||
importJSON = path:
|
importJSON = path:
|
||||||
builtins.fromJSON (builtins.readFile path);
|
builtins.fromJSON (builtins.readFile path);
|
||||||
|
|
||||||
|
|
||||||
|
## Warnings and asserts
|
||||||
|
|
||||||
/* See https://github.com/NixOS/nix/issues/749. Eventually we'd like these
|
/* See https://github.com/NixOS/nix/issues/749. Eventually we'd like these
|
||||||
to expand to Nix builtins that carry metadata so that Nix can filter out
|
to expand to Nix builtins that carry metadata so that Nix can filter out
|
||||||
the INFO messages without parsing the message string.
|
the INFO messages without parsing the message string.
|
||||||
@ -188,28 +188,36 @@ rec {
|
|||||||
warn = msg: builtins.trace "WARNING: ${msg}";
|
warn = msg: builtins.trace "WARNING: ${msg}";
|
||||||
info = msg: builtins.trace "INFO: ${msg}";
|
info = msg: builtins.trace "INFO: ${msg}";
|
||||||
|
|
||||||
# | Add metadata about expected function arguments to a function.
|
|
||||||
# The metadata should match the format given by
|
## Function annotations
|
||||||
# builtins.functionArgs, i.e. a set from expected argument to a bool
|
|
||||||
# representing whether that argument has a default or not.
|
/* Add metadata about expected function arguments to a function.
|
||||||
# setFunctionArgs : (a → b) → Map String Bool → (a → b)
|
The metadata should match the format given by
|
||||||
#
|
builtins.functionArgs, i.e. a set from expected argument to a bool
|
||||||
# This function is necessary because you can't dynamically create a
|
representing whether that argument has a default or not.
|
||||||
# function of the { a, b ? foo, ... }: format, but some facilities
|
setFunctionArgs : (a → b) → Map String Bool → (a → b)
|
||||||
# like callPackage expect to be able to query expected arguments.
|
|
||||||
|
This function is necessary because you can't dynamically create a
|
||||||
|
function of the { a, b ? foo, ... }: format, but some facilities
|
||||||
|
like callPackage expect to be able to query expected arguments.
|
||||||
|
*/
|
||||||
setFunctionArgs = f: args:
|
setFunctionArgs = f: args:
|
||||||
{ # TODO: Should we add call-time "type" checking like built in?
|
{ # TODO: Should we add call-time "type" checking like built in?
|
||||||
__functor = self: f;
|
__functor = self: f;
|
||||||
__functionArgs = args;
|
__functionArgs = args;
|
||||||
};
|
};
|
||||||
|
|
||||||
# | Extract the expected function arguments from a function.
|
/* Extract the expected function arguments from a function.
|
||||||
# This works both with nix-native { a, b ? foo, ... }: style
|
This works both with nix-native { a, b ? foo, ... }: style
|
||||||
# functions and functions with args set with 'setFunctionArgs'. It
|
functions and functions with args set with 'setFunctionArgs'. It
|
||||||
# has the same return type and semantics as builtins.functionArgs.
|
has the same return type and semantics as builtins.functionArgs.
|
||||||
# setFunctionArgs : (a → b) → Map String Bool.
|
setFunctionArgs : (a → b) → Map String Bool.
|
||||||
|
*/
|
||||||
functionArgs = f: f.__functionArgs or (builtins.functionArgs f);
|
functionArgs = f: f.__functionArgs or (builtins.functionArgs f);
|
||||||
|
|
||||||
|
/* Check whether something is a function or something
|
||||||
|
annotated with function args.
|
||||||
|
*/
|
||||||
isFunction = f: builtins.isFunction f ||
|
isFunction = f: builtins.isFunction f ||
|
||||||
(f ? __functor && isFunction (f.__functor f));
|
(f ? __functor && isFunction (f.__functor f));
|
||||||
}
|
}
|
||||||
|
|||||||
39
lib/zip-int-bits.nix
Normal file
39
lib/zip-int-bits.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/* Helper function to implement a fallback for the bit operators
|
||||||
|
`bitAnd`, `bitOr` and `bitXOr` on older nix version.
|
||||||
|
See ./trivial.nix
|
||||||
|
*/
|
||||||
|
f: x: y:
|
||||||
|
let
|
||||||
|
# (intToBits 6) -> [ 0 1 1 ]
|
||||||
|
intToBits = x:
|
||||||
|
if x == 0 || x == -1 then
|
||||||
|
[]
|
||||||
|
else
|
||||||
|
let
|
||||||
|
headbit = if (x / 2) * 2 != x then 1 else 0; # x & 1
|
||||||
|
tailbits = if x < 0 then ((x + 1) / 2) - 1 else x / 2; # x >> 1
|
||||||
|
in
|
||||||
|
[headbit] ++ (intToBits tailbits);
|
||||||
|
|
||||||
|
# (bitsToInt [ 0 1 1 ] 0) -> 6
|
||||||
|
# (bitsToInt [ 0 1 0 ] 1) -> -6
|
||||||
|
bitsToInt = l: signum:
|
||||||
|
if l == [] then
|
||||||
|
(if signum == 0 then 0 else -1)
|
||||||
|
else
|
||||||
|
(builtins.head l) + (2 * (bitsToInt (builtins.tail l) signum));
|
||||||
|
|
||||||
|
xsignum = if x < 0 then 1 else 0;
|
||||||
|
ysignum = if y < 0 then 1 else 0;
|
||||||
|
zipListsWith' = fst: snd:
|
||||||
|
if fst==[] && snd==[] then
|
||||||
|
[]
|
||||||
|
else if fst==[] then
|
||||||
|
[(f xsignum (builtins.head snd))] ++ (zipListsWith' [] (builtins.tail snd))
|
||||||
|
else if snd==[] then
|
||||||
|
[(f (builtins.head fst) ysignum )] ++ (zipListsWith' (builtins.tail fst) [] )
|
||||||
|
else
|
||||||
|
[(f (builtins.head fst) (builtins.head snd))] ++ (zipListsWith' (builtins.tail fst) (builtins.tail snd));
|
||||||
|
in
|
||||||
|
assert (builtins.isInt x) && (builtins.isInt y);
|
||||||
|
bitsToInt (zipListsWith' (intToBits x) (intToBits y)) (f xsignum ysignum)
|
||||||
@ -589,6 +589,11 @@
|
|||||||
github = "c0bw3b";
|
github = "c0bw3b";
|
||||||
name = "Renaud";
|
name = "Renaud";
|
||||||
};
|
};
|
||||||
|
c0deaddict = {
|
||||||
|
email = "josvanbakel@protonmail.com";
|
||||||
|
github = "c0deaddict";
|
||||||
|
name = "Jos van Bakel";
|
||||||
|
};
|
||||||
c0dehero = {
|
c0dehero = {
|
||||||
email = "codehero@nerdpol.ch";
|
email = "codehero@nerdpol.ch";
|
||||||
name = "CodeHero";
|
name = "CodeHero";
|
||||||
@ -862,6 +867,11 @@
|
|||||||
github = "danharaj";
|
github = "danharaj";
|
||||||
name = "Dan Haraj";
|
name = "Dan Haraj";
|
||||||
};
|
};
|
||||||
|
danieldk = {
|
||||||
|
email = "me@danieldk.eu";
|
||||||
|
github = "danieldk";
|
||||||
|
name = "Daniël de Kok";
|
||||||
|
};
|
||||||
danielfullmer = {
|
danielfullmer = {
|
||||||
email = "danielrf12@gmail.com";
|
email = "danielrf12@gmail.com";
|
||||||
github = "danielfullmer";
|
github = "danielfullmer";
|
||||||
@ -1372,6 +1382,11 @@
|
|||||||
github = "froozen";
|
github = "froozen";
|
||||||
name = "fro_ozen";
|
name = "fro_ozen";
|
||||||
};
|
};
|
||||||
|
frontsideair = {
|
||||||
|
email = "photonia@gmail.com";
|
||||||
|
github = "frontsideair";
|
||||||
|
name = "Fatih Altinok";
|
||||||
|
};
|
||||||
ftrvxmtrx = {
|
ftrvxmtrx = {
|
||||||
email = "ftrvxmtrx@gmail.com";
|
email = "ftrvxmtrx@gmail.com";
|
||||||
github = "ftrvxmtrx";
|
github = "ftrvxmtrx";
|
||||||
@ -2002,6 +2017,13 @@
|
|||||||
email = "tierpluspluslists@gmail.com";
|
email = "tierpluspluslists@gmail.com";
|
||||||
name = "Karn Kallio";
|
name = "Karn Kallio";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
kmeakin = {
|
||||||
|
email = "karlwfmeakin@gmail.com";
|
||||||
|
name = "Karl Meakin";
|
||||||
|
github = "Kmeakin";
|
||||||
|
};
|
||||||
|
|
||||||
knedlsepp = {
|
knedlsepp = {
|
||||||
email = "josef.kemetmueller@gmail.com";
|
email = "josef.kemetmueller@gmail.com";
|
||||||
github = "knedlsepp";
|
github = "knedlsepp";
|
||||||
@ -2720,6 +2742,11 @@
|
|||||||
github = "neeasade";
|
github = "neeasade";
|
||||||
name = "Nathan Isom";
|
name = "Nathan Isom";
|
||||||
};
|
};
|
||||||
|
neonfuz = {
|
||||||
|
email = "neonfuz@gmail.com";
|
||||||
|
github = "neonfuz";
|
||||||
|
name = "Sage Raflik";
|
||||||
|
};
|
||||||
nequissimus = {
|
nequissimus = {
|
||||||
email = "tim@nequissimus.com";
|
email = "tim@nequissimus.com";
|
||||||
github = "nequissimus";
|
github = "nequissimus";
|
||||||
|
|||||||
@ -70,7 +70,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<link xlink:href="https://github.com/NixOS/nixpkgs/compare/bdf161ed8d21...6b63c4616790">
|
<link xlink:href="https://github.com/NixOS/nixpkgs/compare/bdf161ed8d21...6b63c4616790">
|
||||||
Bump the <literal>system.nixos.defaultChannel</literal> attribute in
|
Bump the <literal>system.defaultChannel</literal> attribute in
|
||||||
<literal>nixos/modules/misc/version.nix</literal> </link>
|
<literal>nixos/modules/misc/version.nix</literal> </link>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|||||||
@ -433,9 +433,9 @@ system.autoUpgrade.enable = true;
|
|||||||
default. If you have existing systems with such host keys and want to
|
default. If you have existing systems with such host keys and want to
|
||||||
continue to use them, please set
|
continue to use them, please set
|
||||||
<programlisting>
|
<programlisting>
|
||||||
system.nixos.stateVersion = "14.12";
|
system.stateVersion = "14.12";
|
||||||
</programlisting>
|
</programlisting>
|
||||||
The new option <option>system.nixos.stateVersion</option> ensures that
|
The new option <option>system.stateVersion</option> ensures that
|
||||||
certain configuration changes that could break existing systems (such as
|
certain configuration changes that could break existing systems (such as
|
||||||
the <command>sshd</command> host key setting) will maintain compatibility
|
the <command>sshd</command> host key setting) will maintain compatibility
|
||||||
with the specified NixOS release. NixOps sets the state version of
|
with the specified NixOS release. NixOps sets the state version of
|
||||||
|
|||||||
@ -362,6 +362,15 @@ inherit (pkgs.nixos {
|
|||||||
The module <option>services.networking.hostapd</option> now uses WPA2 by default.
|
The module <option>services.networking.hostapd</option> now uses WPA2 by default.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
<varname>s6Dns</varname>, <varname>s6Networking</varname>,
|
||||||
|
<varname>s6LinuxUtils</varname> and <varname>s6PortableUtils</varname>
|
||||||
|
renamed to
|
||||||
|
<varname>s6-dns</varname>, <varname>s6-networking</varname>,
|
||||||
|
<varname>s6-linux-utils</varname> and <varname>s6-portable-utils</varname> respectively.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@ -10,7 +10,7 @@ version=$(nix-instantiate --eval --strict '<nixpkgs>' -A lib.version | sed s/'"'
|
|||||||
major=${version:0:5}
|
major=${version:0:5}
|
||||||
echo "NixOS version is $version ($major)"
|
echo "NixOS version is $version ($major)"
|
||||||
|
|
||||||
stateDir=/var/tmp/ec2-image-$version
|
stateDir=/home/deploy/amis/ec2-image-$version
|
||||||
echo "keeping state in $stateDir"
|
echo "keeping state in $stateDir"
|
||||||
mkdir -p $stateDir
|
mkdir -p $stateDir
|
||||||
|
|
||||||
@ -161,6 +161,7 @@ for type in $types; do
|
|||||||
# Create a snapshot.
|
# Create a snapshot.
|
||||||
if [ -z "$snapId" ]; then
|
if [ -z "$snapId" ]; then
|
||||||
echo "creating snapshot..."
|
echo "creating snapshot..."
|
||||||
|
# FIXME: this can fail with InvalidVolume.NotFound. Eventual consistency yay.
|
||||||
snapId=$(aws ec2 create-snapshot --volume-id "$volId" --region "$region" --description "$description" | jq -r .SnapshotId)
|
snapId=$(aws ec2 create-snapshot --volume-id "$volId" --region "$region" --description "$description" | jq -r .SnapshotId)
|
||||||
if [ "$snapId" = null ]; then exit 1; fi
|
if [ "$snapId" = null ]; then exit 1; fi
|
||||||
echo -n "$snapId" > $stateDir/$region.$type.snap-id
|
echo -n "$snapId" > $stateDir/$region.$type.snap-id
|
||||||
|
|||||||
@ -9,7 +9,9 @@ let
|
|||||||
cfg = config.networking;
|
cfg = config.networking;
|
||||||
dnsmasqResolve = config.services.dnsmasq.enable &&
|
dnsmasqResolve = config.services.dnsmasq.enable &&
|
||||||
config.services.dnsmasq.resolveLocalQueries;
|
config.services.dnsmasq.resolveLocalQueries;
|
||||||
hasLocalResolver = config.services.bind.enable || dnsmasqResolve;
|
hasLocalResolver = config.services.bind.enable ||
|
||||||
|
config.services.unbound.enable ||
|
||||||
|
dnsmasqResolve;
|
||||||
|
|
||||||
resolvconfOptions = cfg.resolvconfOptions
|
resolvconfOptions = cfg.resolvconfOptions
|
||||||
++ optional cfg.dnsSingleRequest "single-request"
|
++ optional cfg.dnsSingleRequest "single-request"
|
||||||
|
|||||||
@ -144,8 +144,8 @@ in {
|
|||||||
|
|
||||||
package = mkOption {
|
package = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pulseaudioLight;
|
default = pkgs.pulseaudio;
|
||||||
defaultText = "pkgs.pulseaudioLight";
|
defaultText = "pkgs.pulseaudio";
|
||||||
example = literalExample "pkgs.pulseaudioFull";
|
example = literalExample "pkgs.pulseaudioFull";
|
||||||
description = ''
|
description = ''
|
||||||
The PulseAudio derivation to use. This can be used to enable
|
The PulseAudio derivation to use. This can be used to enable
|
||||||
|
|||||||
@ -120,8 +120,8 @@ let
|
|||||||
|
|
||||||
shell = mkOption {
|
shell = mkOption {
|
||||||
type = types.either types.shellPackage types.path;
|
type = types.either types.shellPackage types.path;
|
||||||
default = pkgs.nologin;
|
default = pkgs.shadow;
|
||||||
defaultText = "pkgs.nologin";
|
defaultText = "pkgs.shadow";
|
||||||
example = literalExample "pkgs.bashInteractive";
|
example = literalExample "pkgs.bashInteractive";
|
||||||
description = ''
|
description = ''
|
||||||
The path to the user's shell. Can use shell derivations,
|
The path to the user's shell. Can use shell derivations,
|
||||||
|
|||||||
@ -32,5 +32,5 @@ with lib;
|
|||||||
# Allow the user to log in as root without a password.
|
# Allow the user to log in as root without a password.
|
||||||
users.users.root.initialHashedPassword = "";
|
users.users.root.initialHashedPassword = "";
|
||||||
|
|
||||||
system.nixos.stateVersion = mkDefault "18.03";
|
system.stateVersion = mkDefault "18.03";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -628,7 +628,7 @@ $bootLoaderConfig
|
|||||||
# compatible, in order to avoid breaking some software such as database
|
# compatible, in order to avoid breaking some software such as database
|
||||||
# servers. You should change this only after NixOS release notes say you
|
# servers. You should change this only after NixOS release notes say you
|
||||||
# should.
|
# should.
|
||||||
system.nixos.stateVersion = "${\(qw(@release@))}"; # Did you read the comment?
|
system.stateVersion = "${\(qw(@release@))}"; # Did you read the comment?
|
||||||
|
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
@ -21,5 +21,5 @@ with lib;
|
|||||||
services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" "modesetting" ];
|
services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" "modesetting" ];
|
||||||
|
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = false;
|
||||||
system.nixos.stateVersion = mkDefault "18.03";
|
system.stateVersion = mkDefault "18.03";
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,29 +12,29 @@ in
|
|||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
options.system.nixos = {
|
options.system = {
|
||||||
|
|
||||||
version = mkOption {
|
nixos.version = mkOption {
|
||||||
internal = true;
|
internal = true;
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = "The full NixOS version (e.g. <literal>16.03.1160.f2d4ee1</literal>).";
|
description = "The full NixOS version (e.g. <literal>16.03.1160.f2d4ee1</literal>).";
|
||||||
};
|
};
|
||||||
|
|
||||||
release = mkOption {
|
nixos.release = mkOption {
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = trivial.release;
|
default = trivial.release;
|
||||||
description = "The NixOS release (e.g. <literal>16.03</literal>).";
|
description = "The NixOS release (e.g. <literal>16.03</literal>).";
|
||||||
};
|
};
|
||||||
|
|
||||||
versionSuffix = mkOption {
|
nixos.versionSuffix = mkOption {
|
||||||
internal = true;
|
internal = true;
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = trivial.versionSuffix;
|
default = trivial.versionSuffix;
|
||||||
description = "The NixOS version suffix (e.g. <literal>1160.f2d4ee1</literal>).";
|
description = "The NixOS version suffix (e.g. <literal>1160.f2d4ee1</literal>).";
|
||||||
};
|
};
|
||||||
|
|
||||||
revision = mkOption {
|
nixos.revision = mkOption {
|
||||||
internal = true;
|
internal = true;
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo
|
default = if pathIsDirectory gitRepo then commitIdFromGitRepo gitRepo
|
||||||
@ -43,7 +43,7 @@ in
|
|||||||
description = "The Git revision from which this NixOS configuration was built.";
|
description = "The Git revision from which this NixOS configuration was built.";
|
||||||
};
|
};
|
||||||
|
|
||||||
codeName = mkOption {
|
nixos.codeName = mkOption {
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = "The NixOS release code name (e.g. <literal>Emu</literal>).";
|
description = "The NixOS release code name (e.g. <literal>Emu</literal>).";
|
||||||
@ -76,8 +76,8 @@ in
|
|||||||
|
|
||||||
config = {
|
config = {
|
||||||
|
|
||||||
warnings = lib.optional (options.system.nixos.stateVersion.highestPrio > 1000)
|
warnings = lib.optional (options.system.stateVersion.highestPrio > 1000)
|
||||||
"You don't have `system.nixos.stateVersion` explicitly set. Expect things to break.";
|
"You don't have `system.stateVersion` explicitly set. Expect things to break.";
|
||||||
|
|
||||||
system.nixos = {
|
system.nixos = {
|
||||||
# These defaults are set here rather than up there so that
|
# These defaults are set here rather than up there so that
|
||||||
|
|||||||
@ -34,7 +34,7 @@ with lib;
|
|||||||
|
|
||||||
# Subscribe the root user to the NixOS channel by default.
|
# Subscribe the root user to the NixOS channel by default.
|
||||||
if [ "$USER" = root -a ! -e "$HOME/.nix-channels" ]; then
|
if [ "$USER" = root -a ! -e "$HOME/.nix-channels" ]; then
|
||||||
echo "${config.system.nixos.defaultChannel} nixos" > "$HOME/.nix-channels"
|
echo "${config.system.defaultChannel} nixos" > "$HOME/.nix-channels"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create the per-user garbage collector roots directory.
|
# Create the per-user garbage collector roots directory.
|
||||||
|
|||||||
@ -4,6 +4,11 @@ with lib;
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
# !!! These were renamed the other way, but got reverted later.
|
||||||
|
# !!! Drop these before 18.09 is released.
|
||||||
|
(mkRenamedOptionModule [ "system" "nixos" "stateVersion" ] [ "system" "stateVersion" ])
|
||||||
|
(mkRenamedOptionModule [ "system" "nixos" "defaultChannel" ] [ "system" "defaultChannel" ])
|
||||||
|
|
||||||
(mkRenamedOptionModule [ "dysnomia" ] [ "services" "dysnomia" ])
|
(mkRenamedOptionModule [ "dysnomia" ] [ "services" "dysnomia" ])
|
||||||
(mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
|
(mkRenamedOptionModule [ "environment" "x11Packages" ] [ "environment" "systemPackages" ])
|
||||||
(mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
|
(mkRenamedOptionModule [ "environment" "enableBashCompletion" ] [ "programs" "bash" "enableCompletion" ])
|
||||||
@ -222,8 +227,6 @@ with lib;
|
|||||||
(mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ])
|
(mkRenamedOptionModule [ "system" "nixosVersionSuffix" ] [ "system" "nixos" "versionSuffix" ])
|
||||||
(mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ])
|
(mkRenamedOptionModule [ "system" "nixosRevision" ] [ "system" "nixos" "revision" ])
|
||||||
(mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ])
|
(mkRenamedOptionModule [ "system" "nixosLabel" ] [ "system" "nixos" "label" ])
|
||||||
(mkRenamedOptionModule [ "system" "stateVersion" ] [ "system" "nixos" "stateVersion" ])
|
|
||||||
(mkRenamedOptionModule [ "system" "defaultChannel" ] [ "system" "nixos" "defaultChannel" ])
|
|
||||||
|
|
||||||
# Users
|
# Users
|
||||||
(mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
|
(mkAliasOptionModule [ "users" "extraUsers" ] [ "users" "users" ])
|
||||||
|
|||||||
@ -78,7 +78,7 @@ in
|
|||||||
|
|
||||||
# Allow execution of "/home/root/secret.sh" by user `backup`, `database`
|
# Allow execution of "/home/root/secret.sh" by user `backup`, `database`
|
||||||
# and the group with GID `1006` without a password.
|
# and the group with GID `1006` without a password.
|
||||||
{ users = [ "backup" ]; groups = [ 1006 ];
|
{ users = [ "backup" "database" ]; groups = [ 1006 ];
|
||||||
commands = [ { command = "/home/root/secret.sh"; options = [ "SETENV" "NOPASSWD" ]; } ]; }
|
commands = [ { command = "/home/root/secret.sh"; options = [ "SETENV" "NOPASSWD" ]; } ]; }
|
||||||
|
|
||||||
# Allow all users of group `bar` to run two executables as user `foo`
|
# Allow all users of group `bar` to run two executables as user `foo`
|
||||||
|
|||||||
@ -218,7 +218,7 @@ in
|
|||||||
config = mkIf config.services.mysql.enable {
|
config = mkIf config.services.mysql.enable {
|
||||||
|
|
||||||
services.mysql.dataDir =
|
services.mysql.dataDir =
|
||||||
mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/mysql"
|
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/mysql"
|
||||||
else "/var/mysql");
|
else "/var/mysql");
|
||||||
|
|
||||||
users.users.mysql = {
|
users.users.mysql = {
|
||||||
|
|||||||
@ -146,7 +146,7 @@ in
|
|||||||
};
|
};
|
||||||
superUser = mkOption {
|
superUser = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
default= if versionAtLeast config.system.nixos.stateVersion "17.09" then "postgres" else "root";
|
default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root";
|
||||||
internal = true;
|
internal = true;
|
||||||
description = ''
|
description = ''
|
||||||
NixOS traditionally used 'root' as superuser, most other distros use 'postgres'.
|
NixOS traditionally used 'root' as superuser, most other distros use 'postgres'.
|
||||||
@ -165,14 +165,14 @@ in
|
|||||||
|
|
||||||
services.postgresql.package =
|
services.postgresql.package =
|
||||||
# Note: when changing the default, make it conditional on
|
# Note: when changing the default, make it conditional on
|
||||||
# ‘system.nixos.stateVersion’ to maintain compatibility with existing
|
# ‘system.stateVersion’ to maintain compatibility with existing
|
||||||
# systems!
|
# systems!
|
||||||
mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then pkgs.postgresql96
|
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql96
|
||||||
else if versionAtLeast config.system.nixos.stateVersion "16.03" then pkgs.postgresql95
|
else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95
|
||||||
else pkgs.postgresql94);
|
else pkgs.postgresql94);
|
||||||
|
|
||||||
services.postgresql.dataDir =
|
services.postgresql.dataDir =
|
||||||
mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"
|
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}"
|
||||||
else "/var/db/postgresql");
|
else "/var/db/postgresql");
|
||||||
|
|
||||||
services.postgresql.authentication = mkAfter
|
services.postgresql.authentication = mkAfter
|
||||||
|
|||||||
@ -342,7 +342,7 @@ in {
|
|||||||
};
|
};
|
||||||
database_type = mkOption {
|
database_type = mkOption {
|
||||||
type = types.enum [ "sqlite3" "psycopg2" ];
|
type = types.enum [ "sqlite3" "psycopg2" ];
|
||||||
default = if versionAtLeast config.system.nixos.stateVersion "18.03"
|
default = if versionAtLeast config.system.stateVersion "18.03"
|
||||||
then "psycopg2"
|
then "psycopg2"
|
||||||
else "sqlite3";
|
else "sqlite3";
|
||||||
description = ''
|
description = ''
|
||||||
|
|||||||
@ -14,7 +14,7 @@ let
|
|||||||
(optionalString (cfg.defaultMode == "norouting") "--routing=none")
|
(optionalString (cfg.defaultMode == "norouting") "--routing=none")
|
||||||
] ++ cfg.extraFlags);
|
] ++ cfg.extraFlags);
|
||||||
|
|
||||||
defaultDataDir = if versionAtLeast config.system.nixos.stateVersion "17.09" then
|
defaultDataDir = if versionAtLeast config.system.stateVersion "17.09" then
|
||||||
"/var/lib/ipfs" else
|
"/var/lib/ipfs" else
|
||||||
"/var/lib/ipfs/.ipfs";
|
"/var/lib/ipfs/.ipfs";
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ let
|
|||||||
confFile = pkgs.writeText "radicale.conf" cfg.config;
|
confFile = pkgs.writeText "radicale.conf" cfg.config;
|
||||||
|
|
||||||
# This enables us to default to version 2 while still not breaking configurations of people with version 1
|
# This enables us to default to version 2 while still not breaking configurations of people with version 1
|
||||||
defaultPackage = if versionAtLeast config.system.nixos.stateVersion "17.09" then {
|
defaultPackage = if versionAtLeast config.system.stateVersion "17.09" then {
|
||||||
pkg = pkgs.radicale2;
|
pkg = pkgs.radicale2;
|
||||||
text = "pkgs.radicale2";
|
text = "pkgs.radicale2";
|
||||||
} else {
|
} else {
|
||||||
@ -35,7 +35,7 @@ in
|
|||||||
defaultText = defaultPackage.text;
|
defaultText = defaultPackage.text;
|
||||||
description = ''
|
description = ''
|
||||||
Radicale package to use. This defaults to version 1.x if
|
Radicale package to use. This defaults to version 1.x if
|
||||||
<literal>system.nixos.stateVersion < 17.09</literal> and version 2.x
|
<literal>system.stateVersion < 17.09</literal> and version 2.x
|
||||||
otherwise.
|
otherwise.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|||||||
@ -25,18 +25,17 @@ let
|
|||||||
${cfg.extraConf}
|
${cfg.extraConf}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configDir = pkgs.buildEnv {
|
configDir = cfg.dataDir + "/config";
|
||||||
name = "elasticsearch-config";
|
|
||||||
paths = [
|
elasticsearchYml = pkgs.writeTextFile {
|
||||||
(pkgs.writeTextDir "elasticsearch.yml" esConfig)
|
name = "elasticsearch.yml";
|
||||||
(if es5 then (pkgs.writeTextDir "log4j2.properties" cfg.logging)
|
text = esConfig;
|
||||||
else (pkgs.writeTextDir "logging.yml" cfg.logging))
|
};
|
||||||
];
|
|
||||||
postBuild = concatStringsSep "\n" (concatLists [
|
loggingConfigFilename = if es5 then "log4j2.properties" else "logging.yml";
|
||||||
# Elasticsearch 5.x won't start when the scripts directory does not exist
|
loggingConfigFile = pkgs.writeTextFile {
|
||||||
(optional es5 "${pkgs.coreutils}/bin/mkdir -p $out/scripts")
|
name = loggingConfigFilename;
|
||||||
(optional es6 "ln -s ${cfg.package}/config/jvm.options $out/jvm.options")
|
text = cfg.logging;
|
||||||
]);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
esPlugins = pkgs.buildEnv {
|
esPlugins = pkgs.buildEnv {
|
||||||
@ -193,7 +192,24 @@ in {
|
|||||||
ln -sfT ${esPlugins}/plugins ${cfg.dataDir}/plugins
|
ln -sfT ${esPlugins}/plugins ${cfg.dataDir}/plugins
|
||||||
ln -sfT ${cfg.package}/lib ${cfg.dataDir}/lib
|
ln -sfT ${cfg.package}/lib ${cfg.dataDir}/lib
|
||||||
ln -sfT ${cfg.package}/modules ${cfg.dataDir}/modules
|
ln -sfT ${cfg.package}/modules ${cfg.dataDir}/modules
|
||||||
if [ "$(id -u)" = 0 ]; then chown -R elasticsearch ${cfg.dataDir}; fi
|
|
||||||
|
# elasticsearch needs to create the elasticsearch.keystore in the config directory
|
||||||
|
# so this directory needs to be writable.
|
||||||
|
mkdir -m 0700 -p ${configDir}
|
||||||
|
|
||||||
|
# Note that we copy config files from the nix store instead of symbolically linking them
|
||||||
|
# because otherwise X-Pack Security will raise the following exception:
|
||||||
|
# java.security.AccessControlException:
|
||||||
|
# access denied ("java.io.FilePermission" "/var/lib/elasticsearch/config/elasticsearch.yml" "read")
|
||||||
|
|
||||||
|
cp ${elasticsearchYml} ${configDir}/elasticsearch.yml
|
||||||
|
# Make sure the logging configuration for old elasticsearch versions is removed:
|
||||||
|
rm -f ${if es5 then "${configDir}/logging.yml" else "${configDir}/log4j2.properties"}
|
||||||
|
cp ${loggingConfigFile} ${configDir}/${loggingConfigFilename}
|
||||||
|
${optionalString es5 "mkdir -p ${configDir}/scripts"}
|
||||||
|
${optionalString es6 "cp ${cfg.package}/config/jvm.options ${configDir}/jvm.options"}
|
||||||
|
|
||||||
|
if [ "$(id -u)" = 0 ]; then chown -R elasticsearch:elasticsearch ${cfg.dataDir}; fi
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -66,7 +66,7 @@ in {
|
|||||||
description = "Caddy web server";
|
description = "Caddy web server";
|
||||||
after = [ "network-online.target" ];
|
after = [ "network-online.target" ];
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
environment = mkIf (versionAtLeast config.system.nixos.stateVersion "17.09")
|
environment = mkIf (versionAtLeast config.system.stateVersion "17.09")
|
||||||
{ CADDYPATH = cfg.dataDir; };
|
{ CADDYPATH = cfg.dataDir; };
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
ExecStart = ''
|
ExecStart = ''
|
||||||
|
|||||||
@ -70,8 +70,6 @@ let
|
|||||||
"systemd-journald.socket"
|
"systemd-journald.socket"
|
||||||
"systemd-journald.service"
|
"systemd-journald.service"
|
||||||
"systemd-journal-flush.service"
|
"systemd-journal-flush.service"
|
||||||
"systemd-journal-gatewayd.socket"
|
|
||||||
"systemd-journal-gatewayd.service"
|
|
||||||
"systemd-journal-catalog-update.service"
|
"systemd-journal-catalog-update.service"
|
||||||
"systemd-journald-audit.socket"
|
"systemd-journald-audit.socket"
|
||||||
"systemd-journald-dev-log.socket"
|
"systemd-journald-dev-log.socket"
|
||||||
@ -160,8 +158,10 @@ let
|
|||||||
"systemd-binfmt.service"
|
"systemd-binfmt.service"
|
||||||
"systemd-exit.service"
|
"systemd-exit.service"
|
||||||
"systemd-update-done.service"
|
"systemd-update-done.service"
|
||||||
]
|
] ++ optionals config.services.journald.enableHttpGateway [
|
||||||
++ cfg.additionalUpstreamSystemUnits;
|
"systemd-journal-gatewayd.socket"
|
||||||
|
"systemd-journal-gatewayd.service"
|
||||||
|
] ++ cfg.additionalUpstreamSystemUnits;
|
||||||
|
|
||||||
upstreamSystemWants =
|
upstreamSystemWants =
|
||||||
[ "sysinit.target.wants"
|
[ "sysinit.target.wants"
|
||||||
|
|||||||
@ -127,7 +127,7 @@ with import ../../lib/qemu-flags.nix { inherit pkgs; };
|
|||||||
services.xserver.displayManager.job.logToJournal = true;
|
services.xserver.displayManager.job.logToJournal = true;
|
||||||
|
|
||||||
# set default stateVersion to avoid warnings during eval
|
# set default stateVersion to avoid warnings during eval
|
||||||
system.nixos.stateVersion = mkDefault "18.03";
|
system.stateVersion = mkDefault "18.03";
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
options = {
|
options = {
|
||||||
ec2 = {
|
ec2 = {
|
||||||
hvm = lib.mkOption {
|
hvm = lib.mkOption {
|
||||||
default = lib.versionAtLeast config.system.nixos.stateVersion "17.03";
|
default = lib.versionAtLeast config.system.stateVersion "17.03";
|
||||||
internal = true;
|
internal = true;
|
||||||
description = ''
|
description = ''
|
||||||
Whether the EC2 instance is a HVM instance.
|
Whether the EC2 instance is a HVM instance.
|
||||||
|
|||||||
@ -607,7 +607,7 @@ in
|
|||||||
{ services.postgresql.enable = true;
|
{ services.postgresql.enable = true;
|
||||||
services.postgresql.package = pkgs.postgresql96;
|
services.postgresql.package = pkgs.postgresql96;
|
||||||
|
|
||||||
system.nixos.stateVersion = "17.03";
|
system.stateVersion = "17.03";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -240,22 +240,22 @@ let self = {
|
|||||||
"17.09".sa-east-1.hvm-ebs = "ami-4762202b";
|
"17.09".sa-east-1.hvm-ebs = "ami-4762202b";
|
||||||
"17.09".ap-south-1.hvm-ebs = "ami-4e376021";
|
"17.09".ap-south-1.hvm-ebs = "ami-4e376021";
|
||||||
|
|
||||||
# 18.03.131792.becbe4dbe16
|
# 18.03.132946.1caae7247b8
|
||||||
"18.03".eu-west-1.hvm-ebs = "ami-cda4fab4";
|
"18.03".eu-west-1.hvm-ebs = "ami-065c46ec";
|
||||||
"18.03".eu-west-2.hvm-ebs = "ami-d96786be";
|
"18.03".eu-west-2.hvm-ebs = "ami-64f31903";
|
||||||
"18.03".eu-west-3.hvm-ebs = "ami-6b0cba16";
|
"18.03".eu-west-3.hvm-ebs = "ami-5a8d3d27";
|
||||||
"18.03".eu-central-1.hvm-ebs = "ami-5e2b75b5";
|
"18.03".eu-central-1.hvm-ebs = "ami-09faf9e2";
|
||||||
"18.03".us-east-1.hvm-ebs = "ami-d464cba9";
|
"18.03".us-east-1.hvm-ebs = "ami-8b3538f4";
|
||||||
"18.03".us-east-2.hvm-ebs = "ami-fd221298";
|
"18.03".us-east-2.hvm-ebs = "ami-150b3170";
|
||||||
"18.03".us-west-1.hvm-ebs = "ami-ff0d1d9f";
|
"18.03".us-west-1.hvm-ebs = "ami-ce06ebad";
|
||||||
"18.03".us-west-2.hvm-ebs = "ami-c05c3bb8";
|
"18.03".us-west-2.hvm-ebs = "ami-586c3520";
|
||||||
"18.03".ca-central-1.hvm-ebs = "ami-cc72f4a8";
|
"18.03".ca-central-1.hvm-ebs = "ami-aca72ac8";
|
||||||
"18.03".ap-southeast-1.hvm-ebs = "ami-b61633ca";
|
"18.03".ap-southeast-1.hvm-ebs = "ami-aa0b4d40";
|
||||||
"18.03".ap-southeast-2.hvm-ebs = "ami-530fc131";
|
"18.03".ap-southeast-2.hvm-ebs = "ami-d0f254b2";
|
||||||
"18.03".ap-northeast-1.hvm-ebs = "ami-90d6c0ec";
|
"18.03".ap-northeast-1.hvm-ebs = "ami-456511a8";
|
||||||
"18.03".ap-northeast-2.hvm-ebs = "ami-a1248bcf";
|
"18.03".ap-northeast-2.hvm-ebs = "ami-3366d15d";
|
||||||
"18.03".sa-east-1.hvm-ebs = "ami-b090c6dc";
|
"18.03".sa-east-1.hvm-ebs = "ami-163e1f7a";
|
||||||
"18.03".ap-south-1.hvm-ebs = "ami-32c9ec5d";
|
"18.03".ap-south-1.hvm-ebs = "ami-6a390b05";
|
||||||
|
|
||||||
latest = self."18.03";
|
latest = self."18.03";
|
||||||
}; in self
|
}; in self
|
||||||
|
|||||||
@ -104,7 +104,7 @@ in {
|
|||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ libvirt netcat-openbsd cfg.qemuPackage ];
|
environment.systemPackages = with pkgs; [ libvirt libressl.nc cfg.qemuPackage ];
|
||||||
|
|
||||||
boot.kernelModules = [ "tun" ];
|
boot.kernelModules = [ "tun" ];
|
||||||
|
|
||||||
|
|||||||
@ -198,7 +198,7 @@ in rec {
|
|||||||
modules = singleton ({ ... }:
|
modules = singleton ({ ... }:
|
||||||
{ fileSystems."/".device = mkDefault "/dev/sda1";
|
{ fileSystems."/".device = mkDefault "/dev/sda1";
|
||||||
boot.loader.grub.device = mkDefault "/dev/sda";
|
boot.loader.grub.device = mkDefault "/dev/sda";
|
||||||
system.nixos.stateVersion = mkDefault "18.03";
|
system.stateVersion = mkDefault "18.03";
|
||||||
});
|
});
|
||||||
}).config.system.build.toplevel;
|
}).config.system.build.toplevel;
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
|||||||
@ -304,7 +304,7 @@ let
|
|||||||
serviceConfig.Type = "oneshot";
|
serviceConfig.Type = "oneshot";
|
||||||
serviceConfig.RemainAfterExit = true;
|
serviceConfig.RemainAfterExit = true;
|
||||||
script = let
|
script = let
|
||||||
netcat = "${pkgs.netcat-openbsd}/bin/nc";
|
netcat = "${pkgs.libressl.nc}/bin/nc";
|
||||||
portCheck = "${netcat} -z 127.0.0.1 ${toString attrs.waitForPort}";
|
portCheck = "${netcat} -z 127.0.0.1 ${toString attrs.waitForPort}";
|
||||||
in "while ! ${portCheck}; do :; done";
|
in "while ! ${portCheck}; do :; done";
|
||||||
};
|
};
|
||||||
@ -435,7 +435,7 @@ in {
|
|||||||
serviceConfig.RemainAfterExit = true;
|
serviceConfig.RemainAfterExit = true;
|
||||||
script = let
|
script = let
|
||||||
ports = lib.range 8000 8005 ++ lib.singleton 80;
|
ports = lib.range 8000 8005 ++ lib.singleton 80;
|
||||||
netcat = "${pkgs.netcat-openbsd}/bin/nc";
|
netcat = "${pkgs.libressl.nc}/bin/nc";
|
||||||
mkPortCheck = port: "${netcat} -z 127.0.0.1 ${toString port}";
|
mkPortCheck = port: "${netcat} -z 127.0.0.1 ${toString port}";
|
||||||
checks = "(${lib.concatMapStringsSep " && " mkPortCheck ports})";
|
checks = "(${lib.concatMapStringsSep " && " mkPortCheck ports})";
|
||||||
in "while ! ${checks}; do :; done";
|
in "while ! ${checks}; do :; done";
|
||||||
|
|||||||
@ -18,7 +18,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
inherit (config.nixpkgs.localSystem) system;
|
inherit (config.nixpkgs.localSystem) system;
|
||||||
modules = lib.singleton {
|
modules = lib.singleton {
|
||||||
containers.foo.config = {
|
containers.foo.config = {
|
||||||
system.nixos.stateVersion = "18.03";
|
system.stateVersion = "18.03";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@ -21,7 +21,7 @@ import ./make-test.nix ({ pkgs, ...} : {
|
|||||||
services.httpd.adminAddr = "foo@example.org";
|
services.httpd.adminAddr = "foo@example.org";
|
||||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||||
networking.firewall.allowPing = true;
|
networking.firewall.allowPing = true;
|
||||||
system.nixos.stateVersion = "18.03";
|
system.stateVersion = "18.03";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
{ system ? builtins.currentSystem }:
|
{ system ? builtins.currentSystem, enableUnfree ? false }:
|
||||||
with import ../lib/testing.nix { inherit system; };
|
with import ../lib/testing.nix { inherit system; };
|
||||||
with pkgs.lib;
|
with pkgs.lib;
|
||||||
let
|
let
|
||||||
@ -99,9 +99,16 @@ in mapAttrs mkElkTest {
|
|||||||
logstash = pkgs.logstash5;
|
logstash = pkgs.logstash5;
|
||||||
kibana = pkgs.kibana5;
|
kibana = pkgs.kibana5;
|
||||||
};
|
};
|
||||||
"ELK-6" = {
|
"ELK-6" =
|
||||||
elasticsearch = pkgs.elasticsearch6;
|
if enableUnfree
|
||||||
logstash = pkgs.logstash6;
|
then {
|
||||||
kibana = pkgs.kibana6;
|
elasticsearch = pkgs.elasticsearch6;
|
||||||
};
|
logstash = pkgs.logstash6;
|
||||||
|
kibana = pkgs.kibana6;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
elasticsearch = pkgs.elasticsearch6-oss;
|
||||||
|
logstash = pkgs.logstash6-oss;
|
||||||
|
kibana = pkgs.kibana6-oss;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,7 +43,7 @@ in
|
|||||||
});
|
});
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
system.nixos.stateVersion = "17.03";
|
system.stateVersion = "17.03";
|
||||||
};
|
};
|
||||||
radicale1_export = lib.recursiveUpdate radicale1 {
|
radicale1_export = lib.recursiveUpdate radicale1 {
|
||||||
services.radicale.extraArgs = [
|
services.radicale.extraArgs = [
|
||||||
@ -54,7 +54,7 @@ in
|
|||||||
services.radicale.extraArgs = [ "--verify-storage" ];
|
services.radicale.extraArgs = [ "--verify-storage" ];
|
||||||
};
|
};
|
||||||
radicale2 = lib.recursiveUpdate (common args) {
|
radicale2 = lib.recursiveUpdate (common args) {
|
||||||
system.nixos.stateVersion = "17.09";
|
system.stateVersion = "17.09";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -555,12 +555,12 @@ rec {
|
|||||||
|
|
||||||
spotbugs = buildEclipseUpdateSite rec {
|
spotbugs = buildEclipseUpdateSite rec {
|
||||||
name = "spotbugs-${version}";
|
name = "spotbugs-${version}";
|
||||||
version = "3.1.5";
|
version = "3.1.6";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip";
|
url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip";
|
||||||
sha256 = "0fxdirz6ik9rqykm2lcr720apsaqgngr4c7q793rjb9b3bn30c85";
|
sha256 = "1qsams12n64slp00nfc9v943sy9bzffzm7anqqaz2hjw64iia7fh";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|||||||
210
pkgs/applications/editors/emacs-modes/elpa-generated.nix
generated
210
pkgs/applications/editors/emacs-modes/elpa-generated.nix
generated
File diff suppressed because it is too large
Load Diff
@ -25,7 +25,7 @@ self:
|
|||||||
super = removeAttrs imported [ "dash" ];
|
super = removeAttrs imported [ "dash" ];
|
||||||
|
|
||||||
elpaBuild = import ../../../build-support/emacs/elpa.nix {
|
elpaBuild = import ../../../build-support/emacs/elpa.nix {
|
||||||
inherit fetchurl lib stdenv texinfo;
|
inherit lib stdenv texinfo;
|
||||||
inherit (self) emacs;
|
inherit (self) emacs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
4449
pkgs/applications/editors/emacs-modes/melpa-generated.nix
generated
4449
pkgs/applications/editors/emacs-modes/melpa-generated.nix
generated
File diff suppressed because it is too large
Load Diff
@ -75,28 +75,16 @@ self:
|
|||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
elmine = markBroken super.elmine;
|
elmine = markBroken super.elmine;
|
||||||
|
|
||||||
# upstream issue: missing dependency redshank
|
|
||||||
emr = markBroken super.emr;
|
|
||||||
|
|
||||||
ess-R-data-view = super.ess-R-data-view.override {
|
ess-R-data-view = super.ess-R-data-view.override {
|
||||||
inherit (self.melpaPackages) ess ctable popup;
|
inherit (self.melpaPackages) ess ctable popup;
|
||||||
};
|
};
|
||||||
|
|
||||||
# upstream issue: missing dependency highlight
|
|
||||||
evil-search-highlight-persist = markBroken super.evil-search-highlight-persist;
|
|
||||||
|
|
||||||
# upstream issue: missing dependency highlight
|
|
||||||
floobits = markBroken super.floobits;
|
|
||||||
|
|
||||||
# missing OCaml
|
# missing OCaml
|
||||||
flycheck-ocaml = markBroken super.flycheck-ocaml;
|
flycheck-ocaml = markBroken super.flycheck-ocaml;
|
||||||
|
|
||||||
# Expects bash to be at /bin/bash
|
# Expects bash to be at /bin/bash
|
||||||
flycheck-rtags = markBroken super.flycheck-rtags;
|
flycheck-rtags = markBroken super.flycheck-rtags;
|
||||||
|
|
||||||
# upstream issue: missing dependency
|
|
||||||
fold-dwim-org = markBroken super.fold-dwim-org;
|
|
||||||
|
|
||||||
# build timeout
|
# build timeout
|
||||||
graphene = markBroken super.graphene;
|
graphene = markBroken super.graphene;
|
||||||
|
|
||||||
@ -106,6 +94,14 @@ self:
|
|||||||
# Expects bash to be at /bin/bash
|
# Expects bash to be at /bin/bash
|
||||||
helm-rtags = markBroken super.helm-rtags;
|
helm-rtags = markBroken super.helm-rtags;
|
||||||
|
|
||||||
|
# Build same version as Haskell package
|
||||||
|
hindent = super.hindent.overrideAttrs (attrs: {
|
||||||
|
version = external.hindent.version;
|
||||||
|
src = external.hindent.src;
|
||||||
|
packageRequires = [ self.haskell-mode ];
|
||||||
|
propagatedUserEnvPkgs = [ external.hindent ];
|
||||||
|
});
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
||||||
|
|
||||||
@ -158,9 +154,6 @@ self:
|
|||||||
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
(attrs.nativeBuildInputs or []) ++ [ external.git ];
|
||||||
}));
|
}));
|
||||||
|
|
||||||
# upstream issue: missing dependency
|
|
||||||
org-readme = markBroken super.org-readme;
|
|
||||||
|
|
||||||
# upstream issue: truncated file
|
# upstream issue: truncated file
|
||||||
powershell = markBroken super.powershell;
|
powershell = markBroken super.powershell;
|
||||||
|
|
||||||
@ -173,9 +166,6 @@ self:
|
|||||||
# upstream issue: missing file footer
|
# upstream issue: missing file footer
|
||||||
seoul256-theme = markBroken super.seoul256-theme;
|
seoul256-theme = markBroken super.seoul256-theme;
|
||||||
|
|
||||||
# upstream issue: missing dependency highlight
|
|
||||||
sonic-pi = markBroken super.sonic-pi;
|
|
||||||
|
|
||||||
spaceline = super.spaceline.override {
|
spaceline = super.spaceline.override {
|
||||||
inherit (self.melpaPackages) powerline;
|
inherit (self.melpaPackages) powerline;
|
||||||
};
|
};
|
||||||
@ -198,9 +188,6 @@ self:
|
|||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
voca-builder = markBroken super.voca-builder;
|
voca-builder = markBroken super.voca-builder;
|
||||||
|
|
||||||
# upstream issue: missing dependency
|
|
||||||
weechat-alert = markBroken super.weechat-alert;
|
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
window-numbering = markBroken super.window-numbering;
|
window-numbering = markBroken super.window-numbering;
|
||||||
|
|
||||||
@ -216,6 +203,10 @@ self:
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
melpaPackages = super // overrides;
|
melpaPackages =
|
||||||
|
removeAttrs (super // overrides)
|
||||||
|
[
|
||||||
|
"show-marks" # missing dependency: fm
|
||||||
|
];
|
||||||
in
|
in
|
||||||
melpaPackages // { inherit melpaPackages; }
|
melpaPackages // { inherit melpaPackages; }
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -108,6 +108,14 @@ self:
|
|||||||
# Expects bash to be at /bin/bash
|
# Expects bash to be at /bin/bash
|
||||||
helm-rtags = markBroken super.helm-rtags;
|
helm-rtags = markBroken super.helm-rtags;
|
||||||
|
|
||||||
|
# Build same version as Haskell package
|
||||||
|
hindent = super.hindent.overrideAttrs (attrs: {
|
||||||
|
version = external.hindent.version;
|
||||||
|
src = external.hindent.src;
|
||||||
|
packageRequires = [ self.haskell-mode ];
|
||||||
|
propagatedUserEnvPkgs = [ external.hindent ];
|
||||||
|
});
|
||||||
|
|
||||||
# upstream issue: missing file header
|
# upstream issue: missing file header
|
||||||
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
ido-complete-space-or-hyphen = markBroken super.ido-complete-space-or-hyphen;
|
||||||
|
|
||||||
|
|||||||
@ -3,10 +3,11 @@
|
|||||||
org = callPackage ({ elpaBuild, fetchurl, lib }:
|
org = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "org";
|
pname = "org";
|
||||||
version = "20180716";
|
ename = "org";
|
||||||
|
version = "20180723";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://orgmode.org/elpa/org-20180716.tar";
|
url = "http://orgmode.org/elpa/org-20180723.tar";
|
||||||
sha256 = "0gr57nfdncnxrxxzw87ni5i6zjh1mdxl9h8pw96msh1c47xhpk2d";
|
sha256 = "1mcgnba16lpyh55zjx4rcbmpygcmdnjjzvgv1rx0c3kz1h5fgzf8";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
@ -17,10 +18,11 @@
|
|||||||
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }:
|
org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }:
|
||||||
elpaBuild {
|
elpaBuild {
|
||||||
pname = "org-plus-contrib";
|
pname = "org-plus-contrib";
|
||||||
version = "20180716";
|
ename = "org-plus-contrib";
|
||||||
|
version = "20180723";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://orgmode.org/elpa/org-plus-contrib-20180716.tar";
|
url = "http://orgmode.org/elpa/org-plus-contrib-20180723.tar";
|
||||||
sha256 = "0j4r3bcy96kcaab7cv2a5qd0mv8ddkr1qlihijk79l9nhsh2y4hm";
|
sha256 = "1l34bagkm8mcyv5diprpbd4yjijkdvx1l54qpvi8bmvxjnzsm7mk";
|
||||||
};
|
};
|
||||||
packageRequires = [];
|
packageRequires = [];
|
||||||
meta = {
|
meta = {
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file, libintl }:
|
{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file, libintl, hicolor-icon-theme }:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig intltool libintl ];
|
nativeBuildInputs = [ pkgconfig intltool libintl ];
|
||||||
buildInputs = [ gtk2 which file ];
|
buildInputs = [ gtk2 which file hicolor-icon-theme ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
@ -23,10 +23,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patchPhase = "patchShebangs .";
|
patchPhase = "patchShebangs .";
|
||||||
|
|
||||||
# This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
|
|
||||||
# It have no reasons to exist in a redistribuable package
|
|
||||||
postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Small and lightweight IDE";
|
description = "Small and lightweight IDE";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
|
|||||||
@ -60,7 +60,7 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
|
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
|
||||||
sed -i -e "s|'xsel|'${xsel}/bin/xsel|" $out/share/nvim/runtime/autoload/provider/clipboard.vim
|
sed -i -e "s|'xsel|'${xsel}/bin/xsel|g" $out/share/nvim/runtime/autoload/provider/clipboard.vim
|
||||||
'' + stdenv.lib.optionalString (withJemalloc && stdenv.isDarwin) ''
|
'' + stdenv.lib.optionalString (withJemalloc && stdenv.isDarwin) ''
|
||||||
install_name_tool -change libjemalloc.1.dylib \
|
install_name_tool -change libjemalloc.1.dylib \
|
||||||
${jemalloc}/lib/libjemalloc.1.dylib \
|
${jemalloc}/lib/libjemalloc.1.dylib \
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
|
# TODO tidy up eg The patchelf code is patching gvim even if you don't build it..
|
||||||
# but I have gvim with python support now :) - Marc
|
# but I have gvim with python support now :) - Marc
|
||||||
args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext
|
args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, gettext
|
||||||
, composableDerivation, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby
|
, writeText, lib, config, glib, gtk2, gtk3, python, perl, tcl, ruby
|
||||||
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
|
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
|
||||||
, libICE
|
, libICE
|
||||||
, vimPlugins
|
, vimPlugins
|
||||||
@ -10,13 +10,27 @@ args@{ source ? "default", callPackage, fetchurl, stdenv, ncurses, pkgconfig, ge
|
|||||||
# apple frameworks
|
# apple frameworks
|
||||||
, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private
|
, CoreServices, CoreData, Cocoa, Foundation, libobjc, cf-private
|
||||||
|
|
||||||
, wrapPythonDrv ? false
|
, features ? "huge" # One of tiny, small, normal, big or huge
|
||||||
|
, wrapPythonDrv ? false
|
||||||
|
, guiSupport ? config.vim.gui or "auto"
|
||||||
|
, luaSupport ? config.vim.lua or true
|
||||||
|
, perlSupport ? config.vim.perl or false # Perl interpreter
|
||||||
|
, pythonSupport ? config.vim.python or true # Python interpreter
|
||||||
|
, rubySupport ? config.vim.ruby or true # Ruby interpreter
|
||||||
|
, nlsSupport ? config.vim.nls or false # Enable NLS (gettext())
|
||||||
|
, tclSupport ? config.vim.tcl or false # Include Tcl interpreter
|
||||||
|
, multibyteSupport ? config.vim.multibyte or false # Enable multibyte editing support
|
||||||
|
, cscopeSupport ? config.vim.cscope or true # Enable cscope interface
|
||||||
|
, netbeansSupport ? config.netbeans or true # Enable NetBeans integration support.
|
||||||
|
, ximSupport ? config.vim.xim or true # less than 15KB, needed for deadkeys
|
||||||
|
# By default, compile with darwin support if we're compiling on darwin, but
|
||||||
|
# allow this to be disabled by setting config.vim.darwin to false
|
||||||
|
, darwinSupport ? stdenv.isDarwin && (config.vim.darwin or true) # Enable Darwin support
|
||||||
|
, ftNixSupport ? config.vim.ftNix or true # Add .nix filetype detection and minimal syntax highlighting support
|
||||||
, ... }: with args;
|
, ... }: with args;
|
||||||
|
|
||||||
|
|
||||||
let
|
let
|
||||||
inherit (args.composableDerivation) composableDerivation edf;
|
|
||||||
nixosRuntimepath = writeText "nixos-vimrc" ''
|
nixosRuntimepath = writeText "nixos-vimrc" ''
|
||||||
set nocompatible
|
set nocompatible
|
||||||
syntax on
|
syntax on
|
||||||
@ -48,148 +62,110 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
common = callPackage ./common.nix {};
|
common = callPackage ./common.nix {};
|
||||||
in
|
|
||||||
composableDerivation {
|
|
||||||
} (fix: rec {
|
|
||||||
|
|
||||||
name = "vim_configurable-${version}";
|
isPython3 = python.isPy3 or false;
|
||||||
|
|
||||||
inherit (common) version postPatch hardeningDisable enableParallelBuilding meta;
|
in stdenv.mkDerivation rec {
|
||||||
|
|
||||||
src = builtins.getAttr source {
|
name = "vim_configurable-${version}";
|
||||||
"default" = common.src; # latest release
|
|
||||||
|
|
||||||
"vim-nox" =
|
inherit (common) version postPatch hardeningDisable enableParallelBuilding meta;
|
||||||
{
|
|
||||||
# vim nox branch: client-server without X by uing sockets
|
|
||||||
# REGION AUTO UPDATE: { name="vim-nox"; type="hg"; url="https://code.google.com/r/yukihironakadaira-vim-cmdsrv-nox/"; branch="cmdsrv-nox"; }
|
|
||||||
src = (fetchurl { url = "http://mawercer.de/~nix/repos/vim-nox-hg-2082fc3.tar.bz2"; sha256 = "293164ca1df752b7f975fd3b44766f5a1db752de6c7385753f083499651bd13a"; });
|
|
||||||
name = "vim-nox-hg-2082fc3";
|
|
||||||
# END
|
|
||||||
}.src;
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [ ./cflags-prune.diff ];
|
src = builtins.getAttr source {
|
||||||
|
"default" = common.src; # latest release
|
||||||
|
|
||||||
configureFlags
|
"vim-nox" =
|
||||||
= [ "--enable-gui=${args.gui}" "--with-features=${args.features}" ];
|
{
|
||||||
|
# vim nox branch: client-server without X by uing sockets
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
# REGION AUTO UPDATE: { name="vim-nox"; type="hg"; url="https://code.google.com/r/yukihironakadaira-vim-cmdsrv-nox/"; branch="cmdsrv-nox"; }
|
||||||
|
src = (fetchurl { url = "http://mawercer.de/~nix/repos/vim-nox-hg-2082fc3.tar.bz2"; sha256 = "293164ca1df752b7f975fd3b44766f5a1db752de6c7385753f083499651bd13a"; });
|
||||||
buildInputs
|
name = "vim-nox-hg-2082fc3";
|
||||||
= [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau
|
# END
|
||||||
libXmu glib libICE ] ++ (if args.gui == "gtk3" then [gtk3] else [gtk2]);
|
}.src;
|
||||||
|
|
||||||
# most interpreters aren't tested yet.. (see python for example how to do it)
|
|
||||||
flags = {
|
|
||||||
ftNix = {
|
|
||||||
patches = [ ./ft-nix-support.patch ];
|
|
||||||
preConfigure = ''
|
|
||||||
cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim
|
|
||||||
cp ${vimPlugins.vim-nix.src}/indent/nix.vim runtime/indent/nix.vim
|
|
||||||
cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// edf {
|
|
||||||
name = "darwin";
|
|
||||||
enable = {
|
|
||||||
buildInputs = [ CoreServices CoreData Cocoa Foundation libobjc cf-private ];
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optional stdenv.isDarwin
|
|
||||||
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
|
|
||||||
};
|
|
||||||
} #Disable Darwin (macOS) support.
|
|
||||||
// edf { name = "xsmp"; } #Disable XSMP session management
|
|
||||||
// edf { name = "xsmp_interact"; } #Disable XSMP interaction
|
|
||||||
// edf { name = "mzscheme"; feat = "mzschemeinterp";} #Include MzScheme interpreter.
|
|
||||||
// edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
|
|
||||||
|
|
||||||
// edf {
|
|
||||||
name = "python";
|
|
||||||
feat = "python${if python ? isPy3 then "3" else ""}interp";
|
|
||||||
enable = {
|
|
||||||
buildInputs = [ python ];
|
|
||||||
} // lib.optionalAttrs wrapPythonDrv {
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
postInstall = ''
|
|
||||||
wrapProgram "$out/bin/vim" --prefix PATH : "${python}/bin"
|
|
||||||
'';
|
|
||||||
} // lib.optionalAttrs stdenv.isDarwin {
|
|
||||||
configureFlags
|
|
||||||
= [ "--enable-python${if python ? isPy3 then "3" else ""}interp=yes"
|
|
||||||
"--with-python${if python ? isPy3 then "3" else ""}-config-dir=${python}/lib"
|
|
||||||
"--disable-python${if python ? isPy3 then "" else "3"}interp" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// edf { name = "tcl"; feat = "tclinterp"; enable = { buildInputs = [tcl]; }; } #Include Tcl interpreter.
|
|
||||||
// edf { name = "ruby"; feat = "rubyinterp"; enable = { buildInputs = [ruby]; };} #Include Ruby interpreter.
|
|
||||||
// edf {
|
|
||||||
name = "lua";
|
|
||||||
feat = "luainterp";
|
|
||||||
enable = {
|
|
||||||
buildInputs = [lua];
|
|
||||||
configureFlags = [
|
|
||||||
"--with-lua-prefix=${args.lua}"
|
|
||||||
"--enable-luainterp"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// edf { name = "cscope"; } #Include cscope interface.
|
|
||||||
// edf { name = "workshop"; } #Include Sun Visual Workshop support.
|
|
||||||
// edf { name = "netbeans"; } #Disable NetBeans integration support.
|
|
||||||
// edf { name = "sniff"; feat = "sniff" ; } #Include Sniff interface.
|
|
||||||
// edf { name = "multibyte"; } #Include multibyte editing support.
|
|
||||||
// edf { name = "hangulinput"; feat = "hangulinput" ;} #Include Hangul input support.
|
|
||||||
// edf { name = "xim"; } #Include XIM input support.
|
|
||||||
// edf { name = "fontset"; } #Include X fontset output support.
|
|
||||||
// edf { name = "acl"; } #Don't check for ACL support.
|
|
||||||
// edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
|
|
||||||
// edf { name = "nls"; enable = {nativeBuildInputs = [gettext];}; } #Don't support NLS (gettext()).
|
|
||||||
;
|
|
||||||
|
|
||||||
cfg = {
|
|
||||||
luaSupport = config.vim.lua or true;
|
|
||||||
pythonSupport = config.vim.python or true;
|
|
||||||
rubySupport = config.vim.ruby or true;
|
|
||||||
nlsSupport = config.vim.nls or false;
|
|
||||||
tclSupport = config.vim.tcl or false;
|
|
||||||
multibyteSupport = config.vim.multibyte or false;
|
|
||||||
cscopeSupport = config.vim.cscope or true;
|
|
||||||
netbeansSupport = config.netbeans or true; # eg envim is using it
|
|
||||||
ximSupport = config.vim.xim or true; # less than 15KB, needed for deadkeys
|
|
||||||
|
|
||||||
# by default, compile with darwin support if we're compiling on darwin, but
|
|
||||||
# allow this to be disabled by setting config.vim.darwin to false
|
|
||||||
darwinSupport = stdenv.isDarwin && (config.vim.darwin or true);
|
|
||||||
|
|
||||||
# add .nix filetype detection and minimal syntax highlighting support
|
|
||||||
ftNixSupport = config.vim.ftNix or true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#--enable-gui=OPTS X11 GUI default=auto OPTS=auto/no/gtk/gtk2/gtk3/gnome/gnome2/motif/athena/neXtaw/photon/carbon
|
patches = [ ./cflags-prune.diff ] ++ stdenv.lib.optional ftNixSupport ./ft-nix-support.patch;
|
||||||
/*
|
|
||||||
// edf "gtk_check" "gtk_check" { } #If auto-select GUI, check for GTK default=yes
|
|
||||||
// edf "gtk2_check" "gtk2_check" { } #If GTK GUI, check for GTK+ 2 default=yes
|
|
||||||
// edf "gnome_check" "gnome_check" { } #If GTK GUI, check for GNOME default=no
|
|
||||||
// edf "motif_check" "motif_check" { } #If auto-select GUI, check for Motif default=yes
|
|
||||||
// edf "athena_check" "athena_check" { } #If auto-select GUI, check for Athena default=yes
|
|
||||||
// edf "nextaw_check" "nextaw_check" { } #If auto-select GUI, check for neXtaw default=yes
|
|
||||||
// edf "carbon_check" "carbon_check" { } #If auto-select GUI, check for Carbon default=yes
|
|
||||||
// edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program
|
|
||||||
*/
|
|
||||||
|
|
||||||
preInstall = ''
|
configureFlags = [
|
||||||
mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
|
"--enable-gui=${guiSupport}"
|
||||||
'';
|
"--with-features=${features}"
|
||||||
|
"--disable-xsmp" # XSMP session management
|
||||||
|
"--disable-xsmp_interact" # XSMP interaction
|
||||||
|
"--disable-workshop" # Sun Visual Workshop support
|
||||||
|
"--disable-sniff" # Sniff interface
|
||||||
|
"--disable-hangulinput" # Hangul input support
|
||||||
|
"--disable-fontset" # X fontset output support
|
||||||
|
"--disable-acl" # ACL support
|
||||||
|
"--disable-gpm" # GPM (Linux mouse daemon)
|
||||||
|
"--disable-mzschemeinterp"
|
||||||
|
"--disable-gtk_check"
|
||||||
|
"--disable-gtk2_check"
|
||||||
|
"--disable-gnome_check"
|
||||||
|
"--disable-motif_check"
|
||||||
|
"--disable-athena_check"
|
||||||
|
"--disable-nextaf_check"
|
||||||
|
"--disable-carbon_check"
|
||||||
|
"--disable-gtktest"
|
||||||
|
]
|
||||||
|
++ stdenv.lib.optionals luaSupport [
|
||||||
|
"--with-lua-prefix=${args.lua}"
|
||||||
|
"--enable-luainterp"
|
||||||
|
]
|
||||||
|
++ stdenv.lib.optionals pythonSupport [
|
||||||
|
"--enable-python${if isPython3 then "3" else ""}interp=yes"
|
||||||
|
"--with-python${if isPython3 then "3" else ""}-config-dir=${python}/lib"
|
||||||
|
"--disable-python${if (!isPython3) then "3" else ""}interp"
|
||||||
|
]
|
||||||
|
++ stdenv.lib.optional nlsSupport "--enable-nls"
|
||||||
|
++ stdenv.lib.optional perlSupport "--enable-perlinterp"
|
||||||
|
++ stdenv.lib.optional rubySupport "--enable-rubyinterp"
|
||||||
|
++ stdenv.lib.optional tclSupport "--enable-tclinterp"
|
||||||
|
++ stdenv.lib.optional multibyteSupport "--enable-multibyte"
|
||||||
|
++ stdenv.lib.optional cscopeSupport "--enable-cscope"
|
||||||
|
++ stdenv.lib.optional netbeansSupport "--enable-netbeans"
|
||||||
|
++ stdenv.lib.optional ximSupport "--enable-xim";
|
||||||
|
|
||||||
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
|
nativeBuildInputs = [
|
||||||
|
pkgconfig
|
||||||
|
]
|
||||||
|
++ stdenv.lib.optional wrapPythonDrv makeWrapper
|
||||||
|
++ stdenv.lib.optional nlsSupport gettext
|
||||||
|
++ stdenv.lib.optional perlSupport perl
|
||||||
|
;
|
||||||
|
|
||||||
|
buildInputs = [ ncurses libX11 libXext libSM libXpm libXt libXaw libXau
|
||||||
|
libXmu glib libICE ]
|
||||||
|
++ (if guiSupport == "gtk3" then [gtk3] else [gtk2])
|
||||||
|
++ stdenv.lib.optionals darwinSupport [ CoreServices CoreData Cocoa Foundation libobjc cf-private ]
|
||||||
|
++ stdenv.lib.optional luaSupport lua
|
||||||
|
++ stdenv.lib.optional pythonSupport python
|
||||||
|
++ stdenv.lib.optional tclSupport tcl
|
||||||
|
++ stdenv.lib.optional rubySupport ruby;
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
'' + stdenv.lib.optionalString ftNixSupport ''
|
||||||
|
cp ${vimPlugins.vim-nix.src}/ftplugin/nix.vim runtime/ftplugin/nix.vim
|
||||||
|
cp ${vimPlugins.vim-nix.src}/indent/nix.vim runtime/indent/nix.vim
|
||||||
|
cp ${vimPlugins.vim-nix.src}/syntax/nix.vim runtime/syntax/nix.vim
|
||||||
|
'';
|
||||||
|
|
||||||
|
NIX_LDFLAGS = stdenv.lib.optionalString (darwinSupport && stdenv.isDarwin)
|
||||||
|
"/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation";
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
'' + stdenv.lib.optionalString stdenv.isLinux ''
|
||||||
patchelf --set-rpath \
|
patchelf --set-rpath \
|
||||||
"$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \
|
"$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \
|
||||||
"$out"/bin/{vim,gvim}
|
"$out"/bin/{vim,gvim}
|
||||||
|
|
||||||
ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
|
ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
|
||||||
|
'' + stdenv.lib.optionalString wrapPythonDrv ''
|
||||||
|
wrapProgram "$out/bin/vim" --prefix PATH : "${python}/bin"
|
||||||
|
'';
|
||||||
|
|
||||||
|
preInstall = ''
|
||||||
|
mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
|
||||||
'';
|
'';
|
||||||
|
|
||||||
dontStrip = 1;
|
dontStrip = 1;
|
||||||
})
|
}
|
||||||
|
|||||||
@ -1,110 +1,94 @@
|
|||||||
args@{ fetchgit, stdenv, ncurses, pkgconfig, gettext
|
args@{ fetchgit, stdenv, ncurses, pkgconfig, gettext
|
||||||
, composableDerivation, lib, config, python, perl, tcl, ruby, qt4
|
, lib, config, python, perl, tcl, ruby, qt4
|
||||||
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
|
, libX11, libXext, libSM, libXpm, libXt, libXaw, libXau, libXmu
|
||||||
, libICE, ... }: with args;
|
, libICE
|
||||||
|
, lua
|
||||||
|
, features
|
||||||
|
, luaSupport ? config.vim.lua or true
|
||||||
|
, perlSupport ? config.vim.perl or false # Perl interpreter
|
||||||
|
, pythonSupport ? config.vim.python or true
|
||||||
|
, rubySupport ? config.vim.ruby or true
|
||||||
|
, nlsSupport ? config.vim.nls or false
|
||||||
|
, tclSupport ? config.vim.tcl or false
|
||||||
|
, multibyteSupport ? config.vim.multibyte or false
|
||||||
|
, cscopeSupport ? config.vim.cscope or false
|
||||||
|
, netbeansSupport ? config.netbeans or true # eg envim is using it
|
||||||
|
|
||||||
|
# by default, compile with darwin support if we're compiling on darwin, but
|
||||||
|
# allow this to be disabled by setting config.vim.darwin to false
|
||||||
|
, darwinSupport ? stdenv.isDarwin && (config.vim.darwin or true)
|
||||||
|
|
||||||
|
# add .nix filetype detection and minimal syntax highlighting support
|
||||||
|
, ftNixSupport ? config.vim.ftNix or true
|
||||||
|
|
||||||
|
, ... }: with args;
|
||||||
|
|
||||||
let tag = "20140827";
|
let tag = "20140827";
|
||||||
sha256 = "0ncgbcm23z25naicxqkblz0mcl1zar2qwgi37y5ar8q8884w9ml2";
|
sha256 = "0ncgbcm23z25naicxqkblz0mcl1zar2qwgi37y5ar8q8884w9ml2";
|
||||||
in
|
in {
|
||||||
|
|
||||||
let inherit (args.composableDerivation) composableDerivation edf; in
|
name = "qvim-7.4." + tag;
|
||||||
composableDerivation {
|
|
||||||
} (fix: {
|
|
||||||
|
|
||||||
name = "qvim-7.4." + tag;
|
enableParallelBuilding = true; # test this
|
||||||
|
|
||||||
enableParallelBuilding = true; # test this
|
src = fetchgit {
|
||||||
|
url = https://bitbucket.org/equalsraf/vim-qt.git;
|
||||||
src = fetchgit {
|
rev = "refs/tags/package-" + tag;
|
||||||
url = https://bitbucket.org/equalsraf/vim-qt.git ;
|
inherit sha256;
|
||||||
rev = "refs/tags/package-" + tag;
|
|
||||||
inherit sha256;
|
|
||||||
};
|
|
||||||
|
|
||||||
# FIXME: adopt Darwin fixes from vim/default.nix, then chage meta.platforms.linux
|
|
||||||
# to meta.platforms.unix
|
|
||||||
preConfigure = assert (! stdenv.isDarwin); "";
|
|
||||||
|
|
||||||
configureFlags = [ "--with-vim-name=qvim" "--enable-gui=qt" "--with-features=${args.features}" ];
|
|
||||||
|
|
||||||
nativeBuildInputs
|
|
||||||
= [ ncurses pkgconfig libX11 libXext libSM libXpm libXt libXaw libXau
|
|
||||||
libXmu libICE qt4];
|
|
||||||
|
|
||||||
# most interpreters aren't tested yet.. (see python for example how to do it)
|
|
||||||
flags = {
|
|
||||||
ftNix = {
|
|
||||||
# because we cd to src in the main patch phase, we can't just add this
|
|
||||||
# patch to the list, we have to apply it manually
|
|
||||||
postPatch = ''
|
|
||||||
cd runtime
|
|
||||||
patch -p2 < ${./ft-nix-support.patch}
|
|
||||||
cd ..
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// edf { name = "darwin"; } #Disable Darwin (macOS) support.
|
|
||||||
// edf { name = "xsmp"; } #Disable XSMP session management
|
|
||||||
// edf { name = "xsmp_interact"; } #Disable XSMP interaction
|
|
||||||
// edf { name = "mzscheme"; } #Include MzScheme interpreter.
|
|
||||||
// edf { name = "perl"; feat = "perlinterp"; enable = { nativeBuildInputs = [perl]; };} #Include Perl interpreter.
|
|
||||||
|
|
||||||
// edf {
|
|
||||||
name = "python";
|
|
||||||
feat = "pythoninterp";
|
|
||||||
enable = {
|
|
||||||
nativeBuildInputs = [ python ];
|
|
||||||
} // lib.optionalAttrs stdenv.isDarwin {
|
|
||||||
configureFlags
|
|
||||||
= [ "--enable-pythoninterp=yes"
|
|
||||||
"--with-python-config-dir=${python}/lib" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// edf { name = "tcl"; enable = { nativeBuildInputs = [tcl]; }; } #Include Tcl interpreter.
|
|
||||||
// edf { name = "ruby"; feat = "rubyinterp"; enable = { nativeBuildInputs = [ruby]; };} #Include Ruby interpreter.
|
|
||||||
// edf {
|
|
||||||
name = "lua";
|
|
||||||
feat = "luainterp";
|
|
||||||
enable = {
|
|
||||||
nativeBuildInputs = [lua];
|
|
||||||
configureFlags = [
|
|
||||||
"--with-lua-prefix=${args.lua}"
|
|
||||||
"--enable-luainterp"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// edf { name = "cscope"; } #Include cscope interface.
|
|
||||||
// edf { name = "workshop"; } #Include Sun Visual Workshop support.
|
|
||||||
// edf { name = "netbeans"; } #Disable NetBeans integration support.
|
|
||||||
// edf { name = "sniff"; feat = "sniff" ; } #Include Sniff interface.
|
|
||||||
// edf { name = "multibyte"; } #Include multibyte editing support.
|
|
||||||
// edf { name = "hangulinput"; feat = "hangulinput" ;} #Include Hangul input support.
|
|
||||||
// edf { name = "xim"; } #Include XIM input support.
|
|
||||||
// edf { name = "fontset"; } #Include X fontset output support.
|
|
||||||
// edf { name = "acl"; } #Don't check for ACL support.
|
|
||||||
// edf { name = "gpm"; } #Don't use gpm (Linux mouse daemon).
|
|
||||||
// edf { name = "nls"; enable = {nativeBuildInputs = [gettext];}; } #Don't support NLS (gettext()).
|
|
||||||
;
|
|
||||||
|
|
||||||
cfg = {
|
|
||||||
luaSupport = config.vim.lua or true;
|
|
||||||
pythonSupport = config.vim.python or true;
|
|
||||||
rubySupport = config.vim.ruby or true;
|
|
||||||
nlsSupport = config.vim.nls or false;
|
|
||||||
tclSupport = config.vim.tcl or false;
|
|
||||||
multibyteSupport = config.vim.multibyte or false;
|
|
||||||
cscopeSupport = config.vim.cscope or false;
|
|
||||||
netbeansSupport = config.netbeans or true; # eg envim is using it
|
|
||||||
|
|
||||||
# by default, compile with darwin support if we're compiling on darwin, but
|
|
||||||
# allow this to be disabled by setting config.vim.darwin to false
|
|
||||||
darwinSupport = stdenv.isDarwin && (config.vim.darwin or true);
|
|
||||||
|
|
||||||
# add .nix filetype detection and minimal syntax highlighting support
|
|
||||||
ftNixSupport = config.vim.ftNix or true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# FIXME: adopt Darwin fixes from vim/default.nix, then chage meta.platforms.linux
|
||||||
|
# to meta.platforms.unix
|
||||||
|
preConfigure = assert (! stdenv.isDarwin); "";
|
||||||
|
|
||||||
|
configureFlags = [
|
||||||
|
"--with-vim-name=qvim"
|
||||||
|
"--enable-gui=qt"
|
||||||
|
"--with-features=${features}"
|
||||||
|
"--disable-xsmp"
|
||||||
|
"--disable-xsmp_interact"
|
||||||
|
"--disable-workshop" # Sun Visual Workshop support
|
||||||
|
"--disable-sniff" # Sniff interface
|
||||||
|
"--disable-hangulinput" # Hangul input support
|
||||||
|
"--disable-fontset" # X fontset output support
|
||||||
|
"--disable-acl" # ACL support
|
||||||
|
"--disable-gpm" # GPM (Linux mouse daemon)
|
||||||
|
"--disable-mzscheme"
|
||||||
|
]
|
||||||
|
++ stdenv.lib.optionals luaSupport [
|
||||||
|
"--with-lua-prefix=${lua}"
|
||||||
|
"--enable-luainterp"
|
||||||
|
]
|
||||||
|
++ stdenv.lib.optional pythonSupport "--enable-pythoninterp"
|
||||||
|
++ stdenv.lib.optional (pythonSupport && stdenv.isDarwin) "--with-python-config-dir=${python}/lib"
|
||||||
|
++ stdenv.lib.optional nlsSupport "--enable-nls"
|
||||||
|
++ stdenv.lib.optional perlSupport "--enable-perlinterp"
|
||||||
|
++ stdenv.lib.optional rubySupport "--enable-rubyinterp"
|
||||||
|
++ stdenv.lib.optional tclSupport "--enable-tcl"
|
||||||
|
++ stdenv.lib.optional multibyteSupport "--enable-multibyte"
|
||||||
|
++ stdenv.lib.optional darwinSupport "--enable-darwin"
|
||||||
|
++ stdenv.lib.optional cscopeSupport "--enable-cscope";
|
||||||
|
|
||||||
|
nativeBuildInputs = [ ncurses pkgconfig libX11 libXext libSM libXpm libXt libXaw
|
||||||
|
libXau libXmu libICE qt4
|
||||||
|
]
|
||||||
|
++ stdenv.lib.optional nlsSupport gettext
|
||||||
|
++ stdenv.lib.optional perlSupport perl
|
||||||
|
++ stdenv.lib.optional pythonSupport python
|
||||||
|
++ stdenv.lib.optional tclSupport tcl
|
||||||
|
++ stdenv.lib.optional rubySupport ruby
|
||||||
|
++ stdenv.lib.optional luaSupport lua
|
||||||
|
;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
'' + stdenv.lib.optionalString ftNixSupport ''
|
||||||
|
# because we cd to src in the main patch phase, we can't just add this
|
||||||
|
# patch to the list, we have to apply it manually
|
||||||
|
cd runtime
|
||||||
|
patch -p2 < ${./ft-nix-support.patch}
|
||||||
|
cd ..
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
|
postInstall = stdenv.lib.optionalString stdenv.isLinux ''
|
||||||
rpath=`patchelf --print-rpath $out/bin/qvim`;
|
rpath=`patchelf --print-rpath $out/bin/qvim`;
|
||||||
for i in $nativeBuildInputs; do
|
for i in $nativeBuildInputs; do
|
||||||
@ -125,5 +109,5 @@ composableDerivation {
|
|||||||
maintainers = with maintainers; [ smironov ttuegel ];
|
maintainers = with maintainers; [ smironov ttuegel ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
})
|
}
|
||||||
|
|
||||||
|
|||||||
@ -82,6 +82,11 @@ in
|
|||||||
--set-rpath "${rpath}" \
|
--set-rpath "${rpath}" \
|
||||||
$out/lib/vscode/resources/app/node_modules.asar.unpacked/keytar/build/Release/keytar.node
|
$out/lib/vscode/resources/app/node_modules.asar.unpacked/keytar/build/Release/keytar.node
|
||||||
|
|
||||||
|
patchelf \
|
||||||
|
--set-rpath "${rpath}" \
|
||||||
|
"$out/lib/vscode/resources/app/node_modules.asar.unpacked/native-keymap/build/Release/\
|
||||||
|
keymapping.node"
|
||||||
|
|
||||||
ln -s ${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0 $out/lib/vscode/libsecret-1.so.0
|
ln -s ${lib.makeLibraryPath [libsecret]}/libsecret-1.so.0 $out/lib/vscode/libsecret-1.so.0
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perl,
|
{ stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perl,
|
||||||
perlXMLParser, libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl,
|
perlXMLParser, libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl,
|
||||||
libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui,
|
libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui, hicolor-icon-theme,
|
||||||
gtk-mac-integration }:
|
gtk-mac-integration }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ gtk2 perlXMLParser libxml2 gettext python libxml2Python docbook5
|
[ gtk2 perlXMLParser libxml2 gettext python libxml2Python docbook5
|
||||||
libxslt docbook_xsl libart_lgpl ]
|
libxslt docbook_xsl libart_lgpl hicolor-icon-theme ]
|
||||||
++ stdenv.lib.optional withGNOME libgnomeui
|
++ stdenv.lib.optional withGNOME libgnomeui
|
||||||
++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration;
|
++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration;
|
||||||
|
|
||||||
@ -28,12 +28,6 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
hardeningDisable = [ "format" ];
|
hardeningDisable = [ "format" ];
|
||||||
|
|
||||||
# This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
|
|
||||||
# It have no reasons to exist in a redistribuable package
|
|
||||||
postInstall = ''
|
|
||||||
rm $out/share/icons/hicolor/icon-theme.cache
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Gnome Diagram drawing software";
|
description = "Gnome Diagram drawing software";
|
||||||
homepage = http://live.gnome.org/Dia;
|
homepage = http://live.gnome.org/Dia;
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, barcode, gnome3, autoreconfHook
|
{ stdenv, fetchurl, barcode, gnome3, autoreconfHook
|
||||||
, gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book
|
, gtk3, gtk-doc, libxml2, librsvg , libtool, libe-book
|
||||||
, intltool, itstool, makeWrapper, pkgconfig
|
, intltool, itstool, makeWrapper, pkgconfig, hicolor-icon-theme
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -17,11 +17,10 @@ stdenv.mkDerivation rec {
|
|||||||
barcode gtk3 gtk-doc gnome3.yelp-tools
|
barcode gtk3 gtk-doc gnome3.yelp-tools
|
||||||
gnome3.gnome-common gnome3.gsettings-desktop-schemas
|
gnome3.gnome-common gnome3.gsettings-desktop-schemas
|
||||||
itstool libxml2 librsvg libe-book libtool
|
itstool libxml2 librsvg libe-book libtool
|
||||||
|
hicolor-icon-theme
|
||||||
];
|
];
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
rm "$out/share/icons/hicolor/icon-theme.cache"
|
|
||||||
wrapProgram "$out/bin/glabels-3" \
|
wrapProgram "$out/bin/glabels-3" \
|
||||||
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
--prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
|
||||||
'';
|
'';
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
|
, libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
|
||||||
, glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
|
, glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
|
||||||
, gsl, python2, poppler, imagemagick, libwpg, librevenge
|
, gsl, python2, poppler, imagemagick, libwpg, librevenge
|
||||||
, libvisio, libcdr, libexif, potrace, cmake
|
, libvisio, libcdr, libexif, potrace, cmake, hicolor-icon-theme
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -44,15 +44,13 @@ stdenv.mkDerivation rec {
|
|||||||
libXft libpng zlib popt boehmgc
|
libXft libpng zlib popt boehmgc
|
||||||
libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
|
libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
|
||||||
gsl poppler imagemagick libwpg librevenge
|
gsl poppler imagemagick libwpg librevenge
|
||||||
libvisio libcdr libexif potrace
|
libvisio libcdr libexif potrace hicolor-icon-theme
|
||||||
];
|
];
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
postInstall = ''
|
# Make sure PyXML modules can be found at run-time.
|
||||||
# Make sure PyXML modules can be found at run-time.
|
postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
rm -f "$out/share/icons/hicolor/icon-theme.cache"
|
|
||||||
'' + stdenv.lib.optionalString stdenv.isDarwin ''
|
|
||||||
install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkscape
|
install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkscape
|
||||||
install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview
|
install_name_tool -change $out/lib/libinkscape_base.dylib $out/lib/inkscape/libinkscape_base.dylib $out/bin/inkview
|
||||||
'';
|
'';
|
||||||
|
|||||||
@ -49,18 +49,18 @@ let
|
|||||||
];
|
];
|
||||||
in buildRustPackage rec {
|
in buildRustPackage rec {
|
||||||
name = "alacritty-unstable-${version}";
|
name = "alacritty-unstable-${version}";
|
||||||
version = "2018-05-09";
|
version = "2018-07-20";
|
||||||
|
|
||||||
# At the moment we cannot handle git dependencies in buildRustPackage.
|
# At the moment we cannot handle git dependencies in buildRustPackage.
|
||||||
# This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
|
# This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = https://github.com/Mic92/alacritty.git;
|
url = https://github.com/Mic92/alacritty.git;
|
||||||
rev = "rev-${version}";
|
rev = "rev-${version}";
|
||||||
sha256 = "0mgi4niy40zz80k2ammbzdw9d8flvfkwlxkjnbpwrrldd0sj8dlz";
|
sha256 = "1vhjmysfra6dsbv35qbvsf76rhkj990lgns0k0gpbcrf47gsvx1n";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
cargoSha256 = "0d6bqfnwqfxqllrf00p1djlxdvnhrahgnyqv842qjn94j3wf0fym";
|
cargoSha256 = "0rs2p4sik25ynx6ri2wlg8v6vrdmf10xxnw9f2aqyps9m038i9di";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
@ -87,7 +87,7 @@ in buildRustPackage rec {
|
|||||||
mkdir $out/Applications
|
mkdir $out/Applications
|
||||||
cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app
|
cp -r target/release/osx/Alacritty.app $out/Applications/Alacritty.app
|
||||||
'' else ''
|
'' else ''
|
||||||
install -D Alacritty.desktop $out/share/applications/alacritty.desktop
|
install -D alacritty.desktop $out/share/applications/alacritty.desktop
|
||||||
patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
|
patchelf --set-rpath "${stdenv.lib.makeLibraryPath rpathLibs}" $out/bin/alacritty
|
||||||
'') + ''
|
'') + ''
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@ diff --git a/Makerules b/Makerules
|
|||||||
-SYS_GLUT_CFLAGS :=
|
-SYS_GLUT_CFLAGS :=
|
||||||
-SYS_GLUT_LIBS := -lglut -lGL
|
-SYS_GLUT_LIBS := -lglut -lGL
|
||||||
-
|
-
|
||||||
ifeq "$(shell pkg-config --exists 'libcrypto <= 1.0.1t' && echo yes)" "yes"
|
ifeq "$(shell pkg-config --exists 'libcrypto >= 1.1.0' && echo yes)" "yes"
|
||||||
HAVE_LIBCRYPTO := yes
|
HAVE_LIBCRYPTO := yes
|
||||||
SYS_LIBCRYPTO_CFLAGS := -DHAVE_LIBCRYPTO $(shell pkg-config --cflags libcrypto)
|
SYS_LIBCRYPTO_CFLAGS := -DHAVE_LIBCRYPTO $(shell pkg-config --cflags libcrypto)
|
||||||
@@ -113,7 +101,7 @@ SYS_CURL_CFLAGS += $(shell pkg-config --cflags openssl)
|
@@ -113,7 +101,7 @@ SYS_CURL_CFLAGS += $(shell pkg-config --cflags openssl)
|
||||||
@ -33,3 +33,15 @@ diff --git a/Makerules b/Makerules
|
|||||||
|
|
||||||
ifeq "$(shell pkg-config --exists x11 xext && echo yes)" "yes"
|
ifeq "$(shell pkg-config --exists x11 xext && echo yes)" "yes"
|
||||||
HAVE_X11 := yes
|
HAVE_X11 := yes
|
||||||
|
diff --git a/platform/gl/gl-main.c b/platform/gl/gl-main.c
|
||||||
|
index d58f7ba..808af18 100644
|
||||||
|
--- a/platform/gl/gl-main.c
|
||||||
|
+++ b/platform/gl/gl-main.c
|
||||||
|
@@ -16,6 +16,7 @@ void glutExit(void) {}
|
||||||
|
void glutMouseWheelFunc(void *fn) {}
|
||||||
|
void glutInitErrorFunc(void *fn) {}
|
||||||
|
void glutInitWarningFunc(void *fn) {}
|
||||||
|
+#define glutSetOption(X,Y)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
enum
|
||||||
|
|||||||
@ -1,72 +1,32 @@
|
|||||||
{ stdenv, go, fetchzip, git, fetchFromGitHub, fetchgit }:
|
{ buildGo110Package, fetchzip, lib }:
|
||||||
|
|
||||||
# When perkeep is updated all deps in the let block should be removed
|
buildGo110Package rec {
|
||||||
let
|
|
||||||
gopherjs = fetchFromGitHub {
|
|
||||||
owner = "gopherjs";
|
|
||||||
repo = "gopherjs";
|
|
||||||
# Rev matching https://github.com/perkeep/perkeep/commit/2e46fca5cc1179dbd90bec49fec3870e6eca6c45
|
|
||||||
rev = "b40cd48c38f9a18eb3db20d163bad78de12cf0b7";
|
|
||||||
sha256 = "0kniz8dg5bymb03qriizza1h3gpymf97vsgq9vd222282pdj0vyc";
|
|
||||||
};
|
|
||||||
|
|
||||||
gotool = fetchFromGitHub {
|
|
||||||
owner = "kisielk";
|
|
||||||
repo = "gotool";
|
|
||||||
rev = "80517062f582ea3340cd4baf70e86d539ae7d84d";
|
|
||||||
sha256 = "14af2pa0ssyp8bp2mvdw184s5wcysk6akil3wzxmr05wwy951iwn";
|
|
||||||
};
|
|
||||||
|
|
||||||
gcimporter15 = fetchgit {
|
|
||||||
url = "https://go.googlesource.com/tools";
|
|
||||||
rev = "f8f2f88271bf2c23f28a09d288d26507a9503c97";
|
|
||||||
sha256 = "1pchwizx1sdli59g8r0p4djfjkchcvh8msfpp3ibvz3xl250jh0n";
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "perkeep-${version}";
|
name = "perkeep-${version}";
|
||||||
version = "20170505";
|
version = "0.10.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://perkeep.org/dl/monthly/camlistore-${version}-src.zip";
|
url = "https://perkeep.org/dl/perkeep-${version}-src.zip";
|
||||||
sha256 = "1vliyvkyzmhdi6knbh8rdsswmz3h0rpxdpq037jwbdbkjccxjdwa";
|
sha256 = "0rqibc6w4m1r50i2pjcgz1k9dxh18v7jwj4s29y470bc526wv422";
|
||||||
};
|
};
|
||||||
|
|
||||||
# When perkeep is updated postPatch should be removed
|
goPackagePath = "perkeep.org";
|
||||||
postPatch = ''
|
|
||||||
rm -r ./vendor/github.com/gopherjs/gopherjs/
|
|
||||||
cp -a ${gopherjs} ./vendor/github.com/gopherjs/gopherjs
|
|
||||||
mkdir -p ./vendor/github.com/kisielk/
|
|
||||||
cp -a ${gotool} ./vendor/github.com/kisielk/gotool
|
|
||||||
mkdir -p ./vendor/golang.org/x/tools/go
|
|
||||||
cp -a ${gcimporter15}/go/gcimporter15 ./vendor/golang.org/x/tools/go/gcimporter15
|
|
||||||
|
|
||||||
substituteInPlace vendor/github.com/gopherjs/gopherjs/build/build.go \
|
|
||||||
--replace '"github.com/fsnotify/fsnotify"' 'fsnotify "camlistore.org/pkg/misc/fakefsnotify"'
|
|
||||||
|
|
||||||
substituteInPlace ./make.go \
|
|
||||||
--replace "goVersionMinor = '8'" "goVersionMinor = '9'" \
|
|
||||||
--replace "gopherJSGoMinor = '8'" "gopherJSGoMinor = '9'"
|
|
||||||
'';
|
|
||||||
|
|
||||||
buildInputs = [ git go ];
|
|
||||||
|
|
||||||
goPackagePath = "";
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
|
cd "$NIX_BUILD_TOP/go/src/$goPackagePath"
|
||||||
go run make.go
|
go run make.go
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
# devcam is only useful when developing perkeep, we should not install it as
|
||||||
mkdir -p $out/bin
|
# part of this derivation.
|
||||||
cp bin/* $out/bin
|
postInstall = ''
|
||||||
|
rm -f $out/bin/devcam
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with lib; {
|
||||||
description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
|
description = "A way of storing, syncing, sharing, modelling and backing up content (née Camlistore)";
|
||||||
homepage = https://perkeep.org;
|
homepage = https://perkeep.org;
|
||||||
license = licenses.asl20;
|
license = licenses.asl20;
|
||||||
maintainers = with maintainers; [ cstrahan ];
|
maintainers = with maintainers; [ cstrahan kalbasit ];
|
||||||
platforms = platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@
|
|||||||
, iwSupport ? true, wirelesstools ? null
|
, iwSupport ? true, wirelesstools ? null
|
||||||
, githubSupport ? false, curl ? null
|
, githubSupport ? false, curl ? null
|
||||||
, mpdSupport ? false, mpd_clientlib ? null
|
, mpdSupport ? false, mpd_clientlib ? null
|
||||||
|
, pulseSupport ? false, libpulseaudio ? null
|
||||||
, i3Support ? false, i3GapsSupport ? false, i3 ? null, i3-gaps ? null, jsoncpp ? null
|
, i3Support ? false, i3GapsSupport ? false, i3 ? null, i3-gaps ? null, jsoncpp ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
@ -15,17 +16,18 @@ assert alsaSupport -> alsaLib != null;
|
|||||||
assert githubSupport -> curl != null;
|
assert githubSupport -> curl != null;
|
||||||
assert iwSupport -> wirelesstools != null;
|
assert iwSupport -> wirelesstools != null;
|
||||||
assert mpdSupport -> mpd_clientlib != null;
|
assert mpdSupport -> mpd_clientlib != null;
|
||||||
|
assert pulseSupport -> libpulseaudio != null;
|
||||||
|
|
||||||
assert i3Support -> ! i3GapsSupport && jsoncpp != null && i3 != null;
|
assert i3Support -> ! i3GapsSupport && jsoncpp != null && i3 != null;
|
||||||
assert i3GapsSupport -> ! i3Support && jsoncpp != null && i3-gaps != null;
|
assert i3GapsSupport -> ! i3Support && jsoncpp != null && i3-gaps != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "polybar-${version}";
|
name = "polybar-${version}";
|
||||||
version = "3.1.0";
|
version = "3.2.0";
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://github.com/jaagr/polybar";
|
url = "https://github.com/jaagr/polybar";
|
||||||
rev = "bf16a4d415ea7d8845f578544de0c71e56ad314e";
|
rev = version;
|
||||||
sha256 = "1jcvqxl0477j0snvh1rzqsm1dkfsybix2lgrlsgiczdxfknwz8iy";
|
sha256 = "0p94brndysvmmbidhl4ds4w3qvddb752s4vryp0qckb0hz3knqk8";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
@ -48,6 +50,7 @@ stdenv.mkDerivation rec {
|
|||||||
(if githubSupport then curl else null)
|
(if githubSupport then curl else null)
|
||||||
(if iwSupport then wirelesstools else null)
|
(if iwSupport then wirelesstools else null)
|
||||||
(if mpdSupport then mpd_clientlib else null)
|
(if mpdSupport then mpd_clientlib else null)
|
||||||
|
(if pulseSupport then libpulseaudio else null)
|
||||||
|
|
||||||
(if i3Support || i3GapsSupport then jsoncpp else null)
|
(if i3Support || i3GapsSupport then jsoncpp else null)
|
||||||
(if i3Support then i3 else null)
|
(if i3Support then i3 else null)
|
||||||
|
|||||||
@ -3,8 +3,7 @@
|
|||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
let patches' = if patches == null then [] else patches;
|
stdenv.mkDerivation rec {
|
||||||
in stdenv.mkDerivation rec {
|
|
||||||
name = "st-0.8.1";
|
name = "st-0.8.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
@ -12,7 +11,7 @@ in stdenv.mkDerivation rec {
|
|||||||
sha256 = "09k94v3n20gg32xy7y68p96x9dq5msl80gknf9gbvlyjp3i0zyy4";
|
sha256 = "09k94v3n20gg32xy7y68p96x9dq5msl80gknf9gbvlyjp3i0zyy4";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = patches';
|
inherit patches;
|
||||||
|
|
||||||
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
||||||
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
|
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
|
||||||
|
|||||||
@ -65,6 +65,6 @@ mkDerivation rec {
|
|||||||
homepage = https://yakuake.kde.org;
|
homepage = https://yakuake.kde.org;
|
||||||
description = "Quad-style terminal emulator for KDE";
|
description = "Quad-style terminal emulator for KDE";
|
||||||
maintainers = with lib.maintainers; [ fridh ];
|
maintainers = with lib.maintainers; [ fridh ];
|
||||||
licenses = lib.licenses.gpl2;
|
license = lib.licenses.gpl2;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -138,10 +138,6 @@ let
|
|||||||
# for updated patches and hints about build flags
|
# for updated patches and hints about build flags
|
||||||
# (gentooPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000")
|
# (gentooPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000")
|
||||||
./patches/fix-freetype.patch
|
./patches/fix-freetype.patch
|
||||||
] ++ optionals (versionRange "66" "68") [
|
|
||||||
./patches/nix_plugin_paths_52.patch
|
|
||||||
(githubPatch "4d10424f9e2a06978cdd6cdf5403fcaef18e49fc" "11la1jycmr5b5rw89mzcdwznmd2qh28sghvz9klr1qhmsmw1vzjc")
|
|
||||||
] ++ optionals (versionAtLeast version "68") [
|
|
||||||
./patches/nix_plugin_paths_68.patch
|
./patches/nix_plugin_paths_68.patch
|
||||||
] ++ optionals (versionRange "68" "69") [
|
] ++ optionals (versionRange "68" "69") [
|
||||||
./patches/remove-webp-include-68.patch
|
./patches/remove-webp-include-68.patch
|
||||||
|
|||||||
@ -1,70 +0,0 @@
|
|||||||
diff --git a/chrome/common/chrome_paths.cc b/chrome/common/chrome_paths.cc
|
|
||||||
index f4e119d..d9775bd 100644
|
|
||||||
--- a/chrome/common/chrome_paths.cc
|
|
||||||
+++ b/chrome/common/chrome_paths.cc
|
|
||||||
@@ -68,21 +68,14 @@ static base::LazyInstance<base::FilePath>
|
|
||||||
g_invalid_specified_user_data_dir = LAZY_INSTANCE_INITIALIZER;
|
|
||||||
|
|
||||||
// Gets the path for internal plugins.
|
|
||||||
-bool GetInternalPluginsDirectory(base::FilePath* result) {
|
|
||||||
-#if defined(OS_MACOSX)
|
|
||||||
- // If called from Chrome, get internal plugins from a subdirectory of the
|
|
||||||
- // framework.
|
|
||||||
- if (base::mac::AmIBundled()) {
|
|
||||||
- *result = chrome::GetFrameworkBundlePath();
|
|
||||||
- DCHECK(!result->empty());
|
|
||||||
- *result = result->Append("Internet Plug-Ins");
|
|
||||||
- return true;
|
|
||||||
- }
|
|
||||||
- // In tests, just look in the module directory (below).
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
- // The rest of the world expects plugins in the module directory.
|
|
||||||
- return PathService::Get(base::DIR_MODULE, result);
|
|
||||||
+bool GetInternalPluginsDirectory(base::FilePath* result,
|
|
||||||
+ const std::string& ident) {
|
|
||||||
+ std::string full_env = std::string("NIX_CHROMIUM_PLUGIN_PATH_") + ident;
|
|
||||||
+ const char* value = getenv(full_env.c_str());
|
|
||||||
+ if (value == NULL)
|
|
||||||
+ return PathService::Get(base::DIR_MODULE, result);
|
|
||||||
+ else
|
|
||||||
+ *result = base::FilePath(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Gets the path for bundled implementations of components. Note that these
|
|
||||||
@@ -272,7 +265,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
|
||||||
create_dir = true;
|
|
||||||
break;
|
|
||||||
case chrome::DIR_INTERNAL_PLUGINS:
|
|
||||||
- if (!GetInternalPluginsDirectory(&cur))
|
|
||||||
+ if (!GetInternalPluginsDirectory(&cur, "ALL"))
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case chrome::DIR_COMPONENTS:
|
|
||||||
@@ -280,7 +273,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
|
||||||
return false;
|
|
||||||
break;
|
|
||||||
case chrome::DIR_PEPPER_FLASH_PLUGIN:
|
|
||||||
- if (!GetInternalPluginsDirectory(&cur))
|
|
||||||
+ if (!GetInternalPluginsDirectory(&cur, "PEPPERFLASH"))
|
|
||||||
return false;
|
|
||||||
cur = cur.Append(kPepperFlashBaseDirectory);
|
|
||||||
break;
|
|
||||||
@@ -323,7 +316,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
|
||||||
// We currently need a path here to look up whether the plugin is disabled
|
|
||||||
// and what its permissions are.
|
|
||||||
case chrome::FILE_NACL_PLUGIN:
|
|
||||||
- if (!GetInternalPluginsDirectory(&cur))
|
|
||||||
+ if (!GetInternalPluginsDirectory(&cur, "NACL"))
|
|
||||||
return false;
|
|
||||||
cur = cur.Append(kInternalNaClPluginFileName);
|
|
||||||
break;
|
|
||||||
@@ -358,7 +351,7 @@ bool PathProvider(int key, base::FilePath* result) {
|
|
||||||
cur = cur.DirName();
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
- if (!GetInternalPluginsDirectory(&cur))
|
|
||||||
+ if (!GetInternalPluginsDirectory(&cur, "PNACL"))
|
|
||||||
return false;
|
|
||||||
#endif
|
|
||||||
cur = cur.Append(FILE_PATH_LITERAL("pnacl"));
|
|
||||||
@ -1,18 +1,18 @@
|
|||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
beta = {
|
beta = {
|
||||||
sha256 = "0m82ag02mydq5xkd0pamk2nq035j7yzhl47hnwl1irm632rpnfb4";
|
sha256 = "193sz96jrygixgzkaxx1vrpkhmnr6c7yzhsvv4p1qn0jymh2xd57";
|
||||||
sha256bin64 = "0xx6kjaa13al1ka0rfcrz1aj0nwhdwzqakz533ghk8qyvhanypkp";
|
sha256bin64 = "0wwmfsxbphxqfw4g6jgxlr0p32vjf4h8yfd5zz36xpa79dryb8sv";
|
||||||
version = "68.0.3440.59";
|
version = "68.0.3440.68";
|
||||||
};
|
};
|
||||||
dev = {
|
dev = {
|
||||||
sha256 = "1gpjf213ai3sjh894jsl5ziild15049p6bnh36z0r1f5w68pzakg";
|
sha256 = "102lqnl2m9cbcql6sghib1504fyicx7cgv0jkfx863jpzhrfrkcv";
|
||||||
sha256bin64 = "1slj3gj4786lqrypng48zy5030snar8pirqwm92b5pq25xd595j8";
|
sha256bin64 = "1y3iy25b3cck7kz5g913z64x1wdj1znqbn049g8h82x3krp76bgx";
|
||||||
version = "69.0.3486.0";
|
version = "69.0.3497.12";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
sha256 = "0am0q0wkmrvhidi4x07fvgb4ymv5q3agmwzgm808dj7ninfnnba5";
|
sha256 = "0hcmnn72xj9p3y77cb6cnr1vz81hiqmksdi6nw7xqfw5cwr7h5yw";
|
||||||
sha256bin64 = "06baih4wf88rpmw73vfhap4dxd61vjgmr256ix8qd937x2hv7qd3";
|
sha256bin64 = "0pa49yxj9s41mzhik7jixr4hwqanf31yzr1fsc6y5hkadbj7rwij";
|
||||||
version = "67.0.3396.99";
|
version = "68.0.3440.75";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
30
pkgs/applications/networking/cluster/kubetail/default.nix
Normal file
30
pkgs/applications/networking/cluster/kubetail/default.nix
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, lib, ... }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "kubetail-${version}";
|
||||||
|
version = "1.6.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "johanhaleby";
|
||||||
|
repo = "kubetail";
|
||||||
|
rev = "${version}";
|
||||||
|
sha256 = "10ql1kdsmyrk73jb6f5saf2q38znm0vdihscj3c9n0qhyhk9blpl";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
install -Dm755 kubetail $out/bin/kubetail
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Bash script to tail Kubernetes logs from multiple pods at the same time";
|
||||||
|
longDescription = ''
|
||||||
|
Bash script that enables you to aggregate (tail/follow) logs from
|
||||||
|
multiple pods into one stream. This is the same as running "kubectl logs
|
||||||
|
-f " but for multiple pods.
|
||||||
|
'';
|
||||||
|
homepage = https://github.com/johanhaleby/kubetail;
|
||||||
|
license = licenses.asl20;
|
||||||
|
maintainers = with maintainers; [ kalbasit ];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -77,6 +77,6 @@ let unwrapped = stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
in if plugins == [] then unwrapped
|
in if plugins == [] then unwrapped
|
||||||
else import ./wrapper.nix {
|
else import ./wrapper.nix {
|
||||||
inherit stdenv makeWrapper symlinkJoin plugins;
|
inherit makeWrapper symlinkJoin plugins;
|
||||||
pidgin = unwrapped;
|
pidgin = unwrapped;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, intltool, python3Packages, wrapGAppsHook
|
{ stdenv, fetchurl, pkgconfig, intltool, python3Packages, wrapGAppsHook
|
||||||
, glib, libxml2, libxslt, sqlite, libsoup , webkitgtk, json-glib, gst_all_1
|
, glib, libxml2, libxslt, sqlite, libsoup , webkitgtk, json-glib, gst_all_1
|
||||||
, libnotify, gtk3, gsettings-desktop-schemas, libpeas, dconf, librsvg
|
, libnotify, gtk3, gsettings-desktop-schemas, libpeas, dconf, librsvg
|
||||||
, gobjectIntrospection, glib-networking
|
, gobjectIntrospection, glib-networking, hicolor-icon-theme
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
glib gtk3 webkitgtk libxml2 libxslt sqlite libsoup gsettings-desktop-schemas
|
glib gtk3 webkitgtk libxml2 libxslt sqlite libsoup gsettings-desktop-schemas
|
||||||
libpeas gsettings-desktop-schemas json-glib dconf gobjectIntrospection
|
libpeas gsettings-desktop-schemas json-glib dconf gobjectIntrospection
|
||||||
librsvg glib-networking libnotify
|
librsvg glib-networking libnotify hicolor-icon-theme
|
||||||
] ++ (with gst_all_1; [
|
] ++ (with gst_all_1; [
|
||||||
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
|
gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
|
||||||
]);
|
]);
|
||||||
@ -28,7 +28,6 @@ in stdenv.mkDerivation rec {
|
|||||||
pythonPath = with python3Packages; [ pygobject3 pycairo ];
|
pythonPath = with python3Packages; [ pygobject3 pycairo ];
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
rm "$out/share/icons/hicolor/icon-theme.cache"
|
|
||||||
buildPythonPath "$out $pythonPath"
|
buildPythonPath "$out $pythonPath"
|
||||||
gappsWrapperArgs+=(--prefix PYTHONPATH : "$program_PYTHONPATH")
|
gappsWrapperArgs+=(--prefix PYTHONPATH : "$program_PYTHONPATH")
|
||||||
'';
|
'';
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, intltool, file, wrapGAppsHook
|
{ stdenv, fetchurl, pkgconfig, intltool, file, wrapGAppsHook
|
||||||
, openssl, curl, libevent, inotify-tools, systemd, zlib
|
, openssl, curl, libevent, inotify-tools, systemd, zlib, hicolor-icon-theme
|
||||||
, enableGTK3 ? false, gtk3
|
, enableGTK3 ? false, gtk3
|
||||||
, enableSystemd ? stdenv.isLinux
|
, enableSystemd ? stdenv.isLinux
|
||||||
, enableDaemon ? true
|
, enableDaemon ? true
|
||||||
@ -22,7 +22,8 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ intltool file openssl curl libevent zlib ]
|
buildInputs = [ intltool file openssl curl libevent zlib ]
|
||||||
++ optionals enableGTK3 [ gtk3 ]
|
++ optionals enableGTK3 [ gtk3 ]
|
||||||
++ optionals enableSystemd [ systemd ]
|
++ optionals enableSystemd [ systemd ]
|
||||||
++ optionals stdenv.isLinux [ inotify-tools ];
|
++ optionals stdenv.isLinux [ inotify-tools ]
|
||||||
|
++ optionals enableGTK3 [ hicolor-icon-theme ];
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
substituteInPlace ./configure \
|
substituteInPlace ./configure \
|
||||||
@ -39,10 +40,6 @@ stdenv.mkDerivation rec {
|
|||||||
++ optional enableSystemd "--with-systemd-daemon"
|
++ optional enableSystemd "--with-systemd-daemon"
|
||||||
++ optional enableGTK3 "--with-gtk";
|
++ optional enableGTK3 "--with-gtk";
|
||||||
|
|
||||||
preFixup = optionalString enableGTK3 ''
|
|
||||||
rm "$out/share/icons/hicolor/icon-theme.cache"
|
|
||||||
'';
|
|
||||||
|
|
||||||
NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework CoreFoundation";
|
NIX_LDFLAGS = optionalString stdenv.isDarwin "-framework CoreFoundation";
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|||||||
48
pkgs/applications/networking/sieve-connect/default.nix
Normal file
48
pkgs/applications/networking/sieve-connect/default.nix
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, makeWrapper, perl, perlPackages }: stdenv.mkDerivation rec {
|
||||||
|
name = "sieve-connect-${version}";
|
||||||
|
version = "0.89";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "philpennock";
|
||||||
|
repo = "sieve-connect";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0g7cv29wd5673inl4c87xb802k86bj6gcwh131xrbbg0a0g1c8fp";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ perl ];
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
preBuild = ''
|
||||||
|
# Fixes failing build when not building in git repo
|
||||||
|
mkdir .git
|
||||||
|
touch .git/HEAD
|
||||||
|
echo "${version}" > versionfile
|
||||||
|
echo "$(date +%Y-%m-%d)" > datefile
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildFlags = [ "PERL5LIB=${stdenv.lib.makePerlPath [ perlPackages.FileSlurp ]}" "bin" "man" ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin $out/share/man/man1
|
||||||
|
install -m 755 sieve-connect $out/bin
|
||||||
|
gzip -c sieve-connect.1 > $out/share/man/man1/sieve-connect.1.gz
|
||||||
|
|
||||||
|
wrapProgram $out/bin/sieve-connect \
|
||||||
|
--prefix PERL5LIB : "${stdenv.lib.makePerlPath (with perlPackages; [
|
||||||
|
AuthenSASL Socket6 IOSocketInet6 IOSocketSSL NetSSLeay NetDNS PodUsage
|
||||||
|
TermReadKey TermReadLineGnu ])}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "A client for the MANAGESIEVE Protocol";
|
||||||
|
longDescription = ''
|
||||||
|
This is sieve-connect. A client for the ManageSieve protocol,
|
||||||
|
as specifed in RFC 5804. Historically, this was MANAGESIEVE as
|
||||||
|
implemented by timsieved in Cyrus IMAP.
|
||||||
|
'';
|
||||||
|
homepage = https://github.com/philpennock/sieve-connect;
|
||||||
|
license = licenses.bsd3;
|
||||||
|
platforms = platforms.unix;
|
||||||
|
maintainers = with maintainers; [ das_j ];
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -1,7 +1,7 @@
|
|||||||
{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk2, libgnomeui, libofx
|
{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk2, libgnomeui, libofx
|
||||||
, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
|
, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
|
||||||
, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
|
, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
|
||||||
, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar
|
, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar, hicolor-icon-theme
|
||||||
}:
|
}:
|
||||||
|
|
||||||
/* If you experience GConf errors when running GnuCash on NixOS, see
|
/* If you experience GConf errors when running GnuCash on NixOS, see
|
||||||
@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
|
|||||||
libgnomeprint goffice enchant gettext intltool perl guile slibGuile
|
libgnomeprint goffice enchant gettext intltool perl guile slibGuile
|
||||||
swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
|
swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
|
||||||
perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
|
perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
|
||||||
|
hicolor-icon-theme
|
||||||
];
|
];
|
||||||
propagatedUserEnvPkgs = [ gconf ];
|
propagatedUserEnvPkgs = [ gconf ];
|
||||||
|
|
||||||
@ -49,8 +50,6 @@ stdenv.mkDerivation rec {
|
|||||||
--set GCONF_CONFIG_SOURCE 'xml::~/.gconf' \
|
--set GCONF_CONFIG_SOURCE 'xml::~/.gconf' \
|
||||||
--prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
|
--prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
|
||||||
done
|
done
|
||||||
|
|
||||||
rm $out/share/icons/hicolor/icon-theme.cache
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# The following settings fix failures in the test suite. It's not required otherwise.
|
# The following settings fix failures in the test suite. It's not required otherwise.
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
, glib, gtk2, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice
|
, glib, gtk2, libofx, aqbanking, gwenhywfar, libgnomecanvas, goffice
|
||||||
, webkit, glibcLocales, gsettings-desktop-schemas, dconf
|
, webkit, glibcLocales, gsettings-desktop-schemas, dconf
|
||||||
, gettext, swig, slibGuile, enchant, bzip2, isocodes, libdbi, libdbiDrivers
|
, gettext, swig, slibGuile, enchant, bzip2, isocodes, libdbi, libdbiDrivers
|
||||||
, pango, gdk_pixbuf
|
, pango, gdk_pixbuf, hicolor-icon-theme
|
||||||
}:
|
}:
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
|
|||||||
libxml2 libxslt glibcLocales gettext swig enchant
|
libxml2 libxslt glibcLocales gettext swig enchant
|
||||||
bzip2 isocodes
|
bzip2 isocodes
|
||||||
# glib, gtk...
|
# glib, gtk...
|
||||||
glib gtk2 goffice webkit
|
glib gtk2 goffice webkit hicolor-icon-theme
|
||||||
# gnome...
|
# gnome...
|
||||||
dconf gconf libgnomecanvas gsettings-desktop-schemas
|
dconf gconf libgnomecanvas gsettings-desktop-schemas
|
||||||
# financial
|
# financial
|
||||||
@ -83,8 +83,6 @@ stdenv.mkDerivation rec {
|
|||||||
--prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
|
--prefix GIO_EXTRA_MODULES : "${stdenv.lib.getLib dconf}/lib/gio/modules" \
|
||||||
--prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
|
--prefix PATH ":" "$out/bin:${stdenv.lib.makeBinPath [ perl gconf ]}"
|
||||||
done
|
done
|
||||||
|
|
||||||
rm $out/share/icons/hicolor/icon-theme.cache
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# The following settings fix failures in the test suite. It's not required otherwise.
|
# The following settings fix failures in the test suite. It's not required otherwise.
|
||||||
|
|||||||
100
pkgs/applications/science/astronomy/openspace/assets.patch
Normal file
100
pkgs/applications/science/astronomy/openspace/assets.patch
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
diff --git a/data/assets/scene/solarsystem/planets/jupiter/jup310.asset b/data/assets/scene/solarsystem/planets/jupiter/jup310.asset
|
||||||
|
index c15f6d9..1f8ddaf 100755
|
||||||
|
--- a/data/assets/scene/solarsystem/planets/jupiter/jup310.asset
|
||||||
|
+++ b/data/assets/scene/solarsystem/planets/jupiter/jup310.asset
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
-local Kernels = asset.syncedResource({
|
||||||
|
- Name = "Jupiter Spice Kernels (jup310)",
|
||||||
|
- Type = "TorrentSynchronization",
|
||||||
|
- Identifier = "jup310",
|
||||||
|
- Magnet = "magnet:?xt=urn:btih:E8B7D7E136DE1C6249158B254BFC8B9ECE2A0539&dn=jup310.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
|
||||||
|
-})
|
||||||
|
+-- local Kernels = asset.syncedResource({
|
||||||
|
+-- Name = "Jupiter Spice Kernels (jup310)",
|
||||||
|
+-- Type = "TorrentSynchronization",
|
||||||
|
+-- Identifier = "jup310",
|
||||||
|
+-- Magnet = "magnet:?xt=urn:btih:E8B7D7E136DE1C6249158B254BFC8B9ECE2A0539&dn=jup310.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
|
||||||
|
+-- })
|
||||||
|
|
||||||
|
-asset.export("Kernels", Kernels .. '/jup310.bsp')
|
||||||
|
+-- asset.export("Kernels", Kernels .. '/jup310.bsp')
|
||||||
|
diff --git a/data/assets/scene/solarsystem/planets/mars/mar097.asset b/data/assets/scene/solarsystem/planets/mars/mar097.asset
|
||||||
|
index e77d67d..8d738a6 100755
|
||||||
|
--- a/data/assets/scene/solarsystem/planets/mars/mar097.asset
|
||||||
|
+++ b/data/assets/scene/solarsystem/planets/mars/mar097.asset
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
-local Kernels = asset.syncedResource({
|
||||||
|
- Name = "Mars Spice Kernels",
|
||||||
|
- Type = "TorrentSynchronization",
|
||||||
|
- Identifier = "mat097",
|
||||||
|
- Magnet = "magnet:?xt=urn:btih:308F326B9AF864294D73042FBBED33B17291E27E&dn=mar097.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
|
||||||
|
-})
|
||||||
|
+-- local Kernels = asset.syncedResource({
|
||||||
|
+-- Name = "Mars Spice Kernels",
|
||||||
|
+-- Type = "TorrentSynchronization",
|
||||||
|
+-- Identifier = "mat097",
|
||||||
|
+-- Magnet = "magnet:?xt=urn:btih:308F326B9AF864294D73042FBBED33B17291E27E&dn=mar097.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
|
||||||
|
+-- })
|
||||||
|
|
||||||
|
-asset.export("Kernels", Kernels .. '/mar097.bsp')
|
||||||
|
+-- asset.export("Kernels", Kernels .. '/mar097.bsp')
|
||||||
|
diff --git a/data/assets/scene/solarsystem/planets/neptune/nep081.asset b/data/assets/scene/solarsystem/planets/neptune/nep081.asset
|
||||||
|
index e9c49ce..cfb5fac 100755
|
||||||
|
--- a/data/assets/scene/solarsystem/planets/neptune/nep081.asset
|
||||||
|
+++ b/data/assets/scene/solarsystem/planets/neptune/nep081.asset
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
-local Kernels = asset.syncedResource({
|
||||||
|
- Name = "Neptune Spice Kernels (nep081)",
|
||||||
|
- Type = "TorrentSynchronization",
|
||||||
|
- Identifier = "nep081",
|
||||||
|
- Magnet = "magnet:?xt=urn:btih:A6079CF8D4BF3B6BB38F4F9F633CB7724FF91693&dn=nep081.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
|
||||||
|
-})
|
||||||
|
+-- local Kernels = asset.syncedResource({
|
||||||
|
+-- Name = "Neptune Spice Kernels (nep081)",
|
||||||
|
+-- Type = "TorrentSynchronization",
|
||||||
|
+-- Identifier = "nep081",
|
||||||
|
+-- Magnet = "magnet:?xt=urn:btih:A6079CF8D4BF3B6BB38F4F9F633CB7724FF91693&dn=nep081.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
|
||||||
|
+-- })
|
||||||
|
|
||||||
|
-asset.export("Kernels", Kernels .. '/nep081.bsp')
|
||||||
|
+-- asset.export("Kernels", Kernels .. '/nep081.bsp')
|
||||||
|
diff --git a/data/assets/scene/solarsystem/planets/saturn/sat375.asset b/data/assets/scene/solarsystem/planets/saturn/sat375.asset
|
||||||
|
index a55f2ed..f904b3c 100755
|
||||||
|
--- a/data/assets/scene/solarsystem/planets/saturn/sat375.asset
|
||||||
|
+++ b/data/assets/scene/solarsystem/planets/saturn/sat375.asset
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
-local Kernels = asset.syncedResource({
|
||||||
|
- Name = "Saturn Spice Kernels (sat375)",
|
||||||
|
- Type = "TorrentSynchronization",
|
||||||
|
- Identifier = "sat375",
|
||||||
|
- Magnet = "magnet:?xt=urn:btih:79083d2069df389e65d7688bb326c7aaf1953845&dn=sat375.bsp"
|
||||||
|
-})
|
||||||
|
+-- local Kernels = asset.syncedResource({
|
||||||
|
+-- Name = "Saturn Spice Kernels (sat375)",
|
||||||
|
+-- Type = "TorrentSynchronization",
|
||||||
|
+-- Identifier = "sat375",
|
||||||
|
+-- Magnet = "magnet:?xt=urn:btih:79083d2069df389e65d7688bb326c7aaf1953845&dn=sat375.bsp"
|
||||||
|
+-- })
|
||||||
|
|
||||||
|
-asset.export("Kernels", Kernels .. '/sat375.bsp')
|
||||||
|
+-- asset.export("Kernels", Kernels .. '/sat375.bsp')
|
||||||
|
diff --git a/data/assets/scene/solarsystem/planets/uranus/ura111.asset b/data/assets/scene/solarsystem/planets/uranus/ura111.asset
|
||||||
|
index 665d059..8f95f34 100755
|
||||||
|
--- a/data/assets/scene/solarsystem/planets/uranus/ura111.asset
|
||||||
|
+++ b/data/assets/scene/solarsystem/planets/uranus/ura111.asset
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
-local Kernels = asset.syncedResource({
|
||||||
|
- Name = "Uranus Spice Kernels (ura111)",
|
||||||
|
- Type = "TorrentSynchronization",
|
||||||
|
- Identifier = "ura111",
|
||||||
|
- Magnet = "magnet:?xt=urn:btih:26C4903D1A12AE439480F31B45BAEB5781D2B305&dn=ura111.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
|
||||||
|
-})
|
||||||
|
+-- local Kernels = asset.syncedResource({
|
||||||
|
+-- Name = "Uranus Spice Kernels (ura111)",
|
||||||
|
+-- Type = "TorrentSynchronization",
|
||||||
|
+-- Identifier = "ura111",
|
||||||
|
+-- Magnet = "magnet:?xt=urn:btih:26C4903D1A12AE439480F31B45BAEB5781D2B305&dn=ura111.bsp&tr=udp%3a%2f%2ftracker.openbittorrent.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.publicbt.com%3a80%2fannounce&tr=udp%3a%2f%2ftracker.ccc.de%3a80%2fannounce"
|
||||||
|
+-- })
|
||||||
|
|
||||||
|
-asset.export("Kernels", Kernels .. '/ura111.bsp')
|
||||||
|
+-- asset.export("Kernels", Kernels .. '/ura111.bsp')
|
||||||
49
pkgs/applications/science/astronomy/openspace/config.patch
Normal file
49
pkgs/applications/science/astronomy/openspace/config.patch
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
diff --git a/openspace.cfg b/openspace.cfg
|
||||||
|
index c86830b..e7f89d9 100755
|
||||||
|
--- a/openspace.cfg
|
||||||
|
+++ b/openspace.cfg
|
||||||
|
@@ -2,18 +2,21 @@
|
||||||
|
-- require('scripts/configuration_helper.lua')
|
||||||
|
-- which defines helper functions useful to customize the configuration
|
||||||
|
|
||||||
|
+userdir = os.getenv("HOME") .. "/.openspace/"
|
||||||
|
+os.execute("mkdir -p " .. userdir)
|
||||||
|
+
|
||||||
|
return {
|
||||||
|
-- Determines which SGCT configuration file is loaded, that is, if there rendering
|
||||||
|
-- occurs in a single window, a fisheye projection, or a dome cluster system
|
||||||
|
|
||||||
|
-- A regular 1280x720 window
|
||||||
|
- SGCTConfig = sgct.config.single{},
|
||||||
|
+ -- SGCTConfig = sgct.config.single{},
|
||||||
|
|
||||||
|
-- A regular 1920x1080 window
|
||||||
|
-- SGCTConfig = sgct.config.single{1920, 1080},
|
||||||
|
|
||||||
|
-- A windowed 1920x1080 fullscreen
|
||||||
|
- -- SGCTConfig = sgct.config.single{1920, 1080, border=false, windowPos={0,0}, shared=true, name="WV_OBS_SPOUT1"},
|
||||||
|
+ SGCTConfig = sgct.config.single{1920, 1080, border=false, windowPos={0,0}, shared=true, name="WV_OBS_SPOUT1"},
|
||||||
|
|
||||||
|
-- A 1k fisheye rendering
|
||||||
|
-- SGCTConfig = sgct.config.fisheye{1024, 1024},
|
||||||
|
@@ -53,15 +56,15 @@ return {
|
||||||
|
TASKS = "${DATA}/tasks",
|
||||||
|
WEB = "${DATA}/web",
|
||||||
|
|
||||||
|
- CACHE = "${BASE}/cache",
|
||||||
|
+ CACHE = userdir .. "cache",
|
||||||
|
CONFIG = "${BASE}/config",
|
||||||
|
- DOCUMENTATION = "${BASE}/documentation",
|
||||||
|
- LOGS = "${BASE}/logs",
|
||||||
|
+ DOCUMENTATION = userdir .. "documentation",
|
||||||
|
+ LOGS = userdir .. "logs",
|
||||||
|
MODULES = "${BASE}/modules",
|
||||||
|
SCRIPTS = "${BASE}/scripts",
|
||||||
|
SHADERS = "${BASE}/shaders",
|
||||||
|
- SYNC = "${BASE}/sync",
|
||||||
|
- TESTDIR = "${BASE}/tests"
|
||||||
|
+ SYNC = userdir .. "sync",
|
||||||
|
+ TESTDIR = userdir .. "tests"
|
||||||
|
},
|
||||||
|
Fonts = {
|
||||||
|
Mono = "${FONTS}/Bitstream-Vera-Sans-Mono/VeraMono.ttf",
|
||||||
@ -0,0 +1,91 @@
|
|||||||
|
diff --git a/include/openspace/util/distanceconversion.h b/include/openspace/util/distanceconversion.h
|
||||||
|
index 80a3a96..7059752 100755
|
||||||
|
--- a/include/openspace/util/distanceconversion.h
|
||||||
|
+++ b/include/openspace/util/distanceconversion.h
|
||||||
|
@@ -159,24 +159,34 @@ constexpr const char* nameForDistanceUnit(DistanceUnit unit, bool pluralForm = f
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr DistanceUnit distanceUnitFromString(const char* unitName) {
|
||||||
|
+ int result = -1;
|
||||||
|
+
|
||||||
|
int i = 0;
|
||||||
|
for (const char* val : DistanceUnitNamesSingular) {
|
||||||
|
if (ghoul::equal(unitName, val)) {
|
||||||
|
- return static_cast<DistanceUnit>(i);
|
||||||
|
+ result = i;
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
|
||||||
|
- i = 0;
|
||||||
|
- for (const char* val : DistanceUnitNamesPlural) {
|
||||||
|
- if (ghoul::equal(unitName, val)) {
|
||||||
|
- return static_cast<DistanceUnit>(i);
|
||||||
|
+ if (result == -1) {
|
||||||
|
+ i = 0;
|
||||||
|
+ for (const char* val : DistanceUnitNamesPlural) {
|
||||||
|
+ if (ghoul::equal(unitName, val)) {
|
||||||
|
+ result = i;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ ++i;
|
||||||
|
}
|
||||||
|
- ++i;
|
||||||
|
}
|
||||||
|
|
||||||
|
- ghoul_assert(false, "Unit name is not a valid name");
|
||||||
|
- throw ghoul::MissingCaseException();
|
||||||
|
+ if (result != -1)
|
||||||
|
+ return static_cast<DistanceUnit>(result);
|
||||||
|
+ else {
|
||||||
|
+ ghoul_assert(false, "Unit name is not a valid name");
|
||||||
|
+ throw ghoul::MissingCaseException();
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/include/openspace/util/timeconversion.h b/include/openspace/util/timeconversion.h
|
||||||
|
index a36c92a..699bca9 100755
|
||||||
|
--- a/include/openspace/util/timeconversion.h
|
||||||
|
+++ b/include/openspace/util/timeconversion.h
|
||||||
|
@@ -142,23 +142,32 @@ constexpr const char* nameForTimeUnit(TimeUnit unit, bool pluralForm = false) {
|
||||||
|
}
|
||||||
|
|
||||||
|
constexpr TimeUnit timeUnitFromString(const char* unitName) {
|
||||||
|
+ int result = -1;
|
||||||
|
+
|
||||||
|
int i = 0;
|
||||||
|
for (const char* val : TimeUnitNamesSingular) {
|
||||||
|
if (ghoul::equal(unitName, val)) {
|
||||||
|
- return static_cast<TimeUnit>(i);
|
||||||
|
+ result = i;
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
|
||||||
|
- i = 0;
|
||||||
|
- for (const char* val : TimeUnitNamesPlural) {
|
||||||
|
- if (ghoul::equal(unitName, val)) {
|
||||||
|
- return static_cast<TimeUnit>(i);
|
||||||
|
+ if (result == -1) {
|
||||||
|
+ i = 0;
|
||||||
|
+ for (const char* val : TimeUnitNamesPlural) {
|
||||||
|
+ if (ghoul::equal(unitName, val)) {
|
||||||
|
+ result = i;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ ++i;
|
||||||
|
}
|
||||||
|
- ++i;
|
||||||
|
}
|
||||||
|
|
||||||
|
- throw ghoul::MissingCaseException();
|
||||||
|
+ if (result != -1)
|
||||||
|
+ return static_cast<TimeUnit>(result);
|
||||||
|
+ else
|
||||||
|
+ throw ghoul::MissingCaseException();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::pair<double, std::string> simplifyTime(double seconds,
|
||||||
89
pkgs/applications/science/astronomy/openspace/default.nix
Normal file
89
pkgs/applications/science/astronomy/openspace/default.nix
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, fetchurl, makeWrapper, cmake
|
||||||
|
, curl, boost, gdal, glew, soil
|
||||||
|
, libX11, libXi, libXxf86vm, libXcursor, libXrandr, libXinerama }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "0.11.1";
|
||||||
|
name = "openspace-${version}";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "OpenSpace";
|
||||||
|
repo = "OpenSpace";
|
||||||
|
rev = "a65eea61a1b8807ce3d69e9925e75f8e3dfb085d";
|
||||||
|
sha256 = "0msqixf30r0d41xmfmzkdfw6w9jkx2ph5clq8xiwrg1jc3z9q7nv";
|
||||||
|
fetchSubmodules = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
makeWrapper cmake
|
||||||
|
curl boost gdal glew soil
|
||||||
|
libX11 libXi libXxf86vm libXcursor libXrandr libXinerama
|
||||||
|
];
|
||||||
|
|
||||||
|
glmPlatformH = fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/g-truc/glm/dd48b56e44d699a022c69155c8672caacafd9e8a/glm/simd/platform.h";
|
||||||
|
sha256 = "0y91hlbgn5va7ijg5mz823gqkq9hqxl00lwmdwnf8q2g086rplzw";
|
||||||
|
};
|
||||||
|
|
||||||
|
# See <https://github.com/g-truc/glm/issues/726>
|
||||||
|
prePatch = ''
|
||||||
|
cp ${glmPlatformH} ext/sgct/include/glm/simd/platform.h
|
||||||
|
cp ${glmPlatformH} ext/ghoul/ext/glm/glm/simd/platform.h
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
# See <https://github.com/opensgct/sgct/issues/13>
|
||||||
|
./vrpn.patch
|
||||||
|
|
||||||
|
./constexpr.patch
|
||||||
|
./config.patch
|
||||||
|
|
||||||
|
# WARNING: This patch disables some slow torrents in a very dirty way.
|
||||||
|
./assets.patch
|
||||||
|
];
|
||||||
|
|
||||||
|
bundle = "$out/usr/share/openspace";
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
cmakeFlagsArray=(
|
||||||
|
$cmakeFlagsArray
|
||||||
|
"-DCMAKE_BUILD_TYPE="
|
||||||
|
"-DCMAKE_INSTALL_PREFIX=${bundle}"
|
||||||
|
)
|
||||||
|
'';
|
||||||
|
|
||||||
|
preInstall = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mkdir -p ${bundle}
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
cp ext/spice/libSpice.so ${bundle}/lib
|
||||||
|
cp ext/ghoul/ext/lua/libLua.so ${bundle}/lib
|
||||||
|
'';
|
||||||
|
|
||||||
|
postFixup = ''
|
||||||
|
for bin in ${bundle}/bin/*
|
||||||
|
do
|
||||||
|
rpath=$(patchelf --print-rpath $bin)
|
||||||
|
patchelf --set-rpath $rpath:${bundle}/lib $bin
|
||||||
|
|
||||||
|
name=$(basename $bin)
|
||||||
|
makeWrapper $bin $out/bin/$name --run "cd ${bundle}"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Open-source astrovisualization project";
|
||||||
|
longDescription = ''
|
||||||
|
OpenSpace is open source interactive data visualization software
|
||||||
|
designed to visualize the entire known universe and portray our
|
||||||
|
ongoing efforts to investigate the cosmos.
|
||||||
|
|
||||||
|
WARNING: This build is not very usable for now.
|
||||||
|
'';
|
||||||
|
homepage = https://www.openspaceproject.com/;
|
||||||
|
license = stdenv.lib.licenses.mit;
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
13
pkgs/applications/science/astronomy/openspace/vrpn.patch
Normal file
13
pkgs/applications/science/astronomy/openspace/vrpn.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/ext/sgct/src/deps/vrpn/vrpn_Connection.C b/ext/sgct/src/deps/vrpn/vrpn_Connection.C
|
||||||
|
index d6ffdc5..f90a2b2 100755
|
||||||
|
--- a/ext/sgct/src/deps/vrpn/vrpn_Connection.C
|
||||||
|
+++ b/ext/sgct/src/deps/vrpn/vrpn_Connection.C
|
||||||
|
@@ -2489,7 +2489,7 @@ static int vrpn_start_server(const char *machine, char *server_name, char *args,
|
||||||
|
#if defined(sparc) || defined(FreeBSD) || defined(_AIX) || defined(__ANDROID__)
|
||||||
|
int status; // doesn't exist on sparc_solaris or FreeBSD
|
||||||
|
#else
|
||||||
|
- union wait status;
|
||||||
|
+ int status;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Check to see if they called back yet. */
|
||||||
@ -9,7 +9,7 @@ assert enableGUI -> libGLU_combined != null && xorg != null && fltk != null;
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "${attr}-${version}";
|
name = "${attr}-${version}";
|
||||||
attr = if enableGUI then "giac-with-xcas" else "giac";
|
attr = if enableGUI then "giac-with-xcas" else "giac";
|
||||||
version = "1.4.9-59";
|
version = "1.4.9-59"; # TODO try to remove preCheck phase on upgrade
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz";
|
url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz";
|
||||||
@ -50,6 +50,14 @@ stdenv.mkDerivation rec {
|
|||||||
outputs = [ "out" "doc" ];
|
outputs = [ "out" "doc" ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
preCheck = ''
|
||||||
|
# One test in this file fails. That test just tests a part of the pari
|
||||||
|
# interface that isn't actually used in giac. Of course it would be better
|
||||||
|
# to only remove that one test, but that would require a patch.
|
||||||
|
# Removing the whole test set should be good enough for now.
|
||||||
|
# Upstream report: https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=4&t=2102#p10326
|
||||||
|
echo > check/chk_fhan11
|
||||||
|
'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
|||||||
@ -8,11 +8,11 @@ assert withThread -> libpthreadstubs != null;
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
name = "pari-${version}";
|
name = "pari-${version}";
|
||||||
version = "2.9.5";
|
version = "2.11.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
|
url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
|
||||||
sha256 = "05z6y5iwdzcdggbrkic9cy9vy9wmk5qxc21cb4lqnbqxnhjihibb";
|
sha256 = "18f9yj8ffn3dxignbxj1x36771zbxy4js0r18mv6831ymb6cld9q";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
@ -67,8 +67,8 @@ stdenv.mkDerivation rec {
|
|||||||
run 3 or 4 times faster.) gp2c currently only understands a subset
|
run 3 or 4 times faster.) gp2c currently only understands a subset
|
||||||
of the GP language.
|
of the GP language.
|
||||||
'';
|
'';
|
||||||
homepage = "http://pari.math.u-bordeaux.fr/";
|
homepage = http://pari.math.u-bordeaux.fr;
|
||||||
downloadPage = "http://pari.math.u-bordeaux.fr/download.html";
|
downloadPage = http://pari.math.u-bordeaux.fr/download.html;
|
||||||
license = licenses.gpl2Plus;
|
license = licenses.gpl2Plus;
|
||||||
maintainers = with maintainers; [ ertes raskin AndersonTorres ];
|
maintainers = with maintainers; [ ertes raskin AndersonTorres ];
|
||||||
platforms = platforms.linux ++ platforms.darwin;
|
platforms = platforms.linux ++ platforms.darwin;
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
{ stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkgconfig
|
{ stdenv, fetchurl, gmp, bison, perl, ncurses, readline, coreutils, pkgconfig
|
||||||
|
, lib
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, file
|
, file
|
||||||
, flint
|
, flint
|
||||||
@ -9,21 +10,25 @@
|
|||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "singular-${version}${patchVersion}";
|
name = "singular-${version}";
|
||||||
version = "4.1.1";
|
version = "4.1.1p2";
|
||||||
patchVersion = "p1";
|
|
||||||
|
|
||||||
urlVersion = builtins.replaceStrings [ "." ] [ "-" ] version;
|
src = let
|
||||||
src = fetchurl {
|
# singular sorts its tarballs in directories by base release (without patch version)
|
||||||
url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${urlVersion}/singular-${version}${patchVersion}.tar.gz";
|
# for example 4.1.1p1 will be in the directory 4-1-1
|
||||||
sha256 = "0wvgz7l1b7zkpmim0r3mvv4fp8xnhlbz4c7hc90rn30snlansnf1";
|
baseVersion = builtins.head (lib.splitString "p" version);
|
||||||
|
urlVersion = builtins.replaceStrings [ "." ] [ "-" ] baseVersion;
|
||||||
|
in
|
||||||
|
fetchurl {
|
||||||
|
url = "http://www.mathematik.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${urlVersion}/singular-${version}.tar.gz";
|
||||||
|
sha256 = "07x9kri8vl4galik7lr6pscq3c51n8570pyw64i7gbj0m706f7wf";
|
||||||
};
|
};
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--with-ntl=${ntl}"
|
"--with-ntl=${ntl}"
|
||||||
] ++stdenv.lib.optionals enableFactory [
|
] ++ lib.optionals enableFactory [
|
||||||
"--enable-factory"
|
"--enable-factory"
|
||||||
] ++ stdenv.lib.optionals enableGfanlib [
|
] ++ lib.optionals enableGfanlib [
|
||||||
"--enable-gfanlib"
|
"--enable-gfanlib"
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -42,7 +47,7 @@ stdenv.mkDerivation rec {
|
|||||||
readline
|
readline
|
||||||
ntl
|
ntl
|
||||||
flint
|
flint
|
||||||
] ++ stdenv.lib.optionals enableGfanlib [
|
] ++ lib.optionals enableGfanlib [
|
||||||
cddlib
|
cddlib
|
||||||
];
|
];
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
@ -60,10 +65,12 @@ stdenv.mkDerivation rec {
|
|||||||
-i '{}' ';'
|
-i '{}' ';'
|
||||||
'';
|
'';
|
||||||
|
|
||||||
hardeningDisable = stdenv.lib.optional stdenv.isi686 "stackprotector";
|
hardeningDisable = lib.optional stdenv.isi686 "stackprotector";
|
||||||
|
|
||||||
# The Makefile actually defaults to `make install` anyway
|
# The Makefile actually defaults to `make install` anyway
|
||||||
buildPhase = "true;";
|
buildPhase = ''
|
||||||
|
# do nothing
|
||||||
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p "$out"
|
mkdir -p "$out"
|
||||||
@ -77,7 +84,7 @@ stdenv.mkDerivation rec {
|
|||||||
# simple test to make sure singular starts and finds its libraries
|
# simple test to make sure singular starts and finds its libraries
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
installCheckPhase = ''
|
installCheckPhase = ''
|
||||||
$out/bin/Singular -c 'LIB "freegb.lib"; exit;'
|
"$out/bin/Singular" -c 'LIB "freegb.lib"; exit;'
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo >&2 "Error loading the freegb library in Singular."
|
echo >&2 "Error loading the freegb library in Singular."
|
||||||
exit 1
|
exit 1
|
||||||
@ -86,9 +93,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with lib; {
|
||||||
description = "A CAS for polynomial computations";
|
description = "A CAS for polynomial computations";
|
||||||
maintainers = with maintainers; [ raskin ];
|
maintainers = with maintainers; [ raskin timokau ];
|
||||||
|
# 32 bit x86 fails with some link error: `undefined reference to `__divmoddi4@GCC_7.0.0'`
|
||||||
platforms = subtractLists platforms.i686 platforms.linux;
|
platforms = subtractLists platforms.i686 platforms.linux;
|
||||||
license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
|
license = licenses.gpl3; # Or GPLv2 at your option - but not GPLv4
|
||||||
homepage = http://www.singular.uni-kl.de;
|
homepage = http://www.singular.uni-kl.de;
|
||||||
|
|||||||
@ -244,6 +244,7 @@ EOF
|
|||||||
|
|
||||||
## InstallCheck
|
## InstallCheck
|
||||||
|
|
||||||
|
doCheck = false;
|
||||||
doInstallCheck = true;
|
doInstallCheck = true;
|
||||||
|
|
||||||
installCheckTarget = "test";
|
installCheckTarget = "test";
|
||||||
|
|||||||
@ -4,14 +4,14 @@
|
|||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "tig";
|
pname = "tig";
|
||||||
version = "2.3.3";
|
version = "2.4.0";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "jonas";
|
owner = "jonas";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = name;
|
rev = name;
|
||||||
sha256 = "1gw5ia6cl5b0q91kv4vfg35my2p49np23aikxqf5gn00zhqrkfap";
|
sha256 = "1d5clkdgj0ip1j0k335pr4dabcnap6jr016q90i49p1jxixy96pb";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkgconfig ];
|
nativeBuildInputs = [ makeWrapper autoreconfHook asciidoc xmlto docbook_xsl docbook_xml_dtd_45 findXMLCatalogs pkgconfig ];
|
||||||
|
|||||||
@ -7,13 +7,13 @@ with stdenv.lib;
|
|||||||
|
|
||||||
buildGoPackage rec {
|
buildGoPackage rec {
|
||||||
name = "gitea-${version}";
|
name = "gitea-${version}";
|
||||||
version = "1.4.2";
|
version = "1.4.3";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "go-gitea";
|
owner = "go-gitea";
|
||||||
repo = "gitea";
|
repo = "gitea";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "15iqvfvijg46444pybi7vg7xhl2x0pr5p1416qlc2nakkn3drpi1";
|
sha256 = "0rl20dhj3in8w3ngix42qly077zrwg578aa2nxxznmn9k8xdvfpd";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./static-root-path.patch ];
|
patches = [ ./static-root-path.patch ];
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec,
|
libogg, libopus, libtheora, libvorbis, libdvdcss, a52dec,
|
||||||
lame, libdvdread, libdvdnav, libbluray,
|
lame, libdvdread, libdvdnav, libbluray,
|
||||||
mp4v2, mpeg2dec, x264, x265, libmkv,
|
mp4v2, mpeg2dec, x264, x265, libmkv,
|
||||||
fontconfig, freetype,
|
fontconfig, freetype, hicolor-icon-theme,
|
||||||
glib, gtk3, intltool, libnotify,
|
glib, gtk3, intltool, libnotify,
|
||||||
gst_all_1, dbus-glib, udev, libgudev, libvpx,
|
gst_all_1, dbus-glib, udev, libgudev, libvpx,
|
||||||
useGtk ? true, wrapGAppsHook ? null, libappindicator-gtk3 ? null,
|
useGtk ? true, wrapGAppsHook ? null, libappindicator-gtk3 ? null,
|
||||||
@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
|
|||||||
] ++ lib.optionals useGtk [
|
] ++ lib.optionals useGtk [
|
||||||
glib gtk3 libappindicator-gtk3 libnotify
|
glib gtk3 libappindicator-gtk3 libnotify
|
||||||
gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus-glib udev
|
gst_all_1.gstreamer gst_all_1.gst-plugins-base dbus-glib udev
|
||||||
libgudev
|
libgudev hicolor-icon-theme
|
||||||
] ++ (if useFfmpeg then [ ffmpeg ] else [ patched_libav_12 ])
|
] ++ (if useFfmpeg then [ ffmpeg ] else [ patched_libav_12 ])
|
||||||
++ lib.optional useFdk fdk_aac;
|
++ lib.optional useFdk fdk_aac;
|
||||||
|
|
||||||
@ -82,11 +82,6 @@ stdenv.mkDerivation rec {
|
|||||||
cd build
|
cd build
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# icon-theme.cache belongs in the icon theme, not in individual packages
|
|
||||||
postInstall = ''
|
|
||||||
rm $out/share/icons/hicolor/icon-theme.cache
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
homepage = http://handbrake.fr/;
|
homepage = http://handbrake.fr/;
|
||||||
description = "A tool for converting video files and ripping DVDs";
|
description = "A tool for converting video files and ripping DVDs";
|
||||||
|
|||||||
@ -74,21 +74,21 @@ assert drmSupport -> available libdrm;
|
|||||||
let
|
let
|
||||||
# Purity: Waf is normally downloaded by bootstrap.py, but
|
# Purity: Waf is normally downloaded by bootstrap.py, but
|
||||||
# for purity reasons this behavior should be avoided.
|
# for purity reasons this behavior should be avoided.
|
||||||
wafVersion = "1.9.15";
|
wafVersion = "2.0.9";
|
||||||
waf = fetchurl {
|
waf = fetchurl {
|
||||||
urls = [ "https://waf.io/waf-${wafVersion}"
|
urls = [ "https://waf.io/waf-${wafVersion}"
|
||||||
"http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ];
|
"http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ];
|
||||||
sha256 = "0qrnlv91cb0v221w8a0fi4wxm99q2hpz10rkyyk4akcsvww6xrw5";
|
sha256 = "0j7sbn3w6bgslvwwh5v9527w3gi2sd08kskrgxamx693y0b0i3ia";
|
||||||
};
|
};
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
name = "mpv-${version}";
|
name = "mpv-${version}";
|
||||||
version = "0.28.2";
|
version = "0.29.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mpv-player";
|
owner = "mpv-player";
|
||||||
repo = "mpv";
|
repo = "mpv";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "0bldxhqjz7z9fgvx4k40l49awpay17fscp8ypswb459yicy8npmg";
|
sha256 = "0i2nl65diqsjyz28dj07h6d8gq6ix72ysfm0nhs8514hqccaihs3";
|
||||||
};
|
};
|
||||||
|
|
||||||
postPatch = ''
|
postPatch = ''
|
||||||
|
|||||||
@ -185,6 +185,8 @@ stdenv.mkDerivation {
|
|||||||
"mips64" = "btsmip";
|
"mips64" = "btsmip";
|
||||||
"mips64el" = "ltsmip";
|
"mips64el" = "ltsmip";
|
||||||
}.${targetPlatform.parsed.cpu.name}
|
}.${targetPlatform.parsed.cpu.name}
|
||||||
|
else if targetPlatform.isPowerPC then "powerpc"
|
||||||
|
else if targetPlatform.isSparc then "sparc"
|
||||||
else throw "unknown emulation for platform: " + targetPlatform.config;
|
else throw "unknown emulation for platform: " + targetPlatform.config;
|
||||||
in targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
|
in targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
|
||||||
|
|
||||||
|
|||||||
@ -20,7 +20,13 @@ bintoolsWrapper_addLDVars () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d "$1/lib" ]]; then
|
if [[ -d "$1/lib" ]]; then
|
||||||
export NIX_${role_pre}LDFLAGS+=" -L$1/lib"
|
# Don't add the /lib directory if it actually doesn't contain any libraries. For instance,
|
||||||
|
# Python and Haskell packages often only have directories like $out/lib/ghc-8.4.3/ or
|
||||||
|
# $out/lib/python3.6/, so having them in LDFLAGS just makes the linker search unnecessary
|
||||||
|
# directories and bloats the size of the environment variable space.
|
||||||
|
if [[ -n "$(echo $1/lib/lib*)" ]]; then
|
||||||
|
export NIX_${role_pre}LDFLAGS+=" -L$1/lib"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -16,10 +16,11 @@ infoFile: let
|
|||||||
script = writeText "build-maven-repository.sh" ''
|
script = writeText "build-maven-repository.sh" ''
|
||||||
${lib.concatStrings (map (dep: let
|
${lib.concatStrings (map (dep: let
|
||||||
inherit (dep)
|
inherit (dep)
|
||||||
url sha1 groupId artifactId version
|
url sha1 groupId artifactId
|
||||||
authenticated metadata repository-id;
|
version metadata repository-id;
|
||||||
|
|
||||||
versionDir = dep.unresolved-version or version;
|
versionDir = dep.unresolved-version or version;
|
||||||
|
authenticated = dep.authenticated or false;
|
||||||
|
|
||||||
fetch = (if authenticated then requireFile else fetchurl) {
|
fetch = (if authenticated then requireFile else fetchurl) {
|
||||||
inherit url sha1;
|
inherit url sha1;
|
||||||
|
|||||||
@ -36,10 +36,11 @@ rec {
|
|||||||
in
|
in
|
||||||
{ imageName
|
{ imageName
|
||||||
# To find the digest of an image, you can use skopeo:
|
# To find the digest of an image, you can use skopeo:
|
||||||
# skopeo inspect docker://docker.io/nixos/nix:1.11 | jq -r '.Digest'
|
# see doc/functions.xml
|
||||||
# sha256:20d9485b25ecfd89204e843a962c1bd70e9cc6858d65d7f5fadc340246e2116b
|
|
||||||
, imageDigest
|
, imageDigest
|
||||||
, sha256
|
, sha256
|
||||||
|
, os ? "linux"
|
||||||
|
, arch ? "x86_64"
|
||||||
# This used to set a tag to the pulled image
|
# This used to set a tag to the pulled image
|
||||||
, finalImageTag ? "latest"
|
, finalImageTag ? "latest"
|
||||||
, name ? fixName "docker-image-${imageName}-${finalImageTag}.tar"
|
, name ? fixName "docker-image-${imageName}-${finalImageTag}.tar"
|
||||||
@ -59,7 +60,7 @@ rec {
|
|||||||
sourceURL = "docker://${imageName}@${imageDigest}";
|
sourceURL = "docker://${imageName}@${imageDigest}";
|
||||||
destNameTag = "${imageName}:${finalImageTag}";
|
destNameTag = "${imageName}:${finalImageTag}";
|
||||||
} ''
|
} ''
|
||||||
skopeo copy "$sourceURL" "docker-archive://$out:$destNameTag"
|
skopeo --override-os ${os} --override-arch ${arch} copy "$sourceURL" "docker-archive://$out:$destNameTag"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.
|
# We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.
|
||||||
|
|||||||
@ -5,7 +5,15 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
{ pname
|
{ /*
|
||||||
|
pname: Nix package name without special symbols and without version or
|
||||||
|
"emacs-" prefix.
|
||||||
|
*/
|
||||||
|
pname
|
||||||
|
/*
|
||||||
|
ename: Original Emacs package name, possibly containing special symbols.
|
||||||
|
*/
|
||||||
|
, ename ? null
|
||||||
, version
|
, version
|
||||||
, recipe
|
, recipe
|
||||||
, meta ? {}
|
, meta ? {}
|
||||||
@ -22,6 +30,11 @@ in
|
|||||||
|
|
||||||
import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
|
import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
|
||||||
|
|
||||||
|
ename =
|
||||||
|
if isNull(ename)
|
||||||
|
then pname
|
||||||
|
else ename;
|
||||||
|
|
||||||
melpa = fetchFromGitHub {
|
melpa = fetchFromGitHub {
|
||||||
owner = "melpa";
|
owner = "melpa";
|
||||||
repo = "melpa";
|
repo = "melpa";
|
||||||
@ -35,7 +48,7 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
|
|||||||
preUnpack = ''
|
preUnpack = ''
|
||||||
mkdir -p "$NIX_BUILD_TOP/recipes"
|
mkdir -p "$NIX_BUILD_TOP/recipes"
|
||||||
if [ -n "$recipe" ]; then
|
if [ -n "$recipe" ]; then
|
||||||
cp "$recipe" "$NIX_BUILD_TOP/recipes/$pname"
|
cp "$recipe" "$NIX_BUILD_TOP/recipes/$ename"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ln -s "$melpa/package-build" "$NIX_BUILD_TOP/package-build"
|
ln -s "$melpa/package-build" "$NIX_BUILD_TOP/package-build"
|
||||||
@ -45,7 +58,7 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
|
|||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
mkdir -p "$NIX_BUILD_TOP/working"
|
mkdir -p "$NIX_BUILD_TOP/working"
|
||||||
ln -s "$NIX_BUILD_TOP/$sourceRoot" "$NIX_BUILD_TOP/working/$pname"
|
ln -s "$NIX_BUILD_TOP/$sourceRoot" "$NIX_BUILD_TOP/working/$ename"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase =
|
buildPhase =
|
||||||
@ -58,7 +71,7 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
|
|||||||
-L "$melpa/package-build" \
|
-L "$melpa/package-build" \
|
||||||
-l "$melpa2nix" \
|
-l "$melpa2nix" \
|
||||||
-f melpa2nix-build-package \
|
-f melpa2nix-build-package \
|
||||||
$pname $version
|
$ename $version
|
||||||
|
|
||||||
runHook postBuild
|
runHook postBuild
|
||||||
'';
|
'';
|
||||||
@ -66,9 +79,9 @@ import ./generic.nix { inherit lib stdenv emacs texinfo; } ({
|
|||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
archive="$NIX_BUILD_TOP/packages/$pname-$version.el"
|
archive="$NIX_BUILD_TOP/packages/$ename-$version.el"
|
||||||
if [ ! -f "$archive" ]; then
|
if [ ! -f "$archive" ]; then
|
||||||
archive="$NIX_BUILD_TOP/packages/$pname-$version.tar"
|
archive="$NIX_BUILD_TOP/packages/$ename-$version.tar"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
emacs --batch -Q \
|
emacs --batch -Q \
|
||||||
|
|||||||
1
pkgs/build-support/setup-hooks/remove-pytest-cache.sh
Normal file
1
pkgs/build-support/setup-hooks/remove-pytest-cache.sh
Normal file
@ -0,0 +1 @@
|
|||||||
|
postFixupHooks+=
|
||||||
@ -1,5 +1,4 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, dbus-glib, glib, ORBit2, libxml2
|
{ stdenv, fetchurl, pkgconfig, dbus-glib, glib, ORBit2, libxml2, polkit, python2, intltool }:
|
||||||
, polkit, intltool }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gconf-${version}";
|
name = "gconf-${version}";
|
||||||
@ -12,7 +11,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
outputs = [ "out" "dev" "man" ];
|
outputs = [ "out" "dev" "man" ];
|
||||||
|
|
||||||
buildInputs = [ ORBit2 libxml2 ]
|
buildInputs = [ ORBit2 libxml2 python2 ]
|
||||||
# polkit requires pam, which requires shadow.h, which is not available on
|
# polkit requires pam, which requires shadow.h, which is not available on
|
||||||
# darwin
|
# darwin
|
||||||
++ stdenv.lib.optional (!stdenv.isDarwin) polkit;
|
++ stdenv.lib.optional (!stdenv.isDarwin) polkit;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib, tzdata
|
{ stdenv, fetchurl, fetchpatch, pkgconfig, bison, flex, intltool, gtk, libical, dbus-glib, tzdata
|
||||||
, libnotify, popt, xfce
|
, libnotify, popt, xfce, hicolor-icon-theme }:
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||||
@ -35,8 +34,6 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [ gtk libical dbus-glib libnotify popt xfce.libxfce4util
|
buildInputs = [ gtk libical dbus-glib libnotify popt xfce.libxfce4util
|
||||||
xfce.xfce4-panel ];
|
xfce.xfce4-panel ];
|
||||||
|
|
||||||
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache ";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://www.xfce.org/projects/;
|
homepage = http://www.xfce.org/projects/;
|
||||||
description = "A simple calendar application with reminders";
|
description = "A simple calendar application with reminders";
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, intltool, libnotify
|
{ stdenv, fetchurl, pkgconfig, intltool, libnotify
|
||||||
, gtk , libxfce4util, libxfce4ui, xfconf }:
|
, gtk , libxfce4util, libxfce4ui, xfconf, hicolor-icon-theme }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
p_name = "xfce4-notifyd";
|
p_name = "xfce4-notifyd";
|
||||||
@ -13,10 +13,9 @@ stdenv.mkDerivation rec {
|
|||||||
name = "${p_name}-${ver_maj}.${ver_min}";
|
name = "${p_name}-${ver_maj}.${ver_min}";
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgconfig ];
|
nativeBuildInputs = [ pkgconfig ];
|
||||||
buildInputs = [ intltool libnotify gtk libxfce4util libxfce4ui xfconf ];
|
buildInputs = [ intltool libnotify gtk libxfce4util libxfce4ui xfconf hicolor-icon-theme ];
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
rm $out/share/icons/hicolor/icon-theme.cache
|
|
||||||
# to be able to run the daemon we need it in PATH
|
# to be able to run the daemon we need it in PATH
|
||||||
ln -rs $out/lib/xfce4/notifyd/xfce4-notifyd $out/bin
|
ln -rs $out/lib/xfce4/notifyd/xfce4-notifyd $out/bin
|
||||||
'';
|
'';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, intltool
|
{ stdenv, fetchurl, pkgconfig, intltool
|
||||||
, gtk, dbus-glib, libstartup_notification, libnotify, libexif, pcre, udev
|
, gtk, dbus-glib, libstartup_notification, libnotify, libexif, pcre, udev
|
||||||
, exo, libxfce4util, xfconf, xfce4-panel, wrapGAppsHook
|
, exo, libxfce4util, xfconf, xfce4-panel, hicolor-icon-theme, wrapGAppsHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
@ -26,13 +26,12 @@ stdenv.mkDerivation rec {
|
|||||||
intltool
|
intltool
|
||||||
gtk dbus-glib libstartup_notification libnotify libexif pcre udev
|
gtk dbus-glib libstartup_notification libnotify libexif pcre udev
|
||||||
exo libxfce4util xfconf xfce4-panel
|
exo libxfce4util xfconf xfce4-panel
|
||||||
|
hicolor-icon-theme
|
||||||
];
|
];
|
||||||
# TODO: optionality?
|
# TODO: optionality?
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://thunar.xfce.org/;
|
homepage = http://thunar.xfce.org/;
|
||||||
description = "Xfce file manager";
|
description = "Xfce file manager";
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user