Merge staging-next into staging

This commit is contained in:
github-actions[bot]
2023-02-07 18:02:15 +00:00
committed by GitHub
123 changed files with 1237 additions and 1029 deletions
+1
View File
@@ -26,6 +26,7 @@ If applicable, add screenshots to help explain your problem.
Add any other context about the problem here.
### Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
+6 -1
View File
@@ -1,31 +1,36 @@
---
name: Build failure
about: Create a report to help us improve
title: ''
title: 'Build failure: PACKAGENAME'
labels: '0.kind: build failure'
assignees: ''
---
### Steps To Reproduce
Steps to reproduce the behavior:
1. build *X*
### Build log
```
log here if short otherwise a link to a gist
```
### Additional context
Add any other context about the problem here.
### Notify maintainers
<!--
Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something.
-->
### Metadata
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
```console
@@ -1,7 +1,7 @@
---
name: Missing or incorrect documentation
about: Help us improve the Nixpkgs and NixOS reference manuals
title: ''
title: 'Documentation: '
labels: '9.needs: documentation'
assignees: ''
@@ -11,6 +11,10 @@ assignees: ''
<!-- describe your problem -->
## Proposal
<!-- propose a solution (optional) -->
## Checklist
<!-- make sure this issue is not redundant or obsolete -->
@@ -26,7 +30,3 @@ assignees: ''
[open documentation issues]: https://github.com/NixOS/nixpkgs/issues?q=is%3Aissue+is%3Aopen+label%3A%229.needs%3A+documentation%22
[open documentation pull requests]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+is%3Apr+label%3A%228.has%3A+documentation%22%2C%226.topic%3A+documentation%22
## Proposal
<!-- propose a solution -->
@@ -1,24 +1,17 @@
---
name: Out-of-date package reports
about: For packages that are out-of-date
title: ''
title: 'Update request: PACKAGENAME OLDVERSION → NEWVERSION'
labels: '9.needs: package (update)'
assignees: ''
---
###### Checklist
<!-- Note that these are hard requirements -->
<!--
You can use the "Go to file" functionality on GitHub to find the package
Then you can go to the history for this package
Find the latest "package_name: old_version -> new_version" commit
The "new_version" is the current version of the package
-->
- [ ] Checked the [nixpkgs master branch](https://github.com/NixOS/nixpkgs)
- Package name:
- Latest released version:
<!-- Search your package here: https://search.nixos.org/packages?channel=unstable -->
- Current version on the unstable channel:
- Current version on the stable/release channel:
<!--
Type the name of your package and try to find an open pull request for the package
If you find an open pull request, you can review it!
@@ -26,23 +19,10 @@ There's a high chance that you'll have the new version right away while helping
-->
- [ ] Checked the [nixpkgs pull requests](https://github.com/NixOS/nixpkgs/pulls)
###### Project name
`nix search` name:
<!--
The current version can be found easily with the same process as above for checking the master branch
If an open PR is present for the package, take this version as the current one and link to the PR
-->
current version:
desired version:
**Notify maintainers**
###### Notify maintainers
<!--
Search your package here: https://search.nixos.org/packages?channel=unstable
If no maintainer is listed for your package, tag the person that last updated the package
-->
<!-- If the search.nixos.org result shows no maintainers, tag the person that last updated the package. -->
maintainers:
-----
###### Note for maintainers
Please tag this issue in your PR.
Note for maintainers: Please tag this issue in your PR.
+3 -2
View File
@@ -1,14 +1,15 @@
---
name: Packaging requests
about: For packages that are missing
title: ''
title: 'Package request: PACKAGENAME'
labels: '0.kind: packaging request'
assignees: ''
---
**Project description**
_describe the project a little_
<!-- Describe the project a little: -->
**Metadata**
+1 -2
View File
@@ -1,6 +1,5 @@
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
let
lib = pkgs.lib;
doc-support = import ./doc-support { inherit pkgs nixpkgs; };
in pkgs.stdenv.mkDerivation {
name = "nixpkgs-manual";
@@ -15,7 +14,7 @@ in pkgs.stdenv.mkDerivation {
xmlformat
];
src = lib.cleanSource ./.;
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
postPatch = ''
ln -s ${doc-support} ./doc-support/result
+3 -2
View File
@@ -626,7 +626,7 @@ Before and after running `make`, the hooks `preBuild` and `postBuild` are called
### The check phase {#ssec-check-phase}
The check phase checks whether the package was built correctly by running its test suite. The default `checkPhase` calls `make $checkTarget`, but only if the `doCheck` variable is enabled (see below).
The check phase checks whether the package was built correctly by running its test suite. The default `checkPhase` calls `make $checkTarget`, but only if the [`doCheck` variable](#var-stdenv-doCheck) is enabled.
#### Variables controlling the check phase {#variables-controlling-the-check-phase}
@@ -646,7 +646,8 @@ See the [build phase](#var-stdenv-makeFlags) for details.
##### `checkTarget` {#var-stdenv-checkTarget}
The make target that runs the tests. Defaults to `check` if it exists, otherwise `test`; if neither is found, do nothing.
The `make` target that runs the tests.
If unset, use `check` if it exists, otherwise `test`; if neither is found, do nothing.
##### `checkFlags` / `checkFlagsArray` {#var-stdenv-checkFlags}
+7
View File
@@ -343,6 +343,13 @@ in mkLicense lset) ({
free = false;
};
ecl20 = {
fullName = "Educational Community License, Version 2.0";
url = "https://opensource.org/licenses/ECL-2.0";
shortName = "ECL 2.0";
spdxId = "ECL-2.0";
};
efl10 = {
spdxId = "EFL-1.0";
fullName = "Eiffel Forum License v1.0";
+63 -7
View File
@@ -4,6 +4,7 @@ let
inherit (builtins)
isString
isPath
split
match
;
@@ -25,6 +26,10 @@ let
assertMsg
;
inherit (lib.path.subpath)
isValid
;
# Return the reason why a subpath is invalid, or `null` if it's valid
subpathInvalidReason = value:
if ! isString value then
@@ -94,6 +99,52 @@ let
in /* No rec! Add dependencies on this file at the top. */ {
/* Append a subpath string to a path.
Like `path + ("/" + string)` but safer, because it errors instead of returning potentially surprising results.
More specifically, it checks that the first argument is a [path value type](https://nixos.org/manual/nix/stable/language/values.html#type-path"),
and that the second argument is a valid subpath string (see `lib.path.subpath.isValid`).
Type:
append :: Path -> String -> Path
Example:
append /foo "bar/baz"
=> /foo/bar/baz
# subpaths don't need to be normalised
append /foo "./bar//baz/./"
=> /foo/bar/baz
# can append to root directory
append /. "foo/bar"
=> /foo/bar
# first argument needs to be a path value type
append "/foo" "bar"
=> <error>
# second argument needs to be a valid subpath string
append /foo /bar
=> <error>
append /foo ""
=> <error>
append /foo "/bar"
=> <error>
append /foo "../bar"
=> <error>
*/
append =
# The absolute path to append to
path:
# The subpath string to append
subpath:
assert assertMsg (isPath path) ''
lib.path.append: The first argument is of type ${builtins.typeOf path}, but a path was expected'';
assert assertMsg (isValid subpath) ''
lib.path.append: Second argument is not a valid subpath string:
${subpathInvalidReason subpath}'';
path + ("/" + subpath);
/* Whether a value is a valid subpath string.
@@ -133,7 +184,9 @@ in /* No rec! Add dependencies on this file at the top. */ {
subpath.isValid "./foo//bar/"
=> true
*/
subpath.isValid = value:
subpath.isValid =
# The value to check
value:
subpathInvalidReason value == null;
@@ -150,11 +203,11 @@ in /* No rec! Add dependencies on this file at the top. */ {
Laws:
- (Idempotency) Normalising multiple times gives the same result:
- Idempotency - normalising multiple times gives the same result:
subpath.normalise (subpath.normalise p) == subpath.normalise p
- (Uniqueness) There's only a single normalisation for the paths that lead to the same file system node:
- Uniqueness - there's only a single normalisation for the paths that lead to the same file system node:
subpath.normalise p != subpath.normalise q -> $(realpath ${p}) != $(realpath ${q})
@@ -210,9 +263,12 @@ in /* No rec! Add dependencies on this file at the top. */ {
subpath.normalise "/foo"
=> <error>
*/
subpath.normalise = path:
assert assertMsg (subpathInvalidReason path == null)
"lib.path.subpath.normalise: Argument is not a valid subpath string: ${subpathInvalidReason path}";
joinRelPath (splitRelPath path);
subpath.normalise =
# The subpath string to normalise
subpath:
assert assertMsg (isValid subpath) ''
lib.path.subpath.normalise: Argument is not a valid subpath string:
${subpathInvalidReason subpath}'';
joinRelPath (splitRelPath subpath);
}
+39 -1
View File
@@ -3,9 +3,44 @@
{ libpath }:
let
lib = import libpath;
inherit (lib.path) subpath;
inherit (lib.path) append subpath;
cases = lib.runTests {
# Test examples from the lib.path.append documentation
testAppendExample1 = {
expr = append /foo "bar/baz";
expected = /foo/bar/baz;
};
testAppendExample2 = {
expr = append /foo "./bar//baz/./";
expected = /foo/bar/baz;
};
testAppendExample3 = {
expr = append /. "foo/bar";
expected = /foo/bar;
};
testAppendExample4 = {
expr = (builtins.tryEval (append "/foo" "bar")).success;
expected = false;
};
testAppendExample5 = {
expr = (builtins.tryEval (append /foo /bar)).success;
expected = false;
};
testAppendExample6 = {
expr = (builtins.tryEval (append /foo "")).success;
expected = false;
};
testAppendExample7 = {
expr = (builtins.tryEval (append /foo "/bar")).success;
expected = false;
};
testAppendExample8 = {
expr = (builtins.tryEval (append /foo "../bar")).success;
expected = false;
};
# Test examples from the lib.path.subpath.isValid documentation
testSubpathIsValidExample1 = {
expr = subpath.isValid null;
expected = false;
@@ -30,6 +65,7 @@ let
expr = subpath.isValid "./foo//bar/";
expected = true;
};
# Some extra tests
testSubpathIsValidTwoDotsEnd = {
expr = subpath.isValid "foo/..";
expected = false;
@@ -71,6 +107,7 @@ let
expected = true;
};
# Test examples from the lib.path.subpath.normalise documentation
testSubpathNormaliseExample1 = {
expr = subpath.normalise "foo//bar";
expected = "./foo/bar";
@@ -107,6 +144,7 @@ let
expr = (builtins.tryEval (subpath.normalise "/foo")).success;
expected = false;
};
# Some extra tests
testSubpathNormaliseIsValidDots = {
expr = subpath.normalise "./foo/.bar/.../baz...qux";
expected = "./foo/.bar/.../baz...qux";
+6
View File
@@ -6071,6 +6071,12 @@
githubId = 1592375;
name = "Walter Huf";
};
hughobrien = {
email = "github@hughobrien.ie";
github = "hughobrien";
githubId = 3400690;
name = "Hugh O'Brien";
};
hugolgst = {
email = "hugo.lageneste@pm.me";
github = "hugolgst";
@@ -54,4 +54,4 @@ run this command to do the same thing.
$ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true
```
A log-out and re-log will be needed for this to take effect.
It is necessary to log out and log in again for this to take effect.
@@ -63,7 +63,8 @@ Thunar:2410): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with db
$ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true
</programlisting>
<para>
A log-out and re-log will be needed for this to take effect.
It is necessary to log out and log in again for this to take
effect.
</para>
</section>
</chapter>
+26 -24
View File
@@ -1,4 +1,4 @@
from contextlib import _GeneratorContextManager
from contextlib import _GeneratorContextManager, nullcontext
from pathlib import Path
from queue import Queue
from typing import Any, Callable, Dict, Iterable, List, Optional, Tuple
@@ -406,25 +406,23 @@ class Machine:
return rootlog.nested(msg, my_attrs)
def wait_for_monitor_prompt(self) -> str:
with self.nested("waiting for monitor prompt"):
assert self.monitor is not None
answer = ""
while True:
undecoded_answer = self.monitor.recv(1024)
if not undecoded_answer:
break
answer += undecoded_answer.decode()
if answer.endswith("(qemu) "):
break
return answer
assert self.monitor is not None
answer = ""
while True:
undecoded_answer = self.monitor.recv(1024)
if not undecoded_answer:
break
answer += undecoded_answer.decode()
if answer.endswith("(qemu) "):
break
return answer
def send_monitor_command(self, command: str) -> str:
self.run_callbacks()
with self.nested(f"sending monitor command: {command}"):
message = f"{command}\n".encode()
assert self.monitor is not None
self.monitor.send(message)
return self.wait_for_monitor_prompt()
message = f"{command}\n".encode()
assert self.monitor is not None
self.monitor.send(message)
return self.wait_for_monitor_prompt()
def wait_for_unit(
self, unit: str, user: Optional[str] = None, timeout: int = 900
@@ -547,7 +545,7 @@ class Machine:
self.shell.send("echo ${PIPESTATUS[0]}\n".encode())
rc = int(self._next_newline_closed_block_from_shell().strip())
return (rc, output.decode())
return (rc, output.decode(errors="replace"))
def shell_interact(self, address: Optional[str] = None) -> None:
"""Allows you to interact with the guest shell for debugging purposes.
@@ -685,9 +683,9 @@ class Machine:
retry(tty_matches)
def send_chars(self, chars: str, delay: Optional[float] = 0.01) -> None:
with self.nested(f"sending keys '{chars}'"):
with self.nested(f"sending keys {repr(chars)}"):
for char in chars:
self.send_key(char, delay)
self.send_key(char, delay, log=False)
def wait_for_file(self, filename: str) -> None:
"""Waits until the file exists in machine's file system."""
@@ -860,11 +858,15 @@ class Machine:
if matches is not None:
return
def send_key(self, key: str, delay: Optional[float] = 0.01) -> None:
def send_key(
self, key: str, delay: Optional[float] = 0.01, log: Optional[bool] = True
) -> None:
key = CHAR_TO_KEY.get(key, key)
self.send_monitor_command(f"sendkey {key}")
if delay is not None:
time.sleep(delay)
context = self.nested(f"sending key {repr(key)}") if log else nullcontext()
with context:
self.send_monitor_command(f"sendkey {key}")
if delay is not None:
time.sleep(delay)
def send_console(self, chars: str) -> None:
assert self.process
+99 -20
View File
@@ -21,7 +21,8 @@ let
pCfg = cfg.prime;
syncCfg = pCfg.sync;
offloadCfg = pCfg.offload;
primeEnabled = syncCfg.enable || offloadCfg.enable;
reverseSyncCfg = pCfg.reverseSync;
primeEnabled = syncCfg.enable || reverseSyncCfg.enable || offloadCfg.enable;
nvidiaPersistencedEnabled = cfg.nvidiaPersistenced;
nvidiaSettings = cfg.nvidiaSettings;
busIDType = types.strMatching "([[:print:]]+[\:\@][0-9]{1,3}\:[0-9]{1,2}\:[0-9])?";
@@ -31,7 +32,8 @@ in
imports =
[
(mkRenamedOptionModule [ "hardware" "nvidia" "optimus_prime" "enable" ] [ "hardware" "nvidia" "prime" "sync" "enable" ])
(mkRenamedOptionModule [ "hardware" "nvidia" "optimus_prime" "allowExternalGpu" ] [ "hardware" "nvidia" "prime" "sync" "allowExternalGpu" ])
(mkRenamedOptionModule [ "hardware" "nvidia" "optimus_prime" "allowExternalGpu" ] [ "hardware" "nvidia" "prime" "allowExternalGpu" ])
(mkRenamedOptionModule [ "hardware" "nvidia" "prime" "sync" "allowExternalGpu" ] [ "hardware" "nvidia" "prime" "allowExternalGpu" ])
(mkRenamedOptionModule [ "hardware" "nvidia" "optimus_prime" "nvidiaBusId" ] [ "hardware" "nvidia" "prime" "nvidiaBusId" ])
(mkRenamedOptionModule [ "hardware" "nvidia" "optimus_prime" "intelBusId" ] [ "hardware" "nvidia" "prime" "intelBusId" ])
];
@@ -104,16 +106,17 @@ in
description = lib.mdDoc ''
Enable NVIDIA Optimus support using the NVIDIA proprietary driver via PRIME.
If enabled, the NVIDIA GPU will be always on and used for all rendering,
while enabling output to displays attached only to the integrated Intel GPU
without a multiplexer.
while enabling output to displays attached only to the integrated Intel/AMD
GPU without a multiplexer.
Note that this option only has any effect if the "nvidia" driver is specified
in {option}`services.xserver.videoDrivers`, and it should preferably
be the only driver there.
If this is enabled, then the bus IDs of the NVIDIA and Intel GPUs have to be
specified ({option}`hardware.nvidia.prime.nvidiaBusId` and
{option}`hardware.nvidia.prime.intelBusId`).
If this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to
be specified ({option}`hardware.nvidia.prime.nvidiaBusId` and
{option}`hardware.nvidia.prime.intelBusId` or
{option}`hardware.nvidia.prime.amdgpuBusId`).
If you enable this, you may want to also enable kernel modesetting for the
NVIDIA driver ({option}`hardware.nvidia.modesetting.enable`) in order
@@ -125,11 +128,11 @@ in
'';
};
hardware.nvidia.prime.sync.allowExternalGpu = mkOption {
hardware.nvidia.prime.allowExternalGpu = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Configure X to allow external NVIDIA GPUs when using optimus.
Configure X to allow external NVIDIA GPUs when using Prime [Reverse] sync optimus.
'';
};
@@ -139,9 +142,54 @@ in
description = lib.mdDoc ''
Enable render offload support using the NVIDIA proprietary driver via PRIME.
If this is enabled, then the bus IDs of the NVIDIA and Intel GPUs have to be
specified ({option}`hardware.nvidia.prime.nvidiaBusId` and
{option}`hardware.nvidia.prime.intelBusId`).
If this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to
be specified ({option}`hardware.nvidia.prime.nvidiaBusId` and
{option}`hardware.nvidia.prime.intelBusId` or
{option}`hardware.nvidia.prime.amdgpuBusId`).
'';
};
hardware.nvidia.prime.offload.enableOffloadCmd = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Adds a `nvidia-offload` convenience script to {option}`environment.systemPackages`
for offloading programs to an nvidia device. To work, should have also enabled
{option}`hardware.nvidia.prime.offload.enable` or {option}`hardware.nvidia.prime.reverseSync.enable`.
Example usage `nvidia-offload sauerbraten_client`.
'';
};
hardware.nvidia.prime.reverseSync.enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Warning: This feature is relatively new, depending on your system this might
work poorly. AMD support, especially so.
See: https://forums.developer.nvidia.com/t/the-all-new-outputsink-feature-aka-reverse-prime/129828
Enable NVIDIA Optimus support using the NVIDIA proprietary driver via reverse
PRIME. If enabled, the Intel/AMD GPU will be used for all rendering, while
enabling output to displays attached only to the NVIDIA GPU without a
multiplexer.
Note that this option only has any effect if the "nvidia" driver is specified
in {option}`services.xserver.videoDrivers`, and it should preferably
be the only driver there.
If this is enabled, then the bus IDs of the NVIDIA and Intel/AMD GPUs have to
be specified ({option}`hardware.nvidia.prime.nvidiaBusId` and
{option}`hardware.nvidia.prime.intelBusId` or
{option}`hardware.nvidia.prime.amdgpuBusId`).
If you enable this, you may want to also enable kernel modesetting for the
NVIDIA driver ({option}`hardware.nvidia.modesetting.enable`) in order
to prevent tearing.
Note that this configuration will only be successful when a display manager
for which the {option}`services.xserver.displayManager.setupCommands`
option is supported is used.
'';
};
@@ -205,6 +253,13 @@ in
'';
}
{
assertion = offloadCfg.enableOffloadCmd -> offloadCfg.enable || reverseSyncCfg.enable;
message = ''
Offload command requires offloading or reverse prime sync to be enabled.
'';
}
{
assertion = primeEnabled -> pCfg.nvidiaBusId != "" && (pCfg.intelBusId != "" || pCfg.amdgpuBusId != "");
message = ''
@@ -217,9 +272,19 @@ in
message = "NVIDIA PRIME render offload is currently only supported on versions >= 435.21.";
}
{
assertion = (reverseSyncCfg.enable && pCfg.amdgpuBusId != "") -> versionAtLeast nvidia_x11.version "470.0";
message = "NVIDIA PRIME render offload for AMD APUs is currently only supported on versions >= 470 beta.";
}
{
assertion = !(syncCfg.enable && offloadCfg.enable);
message = "Only one NVIDIA PRIME solution may be used at a time.";
message = "PRIME Sync and Offload cannot be both enabled";
}
{
assertion = !(syncCfg.enable && reverseSyncCfg.enable);
message = "PRIME Sync and PRIME Reverse Sync cannot be both enabled";
}
{
@@ -257,8 +322,10 @@ in
# - Configure the display manager to run specific `xrandr` commands which will
# configure/enable displays connected to the Intel iGPU / AMD APU.
services.xserver.drivers = let
in optional primeEnabled {
# reverse sync implies offloading
hardware.nvidia.prime.offload.enable = mkDefault reverseSyncCfg.enable;
services.xserver.drivers = optional primeEnabled {
name = igpuDriver;
display = offloadCfg.enable;
modules = optionals (igpuDriver == "amdgpu") [ pkgs.xorg.xf86videoamdgpu ];
@@ -273,7 +340,7 @@ in
deviceSection = optionalString primeEnabled
''
BusID "${pCfg.nvidiaBusId}"
${optionalString syncCfg.allowExternalGpu "Option \"AllowExternalGpus\""}
${optionalString pCfg.allowExternalGpu "Option \"AllowExternalGpus\""}
'';
screenSection =
''
@@ -290,19 +357,22 @@ in
services.xserver.serverLayoutSection = optionalString syncCfg.enable ''
Inactive "Device-${igpuDriver}[0]"
'' + optionalString reverseSyncCfg.enable ''
Inactive "Device-nvidia[0]"
'' + optionalString offloadCfg.enable ''
Option "AllowNVIDIAGPUScreens"
'';
services.xserver.displayManager.setupCommands = let
sinkGpuProviderName = if igpuDriver == "amdgpu" then
gpuProviderName = if igpuDriver == "amdgpu" then
# find the name of the provider if amdgpu
"`${pkgs.xorg.xrandr}/bin/xrandr --listproviders | ${pkgs.gnugrep}/bin/grep -i AMD | ${pkgs.gnused}/bin/sed -n 's/^.*name://p'`"
else
igpuDriver;
in optionalString syncCfg.enable ''
providerCmdParams = if syncCfg.enable then "\"${gpuProviderName}\" NVIDIA-0" else "NVIDIA-G0 \"${gpuProviderName}\"";
in optionalString (syncCfg.enable || reverseSyncCfg.enable) ''
# Added by nvidia configuration module for Optimus/PRIME.
${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource "${sinkGpuProviderName}" NVIDIA-0
${pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource ${providerCmdParams}
${pkgs.xorg.xrandr}/bin/xrandr --auto
'';
@@ -325,7 +395,16 @@ in
environment.systemPackages = [ nvidia_x11.bin ]
++ optionals cfg.nvidiaSettings [ nvidia_x11.settings ]
++ optionals nvidiaPersistencedEnabled [ nvidia_x11.persistenced ];
++ optionals nvidiaPersistencedEnabled [ nvidia_x11.persistenced ]
++ optionals offloadCfg.enableOffloadCmd [
(pkgs.writeShellScriptBin "nvidia-offload" ''
export __NV_PRIME_RENDER_OFFLOAD=1
export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@"
'')
];
systemd.packages = optional cfg.powerManagement.enable nvidia_x11.out;
+5 -1
View File
@@ -150,9 +150,13 @@ in
root = cfg.package;
index = "index.php";
extraConfig = ''
location ~* \.php$ {
location ~* \.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:${fpm.socket};
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include ${config.services.nginx.package}/conf/fastcgi_params;
include ${pkgs.nginx}/conf/fastcgi.conf;
}
+1
View File
@@ -248,6 +248,7 @@ in {
gnome = handleTest ./gnome.nix {};
gnome-flashback = handleTest ./gnome-flashback.nix {};
gnome-xorg = handleTest ./gnome-xorg.nix {};
gnupg = handleTest ./gnupg.nix {};
go-neb = handleTest ./go-neb.nix {};
gobgpd = handleTest ./gobgpd.nix {};
gocd-agent = handleTest ./gocd-agent.nix {};
+118
View File
@@ -0,0 +1,118 @@
import ./make-test-python.nix ({ pkgs, lib, ...}:
{
name = "gnupg";
meta = with lib.maintainers; {
maintainers = [ rnhmjoj ];
};
# server for testing SSH
nodes.server = { ... }: {
imports = [ ../modules/profiles/minimal.nix ];
users.users.alice.isNormalUser = true;
services.openssh.enable = true;
};
# machine for testing GnuPG
nodes.machine = { pkgs, ... }: {
imports = [ ../modules/profiles/minimal.nix ];
users.users.alice.isNormalUser = true;
services.getty.autologinUser = "alice";
environment.shellInit = ''
# preset a key passphrase in gpg-agent
preset_key() {
# find all keys
case "$1" in
ssh) grips=$(awk '/^[0-9A-F]/{print $1}' "''${GNUPGHOME:-$HOME/.gnupg}/sshcontrol") ;;
pgp) grips=$(gpg --with-keygrip --list-secret-keys | awk '/Keygrip/{print $3}') ;;
esac
# try to preset the passphrase for each key found
for grip in $grips; do
"$(gpgconf --list-dirs libexecdir)/gpg-preset-passphrase" -c -P "$2" "$grip"
done
}
'';
programs.gnupg.agent.enable = true;
programs.gnupg.agent.enableSSHSupport = true;
};
testScript =
''
import shlex
def as_alice(command: str) -> str:
"""
Wraps a command to run it as Alice in a login shell
"""
quoted = shlex.quote(command)
return "su --login alice --command " + quoted
start_all()
with subtest("Wait for the autologin"):
machine.wait_until_tty_matches("1", "alice@machine")
with subtest("Can generate a PGP key"):
# Note: this needs a tty because of pinentry
machine.send_chars("gpg --gen-key\n")
machine.wait_until_tty_matches("1", "Real name:")
machine.send_chars("Alice\n")
machine.wait_until_tty_matches("1", "Email address:")
machine.send_chars("alice@machine\n")
machine.wait_until_tty_matches("1", "Change")
machine.send_chars("O\n")
machine.wait_until_tty_matches("1", "Please enter")
machine.send_chars("pgp_p4ssphrase\n")
machine.wait_until_tty_matches("1", "Please re-enter")
machine.send_chars("pgp_p4ssphrase\n")
machine.wait_until_tty_matches("1", "public and secret key created")
with subtest("Confirm the key is in the keyring"):
machine.wait_until_succeeds(as_alice("gpg --list-secret-keys | grep -q alice@machine"))
with subtest("Can generate and add an SSH key"):
machine.succeed(as_alice("ssh-keygen -t ed25519 -f alice -N ssh_p4ssphrase"))
# Note: apparently this must be run before using the OpenSSH agent
# socket for the first time in a tty. It's not needed for `ssh`
# because there's a hook that calls it automatically (only in NixOS).
machine.send_chars("gpg-connect-agent updatestartuptty /bye\n")
# Note: again, this needs a tty because of pinentry
machine.send_chars("ssh-add alice\n")
machine.wait_until_tty_matches("1", "Enter passphrase")
machine.send_chars("ssh_p4ssphrase\n")
machine.wait_until_tty_matches("1", "Please enter")
machine.send_chars("ssh_agent_p4ssphrase\n")
machine.wait_until_tty_matches("1", "Please re-enter")
machine.send_chars("ssh_agent_p4ssphrase\n")
with subtest("Confirm the SSH key has been registered"):
machine.wait_until_succeeds(as_alice("ssh-add -l | grep -q alice@machine"))
with subtest("Can preset the key passphrases in the agent"):
machine.succeed(as_alice("echo allow-preset-passphrase > .gnupg/gpg-agent.conf"))
machine.succeed(as_alice("pkill gpg-agent"))
machine.succeed(as_alice("preset_key pgp pgp_p4ssphrase"))
machine.succeed(as_alice("preset_key ssh ssh_agent_p4ssphrase"))
with subtest("Can encrypt and decrypt a message"):
machine.succeed(as_alice("echo Hello | gpg -e -r alice | gpg -d | grep -q Hello"))
with subtest("Can log into the server"):
# Install Alice's public key
public_key = machine.succeed(as_alice("cat alice.pub"))
server.succeed("mkdir /etc/ssh/authorized_keys.d")
server.succeed(f"printf '{public_key}' > /etc/ssh/authorized_keys.d/alice")
server.wait_for_open_port(22)
machine.succeed(as_alice("ssh -i alice -o StrictHostKeyChecking=no server exit"))
'';
})
@@ -1,39 +1,67 @@
{ mkDerivation
, stdenv
{ stdenv
, lib
, fetchFromGitHub
, qmake
, pkg-config
, qttools
, qmake
, qt5compat ? null
, qtbase
, qttools
, rtaudio
, rtmidi
, wrapQtAppsHook
}:
mkDerivation rec {
assert lib.versionAtLeast qtbase.version "6.0" -> qt5compat != null;
stdenv.mkDerivation rec {
pname = "bambootracker";
version = "0.6.0";
version = "0.6.1";
src = fetchFromGitHub {
owner = "BambooTracker";
repo = "BambooTracker";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-yubaKTc8NFLxMY0/5c2VubRHgAGOsRlitmXJ1UHzl60=";
hash = "sha256-Ymi1tjJCgStF0Rtseelq/YuTtBs2PrbF898TlbjyYUw=";
};
nativeBuildInputs = [ qmake qttools pkg-config ];
postPatch = lib.optionalString (lib.versionAtLeast qtbase.version "6.0") ''
# Work around lrelease finding in qmake being broken by using pre-Qt5.12 code path
# https://github.com/NixOS/nixpkgs/issues/214765
substituteInPlace BambooTracker/lang/lang.pri \
--replace 'equals(QT_MAJOR_VERSION, 5):lessThan(QT_MINOR_VERSION, 12)' 'if(true)'
'';
buildInputs = [ qtbase rtaudio rtmidi ];
nativeBuildInputs = [
pkg-config
qmake
qttools
wrapQtAppsHook
];
qmakeFlags = [ "CONFIG+=system_rtaudio" "CONFIG+=system_rtmidi" ];
buildInputs = [
qtbase
rtaudio
rtmidi
] ++ lib.optionals (lib.versionAtLeast qtbase.version "6.0") [
qt5compat
];
qmakeFlags = [
"CONFIG+=system_rtaudio"
"CONFIG+=system_rtmidi"
];
postConfigure = "make qmake_all";
# Wrapping the inside of the app bundles, avoiding double-wrapping
dontWrapQtApps = stdenv.hostPlatform.isDarwin;
postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
mkdir -p $out/Applications
mv $out/{bin,Applications}/BambooTracker.app
ln -s $out/{Applications/BambooTracker.app/Contents/MacOS,bin}/BambooTracker
wrapQtApp $out/Applications/BambooTracker.app/Contents/MacOS/BambooTracker
'';
meta = with lib; {
+10 -10
View File
@@ -1,5 +1,5 @@
{ lib
, fetchgit
, fetchFromGitLab
, nix-update-script
, meson
, ninja
@@ -9,7 +9,7 @@
, gst_all_1
, libhandy
, libsecret
, libsoup
, libsoup_3
, appstream-glib
, desktop-file-utils
, totem-pl-parser
@@ -25,16 +25,17 @@
python3.pkgs.buildPythonApplication rec {
pname = "lollypop";
version = "1.4.35";
version = "1.4.37";
format = "other";
doCheck = false;
src = fetchgit {
url = "https://gitlab.gnome.org/World/lollypop";
rev = "refs/tags/${version}";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = pname;
rev = version;
fetchSubmodules = true;
sha256 = "sha256-Rdp0gZjdj2tXOWarsTpqgvSZVXAQsCLfk5oUyalE/ZA=";
sha256 = "sha256-3GPmGNbbSxvLq0t3F9q1x64BwNQCEvFQWLb0bSO9KUY=";
};
nativeBuildInputs = [
@@ -59,7 +60,7 @@ python3.pkgs.buildPythonApplication rec {
gstreamer
gtk3
libhandy
libsoup
libsoup_3
pango
totem-pl-parser
] ++ lib.optional lastFMSupport libsecret;
@@ -98,7 +99,6 @@ python3.pkgs.buildPythonApplication rec {
updateScript = nix-update-script { };
};
meta = with lib; {
changelog = "https://gitlab.gnome.org/World/lollypop/tags/${version}";
description = "A modern music player for GNOME";
@@ -0,0 +1,34 @@
{ rustPlatform
, fetchFromGitHub
, pkg-config
, dbus
, protobuf
, lib
}:
rustPlatform.buildRustPackage rec {
pname = "pbpctrl";
# https://github.com/qzed/pbpctrl/issues/4
version = "unstable-2023-02-07";
src = fetchFromGitHub {
owner = "qzed";
repo = "${pname}";
rev = "9fef4bb88046a9f00719b189f8e378c8dbdb8ee6";
hash = "sha256-8YbsBqqITJ9bKzbGX6d/CSBb8wzr6bDzy8vsyntL1CA=";
};
cargoHash = "sha256-ZxJjjaT/ZpEPxvO42UWBy3xW/V5dhXGsKn3KmuM89YA==";
nativeBuildInputs = [ pkg-config protobuf ];
buildInputs = [ dbus ];
meta = with lib; {
description = "Control Google Pixel Buds Pro from the Linux command line.";
homepage = "https://github.com/qzed/pbpctrl";
license = with licenses; [ asl20 mit ];
maintainers = [ maintainers.vanilla ];
platforms = platforms.linux;
};
}
@@ -23,20 +23,20 @@
stdenv.mkDerivation rec {
pname = "shortwave";
version = "3.1.0";
version = "3.2.0";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = "Shortwave";
rev = version;
sha256 = "sha256-N0ftIq0+sxkpo56IGHZYAK6MgRNW7T6C2jWEiJsYy/Y=";
sha256 = "sha256-ESZ1yD1IuBar8bv83xMczZbtPtHbWRpe2yMVyr7K5gQ=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-90JBN3cJKqIJX6DRq5FtEpIr5Isxf+jb1SlxGMbBwMQ=";
hash = "sha256-8W46bGAitR2YbZbnsigAZMW5pSFTkDAe5JNaNOH5JfA=";
};
nativeBuildInputs = [
@@ -11,16 +11,16 @@
rustPlatform.buildRustPackage rec {
pname = "spotify-player";
version = "0.10.0";
version = "0.11.1";
src = fetchFromGitHub {
owner = "aome510";
repo = pname;
rev = "v${version}";
sha256 = "sha256-bHPWpx8EJibr2kNuzuGAQPZ0DE6qeJwIRYDy+NFS/PQ=";
sha256 = "sha256-iaDaPjh2wZXxBxBDhWp+hHrJZyXqw6HSzgCzbZj9iho=";
};
cargoSha256 = "sha256-QeQ3PYI5RmbJ+VQ9hLSTXgQXVVoID5zbRqSTrbWzVy8=";
cargoHash = "sha256-I8n/fR1aOsSex2p0u5FaqoJCh2J0oMxkikS9aynxgpA=";
nativeBuildInputs = [
pkg-config
@@ -103,7 +103,7 @@ in rec {
fetchurl {
url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops${platform_major}/R-${platform_major}.${platform_minor}-${timestamp}/eclipse-SDK-${platform_major}.${platform_minor}-linux-gtk-${arch}.tar.gz";
hash = {
x86_64 = "sha512-hmdWGteMDt4HhYq+k9twuftalpTzHtGnVVLphZcpJcw+6vJfersciDMaeLRqbCAeFbzJdgzjYo76bpP6FubySw==";
x86_64 = "sha512-yH4/K9sBLCUc2EVYwPL0dLql/S3AfaV6fFh7ewAuIb7yHtcsOWMqy/h1hZUlFFg2ykfwDWDDHEK7qfTI0hM7BQ==";
aarch64 = "sha512-UYp8t7r2RrN3rKN180cWpJyhyO5LVXL8LrTRKJzttUgB7kM1nroTEI3DesBu+Hw4Ynl7eLiBK397rqcpOAfxJw==";
}.${arch};
};
@@ -41,13 +41,13 @@
stdenv.mkDerivation rec {
pname = "gnome-builder";
version = "43.5";
version = "43.6";
outputs = [ "out" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
sha256 = "Rav15H1s4jzjTXjFcOgeBrIntD6ZoRMlcy7GXhskU+o=";
sha256 = "m08hPdloyVL75CJoUPXJVk3f1XimoPiT06K2rhmjd6k=";
};
patches = [
@@ -9,10 +9,10 @@
let
# Keep these separate so the update script can regex them
rpcs3GitVersion = "14637-c471120a8";
rpcs3Version = "0.0.26-14637-c471120a8";
rpcs3Revision = "c471120a80ec6f12cd4489e1a9be073d7d9c96f2";
rpcs3Sha256 = "1fl7zarxbjaz6mi3lqv55kdwpvjfz8d02qfl0655zihwm6zzdny5";
rpcs3GitVersion = "14684-8652b7d35";
rpcs3Version = "0.0.26-14684-8652b7d35";
rpcs3Revision = "8652b7d358fe975242dd2c51c91fd2968e6bcb82";
rpcs3Sha256 = "08cd082cih9pcppipkhid1x1s7bq4grsz0zfa1rlxkzw3lajxnrf";
ittapi = fetchFromGitHub {
owner = "intel";
+2 -2
View File
@@ -73,14 +73,14 @@ let
six
];
in mkDerivation rec {
version = "3.22.15";
version = "3.22.16";
pname = "qgis-ltr-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
hash = "sha256-0hly1yZ7NAcSe84XMwDlcmZPunPcNXYzvAhd0Z5rB0Q=";
hash = "sha256-6UpWVEyh94Oo6eI/dEmDuJHRwpPtkEsksjE90iAUgo8=";
};
passthru = {
@@ -47,13 +47,13 @@ in
stdenv.mkDerivation rec {
pname = "imagemagick";
version = "7.1.0-60";
version = "7.1.0-61";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = version;
hash = "sha256-dQfmW9rt66eWOaKbZ9j8jc1k8v+F8B9TpTx12L+0VE4=";
hash = "sha256-g7WeqPpPd1gceU+s+vRDpb41IX1lzpiqh3cAYeFdUlg=";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@@ -9,13 +9,13 @@
mkDerivation rec {
pname = "moolticute";
version = "1.00.1";
version = "1.01.0";
src = fetchFromGitHub {
owner = "mooltipass";
repo = pname;
rev = "v${version}";
sha256 = "sha256-oENMr3d2vFisEFl7gYBQQ0XRBeogAYOfBE5th463laI=";
sha256 = "sha256-6vqYyAJ9p0ey49kc2Tp/HZVv0mePARX2dcmcIG4bcNQ=";
};
outputs = [ "out" "udev" ];
@@ -40,7 +40,7 @@ mkDerivation rec {
'';
homepage = "https://github.com/mooltipass/moolticute";
license = licenses.gpl3Plus;
maintainers = [ maintainers.kirikaza ];
maintainers = with maintainers; [ kirikaza hughobrien ];
platforms = platforms.linux;
};
}
@@ -159,13 +159,13 @@ let
in
python3'.pkgs.buildPythonPackage rec {
pname = "privacyIDEA";
version = "3.8";
version = "3.8.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "sha256-FCvuWXon8c9LnX1FnCxcSTfBR5/6zijD6ld0iAEVFkU=";
sha256 = "sha256-SYXw8PBCb514v3rcy15W/vZS5JyMsu81D2sJmviLRtw=";
fetchSubmodules = true;
};
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "glooctl";
version = "1.13.4";
version = "1.13.5";
src = fetchFromGitHub {
owner = "solo-io";
repo = "gloo";
rev = "v${version}";
hash = "sha256-eyfMWum1fZUq4iF77Q+0FP2Rdq2P+xK0au3ytN8MS+k=";
hash = "sha256-mBmjGP7O1uX+uVM4/us4RWeJcXB1lSEvZQWT/3Ygzik=";
};
subPackages = [ "projects/gloo/cli/cmd" ];
@@ -5,11 +5,11 @@
let
pname = "zulip";
version = "5.9.4";
version = "5.9.5";
src = fetchurl {
url = "https://github.com/zulip/zulip-desktop/releases/download/v${version}/Zulip-${version}-x86_64.AppImage";
hash = "sha256-gbusyhMgoaQmeWm6dB6pc3kSykD4T97VQcJgcF5KbzM=";
hash = "sha256-w2thmF/UA42j3u3m4L+/onilQhwMOa7IJoOMZ/ERypw=";
name="${pname}-${version}.AppImage";
};
+89 -89
View File
@@ -193,13 +193,22 @@ let
sha512 = "UA/8dgLy3+ZiwJjAZHxL4MUB14fFQPkaAOZ94jsTW/Z6WmoOeny2+cLk0+dyIX/iH6qSrEWKwbStEeB970B9pA==";
};
};
"@azure/msal-browser-2.32.2" = {
"@azure/msal-browser-2.33.0" = {
name = "_at_azure_slash_msal-browser";
packageName = "@azure/msal-browser";
version = "2.32.2";
version = "2.33.0";
src = fetchurl {
url = "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.32.2.tgz";
sha512 = "1YqGzXtPG3QrZPFBKaMWr2WQdukDj+PelqUCv351+p+hlw/AhdRrb8haY73/iqkhT6Cdrbnh7sL4gikVsF4O1g==";
url = "https://registry.npmjs.org/@azure/msal-browser/-/msal-browser-2.33.0.tgz";
sha512 = "c7CVh1tfUfxiWkEIhoIb11hL4PGo4hz0M+gMy34ATagAKdLK7qyEu/5AXJWAf5lz5eE+vQhm7+LKiuETrcXXGw==";
};
};
"@azure/msal-common-10.0.0" = {
name = "_at_azure_slash_msal-common";
packageName = "@azure/msal-common";
version = "10.0.0";
src = fetchurl {
url = "https://registry.npmjs.org/@azure/msal-common/-/msal-common-10.0.0.tgz";
sha512 = "/LghpT93jsZLy55QzTsRZWMx6R1Mjc1Aktwps8sKSGE3WbrGwbSsh2uhDlpl6FMcKChYjJ0ochThWwwOodrQNg==";
};
};
"@azure/msal-common-4.5.1" = {
@@ -220,15 +229,6 @@ let
sha512 = "XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==";
};
};
"@azure/msal-common-9.1.1" = {
name = "_at_azure_slash_msal-common";
packageName = "@azure/msal-common";
version = "9.1.1";
src = fetchurl {
url = "https://registry.npmjs.org/@azure/msal-common/-/msal-common-9.1.1.tgz";
sha512 = "we9xR8lvu47fF0h+J8KyXoRy9+G/fPzm3QEa2TrdR3jaVS3LKAyE2qyMuUkNdbVkvzl8Zr9f7l+IUSP22HeqXw==";
};
};
"@azure/msal-node-1.0.0-beta.6" = {
name = "_at_azure_slash_msal-node";
packageName = "@azure/msal-node";
@@ -238,13 +238,13 @@ let
sha512 = "ZQI11Uz1j0HJohb9JZLRD8z0moVcPks1AFW4Q/Gcl67+QvH4aKEJti7fjCcipEEZYb/qzLSO8U6IZgPYytsiJQ==";
};
};
"@azure/msal-node-1.14.6" = {
"@azure/msal-node-1.15.0" = {
name = "_at_azure_slash_msal-node";
packageName = "@azure/msal-node";
version = "1.14.6";
version = "1.15.0";
src = fetchurl {
url = "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.14.6.tgz";
sha512 = "em/qqFL5tLMxMPl9vormAs13OgZpmQoJbiQ/GlWr+BA77eCLoL+Ehr5xRHowYo+LFe5b+p+PJVkRvT+mLvOkwA==";
url = "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.15.0.tgz";
sha512 = "fwC5M0c8pxOAzmScPbpx7j28YVTDebUaizlVF7bR0xvlU0r3VWW5OobCcr9ybqKS6wGyO7u4EhXJS9rjRWAuwA==";
};
};
"@azure/storage-blob-12.12.0" = {
@@ -1246,13 +1246,13 @@ let
sha512 = "erqUpFXksaeR2kejKnhnjZjbFxUpGZx4Z7ydNL9ie8tEhXPiZTsLeUDJ6aR1F8j5wWUAtOAQWUqkc7givBJbBA==";
};
};
"@types/express-4.17.16" = {
"@types/express-4.17.17" = {
name = "_at_types_slash_express";
packageName = "@types/express";
version = "4.17.16";
version = "4.17.17";
src = fetchurl {
url = "https://registry.npmjs.org/@types/express/-/express-4.17.16.tgz";
sha512 = "LkKpqRZ7zqXJuvoELakaFYuETHjZkSol8EV6cNnyishutDBCCdv6+dsKPbKkCcIk57qRphOLY5sEgClw1bO3gA==";
url = "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz";
sha512 = "Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==";
};
};
"@types/express-jwt-0.0.42" = {
@@ -1336,13 +1336,13 @@ let
sha512 = "/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA==";
};
};
"@types/node-18.11.18" = {
"@types/node-18.11.19" = {
name = "_at_types_slash_node";
packageName = "@types/node";
version = "18.11.18";
version = "18.11.19";
src = fetchurl {
url = "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz";
sha512 = "DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==";
url = "https://registry.npmjs.org/@types/node/-/node-18.11.19.tgz";
sha512 = "YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw==";
};
};
"@types/node-fetch-2.6.2" = {
@@ -1435,13 +1435,13 @@ let
sha512 = "kr90f+ERiQtKWMz5rP32ltJ/BtULDI5RVO0uavn1HQUOwjx0R1h0rnDYNL0CepF1zL5bSY6FISAfd9tOdDhU5Q==";
};
};
"@types/validator-13.7.11" = {
"@types/validator-13.7.12" = {
name = "_at_types_slash_validator";
packageName = "@types/validator";
version = "13.7.11";
version = "13.7.12";
src = fetchurl {
url = "https://registry.npmjs.org/@types/validator/-/validator-13.7.11.tgz";
sha512 = "WqTos+CnAKN64YwyBMhgUYhb5VsTNKwUY6AuzG5qu9/pFZJar/RJFMZBXwX7VS+uzYi+lIAr3WkvuWqEI9F2eg==";
url = "https://registry.npmjs.org/@types/validator/-/validator-13.7.12.tgz";
sha512 = "YVtyAPqpefU+Mm/qqnOANW6IkqKpCSrarcyV269C8MA8Ux0dbkEuQwM/4CjL47kVEM2LgBef/ETfkH+c6+moFA==";
};
};
"@types/webidl-conversions-7.0.0" = {
@@ -1966,13 +1966,13 @@ let
sha512 = "9cYNccliXZDByFsFliVwk5GvTq058Fj513CiR4E60ndDwmuXzTJEp/Bp8FyuRmGyYupLjHLs+JA9/CBoVS4/NQ==";
};
};
"aws-sdk-2.1308.0" = {
"aws-sdk-2.1310.0" = {
name = "aws-sdk";
packageName = "aws-sdk";
version = "2.1308.0";
version = "2.1310.0";
src = fetchurl {
url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1308.0.tgz";
sha512 = "tm4UXah8dCqt1geyxrtoyp6dN5QhuLjNeACUZEsffww5oZPMx24EX9dAtvtSu3UfIHwmbR74QomYi1c1u8Jndg==";
url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1310.0.tgz";
sha512 = "D0m9uFUa1UVXWTe4GSyNJP4+6DXwboE2FEG/URkLoo4r9Q8LHxwNFCGkBhaoEwssREyRe2LOYS1Nag/6WyvC6Q==";
};
};
"aws-sign2-0.7.0" = {
@@ -2092,13 +2092,13 @@ let
sha512 = "V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==";
};
};
"better-sqlite3-8.0.1" = {
"better-sqlite3-8.1.0" = {
name = "better-sqlite3";
packageName = "better-sqlite3";
version = "8.0.1";
version = "8.1.0";
src = fetchurl {
url = "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.0.1.tgz";
sha512 = "JhTZjpyapA1icCEjIZB4TSSgkGdFgpWZA2Wszg7Cf4JwJwKQmbvuNnJBeR+EYG/Z29OXvR4G//Rbg31BW/Z7Yg==";
url = "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-8.1.0.tgz";
sha512 = "p1m09H+Oi8R9TPj810pdNswMFuVgRNgCJEWypp6jlkOgSwMIrNyuj3hW78xEuBRGok5RzeaUW8aBtTWF3l/TQA==";
};
};
"big-integer-1.6.51" = {
@@ -5098,13 +5098,13 @@ let
sha512 = "4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==";
};
};
"ics-2.41.0" = {
"ics-2.44.0" = {
name = "ics";
packageName = "ics";
version = "2.41.0";
version = "2.44.0";
src = fetchurl {
url = "https://registry.npmjs.org/ics/-/ics-2.41.0.tgz";
sha512 = "6oleMfOpdBIrZGMNrTutwW7eFwua8lOkymDNxMXlsVF00HghqH+I3S6frt3a2rfjXTlkI0qiY2rnsKP2JQ9vJA==";
url = "https://registry.npmjs.org/ics/-/ics-2.44.0.tgz";
sha512 = "JeiPjNeWkd7Qri/wfHqjZCtglVwRJRqy1MEFKn9QzatzxUyCOsx4YARPlLkU8UnPxpg4VtEjR+VRUG+Cvj6bDg==";
};
};
"ieee754-1.1.13" = {
@@ -6466,13 +6466,13 @@ let
sha512 = "A9SzX4hMKWS25MyalwcOnNoplyHbkNVsjidhTp8ru0Sj23wY9GWBKS8gAIGDSAqeWjIjvE4KBEl24XXAs+v4wQ==";
};
};
"logform-2.4.2" = {
"logform-2.5.0" = {
name = "logform";
packageName = "logform";
version = "2.4.2";
version = "2.5.0";
src = fetchurl {
url = "https://registry.npmjs.org/logform/-/logform-2.4.2.tgz";
sha512 = "W4c9himeAwXEdZ05dQNerhFz2XG80P9Oj0loPUMV23VC2it0orMHQhJm4hdnnor3rd1HsGf6a2lPwBM1zeXHGw==";
url = "https://registry.npmjs.org/logform/-/logform-2.5.0.tgz";
sha512 = "fsFiH2yjSCTmzotZ5JmEo0brQyJ7iHrc8pQ5pnHg6e1e5WfkqdNMDvgRWSfz+aCr3Y2YxYzHA4UKj+6QoctKrg==";
};
};
"long-4.0.0" = {
@@ -6871,13 +6871,13 @@ let
sha512 = "DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==";
};
};
"minipass-4.0.1" = {
"minipass-4.0.2" = {
name = "minipass";
packageName = "minipass";
version = "4.0.1";
version = "4.0.2";
src = fetchurl {
url = "https://registry.npmjs.org/minipass/-/minipass-4.0.1.tgz";
sha512 = "V9esFpNbK0arbN3fm2sxDKqMYgIp7XtVdE4Esj+PE4Qaaxdg1wIw48ITQIOn1sc8xXSmUviVL3cyjMqPlrVkiA==";
url = "https://registry.npmjs.org/minipass/-/minipass-4.0.2.tgz";
sha512 = "4Hbzei7ZyBp+1aw0874YWpKOubZd/jc53/XU+gkYry1QV+VvrbO8icLM5CUtm4F0hyXn85DXYKEMIS26gitD3A==";
};
};
"minipass-collect-1.0.2" = {
@@ -7159,22 +7159,22 @@ let
sha512 = "Dd6SdWYDjlhgrpPbof4DFPP4hPdpH9cA+3YkFSCgQLNyCi0RdqiQJqPQ5xQFlNVaxd6a7R69RHy/oNwt6/+cLw==";
};
};
"n8n-editor-ui-0.180.0" = {
"n8n-editor-ui-0.180.2" = {
name = "n8n-editor-ui";
packageName = "n8n-editor-ui";
version = "0.180.0";
version = "0.180.2";
src = fetchurl {
url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.180.0.tgz";
sha512 = "Xbjumqnc9chwVWDulXsIhXZ8r9i1nYUzJGBepC6xNM8kTaCRwCokfxUALfFPGNRUBg/A47ez89TNgDY9Mu/X3w==";
url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.180.2.tgz";
sha512 = "5XIIDN6X2CbQtDFwthCOqanvkOgbbFu36h9LZb/eB8KdQKs5dxNFi958lIrKuyZaiPYBQTZCPZWMcqqie+9JIQ==";
};
};
"n8n-nodes-base-0.212.0" = {
"n8n-nodes-base-0.212.2" = {
name = "n8n-nodes-base";
packageName = "n8n-nodes-base";
version = "0.212.0";
version = "0.212.2";
src = fetchurl {
url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.212.0.tgz";
sha512 = "OENgQkAU70krTAoElQkQTX61Bh/rz2cpip+WDFea+KTXTBqU1gQDNlt3IZdhkS1l0F4e1VfblQawqMeJVFxwbA==";
url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.212.2.tgz";
sha512 = "kmuuZOvQ+c84Eap2TW/RUzTZffYznI9fscTUSZYd8xpFdbptIH9TL0pkkcKhybvOC5y0CFPeMKV5JcH0uEujmw==";
};
};
"n8n-workflow-0.135.0" = {
@@ -7294,13 +7294,13 @@ let
sha512 = "fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==";
};
};
"node-abi-3.31.0" = {
"node-abi-3.32.0" = {
name = "node-abi";
packageName = "node-abi";
version = "3.31.0";
version = "3.32.0";
src = fetchurl {
url = "https://registry.npmjs.org/node-abi/-/node-abi-3.31.0.tgz";
sha512 = "eSKV6s+APenqVh8ubJyiu/YhZgxQpGP66ntzUb3lY1xB9ukSRaGnx0AIxI+IM+1+IVYC1oWobgG5L3Lt9ARykQ==";
url = "https://registry.npmjs.org/node-abi/-/node-abi-3.32.0.tgz";
sha512 = "HkwdiLzE/LeuOMIQq/dJq70oNyRc88+wt5CH/RXYseE00LkA/c4PkS6Ti1vE4OHYUiKjkwuxjWq9pItgrz8UJw==";
};
};
"node-abort-controller-2.0.0" = {
@@ -10156,13 +10156,13 @@ let
sha512 = "a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==";
};
};
"tinycolor2-1.5.2" = {
"tinycolor2-1.6.0" = {
name = "tinycolor2";
packageName = "tinycolor2";
version = "1.5.2";
version = "1.6.0";
src = fetchurl {
url = "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.5.2.tgz";
sha512 = "h80m9GPFGbcLzZByXlNSEhp1gf8Dy+VX/2JCGUZsWLo7lV1mnE/XlxGYgRBoMLJh1lIDXP0EMC4RPTjlRaV+Bg==";
url = "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz";
sha512 = "XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==";
};
};
"title-case-3.0.3" = {
@@ -10804,13 +10804,13 @@ let
sha512 = "ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==";
};
};
"vm2-3.9.13" = {
"vm2-3.9.14" = {
name = "vm2";
packageName = "vm2";
version = "3.9.13";
version = "3.9.14";
src = fetchurl {
url = "https://registry.npmjs.org/vm2/-/vm2-3.9.13.tgz";
sha512 = "0rvxpB8P8Shm4wX2EKOiMp7H2zq+HUE/UwodY0pCZXs9IffIKZq6vUti5OgkVCTakKo9e/fgO4X1fkwfjWxE3Q==";
url = "https://registry.npmjs.org/vm2/-/vm2-3.9.14.tgz";
sha512 = "HgvPHYHeQy8+QhzlFryvSteA4uQLBCOub02mgqdR+0bN/akRZ48TGB1v0aCv7ksyc0HXx16AZtMHKS38alc6TA==";
};
};
"vue-2.6.14" = {
@@ -11359,10 +11359,10 @@ in
n8n = nodeEnv.buildNodePackage {
name = "n8n";
packageName = "n8n";
version = "0.214.0";
version = "0.214.2";
src = fetchurl {
url = "https://registry.npmjs.org/n8n/-/n8n-0.214.0.tgz";
sha512 = "nCwdAvgweOtKOg1ZAMLNoc9PgKBFPHAob3+2mw1UAqV0O+pBFcearssVMczcqiH9yr+PYkL4FKqvrPkB292Iwg==";
url = "https://registry.npmjs.org/n8n/-/n8n-0.214.2.tgz";
sha512 = "9KbRJMT8/f4+5kiCnqZbe+ETKdBnBb5VJtw7DUbtu3Uj327dtGlPeX2E/kgXwwonnkO6XgdOteJZDSiixxozbg==";
};
dependencies = [
(sources."@acuminous/bitsyntax-0.1.2" // {
@@ -11452,15 +11452,15 @@ in
];
})
sources."@azure/ms-rest-nodeauth-3.1.1"
(sources."@azure/msal-browser-2.32.2" // {
(sources."@azure/msal-browser-2.33.0" // {
dependencies = [
sources."@azure/msal-common-9.1.1"
sources."@azure/msal-common-10.0.0"
];
})
sources."@azure/msal-common-7.6.0"
(sources."@azure/msal-node-1.14.6" // {
(sources."@azure/msal-node-1.15.0" // {
dependencies = [
sources."@azure/msal-common-9.1.1"
sources."@azure/msal-common-10.0.0"
];
})
(sources."@azure/storage-blob-12.12.0" // {
@@ -11656,7 +11656,7 @@ in
sources."@types/connect-3.4.35"
sources."@types/duplexify-3.6.1"
sources."@types/es-aggregate-error-1.0.2"
sources."@types/express-4.17.16"
sources."@types/express-4.17.17"
sources."@types/express-jwt-0.0.42"
sources."@types/express-serve-static-core-4.17.33"
sources."@types/express-unless-2.0.1"
@@ -11666,7 +11666,7 @@ in
sources."@types/long-4.0.2"
sources."@types/mime-3.0.1"
sources."@types/multer-1.4.7"
sources."@types/node-18.11.18"
sources."@types/node-18.11.19"
(sources."@types/node-fetch-2.6.2" // {
dependencies = [
sources."form-data-3.0.1"
@@ -11681,7 +11681,7 @@ in
sources."@types/tough-cookie-2.3.8"
sources."@types/tunnel-0.0.3"
sources."@types/uuid-9.0.0"
sources."@types/validator-13.7.11"
sources."@types/validator-13.7.12"
sources."@types/webidl-conversions-7.0.0"
sources."@types/whatwg-url-8.2.2"
sources."@vue/compiler-sfc-2.7.14"
@@ -11769,7 +11769,7 @@ in
})
sources."available-typed-arrays-1.0.5"
sources."avsc-5.7.7"
(sources."aws-sdk-2.1308.0" // {
(sources."aws-sdk-2.1310.0" // {
dependencies = [
sources."buffer-4.9.2"
sources."events-1.1.1"
@@ -11800,7 +11800,7 @@ in
})
sources."bcrypt-pbkdf-1.0.2"
sources."bcryptjs-2.4.3"
sources."better-sqlite3-8.0.1"
sources."better-sqlite3-8.1.0"
sources."big-integer-1.6.51"
sources."big.js-6.2.1"
sources."bignumber.js-2.4.0"
@@ -12252,7 +12252,7 @@ in
sources."humanize-ms-1.2.1"
sources."hyperlinker-1.0.0"
sources."iconv-lite-0.6.3"
sources."ics-2.41.0"
sources."ics-2.44.0"
sources."ieee754-1.2.1"
sources."ignore-5.2.4"
(sources."imap-0.8.19" // {
@@ -12427,7 +12427,7 @@ in
sources."lodash.uniqby-4.7.0"
sources."lodash.unset-4.5.2"
sources."lodash.zipobject-4.1.3"
sources."logform-2.4.2"
sources."logform-2.5.0"
sources."long-4.0.0"
sources."lossless-json-1.0.5"
(sources."lower-case-2.0.2" // {
@@ -12487,7 +12487,7 @@ in
];
})
sources."minimist-1.2.7"
sources."minipass-4.0.1"
sources."minipass-4.0.2"
(sources."minipass-collect-1.0.2" // {
dependencies = [
sources."minipass-3.3.6"
@@ -12581,8 +12581,8 @@ in
sources."vue2-boring-avatars-0.3.8"
];
})
sources."n8n-editor-ui-0.180.0"
(sources."n8n-nodes-base-0.212.0" // {
sources."n8n-editor-ui-0.180.2"
(sources."n8n-nodes-base-0.212.2" // {
dependencies = [
sources."chokidar-3.5.2"
];
@@ -12608,7 +12608,7 @@ in
sources."tslib-2.5.0"
];
})
sources."node-abi-3.31.0"
sources."node-abi-3.32.0"
sources."node-abort-controller-3.1.1"
sources."node-addon-api-4.3.0"
sources."node-ensure-0.0.0"
@@ -13083,7 +13083,7 @@ in
sources."through2-filter-3.0.0"
sources."throwback-4.1.0"
sources."timeago.js-4.0.2"
sources."tinycolor2-1.5.2"
sources."tinycolor2-1.6.0"
(sources."title-case-3.0.3" // {
dependencies = [
sources."tslib-2.5.0"
@@ -13227,7 +13227,7 @@ in
sources."core-util-is-1.0.2"
];
})
sources."vm2-3.9.13"
sources."vm2-3.9.14"
sources."vue-2.7.14"
sources."vue-agile-2.0.0"
sources."vue-color-2.8.1"
@@ -0,0 +1,194 @@
{ lib
, stdenv
, pkgs
, fetchFromGitHub
, fetchpatch
, which
, openssh
, gcc
, gfortran
, perl
, mpi
, blas
, lapack
, python3
, tcsh
, bash
, automake
, autoconf
, libtool
, makeWrapper
}:
assert blas.isILP64 == lapack.isILP64;
let
versionGA = "5.7.2"; # Fixed by nwchem
ga_src = fetchFromGitHub {
owner = "GlobalArrays";
repo = "ga";
rev = "v${versionGA}";
sha256 = "0c1y9a5jpdw9nafzfmvjcln1xc2gklskaly0r1alm18ng9zng33i";
};
in
stdenv.mkDerivation rec {
pname = "nwchem";
version = "7.0.2";
src = fetchFromGitHub {
owner = "nwchemgit";
repo = "nwchem";
rev = "v${version}-release";
sha256 = "1ckhcjaw1hzdsmm1x2fva27c4rs3r0h82qivg72v53idz880hbp3";
};
patches = [
# Fix Python 3.10 compatibility
(fetchpatch {
name = "python3.10";
url = "https://github.com/nwchemgit/nwchem/commit/638401361c6f294164a4f820ff867a62ac836fd5.patch";
sha256 = "sha256-yUZb3wWYZm1dX0HwvffksFwhVdb7ix1p8ooJnqiSgEg=";
})
];
nativeBuildInputs = [
perl
automake
autoconf
libtool
makeWrapper
gfortran
which
];
buildInputs = [
tcsh
openssh
blas
lapack
python3
];
propagatedBuildInputs = [ mpi ];
propagatedUserEnvPkgs = [ mpi ];
postUnpack = ''
cp -r ${ga_src}/ source/src/tools/ga-${versionGA}
chmod -R u+w source/src/tools/ga-${versionGA}
'';
postPatch = ''
find -type f -executable -exec sed -i "s:/bin/csh:${tcsh}/bin/tcsh:" \{} \;
find -type f -name "GNUmakefile" -exec sed -i "s:/usr/bin/gcc:${gcc}/bin/gcc:" \{} \;
find -type f -name "GNUmakefile" -exec sed -i "s:/bin/rm:rm:" \{} \;
find -type f -executable -exec sed -i "s:/bin/rm:rm:" \{} \;
find -type f -name "makelib.h" -exec sed -i "s:/bin/rm:rm:" \{} \;
# Overwrite script, skipping the download
echo -e '#!/bin/sh\n cd ga-${versionGA};autoreconf -ivf' > src/tools/get-tools-github
patchShebangs ./
'';
# There is no configure script. Instead the build is controlled via
# environment variables passed to the Makefile
configurePhase = ''
runHook preConfigure
# config parameters
export NWCHEM_TARGET="LINUX64"
export ARMCI_NETWORK="MPI-PR"
export USE_MPI="y"
export USE_MPIF="y"
export NWCHEM_MODULES="all python"
export USE_PYTHONCONFIG="y"
export USE_PYTHON64="n"
export PYTHONLIBTYPE="so"
export PYTHONHOME="${python3}"
export PYTHONVERSION=${lib.versions.majorMinor python3.version}
export BLASOPT="-L${blas}/lib -lblas"
export LAPACK_LIB="-L${lapack}/lib -llapack"
export BLAS_SIZE=${if blas.isILP64 then "8" else "4"}
# extra TCE related options
export MRCC_METHODS="y"
export EACCSD="y"
export IPCCSD="y"
export NWCHEM_TOP="$(pwd)"
runHook postConfigure
'';
enableParallelBuilding = true;
preBuild = ''
ln -s ${ga_src} src/tools/ga-${versionGA}.tar.gz
cd src
make nwchem_config
${lib.optionalString (!blas.isILP64) "make 64_to_32"}
'';
postBuild = ''
cd $NWCHEM_TOP/src/util
make version
make
cd $NWCHEM_TOP/src
make link
'';
installPhase = ''
mkdir -p $out/bin $out/share/nwchem
cp $NWCHEM_TOP/bin/LINUX64/nwchem $out/bin/nwchem
cp -r $NWCHEM_TOP/src/data $out/share/nwchem/
cp -r $NWCHEM_TOP/src/basis/libraries $out/share/nwchem/data
cp -r $NWCHEM_TOP/src/nwpw/libraryps $out/share/nwchem/data
cp -r $NWCHEM_TOP/QA $out/share/nwchem
wrapProgram $out/bin/nwchem \
--set-default NWCHEM_BASIS_LIBRARY $out/share/nwchem/data/libraries/
cat > $out/share/nwchem/nwchemrc << EOF
nwchem_basis_library $out/share/nwchem/data/libraries/
nwchem_nwpw_library $out/share/nwchem//data/libraryps/
ffield amber
amber_1 $out/share/nwchem/data/amber_s/
amber_2 $out/share/nwchem/data/amber_q/
amber_3 $out/share/nwchem/data/amber_x/
amber_4 $out/share/nwchem/data/amber_u/
spce $out/share/nwchem/data/solvents/spce.rst
charmm_s $out/share/nwchem/data/charmm_s/
charmm_x $out/share/nwchem/data/charmm_x/
EOF
'';
doCheck = false;
doInstallCheck = true;
installCheckPhase = ''
export OMP_NUM_THREADS=1
# Fix to make mpich run in a sandbox
export HYDRA_IFACE=lo
export OMPI_MCA_rmaps_base_oversubscribe=1
# run a simple water test
mpirun -np 2 $out/bin/nwchem $out/share/nwchem/QA/tests/h2o/h2o.nw > h2o.out
grep "Total SCF energy" h2o.out | grep 76.010538
'';
passthru = { inherit mpi; };
meta = with lib; {
description = "Open Source High-Performance Computational Chemistry";
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ sheepforce markuskowa ];
homepage = "https://nwchemgit.github.io";
license = licenses.ecl20;
};
}
@@ -28,16 +28,16 @@
with python3Packages;
buildPythonApplication rec {
pname = "kitty";
version = "0.27.0";
version = "0.27.1";
format = "other";
src = fetchFromGitHub {
owner = "kovidgoyal";
repo = "kitty";
rev = "refs/tags/v${version}";
hash = "sha256-742RB5ijCEYgjGgGyb6ZZ34GfMHm8253d3cNLQQzL38=";
hash = "sha256-/K/5T15kULTQP1FCLnyrKfhlQjIStayutaxLjmHjHes=";
};
vendorHash = "sha256-0hylttMwkmhpydKY7cpOoHrKmaGF4ediI8uwtcT3x4I=";
vendorHash = "sha256-JLPPNOsoq+ErLhELsX3z3YehYfgp7OGXEXlP3IVcM5k=";
buildInputs = [
harfbuzz
@@ -1,12 +1,17 @@
{ lib
, stdenv
, buildGoModule
, fetchFromGitHub
, installShellFiles
, lima
, lima-bin
, makeWrapper
, qemu
, testers
, colima
# use lima-bin on darwin to support native macOS virtualization
# https://github.com/NixOS/nixpkgs/pull/209171
, lima-drv ? if stdenv.isDarwin then lima-bin else lima
}:
buildGoModule rec {
@@ -41,7 +46,7 @@ buildGoModule rec {
postInstall = ''
wrapProgram $out/bin/colima \
--prefix PATH : ${lib.makeBinPath [ lima qemu ]}
--prefix PATH : ${lib.makeBinPath [ lima-drv qemu ]}
installShellCompletion --cmd colima \
--bash <($out/bin/colima completion bash) \
+2 -2
View File
@@ -5,11 +5,11 @@
stdenvNoCC.mkDerivation rec {
pname = "lxgw-neoxihei";
version = "1.005";
version = "1.006";
src = fetchurl {
url = "https://github.com/lxgw/LxgwNeoXiHei/releases/download/v${version}/LXGWNeoXiHei.ttf";
hash = "sha256-IvbbeBjpFz9zHt3mHu5vY8sLETKnvOMv7eHjANQ2GlA=";
hash = "sha256-n7TTunWOHGWLxvs75r5My1il0KELOZbAgTGqtMpQ+mQ=";
};
dontUnpack = true;
+1
View File
@@ -38,6 +38,7 @@ let
#### MISC
deepin-desktop-base = callPackage ./misc/deepin-desktop-base { };
deepin-turbo = callPackage ./misc/deepin-turbo { };
};
in
lib.makeScope libsForQt5.newScope packages
@@ -0,0 +1,42 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, pkg-config
, wrapQtAppsHook
, dtkwidget
}:
stdenv.mkDerivation rec {
pname = "deepin-turbo";
version = "0.0.6.3";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "sha256-t6/Ws/Q8DO0zBzrUr/liD61VkxbOv4W4x6VgMWr+Ozk=";
};
nativeBuildInputs = [
cmake
pkg-config
wrapQtAppsHook
];
buildInputs = [
dtkwidget
];
postPatch = ''
substituteInPlace src/{booster-dtkwidget/CMakeLists.txt,booster-desktop/{CMakeLists.txt,desktop.conf},booster-generic/CMakeLists.txt} --replace "/usr" "$out"
'';
meta = with lib; {
description = "A daemon that helps to launch dtk applications faster";
homepage = "https://github.com/linuxdeepin/deepin-turbo";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = teams.deepin.members;
};
}
@@ -12,6 +12,7 @@
, nvme-cli
, procps
, pulseaudio
, libgtop
, python3
, smartmontools
, substituteAll
@@ -112,6 +113,15 @@ super: lib.trivial.pipe super [
meta.maintainers = with lib.maintainers; [ rhoriguchi ];
}))
(patchExtension "tophat@fflewddur.github.io" (old: {
patches = [
(substituteAll {
src = ./extensionOverridesPatches/tophat_at_fflewddur.github.io.patch;
gtop_path = "${libgtop}/lib/girepository-1.0";
})
];
}))
(patchExtension "unite@hardpixel.eu" (old: {
buildInputs = [ xprop ];
@@ -0,0 +1,13 @@
diff --git a/extension.js b/extension.js
index 60396f8..b044872 100644
--- a/extension.js
+++ b/extension.js
@@ -20,6 +20,8 @@
/* exported init, enable, disable */
+imports.gi.GIRepository.Repository.prepend_search_path('@gtop_path@');
+
let depFailures = [];
let missingLibs = [];
@@ -29,13 +29,13 @@ assert enableViewer -> wrapGAppsHook != null;
stdenv.mkDerivation rec {
pname = "aravis";
version = "0.8.22";
version = "0.8.24";
src = fetchFromGitHub {
owner = "AravisProject";
repo = pname;
rev = version;
sha256 = "sha256-S9DmXjywxNr5Rpx605zip76vGKBSrUwyerqXlBm05VI=";
sha256 = "sha256-2d2CZzRfVr45gfgIg43Rr+1SoVIxzy8YjaQJhwi5owE=";
};
outputs = [ "bin" "dev" "out" "lib" ];
@@ -1,511 +0,0 @@
{ lib, stdenv, buildPackages, ffmpeg, addOpenGLRunpath, pkg-config, perl, texinfo, yasm
/*
* Licensing options (yes some are listed twice, filters and such are not listed)
*/
, gplLicensing ? true # GPL: fdkaac,openssl,frei0r,cdio,samba,utvideo,vidstab,x265,x265,xavs,avid,zvbi,x11grab
, version3Licensing ? true # (L)GPL3: libvmaf,opencore-amrnb,opencore-amrwb,samba,vo-aacenc,vo-amrwbenc
, nonfreeLicensing ? false # NONFREE: openssl,fdkaac,blackmagic-design-desktop-video
/*
* Build options
*/
, smallBuild ? false # Optimize for size instead of speed
, runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime (disable to compile natively)
, grayBuild ? true # Full grayscale support
, swscaleAlphaBuild ? true # Alpha channel support in swscale
, hardcodedTablesBuild ? true # Hardcode decode tables instead of runtime generation
, safeBitstreamReaderBuild ? true # Buffer boundary checking in bitreaders
, multithreadBuild ? true # Multithreading via pthreads/win32 threads
, networkBuild ? true # Network support
, pixelutilsBuild ? true # Pixel utils in libavutil
, enableLto ? false # build with link-time optimization
/*
* Program options
*/
, ffmpegProgram ? true # Build ffmpeg executable
, ffplayProgram ? true # Build ffplay executable
, ffprobeProgram ? true # Build ffprobe executable
, qtFaststartProgram ? true # Build qt-faststart executable
/*
* Library options
*/
, avcodecLibrary ? true # Build avcodec library
, avdeviceLibrary ? true # Build avdevice library
, avfilterLibrary ? true # Build avfilter library
, avformatLibrary ? true # Build avformat library
, avutilLibrary ? true # Build avutil library
, postprocLibrary ? true # Build postproc library
, swresampleLibrary ? true # Build swresample library
, swscaleLibrary ? true # Build swscale library
/*
* Documentation options
*/
, htmlpagesDocumentation ? false # HTML documentation pages
, manpagesDocumentation ? true # Man documentation pages
, podpagesDocumentation ? false # POD documentation pages
, txtpagesDocumentation ? false # Text documentation pages
/*
* External libraries options
*/
, alsa-lib ? null # Alsa in/output support
#, avisynth ? null # Support for reading AviSynth scripts
, bzip2 ? null
, clang ? null
, celt ? null # CELT decoder
#, crystalhd ? null # Broadcom CrystalHD hardware acceleration
, cuda ? !stdenv.isDarwin && !stdenv.isAarch64 # Dynamically linked CUDA
, cuda-llvm ? !stdenv.isDarwin && !stdenv.isAarch64 # LLVM-based CUDA compilation
, dav1d ? null # AV1 decoder (focused on speed and correctness)
#, decklinkExtlib ? false, blackmagic-design-desktop-video ? null # Blackmagic Design DeckLink I/O support
, fdkaacExtlib ? false, fdk_aac ? null # Fraunhofer FDK AAC de/encoder
#, flite ? null # Flite (voice synthesis) support
, fontconfig ? null # Needed for drawtext filter
, freetype ? null # Needed for drawtext filter
, frei0r ? null # frei0r video filtering
, fribidi ? null # Needed for drawtext filter
, game-music-emu ? null # Game Music Emulator
, gnutls ? null
, gsm ? null # GSM de/encoder
#, ilbc ? null # iLBC de/encoder
, libjack2 ? null # Jack audio (only version 2 is supported in this build)
, ladspaH ? null # LADSPA audio filtering
, lame ? null # LAME MP3 encoder
, libass ? null # (Advanced) SubStation Alpha subtitle rendering
, libaom ? null # AV1 encoder
, libbluray ? null # BluRay reading
, libbs2b ? null # bs2b DSP library
, libcaca ? null # Textual display (ASCII art)
#, libcdio-paranoia ? null # Audio CD grabbing
, libdc1394 ? null, libraw1394 ? null # IIDC-1394 grabbing (ieee 1394)
, libdrm ? null # libdrm support
, libiconv ? null
#, libiec61883 ? null, libavc1394 ? null # iec61883 (also uses libraw1394)
, libmfx ? null # Hardware acceleration vis libmfx
, libmodplug ? null # ModPlug support
, libmysofa ? null # HRTF support via SOFAlizer
#, libnut ? null # NUT (de)muxer, native (de)muser exists
, libogg ? null # Ogg container used by vorbis & theora
, libopenmpt ? null # Tracked music files decoder
, libopus ? null # Opus de/encoder
, librsvg ? null # SVG protocol
, libssh ? null # SFTP protocol
, libtheora ? null # Theora encoder
, libv4l ? null # Video 4 Linux support
, libva ? null # Vaapi hardware acceleration
, libvdpau ? null # Vdpau hardware acceleration
, libvmaf ? null # Netflix's VMAF (Video Multi-Method Assessment Fusion)
, libvorbis ? null # Vorbis de/encoding, native encoder exists
, libvpx ? null # VP8 & VP9 de/encoding
, libwebp ? null # WebP encoder
, libX11 ? null # Xlib support
, libxcb ? null # X11 grabbing using XCB
, libxcbshmExtlib ? true # X11 grabbing shm communication
, libxcbxfixesExtlib ? true # X11 grabbing mouse rendering
, libxcbshapeExtlib ? true # X11 grabbing shape rendering
, libXv ? null # Xlib support
, libXext ? null # Xlib support
, libxml2 ? null # libxml2 support, for IMF and DASH demuxers
, xz ? null # xz-utils
, nv-codec-headers ? null
, nvdec ? !stdenv.isDarwin && !stdenv.isAarch64 # NVIDIA NVDEC support
, nvenc ? !stdenv.isDarwin && !stdenv.isAarch64 # NVIDIA NVENC support
, openal ? null # OpenAL 1.1 capture support
, ocl-icd ? null # OpenCL ICD
, opencl-headers ? null # OpenCL headers
, opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
#, opencv ? null # Video filtering
, openglExtlib ? false, libGL ? null, libGLU ? null # OpenGL rendering
, openh264 ? null # H.264/AVC encoder
, openjpeg ? null # JPEG 2000 de/encoder
, opensslExtlib ? false, openssl ? null
, libpulseaudio ? null # Pulseaudio input support
, rav1e ? null # AV1 encoder (focused on speed and safety)
, svt-av1 ? null # AV1 encoder/decoder (focused on speed and correctness)
, rtmpdump ? null # RTMP[E] support
#, libquvi ? null # Quvi input support
, samba ? null # Samba protocol
#, schroedinger ? null # Dirac de/encoder
, SDL2 ? null
#, shine ? null # Fixed-point MP3 encoder
, soxr ? null # Resampling via soxr
, speex ? null # Speex de/encoder
, srt ? null # Secure Reliable Transport (SRT) protocol
#, twolame ? null # MP2 encoder
#, utvideo ? null # Ut Video de/encoder
, vid-stab ? null # Video stabilization
#, vo-aacenc ? null # AAC encoder
, vo-amrwbenc ? null # AMR-WB encoder
, x264 ? null # H.264/AVC encoder
, x265 ? null # H.265/HEVC encoder
, xavs ? null # AVS encoder
, xvidcore ? null # Xvid encoder, native encoder exists
, zeromq4 ? null # Message passing
, zimg ? null
, zlib ? null
, vulkan-loader ? null
, glslang ? null
#, zvbi ? null # Teletext support
/*
* Developer options
*/
, debugDeveloper ? false
, optimizationsDeveloper ? true
, extraWarningsDeveloper ? false
, strippingDeveloper ? false
/*
* Darwin frameworks
*/
, Cocoa, CoreAudio, CoreServices, AVFoundation, MediaToolbox
, VideoDecodeAcceleration, VideoToolbox
}:
/* Maintainer notes:
*
* Version bumps:
* It should always be safe to bump patch releases (e.g. 2.1.x, x being a patch release)
* If adding a new branch, note any configure flags that were added, changed, or deprecated/removed
* and make the necessary changes.
*
* Packages with errors:
* flite ilbc schroedinger
* opencv - circular dependency issue
*
* Not packaged:
* aacplus avisynth cdio-paranoia crystalhd libavc1394 libiec61883
* libnut libquvi nvenc oss shine twolame
* utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video
*
* Need fixes to support Darwin:
* gsm libjack2 libmodplug libmfx(intel-media-sdk) nvenc pulseaudio samba
* vid-stab
*
* Need fixes to support AArch64:
* libmfx(intel-media-sdk) nvenc
*
* Not supported:
* stagefright-h264(android only)
*
* Known issues:
* flite: configure fails to find library
* Tried modifying ffmpeg's configure script and flite to use pkg-config
* Cross-compiling will disable features not present on host OS
* (e.g. dxva2 support [DirectX] will not be enabled unless natively compiled on Cygwin)
*
*/
let
inherit (stdenv) isCygwin isDarwin isFreeBSD isLinux isAarch64;
inherit (lib) optional optionals optionalString enableFeature;
in
/*
* Licensing dependencies
*/
assert version3Licensing -> gplLicensing;
assert nonfreeLicensing -> gplLicensing && version3Licensing;
/*
* Build dependencies
*/
assert networkBuild -> gnutls != null || opensslExtlib;
assert pixelutilsBuild -> avutilLibrary;
/*
* Platform dependencies
*/
assert isDarwin -> !nvenc;
/*
* Program dependencies
*/
assert ffmpegProgram -> avcodecLibrary
&& avfilterLibrary
&& avformatLibrary
&& swresampleLibrary;
assert ffplayProgram -> avcodecLibrary
&& avformatLibrary
&& swscaleLibrary
&& swresampleLibrary
&& SDL2 != null;
assert ffprobeProgram -> avcodecLibrary && avformatLibrary;
/*
* Library dependencies
*/
assert avcodecLibrary -> avutilLibrary; # configure flag since 0.6
assert avdeviceLibrary -> avformatLibrary
&& avcodecLibrary
&& avutilLibrary; # configure flag since 0.6
assert avformatLibrary -> avcodecLibrary && avutilLibrary; # configure flag since 0.6
assert postprocLibrary -> avutilLibrary;
assert swresampleLibrary -> soxr != null;
assert swscaleLibrary -> avutilLibrary;
/*
* External libraries
*/
#assert decklinkExtlib -> blackmagic-design-desktop-video != null
# && !isCygwin && multithreadBuild # POSIX threads required
# && nonfreeLicensing;
assert fdkaacExtlib -> fdk_aac != null && nonfreeLicensing;
assert gnutls != null -> !opensslExtlib;
assert libxcbshmExtlib -> libxcb != null;
assert libxcbxfixesExtlib -> libxcb != null;
assert libxcbshapeExtlib -> libxcb != null;
assert openglExtlib -> libGL != null && libGLU != null;
assert opensslExtlib -> gnutls == null && openssl != null && nonfreeLicensing;
stdenv.mkDerivation rec {
pname = "ffmpeg-full";
inherit (ffmpeg) src version patches;
prePatch = ''
patchShebangs .
'' + lib.optionalString stdenv.isDarwin ''
sed -i 's/#ifndef __MAC_10_11/#if 1/' ./libavcodec/audiotoolboxdec.c
'' + lib.optionalString (frei0r != null) ''
substituteInPlace libavfilter/vf_frei0r.c \
--replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1
substituteInPlace doc/filters.texi \
--replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1
'';
configurePlatforms = [];
configureFlags = [
"--target_os=${if stdenv.hostPlatform.isMinGW then "mingw64" else stdenv.hostPlatform.parsed.kernel.name}" #mingw32 and mingw64 doesn't have a difference here, it is internally rewritten as mingw32
"--arch=${stdenv.hostPlatform.parsed.cpu.name}"
/*
* Licensing flags
*/
(enableFeature gplLicensing "gpl")
(enableFeature version3Licensing "version3")
(enableFeature nonfreeLicensing "nonfree")
/*
* Build flags
*/
# On some ARM platforms --enable-thumb
"--enable-shared"
(enableFeature true "pic")
(enableFeature smallBuild "small")
(enableFeature runtimeCpuDetectBuild "runtime-cpudetect")
(enableFeature enableLto "lto")
(enableFeature grayBuild "gray")
(enableFeature swscaleAlphaBuild "swscale-alpha")
(enableFeature hardcodedTablesBuild "hardcoded-tables")
(enableFeature safeBitstreamReaderBuild "safe-bitstream-reader")
(if multithreadBuild then (
if stdenv.hostPlatform.isWindows then
"--disable-pthreads --enable-w32threads"
else # Use POSIX threads by default
"--enable-pthreads --disable-w32threads")
else
"--disable-pthreads --disable-w32threads")
"--disable-os2threads" # We don't support OS/2
(enableFeature networkBuild "network")
(enableFeature pixelutilsBuild "pixelutils")
/*
* Program flags
*/
(enableFeature ffmpegProgram "ffmpeg")
(enableFeature ffplayProgram "ffplay")
(enableFeature ffprobeProgram "ffprobe")
/*
* Library flags
*/
(enableFeature avcodecLibrary "avcodec")
(enableFeature avdeviceLibrary "avdevice")
(enableFeature avfilterLibrary "avfilter")
(enableFeature avformatLibrary "avformat")
(enableFeature avutilLibrary "avutil")
(enableFeature (postprocLibrary && gplLicensing) "postproc")
(enableFeature swresampleLibrary "swresample")
(enableFeature swscaleLibrary "swscale")
/*
* Documentation flags
*/
(enableFeature (htmlpagesDocumentation
|| manpagesDocumentation
|| podpagesDocumentation
|| txtpagesDocumentation) "doc")
(enableFeature htmlpagesDocumentation "htmlpages")
(enableFeature manpagesDocumentation "manpages")
(enableFeature podpagesDocumentation "podpages")
(enableFeature txtpagesDocumentation "txtpages")
/*
* External libraries
*/
#(enableFeature avisynth "avisynth")
(enableFeature (bzip2 != null) "bzlib")
(enableFeature (celt != null) "libcelt")
(enableFeature cuda "cuda")
(enableFeature (clang != null && cuda-llvm) "cuda-llvm")
#(enableFeature crystalhd "crystalhd")
(enableFeature (dav1d != null) "libdav1d")
#(enableFeature decklinkExtlib "decklink")
(enableFeature (fdkaacExtlib && gplLicensing) "libfdk-aac")
#(enableFeature (flite != null) "libflite")
"--disable-libflite" # Force disable until a solution is found
(enableFeature (fontconfig != null) "fontconfig")
(enableFeature (freetype != null) "libfreetype")
(enableFeature (frei0r != null && gplLicensing) "frei0r")
(enableFeature (fribidi != null) "libfribidi")
(enableFeature (game-music-emu != null) "libgme")
(enableFeature (gnutls != null) "gnutls")
(enableFeature (gsm != null) "libgsm")
#(enableFeature (ilbc != null) "libilbc")
(enableFeature (ladspaH !=null) "ladspa")
(enableFeature (lame != null) "libmp3lame")
(enableFeature (libaom != null) "libaom")
(enableFeature (libass != null) "libass")
#(enableFeature (libavc1394 != null) null null)
(enableFeature (libbluray != null) "libbluray")
(enableFeature (libbs2b != null) "libbs2b")
#(enableFeature (libcaca != null) "libcaca")
#(enableFeature (cdio-paranoia != null && gplLicensing) "libcdio")
(enableFeature (if isLinux then libdc1394 != null && libraw1394 != null else false) "libdc1394")
(enableFeature ((isLinux || isFreeBSD) && libdrm != null) "libdrm")
(enableFeature (libiconv != null) "iconv")
(enableFeature (libjack2 != null) "libjack")
#(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
(enableFeature (if isLinux && !isAarch64 then libmfx != null else false) "libmfx")
(enableFeature (libmodplug != null) "libmodplug")
(enableFeature (libmysofa != null) "libmysofa")
#(enableFeature (libnut != null) "libnut")
(enableFeature (libopenmpt != null) "libopenmpt")
(enableFeature (libopus != null) "libopus")
(enableFeature (librsvg != null) "librsvg")
(enableFeature (srt != null) "libsrt")
(enableFeature (libssh != null) "libssh")
(enableFeature (libtheora != null) "libtheora")
(enableFeature (if isLinux then libv4l != null else false) "libv4l2")
(enableFeature ((isLinux || isFreeBSD) && libva != null) "vaapi")
(enableFeature (libvdpau != null) "vdpau")
(enableFeature (libvorbis != null) "libvorbis")
(enableFeature (!isAarch64 && libvmaf != null && version3Licensing) "libvmaf")
(enableFeature (libvpx != null) "libvpx")
(enableFeature (libwebp != null) "libwebp")
(enableFeature (libX11 != null && libXv != null && libXext != null) "xlib")
(enableFeature (libxcb != null) "libxcb")
(enableFeature libxcbshmExtlib "libxcb-shm")
(enableFeature libxcbxfixesExtlib "libxcb-xfixes")
(enableFeature libxcbshapeExtlib "libxcb-shape")
(enableFeature (libxml2 != null) "libxml2")
(enableFeature (xz != null) "lzma")
(enableFeature nvdec "cuvid")
(enableFeature nvdec "nvdec")
(enableFeature nvenc "nvenc")
(enableFeature (openal != null) "openal")
(enableFeature (ocl-icd != null && opencl-headers != null) "opencl")
(enableFeature (opencore-amr != null && version3Licensing) "libopencore-amrnb")
#(enableFeature (opencv != null) "libopencv")
(enableFeature openglExtlib "opengl")
(enableFeature (openh264 != null) "libopenh264")
(enableFeature (openjpeg != null) "libopenjpeg")
(enableFeature (opensslExtlib && gplLicensing) "openssl")
(enableFeature (libpulseaudio != null) "libpulse")
#(enableFeature quvi "libquvi")
(enableFeature (rav1e != null) "librav1e")
(enableFeature (svt-av1 != null) "libsvtav1")
(enableFeature (rtmpdump != null) "librtmp")
#(enableFeature (schroedinger != null) "libschroedinger")
(enableFeature (SDL2 != null) "sdl2")
(enableFeature (soxr != null) "libsoxr")
(enableFeature (speex != null) "libspeex")
#(enableFeature (twolame != null) "libtwolame")
#(enableFeature (utvideo != null && gplLicensing) "libutvideo")
(enableFeature (vid-stab != null && gplLicensing) "libvidstab") # Actual min. version 2.0
#(enableFeature (vo-aacenc != null && version3Licensing) "libvo-aacenc")
(enableFeature (vo-amrwbenc != null && version3Licensing) "libvo-amrwbenc")
(enableFeature (x264 != null && gplLicensing) "libx264")
(enableFeature (x265 != null && gplLicensing) "libx265")
(enableFeature (xavs != null && gplLicensing) "libxavs")
(enableFeature (xvidcore != null && gplLicensing) "libxvid")
(enableFeature (zeromq4 != null) "libzmq")
(enableFeature (zimg != null) "libzimg")
(enableFeature (zlib != null) "zlib")
(enableFeature (isLinux && vulkan-loader != null) "vulkan")
(enableFeature (isLinux && vulkan-loader != null && glslang != null) "libglslang")
(enableFeature (samba != null && gplLicensing && version3Licensing) "libsmbclient")
#(enableFeature (zvbi != null && gplLicensing) "libzvbi")
/*
* Developer flags
*/
(enableFeature debugDeveloper "debug")
(enableFeature optimizationsDeveloper "optimizations")
(enableFeature extraWarningsDeveloper "extra-warnings")
(enableFeature strippingDeveloper "stripping")
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
"--host-cc=${buildPackages.stdenv.cc}/bin/cc"
] ++ optionals stdenv.cc.isClang [
"--cc=clang"
"--cxx=clang++"
];
nativeBuildInputs = [ addOpenGLRunpath perl pkg-config texinfo yasm ];
buildInputs = [
bzip2 celt dav1d fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
libogg libopenmpt libopus librsvg libssh libtheora libvdpau libvorbis libvpx libwebp libX11
libxcb libXv libXext libxml2 xz openal ocl-icd opencl-headers openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
samba SDL2 soxr speex srt vid-stab vo-amrwbenc x264 x265 xavs xvidcore
zeromq4 zimg zlib openh264
] ++ optionals openglExtlib [ libGL libGLU ]
++ optionals nonfreeLicensing [ fdk_aac openssl ]
++ optional ((isLinux || isFreeBSD) && libva != null) libva
++ optional ((isLinux || isFreeBSD) && libdrm != null) libdrm
++ optional (!isAarch64 && libvmaf != null && version3Licensing) libvmaf
++ optionals isLinux [ alsa-lib libraw1394 libv4l vulkan-loader glslang ]
++ optional (isLinux && !isAarch64 && libmfx != null) libmfx
++ optional (nvdec || nvenc) nv-codec-headers
++ optional cuda-llvm clang
++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
MediaToolbox VideoDecodeAcceleration VideoToolbox
libiconv ];
buildFlags = [ "all" ]
++ optional qtFaststartProgram "tools/qt-faststart"; # Build qt-faststart executable
doCheck = true;
checkPhase = let
ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
in ''
${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \
make check -j$NIX_BUILD_CORES
'';
# Hacky framework patching technique borrowed from the phantomjs2 package
postInstall = optionalString qtFaststartProgram ''
cp -a tools/qt-faststart $out/bin/
'';
postFixup = optionalString stdenv.isLinux ''
# Set RUNPATH so that libnvcuvid and libcuda in /run/opengl-driver(-32)/lib can be found.
# See the explanation in addOpenGLRunpath.
addOpenGLRunpath $out/lib/libavcodec.so
addOpenGLRunpath $out/lib/libavutil.so
'';
enableParallelBuilding = true;
meta = with lib; {
description = "A complete, cross-platform solution to record, convert and stream audio and video";
homepage = "https://www.ffmpeg.org/";
changelog = "https://github.com/FFmpeg/FFmpeg/blob/n${version}/Changelog";
longDescription = ''
FFmpeg is the leading multimedia framework, able to decode, encode, transcode,
mux, demux, stream, filter and play pretty much anything that humans and machines
have created. It supports the most obscure ancient formats up to the cutting edge.
No matter if they were designed by some standards committee, the community or
a corporation.
'';
license = (
if nonfreeLicensing then
licenses.unfreeRedistributable
else if version3Licensing then
licenses.gpl3
else if gplLicensing then
licenses.gpl2Plus
else
licenses.lgpl21Plus
);
platforms = platforms.all;
maintainers = with maintainers; [ codyopel ];
};
}
+22 -7
View File
@@ -140,6 +140,9 @@
, buildAvdevice ? withHeadlessDeps # Build avdevice library
, buildAvfilter ? withHeadlessDeps # Build avfilter library
, buildAvformat ? withHeadlessDeps # Build avformat library
# Deprecated but depended upon by some packages.
# https://github.com/NixOS/nixpkgs/pull/211834#issuecomment-1417435991)
, buildAvresample ? withHeadlessDeps && lib.versionOlder version "5" # Build avresample library
, buildAvutil ? withHeadlessDeps # Build avutil library
, buildPostproc ? withHeadlessDeps # Build postproc library
, buildSwresample ? withHeadlessDeps # Build swresample library
@@ -301,11 +304,11 @@ assert withPixelutils -> buildAvutil;
assert buildFfmpeg -> buildAvcodec
&& buildAvfilter
&& buildAvformat
&& buildSwresample;
&& (buildSwresample || buildAvresample);
assert buildFfplay -> buildAvcodec
&& buildAvformat
&& buildSwscale
&& buildSwresample;
&& (buildSwresample || buildAvresample);
assert buildFfprobe -> buildAvcodec && buildAvformat;
/*
* Library dependencies
@@ -392,6 +395,10 @@ stdenv.mkDerivation rec {
(enableFeature buildAvdevice "avdevice")
(enableFeature buildAvfilter "avfilter")
(enableFeature buildAvformat "avformat")
] ++ optionals (lib.versionOlder version "5") [
# Ffmpeg > 4 doesn't know about the flag anymore
(enableFeature buildAvresample "avresample")
] ++ [
(enableFeature buildAvutil "avutil")
(enableFeature (buildPostproc && withGPL) "postproc")
(enableFeature buildSwresample "swresample")
@@ -611,14 +618,22 @@ stdenv.mkDerivation rec {
doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
# Fails with SIGABRT otherwise
# Fails with SIGABRT otherwise FIXME: Why?
checkPhase = let
ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
libsToLink = [ ]
++ optional buildAvcodec "libavcodec"
++ optional buildAvdevice "libavdevice"
++ optional buildAvfilter "libavfilter"
++ optional buildAvformat "libavformat"
++ optional buildAvresample "libavresample"
++ optional buildAvutil "libavutil"
++ optional buildPostproc "libpostproc"
++ optional buildSwresample "libswresample"
++ optional buildSwscale "libswscale"
;
in ''
${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavutil:libpostproc${
optionalString (withHeadlessDeps) ":libswresample" # TODO this can probably go away
}:libswscale:''${${ldLibraryPathEnv}}" \
make check -j$NIX_BUILD_CORES
${ldLibraryPathEnv}="${lib.concatStringsSep ":" libsToLink}" make check -j$NIX_BUILD_CORES
'';
outputs = optionals withBin [ "bin" ] # The first output is the one that gets symlinked by default!
@@ -1,36 +0,0 @@
From 7725e7bfe6f2ce8146b6552b44e0d226be7638e7 Mon Sep 17 00:00:00 2001
From: Pauli <pauli@openssl.org>
Date: Fri, 11 Nov 2022 09:40:19 +1100
Subject: [PATCH] x509: fix double locking problem
This reverts commit 9aa4be691f5c73eb3c68606d824c104550c053f7 and removed the
redundant flag setting.
Fixes #19643
Fixes LOW CVE-2022-3996
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/19652)
(cherry picked from commit 4d0340a6d2f327700a059f0b8f954d6160f8eef5)
---
crypto/x509/pcy_map.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/crypto/x509/pcy_map.c b/crypto/x509/pcy_map.c
index 05406c6493fc..60dfd1e3203b 100644
--- a/crypto/x509/pcy_map.c
+++ b/crypto/x509/pcy_map.c
@@ -73,10 +73,6 @@ int ossl_policy_cache_set_mapping(X509 *x, POLICY_MAPPINGS *maps)
ret = 1;
bad_mapping:
- if (ret == -1 && CRYPTO_THREAD_write_lock(x->lock)) {
- x->ex_flags |= EXFLAG_INVALID_POLICY;
- CRYPTO_THREAD_unlock(x->lock);
- }
sk_POLICY_MAPPING_pop_free(maps, POLICY_MAPPING_free);
return ret;
@@ -216,8 +216,8 @@ in {
openssl_1_1 = common {
version = "1.1.1s";
sha256 = "sha256-xawB52Dub/Dath1rK70wFGck0GPrMiGAxvGKb3Tktqo=";
version = "1.1.1t";
sha256 = "sha256-je6bJL2x3L8MPR6bAvuPa/IhZegH9Fret8lndTaFnTs=";
patches = [
./1.1/nix-ssl-cert-file.patch
@@ -229,8 +229,8 @@ in {
};
openssl_3 = common {
version = "3.0.7";
sha256 = "sha256-gwSdBComDmlvYkBqxcCL9wb9hDg/lFzyG9YentlcOW4=";
version = "3.0.8";
sha256 = "sha256-bBPSvzj98x6sPOKjRwc2c/XWMmM5jx9p0N9KQSU+Sz4=";
patches = [
./3.0/nix-ssl-cert-file.patch
@@ -241,9 +241,6 @@ in {
(if stdenv.hostPlatform.isDarwin
then ./use-etc-ssl-certs-darwin.patch
else ./use-etc-ssl-certs.patch)
# Remove with 3.0.8 release
./3.0/CVE-2022-3996.patch
];
withDocs = true;
@@ -4,6 +4,8 @@ buildDunePackage {
pname = "caqti-driver-sqlite3";
inherit (caqti) version src;
duneVersion = "3";
propagatedBuildInputs = [ caqti ocaml_sqlite3 ];
meta = caqti.meta // {
@@ -10,10 +10,11 @@ buildDunePackage rec {
pname = "checkseum";
minimalOCamlVersion = "4.07";
duneVersion = "3";
src = fetchurl {
url = "https://github.com/mirage/checkseum/releases/download/v${version}/checkseum-${version}.tbz";
sha256 = "sha256-K6QPMts5+hxH2a+WQ1N0lwMBoshG2T0bSozNgzRvAlo=";
hash = "sha256-K6QPMts5+hxH2a+WQ1N0lwMBoshG2T0bSozNgzRvAlo=";
};
buildInputs = [ dune-configurator ];
@@ -4,6 +4,7 @@ buildDunePackage rec {
pname = "chrome-trace";
inherit (dune_3) src version;
minimalOCamlVersion = "4.08";
duneVersion = "3";
dontAddPrefix = true;
@@ -4,6 +4,7 @@ buildDunePackage rec {
pname = "irmin-chunk";
inherit (irmin) version src strictDeps;
duneVersion = "3";
propagatedBuildInputs = [ irmin fmt logs lwt ];
@@ -7,6 +7,7 @@ buildDunePackage {
pname = "irmin-containers";
inherit (ppx_irmin) src version strictDeps;
duneVersion = "3";
nativeBuildInputs = [
ppx_irmin
@@ -9,7 +9,8 @@ buildDunePackage {
inherit (ppx_irmin) src version strictDeps;
minimalOCamlVersion = "4.08";
minimalOCamlVersion = "4.10";
duneVersion = "3";
propagatedBuildInputs = [
astring
@@ -7,6 +7,7 @@ buildDunePackage rec {
pname = "irmin-fs";
inherit (irmin) version src strictDeps;
duneVersion = "3";
propagatedBuildInputs = [ irmin astring logs lwt ];
@@ -4,6 +4,7 @@ buildDunePackage {
pname = "irmin-mirage";
inherit (irmin) version src strictDeps;
duneVersion = "3";
propagatedBuildInputs = [
irmin fmt ptime mirage-clock
@@ -1,10 +1,11 @@
{ lib, buildDunePackage
, index, ppx_irmin, irmin, optint, fmt, logs, lwt, mtime, cmdliner
, index, ppx_irmin, irmin, optint, fmt, logs, lwt, mtime, cmdliner, checkseum, rusage
, alcotest, alcotest-lwt, astring, irmin-test
}:
buildDunePackage rec {
minimalOCamlVersion = "4.08";
minimalOCamlVersion = "4.10";
duneVersion = "3";
pname = "irmin-pack";
@@ -12,7 +13,7 @@ buildDunePackage rec {
nativeBuildInputs = [ ppx_irmin ];
propagatedBuildInputs = [ index irmin optint fmt logs lwt mtime cmdliner ];
propagatedBuildInputs = [ index irmin optint fmt logs lwt mtime cmdliner checkseum rusage ];
checkInputs = [ astring alcotest alcotest-lwt irmin-test ];
+3 -2
View File
@@ -2,14 +2,15 @@
buildDunePackage rec {
pname = "ppx_irmin";
version = "3.4.1";
version = "3.5.1";
src = fetchurl {
url = "https://github.com/mirage/irmin/releases/download/${version}/irmin-${version}.tbz";
sha256 = "sha256-kig2EWww7GgGijhpSgm7pSHPR+3Q5K5E4Ha5tJY9oYA=";
hash = "sha256-zXiKjT9KPdGNwWChU9SuyR6vaw+0GtQUZNJsecMEqY4=";
};
minimalOCamlVersion = "4.10";
duneVersion = "3";
propagatedBuildInputs = [
ppx_repr
@@ -8,6 +8,7 @@ buildDunePackage {
pname = "irmin-test";
inherit (irmin) version src strictDeps;
duneVersion = "3";
nativeBuildInputs = [ ppx_irmin ];
@@ -7,6 +7,7 @@ buildDunePackage rec {
pname = "irmin-tezos";
inherit (irmin) version src strictDeps;
duneVersion = "3";
propagatedBuildInputs = [
irmin
@@ -4,6 +4,7 @@ buildDunePackage {
pname = "ordering";
inherit (dune_3) version src;
duneVersion = "3";
minimalOCamlVersion = "4.08";
dontAddPrefix = true;
@@ -0,0 +1,20 @@
{ lib, fetchurl, buildDunePackage }:
buildDunePackage rec {
pname = "rusage";
version = "1.0.0";
duneVersion = "3";
src = fetchurl {
url = "https://github.com/CraigFe/ocaml-rusage/releases/download/${version}/rusage-${version}.tbz";
hash = "sha256-OgYA2Fe1goqoaOS45Z6FBJNNYN/uq+KQoUwG8KSo6Fk=";
};
meta = {
description = "Bindings to the GETRUSAGE(2) syscall";
homepage = "https://github.com/CraigFe/ocaml-rusage";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.vbgl ];
};
}
@@ -3,12 +3,12 @@
buildDunePackage rec {
pname = "sqlite3";
version = "5.1.0";
useDune2 = true;
minimumOCamlVersion = "4.05";
duneVersion = "3";
minimalOCamlVersion = "4.12";
src = fetchurl {
url = "https://github.com/mmottl/sqlite3-ocaml/releases/download/${version}/sqlite3-${version}.tbz";
sha256 = "sha256-uw23EWkajfok/insTstpEkRK2Q4PTER6+Jgx5tHf/qU=";
hash = "sha256-uw23EWkajfok/insTstpEkRK2Q4PTER6+Jgx5tHf/qU=";
};
nativeBuildInputs = [ pkg-config ];
@@ -5,6 +5,7 @@ buildDunePackage rec {
inherit (dune_3) src version;
duneVersion = "3";
minimalOCamlVersion = "4.08";
dontAddPrefix = true;
+16 -8
View File
@@ -1,14 +1,22 @@
{ lib, buildPerlPackage, fetchFromGitHub, makeWrapper, openssh, GitRepository, URI, XMLMini }:
{ lib
, buildPerlPackage
, fetchFromGitHub
, makeWrapper
, openssh
, GitRepository
, URI
, XMLMini
}:
buildPerlPackage {
pname = "ham-unstable";
version = "2020-09-09";
version = "2022-10-26";
src = fetchFromGitHub {
owner = "kernkonzept";
repo = "ham";
rev = "ae2a326f2efcdae0fa7c5bf0ba205b580fc91ecc";
sha256 = "0m65pav2830y0ivwsy60dc4w457qlc0nqg43lji1kj2g96hmy2bw";
rev = "f2f10516177d00a79fe81701351632df2544ba4e";
hash = "sha256-cxlZh1x8ycpZIwSeOwqB6BtwYaMoWtSPaeiyW41epdk=";
};
outputs = [ "out" ];
@@ -32,12 +40,12 @@ buildPerlPackage {
doCheck = false;
meta = {
meta = with lib; {
description = "A tool to manage big projects consisting of multiple loosely-coupled git repositories";
homepage = "https://github.com/kernkonzept/ham";
license = "unknown"; # should be gpl2, but not quite sure
maintainers = with lib.maintainers; [ aw ];
license = licenses.bsd2;
maintainers = with maintainers; [ aw ];
mainProgram = "ham";
platforms = lib.platforms.unix;
platforms = platforms.unix;
};
}
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "bluemaestro-ble";
version = "0.2.1";
version = "0.2.3";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-QGad5o9JZ6ansVh3bRBO+9mE4PKw05acY+9+Ur2OBsY=";
hash = "sha256-mJ5JNGN4F9U3WMJQDwiZwuxE0zOirwo1sWF3/bVwXhY=";
};
nativeBuildInputs = [
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "bluetooth-sensor-state-data";
version = "1.6.0";
version = "1.6.1";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "v${version}";
hash = "sha256-Btfya9l1UX7GbiUxuaFHT0l+pG+Dg5X0L2JS+1/VYOo=";
hash = "sha256-3qZlk6zV/AeFG4OSRONQ7EMw9Kk/yHjVHV2o64bxCGM=";
};
nativeBuildInputs = [
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "desktop-notifier";
version = "3.4.2";
version = "3.4.3";
format = "pyproject";
disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "SamSchott";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-OujBpq3SBDKw9Jgb9MD200Rp0fD0OJRw90flxS22I2s=";
hash = "sha256-V5CggWp9G0/XoQhArrY3LCvfkF2SymORDWdJGjsr7yI=";
};
nativeBuildInputs = [
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "django-treebeard";
version = "4.6.0";
version = "4.6.1";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-frHrcbJCFPLn3DvSFfDDrjL9Z2QXnNR3SveqtJE53qA=";
hash = "sha256-hKs1BAJ31STrd5OeI1VoychWy1I8yWVXk7Zv6aPvRos=";
};
propagatedBuildInputs = [
@@ -6,7 +6,7 @@
buildPythonPackage rec {
pname = "elementpath";
version = "3.0.2";
version = "4.0.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
owner = "sissaschool";
repo = "elementpath";
rev = "refs/tags/v${version}";
hash = "sha256-b+Th28GI2UOmfO4jy4biohAJWPiYWkvFLqqs9lgR4Vc=";
hash = "sha256-BEnSPRuQUnKXtPAJfjxS+fwE0rpPj1U2yRK8eImKMYw=";
};
# avoid circular dependency with xmlschema which directly depends on this
@@ -8,7 +8,7 @@
buildPythonPackage rec {
pname = "goodwe";
version = "0.2.23";
version = "0.2.24";
format = "pyproject";
disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
owner = "marcelblijleven";
repo = pname;
rev = "refs/tags/v${version}";
sha256 = "sha256-SX49v+DuV4IZdTJc9XhqhgtG81qLC9QnR/LPMu2m0fo=";
sha256 = "sha256-dcz9IEPr5n86NHne9lEDB0kERY8o+jUEqPmz6QMEF4Q=";
};
postPatch = ''
@@ -9,14 +9,14 @@
buildPythonPackage rec {
pname = "lupupy";
version = "0.2.5";
version = "0.2.7";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchPypi {
inherit pname version;
hash = "sha256-SxhGUwcZjaRNCS5dB2hh5uctFGHWuKnM48CcIz6VMh8=";
hash = "sha256-nSa/qFJUnk1QTwUqq2il0RWCPdF4Jwby9NPIwAwcVds=";
};
propagatedBuildInputs = [
@@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "oralb-ble";
version = "0.17.2";
version = "0.17.4";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-v2c1FoLgG6HH02d+YBr4Qh12ztRsiwWyueUNOBpWqPM=";
hash = "sha256-KvvcyeYXBtV/sUKMv+1xoXH9ALUX46EWS/STFZkCnUQ=";
};
nativeBuildInputs = [
@@ -10,7 +10,7 @@
buildPythonPackage rec {
pname = "pydeps";
version = "1.11.0";
version = "1.11.1";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
owner = "thebjorn";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-XAx7B3v+7xYiW15nJgiL82YlNeBxW80M0Rq0LMMsWu0=";
hash = "sha256-nFdt68QhpX1URLEQtdikR11KFK9E9Y+cTvJQn4/YZlI=";
};
buildInputs = [
@@ -42,6 +42,11 @@ buildPythonPackage rec {
disabledTests = [
# python-memcached is not available (last release in 2017)
"TestClientSocketConnect"
] ++ lib.optionals stdenv.is32bit [
# test_compressed_complex is broken on 32-bit platforms
# this can be removed on the next version bump
# see also https://github.com/pinterest/pymemcache/pull/480
"test_compressed_complex"
];
pythonImportsCheck = [
@@ -53,6 +58,5 @@ buildPythonPackage rec {
homepage = "https://pymemcache.readthedocs.io/";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ fab ];
broken = stdenv.is32bit;
};
}
@@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "schwifty";
version = "2022.9.0";
version = "2023.2.0";
format = "pyproject";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-/zxK0pUfg5G5w9E+QBt1H12Ld5gWc+WakQdNVRMSFiA=";
sha256 = "sha256-YEBBrU+Xcl5zFPEt/EvPD5eFPUYSpGJ3ZoIK6PRVwlc=";
};
propagatedBuildInputs = [
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "sensorpro-ble";
version = "0.5.1";
version = "0.5.3";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "v${version}";
hash = "sha256-D0xHNPsGlNBoHR3LqR6TbVhqXWapzwYsG+uN3kSF1oE=";
hash = "sha256-Zqa6qa0Jw79Iu4VEw6KN0GsZcC1X7OpiYUiyT4zwKyY=";
};
nativeBuildInputs = [
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "sensorpush-ble";
version = "1.5.2";
version = "1.5.5";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = pname;
rev = "v${version}";
hash = "sha256-64DywtZwfDFjW8WUzw3ZTT462sBGFgAHGc0bGnKCJpY=";
rev = "refs/tags/v${version}";
hash = "sha256-17Yzpbcy/r+GlkLktgghehfAEboZHMbB/Dze1no4I80=";
};
nativeBuildInputs = [
@@ -49,6 +49,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Library for SensorPush BLE devices";
homepage = "https://github.com/Bluetooth-Devices/sensorpush-ble";
changelog = "https://github.com/Bluetooth-Devices/sensorpush-ble/releases/tag/v${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
@@ -12,24 +12,15 @@
buildPythonPackage rec {
pname = "soundfile";
version = "0.10.3.post1";
version = "0.11.0";
# https://github.com/bastibe/python-soundfile/issues/157
disabled = isPyPy || stdenv.isi686;
src = fetchPypi {
pname = "SoundFile";
inherit version;
sha256 = "0yqhrfz7xkvqrwdxdx2ydy4h467sk7z3gf984y1x2cq7cm1gy329";
inherit pname version;
sha256 = "sha256-kxc4ock+hoTC0+HVFKxjRAzoJ+x4PqCi0+RzDj3FjBg=";
};
patches = [
# Fix build on macOS arm64, https://github.com/bastibe/python-soundfile/pull/332
(fetchpatch {
url = "https://github.com/bastibe/python-soundfile/commit/e554e9ce8bed96207d587e6aa661e4b08f1c6a79.patch";
sha256 = "sha256-vu/7s5q4I3yBnoNHmmFmcXvOLFcPwY9ri9ri6cKLDwU=";
})
];
postPatch = ''
substituteInPlace soundfile.py --replace "_find_library('sndfile')" "'${libsndfile.out}/lib/libsndfile${stdenv.hostPlatform.extensions.sharedLibrary}'"
'';
@@ -38,10 +29,6 @@ buildPythonPackage rec {
propagatedBuildInputs = [ numpy libsndfile cffi ];
propagatedNativeBuildInputs = [ cffi ];
# Test fails on aarch64-darwin with `MemoryError`, 53 failed, 31 errors, see
# https://github.com/bastibe/python-soundfile/issues/331
doCheck = stdenv.system != "aarch64-darwin";
meta = {
description = "An audio library based on libsndfile, CFFI and NumPy";
license = lib.licenses.bsd3;
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "thermopro-ble";
version = "0.4.3";
version = "0.4.5";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
owner = "bluetooth-devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-y8Uh1REZqfrS3Y/L/uCmHYkdPQzwzdx7eSz003oz05o=";
hash = "sha256-z3RrPOV7NGl3aNor+baeVivn+DKwYHcrdlM5sNMGVD0=";
};
nativeBuildInputs = [
@@ -11,7 +11,7 @@
buildPythonPackage rec {
pname = "tilt-ble";
version = "0.2.3";
version = "0.2.4";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -19,8 +19,8 @@ buildPythonPackage rec {
src = fetchFromGitHub {
owner = "Bluetooth-Devices";
repo = pname;
rev = "v${version}";
hash = "sha256-PR+BA0wUljUeUYCTRMKxkG+kj6PfklksbO/k9L7sWdE=";
rev = "refs/tags/v${version}";
hash = "sha256-ok9XWx47hcke535480NORfS1pSagaOJvMR48lYTa/Tg=";
};
nativeBuildInputs = [
@@ -49,6 +49,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Library for Tilt BLE devices";
homepage = "https://github.com/Bluetooth-Devices/tilt-ble";
changelog = "https://github.com/Bluetooth-Devices/tilt-ble/releases/tag/v${version}";
license = with licenses; [ mit ];
maintainers = with maintainers; [ fab ];
};
@@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "types-colorama";
version = "0.4.15.5";
version = "0.4.15.7";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-PSqJbsfz0fZpz3ruoO9+usRznwLbM6sTKB5qcewvwsU=";
hash = "sha256-2oToq+lcLhGtKyi6VXq45dyAhjvW+HOefBkWyVB1WvQ=";
};
# Module has no tests
@@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "types-docutils";
version = "0.19.1.2";
version = "0.19.1.3";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-yj0hNUhK21LdBCu929bt3LvajGCLo/Xl+Qi9VI/8s5k=";
hash = "sha256-Nv4w3lbx7OGp96mQ1H2qeBta+DHSs/Lct9/QG4V8w9Q=";
};
# Module doesn't have tests
@@ -6,12 +6,12 @@
buildPythonPackage rec {
pname = "types-requests";
version = "2.28.11.8";
version = "2.28.11.11";
format = "setuptools";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-5nQkUl+ErfvqtyaKFZ08Yzhi2vrhXFsZVHzhtVlU8KM=";
sha256 = "sha256-GWIqzjWl2hg47pytDfSlDH46Qg+KN+g1fOhw/tSS+oE=";
};
propagatedBuildInputs = [
@@ -5,12 +5,12 @@
buildPythonPackage rec {
pname = "types-urllib3";
version = "1.26.25.4";
version = "1.26.25.5";
format = "setuptools";
src = fetchPypi {
inherit pname version;
hash = "sha256-7sVVZCjuyGKxrFePtpqrOHeZWpn/7J5aEs9/vQzJ2u4=";
hash = "sha256-VjDleCRtFw2R6+OQF4jNKNU8TgRNwuJIjjsNVftoldg=";
};
# Module doesn't have tests
@@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "volvooncall";
version = "0.10.1";
version = "0.10.2";
format = "setuptools";
disabled = pythonOlder "3.8";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "molobrakos";
repo = "volvooncall";
rev = "refs/tags/v${version}";
hash = "sha256-udYvgKj7Rlc/hA86bbeBfnoVRjKkXT4TwpceWz226cU=";
hash = "sha256-/BMwDuo4xE/XOLM8qzJwt0A0h0+ihbCVCxT3BBToiVU=";
};
patches = [
@@ -67,7 +67,6 @@ buildPythonPackage rec {
meta = with lib; {
description = "Retrieve information from the Volvo On Call web service";
homepage = "https://github.com/molobrakos/volvooncall";
changelog = "https://github.com/molobrakos/volvooncall/releases/tag/v${version}";
license = licenses.unlicense;
maintainers = with maintainers; [ dotlambda ];
};
@@ -14,7 +14,7 @@
buildPythonPackage rec {
pname = "xiaomi-ble";
version = "0.15.0";
version = "0.16.1";
format = "pyproject";
disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
owner = "Bluetooth-Devices";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-6j5hZ9NGmAFpbgYTyC4UuI4XkQwotZND1UMHnmJHCdo=";
hash = "sha256-JsrOt6LmmhJZ4MBwLVKKt3IMbvAnxJx70AZROhb9gbc=";
};
nativeBuildInputs = [
@@ -2,6 +2,7 @@
, buildPythonPackage
, fetchFromGitHub
, elementpath
, jinja2
, lxml
, pytestCheckHook
, pythonOlder
@@ -9,7 +10,7 @@
buildPythonPackage rec {
pname = "xmlschema";
version = "2.1.1";
version = "2.2.0";
format = "setuptools";
disabled = pythonOlder "3.7";
@@ -18,7 +19,7 @@ buildPythonPackage rec {
owner = "sissaschool";
repo = "xmlschema";
rev = "refs/tags/v${version}";
hash = "sha256-rt7QScg458ezDwktO1QRydmC3XqedX+kPpv6J+JvLzQ=";
hash = "sha256-KK1F8OVK+19ZWwu+2UtTMiVNyPPoPOv3V1qJFZAu2h4=";
};
propagatedBuildInputs = [
@@ -26,28 +27,17 @@ buildPythonPackage rec {
];
nativeCheckInputs = [
jinja2
lxml
pytestCheckHook
];
# Ignore broken fixtures, and tests for files which don't exist.
# For darwin, we need to explicity say we can't reach network
disabledTests = [
"export_remote"
"element_tree_import_script"
];
disabledTestPaths = [
"tests/test_schemas.py"
"tests/test_memory.py"
"tests/test_validation.py"
];
pythonImportsCheck = [
"xmlschema"
];
meta = with lib; {
changelog = "https://github.com/sissaschool/xmlschema/blob/${src.rev}/CHANGELOG.rst";
description = "XML Schema validator and data conversion library for Python";
homepage = "https://github.com/sissaschool/xmlschema";
license = licenses.mit;
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "codeowners";
version = "1.1.1";
version = "1.1.2";
src = fetchFromGitHub {
owner = "hmarr";
repo = pname;
rev = "v${version}";
hash = "sha256-lklKZCDX/e3MZ0ix3A4AIEICPoufBq7SAIULqDXOYDI=";
hash = "sha256-bjSlt439Y5hmbxR6s4J37ao+P2tuKNuwqRg872P+MUg=";
};
vendorSha256 = "sha256-G+oaX3SXsHJu3lq6n8dLmoRXDAYcFkrYarwePB/MdEU=";
vendorHash = "sha256-G+oaX3SXsHJu3lq6n8dLmoRXDAYcFkrYarwePB/MdEU=";
meta = with lib; {
description = "A CLI and Go library for Github's CODEOWNERS file";
+2 -2
View File
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "lazygit";
version = "0.36.0";
version = "0.37.0";
src = fetchFromGitHub {
owner = "jesseduffield";
repo = pname;
rev = "v${version}";
sha256 = "sha256-0emAo/K27lmQ+409maTR/hnonQVkbijF0RAwvIErBFo=";
sha256 = "sha256-A6aFHC4MNNFl7IieR/7aQ3cMzhBXfQwq6sPv+v5Gu4o=";
};
vendorSha256 = null;
@@ -5,13 +5,15 @@
, shortenPerlShebang
, mysqlSupport ? false
, postgresqlSupport ? false
, templateToolkitSupport ? false
}:
let
sqitch = perlPackages.AppSqitch;
modules = with perlPackages; [ ]
++ lib.optional mysqlSupport DBDmysql
++ lib.optional postgresqlSupport DBDPg;
++ lib.optional postgresqlSupport DBDPg
++ lib.optional templateToolkitSupport TemplateToolkit;
in
stdenv.mkDerivation {
@@ -7,6 +7,7 @@ buildDunePackage rec {
pname = "js_of_ocaml-compiler";
version = "4.1.0";
duneVersion = "3";
minimalOCamlVersion = "4.08";
src = fetchurl {
url = "https://github.com/ocsigen/js_of_ocaml/releases/download/${version}/js_of_ocaml-${version}.tbz";
+3 -3
View File
@@ -17,15 +17,15 @@
rustPlatform.buildRustPackage rec {
pname = "deno";
version = "1.30.2";
version = "1.30.3";
src = fetchFromGitHub {
owner = "denoland";
repo = pname;
rev = "v${version}";
sha256 = "sha256-WpS1pqy6o8FUWMdJpzG5T8xoCkQZ/SbWI4k9vellVb8=";
sha256 = "sha256-Dg4ZX1CpjZuCXDu3GxbaRIwdhDuJ50j53b6XETfFGAU=";
};
cargoSha256 = "sha256-RVoXHrEWMwuC+nD6ypiZzGsYEr/BFReE67z7gqqDOzA=";
cargoSha256 = "sha256-6V9djLUmPEQDewKEN0ND7zyXSrKdakXZdYSRsyXWNuE=";
postPatch = ''
# upstream uses lld on aarch64-darwin for faster builds
+4 -4
View File
@@ -3,22 +3,22 @@
let
pname = "anki-bin";
# Update hashes for both Linux and Darwin!
version = "2.1.56";
version = "2.1.57";
sources = {
linux = fetchurl {
url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-linux-qt6.tar.zst";
sha256 = "sha256-bois8+W/Jvte0HqC6Vi8WcXzrc8y8fKoW3ttbPb/v14=";
sha256 = "sha256-W8EQxvdOQRYHVKoYGu+6LNAHJZGsVQgdvNsRXOBVUKM=";
};
# For some reason anki distributes completely separate dmg-files for the aarch64 version and the x86_64 version
darwin-x86_64 = fetchurl {
url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-intel-qt6.dmg";
sha256 = "sha256-xd96wG+dElf6kSJ3jtdwfDhxJIv2r/o/JF2RcIwaZkg=";
sha256 = "sha256-NhCMmXuZj+Il/hhZZhbk7eLsmbfnqYlSRgw33xIbv8M=";
};
darwin-aarch64 = fetchurl {
url = "https://github.com/ankitects/anki/releases/download/${version}/anki-${version}-mac-apple-qt6.dmg";
sha256 = "sha256-dYYgKEN6ytZ1CIH2+hK7H7xs3ISMbZGDv3w+Ie+ISlw=";
sha256 = "sha256-8gLtFoqJVvh1NfaSpNeH8+YecMln+A7UyqeSXWVEtmo=";
};
};
+2 -2
View File
@@ -10,13 +10,13 @@
mkYarnPackage rec {
pname = "heroic-unwrapped";
version = "2.6.1";
version = "2.6.2";
src = fetchFromGitHub {
owner = "Heroic-Games-Launcher";
repo = "HeroicGamesLauncher";
rev = "v${version}";
sha256 = "sha256-bU4jvF81GI8a9ACwYn1Hdb5DbpK6GI7z19enO7uu48o=";
sha256 = "sha256-QXciJkY5l5Oqzgnj9vV5IwOSUtVeLMH29r2EIQVt2LI=";
};
packageJSON = ./package.json;
+6 -6
View File
@@ -1,6 +1,6 @@
{
"name": "heroic",
"version": "2.6.1",
"version": "2.6.2",
"private": true,
"main": "build/electron/main.js",
"homepage": "./",
@@ -39,7 +39,7 @@
}
],
"win": {
"artifactName": "${productName}-${version}-Setup.${ext}",
"artifactName": "${productName}-${version}-Setup-${arch}.${ext}",
"icon": "build/win_icon.ico",
"asarUnpack": [
"build/bin/win32/legendary.exe",
@@ -50,7 +50,7 @@
]
},
"portable": {
"artifactName": "${productName}-${version}-Portable.${ext}"
"artifactName": "${productName}-${version}-Portable-${arch}.${ext}"
},
"mac": {
"artifactName": "${productName}-${version}-macOS-${arch}.${ext}",
@@ -175,10 +175,10 @@
"test-watch": "jest --watch --maxWorkers=25%",
"test:ci": "jest --runInBand --silent",
"release:linux": "vite build && electron-builder -p always --linux deb AppImage rpm pacman tar.xz",
"release:mac": "vite build && electron-builder -p always --mac",
"release:win": "vite build && electron-builder -p always --win nsis portable",
"release:mac": "vite build && electron-builder -p always --mac --x64 --arm64",
"release:win": "vite build && electron-builder -p never --win nsis portable --x64 --arm64",
"dist:linux": "vite build && electron-builder --linux",
"dist:mac": "vite build && electron-builder --mac --x64 --arm64",
"dist:mac": "vite build && electron-builder --mac",
"dist:win": "vite build && electron-builder --win",
"dist:flatpak": "yarn dist:linux appimage && yarn flatpak:prepare && yarn flatpak:build",
"lint": "eslint --cache -c .eslintrc --ext .tsx,ts ./src",
+3 -3
View File
@@ -4272,9 +4272,9 @@ htmlparser2@^8.0.1:
entities "^4.3.0"
http-cache-semantics@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
version "4.1.1"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a"
integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==
http-proxy-agent@^5.0.0:
version "5.0.0"
+4 -4
View File
@@ -4496,11 +4496,11 @@
};
}
{
name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
name = "http_cache_semantics___http_cache_semantics_4.1.1.tgz";
path = fetchurl {
name = "http_cache_semantics___http_cache_semantics_4.1.0.tgz";
url = "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
name = "http_cache_semantics___http_cache_semantics_4.1.1.tgz";
url = "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz";
sha512 = "er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==";
};
}
{
+3 -3
View File
@@ -25,11 +25,11 @@ let
in
stdenv.mkDerivation rec {
pname = "unciv";
version = "4.4.9";
version = "4.4.11";
src = fetchurl {
url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
sha256 = "sha256-8OoQgiMrjYPlEjvm/9m7YkMaKyGBtNBkGavjACwY/00=";
hash = "sha256-UvTEqptA9Dp1wdri12sAYDB6rjiZCvk2tiG5i0AWU78=";
};
dontUnpack = true;
@@ -55,6 +55,6 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ tex ];
sourceProvenance = with sourceTypes; [ binaryBytecode ];
license = licenses.mpl20;
platforms = [ "x86_64-linux" ];
platforms = platforms.all;
};
}
+3 -3
View File
@@ -8,13 +8,13 @@ with python3.pkgs;
buildPythonApplication rec {
pname = "setools";
version = "4.4.0";
version = "4.4.1";
src = fetchFromGitHub {
owner = "SELinuxProject";
repo = pname;
rev = version;
sha256 = "1qvd5j6zwq4fmlahg45swjplhif2z89x7s6pnp07gvcp2fbqdsh5";
rev = "refs/tags/${version}";
sha256 = "sha256-4T5FIdnKi35JSm+IoYA2gIBBRV0nN0YLEw9xvDqNcgo=";
};
nativeBuildInputs = [ cython ];
+10 -3
View File
@@ -2,7 +2,7 @@
buildGoModule rec {
pname = "xcaddy";
version = "0.3.1";
version = "0.3.2";
subPackages = [ "cmd/xcaddy" ];
@@ -10,19 +10,26 @@ buildGoModule rec {
owner = "caddyserver";
repo = pname;
rev = "v${version}";
hash = "sha256-oGTtS5UlEebIqv4SM4q0YclASJNu8DNOLrGLRRAtkd8=";
hash = "sha256-M0eMI/TtUNVqE4F1ifizVb0e4ACGa+yLkG3pJLaaDNs=";
};
patches = [
./inject_version_info.diff
./use_tmpdir_on_darwin.diff
];
ldflags = [
"-s"
"-w"
"-X github.com/caddyserver/xcaddy/cmd.customVersion=v${version}"
];
vendorHash = "sha256-RpbnoXyTrqGOI7DpgkO+J47P17T4QCVvM1CfS6kRO9Y=";
meta = with lib; {
homepage = "https://github.com/caddyserver/xcaddy";
description = "Build Caddy with plugins";
license = licenses.asl20;
maintainers = with maintainers; [ tjni ];
maintainers = with maintainers; [ tjni indeednotjames ];
};
}
@@ -0,0 +1,16 @@
diff --git a/cmd/main.go b/cmd/main.go
index ede7cd8..c553140 100644
--- a/cmd/main.go
+++ b/cmd/main.go
@@ -401,8 +401,11 @@ func splitWith(arg string) (module, version, replace string, err error) {
return
}
+var customVersion string
+
// xcaddyVersion returns a detailed version string, if available.
func xcaddyVersion() string {
+ return customVersion
mod := goModule()
ver := mod.Version
if mod.Sum != "" {

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