Skip to content
This repository was archived by the owner on Apr 12, 2021. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: aef959ed9339
Choose a base ref
...
head repository: NixOS/nixpkgs-channels
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: b6ee7aa184cc
Choose a head ref

Commits on Nov 13, 2019

  1. rustc: add QA documentation

    Mic92 committed Nov 13, 2019

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    Mic92 Jörg Thalheim
    Copy the full SHA
    d2d1c53 View commit details

Commits on Dec 15, 2019

  1. Verified

    This commit was signed with the committer’s verified signature.
    kampka Christian Kampka
    Copy the full SHA
    5ae9214 View commit details
  2. Verified

    This commit was signed with the committer’s verified signature.
    kampka Christian Kampka
    Copy the full SHA
    862a739 View commit details
  3. Verified

    This commit was signed with the committer’s verified signature.
    kampka Christian Kampka
    Copy the full SHA
    57e8bd9 View commit details
  4. Verified

    This commit was signed with the committer’s verified signature.
    kampka Christian Kampka
    Copy the full SHA
    0657706 View commit details
  5. Verified

    This commit was signed with the committer’s verified signature.
    kampka Christian Kampka
    Copy the full SHA
    1f3f9fd View commit details
  6. Verified

    This commit was signed with the committer’s verified signature.
    kampka Christian Kampka
    Copy the full SHA
    e51673b View commit details
  7. Verified

    This commit was signed with the committer’s verified signature.
    kampka Christian Kampka
    Copy the full SHA
    8c683b3 View commit details
  8. Verified

    This commit was signed with the committer’s verified signature.
    kampka Christian Kampka
    Copy the full SHA
    58cd46b View commit details
  9. Verified

    This commit was signed with the committer’s verified signature.
    kampka Christian Kampka
    Copy the full SHA
    c811e76 View commit details

Commits on Dec 17, 2019

  1. qgis: 3.10.0 -> 3.10.1

    lsix committed Dec 17, 2019

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    lsix lsix
    Copy the full SHA
    90ebbaa View commit details

Commits on Dec 19, 2019

  1. nixos: unify virtual console options

    This commit moves all the virtual console related options
    to a dedicated config/console.nix NixOS module.
    
    Currently most of these are defined in config/i18n.nix
    with a "console" prefix like `i18n.consoleFont`,
    `i18n.consoleColors` or under `boot` and are implemented
    in tasks/kbd.nix.
    Since they have little to do with actual internationalisation
    and are (informally) in an attrset already, it makes sense to
    move them to a specific module.
    rnhmjoj committed Dec 19, 2019

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    rnhmjoj Michele Guerini Rocco
    Copy the full SHA
    c9276c1 View commit details
  2. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    rnhmjoj Michele Guerini Rocco
    Copy the full SHA
    bce1437 View commit details
  3. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    rnhmjoj Michele Guerini Rocco
    Copy the full SHA
    9802bc5 View commit details
  4. nixos/console: set colors using kernel parameters

    This commit changes the console colors implementation
    to use the kernel parameters instead of relying on terminal
    escape sequences. This means the palette is applied by the
    kernel itself with no custom code running in the initrd
    and works for all virtual terminals (not only tty0).
    rnhmjoj committed Dec 19, 2019

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    rnhmjoj Michele Guerini Rocco
    Copy the full SHA
    a35b12e View commit details

