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: f2592c0b946d
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: 731e5754cbd1
Choose a head ref

Commits on Jun 1, 2020

  1. Verified

    This commit was signed with the committer’s verified signature.
    alexarice Alex Rice
    Copy the full SHA
    e215c3b View commit details

Commits on Jun 2, 2020

  1. nixos/go-neb: init

    mweinelt committed Jun 2, 2020

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    mweinelt Martin Weinelt
    Copy the full SHA
    642e991 View commit details

Commits on Jun 3, 2020

  1. nixos/tests/go-neb: init

    Simple test to start the unit with a dummy client and a dummy service
    and check if it can receive webhooks.
    mweinelt committed Jun 3, 2020

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    mweinelt Martin Weinelt
    Copy the full SHA
    d72a736 View commit details

Commits on Jun 13, 2020

  1. buildRustCrate: set CARGO_FEATURE_* when running the build script

    Cargo sets `CARGO_FEATURE_*` for all features when running a build
    script:
    
    https://doc.rust-lang.org/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-build-scripts
    
    Some crates have build scripts (e.g. openblas-src) that rely on the
    feature variables being properly set.
    
    Since we now need several representations of features, this change
    also updates `createFeatures` to be a list of features, rather than
    `rustc` feature arguments. `configureCrate` and `buildCrate` then
    build the required representations as-needed.
    
    Fixes #68978
    danieldk committed Jun 13, 2020
    Copy the full SHA
    fe50bab View commit details

Commits on Jun 14, 2020

  1. govc: 0.22.1 -> 0.23.0

    r-ryantm committed Jun 14, 2020
    Copy the full SHA
    f5112cc View commit details
  2. litecoin: 0.17.1 -> 0.18.1

    r-ryantm committed Jun 14, 2020
    Copy the full SHA
    a0e49e3 View commit details

Commits on Jun 15, 2020

  1. Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    marsam Mario Rodas
    Copy the full SHA
    b288c36 View commit details
  2. datovka: 4.15.0 -> 4.15.1

    r-ryantm committed Jun 15, 2020
    Copy the full SHA
    004c6c1 View commit details
  3. Verified

    This commit was signed with the committer’s verified signature.
    primeos Michael Weiss
    Copy the full SHA
    1a5df8f View commit details
  4. Copy the full SHA
    3141a11 View commit details

