From 10436a707a45f540e10d6b0cb5a2c075dff1fc66 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Wed, 11 Jul 2018 17:05:51 +0200 Subject: [PATCH 01/69] neovim wrapper: do not unset PYTHONPATH This solves the following bug: opening neovim in nix-shell -p pythonPackages.numpy does not enable to run successfully :!python -c "import numpy" because the PYTHONPATH is wiped by the neovim wrapper. This wiping is necessary for the python providers, though, otherwise a python2 nix-shell will make the python3 provider read python2 files. We wrap the providers only, instead of neovim as whole. --- pkgs/applications/editors/neovim/wrapper.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index fa0603255599..a57831ba03c0 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -63,7 +63,6 @@ let --cmd \"${if withPython then "let g:python_host_prog='$out/bin/nvim-python'" else "let g:loaded_python_provider = 1"}\" \ --cmd \"${if withPython3 then "let g:python3_host_prog='$out/bin/nvim-python3'" else "let g:loaded_python3_provider = 1"}\" \ --cmd \"${if withRuby then "let g:ruby_host_prog='$out/bin/nvim-ruby'" else "let g:loaded_ruby_provider=1"}\" " \ - --unset PYTHONPATH \ ${optionalString withRuby '' --suffix PATH : ${rubyEnv}/bin --set GEM_HOME ${rubyEnv}/${rubyEnv.ruby.gemPath}'' } '' @@ -75,9 +74,9 @@ let --replace 'Name=Neovim' 'Name=WrappedNeovim' '' + optionalString withPython '' - ln -s ${pythonEnv}/bin/python $out/bin/nvim-python + makeWrapper ${pythonEnv}/bin/python $out/bin/nvim-python --unset PYTHONPATH '' + optionalString withPython3 '' - ln -s ${python3Env}/bin/python3 $out/bin/nvim-python3 + makeWrapper ${python3Env}/bin/python3 $out/bin/nvim-python3 --unset PYTHONPATH '' + optionalString withRuby '' ln -s ${rubyEnv}/bin/neovim-ruby-host $out/bin/nvim-ruby '' From c1752666dfb1f47bf18225524c695621978d1419 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Wed, 11 Jul 2018 22:57:26 +0200 Subject: [PATCH 02/69] neovim wrapper: use python.withPackages instead of python.buildEnv They are both as powerful, but buildEnv is treacherous: if you pass a package which depends on another python (for example the one of unstable when you are on stable) it will be *silently* dropped, leading to hair pulling. Use case: override neovim from unstable, but still keep stable's pythonPackages. --- pkgs/applications/editors/neovim/wrapper.nix | 28 ++++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index a57831ba03c0..90b7f1ae7bea 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -10,8 +10,8 @@ neovim: let wrapper = { - withPython ? true, extraPythonPackages ? [] - , withPython3 ? true, extraPython3Packages ? [] + withPython ? true, extraPythonPackages ? (_: []) /* the function you would have passed to python.withPackages */ + , withPython3 ? true, extraPython3Packages ? (_: []) /* the function you would have passed to python.withPackages */ , withRuby ? true , withPyGUI ? false , vimAlias ? false @@ -28,25 +28,25 @@ let ''; }; + /* for compatibility with passing extraPythonPackages as a list; added 2018-07-11 */ + compatFun = funOrList: (if builtins.isList funOrList then + (_: builtins.trace "passing a list as extraPythonPackages to the neovim wrapper is deprecated, pass a function as to python.withPackages instead" funOrList) + else funOrList); + extraPythonPackagesFun = compatFun extraPythonPackages; + extraPython3PackagesFun = compatFun extraPython3Packages; + pluginPythonPackages = if configure == null then [] else builtins.concatLists (map ({ pythonDependencies ? [], ...}: pythonDependencies) (vimUtils.requiredPlugins configure)); - pythonEnv = pythonPackages.python.buildEnv.override { - extraLibs = ( - if withPyGUI - then [ pythonPackages.neovim_gui ] - else [ pythonPackages.neovim ] - ) ++ extraPythonPackages ++ pluginPythonPackages; - ignoreCollisions = true; - }; + pythonEnv = pythonPackages.python.withPackages(ps: + (if withPyGUI then [ ps.neovim_gui ] else [ ps.neovim ]) + ++ (extraPythonPackagesFun ps) ++ pluginPythonPackages); pluginPython3Packages = if configure == null then [] else builtins.concatLists (map ({ python3Dependencies ? [], ...}: python3Dependencies) (vimUtils.requiredPlugins configure)); - python3Env = python3Packages.python.buildEnv.override { - extraLibs = [ python3Packages.neovim ] ++ extraPython3Packages ++ pluginPython3Packages; - ignoreCollisions = true; - }; + python3Env = python3Packages.python.withPackages (ps: + [ ps.neovim ] ++ (extraPython3PackagesFun ps) ++ pluginPython3Packages); in stdenv.mkDerivation { From dddaa94ac26ecb223ca6d0a6a2121c7818d4b840 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Thu, 12 Jul 2018 22:47:02 +0200 Subject: [PATCH 03/69] neovim wrapper: also make .pythonDepedencies a function A function of the same signature as the argument of python.withPackages --- pkgs/applications/editors/neovim/wrapper.nix | 22 ++++++++++--------- pkgs/misc/vim-plugins/default.nix | 2 +- pkgs/misc/vim-plugins/vim-utils.nix | 8 ++++++- .../vim2nix/additional-nix-code/ensime-vim | 2 +- 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/editors/neovim/wrapper.nix b/pkgs/applications/editors/neovim/wrapper.nix index 90b7f1ae7bea..17cf49521f1d 100644 --- a/pkgs/applications/editors/neovim/wrapper.nix +++ b/pkgs/applications/editors/neovim/wrapper.nix @@ -16,7 +16,7 @@ let , withPyGUI ? false , vimAlias ? false , viAlias ? false - , configure ? null + , configure ? {} }: let @@ -35,18 +35,20 @@ let extraPythonPackagesFun = compatFun extraPythonPackages; extraPython3PackagesFun = compatFun extraPython3Packages; - pluginPythonPackages = if configure == null then [] else builtins.concatLists - (map ({ pythonDependencies ? [], ...}: pythonDependencies) - (vimUtils.requiredPlugins configure)); + requiredPlugins = vimUtils.requiredPlugins configure; + getDeps = attrname: map (plugin: plugin.${attrname} or (_:[])); + + pluginPythonPackages = getDeps "pythonDependencies" requiredPlugins; pythonEnv = pythonPackages.python.withPackages(ps: (if withPyGUI then [ ps.neovim_gui ] else [ ps.neovim ]) - ++ (extraPythonPackagesFun ps) ++ pluginPythonPackages); + ++ (extraPythonPackagesFun ps) + ++ (concatMap (f: f ps) pluginPythonPackages)); - pluginPython3Packages = if configure == null then [] else builtins.concatLists - (map ({ python3Dependencies ? [], ...}: python3Dependencies) - (vimUtils.requiredPlugins configure)); + pluginPython3Packages = getDeps "python3Dependencies" requiredPlugins; python3Env = python3Packages.python.withPackages (ps: - [ ps.neovim ] ++ (extraPython3PackagesFun ps) ++ pluginPython3Packages); + [ ps.neovim ] + ++ (extraPython3PackagesFun ps) + ++ (concatMap (f: f ps) pluginPython3Packages)); in stdenv.mkDerivation { @@ -87,7 +89,7 @@ let ln -s $out/bin/nvim $out/bin/vim '' + optionalString viAlias '' ln -s $out/bin/nvim $out/bin/vi - '' + optionalString (configure != null) '' + '' + optionalString (configure != {}) '' wrapProgram $out/bin/nvim --add-flags "-u ${vimUtils.vimrcFile configure}" '' ; diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index b52e63241990..4f9bae97ea7b 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -1015,7 +1015,7 @@ let sha256 = "03sr53680kcwxaa5xbqzdfbsgday3bkzja33wym49w9gjmlaa320"; }; dependencies = ["vimproc" "vimshell" "self" "forms"]; - pythonDependencies = with pythonPackages; [ sexpdata websocket_client ]; + passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ]; }; supertab = buildVimPluginFrom2Nix { # created by nix#NixDerivation diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix index 514c1daed629..bae1645563f0 100644 --- a/pkgs/misc/vim-plugins/vim-utils.nix +++ b/pkgs/misc/vim-plugins/vim-utils.nix @@ -280,6 +280,7 @@ let installPhase = lib.concatStringsSep "\n" (lib.flatten (lib.mapAttrsToList packageLinks packages)); + preferLocalBuild = true; } ); in @@ -423,6 +424,7 @@ rec { } // a); requiredPlugins = { + packages ? {}, givenKnownPlugins ? null, vam ? null, pathogen ? null, ... @@ -437,8 +439,12 @@ rec { vamNames = findDependenciesRecursively { inherit knownPlugins; names = lib.concatMap toNames vam.pluginDictionaries; }; names = (lib.optionals (pathogen != null) pathogenNames) ++ (lib.optionals (vam != null) vamNames); + nonNativePlugins = map (name: knownPlugins.${name}) names; + nativePluginsConfigs = lib.attrsets.attrValues packages; + nativePlugins = lib.concatMap ({start?[], opt?[]}: start++opt) nativePluginsConfigs; in - map (name: knownPlugins.${name}) names; + nativePlugins ++ nonNativePlugins; + # test cases: test_vim_with_vim_addon_nix_using_vam = vim_configurable.customize { diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/ensime-vim b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/ensime-vim index 7d6267e95151..e065e0db4f47 100644 --- a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/ensime-vim +++ b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/ensime-vim @@ -1 +1 @@ - pythonDependencies = with pythonPackages; [ sexpdata websocket_client ]; + passthru.python3Dependencies = ps: with ps; [ sexpdata websocket_client ]; From 13e2e19158bcd2b4d53e452d82f62817194100ef Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Wed, 15 Aug 2018 09:55:35 +0100 Subject: [PATCH 04/69] xdg: add modules for supporting various XDG specs --- nixos/modules/config/system-path.nix | 17 +++--------- nixos/modules/config/xdg/autostart.nix | 22 +++++++++++++++ nixos/modules/config/xdg/icons.nix | 27 +++++++++++++++++++ nixos/modules/config/xdg/menus.nix | 25 +++++++++++++++++ nixos/modules/config/xdg/mime.nix | 26 ++++++++++++++++++ nixos/modules/module-list.nix | 4 +++ nixos/modules/programs/environment.nix | 1 - nixos/modules/services/networking/xrdp.nix | 10 ++++--- .../x11/desktop-managers/enlightenment.nix | 9 +++++-- .../services/x11/desktop-managers/lumina.nix | 3 +-- .../services/x11/desktop-managers/plasma5.nix | 5 +++- .../services/x11/desktop-managers/xfce.nix | 5 ---- nixos/modules/services/x11/xserver.nix | 8 ++++-- 13 files changed, 133 insertions(+), 29 deletions(-) create mode 100644 nixos/modules/config/xdg/autostart.nix create mode 100644 nixos/modules/config/xdg/icons.nix create mode 100644 nixos/modules/config/xdg/menus.nix create mode 100644 nixos/modules/config/xdg/mime.nix diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 361151665018..a07a40e86bd1 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -107,12 +107,7 @@ in "/etc/gtk-3.0" "/lib" # FIXME: remove and update debug-info.nix "/sbin" - "/share/applications" - "/share/desktop-directories" "/share/emacs" - "/share/icons" - "/share/menus" - "/share/mime" "/share/nano" "/share/org" "/share/themes" @@ -132,10 +127,6 @@ in # outputs TODO: note that the tools will often not be linked by default postBuild = '' - if [ -x $out/bin/update-mime-database -a -w $out/share/mime ]; then - XDG_DATA_DIRS=$out/share $out/bin/update-mime-database -V $out/share/mime > /dev/null - fi - if [ -x $out/bin/gtk-update-icon-cache -a -f $out/share/icons/hicolor/index.theme ]; then $out/bin/gtk-update-icon-cache $out/share/icons/hicolor fi @@ -144,16 +135,16 @@ in $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas fi - if [ -x $out/bin/update-desktop-database -a -w $out/share/applications ]; then - $out/bin/update-desktop-database $out/share/applications - fi - if [ -x $out/bin/install-info -a -w $out/share/info ]; then shopt -s nullglob for i in $out/share/info/*.info $out/share/info/*.info.gz; do $out/bin/install-info $i $out/share/info/dir done fi + '' ++ optionalString config.xdg.mime.enable '' + XDG_DATA_DIRS=$out/share ${pkgs.shared-mime-info}/bin/update-mime-database -V $out/share/mime > /dev/null + + ${pkgs.desktop-file-utils}/bin/update-desktop-database $out/share/applications ''; }; diff --git a/nixos/modules/config/xdg/autostart.nix b/nixos/modules/config/xdg/autostart.nix new file mode 100644 index 000000000000..0ee94fed818b --- /dev/null +++ b/nixos/modules/config/xdg/autostart.nix @@ -0,0 +1,22 @@ +{ config, lib, ... }: + +with lib; +{ + options = { + xdg.autostart.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + XDG Autostart specification. + ''; + }; + }; + + config = mkIf config.xdg.autostart.enable { + environment.pathsToLink = [ + "/etc/xdg/autostart" + ]; + }; + +} diff --git a/nixos/modules/config/xdg/icons.nix b/nixos/modules/config/xdg/icons.nix new file mode 100644 index 000000000000..8268a3771a0e --- /dev/null +++ b/nixos/modules/config/xdg/icons.nix @@ -0,0 +1,27 @@ +{ config, lib, ... }: + +with lib; +{ + options = { + xdg.icons.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + XDG Icon Theme specification. + ''; + }; + }; + + config = mkIf config.xdg.icons.enable { + environment.pathsToLink = [ + "/share/icons" + "/share/pixmaps" + ]; + + environment.profileRelativeEnvVars = { + XCURSOR_PATH = [ "/share/icons" ]; + }; + }; + +} diff --git a/nixos/modules/config/xdg/menus.nix b/nixos/modules/config/xdg/menus.nix new file mode 100644 index 000000000000..c172692df5d7 --- /dev/null +++ b/nixos/modules/config/xdg/menus.nix @@ -0,0 +1,25 @@ +{ config, lib, ... }: + +with lib; +{ + options = { + xdg.menus.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + XDG Desktop Menu specification. + ''; + }; + }; + + config = mkIf config.xdg.menus.enable { + environment.pathsToLink = [ + "/share/applications" + "/share/desktop-directories" + "/etc/xdg/menus" + "/etc/xdg/menus/applications-merged" + ]; + }; + +} diff --git a/nixos/modules/config/xdg/mime.nix b/nixos/modules/config/xdg/mime.nix new file mode 100644 index 000000000000..db3e7c6d4c53 --- /dev/null +++ b/nixos/modules/config/xdg/mime.nix @@ -0,0 +1,26 @@ +{ config, lib, pkgs, ... }: + +with lib; +{ + options = { + xdg.mime.enable = mkOption { + type = types.bool; + default = true; + description = '' + Whether to install files to support the + XDG Shared MIME-info specification and the + XDG MIME Applications specification. + ''; + }; + }; + + config = mkIf config.xdg.mime.enable { + environment.pathsToLink = [ "/share/mime" ]; + + environment.systemPackages = [ + # this package also installs some useful data, as well as its utilities + pkgs.shared-mime-info + ]; + }; + +} diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 73173dd4e24b..5bb5f4f61450 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -7,6 +7,10 @@ ./config/fonts/fontdir.nix ./config/fonts/fonts.nix ./config/fonts/ghostscript.nix + ./config/xdg/autostart.nix + ./config/xdg/icons.nix + ./config/xdg/menus.nix + ./config/xdg/mime.nix ./config/gnu.nix ./config/i18n.nix ./config/iproute2.nix diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 3bac8d98990a..3c6d356ef998 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -40,7 +40,6 @@ in GTK_PATH = [ "/lib/gtk-2.0" "/lib/gtk-3.0" ]; XDG_CONFIG_DIRS = [ "/etc/xdg" ]; XDG_DATA_DIRS = [ "/share" ]; - XCURSOR_PATH = [ "/share/icons" ]; MOZ_PLUGIN_PATH = [ "/lib/mozilla/plugins" ]; LIBEXEC_PATH = [ "/lib/libexec" ]; }; diff --git a/nixos/modules/services/networking/xrdp.nix b/nixos/modules/services/networking/xrdp.nix index 0e882873b4ba..61f22a366a02 100644 --- a/nixos/modules/services/networking/xrdp.nix +++ b/nixos/modules/services/networking/xrdp.nix @@ -93,10 +93,14 @@ in config = mkIf cfg.enable { - # copied from # xrdp can run X11 program even if "services.xserver.enable = false" - environment.pathsToLink = - [ "/etc/xdg" "/share/xdg" "/share/applications" "/share/icons" "/share/pixmaps" ]; + xdg = { + autostart.enable = true; + menus.enable = true; + mime.enable = true; + icons.enable = true; + }; + fonts.enableDefaultFonts = mkDefault true; systemd = { diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix index da3287aaea6e..6fa3ec3b9255 100644 --- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix +++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix @@ -33,12 +33,17 @@ in pkgs.xorg.xauth # used by kdesu pkgs.gtk2 # To get GTK+'s themes. pkgs.tango-icon-theme - pkgs.shared-mime-info + pkgs.gnome2.gnomeicontheme pkgs.xorg.xcursorthemes ]; - environment.pathsToLink = [ "/etc/enlightenment" "/etc/xdg" "/share/enlightenment" "/share/elementary" "/share/applications" "/share/locale" "/share/icons" "/share/themes" "/share/mime" "/share/desktop-directories" ]; + environment.pathsToLink = [ + "/etc/enlightenment" + "/share/enlightenment" + "/share/elementary" + "/share/locale" + ]; services.xserver.desktopManager.session = [ { name = "Enlightenment"; diff --git a/nixos/modules/services/x11/desktop-managers/lumina.nix b/nixos/modules/services/x11/desktop-managers/lumina.nix index 5fe84cfb82ec..43fed2572b51 100644 --- a/nixos/modules/services/x11/desktop-managers/lumina.nix +++ b/nixos/modules/services/x11/desktop-managers/lumina.nix @@ -41,9 +41,8 @@ in # Link some extra directories in /run/current-system/software/share environment.pathsToLink = [ - "/share/desktop-directories" - "/share/icons" "/share/lumina" + # FIXME: modules should link subdirs of `/share` rather than relying on this "/share" ]; diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix index 83d1957a646a..d1cb962f6ff8 100644 --- a/nixos/modules/services/x11/desktop-managers/plasma5.nix +++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix @@ -174,7 +174,10 @@ in ++ lib.optional config.services.colord.enable colord-kde ++ lib.optionals config.services.samba.enable [ kdenetwork-filesharing pkgs.samba ]; - environment.pathsToLink = [ "/share" ]; + environment.pathsToLink = [ + # FIXME: modules should link subdirs of `/share` rather than relying on this + "/share" + ]; environment.etc = singleton { source = xcfg.xkbDir; diff --git a/nixos/modules/services/x11/desktop-managers/xfce.nix b/nixos/modules/services/x11/desktop-managers/xfce.nix index ae155470419d..75b9a76e1924 100644 --- a/nixos/modules/services/x11/desktop-managers/xfce.nix +++ b/nixos/modules/services/x11/desktop-managers/xfce.nix @@ -59,9 +59,6 @@ in tango-icon-theme xfce4-icon-theme - desktop-file-utils - shared-mime-info - # Needed by Xfce's xinitrc script # TODO: replace with command -v which @@ -100,8 +97,6 @@ in environment.pathsToLink = [ "/share/xfce4" "/share/themes" - "/share/mime" - "/share/desktop-directories" "/share/gtksourceview-2.0" ]; diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index b45e510f6b83..0237dd6f5604 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -616,8 +616,12 @@ in ] ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh; - environment.pathsToLink = - [ "/etc/xdg" "/share/xdg" "/share/applications" "/share/icons" "/share/pixmaps" ]; + xdg = { + autostart.enable = true; + menus.enable = true; + mime.enable = true; + icons.enable = true; + }; # The default max inotify watches is 8192. # Nowadays most apps require a good number of inotify watches, From 1b11fdd0df2254a762a16d04e603ba99e42169c0 Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Wed, 15 Aug 2018 10:59:44 +0100 Subject: [PATCH 05/69] system-path: allow other modules to provide setup fragments --- nixos/modules/config/system-path.nix | 19 ++++++++----------- nixos/modules/config/xdg/mime.nix | 10 ++++++++++ nixos/modules/misc/documentation.nix | 8 ++++++++ 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index a07a40e86bd1..6d17ca316e00 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -81,6 +81,12 @@ in description = "List of additional package outputs to be symlinked into /run/current-system/sw."; }; + extraSetup = mkOption { + type = types.lines; + default = [ ]; + description = "Shell fragments to be run after the system environment has been created. This should only be used for things that need to modify the internals of the environment, e.g. generating MIME caches. The environment being built can be accessed at $out."; + }; + }; system = { @@ -134,17 +140,8 @@ in if [ -x $out/bin/glib-compile-schemas -a -w $out/share/glib-2.0/schemas ]; then $out/bin/glib-compile-schemas $out/share/glib-2.0/schemas fi - - if [ -x $out/bin/install-info -a -w $out/share/info ]; then - shopt -s nullglob - for i in $out/share/info/*.info $out/share/info/*.info.gz; do - $out/bin/install-info $i $out/share/info/dir - done - fi - '' ++ optionalString config.xdg.mime.enable '' - XDG_DATA_DIRS=$out/share ${pkgs.shared-mime-info}/bin/update-mime-database -V $out/share/mime > /dev/null - - ${pkgs.desktop-file-utils}/bin/update-desktop-database $out/share/applications + + ${config.environment.extraSetup} ''; }; diff --git a/nixos/modules/config/xdg/mime.nix b/nixos/modules/config/xdg/mime.nix index db3e7c6d4c53..f1b672234a34 100644 --- a/nixos/modules/config/xdg/mime.nix +++ b/nixos/modules/config/xdg/mime.nix @@ -21,6 +21,16 @@ with lib; # this package also installs some useful data, as well as its utilities pkgs.shared-mime-info ]; + + environment.extraSetup = '' + if [ -w $out/share/mime ]; then + XDG_DATA_DIRS=$out/share ${pkgs.shared-mime-info}/bin/update-mime-database -V $out/share/mime > /dev/null + fi + + if [ -w $out/share/applications ]; then + ${pkgs.desktop-file-utils}/bin/update-desktop-database $out/share/applications + fi + ''; }; } diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix index b482a5a67523..e6ccda5d7f40 100644 --- a/nixos/modules/misc/documentation.nix +++ b/nixos/modules/misc/documentation.nix @@ -82,6 +82,14 @@ let cfg = config.documentation; in environment.systemPackages = [ pkgs.texinfoInteractive ]; environment.pathsToLink = [ "/share/info" ]; environment.extraOutputsToInstall = [ "info" ] ++ optional cfg.dev.enable "devinfo"; + environment.extraSetup = '' + if [ -w $out/share/info ]; then + shopt -s nullglob + for i in $out/share/info/*.info $out/share/info/*.info.gz; do + ${pkgs.texinfo}/bin/install-info $i $out/share/info/dir + done + fi + ''; }) (mkIf cfg.doc.enable { From 854ebed7893b53d4991ec0839da3697baee41501 Mon Sep 17 00:00:00 2001 From: Michael Peyton Jones Date: Mon, 20 Aug 2018 09:23:11 +0100 Subject: [PATCH 06/69] system-path: fix default option value --- nixos/modules/config/system-path.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/config/system-path.nix b/nixos/modules/config/system-path.nix index 6d17ca316e00..ffb437491f6c 100644 --- a/nixos/modules/config/system-path.nix +++ b/nixos/modules/config/system-path.nix @@ -83,7 +83,7 @@ in extraSetup = mkOption { type = types.lines; - default = [ ]; + default = ""; description = "Shell fragments to be run after the system environment has been created. This should only be used for things that need to modify the internals of the environment, e.g. generating MIME caches. The environment being built can be accessed at $out."; }; From 33a1044c32d72756facd0af8455f05c46223dcc1 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 21 Aug 2018 00:22:46 +0200 Subject: [PATCH 07/69] linuxPackages*.openafs*: use modDirVersion `version` doesn't include .0 patch versions, or suffixes (eg -gnu). For .0 patch versions, this isn't a problem, since the glob takes care of everything after a `.`. It does, however, prevent openafs installing for suffixed kernels. --- pkgs/servers/openafs/1.6/module.nix | 2 +- pkgs/servers/openafs/1.8/module.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/openafs/1.6/module.nix b/pkgs/servers/openafs/1.6/module.nix index bf4f36bb250b..809c8af36d91 100644 --- a/pkgs/servers/openafs/1.6/module.nix +++ b/pkgs/servers/openafs/1.6/module.nix @@ -41,7 +41,7 @@ in stdenv.mkDerivation rec { installPhase = '' mkdir -p ${modDestDir} - cp src/libafs/MODLOAD-*/libafs-${kernel.version}.* ${modDestDir}/libafs.ko + cp src/libafs/MODLOAD-*/libafs-${kernel.modDirVersion}.* ${modDestDir}/libafs.ko xz -f ${modDestDir}/libafs.ko ''; diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix index 356d3cf37c3b..57a4ea02ee8f 100644 --- a/pkgs/servers/openafs/1.8/module.nix +++ b/pkgs/servers/openafs/1.8/module.nix @@ -44,7 +44,7 @@ in stdenv.mkDerivation rec { installPhase = '' mkdir -p ${modDestDir} - cp src/libafs/MODLOAD-*/libafs-${kernel.version}.* ${modDestDir}/libafs.ko + cp src/libafs/MODLOAD-*/libafs-${kernel.modDirVersion}.* ${modDestDir}/libafs.ko xz -f ${modDestDir}/libafs.ko ''; From 34a7e678b2f036f9fe65ce6c1b5bab39cccda928 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 21 Aug 2018 00:32:29 +0200 Subject: [PATCH 08/69] linux-libre: init --- pkgs/os-specific/linux/kernel/linux-libre.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 ++++ 2 files changed, 40 insertions(+) create mode 100644 pkgs/os-specific/linux/kernel/linux-libre.nix diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix new file mode 100644 index 000000000000..6c9fa6a4c7ad --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -0,0 +1,34 @@ +{ stdenv, lib, fetchsvn, linux +, scripts ? fetchsvn { + url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/"; + rev = "r15295"; + sha256 = "03kqbjy7w9zg6ry86h9sxa33z0rblznhba109lwmjwy0wx7yk1cs"; + } +}: + +let + majorMinor = lib.versions.majorMinor linux.modDirVersion; + + major = lib.versions.major linux.modDirVersion; + minor = lib.versions.minor linux.modDirVersion; + patch = lib.versions.patch linux.modDirVersion; + +in linux.override { + argsOverride = { + modDirVersion = "${linux.modDirVersion}-gnu"; + src = stdenv.mkDerivation { + name = "${linux.name}-libre-src"; + src = linux.src; + buildPhase = '' + ${scripts}/${majorMinor}-gnu/deblob-${majorMinor} \ + ${major} ${minor} ${patch} + ''; + checkPhase = '' + ${scripts}/deblob-check + ''; + installPhase = '' + cp -r . "$out" + ''; + }; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a7491632fb5b..a21b141b7b17 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -14210,6 +14210,12 @@ with pkgs; linuxPackages_hardkernel_latest = linuxPackages_hardkernel_4_14; linux_hardkernel_latest = linuxPackages_hardkernel_latest.kernel; + # GNU Linux-libre kernels + linuxPackages-libre = recurseIntoAttrs (linuxPackagesFor linux-libre); + linux-libre = callPackage ../os-specific/linux/kernel/linux-libre.nix {}; + linuxPackages_latest-libre = recurseIntoAttrs (linuxPackagesFor linux_latest-libre); + linux_latest-libre = linux-libre.override { linux = linux_latest; }; + # A function to build a manually-configured kernel linuxManualConfig = makeOverridable (callPackage ../os-specific/linux/kernel/manual-config.nix {}); From a202c25ff792077abf76e31e7a5b192ee9ae4a26 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Tue, 21 Aug 2018 11:13:21 +0100 Subject: [PATCH 09/69] linux-libre: add myself as a maintainer --- pkgs/os-specific/linux/kernel/linux-libre.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index 6c9fa6a4c7ad..10f8cdd6c24b 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -16,6 +16,7 @@ let in linux.override { argsOverride = { modDirVersion = "${linux.modDirVersion}-gnu"; + src = stdenv.mkDerivation { name = "${linux.name}-libre-src"; src = linux.src; @@ -30,5 +31,7 @@ in linux.override { cp -r . "$out" ''; }; + + maintainers = [ lib.maintainers.qyliss ]; }; } From 853475fed771dcde688cc6cc63e66bddfc37489c Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Sun, 7 Jan 2018 22:09:42 -0500 Subject: [PATCH 10/69] Fixes isolinux configuration for new artwork. --- nixos/modules/installer/cd-dvd/iso-image.nix | 26 ++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 1ac9e5c5c74b..b6fa57242af7 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -36,6 +36,28 @@ let UI vesamenu.c32 MENU TITLE NixOS MENU BACKGROUND /isolinux/background.png + MENU RESOLUTION 800 600 + MENU CLEAR + MENU ROWS 6 + MENU CMDLINEROW -4 + MENU TIMEOUTROW -3 + MENU TABMSGROW -2 + MENU HELPMSGROW -1 + MENU HELPMSGENDROW -1 + MENU MARGIN 0 + + # FG:AARRGGBB BG:AARRGGBB shadow + MENU COLOR BORDER 30;44 #00000000 #00000000 none + MENU COLOR SCREEN 37;40 #FF000000 #00E2E8FF none + MENU COLOR TABMSG 31;40 #80000000 #00000000 none + MENU COLOR TIMEOUT 1;37;40 #FF000000 #00000000 none + MENU COLOR TIMEOUT_MSG 37;40 #FF000000 #00000000 none + MENU COLOR CMDMARK 1;36;40 #FF000000 #00000000 none + MENU COLOR CMDLINE 37;40 #FF000000 #00000000 none + MENU COLOR TITLE 1;36;44 #00000000 #00000000 none + MENU COLOR UNSEL 37;44 #FF000000 #00000000 none + MENU COLOR SEL 7;37;40 #FFFFFFFF #FF5277C3 std + DEFAULT boot LABEL boot @@ -236,8 +258,8 @@ in isoImage.splashImage = mkOption { default = pkgs.fetchurl { - url = https://raw.githubusercontent.com/NixOS/nixos-artwork/5729ab16c6a5793c10a2913b5a1b3f59b91c36ee/ideas/grub-splash/grub-nixos-1.png; - sha256 = "43fd8ad5decf6c23c87e9026170a13588c2eba249d9013cb9f888da5e2002217"; + url = https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/isolinux/bios-boot.png; + sha256 = "1wp822zrhbg4fgfbwkr7cbkr4labx477209agzc0hr6k62fr6rxd"; }; description = '' The splash image to use in the bootloader. From 2f7d9c9f78ae36bc8eedd3969b131a393aded413 Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Wed, 10 Jan 2018 21:14:52 -0500 Subject: [PATCH 11/69] Adds refind to the installer image. This is a 277K (as of right now) addition that can greatly help in some last recourse scenarios. The specific rEFInd setup will not be able to boot the installer image, but this is not why it has been added. It has been added to make use of its volumes scanning capabilities to boot existing EFI images on the target computer, which is sometimes necessary with buggy EFI. While is isn't NixOS's job to fix buggy EFI, shipping this small bit with the installer will help the unlucky few. Example scenario: two wildly different EFI implementation I have encountered have fatal flaws in which they sometimes will lose all the settings, this includes boot configuration. This is compounded by the fact that the two specific and distinct implementation do not allow manually adding ESP paths from their interface. The only recourse is to let the EFI boot the default paths, EFI/boot/boot{platform}.efi, which is not a default location used by the NixOS bootloaders. rEFInd is able to scan the volumes and detect the existing efi bootloaders, and boot them successfully. --- nixos/modules/installer/cd-dvd/iso-image.nix | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index b6fa57242af7..0dbdd39d639a 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -98,6 +98,24 @@ let isolinuxCfg = concatStringsSep "\n" ([ baseIsolinuxCfg ] ++ optional config.boot.loader.grub.memtest86.enable isolinuxMemtest86Entry); + # Setup instructions for rEFInd. + refind = + if targetArch == "x64" then + '' + # Adds rEFInd to the ISO. + cp -v ${pkgs.refind}/share/refind/refind_x64.efi $out/EFI/boot/ + + # Makes it bootable through systemd-boot. + # It purposefully does not have a refind configuration file nor theme. + cat << EOF > $out/loader/entries/zz-rEFInd.conf + title rEFInd rescue bootloader + efi /EFI/boot/refind_x64.efi + EOF + '' + else + "# No refind for ia32" + ; + # The EFI boot image. efiDir = pkgs.runCommand "efi-directory" {} '' mkdir -p $out/EFI/boot @@ -141,6 +159,8 @@ let default nixos-iso timeout ${builtins.toString config.boot.loader.timeout} EOF + + ${refind} ''; efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools pkgs.libfaketime ]; } From 41e7de42de030e47d273ab143732cdcb3547ab9a Mon Sep 17 00:00:00 2001 From: Samuel Dionne-Riel Date: Thu, 11 Jan 2018 23:32:56 -0500 Subject: [PATCH 12/69] Use a themed grub for the installer image This replaces systemd-boot with grub, it is at feature parity, as in it can do everything systemd-boot did in the previous commit. --- nixos/modules/installer/cd-dvd/iso-image.nix | 269 +++++++++++++++---- pkgs/data/misc/nixos-artwork/grub2-theme.nix | 5 + pkgs/top-level/all-packages.nix | 1 + 3 files changed, 229 insertions(+), 46 deletions(-) create mode 100644 pkgs/data/misc/nixos-artwork/grub2-theme.nix diff --git a/nixos/modules/installer/cd-dvd/iso-image.nix b/nixos/modules/installer/cd-dvd/iso-image.nix index 0dbdd39d639a..74fce0d1721d 100644 --- a/nixos/modules/installer/cd-dvd/iso-image.nix +++ b/nixos/modules/installer/cd-dvd/iso-image.nix @@ -7,6 +7,63 @@ with lib; let + /** + * Given a list of `options`, concats the result of mapping each options + * to a menuentry for use in grub. + * + * * defaults: {name, image, params, initrd} + * * options: [ option... ] + * * option: {name, params, class} + */ + menuBuilderGrub2 = + defaults: options: lib.concatStrings + ( + map + (option: '' + menuentry '${defaults.name} ${ + # Name appended to menuentry defaults to params if no specific name given. + option.name or (if option ? params then "(${option.params})" else "") + }' ${if option ? class then " --class ${option.class}" else ""} { + linux ${defaults.image} ${defaults.params} ${ + option.params or "" + } + initrd ${defaults.initrd} + } + '') + options + ) + ; + + /** + * Given a `config`, builds the default options. + */ + buildMenuGrub2 = config: + buildMenuAdditionalParamsGrub2 config "" + ; + + /** + * Given a `config` and params to add to `params`, build a set of default options. + * Use this one when creating a variant (e.g. hidpi) + */ + buildMenuAdditionalParamsGrub2 = config: additional: + let + finalCfg = { + name = "NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel}"; + params = "init=${config.system.build.toplevel}/init ${additional} ${toString config.boot.kernelParams}"; + image = "/boot/bzImage"; + initrd = "/boot/initrd"; + }; + in + menuBuilderGrub2 + finalCfg + [ + { class = "installer"; } + { class = "nomodeset"; params = "nomodeset"; } + { class = "copytoram"; params = "copytoram"; } + { class = "debug"; params = "debug"; } + ] + ; + # Timeout in syslinux is in units of 1/10 of a second. # 0 is used to disable timeouts. syslinuxTimeout = if config.boot.loader.timeout == null then @@ -104,60 +161,158 @@ let '' # Adds rEFInd to the ISO. cp -v ${pkgs.refind}/share/refind/refind_x64.efi $out/EFI/boot/ - - # Makes it bootable through systemd-boot. - # It purposefully does not have a refind configuration file nor theme. - cat << EOF > $out/loader/entries/zz-rEFInd.conf - title rEFInd rescue bootloader - efi /EFI/boot/refind_x64.efi - EOF '' else "# No refind for ia32" ; + grubMenuCfg = '' + # + # Menu configuration + # + + insmod gfxterm + insmod png + set gfxpayload=keep + + # Fonts can be loaded? + # (This font is assumed to always be provided as a fallback by NixOS) + if loadfont (hd0)/EFI/boot/unicode.pf2; then + # Use graphical term, it can be either with background image or a theme. + # input is "console", while output is "gfxterm". + # This enables "serial" input and output only when possible. + # Otherwise the failure mode is to not even enable gfxterm. + if test "\$with_serial" == "yes"; then + terminal_output gfxterm serial + terminal_input console serial + else + terminal_output gfxterm + terminal_input console + fi + else + # Sets colors for the non-graphical term. + set menu_color_normal=cyan/blue + set menu_color_highlight=white/blue + fi + + ${ # When there is a theme configured, use it, otherwise use the background image. + if (!isNull config.isoImage.grubTheme) then '' + # Sets theme. + set theme=(hd0)/EFI/boot/grub-theme/theme.txt + # Load theme fonts + $(find ${config.isoImage.grubTheme} -iname '*.pf2' -printf "loadfont (hd0)/EFI/boot/grub-theme/%P\n") + '' else '' + if background_image (hd0)/EFI/boot/efi-background.png; then + # Black background means transparent background when there + # is a background image set... This seems undocumented :( + set color_normal=black/black + set color_highlight=white/blue + else + # Falls back again to proper colors. + set menu_color_normal=cyan/blue + set menu_color_highlight=white/blue + fi + ''} + ''; + # The EFI boot image. + # Notes about grub: + # * Yes, the grubMenuCfg has to be repeated in all submenus. Otherwise you + # will get white-on-black console-like text on sub-menus. *sigh* efiDir = pkgs.runCommand "efi-directory" {} '' - mkdir -p $out/EFI/boot - cp -v ${pkgs.systemd}/lib/systemd/boot/efi/systemd-boot${targetArch}.efi $out/EFI/boot/boot${targetArch}.efi - mkdir -p $out/loader/entries + mkdir -p $out/EFI/boot/ - cat << EOF > $out/loader/entries/nixos-iso.conf - title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} - linux /boot/${config.system.boot.loader.kernelFile} - initrd /boot/${config.system.boot.loader.initrdFile} - options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} - EOF + MODULES="fat iso9660 part_gpt part_msdos \ + normal boot linux configfile loopback chain halt \ + efifwsetup efi_gop efi_uga \ + ls search search_label search_fs_uuid search_fs_file \ + gfxmenu gfxterm gfxterm_background gfxterm_menu test all_video loadenv \ + exfat ext2 ntfs btrfs hfsplus udf \ + videoinfo png \ + echo serial \ + " + # Make our own efi program, we can't rely on "grub-install" since it seems to + # probe for devices, even with --skip-fs-probe. + ${pkgs.grub2_efi}/bin/grub-mkimage -o $out/EFI/boot/bootx64.efi -p /EFI/boot -O x86_64-efi \ + $MODULES + cp ${pkgs.grub2_efi}/share/grub/unicode.pf2 $out/EFI/boot/ - # A variant to boot with 'nomodeset' - cat << EOF > $out/loader/entries/nixos-iso-nomodeset.conf - title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} - version nomodeset - linux /boot/${config.system.boot.loader.kernelFile} - initrd /boot/${config.system.boot.loader.initrdFile} - options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} nomodeset - EOF + cat < $out/EFI/boot/grub.cfg - # A variant to boot with 'copytoram' - cat << EOF > $out/loader/entries/nixos-iso-copytoram.conf - title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} - version copytoram - linux /boot/${config.system.boot.loader.kernelFile} - initrd /boot/${config.system.boot.loader.initrdFile} - options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} copytoram - EOF + # If you want to use serial for "terminal_*" commands, you need to set one up: + # Example manual configuration: + # → serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 + # This uses the defaults, and makes the serial terminal available. + set with_serial=no + if serial; then set with_serial=yes ;fi + export with_serial + clear + set timeout=10 + ${grubMenuCfg} - # A variant to boot with verbose logging to the console - cat << EOF > $out/loader/entries/nixos-iso-debug.conf - title NixOS ${config.system.nixos.label}${config.isoImage.appendToMenuLabel} (debug) - linux /boot/${config.system.boot.loader.kernelFile} - initrd /boot/${config.system.boot.loader.initrdFile} - options init=${config.system.build.toplevel}/init ${toString config.boot.kernelParams} loglevel=7 - EOF + # + # Menu entries + # - cat << EOF > $out/loader/loader.conf - default nixos-iso - timeout ${builtins.toString config.boot.loader.timeout} + ${buildMenuGrub2 config} + submenu "HiDPI, Quirks and Accessibility" --class hidpi --class submenu { + ${grubMenuCfg} + submenu "Suggests resolution @720p" --class hidpi-720p { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "video=1280x720@60"} + } + submenu "Suggests resolution @1080p" --class hidpi-1080p { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "video=1920x1080@60"} + } + + # Some laptop and convertibles have the panel installed in an + # inconvenient way, rotated away from the keyboard. + # Those entries makes it easier to use the installer. + submenu "" {return} + submenu "Rotate framebuffer Clockwise" --class rotate-90cw { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "fbcon=rotate:1"} + } + submenu "Rotate framebuffer Upside-Down" --class rotate-180 { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "fbcon=rotate:2"} + } + submenu "Rotate framebuffer Counter-Clockwise" --class rotate-90ccw { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "fbcon=rotate:3"} + } + + # As a proof of concept, mainly. (Not sure it has accessibility merits.) + submenu "" {return} + submenu "Use black on white" --class accessibility-blakconwhite { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "vt.default_red=0xFF,0xBC,0x4F,0xB4,0x56,0xBC,0x4F,0x00,0xA1,0xCF,0x84,0xCA,0x8D,0xB4,0x84,0x68 vt.default_grn=0xFF,0x55,0xBA,0xBA,0x4D,0x4D,0xB3,0x00,0xA0,0x8F,0xB3,0xCA,0x88,0x93,0xA4,0x68 vt.default_blu=0xFF,0x58,0x5F,0x58,0xC5,0xBD,0xC5,0x00,0xA8,0xBB,0xAB,0x97,0xBD,0xC7,0xC5,0x68"} + } + + # Serial access is a must! + submenu "" {return} + submenu "Serial console=ttyS0,115200n8" --class serial { + ${grubMenuCfg} + ${buildMenuAdditionalParamsGrub2 config "console=ttyS0,115200n8"} + } + } + + menuentry 'rEFInd' --class refind { + # UUID is hard-coded in the derivation. + search --set=root --no-floppy --fs-uuid 1234-5678 + chainloader (\$root)/EFI/boot/refind_x64.efi + } + menuentry 'Firmware Setup' --class settings { + fwsetup + clear + echo "" + echo "If you see this message, your EFI system doesn't support this feature." + echo "" + } + menuentry 'Shutdown' --class shutdown { + halt + } EOF ${refind} @@ -276,13 +431,31 @@ in ''; }; + isoImage.efiSplashImage = mkOption { + default = pkgs.fetchurl { + url = https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/efi-background.png; + sha256 = "18lfwmp8yq923322nlb9gxrh5qikj1wsk6g5qvdh31c4h5b1538x"; + }; + description = '' + The splash image to use in the EFI bootloader. + ''; + }; + isoImage.splashImage = mkOption { default = pkgs.fetchurl { url = https://raw.githubusercontent.com/NixOS/nixos-artwork/a9e05d7deb38a8e005a2b52575a3f59a63a4dba0/bootloader/isolinux/bios-boot.png; sha256 = "1wp822zrhbg4fgfbwkr7cbkr4labx477209agzc0hr6k62fr6rxd"; }; description = '' - The splash image to use in the bootloader. + The splash image to use in the legacy-boot bootloader. + ''; + }; + + isoImage.grubTheme = mkOption { + default = pkgs.nixos-grub2-theme; + type = types.nullOr (types.either types.path types.package); + description = '' + The grub2 theme used for UEFI boot. ''; }; @@ -400,6 +573,9 @@ in { source = "${pkgs.syslinux}/share/syslinux"; target = "/isolinux"; } + { source = config.isoImage.efiSplashImage; + target = "/EFI/boot/efi-background.png"; + } { source = config.isoImage.splashImage; target = "/isolinux/background.png"; } @@ -413,13 +589,14 @@ in { source = "${efiDir}/EFI"; target = "/EFI"; } - { source = "${efiDir}/loader"; - target = "/loader"; - } ] ++ optionals config.boot.loader.grub.memtest86.enable [ { source = "${pkgs.memtest86plus}/memtest.bin"; target = "/boot/memtest.bin"; } + ] ++ optionals (!isNull config.isoImage.grubTheme) [ + { source = config.isoImage.grubTheme; + target = "/EFI/boot/grub-theme"; + } ]; boot.loader.timeout = 10; diff --git a/pkgs/data/misc/nixos-artwork/grub2-theme.nix b/pkgs/data/misc/nixos-artwork/grub2-theme.nix new file mode 100644 index 000000000000..8bc6c8adc13e --- /dev/null +++ b/pkgs/data/misc/nixos-artwork/grub2-theme.nix @@ -0,0 +1,5 @@ +{fetchzip}: +fetchzip { + url = https://github.com/NixOS/nixos-artwork/releases/download/bootloader-18.09-pre/grub2-installer.tar.bz2; + sha256 = "0rhh061m1hpgadm7587inw3fxfacnd53xjc53w3vzghlck56djq5"; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cce255e3728a..82ca928fe4d9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21625,6 +21625,7 @@ with pkgs; nixos-artwork = callPackage ../data/misc/nixos-artwork { }; nixos-icons = callPackage ../data/misc/nixos-artwork/icons.nix { }; + nixos-grub2-theme = callPackage ../data/misc/nixos-artwork/grub2-theme.nix { }; nixos-container = callPackage ../tools/virtualization/nixos-container { }; From 99e663d4e1acb427f450d170de89d309669e7373 Mon Sep 17 00:00:00 2001 From: Silvan Mosberger Date: Sun, 26 Aug 2018 01:53:33 +0200 Subject: [PATCH 13/69] Throw warning for nix-repl attribute --- pkgs/top-level/all-packages.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6fb84e68be4b..696664f99e13 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21419,6 +21419,14 @@ with pkgs; nix-top = callPackage ../tools/package-management/nix-top { }; + nix-repl = throw ( + "nix-repl has been removed because it's not maintained anymore, " + + (lib.optionalString (! lib.versionAtLeast "2" (lib.versions.major builtins.nixVersion)) + "ugrade your Nix installation to a newer version and ") + + "use `nix repl` instead. " + + "Also see https://github.com/NixOS/nixpkgs/pull/44903" + ); + nix-review = callPackage ../tools/package-management/nix-review { }; nix-serve = callPackage ../tools/package-management/nix-serve { }; From 526d604670a456e59a3d20b657d864f85bb52839 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Tue, 14 Aug 2018 01:01:08 +0200 Subject: [PATCH 14/69] module system: rework module merging The asymptotic complexity is now much lower. --- lib/attrsets.nix | 2 +- lib/modules.nix | 66 +++++++++++++++++++++++++++++++++--------------- 2 files changed, 46 insertions(+), 22 deletions(-) diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 0066fba362ae..2c2319003d8b 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -145,7 +145,7 @@ rec { foldAttrs = op: nul: list_of_attrs: fold (n: a: fold (name: o: - o // (listToAttrs [{inherit name; value = op n.${name} (a.${name} or nul); }]) + o // { ${name} = op n.${name} (a.${name} or nul); } ) a (attrNames n) ) {} list_of_attrs; diff --git a/lib/modules.nix b/lib/modules.nix index a443d5ec5d16..5fb83a4a538c 100644 --- a/lib/modules.nix +++ b/lib/modules.nix @@ -192,29 +192,53 @@ rec { (concatMap (m: map (config: { inherit (m) file; inherit config; }) (pushDownProperties m.config)) modules); mergeModules' = prefix: options: configs: - listToAttrs (map (name: { + let + /* byName is like foldAttrs, but will look for attributes to merge in the + specified attribute name. + + byName "foo" (module: value: ["module.hidden=${module.hidden},value=${value}"]) + [ + { + hidden="baz"; + foo={qux="bar"; gla="flop";}; + } + { + hidden="fli"; + foo={qux="gne"; gli="flip";}; + } + ] + ===> + { + gla = [ "module.hidden=baz,value=flop" ]; + gli = [ "module.hidden=fli,value=flip" ]; + qux = [ "module.hidden=baz,value=bar" "module.hidden=fli,value=gne" ]; + } + */ + byName = attr: f: modules: foldl' (acc: module: + foldl' (inner: name: + inner // { ${name} = (acc.${name} or []) ++ (f module module.${attr}.${name}); } + ) acc (attrNames module.${attr}) + ) {} modules; + # an attrset 'name' => list of submodules that declare ‘name’. + declsByName = byName "options" + (module: option: [{ inherit (module) file; options = option; }]) + options; + # an attrset 'name' => list of submodules that define ‘name’. + defnsByName = byName "config" (module: value: + map (config: { inherit (module) file; inherit config; }) (pushDownProperties value) + ) configs; + # extract the definitions for each loc + defnsByName' = byName "config" + (module: value: [{ inherit (module) file; inherit value; }]) + configs; + in + (flip mapAttrs declsByName (name: decls: # We're descending into attribute ‘name’. - inherit name; - value = let loc = prefix ++ [name]; - # Get all submodules that declare ‘name’. - decls = concatMap (m: - if m.options ? ${name} - then [ { inherit (m) file; options = m.options.${name}; } ] - else [] - ) options; - # Get all submodules that define ‘name’. - defns = concatMap (m: - if m.config ? ${name} - then map (config: { inherit (m) file; inherit config; }) - (pushDownProperties m.config.${name}) - else [] - ) configs; + defns = defnsByName.${name} or []; + defns' = defnsByName'.${name} or []; nrOptions = count (m: isOption m.options) decls; - # Extract the definitions for this loc - defns' = map (m: { inherit (m) file; value = m.config.${name}; }) - (filter (m: m.config ? ${name}) configs); in if nrOptions == length decls then let opt = fixupOptionType loc (mergeOptionDecls loc decls); @@ -226,8 +250,8 @@ rec { in throw "The option `${showOption loc}' in `${firstOption.file}' is a prefix of options in `${firstNonOption.file}'." else - mergeModules' loc decls defns; - }) (concatMap (m: attrNames m.options) options)) + mergeModules' loc decls defns + )) // { _definedNames = map (m: { inherit (m) file; names = attrNames m.config; }) configs; }; /* Merge multiple option declarations into a single declaration. In From 4c4fc2299c5e598f3a7f6f1e4a58739244acc975 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sun, 19 Aug 2018 14:26:20 +0200 Subject: [PATCH 15/69] rust-bindgen: wrap to add required library compilation flags The easy part is to add NIX_CFLAGS_COMPILE for "regular" libraries. A bit more tricky is to add the required flags for libclang to find libstdcxx. For this we parse arguments to bindgen to look for -x c++ or -xc++ and if found add NIX_CXXSTDLIB_COMPILE to the arguments. This variable is populated by a complex dance of setupHooks. We trigger this by adding clang to propagatedBuildInputs. A more subtle way may exist. --- .../tools/rust/bindgen/default.nix | 49 +++++++++++++++---- .../development/tools/rust/bindgen/wrapper.sh | 36 ++++++++++++++ 2 files changed, 75 insertions(+), 10 deletions(-) create mode 100755 pkgs/development/tools/rust/bindgen/wrapper.sh diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix index aeeae494e586..68df0af6ee46 100644 --- a/pkgs/development/tools/rust/bindgen/default.nix +++ b/pkgs/development/tools/rust/bindgen/default.nix @@ -1,6 +1,4 @@ -{ stdenv, fetchFromGitHub, rustPlatform, makeWrapper, llvmPackages }: - -# Future work: Automatically communicate NIX_CFLAGS_COMPILE to bindgen's tests and the bindgen executable itself. +{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform, clang, llvmPackages, rustfmt, writeScriptBin }: rustPlatform.buildRustPackage rec { name = "rust-bindgen-${version}"; @@ -13,23 +11,54 @@ rustPlatform.buildRustPackage rec { sha256 = "0cqjr7qspjrfgqcp4nqxljmhhbqyijb2jpw3lajgjj48y6wrnw93"; }; - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ llvmPackages.clang-unwrapped.lib ]; + cargoSha256 = "0b8v6c7q1abibzygrigldpd31lyd5ngmj4vq5d7zni96m20mm85w"; + + libclang = llvmPackages.libclang.lib; #for substituteAll + + buildInputs = [ libclang ]; + + propagatedBuildInputs = [ clang ]; # to populate NIX_CXXSTDLIB_COMPILE + + patches = [ + # https://github.com/rust-lang-nursery/rust-bindgen/pull/1376 + (fetchpatch { + url = https://github.com/rust-lang-nursery/rust-bindgen/commit/c8b5406f08af82a92bf8faf852c21ba941d9c176.patch; + sha256 = "16ibr2rplh0qz8rsq6gir45xlz5nasad4y8fprwhrb7ssv8wfkss"; + }) + ]; configurePhase = '' - export LIBCLANG_PATH="${llvmPackages.clang-unwrapped.lib}/lib" + export LIBCLANG_PATH="${libclang}/lib" ''; postInstall = '' - wrapProgram $out/bin/bindgen --set LIBCLANG_PATH "${llvmPackages.clang-unwrapped.lib}/lib" + mv $out/bin/{bindgen,.bindgen-wrapped}; + substituteAll ${./wrapper.sh} $out/bin/bindgen + chmod +x $out/bin/bindgen ''; - cargoSha256 = "0b8v6c7q1abibzygrigldpd31lyd5ngmj4vq5d7zni96m20mm85w"; - - doCheck = false; # A test fails because it can't find standard headers in NixOS + doCheck = false; # half the tests fail because our rustfmt is not nightly enough + checkInputs = + let fakeRustup = writeScriptBin "rustup" '' + #!${stdenv.shell} + shift + shift + exec "$@" + ''; + in [ + rustfmt + fakeRustup # the test suite insists in calling `rustup run nightly rustfmt` + clang + ]; meta = with stdenv.lib; { description = "C and C++ binding generator"; + longDescription = '' + Bindgen takes a c or c++ header file and turns them into + rust ffi declarations. + As with most compiler related software, this will only work + inside a nix-shell with the required libraries as buildInputs. + ''; homepage = https://github.com/rust-lang-nursery/rust-bindgen; license = with licenses; [ bsd3 ]; maintainers = [ maintainers.ralith ]; diff --git a/pkgs/development/tools/rust/bindgen/wrapper.sh b/pkgs/development/tools/rust/bindgen/wrapper.sh new file mode 100755 index 000000000000..95cd0901cec8 --- /dev/null +++ b/pkgs/development/tools/rust/bindgen/wrapper.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +sep='--' # whether to add -- before new options +cxx=0 # whether cxx was explicitly requested +lastWasx=0 # whether the last argument passed was -x +for e in "$@"; do + if [[ "$e" == "--" ]]; then + sep= + fi; + if [[ "$sep" == "" ]]; then + # we look for -x c++ after -- only + if [[ "$e" == "-x" ]]; then + lastWasx=1 + fi; + if [[ $lastWasx -eq 1 && "$e" == "c++" ]]; then + lastWasx=0 + cxx=1 + fi; + if [[ "$e" == "-xc++" || "$e" == -std=c++* ]]; then + cxx=1 + fi; + fi; +done; +cxxflags= +if [[ $cxx -eq 1 ]]; then + cxxflags=$NIX_CXXSTDLIB_COMPILE +fi; +if [[ -n "$NIX_DEBUG" ]]; then + set -x; +fi; +export LIBCLANG_PATH="@libclang@/lib" +# shellcheck disable=SC2086 +# cxxflags and NIX_CFLAGS_COMPILE should be word-split +exec -a "$0" @out@/bin/.bindgen-wrapped "$@" $sep $cxxflags $NIX_CFLAGS_COMPILE +# note that we add the flags after $@ which is incorrect. This is only for the sake +# of simplicity. + From 0e5a184980dd5baff189df4ce6fa305331029ecf Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 29 Aug 2018 01:39:20 -0500 Subject: [PATCH 16/69] pythonPackages.pywatchman: 1.3.0 -> 1.4.1 --- pkgs/top-level/python-packages.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 3ba335146ce3..27acc3d71210 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4431,17 +4431,15 @@ in { pywatchman = buildPythonPackage rec { name = "pywatchman-${version}"; - version = "1.3.0"; + version = "1.4.1"; src = pkgs.fetchurl { url = "mirror://pypi/p/pywatchman/pywatchman-${version}.tar.gz"; - sha256 = "c3d5be183b5b04f6ad575fc71b06dd196185dea1558d9f4d0598ba9beaab8245"; + sha256 = "1yf2gm20wc3djpb5larxii3l55xxby0il2ns3q0v1byyfnr7w16h"; }; postPatch = '' substituteInPlace pywatchman/__init__.py \ --replace "'watchman'" "'${pkgs.watchman}/bin/watchman'" ''; - # SyntaxError - disabled = isPy3k; # No tests in archive doCheck = false; From f9ab1c5d41f078e537035cfa76de45fcd92d21d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lengyel=20Bal=C3=A1zs?= Date: Wed, 29 Aug 2018 16:54:08 +0200 Subject: [PATCH 17/69] wine{Unstable,Staging}: 3.13 -> 3.14 --- pkgs/misc/emulators/wine/sources.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix index a6b59fc4aca4..1a257518e728 100644 --- a/pkgs/misc/emulators/wine/sources.nix +++ b/pkgs/misc/emulators/wine/sources.nix @@ -39,16 +39,16 @@ in rec { unstable = fetchurl rec { # NOTE: Don't forget to change the SHA256 for staging as well. - version = "3.13"; + version = "3.14"; url = "https://dl.winehq.org/wine/source/3.x/wine-${version}.tar.xz"; - sha256 = "1m5v854r5wgw68b97j6wim1a8692x5sih25c0xp1yb13a94dg187"; + sha256 = "01dhn3a6k3dwnrbz4bxvszhh5sxwy6s89y459g805hjmq8s6d2a7"; inherit (stable) mono gecko32 gecko64; }; staging = fetchFromGitHub rec { # https://github.com/wine-compholio/wine-staging/releases inherit (unstable) version; - sha256 = "0996gsiqawp24dq8qpff2cpqm8w9d0pxf537bgdbhjncn88xjwhr"; + sha256 = "0h6gck0p92hin0m13q1hnlfnqs4vy474w66ppinvqms2zn3vibgi"; owner = "wine-staging"; repo = "wine-staging"; rev = "v${version}"; From 58db095c86d366e9e3b801bc22359162fdad8b49 Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Wed, 29 Aug 2018 09:10:50 -0500 Subject: [PATCH 18/69] pythonPackages.pywatchman: move to python-modules pywatchman is licensed under BSD-3 https://github.com/facebook/watchman/commit/150f1fb4eff94c0248b54154fb356f768a131d60 --- .../python-modules/pywatchman/default.nix | 26 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 16 +----------- 2 files changed, 27 insertions(+), 15 deletions(-) create mode 100644 pkgs/development/python-modules/pywatchman/default.nix diff --git a/pkgs/development/python-modules/pywatchman/default.nix b/pkgs/development/python-modules/pywatchman/default.nix new file mode 100644 index 000000000000..40aaea9c01a7 --- /dev/null +++ b/pkgs/development/python-modules/pywatchman/default.nix @@ -0,0 +1,26 @@ +{ stdenv, buildPythonPackage, fetchPypi, watchman }: + +buildPythonPackage rec { + pname = "pywatchman"; + version = "1.4.1"; + + src = fetchPypi { + inherit pname version; + sha256 = "1yf2gm20wc3djpb5larxii3l55xxby0il2ns3q0v1byyfnr7w16h"; + }; + + postPatch = '' + substituteInPlace pywatchman/__init__.py \ + --replace "'watchman'" "'${watchman}/bin/watchman'" + ''; + + # No tests in archive + doCheck = false; + + meta = with stdenv.lib; { + description = "Watchman client for Python"; + homepage = https://facebook.github.io/watchman/; + license = licenses.bsd3; + }; + +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 27acc3d71210..ee9f158ce76f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4429,21 +4429,7 @@ in { }; }; - pywatchman = buildPythonPackage rec { - name = "pywatchman-${version}"; - version = "1.4.1"; - src = pkgs.fetchurl { - url = "mirror://pypi/p/pywatchman/pywatchman-${version}.tar.gz"; - sha256 = "1yf2gm20wc3djpb5larxii3l55xxby0il2ns3q0v1byyfnr7w16h"; - }; - postPatch = '' - substituteInPlace pywatchman/__init__.py \ - --replace "'watchman'" "'${pkgs.watchman}/bin/watchman'" - ''; - # No tests in archive - doCheck = false; - - }; + pywatchman = callPackage ../development/python-modules/pywatchman { }; pywavelets = callPackage ../development/python-modules/pywavelets { }; From be356b3d4a2b54b00d34cfcaa91ffda58b6547b0 Mon Sep 17 00:00:00 2001 From: Uli Baum Date: Wed, 29 Aug 2018 22:57:37 +0200 Subject: [PATCH 19/69] linux-libre: fix argument list Building a system with boot.kernelPackages = pkgs.linuxPackages-libre failed because the expression is called with extra arguments, See linux-4.14.nix. --- pkgs/os-specific/linux/kernel/linux-libre.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix index 10f8cdd6c24b..2195bb7a29ce 100644 --- a/pkgs/os-specific/linux/kernel/linux-libre.nix +++ b/pkgs/os-specific/linux/kernel/linux-libre.nix @@ -4,6 +4,7 @@ rev = "r15295"; sha256 = "03kqbjy7w9zg6ry86h9sxa33z0rblznhba109lwmjwy0wx7yk1cs"; } +, ... }: let From 80dd1456d0054615ee774b79aa8490667bbfa900 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 23 Aug 2018 17:43:02 +0200 Subject: [PATCH 20/69] dmidecode: add license --- pkgs/os-specific/linux/dmidecode/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/dmidecode/default.nix b/pkgs/os-specific/linux/dmidecode/default.nix index 65908fd18e27..0216e48d58f5 100644 --- a/pkgs/os-specific/linux/dmidecode/default.nix +++ b/pkgs/os-specific/linux/dmidecode/default.nix @@ -13,6 +13,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { homepage = http://www.nongnu.org/dmidecode/; description = "A tool that reads information about your system's hardware from the BIOS according to the SMBIOS/DMI standard"; + license = licenses.gpl2Plus; platforms = platforms.linux; }; } From c1ed60e64c65032bae7be6ce2be052d09157c714 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 23 Aug 2018 17:47:12 +0200 Subject: [PATCH 21/69] drdb: add license --- pkgs/os-specific/linux/drbd/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix index c6792ea17fb5..5e990511eed7 100644 --- a/pkgs/os-specific/linux/drbd/default.nix +++ b/pkgs/os-specific/linux/drbd/default.nix @@ -34,9 +34,10 @@ stdenv.mkDerivation rec { installFlags = "localstatedir=$(TMPDIR)/var sysconfdir=$(out)/etc INITDIR=$(out)/etc/init.d"; - meta = { + meta = with stdenv.lib; { homepage = http://www.drbd.org/; description = "Distributed Replicated Block Device, a distributed storage system for Linux"; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + platforms = platforms.linux; }; } From 89ec828a90f3d3526180653ddbd6362e419f645a Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 23 Aug 2018 17:48:30 +0200 Subject: [PATCH 22/69] ebtables: add license --- pkgs/os-specific/linux/ebtables/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/ebtables/default.nix b/pkgs/os-specific/linux/ebtables/default.nix index eec456ff5ad2..9d92575b6687 100644 --- a/pkgs/os-specific/linux/ebtables/default.nix +++ b/pkgs/os-specific/linux/ebtables/default.nix @@ -24,9 +24,10 @@ stdenv.mkDerivation rec { preInstall = "mkdir -p $out/etc/sysconfig"; - meta = { + meta = with stdenv.lib; { description = "A filtering tool for Linux-based bridging firewalls"; homepage = http://ebtables.sourceforge.net/; - platforms = stdenv.lib.platforms.linux; + license = licenses.gpl2; + platforms = platforms.linux; }; } From 2ce11cc791c8dc01dc56c4ca57e7c8265aa59497 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 23 Aug 2018 17:52:40 +0200 Subject: [PATCH 23/69] fbterm: update meta data --- pkgs/os-specific/linux/fbterm/default.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/fbterm/default.nix b/pkgs/os-specific/linux/fbterm/default.nix index dd3eec6f53ca..defb45d7a861 100644 --- a/pkgs/os-specific/linux/fbterm/default.nix +++ b/pkgs/os-specific/linux/fbterm/default.nix @@ -49,10 +49,12 @@ stdenv.mkDerivation { }) ]; - meta = { + meta = with stdenv.lib; { inherit (s) version; description = "Framebuffer terminal emulator"; - maintainers = [stdenv.lib.maintainers.raskin]; - platforms = stdenv.lib.platforms.linux; + homepage = https://code.google.com/archive/p/fbterm/; + maintainers = [ maintainers.raskin ]; + license = licenses.gpl2; + platforms = platforms.linux; }; } From 236e9da38212030a80aae91126cac8abec3e8f32 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 23 Aug 2018 17:57:20 +0200 Subject: [PATCH 24/69] gogoclient: update meta data --- pkgs/os-specific/linux/gogoclient/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/gogoclient/default.nix b/pkgs/os-specific/linux/gogoclient/default.nix index 53895faa66cb..89afecbd9ccd 100644 --- a/pkgs/os-specific/linux/gogoclient/default.nix +++ b/pkgs/os-specific/linux/gogoclient/default.nix @@ -34,10 +34,11 @@ stdenv.mkDerivation rec { sed -i -e 's/^.*Exec \$route -A.*$/& metric 128/' $out/template/linux.sh ''; - meta = { - homepage = http://gogonet.gogo6.com; + meta = with stdenv.lib; { + homepage = https://ipv6.ernet.in/Tunnel_broker; description = "Client to connect to the Freenet6 IPv6 tunnel broker service"; - maintainers = [stdenv.lib.maintainers.bluescreen303]; - platforms = stdenv.lib.platforms.linux; + maintainers = [ maintainers.bluescreen303 ]; + license = licenses.bsd3; + platforms = platforms.linux; }; } From c9864335b53a0ce8532443c1451d484294ffced5 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 30 Aug 2018 00:22:31 +0200 Subject: [PATCH 25/69] gucview: add license --- pkgs/os-specific/linux/guvcview/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix index c8146c39cf59..4b9c37686c1c 100644 --- a/pkgs/os-specific/linux/guvcview/default.nix +++ b/pkgs/os-specific/linux/guvcview/default.nix @@ -27,10 +27,11 @@ stdenv.mkDerivation rec { gsl ] ++ stdenv.lib.optional pulseaudioSupport libpulseaudio; - meta = { + meta = with stdenv.lib; { description = "A simple interface for devices supported by the linux UVC driver"; homepage = http://guvcview.sourceforge.net; - maintainers = [ stdenv.lib.maintainers.coconnor ]; - platforms = stdenv.lib.platforms.linux; + maintainers = [ maintainers.coconnor ]; + license = licenses.gpl3; + platforms = platforms.linux; }; } From d3273b1ce762a0572cc66a2893f0681821863eee Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 30 Aug 2018 00:32:07 +0200 Subject: [PATCH 26/69] iomelt: add license --- pkgs/os-specific/linux/iomelt/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/iomelt/default.nix b/pkgs/os-specific/linux/iomelt/default.nix index f57cfd713fb5..932b81438982 100644 --- a/pkgs/os-specific/linux/iomelt/default.nix +++ b/pkgs/os-specific/linux/iomelt/default.nix @@ -20,6 +20,7 @@ in stdenv.mkDerivation { description = "A simple yet effective way to benchmark disk IO in Linux systems"; homepage = http://www.iomelt.com; maintainers = with maintainers; [ cstrahan ]; + license = licenses.artistic2; platforms = platforms.linux; }; } From 24ca5183b1711bcc6eff06aa0f1876695c820674 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 30 Aug 2018 00:32:24 +0200 Subject: [PATCH 27/69] ipsec-tools: add license --- pkgs/os-specific/linux/ipsec-tools/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/ipsec-tools/default.nix b/pkgs/os-specific/linux/ipsec-tools/default.nix index dd7d25716dc4..0aa074b4df8f 100644 --- a/pkgs/os-specific/linux/ipsec-tools/default.nix +++ b/pkgs/os-specific/linux/ipsec-tools/default.nix @@ -42,9 +42,10 @@ stdenv.mkDerivation rec { "--enable-stats" ]; - meta = { + meta = with stdenv.lib; { homepage = http://ipsec-tools.sourceforge.net/; description = "Port of KAME's IPsec utilities to the Linux-2.6 IPsec implementation"; - platforms = stdenv.lib.platforms.linux; + license = licenses.bsd3; + platforms = platforms.linux; }; } From c911dc40a7f808e63dac6b9a8135d769adc7a1b6 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 30 Aug 2018 00:34:22 +0200 Subject: [PATCH 28/69] iptables: add license --- pkgs/os-specific/linux/iptables/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/iptables/default.nix b/pkgs/os-specific/linux/iptables/default.nix index 9fa7a2cf0aa7..844934214818 100644 --- a/pkgs/os-specific/linux/iptables/default.nix +++ b/pkgs/os-specific/linux/iptables/default.nix @@ -30,6 +30,7 @@ stdenv.mkDerivation rec { homepage = http://www.netfilter.org/projects/iptables/index.html; platforms = platforms.linux; maintainers = with maintainers; [ fpletz ]; + license = licenses.gpl2; downloadPage = "http://www.netfilter.org/projects/iptables/files/"; updateWalker = true; inherit version; From 887ed7ab4501a22a20b05f3a93b8e0af91f9102e Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Thu, 30 Aug 2018 00:38:33 +0200 Subject: [PATCH 29/69] kexec-tools: add license --- pkgs/os-specific/linux/kexectools/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/kexectools/default.nix b/pkgs/os-specific/linux/kexectools/default.nix index f5f0916b90a6..069bd17c4839 100644 --- a/pkgs/os-specific/linux/kexectools/default.nix +++ b/pkgs/os-specific/linux/kexectools/default.nix @@ -22,6 +22,7 @@ stdenv.mkDerivation rec { homepage = http://horms.net/projects/kexec/kexec-tools; description = "Tools related to the kexec Linux feature"; platforms = platforms.linux; + license = licenses.gpl2; badPlatforms = platforms.riscv; }; } From 9a4240f8fbfa7554efe8a7b454d2089b0d4c21a3 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 30 Aug 2018 01:20:59 +0200 Subject: [PATCH 30/69] =?UTF-8?q?font-manager:=200.7.3=20=E2=86=92=200.7.3?= =?UTF-8?q?.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Switch to fresher vala --- .../misc/font-manager/default.nix | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/pkgs/applications/misc/font-manager/default.nix b/pkgs/applications/misc/font-manager/default.nix index 1fad5333a144..54392b03bfbf 100644 --- a/pkgs/applications/misc/font-manager/default.nix +++ b/pkgs/applications/misc/font-manager/default.nix @@ -1,17 +1,17 @@ { stdenv, fetchFromGitHub, automake, autoconf, libtool, pkgconfig, file, intltool, libxml2, json-glib , sqlite, itstool, - librsvg, vala_0_34, gnome3, wrapGAppsHook, gobjectIntrospection + librsvg, vala, gnome3, wrapGAppsHook, gobjectIntrospection }: stdenv.mkDerivation rec { name = "font-manager-${version}"; - version = "0.7.3"; + version = "0.7.3.1"; src = fetchFromGitHub { - owner = "FontManager"; - repo = "master"; - rev = version; - sha256 = "0qwi1mn2sc2q5cs28rga8i3cn34ylybs949vjnh97dl2rvlc0x06"; + owner = "FontManager"; + repo = "master"; + rev = version; + sha256 = "0i65br0bk3r6x8wcl8jhc0v0agl0k6fy5g60ss1bnw4md7ldpgyi"; }; nativeBuildInputs = [ @@ -19,7 +19,8 @@ stdenv.mkDerivation rec { automake autoconf libtool file intltool - vala_0_34 + itstool + vala gnome3.yelp-tools wrapGAppsHook # For setup hook @@ -30,12 +31,9 @@ stdenv.mkDerivation rec { libxml2 json-glib sqlite - itstool librsvg gnome3.gtk - gnome3.gucharmap gnome3.libgee - gnome3.file-roller gnome3.defaultIconTheme ]; @@ -46,7 +44,10 @@ stdenv.mkDerivation rec { substituteInPlace configure --replace "/usr/bin/file" "${file}/bin/file" ''; - configureFlags = [ "--disable-pycompile" ]; + configureFlags = [ + "--with-file-roller" + "--disable-pycompile" + ]; meta = { homepage = https://fontmanager.github.io/; From 2d51cceda419f47ca03960728911cbec7d13c2db Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 30 Aug 2018 02:00:40 +0200 Subject: [PATCH 31/69] libfm: switch to fresher vala --- pkgs/development/libraries/libfm/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix index ce1d3b138f88..796c03dab5ee 100644 --- a/pkgs/development/libraries/libfm/default.nix +++ b/pkgs/development/libraries/libfm/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, glib, intltool, menu-cache, pango, pkgconfig, vala_0_34 +{ stdenv, fetchurl, glib, intltool, menu-cache, pango, pkgconfig, vala , extraOnly ? false , withGtk3 ? false, gtk2, gtk3 }: let @@ -16,12 +16,11 @@ stdenv.mkDerivation rec { sha256 = "0wkwbi1nyvqza3r1dhrq846axiiq0fy0dqgngnagh76fjrwnzl0q"; }; - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ glib gtk intltool pango vala_0_34 ] - ++ optional (!extraOnly) menu-cache; + nativeBuildInputs = [ vala pkgconfig intltool ]; + buildInputs = [ glib gtk pango ] ++ optional (!extraOnly) menu-cache; - configureFlags = [ (optional extraOnly "--with-extra-only") - (optional withGtk3 "--with-gtk=3") ]; + configureFlags = optional extraOnly "--with-extra-only" + ++ optional withGtk3 "--with-gtk=3"; enableParallelBuilding = true; From 5b452a2f7680a92c4adea0ef94777dd202489b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 30 Aug 2018 07:11:16 +0100 Subject: [PATCH 32/69] nix-review: 0.5.0 -> 0.5.2 fix cleanup issue: https://github.com/Mic92/nix-review/issues/10 --- pkgs/tools/package-management/nix-review/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/package-management/nix-review/default.nix b/pkgs/tools/package-management/nix-review/default.nix index 70fd3f3369a1..da32aca28aac 100644 --- a/pkgs/tools/package-management/nix-review/default.nix +++ b/pkgs/tools/package-management/nix-review/default.nix @@ -8,13 +8,13 @@ python3.pkgs.buildPythonApplication rec { pname = "nix-review"; - version = "0.5.0"; + version = "0.5.2"; src = fetchFromGitHub { owner = "Mic92"; repo = "nix-review"; rev = version; - sha256 = "0ncifmp90870v6r651p92wbvpayfblm5k9nxikryjaj1fnvd2np3"; + sha256 = "0csd7dkdv0csc63dz1h08c8xifxwv5fdz5dyk37sr6vh1ccjdapi"; }; makeWrapperArgs = [ From 5914bf4f97f6036afff4b3427a17c182e14e27ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juho=20=C3=96stman?= Date: Thu, 30 Aug 2018 09:45:11 +0300 Subject: [PATCH 33/69] xpra: fix the xkb search path (#45752) Search for the xkb files in the nix store. --- pkgs/tools/X11/xpra/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix index 6d6fee0a2d32..fd7f70004dbf 100644 --- a/pkgs/tools/X11/xpra/default.nix +++ b/pkgs/tools/X11/xpra/default.nix @@ -52,6 +52,7 @@ in buildPythonApplication rec { preBuild = '' export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)" substituteInPlace xpra/server/auth/pam_auth.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so" + substituteInPlace xpra/x11/bindings/keyboard_bindings.pyx --replace "/usr/share/X11/xkb" "${xorg.xkeyboardconfig}/share/X11/xkb" ''; setupPyBuildFlags = ["--with-Xdummy" "--without-strict"]; From c928d696424499ce9b65576d40e451f8b7dd33a3 Mon Sep 17 00:00:00 2001 From: Wael Nasreddine Date: Thu, 30 Aug 2018 00:20:40 -0700 Subject: [PATCH 34/69] corgi: init at 0.2.3 (#45766) --- pkgs/development/tools/corgi/default.nix | 28 ++++++++++++++ pkgs/development/tools/corgi/deps.nix | 47 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 77 insertions(+) create mode 100644 pkgs/development/tools/corgi/default.nix create mode 100644 pkgs/development/tools/corgi/deps.nix diff --git a/pkgs/development/tools/corgi/default.nix b/pkgs/development/tools/corgi/default.nix new file mode 100644 index 000000000000..94596ab68afa --- /dev/null +++ b/pkgs/development/tools/corgi/default.nix @@ -0,0 +1,28 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "corgi-${rev}"; + rev = "v0.2.3"; + + goPackagePath = "github.com/DrakeW/corgi"; + + src = fetchFromGitHub { + owner = "DrakeW"; + repo = "corgi"; + inherit rev; + sha256 = "0ahwpyd6dac04qw2ak51xfbwkr42sab1gkhh52i7hlcy12jpwl8q"; + }; + + goDeps = ./deps.nix; + + meta = with stdenv.lib; { + description = "CLI workflow manager"; + longDescription = '' + Corgi is a command-line tool that helps with your repetitive command usages by organizing them into reusable snippet. + ''; + homepage = https://github.com/DrakeW/corgi; + license = licenses.mit; + platforms = platforms.all; + maintainers = with maintainers; [ kalbasit ]; + }; +} diff --git a/pkgs/development/tools/corgi/deps.nix b/pkgs/development/tools/corgi/deps.nix new file mode 100644 index 000000000000..d48b141627c7 --- /dev/null +++ b/pkgs/development/tools/corgi/deps.nix @@ -0,0 +1,47 @@ +[ + { + goPackagePath = "github.com/chzyer/readline"; + fetch = { + type = "git"; + url = "https://github.com/chzyer/readline"; + rev = "2972be24d48e78746da79ba8e24e8b488c9880de"; + sha256 = "104q8dazj8yf6b089jjr82fy9h1g80zyyzvp3g8b44a7d8ngjj6r"; + }; + } + { + goPackagePath = "github.com/fatih/color"; + fetch = { + type = "git"; + url = "https://github.com/fatih/color"; + rev = "2d684516a8861da43017284349b7e303e809ac21"; + sha256 = "1fcfmz4wji3gqmmsdx493r7d101s58hwjalqps6hy25nva5pvmfs"; + }; + } + { + goPackagePath = "github.com/mitchellh/go-homedir"; + fetch = { + type = "git"; + url = "https://github.com/mitchellh/go-homedir"; + rev = "ae18d6b8b3205b561c79e8e5f69bff09736185f4"; + sha256 = "0f0z0aa4wivk4z1y503dmnw0k0g0g403dly8i4q263gfshs82sbq"; + }; + } + { + goPackagePath = "github.com/spf13/cobra"; + fetch = { + type = "git"; + url = "https://github.com/spf13/cobra"; + rev = "99dc123558852f67743bd0b2caf8383cb3c6d720"; + sha256 = "0b2rjgycgpkpvpsqgvilqkr66bfk477lyd6l0jxmgxb1h0za5s25"; + }; + } + { + goPackagePath = "github.com/spf13/pflag"; + fetch = { + type = "git"; + url = "https://github.com/spf13/pflag"; + rev = "d929dcbb10863323c436af3cf76cb16a6dfc9b29"; + sha256 = "1qjmqvszs9cmic7brm7pknq86zjra4hq923bn88blfvr3bap5bc4"; + }; + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b4a5a9084136..c120b10d9f1b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -117,6 +117,8 @@ with pkgs; cmark = callPackage ../development/libraries/cmark { }; + corgi = callPackage ../development/tools/corgi { }; + dhallToNix = callPackage ../build-support/dhall-to-nix.nix { inherit dhall-nix; }; From bb08d1c13f91808792a2e19732c68f18062d8803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20L=C3=B6tzsch?= Date: Thu, 30 Aug 2018 09:25:13 +0200 Subject: [PATCH 35/69] nixos/zabbix: fix initial database creation (#45750) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit without this fix the database setup fails with „could not connect to database postgres: FATAL: role "root" does not exist“ --- nixos/modules/services/monitoring/zabbix-server.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/monitoring/zabbix-server.nix b/nixos/modules/services/monitoring/zabbix-server.nix index f62d55457ed4..5f9fc12832fc 100644 --- a/nixos/modules/services/monitoring/zabbix-server.nix +++ b/nixos/modules/services/monitoring/zabbix-server.nix @@ -103,8 +103,8 @@ in chown zabbix ${stateDir} ${logDir} ${libDir} if ! test -e "${libDir}/db-created"; then - ${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole zabbix || true - ${pkgs.postgresql}/bin/createdb --owner zabbix zabbix || true + ${pkgs.su}/bin/su -s "$SHELL" ${config.services.postgresql.superUser} -c '${pkgs.postgresql}/bin/createuser --no-superuser --no-createdb --no-createrole zabbix' || true + ${pkgs.su}/bin/su -s "$SHELL" ${config.services.postgresql.superUser} -c '${pkgs.postgresql}/bin/createdb --owner zabbix zabbix' || true cat ${pkgs.zabbix.server}/share/zabbix/db/schema/postgresql.sql | ${pkgs.su}/bin/su -s "$SHELL" zabbix -c '${pkgs.postgresql}/bin/psql zabbix' cat ${pkgs.zabbix.server}/share/zabbix/db/data/images_pgsql.sql | ${pkgs.su}/bin/su -s "$SHELL" zabbix -c '${pkgs.postgresql}/bin/psql zabbix' cat ${pkgs.zabbix.server}/share/zabbix/db/data/data.sql | ${pkgs.su}/bin/su -s "$SHELL" zabbix -c '${pkgs.postgresql}/bin/psql zabbix' From b470ed6b78fe1b252eb5c03e8340e4f940c4cd59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Thu, 30 Aug 2018 07:58:09 +0100 Subject: [PATCH 36/69] alacritty: 2018-07-20 -> 2018-08-30 --- pkgs/applications/misc/alacritty/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix index 089db8e73cb5..4544ed1fba3b 100644 --- a/pkgs/applications/misc/alacritty/default.nix +++ b/pkgs/applications/misc/alacritty/default.nix @@ -51,18 +51,18 @@ let ]; in buildRustPackage rec { name = "alacritty-unstable-${version}"; - version = "2018-07-20"; + version = "2018-08-30"; # At the moment we cannot handle git dependencies in buildRustPackage. # This fork only replaces rust-fontconfig/libfontconfig with a git submodules. src = fetchgit { url = https://github.com/Mic92/alacritty.git; rev = "rev-${version}"; - sha256 = "1vhjmysfra6dsbv35qbvsf76rhkj990lgns0k0gpbcrf47gsvx1n"; + sha256 = "0izvg7dwwb763jc6gnmn47i5zrkxvmh3vssn6vzrrmqhd4j3msmf"; fetchSubmodules = true; }; - cargoSha256 = "0rs2p4sik25ynx6ri2wlg8v6vrdmf10xxnw9f2aqyps9m038i9di"; + cargoSha256 = "1ijgkwv9ij4haig1h6n2b9xbhp5vahy9vp1sx72wxaaj9476msjx"; nativeBuildInputs = [ cmake From ee56a2cc196833915d0a666a48c36397f27146bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Thu, 30 Aug 2018 10:17:05 +0200 Subject: [PATCH 37/69] treewide: fix typo: asumed -> assumed --- nixos/modules/config/shells-environment.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos/modules/config/shells-environment.nix b/nixos/modules/config/shells-environment.nix index 9dc4749b08d1..b2bfc785f2a3 100644 --- a/nixos/modules/config/shells-environment.nix +++ b/nixos/modules/config/shells-environment.nix @@ -80,7 +80,7 @@ in default = ""; description = '' Shell script code called during shell initialisation. - This code is asumed to be shell-independent, which means you should + This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split. ''; type = types.lines; @@ -90,7 +90,7 @@ in default = ""; description = '' Shell script code called during login shell initialisation. - This code is asumed to be shell-independent, which means you should + This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split. ''; type = types.lines; @@ -100,7 +100,7 @@ in default = ""; description = '' Shell script code called during interactive shell initialisation. - This code is asumed to be shell-independent, which means you should + This code is assumed to be shell-independent, which means you should stick to pure sh without sh word split. ''; type = types.lines; From b0401fa044f6822c27b940efc064767ec652d30f Mon Sep 17 00:00:00 2001 From: markuskowa Date: Thu, 30 Aug 2018 11:11:33 +0200 Subject: [PATCH 38/69] sshuttle: 0.78.3 -> 0.78.4 (#44895) --- pkgs/tools/security/sshuttle/default.nix | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/pkgs/tools/security/sshuttle/default.nix b/pkgs/tools/security/sshuttle/default.nix index ac21097a09f5..f7878df228f2 100644 --- a/pkgs/tools/security/sshuttle/default.nix +++ b/pkgs/tools/security/sshuttle/default.nix @@ -3,25 +3,14 @@ python3Packages.buildPythonApplication rec { name = "sshuttle-${version}"; - version = "0.78.3"; + version = "0.78.4"; src = fetchurl { - sha256 = "12xyq5h77b57cnkljdk8qyjxzys512b73019s20x6ck5brj1m8wa"; + sha256 = "0pqk43kd7crqhg6qgnl8kapncwgw1xgaf02zarzypcw64kvdih9h"; url = "mirror://pypi/s/sshuttle/${name}.tar.gz"; }; - patches = [ - ./sudo.patch - (fetchpatch { - url = "https://github.com/sshuttle/sshuttle/commit/91aa6ff625f7c89a19e6f8702425cfead44a146f.patch"; - sha256 = "0sqcc6kj53wlas2d3klbyilhns6vakzwbbp8y7j9wlmbnc530pks"; - }) - # fix macos patch - (fetchpatch { - url = "https://github.com/sshuttle/sshuttle/commit/884bd6deb0b699a5648bb1c7bdfbc7be8ea0e7df.patch"; - sha256 = "1nn0wx0rckxl9yzw9dxjji44zw4xqz7ws4qwjdvfn48w1f786lmz"; - }) - ]; + patches = [ ./sudo.patch ]; nativeBuildInputs = [ makeWrapper python3Packages.setuptools_scm ] ++ stdenv.lib.optional (stdenv.system != "i686-linux") pandoc; buildInputs = From e6a37e3ce4eb7ab711bae565c84e7a9900e8963f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Thu, 30 Aug 2018 11:15:36 +0200 Subject: [PATCH 39/69] linux: build with SCHEDUTIL governor - it can't be built as a module - it's not set as the default yet - for discussion see https://github.com/NixOS/nixpkgs/pull/42330 --- pkgs/os-specific/linux/kernel/common-config.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 68b5e7c21a8d..bf99729b33e3 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -61,6 +61,7 @@ let X86_INTEL_PSTATE = yes; INTEL_IDLE = yes; CPU_FREQ_DEFAULT_GOV_PERFORMANCE = yes; + CPU_FREQ_GOV_SCHEDUTIL = whenAtLeast "4.9" yes; PM_WAKELOCKS = yes; }; From 9362fb6af4d7082a62c183f7fcd8de4af4a057da Mon Sep 17 00:00:00 2001 From: Simon Lackerbauer Date: Wed, 8 Aug 2018 10:50:32 +0200 Subject: [PATCH 40/69] atlassian-jira: 7.11.0 -> 7.11.1 (cherry picked from commit 093eb27a9e5793343f6506d063debb3d11794ac1) --- pkgs/servers/atlassian/jira.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix index 2894f9cec8ae..851b7f893554 100644 --- a/pkgs/servers/atlassian/jira.nix +++ b/pkgs/servers/atlassian/jira.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "atlassian-jira-${version}"; - version = "7.11.0"; + version = "7.11.1"; src = fetchurl { url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz"; - sha256 = "0w2fgs5n2zdvxgcx2rn010nz81z4q3z6cbq9hmpyzxy9ygjby2w4"; + sha256 = "0zcpxh8713f0v4jmczcvsnqjjvlmrmc0d76mkivn0b294z2s8sp4"; }; phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; From 003ca4ecd263aaa94c6abaa5cc80904ec8fd6ede Mon Sep 17 00:00:00 2001 From: Simon Lackerbauer Date: Fri, 24 Aug 2018 13:25:34 +0200 Subject: [PATCH 41/69] atlassian-jira: 7.11.1 -> 7.11.2 (cherry picked from commit aa52aa68a33313e4e209872a0422622ae65116cc) --- pkgs/servers/atlassian/jira.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix index 851b7f893554..39ad50d9de42 100644 --- a/pkgs/servers/atlassian/jira.nix +++ b/pkgs/servers/atlassian/jira.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "atlassian-jira-${version}"; - version = "7.11.1"; + version = "7.11.2"; src = fetchurl { url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz"; - sha256 = "0zcpxh8713f0v4jmczcvsnqjjvlmrmc0d76mkivn0b294z2s8sp4"; + sha256 = "12bqjnjf7aanypawdydd9k23s22rba32rbjwahiw8i98bhgi6d2x"; }; phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; From d347eed514244a8832f88dab1f402b06e724e18d Mon Sep 17 00:00:00 2001 From: Simon Lackerbauer Date: Wed, 29 Aug 2018 13:19:25 +0200 Subject: [PATCH 42/69] atlassian-jira: 7.11.2 -> 7.12.0 (cherry picked from commit b2f042dfd8edf67d3096ff3294ff9050890ecfdd) --- pkgs/servers/atlassian/jira.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix index 39ad50d9de42..1bff3ad379dd 100644 --- a/pkgs/servers/atlassian/jira.nix +++ b/pkgs/servers/atlassian/jira.nix @@ -5,11 +5,11 @@ stdenv.mkDerivation rec { name = "atlassian-jira-${version}"; - version = "7.11.2"; + version = "7.12.0"; src = fetchurl { url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz"; - sha256 = "12bqjnjf7aanypawdydd9k23s22rba32rbjwahiw8i98bhgi6d2x"; + sha256 = "0kpsgq54xs43rwhg9zwh869jl64ywhb4fcyp5sq1zd19y5cqfnkn"; }; phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ]; From 7d1968c0e38f6fcbf503939f732619e122936eee Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Fri, 23 Mar 2018 11:01:52 +0100 Subject: [PATCH 43/69] Nix minimal version: 1.11 -> 2.0 Placeholders are just too convenient. --- lib/minver.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/minver.nix b/lib/minver.nix index 2147820c0e49..fee6b65a2447 100644 --- a/lib/minver.nix +++ b/lib/minver.nix @@ -1,2 +1,2 @@ # Expose the minimum required version for evaluating Nixpkgs -"1.11" +"2.0" From d3f1679d4e938a6012b218e4aff4d15838d98b0a Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Thu, 30 Aug 2018 14:43:49 +0200 Subject: [PATCH 44/69] gogs: 0.11.34 -> 0.11.53 cc @schneefux --- pkgs/applications/version-management/gogs/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/version-management/gogs/default.nix b/pkgs/applications/version-management/gogs/default.nix index d3c248b44752..25f7be37e1ee 100644 --- a/pkgs/applications/version-management/gogs/default.nix +++ b/pkgs/applications/version-management/gogs/default.nix @@ -7,13 +7,13 @@ with stdenv.lib; buildGoPackage rec { name = "gogs-${version}"; - version = "0.11.34"; + version = "0.11.53"; src = fetchFromGitHub { - owner = "gogits"; + owner = "gogs"; repo = "gogs"; rev = "v${version}"; - sha256 = "15xwcw3k7wbahdgp796gly79qkka21p7kvm84zfjgcsjjri0kdnz"; + sha256 = "1icm4bawyic4ivzyspqc6qjv882gil8j923zrbylw3i4ifhlcdhd"; }; patches = [ ./static-root-path.patch ]; @@ -37,7 +37,7 @@ buildGoPackage rec { --prefix PATH : ${makeBinPath [ bash git gzip openssh ]} ''; - goPackagePath = "github.com/gogits/gogs"; + goPackagePath = "github.com/gogs/gogs"; meta = { description = "A painless self-hosted Git service"; From 18f953965598ab585cc4b3f9018463905401bdd9 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 30 Aug 2018 08:52:43 -0400 Subject: [PATCH 45/69] nixos docs: add release notes for nix 2.0 requiremnt bump --- nixos/doc/manual/release-notes/rl-1809.xml | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml index db9e13da0654..6da67fe6d1eb 100644 --- a/nixos/doc/manual/release-notes/rl-1809.xml +++ b/nixos/doc/manual/release-notes/rl-1809.xml @@ -139,6 +139,50 @@ $ nix-instantiate -E '(import <nixpkgsunstable> {}).gitFull' seen a complete rewrite. (See above.) + + + The minimum version of Nix required to evaluate Nixpkgs is now 2.0. + + + + + For users of NixOS 18.03, NixOS 18.03 defaulted to Nix 2.0, but + supported using Nix 1.11 by setting nix.package = + pkgs.nix1;. If this option is set to a Nix 1.11 package, you + will need to either unset the option or upgrade it to Nix 2.0. + + + + + For users of NixOS 17.09, you will first need to upgrade Nix by setting + nix.package = pkgs.nixStable2; and run + nixos-rebuild switch as the root + user. + + + + + For users of a daemon-less Nix installation on Linux or macOS, you can + upgrade Nix by running curl https://nixos.org/nix/install | + sh, or prior to doing a channel update, running + nix-env -iA nix. + + + If you have already run a channel update and Nix is no longer able to + evaluate Nixpkgs, the error message printed should provide adequate + directions for upgrading Nix. + + + + + For users of the Nix daemon on macOS, you can upgrade Nix by running + sudo -i sh -c 'nix-channel --update && nix-env -iA + nixpkgs.nix'; sudo launchctl stop org.nixos.nix-daemon; sudo launchctl + start org.nixos.nix-daemon. + + + + lib.strict is removed. Use From ab772d066d122c22b6736ad85591461aa5ac5d47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 30 Aug 2018 14:38:47 +0200 Subject: [PATCH 46/69] python.pkgs.docker_registry: remove It has been deprecated for 4 years. --- .../docker-registry-core/default.nix | 26 --------------- pkgs/top-level/python-packages.nix | 33 ------------------- 2 files changed, 59 deletions(-) delete mode 100644 pkgs/development/python-modules/docker-registry-core/default.nix diff --git a/pkgs/development/python-modules/docker-registry-core/default.nix b/pkgs/development/python-modules/docker-registry-core/default.nix deleted file mode 100644 index ad9968af173c..000000000000 --- a/pkgs/development/python-modules/docker-registry-core/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, buildPythonPackage, fetchPypi, isPy3k -, boto, redis, setuptools, simplejson }: - -buildPythonPackage rec { - pname = "docker-registry-core"; - version = "2.0.3"; - disabled = isPy3k; - - src = fetchPypi { - inherit pname version; - sha256 = "0q036rr0b5734szkj883hkb2kjhgcc5pm3dz4yz8vcim3x7q0zil"; - }; - - DEPS = "loose"; - - doCheck = false; - propagatedBuildInputs = [ boto redis setuptools simplejson ]; - - patchPhase = "> requirements/main.txt"; - - meta = with stdenv.lib; { - description = "Docker registry core package"; - homepage = https://github.com/docker/docker-registry; - license = licenses.asl20; - }; -} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 489f17305178..33a96e7e857d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2085,39 +2085,6 @@ in { docker_pycreds = callPackage ../development/python-modules/docker-pycreds {}; - docker_registry_core = callPackage ../development/python-modules/docker-registry-core {}; - - docker_registry = buildPythonPackage rec { - name = "docker-registry-0.9.1"; - disabled = isPy3k; - - src = pkgs.fetchurl { - url = "mirror://pypi/d/docker-registry/${name}.tar.gz"; - sha256 = "1svm1h59sg4bwj5cy10m016gj0xpiin15nrz5z66h47sbkndvlw3"; - }; - - DEPS = "loose"; - - doCheck = false; # requires redis server - propagatedBuildInputs = with self; [ - setuptools docker_registry_core blinker flask gevent gunicorn pyyaml - requests rsa sqlalchemy setuptools backports_lzma m2crypto - ]; - - patchPhase = "> requirements/main.txt"; - - # Default config uses needed env variables - postInstall = '' - ln -s $out/lib/python2.7/site-packages/config/config_sample.yml $out/lib/python2.7/site-packages/config/config.yml - ''; - - meta = { - description = "Docker registry core package"; - homepage = https://github.com/docker/docker-registry; - license = licenses.asl20; - }; - }; - docopt = callPackage ../development/python-modules/docopt { }; doctest-ignore-unicode = callPackage ../development/python-modules/doctest-ignore-unicode { }; From 523a7c879fcc10de84ebc917a2e1915efc25375d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 30 Aug 2018 14:52:26 +0200 Subject: [PATCH 47/69] python.pkgs.backports_lzma: fix tests --- pkgs/development/python-modules/backports_lzma/default.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/backports_lzma/default.nix b/pkgs/development/python-modules/backports_lzma/default.nix index c650076d4c00..64fcc2c0d5d4 100644 --- a/pkgs/development/python-modules/backports_lzma/default.nix +++ b/pkgs/development/python-modules/backports_lzma/default.nix @@ -20,9 +20,8 @@ if !(pythonOlder "3.3") then null else buildPythonPackage rec { buildInputs = [ lzma ]; - # Needs the compiled module in $out checkPhase = '' - PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH ${python.interpreter} -m unittest discover -s test + ${python.interpreter} test/test_lzma.py ''; meta = { @@ -30,4 +29,4 @@ if !(pythonOlder "3.3") then null else buildPythonPackage rec { homepage = https://github.com/peterjc/backports.lzma; license = lib.licenses.bsd3; }; -} \ No newline at end of file +} From b42be7312db3bdc079b9969e58033be3670672b8 Mon Sep 17 00:00:00 2001 From: Michael Fellinger Date: Thu, 30 Aug 2018 14:56:09 +0200 Subject: [PATCH 48/69] asciidoctor: 1.5.6.2 -> 1.5.7.1 --- .../typesetting/asciidoctor/Gemfile.lock | 10 +- .../tools/typesetting/asciidoctor/default.nix | 2 +- pkgs/tools/typesetting/asciidoctor/gemset.nix | 104 ++++++++++++++++-- 3 files changed, 99 insertions(+), 17 deletions(-) diff --git a/pkgs/tools/typesetting/asciidoctor/Gemfile.lock b/pkgs/tools/typesetting/asciidoctor/Gemfile.lock index 6c52a2c416a1..04f9029e6e5a 100644 --- a/pkgs/tools/typesetting/asciidoctor/Gemfile.lock +++ b/pkgs/tools/typesetting/asciidoctor/Gemfile.lock @@ -5,7 +5,7 @@ GEM addressable (2.5.2) public_suffix (>= 2.0.2, < 4.0) afm (0.2.2) - asciidoctor (1.5.6.2) + asciidoctor (1.5.7.1) asciidoctor-bespoke (1.0.0.alpha.1) asciidoctor (>= 1.5.0) slim (~> 3.0.6) @@ -36,7 +36,7 @@ GEM addressable hashery (2.1.2) htmlentities (4.3.4) - i18n (1.0.0) + i18n (1.1.0) concurrent-ruby (~> 1.0) json (2.1.0) mathematical (1.6.11) @@ -66,10 +66,10 @@ GEM prawn-templates (0.1.1) pdf-reader (~> 2.0) prawn (~> 2.2) - public_suffix (3.0.2) + public_suffix (3.0.3) pygments.rb (1.2.1) multi_json (>= 1.0.0) - rack (2.0.4) + rack (2.0.5) ruby-enum (0.7.2) i18n ruby-rc4 (0.1.5) @@ -79,7 +79,7 @@ GEM tilt (>= 1.3.3, < 2.1) source_map (3.0.1) json - sprockets (3.7.1) + sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) temple (0.8.0) diff --git a/pkgs/tools/typesetting/asciidoctor/default.nix b/pkgs/tools/typesetting/asciidoctor/default.nix index 1f6a7054b9e3..7001b6e36423 100644 --- a/pkgs/tools/typesetting/asciidoctor/default.nix +++ b/pkgs/tools/typesetting/asciidoctor/default.nix @@ -37,7 +37,7 @@ bundlerApp { # For some reason 'mathematical.so' is missing cairo and glib in its RPATH, add them explicitly here postFixup = lib.optionalString stdenv.isLinux '' - soPath="$out/lib/ruby/gems/2.4.0/gems/mathematical-${attrs.version}/lib/mathematical/mathematical.so" + soPath="$out/${ruby.gemPath}/gems/mathematical-${attrs.version}/lib/mathematical/mathematical.so" ${patchelf}/bin/patchelf \ --set-rpath "${lib.makeLibraryPath [ glib cairo ]}:$(${patchelf}/bin/patchelf --print-rpath "$soPath")" \ "$soPath" diff --git a/pkgs/tools/typesetting/asciidoctor/gemset.nix b/pkgs/tools/typesetting/asciidoctor/gemset.nix index 4ae146d289ba..8b960fa3d930 100644 --- a/pkgs/tools/typesetting/asciidoctor/gemset.nix +++ b/pkgs/tools/typesetting/asciidoctor/gemset.nix @@ -1,6 +1,8 @@ { addressable = { dependencies = ["public_suffix"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk"; @@ -9,6 +11,8 @@ version = "2.5.2"; }; afm = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "06kj9hgd0z8pj27bxp2diwqh6fv7qhwwm17z64rhdc4sfn76jgn8"; @@ -17,6 +21,8 @@ version = "0.2.2"; }; Ascii85 = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0658m37jjjn6drzqg1gk4p6c205mgp7g1jh2d00n4ngghgmz5qvs"; @@ -25,15 +31,19 @@ version = "1.0.3"; }; asciidoctor = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0zq3az4836nxkc8g5wnnbzmarw7663s1ky6gf8pc04sfpa8n2l3f"; + sha256 = "0v52bzc72cvg7zfgq27pa4mgyf29dx9m20fghrw1xmvwgd519n1w"; type = "gem"; }; - version = "1.5.6.2"; + version = "1.5.7.1"; }; asciidoctor-bespoke = { dependencies = ["asciidoctor" "slim" "thread_safe"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1awy933sswxvi2hxpll3rh9phxcvmqhrbb91m6ibjchnf7qsl3zk"; @@ -43,6 +53,8 @@ }; asciidoctor-diagram = { dependencies = ["asciidoctor"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0rj02i00d9hkzqzzrk5al9rn8yv5x0wsnrv9y6j4k8rfylm69c1r"; @@ -52,6 +64,8 @@ }; asciidoctor-latex = { dependencies = ["asciidoctor" "htmlentities" "opal"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "02qvn1ngp4s9y22vk23zzssd4w1bpyk84akjwiq6nqn8im6s4awz"; @@ -61,6 +75,8 @@ }; asciidoctor-mathematical = { dependencies = ["asciidoctor" "mathematical" "ruby-enum"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "18igbvs70dnlrzgl62jcc0vfxhlb4r7v9bq3qf1v80l17lvq1x8f"; @@ -70,6 +86,8 @@ }; asciidoctor-pdf = { dependencies = ["asciidoctor" "prawn" "prawn-icon" "prawn-svg" "prawn-table" "prawn-templates" "safe_yaml" "thread_safe" "treetop"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1899c071hfmzqg9822v7rg8y8iqlfy3dhpfy32ignzap6cajlsqg"; @@ -78,6 +96,8 @@ version = "1.5.0.alpha.16"; }; coderay = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "15vav4bhcc2x3jmi3izb11l4d9f3xv8hp2fszb7iqmpsccv1pz4y"; @@ -86,6 +106,8 @@ version = "1.1.2"; }; concurrent-ruby = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "183lszf5gx84kcpb779v6a2y0mx9sssy8dgppng1z9a505nj1qcf"; @@ -95,6 +117,8 @@ }; css_parser = { dependencies = ["addressable"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0gwvf8mc8gnz4aizfijplv3594998h2j44ydakpzsdmkivs07v61"; @@ -103,6 +127,8 @@ version = "1.6.0"; }; hashery = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0qj8815bf7q6q7llm5rzdz279gzmpqmqqicxnzv066a020iwqffj"; @@ -111,6 +137,8 @@ version = "2.1.2"; }; htmlentities = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1nkklqsn8ir8wizzlakncfv42i32wc0w9hxp00hvdlgjr7376nhj"; @@ -120,14 +148,18 @@ }; i18n = { dependencies = ["concurrent-ruby"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "191c2xzlvn42sb8dz6gjy0qaigri4chfvflg3d4k6n58flm0yp65"; + sha256 = "0ppvmla21hssvrfm8g1n2fnb4lxn4yhy9qmmba0imanflgldrjmr"; type = "gem"; }; - version = "1.0.0"; + version = "1.1.0"; }; json = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp"; @@ -137,6 +169,8 @@ }; mathematical = { dependencies = ["ruby-enum"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "06xkr613hmzbhmm6zv92zlcjyfp0a6i2b3q3hg24lmj4j5l85p21"; @@ -145,6 +179,8 @@ version = "1.6.11"; }; multi_json = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1rl0qy4inf1mp8mybfk56dfga0mvx97zwpmq5xmiwl5r770171nv"; @@ -154,6 +190,8 @@ }; opal = { dependencies = ["source_map" "sprockets"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0dmdxhmg43ibd4bsldssslsz8870hzknwcxiv9l1838lh6hd390k"; @@ -162,6 +200,8 @@ version = "0.6.3"; }; pdf-core = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "19llwch2wfg51glb0kff0drfp3n6nb9vim4zlvzckxysksvxpby1"; @@ -171,6 +211,8 @@ }; pdf-reader = { dependencies = ["Ascii85" "afm" "hashery" "ruby-rc4" "ttfunk"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1b3ig4wpcgdbqa7yw0ahwbmikkkywn2a22bfmrknl5ls7g066x45"; @@ -179,6 +221,8 @@ version = "2.1.0"; }; polyglot = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1bqnxwyip623d8pr29rg6m8r0hdg08fpr2yb74f46rn1wgsnxmjr"; @@ -188,6 +232,8 @@ }; prawn = { dependencies = ["pdf-core" "ttfunk"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1qdjf1v6sfl44g3rqxlg8k4jrzkwaxgvh2l4xws97a8f3xv4na4m"; @@ -197,6 +243,8 @@ }; prawn-icon = { dependencies = ["prawn"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1pz8n7ajkfmflw05dib2l9qkzkfzwwbzx63qcvjr14k1dnbpx7qk"; @@ -206,6 +254,8 @@ }; prawn-svg = { dependencies = ["css_parser" "prawn"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0fykcs10q2j6h04riav1kzrw77mga6gh1rxbh7q0ab6gkr0wamzx"; @@ -215,6 +265,8 @@ }; prawn-table = { dependencies = ["prawn"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1nxd6qmxqwl850icp18wjh5k0s3amxcajdrkjyzpfgq0kvilcv9k"; @@ -224,6 +276,8 @@ }; prawn-templates = { dependencies = ["pdf-reader" "prawn"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1gs894sj9zdlwx59h3rk4p0l3y8r18p22zhnfiyx9lngsa56gcrj"; @@ -232,15 +286,19 @@ version = "0.1.1"; }; public_suffix = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1x5h1dh1i3gwc01jbg01rly2g6a1qwhynb1s8a30ic507z1nh09s"; + sha256 = "08q64b5br692dd3v0a9wq9q5dvycc6kmiqmjbdxkxbfizggsvx6l"; type = "gem"; }; - version = "3.0.2"; + version = "3.0.3"; }; "pygments.rb" = { dependencies = ["multi_json"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0lbvnwvz770ambm4d6lxgc2097rydn5rcc5d6986bnkzyxfqqjnv"; @@ -249,15 +307,19 @@ version = "1.2.1"; }; rack = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "1mfriw2r2913dv8qf3p87n7yal3qfsrs478x2qz106v8vhmxa017"; + sha256 = "158hbn7rlc3czp2vivvam44dv6vmzz16qrh5dbzhfxbfsgiyrqw1"; type = "gem"; }; - version = "2.0.4"; + version = "2.0.5"; }; ruby-enum = { dependencies = ["i18n"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0h62avini866kxpjzqxlqnajma3yvj0y25l6hn9h2mv5pp6fcrhx"; @@ -266,6 +328,8 @@ version = "0.7.2"; }; ruby-rc4 = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "00vci475258mmbvsdqkmqadlwn6gj9m01sp7b5a3zd90knil1k00"; @@ -274,6 +338,8 @@ version = "0.1.5"; }; safe_yaml = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1hly915584hyi9q9vgd968x2nsi5yag9jyf5kq60lwzi5scr7094"; @@ -283,6 +349,8 @@ }; slim = { dependencies = ["temple" "tilt"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0zwz083xsbnlrma1pfkzrqc1fqm90fidn915vlifvkzl5fs43pvl"; @@ -292,6 +360,8 @@ }; source_map = { dependencies = ["json"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0fviv92glr51v2zqy4i5jzi3hzpvjrcwyrxddcfr84ki65zb7pkv"; @@ -301,14 +371,18 @@ }; sprockets = { dependencies = ["concurrent-ruby" "rack"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; - sha256 = "0sv3zk5hwxyjvg7iy9sggjc7k3mfxxif7w8p260rharfyib939ar"; + sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay"; type = "gem"; }; - version = "3.7.1"; + version = "3.7.2"; }; temple = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "00nxf610nzi4n1i2lkby43nrnarvl89fcl6lg19406msr0k3ycmq"; @@ -317,6 +391,8 @@ version = "0.8.0"; }; thread_safe = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0nmhcgq6cgz44srylra07bmaw99f5271l0dpsvl5f75m44l0gmwy"; @@ -325,6 +401,8 @@ version = "0.3.6"; }; tilt = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0020mrgdf11q23hm1ddd6fv691l51vi10af00f137ilcdb2ycfra"; @@ -334,6 +412,8 @@ }; treetop = { dependencies = ["polyglot"]; + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "0wpl5z33796nz2ah44waflrd1girbra281d9i3m9nz4ylg1ljg5b"; @@ -342,6 +422,8 @@ version = "1.5.3"; }; ttfunk = { + groups = ["default"]; + platforms = []; source = { remotes = ["https://rubygems.org"]; sha256 = "1mgrnqla5n51v4ivn844albsajkck7k6lviphfqa8470r46c58cd"; @@ -349,4 +431,4 @@ }; version = "1.5.1"; }; -} +} \ No newline at end of file From d8f5f49dfe664d88704839134adf49c228ae8429 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 30 Aug 2018 09:00:05 -0400 Subject: [PATCH 49/69] Reference release notes in the 'version too old' warning --- default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/default.nix b/default.nix index 180815d4d6de..2070f648b9a9 100644 --- a/default.nix +++ b/default.nix @@ -15,6 +15,9 @@ if ! builtins ? nixVersion || builtins.compareVersions requiredVersion builtins. it is safe to upgrade by running it again: curl https://nixos.org/nix/install | sh + + For more information, please see the NixOS release notes at + https://nixos.org/nixos/manual. '' else From a6a0005fed854c711d7efafdd4ddc9e681a44cec Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 30 Aug 2018 09:05:57 -0400 Subject: [PATCH 50/69] Reference a local copy of the release notes in the 'version too old' warning, plus a redirect to the support links --- default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/default.nix b/default.nix index 2070f648b9a9..f4b2640ac5a0 100644 --- a/default.nix +++ b/default.nix @@ -17,7 +17,10 @@ if ! builtins ? nixVersion || builtins.compareVersions requiredVersion builtins. curl https://nixos.org/nix/install | sh For more information, please see the NixOS release notes at - https://nixos.org/nixos/manual. + https://nixos.org/nixos/manual or locally at + ${toString ./doc/manual/release-notes}. + + If you need further help, see https://nixos.org/nixos/support.html '' else From 74495e4f3afe5f5467dce80842105e9b841a8c91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 30 Aug 2018 15:26:18 +0200 Subject: [PATCH 51/69] python.pkgs.plotly: fix build --- pkgs/development/python-modules/plotly/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix index 9d2df2a89ebd..6e7147e4e12f 100644 --- a/pkgs/development/python-modules/plotly/default.nix +++ b/pkgs/development/python-modules/plotly/default.nix @@ -5,6 +5,7 @@ , nbformat , pytz , requests +, retrying , six }: @@ -22,6 +23,7 @@ buildPythonPackage rec { nbformat pytz requests + retrying six ]; From 4b4c871401345e9c4a679a6d3700409acc05858d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=BCtz?= Date: Thu, 30 Aug 2018 16:33:53 +0200 Subject: [PATCH 52/69] buttersink: move out of pythonPackages (#45783) --- .../filesystems}/buttersink/default.nix | 16 +++++++++------- pkgs/top-level/all-packages.nix | 2 ++ pkgs/top-level/python-packages.nix | 2 -- 3 files changed, 11 insertions(+), 9 deletions(-) rename pkgs/{development/python-modules => tools/filesystems}/buttersink/default.nix (67%) diff --git a/pkgs/development/python-modules/buttersink/default.nix b/pkgs/tools/filesystems/buttersink/default.nix similarity index 67% rename from pkgs/development/python-modules/buttersink/default.nix rename to pkgs/tools/filesystems/buttersink/default.nix index b13251e1ca75..791d59b7ac27 100644 --- a/pkgs/development/python-modules/buttersink/default.nix +++ b/pkgs/tools/filesystems/buttersink/default.nix @@ -1,18 +1,20 @@ -{ stdenv, buildPythonPackage, fetchPypi, isPy3k, boto, crcmod, psutil }: +{ lib, python2 }: -buildPythonPackage rec { +python2.pkgs.buildPythonApplication rec { pname = "buttersink"; version = "0.6.9"; - disabled = isPy3k; - src = fetchPypi { + src = python2.pkgs.fetchPypi { inherit pname version; - sha256 = "c9c05982c44fbb85f17b7ef0e8bee11f375c03d89bcba50cbc2520013512107a"; + sha256 = "a797b6e92ad2acdf41e033c1368ab365aa268f4d8458b396a5770fa6c2bc3f54"; }; - propagatedBuildInputs = [ boto crcmod psutil ]; + propagatedBuildInputs = with python2.pkgs; [ boto crcmod psutil ]; - meta = with stdenv.lib; { + # No tests implemented + doCheck = false; + + meta = with lib; { description = "Synchronise btrfs snapshots"; longDescription = '' ButterSink is like rsync, but for btrfs subvolumes instead of files, diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c0877bcf66ad..97bf41a107b0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -973,6 +973,8 @@ with pkgs; bustle = haskellPackages.bustle; + buttersink = callPackage ../tools/filesystems/buttersink { }; + bwm_ng = callPackage ../tools/networking/bwm-ng { }; byobu = callPackage ../tools/misc/byobu { diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 33a96e7e857d..58ae6fdcc386 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1068,8 +1068,6 @@ in { bumps = callPackage ../development/python-modules/bumps {}; - buttersink = callPackage ../development/python-modules/buttersink {}; - cached-property = callPackage ../development/python-modules/cached-property { }; caffe = pkgs.caffe.override { From bba65b6652ba0a0f8dc2f2f4c7335f1e98961b0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Thu, 30 Aug 2018 11:35:01 -0300 Subject: [PATCH 53/69] enlightenment: 0.22.3 -> 0.22.4 --- pkgs/desktops/enlightenment/enlightenment.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix index 9119d5e93d81..ac10b82b004f 100644 --- a/pkgs/desktops/enlightenment/enlightenment.nix +++ b/pkgs/desktops/enlightenment/enlightenment.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { name = "enlightenment-${version}"; - version = "0.22.3"; + version = "0.22.4"; src = fetchurl { url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz"; - sha256 = "16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad"; + sha256 = "0ygy891rrw5c7lhk539nhif77j88phvz2h0fhx172iaridy9kx2r"; }; nativeBuildInputs = [ From c3d43723b63c8bb313c7cabb45dfbc0968228e33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Thu, 30 Aug 2018 11:40:16 -0300 Subject: [PATCH 54/69] enlightenment: xkeyboard-config already provides xorg.lst --- pkgs/desktops/enlightenment/enlightenment.nix | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix index ac10b82b004f..8edf702a24c6 100644 --- a/pkgs/desktops/enlightenment/enlightenment.nix +++ b/pkgs/desktops/enlightenment/enlightenment.nix @@ -57,16 +57,6 @@ stdenv.mkDerivation rec { ]; postPatch = '' - # In order to get the available keyboard layouts Enlightenment looks for - # the file xorg.lst, that should be provided by xkeyboard-config (when - # configured with option --with-xkb-rules-symlink=xorg). Currently - # xkeyboard-config is not configured with this option in - # NixOS. Therefore it is needed to add base.lst (which xorg.lst would be - # a symbolic link to) explicitly as an alternative. - - sed "/#ifdef XKB_BASE/a XKB_BASE \"\/rules\/base.lst\"," \ - -i src/modules/wizard/page_011.c src/modules/xkbswitch/e_mod_parse.c - # edge_cc is a binary provided by efl and cannot be found at the directory # given by e_prefix_bin_get(), which is $out/bin From 3f61866ea6a29326de16451949ccd7e4eedbb381 Mon Sep 17 00:00:00 2001 From: Simon Lackerbauer Date: Thu, 30 Aug 2018 16:56:04 +0200 Subject: [PATCH 55/69] rstudio: 1.1.442 -> 1.1.456 (#45781) --- pkgs/applications/editors/rstudio/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix index 0943513a4d12..1a5c9d65583f 100644 --- a/pkgs/applications/editors/rstudio/default.nix +++ b/pkgs/applications/editors/rstudio/default.nix @@ -6,7 +6,7 @@ let verMajor = "1"; verMinor = "1"; - verPatch = "442"; + verPatch = "456"; version = "${verMajor}.${verMinor}.${verPatch}"; ginVer = "1.5"; gwtVer = "2.7.0"; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { owner = "rstudio"; repo = "rstudio"; rev = "v${version}"; - sha256 = "0drqh2brfs9w8dfh4r7j3fsqdsg63s6pvj2bbg5xwwc0yf220ahs"; + sha256 = "0hv07qrbjwapbjrkddasglsgk0x5j7qal468i5rv77krsp09s4fz"; }; # Hack RStudio to only use the input R. From ff0c0780c7daa01231fef7d83c2fd3251ce28759 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 30 Aug 2018 08:05:14 -0700 Subject: [PATCH 56/69] zsh-completions: 0.27.0 -> 0.28.0 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from zsh-completions --- pkgs/shells/zsh/zsh-completions/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/shells/zsh/zsh-completions/default.nix b/pkgs/shells/zsh/zsh-completions/default.nix index 92a9d293e84f..ba65f90d909e 100644 --- a/pkgs/shells/zsh/zsh-completions/default.nix +++ b/pkgs/shells/zsh/zsh-completions/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "zsh-completions-${version}"; - version = "0.27.0"; + version = "0.28.0"; src = fetchFromGitHub { owner = "zsh-users"; repo = "zsh-completions"; rev = "${version}"; - sha256 = "1c2xx9bkkvyy0c6aq9vv3fjw7snlm0m5bjygfk5391qgjpvchd29"; + sha256 = "02n1svaw74y0za856w8zjb98nzg1h6bmy4xsar71irsk1mj3m5h2"; }; installPhase= '' From 7b4c7c4b592a95b10bfb3903e911dd58b702335b Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Thu, 30 Aug 2018 17:10:00 +0200 Subject: [PATCH 57/69] extract_url: init at 1.6.2 (#45624) Squashed from: * extract_url: init at 1.6.2 * extract_url: purify build * extract_url: move src to more conventional place * extract_url: don't unnecessarily propagate * extract_url: use installFlags instead of patch * extract_url: use URL literal instead of string * extract_url: fix make flags style * extract_url: remove PodChecker dependency --- .../applications/misc/extract_url/default.nix | 42 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ pkgs/top-level/perl-packages.nix | 13 ++++++ 3 files changed, 59 insertions(+) create mode 100644 pkgs/applications/misc/extract_url/default.nix diff --git a/pkgs/applications/misc/extract_url/default.nix b/pkgs/applications/misc/extract_url/default.nix new file mode 100644 index 000000000000..389ac7dfb1fc --- /dev/null +++ b/pkgs/applications/misc/extract_url/default.nix @@ -0,0 +1,42 @@ +{ stdenv, lib, fetchFromGitHub, makeWrapper, perl +, MIMEtools, HTMLParser +, cursesSupport ? true, CursesUI +, uriFindSupport ? true, URIFind +}: + +let + perlDeps = + [ MIMEtools HTMLParser ] + ++ lib.optional cursesSupport CursesUI + ++ lib.optional uriFindSupport URIFind; + +in stdenv.mkDerivation rec { + name = "extract_url-${version}"; + version = "1.6.2"; + + src = fetchFromGitHub { + owner = "m3m0ryh0l3"; + repo = "extracturl"; + rev = "v${version}"; + sha256 = "05589lp15jmcpbj4y9a3hmf6n2gsqrm4ybcyh3hd4j6pc7hmnhny"; + }; + + nativeBuildInputs = [ makeWrapper ]; + buildInputs = [ perl ] ++ perlDeps; + + makeFlags = [ "prefix=$(out)" ]; + installFlags = [ "INSTALL=install" ]; + + postFixup = '' + wrapProgram "$out/bin/extract_url" \ + --set PERL5LIB "${lib.makeFullPerlPath perlDeps}" + ''; + + meta = with lib; { + homepage = https://www.memoryhole.net/~kyle/extract_url/; + description = "Extracts URLs from MIME messages or plain text"; + license = licenses.bsd2; + maintainers = [ maintainers.qyliss ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 97bf41a107b0..81aab98dabe4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2395,6 +2395,10 @@ with pkgs; ext4magic = callPackage ../tools/filesystems/ext4magic { }; + extract_url = callPackage ../applications/misc/extract_url { + inherit (perlPackages) MIMEtools HTMLParser CursesUI URIFind; + }; + extundelete = callPackage ../tools/filesystems/extundelete { }; expect = callPackage ../tools/misc/expect { }; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 5add53c0dc24..2d35a573b72f 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -3186,6 +3186,19 @@ let }; }; + CursesUI = buildPerlPackage rec { + name = "Curses-UI-0.9609"; + src = fetchurl { + url = "mirror://cpan/authors/id/M/MD/MDXI/${name}.tar.gz"; + sha256 = "1bqf4h8z70f78nzqq5yj4ahvsbhxxal6bc2g301l9qdn2fjjgf0a"; + }; + meta = { + description = "curses based OO user interface framework"; + license = stdenv.lib.licenses.artistic1; + }; + propagatedBuildInputs = [ Curses TermReadKey ]; + }; + CryptX = buildPerlPackage rec { name = "CryptX-0.061"; src = fetchurl { From 8c3514609b3b7d93a256f8255eaa7351fdfa940e Mon Sep 17 00:00:00 2001 From: teh Date: Thu, 30 Aug 2018 16:30:29 +0100 Subject: [PATCH 58/69] pytorch: 0.4.0 -> 0.4.1 (#45773) Also disable tests that fail in sandbox. --- pkgs/development/python-modules/pytorch/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix index 962ebbecbaaa..d31719efa172 100644 --- a/pkgs/development/python-modules/pytorch/default.nix +++ b/pkgs/development/python-modules/pytorch/default.nix @@ -25,7 +25,7 @@ let "LD_LIBRARY_PATH=${cudaStub}\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} "; in buildPythonPackage rec { - version = "0.4.0"; + version = "0.4.1"; pname = "pytorch"; src = fetchFromGitHub { @@ -33,7 +33,7 @@ in buildPythonPackage rec { repo = "pytorch"; rev = "v${version}"; fetchSubmodules = true; - sha256 = "12d5vqqaprk0igmih7fwa65ldmaawgijxl58h6dnw660wysc132j"; + sha256 = "1cr8h47jxgfar5bamyvlayvqymnb2qvp7rr0ka2d2d4rdldf9lrp"; }; preConfigure = lib.optionalString cudaSupport '' @@ -56,7 +56,7 @@ in buildPythonPackage rec { ] ++ lib.optional (pythonOlder "3.5") typing; checkPhase = '' - ${cudaStubEnv}python test/run_test.py --exclude distributed + ${cudaStubEnv}python test/run_test.py --exclude distributed autograd distributions jit sparse torch utils nn ''; meta = { From d33395e1560bdaa8b7d32b84f9c9e5e8075ef4c7 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 30 Aug 2018 08:42:12 -0700 Subject: [PATCH 59/69] umockdev: 0.11.3 -> 0.12 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from umockdev --- pkgs/development/libraries/umockdev/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix index 1ff71fa18114..9ee2dadb8b09 100644 --- a/pkgs/development/libraries/umockdev/default.nix +++ b/pkgs/development/libraries/umockdev/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "umockdev-${version}"; - version = "0.11.3"; + version = "0.12"; src = fetchFromGitHub { owner = "martinpitt"; repo = "umockdev"; rev = version; - sha256 = "1z101yw7clxz39im3y435s3rj1gna3kp0fkj9wd62vxqvk68lhik"; + sha256 = "1j7kkxpqs991w3qdlb779gzv38l1vpnlk3laabi2ndk83j1wl5k2"; }; # autoreconfHook complains if we try to build the documentation From 41488c2d308084b8e9cf9ecdd67fba19919bf3b9 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 30 Aug 2018 09:01:45 -0700 Subject: [PATCH 60/69] urh: 2.2.3 -> 2.2.4 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from urh --- pkgs/applications/misc/urh/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/urh/default.nix b/pkgs/applications/misc/urh/default.nix index 56da0cf22efe..c5e8d1e24560 100644 --- a/pkgs/applications/misc/urh/default.nix +++ b/pkgs/applications/misc/urh/default.nix @@ -2,13 +2,13 @@ python3Packages.buildPythonApplication rec { name = "urh-${version}"; - version = "2.2.3"; + version = "2.2.4"; src = fetchFromGitHub { owner = "jopohl"; repo = "urh"; rev = "v${version}"; - sha256 = "1iq84590cjpf2rlxb60fy4hxi7vir27bbb10axbwrqwnp5cc4bql"; + sha256 = "1afmja4cffyw0ipx7zm93wvjmz0v5ccl7vcw2r18kdzrs1mr99zl"; }; buildInputs = [ hackrf rtl-sdr ]; From 69a17c7a19481a734640218b2fd25a6689d15d58 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 26 Apr 2018 22:59:34 +0200 Subject: [PATCH 61/69] Revert "treewide: remove placeholder usage" This reverts commit 82f626702314928c9c8f4ea309430e3aa0680d57. --- pkgs/applications/backup/deja-dup/default.nix | 2 +- pkgs/desktops/gnome-3/apps/file-roller/default.nix | 2 +- .../gnome-3/apps/gnome-characters/default.nix | 2 +- .../gnome-3/core/evolution-data-server/default.nix | 1 + .../gnome-3/core/gnome-settings-daemon/default.nix | 2 +- pkgs/desktops/gnome-3/core/libgee/default.nix | 7 +++++-- .../core/libgee/fix_introspection_paths.patch | 13 ------------- pkgs/desktops/gnome-3/core/totem/default.nix | 2 +- .../libraries/glib-networking/default.nix | 2 +- pkgs/development/libraries/gvfs/default.nix | 6 +++--- pkgs/development/libraries/libwnck/3.x.nix | 4 ++-- pkgs/development/libraries/spice-gtk/default.nix | 2 +- pkgs/os-specific/linux/dbus-broker/default.nix | 4 ++-- pkgs/tools/misc/colord/default.nix | 10 +++++----- 14 files changed, 25 insertions(+), 34 deletions(-) delete mode 100644 pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix index 797a00f4fc4a..c8fb4af3c4bf 100644 --- a/pkgs/applications/backup/deja-dup/default.nix +++ b/pkgs/applications/backup/deja-dup/default.nix @@ -39,7 +39,7 @@ stdenv.mkDerivation rec { propagatedUserEnvPkgs = [ duplicity ]; - PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "lib/nautilus/extensions-3.0"; + PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0"; postInstall = '' glib-compile-schemas $out/share/glib-2.0/schemas diff --git a/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/apps/file-roller/default.nix index 45aab553c418..42f0ddc6e4bb 100644 --- a/pkgs/desktops/gnome-3/apps/file-roller/default.nix +++ b/pkgs/desktops/gnome-3/apps/file-roller/default.nix @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib gtk json-glib libarchive file gnome3.defaultIconTheme libnotify nautilus ]; - PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "lib/nautilus/extensions-3.0"; + PKG_CONFIG_LIBNAUTILUS_EXTENSION_EXTENSIONDIR = "${placeholder "out"}/lib/nautilus/extensions-3.0"; postPatch = '' chmod +x postinstall.py # patchShebangs requires executable file diff --git a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix index b5525957d468..92ce0eb8debb 100644 --- a/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix +++ b/pkgs/desktops/gnome-3/apps/gnome-characters/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { buildInputs = [ glib gtk3 gjs pango gnome3.gsettings-desktop-schemas gnome3.defaultIconTheme libunistring ]; mesonFlags = [ - "-Ddbus_service_dir=share/dbus-1/services" + "-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/services" ]; meta = with stdenv.lib; { diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix index 842ad6634227..5d6f6b667e98 100644 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix +++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix @@ -37,6 +37,7 @@ stdenv.mkDerivation rec { "-DENABLE_VALA_BINDINGS=ON" "-DENABLE_INTROSPECTION=ON" "-DCMAKE_SKIP_BUILD_RPATH=OFF" + "-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include" ]; postPatch = '' diff --git a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix index cfb41c01e6ad..bfaf430d5932 100644 --- a/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-settings-daemon/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { ]; mesonFlags = [ - "-Dudev_dir=lib/udev" + "-Dudev_dir=${placeholder "out"}/lib/udev" ]; postPatch = '' diff --git a/pkgs/desktops/gnome-3/core/libgee/default.nix b/pkgs/desktops/gnome-3/core/libgee/default.nix index a5ce9ee5e105..a65d0f401f0e 100644 --- a/pkgs/desktops/gnome-3/core/libgee/default.nix +++ b/pkgs/desktops/gnome-3/core/libgee/default.nix @@ -6,6 +6,8 @@ in stdenv.mkDerivation rec { name = "${pname}-${version}"; + outputs = [ "out" "dev" ]; + src = fetchurl { url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz"; sha256 = "0c26x8gi3ivmhlbqcmiag4jwrkvcy28ld24j55nqr3jikb904a5v"; @@ -13,11 +15,12 @@ stdenv.mkDerivation rec { doCheck = true; - patches = [ ./fix_introspection_paths.patch ]; - nativeBuildInputs = [ pkgconfig autoconf vala gobjectIntrospection ]; buildInputs = [ glib ]; + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "dev"}/share/gir-1.0"; + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; + passthru = { updateScript = gnome3.updateScript { packageName = pname; diff --git a/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch b/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch deleted file mode 100644 index 67003f451645..000000000000 --- a/pkgs/desktops/gnome-3/core/libgee/fix_introspection_paths.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- fix_introspection_paths.patch/configure 2014-01-07 17:43:53.521339338 +0000 -+++ fix_introspection_paths.patch/configure-fix 2014-01-07 17:45:11.068635069 +0000 -@@ -12085,8 +12085,8 @@ - INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0` - INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0` - INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0` -- INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir gobject-introspection-1.0` -- INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)" -+ INTROSPECTION_GIRDIR="${datadir}/gir-1.0" -+ INTROSPECTION_TYPELIBDIR="${libdir}/girepository-1.0" - INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0` - INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0` - INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix index b8197ccf83c5..50e060c13c3a 100644 --- a/pkgs/desktops/gnome-3/core/totem/default.nix +++ b/pkgs/desktops/gnome-3/core/totem/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { ''; mesonFlags = [ - "-Dwith-nautilusdir=lib/nautilus/extensions-3.0" + "-Dwith-nautilusdir=${placeholder "out"}/lib/nautilus/extensions-3.0" # https://bugs.launchpad.net/ubuntu/+source/totem/+bug/1712021 # https://bugzilla.gnome.org/show_bug.cgi?id=784236 # https://github.com/mesonbuild/meson/issues/1994 diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix index e0bbae69c4ff..3deaf28373dd 100644 --- a/pkgs/development/libraries/glib-networking/default.nix +++ b/pkgs/development/libraries/glib-networking/default.nix @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { }) ]; - PKG_CONFIG_GIO_2_0_GIOMODULEDIR = "lib/gio/modules"; + PKG_CONFIG_GIO_2_0_GIOMODULEDIR = "${placeholder "out"}/lib/gio/modules"; postPatch = '' chmod +x meson_post_install.py # patchShebangs requires executable file diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix index 86cbd01a6026..360c1fb41f4e 100644 --- a/pkgs/development/libraries/gvfs/default.nix +++ b/pkgs/development/libraries/gvfs/default.nix @@ -63,9 +63,9 @@ stdenv.mkDerivation rec { # Uncomment when switching back to meson # mesonFlags = [ - # "-Dgio_module_dir=lib/gio/modules" - # "-Dsystemduserunitdir=lib/systemd/user" - # "-Ddbus_service_dir=share/dbus-1/services" + # "-Dgio_module_dir=${placeholder "out"}/lib/gio/modules" + # "-Dsystemduserunitdir=${placeholder "out"}/lib/systemd/user" + # "-Ddbus_service_dir=${placeholder "out"}/share/dbus-1/services" # "-Dtmpfilesdir=no" # ] ++ stdenv.lib.optionals (!gnomeSupport) [ # "-Dgcr=false" "-Dgoa=false" "-Dkeyring=false" "-Dhttp=false" diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix index 8efd908584e1..f2d05d14d693 100644 --- a/pkgs/development/libraries/libwnck/3.x.nix +++ b/pkgs/development/libraries/libwnck/3.x.nix @@ -19,8 +19,8 @@ in stdenv.mkDerivation rec{ nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ]; propagatedBuildInputs = [ libX11 gtk3 ]; - PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "$(dev)/share/gir-1.0"; - PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "$(out)/lib/girepository-1.0"; + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "${placeholder "dev"}/share/gir-1.0"; + PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "${placeholder "out"}/lib/girepository-1.0"; passthru = { updateScript = gnome3.updateScript { diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix index f4f10978ec13..f5258c1cd6d8 100644 --- a/pkgs/development/libraries/spice-gtk/default.nix +++ b/pkgs/development/libraries/spice-gtk/default.nix @@ -52,7 +52,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala gobjectIntrospection ]; - PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "$(out)/share/polkit-1/actions"; + PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions"; configureFlags = [ "--with-gtk3" diff --git a/pkgs/os-specific/linux/dbus-broker/default.nix b/pkgs/os-specific/linux/dbus-broker/default.nix index 794ebd126fa4..6582825d6f24 100644 --- a/pkgs/os-specific/linux/dbus-broker/default.nix +++ b/pkgs/os-specific/linux/dbus-broker/default.nix @@ -17,8 +17,8 @@ stdenv.mkDerivation rec { buildInputs = [ dbus glib linuxHeaders systemd ]; - PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "lib/systemd/system"; - PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "lib/systemd/user"; + PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; + PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user"; postInstall = '' install -Dm644 ../README $out/share/doc/dbus-broker/README diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix index a5d71a9487cc..e442850fbaaf 100644 --- a/pkgs/tools/misc/colord/default.nix +++ b/pkgs/tools/misc/colord/default.nix @@ -29,11 +29,11 @@ stdenv.mkDerivation rec { glib-compile-schemas $out/share/glib-2.0/schemas ''; - PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "lib/systemd/system"; - PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "lib/systemd/user"; - PKG_CONFIG_SYSTEMD_TMPFILESDIR = "lib/tmpfiles.d"; - PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR= "share/bash-completion/completions"; - PKG_CONFIG_UDEV_UDEVDIR = "lib/udev"; + PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system"; + PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user"; + PKG_CONFIG_SYSTEMD_TMPFILESDIR = "${placeholder "out"}/lib/tmpfiles.d"; + PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR= "${placeholder "out"}/share/bash-completion/completions"; + PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev"; postFixup = '' wrapProgram "$out/libexec/colord-session" \ From 6cefc9c1b0fbe64c00094762ca535850b5186ec1 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 26 Apr 2018 22:59:45 +0200 Subject: [PATCH 62/69] Revert "treewide: remove placeholder usage" This reverts commit 025881c23649b1c99930081ec9dc6b9fcd04afb4. --- pkgs/desktops/gnome-3/core/evolution-data-server/default.nix | 3 --- pkgs/development/libraries/pipewire/default.nix | 2 +- pkgs/os-specific/linux/selinux-sandbox/default.nix | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix index 5d6f6b667e98..c355c9bbce69 100644 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix +++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix @@ -40,9 +40,6 @@ stdenv.mkDerivation rec { "-DINCLUDE_INSTALL_DIR=${placeholder "dev"}/include" ]; - postPatch = '' - cmakeFlags="-DINCLUDE_INSTALL_DIR=$dev/include $cmakeFlags" - ''; passthru = { updateScript = gnome3.updateScript { diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix index c50fc9fb35c8..e87ed8e48a98 100644 --- a/pkgs/development/libraries/pipewire/default.nix +++ b/pkgs/development/libraries/pipewire/default.nix @@ -34,7 +34,7 @@ in stdenv.mkDerivation rec { "-Denable_gstreamer=true" ]; - PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "lib/systemd/user"; + PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user"; FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file diff --git a/pkgs/os-specific/linux/selinux-sandbox/default.nix b/pkgs/os-specific/linux/selinux-sandbox/default.nix index 431f5e9ef517..71d2ee6e80af 100644 --- a/pkgs/os-specific/linux/selinux-sandbox/default.nix +++ b/pkgs/os-specific/linux/selinux-sandbox/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { substituteInPlace Makefile --replace "-m 4755" "-m 755" substituteInPlace sandboxX.sh \ --replace "#!/bin/sh" "#!${bash}/bin/sh" \ - --replace "/usr/share/sandbox/start" "$out/share/sandbox/start" \ + --replace "/usr/share/sandbox/start" "${placeholder "out"}/share/sandbox/start" \ --replace "/usr/bin/cut" "${coreutils}/bin/cut" \ --replace "/usr/bin/Xephyr" "${xorgserver}/bin/Xepyhr" \ --replace "secon" "${policycoreutils}/bin/secon" From c1e53166ade2f84649e48366e3a21922a5291960 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 26 Apr 2018 23:00:36 +0200 Subject: [PATCH 63/69] Revert "sympow: don't use placeholder" This reverts commit bae15c811f182132c77f3c20b6785c9297e8498f. --- pkgs/development/libraries/science/math/sympow/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/science/math/sympow/default.nix b/pkgs/development/libraries/science/math/sympow/default.nix index c34701e3f913..f421755b6182 100644 --- a/pkgs/development/libraries/science/math/sympow/default.nix +++ b/pkgs/development/libraries/science/math/sympow/default.nix @@ -34,13 +34,11 @@ stdenv.mkDerivation rec { makeWrapper "$out/share/sympow/sympow" "$out/bin/sympow" \ --run 'export SYMPOW_LOCAL="$HOME/.local/share/sympow"' \ --run 'if [ ! -d "$SYMPOW_LOCAL" ]; then - mkdir -p "$SYMPOW_LOCAL" - cp -r @out@/share/sympow/* "$SYMPOW_LOCAL" + mkdir -p "$SYMPOW_LOCAL" + cp -r ${placeholder "out"}/share/sympow/* "$SYMPOW_LOCAL" chmod -R +xw "$SYMPOW_LOCAL" fi' \ --run 'cd "$SYMPOW_LOCAL"' - substituteInPlace $out/bin/sympow --subst-var out - runHook postInstall ''; From 0d90e014d63dc875fcdd855bd25de6ccc2b8f043 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 30 Apr 2018 02:44:02 +0200 Subject: [PATCH 64/69] Revert "qpdfview: remove placeholder usage" This reverts commit 9e503e039b6adce89bc0b99cbf6e5b24d3b75118. --- pkgs/applications/misc/qpdfview/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/misc/qpdfview/default.nix b/pkgs/applications/misc/qpdfview/default.nix index dfaa90d43adf..263bc37660c9 100644 --- a/pkgs/applications/misc/qpdfview/default.nix +++ b/pkgs/applications/misc/qpdfview/default.nix @@ -21,11 +21,16 @@ stdenv.mkDerivation { src = fetchurl { inherit (s) url sha256; }; - - # TODO: revert this once placeholder is supported - preConfigure = '' - qmakeFlags="$qmakeFlags *.pro TARGET_INSTALL_PATH=$out/bin PLUGIN_INSTALL_PATH=$out/lib/qpdfview DATA_INSTALL_PATH=$out/share/qpdfview MANUAL_INSTALL_PATH=$out/share/man/man1 ICON_INSTALL_PATH=$out/share/icons/hicolor/scalable/apps LAUNCHER_INSTALL_PATH=$out/share/applications APPDATA_INSTALL_PATH=$out/share/appdata" - ''; + qmakeFlags = [ + "*.pro" + "TARGET_INSTALL_PATH=${placeholder "out"}/bin" + "PLUGIN_INSTALL_PATH=${placeholder "out"}/lib/qpdfview" + "DATA_INSTALL_PATH=${placeholder "out"}/share/qpdfview" + "MANUAL_INSTALL_PATH=${placeholder "out"}/share/man/man1" + "ICON_INSTALL_PATH=${placeholder "out"}/share/icons/hicolor/scalable/apps" + "LAUNCHER_INSTALL_PATH=${placeholder "out"}/share/applications" + "APPDATA_INSTALL_PATH=${placeholder "out"}/share/appdata" + ]; meta = { inherit (s) version; From 3ddead70852a5d484b063fec52973c56bad22601 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Mon, 30 Apr 2018 02:49:35 +0200 Subject: [PATCH 65/69] gmic: simplify the expression with placeholder --- pkgs/tools/graphics/gmic/default.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/pkgs/tools/graphics/gmic/default.nix b/pkgs/tools/graphics/gmic/default.nix index c267695dd784..51212a3ea946 100644 --- a/pkgs/tools/graphics/gmic/default.nix +++ b/pkgs/tools/graphics/gmic/default.nix @@ -32,16 +32,12 @@ in stdenv.mkDerivation rec { "-DBUILD_LIB_STATIC=OFF" "-DBUILD_PLUGIN=${if withGimpPlugin then "ON" else "OFF"}" "-DENABLE_DYNAMIC_LINKING=ON" - ]; + ] ++ stdenv.lib.optional withGimpPlugin "-DPLUGIN_INSTALL_PREFIX=${placeholder "gimpPlugin"}/${gimp.targetPluginDir}"; postPatch = '' cp ${CMakeLists} CMakeLists.txt ''; - preConfigure = stdenv.lib.optionalString withGimpPlugin '' - cmakeFlags="$cmakeFlags -DPLUGIN_INSTALL_PREFIX=$gimpPlugin/${gimp.targetPluginDir}" - ''; - meta = with stdenv.lib; { description = "G'MIC is an open and full-featured framework for image processing"; homepage = http://gmic.eu/; From 2d04c3f47685c1e7727992bfff13af3c55f72c31 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 30 Aug 2018 09:39:51 -0700 Subject: [PATCH 66/69] wireshark: 2.6.2 -> 2.6.3 Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from wireshark-qt --- pkgs/applications/networking/sniffers/wireshark/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 867768d9f9f1..f145d55daf38 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -12,7 +12,7 @@ assert withQt -> !withGtk && qt5 != null; with stdenv.lib; let - version = "2.6.2"; + version = "2.6.3"; variant = if withGtk then "gtk" else if withQt then "qt" else "cli"; in stdenv.mkDerivation { @@ -20,7 +20,7 @@ in stdenv.mkDerivation { src = fetchurl { url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz"; - sha256 = "153h6prxamv5a62f3pfadkry0y57696xrgxfy2gfy5xswdg8kcj9"; + sha256 = "1v538h02y8avwy3cr11xz6wkyf9xd8qva4ng4sl9f2fw4skahn6i"; }; cmakeFlags = [ From bcccd134716f1abc5457870a866dcf2b1e501ef5 Mon Sep 17 00:00:00 2001 From: Matthew Pickering Date: Thu, 30 Aug 2018 18:24:31 +0100 Subject: [PATCH 67/69] kythe: init at 0.0.28 (#45778) Progress towards #27590 --- pkgs/development/tools/kythe/default.nix | 47 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/tools/kythe/default.nix diff --git a/pkgs/development/tools/kythe/default.nix b/pkgs/development/tools/kythe/default.nix new file mode 100644 index 000000000000..5aae1d4f3bef --- /dev/null +++ b/pkgs/development/tools/kythe/default.nix @@ -0,0 +1,47 @@ +{ stdenv, binutils , fetchurl, glibc }: + +stdenv.mkDerivation rec { + version = "0.0.28"; + name = "kythe-${version}"; + + src = fetchurl { + url = "https://github.com/google/kythe/releases/download/v0.0.28/kythe-v0.0.28.tar.gz"; + sha256 = "1qc7cngpxw66m3krpr5x50ns7gb3bpv2bdfzpb5afl12qp0mi6zm"; + }; + + buildInputs = + [ binutils ]; + + doCheck = false; + + dontBuild = true; + + installPhase = '' + cd tools + for exe in http_server \ + kythe read_entries triples verifier \ + write_entries write_tables; do + echo "Patching:" $exe + patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $exe + patchelf --set-rpath "${stdenv.cc.cc.lib}/lib64" $exe + done + cd ../ + cp -R ./ $out + ''; + + meta = with stdenv.lib; { + description = "A pluggable, (mostly) language-agnostic ecosystem for building tools that work with code."; + longDescription = '' + The Kythe project was founded to provide and support tools and standards + that encourage interoperability among programs that manipulate source + code. At a high level, the main goal of Kythe is to provide a standard, + language-agnostic interchange mechanism, allowing tools that operate on + source code — including build systems, compilers, interpreters, static + analyses, editors, code-review applications, and more — to share + information with each other smoothly. ''; + homepage = https://kythe.io/; + license = licenses.asl20; + platforms = platforms.linux; + maintainers = [ maintainers.mpickering ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 81aab98dabe4..93ea46e1d999 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8399,6 +8399,8 @@ with pkgs; kustomize = callPackage ../development/tools/kustomize { }; + kythe = callPackage ../development/tools/kythe { }; + Literate = callPackage ../development/tools/literate-programming/Literate {}; lcov = callPackage ../development/tools/analysis/lcov { }; From 54951b1bf8a36c224b29b999cd66a53e4ba7f772 Mon Sep 17 00:00:00 2001 From: "R. RyanTM" Date: Thu, 30 Aug 2018 11:27:55 -0700 Subject: [PATCH 68/69] weston: 4.0.0 -> 5.0.0 (#45798) Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from weston --- pkgs/applications/window-managers/weston/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index d967f55b81c8..541c7b539bb9 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -7,11 +7,11 @@ stdenv.mkDerivation rec { name = "weston-${version}"; - version = "4.0.0"; + version = "5.0.0"; src = fetchurl { url = "https://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "0n2big8xw6g6n46zm1jyf00dv9r4d84visdz5b8vxpw3xzkhmz50"; + sha256 = "1bsc9ry566mpk6fdwkqpvwq2j7m79d9cvh7d3lgf6igsphik98hm"; }; nativeBuildInputs = [ pkgconfig ]; From efb16b582944c426353e407861d7172f24d965dd Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Thu, 30 Aug 2018 20:20:32 +0200 Subject: [PATCH 69/69] deadbeefPlugins.infobar: init at 1.4 --- .../audio/deadbeef/plugins/infobar.nix | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 34 insertions(+) create mode 100644 pkgs/applications/audio/deadbeef/plugins/infobar.nix diff --git a/pkgs/applications/audio/deadbeef/plugins/infobar.nix b/pkgs/applications/audio/deadbeef/plugins/infobar.nix new file mode 100644 index 000000000000..92f566e36578 --- /dev/null +++ b/pkgs/applications/audio/deadbeef/plugins/infobar.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchurl, pkgconfig, deadbeef, gtk3, libxml2 }: + +stdenv.mkDerivation rec { + name = "deadbeef-infobar-plugin-${version}"; + version = "1.4"; + + src = fetchurl { + url = "https://bitbucket.org/dsimbiriatin/deadbeef-infobar/downloads/deadbeef-infobar-${version}.tar.gz"; + sha256 = "0c9wh3wh1hdww7v96i8cy797la06mylhfi0880k8vwh88079aapf"; + }; + + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ deadbeef gtk3 libxml2 ]; + + buildFlags = [ "gtk3" ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out/lib/deadbeef + cp gtk3/ddb_infobar_gtk3.so $out/lib/deadbeef + + runHook postInstall + ''; + + meta = with stdenv.lib; { + description = "DeadBeeF Infobar Plugin"; + homepage = https://bitbucket.org/dsimbiriatin/deadbeef-infobar; + license = licenses.gpl2Plus; + maintainers = [ maintainers.jtojnar ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 93ea46e1d999..318b1941e9a0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15811,6 +15811,7 @@ with pkgs; deadbeefPlugins = { headerbar-gtk3 = callPackage ../applications/audio/deadbeef/plugins/headerbar-gtk3.nix { }; + infobar = callPackage ../applications/audio/deadbeef/plugins/infobar.nix { }; mpris2 = callPackage ../applications/audio/deadbeef/plugins/mpris2.nix { }; opus = callPackage ../applications/audio/deadbeef/plugins/opus.nix { }; };