Commits on Dec 20, 2019

  1. Verified

    This commit was signed with the committer’s verified signature.
    cdepillabout Dennis Gosnell
    Copy the full SHA
    2b63a42 View commit details
  2. Verified

    This commit was signed with the committer’s verified signature.
    cdepillabout Dennis Gosnell
    Copy the full SHA
    5a6165f View commit details
  3. Merge pull request #74727 from cdepillabout/purescript-psa-node-packages

    nodePackages.purescript-psa: init at 0.7.3
    cdepillabout authored Dec 20, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b9a83f7 View commit details
  4. Verified

    This commit was signed with the committer’s verified signature.
    turboMaCk Marek Fajkus
    Copy the full SHA
    66eef90 View commit details
  5. flyway: 6.1.0 -> 6.1.2

    Rakesh4G authored and teto committed Dec 20, 2019
    Copy the full SHA
    c1717a1 View commit details
  6. flyway: 6.1.0 -> 6.1.2

    Rakesh4G authored and teto committed Dec 20, 2019
    Copy the full SHA
    be98fd4 View commit details
  7. starship: 0.30.1 -> 0.31.0

    Br1ght0ne authored and teto committed Dec 20, 2019
    Copy the full SHA
    2149652 View commit details
  8. rust-bindgen: 0.51.1 -> 0.52.0

    Update for latest point release from a month ago: https://github.com/rust-lang/rust-bindgen/releases/tag/v0.52.0
    johnchildren authored and teto committed Dec 20, 2019
    Copy the full SHA
    666e58d View commit details
  9. Merge pull request #75816 from lsix/qgis-3.10.1

    qgis: 3.10.0 -> 3.10.1
    markuskowa authored Dec 20, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    ec6240c View commit details
  10. Merge pull request #71473 from rnhmjoj/console

    nixos: unify virtual console options
    infinisil authored Dec 20, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    d475361 View commit details
  11. netcdf: 4.6.1 -> 4.7.3

    and enable tests as per unmerged #56830
    bcdarwin authored and teto committed Dec 20, 2019
    Copy the full SHA
    2ea7b81 View commit details
  12. rustup: 1.20.2 -> 1.21.0

    malbarbo committed Dec 20, 2019
    Copy the full SHA
    2168ea3 View commit details
  13. awscli: pin colorama to 0.4.1

    This is pinned to 0.4.1 in the upstream awscli package.
    terlar committed Dec 20, 2019

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    terlar Terje Larsen
    Copy the full SHA
    7a99d1e View commit details
  14. Verified

    This commit was signed with the committer’s verified signature.
    primeos Michael Weiss
    Copy the full SHA
    313eba4 View commit details
  15. rustc: add QA documentation (#73296)

    rustc: add QA documentation
    Mic92 authored Dec 20, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    d68c70f View commit details
  16. Merge pull request #76054 from turboMaCk/imwheel-fixes

    services.xserver.imwheel: Fix default extraOptions
    infinisil authored Dec 20, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    8c39d69 View commit details
  17. Merge pull request #75703 from kampka/port-tests-3

    Port NixOS tests to python
    veprbl authored Dec 20, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    aa934fa View commit details
  18. volctl: init at 0.6.2

    romildo authored and teto committed Dec 20, 2019
    Copy the full SHA
    306c31a View commit details
  19. Merge pull request #76092 from terlar/fix-awscli

    awscli: pin colorama to 0.4.1
    LnL7 authored Dec 20, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    116ef2a View commit details
  20. Merge pull request #76099 from malbarbo/rustup-1.21.0

    rustup: 1.20.2 -> 1.21.0
    Mic92 authored Dec 20, 2019

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b6ee7aa View commit details
71 changes: 61 additions & 10 deletions nixos/doc/manual/release-notes/rl-2003.xml
Original file line number Diff line number Diff line change
@@ -140,18 +140,18 @@ services.xserver.displayManager.defaultSession = "xfce+icewm";
</listitem>
<listitem>
<para>
The <literal>99-main.network</literal> file was removed. Maching all
network interfaces caused many breakages, see
<link xlink:href="https://github.com/NixOS/nixpkgs/pull/18962">#18962</link>
and <link xlink:href="https://github.com/NixOS/nixpkgs/pull/71106">#71106</link>.
The <literal>99-main.network</literal> file was removed. Maching all
network interfaces caused many breakages, see
<link xlink:href="https://github.com/NixOS/nixpkgs/pull/18962">#18962</link>
and <link xlink:href="https://github.com/NixOS/nixpkgs/pull/71106">#71106</link>.
</para>
<para>
We already don't support the global <link linkend="opt-networking.useDHCP">networking.useDHCP</link>,
<link linkend="opt-networking.defaultGateway">networking.defaultGateway</link> and
<link linkend="opt-networking.defaultGateway6">networking.defaultGateway6</link> options
if <link linkend="opt-networking.useNetworkd">networking.useNetworkd</link> is enabled,
but direct users to configure the per-device
<link linkend="opt-networking.interfaces">networking.interfaces.&lt;name&gt;.…</link> options.
We already don't support the global <link linkend="opt-networking.useDHCP">networking.useDHCP</link>,
<link linkend="opt-networking.defaultGateway">networking.defaultGateway</link> and
<link linkend="opt-networking.defaultGateway6">networking.defaultGateway6</link> options
if <link linkend="opt-networking.useNetworkd">networking.useNetworkd</link> is enabled,
but direct users to configure the per-device
<link linkend="opt-networking.interfaces">networking.interfaces.&lt;name&gt;.…</link> options.
</para>
</listitem>
<listitem>
@@ -264,6 +264,57 @@ services.xserver.displayManager.defaultSession = "xfce+icewm";
in container config.
</para>
</listitem>
<listitem>
<para>
Virtual console options have been reorganized and can be found under
a single top-level attribute: <literal>console</literal>.
The full set of changes is as follows:
</para>
<itemizedlist>
<listitem>
<para>
<literal>i18n.consoleFont</literal> renamed to
<link linkend="opt-console.font">console.font</link>
</para>
</listitem>
<listitem>
<para>
<literal>i18n.consoleKeyMap</literal> renamed to
<link linkend="opt-console.keyMap">console.keyMap</link>
</para>
</listitem>
<listitem>
<para>
<literal>i18n.consoleColors</literal> renamed to
<link linkend="opt-console.colors">console.colors</link>
</para>
</listitem>
<listitem>
<para>
<literal>i18n.consolePackages</literal> renamed to
<link linkend="opt-console.packages">console.packages</link>
</para>
</listitem>
<listitem>
<para>
<literal>i18n.consoleUseXkbConfig</literal> renamed to
<link linkend="opt-console.useXkbConfig">console.useXkbConfig</link>
</para>
</listitem>
<listitem>
<para>
<literal>boot.earlyVconsoleSetup</literal> renamed to
<link linkend="opt-console.earlySetup">console.earlySetup</link>
</para>
</listitem>
<listitem>
<para>
<literal>boot.extraTTYs</literal> renamed to
<link linkend="opt-console.extraTTYs">console.extraTTYs</link>
</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</section>

203 changes: 203 additions & 0 deletions nixos/modules/config/console.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@

{ config, lib, pkgs, ... }:

with lib;

let
cfg = config.console;

makeColor = i: concatMapStringsSep "," (x: "0x" + substring (2*i) 2 x);

isUnicode = hasSuffix "UTF-8" (toUpper config.i18n.defaultLocale);

optimizedKeymap = pkgs.runCommand "keymap" {
nativeBuildInputs = [ pkgs.buildPackages.kbd ];
LOADKEYS_KEYMAP_PATH = "${consoleEnv}/share/keymaps/**";
preferLocalBuild = true;
} ''
loadkeys -b ${optionalString isUnicode "-u"} "${cfg.keyMap}" > $out
'';

# Sadly, systemd-vconsole-setup doesn't support binary keymaps.
vconsoleConf = pkgs.writeText "vconsole.conf" ''
KEYMAP=${cfg.keyMap}
FONT=${cfg.font}
'';

consoleEnv = pkgs.buildEnv {
name = "console-env";
paths = [ pkgs.kbd ] ++ cfg.packages;
pathsToLink = [
"/share/consolefonts"
"/share/consoletrans"
"/share/keymaps"
"/share/unimaps"
];
};

setVconsole = !config.boot.isContainer;
in

{
###### interface

options.console = {
font = mkOption {
type = types.str;
default = "Lat2-Terminus16";
example = "LatArCyrHeb-16";
description = ''
The font used for the virtual consoles. Leave empty to use
whatever the <command>setfont</command> program considers the
default font.
'';
};

keyMap = mkOption {
type = with types; either str path;
default = "us";
example = "fr";
description = ''
The keyboard mapping table for the virtual consoles.
'';
};

colors = mkOption {
type = types.listOf types.str;
default = [];
example = [
"002b36" "dc322f" "859900" "b58900"
"268bd2" "d33682" "2aa198" "eee8d5"
"002b36" "cb4b16" "586e75" "657b83"
"839496" "6c71c4" "93a1a1" "fdf6e3"
];
description = ''
The 16 colors palette used by the virtual consoles.
Leave empty to use the default colors.
Colors must be in hexadecimal format and listed in
order from color 0 to color 15.
'';

};

packages = mkOption {
type = types.listOf types.package;
default = with pkgs.kbdKeymaps; [ dvp neo ];
defaultText = ''with pkgs.kbdKeymaps; [ dvp neo ]'';
description = ''
List of additional packages that provide console fonts, keymaps and
other resources for virtual consoles use.
'';
};

extraTTYs = mkOption {
default = [];
type = types.listOf types.str;
example = ["tty8" "tty9"];
description = ''
TTY (virtual console) devices, in addition to the consoles on
which mingetty and syslogd run, that must be initialised.
Only useful if you have some program that you want to run on
some fixed console. For example, the NixOS installation CD
opens the manual in a web browser on console 7, so it sets
<option>console.extraTTYs</option> to <literal>["tty7"]</literal>.
'';
};

useXkbConfig = mkOption {
type = types.bool;
default = false;
description = ''
If set, configure the virtual console keymap from the xserver
keyboard settings.
'';
};

earlySetup = mkOption {
default = false;
type = types.bool;
description = ''
Enable setting virtual console options as early as possible (in initrd).
'';
};

};


###### implementation

config = mkMerge [
{ console.keyMap = with config.services.xserver;
mkIf cfg.useXkbConfig
(pkgs.runCommand "xkb-console-keymap" { preferLocalBuild = true; } ''
'${pkgs.ckbcomp}/bin/ckbcomp' -model '${xkbModel}' -layout '${layout}' \
-option '${xkbOptions}' -variant '${xkbVariant}' > "$out"
'');
}

(mkIf (!setVconsole) {
systemd.services.systemd-vconsole-setup.enable = false;
})

(mkIf setVconsole (mkMerge [
{ environment.systemPackages = [ pkgs.kbd ];

# Let systemd-vconsole-setup.service do the work of setting up the
# virtual consoles.
environment.etc."vconsole.conf".source = vconsoleConf;
# Provide kbd with additional packages.
environment.etc.kbd.source = "${consoleEnv}/share";

boot.initrd.preLVMCommands = mkBefore ''
kbd_mode ${if isUnicode then "-u" else "-a"} -C /dev/console
printf "\033%%${if isUnicode then "G" else "@"}" >> /dev/console
loadkmap < ${optimizedKeymap}
${optionalString cfg.earlySetup ''
setfont -C /dev/console $extraUtils/share/consolefonts/font.psf
''}
'';

systemd.services.systemd-vconsole-setup =
{ before = [ "display-manager.service" ];
after = [ "systemd-udev-settle.service" ];
restartTriggers = [ vconsoleConf consoleEnv ];
};
}

(mkIf (cfg.colors != []) {
boot.kernelParams = [
"vt.default_red=${makeColor 0 cfg.colors}"
"vt.default_grn=${makeColor 1 cfg.colors}"
"vt.default_blu=${makeColor 2 cfg.colors}"
];
})

(mkIf cfg.earlySetup {
boot.initrd.extraUtilsCommands = ''
mkdir -p $out/share/consolefonts
${if substring 0 1 cfg.font == "/" then ''
font="${cfg.font}"
'' else ''
font="$(echo ${consoleEnv}/share/consolefonts/${cfg.font}.*)"
''}
if [[ $font == *.gz ]]; then
gzip -cd $font > $out/share/consolefonts/font.psf
else
cp -L $font $out/share/consolefonts/font.psf
fi
'';
})
]))
];

imports = [
(mkRenamedOptionModule [ "i18n" "consoleFont" ] [ "console" "font" ])
(mkRenamedOptionModule [ "i18n" "consoleKeyMap" ] [ "console" "keyMap" ])
(mkRenamedOptionModule [ "i18n" "consoleColors" ] [ "console" "colors" ])
(mkRenamedOptionModule [ "i18n" "consolePackages" ] [ "console" "packages" ])
(mkRenamedOptionModule [ "i18n" "consoleUseXkbConfig" ] [ "console" "useXkbConfig" ])
(mkRenamedOptionModule [ "boot" "earlyVconsoleSetup" ] [ "console" "earlySetup" ])
(mkRenamedOptionModule [ "boot" "extraTTYs" ] [ "console" "extraTTYs" ])
];
}
63 changes: 0 additions & 63 deletions nixos/modules/config/i18n.nix
Original file line number Diff line number Diff line change
@@ -58,62 +58,6 @@ with lib;
'';
};

