Merge master into staging-next

This commit is contained in:
github-actions[bot] 2020-12-02 12:30:55 +00:00 committed by GitHub
commit 89e8bf0f2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
137 changed files with 1941 additions and 1029 deletions

1
.github/CODEOWNERS vendored
View File

@ -12,6 +12,7 @@
# GitHub actions # GitHub actions
/.github/workflows @Mic92 @zowoq /.github/workflows @Mic92 @zowoq
/.github/workflows/merge-staging @FRidh
# EditorConfig # EditorConfig
/.editorconfig @Mic92 @zowoq /.editorconfig @Mic92 @zowoq

39
.github/workflows/merge-staging.yml vendored Normal file
View File

@ -0,0 +1,39 @@
name: "merge staging(-next)"
on:
schedule:
# * is a special character in YAML so you have to quote this string
# Merge every 6 hours
- cron: '* */6 * * *'
jobs:
sync-branch:
if: github.repository == 'NixOS/nixpkgs'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Merge master into staging-next
uses: devmasx/merge-branch@v1.3.1
with:
type: now
from_branch: master
target_branch: staging-next
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Merge staging-next into staging
uses: devmasx/merge-branch@v1.3.1
with:
type: now
from_branch: staging-next
target_branch: staging
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Comment on failure
uses: peter-evans/create-or-update-comment@v1
if: ${{ failure() }}
with:
issue-number: 105153
body: |
An automatic merge [failed](https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}).

View File

@ -467,12 +467,8 @@
It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests. It is possible for community members that have enough knowledge and experience on a special topic to contribute by merging pull requests.
</para> </para>
<para>
TODO: add the procedure to request merging rights.
</para>
<!-- <!--
The following paragraph about how to deal with unactive contributors is just a The following paragraphs about how to deal with unactive contributors is just a
proposition and should be modified to what the community agrees to be the right proposition and should be modified to what the community agrees to be the right
policy. policy.
@ -480,6 +476,10 @@ policy.
three months will have their commit rights revoked.</para> three months will have their commit rights revoked.</para>
--> -->
<para>
Please see the discussion in <link xlink:href="https://github.com/NixOS/nixpkgs/issues/50105">GitHub nixpkgs issue #50105</link> for information on how to proceed to be granted this level of access.
</para>
<para> <para>
In a case a contributor definitively leaves the Nix community, they should create an issue or post on <link In a case a contributor definitively leaves the Nix community, they should create an issue or post on <link
xlink:href="https://discourse.nixos.org">Discourse</link> with references of packages and modules they maintain so the maintainership can be taken over by other contributors. xlink:href="https://discourse.nixos.org">Discourse</link> with references of packages and modules they maintain so the maintainership can be taken over by other contributors.

View File

@ -39,6 +39,11 @@ rec {
platform = platforms.zero-gravitas; platform = platforms.zero-gravitas;
}; };
remarkable2 = {
config = "armv7l-unknown-linux-gnueabihf";
platform = platforms.zero-sugar;
};
armv7l-hf-multiplatform = { armv7l-hf-multiplatform = {
config = "armv7l-unknown-linux-gnueabihf"; config = "armv7l-unknown-linux-gnueabihf";
platform = platforms.armv7l-hf-multiplatform; platform = platforms.armv7l-hf-multiplatform;

View File

@ -217,6 +217,21 @@ rec {
}; };
}; };
zero-sugar = {
name = "zero-sugar";
kernelBaseConfig = "zero-sugar_defconfig";
kernelArch = "arm";
kernelDTB = true;
kernelAutoModules = false;
kernelPreferBuiltin = true;
kernelTarget = "zImage";
gcc = {
cpu = "cortex-a7";
fpu = "neon-vfpv4";
float-abi = "hard";
};
};
scaleway-c1 = armv7l-hf-multiplatform // { scaleway-c1 = armv7l-hf-multiplatform // {
gcc = { gcc = {
cpu = "cortex-a9"; cpu = "cortex-a9";

View File

@ -2755,6 +2755,16 @@
email = "adam.copp@gmail.com"; email = "adam.copp@gmail.com";
name = "Adam Copp"; name = "Adam Copp";
}; };
ethancedwards8 = {
email = "ethancarteredwards@gmail.com";
github = "ethancedwards8";
githubId = 60861925;
name = "Ethan Carter Edwards";
keys = [{
longkeyid = "rsa4096/0xF93DDAFA26EF2458";
fingerprint = "0E69 0F46 3457 D812 3387 C978 F93D DAFA 26EF 2458";
}];
};
ethercrow = { ethercrow = {
email = "ethercrow@gmail.com"; email = "ethercrow@gmail.com";
github = "ethercrow"; github = "ethercrow";
@ -3437,6 +3447,12 @@
fingerprint = "74B1 F67D 8E43 A94A 7554 0768 9CCC E364 02CB 49A6"; fingerprint = "74B1 F67D 8E43 A94A 7554 0768 9CCC E364 02CB 49A6";
}]; }];
}; };
happysalada = {
email = "raphael@megzari.com";
github = "happysalada";
githubId = 5317234;
name = "Raphael Megzari";
};
haslersn = { haslersn = {
email = "haslersn@fius.informatik.uni-stuttgart.de"; email = "haslersn@fius.informatik.uni-stuttgart.de";
github = "haslersn"; github = "haslersn";
@ -6213,6 +6229,16 @@
githubId = 1916245; githubId = 1916245;
name = "Fernando Jose Pando"; name = "Fernando Jose Pando";
}; };
nasirhm = {
email = "nasirhussainm14@gmail.com";
github = "nasirhm";
githubId = 35005234;
name = "Nasir Hussain";
keys = [{
longkeyid = "rsa4096/0xD8126E559CE7C35D";
fingerprint = "7A10 AB8E 0BEC 566B 090C 9BE3 D812 6E55 9CE7 C35D";
}];
};
Nate-Devv = { Nate-Devv = {
email = "natedevv@gmail.com"; email = "natedevv@gmail.com";
name = "Nathan Moore"; name = "Nathan Moore";
@ -6759,6 +6785,12 @@
githubId = 8641; githubId = 8641;
name = "Pierre Carrier"; name = "Pierre Carrier";
}; };
pengmeiyu = {
email = "pengmyu@gmail.com";
github = "pmeiyu";
githubId = 8529551;
name = "Peng Mei Yu";
};
penguwin = { penguwin = {
email = "penguwin@penguwin.eu"; email = "penguwin@penguwin.eu";
github = "penguwin"; github = "penguwin";

View File

@ -244,6 +244,14 @@
</para> </para>
</warning> </warning>
</listitem> </listitem>
<listitem>
<para>
The <literal>rspamd</literal> services is now sandboxed. It is run as
a dynamic user instead of root, so secrets and other files may have to
be moved or their permissions may have to be fixed. The sockets are now
located in <literal>/run/rspamd</literal> instead of <literal>/run</literal>.
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>

View File

@ -397,6 +397,7 @@
./services/logging/rsyslogd.nix ./services/logging/rsyslogd.nix
./services/logging/syslog-ng.nix ./services/logging/syslog-ng.nix
./services/logging/syslogd.nix ./services/logging/syslogd.nix
./services/logging/vector.nix
./services/mail/clamsmtp.nix ./services/mail/clamsmtp.nix
./services/mail/davmail.nix ./services/mail/davmail.nix
./services/mail/dkimproxy-out.nix ./services/mail/dkimproxy-out.nix

View File

@ -61,10 +61,8 @@ in {
Restart = "always"; Restart = "always";
ExecStart = ''${hoogleEnv}/bin/hoogle server --local --port ${toString cfg.port} --home ${cfg.home}''; ExecStart = ''${hoogleEnv}/bin/hoogle server --local --port ${toString cfg.port} --home ${cfg.home}'';
User = "nobody"; DynamicUser = true;
Group = "nogroup";
PrivateTmp = true;
ProtectHome = true; ProtectHome = true;
RuntimeDirectory = "hoogle"; RuntimeDirectory = "hoogle";

View File

@ -148,7 +148,7 @@ in
# saned needs to distinguish between IPv4 and IPv6 to open matching data sockets. # saned needs to distinguish between IPv4 and IPv6 to open matching data sockets.
BindIPv6Only = "ipv6-only"; BindIPv6Only = "ipv6-only";
Accept = true; Accept = true;
MaxConnections = 1; MaxConnections = 64;
}; };
}; };

View File

@ -0,0 +1,61 @@
{ config, lib, pkgs, ... }:
with lib;
let cfg = config.services.vector;
in {
options.services.vector = {
enable = mkEnableOption "Vector";
journaldAccess = mkOption {
type = types.bool;
default = false;
description = ''
Enable Vector to access journald.
'';
};
settings = mkOption {
type = (pkgs.formats.json { }).type;
default = { };
description = ''
Specify the configuration for Vector in Nix.
'';
};
};
config = mkIf cfg.enable {
users.groups.vector = { };
users.users.vector = {
description = "Vector service user";
group = "vector";
isSystemUser = true;
};
systemd.services.vector = {
description = "Vector event and log aggregator";
wantedBy = [ "multi-user.target" ];
after = [ "network-online.target" ];
requires = [ "network-online.target" ];
serviceConfig = let
format = pkgs.formats.toml { };
conf = format.generate "vector.toml" cfg.settings;
validateConfig = file:
pkgs.runCommand "validate-vector-conf" { } ''
${pkgs.vector}/bin/vector validate --no-topology --no-environment "${file}"
ln -s "${file}" "$out"
'';
in {
ExecStart = "${pkgs.vector}/bin/vector --config ${validateConfig conf}";
User = "vector";
Group = "vector";
Restart = "no";
StateDirectory = "vector";
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
AmbientCapabilities = "CAP_NET_BIND_SERVICE";
# This group is required for accessing journald.
SupplementaryGroups = mkIf cfg.journaldAccess "systemd-journal";
};
};
};
}

View File

@ -387,6 +387,7 @@ in
uwsgi = handleTest ./uwsgi.nix {}; uwsgi = handleTest ./uwsgi.nix {};
v2ray = handleTest ./v2ray.nix {}; v2ray = handleTest ./v2ray.nix {};
vault = handleTest ./vault.nix {}; vault = handleTest ./vault.nix {};
vector = handleTest ./vector.nix {};
victoriametrics = handleTest ./victoriametrics.nix {}; victoriametrics = handleTest ./victoriametrics.nix {};
virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {}; virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
wasabibackend = handleTest ./wasabibackend.nix {}; wasabibackend = handleTest ./wasabibackend.nix {};

View File

@ -117,7 +117,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
) )
docker.wait_until_succeeds("curl -f http://localhost:8000/") docker.wait_until_succeeds("curl -f http://localhost:8000/")
docker.succeed( docker.succeed(
"docker rm --force nginx", "docker rmi '${examples.nginx.imageName}'", "docker rm --force nginx",
"docker rmi '${examples.nginx.imageName}'",
) )
with subtest("A pulled image can be used as base image"): with subtest("A pulled image can be used as base image"):

View File