Commits on Jun 16, 2020

  1. Copy the full SHA
    7e3519a View commit details
  2. Copy the full SHA
    5cd2832 View commit details
  3. nixos/systemd-boot: fix default boot entry selection

    systemd/systemd@6cd12eb
    changed behaviour - now the "default" entry needs to identity an entry
    with its full name, including the ".conf".
    
    Reported-In: NixOS/nixpkgs#86422
    flokli authored and danielfullmer committed Jun 16, 2020
    Copy the full SHA
    42b9225 View commit details
  4. Copy the full SHA
    acd9147 View commit details
  5. Copy the full SHA
    3780ac3 View commit details
  6. graylog: 3.3.0 -> 3.3.1

    r-ryantm committed Jun 16, 2020
    Copy the full SHA
    cb05373 View commit details
  7. jamulus: 3.5.5 -> 3.5.6

    r-ryantm committed Jun 16, 2020
    Copy the full SHA
    789d6a5 View commit details
  8. Merge pull request #90386 from danielfullmer/systemd-bootctl-update

    nixos/systemd-boot: update bootloader if needed
    flokli authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    ac7a5f3 View commit details
  9. Merge pull request #90372 from r-ryantm/auto-update/govc

    govc: 0.22.1 -> 0.23.0
    aanderse authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    638a436 View commit details
  10. Merge pull request #89327 from mweinelt/go-neb-module

    nixos/go-neb: init
    aanderse authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    b6108e0 View commit details
  11. Merge pull request #90568 from marsam/update-git-gone

    gitAndTools.git-gone: 0.3.2 -> 0.3.6
    marsam authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f5ae175 View commit details
  12. Merge pull request #90520 from r-ryantm/auto-update/datovka

    datovka: 4.15.0 -> 4.15.1
    mmahut authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    26521ad View commit details
  13. graylogPlugins: Update plugins

    graylog-enterprise-integrations: 3.3.0 -> 3.3.1
    graylog-integrations: 3.3.0 -> 3.3.1
    fadenb committed Jun 16, 2020

    Unverified

    This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
    Copy the full SHA
    0181c1b View commit details
  14. Merge pull request #90403 from r-ryantm/auto-update/litecoin

    litecoin: 0.17.1 -> 0.18.1
    mmahut authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    12af31b View commit details
  15. Merge pull request #90562 from r-ryantm/auto-update/gnome-boxes

    gnome3.gnome-boxes: 3.36.4 -> 3.36.5
    jtojnar authored Jun 16, 2020

    Verified

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

    This commit was signed with the committer’s verified signature. The key has expired.
    NeQuissimus Tim Steinbach
    Copy the full SHA
    8599272 View commit details
  17. Merge pull request #90538 from primeos/chromium

    chromium: 83.0.4103.97 -> 83.0.4103.106
    primeos authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    5e8b626 View commit details
  18. Merge pull request #89245 from alexarice/agda-literate

    agda: install literate files
    Lassulus authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    453014b View commit details
  19. Merge pull request #90193 from danieldk/build-rs-feature-env

    buildRustCrate: set CARGO_FEATURE_* when running the build script
    andir authored Jun 16, 2020

    Verified

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

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    cdc56bc View commit details
  21. Merge pull request #90557 from r-ryantm/auto-update/git-open

    gitAndTools.git-open: 2.0.0 -> 2.1.0
    ryantm authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    a61b494 View commit details
  22. Merge pull request #90574 from r-ryantm/auto-update/jamulus

    jamulus: 3.5.5 -> 3.5.6
    ryantm authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    ce80f35 View commit details
  23. Merge pull request #90597 from fadenb/graylog_3.3.1_with_plugins

    graylog: 3.3.0 -> 3.3.1 (with plugins)
    ryantm authored Jun 16, 2020

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    731e575 View commit details
Showing with 280 additions and 68 deletions.
  1. +11 −1 doc/languages-frameworks/agda.section.md
  2. +1 −0 nixos/modules/module-list.nix
  3. +53 −0 nixos/modules/services/networking/go-neb.nix
  4. +18 −2 nixos/modules/system/boot/loader/systemd-boot/systemd-boot-builder.py
  5. +1 −0 nixos/tests/all-tests.nix
  6. +44 −0 nixos/tests/go-neb.nix
  7. +42 −15 nixos/tests/systemd-boot.nix
  8. +2 −2 pkgs/applications/audio/jamulus/default.nix
  9. +2 −2 pkgs/applications/blockchains/litecoin.nix
  10. +9 −9 pkgs/applications/networking/browsers/chromium/upstream-info.nix
  11. +2 −2 pkgs/applications/networking/datovka/default.nix
  12. +3 −1 pkgs/applications/networking/instant-messengers/go-neb/default.nix
  13. +4 −4 pkgs/applications/networking/instant-messengers/slack/default.nix
  14. +3 −3 pkgs/applications/version-management/git-and-tools/git-gone/default.nix
  15. +2 −2 pkgs/applications/version-management/git-and-tools/git-open/default.nix
  16. +12 −1 pkgs/build-support/agda/default.nix
  17. +2 −2 pkgs/build-support/rust/build-rust-crate/build-crate.nix
  18. +18 −4 pkgs/build-support/rust/build-rust-crate/configure-crate.nix
  19. +12 −5 pkgs/build-support/rust/build-rust-crate/default.nix
  20. +26 −0 pkgs/build-support/rust/build-rust-crate/test/default.nix
  21. +2 −2 pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
  22. +2 −2 pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
  23. +2 −2 pkgs/tools/misc/graylog/default.nix
  24. +5 −5 pkgs/tools/misc/graylog/plugins.nix
  25. +2 −2 pkgs/tools/virtualization/govc/default.nix
12 changes: 11 additions & 1 deletion doc/languages-frameworks/agda.section.md
Original file line number Diff line number Diff line change
@@ -67,7 +67,17 @@ A derivation can then be written using `agdaPackages.mkDerivation`. This has sim
+ `libraryName` should be the name that appears in the `*.agda-lib` file, defaulting to `pname`.
+ `libraryFile` should be the file name of the `*.agda-lib` file, defaulting to `${libraryName}.agda-lib`.