consolePackages = mkOption {
type = types.listOf types.package;
default = with pkgs.kbdKeymaps; [ dvp neo ];
defaultText = ''with pkgs.kbdKeymaps; [ dvp neo ]'';
description = ''
List of additional packages that provide console fonts, keymaps and
other resources.
'';
};

consoleFont = mkOption {
type = types.str;
default = "Lat2-Terminus16";
example = "LatArCyrHeb-16";
description = ''
The font used for the virtual consoles. Leave empty to use
whatever the <command>setfont</command> program considers the
default font.
'';
};

consoleUseXkbConfig = mkOption {
type = types.bool;
default = false;
description = ''
If set, configure the console keymap from the xserver keyboard
settings.
'';
};

consoleKeyMap = mkOption {
type = with types; either str path;
default = "us";
example = "fr";
description = ''
The keyboard mapping table for the virtual consoles.
'';
};

consoleColors = mkOption {
type = types.listOf types.str;
default = [];
example = [
"002b36" "dc322f" "859900" "b58900"
"268bd2" "d33682" "2aa198" "eee8d5"
"002b36" "cb4b16" "586e75" "657b83"
"839496" "6c71c4" "93a1a1" "fdf6e3"
];
description = ''
The 16 colors palette used by the virtual consoles.
Leave empty to use the default colors.
Colors must be in hexadecimal format and listed in
order from color 0 to color 15.
'';
};

};

};
@@ -123,13 +67,6 @@ with lib;

