Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2021-07-29 00:05:27 +00:00 committed by GitHub
commit 065068c0f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
160 changed files with 2825 additions and 1694 deletions

1
.github/labeler.yml vendored
View File

@ -70,6 +70,7 @@
"6.topic: nixos":
- nixos/**/*
- pkgs/os-specific/linux/nixos-rebuild/**/*
"6.topic: ocaml":
- doc/languages-frameworks/ocaml.section.md

View File

@ -520,7 +520,7 @@ If you do need to do create this sort of patch file, one way to do so is with gi
4. Use git to create a diff, and pipe the output to a patch file:
```ShellSession
$ git diff > nixpkgs/pkgs/the/package/0001-changes.patch
$ git diff -a > nixpkgs/pkgs/the/package/0001-changes.patch
```
If a patch is available online but does not cleanly apply, it can be modified in some fixed ways by using additional optional arguments for `fetchpatch`:

View File

@ -125,6 +125,21 @@
<link linkend="opt-services.prometheus.exporters.buildkite-agent.enable">services.prometheus.exporters.buildkite-agent</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/prometheus/influxdb_exporter">influxdb-exporter</link>
a Prometheus exporter that exports metrics received on an
InfluxDB compatible endpoint is now available as
<link linkend="opt-services.prometheus.exporters.influxdb.enable">services.prometheus.exporters.influxdb</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/matrix-discord/mx-puppet-discord">mx-puppet-discord</link>,
a discord puppeting bridge for matrix. Available as
<link linkend="opt-services.mx-puppet-discord.enable">services.mx-puppet-discord</link>.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-incompatibilities">
@ -555,6 +570,32 @@
6.0.0 to 9.0.0
</para>
</listitem>
<listitem>
<para>
The following Visual Studio Code extensions were renamed to
keep the naming convention uniform.
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
<literal>bbenoist.Nix</literal> -&gt;
<literal>bbenoist.nix</literal>
</para>
</listitem>
<listitem>
<para>
<literal>CoenraadS.bracket-pair-colorizer</literal> -&gt;
<literal>coenraads.bracket-pair-colorizer</literal>
</para>
</listitem>
<listitem>
<para>
<literal>golang.Go</literal> -&gt;
<literal>golang.go</literal>
</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</section>
<section xml:id="sec-release-21.11-notable-changes">

View File

