Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2020-06-16 18:05:38 +02:00
commit 4af4a49251
117 changed files with 1171 additions and 587 deletions

View file

@ -67,7 +67,17 @@ A derivation can then be written using `agdaPackages.mkDerivation`. This has sim
+ `libraryName` should be the name that appears in the `*.agda-lib` file, defaulting to `pname`.
+ `libraryFile` should be the file name of the `*.agda-lib` file, defaulting to `${libraryName}.agda-lib`.
The build phase for `agdaPackages.mkDerivation` simply runs `agda` on the `Everything.agda` file. If something else is needed to build the package (e.g. `make`) then the `buildPhase` should be overridden (or a `preBuild` or `configurePhase` can be used if there are steps that need to be done prior to checking the `Everything.agda` file). `agda` and the Agda libraries contained in `buildInputs` are made available during the build phase. The install phase simply copies all `.agda`, `.agdai` and `.agda-lib` files to the output directory. Again, this can be overridden.
### Build phase
The default build phase for `agdaPackages.mkDerivation` simply runs `agda` on the `Everything.agda` file.
If something else is needed to build the package (e.g. `make`) then the `buildPhase` should be overridden.
Additionally, a `preBuild` or `configurePhase` can be used if there are steps that need to be done prior to checking the `Everything.agda` file.
`agda` and the Agda libraries contained in `buildInputs` are made available during the build phase.
### Install phase
The default install phase copies agda source files, agda interface files (`*.agdai`) and `*.agda-lib` files to the output directory.
This can be overridden.
By default, agda sources are files ending on `.agda`, or literate agda files ending on `.lagda`, `.lagda.tex`, `.lagda.org`, `.lagda.md`, `.lagda.rst`. The list of recognised agda source extensions can be extended by setting the `extraExtensions` config variable.
To add an agda package to `nixpkgs`, the derivation should be written to `pkgs/development/libraries/agda/${library-name}/` and an entry should be added to `pkgs/top-level/agda-packages.nix`. Here it is called in a scope with access to all other agda libraries, so the top line of the `default.nix` can look like:
```

View file

@ -764,9 +764,6 @@ following are specific to `buildPythonPackage`:
* `dontWrapPythonPrograms ? false`: Skip wrapping of Python programs.
* `permitUserSite ? false`: Skip setting the `PYTHONNOUSERSITE` environment
variable in wrapped programs.
* `installFlags ? []`: A list of strings. Arguments to be passed to `pip
install`. To pass options to `python setup.py install`, use
`--install-option`. E.g., `installFlags=["--install-option='--cpp_implementation'"]`.
* `format ? "setuptools"`: Format of the source. Valid options are
`"setuptools"`, `"pyproject"`, `"flit"`, `"wheel"`, and `"other"`.
`"setuptools"` is for when the source has a `setup.py` and `setuptools` is
@ -782,6 +779,9 @@ following are specific to `buildPythonPackage`:
* `namePrefix`: Prepends text to `${name}` parameter. In case of libraries, this
defaults to `"python3.8-"` for Python 3.8, etc., and in case of applications
to `""`.
* `pipInstallFlags ? []`: A list of strings. Arguments to be passed to `pip
install`. To pass options to `python setup.py install`, use
`--install-option`. E.g., `pipInstallFlags=["--install-option='--cpp_implementation'"]`.
* `pythonPath ? []`: List of packages to be added into `$PYTHONPATH`. Packages
in `pythonPath` are not propagated (contrary to `propagatedBuildInputs`).
* `preShellHook`: Hook to execute commands before `shellHook`.

View file

@ -253,7 +253,7 @@ rec {
/* Like `mapAttrsRecursive', but it takes an additional predicate
function that tells it whether to recursive into an attribute
set. If it returns false, `mapAttrsRecursiveCond' does not
recurse, but does apply the map function. It is returns true, it
recurse, but does apply the map function. If it returns true, it
does recurse, and does not apply the map function.
Type:

View file

@ -1157,6 +1157,12 @@
githubId = 24417923;
name = "Renaud";
};
c00w = {
email = "nix@daedrum.net";
github = "c00w";
githubId = 486199;
name = "Colin";
};
c0deaddict = {
email = "josvanbakel@protonmail.com";
github = "c0deaddict";

View file

@ -34,6 +34,20 @@ with lib.maintainers; {
scope = "Maintain Freedesktop.org packages for graphical desktop.";
};
golang = {
members = [
c00w
cstrahan
Frostman
kalbasit
mic92
orivej
rvolosatovs
zowoq
];
scope = "Maintain Golang compilers.";
};
gnome = {
members = [
hedning

View file

@ -486,7 +486,7 @@ systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/var/www" ];
<itemizedlist>
<listitem>
<para>SD and ISO images are now compressed by default using <literal>zstd</literal>.</para>
<para>SD images are now compressed by default using <literal>zstd</literal>. The compression for ISO images has also been changed to <literal>zstd</literal>, but ISO images are still not compressed by default.</para>
</listitem>
<listitem>
<para>
@ -560,6 +560,44 @@ systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/var/www" ];
<link xlink:href="https://grafana.com/docs/grafana/latest/installation/upgrading/#upgrading-to-v7-0">in the Grafana documentation</link>.
</para>
</listitem>
<listitem>
<para>
The <literal>hardware.u2f</literal> module, which was installing udev rules
was removed, as udev gained native support to handle FIDO security tokens.
</para>
</listitem>
<listitem>
<para>
With this release <literal>systemd-networkd</literal> (when enabled through <xref linkend="opt-networking.useNetworkd"/>)
has it's netlink socket created through a <literal>systemd.socket</literal> unit. This gives us control over
socket buffer sizes and other parameters. For larger setups where networkd has to create a lot of (virtual)
devices the default buffer size (currently 128MB) is not enough.
</para>
<para>
On a machine with &gt;100 virtual interfaces (e.g., wireguard tunnels, VLANs, …), that all have to
be brought up during system startup, the receive buffer size will spike for a brief period.
Eventually some of the message will be dropped since there is not enough (permitted) buffer
space available.
</para>
<para>
By having <literal>systemd-networkd</literal> start with a netlink socket created by
<literal>systemd</literal> we can configure the <literal>ReceiveBufferSize=</literal> parameter
in the socket options (i.e. <literal>systemd.sockets.systemd-networkd.socketOptions.ReceiveBufferSize</literal>)
without recompiling <literal>systemd-networkd</literal>.
</para>
<para>
Since the actual memory requirements depend on hardware, timing, exact
configurations etc. it isn't currently possible to infer a good default
from within the NixOS module system. Administrators are advised to
monitor the logs of <literal>systemd-networkd</literal> for <literal>rtnl: kernel receive buffer
overrun</literal> spam and increase the memory limit as they see fit.
</para>
<para>
Note: Increasing the <literal>ReceiveBufferSize=</literal> doesn't allocate any memory. It just increases
the upper bound on the kernel side. The memory allocation depends on the amount of messages that are
queued on the kernel side of the netlink socket.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View file

@ -362,7 +362,6 @@
./services/hardware/throttled.nix
./services/hardware/trezord.nix
./services/hardware/triggerhappy.nix
./services/hardware/u2f.nix
./services/hardware/udev.nix
./services/hardware/udisks2.nix
./services/hardware/upower.nix
@ -624,6 +623,7 @@
./services/networking/gdomap.nix
./services/networking/git-daemon.nix
./services/networking/gnunet.nix
./services/networking/go-neb.nix
./services/networking/go-shadowsocks2.nix
./services/networking/gogoclient.nix
./services/networking/gvpe.nix

View file

@ -55,6 +55,12 @@ with lib;
prey-bash-client is deprecated upstream
'')
(mkRemovedOptionModule ["hardware" "u2f" ] ''
The U2F modules module was removed, as all it did was adding the
udev rules from libu2f-host to the system. Udev gained native support
to handle FIDO security tokens, so this isn't necessary anymore.
'')
# Do NOT add any option renames here, see top of the file
];
}

View file

@ -6,6 +6,23 @@ with lib;
let
cfg = config.services.fwupd;
customEtc = {
"fwupd/daemon.conf" = {
source = pkgs.writeText "daemon.conf" ''
[fwupd]
BlacklistDevices=${lib.concatStringsSep ";" cfg.blacklistDevices}
BlacklistPlugins=${lib.concatStringsSep ";" cfg.blacklistPlugins}
'';
};
"fwupd/uefi.conf" = {
source = pkgs.writeText "uefi.conf" ''
[uefi]
OverrideESPMountPoint=${config.boot.loader.efi.efiSysMountPoint}
'';
};
};
originalEtc =
let
mkEtcFile = n: nameValuePair n { source = "${cfg.package}/etc/${n}"; };
@ -96,22 +113,8 @@ in {
environment.systemPackages = [ cfg.package ];
environment.etc = {
"fwupd/daemon.conf" = {
source = pkgs.writeText "daemon.conf" ''
[fwupd]
BlacklistDevices=${lib.concatStringsSep ";" cfg.blacklistDevices}
BlacklistPlugins=${lib.concatStringsSep ";" cfg.blacklistPlugins}
'';
};
"fwupd/uefi.conf" = {
source = pkgs.writeText "uefi.conf" ''
[uefi]
OverrideESPMountPoint=${config.boot.loader.efi.efiSysMountPoint}
'';
};
} // originalEtc // extraTrustedKeys // testRemote;
# customEtc overrides some files from the package
environment.etc = originalEtc // customEtc // extraTrustedKeys // testRemote;
services.dbus.packages = [ cfg.package ];

View file

@ -1,23 +0,0 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.hardware.u2f;
in {
options = {
hardware.u2f = {
enable = mkOption {
type = types.bool;
default = false;
description = ''
Enable U2F hardware support.
'';
};
};
};
config = mkIf cfg.enable {
services.udev.packages = [ pkgs.libu2f-host ];
};
}

View file

@ -0,0 +1,53 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.go-neb;
configFile = pkgs.writeText "config.yml" (builtins.toJSON cfg.config);
in {
options.services.go-neb = {
enable = mkEnableOption "Extensible matrix bot written in Go";
bindAddress = mkOption {
type = types.str;
description = "Port (and optionally address) to listen on.";
default = ":4050";
};
baseUrl = mkOption {
type = types.str;
description = "Public-facing endpoint that can receive webhooks.";
};
config = mkOption {
type = types.uniq types.attrs;
description = ''
Your <filename>config.yaml</filename> as a Nix attribute set.
See <link xlink:href="https://github.com/matrix-org/go-neb/blob/master/config.sample.yaml">config.sample.yaml</link>
for possible options.
'';
};
};
config = mkIf cfg.enable {
systemd.services.go-neb = {
description = "Extensible matrix bot written in Go";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
environment = {
BASE_URL = cfg.baseUrl;
BIND_ADDRESS = cfg.bindAddress;
CONFIG_FILE = configFile;
};
serviceConfig = {
ExecStart = "${pkgs.go-neb}/bin/go-neb";
DynamicUser = true;
};
};
};
meta.maintainers = with maintainers; [ hexa maralorn ];
}

View file

@ -47,9 +47,9 @@ def write_loader_conf(profile, generation):
if "@timeout@" != "":
f.write("timeout @timeout@\n")
if profile:
f.write("default nixos-%s-generation-%d\n" % (profile, generation))
f.write("default nixos-%s-generation-%d.conf\n".format(profile, generation))
else:
f.write("default nixos-generation-%d\n" % (generation))
f.write("default nixos-generation-%d.conf\n".format(generation))
if not @editor@:
f.write("editor 0\n");
f.write("console-mode @consoleMode@\n");
@ -197,6 +197,22 @@ def main():
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"])
else:
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "--no-variables", "install"])
else:
# Update bootloader to latest if needed
systemd_version = subprocess.check_output(["@systemd@/bin/bootctl", "--version"], universal_newlines=True).split()[1]
sdboot_status = subprocess.check_output(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "status"], universal_newlines=True)
# See status_binaries() in systemd bootctl.c for code which generates this
m = re.search("^\W+File:.*/EFI/(BOOT|systemd)/.*\.efi \(systemd-boot (\d+)\)$",
sdboot_status, re.IGNORECASE | re.MULTILINE)
if m is None:
print("could not find any previously installed systemd-boot")
else:
sdboot_version = m.group(2)
if systemd_version > sdboot_version:
print("updating systemd-boot from %s to %s" % (sdboot_version, systemd_version))
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "update"])
mkdir_p("@efiSysMountPoint@/efi/nixos")
mkdir_p("@efiSysMountPoint@/loader/entries")

View file

@ -119,6 +119,7 @@ in
installed-tests = pkgs.recurseIntoAttrs (handleTest ./installed-tests {});
gocd-agent = handleTest ./gocd-agent.nix {};
gocd-server = handleTest ./gocd-server.nix {};
go-neb = handleTest ./go-neb.nix {};
google-oslogin = handleTest ./google-oslogin {};
grafana = handleTest ./grafana.nix {};
graphite = handleTest ./graphite.nix {};

44
nixos/tests/go-neb.nix Normal file
View file

@ -0,0 +1,44 @@
import ./make-test-python.nix ({ pkgs, ... }:
{
name = "go-neb";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ hexa maralorn ];
};
nodes = {
server = {
services.go-neb = {
enable = true;
baseUrl = "http://localhost";
config = {
clients = [ {
UserId = "@test:localhost";
AccessToken = "changeme";
HomeServerUrl = "http://localhost";
Sync = false;
AutoJoinRooms = false;
DisplayName = "neverbeseen";
} ];
services = [ {
ID = "wikipedia_service";
Type = "wikipedia";
UserID = "@test:localhost";
Config = { };
} ];
};
};
};
};
testScript = ''
start_all()
server.wait_for_unit("go-neb.service")
server.wait_until_succeeds(
"curl -L http://localhost:4050/services/hooks/d2lraXBlZGlhX3NlcnZpY2U"
)
server.wait_until_succeeds(
"journalctl -eu go-neb -o cat | grep -q service_id=wikipedia_service"
)
'';
})

View file

@ -6,26 +6,53 @@
with import ../lib/testing-python.nix { inherit system pkgs; };
with pkgs.lib;
makeTest {
name = "systemd-boot";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ danielfullmer ];
machine = { pkgs, lib, ... }: {
let
common = {
virtualisation.useBootLoader = true;
virtualisation.useEFIBoot = true;
boot.loader.systemd-boot.enable = true;
};
in
{
basic = makeTest {
name = "systemd-boot";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ danielfullmer ];
testScript = ''
machine.start()
machine.wait_for_unit("multi-user.target")
machine = common;
machine.succeed("test -e /boot/loader/entries/nixos-generation-1.conf")
testScript = ''
machine.start()
machine.wait_for_unit("multi-user.target")
# Ensure we actually booted using systemd-boot.
# Magic number is the vendor UUID used by systemd-boot.
machine.succeed(
"test -e /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f"
)
'';
machine.succeed("test -e /boot/loader/entries/nixos-generation-1.conf")
# Ensure we actually booted using systemd-boot
# Magic number is the vendor UUID used by systemd-boot.
machine.succeed(
"test -e /sys/firmware/efi/efivars/LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f"
)
'';
};
update = makeTest {
name = "systemd-boot-update";
meta.maintainers = with pkgs.stdenv.lib.maintainers; [ danielfullmer ];
machine = common;
testScript = ''
machine.succeed("mount -o remount,rw /boot")
# Replace version inside sd-boot with something older. See magic[] string in systemd src/boot/efi/boot.c
machine.succeed(
"""
find /boot -iname '*.efi' -print0 | \
xargs -0 -I '{}' sed -i 's/#### LoaderInfo: systemd-boot .* ####/#### LoaderInfo: systemd-boot 001 ####/' '{}'
"""
)
output = machine.succeed("/run/current-system/bin/switch-to-configuration boot")
assert "updating systemd-boot from 001 to " in output
'';
};
}

View file

@ -3,12 +3,12 @@
mkDerivation rec {
pname = "jamulus";
version = "3.5.5";
version = "3.5.6";
src = fetchFromGitHub {
owner = "corrados";
repo = "jamulus";
rev = "r${stdenv.lib.replaceStrings [ "." ] [ "_" ] version}";
sha256 = "04h0nwlj71qbp7h4yn8djqchrf47jk8rab9zp9bh9pnkcyv60h27";
sha256 = "00vd6kffsf3vqfwaxjvln63x3n0q32f385qc51fn5iyj54410x0f";
};
nativeBuildInputs = [ pkg-config qmake ];

View file

@ -9,14 +9,14 @@ let
categories = "Audio;AudioVideo;";
};
in mkDerivation rec {
version = "2.3.0";
version = "2.4.0";
pname = "munt";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = with stdenv.lib.versions; "${pname}_${major version}_${minor version}_${patch version}";
sha256 = "0fjhshs4w942rlfksalalqshflbq83pyz1z0hcq53falh9v54cyw";
rev = with stdenv.lib.versions; "libmt32emu_${major version}_${minor version}_${patch version}";
sha256 = "0521i7js5imlsxj6n7181w5szfjikam0k4vq1d2ilkqgcwrkg6ln";
};
postInstall = ''
@ -31,7 +31,7 @@ in mkDerivation rec {
meta = with stdenv.lib; {
description = "Multi-platform software synthesiser emulating Roland MT-32, CM-32L, CM-64 and LAPC-I devices";
homepage = "http://munt.sourceforge.net/";
license = licenses.gpl2;
license = with licenses; [ lgpl21 gpl3 ];
platforms = platforms.linux;
maintainers = with maintainers; [ gnidorah ];
};

View file

@ -1,27 +1,28 @@
{ stdenv, fetchzip, autoconf, automake, intltool, pkgconfig, ffmpeg, wxGTK }:
{ stdenv, fetchFromGitHub, autoreconfHook, intltool, pkgconfig, ffmpeg, wxGTK30-gtk3, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "spek";
version = "0.8.3";
version = "unstable-2018-12-29";
src = fetchzip {
name = "${pname}-${version}-src";
url = "https://github.com/alexkay/spek/archive/v${version}.tar.gz";
sha256 = "0y4hlhswpqkqpsglrhg5xbfy1a6f9fvasgdf336vhwcjqsc3k2xv";
src = fetchFromGitHub {
owner = "alexkay";
repo = "spek";
rev = "f071c2956176ad53c7c8059e5c00e694ded31ded";
sha256 = "1l9gj9c1n92zlcjnyjyk211h83dk0idk644xnm5rs7q40p2zliy5";
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ autoconf automake intltool ffmpeg wxGTK ];
# needed for autoreconfHook
AUTOPOINT="intltoolize --automake --copy";
preConfigure = ''
./autogen.sh
'';
nativeBuildInputs = [ autoreconfHook intltool pkgconfig wrapGAppsHook ];
buildInputs = [ ffmpeg wxGTK30-gtk3 wxGTK30-gtk3.gtk ];
meta = with stdenv.lib; {
description = "Analyse your audio files by showing their spectrogram";
homepage = "http://spek.cc/";
license = licenses.gpl3;
maintainers = with maintainers; [ bjornfor ];
platforms = platforms.all;
maintainers = [ maintainers.bjornfor ];
};
}

View file

@ -13,13 +13,13 @@ with stdenv.lib;
mkDerivation rec {
name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
version = "0.17.1";
version = "0.18.1";
src = fetchFromGitHub {
owner = "litecoin-project";
repo = "litecoin";
rev = "v${version}";
sha256 = "08a0ghs4aa9m3qv3ppydyshfibykdwxk07i1vcqvg0ycqisdpb7y";
sha256 = "11753zhyx1kmrlljc6kbjwrcb06dfcrsqvmw3iaki9a132qk6l5c";
};
nativeBuildInputs = [ pkgconfig autoreconfHook ];

View file

@ -2,7 +2,7 @@
buildGoPackage rec {
pname = "yeetgif";
version = "1.23.5";
version = "1.23.6";
goPackagePath = "github.com/sgreben/yeetgif";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "sgreben";
repo = pname;
rev = version;
sha256 = "1yz4pps8g378lvmi92cnci6msjj7fprp9bxqmnsyn6lqw7s2wb47";
sha256 = "05z1ylsra60bb4cvr383g9im94zsph1dgicqbv5p73qgs634ckk7";
};
meta = with lib; {

View file

@ -1,27 +1,15 @@
{ stdenv, fetchurl, unzip, makeWrapper, autoPatchelfHook
, zlib, lttng-ust, curl, icu, openssl }:
{ stdenv, fetchurl, unzip, makeWrapper, dotnetCorePackages, jq }:
stdenv.mkDerivation rec {
pname = "ArchiSteamFarm";
version = "4.2.0.6";
version = "4.2.2.1";
src = {
x86_64-linux = fetchurl {
url = "https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/${version}/ASF-linux-x64.zip";
sha256 = "05hx6q1lkbjbqhwi9xxvm7ycnsnpl1cnqzyy2yn0q4x27im399cn";
};
armv7l-linux = fetchurl {
url = "https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/${version}/ASF-linux-arm.zip";
sha256 = "0l8irqrpl5vbjj84k4makj2ph2z6kpny7qz51zrzbgwhrlw0w4vg";
};
aarch64-linux = fetchurl {
url = "https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/${version}/ASF-linux-arm64.zip";
sha256 = "0hg2g4i8sj3fxqfy4imz1iarby1d9f8dh59j266lbbdf2vfz2cml";
};
}.${stdenv.system} or (throw "Unsupported system: ${stdenv.system}");
src = fetchurl {
url = "https://github.com/JustArchiNET/ArchiSteamFarm/releases/download/${version}/ASF-generic.zip";
sha256 = "0pr9rrhi44yl99c2i12rimmc4mhbh0ma9jn17cgsh8p0kbj8sq94";
};
nativeBuildInputs = [ unzip makeWrapper autoPatchelfHook ];
buildInputs = [ stdenv.cc.cc zlib lttng-ust curl ];
nativeBuildInputs = [ unzip makeWrapper jq ];
sourceRoot = ".";
@ -29,23 +17,25 @@ stdenv.mkDerivation rec {
dist=$out/opt/asf
mkdir -p $dist
cp -r * $dist
chmod +x $dist/ArchiSteamFarm
makeWrapper $dist/ArchiSteamFarm $out/bin/ArchiSteamFarm \
--prefix LD_LIBRARY_PATH : "${stdenv.lib.makeLibraryPath [ icu openssl ] }" \
jq "del(.runtimeOptions.framework.version)" ArchiSteamFarm.runtimeconfig.json > $dist/ArchiSteamFarm.runtimeconfig.json
makeWrapper ${dotnetCorePackages.aspnetcore_3_1}/bin/dotnet $out/bin/ArchiSteamFarm \
--add-flags $dist/ArchiSteamFarm.dll \
--add-flags "--path ~/.config/asf" \
--run "mkdir -p ~/.config/asf" \
--run "cd ~/.config/asf" \
--run "[ -d config ] || cp --no-preserve=mode -r $dist/config ." \
--run "[ -d logs ] || cp --no-preserve=mode -r $dist/logs ." \
--run "[ -d plugins ] || cp --no-preserve=mode -r $dist/plugins ." \
--run "[ -d www ] || cp --no-preserve=mode -r $dist/www ." \
--run "[ -d www ] || ln -sf $dist/www ."
'';
meta = with stdenv.lib; {
description = "Application with primary purpose of idling Steam cards from multiple accounts simultaneously";
homepage = "https://github.com/JustArchiNET/ArchiSteamFarm";
license = licenses.asl20;
platforms = [ "x86_64-linux" "armv7l-linux" "aarch64-linux" ];
platforms = dotnetCorePackages.aspnetcore_3_1.meta.platforms;
maintainers = with maintainers; [ gnidorah ];
hydraPlatforms = [];
};

View file

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec {
pname = "gallery_dl";
version = "1.14.0";
version = "1.14.1";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "0ckqxibyf14lgl1aj5pv79bmfanacgcc96x6mdwfp2dnbvfjk71b";
sha256 = "0w4zmfbsr7xdymrrmdvcc0kqz11ql8j067ghlr84faqlsnx09z74";
};
doCheck = false;

View file

@ -3,13 +3,13 @@
mkDerivation rec {
pname = "qmapshack";
version = "1.14.1";
version = "1.15.0";
src = fetchFromGitHub {
owner = "Maproom";
repo = pname;
rev = "V_${version}";
sha256 = "0hghynb4ac98fg1pwc645zriqkghxwp8mr3jhr87pa6fh0y848py";
sha256 = "157bssrbwcc1w58b0v60jb3wrjf2ig4z6z6crjnpvflkqj5p8vwy";
};
nativeBuildInputs = [ cmake ];

View file

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "1di0fhhv6lljc2b50i0i8qx5y5xswgxz1bimpda790sb3b1xsdzx";
sha256bin64 = "1f5qwx4476l4fvbw9w2i22i080bahlf83dzzpnbny7hk831g7msw";
version = "84.0.4147.38";
sha256 = "0wsqxq8xxcafmjxsjkagysrcbr6qryiyqn6m3ysp256aam7z3d88";
sha256bin64 = "03jff1sdv05hbn37cw0ij0r4rils0q11lnnhxg52igg633jzwyc1";
version = "84.0.4147.45";
};
dev = {
sha256 = "07h3i4ab7yj05ndrqchzf3f9wr809qb3dj2gfc1653mkjmba8h07";
sha256bin64 = "10jdq5mr7qby0m26l5lbsqcbh9bhjdpmpbkkcvv9wm2259rwjxr5";
version = "85.0.4164.2";
sha256 = "16rmzyzjmxmhmr5yqbzqbwf5sq94iqcwlm04fkafiwcycd17nyhs";
sha256bin64 = "0wjmc1wdmwiq9d1f5gk4c9jkj1p116kaz9nb0hvhjf01iv07xl2m";
version = "85.0.4168.2";
};
stable = {
sha256 = "10vg0fmwlkzpnixhhhcwccxshqdfq7rh0ribij7wgkw42bv0bi0j";
sha256bin64 = "09vz7ygixs7lwlsvbby3dmc2gz0vpjwalzdh6l6apc4dngyr095k";
version = "83.0.4103.97";
sha256 = "0bvy17ymlih87n4ymnzvyn0m34ghmr1yasvy7gxv02qbw6i57lfg";
sha256bin64 = "00hjr5y0cczs6h2pxrigpmjiv24456948v32q7mr7x5ysr5kxpn6";
version = "83.0.4103.106";
};
}

View file

@ -0,0 +1,30 @@
{ lib, mkDerivation, fetchFromGitHub, qtbase, qtmultimedia }:
mkDerivation rec {
pname = "kristall";
version = "0.2";
src = fetchFromGitHub {
owner = "MasterQ32";
repo = "kristall";
rev = "V" + version;
sha256 = "08k3rg0sa91ra0nzla5rw806nnncnyvq1s7k09k5i74fvcsnpqyp";
};
buildInputs = [ qtbase qtmultimedia ];
qmakeFlags = [ "src/kristall.pro" ];
installPhase = ''
install -Dt $out/bin kristall
install -D Kristall.desktop $out/share/applications/net.random-projects.kristall.desktop
'';
meta = with lib;
src.meta // {
description =
"Graphical small-internet client, supports gemini, http, https, gopher, finger";
homepage = "https://random-projects.net/projects/kristall.gemini";
maintainers = with maintainers; [ ehmry ];
inherit (qtmultimedia.meta) platforms;
};
}

View file

@ -2,7 +2,7 @@
buildGoPackage rec {
pname = "nomad";
version = "0.11.1";
version = "0.11.3";
rev = "v${version}";
goPackagePath = "github.com/hashicorp/nomad";
@ -12,7 +12,7 @@ buildGoPackage rec {
owner = "hashicorp";
repo = pname;
inherit rev;
sha256 = "1pcn1bk7sqhhsrm3izqljwyrwdz6bdlplrajvjzka39l3k6f9hgc";
sha256 = "1p7g7x2gl77h1w7aip3xji3s530fj46gspargz4j3i6h4wkyvafb";
};
# ui:

View file

@ -11,11 +11,11 @@
mkDerivation rec {
pname = "datovka";
version = "4.15.0";
version = "4.15.1";
src = fetchurl {
url = "https://secure.nic.cz/files/datove_schranky/${version}/${pname}-${version}.tar.xz";
sha256 = "1f311qnyiay34iqpik4x492py46my89j4nnbdf6qcidnydzas8r1";
sha256 = "0ab1s1r6zrqxcfjnij5ar352kzyrl1m92c04nqk6hahpzzma2p3r";
};
buildInputs = [ libisds qmake qtbase qtsvg libxml2 ];

View file

@ -10,16 +10,10 @@
, pugixml
, sqlite
, tinyxml
, wxGTK30
, wxGTK30-gtk3
, xdg_utils
}:
let
# we can drop this when wxgtk is built with gtk3 by default
# see: https://github.com/NixOS/nixpkgs/pull/73145
wxgtk' = wxGTK30.override { compat26 = false; withGtk2 = false; };
in
stdenv.mkDerivation rec {
pname = "filezilla";
version = "3.48.1";
@ -52,8 +46,8 @@ stdenv.mkDerivation rec {
pugixml
sqlite
tinyxml
wxgtk'
wxgtk'.gtk
wxGTK30-gtk3
wxGTK30-gtk3.gtk
xdg_utils
];

View file

@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
buildGoModule {
pname = "go-neb";
@ -16,6 +16,8 @@ buildGoModule {
vendorSha256 = "1k3980yf6zl00dkd1djwhm2f9nnffzrsbs3kq3alpw2gm0aln739";
passthru.tests.go-neb = nixosTests.go-neb;
meta = with lib; {
description = "Extensible matrix bot written in Go";
homepage = "https://github.com/matrix-org/go-neb";

View file

@ -40,13 +40,13 @@ let
throwSystem = throw "Unsupported system: ${system}";
sha256 = {
x86_64-darwin = "0z731q00bwljlcmbjwqphyys7skqms1vg87pyi4nsvjmc7kjx7qg";
x86_64-linux = "0wrs0i2bqv21ivy8s88khbww28b3gsw4abbbbjc76mqma9b0bajs";
x86_64-darwin = "09daxnqxyccshkrmr7ysgjvgvgmlgd590ym68fz0l8n6ayfpkgw0";
x86_64-linux = "00ihhsgxm441nsmav7pq4n4y9s7p2r4x5dqld160658xyqi836cq";
}.${system} or throwSystem;
version = {
x86_64-darwin = "4.4.2";
x86_64-linux = "4.4.2";
x86_64-darwin = "4.6.0";
x86_64-linux = "4.4.3";
}.${system} or throwSystem;
meta = with stdenv.lib; {

View file

@ -15,11 +15,11 @@
stdenv.mkDerivation rec {
pname = "kmymoney";
version = "5.0.8";
version = "5.1.0";
src = fetchurl {
url = "mirror://kde/stable/kmymoney/${version}/src/${pname}-${version}.tar.xz";
sha256 = "1h6l01a08f1xgk4dfpndl7rmgbp9npm58qi760jwl2gggprwwsxc";
sha256 = "0l8kywq77yaf1bqgdqswrai9ws6a2l11drg0wgyi7f8js7qnif9d";
};
# Hidden dependency that wasn't included in CMakeLists.txt:

View file

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, cmake, fftw, hamlib, libpulseaudio, libGL, libX11, liquid-dsp,
pkgconfig, soapysdr-with-plugins, wxGTK, enableDigitalLab ? false }:
pkgconfig, soapysdr-with-plugins, wxGTK31-gtk3, enableDigitalLab ? false }:
stdenv.mkDerivation rec {
pname = "cubicsdr";
@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ fftw hamlib libpulseaudio libGL libX11 liquid-dsp soapysdr-with-plugins wxGTK ];
buildInputs = [ fftw hamlib libpulseaudio libGL libX11 liquid-dsp soapysdr-with-plugins wxGTK31-gtk3 ];
cmakeFlags = [ "-DUSE_HAMLIB=ON" ]
++ stdenv.lib.optional enableDigitalLab "-DENABLE_DIGITAL_LAB=ON";

View file

@ -1,14 +1,11 @@
{ stdenv, fetchFromGitHub, cmake
, sqlite, wxGTK30, libusb1, soapysdr
, sqlite, wxGTK30-gtk3, libusb1, soapysdr
, mesa_glu, libX11, gnuplot, fltk
} :
let
version = "20.01.0";
in stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "limesuite";
inherit version;
version = "20.01.0";
src = fetchFromGitHub {
owner = "myriadrf";
@ -17,14 +14,16 @@ in stdenv.mkDerivation {
sha256 = "01z4idcby2lm34bbnpbp400ski7p61jjiir6sy6dalnvsl52m7vx";
};
enableParallelBuilding = true;
nativeBuildInputs = [ cmake ];
cmakeFlags = [
"-DOpenGL_GL_PREFERENCE=GLVND"
];
buildInputs = [
libusb1
sqlite
wxGTK30
wxGTK30-gtk3
fltk
gnuplot
libusb1
@ -34,11 +33,8 @@ in stdenv.mkDerivation {
];
postInstall = ''
mkdir -p $out/lib/udev/rules.d
cp ../udev-rules/64-limesuite.rules $out/lib/udev/rules.d
mkdir -p $out/share/limesuite
cp bin/Release/lms7suite_mcu/* $out/share/limesuite
install -Dm444 -t $out/lib/udev/rules.d ../udev-rules/64-limesuite.rules
install -Dm444 -t $out/share/limesuite bin/Release/lms7suite_mcu/*
'';
meta = with stdenv.lib; {

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "git-filter-repo";
version = "2.27.0";
version = "2.27.1";
src = fetchurl {
url = "https://github.com/newren/git-filter-repo/releases/download/v${version}/${pname}-${version}.tar.xz";
sha256 = "1vry0pqwi0p82m3wflr0wyf88wn75l049w18xf9f5z43xd9vpva1";
sha256 = "07r32n31ryflgz1ds3dz5s3ixv7li3scxwavy9mzbzdhq6bbzl28";
};
buildInputs = [ pythonPackages.python ];

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "git-gone";
version = "0.3.2";
version = "0.3.6";
src = fetchFromGitHub {
owner = "lunaryorn";
repo = pname;
rev = "v${version}";
sha256 = "0zc4cb1dg30np5yc4ymkr894qs2bk0r123i302md00niayk4njyd";
sha256 = "0wpmabd5lshsga3dhv1hix7i99f1f82rpl6kjmpi315whg11kki3";
};
cargoSha256 = "1d892889ml7sqyxzmjipq5fvizb4abqhmmn450qm7yam9fn5q5wf";
cargoSha256 = "0ayqsrhy6hpi20gfryhnwl2c1na4nnmzxkp7him104cc07vsdllq";
nativeBuildInputs = [ pkgconfig makeWrapper installShellFiles ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "git-open";
version = "2.0.0";
version = "2.1.0";
src = fetchFromGitHub {
owner = "paulirish";
repo = "git-open";
rev = "v${version}";
sha256 = "0lprzrjsqrg83gixfaiw26achgd8l7s56jknsjss4p7y0w1fxm05";
sha256 = "11n46bngvca5wbdbfcxzjhjbfdbad7sgf7h9gf956cb1q8swsdm0";
};
buildInputs = [ makeWrapper ];

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "git-subtrac";
version = "0.02";
version = "0.03";
src = fetchFromGitHub {
owner = "apenwarr";
repo = pname;
rev = "v${version}";
sha256 = "1nj950r38sxzrgw69m1xphm7a4km2g29iw2897gfx4wx57jl957k";
sha256 = "1ky04h18vg1yl9lykbhkmf25qslg0z2qzziy8c7afmvzvvvhm2v5";
};
vendorSha256 = "1ccwbhzwys8sl3m2rs2lp70snzsi2a0ahnnq8kn15rrlvsv5qahf";
@ -19,4 +19,4 @@ buildGoModule rec {
license = licenses.asl20;
maintainers = [ maintainers.marsam ];
};
}
}

View file

@ -51,13 +51,13 @@ assert stdenv.isDarwin -> AudioToolbox != null
stdenv.mkDerivation rec {
pname = "handbrake";
version = "1.3.2";
version = "1.3.3";
src = fetchFromGitHub {
owner = "HandBrake";
repo = "HandBrake";
rev = version;
sha256 = "04z3hcy7m5yvma849rlrsx2wdqmkilkl1qds9yrzr2ydpw697f85";
sha256 = "0bsmk37543zv3p32a7wxnh2w483am23ha2amj339q3nnb4142krn";
extraPostFetch = ''
echo "DATE=$(date +"%F %T %z" -r $out/NEWS.markdown)" > $out/version.txt
'';

View file

@ -54,7 +54,7 @@ let
;
umpvWrapperArgs = lib.strings.escapeShellArgs ([
"--argv0" "'$0'"
"--set" "MPV" "$out/bin/mpv"
"--set" "MPV" "${placeholder "out"}/bin/mpv"
] ++ extraUmpvWrapperArgs)
;
in

View file

@ -30,6 +30,16 @@ let
withPackages = arg: if builtins.isAttrs arg then withPackages' arg else withPackages' { pkgs = arg; };
extensions = [
"agda"
"agda-lib"
"agdai"
"lagda"
"lagda.md"
"lagda.org"
"lagda.rst"
"lagda.tex"
];
defaults =
{ pname
@ -39,6 +49,7 @@ let
, libraryFile ? "${libraryName}.agda-lib"
, buildPhase ? null
, installPhase ? null
, extraExtensions ? []
, ...
}: let
agdaWithArgs = withPackages (builtins.filter (p: p ? isAgdaDerivation) buildInputs);
@ -59,7 +70,7 @@ let
installPhase = if installPhase != null then installPhase else ''
runHook preInstall
mkdir -p $out
find \( -name '*.agda' -or -name '*.agdai' -or -name '*.agda-lib' \) -exec cp -p --parents -t "$out" {} +
find \( ${concatMapStringsSep " -or " (p: "-name '*.${p}'") (extensions ++ extraExtensions)} \) -exec cp -p --parents -t "$out" {} +
runHook postInstall
'';
};

View file

@ -1,4 +1,4 @@
{ lib, stdenv, mkRustcDepArgs, rust }:
{ lib, stdenv, mkRustcDepArgs, mkRustcFeatureArgs, rust }:
{ crateName,
dependencies,
crateFeatures, crateRenames, libName, release, libPath,
@ -13,7 +13,7 @@
++ ["-C codegen-units=$NIX_BUILD_CORES"]
++ ["--remap-path-prefix=$NIX_BUILD_TOP=/" ]
++ [(mkRustcDepArgs dependencies crateRenames)]
++ [crateFeatures]
++ [(mkRustcFeatureArgs crateFeatures)]
++ extraRustcOpts
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--target ${rust.toRustTarget stdenv.hostPlatform} -C linker=${stdenv.hostPlatform.config}-gcc"
# since rustc 1.42 the "proc_macro" crate is part of the default crate prelude

View file

@ -1,5 +1,6 @@
{ lib, stdenv, echo_colored, noisily, mkRustcDepArgs }:
{ build
{ lib, stdenv, echo_colored, noisily, mkRustcDepArgs, mkRustcFeatureArgs }:
{
build
, buildDependencies
, colors
, completeBuildDeps
@ -30,6 +31,9 @@ let version_ = lib.splitString "-" crateVersion;
optLevel = if release then 3 else 0;
completeDepsDir = lib.concatStringsSep " " completeDeps;
completeBuildDepsDir = lib.concatStringsSep " " completeBuildDeps;
envFeatures = lib.concatStringsSep " " (
map (f: lib.replaceChars ["-"] ["_"] (lib.toUpper f)) crateFeatures
);
in ''
${echo_colored colors}
${noisily colors verbose}
@ -161,14 +165,24 @@ in ''
EXTRA_BUILD_FLAGS="$EXTRA_BUILD_FLAGS $(tr '\n' ' ' < target/link.build)"
fi
noisily rustc --crate-name build_script_build $BUILD --crate-type bin ${rustcOpts} \
${crateFeatures} --out-dir target/build/${crateName} --emit=dep-info,link \
${mkRustcFeatureArgs crateFeatures} --out-dir target/build/${crateName} --emit=dep-info,link \
-L dependency=target/buildDeps ${buildDeps} --cap-lints allow $EXTRA_BUILD_FLAGS --color ${colors}
mkdir -p target/build/${crateName}.out
export RUST_BACKTRACE=1
BUILD_OUT_DIR="-L $OUT_DIR"
mkdir -p $OUT_DIR
target/build/${crateName}/build_script_build > target/build/${crateName}.opt
(
# Features should be set as environment variable for build scripts:
# https://doc.rust-lang.org/cargo/reference/environment-variables.html#environment-variables-cargo-sets-for-build-scripts
for feature in ${envFeatures}; do
export CARGO_FEATURE_$feature=1
done
target/build/${crateName}/build_script_build > target/build/${crateName}.opt
)
set +e
EXTRA_BUILD=$(sed -n "s/^cargo:rustc-flags=\(.*\)/\1/p" target/build/${crateName}.opt | tr '\n' ' ' | sort -u)
EXTRA_FEATURES=$(sed -n "s/^cargo:rustc-cfg=\(.*\)/--cfg \1/p" target/build/${crateName}.opt | tr '\n' ' ')

View file

@ -45,14 +45,17 @@ let
" --extern ${name}=${dep.lib}/lib/lib${extern}-${dep.metadata}${stdenv.hostPlatform.extensions.sharedLibrary}")
) dependencies;
# Create feature arguments for rustc.
mkRustcFeatureArgs = lib.concatMapStringsSep " " (f: ''--cfg feature=\"${f}\"'');
inherit (import ./log.nix { inherit lib; }) noisily echo_colored;
configureCrate = import ./configure-crate.nix {
inherit lib stdenv echo_colored noisily mkRustcDepArgs;
inherit lib stdenv echo_colored noisily mkRustcDepArgs mkRustcFeatureArgs;
};
buildCrate = import ./build-crate.nix {
inherit lib stdenv mkRustcDepArgs rust;
inherit lib stdenv mkRustcDepArgs mkRustcFeatureArgs rust;
};
installCrate = import ./install-crate.nix { inherit stdenv; };
@ -233,8 +236,11 @@ stdenv.mkDerivation (rec {
++ lib.concatMap (dep: dep.completeBuildDeps ++ dep.completeDeps) buildDependencies
);
crateFeatures = lib.optionalString (crate ? features)
(lib.concatMapStringsSep " " (f: ''--cfg feature=\"${f}\"'') (crate.features ++ features));
# Create a list of features that are enabled by the crate itself and
# through the features argument of buildRustCrate. Exclude features
# with a forward slash, since they are passed through to dependencies.
crateFeatures = lib.optionals (crate ? features)
(builtins.filter (f: !lib.hasInfix "/" f) (crate.features ++ features));
libName = if crate ? libName then crate.libName else crate.crateName;
libPath = if crate ? libPath then crate.libPath else "";
@ -244,7 +250,8 @@ stdenv.mkDerivation (rec {
metadata = let
depsMetadata = lib.foldl' (str: dep: str + dep.metadata) "" (dependencies ++ buildDependencies);
hashedMetadata = builtins.hashString "sha256"
(crateName + "-" + crateVersion + "___" + toString crateFeatures + "___" + depsMetadata);
(crateName + "-" + crateVersion + "___" + toString (mkRustcFeatureArgs crateFeatures) +
"___" + depsMetadata);
in lib.substring 0 10 hashedMetadata;
build = crate.build or "";

View file

@ -344,6 +344,32 @@ let
buildTests = true;
expectedTestOutputs = [ "test baz_false ... ok" ];
};
buildScriptFeatureEnv = {
crateName = "build-script-feature-env";
features = [ "some-feature" "crate/another_feature" ];
src = symlinkJoin {
name = "build-script-feature-env";
paths = [
(mkFile "src/main.rs" ''
#[cfg(test)]
#[test]
fn feature_not_visible() {
assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_err());
assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none());
}
fn main() {}
'')
(mkFile "build.rs" ''
fn main() {
assert!(std::env::var("CARGO_FEATURE_SOME_FEATURE").is_ok());
assert!(option_env!("CARGO_FEATURE_SOME_FEATURE").is_none());
}
'')
];
};
buildTests = true;
expectedTestOutputs = [ "test feature_not_visible ... ok" ];
};
# Regression test for https://github.com/NixOS/nixpkgs/pull/88054
# Build script output should be rewritten as valid env vars.
buildScriptIncludeDirDeps = let

View file

@ -43,11 +43,11 @@
stdenv.mkDerivation rec {
pname = "evolution";
version = "3.36.2";
version = "3.36.3";
src = fetchurl {
url = "mirror://gnome/sources/evolution/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "12ii8crp4v4bpdxrc2rkxwdxqz3qjizyfgfrmir9pcyxlg0lh2f5";
sha256 = "00yann3cibbsap7vh6qq08aklvydynmk6gmljkzd80kc52m6rqal";
};
nativeBuildInputs = [

View file

@ -51,11 +51,11 @@
stdenv.mkDerivation rec {
pname = "gnome-boxes";
version = "3.36.4";
version = "3.36.5";
src = fetchurl {
url = "mirror://gnome/sources/gnome-boxes/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "16l0mq2ydmywcdya1795mcy8syg4zkmz9ws3pzjcqv5y4m7cjj03";
sha256 = "1khvyhgd3p41fvvknga1hdl0p1ks4kj4cwsiaw28v1sy6nzclm2c";
};
doCheck = true;

View file

@ -43,13 +43,13 @@
stdenv.mkDerivation rec {
pname = "evince";
version = "3.36.3";
version = "3.36.5";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/evince/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1clx580n8vb6w0fhdbmcsxs07yczdgidyax1y7280rafyzvvsbmg";
sha256 = "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg";
};
postPatch = ''

View file

@ -68,11 +68,11 @@
stdenv.mkDerivation rec {
pname = "gnome-control-center";
version = "3.36.2";
version = "3.36.3";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "05vqhj5z4w4vaphp541zxxkx6x781m371l2gqnq2vhnnqvqfz9g0";
sha256 = "0739qcwfwrimfrpf3gaakkf7ipwy3virs096kkhkxjmy1nbls5xw";
};
nativeBuildInputs = [

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
pname = "gnome-desktop";
version = "3.36.2";
version = "3.36.3.1";
outputs = [ "out" "dev" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-desktop/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "12f724inw3sv289xqprvwh8r3qw89z67m74j3hyhkbp1n7f99y9q";
sha256 = "0zkbx5inprjpf4abqwn0bxc2d1rwbhv450cjh1wgz82ylagi3vab";
};
nativeBuildInputs = [

View file

@ -236,7 +236,7 @@ stdenv.mkDerivation rec {
homepage = "http://golang.org/";
description = "The Go Programming language";
license = licenses.bsd3;
maintainers = with maintainers; [ cstrahan orivej mic92 rvolosatovs kalbasit Frostman ];
maintainers = teams.golang.members;
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -243,7 +243,7 @@ stdenv.mkDerivation rec {
homepage = "http://golang.org/";
description = "The Go Programming language";
license = licenses.bsd3;
maintainers = with maintainers; [ cstrahan orivej mic92 rvolosatovs kalbasit Frostman ];
maintainers = teams.golang.members;
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -63,7 +63,7 @@ stdenvNoLibs.mkDerivation rec {
export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP
export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD
export NIX_BUILD_CFLAGS_COMPILE+=' -DGENERATOR_FILE=1'
export NIX_CFLAGS_COMPILE_FOR_BUILD+=' -DGENERATOR_FILE=1'
"$sourceRoot/../gcc/configure" $gccConfigureFlags

View file

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
pname = "libiio";
version = "0.19";
version = "0.20";
src = fetchFromGitHub {
owner = "analogdevicesinc";
repo = "libiio";
rev = "refs/tags/v${version}";
sha256 = "1r67h5mayx9krh3mmzs5vz20mvwb2lw04hpbyyisygl01ndc77kq";
sha256 = "1929gvizkqmm9cwh3vihxxszfxvgcp5saq9q6chdk3fpdhzajc00";
};
outputs = [ "out" "lib" "dev" "python" ];

View file

@ -14,10 +14,6 @@ stdenv.mkDerivation rec {
doCheck = true;
postInstall = ''
install -D -t $out/lib/udev/rules.d 70-u2f.rules
'';
meta = with stdenv.lib; {
homepage = "https://developers.yubico.com/libu2f-host";
description = "A C library and command-line tool that implements the host-side of the U2F protocol";

View file

@ -0,0 +1,88 @@
{ callPackage
, cmake
, fetchFromGitHub
, lib
, protobuf
, python3
, stdenv
}:
let
pythonRuntime = python3.withPackages(ps: [ ps.protobuf ]);
in stdenv.mkDerivation rec {
pname = "nanopb";
version = "0.4.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "16zxk42wzn519bpxf4578qn97k0h1cnbkvqqkqvka9sl0n3lz2dp";
};
nativeBuildInputs = [ cmake python3 ];
cmakeFlags = [
"-DBUILD_SHARED_LIBS=ON" # generate $out/lib/libprotobuf-nanopb.so{.0,}
"-DBUILD_STATIC_LIBS=ON" # generate $out/lib/libprotobuf-nanopb.a
"-Dnanopb_PROTOC_PATH=${protobuf}/bin/protoc"
];
# On a case-insensitive filesystem (such as on Darwin), CMake fails to create
# the build directory because of the existence of the BUILD file.
# TODO: This can be removed once https://github.com/nanopb/nanopb/pull/537 is merged.
preConfigure = "rm BUILD";
# install the generator which requires Python3 with the protobuf package. It
# also requires the nanopb module that's generated by CMake to be in a
# relative location to the generator itself so we move it out of the
# python.sitePackages into the shared generator folder.
postInstall = ''
mkdir -p $out/share/nanopb/generator/proto
cp ../generator/nanopb_generator.py $out/share/nanopb/generator/nanopb_generator.py
cp ../generator/proto/_utils.py $out/share/nanopb/generator/proto/_utils.py
cp ../generator/proto/nanopb.proto $out/share/nanopb/generator/proto/nanopb.proto
mv $out/${python3.sitePackages}/nanopb_pb2.py $out/share/nanopb/generator/proto
rm -rf $out/${python3.sitePackages}
mkdir $out/bin
substitute ${./protoc-gen-nanopb} $out/bin/protoc-gen-nanopb \
--subst-var-by python ${pythonRuntime}/bin/python \
--subst-var-by out $out
chmod +x $out/bin/protoc-gen-nanopb
'';
passthru.tests = {
simple-proto2 = callPackage ./test-simple-proto2 {};
simple-proto3 = callPackage ./test-simple-proto3 {};
message-with-annotations = callPackage ./test-message-with-annotations {};
message-with-options = callPackage ./test-message-with-options {};
};
meta = with lib; {
inherit (protobuf.meta) platforms;
description = "Protocol Buffers with small code size";
homepage = "https://jpa.kapsi.fi/nanopb/";
license = licenses.zlib;
maintainers = with maintainers; [ kalbasit ];
longDescription = ''
Nanopb is a small code-size Protocol Buffers implementation in ansi C. It
is especially suitable for use in microcontrollers, but fits any memory
restricted system.
- Homepage: jpa.kapsi.fi/nanopb
- Documentation: jpa.kapsi.fi/nanopb/docs
- Downloads: jpa.kapsi.fi/nanopb/download
- Forum: groups.google.com/forum/#!forum/nanopb
In order to use the nanopb options in your proto files, you'll need to
tell protoc where to find the nanopb.proto file.
You can do so with the --proto_path (-I) option to add the directory
''${nanopb}/share/nanopb/generator/proto like so:
protoc --proto_path=. --proto_path=''${nanopb}/share/nanopb/generator/proto --plugin=protoc-gen-nanopb=''${nanopb}/bin/protoc-gen-nanopb --nanopb_out=out file.proto
'';
};
}

View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
exec @python@ @out@/share/nanopb/generator/nanopb_generator.py --protoc-plugin

View file

@ -0,0 +1,27 @@
{ stdenv, protobuf, nanopb }:
stdenv.mkDerivation {
name = "nanopb-test-message-with-annotations";
meta.timeout = 60;
src = ./.;
# protoc requires any .proto file to be compiled to reside within it's
# proto_path. By default the current directory is automatically added to the
# proto_path. I tried using --proto_path ${./.} ${./simple.proto} and it did
# not work because they end up in the store at different locations.
installPhase = ":";
buildPhase = ''
mkdir $out
${protobuf}/bin/protoc --proto_path=. --proto_path=${nanopb}/share/nanopb/generator/proto --plugin=protoc-gen-nanopb=${nanopb}/bin/protoc-gen-nanopb --nanopb_out=$out withannotations.proto
'';
docheck = true;
checkphase = ''
grep -q WithAnnotations $out/withannotations.pb.c || (echo "error: WithAnnotations not found in $out/withannotations.pb.c"; exit 1)
grep -q WithAnnotations $out/withannotations.pb.h || (echo "error: WithAnnotations not found in $out/withannotations.pb.h"; exit 1)
grep -q "pb_byte_t uuid\[16\]" $out/withannotations.pb.h || (echo "error: uuid is not of type pb_byte_t and of size 16 in $out/withannotations.pb.h"; exit 1)
grep -q "FIXED_LENGTH_BYTES, uuid" $out/withannotations.pb.h || (echo "error: uuid is not of fixed lenght bytes in $out/withannotations.pb.h"; exit 1)
grep -q "#define WithAnnotations_size" $out/withannotations.pb.h || (echo "error: the size of WithAnnotations is not known in $out/withannotations.pb.h"; exit 1)
'';
}

View file

@ -0,0 +1,7 @@
syntax = "proto3";
import "nanopb.proto";
message WithAnnotations {
bytes uuid = 1 [(nanopb).max_size = 16, (nanopb).fixed_length = true];
}

View file

@ -0,0 +1,27 @@
{ stdenv, protobuf, nanopb }:
stdenv.mkDerivation {
name = "nanopb-test-message-with-options";
meta.timeout = 60;
src = ./.;
# protoc requires any .proto file to be compiled to reside within it's
# proto_path. By default the current directory is automatically added to the
# proto_path. I tried using --proto_path ${./.} ${./simple.proto} and it did
# not work because they end up in the store at different locations.
installPhase = ":";
buildPhase = ''
mkdir $out
${protobuf}/bin/protoc --plugin=protoc-gen-nanopb=${nanopb}/bin/protoc-gen-nanopb --nanopb_out=$out withoptions.proto
'';
docheck = true;
checkphase = ''
grep -q WithOptions $out/withoptions.pb.c || (echo "error: WithOptions not found in $out/withoptions.pb.c"; exit 1)
grep -q WithOptions $out/withoptions.pb.h || (echo "error: WithOptions not found in $out/withoptions.pb.h"; exit 1)
grep -q "pb_byte_t uuid\[16\]" $out/withoptions.pb.h || (echo "error: uuid is not of type pb_byte_t and of size 16 in $out/withoptions.pb.h"; exit 1)
grep -q "FIXED_LENGTH_BYTES, uuid" $out/withoptions.pb.h || (echo "error: uuid is not of fixed lenght bytes in $out/withoptions.pb.h"; exit 1)
grep -q "#define WithOptions_size" $out/withoptions.pb.h || (echo "error: the size of WithOptions is not known in $out/withoptions.pb.h"; exit 1)
'';
}

View file

@ -0,0 +1 @@
WithOptions.uuid max_size:16 fixed_length:true

View file

@ -0,0 +1,5 @@
syntax = "proto3";
message WithOptions {
bytes uuid = 1;
}

View file

@ -0,0 +1,24 @@
{ stdenv, protobuf, nanopb }:
stdenv.mkDerivation {
name = "nanopb-test-simple-proto2";
meta.timeout = 60;
src = ./.;
# protoc requires any .proto file to be compiled to reside within it's
# proto_path. By default the current directory is automatically added to the
# proto_path. I tried using --proto_path ${./.} ${./simple.proto} and it did
# not work because they end up in the store at different locations.
installPhase = ":";
buildPhase = ''
mkdir $out
${protobuf}/bin/protoc --plugin=protoc-gen-nanopb=${nanopb}/bin/protoc-gen-nanopb --nanopb_out=$out simple.proto
'';
doCheck = true;
checkPhase = ''
grep -q SimpleMessage $out/simple.pb.c || (echo "ERROR: SimpleMessage not found in $out/simple.pb.c"; exit 1)
grep -q SimpleMessage $out/simple.pb.h || (echo "ERROR: SimpleMessage not found in $out/simple.pb.h"; exit 1)
'';
}

View file

@ -0,0 +1,5 @@
syntax = "proto2";
message SimpleMessage {
required int32 lucky_number = 1;
}

View file

@ -0,0 +1,24 @@
{ stdenv, protobuf, nanopb }:
stdenv.mkDerivation {
name = "nanopb-test-simple-proto3";
meta.timeout = 60;
src = ./.;
# protoc requires any .proto file to be compiled to reside within it's
# proto_path. By default the current directory is automatically added to the
# proto_path. I tried using --proto_path ${./.} ${./simple.proto} and it did
# not work because they end up in the store at different locations.
installPhase = ":";
buildPhase = ''
mkdir $out
${protobuf}/bin/protoc --plugin=protoc-gen-nanopb=${nanopb}/bin/protoc-gen-nanopb --nanopb_out=$out simple.proto
'';
doCheck = true;
checkPhase = ''
grep -q SimpleMessage $out/simple.pb.c || (echo "ERROR: SimpleMessage not found in $out/simple.pb.c"; exit 1)
grep -q SimpleMessage $out/simple.pb.h || (echo "ERROR: SimpleMessage not found in $out/simple.pb.h"; exit 1)
'';
}

View file

@ -0,0 +1,5 @@
syntax = "proto3";
message SimpleMessage {
int32 lucky_number = 1;
}

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "opendht";
version = "2.1.1";
version = "2.1.3";
src = fetchFromGitHub {
owner = "savoirfairelinux";
repo = "opendht";
rev = version;
sha256 = "10sbiwjljxi0a1q3xakmf6v02x3yf38ljvjpql70q4rqggqj9zhh";
sha256 = "0qz9mdkanz4vd38bdpwvcwvbpzf19i6019rmqw3k1vh5mh22ljhr";
};
nativeBuildInputs =

View file

@ -1,8 +1,9 @@
{ stdenv, fetchFromGitHub, fetchurl, pkgconfig
, gtk2, gtk3, libXinerama, libSM, libXxf86vm
, xorgproto, gstreamer, gst-plugins-base, GConf, setfile
, libXinerama, libSM, libXxf86vm
, gtk2, GConf ? null, gtk3
, xorgproto, gstreamer, gst-plugins-base, setfile
, libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
, withMesa ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
, withMesa ? libGLSupported
, libGLU ? null, libGL ? null
, compat24 ? false, compat26 ? true, unicode ? true
, withGtk2 ? true
@ -28,9 +29,10 @@ stdenv.mkDerivation rec {
sha256 = "19mqglghjjqjgz4rbybn3qdgn2cz9xc511nq1pvvli9wx2k8syl1";
};
buildInputs =
[ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xorgproto gstreamer
gst-plugins-base GConf ]
buildInputs = [
libXinerama libSM libXxf86vm xorgproto gstreamer gst-plugins-base
] ++ optionals withGtk2 [ gtk2 GConf ]
++ optional (!withGtk2) gtk3
++ optional withMesa libGLU
++ optional withWebKit webkitgtk
++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];

View file

@ -1,6 +1,7 @@
{ stdenv, fetchFromGitHub, fetchurl, pkgconfig
, gtk2, gtk3, libXinerama, libSM, libXxf86vm
, xorgproto, gstreamer, gst-plugins-base, GConf, setfile
, libXinerama, libSM, libXxf86vm
, gtk2, GConf ? null, gtk3
, xorgproto, gstreamer, gst-plugins-base, setfile
, libGLSupported ? stdenv.lib.elem stdenv.hostPlatform.system stdenv.lib.platforms.mesaPlatforms
, withMesa ? libGLSupported, libGLU ? null, libGL ? null
, compat28 ? false, compat30 ? true, unicode ? true
@ -27,9 +28,10 @@ stdenv.mkDerivation rec {
sha256 = "0gfdhb7xq5vzasm7s1di39nchv42zsp0dmn4v6knzb7mgsb107wb";
};
buildInputs =
[ (if withGtk2 then gtk2 else gtk3) libXinerama libSM libXxf86vm xorgproto gstreamer
gst-plugins-base GConf ]
buildInputs = [
libXinerama libSM libXxf86vm xorgproto gstreamer gst-plugins-base
] ++ optionals withGtk2 [ gtk2 GConf ]
++ optional (!withGtk2) gtk3
++ optional withMesa libGLU
++ optional withWebKit webkitgtk
++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];

View file

@ -3,7 +3,6 @@
, buildPythonPackage
, fetchPypi
, pythonOlder
, pythonAtLeast
, attrs
, chardet
, multidict
@ -14,7 +13,6 @@
, pytestrunner
, pytestCheckHook
, gunicorn
, pytest-timeout
, async_generator
, pytest_xdist
, pytestcov
@ -63,6 +61,8 @@ buildPythonPackage rec {
"test_read_boundary_with_incomplete_chunk"
"test_read_incomplete_chunk"
"test_request_tracing_exception"
] ++ lib.optionals stdenv.isDarwin [
"test_close"
];
# aiohttp in current folder shadows installed version

View file

@ -0,0 +1,27 @@
From 6f544a5bd43446859754cb80e012af933b843db9 Mon Sep 17 00:00:00 2001
From: Florian Klink <flokli@flokli.de>
Date: Wed, 3 Jun 2020 22:05:34 +0200
Subject: [PATCH] clipboard: make which substitutable
This is used to detect the presence of xclip and other clipboard
handling tools.
---
bpython/clipboard.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bpython/clipboard.py b/bpython/clipboard.py
index aee429b..f346429 100644
--- a/bpython/clipboard.py
+++ b/bpython/clipboard.py
@@ -58,7 +58,7 @@ class OSXClipboard(object):
def command_exists(command):
process = subprocess.Popen(
- ["which", command], stderr=subprocess.STDOUT, stdout=subprocess.PIPE
+ ["@which@", command], stderr=subprocess.STDOUT, stdout=subprocess.PIPE
)
process.communicate()
--
2.26.2

View file

@ -1,4 +1,14 @@
{ stdenv, buildPythonPackage, fetchPypi, pygments, greenlet, curtsies, urwid, requests, mock }:
{ stdenv
, buildPythonPackage
, fetchPypi
, curtsies
, greenlet
, mock
, pygments
, requests
, substituteAll
, urwid
, which }:
buildPythonPackage rec {
pname = "bpython";
@ -9,6 +19,11 @@ buildPythonPackage rec {
sha256 = "1764ikgj24jjq46s50apwkydqvy5a13adb2nbszk8kbci6df0v27";
};
patches = [ (substituteAll {
src = ./clipboard-make-which-substitutable.patch;
which = "${which}/bin/which";
})];
propagatedBuildInputs = [ curtsies greenlet pygments requests urwid ];
postInstall = ''

View file

@ -25,11 +25,11 @@ let
package = buildPythonPackage rec {
pname = "buildbot";
version = "2.8.1";
version = "2.8.2";
src = fetchPypi {
inherit pname version;
sha256 = "1nrbn8a2c56l5j0axmn9ijaviw0a6nrd34sg81r5j05mzzpb69is";
sha256 = "0rdrz2zkd6xaf9kb5l41xmbfzq618sz498w23irshih4c802pdv5";
};
propagatedBuildInputs = [

View file

@ -6,7 +6,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "03ppmrnpyd77azylv1c673cffk6x53j9flx4i99k33bljmdy8iv4";
sha256 = "1yz3k6dg15q4911x8kjy396dccfgrs50mjz278l09p6zmm71llax";
};
postPatch = ''

View file

@ -7,7 +7,7 @@
src = fetchPypi {
inherit pname version;
sha256 = "051y4z70dq0j343rb02wn3a1vkdbi8khjfib2msa80vdld3nxcyv";
sha256 = "19qwr0h6qavznx8rfjq6zjccyd2y7x4nc8asldvay3b44xfsr385";
};
# Remove unneccessary circular dependency on buildbot
@ -34,7 +34,7 @@
src = fetchPypi {
inherit pname version;
sha256 = "0chw111j2c6ybvbb09x39zg7ghjz4ysw67wbpcmzd1v5jnwbaqdi";
sha256 = "1wfhwmb1d32k8isk7k8525pmkfih8hlvy53zsj19l3gvjm0da9gw";
};
buildInputs = [ buildbot-pkg ];
@ -56,7 +56,7 @@
src = fetchPypi {
inherit pname version;
sha256 = "14v2lj65ccgmijxqrr61vpgba30q6w5vnisz78y3hbf3qpxmmd7g";
sha256 = "0g62v0maz3b9bmjvvjcin6ayg0f5k0n8m93zk75lagyr69g5vaka";
};
buildInputs = [ buildbot-pkg ];
@ -78,7 +78,7 @@
src = fetchPypi {
inherit pname version;
sha256 = "03q9am237f2r8ivqm1dfkyzm3bmns4xjn99c27ps6dw9an15f73a";
sha256 = "0dlq8pchgccc66gfdlssydacisia5fbwc8b4gd8f9gcbish8jmf7";
};
buildInputs = [ buildbot-pkg ];
@ -100,7 +100,7 @@
src = fetchPypi {
inherit pname version;
sha256 = "0wv5ghsfmhkbk96zimihcwn16rxjz1q1g5ppahb8gfrclmzhdynl";
sha256 = "193nni55py6yzw730yyp5va2n4313sjf6a7jmi0xs9bivvvzg5w9";
};
buildInputs = [ buildbot-pkg ];

View file

@ -7,7 +7,7 @@ buildPythonPackage (rec {
src = fetchPypi {
inherit pname version;
sha256 = "1cba1zmm3gfw3ikax7q4vbrxnvjxlby79x5lc4fg9c3igbm0nmwj";
sha256 = "0p1w6ailp6xpa6ckl5prj413ilxx5s3lga5mzqxj9nn00vni8ik2";
};
propagatedBuildInputs = [ twisted future ];

View file

@ -47,7 +47,8 @@ buildPythonPackage rec {
and not test_libcurl_ssl_openssl" \
--ignore=tests/getinfo_test.py \
--ignore=tests/memory_mgmt_test.py \
--ignore=tests/multi_memory_mgmt_test.py
--ignore=tests/multi_memory_mgmt_test.py \
--ignore=tests/multi_timer_test.py
'';
preConfigure = ''

View file

@ -1,6 +1,7 @@
{ lib
, buildPythonPackage
, fetchFromGitHub
, fetchpatch
, ujson
, email_validator
, typing-extensions
@ -22,6 +23,14 @@ buildPythonPackage rec {
sha256 = "0fwrx7p6d5vskg9ibganahiz9y9299idvdmzhjw62jy84gn1vrb4";
};
# fix tests, remove on next version bump
patches = [
(fetchpatch {
url = "https://github.com/samuelcolvin/pydantic/commit/a5b0e741e585040a0ab8b0be94dd9dc2dd3afcc7.patch";
sha256 = "0v91ac3dw23rm73370s2ns84vi0xqbfzpvj84zb7xdiicx8fhmf1";
})
];
propagatedBuildInputs = [
ujson
email_validator

View file

@ -1,4 +1,5 @@
{ lib
{ stdenv
, lib
, buildPythonPackage
, fetchFromGitHub
, gdb
@ -19,6 +20,9 @@ buildPythonPackage rec {
checkInputs = [ gdb ];
# tests require gcc for some reason
doCheck = !stdenv.hostPlatform.isDarwin;
postPatch = ''
# tries to execute flake8,
# which is likely to break on flake8 updates

View file

@ -47,7 +47,6 @@ buildPythonPackage rec {
description = "Engine.IO server";
homepage = "https://github.com/miguelgrinberg/python-engineio/";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ maintainers.mic92 ];
};
}

View file

@ -2,20 +2,21 @@
python3Packages.buildPythonApplication rec {
pname = "cpplint";
version = "1.3.0";
version = "1.5.1";
# Fetch from github instead of pypi, since the test cases are not in the pypi archive
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "107v7bp35kxbv9v7wl79h7115z1m4b48rhasp0cnivql1grd277i";
sha256 = "0k927mycj1k4l3fbxrk597bhcjl2nrpaas1imbjgk64cyq8dv7lh";
};
postPatch = ''
patchShebangs cpplint_unittest.py
'';
checkInputs = with python3Packages; [ pytest pytestrunner ];
checkPhase = ''
./cpplint_unittest.py
'';

View file

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
pname = "bmake";
version = "20200506";
version = "20200606";
src = fetchurl {
url = "http://www.crufty.net/ftp/pub/sjg/${pname}-${version}.tar.gz";
sha256 = "1qiq6lvlg2hqiq03slv4vzv3bn4cr3w95r3i6m5fa4hgn2dkrhqa";
sha256 = "00kh1g8z6808ylbfcn9afpb0xmb99k302dfdsmyx1rsn65xs58v7";
};
nativeBuildInputs = [ getopt ];

View file

@ -1,64 +0,0 @@
{ fetchFromGitHub, makeWrapper
, cmake, llvmPackages, ncurses
, runtimeShell }:
let
src = fetchFromGitHub {
owner = "cquery-project";
repo = "cquery";
rev = "a95a6503d68a85baa25465ce147b7fc20f4a552e";
sha256 = "0rxbdln7dqkdw4q8rhclssgwypq16g9flkwmaabsr8knckbszxrx";
fetchSubmodules = true;
};
stdenv = llvmPackages.stdenv;
in
stdenv.mkDerivation {
pname = "cquery";
version = "2018-10-14";
inherit src;
nativeBuildInputs = [ cmake makeWrapper ];
buildInputs = with llvmPackages; [ clang clang-unwrapped llvm ncurses ];
cmakeFlags = [
"-DSYSTEM_CLANG=ON"
"-DCLANG_CXX=ON"
];
shell = runtimeShell;
postFixup = ''
# We need to tell cquery where to find the standard library headers.
standard_library_includes="\\\"-isystem\\\", \\\"${stdenv.lib.getDev stdenv.cc.libc}/include\\\""
standard_library_includes+=", \\\"-isystem\\\", \\\"${llvmPackages.libcxx}/include/c++/v1\\\""
export standard_library_includes
wrapped=".cquery-wrapped"
export wrapped
mv $out/bin/cquery $out/bin/$wrapped
substituteAll ${./wrapper} $out/bin/cquery
chmod --reference=$out/bin/$wrapped $out/bin/cquery
'';
doInstallCheck = true;
installCheckPhase = ''
pushd ${src}
$out/bin/cquery --ci --test-unit
# The integration tests have to be disabled because cquery ignores `--init`
# if they are invoked, which means it won't find the system includes.
#$out/bin/cquery --ci --test-index
'';
meta = with stdenv.lib; {
description = "A c/c++ language server powered by libclang";
homepage = "https://github.com/cquery-project/cquery";
license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin;
maintainers = [ maintainers.tobim ];
};
}

View file

@ -1,12 +0,0 @@
#! @shell@ -e
initString="--init={\"cacheDirectory\": \"/tmp/cquery\", \"extraClangArguments\": [@standard_library_includes@"
if [ "${NIX_CFLAGS_COMPILE}" != "" ]; then
read -a cflags_array <<< ${NIX_CFLAGS_COMPILE}
initString+=$(printf ', \"%s\"' "${cflags_array[@]}")
fi
initString+="]}"
exec -a "$0" "@out@/bin/@wrapped@" "${initString}" "$@"

View file

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "out-of-tree";
version = "1.3.0";
version = "1.4.0";
buildInputs = [ makeWrapper ];
src = fetchgit {
rev = "refs/tags/v${version}";
url = "https://code.dumpstack.io/tools/${pname}.git";
sha256 = "02xh23nbwyyf087jqkm97jbnwpja1myaz190q5r166mpwcdpz2dn";
sha256 = "1rn824l3dzh3xjxsbzzj053qg1abhzjimc8l73r0n5qrl44k2qk2";
};
vendorSha256 = "1dk0cipdgj2yyg1bc9l7nvy4y373pmqwy8xiyc0wg7pchb4h9p7s";
vendorSha256 = "0kg5c4h7xnwfcfshrh5n76xv98wzr73kxzr8q65iphsjimbxcpy3";
postFixup = ''
wrapProgram $out/bin/out-of-tree \

View file

@ -18,16 +18,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "deno";
version = "1.0.5";
version = "1.1.0";
src = fetchFromGitHub {
owner = "denoland";
repo = pname;
rev = "v${version}";
sha256 = "1hlmgcppr01bddvp28js010hhlzyx2lm7g7lq9nrcjazfw7kd2pf";
sha256 = "11rxfnjam1kr8piiw0s4r0qg8rj4qfpppp6dixk1hhsq2iwbnzj6";
fetchSubmodules = true;
};
cargoSha256 = "1jqaryr7np6h65a1bqr952h0vllsvd6v6v6wvivc7933dcbhdal4";
cargoSha256 = "107i9zvlwiwad58c7lmh6zl9iwlqn1h8qk7zf7x68b6498p8nh7d";
# Install completions post-install
nativeBuildInputs = [ installShellFiles ];

View file

@ -1,6 +1,6 @@
#!/usr/bin/env nix-shell
/*
#!nix-shell -i "deno run --allow-net --allow-run --allow-read --allow-write" -p deno git nix-prefetch nix-prefetch-url
#!nix-shell -i "deno run --allow-net --allow-run --allow-read --allow-write" -p deno git nix-prefetch
*/
import {
commit,

View file

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "easyrpg-player";
version = "0.6.2";
version = "0.6.2.1";
src = fetchFromGitHub {
owner = "EasyRPG";
repo = "Player";
rev = version;
sha256 = "1xjisqxmx1jc1afsr55hyr0l9v20gvchllby76pygkfkgifyidyp";
sha256 = "19wpjvlkjmjhdv1dbph6i2da1xx479zhr532x0ili1aphw1j9hi6";
};
nativeBuildInputs = [ cmake doxygen pkgconfig ];

View file

@ -35,13 +35,13 @@ let
in env.mkDerivation rec {
pname = "katago";
version = "1.4.2";
version = "1.4.4";
src = fetchFromGitHub {
owner = "lightvector";
repo = "katago";
rev = "v${version}";
sha256 = "0qdc9hgbzd175b2xkjs62dy6gyybcn9lf1mifiyhjbzjpgv192h4";
sha256 = "14xs2bm8sky9cdsjdahjqs82q6blzcw05f5d9r1h171dm1hcx566";
};
# To workaround CMake 3.17.0's new buggy behavior wrt CUDA Compiler testing

View file

@ -14,16 +14,16 @@
let
name = "hplip-${version}";
version = "3.20.3";
version = "3.20.5";
src = fetchurl {
url = "mirror://sourceforge/hplip/${name}.tar.gz";
sha256 = "0sh6cg7yjc11x1cm4477iaslj9n8ksghs85hqwgfbk7m5b2pw2a1";
sha256 = "004bbd78487b7803cdcf2a96b00de938797227068c4de43ee7ad7d174c4e475a";
};
plugin = fetchurl {
url = "https://developers.hp.com/sites/default/files/${name}-plugin.run";
sha256 = "13xyv30jqjysfk7gh0gyn7qj0pb0qvk2rlbhm85a3lw7bjycal8g";
sha256 = "ff3dedda3158be64b985efbf636890ddda5b271ae1f1fbd788219e1344a9c2e7";
};
hplipState = substituteAll {

View file

@ -51,6 +51,7 @@
, flashrom
, tpm2-tools
, nixosTests
, runCommand
}:
let
@ -83,203 +84,232 @@ let
# Experimental
haveFlashrom = false;
in
stdenv.mkDerivation rec {
pname = "fwupd";
version = "1.4.2";
src = fetchurl {
url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
sha256 = "1wch1n0z89ymfxx7ganiab4h64rdxr54rcg37n5nshw35bc3f390";
};
# libfwupd goes to lib
# daemon, plug-ins and libfwupdplugin go to out
# CLI programs go to out
outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ];
nativeBuildInputs = [
meson
ninja
gtk-doc
pkgconfig
gobject-introspection
intltool
shared-mime-info
valgrind
gcab
docbook_xml_dtd_43
docbook_xsl
help2man
libxslt
python
wrapGAppsHook
vala
];
buildInputs = [
polkit
libxmlb
gusb
sqlite
libarchive
libsoup
elfutils
gnu-efi
libyaml
libgudev
colord
libjcat
libuuid
glib-networking
json-glib
umockdev
bash-completion
cairo
freetype
fontconfig
pango
tpm2-tss
efivar
] ++ stdenv.lib.optionals haveDell [
libsmbios
];
patches = [
./fix-paths.patch
./add-option-for-installation-sysconfdir.patch
# Install plug-ins and libfwupdplugin to out,
# they are not really part of the library.
./install-fwupdplugin-to-out.patch
# Installed tests are installed to different output
# we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle.
(substituteAll {
src = ./installed-tests-path.patch;
# Needs a different set of modules than po/make-images.
inherit installedTestsPython;
})
];
postPatch = ''
patchShebangs \
contrib/get-version.py \
contrib/generate-version-script.py \
meson_post_install.sh \
po/make-images \
po/make-images.sh \
po/test-deps
runPythonCommand = name: buildCommandPython: runCommand name {
nativeBuildInputs = [ python3 ];
inherit buildCommandPython;
} ''
exec python3 -c "$buildCommandPython"
'';
# /etc/os-release not available in sandbox
# doCheck = true;
self = stdenv.mkDerivation rec {
pname = "fwupd";
version = "1.4.4";
preFixup = let
binPath = [
efibootmgr
bubblewrap
tpm2-tools
] ++ stdenv.lib.optional haveFlashrom flashrom;
in ''
gappsWrapperArgs+=(
--prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
# See programs reached with fu_common_find_program_in_path in source
--prefix PATH : "${stdenv.lib.makeBinPath binPath}"
)
'';
src = fetchurl {
url = "https://people.freedesktop.org/~hughsient/releases/fwupd-${version}.tar.xz";
sha256 = "03yn96kxs53vxcbza17y99rdhbjlybv44gkc90vaj6301grxahnp";
};
mesonFlags = [
"-Dgtkdoc=true"
"-Dplugin_dummy=true"
"-Dudevdir=lib/udev"
"-Dsystemd_root_prefix=${placeholder "out"}"
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
"-Defi-libdir=${gnu-efi}/lib"
"-Defi-ldsdir=${gnu-efi}/lib"
"-Defi-includedir=${gnu-efi}/include/efi"
"--localstatedir=/var"
"--sysconfdir=/etc"
"-Dsysconfdir_install=${placeholder "out"}/etc"
# libfwupd goes to lib
# daemon, plug-ins and libfwupdplugin go to out
# CLI programs go to out
outputs = [ "out" "lib" "dev" "devdoc" "man" "installedTests" ];
# We do not want to place the daemon into lib (cyclic reference)
"--libexecdir=${placeholder "out"}/libexec"
# Our builder only adds $lib/lib to rpath but some things link
# against libfwupdplugin which is in $out/lib.
"-Dc_link_args=-Wl,-rpath,${placeholder "out"}/lib"
] ++ stdenv.lib.optionals (!haveDell) [
"-Dplugin_dell=false"
"-Dplugin_synaptics=false"
] ++ stdenv.lib.optionals (!haveRedfish) [
"-Dplugin_redfish=false"
] ++ stdenv.lib.optionals haveFlashrom [
"-Dplugin_flashrom=true"
];
nativeBuildInputs = [
meson
ninja
gtk-doc
pkgconfig
gobject-introspection
intltool
shared-mime-info
valgrind
gcab
docbook_xml_dtd_43
docbook_xsl
help2man
libxslt
python
wrapGAppsHook
vala
];
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
# error: “PolicyKit files are missing”
# https://github.com/NixOS/nixpkgs/pull/67625#issuecomment-525788428
PKG_CONFIG_POLKIT_GOBJECT_1_ACTIONDIR = "/run/current-system/sw/share/polkit-1/actions";
# TODO: wrapGAppsHook wraps efi capsule even though it is not elf
dontWrapGApps = true;
preCheck = ''
addToSearchPath XDG_DATA_DIRS "${shared-mime-info}/share"
'';
# so we need to wrap the executables manually
postFixup = ''
find -L "$out/bin" "$out/libexec" -type f -executable -print0 \
| while IFS= read -r -d ''' file; do
if [[ "$file" != *.efi ]]; then
echo "Wrapping program $file"
wrapGApp "$file"
fi
done
'';
# /etc/fwupd/uefi.conf is created by the services.hardware.fwupd NixOS module
passthru = {
filesInstalledToEtc = [
"fwupd/ata.conf"
# "fwupd/daemon.conf" # already created by the module
"fwupd/redfish.conf"
"fwupd/remotes.d/lvfs-testing.conf"
"fwupd/remotes.d/lvfs.conf"
"fwupd/remotes.d/vendor.conf"
"fwupd/remotes.d/vendor-directory.conf"
"fwupd/thunderbolt.conf"
"fwupd/upower.conf"
# "fwupd/uefi.conf" # already created by the module
"pki/fwupd/GPG-KEY-Hughski-Limited"
"pki/fwupd/GPG-KEY-Linux-Foundation-Firmware"
"pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service"
"pki/fwupd/LVFS-CA.pem"
"pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata"
"pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service"
"pki/fwupd-metadata/LVFS-CA.pem"
buildInputs = [
polkit
libxmlb
gusb
sqlite
libarchive
libsoup
elfutils
gnu-efi
libyaml
libgudev
colord
libjcat
libuuid
glib-networking
json-glib
umockdev
bash-completion
cairo
freetype
fontconfig
pango
tpm2-tss
efivar
] ++ stdenv.lib.optionals haveDell [
"fwupd/remotes.d/dell-esrt.conf"
libsmbios
];
# BlacklistPlugins key in fwupd/daemon.conf
defaultBlacklistedPlugins = [
"test"
"invalid"
patches = [
./fix-paths.patch
./add-option-for-installation-sysconfdir.patch
# Install plug-ins and libfwupdplugin to out,
# they are not really part of the library.
./install-fwupdplugin-to-out.patch
# Installed tests are installed to different output
# we also cannot have fwupd-tests.conf in $out/etc since it would form a cycle.
(substituteAll {
src = ./installed-tests-path.patch;
# Needs a different set of modules than po/make-images.
inherit installedTestsPython;
})
];
tests = {
installedTests = nixosTests.installed-tests.fwupd;
postPatch = ''
patchShebangs \
contrib/get-version.py \
contrib/generate-version-script.py \
meson_post_install.sh \
po/make-images \
po/make-images.sh \
po/test-deps
'';
# /etc/os-release not available in sandbox
# doCheck = true;
preFixup = let
binPath = [
efibootmgr
bubblewrap
tpm2-tools
] ++ stdenv.lib.optional haveFlashrom flashrom;
in ''
gappsWrapperArgs+=(
--prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
# See programs reached with fu_common_find_program_in_path in source
--prefix PATH : "${stdenv.lib.makeBinPath binPath}"
)
'';
mesonFlags = [
"-Dgtkdoc=true"
"-Dplugin_dummy=true"
"-Dudevdir=lib/udev"
"-Dsystemd_root_prefix=${placeholder "out"}"
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
"-Defi-libdir=${gnu-efi}/lib"
"-Defi-ldsdir=${gnu-efi}/lib"
"-Defi-includedir=${gnu-efi}/include/efi"
"--localstatedir=/var"
"--sysconfdir=/etc"
"-Dsysconfdir_install=${placeholder "out"}/etc"
# We do not want to place the daemon into lib (cyclic reference)
"--libexecdir=${placeholder "out"}/libexec"
# Our builder only adds $lib/lib to rpath but some things link
# against libfwupdplugin which is in $out/lib.
"-Dc_link_args=-Wl,-rpath,${placeholder "out"}/lib"
] ++ stdenv.lib.optionals (!haveDell) [
"-Dplugin_dell=false"
"-Dplugin_synaptics=false"
] ++ stdenv.lib.optionals (!haveRedfish) [
"-Dplugin_redfish=false"
] ++ stdenv.lib.optionals haveFlashrom [
"-Dplugin_flashrom=true"
];
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
# error: “PolicyKit files are missing”
# https://github.com/NixOS/nixpkgs/pull/67625#issuecomment-525788428
PKG_CONFIG_POLKIT_GOBJECT_1_ACTIONDIR = "/run/current-system/sw/share/polkit-1/actions";
# TODO: wrapGAppsHook wraps efi capsule even though it is not elf
dontWrapGApps = true;
preCheck = ''
addToSearchPath XDG_DATA_DIRS "${shared-mime-info}/share"
'';
# so we need to wrap the executables manually
postFixup = ''
find -L "$out/bin" "$out/libexec" -type f -executable -print0 \
| while IFS= read -r -d ''' file; do
if [[ "$file" != *.efi ]]; then
echo "Wrapping program $file"
wrapGApp "$file"
fi
done
'';
passthru = {
filesInstalledToEtc = [
"fwupd/ata.conf"
"fwupd/daemon.conf"
"fwupd/redfish.conf"
"fwupd/remotes.d/lvfs-testing.conf"
"fwupd/remotes.d/lvfs.conf"
"fwupd/remotes.d/vendor.conf"
"fwupd/remotes.d/vendor-directory.conf"
"fwupd/thunderbolt.conf"
"fwupd/upower.conf"
"fwupd/uefi.conf"
"pki/fwupd/GPG-KEY-Hughski-Limited"
"pki/fwupd/GPG-KEY-Linux-Foundation-Firmware"
"pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service"
"pki/fwupd/LVFS-CA.pem"
"pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata"
"pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service"
"pki/fwupd-metadata/LVFS-CA.pem"
] ++ stdenv.lib.optionals haveDell [
"fwupd/remotes.d/dell-esrt.conf"
];
# BlacklistPlugins key in fwupd/daemon.conf
defaultBlacklistedPlugins = [
"test"
"invalid"
];
tests = let
listToPy = list: "[${stdenv.lib.concatMapStringsSep ", " (f: "'${f}'") list}]";
in {
installedTests = nixosTests.installed-tests.fwupd;
passthruMatches = runPythonCommand "fwupd-test-passthru-matches" ''
import itertools
import configparser
import os
import pathlib
etc = '${self}/etc'
package_etc = set(itertools.chain.from_iterable([[os.path.relpath(os.path.join(prefix, file), etc) for file in files] for (prefix, dirs, files) in os.walk(etc)]))
passthru_etc = set(${listToPy passthru.filesInstalledToEtc})
assert len(package_etc - passthru_etc) == 0, f'fwupd package contains the following paths in /etc that are not listed in passthru.filesInstalledToEtc: {package_etc - passthru_etc}'
assert len(passthru_etc - package_etc) == 0, f'fwupd package lists the following paths in passthru.filesInstalledToEtc that are not contained in /etc: {passthru_etc - package_etc}'
config = configparser.RawConfigParser()
config.read('${self}/etc/fwupd/daemon.conf')
package_blacklisted_plugins = config.get('fwupd', 'BlacklistPlugins').rstrip(';').split(';')
passthru_blacklisted_plugins = ${listToPy passthru.defaultBlacklistedPlugins}
assert package_blacklisted_plugins == passthru_blacklisted_plugins, f'Default blacklisted plug-ins in the package {package_blacklisted_plugins} do not match those listed in passthru.defaultBlacklistedPlugins {passthru_blacklisted_plugins}'
pathlib.Path(os.getenv('out')).touch()
'';
};
};
meta = with stdenv.lib; {
homepage = "https://fwupd.org/";
maintainers = with maintainers; [ jtojnar ];
license = [ licenses.gpl2 ];
platforms = platforms.linux;
};
};
meta = with stdenv.lib; {
homepage = "https://fwupd.org/";
maintainers = with maintainers; [ jtojnar ];
license = [ licenses.gpl2 ];
platforms = platforms.linux;
};
}
in self

View file

@ -1,28 +1,33 @@
{ stdenv, fetchurl }:
{ stdenv, fetchFromGitHub }:
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "sof-firmware";
version = "1.4.2";
version = "1.5.1";
src = fetchurl {
url = "https://www.alsa-project.org/files/pub/misc/sof/${pname}-${version}.tar.bz2";
sha256 = "1nkh020gjm45vxd6fvmz63hj16ilff2nl5avvsklajjs6xci1sf5";
src = fetchFromGitHub {
owner = "thesofproject";
repo = "sof-bin";
rev = "ae61d2778b0a0f47461a52da0d1f191f651e0763";
sha256 = "0j6bpwz49skvdvian46valjw4anwlrnkq703n0snkbngmq78prba";
};
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
rm lib/firmware/intel/{sof/LICENCE,sof-tplg/LICENCE}
mkdir $out
cp -r lib $out/lib
mkdir -p $out/lib/firmware/intel
sed -i 's/ROOT=.*$/ROOT=$out/g' go.sh
sed -i 's/VERSION=.*$/VERSION=v${version}/g' go.sh
./go.sh
'';
meta = with stdenv.lib; {
description = "Sound Open Firmware";
homepage = "https://www.sofproject.org/";
license = with licenses; [ bsd3 isc ];
maintainers = with maintainers; [ lblasc ];
maintainers = with maintainers; [ lblasc evenbrenden ];
platforms = with platforms; linux;
};
}

View file

@ -206,8 +206,8 @@ let
B43_PHY_HT = option yes;
BCMA_HOST_PCI = option yes;
RTW88 = whenAtLeast "5.2" module;
RTW88_8822BE = whenAtLeast "5.2" yes;
RTW88_8822CE = whenAtLeast "5.2" yes;
RTW88_8822BE = mkMerge [ (whenBetween "5.2" "5.8" yes) (whenAtLeast "5.8" module) ];
RTW88_8822CE = mkMerge [ (whenBetween "5.2" "5.8" yes) (whenAtLeast "5.8" module) ];
};
fb = {

View file

@ -3,15 +3,15 @@
with stdenv.lib;
buildLinux (args // rec {
version = "5.7-rc6";
extraMeta.branch = "5.7";
version = "5.8-rc1";
extraMeta.branch = "5.1";
# modDirVersion needs to be x.y.z, will always add .0
modDirVersion = if (modDirVersionArg == null) then builtins.replaceStrings ["-"] [".0-"] version else modDirVersionArg;
src = fetchurl {
url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
sha256 = "0g04zwdxks7pa5q6shl5xl2rml1w95rxq7sqkkadj11mpk2k89w4";
sha256 = "1gb7g2vrgg0zz281lv1ir1r0535spc40j65p0azmdxlk24fkfxfc";
};
# Should the testing kernels ever be built on Hydra?

View file

@ -14,14 +14,14 @@
buildGoModule rec {
pname = "blockbook";
version = "0.3.3";
commit = "b6961ca";
version = "0.3.4";
commit = "eb4e10a";
src = fetchFromGitHub {
owner = "trezor";
repo = "blockbook";
rev = "v${version}";
sha256 = "01nb4if2dix2h95xvqvafil325jjw2a4v1izb9mad0cjqcf8rk6n";
sha256 = "0da1kav5x2xcmwvdgfk1q70l1k0sqqj3njgx2xx885d40m6qbnrs";
};
vendorSha256 = "1qjlvhizl8cy06cgf4phia70bgbm4lj57z5z2gyr8aglx98bnpdn";

View file

@ -54,7 +54,8 @@ stdenv.mkDerivation rec {
"--without-eddsa"
"--with-aes"
] ++ lib.optional stdenv.isLinux "--with-libcap=${libcap.dev}"
++ lib.optional enableSeccomp "--enable-seccomp";
++ lib.optional enableSeccomp "--enable-seccomp"
++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "BUILD_CC=$(CC_FOR_BUILD)";
postInstall = ''
moveToOutput bin/bind9-config $dev

View file

@ -26,11 +26,11 @@ in stdenv.mkDerivation rec {
pname = "postfix";
version = "3.5.2";
version = "3.5.3";
src = fetchurl {
url = "ftp://ftp.cs.uu.nl/mirror/postfix/postfix-release/official/${pname}-${version}.tar.gz";
sha256 = "1hxy9458apnzfg4n0alncsdgy5dwzn5dbn4xm46iv15xynbj9gz3";
sha256 = "0xcd9pmv2p4znn6bqvka19h5h2lw90inyxrm5020acd0yaf0i0g3";
};
nativeBuildInputs = [ makeWrapper m4 ];

View file

@ -0,0 +1,31 @@
{ stdenv, fetchurl, postgresql }:
stdenv.mkDerivation rec {
pname = "pg_ed25519";
version = "0.2";
src = fetchurl {
url = "https://gitlab.com/dwagin/${pname}/-/archive/${version}/${pname}-${version}.tar.bz2";
sha256 = "0q46pvk1vq5w3al6i3inzlw6w7za3n7p1gd4wfbbxzvzh7qnynda";
};
buildInputs = [ postgresql ];
installPhase = ''
mkdir -p $out/bin # For buildEnv to setup proper symlinks. See #22653
mkdir -p $out/{lib,share/postgresql/extension}
cp *.so $out/lib
cp *.sql $out/share/postgresql/extension
cp *.control $out/share/postgresql/extension
'';
meta = with stdenv.lib; {
description = "PostgreSQL extension for signing and verifying ed25519 signatures";
homepage = "https://gitlab.com/dwagin/pg_ed25519";
maintainers = [ maintainers.renzo ];
platforms = postgresql.meta.platforms;
license = licenses.mit;
};
}

View file

@ -13,6 +13,8 @@ self: super: {
pg_bigm = super.callPackage ./ext/pg_bigm.nix { };
pg_ed25519 = super.callPackage ./ext/pg_ed25519.nix { };
pg_repack = super.callPackage ./ext/pg_repack.nix { };
pg_similarity = super.callPackage ./ext/pg_similarity.nix { };

View file

@ -25,7 +25,8 @@ buildPythonApplication rec {
--replace 'pygments==2.1.3' 'pygments>=2.1,<3.0' \
--replace 'pyopenssl==19.0.0' 'pyopenssl' \
--replace 'python-dateutil==2.8.0' 'python-dateutil==2.8.*' \
--replace 'pyyaml==5.1' 'pyyaml'
--replace 'pyyaml==5.1' 'pyyaml' \
--replace 'requests[socks]==2.22.0' 'requests[socks]'
substituteInPlace requirements-dev.txt \
--replace 'plone.testing==5.0.0' 'plone.testing' \
--replace 'pep8==1.7.0' 'pep8==1.7.*' \

View file

@ -125,6 +125,10 @@ let
pcre2
];
cmakeFlags = [
"-DCMAKE_INSTALL_DOCDIR=${placeholder "out"}/share/doc/fish"
];
preConfigure = ''
patchShebangs ./build_tools/git_version_gen.sh
'';

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