mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-20 02:55:39 +00:00
Merge branch 'staging-next' into staging
Regenerated pkgs/servers/x11/xorg/default.nix to resolve the conflict.
This commit is contained in:
commit
e3dfa79441
14
.github/CODEOWNERS
vendored
14
.github/CODEOWNERS
vendored
@ -82,13 +82,13 @@
|
||||
/pkgs/development/interpreters/python/conda @DavHau
|
||||
|
||||
# Haskell
|
||||
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn
|
||||
/maintainers/scripts/haskell @cdepillabout @sternenseemann @maralorn
|
||||
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann @maralorn
|
||||
/pkgs/development/haskell-modules @cdepillabout @sternenseemann @maralorn
|
||||
/pkgs/test/haskell @cdepillabout @sternenseemann @maralorn
|
||||
/pkgs/top-level/release-haskell.nix @cdepillabout @sternenseemann @maralorn
|
||||
/pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn
|
||||
/doc/languages-frameworks/haskell.section.md @cdepillabout @sternenseemann @maralorn @expipiplus1
|
||||
/maintainers/scripts/haskell @cdepillabout @sternenseemann @maralorn @expipiplus1
|
||||
/pkgs/development/compilers/ghc @cdepillabout @sternenseemann @maralorn @expipiplus1
|
||||
/pkgs/development/haskell-modules @cdepillabout @sternenseemann @maralorn @expipiplus1
|
||||
/pkgs/test/haskell @cdepillabout @sternenseemann @maralorn @expipiplus1
|
||||
/pkgs/top-level/release-haskell.nix @cdepillabout @sternenseemann @maralorn @expipiplus1
|
||||
/pkgs/top-level/haskell-packages.nix @cdepillabout @sternenseemann @maralorn @expipiplus1
|
||||
|
||||
# Perl
|
||||
/pkgs/development/interpreters/perl @volth @stigtsp
|
||||
|
@ -796,6 +796,12 @@
|
||||
githubId = 718812;
|
||||
name = "Antoine R. Dumont";
|
||||
};
|
||||
arezvov = {
|
||||
email = "alex@rezvov.ru";
|
||||
github = "arezvov";
|
||||
githubId = 58516559;
|
||||
name = "Alexander Rezvov";
|
||||
};
|
||||
arianvp = {
|
||||
email = "arian.vanputten@gmail.com";
|
||||
github = "arianvp";
|
||||
@ -902,6 +908,12 @@
|
||||
githubId = 869771;
|
||||
name = "Kirill Boltaev";
|
||||
};
|
||||
ashley = {
|
||||
email = "personavinny@protonmail.com";
|
||||
github = "paranoidcat";
|
||||
githubId = 84152630;
|
||||
name = "Ashley Chiara";
|
||||
};
|
||||
asppsa = {
|
||||
email = "asppsa@gmail.com";
|
||||
github = "asppsa";
|
||||
@ -2381,6 +2393,12 @@
|
||||
github = "delan";
|
||||
githubId = 465303;
|
||||
};
|
||||
deliciouslytyped = {
|
||||
email = "47436522+deliciouslytyped@users.noreply.github.com";
|
||||
github = "deliciouslytyped";
|
||||
githubId = 47436522;
|
||||
name = "deliciouslytyped";
|
||||
};
|
||||
delroth = {
|
||||
email = "delroth@gmail.com";
|
||||
github = "delroth";
|
||||
@ -4281,6 +4299,12 @@
|
||||
githubId = 3661115;
|
||||
name = "Ingo Blechschmidt";
|
||||
};
|
||||
icy-thought = {
|
||||
name = "Icy-Thought";
|
||||
email = "gilganyx@pm.me";
|
||||
github = "Icy-Thought";
|
||||
githubId = 53710398;
|
||||
};
|
||||
idontgetoutmuch = {
|
||||
email = "dominic@steinitz.org";
|
||||
github = "idontgetoutmuch";
|
||||
@ -6426,12 +6450,6 @@
|
||||
githubId = 2649304;
|
||||
name = "M. Baeten";
|
||||
};
|
||||
mbakke = {
|
||||
email = "mbakke@fastmail.com";
|
||||
github = "mbakke";
|
||||
githubId = 1269099;
|
||||
name = "Marius Bakke";
|
||||
};
|
||||
mbaillie = {
|
||||
email = "martin@baillie.id";
|
||||
github = "martinbaillie";
|
||||
@ -7211,6 +7229,12 @@
|
||||
githubId = 818502;
|
||||
name = "Nathan Yong";
|
||||
};
|
||||
natto1784 = {
|
||||
email = "natto@weirdnatto.in";
|
||||
github = "natto1784";
|
||||
githubId = 56316606;
|
||||
name = "Amneesh Singh";
|
||||
};
|
||||
nbren12 = {
|
||||
email = "nbren12@gmail.com";
|
||||
github = "nbren12";
|
||||
@ -8175,6 +8199,12 @@
|
||||
githubId = 1829032;
|
||||
name = "Paul Hendry";
|
||||
};
|
||||
polygon = {
|
||||
email = "polygon@wh2.tu-dresden.de";
|
||||
name = "Polygon";
|
||||
github = "polygon";
|
||||
githubId = 51489;
|
||||
};
|
||||
polyrod = {
|
||||
email = "dc1mdp@gmail.com";
|
||||
github = "polyrod";
|
||||
@ -11709,6 +11739,16 @@
|
||||
github = "pulsation";
|
||||
githubId = 1838397;
|
||||
};
|
||||
princemachiavelli = {
|
||||
name = "Josh Hoffer";
|
||||
email = "jhoffer@sansorgan.es";
|
||||
github = "princemachiavelli";
|
||||
githubId = 2730968;
|
||||
keys = [{
|
||||
longkeyid = "ed25519/0x83124F97A318EA18";
|
||||
fingerprint = "DD54 130B ABEC B65C 1F6B 2A38 8312 4F97 A318 EA18";
|
||||
}];
|
||||
};
|
||||
ydlr = {
|
||||
name = "ydlr";
|
||||
email = "ydlr@ydlr.io";
|
||||
|
@ -40,6 +40,14 @@
|
||||
<link xlink:href="options.html#opt-services.sourcehut.enable">services.sourcehut</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://download.pureftpd.org/pub/ucarp/README">ucarp</link>,
|
||||
an userspace implementation of the Common Address Redundancy
|
||||
Protocol (CARP). Available as
|
||||
<link xlink:href="options.html#opt-networking.ucarp.enable">networking.ucarp</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="backward-incompatibilities">
|
||||
@ -232,6 +240,75 @@
|
||||
<literal>services.x2goserver</literal>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
The following dotnet-related packages have been removed for
|
||||
being unmaintaned. Please use <literal>fetchNuGet</literal>
|
||||
for specific packages.
|
||||
</para>
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem>
|
||||
<para>
|
||||
Autofac
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
SystemValueTuple
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
MicrosoftDiaSymReader
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
MicrosoftDiaSymReaderPortablePdb
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
SystemCollectionsImmutable
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
SystemCollectionsImmutable131
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
SystemReflectionMetadata
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
NUnit350
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Deedle
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
ExcelDna
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
GitVersionTree
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
NDeskOptions
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="other-notable-changes">
|
||||
|
@ -18,6 +18,10 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
development. Available as
|
||||
[services.sourcehut](options.html#opt-services.sourcehut.enable).
|
||||
|
||||
* [ucarp](https://download.pureftpd.org/pub/ucarp/README), an userspace
|
||||
implementation of the Common Address Redundancy Protocol (CARP). Available as
|
||||
[networking.ucarp](options.html#opt-networking.ucarp.enable).
|
||||
|
||||
## Backward Incompatibilities
|
||||
|
||||
* The `staticjinja` package has been upgraded from 1.0.4 to 2.0.0
|
||||
@ -66,4 +70,19 @@ In addition to numerous new and upgraded packages, this release has the followin
|
||||
|
||||
* `programs.x2goserver` is now `services.x2goserver`
|
||||
|
||||
* The following dotnet-related packages have been removed for being unmaintaned.
|
||||
Please use `fetchNuGet` for specific packages.
|
||||
- Autofac
|
||||
- SystemValueTuple
|
||||
- MicrosoftDiaSymReader
|
||||
- MicrosoftDiaSymReaderPortablePdb
|
||||
- SystemCollectionsImmutable
|
||||
- SystemCollectionsImmutable131
|
||||
- SystemReflectionMetadata
|
||||
- NUnit350
|
||||
- Deedle
|
||||
- ExcelDna
|
||||
- GitVersionTree
|
||||
- NDeskOptions
|
||||
|
||||
## Other Notable Changes
|
||||
|
@ -114,6 +114,19 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
discardPolicy = mkOption {
|
||||
default = null;
|
||||
example = "once";
|
||||
type = types.nullOr (types.enum ["once" "pages" "both" ]);
|
||||
description = ''
|
||||
Specify the discard policy for the swap device. If "once", then the
|
||||
whole swap space is discarded at swapon invocation. If "pages",
|
||||
asynchronous discard on freed pages is performed, before returning to
|
||||
the available pages pool. With "both", both policies are activated.
|
||||
See swapon(8) for more information.
|
||||
'';
|
||||
};
|
||||
|
||||
deviceName = mkOption {
|
||||
type = types.str;
|
||||
internal = true;
|
||||
|
@ -840,6 +840,7 @@
|
||||
./services/networking/tox-node.nix
|
||||
./services/networking/toxvpn.nix
|
||||
./services/networking/tvheadend.nix
|
||||
./services/networking/ucarp.nix
|
||||
./services/networking/unbound.nix
|
||||
./services/networking/unifi.nix
|
||||
./services/networking/v2ray.nix
|
||||
|
74
nixos/modules/services/audio/roon-bridge.nix
Normal file
74
nixos/modules/services/audio/roon-bridge.nix
Normal file
@ -0,0 +1,74 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
name = "roon-bridge";
|
||||
cfg = config.services.roon-bridge;
|
||||
in {
|
||||
options = {
|
||||
services.roon-bridge = {
|
||||
enable = mkEnableOption "Roon Bridge";
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Open ports in the firewall for the bridge.
|
||||
|
||||
UDP: 9003
|
||||
TCP: 9100 - 9200
|
||||
'';
|
||||
};
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
default = "roon-bridge";
|
||||
description = ''
|
||||
User to run the Roon bridge as.
|
||||
'';
|
||||
};
|
||||
group = mkOption {
|
||||
type = types.str;
|
||||
default = "roon-bridge";
|
||||
description = ''
|
||||
Group to run the Roon Bridge as.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.roon-bridge = {
|
||||
after = [ "network.target" ];
|
||||
description = "Roon Bridge";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
environment.ROON_DATAROOT = "/var/lib/${name}";
|
||||
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.roon-bridge}/start.sh";
|
||||
LimitNOFILE = 8192;
|
||||
User = cfg.user;
|
||||
Group = cfg.group;
|
||||
StateDirectory = name;
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall = mkIf cfg.openFirewall {
|
||||
allowedTCPPortRanges = [
|
||||
{ from = 9100; to = 9200; }
|
||||
];
|
||||
allowedUDPPorts = [ 9003 ];
|
||||
};
|
||||
|
||||
|
||||
users.groups.${cfg.group} = {};
|
||||
users.users.${cfg.user} =
|
||||
if cfg.user == "roon-bridge" then {
|
||||
isSystemUser = true;
|
||||
description = "Roon Bridge user";
|
||||
group = cfg.group;
|
||||
extraGroups = [ "audio" ];
|
||||
}
|
||||
else {};
|
||||
};
|
||||
}
|
@ -12,7 +12,6 @@ in {
|
||||
config = mkIf cfg.enable {
|
||||
systemd.user.services.espanso = {
|
||||
description = "Espanso daemon";
|
||||
path = with pkgs; [ espanso libnotify xclip ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.espanso}/bin/espanso daemon";
|
||||
Restart = "on-failure";
|
||||
|
@ -12,7 +12,13 @@ in {
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.auto-cpufreq ];
|
||||
|
||||
systemd.packages = [ pkgs.auto-cpufreq ];
|
||||
systemd.services.auto-cpufreq.path = with pkgs; [ bash coreutils ];
|
||||
systemd = {
|
||||
packages = [ pkgs.auto-cpufreq ];
|
||||
services.auto-cpufreq = {
|
||||
# Workaround for https://github.com/NixOS/nixpkgs/issues/81138
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = with pkgs; [ bash coreutils ];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -66,7 +66,9 @@ in {
|
||||
meta.maintainers = teams.home-assistant.members;
|
||||
|
||||
options.services.home-assistant = {
|
||||
enable = mkEnableOption "Home Assistant";
|
||||
# Running home-assistant on NixOS is considered an installation method that is unsupported by the upstream project.
|
||||
# https://github.com/home-assistant/architecture/blob/master/adr/0012-define-supported-installation-method.md#decision
|
||||
enable = mkEnableOption "Home Assistant. Please note that this installation method is unsupported upstream";
|
||||
|
||||
configDir = mkOption {
|
||||
default = "/var/lib/hass";
|
||||
|
@ -94,7 +94,7 @@ let
|
||||
description = "Name of the datasource. Required.";
|
||||
};
|
||||
type = mkOption {
|
||||
type = types.enum ["graphite" "prometheus" "cloudwatch" "elasticsearch" "influxdb" "opentsdb" "mysql" "mssql" "postgres" "loki"];
|
||||
type = types.str;
|
||||
description = "Datasource type. Required.";
|
||||
};
|
||||
access = mkOption {
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
let
|
||||
inherit (lib) mkEnableOption mkIf mkOption types;
|
||||
inherit (pkgs) solanum;
|
||||
inherit (pkgs) solanum util-linux;
|
||||
cfg = config.services.solanum;
|
||||
|
||||
configFile = pkgs.writeText "solanum.conf" cfg.config;
|
||||
@ -78,12 +78,20 @@ in
|
||||
|
||||
config = mkIf cfg.enable (lib.mkMerge [
|
||||
{
|
||||
|
||||
environment.etc."solanum/ircd.conf".source = configFile;
|
||||
|
||||
systemd.services.solanum = {
|
||||
description = "Solanum IRC daemon";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
reloadIfChanged = true;
|
||||
restartTriggers = [
|
||||
configFile
|
||||
];
|
||||
serviceConfig = {
|
||||
ExecStart = "${solanum}/bin/solanum -foreground -logfile /dev/stdout -configfile ${configFile} -pidfile /run/solanum/ircd.pid";
|
||||
ExecStart = "${solanum}/bin/solanum -foreground -logfile /dev/stdout -configfile /etc/solanum/ircd.conf -pidfile /run/solanum/ircd.pid";
|
||||
ExecReload = "${util-linux}/bin/kill -HUP $MAINPID";
|
||||
DynamicUser = true;
|
||||
User = "solanum";
|
||||
StateDirectory = "solanum";
|
||||
|
@ -41,6 +41,10 @@ let
|
||||
Warning: If you are using <literal>NixOps</literal> then don't use this
|
||||
option since it will replace the key required for deployment via ssh.
|
||||
'';
|
||||
example = [
|
||||
"ssh-rsa AAAAB3NzaC1yc2etc/etc/etcjwrsh8e596z6J0l7 example@host"
|
||||
"ssh-ed25519 AAAAC3NzaCetcetera/etceteraJZMfk3QPfQ foo@bar"
|
||||
];
|
||||
};
|
||||
|
||||
keyFiles = mkOption {
|
||||
@ -252,7 +256,17 @@ in
|
||||
authorizedKeysFiles = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = "Files from which authorized keys are read.";
|
||||
description = ''
|
||||
Specify the rules for which files to read on the host.
|
||||
|
||||
This is an advanced option. If you're looking to configure user
|
||||
keys, you can generally use <xref linkend="opt-users.users._name_.openssh.authorizedKeys.keys"/>
|
||||
or <xref linkend="opt-users.users._name_.openssh.authorizedKeys.keyFiles"/>.
|
||||
|
||||
These are paths relative to the host root file system or home
|
||||
directories and they are subject to certain token expansion rules.
|
||||
See AuthorizedKeysFile in man sshd_config for details.
|
||||
'';
|
||||
};
|
||||
|
||||
authorizedKeysCommand = mkOption {
|
||||
|
183
nixos/modules/services/networking/ucarp.nix
Normal file
183
nixos/modules/services/networking/ucarp.nix
Normal file
@ -0,0 +1,183 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.networking.ucarp;
|
||||
|
||||
ucarpExec = concatStringsSep " " (
|
||||
[
|
||||
"${cfg.package}/bin/ucarp"
|
||||
"--interface=${cfg.interface}"
|
||||
"--srcip=${cfg.srcIp}"
|
||||
"--vhid=${toString cfg.vhId}"
|
||||
"--passfile=${cfg.passwordFile}"
|
||||
"--addr=${cfg.addr}"
|
||||
"--advbase=${toString cfg.advBase}"
|
||||
"--advskew=${toString cfg.advSkew}"
|
||||
"--upscript=${cfg.upscript}"
|
||||
"--downscript=${cfg.downscript}"
|
||||
"--deadratio=${toString cfg.deadratio}"
|
||||
]
|
||||
++ (optional cfg.preempt "--preempt")
|
||||
++ (optional cfg.neutral "--neutral")
|
||||
++ (optional cfg.shutdown "--shutdown")
|
||||
++ (optional cfg.ignoreIfState "--ignoreifstate")
|
||||
++ (optional cfg.noMcast "--nomcast")
|
||||
++ (optional (cfg.extraParam != null) "--xparam=${cfg.extraParam}")
|
||||
);
|
||||
in {
|
||||
options.networking.ucarp = {
|
||||
enable = mkEnableOption "ucarp, userspace implementation of CARP";
|
||||
|
||||
interface = mkOption {
|
||||
type = types.str;
|
||||
description = "Network interface to bind to.";
|
||||
example = "eth0";
|
||||
};
|
||||
|
||||
srcIp = mkOption {
|
||||
type = types.str;
|
||||
description = "Source (real) IP address of this host.";
|
||||
};
|
||||
|
||||
vhId = mkOption {
|
||||
type = types.ints.between 1 255;
|
||||
description = "Virtual IP identifier shared between CARP hosts.";
|
||||
example = 1;
|
||||
};
|
||||
|
||||
passwordFile = mkOption {
|
||||
type = types.str;
|
||||
description = "File containing shared password between CARP hosts.";
|
||||
example = "/run/keys/ucarp-password";
|
||||
};
|
||||
|
||||
preempt = mkOption {
|
||||
type = types.bool;
|
||||
description = ''
|
||||
Enable preemptive failover.
|
||||
Thus, this host becomes the CARP master as soon as possible.
|
||||
'';
|
||||
default = false;
|
||||
};
|
||||
|
||||
neutral = mkOption {
|
||||
type = types.bool;
|
||||
description = "Do not run downscript at start if the host is the backup.";
|
||||
default = false;
|
||||
};
|
||||
|
||||
addr = mkOption {
|
||||
type = types.str;
|
||||
description = "Virtual shared IP address.";
|
||||
};
|
||||
|
||||
advBase = mkOption {
|
||||
type = types.ints.unsigned;
|
||||
description = "Advertisement frequency in seconds.";
|
||||
default = 1;
|
||||
};
|
||||
|
||||
advSkew = mkOption {
|
||||
type = types.ints.unsigned;
|
||||
description = "Advertisement skew in seconds.";
|
||||
default = 0;
|
||||
};
|
||||
|
||||
upscript = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Command to run after become master, the interface name, virtual address
|
||||
and optional extra parameters are passed as arguments.
|
||||
'';
|
||||
example = ''
|
||||
pkgs.writeScript "upscript" '''
|
||||
#!/bin/sh
|
||||
$\{pkgs.iproute2\}/bin/ip addr add "$2"/24 dev "$1"
|
||||
''';
|
||||
'';
|
||||
};
|
||||
|
||||
downscript = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Command to run after become backup, the interface name, virtual address
|
||||
and optional extra parameters are passed as arguments.
|
||||
'';
|
||||
example = ''
|
||||
pkgs.writeScript "downscript" '''
|
||||
#!/bin/sh
|
||||
$\{pkgs.iproute2\}/bin/ip addr del "$2"/24 dev "$1"
|
||||
''';
|
||||
'';
|
||||
};
|
||||
|
||||
deadratio = mkOption {
|
||||
type = types.ints.unsigned;
|
||||
description = "Ratio to consider a host as dead.";
|
||||
default = 3;
|
||||
};
|
||||
|
||||
shutdown = mkOption {
|
||||
type = types.bool;
|
||||
description = "Call downscript at exit.";
|
||||
default = false;
|
||||
};
|
||||
|
||||
ignoreIfState = mkOption {
|
||||
type = types.bool;
|
||||
description = "Ignore interface state, e.g., down or no carrier.";
|
||||
default = false;
|
||||
};
|
||||
|
||||
noMcast = mkOption {
|
||||
type = types.bool;
|
||||
description = "Use broadcast instead of multicast advertisements.";
|
||||
default = false;
|
||||
};
|
||||
|
||||
extraParam = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
description = "Extra parameter to pass to the up/down scripts.";
|
||||
default = null;
|
||||
};
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
description = ''
|
||||
Package that should be used for ucarp.
|
||||
|
||||
Please note that the default package, pkgs.ucarp, has not received any
|
||||
upstream updates for a long time and can be considered as unmaintained.
|
||||
'';
|
||||
default = pkgs.ucarp;
|
||||
defaultText = "pkgs.ucarp";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.ucarp = {
|
||||
description = "ucarp, userspace implementation of CARP";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "exec";
|
||||
ExecStart = ucarpExec;
|
||||
|
||||
ProtectSystem = "strict";
|
||||
ProtectHome = true;
|
||||
PrivateTmp = true;
|
||||
ProtectClock = true;
|
||||
ProtectKernelModules = true;
|
||||
ProtectControlGroups = true;
|
||||
MemoryDenyWriteExecute = true;
|
||||
RestrictRealtime = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ oxzi ];
|
||||
}
|
@ -254,8 +254,11 @@ in
|
||||
skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
|
||||
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
|
||||
escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
|
||||
swapOptions = sw: "defaults"
|
||||
+ optionalString (sw.priority != null) ",pri=${toString sw.priority}";
|
||||
swapOptions = sw: concatStringsSep "," (
|
||||
[ "defaults" ]
|
||||
++ optional (sw.priority != null) "pri=${toString sw.priority}"
|
||||
++ optional (sw.discardPolicy != null) "discard${optionalString (sw.discardPolicy != "both") "=${toString sw.discardPolicy}"}"
|
||||
);
|
||||
in ''
|
||||
# This is a generated file. Do not edit!
|
||||
#
|
||||
|
@ -434,6 +434,7 @@ in
|
||||
trilium-server = handleTestOn ["x86_64-linux"] ./trilium-server.nix {};
|
||||
tuptime = handleTest ./tuptime.nix {};
|
||||
turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {};
|
||||
ucarp = handleTest ./ucarp.nix {};
|
||||
ucg = handleTest ./ucg.nix {};
|
||||
udisks2 = handleTest ./udisks2.nix {};
|
||||
unbound = handleTest ./unbound.nix {};
|
||||
|
@ -15,36 +15,33 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
|
||||
# Test ext4 + overlayfs
|
||||
machine.succeed(
|
||||
"""
|
||||
mkfs.ext4 -F -L overlay-ext4 /dev/vdb
|
||||
mount -t ext4 /dev/vdb /tmp/mnt
|
||||
mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged
|
||||
# Setup some existing files
|
||||
echo 'Replace' > /tmp/mnt/lower/replace.txt
|
||||
echo 'Append' > /tmp/mnt/lower/append.txt
|
||||
echo 'Overwrite' > /tmp/mnt/lower/overwrite.txt
|
||||
mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged
|
||||
# Test new
|
||||
echo 'New' > /tmp/mnt/merged/new.txt
|
||||
[[ "\$(cat /tmp/mnt/merged/new.txt)" == "New" ]]
|
||||
# Test replace
|
||||
[[ "\$(cat /tmp/mnt/merged/replace.txt)" == "Replace" ]]
|
||||
echo 'Replaced' > /tmp/mnt/merged/replace-tmp.txt
|
||||
mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt
|
||||
[[ "\$(cat /tmp/mnt/merged/replace.txt)" == "Replaced" ]]
|
||||
# Overwrite
|
||||
[[ "\$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwrite" ]]
|
||||
echo 'Overwritten' > /tmp/mnt/merged/overwrite.txt
|
||||
[[ "\$(cat /tmp/mnt/merged/overwrite.txt)" == "Overwritten" ]]
|
||||
# Test append
|
||||
[[ "\$(cat /tmp/mnt/merged/append.txt)" == "Append" ]]
|
||||
echo 'ed' >> /tmp/mnt/merged/append.txt
|
||||
#"cat /tmp/mnt/merged/append.txt && exit 1
|
||||
[[ "\$(cat /tmp/mnt/merged/append.txt)" == "Append\ned" ]]
|
||||
umount /tmp/mnt/merged
|
||||
umount /tmp/mnt
|
||||
udevadm settle
|
||||
"""
|
||||
'mkfs.ext4 -F -L overlay-ext4 /dev/vdb',
|
||||
'mount -t ext4 /dev/vdb /tmp/mnt',
|
||||
'mkdir -p /tmp/mnt/upper /tmp/mnt/lower /tmp/mnt/work /tmp/mnt/merged',
|
||||
# Setup some existing files
|
||||
'echo Replace > /tmp/mnt/lower/replace.txt',
|
||||
'echo Append > /tmp/mnt/lower/append.txt',
|
||||
'echo Overwrite > /tmp/mnt/lower/overwrite.txt',
|
||||
'mount -t overlay overlay -o lowerdir=/tmp/mnt/lower,upperdir=/tmp/mnt/upper,workdir=/tmp/mnt/work /tmp/mnt/merged',
|
||||
# Test new
|
||||
'echo New > /tmp/mnt/merged/new.txt',
|
||||
'[[ "$(cat /tmp/mnt/merged/new.txt)" == New ]]',
|
||||
# Test replace
|
||||
'[[ "$(cat /tmp/mnt/merged/replace.txt)" == Replace ]]',
|
||||
'echo Replaced > /tmp/mnt/merged/replace-tmp.txt',
|
||||
'mv /tmp/mnt/merged/replace-tmp.txt /tmp/mnt/merged/replace.txt',
|
||||
'[[ "$(cat /tmp/mnt/merged/replace.txt)" == Replaced ]]',
|
||||
# Overwrite
|
||||
'[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == Overwrite ]]',
|
||||
'echo Overwritten > /tmp/mnt/merged/overwrite.txt',
|
||||
'[[ "$(cat /tmp/mnt/merged/overwrite.txt)" == Overwritten ]]',
|
||||
# Test append
|
||||
'[[ "$(cat /tmp/mnt/merged/append.txt)" == Append ]]',
|
||||
'echo ed >> /tmp/mnt/merged/append.txt',
|
||||
'[[ "$(cat /tmp/mnt/merged/append.txt)" == "Append\ned" ]]',
|
||||
'umount /tmp/mnt/merged',
|
||||
'umount /tmp/mnt',
|
||||
'udevadm settle',
|
||||
)
|
||||
'';
|
||||
})
|
||||
|
@ -16,6 +16,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
networking.firewall.allowedTCPPorts = [ ircPort ];
|
||||
services.solanum = {
|
||||
enable = true;
|
||||
motd = ''
|
||||
The default MOTD doesn't contain the word "nixos" in it.
|
||||
This one does.
|
||||
'';
|
||||
};
|
||||
};
|
||||
} // lib.listToAttrs (builtins.map (client: lib.nameValuePair client {
|
||||
@ -48,6 +52,10 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: {
|
||||
${client}.wait_for_unit("ii")
|
||||
${client}.wait_for_file("${iiDir}/${server}/out")
|
||||
''
|
||||
# look for the custom text in the MOTD.
|
||||
''
|
||||
${client}.wait_until_succeeds("grep 'nixos' ${iiDir}/${server}/out")
|
||||
''
|
||||
# wait until first PING from server arrives before joining,
|
||||
# so we don't try it too early
|
||||
''
|
||||
|
66
nixos/tests/ucarp.nix
Normal file
66
nixos/tests/ucarp.nix
Normal file
@ -0,0 +1,66 @@
|
||||
import ./make-test-python.nix ({ pkgs, lib, ...} :
|
||||
|
||||
let
|
||||
addrShared = "192.168.0.1";
|
||||
addrHostA = "192.168.0.10";
|
||||
addrHostB = "192.168.0.11";
|
||||
|
||||
mkUcarpHost = addr: { config, pkgs, lib, ... }: {
|
||||
networking.interfaces.eth1.ipv4.addresses = lib.mkForce [
|
||||
{ address = addr; prefixLength = 24; }
|
||||
];
|
||||
|
||||
networking.ucarp = {
|
||||
enable = true;
|
||||
interface = "eth1";
|
||||
srcIp = addr;
|
||||
vhId = 1;
|
||||
passwordFile = "${pkgs.writeText "ucarp-pass" "secure"}";
|
||||
addr = addrShared;
|
||||
upscript = pkgs.writeScript "upscript" ''
|
||||
#!/bin/sh
|
||||
${pkgs.iproute2}/bin/ip addr add "$2"/24 dev "$1"
|
||||
'';
|
||||
downscript = pkgs.writeScript "downscript" ''
|
||||
#!/bin/sh
|
||||
${pkgs.iproute2}/bin/ip addr del "$2"/24 dev "$1"
|
||||
'';
|
||||
};
|
||||
};
|
||||
in {
|
||||
name = "ucarp";
|
||||
meta.maintainers = with lib.maintainers; [ oxzi ];
|
||||
|
||||
nodes = {
|
||||
hostA = mkUcarpHost addrHostA;
|
||||
hostB = mkUcarpHost addrHostB;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
def is_master(host):
|
||||
ipOutput = host.succeed("ip addr show dev eth1")
|
||||
return "inet ${addrShared}/24" in ipOutput
|
||||
|
||||
|
||||
start_all()
|
||||
|
||||
# First, let both hosts start and let a master node be selected
|
||||
for host, peer in [(hostA, "${addrHostB}"), (hostB, "${addrHostA}")]:
|
||||
host.wait_for_unit("ucarp.service")
|
||||
host.succeed(f"ping -c 1 {peer}")
|
||||
|
||||
hostA.sleep(5)
|
||||
|
||||
hostA_master, hostB_master = is_master(hostA), is_master(hostB)
|
||||
assert hostA_master != hostB_master, "only one master node is allowed"
|
||||
|
||||
master_host = hostA if hostA_master else hostB
|
||||
backup_host = hostB if hostA_master else hostA
|
||||
|
||||
# Let's crash the master host and let the backup take over
|
||||
master_host.crash()
|
||||
|
||||
backup_host.sleep(5)
|
||||
assert is_master(backup_host), "backup did not take over"
|
||||
'';
|
||||
})
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bchoppr";
|
||||
version = "1.10.6";
|
||||
version = "1.10.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "sjaehn";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-iCDAIV2p1OkZxOMo8A6zBrOGd49FXAGqLZWk0Kbvgec=";
|
||||
sha256 = "sha256-F2J9TBONluhBuoEnpff3tLZEHFDbmllILqbZvu+PGGI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
@ -1,28 +1,32 @@
|
||||
{ lib, stdenv, fetchFromGitHub, libpulseaudio }:
|
||||
{ lib, stdenv, fetchFromGitHub, installShellFiles, libpulseaudio, nas }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gbsplay-2016-12-17";
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gbsplay";
|
||||
version = "0.0.94";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mmitch";
|
||||
repo = "gbsplay";
|
||||
rev = "2c4486e17fd4f4cdea8c3fd79ae898c892616b70";
|
||||
sha256 = "1214j67sr87zfhvym41cw2g823fmqh4hr451r7y1s9ql3jpjqhpz";
|
||||
rev = version;
|
||||
sha256 = "VpaXbjotmc/Ref1geiKkBX9UhbPxfAGkFAdKVxP8Uxo=";
|
||||
};
|
||||
|
||||
buildInputs = [ libpulseaudio ];
|
||||
configureFlags = [
|
||||
"--without-test" # See mmitch/gbsplay#62
|
||||
"--without-contrib"
|
||||
];
|
||||
|
||||
configureFlags =
|
||||
[ "--without-test" "--without-contrib" "--disable-devdsp"
|
||||
"--enable-pulse" "--disable-alsa" "--disable-midi"
|
||||
"--disable-nas" "--disable-dsound" "--disable-i18n" ];
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
buildInputs = [ libpulseaudio nas ];
|
||||
|
||||
makeFlags = [ "tests=" ];
|
||||
postInstall = ''
|
||||
installShellCompletion --bash --name gbsplay contrib/gbsplay.bashcompletion
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "gameboy sound player";
|
||||
description = "Gameboy sound player";
|
||||
license = licenses.gpl1;
|
||||
platforms = ["i686-linux" "x86_64-linux"];
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ dasuxullebt ];
|
||||
};
|
||||
}
|
||||
|
@ -17,11 +17,12 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "reaper";
|
||||
version = "6.28";
|
||||
version = "6.29";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_x86_64.tar.xz";
|
||||
hash = "sha256-38HSjR+rQWPzMOjq1abLn/MP3DCz5YzBg0v2kBsQmR4=";
|
||||
url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${stdenv.targetPlatform.qemuArch}.tar.xz";
|
||||
hash = if stdenv.isx86_64 then "sha256-DOul6J2Y7szy4+Q4SeO0uG6PSuU+MELE7ky8W3mSpTQ="
|
||||
else "sha256-67iTi6bFlbQtyCjnPIjK8K/3aV+zaCsWBRCWmgYonM4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -74,7 +75,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Digital audio workstation";
|
||||
homepage = "https://www.reaper.fm/";
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = [ "x86_64-linux" "aarch64-linux" ];
|
||||
maintainers = with maintainers; [ jfrankenau ilian ];
|
||||
};
|
||||
}
|
||||
|
@ -25,6 +25,10 @@ rustPlatform.buildRustPackage rec {
|
||||
|
||||
buildInputs = [ alsa-lib gtk3 openssl ffmpeg ];
|
||||
|
||||
postInstall = ''
|
||||
mv packaging/rootfs/usr/share $out/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An open-source Shazam client for Linux, written in Rust";
|
||||
homepage = "https://github.com/marin-m/SongRec";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ergo";
|
||||
version = "4.0.11";
|
||||
version = "4.0.12";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
|
||||
sha256 = "sha256-GzpYwytkWZBEIVmsOmK5RTJ7lPUfDeC1204FbK4O+XQ=";
|
||||
sha256 = "sha256-cIMaCouzuI7UQ6UY4caGcTzA+Xp7vLdoOwIfGG+ahsU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
|
@ -1,7 +1,12 @@
|
||||
import ./generic.nix (rec {
|
||||
version = "27.2";
|
||||
sha256 = "sha256-tKfMTnjmPzeGJOCRkhW5EK9bsqCvyBn60pgnLp9Awbk=";
|
||||
patches = [
|
||||
patches = fetchpatch: [
|
||||
./tramp-detect-wrapped-gvfsd.patch
|
||||
(fetchpatch {
|
||||
name = "fix-aarch64-darwin-triplet.patch";
|
||||
url = "https://git.savannah.gnu.org/cgit/emacs.git/patch/?id=a88f63500e475f842e5fbdd9abba4ce122cdb082";
|
||||
sha256 = "sha256-RF9b5PojFUAjh2TDUW4+HaWveV30Spy1iAXhaWf1ZVg=";
|
||||
})
|
||||
];
|
||||
})
|
||||
|
@ -10,7 +10,7 @@
|
||||
, Xaw3d, libXcursor, pkg-config, gettext, libXft, dbus, libpng, libjpeg, giflib
|
||||
, libtiff, librsvg, gconf, libxml2, imagemagick, gnutls, libselinux
|
||||
, alsa-lib, cairo, acl, gpm, AppKit, GSS, ImageIO, m17n_lib, libotf
|
||||
, jansson, harfbuzz
|
||||
, sigtool, jansson, harfbuzz
|
||||
, dontRecurseIntoAttrs ,emacsPackagesFor
|
||||
, libgccjit, targetPlatform, makeWrapper # native-comp params
|
||||
, systemd ? null
|
||||
@ -46,10 +46,10 @@ assert withXwidgets -> withGTK3 && webkitgtk != null;
|
||||
let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
|
||||
NATIVE_FULL_AOT = "1";
|
||||
LIBRARY_PATH = "${lib.getLib stdenv.cc.libc}/lib";
|
||||
} // lib.optionalAttrs stdenv.isDarwin {
|
||||
CFLAGS = "-DMAC_OS_X_VERSION_MAX_ALLOWED=101200";
|
||||
} // {
|
||||
inherit pname version patches;
|
||||
inherit pname version;
|
||||
|
||||
patches = patches fetchpatch;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/emacs/${name}.tar.xz";
|
||||
@ -118,8 +118,8 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
|
||||
++ lib.optional (withX && withMotif) motif
|
||||
++ lib.optionals (withX && withXwidgets) [ webkitgtk glib-networking ]
|
||||
++ lib.optionals withNS [ AppKit GSS ImageIO ]
|
||||
++ lib.optionals nativeComp [ libgccjit ]
|
||||
;
|
||||
++ lib.optionals stdenv.isDarwin [ sigtool ]
|
||||
++ lib.optionals nativeComp [ libgccjit ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
@ -138,7 +138,7 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
|
||||
++ lib.optional withXwidgets "--with-xwidgets"
|
||||
++ lib.optional nativeComp "--with-native-compilation"
|
||||
++ lib.optional withImageMagick "--with-imagemagick"
|
||||
;
|
||||
;
|
||||
|
||||
installTargets = [ "tags" "install" ];
|
||||
|
||||
|
@ -307,12 +307,12 @@ in
|
||||
|
||||
mps = buildMps rec {
|
||||
name = "mps-${version}";
|
||||
version = "2020.3.3"; /* updated by script */
|
||||
version = "2021.1"; /* updated by script */
|
||||
description = "Create your own domain-specific language";
|
||||
license = lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/mps/2020.3/MPS-${version}.tar.gz";
|
||||
sha256 = "0sb50f7d4272dzx84njc326xvhbqn3xwrphvdq4zl3pk3wl8f4nz"; /* updated by script */
|
||||
url = "https://download.jetbrains.com/mps/${version}/MPS-${version}.tar.gz";
|
||||
sha256 = "0fdh8lzsi2zryi0xs961vrf3l8kqk5imlj56dhifywi7xkhs3vwn"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-mps";
|
||||
update-channel = "MPS RELEASE";
|
||||
@ -320,12 +320,12 @@ in
|
||||
|
||||
phpstorm = buildPhpStorm rec {
|
||||
name = "phpstorm-${version}";
|
||||
version = "2021.1.2"; /* updated by script */
|
||||
version = "2021.1.3"; /* updated by script */
|
||||
description = "Professional IDE for Web and PHP developers";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
|
||||
sha256 = "02s75fqd9hfh302zha4jw6qynpgm9nkrlq7s78nk3fc3d3hw8v5y"; /* updated by script */
|
||||
sha256 = "05hjv1nz1b82bkakadjvsy23v0qv8fyni6h31lcg9198h1890f7v"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-phpstorm";
|
||||
update-channel = "PhpStorm RELEASE";
|
||||
@ -333,12 +333,12 @@ in
|
||||
|
||||
pycharm-community = buildPycharm rec {
|
||||
name = "pycharm-community-${version}";
|
||||
version = "2021.1.1"; /* updated by script */
|
||||
version = "2021.1.2"; /* updated by script */
|
||||
description = "PyCharm Community Edition";
|
||||
license = lib.licenses.asl20;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "04bs9sz872b0h1zzax23irvj6q5wxnzp6fl4f177j94kh4116cqh"; /* updated by script */
|
||||
sha256 = "0sp7w1xrl0y36dai08kqfd0jk06yr7jdbaf1a9f3fgxp5pmspxp1"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm-ce";
|
||||
update-channel = "PyCharm RELEASE";
|
||||
@ -346,12 +346,12 @@ in
|
||||
|
||||
pycharm-professional = buildPycharm rec {
|
||||
name = "pycharm-professional-${version}";
|
||||
version = "2021.1.1"; /* updated by script */
|
||||
version = "2021.1.2"; /* updated by script */
|
||||
description = "PyCharm Professional Edition";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/python/${name}.tar.gz";
|
||||
sha256 = "0wc9j7nilakmm7scf7a71zb3k9vixgih05ni3n3pp4iznvwb3nxg"; /* updated by script */
|
||||
sha256 = "0ny7rbl8g5azpqnlcq8l6bwh6hrp8rgp06lf4a8gdr9rpvw9xsqb"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-pycharm";
|
||||
update-channel = "PyCharm RELEASE";
|
||||
@ -372,12 +372,12 @@ in
|
||||
|
||||
ruby-mine = buildRubyMine rec {
|
||||
name = "ruby-mine-${version}";
|
||||
version = "2021.1.1"; /* updated by script */
|
||||
version = "2021.1.2"; /* updated by script */
|
||||
description = "The Most Intelligent Ruby and Rails IDE";
|
||||
license = lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
|
||||
sha256 = "05sfjf5523idsl7byc7400r4xqv1d65gpmkh5x0lbgf1k3bx2wlm"; /* updated by script */
|
||||
sha256 = "0r80y8y38rdxgc9sim0q2p7bmgxlp4pdxydr0w9gjikwnjxnvz51"; /* updated by script */
|
||||
};
|
||||
wmClass = "jetbrains-rubymine";
|
||||
update-channel = "RubyMine RELEASE";
|
||||
|
@ -61,8 +61,9 @@ sub update_nix_block {
|
||||
# try to interpret some nix
|
||||
my ($name) = $block =~ /name\s*=\s*"([^"]+)"/;
|
||||
$name =~ s/\$\{version\}/$latest_versions{$channel}/;
|
||||
$url =~ s/\$\{name\}/$name/;
|
||||
$url =~ s/\$\{version\}/$latest_versions{$channel}/;
|
||||
# Some url paattern contain variables more than once
|
||||
$url =~ s/\$\{name\}/$name/g;
|
||||
$url =~ s/\$\{version\}/$latest_versions{$channel}/g;
|
||||
die "$url still has some interpolation" if $url =~ /\$/;
|
||||
my ($sha256) = get("$url.sha256") =~ /^([0-9a-f]{64})/;
|
||||
my $version_string = $latest_versions{$channel};
|
||||
|
@ -16,11 +16,11 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "nano";
|
||||
version = "5.7";
|
||||
version = "5.8";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
|
||||
sha256 = "1ynarilx0ca0a5h6hl5bf276cymyy8s9wr5l24vyy7f15v683cfl";
|
||||
sha256 = "133nhxg4xfxisjzi85rn2l575hdbvcax1s13l4m6wcvq5zdn6fz4";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
|
||||
|
@ -175,7 +175,8 @@ in stdenv.mkDerivation rec {
|
||||
|
||||
ln -sfn '${nixosRuntimepath}' "$out"/share/vim/vimrc
|
||||
'' + lib.optionalString wrapPythonDrv ''
|
||||
wrapProgram "$out/bin/vim" --prefix PATH : "${python3}/bin"
|
||||
wrapProgram "$out/bin/vim" --prefix PATH : "${python3}/bin" \
|
||||
--set NIX_PYTHONPATH "${python3}/${python3.sitePackages}"
|
||||
'' + lib.optionalString (guiSupport == "gtk3") ''
|
||||
|
||||
rewrap () {
|
||||
|
@ -5,11 +5,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "avocode";
|
||||
version = "4.14.0";
|
||||
version = "4.14.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
|
||||
sha256 = "sha256-BDW87UVN1Jub0sJFvtkZr5ssz835Yf2CNn5kHCn70cE=";
|
||||
sha256 = "sha256-OXSxfNCwbZ1RjjoxDlsREtKtbzlQcuPylvD1/ehfgsI=";
|
||||
};
|
||||
|
||||
libPath = lib.makeLibraryPath (with xorg; [
|
||||
|
27
pkgs/applications/misc/anup/default.nix
Normal file
27
pkgs/applications/misc/anup/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ lib, rustPlatform, fetchFromGitHub, sqlite, xdg-utils}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "anup";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Acizza";
|
||||
repo = "anup";
|
||||
rev = version;
|
||||
sha256 = "sha256-4pXF4p4K8+YihVB9NdgT6bOidmQEgWXUbcbvgXJ0IDA=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
sqlite
|
||||
xdg-utils
|
||||
];
|
||||
|
||||
cargoSha256 = "sha256-1TA2HDHKA3twFtlAWaC2zcRzS8TJwcbBt1OTQ3hC3qM=";
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/Acizza/anup";
|
||||
description = "An anime tracker for AniList featuring a TUI";
|
||||
license = licenses.agpl3Only;
|
||||
maintainers = with maintainers; [ natto1784 ];
|
||||
};
|
||||
}
|
@ -3,13 +3,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "cheat";
|
||||
version = "4.2.1";
|
||||
version = "4.2.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cheat";
|
||||
repo = "cheat";
|
||||
rev = version;
|
||||
sha256 = "sha256-wH0MTTwUmi/QZXo3vWgRYmlPxMxgfhghrTIZAwdVjQ0=";
|
||||
sha256 = "sha256-YKGCZm0BaFLi+kujl04B4IU1qay15XNfvelxfUkCP8o=";
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/cheat" ];
|
||||
|
@ -10,13 +10,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "free42";
|
||||
version = "3.0.3";
|
||||
version = "3.0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "thomasokken";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2TOYvZBI2EW9xjbjA4Bh+TgjbyEXRzOByalLYBW8Ba8=";
|
||||
sha256 = "sha256-ZoW5gBAUp/5U8Is3Nhx+SHY4d0F3PGOS1/WOokKRnCU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ copyDesktopItems pkg-config ];
|
||||
|
@ -1,8 +1,6 @@
|
||||
{ lib, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, makeWrapper
|
||||
, qttools
|
||||
, darwin
|
||||
|
||||
@ -43,13 +41,13 @@ with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "keepassxc";
|
||||
version = "2.6.4";
|
||||
version = "2.6.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "keepassxreboot";
|
||||
repo = "keepassxc";
|
||||
rev = version;
|
||||
sha256 = "02ajfkw818cmalvkl0kqvza85rgdgs59kw2v7b3c4v8kv00c41j3";
|
||||
sha256 = "15rm3avdmc2x2n92zq6w1zbcranak4j6dds2sxmgdqi1ffc0a3ci";
|
||||
};
|
||||
|
||||
NIX_CFLAGS_COMPILE = optionalString stdenv.cc.isClang [
|
||||
@ -92,10 +90,9 @@ stdenv.mkDerivation rec {
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake wrapQtAppsHook qttools pkg-config ];
|
||||
nativeBuildInputs = [ asciidoctor cmake wrapQtAppsHook qttools pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
asciidoctor
|
||||
curl
|
||||
glibcLocales
|
||||
libXi
|
||||
|
@ -134,7 +134,7 @@ let
|
||||
tornado
|
||||
unidecode
|
||||
watchdog
|
||||
websocket_client
|
||||
websocket-client
|
||||
werkzeug
|
||||
wrapt
|
||||
zeroconf
|
||||
|
@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Window switcher, run dialog and dmenu replacement";
|
||||
homepage = "https://github.com/davatorium/rofi";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ mbakke ];
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, fetchFromGitHub, gobject-introspection, gtk3, gtksourceview3, wrapGAppsHook, python3Packages }:
|
||||
{ lib, fetchFromGitHub, gobject-introspection, gtk3, gtksourceview3, webkitgtk, wrapGAppsHook, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "skytemple";
|
||||
@ -11,7 +11,15 @@ python3Packages.buildPythonApplication rec {
|
||||
sha256 = "0l2c4qngv58j6zkp0va6m96zksx8gqn3mjc3isqybfnhjr6nd3v9";
|
||||
};
|
||||
|
||||
buildInputs = [ gobject-introspection gtk3 gtksourceview3 ];
|
||||
buildInputs = [
|
||||
gobject-introspection
|
||||
gtk3
|
||||
gtksourceview3
|
||||
# webkitgkt is used for rendering interactive statistics graph which
|
||||
# can be seen by opening a ROM, entering Pokemon section, selecting
|
||||
# any Pokemon, and clicking Stats and Moves tab.
|
||||
webkitgtk
|
||||
];
|
||||
nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
natsort
|
||||
|
@ -5,13 +5,13 @@
|
||||
}:
|
||||
|
||||
let
|
||||
version = "4.9.10";
|
||||
version = "5.0.1";
|
||||
|
||||
subsurfaceSrc = (fetchFromGitHub {
|
||||
owner = "Subsurface";
|
||||
repo = "subsurface";
|
||||
rev = "v${version}";
|
||||
sha256 = "12ndhjplz3cwndwzhfc959dc0i6rm2qf3v2d8n9kba8nj63iblfs";
|
||||
sha256 = "01r836ckvrmgprjf4cqxn2n3w5w4pa2fjrhspjndsspic8nwlrwg";
|
||||
fetchSubmodules = true;
|
||||
});
|
||||
|
||||
@ -40,13 +40,13 @@ let
|
||||
googlemaps = stdenv.mkDerivation rec {
|
||||
pname = "googlemaps";
|
||||
|
||||
version = "2018-06-02";
|
||||
version = "2021-03-19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vladest";
|
||||
repo = "googlemaps";
|
||||
rev = "54a357f9590d9cf011bf1713589f66bad65e00eb";
|
||||
sha256 = "159kslp6rj0qznzxijppwvv8jnswlfgf2pw4x8ladi8vp6bzxnzi";
|
||||
rev = "8f7def10c203fd3faa5ef96c5010a7294dca0759";
|
||||
sha256 = "1irz398g45hk6xizwzd07qcx1ln8f7l6bhjh15f56yc20waqpx1x";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake ];
|
||||
|
@ -59,7 +59,7 @@ python3Packages.buildPythonApplication rec {
|
||||
python-Levenshtein
|
||||
pyxdg
|
||||
requests
|
||||
websocket_client
|
||||
websocket-client
|
||||
];
|
||||
|
||||
checkInputs = with python3Packages; [
|
||||
|
@ -1,8 +1,8 @@
|
||||
{
|
||||
"stable": {
|
||||
"version": "91.0.4472.101",
|
||||
"sha256": "1d3y621iclkq6nvxrapk5aihv50x13hjha0c2gcp2xxfma96253q",
|
||||
"sha256bin64": "12j5q5b9v0jpiznjnh89831w8lv399vd1z4ljhbsnsidbsygrbr1",
|
||||
"version": "91.0.4472.106",
|
||||
"sha256": "1fxy1l2dl0f6v8566lykcng18ma6fv4nlwxmdb0hh06fgp6khpjl",
|
||||
"sha256bin64": "11l88fqrl1r7b02j78zgrr6kajayl8kw8mb8b91ard18w5kz1xvd",
|
||||
"deps": {
|
||||
"gn": {
|
||||
"version": "2021-04-06",
|
||||
@ -12,9 +12,9 @@
|
||||
}
|
||||
},
|
||||
"chromedriver": {
|
||||
"version": "91.0.4472.19",
|
||||
"sha256_linux": "0pg9y55644i87qxa0983lvfizbmfiak9bg9249xhifl5kykghrb2",
|
||||
"sha256_darwin": "07v5k07100vrzsbm6r59xg8j80ffzs3gnnf2kcfgqrzprx284gf2"
|
||||
"version": "91.0.4472.101",
|
||||
"sha256_linux": "0dzx565z2rd0y4i57rv5kd7dsm69sffza96y3c773hqaghm4y1ng",
|
||||
"sha256_darwin": "0nff1jmmrn6a4clfvhyzrhfp8hx85z72563jwk28apflqmnm0k68"
|
||||
}
|
||||
},
|
||||
"beta": {
|
||||
|
@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lagrange";
|
||||
version = "1.5.0";
|
||||
version = "1.5.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skyjake";
|
||||
repo = "lagrange";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-W7uSyApTKBTE7bgprgCd8T5dKQ/nLYKIzFxjDMCRmZQ=";
|
||||
sha256 = "sha256-NjiTjY2YuxUs/Wny7aDqHGw/2ML1fenjHrl089rLXFI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "helmfile";
|
||||
version = "0.139.7";
|
||||
version = "0.139.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "roboll";
|
||||
repo = "helmfile";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-mxnl5ALave2E61AqJAHlLHDLHOwA2wwjs3sb4WnG82A=";
|
||||
sha256 = "sha256-4QNtjVc2/diJO92xn4J2ZJO7JYDHmPgOE4kGndU5RW0=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-tdsQx2AvbRC8l7YZFBg2xVqo0CLrOOwA9Nmuei+1ozw=";
|
||||
vendorSha256 = "sha256-GY2+oecRbI5hEVI5lCsTuU3WYIfUGceINyXGPjorisE=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "kube3d";
|
||||
version = "4.4.4";
|
||||
version = "4.4.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "rancher";
|
||||
repo = "k3d";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-pfyU25MASKQMwd49IbNyyEiz3gmSOBmLdWtIKhYU2wg=";
|
||||
sha256 = "sha256-nT/17R1Gky9509U077tgwS7iQKRMJUk8rwQiHSHcP+s=";
|
||||
};
|
||||
|
||||
vendorSha256 = null;
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "tanka";
|
||||
version = "0.15.1";
|
||||
version = "0.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grafana";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-aCgr56nXZCkG8k/ZGH2/cDOaqkznnyb6JLEcImqLH64=";
|
||||
sha256 = "sha256-KvQIVJZD/VvLE5RocWLRVGbb8faLY2cBeFSE/6E7x50=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-vpm2y/CxRNWkz6+AOMmmZH5AjRQWAa6WD5Fnx5lqJYw=";
|
||||
|
@ -513,10 +513,10 @@
|
||||
"owner": "Mongey",
|
||||
"provider-source-address": "registry.terraform.io/Mongey/kafka",
|
||||
"repo": "terraform-provider-kafka",
|
||||
"rev": "v0.2.12",
|
||||
"sha256": "0jm592chliiph5643rymzpwnlcq7q6bpwg2h86x5qmbzbiyqsi83",
|
||||
"vendorSha256": "08wg16g4mvn6kl8xwn89195a826cb132ijvrgf32c6p7zp4lgmjd",
|
||||
"version": "0.2.12"
|
||||
"rev": "v0.3.3",
|
||||
"sha256": "10il2mmsrk27zgzdkwn495sfhlad2nnc2xa7qzn7rlqzh92bb8rb",
|
||||
"vendorSha256": "1gxx561s7jghiq6kqb2nns52bbcp0ks2dylrb1lvy7g2798cpspf",
|
||||
"version": "0.3.3"
|
||||
},
|
||||
"kafka-connect": {
|
||||
"owner": "Mongey",
|
||||
|
@ -1,10 +1,21 @@
|
||||
{ stdenv, lib, buildGoModule, fetchFromGitHub, makeWrapper, coreutils
|
||||
, runCommand, runtimeShell, writeText, terraform-providers, fetchpatch }:
|
||||
{ stdenv
|
||||
, lib
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
, coreutils
|
||||
, runCommand
|
||||
, runtimeShell
|
||||
, writeText
|
||||
, terraform-providers
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
let
|
||||
generic = { version, sha256, vendorSha256 ? null, ... }@attrs:
|
||||
let attrs' = builtins.removeAttrs attrs [ "version" "sha256" "vendorSha256" ];
|
||||
in buildGoModule ({
|
||||
in
|
||||
buildGoModule ({
|
||||
name = "terraform-${version}";
|
||||
|
||||
inherit vendorSha256;
|
||||
@ -62,33 +73,37 @@ let
|
||||
actualPlugins = plugins terraform.plugins;
|
||||
|
||||
# Make providers available in Terraform 0.13 and 0.12 search paths.
|
||||
pluginDir = lib.concatMapStrings (pl: let
|
||||
inherit (pl) version GOOS GOARCH;
|
||||
pluginDir = lib.concatMapStrings
|
||||
(pl:
|
||||
let
|
||||
inherit (pl) version GOOS GOARCH;
|
||||
|
||||
pname = pl.pname or (throw "${pl.name} is missing a pname attribute");
|
||||
pname = pl.pname or (throw "${pl.name} is missing a pname attribute");
|
||||
|
||||
# This is just the name, without the terraform-provider- prefix
|
||||
plugin_name = lib.removePrefix "terraform-provider-" pname;
|
||||
# This is just the name, without the terraform-provider- prefix
|
||||
plugin_name = lib.removePrefix "terraform-provider-" pname;
|
||||
|
||||
slug = pl.passthru.provider-source-address or "registry.terraform.io/nixpkgs/${plugin_name}";
|
||||
slug = pl.passthru.provider-source-address or "registry.terraform.io/nixpkgs/${plugin_name}";
|
||||
|
||||
shim = writeText "shim" ''
|
||||
#!${runtimeShell}
|
||||
exec ${pl}/bin/${pname}_v${version} "$@"
|
||||
'';
|
||||
in ''
|
||||
TF_0_13_PROVIDER_PATH=$out/plugins/${slug}/${version}/${GOOS}_${GOARCH}/${pname}_v${version}
|
||||
mkdir -p "$(dirname $TF_0_13_PROVIDER_PATH)"
|
||||
shim = writeText "shim" ''
|
||||
#!${runtimeShell}
|
||||
exec ${pl}/bin/${pname}_v${version} "$@"
|
||||
'';
|
||||
in
|
||||
''
|
||||
TF_0_13_PROVIDER_PATH=$out/plugins/${slug}/${version}/${GOOS}_${GOARCH}/${pname}_v${version}
|
||||
mkdir -p "$(dirname $TF_0_13_PROVIDER_PATH)"
|
||||
|
||||
cp ${shim} "$TF_0_13_PROVIDER_PATH"
|
||||
chmod +x "$TF_0_13_PROVIDER_PATH"
|
||||
cp ${shim} "$TF_0_13_PROVIDER_PATH"
|
||||
chmod +x "$TF_0_13_PROVIDER_PATH"
|
||||
|
||||
TF_0_12_PROVIDER_PATH=$out/plugins/${pname}_v${version}
|
||||
TF_0_12_PROVIDER_PATH=$out/plugins/${pname}_v${version}
|
||||
|
||||
cp ${shim} "$TF_0_12_PROVIDER_PATH"
|
||||
chmod +x "$TF_0_12_PROVIDER_PATH"
|
||||
''
|
||||
) actualPlugins;
|
||||
cp ${shim} "$TF_0_12_PROVIDER_PATH"
|
||||
chmod +x "$TF_0_12_PROVIDER_PATH"
|
||||
''
|
||||
)
|
||||
actualPlugins;
|
||||
|
||||
# Wrap PATH of plugins propagatedBuildInputs, plugins may have runtime dependencies on external binaries
|
||||
wrapperInputs = lib.unique (lib.flatten
|
||||
@ -110,9 +125,10 @@ let
|
||||
};
|
||||
# Don't bother wrapping unless we actually have plugins, since the wrapper will stop automatic downloading
|
||||
# of plugins, which might be counterintuitive if someone just wants a vanilla Terraform.
|
||||
in if actualPlugins == [ ] then
|
||||
in
|
||||
if actualPlugins == [ ] then
|
||||
terraform.overrideAttrs
|
||||
(orig: { passthru = orig.passthru // passthru; })
|
||||
(orig: { passthru = orig.passthru // passthru; })
|
||||
else
|
||||
lib.appendToName "with-plugins" (stdenv.mkDerivation {
|
||||
inherit (terraform) name meta;
|
||||
@ -127,76 +143,47 @@ let
|
||||
|
||||
inherit passthru;
|
||||
});
|
||||
in withPlugins (_: [ ]);
|
||||
in
|
||||
withPlugins (_: [ ]);
|
||||
|
||||
plugins = removeAttrs terraform-providers [
|
||||
"override"
|
||||
"overrideDerivation"
|
||||
"recurseForDerivations"
|
||||
];
|
||||
in rec {
|
||||
terraform_0_12 = pluggable (generic {
|
||||
version = "0.12.31";
|
||||
sha256 = "03p698xdbk5gj0f9v8v1fpd74zng3948dyy4f2hv7zgks9hid7fg";
|
||||
patches = [
|
||||
./provider-path.patch
|
||||
(fetchpatch {
|
||||
name = "fix-mac-mojave-crashes.patch";
|
||||
url = "https://github.com/hashicorp/terraform/commit/cd65b28da051174a13ac76e54b7bb95d3051255c.patch";
|
||||
sha256 = "1k70kk4hli72x8gza6fy3vpckdm3sf881w61fmssrah3hgmfmbrs";
|
||||
}) ];
|
||||
passthru = { inherit plugins; };
|
||||
});
|
||||
in
|
||||
rec {
|
||||
# Constructor for other terraform versions
|
||||
mkTerraform = attrs: pluggable (generic attrs);
|
||||
|
||||
terraform_0_13 = pluggable (generic {
|
||||
version = "0.13.7";
|
||||
sha256 = "1cahnmp66dk21g7ga6454yfhaqrxff7hpwpdgc87cswyq823fgjn";
|
||||
patches = [ ./provider-path.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
});
|
||||
|
||||
terraform_0_14 = pluggable (generic {
|
||||
version = "0.14.11";
|
||||
sha256 = "1yi1jj3n61g1kn8klw6l78shd23q79llb7qqwigqrx3ki2mp279j";
|
||||
vendorSha256 = "1d93aqkjdrvabkvix6h1qaxpjzv7w1wa7xa44czdnjs2lapx4smm";
|
||||
patches = [ ./provider-path.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
});
|
||||
|
||||
terraform_0_15 = pluggable (generic {
|
||||
version = "0.15.5";
|
||||
sha256 = "18f4a6l24s3cym7gk40agxikd90i56q84wziskw1spy9rgv2yx6d";
|
||||
vendorSha256 = "12hrpxay6k3kz89ihyhl91c4lw4wp821ppa245w9977fq09fhnx0";
|
||||
patches = [ ./provider-path-0_15.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
});
|
||||
|
||||
terraform_1_0_0 = pluggable (generic {
|
||||
terraform_1_0 = mkTerraform {
|
||||
version = "1.0.0";
|
||||
sha256 = "sha256-ddcT/I2Qn1pKFyhXgh+CcD3fSv2steSNmjyyiS2SE/o=";
|
||||
vendorSha256 = "sha256-oFvoEsDunJR4IULdGwS6nHBKWEgUehgT+nNM41W/GYo=";
|
||||
patches = [ ./provider-path-0_15.patch ];
|
||||
passthru = { inherit plugins; };
|
||||
});
|
||||
};
|
||||
|
||||
# Tests that the plugins are being used. Terraform looks at the specific
|
||||
# file pattern and if the plugin is not found it will try to download it
|
||||
# from the Internet. With sandboxing enable this test will fail if that is
|
||||
# the case.
|
||||
terraform_plugins_test = let
|
||||
mainTf = writeText "main.tf" ''
|
||||
resource "random_id" "test" {}
|
||||
'';
|
||||
terraform = terraform_0_12.withPlugins (p: [ p.random ]);
|
||||
test =
|
||||
runCommand "terraform-plugin-test" { buildInputs = [ terraform ]; } ''
|
||||
set -e
|
||||
# make it fail outside of sandbox
|
||||
export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0
|
||||
cp ${mainTf} main.tf
|
||||
terraform init
|
||||
touch $out
|
||||
terraform_plugins_test =
|
||||
let
|
||||
mainTf = writeText "main.tf" ''
|
||||
resource "random_id" "test" {}
|
||||
'';
|
||||
in test;
|
||||
terraform = terraform_1_0.withPlugins (p: [ p.random ]);
|
||||
test =
|
||||
runCommand "terraform-plugin-test" { buildInputs = [ terraform ]; } ''
|
||||
set -e
|
||||
# make it fail outside of sandbox
|
||||
export HTTP_PROXY=http://127.0.0.1:0 HTTPS_PROXY=https://127.0.0.1:0
|
||||
cp ${mainTf} main.tf
|
||||
terraform init
|
||||
touch $out
|
||||
'';
|
||||
in
|
||||
test;
|
||||
|
||||
}
|
||||
|
@ -2,16 +2,16 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "terragrunt";
|
||||
version = "0.29.9";
|
||||
version = "0.30.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gruntwork-io";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xgoKxA8lc72yhFVHeFkbF5j5/vGAd9TTaJ/aDEYL8Wg=";
|
||||
sha256 = "sha256-kGeGqn0Jgim3gpZUwhIMPV84XD8yYEyH5YMtzidxWRU=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-qlSCQtiGHmlk3DyETMoQbbSYhuUSZTsvAnBKuDJI8x8=";
|
||||
vendorSha256 = "sha256-OgNNq1qRhCufcWemLxh50pzs432RxZpWWcyBB7xeiOs=";
|
||||
|
||||
doCheck = false;
|
||||
|
||||
|
@ -12,7 +12,8 @@
|
||||
, coreutils
|
||||
, gawk
|
||||
, xdg-utils
|
||||
, systemd }:
|
||||
, systemd
|
||||
, enableRectOverlay ? false }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "teams";
|
||||
@ -57,9 +58,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
ln -s $out/opt/teams/teams $out/bin/
|
||||
|
||||
${lib.optionalString (!enableRectOverlay) ''
|
||||
# Work-around screen sharing bug
|
||||
# https://docs.microsoft.com/en-us/answers/questions/42095/sharing-screen-not-working-anymore-bug.html
|
||||
rm $out/opt/teams/resources/app.asar.unpacked/node_modules/slimcore/bin/rect-overlay
|
||||
''}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
@ -6,13 +6,13 @@ with lib;
|
||||
|
||||
perlPackages.buildPerlPackage rec {
|
||||
pname = "convos";
|
||||
version = "6.11";
|
||||
version = "6.24";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "convos-chat";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "19nzm7f3glvj34nj9pvnp0h9xx6baq58c11ddkqfmq7w3sci49hi";
|
||||
sha256 = "0hrz74fybypkjf9hraknylxrhnz7bhk00pk6wla2wfg8s2798zlx";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ]
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
env = "${buildEnv {
|
||||
name = "wee-slack-env";
|
||||
paths = with python3Packages; [
|
||||
websocket_client
|
||||
websocket-client
|
||||
six
|
||||
];
|
||||
}}/${python3Packages.python.sitePackages}";
|
||||
|
@ -0,0 +1,33 @@
|
||||
{ appimageTools, lib, fetchurl }:
|
||||
|
||||
let
|
||||
pname = "electron-mail";
|
||||
version = "4.12.2";
|
||||
name = "ElectronMail-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vladimiry/ElectronMail/releases/download/v${version}/electron-mail-${version}-linux-x86_64.AppImage";
|
||||
sha256 = "D+0qoIb0EwUVbgKOiKQpqoLDgm8l/UKDWm/BjhW4MYU=";
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extract { inherit name src; };
|
||||
in appimageTools.wrapType2 {
|
||||
inherit name src;
|
||||
|
||||
extraInstallCommands = ''
|
||||
mv $out/bin/${name} $out/bin/${pname}
|
||||
|
||||
install -m 444 -D ${appimageContents}/${pname}.desktop -t $out/share/applications
|
||||
substituteInPlace $out/share/applications/${pname}.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "ElectronMail is an Electron-based unofficial desktop client for ProtonMail";
|
||||
homepage = "https://github.com/vladimiry/ElectronMail";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.princemachiavelli ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
gevent msgpack base58 merkletools rsa pysocks pyasn1 websocket_client
|
||||
gevent msgpack base58 merkletools rsa pysocks pyasn1 websocket-client
|
||||
gevent-websocket rencode bitcoinlib maxminddb pyopenssl
|
||||
];
|
||||
|
||||
|
@ -1,22 +1,34 @@
|
||||
{ stdenv, lib, fetchFromGitHub, autoreconfHook, ldc, installShellFiles, pkg-config
|
||||
, curl, sqlite, libnotify
|
||||
, withSystemd ? stdenv.isLinux, systemd ? null }:
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, autoreconfHook
|
||||
, ldc
|
||||
, installShellFiles
|
||||
, pkg-config
|
||||
, curl
|
||||
, sqlite
|
||||
, libnotify
|
||||
, withSystemd ? stdenv.isLinux
|
||||
, systemd
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "onedrive";
|
||||
version = "2.4.11";
|
||||
version = "2.4.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "abraunegg";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-ioOrkhVeHHqIjoEXcYo8ATJW+2+nZOehf3XbAJUEXpY=";
|
||||
sha256 = "sha256-rG9W90+wGLnhnfhqJjUIFGP6ZcmaxGkrdhPxQVRyxoc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkg-config ];
|
||||
|
||||
buildInputs = [
|
||||
curl sqlite libnotify
|
||||
curl
|
||||
sqlite
|
||||
libnotify
|
||||
] ++ lib.optional withSystemd systemd;
|
||||
|
||||
configureFlags = [
|
||||
@ -36,8 +48,8 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "A complete tool to interact with OneDrive on Linux";
|
||||
homepage = "https://github.com/abraunegg/onedrive";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ srgom ianmjones ];
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ srgom peterhoeg ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
|
@ -10,6 +10,7 @@
|
||||
, openssl
|
||||
, xclip
|
||||
, xdotool
|
||||
, makeWrapper
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
@ -28,6 +29,7 @@ rustPlatform.buildRustPackage rec {
|
||||
nativeBuildInputs = [
|
||||
extra-cmake-modules
|
||||
pkg-config
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
@ -35,6 +37,7 @@ rustPlatform.buildRustPackage rec {
|
||||
libXtst
|
||||
libXi
|
||||
libnotify
|
||||
xclip
|
||||
openssl
|
||||
xdotool
|
||||
];
|
||||
@ -42,6 +45,11 @@ rustPlatform.buildRustPackage rec {
|
||||
# Some tests require networking
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/espanso \
|
||||
--prefix PATH : ${lib.makeBinPath [ libnotify xclip ]}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Cross-platform Text Expander written in Rust";
|
||||
homepage = "https://espanso.org";
|
||||
|
@ -5,15 +5,20 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "truvari";
|
||||
version = "2.0.2";
|
||||
version = "2.1.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "spiralgenetics";
|
||||
repo = "truvari";
|
||||
rev = "v${version}";
|
||||
sha256 = "0lp1wnldjv92k4ncga1h0icb0dpjsrx427vggg40x04a7kp9lwx0";
|
||||
sha256 = "14nsdbj063qm175xxixs34cihvsiskc9gym8pg7gbwsh13k5a00h";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace setup.py \
|
||||
--replace 'python-Levenshtein==0.12.1' 'python-Levenshtein>=0.12.1'
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pyvcf
|
||||
python-Levenshtein
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, boost169, flatbuffers, fmt, rapidjson, spdlog, zlib }:
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, boost, flatbuffers, fmt, rapidjson, spdlog, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vowpal-wabbit";
|
||||
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
buildInputs = [
|
||||
boost169
|
||||
boost
|
||||
flatbuffers
|
||||
fmt
|
||||
rapidjson
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "diff-so-fancy";
|
||||
version = "1.4.1";
|
||||
version = "1.4.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "so-fancy";
|
||||
repo = "diff-so-fancy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-bV22x459QerWg4MVLWsXPDhM38QWG6BE+dVmKIFfDiE=";
|
||||
sha256 = "sha256-1kBarsRiuB8fv7VLlWfpotPfHeMrfmIXHXTFu8TzC2A=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
|
||||
diff-so-fancy builds on the good-lookin' output of git contrib's
|
||||
diff-highlight to upgrade your diffs' appearances.
|
||||
'';
|
||||
maintainers = with maintainers; [ fpletz globin ];
|
||||
maintainers = with maintainers; [ fpletz globin ma27 ];
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gitstatus";
|
||||
version = "1.4.4";
|
||||
version = "1.5.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "romkatv";
|
||||
repo = "gitstatus";
|
||||
rev = "v${version}";
|
||||
sha256 = "1w5kpca2v6iii912riywp1jscq7cpr5xv93mglr30pjnar1mk8gs";
|
||||
sha256 = "1ffgh5826985phc8amvzl9iydvsnij5brh4gczfh201vfmw9d4hh";
|
||||
};
|
||||
|
||||
buildInputs = [ (callPackage ./romkatv_libgit2.nix {}) ];
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "lefthook";
|
||||
version = "0.7.5";
|
||||
version = "0.7.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
rev = "v${version}";
|
||||
owner = "evilmartians";
|
||||
repo = "lefthook";
|
||||
sha256 = "sha256-IKrutZJhs2iuwhXoV+81rDoaSi/xdYRpIlF1YjGFGY4=";
|
||||
sha256 = "sha256-qCj6FsbzxnMISCITKFcIIYtqMiHzSNYNjlpgpE9S/Ss=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-Rp67FnFU27u85t02MIs7wZQoOa8oGsHVVPQ9OdIyTJg=";
|
||||
|
@ -1,13 +1,13 @@
|
||||
{
|
||||
"version": "13.12.3",
|
||||
"repo_hash": "0kpdl1gwcxy13lwyl96nsia62wysrnxdygil6sz6s72hg0y2fsgr",
|
||||
"version": "13.12.4",
|
||||
"repo_hash": "1jp97vwwfnh3iqkh58y0zqcx6lsvqcpnxy8ipd4j9hbmag1jr36i",
|
||||
"owner": "gitlab-org",
|
||||
"repo": "gitlab",
|
||||
"rev": "v13.12.3-ee",
|
||||
"rev": "v13.12.4-ee",
|
||||
"passthru": {
|
||||
"GITALY_SERVER_VERSION": "13.12.3",
|
||||
"GITALY_SERVER_VERSION": "13.12.4",
|
||||
"GITLAB_PAGES_VERSION": "1.39.0",
|
||||
"GITLAB_SHELL_VERSION": "13.18.0",
|
||||
"GITLAB_WORKHORSE_VERSION": "13.12.3"
|
||||
"GITLAB_WORKHORSE_VERSION": "13.12.4"
|
||||
}
|
||||
}
|
||||
|
@ -21,14 +21,14 @@ let
|
||||
};
|
||||
};
|
||||
in buildGoModule rec {
|
||||
version = "13.12.3";
|
||||
version = "13.12.4";
|
||||
pname = "gitaly";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "gitlab-org";
|
||||
repo = "gitaly";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-qqLVYNCE8rKPBY5tj6AAoWcyIEtQZkO980NVPg0WO18=";
|
||||
sha256 = "sha256-5I06tzeOfVdtblgqI7neKBgwzXuU9hI/0V3gYEPMJJ0=";
|
||||
};
|
||||
|
||||
vendorSha256 = "sha256-drS0L0olEFHYJVC0VYwEZeNYa8fjwrfxlhrEQa4pqzY=";
|
||||
|
@ -5,7 +5,7 @@ in
|
||||
buildGoModule rec {
|
||||
pname = "gitlab-workhorse";
|
||||
|
||||
version = "13.12.3";
|
||||
version = "13.12.4";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = data.owner;
|
||||
|
45
pkgs/applications/video/flowblade/default.nix
Normal file
45
pkgs/applications/video/flowblade/default.nix
Normal file
@ -0,0 +1,45 @@
|
||||
{ lib, fetchFromGitHub, stdenv
|
||||
, ffmpeg, frei0r, sox, gtk3, python3, ladspaPlugins
|
||||
, gobject-introspection, makeWrapper, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "flowblade";
|
||||
version = "2.8.0.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jliljebl";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/EkI3qiceB5eKTVQnpG+z4e6yaE9hDtn6I+iN/J+h/g=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
ffmpeg frei0r sox gtk3 gobject-introspection ladspaPlugins
|
||||
(python3.withPackages (ps: with ps; [ mlt pygobject3 dbus-python numpy pillow ]))
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ gobject-introspection makeWrapper wrapGAppsHook ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -a ${src}/flowblade-trunk $out/flowblade
|
||||
|
||||
makeWrapper $out/flowblade/flowblade $out/bin/flowblade \
|
||||
--set FREI0R_PATH ${frei0r}/lib/frei0r-1 \
|
||||
--set LADSPA_PATH ${ladspaPlugins}/lib/ladspa \
|
||||
''${gappsWrapperArgs[@]}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Multitrack Non-Linear Video Editor";
|
||||
homepage = "https://jliljebl.github.io/flowblade/";
|
||||
license = with licenses; [ gpl3Plus ];
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ polygon ];
|
||||
};
|
||||
}
|
@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
requests
|
||||
iso-639
|
||||
iso3166
|
||||
websocket_client
|
||||
websocket-client
|
||||
isodate
|
||||
]) ++ [
|
||||
rtmpdump
|
||||
|
@ -3,7 +3,7 @@
|
||||
, mock, pytest, nose
|
||||
, pyyaml, backports_ssl_match_hostname, colorama, docopt
|
||||
, dockerpty, docker, ipaddress, jsonschema, requests
|
||||
, six, texttable, websocket_client, cached-property
|
||||
, six, texttable, websocket-client, cached-property
|
||||
, enum34, functools32, paramiko, distro, python-dotenv
|
||||
}:
|
||||
|
||||
@ -22,7 +22,7 @@ buildPythonApplication rec {
|
||||
checkInputs = [ mock pytest nose ];
|
||||
propagatedBuildInputs = [
|
||||
pyyaml colorama dockerpty docker
|
||||
ipaddress jsonschema requests six texttable websocket_client
|
||||
ipaddress jsonschema requests six texttable websocket-client
|
||||
docopt cached-property paramiko distro python-dotenv
|
||||
] ++ lib.optional (pythonOlder "3.7") backports_ssl_match_hostname
|
||||
++ lib.optional (pythonOlder "3.4") enum34
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
buildGoPackage rec {
|
||||
pname = "docker-slim";
|
||||
version = "1.35.2";
|
||||
version = "1.36.0";
|
||||
|
||||
goPackagePath = "github.com/docker-slim/docker-slim";
|
||||
|
||||
@ -14,7 +14,7 @@ buildGoPackage rec {
|
||||
owner = "docker-slim";
|
||||
repo = "docker-slim";
|
||||
rev = version;
|
||||
sha256 = "sha256-Pg3vPvnEo1OkCakwkwS/HaFnvmpjuHHlGqIjddO6jwQ=";
|
||||
sha256 = "sha256-4wSQ5R0haVnbtWk2im83A1FzrJDHVEFLqnkROGNF4q8=";
|
||||
};
|
||||
|
||||
subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ];
|
||||
|
@ -11,7 +11,7 @@ rec {
|
||||
, tiniRev, tiniSha256, buildxSupport ? false
|
||||
# package dependencies
|
||||
, stdenv, fetchFromGitHub, buildGoPackage
|
||||
, makeWrapper, installShellFiles, pkg-config
|
||||
, makeWrapper, installShellFiles, pkg-config, glibc
|
||||
, go-md2man, go, containerd, runc, docker-proxy, tini, libtool
|
||||
, sqlite, iproute2, lvm2, systemd, docker-buildx
|
||||
, btrfs-progs, iptables, e2fsprogs, xz, util-linux, xfsprogs, git
|
||||
@ -56,7 +56,9 @@ rec {
|
||||
};
|
||||
|
||||
# Do not remove static from make files as we want a static binary
|
||||
patchPhase = "";
|
||||
postPatch = "";
|
||||
|
||||
buildInputs = [ glibc glibc.static ];
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-DMINIMAL=ON";
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, fetchFromGitHub, cmake, glibc }:
|
||||
{ lib, stdenv, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.19.0";
|
||||
@ -11,12 +11,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 ="1hnnvjydg7gi5gx6nibjjdnfipblh84qcpajc08nvr44rkzswck4";
|
||||
};
|
||||
|
||||
patchPhase = "sed -i /tini-static/d CMakeLists.txt";
|
||||
postPatch = "sed -i /tini-static/d CMakeLists.txt";
|
||||
|
||||
NIX_CFLAGS_COMPILE = "-DPR_SET_CHILD_SUBREAPER=36 -DPR_GET_CHILD_SUBREAPER=37";
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
buildInputs = [ glibc glibc.static ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "A tiny but valid init for containers";
|
||||
|
@ -99,7 +99,7 @@ in stdenv.mkDerivation {
|
||||
inherit description platforms;
|
||||
license = lib.licenses.isc;
|
||||
maintainers = with lib.maintainers;
|
||||
[ pmahoney Profpatsch ] ++ maintainers;
|
||||
[ pmahoney Profpatsch qyliss ] ++ maintainers;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib, fetchzip }:
|
||||
|
||||
let
|
||||
version = "3.2.0";
|
||||
version = "5.0.0";
|
||||
in fetchzip {
|
||||
name = "emacs-all-the-icons-fonts-${version}";
|
||||
|
||||
@ -12,7 +12,7 @@ in fetchzip {
|
||||
unzip -j $downloadedFile \*.ttf -d $out/share/fonts/all-the-icons
|
||||
'';
|
||||
|
||||
sha256 = "0ps8q9nkx67ivgn8na4s012360v36jwr0951rsg7j6dyyw9g41jq";
|
||||
sha256 = "0vc9bkm4pcc05llcd2c9zr3d88h3zmci0izla5wnw8hg1n0rsrii";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Icon fonts for emacs all-the-icons";
|
||||
|
@ -1,22 +1,18 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub }:
|
||||
{ lib, stdenvNoCC, fetchFromGitHub }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenvNoCC.mkDerivation {
|
||||
pname = "google-fonts";
|
||||
version = "unstable-2021-01-19";
|
||||
version = "unstable-2021-06-12";
|
||||
|
||||
outputs = [ "out" "adobeBlank" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "google";
|
||||
repo = "fonts";
|
||||
rev = "a3a831f0fe44cd58465c6937ea06873728f2ba0d";
|
||||
sha256 = "19abx2bj7mkysv2ihr43m3kpyf6kv6v2qjlm1skxc82rb72xqhix";
|
||||
rev = "370c795d7e5f9b02db9a793c2779e2c8f94c6adc";
|
||||
sha256 = "sha256-XKjxmupY2KuefCtKZMXWaba1TnNwdYM/P0xGXOtBGmM=";
|
||||
};
|
||||
|
||||
phases = [ "unpackPhase" "patchPhase" "installPhase" ];
|
||||
|
||||
patchPhase = ''
|
||||
# These directories need to be removed because they contain
|
||||
# older or duplicate versions of fonts also present in other
|
||||
@ -33,6 +29,8 @@ stdenv.mkDerivation {
|
||||
fi
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
adobeBlankDest=$adobeBlank/share/fonts/truetype
|
||||
install -m 444 -Dt $adobeBlankDest ofl/adobeblank/AdobeBlank-Regular.ttf
|
||||
|
@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
|
||||
version = "4.1.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.yusa.lab.uec.ac.jp/~yusa/ricty/ricty_generator-${version}.sh";
|
||||
url = "https://rictyfonts.github.io/files/ricty_generator-${version}.sh";
|
||||
sha256 = "03fngb8f5hl7ifigdm5yljhs4z2x80cq8y8kna86d07ghknhzgw6";
|
||||
};
|
||||
|
||||
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "A high-quality Japanese font based on Inconsolata and Migu 1M";
|
||||
homepage = "http://www.yusa.lab.uec.ac.jp/~yusa/ricty.html";
|
||||
homepage = "https://rictyfonts.github.io";
|
||||
license = licenses.unfree;
|
||||
maintainers = [ maintainers.mikoim ];
|
||||
};
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kora-icon-theme";
|
||||
version = "1.4.2";
|
||||
version = "1.4.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bikass";
|
||||
repo = "kora";
|
||||
rev = "v${version}";
|
||||
sha256 = "1qnqz0h2c5kilch3308l8nfshgsrkllyysvqn0mxy70iziw895rv";
|
||||
sha256 = "sha256-tSkTwhhugvDTzzcxIln1xq3ZY6boHJR0LRGy20ONO5U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
63
pkgs/data/icons/whitesur-icon-theme/default.nix
Normal file
63
pkgs/data/icons/whitesur-icon-theme/default.nix
Normal file
@ -0,0 +1,63 @@
|
||||
{ lib
|
||||
, stdenvNoCC
|
||||
, fetchFromGitHub
|
||||
, gtk3
|
||||
, gnome
|
||||
, gnome-icon-theme
|
||||
, hicolor-icon-theme
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "Whitesur-icon-theme";
|
||||
version = "2021-05-20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vinceliuice";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "KboUYozTleOBKNun66g2oj7u/36hyQsPtRSk/x/LAWo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gtk3 ];
|
||||
|
||||
buildInputs = [
|
||||
gnome-icon-theme
|
||||
gnome.adwaita-icon-theme
|
||||
hicolor-icon-theme
|
||||
];
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/icons/WhiteSur{,-dark}/status
|
||||
echo "$out/share/icons/WhiteSur/status $out/share/icons/WhiteSur-dark/status" | xargs -n 1 cp -r src/status/{16,22,24,32,symbolic}
|
||||
echo "$out/share/icons/WhiteSur $out/share/icons/WhiteSur-dark" | xargs -n 1 cp -r ./{COPYING,AUTHORS} src/index.theme src/{actions,animations,apps,categories,devices,emblems,mimes,places} links/{actions,apps,categories,devices,emblems,mimes,places,status}
|
||||
|
||||
# Change icon color for dark theme
|
||||
sed -i "s/#363636/#dedede/g" $out/share/icons/WhiteSur-dark/{actions,devices,places,status}/{16,22,24}/*
|
||||
sed -i "s/#363636/#dedede/g" $out/share/icons/WhiteSur-dark/actions/32/*
|
||||
sed -i "s/#363636/#dedede/g" $out/share/icons/WhiteSur-dark/{actions,apps,categories,emblems,devices,mimes,places,status}/symbolic/*
|
||||
|
||||
for f in actions animations apps categories devices emblems mimes places status; do
|
||||
ln -sf $out/share/icons/WhiteSur/$f $out/share/icons/WhiteSur/$f@2x
|
||||
ln -sf $out/share/icons/WhiteSur-dark/$f $out/share/icons/WhiteSur-dark/$f@2x
|
||||
done
|
||||
|
||||
for theme in $out/share/icons/*; do
|
||||
gtk-update-icon-cache $theme
|
||||
done
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "MacOS Big Sur style icon theme for Linux desktops";
|
||||
homepage = "https://github.com/vinceliuice/WhiteSur-icon-theme";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ icy-thought ];
|
||||
};
|
||||
|
||||
}
|
@ -12,13 +12,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bulky";
|
||||
version = "1.1";
|
||||
version = "1.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "linuxmint";
|
||||
repo = "bulky";
|
||||
rev = version;
|
||||
sha256 = "NBlP10IM/+u8IRds4bdFyGWg3pJLRmlSLsdlndMVQqg=";
|
||||
sha256 = "sha256-jBGrfE8jYQStIs9h/b/1yBu8OEQdPOMHZ/U/KczfX+4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -19,14 +19,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "aisleriot";
|
||||
version = "3.22.16";
|
||||
version = "3.22.17";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "gitlab.gnome.org";
|
||||
owner = "GNOME";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "0arjnm5kgnb4pir53hlm94iym80d0srs256sm2hwhwwc5fr1w79i";
|
||||
sha256 = "sha256-14z/EdEz1XFDrQZlpoeHW73G187XuZX/uQXp+bAUsmI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -5,9 +5,9 @@
|
||||
mkXfceDerivation {
|
||||
category = "xfce";
|
||||
pname = "xfce4-settings";
|
||||
version = "4.16.1";
|
||||
version = "4.16.2";
|
||||
|
||||
sha256 = "0mjhglfsqmiycpv98l09n2556288g2713n4pvxn0srivm017fdir";
|
||||
sha256 = "09npyqxsbrvz60bkbardqrizd5rvray5hkp84qgjzc10z4qrnk0f";
|
||||
|
||||
postPatch = ''
|
||||
for f in xfsettingsd/pointers.c dialogs/mouse-settings/main.c; do
|
||||
|
@ -1,6 +1,6 @@
|
||||
{ fetchFromGitHub, fetchHex, rebar3Relx, buildRebar3, rebar3-proper, lib }:
|
||||
let
|
||||
version = "0.16.0";
|
||||
version = "0.17.0";
|
||||
owner = "erlang-ls";
|
||||
repo = "erlang_ls";
|
||||
deps = import ./rebar-deps.nix {
|
||||
@ -17,7 +17,7 @@ in rebar3Relx {
|
||||
inherit version;
|
||||
src = fetchFromGitHub {
|
||||
inherit owner repo;
|
||||
sha256 = "0l09yhj3rsb9zj4cs6a1bcfmi6zbyb3xk1lv494xbyiv5d61vkwm";
|
||||
sha256 = "0szg9hx436cvy80sh94dzmf2rainnw3fjc84bv3hlzjwwzmxj9aw";
|
||||
rev = version;
|
||||
};
|
||||
releaseType = "escript";
|
||||
|
31
pkgs/development/compilers/armips/default.nix
Normal file
31
pkgs/development/compilers/armips/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ stdenv, lib, fetchFromGitHub, cmake }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "armips";
|
||||
version = "0.11.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Kingcom";
|
||||
repo = "armips";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-L+Uxww/WtvDJn1xZqoqA6Pkzq/98sy1qTxZbv6eEjbA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/bin
|
||||
cp armips $out/bin
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/Kingcom/armips";
|
||||
description = "Assembler for various ARM and MIPS platforms.";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ marius851000 ];
|
||||
};
|
||||
}
|
@ -1,125 +0,0 @@
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper
|
||||
, coqPackages, ocamlPackages, coq2html
|
||||
, tools ? stdenv.cc
|
||||
, version ? "3.9"
|
||||
}:
|
||||
|
||||
let
|
||||
ocaml-pkgs = with ocamlPackages; [ ocaml findlib menhir menhirLib ];
|
||||
ccomp-platform = if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux";
|
||||
inherit (coqPackages) coq flocq;
|
||||
inherit (lib) optional optionalString;
|
||||
in
|
||||
|
||||
let param = {
|
||||
"3.7" = {
|
||||
sha256 = "1h4zhk9rrqki193nxs9vjvya7nl9yxjcf07hfqb6g77riy1vd2jr";
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/0a2db0269809539ccc66f8ec73637c37fbd23580.patch";
|
||||
sha256 = "0n8qrba70x8f422jdvq9ddgsx6avf2dkg892g4ldh3jiiidyhspy";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/5e29f8b5ba9582ecf2a1d0baeaef195873640607.patch";
|
||||
sha256 = "184nfdgxrkci880lkaj5pgnify3plka7xfgqrgv16275sqppc5hc";
|
||||
})
|
||||
];
|
||||
};
|
||||
"3.8" = {
|
||||
sha256 = "1gzlyxvw64ca12qql3wnq3bidcx9ygsklv9grjma3ib4hvg7vnr7";
|
||||
patches = [
|
||||
# Support for Coq 8.12.2
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/06956421b4307054af221c118c5f59593c0e67b9.patch";
|
||||
sha256 = "1f90q6j3xfvnf3z830bkd4d8526issvmdlrjlc95bfsqs78i1yrl";
|
||||
})
|
||||
# Support for Coq 8.13.0
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/0895388e7ebf9c9f3176d225107e21968919fb97.patch";
|
||||
sha256 = "0qhkzgb2xl5kxys81pldp3mr39gd30lvr2l2wmplij319vp3xavd";
|
||||
})
|
||||
# Support for Coq 8.13.1
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/6bf310dd678285dc193798e89fc2c441d8430892.patch";
|
||||
sha256 = "026ahhvpj5pksy90f8pnxgmhgwfqk4kwyvcf8x3dsanvz98d4pj5";
|
||||
})
|
||||
# Drop support for Coq < 8.9
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/7563a5df926a4c6fb1489a7a4c847641c8a35095.patch";
|
||||
sha256 = "05vkslzy399r3dm6dmjs722rrajnyfa30xsyy3djl52isvn4gyfb";
|
||||
})
|
||||
# Support for Coq 8.13.2
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/48bc183167c4ce01a5c9ea86e49d60530adf7290.patch";
|
||||
sha256 = "0j62lppfk26d1brdp3qwll2wi4gvpx1k70qivpvby5f7dpkrkax1";
|
||||
})
|
||||
];
|
||||
useExternalFlocq = true;
|
||||
};
|
||||
"3.9" = {
|
||||
sha256 = "1srcz2dqrvmbvv5cl66r34zqkm0hsbryk7gd3i9xx4slahc9zvdb";
|
||||
useExternalFlocq = true;
|
||||
};
|
||||
}."${version}"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "compcert";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "AbsInt";
|
||||
repo = "CompCert";
|
||||
rev = "v${version}";
|
||||
inherit (param) sha256;
|
||||
};
|
||||
|
||||
patches = param.patches or [];
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = ocaml-pkgs ++ [ coq coq2html ];
|
||||
propagatedBuildInputs = optional (param.useExternalFlocq or false) flocq;
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./configure \
|
||||
--replace \$\{toolprefix\}ar 'ar' \
|
||||
--replace '{toolprefix}gcc' '{toolprefix}cc'
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
./configure -clightgen \
|
||||
-prefix $out \
|
||||
-coqdevdir $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/ \
|
||||
-toolprefix ${tools}/bin/ \
|
||||
${optionalString (param.useExternalFlocq or false) "-use-external-Flocq"} \
|
||||
${ccomp-platform}
|
||||
'';
|
||||
|
||||
installTargets = "documentation install";
|
||||
postInstall = ''
|
||||
# move man into place
|
||||
mkdir -p $man/share
|
||||
mv $out/share/man/ $man/share/
|
||||
|
||||
# move docs into place
|
||||
mkdir -p $doc/share/doc/compcert
|
||||
mv doc/html $doc/share/doc/compcert/
|
||||
|
||||
# wrap ccomp to undefine _FORTIFY_SOURCE; ccomp invokes cc1 which sets
|
||||
# _FORTIFY_SOURCE=2 by default, but undefines __GNUC__ (as it should),
|
||||
# which causes a warning in libc. this suppresses it.
|
||||
for x in ccomp clightgen; do
|
||||
wrapProgram $out/bin/$x --add-flags "-U_FORTIFY_SOURCE"
|
||||
done
|
||||
'';
|
||||
|
||||
outputs = [ "out" "lib" "doc" "man" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Formally verified C compiler";
|
||||
homepage = "https://compcert.org";
|
||||
license = licenses.inria-compcert;
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ];
|
||||
};
|
||||
}
|
@ -5,36 +5,13 @@ let
|
||||
let files = builtins.attrNames (builtins.readDir dir);
|
||||
in map (f: dir + ("/" + f)) files;
|
||||
version = "2.2.1";
|
||||
dartVersion = "2.13.1";
|
||||
channel = "stable";
|
||||
filename = "flutter_linux_${version}-${channel}.tar.xz";
|
||||
dartStable = dart.override {
|
||||
version = dartVersion;
|
||||
sources = {
|
||||
"${dartVersion}-x86_64-darwin" = fetchurl {
|
||||
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-macos-x64-release.zip";
|
||||
sha256 = "0kb6r2rmp5d0shvgyy37fmykbgww8qaj4f8k79rmqfv5lwa3izya";
|
||||
};
|
||||
"${dartVersion}-x86_64-linux" = fetchurl {
|
||||
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip";
|
||||
sha256 = "0zq8wngyrw01wjc5s6w1vz2jndms09ifiymjjixxby9k41mr6jrq";
|
||||
};
|
||||
"${dartVersion}-i686-linux" = fetchurl {
|
||||
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-ia32-release.zip";
|
||||
sha256 = "0zv4q8xv2i08a6izpyhhnil75qhs40m5mgyvjqjsswqkwqdf7lkj";
|
||||
};
|
||||
"${dartVersion}-aarch64-linux" = fetchurl {
|
||||
url = "https://storage.googleapis.com/dart-archive/channels/stable/release/${dartVersion}/sdk/dartsdk-linux-arm64-release.zip";
|
||||
sha256 = "0bb9jdmg5p608jmmiqibp13ydiw9avgysxlmljvgsl7wl93j6rgc";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
mkFlutter = mkFlutter;
|
||||
stable = mkFlutter rec {
|
||||
dart = dartStable;
|
||||
inherit version;
|
||||
inherit dart version;
|
||||
pname = "flutter";
|
||||
src = fetchurl {
|
||||
url = "https://storage.googleapis.com/flutter_infra/releases/${channel}/linux/${filename}";
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, llvm_meta, src, cmake, python3, libcxxabi, fixDarwinDylibNames, version
|
||||
{ lib, stdenv, llvm_meta, src, cmake, python3, fixDarwinDylibNames, version
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
}:
|
||||
|
||||
@ -24,10 +24,7 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ cmake python3 ]
|
||||
++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
|
||||
|
||||
buildInputs = [ libcxxabi ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DLIBCXX_CXX_ABI=libcxxabi"
|
||||
] ++ lib.optional (stdenv.hostPlatform.isMusl || stdenv.hostPlatform.isWasi) "-DLIBCXX_HAS_MUSL_LIBC=1"
|
||||
++ lib.optional (stdenv.hostPlatform.useLLVM or false) "-DLIBCXX_USE_COMPILER_RT=ON"
|
||||
++ lib.optional stdenv.hostPlatform.isWasm [
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 9bf1a02f0908..612cd4aab76c 100644
|
||||
index 06ee1d74a03e..6c3c6f8f8d47 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -28,6 +28,8 @@ set(LIBCXX_BINARY_INCLUDE_DIR "${LIBCXX_BINARY_DIR}/include/c++build")
|
||||
@ -9,92 +9,73 @@ index 9bf1a02f0908..612cd4aab76c 100644
|
||||
+ include(GNUInstallDirs)
|
||||
+
|
||||
set(PACKAGE_NAME libcxx)
|
||||
set(PACKAGE_VERSION 12.0.0)
|
||||
set(PACKAGE_VERSION 13.0.0git)
|
||||
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
||||
@@ -402,7 +404,7 @@ endif ()
|
||||
if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
|
||||
set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
|
||||
set(LIBCXX_HEADER_DIR ${LLVM_BINARY_DIR})
|
||||
- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
|
||||
+ set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
|
||||
@@ -409,7 +411,7 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
|
||||
set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
|
||||
set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1")
|
||||
set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LLVM_BINARY_DIR}/include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1")
|
||||
- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
|
||||
+ set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
|
||||
set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1")
|
||||
set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "include/${LLVM_DEFAULT_TARGET_TRIPLE}/c++/v1")
|
||||
if(LIBCXX_LIBDIR_SUBDIR)
|
||||
string(APPEND LIBCXX_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR})
|
||||
string(APPEND LIBCXX_INSTALL_LIBRARY_DIR /${LIBCXX_LIBDIR_SUBDIR})
|
||||
@@ -410,11 +412,11 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
|
||||
elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
|
||||
@@ -420,14 +422,14 @@ elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
|
||||
set(LIBCXX_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
|
||||
set(LIBCXX_HEADER_DIR ${LLVM_BINARY_DIR})
|
||||
set(LIBCXX_GENERATED_INCLUDE_DIR "${LLVM_BINARY_DIR}/include/c++/v1")
|
||||
set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}")
|
||||
- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX})
|
||||
+ set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX})
|
||||
set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1")
|
||||
set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${LIBCXX_INSTALL_INCLUDE_DIR}")
|
||||
else()
|
||||
set(LIBCXX_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXX_LIBDIR_SUFFIX})
|
||||
set(LIBCXX_HEADER_DIR ${CMAKE_BINARY_DIR})
|
||||
set(LIBCXX_GENERATED_INCLUDE_DIR "${CMAKE_BINARY_DIR}/include/c++/v1")
|
||||
set(LIBCXX_GENERATED_INCLUDE_TARGET_DIR "${LIBCXX_GENERATED_INCLUDE_DIR}")
|
||||
- set(LIBCXX_INSTALL_LIBRARY_DIR lib${LIBCXX_LIBDIR_SUFFIX})
|
||||
+ set(LIBCXX_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXX_LIBDIR_SUFFIX})
|
||||
set(LIBCXX_INSTALL_INCLUDE_DIR "include/c++/v1")
|
||||
set(LIBCXX_INSTALL_INCLUDE_TARGET_DIR "${LIBCXX_INSTALL_INCLUDE_DIR}")
|
||||
endif()
|
||||
|
||||
file(MAKE_DIRECTORY "${LIBCXX_BINARY_INCLUDE_DIR}")
|
||||
diff --git a/cmake/Modules/HandleLibCXXABI.cmake b/cmake/Modules/HandleLibCXXABI.cmake
|
||||
index 5d2764e870e9..bb1ec5de6ca2 100644
|
||||
index 5a8a4a270a1a..c06bae0001aa 100644
|
||||
--- a/cmake/Modules/HandleLibCXXABI.cmake
|
||||
+++ b/cmake/Modules/HandleLibCXXABI.cmake
|
||||
@@ -63,7 +63,7 @@ macro(setup_abi_lib abidefines abishared abistatic abifiles abidirs)
|
||||
|
||||
if (LIBCXX_INSTALL_HEADERS)
|
||||
install(FILES "${LIBCXX_BINARY_INCLUDE_DIR}/${fpath}"
|
||||
- DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dstdir}
|
||||
+ DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}
|
||||
- DESTINATION include/c++/v1/${dstdir}
|
||||
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dstdir}
|
||||
COMPONENT cxx-headers
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||
)
|
||||
diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
|
||||
index 29a317b8ae9a..4747263cfd1b 100644
|
||||
--- a/include/CMakeLists.txt
|
||||
+++ b/include/CMakeLists.txt
|
||||
@@ -252,7 +252,7 @@ if (LIBCXX_INSTALL_HEADERS)
|
||||
foreach(file ${files})
|
||||
get_filename_component(dir ${file} DIRECTORY)
|
||||
install(FILES ${file}
|
||||
- DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1/${dir}
|
||||
+ DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1/${dir}
|
||||
COMPONENT cxx-headers
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||
)
|
||||
@@ -260,7 +260,7 @@ if (LIBCXX_INSTALL_HEADERS)
|
||||
|
||||
# Install the generated header as __config.
|
||||
install(FILES ${LIBCXX_BINARY_DIR}/__generated_config
|
||||
- DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}include/c++/v1
|
||||
+ DESTINATION ${LIBCXX_INSTALL_HEADER_PREFIX}${CMAKE_INSTALL_INCLUDEDIR}/c++/v1
|
||||
PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
|
||||
RENAME __config
|
||||
COMPONENT cxx-headers)
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 9965104cb5b2..9b55dbb1d822 100644
|
||||
index 87b71f7ba334..d20a783079b7 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -352,21 +352,21 @@ if (LIBCXX_INSTALL_SHARED_LIBRARY)
|
||||
@@ -369,21 +369,21 @@ if (LIBCXX_INSTALL_SHARED_LIBRARY)
|
||||
install(TARGETS cxx_shared
|
||||
ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
- RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx)
|
||||
+ RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
|
||||
ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
- RUNTIME DESTINATION bin COMPONENT cxx)
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
|
||||
endif()
|
||||
|
||||
if (LIBCXX_INSTALL_STATIC_LIBRARY)
|
||||
install(TARGETS cxx_static
|
||||
ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
- RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx)
|
||||
+ RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
|
||||
ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
- RUNTIME DESTINATION bin COMPONENT cxx)
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
|
||||
endif()
|
||||
|
||||
if(LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY)
|
||||
install(TARGETS cxx_experimental
|
||||
LIBRARY DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
ARCHIVE DESTINATION ${LIBCXX_INSTALL_PREFIX}${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
- RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}bin COMPONENT cxx)
|
||||
+ RUNTIME DESTINATION ${LIBCXX_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
|
||||
LIBRARY DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
ARCHIVE DESTINATION ${LIBCXX_INSTALL_LIBRARY_DIR} COMPONENT cxx
|
||||
- RUNTIME DESTINATION bin COMPONENT cxx)
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT cxx)
|
||||
endif()
|
||||
|
||||
# NOTE: This install command must go after the cxx install command otherwise
|
||||
|
@ -1,5 +1,6 @@
|
||||
{ lib, stdenv, llvm_meta, cmake, python3, src, libunwind, version
|
||||
, enableShared ? !stdenv.hostPlatform.isStatic
|
||||
, libcxx
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
@ -26,7 +27,9 @@ stdenv.mkDerivation rec {
|
||||
nativeBuildInputs = [ cmake python3 ];
|
||||
buildInputs = lib.optional (!stdenv.isDarwin && !stdenv.isFreeBSD && !stdenv.hostPlatform.isWasm) libunwind;
|
||||
|
||||
cmakeFlags = lib.optionals (stdenv.hostPlatform.useLLVM or false) [
|
||||
cmakeFlags = [
|
||||
"-DLIBCXXABI_LIBCXX_INCLUDES=${libcxx.dev}/include/c++/v1"
|
||||
] ++ lib.optionals (stdenv.hostPlatform.useLLVM or false) [
|
||||
"-DLLVM_ENABLE_LIBCXX=ON"
|
||||
"-DLIBCXXABI_USE_LLVM_UNWINDER=ON"
|
||||
] ++ lib.optionals stdenv.hostPlatform.isWasm [
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 426c855288fc..a9812a994f53 100644
|
||||
index 1e8b73aa38cc..6f7b2a25d205 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -27,6 +27,8 @@ set(LIBCXXABI_LIBCXX_PATH "${CMAKE_CURRENT_LIST_DIR}/../libcxx" CACHE PATH
|
||||
@ -9,26 +9,28 @@ index 426c855288fc..a9812a994f53 100644
|
||||
+ include(GNUInstallDirs)
|
||||
+
|
||||
set(PACKAGE_NAME libcxxabi)
|
||||
set(PACKAGE_VERSION 11.0.0)
|
||||
set(PACKAGE_VERSION 11.0.0git)
|
||||
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
|
||||
@@ -180,17 +182,17 @@ set(CMAKE_MODULE_PATH
|
||||
|
||||
@@ -196,7 +198,7 @@ set(CMAKE_MODULE_PATH
|
||||
if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
|
||||
set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
|
||||
- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
|
||||
+ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE}/c++)
|
||||
set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR})
|
||||
set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/${LLVM_DEFAULT_TARGET_TRIPLE})
|
||||
- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
|
||||
+ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
|
||||
if(LIBCXX_LIBDIR_SUBDIR)
|
||||
string(APPEND LIBCXXABI_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
|
||||
string(APPEND LIBCXXABI_INSTALL_LIBRARY_DIR /${LIBCXXABI_LIBDIR_SUBDIR})
|
||||
endif()
|
||||
@@ -204,11 +206,11 @@ if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
|
||||
elseif(LLVM_LIBRARY_OUTPUT_INTDIR)
|
||||
set(LIBCXXABI_HEADER_DIR ${LLVM_BINARY_DIR})
|
||||
set(LIBCXXABI_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
|
||||
- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX})
|
||||
+ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX})
|
||||
else()
|
||||
set(LIBCXXABI_HEADER_DIR ${CMAKE_BINARY_DIR})
|
||||
set(LIBCXXABI_LIBRARY_DIR ${CMAKE_BINARY_DIR}/lib${LIBCXXABI_LIBDIR_SUFFIX})
|
||||
- set(LIBCXXABI_INSTALL_LIBRARY_DIR lib${LIBCXXABI_LIBDIR_SUFFIX})
|
||||
+ set(LIBCXXABI_INSTALL_LIBRARY_DIR ${CMAKE_INSTALL_LIBDIR}${LIBCXXABI_LIBDIR_SUFFIX})
|
||||
endif()
|
||||
|
||||
set(LIBCXXABI_INSTALL_PREFIX "" CACHE STRING "Define libc++abi destination prefix.")
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LIBCXXABI_LIBRARY_DIR})
|
||||
|
@ -95,12 +95,12 @@ in {
|
||||
|
||||
nim-unwrapped = stdenv.mkDerivation rec {
|
||||
pname = "nim-unwrapped";
|
||||
version = "1.4.6";
|
||||
version = "1.4.8";
|
||||
strictDeps = true;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://nim-lang.org/download/nim-${version}.tar.xz";
|
||||
hash = "sha256-D7wPkoLP/oXembxHv6h2Ulud3aKi6uVcGFoIgEuY070=";
|
||||
hash = "sha256-t5jFd0EdfZW4YxJh27Nnbp0a/Z42dA0ESWagVVtBRBo=";
|
||||
};
|
||||
|
||||
buildInputs = [ boehmgc openssl pcre readline sqlite ];
|
||||
@ -290,6 +290,8 @@ in {
|
||||
|
||||
makeWrapper \
|
||||
${nim'}/nim/bin/nim $out/bin/${targetPlatform.config}-nim \
|
||||
--set-default CC $(command -v $CC) \
|
||||
--set-default CXX $(command -v $CXX) \
|
||||
$wrapperArgs
|
||||
ln -s $out/bin/${targetPlatform.config}-nim $out/bin/nim
|
||||
|
||||
|
@ -37,6 +37,13 @@ stdenv.mkDerivation rec {
|
||||
export HOME=$TMPDIR;
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
./zig test --cache-dir "$TMPDIR" -I $src/test $src/test/behavior.zig
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://ziglang.org/";
|
||||
description =
|
||||
@ -48,4 +55,4 @@ stdenv.mkDerivation rec {
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
# TODO: checkPhase
|
||||
|
||||
|
@ -9,10 +9,8 @@ with lib; mkCoqDerivation {
|
||||
inherit version;
|
||||
defaultVersion = with versions; switch coq.coq-version [
|
||||
{ case = range "8.12" "8.13"; out = "2.7.1"; }
|
||||
{ case = "8.11"; out = "2.6"; }
|
||||
] null;
|
||||
release."2.7.1".sha256 = "1674j7bkvihiv19vizm99dp6gj3lryb00zx6a87jz214f3ydcvnj";
|
||||
release."2.6".sha256 = "00bf9hl4pvmsqa08lzjs1mrxyfgfxq4k6778pnldmc8ichm90jgk";
|
||||
releaseRev = v: "v${v}";
|
||||
propagatedBuildInputs = [ compcert ];
|
||||
|
||||
|
109
pkgs/development/coq-modules/compcert/default.nix
Normal file
109
pkgs/development/coq-modules/compcert/default.nix
Normal file
@ -0,0 +1,109 @@
|
||||
{ lib, fetchzip, mkCoqDerivation, coq, flocq, compcert
|
||||
, ocamlPackages, fetchpatch, makeWrapper, coq2html
|
||||
, stdenv, tools ? stdenv.cc
|
||||
, version ? null
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let compcert = mkCoqDerivation rec {
|
||||
|
||||
pname = "compcert";
|
||||
owner = "AbsInt";
|
||||
|
||||
inherit version;
|
||||
releaseRev = v: "v${v}";
|
||||
|
||||
defaultVersion = with versions; switch coq.version [
|
||||
{ case = range "8.8" "8.13"; out = "3.8"; }
|
||||
] null;
|
||||
|
||||
release = {
|
||||
"3.8".sha256 = "1gzlyxvw64ca12qql3wnq3bidcx9ygsklv9grjma3ib4hvg7vnr7";
|
||||
"3.9".sha256 = "1srcz2dqrvmbvv5cl66r34zqkm0hsbryk7gd3i9xx4slahc9zvdb";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = with ocamlPackages; [ ocaml findlib menhir menhirLib ] ++ [ coq coq2html ];
|
||||
propagatedBuildInputs = [ flocq ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ./configure \
|
||||
--replace \$\{toolprefix\}ar 'ar' \
|
||||
--replace '{toolprefix}gcc' '{toolprefix}cc'
|
||||
'';
|
||||
|
||||
configurePhase = ''
|
||||
./configure -clightgen \
|
||||
-prefix $out \
|
||||
-coqdevdir $lib/lib/coq/${coq.coq-version}/user-contrib/compcert/ \
|
||||
-toolprefix ${tools}/bin/ \
|
||||
-use-external-Flocq \
|
||||
${if stdenv.isDarwin then "x86_64-macosx" else "x86_64-linux"}
|
||||
'';
|
||||
|
||||
installTargets = "documentation install";
|
||||
postInstall = ''
|
||||
# move man into place
|
||||
mkdir -p $man/share
|
||||
mv $out/share/man/ $man/share/
|
||||
|
||||
# move docs into place
|
||||
mkdir -p $doc/share/doc/compcert
|
||||
mv doc/html $doc/share/doc/compcert/
|
||||
|
||||
# wrap ccomp to undefine _FORTIFY_SOURCE; ccomp invokes cc1 which sets
|
||||
# _FORTIFY_SOURCE=2 by default, but undefines __GNUC__ (as it should),
|
||||
# which causes a warning in libc. this suppresses it.
|
||||
for x in ccomp clightgen; do
|
||||
wrapProgram $out/bin/$x --add-flags "-U_FORTIFY_SOURCE"
|
||||
done
|
||||
'';
|
||||
|
||||
outputs = [ "out" "lib" "doc" "man" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Formally verified C compiler";
|
||||
homepage = "https://compcert.org";
|
||||
license = licenses.inria-compcert;
|
||||
platforms = [ "x86_64-linux" "x86_64-darwin" ];
|
||||
maintainers = with maintainers; [ thoughtpolice jwiegley vbgl ];
|
||||
};
|
||||
}; in
|
||||
compcert.overrideAttrs (o:
|
||||
{
|
||||
patches = with versions; switch [ coq.version o.version ] [
|
||||
{ cases = [ (range "8.12.2" "8.13.2") "3.8" ];
|
||||
out = [
|
||||
# Support for Coq 8.12.2
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/06956421b4307054af221c118c5f59593c0e67b9.patch";
|
||||
sha256 = "1f90q6j3xfvnf3z830bkd4d8526issvmdlrjlc95bfsqs78i1yrl";
|
||||
})
|
||||
# Support for Coq 8.13.0
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/0895388e7ebf9c9f3176d225107e21968919fb97.patch";
|
||||
sha256 = "0qhkzgb2xl5kxys81pldp3mr39gd30lvr2l2wmplij319vp3xavd";
|
||||
})
|
||||
# Support for Coq 8.13.1
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/6bf310dd678285dc193798e89fc2c441d8430892.patch";
|
||||
sha256 = "026ahhvpj5pksy90f8pnxgmhgwfqk4kwyvcf8x3dsanvz98d4pj5";
|
||||
})
|
||||
# Drop support for Coq < 8.9
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/7563a5df926a4c6fb1489a7a4c847641c8a35095.patch";
|
||||
sha256 = "05vkslzy399r3dm6dmjs722rrajnyfa30xsyy3djl52isvn4gyfb";
|
||||
})
|
||||
# Support for Coq 8.13.2
|
||||
(fetchpatch {
|
||||
url = "https://github.com/AbsInt/CompCert/commit/48bc183167c4ce01a5c9ea86e49d60530adf7290.patch";
|
||||
sha256 = "0j62lppfk26d1brdp3qwll2wi4gvpx1k70qivpvby5f7dpkrkax1";
|
||||
})
|
||||
];
|
||||
}
|
||||
] [];
|
||||
}
|
||||
)
|
@ -2,33 +2,32 @@
|
||||
, lib
|
||||
, fetchurl
|
||||
, unzip
|
||||
, version ? "2.12.2"
|
||||
, sources ?
|
||||
let
|
||||
, version ? "2.13.1"
|
||||
, sources ? let
|
||||
base = "https://storage.googleapis.com/dart-archive/channels";
|
||||
x86_64 = "x64";
|
||||
i686 = "ia32";
|
||||
aarch64 = "arm64";
|
||||
# Make sure that if the user overrides version parameter they're
|
||||
# also need to override sources, to avoid mistakes
|
||||
version = "2.12.2";
|
||||
version = "2.13.1";
|
||||
in
|
||||
{
|
||||
"${version}-x86_64-darwin" = fetchurl {
|
||||
url = "${base}/stable/release/${version}/sdk/dartsdk-macos-${x86_64}-release.zip";
|
||||
sha256 = "0h6mpy0kfc842vhg053fyxbjnd8lw1d1shdcsj800048260lxhyd";
|
||||
sha256 = "0kb6r2rmp5d0shvgyy37fmykbgww8qaj4f8k79rmqfv5lwa3izya";
|
||||
};
|
||||
"${version}-x86_64-linux" = fetchurl {
|
||||
url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${x86_64}-release.zip";
|
||||
sha256 = "1gg210gf4yif3bl9k19znkndc4c1cd529xwxpi20ykaw3zfxxz2z";
|
||||
sha256 = "0zq8wngyrw01wjc5s6w1vz2jndms09ifiymjjixxby9k41mr6jrq";
|
||||
};
|
||||
"${version}-i686-linux" = fetchurl {
|
||||
url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${i686}-release.zip";
|
||||
sha256 = "1wngxba71j20gq9vy7n8q0m9rnqs047xm5b03bxk3hhaq6dyzkwn";
|
||||
sha256 = "0zv4q8xv2i08a6izpyhhnil75qhs40m5mgyvjqjsswqkwqdf7lkj";
|
||||
};
|
||||
"${version}-aarch64-linux" = fetchurl {
|
||||
url = "${base}/stable/release/${version}/sdk/dartsdk-linux-${aarch64}-release.zip";
|
||||
sha256 = "0rqsmzl5g5kgk54qb03kamjm5n5g5pqfl79np37xdzwqbv0zx22b";
|
||||
sha256 = "0bb9jdmg5p608jmmiqibp13ydiw9avgysxlmljvgsl7wl93j6rgc";
|
||||
};
|
||||
}
|
||||
}:
|
||||
@ -40,9 +39,7 @@ stdenv.mkDerivation {
|
||||
pname = "dart";
|
||||
inherit version;
|
||||
|
||||
nativeBuildInputs = [
|
||||
unzip
|
||||
];
|
||||
nativeBuildInputs = [ unzip ];
|
||||
|
||||
src = sources."${version}-${stdenv.hostPlatform.system}" or (throw "unsupported version/system: ${version}/${stdenv.hostPlatform.system}");
|
||||
|
||||
|
@ -3,6 +3,6 @@
|
||||
# How to obtain `sha256`:
|
||||
# nix-prefetch-url --unpack https://github.com/erlang/otp/archive/OTP-${version}.tar.gz
|
||||
mkDerivation {
|
||||
version = "23.3.4.2";
|
||||
sha256 = "QAIkiYBhYnUzyRg70SQ4BwjjYqclDA4uruqRNTgB2Sk=";
|
||||
version = "23.3.4.3";
|
||||
sha256 = "wmR0XTMrJ3608HD341lNlYChwxs/8jb12Okw3RNHGCA=";
|
||||
}
|
||||
|
@ -37,6 +37,7 @@ stdenv.mkDerivation rec {
|
||||
maintainers = [ maintainers.kovirobi ];
|
||||
platforms = with platforms; linux ++ darwin;
|
||||
inherit version;
|
||||
mainProgram = "apl";
|
||||
|
||||
longDescription = ''
|
||||
GNU APL is a free interpreter for the programming language APL, with an
|
||||
|
@ -1,4 +1,12 @@
|
||||
{ stdenv, lib, fetchFromGitHub, pkg-config, libffi, python3, readline }:
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, libffi
|
||||
, python3
|
||||
, readline
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "micropython";
|
||||
@ -12,21 +20,50 @@ stdenv.mkDerivation rec {
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
# drop the following patches when upgrading to 1.16
|
||||
patches = [
|
||||
# fix build with modern clang https://github.com/micropython/micropython/pull/7254
|
||||
(fetchpatch {
|
||||
url = "https://github.com/micropython/micropython/commit/126b1c727118352923703719a2a3d45b9fad3c97.patch";
|
||||
sha256 = "13a2bmz24syhd1qsqbx39dcjkjdhf05ln7lanh816m94lkfib21j";
|
||||
})
|
||||
# fix build with modern clang https://github.com/micropython/micropython/pull/7254
|
||||
(fetchpatch {
|
||||
url = "https://github.com/micropython/micropython/commit/7ceccad4e2f1e9d073f5781c32e5b377e8391a25.patch";
|
||||
sha256 = "04mbxmb5yr6pbhhf9villq8km4wy579r46v9p4n0ysivrxij7i6f";
|
||||
})
|
||||
# fix build on aarch64-darwin https://github.com/micropython/micropython/pull/7393
|
||||
(fetchpatch {
|
||||
url = "https://github.com/micropython/micropython/commit/95048129b1d93854c25f501c02801929aeeb23f0.patch";
|
||||
sha256 = "1cngcwq4jviyhdnfcrrkdadfikhffzbj0d634j0344cp247jb41n";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config python3 ];
|
||||
|
||||
buildInputs = [ libffi readline ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
make -C mpy-cross
|
||||
make -C ports/unix
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
skippedTests = ""
|
||||
+ lib.optionalString (stdenv.isDarwin) " -e uasyncio_basic -e uasyncio_wait_task"
|
||||
+ lib.optionalString (stdenv.isDarwin && stdenv.isAarch64) " -e ffi_callback"
|
||||
+ lib.optionalString (stdenv.isLinux && stdenv.isAarch64) " -e float_parse"
|
||||
;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
pushd tests
|
||||
MICROPY_MICROPYTHON=../ports/unix/micropython ${python3.interpreter} ./run-tests.py
|
||||
${python3.interpreter} ./run-tests.py ${skippedTests}
|
||||
popd
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
@ -39,7 +76,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "A lean and efficient Python implementation for microcontrollers and constrained systems";
|
||||
homepage = "https://micropython.org";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
platforms = platforms.unix;
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ sgo ];
|
||||
};
|
||||
|
@ -124,15 +124,15 @@ let
|
||||
ln -s ${extraInit} $out/lib/php.ini
|
||||
|
||||
if test -e $out/bin/php; then
|
||||
wrapProgram $out/bin/php --set PHP_INI_SCAN_DIR $out/lib
|
||||
wrapProgram $out/bin/php --prefix PHP_INI_SCAN_DIR : $out/lib
|
||||
fi
|
||||
|
||||
if test -e $out/bin/php-fpm; then
|
||||
wrapProgram $out/bin/php-fpm --set PHP_INI_SCAN_DIR $out/lib
|
||||
wrapProgram $out/bin/php-fpm --prefix PHP_INI_SCAN_DIR : $out/lib
|
||||
fi
|
||||
|
||||
if test -e $out/bin/phpdbg; then
|
||||
wrapProgram $out/bin/phpdbg --set PHP_INI_SCAN_DIR $out/lib
|
||||
wrapProgram $out/bin/phpdbg --prefix PHP_INI_SCAN_DIR : $out/lib
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
@ -21,13 +21,13 @@ let
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "amdvlk";
|
||||
version = "2021.Q2.4";
|
||||
version = "2021.Q2.5";
|
||||
|
||||
src = fetchRepoProject {
|
||||
name = "${pname}-src";
|
||||
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
|
||||
rev = "refs/tags/v-${version}";
|
||||
sha256 = "KPWkwbD55BoztF6DPmvau9i1AMhR+5ad5VrrD8I2YyI=";
|
||||
sha256 = "0NJoGk++SHt4dtoUj3UQeW4zFtwa7osczUr+vxi8DG8=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "armadillo";
|
||||
version = "10.5.1";
|
||||
version = "10.5.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
|
||||
sha256 = "sha256-lq1uHLzyjz0cH/ly3ixA2t3b12gyVrrVAtPEY9L2TN8=";
|
||||
sha256 = "sha256-Y/I87cVIpelASBblDPj4/MSSqxqtxsDO8wv8Kvzq2V8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
27
pkgs/development/libraries/cglm/default.nix
Normal file
27
pkgs/development/libraries/cglm/default.nix
Normal file
@ -0,0 +1,27 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cglm";
|
||||
version = "0.8.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "recp";
|
||||
repo = "cglm";
|
||||
rev = "v${version}";
|
||||
sha256 = "0crzkxan3kivyah225md5c65zglg5c1cgrsmwhvp51hmrpmxss5v";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/recp/cglm";
|
||||
description = "Highly Optimized Graphics Math (glm) for C";
|
||||
license = licenses.mit;
|
||||
maintainers = [ maintainers.ivar ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
@ -1,11 +1,12 @@
|
||||
{ lib, stdenv, fetchurl, zlib }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "kyotocabinet-1.2.76";
|
||||
pname = "kyotocabinet";
|
||||
version = "1.2.79";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://fallabs.com/kyotocabinet/pkg/${name}.tar.gz";
|
||||
sha256 = "0g6js20x7vnpq4p8ghbw3mh9wpqksya9vwhzdx6dnlf354zjsal1";
|
||||
url = "https://dbmx.net/kyotocabinet/pkg/kyotocabinet-${version}.tar.gz";
|
||||
sha256 = "079ymsahlrijswgwfr2la9yw5h57l752cprhp5dz31iamsj1vyv7";
|
||||
};
|
||||
|
||||
prePatch = lib.optionalString stdenv.isDarwin ''
|
||||
@ -24,18 +25,12 @@ stdenv.mkDerivation rec {
|
||||
--replace stdc++ c++
|
||||
'';
|
||||
|
||||
patches = [(fetchurl {
|
||||
name = "gcc6.patch";
|
||||
url = "https://src.fedoraproject.org/rpms/kyotocabinet/raw/master/f/kyotocabinet-1.2.76-gcc6.patch";
|
||||
sha256 = "1h5k38mkiq7lz8nd2gbn7yvimcz49g3z7phn1cr560bzjih8rz23";
|
||||
})];
|
||||
|
||||
buildInputs = [ zlib ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://fallabs.com/kyotocabinet";
|
||||
homepage = "https://dbmx.net/kyotocabinet";
|
||||
description = "A library of routines for managing a database";
|
||||
license = licenses.gpl3;
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "libquotient";
|
||||
version = "0.6.6";
|
||||
version = "0.6.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "quotient-im";
|
||||
repo = "libQuotient";
|
||||
rev = version;
|
||||
sha256 = "sha256-QSpkcQEDTMsFbQBa7dTuL/5HraVChUHqUuJdNMty/4s=";
|
||||
sha256 = "sha256-fAzYv9OsanXqocEvbSB3OA9OVicwcZ0xT9uYbrFPEHc=";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qtmultimedia ];
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user