Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-01-22 18:01:07 +00:00 committed by GitHub
commit 6922792376
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
26 changed files with 268 additions and 107 deletions

View File

@ -48,6 +48,10 @@
system.nixos.versionSuffix =
".${final.substring 0 8 (self.lastModifiedDate or self.lastModified or "19700101")}.${self.shortRev or "dirty"}";
system.nixos.revision = final.mkIf (self ? rev) self.rev;
# NOTE: This assumes that `nixpkgs.config` is _not_ used when
# nixpkgs.pkgs is set OR _module.args.pkgs is set.
nixpkgs.config.path = self.outPath;
}
];
});
@ -62,7 +66,7 @@
}).nixos.manual.x86_64-linux;
};
legacyPackages = forAllSystems (system: import ./. { inherit system; });
legacyPackages = forAllSystems (system: import ./. { inherit system; config.path = self.outPath; });
nixosModules = {
notDetected = import ./nixos/modules/installer/scan/not-detected.nix;

View File

@ -6800,6 +6800,17 @@
fingerprint = "CC50 F82C 985D 2679 0703 AF15 19B0 82B3 DEFE 5451";
}];
};
leixb = {
email = "abone9999+nixpkgs@gmail.com";
matrix = "@leix_b:matrix.org";
github = "LeixB";
githubId = 17183803;
name = "Aleix Boné";
keys = [{
longkeyid = "rsa4096/0xFC035BB2BB28E15D";
fingerprint = "63D3 F436 EDE8 7E1F 1292 24AF FC03 5BB2 BB28 E15D";
}];
};
lejonet = {
email = "daniel@kuehn.se";
github = "lejonet";

View File

@ -61,17 +61,85 @@ let
in scrubbedEval.options;
baseOptionsJSON =
let
filter =
filterIntoStore =
builtins.filterSource
(n: t:
(t == "directory" -> baseNameOf n != "tests")
&& (t == "file" -> hasSuffix ".nix" n)
);
# Figure out if Nix runs in pure evaluation mode. May return true in
# impure mode, but this is highly unlikely.
# We need to know because of https://github.com/NixOS/nix/issues/1888
# and https://github.com/NixOS/nix/issues/5868
isPureEval = builtins.getEnv "PATH" == "" && builtins.getEnv "_" == "";
# Return a nixpkgs subpath with minimal copying.
#
# The sources for the base options json derivation can come in one of
# two forms:
# - single source: a store path with all of nixpkgs, postfix with
# subpaths to access various directories. This has the benefit of
# not creating copies of these subtrees in the Nix store, but
# can cause unnecessary rebuilds if you update the Nixpkgs `pkgs`
# tree often.
# - split sources: multiple store paths with subdirectories of
# nixpkgs that exclude the bulk of the pkgs directory.
# This requires more copying and hashing during evaluation but
# requires fewer files to be copied. This method produces fewer
# unnecessary rebuilds of the base options json.
#
# Flake
#
# Flakes always put a copy of the full nixpkgs sources in the store,
# so we can use the "single source" method. This method is ideal
# for using nixpkgs as a dependency, as the base options json will be
# substitutable from cache.nixos.org.
#
# This requires that the `self.outPath` is wired into `pkgs` correctly,
# which is done for you if `pkgs` comes from the `lib.nixosSystem` or
# `legacyPackages` flake attributes.
#
# Other Nixpkgs invocation
#
# If you do not use the known-correct flake attributes, but rather
# invoke Nixpkgs yourself, set `config.path` to the correct path value,
# e.g. `import nixpkgs { config.path = nixpkgs; }`.
#
# Choosing between single or split source paths
#
# We make assumptions based on the type and contents of `pkgs.path`.
# By passing a different `config.path` to Nixpkgs, you can influence
# how your documentation cache is evaluated and rebuilt.
#
# Single source
# - If pkgs.path is a string containing a store path, the code has no
# choice but to create this store path, if it hasn't already been.
# We assume that the "single source" method is most efficient.
# - If pkgs.path is a path value containing that is a store path,
# we try to convert it to a string with context without copying.
# This occurs for example when nixpkgs was fetched and using its
# default `config.path`, which is `./.`.
# Nix currently does not allow this conversion when evaluating in
# pure mode. If the conversion is not possible, we use the
# "split source" method.
#
# Split source
# - If pkgs.path is a path value that is not a store path, we assume
# that it's unlikely for all of nixpkgs to end up in the store for
# other reasons and try to keep both the copying and rebuilds low.
pull =
if builtins.typeOf pkgs.path == "string" && isStorePath pkgs.path then
dir: "${pkgs.path}/${dir}"
else if !isPureEval && isStorePath pkgs.path then
dir: "${builtins.storePath pkgs.path}/${dir}"
else
dir: filterIntoStore "${toString pkgs.path}/${dir}";
in
pkgs.runCommand "lazy-options.json" {
libPath = filter "${toString pkgs.path}/lib";
pkgsLibPath = filter "${toString pkgs.path}/pkgs/pkgs-lib";
nixosPath = filter "${toString pkgs.path}/nixos";
libPath = pull "lib";
pkgsLibPath = pull "pkgs/pkgs-lib";
nixosPath = pull "nixos";
modules = map (p: ''"${removePrefix "${modulesPath}/" (toString p)}"'') docModules.lazy;
} ''
export NIX_STORE_DIR=$TMPDIR/store

View File

@ -59,6 +59,8 @@ let
inherit (cfg) config overlays localSystem crossSystem;
};
# NOTE: flake.nix assumes that nixpkgs.config is only used with ../../..
# as nixpkgs.config.path should be equivalent to ../../..
finalPkgs = if opt.pkgs.isDefined then cfg.pkgs.appendOverlays cfg.overlays else defaultPkgs;
in