The build phase for `agdaPackages.mkDerivation` simply runs `agda` on the `Everything.agda` file. If something else is needed to build the package (e.g. `make`) then the `buildPhase` should be overridden (or a `preBuild` or `configurePhase` can be used if there are steps that need to be done prior to checking the `Everything.agda` file). `agda` and the Agda libraries contained in `buildInputs` are made available during the build phase. The install phase simply copies all `.agda`, `.agdai` and `.agda-lib` files to the output directory. Again, this can be overridden.
### Build phase
The default build phase for `agdaPackages.mkDerivation` simply runs `agda` on the `Everything.agda` file.
If something else is needed to build the package (e.g. `make`) then the `buildPhase` should be overridden.
Additionally, a `preBuild` or `configurePhase` can be used if there are steps that need to be done prior to checking the `Everything.agda` file.
`agda` and the Agda libraries contained in `buildInputs` are made available during the build phase.

### Install phase
The default install phase copies agda source files, agda interface files (`*.agdai`) and `*.agda-lib` files to the output directory.
This can be overridden.

By default, agda sources are files ending on `.agda`, or literate agda files ending on `.lagda`, `.lagda.tex`, `.lagda.org`, `.lagda.md`, `.lagda.rst`. The list of recognised agda source extensions can be extended by setting the `extraExtensions` config variable.