@ -39,6 +39,10 @@ pt-services.clipcat.enable).
- [buildkite-agent-metrics](https://github.com/buildkite/buildkite-agent-metrics), a command-line tool for collecting Buildkite agent metrics, now has a Prometheus exporter available as [services.prometheus.exporters.buildkite-agent](#opt-services.prometheus.exporters.buildkite-agent.enable).
- [influxdb-exporter](https://github.com/prometheus/influxdb_exporter) a Prometheus exporter that exports metrics received on an InfluxDB compatible endpoint is now available as [services.prometheus.exporters.influxdb](#opt-services.prometheus.exporters.influxdb.enable).
- [mx-puppet-discord](https://github.com/matrix-discord/mx-puppet-discord), a discord puppeting bridge for matrix. Available as [services.mx-puppet-discord](#opt-services.mx-puppet-discord.enable).
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
- The `staticjinja` package has been upgraded from 1.0.4 to 3.0.1
@ -142,6 +146,11 @@ pt-services.clipcat.enable).
- the `mingw-64` package has been upgraded from 6.0.0 to 9.0.0
- The following Visual Studio Code extensions were renamed to keep the naming convention uniform.
- `bbenoist.Nix` -> `bbenoist.nix`
- `CoenraadS.bracket-pair-colorizer` -> `coenraads.bracket-pair-colorizer`
- `golang.Go` -> `golang.go`
## Other Notable Changes {#sec-release-21.11-notable-changes}
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.

View File

@ -654,7 +654,11 @@ in
];
fileSystems."/" =
{ fsType = "tmpfs";
# This module is often over-layed onto an existing host config
# that defines `/`. We use mkOverride 60 to override standard
# values, but at the same time leave room for mkForce values
# targeted at the image build.
{ fsType = mkOverride 60 "tmpfs";
options = [ "mode=0755" ];
};

View File

@ -30,7 +30,11 @@ with lib;
else [ pkgs.grub2 pkgs.syslinux ]);
fileSystems."/" =
{ fsType = "tmpfs";
# This module is often over-layed onto an existing host config
# that defines `/`. We use mkOverride 60 to override standard
# values, but at the same time leave room for mkForce values
# targeted at the image build.
{ fsType = mkOverride 60 "tmpfs";
options = [ "mode=0755" ];
};

View File

@ -1,7 +1,7 @@
{
x86_64-linux = "/nix/store/qsgz2hhn6mzlzp53a7pwf9z2pq3l5z6h-nix-2.3.14";
i686-linux = "/nix/store/1yw40bj04lykisw2jilq06lir3k9ga4a-nix-2.3.14";
aarch64-linux = "/nix/store/32yzwmynmjxfrkb6y6l55liaqdrgkj4a-nix-2.3.14";
x86_64-darwin = "/nix/store/06j0vi2d13w4l0p3jsigq7lk4x6gkycj-nix-2.3.14";
aarch64-darwin = "/nix/store/77wi7vpbrghw5rgws25w30bwb8yggnk9-nix-2.3.14";
x86_64-linux = "/nix/store/jhbxh1jwjc3hjhzs9y2hifdn0rmnfwaj-nix-2.3.15";
i686-linux = "/nix/store/9pspwnkdrgzma1l4xlv7arhwa56y16di-nix-2.3.15";
aarch64-linux = "/nix/store/72aqi5g7f4fhgvgafbcqwcpqjgnczj48-nix-2.3.15";
x86_64-darwin = "/nix/store/6p6qwp73dgfkqhynmxrzbx1lcfgfpqal-nix-2.3.15";
aarch64-darwin = "/nix/store/dmq2vksdhssgfl822shd0ky3x5x0klh4-nix-2.3.15";
}

View File

@ -529,6 +529,7 @@
./services/misc/mediatomb.nix
./services/misc/metabase.nix
./services/misc/mwlib.nix
./services/misc/mx-puppet-discord.nix
./services/misc/n8n.nix
./services/misc/nix-daemon.nix
./services/misc/nix-gc.nix

View File

@ -189,7 +189,7 @@ in
# manually paste it in place. Just symlink.
# otherwise, create the target file, ready for users to insert the token
mkdir -p $(dirname ${certmgrAPITokenPath})
mkdir -p "$(dirname "${certmgrAPITokenPath}")"
if [ -f "${cfsslAPITokenPath}" ]; then
ln -fs "${cfsslAPITokenPath}" "${certmgrAPITokenPath}"
else

View File

@ -0,0 +1,120 @@
{ config, pkgs, lib, ... }:
with lib;
let
dataDir = "/var/lib/mx-puppet-discord";
registrationFile = "${dataDir}/discord-registration.yaml";
cfg = config.services.mx-puppet-discord;
settingsFormat = pkgs.formats.json {};
settingsFile = settingsFormat.generate "mx-puppet-discord-config.json" cfg.settings;
in {
options = {
services.mx-puppet-discord = {
enable = mkEnableOption ''
mx-puppet-discord is a discord puppeting bridge for matrix.
It handles bridging private and group DMs, as well as Guilds (servers)
'';
settings = mkOption rec {
apply = recursiveUpdate default;
inherit (settingsFormat) type;
default = {
bridge.port = 8434;
presence = {
enabled = true;
interval = 500;
};
provisioning.whitelist = [ ];
relay.whitelist = [ ];
# variables are preceded by a colon.
namePatterns = {
user = ":name";
userOverride = ":displayname";
room = ":name";
group = ":name";
};
#defaults to sqlite but can be configured to use postgresql with
#connstring
database.filename = "${dataDir}/mx-puppet-discord/database.db";
logging = {
console = "info";
lineDateFormat = "MMM-D HH:mm:ss.SSS";
};
};
example = literalExample ''
{
bridge = {
bindAddress = "localhost";
domain = "example.com";
homeserverUrl = "https://example.com";
};
provisioning.whitelist = [ "@admin:example.com" ];
relay.whitelist = [ "@.*:example.com" ];
}
'';
description = ''
<filename>config.yaml</filename> configuration as a Nix attribute set.
Configuration options should match those described in
<link xlink:href="https://github.com/matrix-discord/mx-puppet-discord/blob/master/sample.config.yaml">
sample.config.yaml</link>.
'';
};
serviceDependencies = mkOption {
type = with types; listOf str;
default = optional config.services.matrix-synapse.enable "matrix-synapse.service";
description = ''
List of Systemd services to require and wait for when starting the application service.
'';
};
};
};
config = mkIf cfg.enable {
systemd.services.mx-puppet-discord = {
description = ''
mx-puppet-discord is a discord puppeting bridge for matrix.
It handles bridging private and group DMs, as well as Guilds (servers).
'';
wantedBy = [ "multi-user.target" ];
wants = [ "network-online.target" ] ++ cfg.serviceDependencies;
after = [ "network-online.target" ] ++ cfg.serviceDependencies;
preStart = ''
# generate the appservice's registration file if absent
if [ ! -f '${registrationFile}' ]; then
${pkgs.mx-puppet-discord}/bin/mx-puppet-discord -r -c ${settingsFile} \
-f ${registrationFile}
fi
'';
serviceConfig = {
Type = "simple";
Restart = "always";
ProtectSystem = "strict";
ProtectHome = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectControlGroups = true;
DynamicUser = true;
PrivateTmp = true;
WorkingDirectory = pkgs.mx-puppet-discord;
StateDirectory = baseNameOf dataDir;
UMask = 0027;
ExecStart = ''
${pkgs.mx-puppet-discord}/bin/mx-puppet-discord -c ${settingsFile}
'';
};
};
};
meta.maintainers = with maintainers; [ govanify ];
}

View File

@ -33,6 +33,7 @@ let
"domain"
"dovecot"
"fritzbox"
"influxdb"
"json"
"jitsi"
"kea"

View File

@ -0,0 +1,34 @@
{ config, lib, pkgs, options }:
with lib;
let
cfg = config.services.prometheus.exporters.influxdb;
in
{
port = 9122;
extraOpts = {
sampleExpiry = mkOption {
type = types.str;
default = "5m";
example = "10m";
description = "How long a sample is valid for";
};
udpBindAddress = mkOption {
type = types.str;
default = ":9122";
example = "192.0.2.1:9122";
description = "Address on which to listen for udp packets";
};
};
serviceOpts = {
serviceConfig = {
RuntimeDirectory = "prometheus-influxdb-exporter";
ExecStart = ''
${pkgs.prometheus-influxdb-exporter}/bin/influxdb_exporter \
--web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
--influxdb.sample-expiry ${cfg.sampleExpiry} ${concatStringsSep " " cfg.extraFlags}
'';
};
};
}

View File

@ -25,41 +25,43 @@ let
folder.enable
) cfg.declarative.folders);
# get the api key by parsing the config.xml
getApiKey = pkgs.writers.writeDash "getAPIKey" ''
${pkgs.libxml2}/bin/xmllint \
--xpath 'string(configuration/gui/apikey)'\
${cfg.configDir}/config.xml
'';
updateConfig = pkgs.writers.writeDash "merge-syncthing-config" ''
set -efu
# wait for syncthing port to open
until ${pkgs.curl}/bin/curl -Ss ${cfg.guiAddress} -o /dev/null; do
sleep 1
done
API_KEY=$(${getApiKey})
OLD_CFG=$(${pkgs.curl}/bin/curl -Ss \
-H "X-API-Key: $API_KEY" \
${cfg.guiAddress}/rest/system/config)
# get the api key by parsing the config.xml
while
! api_key=$(${pkgs.libxml2}/bin/xmllint \
--xpath 'string(configuration/gui/apikey)' \
${cfg.configDir}/config.xml)
do sleep 1; done
# generate the new config by merging with the nixos config options
NEW_CFG=$(echo "$OLD_CFG" | ${pkgs.jq}/bin/jq -s '.[] as $in | $in * {
"devices": (${builtins.toJSON devices}${optionalString (! cfg.declarative.overrideDevices) " + $in.devices"}),
"folders": (${builtins.toJSON folders}${optionalString (! cfg.declarative.overrideFolders) " + $in.folders"})
}')
curl() {
while
${pkgs.curl}/bin/curl -Ss -H "X-API-Key: $api_key" \
--retry 100 --retry-delay 1 --retry-connrefused "$@"
status=$?
[ "$status" -eq 52 ] # retry on empty reply from server
do sleep 1; done
return "$status"
}
# POST the new config to syncthing
echo "$NEW_CFG" | ${pkgs.curl}/bin/curl -Ss \
-H "X-API-Key: $API_KEY" \
${cfg.guiAddress}/rest/system/config -d @-
# query the old config
old_cfg=$(curl ${cfg.guiAddress}/rest/config)
# restart syncthing after sending the new config
${pkgs.curl}/bin/curl -Ss \
-H "X-API-Key: $API_KEY" \
-X POST \
${cfg.guiAddress}/rest/system/restart
# generate the new config by merging with the NixOS config options
new_cfg=$(echo "$old_cfg" | ${pkgs.jq}/bin/jq -c '. * {
"devices": (${builtins.toJSON devices}${optionalString (! cfg.declarative.overrideDevices) " + .devices"}),
"folders": (${builtins.toJSON folders}${optionalString (! cfg.declarative.overrideFolders) " + .folders"})
} * ${builtins.toJSON cfg.declarative.extraOptions}')
# send the new config
curl -X PUT -d "$new_cfg" ${cfg.guiAddress}/rest/config
# restart Syncthing if required
if curl ${cfg.guiAddress}/rest/config/restart-required |
${pkgs.jq}/bin/jq -e .requiresRestart > /dev/null; then
curl -X POST ${cfg.guiAddress}/rest/system/restart
fi
'';
in {
###### interface
@ -77,7 +79,7 @@ in {
type = types.nullOr types.str;
default = null;
description = ''
Path to users cert.pem file, will be copied into the syncthing's
Path to users cert.pem file, will be copied into Syncthing's
<literal>configDir</literal>
'';
};
@ -86,7 +88,7 @@ in {
type = types.nullOr types.str;
default = null;
description = ''
Path to users key.pem file, will be copied into the syncthing's
Path to users key.pem file, will be copied into Syncthing's
<literal>configDir</literal>
'';
};
@ -105,7 +107,7 @@ in {
devices = mkOption {
default = {};
description = ''
Peers/devices which syncthing should communicate with.
Peers/devices which Syncthing should communicate with.
'';
example = {
bigbox = {
@ -168,7 +170,7 @@ in {
folders = mkOption {
default = {};
description = ''
folders which should be shared by syncthing.
Folders which should be shared by Syncthing.
'';
example = literalExample ''
{
@ -227,7 +229,7 @@ in {
versioning = mkOption {
default = null;
description = ''
How to keep changed/deleted files with syncthing.
How to keep changed/deleted files with Syncthing.
There are 4 different types of versioning with different parameters.
See https://docs.syncthing.net/users/versioning.html
'';
@ -335,10 +337,21 @@ in {
upstream's docs</link>.
'';
};
};
}));
};
extraOptions = mkOption {
type = types.addCheck (pkgs.formats.json {}).type isAttrs;
default = {};
description = ''
Extra configuration options for Syncthing.
'';
example = {
options.localAnnounceEnabled = false;
gui.theme = "black";
};
};
};
guiAddress = mkOption {
@ -378,7 +391,7 @@ in {
default = null;
example = "socks5://address.com:1234";
description = ''
Overwrites all_proxy environment variable for the syncthing process to
Overwrites all_proxy environment variable for the Syncthing process to
the given value. This is normaly used to let relay client connect
through SOCKS5 proxy server.
'';
@ -412,7 +425,7 @@ in {
Open the default ports in the firewall:
- TCP 22000 for transfers
- UDP 21027 for discovery
If multiple users are running syncthing on this machine, you will need to manually open a set of ports for each instance and leave this disabled.
If multiple users are running Syncthing on this machine, you will need to manually open a set of ports for each instance and leave this disabled.
Alternatively, if are running only a single instance on this machine using the default ports, enable this.
'';
};
@ -431,7 +444,7 @@ in {
imports = [
(mkRemovedOptionModule ["services" "syncthing" "useInotify"] ''
This option was removed because syncthing now has the inotify functionality included under the name "fswatcher".
This option was removed because Syncthing now has the inotify functionality included under the name "fswatcher".
It can be enabled on a per-folder basis through the webinterface.
'')
];
@ -516,8 +529,9 @@ in {
};
};
syncthing-init = mkIf (
cfg.declarative.devices != {} || cfg.declarative.folders != {}
cfg.declarative.devices != {} || cfg.declarative.folders != {} || cfg.declarative.extraOptions != {}
) {
description = "Syncthing configuration updater";
after = [ "syncthing.service" ];
wantedBy = [ "multi-user.target" ];

View File

@ -273,6 +273,26 @@ let
'';
};
influxdb = {
exporterConfig = {
enable = true;
sampleExpiry = "3s";
};
exporterTest = ''
wait_for_unit("prometheus-influxdb-exporter.service")
succeed(
"curl -XPOST http://localhost:9122/write --data-binary 'influxdb_exporter,distro=nixos,added_in=21.09 value=1'"
)
succeed(
"curl -sSf http://localhost:9122/metrics | grep 'nixos'"
)
execute("sleep 5")
fail(
"curl -sSf http://localhost:9122/metrics | grep 'nixos'"
)
'';
};
jitsi = {
exporterConfig = {
enable = true;

View File

@ -17,6 +17,7 @@ in {
path = "/tmp/test";
devices = [ "testDevice" ];
};
extraOptions.gui.user = "guiUser";
};
};
};
@ -27,5 +28,6 @@ in {
assert "testFolder" in config
assert "${testId}" in config
assert "guiUser" in config
'';
})

View File

@ -25,7 +25,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
"xmllint --xpath 'string(configuration/gui/apikey)' %s/config.xml" % confdir
).strip()
oldConf = host.succeed(
"curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/system/config" % APIKey
"curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config" % APIKey
)
conf = json.loads(oldConf)
conf["devices"].append({"deviceID": deviceID, "id": name})
@ -39,7 +39,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
)
newConf = json.dumps(conf)
host.succeed(
"curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/system/config -d %s"
"curl -Ssf -H 'X-API-Key: %s' 127.0.0.1:8384/rest/config -X PUT -d %s"
% (APIKey, shlex.quote(newConf))
)

View File

@ -1,19 +1,19 @@
{ stdenv, lib, fetchurl, pkg-config, systemd ? null, libobjc, IOKit, fetchpatch }:
{ stdenv, lib, fetchurl, pkg-config, systemd, libobjc, IOKit, fetchpatch }:
stdenv.mkDerivation rec {
name = "libusb-1.0.19";
pname = "libusb";
version = "1.0.19";
src = fetchurl {
url = "mirror://sourceforge/libusb/${name}.tar.bz2";
url = "mirror://sourceforge/libusb/libusb-${version}.tar.bz2";
sha256 = "0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c";
};
outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
buildInputs = [ pkg-config ];
propagatedBuildInputs =
lib.optional stdenv.isLinux systemd ++
lib.optionals stdenv.isDarwin [ libobjc IOKit ];
propagatedBuildInputs = lib.optional stdenv.isLinux systemd
++ lib.optionals stdenv.isDarwin [ libobjc IOKit ];
patches = [
(fetchpatch {
@ -32,6 +32,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
homepage = "http://www.libusb.info";
description = "User-space USB library";
maintainers = with maintainers; [ ];
platforms = platforms.unix;
license = licenses.lgpl21;
};

View File

@ -29,8 +29,14 @@ python3Packages.buildPythonApplication rec {
glibcLocales
];
# as of 2021-07, the gobject-introspection setup hook does not
# work with `strictDeps` enabled, thus for proper `wrapGAppsHook`
# it needs to be disabled explicitly. https://github.com/NixOS/nixpkgs/issues/56943
strictDeps = false;
buildInputs = [
python3
gtk3
gobject-introspection
gnome.adwaita-icon-theme
];
@ -49,7 +55,6 @@ python3Packages.buildPythonApplication rec {
eyeD3
podcastparser
html5lib
gtk3
];
makeFlags = [

View File

@ -14,16 +14,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "ncspot";
version = "0.7.3";
version = "0.8.1";
src = fetchFromGitHub {
owner = "hrkfdn";
repo = "ncspot";
rev = "v${version}";
sha256 = "0lfly3d8pag78pabmna4i6xjwzi65dx1mwfmsk7nx64brq3iypbq";
sha256 = "0sgnd6n8j8lygmb9qvv6i2ir28fdsrpmzlviz7d0gbx684qj0zkc";
};
cargoSha256 = "0a6d41ll90fza6k3lixjqzwxim98q6zbkqa3zvxvs7q5ydzg8nsp";
cargoSha256 = "0piipqf5y5bczbwkaplv6niqh3rp2di1gn7wwpd0gaa2cw7ylbb1";
cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ];

View File

@ -1,22 +1,40 @@
{ lib, stdenv, fetchurl, cmake, makedepend, perl, pkg-config, qttools, wrapQtAppsHook
, dssi, fftwSinglePrec, ladspaH, ladspaPlugins, libjack2, alsa-lib
, liblo, libsamplerate, libsndfile, lirc ? null, lrdf, qtbase }:
{ lib
, stdenv
, fetchurl
, cmake
, makedepend
, perl
, pkg-config
, qttools
, wrapQtAppsHook
, dssi
, fftwSinglePrec
, ladspaH
, ladspaPlugins
, libjack2
, alsa-lib
, liblo
, libsamplerate
, libsndfile
, lirc
, lrdf
, qtbase
}:
stdenv.mkDerivation (rec {
version = "20.12";
stdenv.mkDerivation rec {
pname = "rosegarden";
version = "20.12";
src = fetchurl {
url = "mirror://sourceforge/rosegarden/${pname}-${version}.tar.bz2";
sha256 = "sha256-iGaEr8WFipV4I00fhFGI2xMBFPf784IIxNXs2hUTHFs=";
};
patchPhase = ''
postPhase = ''
substituteInPlace src/CMakeLists.txt --replace svnheader svnversion
'';
nativeBuildInputs =
[ cmake makedepend perl pkg-config qttools wrapQtAppsHook ];
nativeBuildInputs = [ cmake makedepend perl pkg-config qttools wrapQtAppsHook ];
buildInputs = [
dssi
@ -49,4 +67,4 @@ stdenv.mkDerivation (rec {
license = licenses.lgpl2Plus;
platforms = platforms.linux;
};
})
}

View File

@ -1,12 +1,28 @@
{ lib, stdenv, mkDerivation, fetchFromGitHub, pkg-config, cmake, openssl, db53, boost
, zlib, miniupnpc, qtbase ? null , qttools ? null, util-linux, protobuf, qrencode, libevent
, withGui, python3, jemalloc, zeromq4 }:
with lib;
{ lib
, stdenv
, mkDerivation
, fetchFromGitHub
, pkg-config
, cmake
, openssl
, db53
, boost
, zlib
, miniupnpc
, qtbase ? null
, qttools ? null
, util-linux
, protobuf
, qrencode
, libevent
, withGui
, python3
, jemalloc
, zeromq4
}:
mkDerivation rec {
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-abc";
version = "0.21.13";
src = fetchFromGitHub {
@ -19,11 +35,21 @@ mkDerivation rec {
patches = [ ./fix-bitcoin-qt-build.patch ];
nativeBuildInputs = [ pkg-config cmake ];
buildInputs = [ openssl db53 boost zlib python3 jemalloc zeromq4
miniupnpc util-linux protobuf libevent ]
++ optionals withGui [ qtbase qttools qrencode ];
buildInputs = [
openssl
db53
boost
zlib
python3
jemalloc
zeromq4
miniupnpc
util-linux
protobuf
libevent
] ++ lib.optionals withGui [ qtbase qttools qrencode ];
cmakeFlags = optionals (!withGui) [
cmakeFlags = lib.optionals (!withGui) [
"-DBUILD_BITCOIN_QT=OFF"
];
@ -32,9 +58,9 @@ mkDerivation rec {
find ./. -type f -iname "*.sh" -exec chmod +x {} \;
'';
meta = {
meta = with lib; {
description = "Peer-to-peer electronic cash system (Cash client)";
longDescription= ''
longDescription = ''
Bitcoin ABC is the name of open source software which enables the use of Bitcoin.
It is designed to facilite a hard fork to increase Bitcoin's block size limit.
"ABC" stands for "Adjustable Blocksize Cap".

View File

@ -1,12 +1,24 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, autoreconfHook, openssl, db48, boost
, zlib, miniupnpc, qtbase ? null, qttools ? null, util-linux, protobuf, qrencode, libevent
, withGui }:
with lib;
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, autoreconfHook
, openssl
, db48
, boost
, zlib
, miniupnpc
, qtbase ? null
, qttools ? null
, util-linux
, protobuf
, qrencode
, libevent
, withGui
}:
stdenv.mkDerivation rec {
name = "bitcoin" + (toString (optional (!withGui) "d")) + "-classic-" + version;
pname = "bitcoin" + lib.optionalString (!withGui) "d" + "-classic";
version = "1.3.8uahf";
src = fetchFromGitHub {
@ -17,22 +29,30 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ pkg-config autoreconfHook ];
buildInputs = [ openssl db48 boost zlib
miniupnpc util-linux protobuf libevent ]
++ optionals withGui [ qtbase qttools qrencode ];
buildInputs = [
openssl
db48
boost
zlib
miniupnpc
util-linux
protobuf
libevent
] ++ lib.optionals withGui [ qtbase qttools qrencode ];
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
++ optionals withGui [ "--with-gui=qt5"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
++ lib.optionals withGui [
"--with-gui=qt5"
"--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
];
enableParallelBuilding = true;
dontWrapQtApps = true;
meta = {
meta = with lib; {
description = "Peer-to-peer electronic cash system (Classic client)";
longDescription= ''
longDescription = ''
Bitcoin is a free open source peer-to-peer electronic cash system that is
completely decentralized, without the need for a central server or trusted
parties. Users hold the crypto keys to their own money and transact directly

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "geeqie";
version = "1.5.1";
version = "1.6.0";
src = fetchurl {
url = "http://geeqie.org/${pname}-${version}.tar.xz";
sha256 = "02m1vqaasin249xx792cdj11xyag8lnanwzxd108y7y34g9xam28";
url = "https://github.com/BestImageViewer/geeqie/archive/refs/tags/v1.6.tar.gz";
sha256 = "0ky248j6n8hszkwwi949i1ypm2l5444byaspaa6564d9rpij01aj";
};
patches = [
@ -23,9 +23,10 @@ stdenv.mkDerivation rec {
preConfigure = "./autogen.sh";
nativeBuildInputs = [ pkg-config autoconf automake gettext intltool
wrapGAppsHook
];
nativeBuildInputs =
[ pkg-config autoconf automake gettext intltool
wrapGAppsHook
];
buildInputs = [
gtk3 lcms2 exiv2 libchamplain clutter-gtk ffmpegthumbnailer fbida

View File

@ -0,0 +1,32 @@
{ mkDerivation, lib, fetchFromGitLab, qtbase, libcprime, libcsys, cmake, ninja }:
mkDerivation rec {
pname = "corefm";
version = "4.2.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = pname;
rev = "v${version}";
sha256 = "sha256-PczKIKY9uCD+cAzAC6Gkb+g+cn9KKCQYd3epoZK8bvA=";
};
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [
qtbase
libcprime
libcsys
];
meta = with lib; {
description = "A lightwight filemanager from the C Suite";
homepage = "https://gitlab.com/cubocore/coreapps/corefm";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dan4ik605743 ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,8 @@
--- a/corepkit/CMakeLists.txt
+++ b/corepkit/Cmakelists.txt
@@ -32,4 +32,4 @@
target_link_libraries( corepkit Qt5::Core )
install( TARGETS corepkit DESTINATION libexec/coreapps/ )
-install( FILES org.cubocore.coreapps.policy DESTINATION /usr/share/polkit-1/actions/ )
+install( FILES org.cubocore.coreapps.policy DESTINATION ${CMAKE_INSTALL_PREFIX}/usr/share/polkit-1/actions/ )

View File

@ -0,0 +1,62 @@
{ mkDerivation, lib, fetchFromGitLab, libcprime, cmake, ninja
, ffmpeg, qtbase, qtx11extras, qtconnectivity, v4l-utils, grim, wf-recorder
, libdbusmenu, playerctl, xorg, iio-sensor-proxy, inotify-tools
, bluez, networkmanager, connman, redshift, gawk
, polkit, libnotify, systemd, xdg-utils }:
mkDerivation rec {
pname = "coretoppings";
version = "4.2.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = pname;
rev = "v${version}";
sha256 = "sha256-DpmzGqjW1swLirRLzd5nblAb40LHAmf8nL+VykQNL3E=";
};
nativeBuildInputs = [
cmake
ninja
];
patches = [
# Fix file cannot create directory: /var/empty/share/polkit-1/actions
./0001-fix-install-phase.patch
];
buildInputs = [
qtbase
qtx11extras
qtconnectivity
libdbusmenu
libcprime
ffmpeg
v4l-utils
grim
wf-recorder
playerctl
xorg.xrandr
xorg.xinput
xorg.libXdamage
iio-sensor-proxy
inotify-tools
bluez
networkmanager
connman
redshift
gawk
polkit
libnotify
systemd
xdg-utils
];
meta = with lib; {
description = "Additional features,plugins etc for CuboCore Application Suite";
homepage = "https://gitlab.com/cubocore/coreapps/coretoppings";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dan4ik605743 ];
platforms = platforms.linux;
};
}

View File

@ -90,11 +90,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.26.77";
version = "1.27.108";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "tV/VseU+IncvM3gdrmqkYLPClbsf2kSvIAZj0Ylz2Rw=";
sha256 = "Lz6rNTRoxt/UQFMQ9vurFhXWUshLDfWMxFON4nXfIiY=";
};
dontConfigure = true;
@ -124,9 +124,11 @@ stdenv.mkDerivation rec {
ln -sf $BINARYWRAPPER $out/bin/brave
for exe in $out/opt/brave.com/brave/{brave,crashpad_handler}; do
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}" $out/opt/brave.com/brave/brave
--set-rpath "${rpath}" $exe
done
# Fix paths
substituteInPlace $out/share/applications/brave-browser.desktop \

View File

@ -31,12 +31,12 @@ let
in mkDerivationWith python3Packages.buildPythonApplication rec {
pname = "qutebrowser";
version = "2.3.0";
version = "2.3.1";
# the release tarballs are different from the git checkout!
src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
sha256 = "09fz6rd0laisq7pqf9nrllcx58yb129fc05kdk45zrwwggq03b8h";
sha256 = "05n64mw9lzzxpxr7lhakbkm9ir3x8p0rwk6vbbg01aqg5iaanyj0";
};
# Needs tox

View File

@ -7,6 +7,7 @@
, makeWrapper
, rsync
, installShellFiles
, nixosTests
, components ? [
"cmd/kubelet"
@ -66,8 +67,8 @@ stdenv.mkDerivation rec {
install -D build/pause/linux/pause -t $pause/bin
installManPage docs/man/man1/*.[1-9]
# Unfortunately, kube-addons-main.sh only looks for the lib file in either the current working dir
# or in /opt. We have to patch this for now.
# Unfortunately, kube-addons-main.sh only looks for the lib file in either the
# current working dir or in /opt. We have to patch this for now.
substitute cluster/addons/addon-manager/kube-addons-main.sh $out/bin/kube-addons \
--subst-var out
@ -95,4 +96,11 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ johanot offline saschagrunert ];
platforms = platforms.unix;
};
passthru.tests = with nixosTests.kubernetes; {
dns-single-node = dns.singlenode;
dns-multi-node = dns.multinode;
rbac-single-node = rbac.singlenode;
rbac-multi-node = rbac.multinode;
};
}

View File

@ -634,9 +634,10 @@
"owner": "equinix",
"provider-source-address": "registry.terraform.io/equinix/metal",
"repo": "terraform-provider-metal",
"rev": "v2.1.0",
"sha256": "06i3rj6ig8hxbncdpa8b11v8pr3zhi90ppmf77jjin1114ikd172",
"version": "2.1.0"
"rev": "v3.0.0",
"sha256": "08h1h0rpaxpidhslpq1i4bmc6i48rwcg7fsvwgqc202l5m7yk3wd",
"vendorSha256": null,
"version": "3.0.0"
},
"metalcloud": {
"owner": "terraform-providers",

View File

@ -114,6 +114,6 @@ in mkDerivation rec {
platforms = platforms.linux;
homepage = "https://desktop.telegram.org/";
changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v${version}";
maintainers = with maintainers; [ primeos abbradar oxalica ];
maintainers = with maintainers; [ oxalica primeos ];
};
}

View File

@ -3,7 +3,7 @@
, gtkmm3, libpeas, gsettings-desktop-schemas, gobject-introspection, python3
# vim to be used, should support the GUI mode.
, vim ? vim_configurable.override { features = "normal"; gui = "auto"; }
, vim
# additional python3 packages to be available within plugins
, extraPythonPackages ? []

View File

@ -1,4 +1,4 @@
{lib, stdenv, fetchFromGitHub, ocamlPackages, fontschumachermisc, xset, makeWrapper, ncurses, gnugrep, fetchpatch
{lib, stdenv, fetchFromGitHub, ocamlPackages, fontschumachermisc, xset, makeWrapper, ncurses, gnugrep, fetchpatch, copyDesktopItems, makeDesktopItem
, enableX11 ? true}:
let inherit (ocamlPackages) ocaml lablgtk; in
@ -14,7 +14,7 @@ stdenv.mkDerivation (rec {
sha256 = "sha256-42hmdMwOYSWGiDCmhuqtpCWtvtyD2l+kA/bhHD/Qh5Y=";
};
nativeBuildInputs = [ makeWrapper ];
nativeBuildInputs = [ makeWrapper ] ++ (lib.lists.optional enableX11 copyDesktopItems);
buildInputs = [ ocaml ncurses ];
patches = [
@ -27,9 +27,9 @@ stdenv.mkDerivation (rec {
})
];
preBuild = (if enableX11 then ''
preBuild = (lib.strings.optionalString enableX11 ''
sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" src/Makefile.OCaml
'' else "") + ''
'') + ''
echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> src/fsmonitor/linux/Makefile
'';
@ -40,15 +40,32 @@ stdenv.mkDerivation (rec {
preInstall = "mkdir -p $out/bin";
postInstall = if enableX11 then ''
postInstall = lib.strings.optionalString enableX11 ''
for i in $(cd $out/bin && ls); do
wrapProgram $out/bin/$i \
--run "[ -n \"\$DISPLAY\" ] && (${xset}/bin/xset q | ${gnugrep}/bin/grep -q \"${fontschumachermisc}\" || ${xset}/bin/xset +fp \"${fontschumachermisc}/lib/X11/fonts/misc\")"
done
'' else "";
install -D $src/icons/U.svg $out/share/icons/hicolor/scalable/apps/unison.svg
'';
dontStrip = !ocaml.nativeCompilers;
desktopItems = lib.lists.optional enableX11 (makeDesktopItem {
name = pname;
desktopName = "Unison";
comment = "Bidirectional file synchronizer";
genericName = "File synchronization tool";
exec = "unison";
icon = "unison";
categories = "Utility;FileTools;GTK;";
extraDesktopEntries={
StartupWMClass="Unison";
StartupNotify="true";
X-MultipleArgs="false";
};
});
meta = {
homepage = "https://www.cis.upenn.edu/~bcpierce/unison/";
description = "Bidirectional file synchronizer";

View File

@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
makeFlags = [
"prefix=$(out)"
"CGIT_SCRIPT_PATH=$out/cgit/"
"CGIT_SCRIPT_PATH=$(out)/cgit/"
"CC=${stdenv.cc.targetPrefix}cc"
"AR=${stdenv.cc.targetPrefix}ar"
];

View File

@ -13,21 +13,21 @@
}:
let
version = "1.16.3";
version = "1.16.4";
# Using two URLs as the first one will break as soon as a new version is released
src_bin = fetchurl {
urls = [
"http://www.makemkv.com/download/makemkv-bin-${version}.tar.gz"
"http://www.makemkv.com/download/old/makemkv-bin-${version}.tar.gz"
];
hash = "sha256-G2XceMwiFu4fWT4L3HJzDB/rD3eSX6ko6RdVw72QLzg=";
sha256 = "18kalql846b9ggl3nsz2dpbg51byn8pj0y68fsdcgwwkgvsx7yr2";
};
src_oss = fetchurl {
urls = [
"http://www.makemkv.com/download/makemkv-oss-${version}.tar.gz"
"http://www.makemkv.com/download/old/makemkv-oss-${version}.tar.gz"
];
hash = "sha256-YUGozP9B6vmWQ4WxctSbezzu+0yLJXNKQk9TwnQF8F0=";
sha256 = "0ssg3q1z80652d4gkv1z7kpsxx82xcw6kpsw266c8q4y2n8x7c76";
};
in mkDerivation {
pname = "makemkv";

View File

@ -7,13 +7,13 @@
python3.pkgs.buildPythonApplication rec {
pname = "streamlink";
version = "2.2.0";
version = "2.3.0";
src = fetchFromGitHub {
owner = "streamlink";
repo = "streamlink";
rev = version;
sha256 = "1323v1pavmbb2vk3djdkxd8j6i3yrcgrkyl2d7xwkb7nwlla1x1v";
sha256 = "sha256-lsurDFvVHn1rxR3bgG7BY512ISavpja36/UaKXauf+g=";
};
checkInputs = with python3.pkgs; [
@ -35,9 +35,11 @@ python3.pkgs.buildPythonApplication rec {
ffmpeg
];
disabledTests = [
"test_plugin_not_in_removed_list"
];
# note that upstream currently uses requests 2.25.1 in Windows builds
postPatch = ''
substituteInPlace setup.py \
--replace 'requests>=2.26.0,<3.0' 'requests>=2.25.1,<3.0'
'';
meta = with lib; {
homepage = "https://github.com/streamlink/streamlink";

View File

@ -38,13 +38,13 @@ let
in
stdenv.mkDerivation rec {
pname = "crun";
version = "0.20.1";
version = "0.21";
src = fetchFromGitHub {
owner = "containers";
repo = pname;
rev = version;
sha256 = "sha256-Fo8UCUwZ5RiJTXs1jWn1Mwq2qvK8p++ETxW9Tseokjw=";
sha256 = "sha256-PhhaCXtWsknMsEt1F9jMfEWSl+OLQ/C/iTj7t0XuAFw=";
fetchSubmodules = true;
};

View File

@ -1,7 +1,7 @@
{ fetchurl, lib, stdenv }:
let
version = "0.24.4";
version = "0.24.5";
suffix = {
x86_64-linux = "x86_64";
@ -22,8 +22,8 @@ stdenv.mkDerivation {
sourceRoot = ".";
src = dlbin {
x86_64-linux = "sha256-EKndfLdkxn+S+2ElAyQ+mKEo5XN6kqZLuLCsQf+fKuk=";
aarch64-linux = "0zzr8x776aya6f6pw0dc0a6jxgbqv3f37p1vd8mmlsdv66c4kmfb";
x86_64-linux = "sha256-drcm2kz2csuJqr8Oqs0r1BrxgPHOyuwC2S+99MhbMjA=";
aarch64-linux = "sha256-x8RoBmgY3HRUOLw8YzEwQfQuT83zGfBHHWu88b4i05o=";
};
dontConfigure = true;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "virt-what";
version = "1.20";
version = "1.21";
src = fetchurl {
url = "https://people.redhat.com/~rjones/virt-what/files/${pname}-${version}.tar.gz";
sha256 = "1s0hg5w47gmnllbs935bx21k3zqrgvqx1wn0zzij2lfxkb9dq4zr";
sha256 = "0yqz1l4di57d4y1z94yhdmkiykg9a8i7xwkqmd9zsk5a6i9lbjqj";
};
meta = with lib; {

View File

@ -1,14 +1,14 @@
{ lib, fetchzip }:
let
version = "2.225";
version = "2.241";
in
fetchzip {
name = "JetBrainsMono-${version}";
url = "https://github.com/JetBrains/JetBrainsMono/releases/download/v${version}/JetBrainsMono-${version}.zip";
sha256 = "1k8xmjaingz50626hd73hqbp196kg3zndiy0aqb88z5cw9nd0fva";
sha256 = "1gwhbmq8zw026i66g96i75zn2zff7cr83ns8aaslrzsrkk247lah";
postFetch = ''
mkdir -p $out/share/fonts

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "gnome-autoar";
version = "0.3.2";
version = "0.3.3";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0wkwix44yg126xn1v4f2j60bv9yiyadfpzf8ifx0bvd9x5f4v354";
sha256 = "JyQA9zo3Wn6I/fHhJZG/uPPwPt8BeAytzXT3C2E+XAQ=";
};
passthru = {

View File

@ -156,7 +156,9 @@ stdenv.mkDerivation ({
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ texinfo which gettext ]
++ (optional (perl != null) perl);
++ (optional (perl != null) perl)
++ (optional langAda gnatboot)
;
# For building runtime libs
depsBuildTarget =
@ -177,7 +179,6 @@ stdenv.mkDerivation ({
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional langAda gnatboot)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;

View File

@ -161,7 +161,9 @@ stdenv.mkDerivation ({
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ texinfo which gettext ]
++ (optional (perl != null) perl);
++ (optional (perl != null) perl)
++ (optional langAda gnatboot)
;
# For building runtime libs
depsBuildTarget =
@ -182,7 +184,6 @@ stdenv.mkDerivation ({
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional langAda gnatboot)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;

View File

@ -199,7 +199,9 @@ stdenv.mkDerivation ({
nativeBuildInputs = [ texinfo which gettext ]
++ (optional (perl != null) perl)
++ (optional javaAwtGtk pkg-config)
++ (optional (with stdenv.targetPlatform; isVc4 || isRedox) flex);
++ (optional (with stdenv.targetPlatform; isVc4 || isRedox) flex)
++ (optional langAda gnatboot)
;
# For building runtime libs
depsBuildTarget =
@ -222,7 +224,6 @@ stdenv.mkDerivation ({
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional langAda gnatboot)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;

View File

@ -170,7 +170,9 @@ stdenv.mkDerivation ({
depsBuildBuild = [ buildPackages.stdenv.cc ];
nativeBuildInputs = [ texinfo which gettext ]
++ (optional (perl != null) perl);
++ (optional (perl != null) perl)
++ (optional langAda gnatboot)
;
# For building runtime libs
depsBuildTarget =
@ -191,7 +193,6 @@ stdenv.mkDerivation ({
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ (optional hostPlatform.isDarwin gnused)
++ (optional langAda gnatboot)
;
depsTargetTarget = optional (!crossStageStatic && threadsCross != null) threadsCross;

View File

@ -170,8 +170,11 @@ let
"--enable-cloog-backend=isl"
]
# Ada options
++ lib.optional langAda "--enable-libada"
# Ada options, gcc can't build the runtime library for a cross compiler
++ lib.optional langAda
(if hostPlatform == targetPlatform
then "--enable-libada"
else "--disable-libada")
# Java options
++ lib.optionals langJava [

View File

@ -1,15 +1,19 @@
{ lib, stdenv, fetchurl }:
if stdenv.hostPlatform != stdenv.targetPlatform
then builtins.throw "gnatboot can't cross-compile"
else
stdenv.mkDerivation {
pname = "gentoo-gnatboot";
version = "4.1";
src = if stdenv.system == "i686-linux" then
src = if stdenv.hostPlatform.system == "i686-linux" then
fetchurl {
url = mirror://gentoo/distfiles/gnatboot-4.1-i386.tar.bz2;
sha256 = "0665zk71598204bf521vw68i5y6ccqarq9fcxsqp7ccgycb4lysr";
}
else if stdenv.system == "x86_64-linux" then
else if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = mirror://gentoo/distfiles/gnatboot-4.1-amd64.tar.bz2;
sha256 = "1li4d52lmbnfs6llcshlbqyik2q2q4bvpir0f7n38nagp0h6j0d4";

View File

@ -21,8 +21,8 @@ let
release_version = "13.0.0";
candidate = ""; # empty or "rcN"
dash-candidate = lib.optionalString (candidate != "") "-${candidate}";
rev = "1605fce6c3074f8d1dff5a917a1840ffa66abd86"; # When using a Git commit
rev-version = "unstable-2021-06-19"; # When using a Git commit
rev = "98033fdc50e61273b1d5c77ba5f0f75afe3965c1"; # When using a Git commit
rev-version = "unstable-2021-07-12"; # When using a Git commit
version = if rev != "" then rev-version else "${release_version}${dash-candidate}";
targetConfig = stdenv.targetPlatform.config;
@ -30,7 +30,7 @@ let
owner = "llvm";
repo = "llvm-project";
rev = if rev != "" then rev else "llvmorg-${version}";
sha256 = "1jf0b9vn4qv5gsvhyg6xsqdkdl4vzn7j4sfcldl8bggcgjmzp0q1";
sha256 = "0m28wpkyymzgqflp8xwyab0vryn3jln565qk15qm839n0d0mq3hh";
};
llvm_meta = {

View File

@ -14,20 +14,21 @@ in
buildPythonPackage rec {
pname = "vyper";
version = "0.2.11";
version = "0.2.15";
src = fetchPypi {
inherit pname version;
sha256 = "e763561a161c35c03b92a0c176096dd9b4c78ab003c2f08324d443f459b3de84";
sha256 = "sha256-cNnKHVKwIx0miC2VhGYBzcSckTnyWYmjNzW0bEzP4bU=";
};
nativeBuildInputs = [ pytest-runner ];
# Replace the dynamic commit hash lookup with the hash from the tag
postPatch = ''
substituteInPlace setup.py \
--replace 'asttokens==' 'asttokens>=' \
--replace 'subprocess.check_output("git rev-parse HEAD".split())' "' '" \
--replace 'commithash.decode("utf-8").strip()' "'069936fa3fee8646ff362145593128d7ef07da38'"
--replace 'commithash.decode("utf-8").strip()' "'6e7dba7a8b5f29762d3470da4f44634b819c808d'"
'';
propagatedBuildInputs = [

View File

@ -6,10 +6,12 @@ with lib; mkCoqDerivation rec {
defaultVersion = switch coq.coq-version [
{ case = "8.6"; out = "8.8.1"; }
{ case = (versions.range "8.7" "8.12"); out = "8.12.0"; }
{ case = (versions.range "8.13" "8.13"); out = "c366d3f01ec1812b145117a4da940518b092d3a6"; }
] null;
release = {
"8.8.1".sha256 = "0gh32j0f18vv5lmf6nb87nr5450w6ai06rhrnvlx2wwi79gv10wp";
"8.12.0".sha256 = "0b92vhyzn1j6cs84z2182fn82hxxj0bqq7hk6cs4awwb3vc7dkhi";
"c366d3f01ec1812b145117a4da940518b092d3a6".sha256 = "1wzr7mdsnf1rq7q0dvmv55vxzysy85b00ahwbs868bl7m8fk8x5b";
};
preConfigure = "patchShebangs ./configure.sh";

View File

@ -78,6 +78,6 @@ stdenv.mkDerivation rec {
homepage = "https://gitlab.gnome.org/GNOME/gcab";
license = licenses.lgpl21Plus;
maintainers = teams.gnome.members;
platforms = platforms.linux;
platforms = platforms.unix;
};
}

View File

@ -10,6 +10,8 @@
, nss
, gobject-introspection
, coreutils
, cairo
, libgudev
, gtk-doc
, docbook-xsl-nons
, docbook_xml_dtd_43
@ -17,7 +19,7 @@
stdenv.mkDerivation rec {
pname = "libfprint";
version = "1.90.7";
version = "1.92.1";
outputs = [ "out" "devdoc" ];
src = fetchFromGitLab {
@ -25,7 +27,7 @@ stdenv.mkDerivation rec {
owner = "libfprint";
repo = pname;
rev = "v${version}";
sha256 = "sha256-g/yczzCZEzUKV2uFl1MAPL1H/R2QJSwxgppI2ftt9QI=";
sha256 = "0dpwzmwl9jjpaz44znvy3v8s9sln0c71b756rs1knk0zx8sa1qbc";
};
nativeBuildInputs = [
@ -43,6 +45,8 @@ stdenv.mkDerivation rec {
pixman
glib
nss
cairo
libgudev
];
checkInputs = [
@ -53,6 +57,7 @@ stdenv.mkDerivation rec {
"-Dudev_rules_dir=${placeholder "out"}/lib/udev/rules.d"
# Include virtual drivers for fprintd tests
"-Ddrivers=all"
"-Dudev_hwdb_dir=${placeholder "out"}/lib/udev/hwdb.d"
];
doCheck = true;
@ -61,7 +66,9 @@ stdenv.mkDerivation rec {
patchShebangs \
tests/test-runner.sh \
tests/unittest_inspector.py \
tests/virtual-image.py
tests/virtual-image.py \
tests/umockdev-test.py \
tests/test-generated-hwdb.sh
'';
meta = with lib; {

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, pkg-config, vala, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome }:
{ lib, stdenv, fetchurl, fetchpatch, pkg-config, vala, gobject-introspection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome }:
let
version = "0.7.0";
@ -14,6 +14,15 @@ stdenv.mkDerivation {
sha256 = "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7";
};
patches = [
(fetchpatch {
name = "CVE-2016-20011.patch";
# https://gitlab.gnome.org/GNOME/libgrss/-/merge_requests/7, not yet merged!
url = "https://gitlab.gnome.org/GNOME/libgrss/-/commit/2c6ea642663e2a44efc8583fae7c54b7b98f72b3.patch";
sha256 = "1ijvq2jl97vphcvrbrqxvszdmv6yyjfygdca9vyaijpafwyzzb18";
})
];
nativeBuildInputs = [ pkg-config vala gobject-introspection gtk-doc docbook_xsl docbook_xml_dtd_412 ];
buildInputs = [ glib libxml2 libsoup ];

View File

@ -1,25 +0,0 @@
source $stdenv/setup
preConfigure() {
# Workarounds for the ancient libtool shipped by libjpeg.
ln -s $libtool/bin/libtool .
cp $libtool/share/libtool/config.guess .
cp $libtool/share/libtool/config.sub .
}
preInstall() {
mkdir $out
mkdir $out/bin
mkdir $out/lib
mkdir $out/include
mkdir $out/man
mkdir $out/man/man1
}
patchPhase() {
for i in $patches; do
patch < $i
done
}
genericBuild

View File

@ -1,23 +1,23 @@
{ lib, stdenv, fetchurl, static ? false }:
with lib;
stdenv.mkDerivation {
name = "libjpeg-9d";
stdenv.mkDerivation rec {
pname = "libjpeg";
version = "9d";
src = fetchurl {
url = "http://www.ijg.org/files/jpegsrc.v9d.tar.gz";
url = "http://www.ijg.org/files/jpegsrc.v${version}.tar.gz";
sha256 = "1vkip9rz4hz8f31a2kl7wl7f772wg1z0fg1fbd1653wzwlxllhvc";
};
configureFlags = optional static "--enable-static --disable-shared";
configureFlags = lib.optional static "--enable-static --disable-shared";
outputs = [ "bin" "dev" "out" "man" ];
meta = {
homepage = "http://www.ijg.org/";
meta = with lib; {
homepage = "https://www.ijg.org/";
description = "A library that implements the JPEG image file format";
license = lib.licenses.free;
platforms = lib.platforms.unix;
maintainers = with maintainers; [ ];
license = licenses.free;
platforms = platforms.unix;
};
}

View File

@ -49,21 +49,17 @@ let
version = "5.212.0-alpha4";
};
# Even if developed in the public, QtWebEngine does not have official
# releases or new tags since the Qt company made 5.15.3 proprietary.
# Apparently they care more about licensing than the security of their users.
# See https://lists.qt-project.org/pipermail/interest/2021-March/036387.html
qtwebengine =
let
branchName = "5.15.3";
rev = "a059e7404a6db799f4da0ad696e65ae9c854b4b0";
branchName = "5.15.5";
rev = "v${branchName}-lts";
in
{
version = "${branchName}-${lib.substring 0 7 rev}";
src = fetchgit {
url = "https://github.com/qt/qtwebengine.git";
sha256 = "1vdgxfbmx4z4qrm2g61dl64gqn3fv5f83jwpp7h1gyfx5z2qvfmv";
sha256 = "12wf30d34sgn82mbz91xybxyn3j1mhvxda452cfkxm232n1f2kjb";
inherit rev branchName;
fetchSubmodules = true;
leaveDotGit = true;
@ -120,11 +116,6 @@ let
qtscript = [ ./qtscript.patch ];
qtserialport = [ ./qtserialport.patch ];
qtwebengine = [
# Fix crashes with non en_US.UTF-8 locales
(fetchpatch {
url = "https://github.com/qt/qtwebengine/commit/199ea00a9eea13315a652c62778738629185b059.patch";
sha256 = "1b5k2g1v8913cvsgvp6ja4mcprjlk5vcwqzi0p1qq7b1wyi4f0g2";
})
# Fix invisible fonts with glibc 2.33: https://github.com/NixOS/nixpkgs/issues/131074
(fetchpatch {
url = "https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/d122c011631137b79455850c363676c655cf9e09/f/qtwebengine-everywhere-src-5.15.5-%231904652.patch";

View File

@ -166,7 +166,7 @@ qtModule {
# X11 libs
xorg.xrandr libXScrnSaver libXcursor libXrandr xorg.libpciaccess libXtst
xorg.libXcomposite xorg.libXdamage libdrm
xorg.libXcomposite xorg.libXdamage libdrm xorg.libxkbfile
] ++ optionals (stdenv.isLinux && (lib.versionAtLeast qtCompatVersion "5.15")) [
# Pipewire

View File

@ -199,6 +199,7 @@
, "purescript-language-server"
, "purescript-psa"
, "purty"
, "pxder"
, "pyright"
, "quicktype"
, "react-native-cli"

File diff suppressed because it is too large Load Diff

View File

@ -7,11 +7,11 @@ buildDunePackage rec {
minimumOCamlVersion = "4.08";
pname = "mirage-crypto";
version = "0.10.2";
version = "0.10.3";
src = fetchurl {
url = "https://github.com/mirage/mirage-crypto/releases/download/v${version}/mirage-crypto-v${version}.tbz";
sha256 = "96c4826fa3532c9d2ba21cd5fa25df003be3df20b2cc01068b60d59e0222d906";
sha256 = "a27910365d59b02c3f0e8a40d93a5b81835acf832e1ffa596ee772b41e8a900b";
};
useDune2 = true;

View File

@ -2,23 +2,22 @@
, buildPythonPackage
, fetchFromGitHub
, python
, dbus, dbus-python, pytest, pytest-cov, pytest-asyncio, pytest-timeout
, dbus, pytest, pytest-cov, pytest-asyncio, pytest-timeout
}:
buildPythonPackage rec {
pname = "dbus-next";
version = "0.2.2";
version = "0.2.3";
src = fetchFromGitHub {
owner = "altdesktop";
repo = "python-dbus-next";
rev = "v${version}";
sha256 = "0x78ghkci4las13gwbrm8fzg671lx1q2cn8h0f64ki8yag1myia1";
sha256 = "sha256-EKEQZFRUe+E65Z6DNCJFL5uCI5kbXrN7Tzd4O0X5Cqo=";
};
checkInputs = [
dbus
dbus-python
pytest
pytest-cov
pytest-asyncio

View File

@ -0,0 +1,37 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, setuptools
, pytestCheckHook
, pytest-socket
, pytest-mock
}:
buildPythonPackage rec {
pname = "luddite";
version = "1.0.2";
src = fetchFromGitHub {
owner = "jumptrading";
repo = pname;
rev = "v${version}";
sha256 = "8/7uwO5HLhyXYt+T6VUO/O7TN9+FfRlT8y0r5+CJ/l4=";
};
postPatch = ''
substituteInPlace pytest.ini \
--replace "--cov=luddite --cov-report=html --cov-report=term --no-cov-on-fail" ""
'';
propagatedBuildInputs = [ setuptools ];
checkInputs = [ pytestCheckHook pytest-socket pytest-mock ];
pythonImportsCheck = [ "luddite" ];
meta = with lib; {
description = "Checks for out-of-date package versions";
homepage = "https://github.com/jumptrading/luddite";
license = licenses.asl20;
maintainers = with maintainers; [ angustrau ];
};
}

View File

@ -1,3 +1,4 @@
{ lib
, aiohttp
, async-timeout
@ -9,14 +10,14 @@
buildPythonPackage rec {
pname = "millheater";
version = "0.5.0";
version = "0.5.2";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "Danielhiversen";
repo = "pymill";
rev = version;
sha256 = "sha256-uMvCpXz+amb5mR9ebkAit21UFYpsTkjkZRXtmcvWt8k=";
sha256 = "0ndfxdg10m9mahnwbs66dnyc1lr8q7vs71y6zwxlc0h27hr3gr0d";
};
propagatedBuildInputs = [

View File

@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "regenmaschine";
version = "3.1.3";
version = "3.1.4";
format = "pyproject";
disabled = pythonOlder "3.6";
@ -22,7 +22,7 @@ buildPythonPackage rec {
owner = "bachya";
repo = pname;
rev = version;
sha256 = "sha256-3Q0JQQVspzuQQAn3S46uFbOYW2zQ7c1UL4zjEOnifDY=";
sha256 = "07ldbajm1y92szdc36z5cl02dpvbarsb8clq9m45849gm8g7yczd";
};
nativeBuildInputs = [

View File

@ -72,7 +72,7 @@ let
tfFeature = x: if x then "1" else "0";
version = "2.4.1";
version = "2.4.2";
variant = if cudaSupport then "-gpu" else "";
pname = "tensorflow${variant}";
@ -110,7 +110,7 @@ let
owner = "tensorflow";
repo = "tensorflow";
rev = "v${version}";
sha256 = "sha256-J62QfP45g5nxN9Nqa1tAGyc4vD2JKh50ddHLrd6/qsY=";
sha256 = "07a2y05hixch1bjag5pzw3p1m7bdj3bq4gdvmsfk2xraz49b1pi8";
};
patches = [

View File

@ -7,16 +7,16 @@
buildGoModule rec {
pname = "buf";
version = "0.44.0";
version = "0.46.0";
src = fetchFromGitHub {
owner = "bufbuild";
repo = pname;
rev = "v${version}";
sha256 = "sha256-ZcZvsFw/l/7N8Yb4HG6w96ce9c4g4iiG/TcDoj8RYmA=";
sha256 = "sha256-5mjk31HuPNO/RhmMhIm3dAZAED/Kk33ObjC8KbPKRxk=";
leaveDotGit = true; # Required by TestWorkspaceGit
};
vendorSha256 = "sha256-g0wrHPeHFOL6KB0SUgBy2WK54Kttiks4cuYg8jf3N9g=";
vendorSha256 = "sha256-K8UZDEhAvD292RCEDKfY9PdZGS389vLF3oukcBndUF4=";
patches = [
# Skip a test that requires networking to be available to work.

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "conftest";
version = "0.25.0";
version = "0.26.0";
src = fetchFromGitHub {
owner = "open-policy-agent";
repo = "conftest";
rev = "v${version}";
sha256 = "sha256-pxPqBUOsXbP9giaV5NS3a6Z6auN4vUTIrIKcNh8xURU=";
sha256 = "sha256-AIFZhe0N6FT06IrDVF2OVfSwmQVg62ZglOcnnDL9TK8=";
};
vendorSha256 = "sha256-y8DRrthaUzMKxFbdbASvqsRMT+jex7jMJA6g7YF/VxI=";
vendorSha256 = "sha256-7wj1n5ggYYrmMrDuQkbbJ2C1S1LHawkkj91owHDIwr0=";
doCheck = false;
@ -36,6 +36,6 @@ buildGoModule rec {
'';
inherit (src.meta) homepage;
license = licenses.asl20;
maintainers = with maintainers; [ yurrriq ];
maintainers = with maintainers; [ yurrriq jk ];
};
}

View File

@ -10,14 +10,22 @@ stdenv.mkDerivation rec {
buildInputs = [motif ncurses libX11 libXt];
configureFlags = [ "--with-x" ];
patches = [ ./gcc44.patch ];
patches = [
# http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504868
./gcc44.patch
];
NIX_CFLAGS_COMPILE = "-fpermissive";
postInstall = ''
install -D icons/ddd.xpm $out/share/pixmaps/ddd.xpm
'';
meta = {
homepage = "https://www.gnu.org/software/ddd";
description = "Graphical front-end for command-line debuggers";
license = lib.licenses.gpl2;
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
maintainers = with lib.maintainers; [ angustrau ];
};
}

View File

@ -59,7 +59,8 @@ stdenv.mkDerivation rec {
bzip2
];
doCheck = true;
# WiX tests fail on darwin
doCheck = !stdenv.isDarwin;
postPatch = ''
patchShebangs subprojects/bats-core/{bin,libexec}

Some files were not shown because too many files have changed in this diff Show More