config = {

i18n.consoleKeyMap = with config.services.xserver;
mkIf config.i18n.consoleUseXkbConfig
(pkgs.runCommand "xkb-console-keymap" { preferLocalBuild = true; } ''
'${pkgs.ckbcomp}/bin/ckbcomp' -model '${xkbModel}' -layout '${layout}' \
-option '${xkbOptions}' -variant '${xkbVariant}' > "$out"
'');

environment.systemPackages =
optional (config.i18n.supportedLocales != []) config.i18n.glibcLocales;

2 changes: 1 addition & 1 deletion nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -11,6 +11,7 @@
./config/xdg/mime.nix
./config/xdg/portal.nix
./config/appstream.nix
./config/console.nix
./config/xdg/sounds.nix
./config/gtk/gtk-icon-cache.nix
./config/gnu.nix
@@ -939,7 +940,6 @@
./tasks/filesystems/vfat.nix
./tasks/filesystems/xfs.nix
./tasks/filesystems/zfs.nix
./tasks/kbd.nix
./tasks/lvm.nix
./tasks/network-interfaces.nix
./tasks/network-interfaces-systemd.nix
2 changes: 1 addition & 1 deletion nixos/modules/services/x11/imwheel.nix
Original file line number Diff line number Diff line change
@@ -10,7 +10,7 @@ in

extraOptions = mkOption {
type = types.listOf types.str;
default = [ "--buttons 45" ];
default = [ "--buttons=45" ];
example = [ "--debug" ];
description = ''
Additional command-line arguments to pass to
127 changes: 0 additions & 127 deletions nixos/modules/tasks/kbd.nix

This file was deleted.

28 changes: 17 additions & 11 deletions nixos/tests/mutable-users.nix
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Mutable users tests.

import ./make-test.nix ({ pkgs, ...} : {
import ./make-test-python.nix ({ pkgs, ...} : {
name = "mutable-users";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ gleber ];
@@ -19,21 +19,27 @@ import ./make-test.nix ({ pkgs, ...} : {
immutableSystem = nodes.machine.config.system.build.toplevel;
mutableSystem = nodes.mutable.config.system.build.toplevel;
in ''
$machine->start();
$machine->waitForUnit("default.target");
machine.start()
machine.wait_for_unit("default.target")
# Machine starts in immutable mode. Add a user and test if reactivating
# configuration removes the user.
$machine->fail("cat /etc/passwd | grep ^foobar:");
$machine->succeed("sudo useradd foobar");
$machine->succeed("cat /etc/passwd | grep ^foobar:");
$machine->succeed("${immutableSystem}/bin/switch-to-configuration test");
$machine->fail("cat /etc/passwd | grep ^foobar:");
with subtest("Machine in immutable mode"):
assert "foobar" not in machine.succeed("cat /etc/passwd")
machine.succeed("sudo useradd foobar")
assert "foobar" in machine.succeed("cat /etc/passwd")
machine.succeed(
"${immutableSystem}/bin/switch-to-configuration test"
)
assert "foobar" not in machine.succeed("cat /etc/passwd")
# In immutable mode passwd is not wrapped, while in mutable mode it is
# wrapped.
$machine->succeed('which passwd | grep /run/current-system/');
$machine->succeed("${mutableSystem}/bin/switch-to-configuration test");
$machine->succeed('which passwd | grep /run/wrappers/');
with subtest("Password is wrapped in mutable mode"):
assert "/run/current-system/" in machine.succeed("which passwd")
machine.succeed(
"${mutableSystem}/bin/switch-to-configuration test"
)
assert "/run/wrappers/" in machine.succeed("which passwd")
'';
})
17 changes: 8 additions & 9 deletions nixos/tests/mxisd.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ./make-test.nix ({ pkgs, ... } : {
import ./make-test-python.nix ({ pkgs, ... } : {

name = "mxisd";
meta = with pkgs.stdenv.lib.maintainers; {
@@ -19,13 +19,12 @@ import ./make-test.nix ({ pkgs, ... } : {
};

testScript = ''
startAll;
$server_mxisd->waitForUnit("mxisd.service");
$server_mxisd->waitForOpenPort(8090);
$server_mxisd->succeed("curl -Ssf \"http://127.0.0.1:8090/_matrix/identity/api/v1\"");
$server_ma1sd->waitForUnit("mxisd.service");
$server_ma1sd->waitForOpenPort(8090);
$server_ma1sd->succeed("curl -Ssf \"http://127.0.0.1:8090/_matrix/identity/api/v1\"")
start_all()
server_mxisd.wait_for_unit("mxisd.service")
server_mxisd.wait_for_open_port(8090)
server_mxisd.succeed("curl -Ssf 'http://127.0.0.1:8090/_matrix/identity/api/v1'")
server_ma1sd.wait_for_unit("mxisd.service")
server_ma1sd.wait_for_open_port(8090)
server_ma1sd.succeed("curl -Ssf 'http://127.0.0.1:8090/_matrix/identity/api/v1'")
'';
})
36 changes: 19 additions & 17 deletions nixos/tests/nesting.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ./make-test.nix {
import ./make-test-python.nix {
name = "nesting";
nodes = {
clone = { pkgs, ... }: {
@@ -19,24 +19,26 @@ import ./make-test.nix {
};
};
testScript = ''
$clone->waitForUnit("default.target");
$clone->succeed("cowsay hey");
$clone->fail("hello");
clone.wait_for_unit("default.target")
clone.succeed("cowsay hey")
clone.fail("hello")
# Nested clones do inherit from parent
$clone->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
$clone->succeed("cowsay hey");
$clone->succeed("hello");
with subtest("Nested clones do inherit from parent"):
clone.succeed(
"/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"
)
clone.succeed("cowsay hey")
clone.succeed("hello")
children.wait_for_unit("default.target")
children.succeed("cowsay hey")
children.fail("hello")
$children->waitForUnit("default.target");
$children->succeed("cowsay hey");
$children->fail("hello");
# Nested children do not inherit from parent
$children->succeed("/run/current-system/fine-tune/child-1/bin/switch-to-configuration test");
$children->fail("cowsay hey");
$children->succeed("hello");
with subtest("Nested children do not inherit from parent"):
children.succeed(
"/run/current-system/fine-tune/child-1/bin/switch-to-configuration test"
)
children.fail("cowsay hey")
children.succeed("hello")
'';
}
10 changes: 5 additions & 5 deletions nixos/tests/nghttpx.nix
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
let
nginxRoot = "/run/nginx";
in
import ./make-test.nix ({...}: {
import ./make-test-python.nix ({...}: {
name = "nghttpx";
nodes = {
webserver = {
@@ -52,10 +52,10 @@ in
};

testScript = ''
startAll;
start_all()
$webserver->waitForOpenPort("80");
$proxy->waitForOpenPort("80");
$client->waitUntilSucceeds("curl -s --fail http://proxy/hello-world.txt");
webserver.wait_for_open_port("80")
proxy.wait_for_open_port("80")
client.wait_until_succeeds("curl -s --fail http://proxy/hello-world.txt")
'';
})
32 changes: 13 additions & 19 deletions nixos/tests/novacomd.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ./make-test.nix ({ pkgs, ...} : {
import ./make-test-python.nix ({ pkgs, ...} : {
name = "novacomd";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ dtzWill ];
@@ -9,26 +9,20 @@ import ./make-test.nix ({ pkgs, ...} : {
};

testScript = ''
$machine->waitForUnit("multi-user.target");
machine.wait_for_unit("novacomd.service")
# multi-user.target wants novacomd.service, but let's make sure
$machine->waitForUnit("novacomd.service");
with subtest("Make sure the daemon is really listening"):
machine.wait_for_open_port(6968)
machine.succeed("novacom -l")
# Check status and try connecting with novacom
$machine->succeed("systemctl status novacomd.service >&2");
# to prevent non-deterministic failure,
# make sure the daemon is really listening
$machine->waitForOpenPort(6968);
$machine->succeed("novacom -l");
with subtest("Stop the daemon, double-check novacom fails if daemon isn't working"):
machine.stop_job("novacomd")
machine.fail("novacom -l")
# Stop the daemon, double-check novacom fails if daemon isn't working
$machine->stopJob("novacomd");
$machine->fail("novacom -l");
# And back again for good measure
$machine->startJob("novacomd");
# make sure the daemon is really listening
$machine->waitForOpenPort(6968);
$machine->succeed("novacom -l");
with subtest("Make sure the daemon starts back up again"):
machine.start_job("novacomd")
# make sure the daemon is really listening
machine.wait_for_open_port(6968)
machine.succeed("novacom -l")
'';
})
18 changes: 11 additions & 7 deletions nixos/tests/nzbget.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ./make-test.nix ({ pkgs, ...} : {
import ./make-test-python.nix ({ pkgs, ...} : {
name = "nzbget";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ aanderse flokli ];
@@ -15,12 +15,16 @@ import ./make-test.nix ({ pkgs, ...} : {
};

testScript = ''
startAll;
start_all()
$server->waitForUnit("nzbget.service");
$server->waitForUnit("network.target");
$server->waitForOpenPort(6789);
$server->succeed("curl -s -u nzbget:tegbzn6789 http://127.0.0.1:6789 | grep -q 'This file is part of nzbget'");
$server->succeed("${pkgs.nzbget}/bin/nzbget -n -o ControlIP=127.0.0.1 -o ControlPort=6789 -o ControlPassword=tegbzn6789 -V");
server.wait_for_unit("nzbget.service")
server.wait_for_unit("network.target")
server.wait_for_open_port(6789)
assert "This file is part of nzbget" in server.succeed(
"curl -s -u nzbget:tegbzn6789 http://127.0.0.1:6789"
)
server.succeed(
"${pkgs.nzbget}/bin/nzbget -n -o Control_iP=127.0.0.1 -o Control_port=6789 -o Control_password=tegbzn6789 -V"
)
'';
})
52 changes: 23 additions & 29 deletions nixos/tests/orangefs.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ./make-test.nix ({ ... } :
import ./make-test-python.nix ({ ... } :

let
server = { pkgs, ... } : {
@@ -52,37 +52,31 @@ in {

testScript = ''
# format storage
foreach my $server (($server1,$server2))
{
$server->start();
$server->waitForUnit("multi-user.target");
$server->succeed("mkdir -p /data/storage /data/meta");
$server->succeed("chown orangefs:orangefs /data/storage /data/meta");
$server->succeed("chmod 0770 /data/storage /data/meta");
$server->succeed("sudo -g orangefs -u orangefs pvfs2-server -f /etc/orangefs/server.conf");
}
for server in server1, server2:
server.start()
server.wait_for_unit("multi-user.target")
server.succeed("mkdir -p /data/storage /data/meta")
server.succeed("chown orangefs:orangefs /data/storage /data/meta")
server.succeed("chmod 0770 /data/storage /data/meta")
server.succeed(
"sudo -g orangefs -u orangefs pvfs2-server -f /etc/orangefs/server.conf"
)
# start services after storage is formated on all machines
foreach my $server (($server1,$server2))
{
$server->succeed("systemctl start orangefs-server.service");
}
for server in server1, server2:
server.succeed("systemctl start orangefs-server.service")
# Check if clients can reach and mount the FS
foreach my $client (($client1,$client2))
{
$client->start();
$client->waitForUnit("orangefs-client.service");
# Both servers need to be reachable
$client->succeed("pvfs2-check-server -h server1 -f orangefs -n tcp -p 3334");
$client->succeed("pvfs2-check-server -h server2 -f orangefs -n tcp -p 3334");
$client->waitForUnit("orangefs.mount");
}
# R/W test between clients
$client1->succeed("echo test > /orangefs/file1");
$client2->succeed("grep test /orangefs/file1");
with subtest("clients can reach and mount the FS"):
for client in client1, client2:
client.start()
client.wait_for_unit("orangefs-client.service")
# Both servers need to be reachable
client.succeed("pvfs2-check-server -h server1 -f orangefs -n tcp -p 3334")
client.succeed("pvfs2-check-server -h server2 -f orangefs -n tcp -p 3334")
client.wait_for_unit("orangefs.mount")
with subtest("R/W test between clients"):
client1.succeed("echo test > /orangefs/file1")
client2.succeed("grep test /orangefs/file1")
'';
})
14 changes: 9 additions & 5 deletions nixos/tests/osrm-backend.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ./make-test.nix ({ pkgs, lib, ... }:
import ./make-test-python.nix ({ pkgs, lib, ... }:
let
port = 5000;
in {
@@ -45,9 +45,13 @@ in {
testScript = let
query = "http://localhost:${toString port}/route/v1/driving/7.41720,43.73304;7.42463,43.73886?steps=true";
in ''
$machine->waitForUnit("osrm.service");
$machine->waitForOpenPort(${toString port});
$machine->succeed("curl --silent '${query}' | jq .waypoints[0].name | grep -F 'Boulevard Rainier III'");
$machine->succeed("curl --silent '${query}' | jq .waypoints[1].name | grep -F 'Avenue de la Costa'");
machine.wait_for_unit("osrm.service")
machine.wait_for_open_port(${toString port})
assert "Boulevard Rainier III" in machine.succeed(
"curl --silent '${query}' | jq .waypoints[0].name"
)
assert "Avenue de la Costa" in machine.succeed(
"curl --silent '${query}' | jq .waypoints[1].name"
)
'';
})
77 changes: 35 additions & 42 deletions nixos/tests/overlayfs.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import ./make-test.nix ({ pkgs, ... }: {
import ./make-test-python.nix ({ pkgs, ... }: {
name = "overlayfs";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ bachp ];

@@ -9,49 +9,42 @@ import ./make-test.nix ({ pkgs, ... }: {
};

testScript = ''
$machine->succeed("ls /dev");
machine.succeed("ls /dev")
$machine->succeed("mkdir -p /tmp/mnt");
machine.succeed("mkdir -p /tmp/mnt")
# Test ext4 + overlayfs
$machine->succeed(
"mkfs.ext4 -F -L overlay-ext4 /dev/vdb",
"mount -t ext4 /dev/vdb /tmp/mnt",
"mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged",
# Setup some existing files
"echo 'Replace' > /tmp/mnt/lower/replace.txt",
"echo 'Append' > /tmp/mnt/lower/append.txt",
"echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt",
"mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged",
# Test new
"echo 'New' > /tmp/mnt/merged/new.txt",
"[[ \"\$(cat /tmp/mnt/merged/new.txt)\" == \"New\" ]]",
# Test replace
"[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replace\" ]]",
"echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt",
"mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt",
"[[ \"\$(cat /tmp/mnt/merged/replace.txt)\" == \"Replaced\" ]]",
# Overwrite
"[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwrite\" ]]",
"echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt",
"[[ \"\$(cat /tmp/mnt/merged/overwrite.txt)\" == \"Overwritten\" ]]",
# Test append
"[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\" ]]",
"echo 'ed' >> /tmp/mnt/merged/append.txt",
#"cat /tmp/mnt/merged/append.txt && exit 1",
"[[ \"\$(cat /tmp/mnt/merged/append.txt)\" == \"Append\ned\" ]]",
"umount /tmp/mnt/merged",
"umount /tmp/mnt",
"udevadm settle"
);
machine.succeed(
"""
mkfs.ext4 -F -L overlay-ext4 /dev/vdb
mount -t ext4 /dev/vdb /tmp/mnt
mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged
# Setup some existing files
echo 'Replace' > /tmp/mnt/lower/replace.txt
echo 'Append' > /tmp/mnt/lower/append.txt
echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt
mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged
# Test new
echo 'New' > /tmp/mnt/merged/new.txt
[[ "\$(cat /tmp/mnt/merged/new.txt)" == "New" ]]
# Test replace
[[ "\$(cat /tmp/mnt/merged/replace.txt)" == "Replace" ]]
echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt
mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt
[[ "\$(cat /tmp/mnt/merged/replace.txt)" == "Replaced" ]]
# Overwrite
[[ "\$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwrite" ]]
echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt
[[ "\$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwritten" ]]
# Test append
[[ "\$(cat /tmp/mnt/merged/append.txt)" == "Append" ]]
echo 'ed' >> /tmp/mnt/merged/append.txt
#"cat /tmp/mnt/merged/append.txt && exit 1
[[ "\$(cat /tmp/mnt/merged/append.txt)" == "Append\ned" ]]
umount /tmp/mnt/merged
umount /tmp/mnt
udevadm settle
"""
)
'';
})
4 changes: 2 additions & 2 deletions pkgs/applications/gis/qgis/unwrapped.nix
Original file line number Diff line number Diff line change
@@ -10,15 +10,15 @@ let
[ qscintilla-qt5 gdal jinja2 numpy psycopg2
chardet dateutil pyyaml pytz requests urllib3 pygments pyqt5 sip owslib six ];
in mkDerivation rec {
version = "3.10.0";
version = "3.10.1";
pname = "qgis";
name = "${pname}-unwrapped-${version}";

src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings ["."] ["_"] version}";
sha256 = "0qq4dznxxbpj8b4ypkz7dixc0b0v6rmf3c5hs4m3ka3rzck8jsqc";
sha256 = "0xq0nnp7zdqaihqvh5rsi1129g23vnk5ijkpxfzaggafgmhf5hgz";
};

passthru = {
Original file line number Diff line number Diff line change
@@ -59,7 +59,7 @@ let

in stdenv.mkDerivation rec {
pname = "signal-desktop";
version = "1.29.2"; # Please backport all updates to the stable channel.
version = "1.29.3"; # Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with:
@@ -69,7 +69,7 @@ in stdenv.mkDerivation rec {

src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "1w35x0p3znylgr0vx72x3kdm3cyg0xymqy12q8bygvijd0h6182d";
sha256 = "1rkj6rwmwwvyd5041r96j1dxlfbmc6xsdrza43c0ykdrhfj73h11";
};

phases = [ "unpackPhase" "installPhase" ];
8 changes: 8 additions & 0 deletions pkgs/development/compilers/rust/1_39_0.nix
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# New rust versions should first go to staging.
# Things to check after updating:
# 1. Rustc should produce rust binaries on x86_64-linux, aarch64-linux and x86_64-darwin:
# i.e. nix-shell -p fd or @GrahamcOfBorg build fd on github
# This testing can be also done by other volunteers as part of the pull
# request review, in case platforms cannot be covered.
# 2. The LLVM version used for building should match with rust upstream.
# 3. Firefox and Thunderbird should still build on x86_64-linux.
import ./default.nix {
rustcVersion = "1.39.0";
rustcSha256 = "0mwkc1bnil2cfyf6nglpvbn2y0zfbv44zfhsd5qg4c9rm6vgd8dl";
10 changes: 7 additions & 3 deletions pkgs/development/libraries/netcdf/default.nix
Original file line number Diff line number Diff line change
@@ -9,11 +9,12 @@ let
mpiSupport = hdf5.mpiSupport;
mpi = hdf5.mpi;
in stdenv.mkDerivation rec {
name = "netcdf-4.6.1";
pname = "netcdf";
version = "4.7.3";

src = fetchurl {
url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/${name}.tar.gz";
sha256 = "0hi61cdihwwvz5jz1l7yq712j7ca1cj4bhr8x0x7c2vlb1s9biw9";
url = "https://www.unidata.ucar.edu/downloads/netcdf/ftp/${pname}-c-${version}.tar.gz";
sha256 = "12s4w2s96p51hlsa81lw92w56rdx8i3mk21pz2ydwcamw579z34f";
};

postPatch = ''
@@ -37,9 +38,12 @@ in stdenv.mkDerivation rec {
"--enable-netcdf-4"
"--enable-dap"
"--enable-shared"
"--disable-dap-remote-tests"
]
++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);

doCheck = !mpiSupport;

meta = {
description = "Libraries for the Unidata network Common Data Format";
platforms = stdenv.lib.platforms.unix;
1 change: 1 addition & 0 deletions pkgs/development/node-packages/node-packages-v10.json
Original file line number Diff line number Diff line change
@@ -104,6 +104,7 @@
, "pnpm"
, "prettier"
, "pulp"
, "purescript-psa"
, "react-native-cli"
, "react-tools"
, "reveal.js"
7,449 changes: 3,868 additions & 3,581 deletions pkgs/development/node-packages/node-packages-v10.nix

Large diffs are not rendered by default.

5 changes: 3 additions & 2 deletions pkgs/development/tools/flyway/default.nix
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{ stdenv, fetchurl, jre_headless, makeWrapper }:
let
version = "6.1.0";
version = "6.1.2";
in
stdenv.mkDerivation {
pname = "flyway";
inherit version;
src = fetchurl {
url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
sha256 = "14f8vviki89dqhd429zlj0frma52xhyxpdln5c81z1dgs7819rpg";
sha256 = "sha256:1rh1p50mwwlmwwdlcx7pzlsrg1dcl7gdsjbi7kyz0m71fbnn0bnv";
};
nativeBuildInputs = [ makeWrapper ];
dontBuild = true;
@@ -19,6 +19,7 @@
makeWrapper "${jre_headless}/bin/java" $out/bin/flyway \
--add-flags "-Djava.security.egd=file:/dev/../dev/urandom" \
--add-flags "-classpath '$out/share/flyway/lib/*:$out/share/flyway/drivers/*'" \
--add-flags "-DjarDirs '$out/share/flyway/jars'" \
--add-flags "org.flywaydb.commandline.Main"
'';
meta = with stdenv.lib; {
6 changes: 3 additions & 3 deletions pkgs/development/tools/rust/bindgen/default.nix
Original file line number Diff line number Diff line change
@@ -3,18 +3,18 @@

rustPlatform.buildRustPackage rec {
pname = "rust-bindgen";
version = "0.51.1";
version = "0.52.0";

RUSTFLAGS = "--cap-lints warn"; # probably OK to remove after update

src = fetchFromGitHub {
owner = "rust-lang";
repo = pname;
rev = "v${version}";
sha256 = "1agqfwac2av1b1c2bfzn0hw3178s4l94fadfx8a25dy1k87wmhfm";
sha256 = "0rf5sg9136f4j7s07iz2gd481h8gzdd106jc1jw1p5pw4zaiz5l0";
};

cargoSha256 = "09m0ki1ald1csfzfvlc63r6k8m9ndxy9js6mfwqyfm4lj8kpbr3f";
cargoSha256 = "1wy5xdkf9ql2l9qavi0fh7hwjvly108f4l2m1k947412fyjwr7x7";

libclang = llvmPackages.libclang.lib; #for substituteAll

8 changes: 4 additions & 4 deletions pkgs/development/tools/rust/rustup/default.nix
Original file line number Diff line number Diff line change
@@ -4,16 +4,16 @@

rustPlatform.buildRustPackage rec {
pname = "rustup";
version = "1.20.2";
version = "1.21.0";

src = fetchFromGitHub {
owner = "rust-lang";
repo = "rustup.rs";
repo = "rustup";
rev = version;
sha256 = "0vfrfjfg5x1g44w03rdci2ky7s3s7rljdcmmp5h6pdvhzrd234aj";
sha256 = "1jyiix153iqsfbrm3xx8g0bnabihqlahhf4c81hgc68zg4cxrc9z";
};

cargoSha256 = "1lsv1d99dn6mngaqhd3lw90cr3zg4gq08wi0adxkkhaikc9jjdwh";
cargoSha256 = "0kn3sq99sgsh8msignyb4vjllv0wf1crqaw7sqp3ggmlkrdq35sd";

nativeBuildInputs = [ pkgconfig ];

7 changes: 7 additions & 0 deletions pkgs/tools/admin/awscli/default.nix
Original file line number Diff line number Diff line change
@@ -7,6 +7,13 @@
let
py = python3.override {
packageOverrides = self: super: {
colorama = super.colorama.overridePythonAttrs (oldAttrs: rec {
version = "0.4.1";
src = oldAttrs.src.override {
inherit version;
sha256 = "05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d";
};
});
rsa = super.rsa.overridePythonAttrs (oldAttrs: rec {
version = "3.4.2";
src = oldAttrs.src.override {
58 changes: 58 additions & 0 deletions pkgs/tools/audio/volctl/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{ stdenv, fetchFromGitHub, pythonPackages, libpulseaudio, glib, gtk3, gobject-introspection, wrapGAppsHook }:

pythonPackages.buildPythonApplication rec {
pname = "volctl";
version = "0.6.2";

src = fetchFromGitHub {
owner = "buzz";
repo = pname;
rev = version;
sha256 = "1bqq5mrpi7qxzl37z6fj67pqappjmwhi8d8db95j3lmf16svm2xk";
};

nativeBuildInputs = [
gobject-introspection
wrapGAppsHook
];

buildInputs = [
glib
gtk3
libpulseaudio
];

pythonPath = with pythonPackages; [
pygobject3
];

strictDeps = false;

postPatch = ''
# The user can set a mixer application in the preferences. The
# default is pavucontrol. Do not hard code its path and hope it
# can be found in $PATH.
substituteInPlace volctl/app.py --replace /usr/bin/pavucontrol pavucontrol
'';

preBuild = ''
export LD_LIBRARY_PATH=${libpulseaudio}/lib
'';

preFixup = ''
glib-compile-schemas ${glib.makeSchemaPath "$out" "${pname}-${version}"}
gappsWrapperArgs+=(
--prefix LD_LIBRARY_PATH : "${libpulseaudio}/lib"
)
'';

meta = with stdenv.lib; {
description = "PulseAudio enabled volume control featuring per-app sliders";
homepage = https://buzz.github.io/volctl/;
license = licenses.gpl2;
platforms = platforms.linux;
maintainers = [ maintainers.romildo ];
};
}
13 changes: 8 additions & 5 deletions pkgs/tools/misc/starship/default.nix
Original file line number Diff line number Diff line change
@@ -1,24 +1,27 @@
{ stdenv, fetchFromGitHub, rustPlatform, libiconv, darwin }:
{ stdenv, fetchFromGitHub, rustPlatform
, pkg-config, openssl
, libiconv, Security }:

rustPlatform.buildRustPackage rec {
pname = "starship";
version = "0.30.1";
version = "0.31.0";

src = fetchFromGitHub {
owner = "starship";
repo = pname;
rev = "v${version}";
sha256 = "19h6ahbqfrq5jfdjqxd7phzh1lanqqvkb1phr4fx6qnn5icj9hlm";
sha256 = "1g4cpnlz2gx4c3cmqx3a69iwjs2cg8p86l0zd198h6fv8pa1i16y";
};

buildInputs = stdenv.lib.optionals stdenv.isDarwin [ libiconv darwin.apple_sdk.frameworks.Security ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ] ++ (stdenv.lib.optionals stdenv.isDarwin [ libiconv Security ]);

postPatch = ''
substituteInPlace src/utils.rs \
--replace "/bin/echo" "echo"
'';

cargoSha256 = "0391l44rqshjz62658mfl58c2npv7k11l4lb4kk9gb3ywdhbjv26";
cargoSha256 = "03qrcf0y6j22asp7x10di6xi8hgai84kvh1imiw9vibxp90868bh";
checkPhase = "cargo test -- --skip directory::home_directory --skip directory::directory_in_root";

meta = with stdenv.lib; {
10 changes: 9 additions & 1 deletion pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
@@ -2953,6 +2953,8 @@ in
inherit (pythonPackages) sphinx;
};

volctl = callPackage ../tools/audio/volctl { };

wallutils = callPackage ../tools/graphics/wallutils { };

wev = callPackage ../tools/misc/wev { };
@@ -8142,8 +8144,12 @@ in
psc-package = haskell.lib.justStaticExecutables
(haskellPackages.callPackage ../development/compilers/purescript/psc-package { });

purescript-psa = nodePackages.purescript-psa;

spago = haskell.lib.justStaticExecutables haskellPackages.spago;

pulp = nodePackages.pulp;

tacacsplus = callPackage ../servers/tacacsplus { };

tamarin-prover =
@@ -17638,7 +17644,9 @@ in

stdmanpages = callPackage ../data/documentation/std-man-pages { };

starship = callPackage ../tools/misc/starship { };
starship = callPackage ../tools/misc/starship {
inherit (darwin.apple_sdk.frameworks) Security;
};

stig = callPackage ../applications/networking/p2p/stig { };