To add an agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other agda libraries, so the top line of the `default.nix` can look like:
```
1 change: 1 addition & 0 deletions nixos/modules/module-list.nix
Original file line number Diff line number Diff line change
@@ -623,6 +623,7 @@
./services/networking/gdomap.nix
./services/networking/git-daemon.nix
./services/networking/gnunet.nix
./services/networking/go-neb.nix
./services/networking/go-shadowsocks2.nix
./services/networking/gogoclient.nix
./services/networking/gvpe.nix
53 changes: 53 additions & 0 deletions nixos/modules/services/networking/go-neb.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{ config, lib, pkgs, ... }:

with lib;

let
cfg = config.services.go-neb;

configFile = pkgs.writeText "config.yml" (builtins.toJSON cfg.config);
in {
options.services.go-neb = {
enable = mkEnableOption "Extensible matrix bot written in Go";

bindAddress = mkOption {
type = types.str;
description = "Port (and optionally address) to listen on.";
default = ":4050";
};

baseUrl = mkOption {
type = types.str;
description = "Public-facing endpoint that can receive webhooks.";
};

config = mkOption {
type = types.uniq types.attrs;
description = ''
Your <filename>config.yaml</filename> as a Nix attribute set.
See <link xlink:href="https://github.com/matrix-org/go-neb/blob/master/config.sample.yaml">config.sample.yaml</link>
for possible options.
'';
};
};

config = mkIf cfg.enable {
systemd.services.go-neb = {
description = "Extensible matrix bot written in Go";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment = {
BASE_URL = cfg.baseUrl;
BIND_ADDRESS = cfg.bindAddress;
CONFIG_FILE = configFile;
};

serviceConfig = {
ExecStart = "${pkgs.go-neb}/bin/go-neb";
DynamicUser = true;
};
};
};

meta.maintainers = with maintainers; [ hexa maralorn ];
}
Original file line number Diff line number Diff line change
@@ -47,9 +47,9 @@ def write_loader_conf(profile, generation):
if "@timeout@" != "":
f.write("timeout @timeout@\n")
if profile:
f.write("default nixos-%s-generation-%d\n" % (profile, generation))
f.write("default nixos-%s-generation-%d.conf\n".format(profile, generation))
else:
f.write("default nixos-generation-%d\n" % (generation))
f.write("default nixos-generation-%d.conf\n".format(generation))
if not @editor@:
f.write("editor 0\n");
f.write("console-mode @consoleMode@\n");
@@ -197,6 +197,22 @@ def main():
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"])
else:
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "--no-variables", "install"])
else:
# Update bootloader to latest if needed
systemd_version = subprocess.check_output(["@systemd@/bin/bootctl", "--version"], universal_newlines=True).split()[1]
sdboot_status = subprocess.check_output(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "status"], universal_newlines=True)

# See status_binaries() in systemd bootctl.c for code which generates this
m = re.search("^\W+File:.*/EFI/(BOOT|systemd)/.*\.efi \(systemd-boot (\d+)\)$",
sdboot_status, re.IGNORECASE | re.MULTILINE)
if m is None:
print("could not find any previously installed systemd-boot")
else:
sdboot_version = m.group(2)
if systemd_version > sdboot_version:
print("updating systemd-boot from %s to %s" % (sdboot_version, systemd_version))
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "update"])


mkdir_p("@efiSysMountPoint@/efi/nixos")
mkdir_p("@efiSysMountPoint@/loader/entries")
1 change: 1 addition & 0 deletions nixos/tests/all-tests.nix
Original file line number Diff line number Diff line change
@@ -119,6 +119,7 @@ in
installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {});
gocd-agent = handleTest ./gocd-agent.nix {};
gocd-server = handleTest ./gocd-server.nix {};
go-neb = handleTest ./go-neb.nix {};
google-oslogin = handleTest ./google-oslogin {};
grafana = handleTest ./grafana.nix {};
graphite = handleTest ./graphite.nix {};
44 changes: 44 additions & 0 deletions nixos/tests/go-neb.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
import ./make-test-python.nix ({ pkgs, ... }:
{
name = "go-neb";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ hexa maralorn ];
};

nodes = {
server = {
services.go-neb = {
enable = true;
baseUrl = "http://localhost";
config = {
clients = [ {
UserId = "@test:localhost";
AccessToken = "changeme";
HomeServerUrl = "http://localhost";
Sync = false;
AutoJoinRooms = false;
DisplayName = "neverbeseen";
} ];
services = [ {
ID = "wikipedia_service";
Type = "wikipedia";
UserID = "@test:localhost";
Config = { };
} ];
};
};
};
};

testScript = ''
start_all()
server.wait_for_unit("go-neb.service")
server.wait_until_succeeds(
"curl -L http://localhost:4050/services/hooks/d2lraXBlZGlhX3NlcnZpY2U"
)
server.wait_until_succeeds(
"journalctl -eu go-neb -o cat | grep -q service_id=wikipedia_service"
)
'';

})
57 changes: 42 additions & 15 deletions nixos/tests/systemd-boot.nix
Original file line number Diff line number Diff line change
@@ -6,26 +6,53 @@
with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;

makeTest {
name = "systemd-boot";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ danielfullmer ];

machine = { pkgs, lib, ... }: {
let
common = {
virtualisation.useBootLoader = true;
virtualisation.useEFIBoot = true;
boot.loader.systemd-boot.enable = true;
};
in
{
basic = makeTest {
name = "systemd-boot";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ danielfullmer ];

machine = common;

testScript = ''
machine.start()
machine.wait_for_unit("multi-user.target")
testScript = ''
machine.start()
machine.wait_for_unit("multi-user.target")
machine.succeed("test -e /boot/loader/entries/nixos-generation-1.conf")
# Ensure we actually booted using systemd-boot
# Magic number is the vendor UUID used by systemd-boot.
machine.succeed(
"test -e /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f"
)
'';
};

machine.succeed("test -e /boot/loader/entries/nixos-generation-1.conf")
update = makeTest {
name = "systemd-boot-update";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ danielfullmer ];

# Ensure we actually booted using systemd-boot.
# Magic number is the vendor UUID used by systemd-boot.
machine.succeed(
"test -e /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f"
)
'';
machine = common;

testScript = ''
machine.succeed("mount -o remount,rw /boot")
# Replace version inside sd-boot with something older. See magic[] string in systemd src/boot/efi/boot.c
machine.succeed(
"""
find /boot -iname '*.efi' -print0 | \
xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot .* ####/#### LoaderInfo: systemd-boot 001 ####/' '{}'
"""
)
output = machine.succeed("/run/current-system/bin/switch-to-configuration boot")
assert "updating systemd-boot from 001 to " in output
'';
};
}
4 changes: 2 additions & 2 deletions pkgs/applications/audio/jamulus/default.nix
Original file line number Diff line number Diff line change
@@ -3,12 +3,12 @@

mkDerivation rec {
pname = "jamulus";
version = "3.5.5";
version = "3.5.6";
src = fetchFromGitHub {
owner = "corrados";
repo = "jamulus";
rev = "r${stdenv.lib.replaceStrings [ "." ] [ "_" ] version}";
sha256 = "04h0nwlj71qbp7h4yn8djqchrf47jk8rab9zp9bh9pnkcyv60h27";
sha256 = "00vd6kffsf3vqfwaxjvln63x3n0q32f385qc51fn5iyj54410x0f";
};

nativeBuildInputs = [ pkg-config qmake ];
4 changes: 2 additions & 2 deletions pkgs/applications/blockchains/litecoin.nix
Original file line number Diff line number Diff line change
@@ -13,13 +13,13 @@ with stdenv.lib;
mkDerivation rec {

name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.17.1";
version = "0.18.1";

src = fetchFromGitHub {
owner = "litecoin-project";
repo = "litecoin";
rev = "v${version}";
sha256 = "08a0ghs4aa9m3qv3ppydyshfibykdwxk07i1vcqvg0ycqisdpb7y";
sha256 = "11753zhyx1kmrlljc6kbjwrcb06dfcrsqvmw3iaki9a132qk6l5c";
};

nativeBuildInputs = [ pkgconfig autoreconfHook ];
18 changes: 9 additions & 9 deletions pkgs/applications/networking/browsers/chromium/upstream-info.nix
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "1di0fhhv6lljc2b50i0i8qx5y5xswgxz1bimpda790sb3b1xsdzx";
sha256bin64 = "1f5qwx4476l4fvbw9w2i22i080bahlf83dzzpnbny7hk831g7msw";
version = "84.0.4147.38";
sha256 = "0wsqxq8xxcafmjxsjkagysrcbr6qryiyqn6m3ysp256aam7z3d88";
sha256bin64 = "03jff1sdv05hbn37cw0ij0r4rils0q11lnnhxg52igg633jzwyc1";
version = "84.0.4147.45";
};
dev = {
sha256 = "07h3i4ab7yj05ndrqchzf3f9wr809qb3dj2gfc1653mkjmba8h07";
sha256bin64 = "10jdq5mr7qby0m26l5lbsqcbh9bhjdpmpbkkcvv9wm2259rwjxr5";
version = "85.0.4164.2";
sha256 = "16rmzyzjmxmhmr5yqbzqbwf5sq94iqcwlm04fkafiwcycd17nyhs";
sha256bin64 = "0wjmc1wdmwiq9d1f5gk4c9jkj1p116kaz9nb0hvhjf01iv07xl2m";
version = "85.0.4168.2";
};
stable = {
sha256 = "10vg0fmwlkzpnixhhhcwccxshqdfq7rh0ribij7wgkw42bv0bi0j";
sha256bin64 = "09vz7ygixs7lwlsvbby3dmc2gz0vpjwalzdh6l6apc4dngyr095k";
version = "83.0.4103.97";
sha256 = "0bvy17ymlih87n4ymnzvyn0m34ghmr1yasvy7gxv02qbw6i57lfg";
sha256bin64 = "00hjr5y0cczs6h2pxrigpmjiv24456948v32q7mr7x5ysr5kxpn6";
version = "83.0.4103.106";
};
}
4 changes: 2 additions & 2 deletions pkgs/applications/networking/datovka/default.nix
Original file line number Diff line number Diff line change
@@ -11,11 +11,11 @@

mkDerivation rec {
pname = "datovka";
version = "4.15.0";
version = "4.15.1";

src = fetchurl {
url = "https://secure.nic.cz/files/datove_schranky/${version}/${pname}-${version}.tar.xz";
sha256 = "1f311qnyiay34iqpik4x492py46my89j4nnbdf6qcidnydzas8r1";
sha256 = "0ab1s1r6zrqxcfjnij5ar352kzyrl1m92c04nqk6hahpzzma2p3r";
};

buildInputs = [ libisds qmake qtbase qtsvg libxml2 ];
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:

buildGoModule {
pname = "go-neb";
@@ -16,6 +16,8 @@ buildGoModule {

vendorSha256 = "1k3980yf6zl00dkd1djwhm2f9nnffzrsbs3kq3alpw2gm0aln739";

passthru.tests.go-neb = nixosTests.go-neb;

meta = with lib; {
description = "Extensible matrix bot written in Go";
homepage = "https://github.com/matrix-org/go-neb";
Original file line number Diff line number Diff line change
@@ -40,13 +40,13 @@ let
throwSystem = throw "Unsupported system: ${system}";

sha256 = {
x86_64-darwin = "0z731q00bwljlcmbjwqphyys7skqms1vg87pyi4nsvjmc7kjx7qg";
x86_64-linux = "0wrs0i2bqv21ivy8s88khbww28b3gsw4abbbbjc76mqma9b0bajs";
x86_64-darwin = "09daxnqxyccshkrmr7ysgjvgvgmlgd590ym68fz0l8n6ayfpkgw0";
x86_64-linux = "00ihhsgxm441nsmav7pq4n4y9s7p2r4x5dqld160658xyqi836cq";
}.${system} or throwSystem;

version = {
x86_64-darwin = "4.4.2";
x86_64-linux = "4.4.2";
x86_64-darwin = "4.6.0";
x86_64-linux = "4.4.3";
}.${system} or throwSystem;

meta = with stdenv.lib; {
Original file line number Diff line number Diff line change
@@ -2,16 +2,16 @@

rustPlatform.buildRustPackage rec {
pname = "git-gone";
version = "0.3.2";
version = "0.3.6";

src = fetchFromGitHub {
owner = "lunaryorn";
repo = pname;
rev = "v${version}";
sha256 = "0zc4cb1dg30np5yc4ymkr894qs2bk0r123i302md00niayk4njyd";
sha256 = "0wpmabd5lshsga3dhv1hix7i99f1f82rpl6kjmpi315whg11kki3";
};

cargoSha256 = "1d892889ml7sqyxzmjipq5fvizb4abqhmmn450qm7yam9fn5q5wf";
cargoSha256 = "0ayqsrhy6hpi20gfryhnwl2c1na4nnmzxkp7him104cc07vsdllq";

nativeBuildInputs = [ pkgconfig makeWrapper installShellFiles ];

Original file line number Diff line number Diff line change
@@ -2,13 +2,13 @@

stdenv.mkDerivation rec {
pname = "git-open";
version = "2.0.0";
version = "2.1.0";

src = fetchFromGitHub {
owner = "paulirish";
repo = "git-open";
rev = "v${version}";
sha256 = "0lprzrjsqrg83gixfaiw26achgd8l7s56jknsjss4p7y0w1fxm05";
sha256 = "11n46bngvca5wbdbfcxzjhjbfdbad7sgf7h9gf956cb1q8swsdm0";
};

buildInputs = [ makeWrapper ];
13 changes: 12 additions & 1 deletion pkgs/build-support/agda/default.nix
Original file line number Diff line number Diff line change
@@ -30,6 +30,16 @@ let

withPackages = arg: if builtins.isAttrs arg then withPackages' arg else withPackages' { pkgs = arg; };

extensions = [
"agda"
"agda-lib"
"agdai"
"lagda"
"lagda.md"
"lagda.org"
"lagda.rst"
"lagda.tex"
];

defaults =
{ pname
@@ -39,6 +49,7 @@ let
, libraryFile ? "${libraryName}.agda-lib"
, buildPhase ? null
, installPhase ? null
, extraExtensions ? []
, ...
}: let
agdaWithArgs = withPackages (builtins.filter (p: p ? isAgdaDerivation) buildInputs);
@@ -59,7 +70,7 @@ let
installPhase = if installPhase != null then installPhase else ''
runHook preInstall
mkdir -p $out
find \( -name '*.agda' -or -name '*.agdai' -or -name '*.agda-lib' \) -exec cp -p --parents -t "$out" {} +
find \( ${concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions)} \) -exec cp -p --parents -t "$out" {} +
runHook postInstall
'';
};
4 changes: 2 additions & 2 deletions pkgs/build-support/rust/build-rust-crate/build-crate.nix
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{ lib, stdenv, mkRustcDepArgs, rust }:
{ lib, stdenv, mkRustcDepArgs, mkRustcFeatureArgs, rust }:
{ crateName,
dependencies,
crateFeatures, crateRenames, libName, release, libPath,
@@ -13,7 +13,7 @@
++ ["-C codegen-units=$NIX_BUILD_CORES"]
++ ["--remap-path-prefix=$NIX_BUILD_TOP=/" ]
++ [(mkRustcDepArgs dependencies crateRenames)]
++ [crateFeatures]
++ [(mkRustcFeatureArgs crateFeatures)]
++ extraRustcOpts
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc"
# since rustc 1.42 the "proc_macro" crate is part of the default crate prelude
22 changes: 18 additions & 4 deletions pkgs/build-support/rust/build-rust-crate/configure-crate.nix
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{ lib, stdenv, echo_colored, noisily, mkRustcDepArgs }:
{ build
{ lib, stdenv, echo_colored, noisily, mkRustcDepArgs, mkRustcFeatureArgs }:
{
build
, buildDependencies
, colors
, completeBuildDeps
@@ -30,6 +31,9 @@ let version_ = lib.splitString "-" crateVersion;
optLevel = if release then 3 else 0;
completeDepsDir = lib.concatStringsSep " " completeDeps;
completeBuildDepsDir = lib.concatStringsSep " " completeBuildDeps;
envFeatures = lib.concatStringsSep " " (
map (f: lib.replaceChars ["-"] ["_"] (lib.toUpper f)) crateFeatures
);
in ''
${echo_colored colors}
${noisily colors verbose}
@@ -161,14 +165,24 @@ in ''
EXTRA_BUILD_FLAGS="$EXTRA_BUILD_FLAGS $(tr '\n' ' ' < target/link.build)"
fi
noisily rustc --crate-name build_script_build $BUILD --crate-type bin ${rustcOpts} \
${crateFeatures} --out-dir target/build/${crateName} --emit=dep-info,link \
${mkRustcFeatureArgs crateFeatures} --out-dir target/build/${crateName} --emit=dep-info,link \
-L dependency=target/buildDeps ${buildDeps} --cap-lints allow $EXTRA_BUILD_FLAGS --color ${colors}
mkdir -p target/build/${crateName}.out
export RUST_BACKTRACE=1
BUILD_OUT_DIR="-L $OUT_DIR"
mkdir -p $OUT_DIR
target/build/${crateName}/build_script_build > target/build/${crateName}.opt
(
# Features should be set as environment variable for build scripts:
# https://doc.rust-lang.org/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-build-scripts
for feature in ${envFeatures}; do
export CARGO_FEATURE_$feature=1
done
target/build/${crateName}/build_script_build > target/build/${crateName}.opt
)
set +e
EXTRA_BUILD=$(sed -n "s/^cargo:rustc-flags=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
EXTRA_FEATURES=$(sed -n "s/^cargo:rustc-cfg=\(.*\)/--cfg \1/p" target/build/${crateName}.opt | tr '\n' ' ')
17 changes: 12 additions & 5 deletions pkgs/build-support/rust/build-rust-crate/default.nix
Original file line number Diff line number Diff line change
@@ -45,14 +45,17 @@ let
" --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
) dependencies;

# Create feature arguments for rustc.
mkRustcFeatureArgs = lib.concatMapStringsSep " " (f: ''--cfg feature=\"${f}\"'');

inherit (import ./log.nix { inherit lib; }) noisily echo_colored;

configureCrate = import ./configure-crate.nix {
inherit lib stdenv echo_colored noisily mkRustcDepArgs;
inherit lib stdenv echo_colored noisily mkRustcDepArgs mkRustcFeatureArgs;
};

buildCrate = import ./build-crate.nix {
inherit lib stdenv mkRustcDepArgs rust;
inherit lib stdenv mkRustcDepArgs mkRustcFeatureArgs rust;
};

installCrate = import ./install-crate.nix { inherit stdenv; };
@@ -233,8 +236,11 @@ stdenv.mkDerivation (rec {
++ lib.concatMap (dep: dep.completeBuildDeps ++ dep.completeDeps) buildDependencies
);

crateFeatures = lib.optionalString (crate ? features)
(lib.concatMapStringsSep " " (f: ''--cfg feature=\"${f}\"'') (crate.features ++ features));
# Create a list of features that are enabled by the crate itself and
# through the features argument of buildRustCrate. Exclude features
# with a forward slash, since they are passed through to dependencies.
crateFeatures = lib.optionals (crate ? features)
(builtins.filter (f: !lib.hasInfix "/" f) (crate.features ++ features));

libName = if crate ? libName then crate.libName else crate.crateName;
libPath = if crate ? libPath then crate.libPath else "";
@@ -244,7 +250,8 @@ stdenv.mkDerivation (rec {
metadata = let
depsMetadata = lib.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
hashedMetadata = builtins.hashString "sha256"
(crateName + "-" + crateVersion + "___" + toString crateFeatures + "___" + depsMetadata);
(crateName + "-" + crateVersion + "___" + toString (mkRustcFeatureArgs crateFeatures) +
"___" + depsMetadata);
in lib.substring 0 10 hashedMetadata;

build = crate.build or "";
26 changes: 26 additions & 0 deletions pkgs/build-support/rust/build-rust-crate/test/default.nix
Original file line number Diff line number Diff line change
@@ -344,6 +344,32 @@ let
buildTests = true;
expectedTestOutputs = [ "test baz_false ... ok" ];
};
buildScriptFeatureEnv = {
crateName = "build-script-feature-env";
features = [ "some-feature" "crate/another_feature" ];
src = symlinkJoin {
name = "build-script-feature-env";
paths = [
(mkFile "src/main.rs" ''
#[cfg(test)]
#[test]
fn feature_not_visible() {
assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_err());
assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none());
}
fn main() {}
'')
(mkFile "build.rs" ''
fn main() {
assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_ok());
assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none());
}
'')
];
};
buildTests = true;
expectedTestOutputs = [ "test feature_not_visible ... ok" ];
};
# Regression test for https://github.com/NixOS/nixpkgs/pull/88054
# Build script output should be rewritten as valid env vars.
buildScriptIncludeDirDeps = let
4 changes: 2 additions & 2 deletions pkgs/desktops/gnome-3/apps/gnome-boxes/default.nix
Original file line number Diff line number Diff line change
@@ -51,11 +51,11 @@

stdenv.mkDerivation rec {
pname = "gnome-boxes";
version = "3.36.4";
version = "3.36.5";

src = fetchurl {
url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "16l0mq2ydmywcdya1795mcy8syg4zkmz9ws3pzjcqv5y4m7cjj03";
sha256 = "1khvyhgd3p41fvvknga1hdl0p1ks4kj4cwsiaw28v1sy6nzclm2c";
};

doCheck = true;
4 changes: 2 additions & 2 deletions pkgs/desktops/gnome-3/core/gnome-control-center/default.nix
Original file line number Diff line number Diff line change
@@ -68,11 +68,11 @@

stdenv.mkDerivation rec {
pname = "gnome-control-center";
version = "3.36.2";
version = "3.36.3";

src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "05vqhj5z4w4vaphp541zxxkx6x781m371l2gqnq2vhnnqvqfz9g0";
sha256 = "0739qcwfwrimfrpf3gaakkf7ipwy3virs096kkhkxjmy1nbls5xw";
};

nativeBuildInputs = [
4 changes: 2 additions & 2 deletions pkgs/tools/misc/graylog/default.nix
Original file line number Diff line number Diff line change
@@ -2,11 +2,11 @@

stdenv.mkDerivation rec {
pname = "graylog";
version = "3.3.0";
version = "3.3.1";

src = fetchurl {
url = "https://packages.graylog2.org/releases/graylog/graylog-${version}.tgz";
sha256 = "1ydplg2lifql5s4bh64a4lwqp1q5vrvbljhn1pnxv9vz0ab73q1k";
sha256 = "1jcv2dqm49vbz810ypv024r3lqgz804l06yhhwshrih61xzj7dvh";
};

dontBuild = true;
10 changes: 5 additions & 5 deletions pkgs/tools/misc/graylog/plugins.nix
Original file line number Diff line number Diff line change
@@ -64,18 +64,18 @@ in {
enterprise-integrations = glPlugin rec {
name = "graylog-enterprise-integrations-${version}";
pluginName = "graylog-plugin-enterprise-integrations";
version = "3.3.0";
version = "3.3.1";
src = fetchurl {
url = "https://downloads.graylog.org/releases/graylog-enterprise-integrations/graylog-enterprise-integrations-plugins-${version}.tgz";
sha256 = "1480ccii3nzvm0jp1xm2iddgc789zcwbgd19201q7p3v0ph02yj8";
sha256 = "0la91f5hfakrp5d37q3r1z15zzya9vmwgp8gf5ifkh6fasa811ll";
};
installPhase = ''
mkdir -p $out/bin
tar --strip-components=2 -xf $src
cp ${pluginName}-${version}.jar $out/bin/${pluginName}-${version}.jar
'';
meta = {
homepage = "https://docs.graylog.org/en/3.2/pages/integrations.html#enterprise";
homepage = "https://docs.graylog.org/en/3.3/pages/integrations.html#enterprise";
description = "Integrations are tools that help Graylog work with external systems (unfree enterprise integrations)";
license = stdenv.lib.licenses.unfree;
};
@@ -96,10 +96,10 @@ in {
integrations = glPlugin rec {
name = "graylog-integrations-${version}";
pluginName = "graylog-plugin-integrations";
version = "3.3.0";
version = "3.3.1";
src = fetchurl {
url = "https://downloads.graylog.org/releases/graylog-integrations/graylog-integrations-plugins-${version}.tgz";
sha256 = "08cpxviwk2p4zsgbr2h3symr88rf3fjfz1kkg4iglvdc5mqf71xx";
sha256 = "1k90q50p4ly9d8fj0riyb1xw0bd6f8wm2xmkr71908j2v0jaskpq";
};
installPhase = ''
mkdir -p $out/bin
4 changes: 2 additions & 2 deletions pkgs/tools/virtualization/govc/default.nix
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@

buildGoPackage rec {
pname = "govc";
version = "0.22.1";
version = "0.23.0";

goPackagePath = "github.com/vmware/govmomi";

@@ -12,7 +12,7 @@ buildGoPackage rec {
rev = "v${version}";
owner = "vmware";
repo = "govmomi";
sha256 = "1z4am6143jrrls0023flnqgadm1z9p60w09cp1j5pnslm60vvw78";
sha256 = "05nb5xd90kbazdx4l9bw72729dh5hrcaqdi9wpf5ma7bz7mw9wzi";
};

meta = {