Merge master into staging

This commit is contained in:
Frederik Rietdijk 2018-05-13 12:13:25 +02:00
commit 658b7c3f2e
41 changed files with 378 additions and 169 deletions

View File

@ -310,6 +310,7 @@ rec {
in opt // in opt //
{ value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value; { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
inherit (res.defsFinal') highestPrio;
definitions = map (def: def.value) res.defsFinal; definitions = map (def: def.value) res.defsFinal;
files = map (def: def.file) res.defsFinal; files = map (def: def.file) res.defsFinal;
inherit (res) isDefined; inherit (res) isDefined;
@ -317,7 +318,7 @@ rec {
# Merge definitions of a value of a given type. # Merge definitions of a value of a given type.
mergeDefinitions = loc: type: defs: rec { mergeDefinitions = loc: type: defs: rec {
defsFinal = defsFinal' =
let let
# Process mkMerge and mkIf properties. # Process mkMerge and mkIf properties.
defs' = concatMap (m: defs' = concatMap (m:
@ -325,15 +326,20 @@ rec {
) defs; ) defs;
# Process mkOverride properties. # Process mkOverride properties.
defs'' = filterOverrides defs'; defs'' = filterOverrides' defs';
# Sort mkOrder properties. # Sort mkOrder properties.
defs''' = defs''' =
# Avoid sorting if we don't have to. # Avoid sorting if we don't have to.
if any (def: def.value._type or "" == "order") defs'' if any (def: def.value._type or "" == "order") defs''.values
then sortProperties defs'' then sortProperties defs''.values
else defs''; else defs''.values;
in defs'''; in {
values = defs''';
inherit (defs'') highestPrio;
};
defsFinal = defsFinal'.values;
# Type-check the remaining definitions, and merge them. # Type-check the remaining definitions, and merge them.
mergedValue = foldl' (res: def: mergedValue = foldl' (res: def:
@ -416,13 +422,18 @@ rec {
Note that "z" has the default priority 100. Note that "z" has the default priority 100.
*/ */
filterOverrides = defs: filterOverrides = defs: (filterOverrides' defs).values;
filterOverrides' = defs:
let let
defaultPrio = 100; defaultPrio = 100;
getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio; getPrio = def: if def.value._type or "" == "override" then def.value.priority else defaultPrio;
highestPrio = foldl' (prio: def: min (getPrio def) prio) 9999 defs; highestPrio = foldl' (prio: def: min (getPrio def) prio) 9999 defs;
strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def; strip = def: if def.value._type or "" == "override" then def // { value = def.value.content; } else def;
in concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs; in {
values = concatMap (def: if getPrio def == highestPrio then [(strip def)] else []) defs;
inherit highestPrio;
};
/* Sort a list of properties. The sort priority of a property is /* Sort a list of properties. The sort priority of a property is
1000 by default, but can be overridden by wrapping the property 1000 by default, but can be overridden by wrapping the property

View File

@ -43,6 +43,11 @@
github = "ChengCat"; github = "ChengCat";
name = "Yucheng Zhang"; name = "Yucheng Zhang";
}; };
CrazedProgrammer = {
email = "crazedprogrammer@gmail.com";
github = "CrazedProgrammer";
name = "CrazedProgrammer";
};
CrystalGamma = { CrystalGamma = {
email = "nixos@crystalgamma.de"; email = "nixos@crystalgamma.de";
github = "CrystalGamma"; github = "CrystalGamma";
@ -2501,6 +2506,11 @@
github = "mmlb"; github = "mmlb";
name = "Manuel Mendez"; name = "Manuel Mendez";
}; };
mnacamura = {
email = "m.nacamura@gmail.com";
github = "mnacamura";
name = "Mitsuhiro Nakamura";
};
moaxcp = { moaxcp = {
email = "moaxcp@gmail.com"; email = "moaxcp@gmail.com";
github = "moaxcp"; github = "moaxcp";
@ -3771,6 +3781,11 @@
github = "titanous"; github = "titanous";
name = "Jonathan Rudenberg"; name = "Jonathan Rudenberg";
}; };
tmplt = {
email = "tmplt@dragons.rocks";
github = "tmplt";
name = "Viktor";
};
tnias = { tnias = {
email = "phil@grmr.de"; email = "phil@grmr.de";
github = "tnias"; github = "tnias";

View File

@ -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.defaultChannel</literal> attribute in Bump the <literal>system.nixos.defaultChannel</literal> attribute in
<literal>nixos/modules/misc/version.nix</literal> </link> <literal>nixos/modules/misc/version.nix</literal> </link>
</para> </para>
</listitem> </listitem>

View File

@ -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.stateVersion = "14.12"; system.nixos.stateVersion = "14.12";
</programlisting> </programlisting>
The new option <option>system.stateVersion</option> ensures that certain The new option <option>system.nixos.stateVersion</option> ensures that certain
configuration changes that could break existing systems (such as the configuration changes that could break existing systems (such as the
<command>sshd</command> host key setting) will maintain compatibility with <command>sshd</command> host key setting) will maintain compatibility with
the specified NixOS release. NixOps sets the state version of existing the specified NixOS release. NixOps sets the state version of existing

View File

@ -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.stateVersion = "${\(qw(@release@))}"; # Did you read the comment? system.nixos.stateVersion = "${\(qw(@release@))}"; # Did you read the comment?
} }
EOF EOF

View File

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { options, config, lib, pkgs, ... }:
with lib; with lib;
@ -12,29 +12,29 @@ in
{ {
options.system = { options.system.nixos = {
nixos.version = mkOption { 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>).";
}; };
nixos.release = mkOption { 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>).";
}; };
nixos.versionSuffix = mkOption { 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>).";
}; };
nixos.revision = mkOption { 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.";
}; };
nixos.codeName = mkOption { 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,6 +76,9 @@ in
config = { config = {
warnings = lib.optional (options.system.nixos.stateVersion.highestPrio > 1000)
"You don't have `system.nixos.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
# changing them would not rebuild the manual # changing them would not rebuild the manual

View File

@ -40,7 +40,7 @@ in
# 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.defaultChannel} nixos" > $HOME/.nix-channels echo "${config.system.nixos.defaultChannel} nixos" > $HOME/.nix-channels
fi fi
# Create the per-user garbage collector roots directory. # Create the per-user garbage collector roots directory.

View File

@ -204,6 +204,8 @@ 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" ])

View File

@ -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.stateVersion "17.09" then "/var/lib/mysql" mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then "/var/lib/mysql"
else "/var/mysql"); else "/var/mysql");
users.extraUsers.mysql = { users.extraUsers.mysql = {

View File

@ -147,7 +147,7 @@ in
}; };
superUser = mkOption { superUser = mkOption {
type = types.str; type = types.str;
default= if versionAtLeast config.system.stateVersion "17.09" then "postgres" else "root"; default= if versionAtLeast config.system.nixos.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'.
@ -166,14 +166,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.stateVersion to maintain compatibility with existing # system.nixos.stateVersion to maintain compatibility with existing
# systems! # systems!
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then pkgs.postgresql96 mkDefault (if versionAtLeast config.system.nixos.stateVersion "17.09" then pkgs.postgresql96
else if versionAtLeast config.system.stateVersion "16.03" then pkgs.postgresql95 else if versionAtLeast config.system.nixos.stateVersion "16.03" then pkgs.postgresql95
else pkgs.postgresql94); else pkgs.postgresql94);
services.postgresql.dataDir = services.postgresql.dataDir =
mkDefault (if versionAtLeast config.system.stateVersion "17.09" then "/var/lib/postgresql/${config.services.postgresql.package.psqlSchema}" mkDefault (if versionAtLeast config.system.nixos.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

View File

@ -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.stateVersion "18.03" default = if versionAtLeast config.system.nixos.stateVersion "18.03"
then "psycopg2" then "psycopg2"
else "sqlite3"; else "sqlite3";
description = '' description = ''

View File

@ -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.stateVersion "17.09" then defaultDataDir = if versionAtLeast config.system.nixos.stateVersion "17.09" then
"/var/lib/ipfs" else "/var/lib/ipfs" else
"/var/lib/ipfs/.ipfs"; "/var/lib/ipfs/.ipfs";

View File

@ -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.stateVersion "17.09" then { defaultPackage = if versionAtLeast config.system.nixos.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.stateVersion &lt; 17.09</literal> and version 2.x <literal>system.nixos.stateVersion &lt; 17.09</literal> and version 2.x
otherwise. otherwise.
''; '';
}; };

View File

@ -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.stateVersion "17.09") environment = mkIf (versionAtLeast config.system.nixos.stateVersion "17.09")
{ CADDYPATH = cfg.dataDir; }; { CADDYPATH = cfg.dataDir; };
serviceConfig = { serviceConfig = {
ExecStart = '' ExecStart = ''

View File

@ -405,15 +405,6 @@ lustrateRoot () {
# Try to resume - all modules are loaded now.
if test -e /sys/power/tuxonice/resume; then
if test -n "$(cat /sys/power/tuxonice/resume)"; then
echo 0 > /sys/power/tuxonice/user_interface/enabled
echo 1 > /sys/power/tuxonice/do_resume || echo "failed to resume..."
fi
fi
if test -e /sys/power/resume -a -e /sys/power/disk; then if test -e /sys/power/resume -a -e /sys/power/disk; then
if test -n "@resumeDevice@" && waitDevice "@resumeDevice@"; then if test -n "@resumeDevice@" && waitDevice "@resumeDevice@"; then
resumeDev="@resumeDevice@" resumeDev="@resumeDevice@"

View File

@ -3,7 +3,7 @@
options = { options = {
ec2 = { ec2 = {
hvm = lib.mkOption { hvm = lib.mkOption {
default = lib.versionAtLeast config.system.stateVersion "17.03"; default = lib.versionAtLeast config.system.nixos.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.

View File

@ -607,7 +607,7 @@ in
{ services.postgresql.enable = true; { services.postgresql.enable = true;
services.postgresql.package = pkgs.postgresql96; services.postgresql.package = pkgs.postgresql96;
system.stateVersion = "17.03"; system.nixos.stateVersion = "17.03";
}; };
}; };
} }

View File

@ -43,7 +43,7 @@ in
}); });
}) })
]; ];
system.stateVersion = "17.03"; system.nixos.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.stateVersion = "17.09"; system.nixos.stateVersion = "17.09";
}; };
}; };

View File

@ -75,6 +75,7 @@ let
cmakeFlags = [ cmakeFlags = [
"-DLUA_PRG=${luaPackages.lua}/bin/lua" "-DLUA_PRG=${luaPackages.lua}/bin/lua"
"-DGPERF_PRG=${gperf}/bin/gperf"
]; ];
# triggers on buffer overflow bug while running tests # triggers on buffer overflow bug while running tests

View File

@ -24,7 +24,7 @@
dev = with python36Packages; buildPythonPackage rec { dev = with python36Packages; buildPythonPackage rec {
name = "plover-${version}"; name = "plover-${version}";
version = "4.0.0.dev6"; version = "4.0.0.dev8";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "OpenSteno Plover stenography software"; description = "OpenSteno Plover stenography software";
@ -34,14 +34,14 @@
src = fetchurl { src = fetchurl {
url = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz"; url = "https://github.com/openstenoproject/plover/archive/v${version}.tar.gz";
sha256 = "067rkpqnjjxwyv9cwh9i925ndba6fvj6q0r56lizy0l26b4jc8rp"; sha256 = "1wxkmik1zyw5gqig5r0cas5v6f5408fbnximzw610rdisqy09rxp";
}; };
# I'm not sure why we don't find PyQt5 here but there's a similar # I'm not sure why we don't find PyQt5 here but there's a similar
# sed on many of the platforms Plover builds for # sed on many of the platforms Plover builds for
postPatch = "sed -i /PyQt5/d setup.cfg"; postPatch = "sed -i /PyQt5/d setup.cfg";
buildInputs = [ pytest mock ]; checkInputs = [ pytest mock ];
propagatedBuildInputs = [ Babel pyqt5 xlib pyserial appdirs ]; propagatedBuildInputs = [ Babel pyqt5 xlib pyserial appdirs wcwidth ];
}; };
} }

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "rtl-sdr-${version}"; name = "rtl-sdr-${version}";
version = "0.5.3"; version = "0.5.4";
src = fetchgit { src = fetchgit {
url = "git://git.osmocom.org/rtl-sdr.git"; url = "git://git.osmocom.org/rtl-sdr.git";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
sha256 = "1dh52xcvxkjb3mj80wlm20grz8cqf5wipx2ksi91ascz12b5pym6"; sha256 = "0c56a9dhlqgs6y15ns0mn4r5giz0x6y7x151jcq755f711pc3y01";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -0,0 +1,37 @@
{ stdenv, fetchurl, p7zip }:
let
pname = "rounded-mgenplus";
version = "20150602";
in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
inherit version;
src = fetchurl {
url = "https://osdn.jp/downloads/users/8/8598/${name}.7z";
sha256 = "1k15xvzd3s5ppp151wv31wrfq2ri8v96xh7i71i974rxjxj6gspc";
};
nativeBuildInputs = [ p7zip ];
phases = [ "unpackPhase" "installPhase" ];
unpackPhase = ''
7z x $src
'';
installPhase = ''
install -m 444 -D -t $out/share/fonts/${pname} ${pname}-*.ttf
'';
meta = with stdenv.lib; {
description = "A Japanese font based on Rounded M+ and Noto Sans Japanese";
homepage = http://jikasei.me/font/rounded-mgenplus/;
license = licenses.ofl;
platforms = platforms.all;
maintainers = with maintainers; [ mnacamura ];
};
}

View File

@ -59,6 +59,7 @@ in stdenv.mkDerivation rec {
}) })
(substituteAll { (substituteAll {
src = ./fix-paths.patch; src = ./fix-paths.patch;
inherit (gnome3) libgnomekbd;
inherit unzip; inherit unzip;
}) })
]; ];

View File

@ -9,3 +9,14 @@
null, null,
GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD, GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD,
null); null);
--- a/js/ui/status/keyboard.js
+++ b/js/ui/status/keyboard.js
@@ -1019,7 +1019,7 @@
if (xkbVariant.length > 0)
description = description + '\t' + xkbVariant;
- Util.spawn(['gkbd-keyboard-display', '-l', description]);
+ Util.spawn(['@libgnomekbd@/bin/gkbd-keyboard-display', '-l', description]);
},
_containerGetPreferredWidth: function(container, for_height, alloc) {

View File

@ -7,11 +7,11 @@ assert x11Support -> libX11 != null && cairo != null;
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "hwloc-1.11.9"; name = "hwloc-1.11.10";
src = fetchurl { src = fetchurl {
url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2"; url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
sha256 = "0r2im1s5lp7zjwqalcqcnlxx0dsky1bnx5waf2r3rmj888c36hrr"; sha256 = "1ryibcng40xcq22lsj85fn2vcvrksdx9rr3wwxpq8dw37lw0is1b";
}; };
configureFlags = [ configureFlags = [

View File

@ -0,0 +1,5 @@
@name@ () {
export G4@envvar@DATA="@out@/data"
}
postHooks+=(@name@)

View File

@ -0,0 +1,103 @@
{ stdenv, fetchurl, }:
let
mkDataset = { name, version, sha256, envvar}:
stdenv.mkDerivation {
inherit name version;
src = fetchurl {
url = "https://geant4-data.web.cern.ch/geant4-data/datasets/${name}.${version}.tar.gz";
inherit sha256;
};
preferLocalBuild = true;
dontBuild = true;
dontConfigure = true;
installPhase = ''
mkdir -p $out/data
mv ./* $out/data
'';
inherit envvar;
setupHook = ./datasets-hook.sh;
meta = with stdenv.lib; {
description = "Data files for the Geant4 toolkit";
homepage = "https://geant4.web.cern.ch/support/download";
license = licenses.g4sl;
platforms = platforms.all;
};
};
in
builtins.listToAttrs (map (a: { inherit (a) name; value = mkDataset a; }) [
{
name = "G4NDL";
version = "4.5";
sha256 = "cba928a520a788f2bc8229c7ef57f83d0934bb0c6a18c31ef05ef4865edcdf8e";
envvar = "NEUTRONHP";
}
{
name = "G4EMLOW";
version = "7.3";
sha256 = "583aa7f34f67b09db7d566f904c54b21e95a9ac05b60e2bfb794efb569dba14e";
envvar = "LE";
}
{
name = "G4PhotonEvaporation";
version = "5.2";
sha256 = "83607f8d36827b2a7fca19c9c336caffbebf61a359d0ef7cee44a8bcf3fc2d1f";
envvar = "LEVELGAMMA";
}
{
name = "G4RadioactiveDecay";
version = "5.2";
sha256 = "99c038d89d70281316be15c3c98a66c5d0ca01ef575127b6a094063003e2af5d";
envvar = "RADIOACTIVE";
}
{
name = "G4SAIDDATA";
version = "1.1";
sha256 = "a38cd9a83db62311922850fe609ecd250d36adf264a88e88c82ba82b7da0ed7f";
envvar = "SAIDXS";
}
{
name = "G4NEUTRONXS";
version = "1.4";
sha256 = "57b38868d7eb060ddd65b26283402d4f161db76ed2169437c266105cca73a8fd";
envvar = "NEUTRONXS";
}
{
name = "G4ABLA";
version = "3.1";
sha256 = "7698b052b58bf1b9886beacdbd6af607adc1e099fc730ab6b21cf7f090c027ed";
envvar = "ABLA";
}
{
name = "G4PII";
version = "1.3";
sha256 = "6225ad902675f4381c98c6ba25fc5a06ce87549aa979634d3d03491d6616e926";
envvar = "PII";
}
{
name = "G4ENSDFSTATE";
version = "2.2";
sha256 = "dd7e27ef62070734a4a709601f5b3bada6641b111eb7069344e4f99a01d6e0a6";
envvar = "ENSDFSTATE";
}
{
name = "G4RealSurface";
version = "2.1";
sha256 = "2a287adbda1c0292571edeae2082a65b7f7bd6cf2bf088432d1d6f889426dcf3";
envvar = "REALSURFACE";
}
])

View File

@ -24,6 +24,11 @@
# For enableXM. # For enableXM.
, motif ? null # motif or lesstif , motif ? null # motif or lesstif
# For enableInventor
, coin3d
, soxt
, libXpm ? null
# For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11. # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
, libGLU_combined ? null , libGLU_combined ? null
, xlibsWrapper ? null , xlibsWrapper ? null
@ -43,6 +48,7 @@ assert enableXM -> motif != null;
assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libGLU_combined != null; assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libGLU_combined != null;
assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> xlibsWrapper != null; assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> xlibsWrapper != null;
assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libXmu != null; assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libXmu != null;
assert enableInventor -> libXpm != null;
let let
buildGeant4 = buildGeant4 =
@ -52,18 +58,11 @@ let
inherit version src; inherit version src;
name = "geant4-${version}"; name = "geant4-${version}";
# The data directory holds not just interaction cross section data, but other
# files which the installer needs to write, so we link to the previously installed
# data instead. This assumes the default data installation location of $out/share.
preConfigure = ''
mkdir -p $out/share/Geant4-${version}
ln -s ${g4data}/Geant4-${version}/data $out/share/Geant4-${version}/data
'';
multiThreadingFlag = if multiThreadingCapable then "-DGEANT4_BUILD_MULTITHREADED=${if enableMultiThreading then "ON" else "OFF"}" else ""; multiThreadingFlag = if multiThreadingCapable then "-DGEANT4_BUILD_MULTITHREADED=${if enableMultiThreading then "ON" else "OFF"}" else "";
cmakeFlags = '' cmakeFlags = ''
${multiThreadingFlag} ${multiThreadingFlag}
-DGEANT4_INSTALL_DATA=OFF
-DGEANT4_USE_GDML=${if enableGDML then "ON" else "OFF"} -DGEANT4_USE_GDML=${if enableGDML then "ON" else "OFF"}
-DGEANT4_USE_G3TOG4=${if enableG3toG4 then "ON" else "OFF"} -DGEANT4_USE_G3TOG4=${if enableG3toG4 then "ON" else "OFF"}
-DGEANT4_USE_QT=${if enableQT then "ON" else "OFF"} -DGEANT4_USE_QT=${if enableQT then "ON" else "OFF"}
@ -74,24 +73,31 @@ let
-DGEANT4_USE_SYSTEM_CLHEP=${if clhep != null then "ON" else "OFF"} -DGEANT4_USE_SYSTEM_CLHEP=${if clhep != null then "ON" else "OFF"}
-DGEANT4_USE_SYSTEM_EXPAT=${if expat != null then "ON" else "OFF"} -DGEANT4_USE_SYSTEM_EXPAT=${if expat != null then "ON" else "OFF"}
-DGEANT4_USE_SYSTEM_ZLIB=${if zlib != null then "ON" else "OFF"} -DGEANT4_USE_SYSTEM_ZLIB=${if zlib != null then "ON" else "OFF"}
-DINVENTOR_INCLUDE_DIR=${coin3d}/include
-DINVENTOR_LIBRARY_RELEASE=${coin3d}/lib/libCoin.so
''; '';
g4data = installData {
inherit version src;
};
enableParallelBuilding = true; enableParallelBuilding = true;
buildInputs = [ cmake clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu ]; buildInputs = [ cmake clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu libXpm coin3d soxt ];
propagatedBuildInputs = [ g4data clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu ]; propagatedBuildInputs = [ clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu libXpm coin3d soxt ];
setupHook = ./setup-hook.sh; postFixup = ''
# Don't try to export invalid environment variables.
sed -i 's/export G4\([A-Z]*\)DATA/#export G4\1DATA/' "$out"/bin/geant4.sh
'';
setupHook = ./geant4-hook.sh;
passthru = {
data = import ./datasets.nix { inherit stdenv fetchurl; };
};
# Set the myriad of envars required by Geant4 if we use a nix-shell. # Set the myriad of envars required by Geant4 if we use a nix-shell.
shellHook = '' shellHook = ''
source $out/nix-support/setup-hook source $out/nix-support/setup-hook
''; '';
meta = { meta = with stdenv.lib; {
description = "A toolkit for the simulation of the passage of particles through matter"; description = "A toolkit for the simulation of the passage of particles through matter";
longDescription = '' longDescription = ''
Geant4 is a toolkit for the simulation of the passage of particles through matter. Geant4 is a toolkit for the simulation of the passage of particles through matter.
@ -99,41 +105,9 @@ let
The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278. The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278.
''; '';
homepage = http://www.geant4.org; homepage = http://www.geant4.org;
license = stdenv.lib.licenses.g4sl; license = licenses.g4sl;
maintainers = [ ]; maintainers = with maintainers; [ tmplt ];
platforms = stdenv.lib.platforms.all; platforms = platforms.all;
};
};
installData =
{ version, src }:
stdenv.mkDerivation rec {
inherit version src;
name = "g4data-${version}";
cmakeFlags = ''
-DGEANT4_INSTALL_DATA="ON"
'';
buildInputs = [ cmake expat ];
enableParallelBuilding = true;
buildPhase = ''
make G4EMLOW G4NDL G4NEUTRONXS G4PII G4SAIDDATA PhotonEvaporation RadioactiveDecay RealSurface
'';
installPhase = ''
mkdir -p $out/Geant4-${version}
cp -R data/ $out/Geant4-${version}
'';
meta = {
description = "Data files for the Geant4 toolkit";
homepage = http://www.geant4.org;
license = stdenv.lib.licenses.g4sl;
maintainers = [ ];
platforms = stdenv.lib.platforms.all;
}; };
}; };
@ -146,5 +120,9 @@ in {
inherit (fetchGeant4.v10_0_2) version src; inherit (fetchGeant4.v10_0_2) version src;
multiThreadingCapable = true; multiThreadingCapable = true;
}; };
}
v10_4_1 = buildGeant4 {
inherit (fetchGeant4.v10_4_1) version src;
multiThreadingCapable = true;
};
}

View File

@ -15,5 +15,15 @@ in {
sha256 = "9d615200901f1a5760970e8f5970625ea146253e4f7c5ad9df2a9cf84549e848"; sha256 = "9d615200901f1a5760970e8f5970625ea146253e4f7c5ad9df2a9cf84549e848";
}; };
}; };
v10_4_1 = fetch {
version = "10.4.1";
src = fetchurl{
url = "http://cern.ch/geant4-data/releases/geant4.10.04.p01.tar.gz";
sha256 = "a3eb13e4f1217737b842d3869dc5b1fb978f761113e74bd4eaf6017307d234dd";
};
};
} }

View File

@ -0,0 +1,21 @@
{ fetchurl, stdenv, coin3d, motif, xlibsWrapper, libGLU_combined }:
stdenv.mkDerivation rec {
name = "soxt-${version}";
version = "1.3.0";
src = fetchurl {
url = "https://bitbucket.org/Coin3D/coin/downloads/SoXt-${version}.tar.gz";
sha256= "f5443aadafe8e2222b9b5a23d1f228bb0f3e7d98949b8ea8676171b7ea5bf013";
};
buildInputs = [ coin3d motif xlibsWrapper libGLU_combined ];
meta = with stdenv.lib; {
homepage = http://www.coin3d.org/;
license = licenses.bsd3;
description = "A GUI binding for using Open Inventor with Xt/Motif";
maintainers = with maintainers; [ tmplt ];
platforms = platforms.linux;
};
}

View File

@ -1,20 +1,26 @@
{lib, fetchgit, buildPythonPackage, pytest, numpy, scipy, matplotlib, docutils}: { lib, fetchFromGitHub, buildPythonPackage, pytest, numpy, scipy, matplotlib, docutils
, pyopencl, opencl-headers
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "sasmodels"; pname = "sasmodels-unstable";
version = "0.96"; version = "2018-04-27";
buildInputs = [pytest]; src = fetchFromGitHub {
propagatedBuildInputs = [docutils matplotlib numpy scipy]; owner = "SasView";
repo = "sasmodels";
preCheck = ''export HOME=$(mktemp -d)''; rev = "33969b656596e8b6cc8ce934cd1f8062f7b11cf2";
sha256 = "00rvhafg08qvx0k9mzn1ppdkc9i5yfn2gr3hidrf416srf8zgb85";
src = fetchgit {
url = "https://github.com/SasView/sasmodels.git";
rev = "v${version}";
sha256 = "11qaaqdc23qzb75zs48fkypksmcb332vl0pkjqr5bijxxymgm7nw";
}; };
buildInputs = [ opencl-headers ];
checkInputs = [ pytest ];
propagatedBuildInputs = [ docutils matplotlib numpy scipy pyopencl ];
checkPhase = ''
HOME=$(mktemp -d) py.test -c ./pytest.ini
'';
meta = { meta = {
description = "Library of small angle scattering models"; description = "Library of small angle scattering models";
homepage = http://sasview.org; homepage = http://sasview.org;

View File

@ -4,7 +4,7 @@ with stdenv.lib;
with pythonPackages; with pythonPackages;
let let
version = "1.5.0"; version = "1.6.0";
in buildPythonApplication rec { in buildPythonApplication rec {
inherit version; inherit version;
pname = "pantsbuild.pants"; pname = "pantsbuild.pants";
@ -12,7 +12,7 @@ in buildPythonApplication rec {
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "7c0a1206594c615fce0a7f6daa4ea1028645bc20afa5599c2cf0ad7c06223fa7"; sha256 = "0ahvcj33xribypgyh515mb3ack1djr0cq27nlyk0qhwgwv6acfnj";
}; };
prePatch = '' prePatch = ''
@ -27,7 +27,7 @@ in buildPythonApplication rec {
twitter-common-collections setproctitle ansicolors packaging pathspec twitter-common-collections setproctitle ansicolors packaging pathspec
scandir twitter-common-dirutil psutil requests pystache pex docutils scandir twitter-common-dirutil psutil requests pystache pex docutils
markdown pygments twitter-common-confluence fasteners pywatchman markdown pygments twitter-common-confluence fasteners pywatchman
futures cffi subprocess32 contextlib2 faulthandler pyopenssl futures cffi subprocess32 contextlib2 faulthandler pyopenssl wheel
]; ];
meta = { meta = {

View File

@ -1,26 +1,23 @@
{ stdenv, fetchFromGitHub, pkgconfig, libusb }: { stdenv, fetchFromGitHub, pkgconfig, libusb, zlib }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "sunxi-tools-1.3"; name = "sunxi-tools-20171130";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linux-sunxi"; owner = "linux-sunxi";
repo = "sunxi-tools"; repo = "sunxi-tools";
rev = "be1b4c7400161b90437432076360c1f99970f54f"; rev = "5c1971040c6c44caefb98e371bfca9e18d511da9";
sha256 = "02pqaaahra4wbv325264qh5i17mxwicmjx9nm33nw2dpmfmg9xhr"; sha256 = "0qzm515i3dfn82a6sf7372080zb02d365z52bh0b1q711r4dvjgp";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libusb ]; buildInputs = [ libusb zlib ];
buildPhase = '' makeFlags = [ "PREFIX=$(out)" ];
make all misc
'';
installPhase = '' buildFlags = [ "tools" "misc" ];
mkdir -p $out/bin
cp bin2fex fex2bin phoenix_info sunxi-bootinfo sunxi-fel sunxi-fexc sunxi-nand-part sunxi-pio $out/bin installTargets = [ "install-tools" "install-misc" ];
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Tools for Allwinner A10 devices"; description = "Tools for Allwinner A10 devices";

View File

@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gnome3.glib libxml2 bc ]; nativeBuildInputs = [ gnome3.glib libxml2 bc ];
buildInputs = [ gnome3.gnome-themes-standard gdk_pixbuf librsvg ]; buildInputs = [ gnome3.gnome-themes-extra gdk_pixbuf librsvg ];
propagatedUserEnvPkgs = [ gtk-engine-murrine ]; propagatedUserEnvPkgs = [ gtk-engine-murrine ];
@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
-e "s|if .*which gnome-shell.*;|if true;|" \ -e "s|if .*which gnome-shell.*;|if true;|" \
-e "s|CURRENT_GS_VERSION=.*$|CURRENT_GS_VERSION=${gnome3.version}|" -e "s|CURRENT_GS_VERSION=.*$|CURRENT_GS_VERSION=${gnome3.version}|"
mkdir -p $out/share/themes mkdir -p $out/share/themes
./install.sh --dest $out/share/themes # name is used internally by the package installation script
name= ./install.sh --dest $out/share/themes
rm $out/share/themes/*/COPYING rm $out/share/themes/*/COPYING
''; '';

View File

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, btrfs-progs }:
stdenv.mkDerivation rec {
name = "compsize-${version}";
version = "2018-04-07";
src = fetchFromGitHub {
owner = "kilobyte";
repo = "compsize";
rev = "903f772e37fc0ac6d6cf94ddbc98c691763c1e62";
sha256 = "0jps8n0xsdh4mcww5q29rzysbv50iq6rmihxrf99lzgrw0sw5m7k";
};
buildInputs = [ btrfs-progs ];
installPhase = ''
mkdir -p $out/bin
mkdir -p $out/share/man/man8
install -m 0755 compsize $out/bin
install -m 0444 compsize.8 $out/share/man/man8
'';
meta = with stdenv.lib; {
description = "btrfs: Find compression type/ratio on a file or set of files";
homepage = https://github.com/kilobyte/compsize;
license = licenses.gpl2;
maintainers = with maintainers; [ CrazedProgrammer ];
platforms = platforms.linux;
};
}

View File

@ -1,26 +1,6 @@
{ stdenv, fetchurl, fetchpatch, pkgs }: { stdenv, fetchurl, fetchpatch, pkgs }:
let
makeTuxonicePatch = { version, kernelVersion, sha256,
url ? "http://tuxonice.nigelcunningham.com.au/downloads/all/tuxonice-for-linux-${kernelVersion}-${version}.patch.bz2" }:
{ name = "tuxonice-${kernelVersion}";
patch = stdenv.mkDerivation {
name = "tuxonice-${version}-for-${kernelVersion}.patch";
src = fetchurl {
inherit url sha256;
};
phases = [ "installPhase" ];
installPhase = ''
source $stdenv/setup
bunzip2 -c $src > $out
'';
};
};
in
rec { rec {
bridge_stp_helper = bridge_stp_helper =
{ name = "bridge-stp-helper"; { name = "bridge-stp-helper";
patch = ./bridge-stp-helper.patch; patch = ./bridge-stp-helper.patch;

View File

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, help2man, gettext { stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, help2man, gettext
, libxml2, perl, doxygen }: , libxml2, perl, python3, doxygen }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ autoreconfHook doxygen gettext libxml2 help2man perl pkgconfig ]; nativeBuildInputs = [ autoreconfHook doxygen gettext libxml2 help2man perl pkgconfig ];
configureFlags = [ "--disable-python" "--disable-graphviz" ]; buildInputs = [ python3 ];
configureFlags = [ "--disable-graphviz" ];
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -8,7 +8,7 @@
, generateManPage ? false , generateManPage ? false
, ffmpegSupport ? true , ffmpegSupport ? true
, rtmpSupport ? true , rtmpSupport ? true
, phantomjsSupport ? !targetPlatform.isDarwin # phantomjs2 is broken on darwin , phantomjsSupport ? false
, hlsEncryptedSupport ? true , hlsEncryptedSupport ? true
, makeWrapper }: , makeWrapper }:

View File

@ -1,24 +1,22 @@
{ stdenv, fetchFromGitHub, rustPlatform }: { stdenv, fetchFromGitHub, rustPlatform }:
with rustPlatform; rustPlatform.buildRustPackage rec {
buildRustPackage rec {
name = "xsv-${version}"; name = "xsv-${version}";
version = "0.12.2"; version = "0.13.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "BurntSushi"; owner = "BurntSushi";
repo = "xsv"; repo = "xsv";
rev = "${version}"; rev = version;
sha256 = "0z1z3b6nzaid510jaikkawvpmv4kjphzz84p0hppq6vcp5jy00s2"; sha256 = "17v1nw36mrarrd5yv4xd3mpc1d7lvhd5786mqkzyyraf78pjg045";
}; };
cargoSha256 = "0pdzh2xr40dgwravh3i58g602bpszj6c8inggzgmq2kfk8ck6rgj"; cargoSha256 = "1qk5wkjm3d4dz5fldlq7rjlm602v0l04hxrbar2j6vhcz9w2r4n6";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A fast CSV toolkit written in Rust"; description = "A fast CSV toolkit written in Rust";
homepage = https://github.com/BurntSushi/xsv; homepage = https://github.com/BurntSushi/xsv;
license = with licenses; [ unlicense ]; license = with licenses; [ unlicense /* or */ mit ];
maintainers = [ maintainers.jgertm ]; maintainers = [ maintainers.jgertm ];
platforms = platforms.all; platforms = platforms.all;
}; };

View File

@ -1061,6 +1061,8 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Foundation AddressBook; inherit (darwin.apple_sdk.frameworks) Foundation AddressBook;
}; };
compsize = callPackage ../os-specific/linux/compsize { };
coturn = callPackage ../servers/coturn { }; coturn = callPackage ../servers/coturn { };
coursier = callPackage ../development/tools/coursier {}; coursier = callPackage ../development/tools/coursier {};
@ -4707,6 +4709,8 @@ with pkgs;
rnv = callPackage ../tools/text/xml/rnv { }; rnv = callPackage ../tools/text/xml/rnv { };
rounded-mgenplus = callPackage ../data/fonts/rounded-mgenplus { };
roundup = callPackage ../tools/misc/roundup { }; roundup = callPackage ../tools/misc/roundup { };
routino = callPackage ../tools/misc/routino { }; routino = callPackage ../tools/misc/routino { };
@ -8652,6 +8656,8 @@ with pkgs;
coin3d = callPackage ../development/libraries/coin3d { }; coin3d = callPackage ../development/libraries/coin3d { };
soxt = callPackage ../development/libraries/soxt { };
CoinMP = callPackage ../development/libraries/CoinMP { }; CoinMP = callPackage ../development/libraries/CoinMP { };
cointop = callPackage ../applications/misc/cointop { }; cointop = callPackage ../applications/misc/cointop { };