@ -88,8 +88,8 @@ import ./make-test-python.nix ({ pkgs, ...} : rec {
with subtest("whether kernel.poweroff_cmd is set"): with subtest("whether kernel.poweroff_cmd is set"):
machine.succeed('[ -x "$(cat /proc/sys/kernel/poweroff_cmd)" ]') machine.succeed('[ -x "$(cat /proc/sys/kernel/poweroff_cmd)" ]')
with subtest("whether the blkio controller is properly enabled"): with subtest("whether the io cgroupv2 controller is properly enabled"):
machine.succeed("[ -e /sys/fs/cgroup/blkio/blkio.reset_stats ]") machine.succeed("grep -q '\\bio\\b' /sys/fs/cgroup/cgroup.controllers")
with subtest("whether we have a reboot record in wtmp"): with subtest("whether we have a reboot record in wtmp"):
machine.shutdown machine.shutdown

37
nixos/tests/vector.nix Normal file
View File

@ -0,0 +1,37 @@
{ system ? builtins.currentSystem, config ? { }
, pkgs ? import ../.. { inherit system config; } }:
with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
{
test1 = makeTest {
name = "vector-test1";
meta.maintainers = [ pkgs.stdenv.lib.maintainers.happysalada ];
machine = { config, pkgs, ... }: {
services.vector = {
enable = true;
journaldAccess = true;
settings = {
sources.journald.type = "journald";
sinks = {
file = {
type = "file";
inputs = [ "journald" ];
path = "/var/lib/vector/logs.log";
encoding = { codec = "ndjson"; };
};
};
};
};
};
# ensure vector is forwarding the messages appropriately
testScript = ''
machine.wait_for_unit("vector.service")
machine.succeed("test -f /var/lib/vector/logs.log")
'';
};
}

View File

@ -21,14 +21,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "deja-dup"; pname = "deja-dup";
version = "42.5"; version = "42.6";
src = fetchFromGitLab { src = fetchFromGitLab {
domain = "gitlab.gnome.org"; domain = "gitlab.gnome.org";
owner = "World"; owner = "World";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1xgsd9a9y36lv6f2vjw2nxi9zj2zl1gv6rcyzkqajf91vgmxwf8k"; sha256 = "0grwlfakrnr9ij7h8lsfazlws6qix8pl50dr94cpxnnbjga9xn9z";
}; };
patches = [ patches = [

View File

@ -15,19 +15,17 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "btcpayserver"; pname = "btcpayserver";
version = "1.0.5.5"; version = "1.0.5.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "11h1nrmb7f44msbhhiz9ddqh5ss2kz6d8ysnvd070x3xj5krgnxz"; sha256 = "011pp94i49fx587ng16m6ml63vwiysjvpkijihrk6xamz78zddgx";
}; };
nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget ]; nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];
# Due to a bug in btcpayserver, we can't just `dotnet publish` to create a binary.
# Build with `dotnet build` instead and add a custom `dotnet run` script.
buildPhase = '' buildPhase = ''
export HOME=$TMP/home export HOME=$TMP/home
export DOTNET_CLI_TELEMETRY_OPTOUT=1 export DOTNET_CLI_TELEMETRY_OPTOUT=1
@ -37,21 +35,15 @@ stdenv.mkDerivation rec {
nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget nuget init ${linkFarmFromDrvs "deps" deps} $TMP/nuget
dotnet restore --source $TMP/nuget BTCPayServer/BTCPayServer.csproj dotnet restore --source $TMP/nuget BTCPayServer/BTCPayServer.csproj
dotnet build -c Release BTCPayServer/BTCPayServer.csproj dotnet publish --no-restore --output $out/share/$pname -c Release BTCPayServer/BTCPayServer.csproj
'';
runScript = ''
#!${bash}/bin/bash
DOTNET_CLI_TELEMETRY_OPTOUT=1 exec ${dotnetSdk}/bin/dotnet run --no-launch-profile --no-build \
-c Release -p @@SHARE@@/BTCPayServer/BTCPayServer.csproj -- "$@"
''; '';
# btcpayserver requires the publish directory as its working dir
# https://github.com/btcpayserver/btcpayserver/issues/1894
installPhase = '' installPhase = ''
cd .. makeWrapper $out/share/$pname/BTCPayServer $out/bin/$pname \
share=$out/share/$pname --set DOTNET_ROOT "${dotnetSdk}" \
mkdir -p $share --run "cd $out/share/$pname"
mv -T source $share
install -D -m500 <(echo "$runScript" | sed "s|@@SHARE@@|$share|") $out/bin/$pname
''; '';
dontStrip = true; dontStrip = true;

View File

@ -21,8 +21,8 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "BTCPayServer.Lightning.All"; name = "BTCPayServer.Lightning.All";
version = "1.2.3"; version = "1.2.4";
sha256 = "1vx47rb505904pz30n5jzc9x42pcfln695l31q4dv5p4fbf10g4q"; sha256 = "1f4wgs8ijk1wmppz5lmas7l6m83szz57jyk6ak0dxhccdld9rdaj";
}) })
(fetchNuGet { (fetchNuGet {
name = "BTCPayServer.Lightning.Charge"; name = "BTCPayServer.Lightning.Charge";
@ -31,8 +31,8 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "BTCPayServer.Lightning.CLightning"; name = "BTCPayServer.Lightning.CLightning";
version = "1.2.0"; version = "1.2.1";
sha256 = "0a47fz20ngcz90h2y01isi2h940jljcmnfy6wyknj029sii7i1zs"; sha256 = "14km69jzmnyqg19w27g6znml4z0xkm8l4j7rj0x36bw67cjmgahv";
}) })
(fetchNuGet { (fetchNuGet {
name = "BTCPayServer.Lightning.Common"; name = "BTCPayServer.Lightning.Common";
@ -706,8 +706,8 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "NBitcoin.Altcoins"; name = "NBitcoin.Altcoins";
version = "2.0.16"; version = "2.0.21";
sha256 = "0fsdb96k5lwyq4d7h7yg91qghima08yk0bsw5cvr4h2jsfphk423"; sha256 = "0xmygiwjlia7fbxy63893jb15g6fxggxxr9bbm8znd9bs3jzp2g1";
}) })
(fetchNuGet { (fetchNuGet {
name = "NBitcoin"; name = "NBitcoin";
@ -726,13 +726,8 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "NBitcoin"; name = "NBitcoin";
version = "5.0.45"; version = "5.0.60";
sha256 = "102vwxwkg367yxv26hycnc7hjxlv2zvsgr8g6adw8dmzsxck5fwk"; sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v";
})
(fetchNuGet {
name = "NBitcoin";
version = "5.0.51";
sha256 = "0rg014sl7rqscnranwyfk41xfr5ccjqyx7aidfl5mh0znz44db2g";
}) })
(fetchNuGet { (fetchNuGet {
name = "NBitpayClient"; name = "NBitpayClient";
@ -741,8 +736,8 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "NBXplorer.Client"; name = "NBXplorer.Client";
version = "3.0.17"; version = "3.0.19";
sha256 = "0xx2xshgpci9l9883zpqnmgchpizygy0hcq2wp2ch6yf3hbrj9qq"; sha256 = "0nahfxdsryf5snjy87770m51v2jcry02lmb10ilsg4h2ig4pjdk4";
}) })
(fetchNuGet { (fetchNuGet {
name = "NETStandard.Library"; name = "NETStandard.Library";
@ -956,8 +951,8 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "Selenium.WebDriver.ChromeDriver"; name = "Selenium.WebDriver.ChromeDriver";
version = "83.0.4103.3900"; version = "85.0.4183.8700";
sha256 = "17j9b637209nm5cs5sgr3vflphkhaxpm8bcjizhgj65r52gn17as"; sha256 = "0klyqmwa6yc0ibbmci51mzb2vl6n13qlk06chc9w78i0a43fs382";
}) })
(fetchNuGet { (fetchNuGet {
name = "Selenium.WebDriver"; name = "Selenium.WebDriver";

View File

@ -4,11 +4,11 @@ cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "exodus"; pname = "exodus";
version = "20.11.21"; version = "20.11.23";
src = fetchurl { src = fetchurl {
url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip"; url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
sha256 = "1q6sh2jhngvihkxjprkcd1php6r7m6qkxsijx8d3azzlgj9nbf2n"; sha256 = "0hcvgph2m4nbrarhw2cggc8q5jxwnibiz2mbkypgizphk5svdj9l";
}; };
sourceRoot = "."; sourceRoot = ".";

View File

@ -15,13 +15,13 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nbxplorer"; pname = "nbxplorer";
version = "2.1.42"; version = "2.1.46";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dgarage"; owner = "dgarage";
repo = "NBXplorer"; repo = "NBXplorer";
rev = "v${version}"; rev = "v${version}";
sha256 = "01q6n7095rrha00xs3l7igzfb9rd743z8crxa2dcz4q5srapfzpi"; sha256 = "1aph7yiwmch7s7x1qkzqv1shs3v6kg8i2s7266la0yp9ksf3w35p";
}; };
nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ]; nativeBuildInputs = [ dotnetSdk dotnetPackages.Nuget makeWrapper ];

View File

@ -31,8 +31,8 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "Microsoft.CodeCoverage"; name = "Microsoft.CodeCoverage";
version = "16.6.1"; version = "16.7.1";
sha256 = "01ffm4nflqdb93vq4xl0j3377x360fgx6c6h12mpkcy85ixbv3rl"; sha256 = "1farw63445cdyciplfs6l9j1gayxw16rkzmrwsiswfyjhqz70xd4";
}) })
(fetchNuGet { (fetchNuGet {
name = "Microsoft.CSharp"; name = "Microsoft.CSharp";
@ -126,8 +126,8 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "Microsoft.NET.Test.Sdk"; name = "Microsoft.NET.Test.Sdk";
version = "16.6.1"; version = "16.7.1";
sha256 = "0jjdg468jc6pv2z764f3xc19lcr772nzjm9cjfqq3bqw8vkpzmhv"; sha256 = "0yqxipj74ax2n76w9ccydppx78ym8m5fda88qnvj4670qjvl0kf8";
}) })
(fetchNuGet { (fetchNuGet {
name = "Microsoft.NETCore.Platforms"; name = "Microsoft.NETCore.Platforms";
@ -156,13 +156,13 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "Microsoft.TestPlatform.ObjectModel"; name = "Microsoft.TestPlatform.ObjectModel";
version = "16.6.1"; version = "16.7.1";
sha256 = "0q98q1nw6jl4bajm66z4a9vvh928w8ffsd3k6fpsps23ykpsky7h"; sha256 = "0s9dyh99gzdpk1i5v468i2r9m6i3jrr41r394pwdwiajsz99kay0";
}) })
(fetchNuGet { (fetchNuGet {
name = "Microsoft.TestPlatform.TestHost"; name = "Microsoft.TestPlatform.TestHost";
version = "16.6.1"; version = "16.7.1";
sha256 = "0anzvb2mda548swb2ll1hv65knb8gwjm01hwbl0pzzr607my3lix"; sha256 = "1xik06rxn9ps83in0zn9vcl2ibv3acmdqvrx07qq89lxj1sgqlhs";
}) })
(fetchNuGet { (fetchNuGet {
name = "Microsoft.Win32.Primitives"; name = "Microsoft.Win32.Primitives";
@ -181,18 +181,23 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "NBitcoin.Altcoins"; name = "NBitcoin.Altcoins";
version = "2.0.19"; version = "2.0.21";
sha256 = "12a3bf1pi6sq78z6h3clyczvycx7cjry8fby4fyi748wjwljjizz"; sha256 = "0xmygiwjlia7fbxy63893jb15g6fxggxxr9bbm8znd9bs3jzp2g1";
}) })
(fetchNuGet { (fetchNuGet {
name = "NBitcoin.TestFramework"; name = "NBitcoin.TestFramework";
version = "2.0.11"; version = "2.0.12";
sha256 = "09jrbq9p5k67kdic2038s7q299y2nc8ij6m55m3m8hys7jdrrv05"; sha256 = "1d6lmymc9x3p74c8hc2x3m61ncnkqqgrddw9cw2m0zkvilkncsns";
}) })
(fetchNuGet { (fetchNuGet {
name = "NBitcoin"; name = "NBitcoin";
version = "5.0.54"; version = "5.0.58";
sha256 = "0mx2gr8j8bc4mf1vi1fvqj3672qalxvzvincc61if79p46cik24b"; sha256 = "0qim9xbbj380254iyi1jsh2gnr90ddwd2593jw9a8bjwnlk7qr2c";
})
(fetchNuGet {
name = "NBitcoin";
version = "5.0.60";
sha256 = "0pin4ldfz5lfxyd47mj1ypyp8lmj0v5nq5zvygdjna956vphd39v";
}) })
(fetchNuGet { (fetchNuGet {
name = "NETStandard.Library"; name = "NETStandard.Library";
@ -1061,8 +1066,8 @@
}) })
(fetchNuGet { (fetchNuGet {
name = "xunit.runner.visualstudio"; name = "xunit.runner.visualstudio";
version = "2.4.2"; version = "2.4.3";
sha256 = "0fi85h43nyrhfc5jzg07znh01r7cpb7bpjdc6mzb9z1pm14ppfm6"; sha256 = "0j1d0rbcm7pp6dypi61sjxp8l22sv261252z55b243l39jgv2rp3";
}) })
(fetchNuGet { (fetchNuGet {
name = "xunit"; name = "xunit";

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "avocode"; pname = "avocode";
version = "4.10.3"; version = "4.10.4";
src = fetchurl { src = fetchurl {
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip"; url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
sha256 = "1ngyd3sfnhf8hpi015pgbms5bspc30lzrpfpw3jp992i4mzcjq0z"; sha256 = "06xf5y2mljk3pd74ap9n90bhhidbzpg5c6wws361ygd4f3x86c46";
}; };
libPath = stdenv.lib.makeLibraryPath (with xorg; [ libPath = stdenv.lib.makeLibraryPath (with xorg; [

View File

@ -7,11 +7,11 @@ with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "feh"; pname = "feh";
version = "3.5"; version = "3.6";
src = fetchurl { src = fetchurl {
url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2"; url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2";
sha256 = "07jklibpi4ig9pbdrwhllsfffxn2h8xf4ma36qii00w4hb69v3rq"; sha256 = "1n6gbyzlc3kx2cq9wfz7azn7mrjmcc9pq436k1n4mrh0lik5sxw7";
}; };
outputs = [ "out" "man" "doc" ]; outputs = [ "out" "man" "doc" ];

View File

@ -18,7 +18,7 @@
, typescript , typescript
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "imgbrd-grabber"; pname = "imgbrd-grabber";
version = "7.3.2"; version = "7.3.2";
src = fetchFromGitHub { src = fetchFromGitHub {
@ -84,4 +84,11 @@ stdenv.mkDerivation rec {
''; '';
sourceRoot = "source/src"; sourceRoot = "source/src";
meta = with stdenv.lib; {
description = "Very customizable imageboard/booru downloader with powerful filenaming features";
license = licenses.asl20;
homepage = "https://bionus.github.io/imgbrd-grabber/";
maintainers = [ maintainers.evanjs ];
};
} }

View File

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "dasel"; pname = "dasel";
version = "1.6.2"; version = "1.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TomWright"; owner = "TomWright";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-LGrFs9JNb0gjXg6IRkUfUOWS+sr1nukzOEWK4XUfkfw="; sha256 = "sha256-N27XmrbZTLeNkNvGDsChqKZrAagkQoGFaJeeZ1/Qnkw=";
}; };
vendorSha256 = "1552k85z4s6gv7sss7dccv3h8x22j2sr12icp6s7s0a3i4iwyksw"; vendorSha256 = "1552k85z4s6gv7sss7dccv3h8x22j2sr12icp6s7s0a3i4iwyksw";

View File

@ -8,11 +8,11 @@ GEM
gemojione (4.3.3) gemojione (4.3.3)
json json
github-markup (3.0.5) github-markup (3.0.5)
gollum (5.1.1) gollum (5.1.2)
gemojione (~> 4.1) gemojione (~> 4.1)
gollum-lib (~> 5.0) gollum-lib (~> 5.0)
kramdown (~> 2.3) kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0.0) kramdown-parser-gfm (~> 1.1.0)
mustache (>= 0.99.5, < 1.0.0) mustache (>= 0.99.5, < 1.0.0)
octicons (~> 8.5) octicons (~> 8.5)
rss (~> 0.2.9) rss (~> 0.2.9)
@ -39,7 +39,7 @@ GEM
json (2.3.1) json (2.3.1)
kramdown (2.3.0) kramdown (2.3.0)
rexml rexml
kramdown-parser-gfm (1.0.1) kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0) kramdown (~> 2.0)
loofah (2.8.0) loofah (2.8.0)
crass (~> 1.0.2) crass (~> 1.0.2)

View File

@ -66,10 +66,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "14i6y3ilv9l7cqvkawl75js26cfj1pd8cphhmq9lic95ajvdf371"; sha256 = "0pmvxj7pka7pjpw060a9pfxsci1hmx45hk9hbp5m49xkkiiqf1gx";
type = "gem"; type = "gem";
}; };
version = "5.1.1"; version = "5.1.2";
}; };
gollum-lib = { gollum-lib = {
dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "octicons" "rouge" "twitter-text"]; dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "octicons" "rouge" "twitter-text"];
@ -120,10 +120,10 @@
platforms = []; platforms = [];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0ykna2apphld9llmjnz0210fipp4fkmj2ja18l7iz9xikg0h0ihi"; sha256 = "0a8pb3v951f4x7h968rqfsa19c8arz21zw1vaj42jza22rap8fgv";
type = "gem"; type = "gem";
}; };
version = "1.0.1"; version = "1.1.0";
}; };
loofah = { loofah = {
dependencies = ["crass" "nokogiri"]; dependencies = ["crass" "nokogiri"];

View File

@ -0,0 +1,77 @@
{ stdenv
, autoPatchelfHook
, curl
, dpkg
, fetchurl
, gcc
, lib
, libGLU
, libcork
, makeDesktopItem
, qt5
, quazip_qt4
, zlib
}:
stdenv.mkDerivation rec {
pname = "ideamaker";
version = "4.0.1";
src = fetchurl {
# N.B. Unfortunately ideamaker adds a number after the patch number in
# their release scheme which is not referenced anywhere other than in
# the download URL. Because of this, I have chosen to not use ${version}
# and just handwrite the correct values in the following URL, hopefully
# avoiding surprises for the next person that comes to update this
# package.
url = "https://download.raise3d.com/ideamaker/release/4.0.1/ideaMaker_4.0.1.4802-ubuntu_amd64.deb";
sha256 = "0a1jcakdglcr4kz0kyq692dbjk6aq2yqcp3i6gzni91k791h49hp";
};
nativeBuildInputs = [ autoPatchelfHook dpkg qt5.wrapQtAppsHook ];
buildInputs = [
curl
gcc.cc.lib
libGLU
libcork
qt5.qtbase
qt5.qtserialport
quazip_qt4
zlib
];
unpackPhase = ''
runHook preUnpack
dpkg-deb -x $src .
runHook postUnpack
'';
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/pixmaps}
cp usr/lib/x86_64-linux-gnu/ideamaker/ideamaker $out/bin
ln -s "${desktopItem}/share/applications" $out/share/
cp usr/share/ideamaker/icons/ideamaker-icon.png $out/share/pixmaps/${pname}.png
runHook postInstall
'';
desktopItem = makeDesktopItem {
name = pname;
exec = pname;
icon = pname;
desktopName = "Ideamaker";
genericName = meta.description;
categories = "Utility;Viewer;Engineering;";
mimeType = "application/sla";
};
meta = with lib; {
homepage = "https://www.raise3d.com/ideamaker/";
description = "Raise3D's 3D slicer software";
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ lovesegfault ];
};
}

View File

@ -158,7 +158,7 @@ stdenv.mkDerivation rec {
contribute to your favorite creators automatically. contribute to your favorite creators automatically.
''; '';
license = licenses.mpl20; license = licenses.mpl20;
maintainers = with maintainers; [ uskudnik rht jefflabonte ]; maintainers = with maintainers; [ uskudnik rht jefflabonte nasirhm ];
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
}; };
} }

View File

@ -31,9 +31,9 @@
} }
}, },
"dev": { "dev": {
"version": "88.0.4324.11", "version": "88.0.4324.27",
"sha256": "123gqbxrn508wxdj3is0kzccml5zwnf8pfl90xdizvzcm3wy5315", "sha256": "0mciiyh3sn2zrl8g6znylc2pm9sb0wzsclgavf7mmlknri5sjblc",
"sha256bin64": "11bswhxpnw7qi6lagfpgxh4yh56w7l0bc3rqwf975cbq2cnzpjby", "sha256bin64": "0ax27j42167yyx90h5k6ra898kn626w5cvgmafm3al9kyfsx36m4",
"deps": { "deps": {
"gn": { "gn": {
"version": "2020-11-05", "version": "2020-11-05",

View File

@ -16,14 +16,14 @@ let
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "palemoon"; pname = "palemoon";
version = "28.15.0"; version = "28.16.0";
src = fetchFromGitHub { src = fetchFromGitHub {
githubBase = "repo.palemoon.org"; githubBase = "repo.palemoon.org";
owner = "MoonchildProductions"; owner = "MoonchildProductions";
repo = "Pale-Moon"; repo = "Pale-Moon";
rev = "${version}_Release"; rev = "${version}_Release";
sha256 = "1sbs3gcwfx58mxc0x1g6jklmvpa9dw2bq3i8y9645gfa1s12p8wy"; sha256 = "1svwbiar7c38c8xfw249mwnvayqq5868nkks7cbv9nyf2m9yap56";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -5,11 +5,11 @@ let
in in
buildPythonApplication rec { buildPythonApplication rec {
pname = "fava"; pname = "fava";
version = "1.16"; version = "1.17";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "436b6f9441a638f8028729c2a39c28433f7878c2af6ddb9bfccaeea9ea3086e1"; sha256 = "efad3a4b5697b9d7ee29eff5dc0c8367fc1df37b1abacc8d0b2071602e94a6cd";
}; };
checkInputs = [ python3.pkgs.pytest ]; checkInputs = [ python3.pkgs.pytest ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, fetchpatch, cmake, makeWrapper, itk4, vtk_7 }: { stdenv, fetchFromGitHub, fetchpatch, cmake, makeWrapper, itk4, vtk_7, Cocoa }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ANTs"; pname = "ANTs";
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
]; ];
nativeBuildInputs = [ cmake makeWrapper ]; nativeBuildInputs = [ cmake makeWrapper ];
buildInputs = [ itk4 vtk_7 ]; buildInputs = [ itk4 vtk_7 ] ++ stdenv.lib.optional stdenv.isDarwin [ Cocoa ];
cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" "-DUSE_VTK=TRUE" ]; cmakeFlags = [ "-DANTS_SUPERBUILD=FALSE" "-DUSE_VTK=TRUE" ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, lib, python3 { stdenv, fetchFromGitHub, fetchpatch, lib, python3
, cmake, lingeling, btor2tools, gtest, gmp , cmake, lingeling, btor2tools, gtest, gmp
}: }:
@ -13,6 +13,14 @@ stdenv.mkDerivation rec {
sha256 = "0jkmaw678njqgkflzj9g374yk1mci8yqvsxkrqzlifn6bwhwb7ci"; sha256 = "0jkmaw678njqgkflzj9g374yk1mci8yqvsxkrqzlifn6bwhwb7ci";
}; };
# excludes development artifacts from install, will be included in next release
patches = [
(fetchpatch {
url = "https://github.com/Boolector/boolector/commit/4d240436e34e65096671099766344dd9126145b1.patch";
sha256 = "1girsbvlhkkl1hldl2gsjynwc3m92jskn798qhx0ydg6whrfgcgw";
})
];
postPatch = '' postPatch = ''
sed s@REPLACEME@file://${gtest.src}@ ${./cmake-gtest.patch} | patch -p1 sed s@REPLACEME@file://${gtest.src}@ ${./cmake-gtest.patch} | patch -p1
''; '';
@ -23,39 +31,39 @@ stdenv.mkDerivation rec {
cmakeFlags = cmakeFlags =
[ "-DBUILD_SHARED_LIBS=ON" [ "-DBUILD_SHARED_LIBS=ON"
"-DUSE_LINGELING=YES" "-DUSE_LINGELING=YES"
"-DBtor2Tools_INCLUDE_DIR=${btor2tools.dev}/include"
"-DBtor2Tools_LIBRARIES=${btor2tools.lib}/lib/libbtor2parser.so"
] ++ (lib.optional (gmp != null) "-DUSE_GMP=YES"); ] ++ (lib.optional (gmp != null) "-DUSE_GMP=YES");
installPhase = ''
mkdir -p $out/bin $lib/lib $dev/include
cp -vr bin/* $out/bin
cp -vr lib/* $lib/lib
rm -rf $out/bin/{examples,tests}
# we don't care about gtest related libs
rm -rf $lib/lib/libg*
cd ../src
find . -iname '*.h' -exec cp --parents '{}' $dev/include \;
rm -rf $dev/include/tests
'';
checkInputs = [ python3 ]; checkInputs = [ python3 ];
doCheck = true; doCheck = true;
preCheck = '' preCheck =
export LD_LIBRARY_PATH=$(readlink -f lib) let var = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
patchShebangs .. in
# tests modelgen and modelgensmt2 spawn boolector in another processes and
# macOS strips DYLD_LIBRARY_PATH, hardcode it for testing
stdenv.lib.optionalString stdenv.isDarwin ''
cp -r bin bin.back
install_name_tool -change libboolector.dylib $(pwd)/lib/libboolector.dylib bin/boolector
'' + ''
export ${var}=$(readlink -f lib)
patchShebangs ..
'';
postCheck = stdenv.lib.optionalString stdenv.isDarwin ''
rm -rf bin
mv bin.back bin
''; '';
outputs = [ "out" "dev" "lib" ]; # this is what haskellPackages.boolector expects
postInstall = ''
cp $out/include/boolector/boolector.h $out/include/boolector.h
cp $out/include/boolector/btortypes.h $out/include/btortypes.h
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "An extremely fast SMT solver for bit-vectors and arrays"; description = "An extremely fast SMT solver for bit-vectors and arrays";
homepage = "https://boolector.github.io"; homepage = "https://boolector.github.io";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux; platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ thoughtpolice ]; maintainers = with maintainers; [ thoughtpolice ];
}; };
} }

View File

@ -1,4 +1,4 @@
{ stdenv, cmake, fetchFromGitHub }: { stdenv, cmake, fetchFromGitHub, fixDarwinDylibNames }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "btor2tools"; pname = "btor2tools";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "0mfqmkgvyw8fa2c09kww107dmk180ch1hp98r5kv41vnc04iqb0s"; sha256 = "0mfqmkgvyw8fa2c09kww107dmk180ch1hp98r5kv41vnc04iqb0s";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ] ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
installPhase = '' installPhase = ''
mkdir -p $out $dev/include/btor2parser/ $lib/lib mkdir -p $out $dev/include/btor2parser/ $lib/lib

View File

@ -5,11 +5,11 @@ assert (!blas.isILP64) && (!lapack.isILP64);
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gmsh"; pname = "gmsh";
version = "4.7.0"; version = "4.7.1";
src = fetchurl { src = fetchurl {
url = "http://gmsh.info/src/gmsh-${version}-source.tgz"; url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
sha256 = "03ij2hnh393gw59hgrz3qrmgc4qw82bc9nd98sks4jrp5gwk4zz2"; sha256 = "0shwi41van3k0z6rnpl3sz5nh46xbyyljwfpcp8pwxbc26aw5169";
}; };
buildInputs = [ blas lapack gmm fltk libjpeg zlib libGLU libGL buildInputs = [ blas lapack gmm fltk libjpeg zlib libGLU libGL

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "git-repo"; pname = "git-repo";
version = "2.9"; version = "2.10";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "android"; owner = "android";
repo = "tools_repo"; repo = "tools_repo";
rev = "v${version}"; rev = "v${version}";
sha256 = "1ii6vjgs5nd2hhp475mqa48165garc7ac2w9fyspajaanc7zhnik"; sha256 = "0jd28281wys2iy7pbyyrzkzrkzq9ms7p9pbj6j2fha6bg1bh7rkz";
}; };
patches = [ ./import-ssl-module.patch ]; patches = [ ./import-ssl-module.patch ];

View File

@ -13,11 +13,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gitkraken"; pname = "gitkraken";
version = "7.4.0"; version = "7.4.1";
src = fetchzip { src = fetchzip {
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz"; url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
sha256 = "0ih0jxdm74vr4dgslhnl3llvi31zin0g2xjw6a4pdji2y2kajkzk"; sha256 = "1c9cyxx5sqvnilf6xp3ildq3lwl6mj8v1vl0wzyjpaiqky99lj9p";
}; };
dontBuild = true; dontBuild = true;

View File

@ -5,10 +5,10 @@
mkDerivation rec { mkDerivation rec {
pname = "clipgrab"; pname = "clipgrab";
version = "3.9.2"; version = "3.9.5";
src = fetchurl { src = fetchurl {
sha256 = "1ckcprqck96ns752vk9bzlc3gm6b5f0piff2d3m55zrvdh7wpgy5"; sha256 = "1p8pqa5s70basdm2zpmahc54shsxrr0fr7chvv425n5a9sqba4dh";
# The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz! # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
url = "https://download.clipgrab.org/${pname}-${version}.tar.gz"; url = "https://download.clipgrab.org/${pname}-${version}.tar.gz";
}; };

View File

@ -4,15 +4,15 @@ with lib;
buildGoPackage rec { buildGoPackage rec {
pname = "containerd"; pname = "containerd";
version = "1.4.2"; version = "1.4.3";
# git commit for the above version's tag # git commit for the above version's tag
commit = "7ad184331fa3e55e52b890ea95e65ba581ae3429"; commit = "269548fa27e0089a8b8278fc4fc781d7f65a939b";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "containerd"; owner = "containerd";
repo = "containerd"; repo = "containerd";
rev = "v${version}"; rev = "v${version}";
sha256 = "17ciyvqz0j1q2vyzwkz6bkvxpz2d7y1kk99fv68ar7l4mr8pyp78"; sha256 = "09xvhjg5f8h90w1y94kqqnqzhbhd62dcdd9wb9sdqakisjk6zrl0";
}; };
goPackagePath = "github.com/containerd/containerd"; goPackagePath = "github.com/containerd/containerd";

View File

@ -212,14 +212,14 @@ rec {
}; };
docker_19_03 = makeOverridable dockerGen rec { docker_19_03 = makeOverridable dockerGen rec {
version = "19.03.13"; version = "19.03.14";
rev = "v${version}"; rev = "v${version}";
sha256 = "139qqy8jiz1phnngknpa7c1nk9iqwd3hcc9as8x50p1vnycwzr3f"; sha256 = "0szr5dgfrypb5kyj5l1rf7rw4iqj0d0cyx6skdqlbgf4dqwa6g9y";
runcRev = "dc9208a3303feef5b3839f4323d9beb36df0a9dd"; # v1.0.0-rc10 runcRev = "dc9208a3303feef5b3839f4323d9beb36df0a9dd"; # v1.0.0-rc10
runcSha256 = "0pi3rvj585997m4z9ljkxz2z9yxf9p2jr0pmqbqrc7bc95f5hagk"; runcSha256 = "0pi3rvj585997m4z9ljkxz2z9yxf9p2jr0pmqbqrc7bc95f5hagk";
# Note: Once all packaged Docker versions use containerd <=1.2 or >=1.4 remove the libseccomp and pkgconfig inputs above # Note: Once all packaged Docker versions use containerd <=1.2 or >=1.4 remove the libseccomp and pkgconfig inputs above
containerdRev = "8fba4e9a7d01810a393d5d25a3621dc101981175"; # v1.3.7 containerdRev = "ea765aba0d05254012b0b9e595e995c09186427f"; # v1.3.9
containerdSha256 = "10zy507ajslizicagb64dvbs7wmw0j4x3hdhygbdh4g2nv3mgjb7"; containerdSha256 = "1isi1wgq61b4l0lxy1d8n6dnmcb8s5ihn2yqjb6525y3dj5c5i1j";
tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662"; # v0.18.0 tiniRev = "fec3683b971d9c3ef73f284f176672c44b448662"; # v0.18.0
tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn"; tiniSha256 = "1h20i3wwlbd8x4jr2gz68hgklh0lb0jj7y5xk1wvr8y58fip1rdn";
}; };

View File

@ -127,7 +127,7 @@ trap "rm -rf \"$tmpPath\"" EXIT
tmpFile="$tmpPath/$(get_name $finalImageName $finalImageTag)" tmpFile="$tmpPath/$(get_name $finalImageName $finalImageTag)"
if test -z "$QUIET"; then if test -z "$QUIET"; then
skopeo --insecure-policy --tmpdir=$TMPDIR --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag" skopeo --insecure-policy --tmpdir=$TMPDIR --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag" >&2
else else
skopeo --insecure-policy --tmpdir=$TMPDIR --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag" > /dev/null skopeo --insecure-policy --tmpdir=$TMPDIR --override-os ${os} --override-arch ${arch} copy "$sourceUrl" "docker-archive://$tmpFile:$finalImageName:$finalImageTag" > /dev/null
fi fi
@ -139,12 +139,12 @@ imageHash=$(nix-hash --flat --type $hashType --base32 "$tmpFile")
finalPath=$(nix-store --add-fixed "$hashType" "$tmpFile") finalPath=$(nix-store --add-fixed "$hashType" "$tmpFile")
if test -z "$QUIET"; then if test -z "$QUIET"; then
echo "-> ImageName: $imageName" echo "-> ImageName: $imageName" >&2
echo "-> ImageDigest: $imageDigest" echo "-> ImageDigest: $imageDigest" >&2
echo "-> FinalImageName: $finalImageName" echo "-> FinalImageName: $finalImageName" >&2
echo "-> FinalImageTag: $finalImageTag" echo "-> FinalImageTag: $finalImageTag" >&2
echo "-> ImagePath: $finalPath" echo "-> ImagePath: $finalPath" >&2
echo "-> ImageHash: $imageHash" echo "-> ImageHash: $imageHash" >&2
fi fi
if [ "$format" == "nix" ]; then if [ "$format" == "nix" ]; then

View File

@ -1,7 +1,7 @@
{ lib, fetchzip }: { lib, fetchzip }:
let let
version = "12.1.03"; version = "13.0.04";
in fetchzip rec { in fetchzip rec {
name = "unifont_upper-${version}"; name = "unifont_upper-${version}";
@ -9,7 +9,7 @@ in fetchzip rec {
postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/unifont_upper.ttf"; postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/unifont_upper.ttf";
sha256 = "1w0bg276cyv6xs6clld8gv4w88rj9fw9rc8zs9ahc6y9hv677knj"; sha256 = "0bji0crx84nbjf1m1lzql7icrb02zbs3l66dn21pvr9czsry870f";
meta = with lib; { meta = with lib; {
description = "Unicode font for glyphs above the Unicode Basic Multilingual Plane"; description = "Unicode font for glyphs above the Unicode Basic Multilingual Plane";

View File

@ -17,13 +17,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cinnamon-desktop"; pname = "cinnamon-desktop";
version = "4.6.4"; version = "4.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxmint"; owner = "linuxmint";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "08z5hgc6dwdp9fczm75axwh8q9665iz4y2lxp92xp62r3k0v9fvd"; sha256 = "1369iig7w0x45sr9yd4a5xxqrwsfwq90hlnknarhz62h5hpykjwi";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -10,13 +10,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cinnamon-menus"; pname = "cinnamon-menus";
version = "4.6.1"; version = "4.8.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxmint"; owner = "linuxmint";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1qdaql4mknhzvl2qi1pyw4c820lqb7lg07gblh0wzfk4f7h8hddx"; sha256 = "1fsiq8q8b65skxbg1bsishygnw2zg8kr0d09rassqjdimd4yfi1y";
}; };
buildInputs = [ buildInputs = [

View File

@ -27,13 +27,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cinnamon-session"; pname = "cinnamon-session";
version = "4.6.2"; version = "4.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxmint"; owner = "linuxmint";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "133vpgs0dqr16pvx5wyxhfcargn9wl14z0q99m2pn93hf6zycmsv"; sha256 = "0sbfd1d4kjiccaq9s36r2cvdcmvd1x2087nkfgl32gwxakqi3g4n";
}; };
patches = [ patches = [

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cinnamon-translations"; pname = "cinnamon-translations";
version = "4.6.2"; version = "4.8.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxmint"; owner = "linuxmint";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "0zaghha62ibhg3rir6mrfy1z3v7p7v83b6glhmj9s51nxd86fyv6"; sha256 = "1j3azjwin89z5v6nphx0wsa35p224h2gps50kcq9gwankkfcf3q1";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub }: { stdenv, fetchFromGitHub, python3Packages, installShellFiles }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.6.0"; version = "1.6.0";
@ -11,8 +11,16 @@ stdenv.mkDerivation rec {
sha256 = "0flpl97d2231gp51n3y4qvf3y1l8xzafi1sgpwc305vwc2h4dl2x"; sha256 = "0flpl97d2231gp51n3y4qvf3y1l8xzafi1sgpwc305vwc2h4dl2x";
}; };
phases = ["installPhase"]; nativeBuildInputs = [ python3Packages.wrapPython installShellFiles ];
installPhase = "ln -s $src $out"; propagatedBuildInputs = with python3Packages; [ pyserial ];
installPhase = ''
mkdir $out
cp -rT $src $out
installManPage *.1
'';
postFixupPhase = ''
wrapPythonPrograms
'';
meta = { meta = {
description = "Makefile for Arduino sketches"; description = "Makefile for Arduino sketches";

View File

@ -37,13 +37,13 @@ buildType = if stdenv.isDarwin then
edk2 = buildStdenv.mkDerivation { edk2 = buildStdenv.mkDerivation {
pname = "edk2"; pname = "edk2";
version = "201911"; version = "202011";
# submodules # submodules
src = fetchgit { src = fetchgit {
url = "https://github.com/tianocore/edk2"; url = "https://github.com/tianocore/edk2";
rev = "edk2-stable${edk2.version}"; rev = "edk2-stable${edk2.version}";
sha256 = "1rmvb4w043v25cppsqxqrpzqqcay3yrzsrhhzm2q9bncrj56vm8q"; sha256 = "1fvlz1z075jr6smq9qa0asy6fxga1gljcfd0764ypzy1mw963c9s";
}; };
buildInputs = [ libuuid pythonEnv ]; buildInputs = [ libuuid pythonEnv ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchFromGitHub, callPackage, wrapCCWith }: { stdenv, fetchFromGitHub, callPackage, wrapCCWith }:
let let
version = "3.9.0"; version = "3.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";
repo = "llvm-project"; repo = "llvm-project";
rev = "rocm-${version}"; rev = "rocm-${version}";
sha256 = "01ljx6mhix3z2pgddgn0ymhrsbigs1nqlz3kkwkr6p2igprrly9f"; hash = "sha256-Lnma831RXJMnn3N8im3QLy6dYfXAvtbeFX/0CKvpkgY=";
}; };
in rec { in rec {
clang = wrapCCWith rec { clang = wrapCCWith rec {

View File

@ -1,17 +1,35 @@
{ stdenv, fetchFromGitHub, coq }: { stdenv, fetchFromGitHub, coq, ...}@args:
let params = let
{ hashes = {
"8.5" = { version = "0.9.4"; sha256 = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0"; }; "0.9.4" = "1y66pamgsdxlq2w1338lj626ln70cwj7k53hxcp933g8fdsa4hp0";
"8.6" = { version = "0.9.5"; sha256 = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg"; }; "0.9.5" = "1b4cvz3llxin130g13calw5n1zmvi6wdd5yb8a41q7yyn2hd3msg";
"8.7" = { version = "0.9.7"; sha256 = "00v4bm4glv1hy08c8xsm467az6d1ashrznn8p2bmbmmp52lfg7ag"; }; "0.9.7" = "00v4bm4glv1hy08c8xsm467az6d1ashrznn8p2bmbmmp52lfg7ag";
"8.8" = { version = "0.11.2"; sha256 = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6"; }; "0.10.0" = "1kxi5bmjwi5zqlqgkyzhhxwgcih7wf60cyw9398k2qjkmi186r4a";
"8.9" = { version = "0.11.2"; sha256 = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6"; }; "0.10.1" = "0r1vspad8fb8bry3zliiz4hfj4w1iib1l2gm115a94m6zbiksd95";
"8.10" = { version = "0.11.2"; sha256 = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6"; }; "0.10.2" = "1b150rc5bmz9l518r4m3vwcrcnnkkn9q5lrwygkh0a7mckgg2k9f";
"8.11" = { version = "0.11.2"; sha256 = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6"; }; "0.10.3" = "0795gs2dlr663z826mp63c8h2zfadn541dr8q0fvnvi2z7kfyslb";
"8.12" = { version = "0.11.2"; sha256 = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6"; }; "0.11.1" = "0dmf1p9j8lm0hwaq0af18jxdwg869xi2jm8447zng7krrq3kvkg5";
"0.11.2" = "0iyka81g26x5n99xic7kqn8vxqjw8rz7vw9rs27iw04lf137vzv6";
"0.11.3" = "1w99nzpk72lffxis97k235axss5lmzhy5z3lga2i0si95mbpil42";
}; };
param = params.${coq.coq-version};
default-versions = {
"8.5" = "0.9.4";
"8.6" = "0.9.5";
"8.7" = "0.9.7";
"8.8" = "0.11.3";
"8.9" = "0.11.3";
"8.10" = "0.11.3";
"8.11" = "0.11.3";
"8.12" = "0.11.3";
};
param = rec {
version = args.version or default-versions.${coq.coq-version};
sha256 = hashes.${version};
};
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -20,9 +38,9 @@ stdenv.mkDerivation rec {
inherit (param) version; inherit (param) version;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "coq-ext-lib"; owner = "coq-community";
repo = "coq-ext-lib"; repo = "coq-ext-lib";
rev = "v${param.version}"; rev = "v${version}";
inherit (param) sha256; inherit (param) sha256;
}; };
@ -40,6 +58,6 @@ stdenv.mkDerivation rec {
}; };
passthru = { passthru = {
compatibleCoqVersions = v: builtins.hasAttr v params; compatibleCoqVersions = v: builtins.hasAttr v default-versions;
}; };
} }

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "guile-cairo"; pname = "guile-cairo";
version = "1.11.1"; version = "1.11.2";
src = fetchurl { src = fetchurl {
url = "mirror://savannah/guile-cairo/${pname}-${version}.tar.gz"; url = "mirror://savannah/guile-cairo/${pname}-${version}.tar.gz";
sha256 = "1gc642r9ndsjhhmh9bl5cbd3dwvy4dpxwhr0zpsw43y9nmz37xpl"; sha256 = "0yx0844p61ljd4d3d63qrawiygiw6ks02fwv2cqx7nav5kfd8ck2";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -14,12 +14,17 @@ lib.makePackageOverridable
, src , src
, # The file to import, relative to the root directory , # The file to import, relative to the root directory
file ? "package.dhall" file ? "package.dhall"
# Set to `true` to generate documentation for the package
, document ? false
}: }:
buildDhallPackage { buildDhallPackage
inherit name dependencies source; ( { inherit name dependencies source;
code = "${src}/${file}"; code = "${src}/${file}";
}
}
// lib.optionalAttrs document { documentationRoot = src; }
)
) )

View File

@ -12,6 +12,8 @@ lib.makePackageOverridable
directory ? "" directory ? ""
, # The file to import, relative to the above directory , # The file to import, relative to the above directory
file ? "package.dhall" file ? "package.dhall"
# Set to `true` to generate documentation for the package
, document ? false
# Arguments passed through to `fetchFromGitHub` # Arguments passed through to `fetchFromGitHub`
, owner , owner
@ -22,29 +24,32 @@ lib.makePackageOverridable
, ... , ...
}@args: }@args:
buildDhallPackage { let
inherit name dependencies source; src = fetchFromGitHub ({
name = "${name}-source";
code = inherit owner repo rev;
let } // removeAttrs args [
src = fetchFromGitHub ({ "name"
name = "${name}-source"; "dependencies"
"document"
"source"
"directory"
"file"
"owner"
"repo"
"rev"
]);
inherit owner repo rev; prefix = lib.optionalString (directory != "") "${directory}/";
} // removeAttrs args [
"name"
"dependencies"
"source"
"directory"
"file"
"owner"
"repo"
"rev"
]);
prefix = lib.optionalString (directory != "") "${directory}/"; in
buildDhallPackage
( { inherit name dependencies source;
in code = "${src}/${prefix}${file}";
"${src}/${prefix}${file}"; }
} // lib.optionalAttrs document
{ documentationRoot = "${src}/${prefix}"; }
)
) )

View File

@ -1,4 +1,4 @@
{ dhall, haskell, lib, lndir, runCommand, writeText }: { dhall, dhall-docs, haskell, lib, lndir, runCommand, writeText }:
{ name { name
@ -31,6 +31,12 @@
# space within the Nix store, but if you set the following `source` option to # space within the Nix store, but if you set the following `source` option to
# `true` then the package will also include `source.dhall`. # `true` then the package will also include `source.dhall`.
, source ? false , source ? false
# Directory to generate documentation for (i.e. as the `--input` option to the
# `dhall-docs` command.)
#
# If `null`, then no documentation is generated.
, documentationRoot ? null
}: }:
let let
@ -42,8 +48,12 @@ let
cache = ".cache"; cache = ".cache";
data = ".local/share";
cacheDhall = "${cache}/dhall"; cacheDhall = "${cache}/dhall";
dataDhall = "${data}/dhall";
sourceFile = "source.dhall"; sourceFile = "source.dhall";
in in
@ -71,4 +81,10 @@ in
echo "missing $SHA_HASH" > $out/binary.dhall echo "missing $SHA_HASH" > $out/binary.dhall
${lib.optionalString (!source) "rm $out/${sourceFile}"} ${lib.optionalString (!source) "rm $out/${sourceFile}"}
${lib.optionalString (documentationRoot != null) ''
mkdir -p $out/${dataDhall}
XDG_DATA_HOME=$out/${data} ${dhall-docs}/bin/dhall-docs --input '${documentationRoot}' --output-link $out/docs
''}
'' ''

View File

@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
license = licenses.isc; license = licenses.isc;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ primeos ]; maintainers = with maintainers; [ primeos ];
broken = stdenv.isDarwin;
}; };
} }

View File

@ -6,7 +6,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "appstream"; pname = "appstream";
version = "0.12.11"; version = "0.13.1";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
owner = "ximion"; owner = "ximion";
repo = "appstream"; repo = "appstream";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-bCDyMwQdn9Csxs2hy4dm+LjtxK4+YBK6yDkAdhu1QVU="; sha256 = "16nxaw4fx78maldi3kvr8fiwzhmy5276wd4x2fxny16zzf01098j";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -7,7 +7,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bctoolbox"; pname = "bctoolbox";
version = "4.4.6"; version = "4.4.13";
nativeBuildInputs = [ cmake bcunit ]; nativeBuildInputs = [ cmake bcunit ];
buildInputs = [ mbedtls ]; buildInputs = [ mbedtls ];
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
group = "BC"; group = "BC";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1vlvnpkks5mm6ppdmp88mdn39f3ynig6qas83nkjn7x47z2zr6x0"; sha256 = "0bfswwvvdshaahg4jd2j10f0sci8809s4khajd0m6b059zwc7y25";
}; };
# Do not build static libraries # Do not build static libraries

View File

@ -0,0 +1,45 @@
{ stdenv
, fetchFromGitHub
, cmake
, lib
, pkg-config
, check
}:
stdenv.mkDerivation rec {
pname = "libcork";
version = "1.0.0--rc3";
src = fetchFromGitHub {
owner = "dcreager";
repo = pname;
rev = version;
sha256 = "152gqnmr6wfmflf5l6447am4clmg3p69pvy3iw7yhaawjqa797sk";
};
# N.B. We need to create this file, otherwise it tries to use git to
# determine the package version, which we do not want.
#
# N.B. We disable tests by force, since their build is broken.
postPatch = ''
echo "${version}" > .version-stamp
echo "${version}" > .commit-stamp
sed -i '/add_subdirectory(tests)/d' ./CMakeLists.txt
'';
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ check ];
doCheck = false;
postInstall = ''
ln -s $out/lib/libcork.so $out/lib/libcork.so.1
'';
meta = with lib; {
homepage = "https://github.com/dcreager/libcork";
description = "A simple, easily embeddable cross-platform C library";
license = licenses.bsd3;
platforms = platforms.unix;
maintainers = with maintainers; [ lovesegfault ];
};
}

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocclr"; pname = "rocclr";
version = "3.9.0"; version = "3.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ROCm-Developer-Tools"; owner = "ROCm-Developer-Tools";
repo = "ROCclr"; repo = "ROCclr";
rev = "rocm-${version}"; rev = "rocm-${version}";
sha256 = "193pd6lbnfjrmqsrlvkpadxxi908a9r0c41y8x1bkbbaviad39q0"; hash = "sha256-P36JKFgXSZagWzHB6WB2WlDu7jkVvfYVo1BaV0b8iEk=";
}; };
nativeBuildInputs = [ cmake rocm-cmake ]; nativeBuildInputs = [ cmake rocm-cmake ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-comgr"; pname = "rocm-comgr";
version = "3.9.0"; version = "3.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";
repo = "ROCm-CompilerSupport"; repo = "ROCm-CompilerSupport";
rev = "rocm-${version}"; rev = "rocm-${version}";
sha256 = "1lwgr6x2b6jisc2nxvr9m24zrc7f2vcgrbkj9sf2blpha61xgk14"; hash = "sha256-JMzXg1Hw0iWcTnKu/NgW7rD8iagp724F01GaJbrJj9M=";
}; };
sourceRoot = "source/lib/comgr"; sourceRoot = "source/lib/comgr";

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-device-libs"; pname = "rocm-device-libs";
version = "3.9.0"; version = "3.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";
repo = "ROCm-Device-Libs"; repo = "ROCm-Device-Libs";
rev = "rocm-${version}"; rev = "rocm-${version}";
sha256 = "1nil0nhlkszslgvqhim5vmcp3flfafydviq0zk7db8i6z17kq090"; hash = "sha256-IAE8T/gmotXO/ADH3bxTjrpxWd2lRoj3o/rrSaEFNNo=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -21,13 +21,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-opencl-runtime"; pname = "rocm-opencl-runtime";
version = "3.9.0"; version = "3.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";
repo = "ROCm-OpenCL-Runtime"; repo = "ROCm-OpenCL-Runtime";
rev = "rocm-${version}"; rev = "rocm-${version}";
sha256 = "1qsgswm1wl2wknhgy6c9l6dnj0z1kwddimdzjmvjcpyxq987y2gv"; hash = "sha256-kW5jTDlQtXQ0i4ADJEnmESxjcLCt4QZCYJ1ouIsk4YE=";
}; };
nativeBuildInputs = [ cmake rocm-cmake ]; nativeBuildInputs = [ cmake rocm-cmake ];

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-runtime"; pname = "rocm-runtime";
version = "3.9.0"; version = "3.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";
repo = "ROCR-Runtime"; repo = "ROCR-Runtime";
rev = "rocm-${version}"; rev = "rocm-${version}";
sha256 = "034qbqznfligg4lwd95zmqa7lwcda720zbfv066nqvarlcml0kr6"; hash = "sha256-8hNb0Yo9ApedOG7xrUr5rwiA/YsqDTcyr6dBRg8lXro=";
}; };
sourceRoot = "source/src"; sourceRoot = "source/src";

View File

@ -7,13 +7,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-thunk"; pname = "rocm-thunk";
version = "3.9.0"; version = "3.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";
repo = "ROCT-Thunk-Interface"; repo = "ROCT-Thunk-Interface";
rev = "rocm-${version}"; rev = "rocm-${version}";
sha256 = "0xkp50ik7miz9whywnmiiqiamc7g8flfr9g8c02kxr0cay1in6cj"; hash = "sha256-FLH+GHXA0zepbR1wPPSez/hx1hiG2kkCTneDKhJJRjU=";
}; };
preConfigure = '' preConfigure = ''

View File

@ -15,7 +15,12 @@ let
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
cmakeFlags = [ "-DSPDLOG_BUILD_EXAMPLE=OFF" "-DSPDLOG_BUILD_BENCH=OFF" ]; cmakeFlags = [
"-DSPDLOG_BUILD_SHARED=ON"
"-DSPDLOG_BUILD_EXAMPLE=OFF"
"-DSPDLOG_BUILD_BENCH=OFF"
"-DSPDLOG_BUILD_TESTS=ON"
];
outputs = [ "out" "doc" ]; outputs = [ "out" "doc" ];
@ -24,6 +29,9 @@ let
cp -rv ../example $out/share/doc/spdlog cp -rv ../example $out/share/doc/spdlog
''; '';
doCheck = true;
preCheck = "export LD_LIBRARY_PATH=$(pwd):$LD_LIBRARY_PATH";
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Very fast, header only, C++ logging library"; description = "Very fast, header only, C++ logging library";
homepage = "https://github.com/gabime/spdlog"; homepage = "https://github.com/gabime/spdlog";

View File

@ -1,31 +0,0 @@
{ stdenv, fetchurl, unzip, sqlite, tcl }:
let
archiveVersion = import ./archive-version.nix stdenv.lib;
in
stdenv.mkDerivation rec {
pname = "sqlite-analyzer";
version = "3.33.0";
src = assert version == sqlite.version; fetchurl {
url = "https://sqlite.org/2020/sqlite-src-${archiveVersion version}.zip";
sha256 = "1f09srlrmcab1sf8j2d89s2kvknlbxk7mbsiwpndw9mall27dgwh";
};
nativeBuildInputs = [ unzip ];
buildInputs = [ tcl ];
makeFlags = [ "sqlite3_analyzer" ];
installPhase = "install -Dt $out/bin sqlite3_analyzer";
meta = with stdenv.lib; {
description = "A tool that shows statistics about SQLite databases";
downloadPage = "http://sqlite.org/download.html";
homepage = "https://www.sqlite.org";
license = licenses.publicDomain;
maintainers = with maintainers; [ pesterhazy ];
platforms = platforms.unix;
};
}

View File

@ -0,0 +1,26 @@
{ stdenv
, fetchFromGitHub
, cmake
}:
stdenv.mkDerivation rec {
pname = "tinyobjloader";
version = "1.0.6";
src = fetchFromGitHub {
owner = "tinyobjloader";
repo = "tinyobjloader";
rev = "v${version}";
sha256 = "162168995f4xch7hm3iy6m57r8iqkpzi5x9qh1gsghlxwdxxqbis";
};
nativeBuildInputs = [ cmake ];
meta = with stdenv.lib; {
homepage = "https://github.com/tinyobjloader/tinyobjloader";
description = "Tiny but powerful single file wavefront obj loader";
license = licenses.mit;
maintainers = [ maintainers.ivar ];
platforms = platforms.linux;
};
}

View File

@ -59,6 +59,10 @@ let
buildInputs = [ pkgs.phantomjs2 ]; buildInputs = [ pkgs.phantomjs2 ];
}; };
flood = super.flood.override {
buildInputs = [ self.node-pre-gyp ];
};
expo-cli = super."expo-cli".override (attrs: { expo-cli = super."expo-cli".override (attrs: {
# The traveling-fastlane-darwin optional dependency aborts build on Linux. # The traveling-fastlane-darwin optional dependency aborts build on Linux.
dependencies = builtins.filter (d: d.packageName != "@expo/traveling-fastlane-${if stdenv.isLinux then "darwin" else "linux"}") attrs.dependencies; dependencies = builtins.filter (d: d.packageName != "@expo/traveling-fastlane-${if stdenv.isLinux then "darwin" else "linux"}") attrs.dependencies;

View File

@ -80,6 +80,7 @@
, {"fast-cli": "1.x"} , {"fast-cli": "1.x"}
, "fauna-shell" , "fauna-shell"
, "fkill-cli" , "fkill-cli"
, "flood"
, "forever" , "forever"
, "fx" , "fx"
, "get-graphql-schema" , "get-graphql-schema"

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
buildDunePackage rec { buildDunePackage rec {
pname = "angstrom-async"; pname = "angstrom-async";
inherit (angstrom) version src; inherit (angstrom) version useDune2 src;
minimumOCamlVersion = "4.04.1"; minimumOCamlVersion = "4.04.1";

View File

@ -3,7 +3,7 @@
buildDunePackage rec { buildDunePackage rec {
pname = "angstrom-lwt-unix"; pname = "angstrom-lwt-unix";
inherit (angstrom) version src; inherit (angstrom) version useDune2 src;
minimumOCamlVersion = "4.03"; minimumOCamlVersion = "4.03";

View File

@ -3,7 +3,7 @@
buildDunePackage rec { buildDunePackage rec {
pname = "angstrom-unix"; pname = "angstrom-unix";
inherit (angstrom) version src; inherit (angstrom) version useDune2 src;
minimumOCamlVersion = "4.03"; minimumOCamlVersion = "4.03";

View File

@ -1,8 +1,9 @@
{ lib, fetchFromGitHub, buildDunePackage, ocaml, alcotest, result, bigstringaf, ppx_let }: { lib, fetchFromGitHub, buildDunePackage, ocaml, ocaml-syntax-shims, alcotest, result, bigstringaf, ppx_let }:
buildDunePackage rec { buildDunePackage rec {
pname = "angstrom"; pname = "angstrom";
version = "0.15.0"; version = "0.15.0";
useDune2 = true;
minimumOCamlVersion = "4.04"; minimumOCamlVersion = "4.04";
@ -14,6 +15,7 @@ buildDunePackage rec {
}; };
checkInputs = [ alcotest ppx_let ]; checkInputs = [ alcotest ppx_let ];
buildInputs = [ ocaml-syntax-shims ];
propagatedBuildInputs = [ bigstringaf result ]; propagatedBuildInputs = [ bigstringaf result ];
doCheck = lib.versionAtLeast ocaml.version "4.05"; doCheck = lib.versionAtLeast ocaml.version "4.05";

View File

@ -2,7 +2,9 @@
buildDunePackage rec { buildDunePackage rec {
pname = "bigstringaf"; pname = "bigstringaf";
version = "0.6.0"; version = "0.7.0";
useDune2 = true;
minimumOCamlVersion = "4.03"; minimumOCamlVersion = "4.03";
@ -10,7 +12,7 @@ buildDunePackage rec {
owner = "inhabitedtype"; owner = "inhabitedtype";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "04b088vrqzmxsyan9f9nr8721bxip4b930cgvb5zkbbmrw3ylmwc"; sha256 = "1q1sqxzdnlrpl95ccrhl7lwy3zswgd9rbn19ildclh0lyi2vazbj";
}; };
checkInputs = [ alcotest ]; checkInputs = [ alcotest ];

View File

@ -6,11 +6,11 @@ else
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-ctypes-${version}"; name = "ocaml${ocaml.version}-ctypes-${version}";
version = "0.16.0"; version = "0.17.1";
src = fetchzip { src = fetchzip {
url = "https://github.com/ocamllabs/ocaml-ctypes/archive/${version}.tar.gz"; url = "https://github.com/ocamllabs/ocaml-ctypes/archive/${version}.tar.gz";
sha256 = "0qh2gfx5682wkk2nm1ybspzz9c2xvlnnf6iv08a89kbwa1hvdqrg"; sha256 = "16brmdnz7wi2z25qqhd5s5blyq4app6jbv6g9pa4vyg6h0nzbcys";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View File

@ -10,6 +10,8 @@ buildDunePackage rec {
pname = "earlybird"; pname = "earlybird";
version = "0.1.5"; version = "0.1.5";
useDune2 = true;
minimumOCamlVersion = "4.04"; minimumOCamlVersion = "4.04";
src = fetchurl { src = fetchurl {

View File

@ -2,11 +2,11 @@
buildDunePackage rec { buildDunePackage rec {
pname = "integers"; pname = "integers";
version = "0.3.0"; version = "0.4.0";
src = fetchzip { src = fetchzip {
url = "https://github.com/ocamllabs/ocaml-integers/archive/${version}.tar.gz"; url = "https://github.com/ocamllabs/ocaml-integers/archive/${version}.tar.gz";
sha256 = "1yhif5zh4srh63mhimfx3p5ljpb3lixjdd3i9pjnbj2qgpzlqj8p"; sha256 = "0yp3ab0ph7mp5741g7333x4nx8djjvxzpnv3zvsndyzcycspn9dd";
}; };
meta = { meta = {

View File

@ -7,6 +7,8 @@ buildDunePackage rec {
pname = "ke"; pname = "ke";
version = "0.4"; version = "0.4";
useDune2 = true;
src = fetchurl { src = fetchurl {
url = "https://github.com/mirage/ke/releases/download/v${version}/ke-v${version}.tbz"; url = "https://github.com/mirage/ke/releases/download/v${version}/ke-v${version}.tbz";
sha256 = "13c9xy60vmq29mnwpg3h3zgl6gjbjfwbx1s0crfc6xwvark0zxnx"; sha256 = "13c9xy60vmq29mnwpg3h3zgl6gjbjfwbx1s0crfc6xwvark0zxnx";
@ -14,7 +16,7 @@ buildDunePackage rec {
propagatedBuildInputs = [ bigarray-compat fmt ]; propagatedBuildInputs = [ bigarray-compat fmt ];
checkInputs = lib.optionals doCheck [ alcotest bigstringaf ]; checkInputs = [ alcotest bigstringaf ];
doCheck = true; doCheck = true;
minimumOCamlVersion = "4.03"; minimumOCamlVersion = "4.03";

View File

@ -2,10 +2,10 @@
buildDunePackage rec { buildDunePackage rec {
pname = "stdlib-shims"; pname = "stdlib-shims";
version = "0.1.0"; version = "0.2.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/ocaml/${pname}/releases/download/${version}/${pname}-${version}.tbz"; url = "https://github.com/ocaml/${pname}/releases/download/${version}/${pname}-${version}.tbz";
sha256 = "1jv6yb47f66239m7hsz7zzw3i48mjpbvfgpszws48apqx63wjwsk"; sha256 = "0nb5flrczpqla1jy2pcsxm06w4jhc7lgbpik11amwhfzdriz0n9c";
}; };
minimumOCamlVersion = "4.02"; minimumOCamlVersion = "4.02";
doCheck = true; doCheck = true;

View File

@ -32,6 +32,7 @@ buildPythonPackage rec {
description = "Python library for driving the Pimoroni BME680 Breakout"; description = "Python library for driving the Pimoroni BME680 Breakout";
homepage = "https://github.com/pimoroni/bme680-python"; homepage = "https://github.com/pimoroni/bme680-python";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ mic92 ]; maintainers = with maintainers; [ mic92 ];
}; };
} }

View File

@ -1,26 +1,23 @@
{ lib, fetchPypi, buildPythonPackage, pythonOlder { lib, fetchPypi, buildPythonPackage, pythonOlder, pythonAtLeast, isPy27
, flake8 , flake8
, importlib-metadata
, pycodestyle , pycodestyle
, pytestrunner , six
, pytest , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "flake8-debugger"; pname = "flake8-debugger";
version = "3.2.1"; version = "4.0.0";
disabled = isPy27;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "712d7c1ff69ddf3f0130e94cc88c2519e720760bce45e8c330bfdcb61ab4090d"; sha256 = "e43dc777f7db1481db473210101ec2df2bd39a45b149d7218a618e954177eda6";
}; };
nativeBuildInputs = [ pytestrunner ]; propagatedBuildInputs = [ flake8 pycodestyle six ];
propagatedBuildInputs = [ flake8 pycodestyle ] checkInputs = [ pytestCheckHook ];
++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
checkInputs = [ pytest ];
# Tests not included in PyPI tarball # Tests not included in PyPI tarball
# FIXME: Remove when https://github.com/JBKahn/flake8-debugger/pull/15 is merged # FIXME: Remove when https://github.com/JBKahn/flake8-debugger/pull/15 is merged

View File

@ -5,12 +5,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "goobook"; pname = "goobook";
version = "3.5"; version = "3.5.1";
disabled = !isPy3k; disabled = !isPy3k;
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "1rmfyma3gwdf5mrw4l3j66y86fy8hgdbd0z4a5kck0kcm3hy34j9"; sha256 = "6e69aeaf69112d116302f0c42ca1904f3b6efd17f15cefc12c866206160293be";
}; };
nativeBuildInputs = [ docutils installShellFiles ]; nativeBuildInputs = [ docutils installShellFiles ];

View File

@ -0,0 +1,21 @@
{ lib, buildPythonPackage, pybind11, tinyobjloader }:
buildPythonPackage rec {
pname = "tinyobjloader-py";
inherit (tinyobjloader) version src;
# Build needs headers from ${src}, setting sourceRoot or fetching from pypi won't work.
preConfigure = ''
cd python
'';
buildInputs = [ pybind11 ];
# No tests are included upstream
doCheck = false;
pythonImportsCheck = [ "tinyobjloader" ];
meta = with lib; tinyobjloader.meta // {
description = "Python wrapper for the C++ wavefront .obj loader tinyobjloader";
};
}

View File

@ -2,6 +2,7 @@
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, boto3 , boto3
, cookiecutter
, filelock , filelock
, regex , regex
, requests , requests
@ -9,7 +10,6 @@
, parameterized , parameterized
, protobuf , protobuf
, sacremoses , sacremoses
, sentencepiece
, timeout-decorator , timeout-decorator
, tokenizers , tokenizers
, tqdm , tqdm
@ -18,23 +18,23 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "transformers"; pname = "transformers";
version = "3.5.1"; version = "4.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "huggingface"; owner = "huggingface";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "02z5zz0rq7mbgdmsm2ccfdbca57qy7iqp0vc7jspsmdfif4acwia"; sha256 = "17djq32pq8d6vqip7i9pda0ldigmzckbbcd278llmpxdriqd4llg";
}; };
propagatedBuildInputs = [ propagatedBuildInputs = [
cookiecutter
filelock filelock
numpy numpy
protobuf protobuf
regex regex
requests requests
sacremoses sacremoses
sentencepiece
tokenizers tokenizers
tqdm tqdm
]; ];
@ -47,8 +47,7 @@ buildPythonPackage rec {
postPatch = '' postPatch = ''
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace "tokenizers == 0.9.3" "tokenizers" \ --replace "tokenizers == 0.9.4" "tokenizers"
--replace "sentencepiece == 0.1.91" "sentencepiece"
''; '';
preCheck = '' preCheck = ''

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "rocm-cmake"; pname = "rocm-cmake";
version = "3.9.0"; version = "3.10.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "RadeonOpenCompute"; owner = "RadeonOpenCompute";
repo = "rocm-cmake"; repo = "rocm-cmake";
rev = "rocm-${version}"; rev = "rocm-${version}";
sha256 = "13j7gmcy1j6qsydgccmgiacg6sj38l5mlwn4ck8qizl0cpc14gfm"; hash = "sha256-1T0S2GWA/ojRZMRyWgtFQ2rzmIqvMvaa19jI4Fl9R44=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "fly"; pname = "fly";
version = "6.7.0"; version = "6.7.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "concourse"; owner = "concourse";
repo = "concourse"; repo = "concourse";
rev = "v${version}"; rev = "v${version}";
sha256 = "0jc0hr0h1xya7avzxdwmvhnsm5cr3g21pig52draz5vjaya7bg55"; sha256 = "0c5alf2a0088i25mglla9dl4m3wr5y8pnl5cczgn06sz8qp9a0s0";
}; };
vendorSha256 = "1fxbxkg7disndlmb065abnfn7sn79qclkcbizmrq49f064w1ijr4"; vendorSha256 = "1fxbxkg7disndlmb065abnfn7sn79qclkcbizmrq49f064w1ijr4";

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, jre_headless, makeWrapper }: { stdenv, fetchurl, jre_headless, makeWrapper }:
let let
version = "7.2.1"; version = "7.3.0";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "flyway"; pname = "flyway";
inherit version; inherit version;
src = fetchurl { src = fetchurl {
url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz"; url = "https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${version}/flyway-commandline-${version}.tar.gz";
sha256 = "0b9pyy5avgr2wh3amnpwfc21i69mbw9a0xdxwg5wlrw83f5rx17w"; sha256 = "0d5v0g28myqiac0a5qy0sbpf0mjzzi3agyks9cdzsgg3ka1i18q9";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
dontBuild = true; dontBuild = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub }: { stdenv, makeWrapper, fetchFromGitHub, cctools }:
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "macdylibbundler"; pname = "macdylibbundler";
@ -11,8 +11,15 @@ stdenv.mkDerivation {
sha256 = "149p3dcnap4hs3nhq5rfvr3m70rrb5hbr5xkj1h0gsfp0d7gvxnj"; sha256 = "149p3dcnap4hs3nhq5rfvr3m70rrb5hbr5xkj1h0gsfp0d7gvxnj";
}; };
buildInputs = [ makeWrapper ];
makeFlags = [ "PREFIX=$(out)" ]; makeFlags = [ "PREFIX=$(out)" ];
postInstall = ''
wrapProgram $out/bin/dylibbundler \
--prefix PATH ":" "${cctools}/bin"
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Utility to ease bundling libraries into executables for OSX"; description = "Utility to ease bundling libraries into executables for OSX";
longDescription = '' longDescription = ''

View File

@ -7,60 +7,127 @@ import toml
import json import json
import sys import sys
from typing import Dict, Any, Tuple, List
argparser = argparse.ArgumentParser(description="Poetry2nix CLI")
subparsers = argparser.add_subparsers(dest="subcommand")
subparsers.required = True
parser_lock = subparsers.add_parser("lock", help="Generate overrides for git hashes",)
parser_lock.add_argument(
"--lock", default="poetry.lock", help="Path to input poetry.lock",
)
parser_lock.add_argument(
"--out", default="poetry-git-overlay.nix", help="Output file",
)
def fetch_git(pkg): class Package:
return ( def __init__(self, attrs: Dict[str, Any]) -> None:
pkg["name"], self.attrs = attrs
subprocess.run( self.name = attrs["name"]
[ self.source = self.attrs["source"]
"nix-prefetch-git",
"--fetch-submodules", def fetch(self) -> Tuple["Package", subprocess.CompletedProcess]:
"--url", raise NotImplementedError()
pkg["source"]["url"],
"--rev", def expression(self, output: str) -> str:
pkg["source"]["reference"], raise NotImplementedError()
],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE, class UrlPackage(Package):
), def fetch(self) -> Tuple[Package, subprocess.CompletedProcess]:
return (
self,
subprocess.run(
[
"nix-prefetch-url",
"--unpack",
self.source["url"],
],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
),
)
def expression(self, output: str) -> str:
sha256 = output.rstrip()
return textwrap.dedent("""
%s = super.%s.overridePythonAttrs (
_: {
src = pkgs.fetchzip {
url = "%s";
sha256 = "%s";
};
}
);""" % (self.name, self.name, self.source["url"], sha256))
class GitPackage(Package):
def fetch(self) -> Tuple[Package, subprocess.CompletedProcess]:
reference = self.source.get("resolved_reference", self.source["reference"])
return (
self,
subprocess.run(
[
"nix-prefetch-git",
"--fetch-submodules",
"--url",
self.source["url"],
"--rev",
reference,
],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True
),
)
def expression(self, output: str) -> str:
meta = json.loads(output)
return textwrap.dedent("""
%s = super.%s.overridePythonAttrs (
_: {
src = pkgs.fetchgit {
url = "%s";
rev = "%s";
sha256 = "%s";
};
}
);""" % (self.name, self.name, meta["url"], meta["rev"], meta["sha256"]))
def parse_args() -> argparse.Namespace:
argparser = argparse.ArgumentParser(description="Poetry2nix CLI")
subparsers = argparser.add_subparsers(dest="subcommand")
subparsers.required = True
parser_lock = subparsers.add_parser("lock", help="Generate overrides for git hashes",)
parser_lock.add_argument(
"--lock", default="poetry.lock", help="Path to input poetry.lock",
) )
parser_lock.add_argument(
"--out", default="poetry-git-overlay.nix", help="Output file",
)
return argparser.parse_args()
def indent(expr, spaces=2): def indent(expr: str, spaces: int = 2) -> str:
i = " " * spaces i = " " * spaces
return "\n".join([(i if l != "" else "") + l for l in expr.split("\n")]) return "\n".join([(i if l != "" else "") + l for l in expr.split("\n")])
if __name__ == "__main__": def main() -> None:
args = argparser.parse_args() args = parse_args()
with open(args.lock) as lockf: with open(args.lock) as lockf:
lock = toml.load(lockf) lock = toml.load(lockf)
pkgs = [] pkgs: List[Package] = []
for pkg in lock["package"]: for pkg in lock["package"]:
if "source" in pkg: if "source" in pkg:
pkgs.append(pkg) source_type = pkg["source"]["type"]
if source_type == "git":
pkgs.append(GitPackage(pkg))
elif source_type == "url":
pkgs.append(UrlPackage(pkg))
with ThreadPoolExecutor() as e: with ThreadPoolExecutor() as e:
futures = [] futures = []
for pkg in pkgs: for pkg in pkgs:
futures.append(e.submit(fetch_git, pkg)) futures.append(e.submit(pkg.fetch))
lines = [ lines = [
"{ pkgs }:", "{ pkgs }:",
@ -68,30 +135,13 @@ if __name__ == "__main__":
] ]
for f in futures: for f in futures:
drv_name, p = f.result() package, p = f.result()
if p.returncode != 0: if p.returncode != 0:
sys.stderr.buffer.write(p.stderr) sys.stderr.write(p.stderr)
sys.stderr.buffer.flush() sys.stderr.flush()
exit(p.returncode) exit(p.returncode)
expr = package.expression(p.stdout)
meta = json.loads(p.stdout.decode()) lines.append(indent(expr))
lines.append(
indent(
textwrap.dedent(
"""
%s = super.%s.overridePythonAttrs (
_: {
src = pkgs.fetchgit {
url = "%s";
rev = "%s";
sha256 = "%s";
};
}
);"""
% (drv_name, drv_name, meta["url"], meta["rev"], meta["sha256"])
)
)
)
lines.extend(["", "}", ""]) lines.extend(["", "}", ""])
@ -101,3 +151,7 @@ if __name__ == "__main__":
fout.write(expr) fout.write(expr)
print(f"Wrote {args.out}") print(f"Wrote {args.out}")
if __name__ == "__main__":
main()

View File

@ -71,7 +71,7 @@ in
lib.makeScope pkgs.newScope (self: { lib.makeScope pkgs.newScope (self: {
# Poetry2nix version # Poetry2nix version
version = "1.13.0"; version = "1.14.0";
/* /*
Returns an attrset { python, poetryPackages, pyProject, poetryLock } for the given pyproject/lockfile. Returns an attrset { python, poetryPackages, pyProject, poetryLock } for the given pyproject/lockfile.

View File

@ -1,11 +1,11 @@
{ python { python
, callPackage , buildPackages
, makeSetupHook , makeSetupHook
, yj
, wheel , wheel
, pip , pip
}: }:
let let
callPackage = python.pythonForBuild.pkgs.callPackage;
pythonInterpreter = python.pythonForBuild.interpreter; pythonInterpreter = python.pythonForBuild.interpreter;
pythonSitePackages = python.sitePackages; pythonSitePackages = python.sitePackages;
in in
@ -20,7 +20,7 @@ in
deps = [ ]; deps = [ ];
substitutions = { substitutions = {
inherit pythonInterpreter; inherit pythonInterpreter;
yj = "${yj}/bin/yj"; yj = "${buildPackages.yj}/bin/yj";
pyprojectPatchScript = "${./pyproject-without-path.py}"; pyprojectPatchScript = "${./pyproject-without-path.py}";
}; };
} ./remove-path-dependencies.sh } ./remove-path-dependencies.sh

View File

@ -27,6 +27,7 @@ pythonPackages.callPackage
, ... , ...
}@args: }@args:
let let
inherit (pkgs) stdenv;
inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi moduleName; inherit (poetryLib) isCompatible getManyLinuxDeps fetchFromPypi moduleName;
inherit (import ./pep425.nix { inherit (import ./pep425.nix {
@ -45,6 +46,7 @@ pythonPackages.callPackage
toPath = s: pwd + "/${s}"; toPath = s: pwd + "/${s}";
isSource = source != null; isSource = source != null;
isGit = isSource && source.type == "git"; isGit = isSource && source.type == "git";
isUrl = isSource && source.type == "url";
isLocal = isSource && source.type == "directory"; isLocal = isSource && source.type == "directory";
localDepPath = toPath source.url; localDepPath = toPath source.url;
@ -91,7 +93,7 @@ pythonPackages.callPackage
"toml" # Toml is an extra for setuptools-scm "toml" # Toml is an extra for setuptools-scm
]; ];
baseBuildInputs = lib.optional (! lib.elem name skipSetupToolsSCM) pythonPackages.setuptools-scm; baseBuildInputs = lib.optional (! lib.elem name skipSetupToolsSCM) pythonPackages.setuptools-scm;
format = if isLocal then "pyproject" else if isGit then "pyproject" else fileInfo.format; format = if isLocal || isGit || isUrl then "pyproject" else fileInfo.format;
in in
buildPythonPackage { buildPythonPackage {
pname = moduleName name; pname = moduleName name;
@ -113,9 +115,10 @@ pythonPackages.callPackage
buildInputs = ( buildInputs = (
baseBuildInputs baseBuildInputs
++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) pythonPackages.setuptools
++ lib.optional (!isSource) (getManyLinuxDeps fileInfo.name).pkg ++ lib.optional (!isSource) (getManyLinuxDeps fileInfo.name).pkg
++ lib.optional isLocal buildSystemPkgs ++ lib.optional isLocal buildSystemPkgs
++ lib.optional (!__isBootstrap) [ pythonPackages.poetry ] ++ lib.optional (!__isBootstrap) pythonPackages.poetry
); );
propagatedBuildInputs = propagatedBuildInputs =
@ -157,14 +160,22 @@ pythonPackages.callPackage
( (
builtins.fetchGit { builtins.fetchGit {
inherit (source) url; inherit (source) url;
rev = source.reference; rev = source.resolved_reference or source.reference;
ref = sourceSpec.branch or sourceSpec.rev or sourceSpec.tag or "HEAD"; ref = sourceSpec.branch or sourceSpec.rev or sourceSpec.tag or "HEAD";
} }
) else if isLocal then (poetryLib.cleanPythonSources { src = localDepPath; }) else )
fetchFromPypi { else if isUrl then
pname = name; builtins.fetchTarball
inherit (fileInfo) file hash kind; {
}; inherit (source) url;
}
else if isLocal then
(poetryLib.cleanPythonSources { src = localDepPath; })
else
fetchFromPypi {
pname = name;
inherit (fileInfo) file hash kind;
};
} }
) )
{ } { }

View File

@ -93,7 +93,7 @@ self: super:
( (
super.cffi.overridePythonAttrs ( super.cffi.overridePythonAttrs (
old: { old: {
buildInputs = old.buildInputs ++ [ pkgs.libffi ]; buildInputs = old.buildInputs or [ ] ++ [ pkgs.libffi ];
} }
) )
); );
@ -106,6 +106,12 @@ self: super:
} }
); );
colour = super.colour.overridePythonAttrs (
old: {
buildInputs = old.buildInputs ++ [ self.d2to1 ];
}
);
configparser = super.configparser.overridePythonAttrs ( configparser = super.configparser.overridePythonAttrs (
old: { old: {
buildInputs = old.buildInputs ++ [ buildInputs = old.buildInputs ++ [
@ -120,6 +126,8 @@ self: super:
cryptography = super.cryptography.overridePythonAttrs ( cryptography = super.cryptography.overridePythonAttrs (
old: { old: {
nativeBuildInputs = old.nativeBuildInputs or [ ]
++ stdenv.lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) self.python.pythonForBuild.pkgs.cffi;
buildInputs = old.buildInputs ++ [ pkgs.openssl ]; buildInputs = old.buildInputs ++ [ pkgs.openssl ];
} }
); );
@ -324,6 +332,17 @@ self: super:
} }
); );
jira = super.jira.overridePythonAttrs (
old: {
inherit (pkgs.python3Packages.jira) patches;
buildInputs = old.buildInputs ++ [
self.pytestrunner
self.cryptography
self.pyjwt
];
}
);
jsonpickle = super.jsonpickle.overridePythonAttrs ( jsonpickle = super.jsonpickle.overridePythonAttrs (
old: { old: {
dontPreferSetupPy = true; dontPreferSetupPy = true;
@ -499,6 +518,31 @@ self: super:
buildInputs = oa.buildInputs ++ [ self.pbr ]; buildInputs = oa.buildInputs ++ [ self.pbr ];
}); });
mpi4py = super.mpi4py.overridePythonAttrs (
old:
let
cfg = pkgs.writeTextFile {
name = "mpi.cfg";
text = (
lib.generators.toINI
{ }
{
mpi = {
mpicc = "${pkgs.openmpi.outPath}/bin/mpicc";
};
}
);
};
in
{
propagatedBuildInputs = old.propagatedBuildInputs ++ [ pkgs.openmpi ];
enableParallelBuilding = true;
preBuild = ''
ln -sf ${cfg} mpi.cfg
'';
}
);
multiaddr = super.multiaddr.overridePythonAttrs ( multiaddr = super.multiaddr.overridePythonAttrs (
old: { old: {
buildInputs = old.buildInputs ++ [ self.pytest-runner ]; buildInputs = old.buildInputs ++ [ self.pytest-runner ];
@ -584,8 +628,8 @@ self: super:
withMysql = old.passthru.withMysql or false; withMysql = old.passthru.withMysql or false;
in in
{ {
buildInputs = old.buildInputs ++ [ self.cython pkgs.sqlite ]; buildInputs = old.buildInputs or [ ] ++ [ pkgs.sqlite ];
propagatedBuildInputs = old.propagatedBuildInputs propagatedBuildInputs = old.propagatedBuildInputs or [ ]
++ lib.optional withPostgres self.psycopg2 ++ lib.optional withPostgres self.psycopg2
++ lib.optional withMysql self.mysql-connector; ++ lib.optional withMysql self.mysql-connector;
} }
@ -602,8 +646,8 @@ self: super:
# "Vendor" dependencies (for build-system support) # "Vendor" dependencies (for build-system support)
postPatch = '' postPatch = ''
echo "import sys" >> poetry/__init__.py echo "import sys" >> poetry/__init__.py
for path in ''${PYTHONPATH//:/ }; do echo $path; done | uniq | while read path; do for path in $propagatedBuildInputs; do
echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py
done done
''; '';
@ -796,6 +840,14 @@ self: super:
} }
); );
python-bugzilla = super.python-bugzilla.overridePythonAttrs (
old: {
nativeBuildInputs = old.nativeBuildInputs ++ [
self.docutils
];
}
);
python-ldap = super.python-ldap.overridePythonAttrs ( python-ldap = super.python-ldap.overridePythonAttrs (
old: { old: {
buildInputs = old.buildInputs ++ [ pkgs.openldap pkgs.cyrus_sasl ]; buildInputs = old.buildInputs ++ [ pkgs.openldap pkgs.cyrus_sasl ];
@ -924,6 +976,15 @@ self: super:
} }
); );
pytest-django = super.pytest-django.overridePythonAttrs (
old: {
postPatch = ''
substituteInPlace setup.py --replace "'pytest>=3.6'," ""
substituteInPlace setup.py --replace "'pytest>=3.6'" ""
'';
}
);
pytest-runner = super.pytest-runner or super.pytestrunner; pytest-runner = super.pytest-runner or super.pytestrunner;
python-jose = super.python-jose.overridePythonAttrs ( python-jose = super.python-jose.overridePythonAttrs (
@ -1090,6 +1151,43 @@ self: super:
} }
); );
torch = lib.makeOverridable
({ enableCuda ? false
, cudatoolkit ? pkgs.cudatoolkit_10_1
, pkg ? super.torch
}: pkg.overrideAttrs (old:
{
preConfigure =
if (!enableCuda) then ''
export USE_CUDA=0
'' else ''
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${cudatoolkit}/targets/x86_64-linux/lib"
'';
preFixup = lib.optionalString (!enableCuda) ''
# For some reason pytorch retains a reference to libcuda even if it
# is explicitly disabled with USE_CUDA=0.
find $out -name "*.so" -exec ${pkgs.patchelf}/bin/patchelf --remove-needed libcuda.so.1 {} \;
'';
buildInputs = old.buildInputs ++ lib.optionals enableCuda [
pkgs.linuxPackages.nvidia_x11
pkgs.nccl.dev
pkgs.nccl.out
];
propagatedBuildInputs = [
super.numpy
super.future
];
})
)
{ };
typeguard = super.typeguard.overridePythonAttrs (old: {
postPatch = ''
substituteInPlace setup.py \
--replace 'setup()' 'setup(version="${old.version}")'
'';
});
# nix uses a dash, poetry uses an underscore # nix uses a dash, poetry uses an underscore
typing_extensions = super.typing_extensions or self.typing-extensions; typing_extensions = super.typing_extensions or self.typing-extensions;
@ -1193,4 +1291,30 @@ self: super:
} }
); );
credis = super.credis.overridePythonAttrs (
old: {
buildInputs = old.buildInputs ++ [ self.cython ];
}
);
hashids = super.hashids.overridePythonAttrs (
old: {
buildInputs = old.buildInputs ++ [ self.flit-core ];
}
);
supervisor = super.supervisor.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [
self.meld3
self.setuptools
];
}
);
cytoolz = super.cytoolz.overridePythonAttrs (
old: {
propagatedBuildInputs = old.propagatedBuildInputs ++ [ self.toolz ];
}
);
} }

View File

@ -87,7 +87,7 @@ let
filtered = builtins.filter filterWheel filesWithoutSources; filtered = builtins.filter filterWheel filesWithoutSources;
choose = files: choose = files:
let let
osxMatches = [ "10_12" "10_11" "10_10" "10_9" "any" ]; osxMatches = [ "10_12" "10_11" "10_10" "10_9" "10_8" "10_7" "any" ];
linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "any" ]; linuxMatches = [ "manylinux1_" "manylinux2010_" "manylinux2014_" "any" ];
chooseLinux = x: lib.take 1 (findBestMatches linuxMatches x); chooseLinux = x: lib.take 1 (findBestMatches linuxMatches x);
chooseOSX = x: lib.take 1 (findBestMatches osxMatches x); chooseOSX = x: lib.take 1 (findBestMatches osxMatches x);

View File

@ -15,8 +15,8 @@ poetry2nix.mkPoetryApplication {
# "Vendor" dependencies (for build-system support) # "Vendor" dependencies (for build-system support)
postPatch = '' postPatch = ''
echo "import sys" >> poetry/__init__.py echo "import sys" >> poetry/__init__.py
for path in ''${PYTHONPATH//:/ }; do echo $path; done | uniq | while read path; do for path in $propagatedBuildInputs; do
echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py echo "sys.path.insert(0, \"$path\")" >> poetry/__init__.py
done done
''; '';

View File

@ -1,6 +1,6 @@
[tool.poetry] [tool.poetry]
name = "poetry" name = "poetry"
version = "1.1.0" version = "1.1.4"
description = "Python dependency management and packaging made easy." description = "Python dependency management and packaging made easy."
authors = [ authors = [
"Sébastien Eustace <sebastien@eustace.io>" "Sébastien Eustace <sebastien@eustace.io>"

View File

@ -1,7 +1,7 @@
{ {
"owner": "python-poetry", "owner": "python-poetry",
"repo": "poetry", "repo": "poetry",
"rev": "539d7f732c34c821258a9853cd3078cbda34a717", "rev": "8312e3f2dbfa126cd311c666fea30656941e1bd3",
"sha256": "0kl23dkq9n112z1pqjg6f1wv3qk77ij6q5glg15lwrj7yrl9k65c", "sha256": "0lx3qpz5dad0is7ki5a4vxphvc8cm8fnv4bmrx226a6nvvaj6ahs",
"fetchSubmodules": true "fetchSubmodules": true
} }

View File

@ -23,6 +23,7 @@ let
dontConfigure = true; dontConfigure = true;
dontBuild = true; dontBuild = true;
dontUsePythonRecompileBytecode = true;
passthru = { passthru = {
inherit (drv.passthru) withPlugins; inherit (drv.passthru) withPlugins;

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