View File

@ -87,8 +87,12 @@ in {
port = mkOption {
type = types.port;
default = 6379;
description = "The port for Redis to listen to.";
default = if name == "" then 6379 else 0;
defaultText = literalExpression ''if name == "" then 6379 else 0'';
description = ''
The TCP port to accept connections.
If port 0 is specified Redis will not listen on a TCP socket.
'';
};
openFirewall = mkOption {
@ -102,7 +106,7 @@ in {
bind = mkOption {
type = with types; nullOr str;
default = if name == "" then "127.0.0.1" else null;
defaultText = "127.0.0.1 or null if name != \"\"";
defaultText = literalExpression ''if name == "" then "127.0.0.1" else null'';
description = ''
The IP interface to bind to.
<literal>null</literal> means "all interfaces".
@ -253,7 +257,7 @@ in {
};
config.settings = mkMerge [
{
port = if config.bind == null then 0 else config.port;
port = config.port;
daemonize = false;
supervised = "systemd";
loglevel = config.logLevel;

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "praat";
version = "6.2.03";
version = "6.2.04";
src = fetchFromGitHub {
owner = "praat";
repo = "praat";
rev = "v${version}";
sha256 = "sha256-0WTbLEPEqPm7BI02mjlwcsewkrmIsHtNlhccqK1d6SI=";
sha256 = "sha256-xzEgj4pjW+y46CXtVq4myHKX6DImCibsUz8m0G6F+YQ=";
};
configurePhase = ''

View File

@ -1,82 +1,77 @@
{ stdenv,
lib,
makeWrapper,
fetchurl,
dpkg,
makeDesktopItem,
copyDesktopItems,
autoPatchelfHook,
gst_all_1,
sane-backends,
xorg,
gnome2,
alsa-lib,
libgccjit,
jdk11
}:
{ stdenv
, lib
, fetchurl
, libgccjit
, dpkg
, makeDesktopItem
, copyDesktopItems
, autoPatchelfHook
, sane-backends
, jdk11
}:
let
year = "2021";
major = "1";
minor = "2";
in stdenv.mkDerivation rec {
# See also package 'pdfstudioviewer'
# Differences are ${pname}, Download directory name (PDFStudio / PDFStudioViewer),
# sha256, and libgccjit (not needed for PDFStudioViewer)
let year = "2021";
in
stdenv.mkDerivation rec {
pname = "pdfstudio";
version = "${year}.${major}.${minor}";
autoPatchelfIgnoreMissingDeps = true;
version = "${year}.1.2";
strictDeps = true;
src = fetchurl {
url = "https://download.qoppa.com/${pname}/v${year}/PDFStudio_v${year}_${major}_${minor}_linux64.deb";
url = "https://download.qoppa.com/${pname}/v${year}/PDFStudio_v${
builtins.replaceStrings [ "." ] [ "_" ] version
}_linux64.deb";
sha256 = "1188ll2qz58rr2slavqxisbz4q3fdzidpasb1p33926z0ym3rk45";
};
nativeBuildInputs = [
gst_all_1.gst-libav
sane-backends
xorg.libXxf86vm
xorg.libXtst
gnome2.libgtkhtml
alsa-lib
libgccjit
autoPatchelfHook
makeWrapper
dpkg
copyDesktopItems
jdk11 # only for unpacking .jar.pack files
buildInputs = [
libgccjit #for libstdc++.so.6 and libgomp.so.1
sane-backends #for libsane.so.1
jdk11
];
desktopItems = [(makeDesktopItem {
name = "${pname}${year}";
desktopName = "PDF Studio";
genericName = "View and edit PDF files";
exec = "${pname} %f";
icon = "${pname}${year}";
comment = "Views and edits PDF files";
mimeType = "application/pdf";
categories = "Office";
type = "Application";
terminal = false;
})];
nativeBuildInputs = [
autoPatchelfHook
dpkg
copyDesktopItems
];
desktopItems = [
(makeDesktopItem {
name = "${pname}${year}";
desktopName = "PDF Studio";
genericName = "View and edit PDF files";
exec = "${pname} %f";
icon = "${pname}${year}";
comment = "Views and edits PDF files";
mimeType = "application/pdf";
categories = "Office";
type = "Application";
terminal = false;
})
];
unpackPhase = "dpkg-deb -x $src .";
dontConfigure = true;
dontBuild = true;
postPatch = ''
substituteInPlace opt/${pname}${year}/${pname}${year} --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}"
substituteInPlace opt/${pname}${year}/updater --replace "# INSTALL4J_JAVA_HOME_OVERRIDE=" "INSTALL4J_JAVA_HOME_OVERRIDE=${jdk11.out}"
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
mkdir -p $out/share
mkdir -p $out/share/applications
mkdir -p $out/share/pixmaps
cp -r opt/${pname}${year} $out/share/
rm -rf $out/share/${pname}${year}/jre
ln -s $out/share/${pname}${year}/.install4j/${pname}${year}.png $out/share/pixmaps/
makeWrapper $out/share/${pname}${year}/${pname}${year} $out/bin/${pname}
#Unpack jar files. Otherwise pdfstudio does this and fails due to read-only FS.
for pfile in $out/share/${pname}${year}/jre/lib/{,ext/}*.jar.pack; do
jar_file=`echo "$pfile" | awk '{ print substr($0,1,length($0)-5) }'`
unpack200 -r "$pfile" "$jar_file"
done
ln -s $out/share/${pname}${year}/${pname}${year} $out/bin/${pname}
runHook postInstall
'';
@ -86,6 +81,7 @@ in stdenv.mkDerivation rec {
description = "An easy to use, full-featured PDF editing software";
license = licenses.unfree;
platforms = platforms.linux;
mainProgram = pname;
maintainers = [ maintainers.pwoelfel ];
};
}

View File

@ -32,15 +32,15 @@
}
},
"dev": {
"version": "99.0.4818.0",
"sha256": "1k8xzmybrmwgcyg4n7x3gj486rpwic17m6i5ij9nmfzcxx7fbwlm",
"sha256bin64": "1jfqmv94ami3n6hzp9ycczqv3lh3wijsf555mg62rv4rdvw5adm6",
"version": "99.0.4840.0",
"sha256": "0l1azyd7an8nw2gjnn313gn6sljvw6lbd9g59s7d59lpn2bmbc7j",
"sha256bin64": "145qjhdmi39aaw0a3sarlgi67rjhik1xbm62rw7ba0wgnrbvvrjb",
"deps": {
"gn": {
"version": "2022-01-07",
"version": "2022-01-10",
"url": "https://gn.googlesource.com/gn",
"rev": "f1b1412521b41e47118b29863224171e434a27a2",
"sha256": "1cxq991by7sa5k1hvb5xx98bfqgq7rdbw3cawhyyqq91a521wsb7"
"rev": "80a40b07305373617eba2d5878d353532af77da3",
"sha256": "1103lf38h7412949j6nrk48m2vv2rrxacn42sjg33lg88nyv7skv"
}
}
},

View File

@ -24,7 +24,7 @@ let
in stdenv.mkDerivation rec {
pname = "signal-desktop";
version = "5.27.0"; # Please backport all updates to the stable channel.
version = "5.27.1"; # 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:
@ -34,7 +34,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 = "1agxn4fcgln5lsccvw5b7g2psv6nv2y7qm5df201c9pbwjak74nm";
sha256 = "0z0v7q0rpxdx7ic78jv7wp1hq8nrfp51jjdr6d85x0hsfdj0z1mc";
};
nativeBuildInputs = [

View File

@ -1,4 +1,4 @@
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, requests, xbmcswift2 }:
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, dateutil, requests, xbmcswift2 }:
buildKodiAddon rec {
pname = "arteplussept";
@ -11,6 +11,7 @@ buildKodiAddon rec {
};
propagatedBuildInputs = [
dateutil
requests
xbmcswift2
];

View File

@ -7,8 +7,8 @@ stdenv.mkDerivation {
src = fetchFromGitHub {
owner = "revol-xut";
repo = "lingua-franca-nix-releases";
rev = "11c6d5297cd63bf0b365a68c5ca31ec80083bd05";
sha256 = "DgxunzC8Ep0WdwChDHWgG5QJbJZ8UgQRXtP1HZqL9Jg=";
rev = "d37bbfa530f0189c3e86ce0191134cdf42c6aec7";
sha256 = "/qMBOjffvShCPcbh9rJ7aVgdgZQ1hilHakjLyEhSmgs=";
};
buildInputs = [ jdk11_headless ];

View File

@ -19,13 +19,13 @@
stdenv.mkDerivation rec {
pname = "umockdev";
version = "0.17.5";
version = "0.17.6";
outputs = [ "bin" "out" "dev" "devdoc" ];
src = fetchurl {
url = "https://github.com/martinpitt/umockdev/releases/download/${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-9mNKYFiQtzkBTQEuVWIfR9+e2jAqDszlHGMEQpcRe8U=";
sha256 = "sha256-X60zN3orHU8lOfRVCfbHTdrleKxB7ILCIGvXSZLdoSk=";
};
nativeBuildInputs = [

View File

@ -2,6 +2,7 @@
, stdenv
, fetchFromGitHub
, autoreconfHook
, openssl
}:
stdenv.mkDerivation rec {
@ -15,6 +16,12 @@ stdenv.mkDerivation rec {
sha256 = "sha256-/noS5cn8lllWoGyZ9QyjRmdiR6LXzfT4lYGEt+0+Bdw=";
};
postPatch = ''
patchShebangs ./scripts
# ocsp tests require network access
sed -i -e '/ocsp\.test/d' -e '/ocsp-stapling\.test/d' scripts/include.am
'';
# Almost same as Debian but for now using --enable-all --enable-reproducible-build instead of --enable-distro to ensure options.h gets installed
configureFlags = [
"--enable-all"
@ -36,6 +43,9 @@ stdenv.mkDerivation rec {
autoreconfHook
];
doCheck = true;
checkInputs = [ openssl ];
postInstall = ''
# fix recursive cycle:
# wolfssl-config points to dev, dev propagates bin

View File

@ -9,12 +9,12 @@
buildPythonPackage rec {
pname = "imbalanced-learn";
version = "0.8.1";
version = "0.9.0";
disabled = isPy27; # scikit-learn>=0.21 doesn't work on python2
src = fetchPypi {
inherit pname version;
sha256 = "eaf576b1ba3523a0facf3aaa483ca17e326301e53e7678c54d73b7e0250edd43";
sha256 = "836a4c137cc3c10310d4f6cd5ec34600ff488d7f8c243a997c3f9b551c91d0b2";
};
propagatedBuildInputs = [ scikit-learn ];

View File

@ -20,11 +20,11 @@
buildPythonPackage rec {
pname = "internetarchive";
version = "2.2.0";
version = "2.3.0";
src = fetchPypi {
inherit pname version;
sha256 = "ebd11ecd038c71e75a3aef8d87750b46480169ecaefb23074c4ae48440bf2836";
sha256 = "fa89dc4be3e0a0aee24810a4a754e24adfd07edf710c645b4f642422c6078b8d";
};
propagatedBuildInputs = [

View File

@ -9,13 +9,13 @@
}:
rustPlatform.buildRustPackage rec {
pname = "sentry-cli";
version = "1.71.0";
version = "1.72.0";
src = fetchFromGitHub {
owner = "getsentry";
repo = "sentry-cli";
rev = version;
sha256 = "0iw6skcxnqqa0vj5q1ra855gxgjj9a26hj85nm9p49ai5l85bkgv";
sha256 = "sha256-2Aj2Y0c8JR8s6Ek7sZfU+5RENkoCVSAxtOvkHilfb48=";
};
doCheck = false;
@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
nativeBuildInputs = [ pkg-config ];
cargoSha256 = "0n9354mm97z3n001airipq8k58i7lg20p2m9yfx9y0zhsagyhmj8";
cargoSha256 = "sha256-sSIQ7Wa0otbq82WELxP3oFYa1FoaoZz2jCB59Ob6zNM=";
meta = with lib; {
homepage = "https://docs.sentry.io/cli/";

View File

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "r2mod_cli";
version = "1.2.0";
version = "1.2.1";
src = fetchFromGitHub {
owner = "Foldex";
repo = "r2mod_cli";
rev = "v${version}";
sha256 = "sha256-VNqdVDBR6+eNOeUthPXLfz+0VoaNfSj4f04HLvjg6/0=";
sha256 = "sha256-FS9P/uTZU4d6zpM3TlEW6i6PLGHxqqO2fc8D7VsPCig=";
};
buildInputs = [ bashInteractive ];

View File

@ -71,7 +71,6 @@ let
# Commercial services
qobuz = [ curl libgcrypt yajl ];
soundcloud = [ curl yajl ];
tidal = [ curl yajl ];
# Client support
libmpdclient = [ libmpdclient ];
# Tag support
@ -196,7 +195,7 @@ in
"lame" "libsamplerate" "shout"
"libmpdclient" "id3tag" "expat" "pcre"
"yajl" "sqlite"
"soundcloud" "qobuz" "tidal"
"soundcloud" "qobuz"
] ++ lib.optionals stdenv.isLinux [
"alsa" "systemd" "syslog" "io_uring"
] ++ lib.optionals (!stdenv.isDarwin) [

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "tailscale";
version = "1.20.1";
version = "1.20.2";
src = fetchFromGitHub {
owner = "tailscale";
repo = "tailscale";
rev = "v${version}";
sha256 = "sha256-n+94ipR1w63NS2tzMsJWY4oxeTBEWrp8e2gF+CTpvrI=";
sha256 = "sha256-uW/C4Bks7qGJEQhPoqd2LSk8MAD9gcDRsJbbowgsSuY=";
};
nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];

View File

@ -2,15 +2,15 @@
buildGoModule rec {
pname = "traefik";
version = "2.5.6";
version = "2.5.7";
src = fetchzip {
url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
sha256 = "sha256-HHJTfAigUH7C0VuKUeGypqFlQwVdy05Ki/aTxDsl+tg=";
sha256 = "sha256-CQXrAKdfNqGKXw3Ds47uq6ALsDh6JRf+94axOvLzWbE=";
stripRoot = false;
};
vendorSha256 = "sha256-DqjqJPyoFlCjIIaHYS5jrROQWDxZk+RGfccC2jYZ8LE=";
vendorSha256 = "sha256-aZemr1waV2hIujbI+1PrivXxa1RrT0Ams4xT4QxTQPY=";
doCheck = false;

View File

@ -0,0 +1,44 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, hidapi
}:
stdenv.mkDerivation rec {
pname = "headsetcontrol";
version = "2.6";
src = fetchFromGitHub {
owner = "Sapd";
repo = "HeadsetControl";
rev = version;
sha256 = "0a7zimzi71416pmn6z0l1dn1c2x8p702hkd0k6da9rsznff85a88";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
hidapi
];
/*
Test depends on having the apropiate headsets connected.
*/
doCheck = false;
meta = with lib; {
description = "Sidetone and Battery status for Logitech G930, G533, G633, G933 SteelSeries Arctis 7/PRO 2019 and Corsair VOID (Pro)";
longDescription = ''
A tool to control certain aspects of USB-connected headsets on Linux. Currently,
support is provided for adjusting sidetone, getting battery state, controlling
LEDs, and setting the inactive time.
'';
homepage = "https://github.com/Sapd/HeadsetControl";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ leixb ];
platforms = platforms.all;
};
}

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "steampipe";
version = "0.11.2";
version = "0.12.0";
src = fetchFromGitHub {
owner = "turbot";
repo = "steampipe";
rev = "v${version}";
sha256 = "sha256-omg/MgCTKkj0p1vDvJs22/0Jhzim0CeISV0Kn9p5lh4=";
sha256 = "sha256-ApY3h6CqOJMWmIindp5TqWczSU50TBiS89lYzSzj8EM=";
};
vendorSha256 = "sha256-PYaq74NNEOJ1jZ6PoS6zcTiUN4JA9JDjO7GB9tqgT6c=";
vendorSha256 = "sha256-ikmcayOy87u6XMYjxxzFv35Rlp9oTteEKFOPr/+xc2Y=";
# tests are failing for no obvious reasons
doCheck = false;

View File

@ -20,12 +20,12 @@ buildPythonPackage rec {
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2021.12.27";
version = "2022.1.21";
src = fetchPypi {
inherit pname;
version = builtins.replaceStrings [ ".0" ] [ "." ] version;
sha256 = "sha256-IkTfN1l1FIfnlrI7ZyFr7pjnCDKjpDwlJrCw4Lv7y1s=";
sha256 = "sha256-Ig7EBzibXqcuJd/BHDDlQ0ibkAdcVTEdUlXiBF24qeI=";
};
propagatedBuildInputs = [ websockets mutagen ]

View File

@ -1,16 +1,18 @@
{ lib, stdenv, fetchFromGitHub
, makeWrapper, installShellFiles
, python3, sqlite }:
, python3, sqlite
, nixosTests
}:
stdenv.mkDerivation rec {
pname = "tuptime";
version = "5.0.2";
version = "5.1.0";
src = fetchFromGitHub {
owner = "rfrail3";
repo = "tuptime";
rev = version;
sha256 = "sha256-2Q1czKvwdVq+2+64k4SOghw05CUlT5HdZpvKMRbGdDY=";
sha256 = "sha256-6N4dqgLOhWqVR8GqlBUxHWy10AHBZ4aZbdkw5SOxxBQ=";
};
nativeBuildInputs = [ makeWrapper installShellFiles ];
@ -34,6 +36,8 @@ stdenv.mkDerivation rec {
--prefix PATH : "${lib.makeBinPath [ sqlite ]}"
'';
passthru.tests = nixosTests.tuptime;
meta = with lib; {
description = "Total uptime & downtime statistics utility";
homepage = "https://github.com/rfrail3/tuptime";

View File

@ -67,7 +67,7 @@ with pkgs;
clangStdenvNoLibs = mkStdenvNoLibs clangStdenv;
# For convenience, allow callers to get the path to Nixpkgs.
path = ../..;
path = config.path;
### Helper functions.
@ -1015,6 +1015,8 @@ with pkgs;
fwbuilder = libsForQt5.callPackage ../tools/security/fwbuilder { };
headsetcontrol = callPackage ../tools/audio/headsetcontrol { };
ksnip = libsForQt5.callPackage ../tools/misc/ksnip { };
linux-router = callPackage ../tools/networking/linux-router { };
@ -12490,6 +12492,8 @@ with pkgs;
openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { };
lingua-franca = callPackage ../development/compilers/lingua-franca { };
openspin = callPackage ../development/compilers/openspin { };
oraclejdk = jdkdistro true false;

View File

@ -32,6 +32,20 @@ let
feature = "run <literal>checkPhase</literal> by default";
};
path = mkOption {
type = types.path;
default = ../..;
defaultText = lib.literalDocBook "a path expression";
internal = true;
description = ''
A reference to Nixpkgs' own sources.
This is overridable in order to avoid copying sources unnecessarily,
as a path expression that references a store path will not short-circuit
to the store path itself, but copy the store path instead.
'';
};
};
in {