Merge master into haskell-updates
This commit is contained in:
commit
065068c0f9
160 changed files with 2825 additions and 1694 deletions
1
.github/labeler.yml
vendored
1
.github/labeler.yml
vendored
|
@ -70,6 +70,7 @@
|
|||
|
||||
"6.topic: nixos":
|
||||
- nixos/**/*
|
||||
- pkgs/os-specific/linux/nixos-rebuild/**/*
|
||||
|
||||
"6.topic: ocaml":
|
||||
- doc/languages-frameworks/ocaml.section.md
|
||||
|
|
|
@ -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`:
|
||||
|
|
|
@ -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> ->
|
||||
<literal>bbenoist.nix</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>CoenraadS.bracket-pair-colorizer</literal> ->
|
||||
<literal>coenraads.bracket-pair-colorizer</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<literal>golang.Go</literal> ->
|
||||
<literal>golang.go</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-21.11-notable-changes">
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
};
|
||||
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
120
nixos/modules/services/misc/mx-puppet-discord.nix
Normal file
120
nixos/modules/services/misc/mx-puppet-discord.nix
Normal 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 ];
|
||||
}
|
|
@ -33,6 +33,7 @@ let
|
|||
"domain"
|
||||
"dovecot"
|
||||
"fritzbox"
|
||||
"influxdb"
|
||||
"json"
|
||||
"jitsi"
|
||||
"kea"
|
||||
|
|
|
@ -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}
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
|
@ -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" ];
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
'';
|
||||
})
|
||||
|
|
|
@ -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))
|
||||
)
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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}" ];
|
||||
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
})
|
||||
}
|
||||
|
|
|
@ -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".
|
|
@ -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
|
|
@ -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
|
||||
|
|
32
pkgs/applications/misc/corefm/default.nix
Normal file
32
pkgs/applications/misc/corefm/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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/ )
|
62
pkgs/applications/misc/coretoppings/default.nix
Normal file
62
pkgs/applications/misc/coretoppings/default.nix
Normal 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;
|
||||
};
|
||||
}
|
|
@ -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 \
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ? []
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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"
|
||||
];
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 [
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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 = {
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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; {
|
||||
|
|
|
@ -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 ];
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -199,6 +199,7 @@
|
|||
, "purescript-language-server"
|
||||
, "purescript-psa"
|
||||
, "purty"
|
||||
, "pxder"
|
||||
, "pyright"
|
||||
, "quicktype"
|
||||
, "react-native-cli"
|
||||
|
|
2577
pkgs/development/node-packages/node-packages.nix
generated
2577
pkgs/development/node-packages/node-packages.nix
generated
File diff suppressed because it is too large
Load diff
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
37
pkgs/development/python-modules/luddite/default.nix
Normal file
37
pkgs/development/python-modules/luddite/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue