Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-02-08 00:13:23 +00:00 committed by GitHub
commit f812f1aa6a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
216 changed files with 2649 additions and 4851 deletions

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.

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

View File

@ -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 -->

View File

@ -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.

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**

View File

@ -204,13 +204,13 @@ The key words _must_, _must not_, _required_, _shall_, _shall not_, _should_, _s
In Nixpkgs, there are generally three different names associated with a package:
- The `name` attribute of the derivation (excluding the version part). This is what most users see, in particular when using `nix-env`.
- The `pname` attribute of the derivation. This is what most users see, in particular when using `nix-env`.
- The variable name used for the instantiated package in `all-packages.nix`, and when passing it as a dependency to other functions. Typically this is called the _package attribute name_. This is what Nix expression authors see. It can also be used when installing using `nix-env -iA`.
- The filename for (the directory containing) the Nix expression.
Most of the time, these are the same. For instance, the package `e2fsprogs` has a `name` attribute `"e2fsprogs-version"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`.
Most of the time, these are the same. For instance, the package `e2fsprogs` has a `pname` attribute `"e2fsprogs"`, is bound to the variable name `e2fsprogs` in `all-packages.nix`, and the Nix expression is in `pkgs/os-specific/linux/e2fsprogs/default.nix`.
There are a few naming guidelines:

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

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}

View File

@ -88,7 +88,7 @@ let
updateManyAttrsByPath;
inherit (self.lists) singleton forEach foldr fold foldl foldl' imap0 imap1
concatMap flatten remove findSingle findFirst any all count
optional optionals toList range partition zipListsWith zipLists
optional optionals toList range replicate partition zipListsWith zipLists
reverseList listDfs toposort sort naturalSort compareLists take
drop sublist last init crossLists unique intersectLists
subtractLists mutuallyExclusive groupBy groupBy';

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";

View File

@ -303,6 +303,18 @@ rec {
else
genList (n: first + n) (last - first + 1);
/* Return a list with `n` copies of an element.
Type: replicate :: int -> a -> [a]
Example:
replicate 3 "a"
=> [ "a" "a" "a" ]
replicate 2 true
=> [ true true ]
*/
replicate = n: elem: genList (_: elem) n;
/* Splits the elements of a list in two lists, `right` and
`wrong`, depending on the evaluation of a predicate.

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);
}

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";

View File

@ -479,6 +479,11 @@ runTests {
expected = [2 30 40 42];
};
testReplicate = {
expr = replicate 3 "a";
expected = ["a" "a" "a"];
};
testToIntShouldConvertStringToInt = {
expr = toInt "27";
expected = 27;

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";

View File

@ -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.

View File

@ -48,7 +48,7 @@ let
};
in buildPackages.nixosOptionsDoc {
inherit (eval) options;
inherit (revision);
inherit revision;
transformOptions = opt: opt // {
# Clean up declaration sites to not refer to the NixOS source tree.
declarations =

View File

@ -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>

View File

@ -116,8 +116,8 @@
<listitem>
<para>
<link xlink:href="https://dm3mat.darc.de/qdmr/">QDMR</link>, a
gui application and command line tool for programming cheap
DMR radios
GUI application and command line tool for programming DMR
radios
<link linkend="opt-programs.qdmr.enable">programs.qdmr</link>
</para>
</listitem>
@ -577,8 +577,8 @@
</listitem>
<listitem>
<para>
<literal>services.openssh.cyphers</literal> to
<literal>services.openssh.settings.Cyphers</literal>
<literal>services.openssh.ciphers</literal> to
<literal>services.openssh.settings.Ciphers</literal>
</para>
</listitem>
<listitem>

View File

@ -38,7 +38,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- [mmsd](https://gitlab.com/kop316/mmsd), a lower level daemon that transmits and recieves MMSes. Available as [services.mmsd](#opt-services.mmsd.enable).
- [QDMR](https://dm3mat.darc.de/qdmr/), a gui application and command line tool for programming cheap DMR radios [programs.qdmr](#opt-programs.qdmr.enable)
- [QDMR](https://dm3mat.darc.de/qdmr/), a GUI application and command line tool for programming DMR radios [programs.qdmr](#opt-programs.qdmr.enable)
- [v2rayA](https://v2raya.org), a Linux web GUI client of Project V which supports V2Ray, Xray, SS, SSR, Trojan and Pingtunnel. Available as [services.v2raya](options.html#opt-services.v2raya.enable).
@ -137,7 +137,7 @@ In addition to numerous new and upgraded packages, this release has the followin
- `services.openssh.logLevel` to `services.openssh.settings.LogLevel`
- `services.openssh.kexAlgorithms` to `services.openssh.settings.KexAlgorithms`
- `services.openssh.macs` to `services.openssh.settings.Macs`
- `services.openssh.cyphers` to `services.openssh.settings.Cyphers`
- `services.openssh.ciphers` to `services.openssh.settings.Ciphers`
- `services.openssh.gatewayPorts` to `services.openssh.settings.GatewayPorts`
- `services.mastodon` gained a tootctl wrapped named `mastodon-tootctl` similar to `nextcloud-occ` which can be executed from any user and switches to the configured mastodon user with sudo and sources the environment variables.

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

View File

@ -32,8 +32,7 @@ in
};
swapDevices = lib.mkOption {
default = 0;
example = 1;
default = 1;
type = lib.types.int;
description = lib.mdDoc ''
Number of zram devices to be used as swap, recommended is 1.

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;

View File

@ -20,6 +20,6 @@ in {
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
services.udev.packages = [ cfg.package ];
users.groups.wireshark = {};
users.groups.dialout = {};
};
}

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;
}

View File

@ -85,7 +85,7 @@ in
WorkingDirectory = libDir;
SyslogIdentifier = "pykms";
Restart = "on-failure";
MemoryLimit = cfg.memoryLimit;
MemoryMax = cfg.memoryLimit;
};
};
};

View File

@ -106,7 +106,7 @@ in
(mkRenamedOptionModule [ "services" "openssh" "permitRootLogin" ] [ "services" "openssh" "settings" "PermitRootLogin" ])
(mkRenamedOptionModule [ "services" "openssh" "logLevel" ] [ "services" "openssh" "settings" "LogLevel" ])
(mkRenamedOptionModule [ "services" "openssh" "macs" ] [ "services" "openssh" "settings" "Macs" ])
(mkRenamedOptionModule [ "services" "openssh" "cyphers" ] [ "services" "openssh" "settings" "Cyphers" ])
(mkRenamedOptionModule [ "services" "openssh" "ciphers" ] [ "services" "openssh" "settings" "Ciphers" ])
(mkRenamedOptionModule [ "services" "openssh" "kexAlgorithms" ] [ "services" "openssh" "settings" "KexAlgorithms" ])
(mkRenamedOptionModule [ "services" "openssh" "gatewayPorts" ] [ "services" "openssh" "settings" "GatewayPorts" ])
(mkRenamedOptionModule [ "services" "openssh" "forwardX11" ] [ "services" "openssh" "settings" "X11Forwarding" ])

View File

@ -128,13 +128,13 @@ in
HostKey ${initrdKeyPath path}
'')}
KexAlgorithms ${concatStringsSep "," sshdCfg.kexAlgorithms}
Ciphers ${concatStringsSep "," sshdCfg.ciphers}
MACs ${concatStringsSep "," sshdCfg.macs}
KexAlgorithms ${concatStringsSep "," sshdCfg.settings.KexAlgorithms}
Ciphers ${concatStringsSep "," sshdCfg.settings.Ciphers}
MACs ${concatStringsSep "," sshdCfg.settings.Macs}
LogLevel ${sshdCfg.logLevel}
LogLevel ${sshdCfg.settings.LogLevel}
${if sshdCfg.useDns then ''
${if sshdCfg.settings.UseDns then ''
UseDNS yes
'' else ''
UseDNS no

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
nixos/tests/gnupg.nix Normal file
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"))
'';
})

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "airwindows-lv2";
version = "14.0";
version = "16.0";
src = fetchFromGitHub {
owner = "hannesbraun";
repo = pname;
rev = "v${version}";
sha256 = "sha256-urlj9XwMqKt5JvvsA1f7YpuLhQXMGxp0V1pGv+LTroE=";
sha256 = "sha256-jdeJ/VAJTDeiR9pyYps82F2Ty16r+a/FK+XV5L3rWco=";
};
nativeBuildInputs = [ meson ninja pkg-config ];

View File

@ -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; {

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";

View File

@ -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;
};
}

View File

@ -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 = [

View File

@ -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

View File

@ -4,7 +4,7 @@
}:
rustPlatform.buildRustPackage rec {
pname = "nearcore";
version = "1.30.0";
version = "1.30.1";
# https://github.com/near/nearcore/tags
src = fetchFromGitHub {
@ -13,10 +13,10 @@ rustPlatform.buildRustPackage rec {
# there is also a branch for this version number, so we need to be explicit
rev = "refs/tags/${version}";
sha256 = "sha256-Co8896RojUf/R8ZiRn7zSO1AWH7x5rYom6TbGohH1KM=";
sha256 = "sha256-VjvHCiWjsx5Y7xxqck/O9gSNrL8mxCTosLwLqC85ywY=";
};
cargoSha256 = "sha256-M+vhLBXsd+R97Sh5s6jFzon/47XohJeQKh//9QP6PXw=";
cargoHash = "sha256-5Gs1sAzjuUO3IkwMX1NeA/Sbax0qtwvulyT66AQaNjs=";
cargoPatches = [ ./0001-make-near-test-contracts-optional.patch ];
postPatch = ''

View File

@ -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};
};

View File

@ -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 = [

View File

@ -9,8 +9,6 @@
let
inherit (neovimUtils) makeNeovimConfig;
packages.myVimPackage.start = with vimPlugins; [ vim-nix ];
plugins = with vimPlugins; [
{
plugin = vim-obsession;
@ -47,13 +45,6 @@ let
nvimAutoDisableWrap = makeNeovimConfig { };
nvimConfDontWrap = makeNeovimConfig {
inherit plugins;
customRC = ''
" just a comment
'';
};
wrapNeovim2 = suffix: config:
wrapNeovimUnstable neovim-unwrapped (config // {
extraName = suffix;

View File

@ -1,6 +1,6 @@
{ lib
, vscode-utils
, sumneko-lua-language-server
, lua-language-server
}:
vscode-utils.buildVscodeMarketplaceExtension {
@ -14,7 +14,7 @@ vscode-utils.buildVscodeMarketplaceExtension {
patches = [ ./remove-chmod.patch ];
postInstall = ''
ln -sf ${sumneko-lua-language-server}/bin/lua-language-server \
ln -sf ${lua-language-server}/bin/lua-language-server \
$out/$installPrefix/server/bin/lua-language-server
'';

View File

@ -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";

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "clifm";
version = "1.9";
version = "1.10";
src = fetchFromGitHub {
owner = "leo-arch";
repo = pname;
rev = "v${version}";
sha256 = "sha256-jrP8V1EhHldliZEjiX55TJujc82ub46aWi1boJYDVTg=";
sha256 = "sha256-kXnI8a1nGKBDc+isv9RYvputKk+/FHmM9j+G4UnI5Z4=";
};
buildInputs = [ libcap acl file readline ];

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 = {

View File

@ -21,6 +21,7 @@
, libde265Support ? true, libde265
, fftw
, ApplicationServices, Foundation
, testers
}:
let
@ -33,14 +34,14 @@ let
else null;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "imagemagick";
version = "6.9.12-68";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick6";
rev = version;
rev = finalAttrs.version;
sha256 = "sha256-slQcA0cblxtG/1DiJx5swUh7Kfwgz5HG70eqJFLaQJI=";
};
@ -109,10 +110,13 @@ stdenv.mkDerivation rec {
done
'';
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
homepage = "https://legacy.imagemagick.org/";
changelog = "https://legacy.imagemagick.org/script/changelog.php";
description = "A software suite to create, edit, compose, or convert bitmap images";
pkgConfigModules = [ "ImageMagick" "MagickWand" ];
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ ];
license = licenses.asl20;
@ -137,4 +141,4 @@ stdenv.mkDerivation rec {
"CVE-2022-2719"
];
};
}
})

View File

@ -45,15 +45,15 @@ let
else null;
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
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=";
rev = finalAttrs.version;
hash = "sha256-g7WeqPpPd1gceU+s+vRDpb41IX1lzpiqh3cAYeFdUlg=";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@ -126,14 +126,16 @@ stdenv.mkDerivation rec {
passthru.tests = {
version = testers.testVersion { package = imagemagick; };
inherit (python3.pkgs) img2pdf;
pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
meta = with lib; {
homepage = "http://www.imagemagick.org/";
description = "A software suite to create, edit, compose, or convert bitmap images";
pkgConfigModules = [ "ImageMagick" "MagickWand" ];
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ erictapen dotlambda ];
license = licenses.asl20;
mainProgram = "magick";
};
}
})

View File

@ -23,19 +23,19 @@
stdenv.mkDerivation rec {
pname = "rnote";
version = "0.5.12";
version = "0.5.13";
src = fetchFromGitHub {
owner = "flxzt";
repo = "rnote";
rev = "v${version}";
hash = "sha256-wrx8+18jVDIhYhxD8VgU8wlRDLoUwMWIBOzSUozjUII=";
hash = "sha256-8HMaCO+v9PbkoS8Z1BmndiU7UmlG4TT0+bSESIwa3RM=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-t0nmfM6Z30c+n0iANjMBVifOhYMXdBqgjxYdhOPOhYQ=";
hash = "sha256-rXAPILGzLZ3Ne4nhdaPZH1R2ezaF+D/P2t/Sod6nxo8=";
};
nativeBuildInputs = [

View File

@ -0,0 +1,46 @@
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, libgpiod
, cmake
}:
stdenv.mkDerivation rec {
pname = "gcfflasher";
version = "4.0.3-beta";
src = fetchFromGitHub {
owner = "dresden-elektronik";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-m+iDBfsHo+PLYd3K8JaKwhIXcnj+Q8w7gIgmHp+0plk=";
};
nativeBuildInputs = [
pkg-config
cmake
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace 'main_windows.c' 'main_posix.c'
'';
buildInputs = lib.optionals stdenv.isLinux [
libgpiod
];
installPhase = ''
runHook preInstall
install -Dm0755 GCFFlasher $out/bin/GCFFlasher
runHook postInstall
'';
meta = with lib; {
description = "CFFlasher is the tool to program the firmware of dresden elektronik's Zigbee products";
license = licenses.bsd3;
homepage = "https://github.com/dresden-elektronik/gcfflasher";
maintainers = with maintainers; [ fleaz ];
};
}

View File

@ -23,13 +23,13 @@ let
in
stdenv.mkDerivation rec {
pname = "mediaelch";
version = "2.8.18";
version = "2.10.0";
src = fetchFromGitHub {
owner = "Komet";
repo = "MediaElch";
rev = "v${version}";
sha256 = "sha256-9kwU9j8YNF/OmzrQaRAlBpW+t/tIpZJw5+pfEoTmCBA=";
sha256 = "sha256-hipOOG+ibfsJZKLcnB6a5+OOvSs4WUdpEY+RiVKJc+k=";
fetchSubmodules = true;
};

View File

@ -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;
};
}

View File

@ -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;
};

View File

@ -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" ];

View File

@ -319,13 +319,13 @@
"vendorHash": null
},
"dns": {
"hash": "sha256-aH9sDqlXSq2dJi0kzGreJZ5V8A0WU0UqTpxWPKn23rM=",
"hash": "sha256-qLKlnw0vnPvxJluvUiBERu1YdtrRklocVw314/lvQT4=",
"homepage": "https://registry.terraform.io/providers/hashicorp/dns",
"owner": "hashicorp",
"repo": "terraform-provider-dns",
"rev": "v3.2.3",
"rev": "v3.2.4",
"spdx": "MPL-2.0",
"vendorHash": "sha256-AefmrO8Zb7ICH+qGxYW9ele6kNtrAusOf+KE/iZxKLY="
"vendorHash": "sha256-Ba4J6LUchqhdZTxcJxTgP20aZVioybIzKvF4j5TDQIk="
},
"dnsimple": {
"hash": "sha256-P1mvxRbOSmQknQxFPEyAkpK5eZQq286oceRFbrgYYqg=",
@ -439,22 +439,22 @@
"vendorHash": "sha256-aVbJT31IIgW0GYzwVX7kT4j7E+dadSbnttThh2lzGyE="
},
"google": {
"hash": "sha256-yxw+LtrBhfZlTVh36o3uUdt3zGo7VLTjk5Cc8xoqhio=",
"hash": "sha256-B/eXf31mRtWpl6TCv/hukPWfbb7Ne4W2FUMxiAbfsfI=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google",
"owner": "hashicorp",
"proxyVendor": true,
"repo": "terraform-provider-google",
"rev": "v4.51.0",
"rev": "v4.52.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-oModEw/gaQCDHLf+2EKf1O1HQSGWnqEReXowE6F7W0o="
},
"google-beta": {
"hash": "sha256-KQxIi9EF59FTcWoiE5oTZx+lVV+Pb+PH0QIz02PztN4=",
"hash": "sha256-ISOhZqc6/RMqG4n63RjQluy0odkKATcCa52YpQW89xQ=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
"owner": "hashicorp",
"proxyVendor": true,
"repo": "terraform-provider-google-beta",
"rev": "v4.51.0",
"rev": "v4.52.0",
"spdx": "MPL-2.0",
"vendorHash": "sha256-oModEw/gaQCDHLf+2EKf1O1HQSGWnqEReXowE6F7W0o="
},

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "dnscontrol";
version = "3.25.0";
version = "3.26.0";
src = fetchFromGitHub {
owner = "StackExchange";
repo = pname;
rev = "v${version}";
sha256 = "sha256-XH9o1DTwG5ne5TZDgsS4HfC5WqLXc16JtjkKQtiE8z0=";
sha256 = "sha256-wkPBMFsPLJFfilKuA3bGNn7NtC+wsnXZf+qkVpF2fWc=";
};
vendorSha256 = "sha256-iVyLNPvmzkI46Cp0SgbxK6xIQspJjpYjqPf3mOMoZvU=";
vendorHash = "sha256-U7RQPrvByTADC2/8O0cvcf0nmDgIeVkuyRGV0fpSCPk=";
ldflags = [ "-s" "-w" ];

View File

@ -1,5 +1,5 @@
{ lib, stdenv, fetchFromGitHub, nodejs, python3, callPackage, removeReferencesTo
, fixup_yarn_lock, yarn, pkg-config, libsecret, xcbuild, Security, AppKit, fetchYarnDeps }:
, pkg-config, libsecret, xcbuild, Security, AppKit, fetchNpmDeps, npmHooks }:
let
pinData = lib.importJSON ./pin.json;
@ -15,39 +15,26 @@ in stdenv.mkDerivation rec {
sha256 = pinData.srcHash;
};
nativeBuildInputs = [ nodejs python3 yarn pkg-config ]
nativeBuildInputs = [
nodejs python3 pkg-config
npmHooks.npmConfigHook
]
++ lib.optional stdenv.isDarwin xcbuild;
buildInputs = lib.optionals (!stdenv.isDarwin) [ libsecret ]
++ lib.optionals stdenv.isDarwin [ Security AppKit ];
npm_config_nodedir = nodejs;
yarnOfflineCache = fetchYarnDeps {
yarnLock = ./yarn.lock;
sha256 = pinData.yarnHash;
npmDeps = fetchNpmDeps {
inherit src;
hash = pinData.npmHash;
};
buildPhase = ''
runHook preBuild
cp ${./yarn.lock} ./yarn.lock
chmod u+w . ./yarn.lock
export HOME=$PWD/tmp
mkdir -p $HOME
yarn config --offline set yarn-offline-mirror $yarnOfflineCache
${fixup_yarn_lock}/bin/fixup_yarn_lock yarn.lock
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
patchShebangs node_modules/
node_modules/.bin/node-gyp rebuild
runHook postBuild
'';
doCheck = false;
installPhase = ''
runHook preInstall
shopt -s extglob
rm -rf node_modules
rm -rf $HOME
mkdir -p $out
cp -r ./!(build) $out
install -D -t $out/build/Release build/Release/keytar.node

View File

@ -1,5 +1,5 @@
{
"version": "7.7.0",
"srcHash": "sd6h+vDJGvmXFhOm4MDAljb4dAOMBB8W1IL7JSfJWyo=",
"yarnHash": "1m75hvl06mcj260hicbmv75p94h73gw5d24zpm5wxwc0q8v8wzfl"
"version": "7.9.0",
"srcHash": "Mnl0Im2hZJXJEtyXb5rgMntekkUAnOG2MN1bwfgh0eg=",
"npmHash": "sha256-ldfRWV+HXBdBYO2ZiGbVFSHV4/bMG43U7w+sJ4kpVUY="
}

View File

@ -1,5 +1,5 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-yarn-deps yarn
#!nix-shell -I nixpkgs=../../../../../../ -i bash -p wget prefetch-npm-deps
if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then
echo "Regenerates packaging data for the keytar package."
@ -22,10 +22,8 @@ SRC="https://raw.githubusercontent.com/atom/node-keytar/v$version"
wget "$SRC/package-lock.json"
wget "$SRC/package.json"
rm -f yarn.lock
yarn import
npm_hash=$(prefetch-npm-deps package-lock.json)
rm -rf node_modules package.json package-lock.json
yarn_hash=$(prefetch-yarn-deps yarn.lock)
src_hash=$(nix-prefetch-github atom node-keytar --rev v${version} | jq -r .sha256)
@ -33,6 +31,6 @@ cat > pin.json << EOF
{
"version": "$version",
"srcHash": "$src_hash",
"yarnHash": "$yarn_hash"
"npmHash": "$npm_hash"
}
EOF

View File

@ -1,6 +1,6 @@
{
"version": "2.3.0",
"srcHash": "JyqtM1CCRgxAAdhgQYaIUYPnxEcDrlW1SjDCmsrPL34=",
"yarnHash": "0bym6i1f0i3bs4fncbiwzwmbxp7j14rz1v4kyvsl02qs97qw1jac",
"cargoHash": "sha256-EjtH96SC2kgan631+wlu9LStGKm6ljCR4x3/WpCTS0E="
"version": "2.3.3",
"srcHash": "HmKHWFoO8TQ9S/RcJnJ3h85/2uSkqGrgLnX82hkux4Q=",
"yarnHash": "1cbkv8ap7f8vxl5brzqb86d2dyxg555sz67cldrp0vgnk8sq6ibp",
"cargoHash": "sha256-WsgTbQ91aZZV5sIuFVjsccdiXivjtAUC1Zs/4uNk1zU="
}

View File

@ -75,7 +75,7 @@ let
in
env.mkDerivation rec {
pname = "telegram-desktop";
version = "4.6.0";
version = "4.6.1";
# Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
# Telegram-Desktop with submodules
@ -84,7 +84,7 @@ env.mkDerivation rec {
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "1kwg286mbpf0gj57702fqddmyn5iihzny3da425psnwa10s217yf";
sha256 = "1df9rx3a6xvgipgzn5h4jc46nsdkypl4255si606bkrccdz8bcrl";
};
postPatch = ''

View File

@ -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";
};

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"

View File

@ -26,11 +26,11 @@ mkDerivation rec {
pname = "teamviewer";
# teamviewer itself has not development files but the dev output removes propagated other dev outputs from runtime
outputs = [ "out" "dev" ];
version = "15.35.7";
version = "15.38.3";
src = fetchurl {
url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
sha256 = "sha256-KNUhe0c6Th2pW7+Lmo62FYdOv+8t7Z5/eQkYPN8eusc=";
url = "https://dl.tvcdn.de/download/linux/version_${lib.versions.major version}x/teamviewer_${version}_amd64.deb";
sha256 = "sha256-+GGpGV8rl15VQvPRA2PWngQI4VoxCrZ0ArEm9FgdOVE=";
};
unpackPhase = ''

View File

@ -5,6 +5,7 @@
, extra-cmake-modules
, shared-mime-info
# Qt
, qtnetworkauth
, qtxmlpatterns
, qtwebengine
, qca-qt5
@ -28,11 +29,13 @@
mkDerivation rec {
pname = "kbibtex";
version = "0.9.2";
version = "0.9.3.1";
src = fetchurl {
url = "mirror://kde/stable/KBibTeX/${version}/kbibtex-${version}.tar.xz";
sha256 = "09xcdx363z9hps3wbr1kx96a6q6678y8pg8r3apyps4xm7xm31nr";
src = let
majorMinorPatch = lib.concatStringsSep "." (lib.take 3 (lib.splitVersion version));
in fetchurl {
url = "mirror://kde/stable/KBibTeX/${majorMinorPatch}/kbibtex-${version}.tar.xz";
hash = "sha256-kH/E5xv9dmzM7WrIMlGCo4y0Xv/7XHowELJP3OJz8kQ=";
};
nativeBuildInputs = [
@ -41,6 +44,7 @@ mkDerivation rec {
];
buildInputs = [
qtnetworkauth
qtxmlpatterns
qtwebengine
qca-qt5

View File

@ -61,7 +61,7 @@ stdenv.mkDerivation rec {
'';
meta = {
description = "A codeplug programming tool for DMR radios";
description = "GUI application and command line tool for programming DMR radios";
homepage = "https://dm3mat.darc.de/qdmr/";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ janik _0x4A6F ];

View File

@ -5,7 +5,8 @@
, python ? null
, ncurses, swig2
, extraPackages ? []
} :
, testers
}:
let
@ -14,7 +15,7 @@ let
modulesPath = "lib/SoapySDR/modules" + modulesVersion;
extraPackagesSearchPath = lib.makeSearchPath modulesPath extraPackages;
in stdenv.mkDerivation {
in stdenv.mkDerivation (finalAttrs: {
pname = "soapysdr";
inherit version;
@ -58,12 +59,15 @@ in stdenv.mkDerivation {
done
'';
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
homepage = "https://github.com/pothosware/SoapySDR";
description = "Vendor and platform neutral SDR support library";
license = licenses.boost;
maintainers = with maintainers; [ markuskowa ];
mainProgram = "SoapySDRUtil";
pkgConfigModules = [ "SoapySDR" ];
platforms = platforms.unix;
};
}
})

View File

@ -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;
};
}

View File

@ -1,22 +1,22 @@
{ lib, stdenv, fetchFromGitHub
, perl, flex, bison, python3, autoconf
, which, cmake
, which, cmake, help2man
}:
stdenv.mkDerivation rec {
pname = "verilator";
version = "5.002";
version = "5.006";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
hash = "sha256-RNoKAEF7zl+WqqbxGP/VvdQqQP8VI3hoQku3b/g0XpU=";
hash = "sha256-PA8hbE6XECapuaO5YcgEodOoxSDqpMucdijJBBb7fZg=";
};
enableParallelBuilding = true;
buildInputs = [ perl ];
nativeBuildInputs = [ flex bison python3 autoconf ];
nativeBuildInputs = [ flex bison python3 autoconf help2man ];
nativeCheckInputs = [ which ];
doCheck = stdenv.isLinux; # darwin tests are broken for now...
@ -24,14 +24,8 @@ stdenv.mkDerivation rec {
preConfigure = "autoconf";
preCheck = ''
patchShebangs \
src/flexfix \
src/vlcovgen \
bin/verilator \
bin/verilator_coverage \
test_regress/driver.pl \
test_regress/t/*.pl
postPatch = ''
patchShebangs bin/* src/{flexfix,vlcovgen} test_regress/{driver.pl,t/*.pl}
'';
meta = with lib; {

View File

@ -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

View File

@ -25,7 +25,7 @@
, numactl
, writeText
# Processing, video codecs, containers
, ffmpeg-full
, ffmpeg_5-full
, nv-codec-headers
, libogg
, x264
@ -34,6 +34,7 @@
, libtheora
, dav1d
, zimg
, svt-av1
# Codecs, audio
, libopus
, lame
@ -84,57 +85,55 @@
}:
let
version = "1.5.1";
version = "1.6.1";
src = fetchFromGitHub {
owner = "HandBrake";
repo = "HandBrake";
rev = version;
sha256 = "1kk11zl1mk37d4cvbc75gfndmma7vy3vkp4gmkyl92kiz6zadhyy";
sha256 = "sha256-0MJ1inMNA6s8l2S0wnpM2c7FxOoOHxs9u4E/rgKfjJo=";
};
# Handbrake maintains a set of ffmpeg patches. In particular, these
# patches are required for subtitle timing to work correctly. See:
# https://github.com/HandBrake/HandBrake/issues/4029
ffmpeg-version = "4.4.1";
ffmpeg-hb = ffmpeg-full.overrideAttrs (old: {
ffmpeg-version = "5.1.1";
ffmpeg-hb = ffmpeg_5-full.overrideAttrs (old: {
version = ffmpeg-version;
src = fetchurl {
url = "https://www.ffmpeg.org/releases/ffmpeg-${ffmpeg-version}.tar.bz2";
hash = "sha256-j8nyCsXtlRFanihWR63Q7t1cwamKA5raFMEyRS+YrEI=";
hash = "sha256-zQ4W+QNCEmbVzN3t97g7nldUrvS596fwbOnkyALwVFs=";
};
patches = old.patches or [] ++ [
"${src}/contrib/ffmpeg/A01-qsv-scale-fix-green-stripes.patch"
"${src}/contrib/ffmpeg/A02-qsv-interpolation.patch"
"${src}/contrib/ffmpeg/A03-qsv-dx11-ffmpeg44.patch"
"${src}/contrib/ffmpeg/A04-configure-ensure-the-right-libmfx-version-is-used-wh.patch"
"${src}/contrib/ffmpeg/A05-qsv-add-includedir-mfx-to-the-search-path-for-old-ve.patch"
"${src}/contrib/ffmpeg/A06-qsv-load-user-plugin-for-MFX_VERSION-2.0.patch"
"${src}/contrib/ffmpeg/A07-qsv-build-audio-related-code-when-MFX_VERSION-2.0.patch"
"${src}/contrib/ffmpeg/A08-qsvenc-don-t-support-multi-frame-encode-when-MFX_VER.patch"
"${src}/contrib/ffmpeg/A09-qsvenc-don-t-support-MFX_RATECONTROL_LA_EXT-when-MFX.patch"
"${src}/contrib/ffmpeg/A10-qsv-don-t-support-OPAQUE-memory-when-MFX_VERSION-2.0.patch"
"${src}/contrib/ffmpeg/A11-qsv-opaque-deinterlace.patch"
"${src}/contrib/ffmpeg/A12-qsv-opaque-vpp.patch"
"${src}/contrib/ffmpeg/A13-qsv-opaque-hwcontext_qsv.patch"
"${src}/contrib/ffmpeg/A14-configure-check-mfxdefs.h-instead-of-mfxvp9.h-for-MF.patch"
"${src}/contrib/ffmpeg/A15-configure-allow-user-to-build-FFmpeg-against-oneVPL.patch"
"${src}/contrib/ffmpeg/A16-qsv-add-macro-QSV_ONEVPL-for-the-oneVPL-SDK.patch"
"${src}/contrib/ffmpeg/A17-qsv-use-a-new-method-to-create-mfx-session-when-usin.patch"
"${src}/contrib/ffmpeg/A18-qsv-new-method-hwcontext_qsv.patch"
"${src}/contrib/ffmpeg/A19-qsv-fix-session-for-d3d11-device.patch"
"${src}/contrib/ffmpeg/A20-mov-read-name-track-tag-written-by-movenc.patch"
"${src}/contrib/ffmpeg/A21-movenc-write-3gpp-track-titl-tag.patch"
"${src}/contrib/ffmpeg/A22-mov-read-3gpp-udta-tags.patch"
"${src}/contrib/ffmpeg/A23-movenc-write-3gpp-track-names-tags-for-all-available.patch"
"${src}/contrib/ffmpeg/A24-FFmpeg-devel-amfenc-Add-support-for-pict_type-field.patch"
"${src}/contrib/ffmpeg/A25-dvdsubdec-fix-processing-of-partial-packets.patch"
"${src}/contrib/ffmpeg/A26-ccaption_dec-return-number-of-bytes-used.patch"
"${src}/contrib/ffmpeg/A27-dvdsubdec-return-number-of-bytes-used.patch"
"${src}/contrib/ffmpeg/A28-dvdsubdec-use-pts-of-initial-packet.patch"
"${src}/contrib/ffmpeg/A29-matroskaenc-aac-extradata-updated.patch"
"${src}/contrib/ffmpeg/A30-ccaption_dec-fix-pts-in-real_time-mode.patch"
"${src}/contrib/ffmpeg/A32-qsv-fix-decode-10bit-hdr.patch"
patches = old.patches or [ ] ++ [
"${src}/contrib/ffmpeg/A01-qsv-libavfilter-qsvvpp-change-the-output-frame-s-width-a.patch"
"${src}/contrib/ffmpeg/A02-qsv-configure-ensure-enable-libmfx-uses-libmfx-1.x.patch"
"${src}/contrib/ffmpeg/A03-qsv-configure-fix-the-check-for-MFX_CODEC_VP9.patch"
"${src}/contrib/ffmpeg/A04-qsv-remove-mfx-prefix-from-mfx-headers.patch"
"${src}/contrib/ffmpeg/A05-qsv-load-user-plugin-for-MFX_VERSION-2.0.patch"
"${src}/contrib/ffmpeg/A06-qsv-build-audio-related-code-when-MFX_VERSION-2.0.patch"
"${src}/contrib/ffmpeg/A07-qsvenc-support-multi-frame-encode-when-MFX_VERSION-2.patch"
"${src}/contrib/ffmpeg/A08-qsvenc-support-MFX_RATECONTROL_LA_EXT-when-MFX_VERSI.patch"
"${src}/contrib/ffmpeg/A09-qsv-support-OPAQUE-memory-when-MFX_VERSION-2.0.patch"
"${src}/contrib/ffmpeg/A10-qsv-configure-add-enable-libvpl-option.patch"
"${src}/contrib/ffmpeg/A11-qsv-use-a-new-method-to-create-mfx-session-when-usin.patch"
"${src}/contrib/ffmpeg/A12-qsv-fix-decode-10bit-hdr.patch"
"${src}/contrib/ffmpeg/A13-mov-read-name-track-tag-written-by-movenc.patch"
"${src}/contrib/ffmpeg/A14-movenc-write-3gpp-track-titl-tag.patch"
"${src}/contrib/ffmpeg/A15-mov-read-3gpp-udta-tags.patch"
"${src}/contrib/ffmpeg/A16-movenc-write-3gpp-track-names-tags-for-all-available.patch"
"${src}/contrib/ffmpeg/A17-FFmpeg-devel-amfenc-Add-support-for-pict_type-field.patch"
"${src}/contrib/ffmpeg/A18-dvdsubdec-fix-processing-of-partial-packets.patch"
"${src}/contrib/ffmpeg/A19-ccaption_dec-return-number-of-bytes-used.patch"
"${src}/contrib/ffmpeg/A20-dvdsubdec-return-number-of-bytes-used.patch"
"${src}/contrib/ffmpeg/A21-dvdsubdec-use-pts-of-initial-packet.patch"
"${src}/contrib/ffmpeg/A22-matroskaenc-aac-extradata-updated.patch"
"${src}/contrib/ffmpeg/A23-ccaption_dec-fix-pts-in-real_time-mode.patch"
"${src}/contrib/ffmpeg/A24-fix-eac3-dowmix.patch"
"${src}/contrib/ffmpeg/A25-enable-truehd-pass.patch"
"${src}/contrib/ffmpeg/A26-Update-the-min-version-to-1.4.23.0-for-AMF-SDK.patch"
"${src}/contrib/ffmpeg/A27-avcodec-amfenc-Fixes-the-color-information-in-the-ou.patch"
"${src}/contrib/ffmpeg/A28-avcodec-amfenc-HDR-metadata.patch"
"${src}/contrib/ffmpeg/A30-svt-av1-backports.patch"
];
});
@ -151,148 +150,151 @@ let
inherit (lib) optional optionals optionalString versions;
in
let self = stdenv.mkDerivation rec {
pname = "handbrake";
inherit version src;
let
self = stdenv.mkDerivation rec {
pname = "handbrake";
inherit version src;
postPatch = ''
install -Dm444 ${versionFile} ${versionFile.name}
postPatch = ''
install -Dm444 ${versionFile} ${versionFile.name}
patchShebangs scripts
patchShebangs scripts
substituteInPlace libhb/hb.c \
--replace 'return hb_version;' 'return "${version}";'
substituteInPlace libhb/hb.c \
--replace 'return hb_version;' 'return "${version}";'
# Force using nixpkgs dependencies
sed -i '/MODULES += contrib/d' make/include/main.defs
sed -e 's/^[[:space:]]*\(meson\|ninja\|nasm\)[[:space:]]*= ToolProbe.*$//g' \
-e '/ ## Additional library and tool checks/,/ ## MinGW specific library and tool checks/d' \
-i make/configure.py
'' + optionalString stdenv.isDarwin ''
# Use the Nix-provided libxml2 instead of the patched version available on
# the Handbrake website.
substituteInPlace libhb/module.defs \
--replace '$(CONTRIB.build/)include/libxml2' ${libxml2.dev}/include/libxml2
# Force using nixpkgs dependencies
sed -i '/MODULES += contrib/d' make/include/main.defs
sed -e 's/^[[:space:]]*\(meson\|ninja\|nasm\)[[:space:]]*= ToolProbe.*$//g' \
-e '/ ## Additional library and tool checks/,/ ## MinGW specific library and tool checks/d' \
-i make/configure.py
'' + optionalString stdenv.isDarwin ''
# Use the Nix-provided libxml2 instead of the patched version available on
# the Handbrake website.
substituteInPlace libhb/module.defs \
--replace '$(CONTRIB.build/)include/libxml2' ${libxml2.dev}/include/libxml2
# Prevent the configure script from failing if xcodebuild isn't available,
# which it isn't in the Nix context. (The actual build goes fine without
# xcodebuild.)
sed -e '/xcodebuild = ToolProbe/s/abort=.\+)/abort=False)/' -i make/configure.py
'' + optionalString stdenv.isLinux ''
# Use the Nix-provided libxml2 instead of the system-provided one.
substituteInPlace libhb/module.defs \
--replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2
'';
nativeBuildInputs = [
autoconf
automake
libtool
m4
pkg-config
python3
]
++ optionals useGtk [ intltool wrapGAppsHook ];
buildInputs = [
a52dec
dav1d
ffmpeg-hb
fontconfig
freetype
fribidi
harfbuzz
jansson
lame
libass
libbluray
libdvdcss
libdvdnav
libdvdread
libiconv
libjpeg_turbo
libogg
libopus
libsamplerate
libtheora
libvorbis
libvpx
libxml2
speex
x264
x265
xz
zimg
]
++ optional (!stdenv.isDarwin) numactl
++ optionals useGtk [
dbus-glib
glib
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
gtk3
hicolor-icon-theme
libappindicator-gtk3
libgudev
libnotify
udev
]
++ optional useFdk fdk_aac
++ optionals stdenv.isDarwin [ AudioToolbox Foundation libobjc VideoToolbox ]
# NOTE: 2018-12-27: Handbrake supports nv-codec-headers for Linux only,
# look at ./make/configure.py search "enable_nvenc"
++ optional stdenv.isLinux nv-codec-headers;
configureFlags = [
"--disable-df-fetch"
"--disable-df-verify"
"--disable-gtk-update-checks"
]
++ optional (!useGtk) "--disable-gtk"
++ optional useFdk "--enable-fdk-aac"
++ optional stdenv.isDarwin "--disable-xcode"
++ optional stdenv.hostPlatform.isx86 "--harden";
# NOTE: 2018-12-27: Check NixOS HandBrake test if changing
NIX_LDFLAGS = [ "-lx265" ];
makeFlags = [ "--directory=build" ];
passthru.tests = {
basic-conversion =
let
# Big Buck Bunny example, licensed under CC Attribution 3.0.
testMkv = fetchurl {
url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
};
in
runCommand "${pname}-${version}-basic-conversion" { nativeBuildInputs = [ self ]; } ''
mkdir -p $out
cd $out
HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160
test -e test.mp4
HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160
test -e test.mkv
'';
version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; };
};
meta = with lib; {
homepage = "https://handbrake.fr/";
description = "A tool for converting video files and ripping DVDs";
longDescription = ''
Tool for converting and remuxing video files
into selection of modern and widely supported codecs
and containers. Very versatile and customizable.
Package provides:
CLI - `HandbrakeCLI`
GTK GUI - `ghb`
# Prevent the configure script from failing if xcodebuild isn't available,
# which it isn't in the Nix context. (The actual build goes fine without
# xcodebuild.)
sed -e '/xcodebuild = ToolProbe/s/abort=.\+)/abort=False)/' -i make/configure.py
'' + optionalString stdenv.isLinux ''
# Use the Nix-provided libxml2 instead of the system-provided one.
substituteInPlace libhb/module.defs \
--replace /usr/include/libxml2 ${libxml2.dev}/include/libxml2
'';
license = licenses.gpl2Only;
maintainers = with maintainers; [ Anton-Latukha wmertens ];
platforms = with platforms; unix;
broken = stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13";
nativeBuildInputs = [
autoconf
automake
libtool
m4
pkg-config
python3
]
++ optionals useGtk [ intltool wrapGAppsHook ];
buildInputs = [
a52dec
dav1d
ffmpeg-hb
fontconfig
freetype
fribidi
harfbuzz
jansson
lame
libass
libbluray
libdvdcss
libdvdnav
libdvdread
libiconv
libjpeg_turbo
libogg
libopus
libsamplerate
libtheora
libvorbis
libvpx
libxml2
speex
svt-av1
x264
x265
xz
zimg
]
++ optional (!stdenv.isDarwin) numactl
++ optionals useGtk [
dbus-glib
glib
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
gtk3
hicolor-icon-theme
libappindicator-gtk3
libgudev
libnotify
udev
]
++ optional useFdk fdk_aac
++ optionals stdenv.isDarwin [ AudioToolbox Foundation libobjc VideoToolbox ]
# NOTE: 2018-12-27: Handbrake supports nv-codec-headers for Linux only,
# look at ./make/configure.py search "enable_nvenc"
++ optional stdenv.isLinux nv-codec-headers;
configureFlags = [
"--disable-df-fetch"
"--disable-df-verify"
"--disable-gtk-update-checks"
]
++ optional (!useGtk) "--disable-gtk"
++ optional useFdk "--enable-fdk-aac"
++ optional stdenv.isDarwin "--disable-xcode"
++ optional stdenv.hostPlatform.isx86 "--harden";
# NOTE: 2018-12-27: Check NixOS HandBrake test if changing
NIX_LDFLAGS = [ "-lx265" ];
makeFlags = [ "--directory=build" ];
passthru.tests = {
basic-conversion =
let
# Big Buck Bunny example, licensed under CC Attribution 3.0.
testMkv = fetchurl {
url = "https://github.com/Matroska-Org/matroska-test-files/blob/cf0792be144ac470c4b8052cfe19bb691993e3a2/test_files/test1.mkv?raw=true";
sha256 = "1hfxbbgxwfkzv85pvpvx55a72qsd0hxjbm9hkl5r3590zw4s75h9";
};
in
runCommand "${pname}-${version}-basic-conversion" { nativeBuildInputs = [ self ]; } ''
mkdir -p $out
cd $out
HandBrakeCLI -i ${testMkv} -o test.mp4 -e x264 -q 20 -B 160
test -e test.mp4
HandBrakeCLI -i ${testMkv} -o test.mkv -e x264 -q 20 -B 160
test -e test.mkv
'';
version = testers.testVersion { package = self; command = "HandBrakeCLI --version"; };
};
meta = with lib; {
homepage = "https://handbrake.fr/";
description = "A tool for converting video files and ripping DVDs";
longDescription = ''
Tool for converting and remuxing video files
into selection of modern and widely supported codecs
and containers. Very versatile and customizable.
Package provides:
CLI - `HandbrakeCLI`
GTK GUI - `ghb`
'';
license = licenses.gpl2Only;
maintainers = with maintainers; [ Anton-Latukha wmertens ];
platforms = with platforms; unix;
broken = stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13";
};
};
};
in self
in
self

View File

@ -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) \

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "nixpacks";
version = "1.1.1";
version = "1.3.1";
src = fetchFromGitHub {
owner = "railwayapp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-SrNYvkJy97GwneA7UClNLaO0fd+ZiMSxCCSgqwESw5Y=";
sha256 = "sha256-lQHJ5Y+EMhERxOX062QMNPImAX9tjamGYFXYYUmhpys=";
};
cargoHash = "sha256-S/V2PVkL9T/USXAzorDpo0nhRm9DOkNtfw5CADg4oKM=";
cargoHash = "sha256-z+DQkl/7kX5tLG9igPnEgHi9sJhB4NoutfV2/BV2U6A=";
# skip test due FHS dependency
doCheck = false;

View File

@ -1,7 +1,5 @@
{ lib, callPackage, runCommandLocal, writeShellScriptBin, glibc, pkgsi686Linux, coreutils, bubblewrap }:
let buildFHSEnv = callPackage ./env.nix { }; in
args @ {
name
, runScript ? "bash"

View File

@ -2,6 +2,7 @@
, callPackage
, cargo
, cargo-nextest
, clang
, lib
, makeSetupHook
, maturin
@ -126,8 +127,8 @@ in {
bindgenHook = callPackage ({}: makeSetupHook {
name = "rust-bindgen-hook";
substitutions = {
libclang = rustc.llvmPackages.clang.cc.lib;
clang = rustc.llvmPackages.clang;
libclang = clang.cc.lib;
inherit clang;
};
}
./rust-bindgen-hook.sh) {};

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;

View File

@ -35,6 +35,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/linuxdeepin/deepin-image-viewer/commit/4a046e6207fea306e592fddc33c1285cf719a63d.patch";
sha256 = "sha256-aIgYmq6WDfCE+ZcD0GshxM+QmBWZGjh9MzZcTMrhBJ0=";
})
(fetchpatch {
name = "fix build with libraw 0.21";
url = "https://raw.githubusercontent.com/archlinux/svntogit-community/2ff11979704dd7156a7e7c3bae9b30f08894063d/trunk/libraw-0.21.patch";
sha256 = "sha256-I/w4uiANT8Z8ud/F9WCd3iRHOfplu3fpqnu8ZIs4C+w=";
})
];
postPatch = ''

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

View File

@ -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;
};
}

View File

@ -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 ];

View File

@ -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 = [];

View File

@ -1,24 +0,0 @@
From 657b70d174fe5cb61e56cb8b9c5e57f1ec216f2b Mon Sep 17 00:00:00 2001
From: Mikhail Glushenkov <mikhail.glushenkov@gmail.com>
Date: Wed, 10 Apr 2019 17:42:57 +0100
Subject: [PATCH] Allow http-client 0.6.*.
Changelog doesn't list any silently breaking semantic changes.
---
amazonka/amazonka.cabal | 2 +-
core/amazonka-core.cabal | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/amazonka/amazonka.cabal b/amazonka/amazonka.cabal
index e86713f11c..81c4cb7e48 100644
--- a/amazonka.cabal
+++ b/amazonka.cabal
@@ -67,7 +67,7 @@ library
, conduit-extra >= 1.1
, directory >= 1.2
, exceptions >= 0.6
- , http-client >= 0.4 && < 0.6
+ , http-client >= 0.4 && < 0.7
, http-conduit >= 2.1.7 && < 3
, http-types >= 0.8
, ini >= 0.3.5

View File

@ -1,26 +0,0 @@
From 657b70d174fe5cb61e56cb8b9c5e57f1ec216f2b Mon Sep 17 00:00:00 2001
From: Mikhail Glushenkov <mikhail.glushenkov@gmail.com>
Date: Wed, 10 Apr 2019 17:42:57 +0100
Subject: [PATCH] Allow http-client 0.6.*.
Changelog doesn't list any silently breaking semantic changes.
---
amazonka/amazonka.cabal | 2 +-
core/amazonka-core.cabal | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/core/amazonka-core.cabal b/core/amazonka-core.cabal
index 9796e007cf..eccb24e5bd 100644
--- a/amazonka-core.cabal
+++ b/amazonka-core.cabal
@@ -90,7 +90,7 @@ library
, deepseq >= 1.4
, exceptions >= 0.6
, hashable >= 1.2
- , http-client >= 0.4 && < 0.6
+ , http-client >= 0.4 && < 0.7
, http-conduit >= 2.1.4 && < 3
, http-types >= 0.8 && (<0.11 || >=0.12)
, lens >= 4.4
--
2.23.0

View File

@ -1,333 +0,0 @@
From 2490fa65eeba52699a7c0e303aa5cb9b78c2b1cf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
Date: Fri, 17 Apr 2020 20:49:23 +0200
Subject: [PATCH] Compile against GHC 8.8
---
Setup.hs | 15 ---------------
src/Darcs/Patch/Depends.hs | 2 +-
src/Darcs/Patch/Match.hs | 12 ++++++------
src/Darcs/Patch/PatchInfoAnd.hs | 2 +-
src/Darcs/Patch/Prim/V1/Apply.hs | 6 +++---
src/Darcs/Patch/Prim/V1/Commute.hs | 1 +
src/Darcs/Patch/ReadMonads.hs | 1 +
src/Darcs/Patch/V1/Commute.hs | 1 +
src/Darcs/Repository/Diff.hs | 2 +-
src/Darcs/Repository/Match.hs | 2 +-
src/Darcs/Util/Tree/Monad.hs | 4 ++--
12 files changed, 30 insertions(+), 42 deletions(-)
diff --git a/Setup.hs b/Setup.hs
index f5cc3e8..05caac4 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -75,21 +75,6 @@
postInst = \ _ flags pkg lbi ->
installManpage pkg lbi (fromFlag $ installVerbosity flags) NoCopyDest,
- sDistHook = \ pkg lbi hooks flags -> do
- let pkgVer = packageVersion pkg
- verb = fromFlag $ sDistVerbosity flags
- x <- versionPatches verb pkgVer
- y <- context verb
- rewriteFileEx silent "release/distributed-version" $ show x
- rewriteFileEx silent "release/distributed-context" $ show y
- putStrLn "about to hand over"
- let pkg' = pkg { library = sanity (library pkg) }
- sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
- sanity _ = error "eh"
- sanity' bi = bi { otherModules = [ m | m <- otherModules bi, toFilePath m /= "Version" ] }
-
- sDistHook simpleUserHooks pkg' lbi hooks flags
- ,
postConf = \_ _ _ _ -> return () --- Usually this checked for external C
--- dependencies, but we already have performed such
--- check in the confHook
--- a/darcs.cabal 1970-01-01 01:00:01.000000000 +0100
+++ b/darcs.cabal 2020-04-18 10:26:07.605129733 +0200
@@ -1,6 +1,5 @@
Name: darcs
version: 2.14.2
-x-revision: 1
License: GPL-2
License-file: COPYING
Author: David Roundy <droundy@darcs.net>, <darcs-devel@darcs.net>
@@ -75,7 +74,7 @@
description: Use libcurl for HTTP support.
-- in future this could extend to any other external libraries,
--- e.g. libiconv
+-- e.g. libiconv
flag pkgconfig
description: Use pkgconfig to configure libcurl
default: False
@@ -113,7 +112,7 @@
-- ----------------------------------------------------------------------
custom-setup
- setup-depends: base >= 4.9 && < 4.13,
+ setup-depends: base >= 4.9 && <5,
Cabal >= 1.24,
process >= 1.2.3.0 && < 1.7,
filepath >= 1.4.1 && < 1.5.0.0,
@@ -381,7 +380,7 @@
else
build-depends: unix >= 2.7.1.0 && < 2.8
- build-depends: base >= 4.9 && < 4.13,
+ build-depends: base >= 4.9 && <5,
stm >= 2.1 && < 2.6,
binary >= 0.5 && < 0.10,
containers >= 0.5.6.2 && < 0.7,
@@ -402,19 +401,19 @@
tar >= 0.5 && < 0.6,
data-ordlist == 0.4.*,
attoparsec >= 0.13.0.1 && < 0.14,
- zip-archive >= 0.3 && < 0.5,
+ zip-archive >= 0.3 && <1,
async >= 2.0.2 && < 2.3,
- sandi >= 0.4 && < 0.6,
+ sandi >= 0.4 && <1,
unix-compat >= 0.4.2 && < 0.6,
bytestring >= 0.10.6 && < 0.11,
old-time >= 1.1.0.3 && < 1.2,
time >= 1.5.0.1 && < 1.10,
- text >= 1.2.1.3 && < 1.3,
+ text >= 1.2.1.3 && <2,
directory >= 1.2.6.2 && < 1.4,
process >= 1.2.3.0 && < 1.7,
array >= 0.5.1.0 && < 0.6,
random >= 1.1 && < 1.2,
- hashable >= 1.2.3.3 && < 1.3,
+ hashable >= 1.2.3.3 && <2,
mmap >= 0.5.9 && < 0.6,
zlib >= 0.6.1.2 && < 0.7.0.0,
network-uri == 2.6.*,
@@ -443,7 +442,7 @@
-- The terminfo package cannot be built on Windows.
if flag(terminfo) && !os(windows)
- build-depends: terminfo >= 0.4.0.2 && < 0.5
+ build-depends: terminfo >= 0.4.0.2 && <1
cpp-options: -DHAVE_TERMINFO
default-extensions:
@@ -500,7 +499,7 @@
cc-options: -D_REENTRANT
build-depends: darcs,
- base >= 4.9 && < 4.13
+ base >= 4.9 && <5
-- ----------------------------------------------------------------------
-- unit test driver
@@ -518,7 +517,7 @@
build-depends: Win32 >= 2.3.1 && < 2.4
build-depends: darcs,
- base >= 4.9 && < 4.13,
+ base >= 4.9 && <5,
array >= 0.5.1.0 && < 0.6,
bytestring >= 0.10.6 && < 0.11,
cmdargs >= 0.10.10 && < 0.11,
@@ -527,15 +526,15 @@
mtl >= 2.2.1 && < 2.3,
shelly >= 1.6.8 && < 1.9,
split >= 0.2.2 && < 0.3,
- text >= 1.2.1.3 && < 1.3,
+ text >= 1.2.1.3 && <2,
directory >= 1.2.6.2 && < 1.4,
FindBin >= 0.0.5 && < 0.1,
- QuickCheck >= 2.8.2 && < 2.13,
+ QuickCheck >= 2.8.2 && <3,
HUnit >= 1.3 && < 1.7,
test-framework >= 0.8.1.1 && < 0.9,
test-framework-hunit >= 0.3.0.2 && < 0.4,
test-framework-quickcheck2 >= 0.3.0.3 && < 0.4,
- zip-archive >= 0.3 && < 0.5
+ zip-archive >= 0.3 && <1
-- https://github.com/yesodweb/Shelly.hs/issues/177
if os(windows)
diff --git a/src/Darcs/Patch/Depends.hs b/src/Darcs/Patch/Depends.hs
index 8531294..a4c71cb 100644
--- a/src/Darcs/Patch/Depends.hs
+++ b/src/Darcs/Patch/Depends.hs
@@ -251,7 +251,7 @@ splitOnTag _ (PatchSet NilRL NilRL) = Nothing
unwrapOneTagged :: (Monad m) => PatchSet rt p wX wY -> m (PatchSet rt p wX wY)
unwrapOneTagged (PatchSet (ts :<: Tagged t _ tps) ps) =
return $ PatchSet ts (tps :<: t +<+ ps)
-unwrapOneTagged _ = fail "called unwrapOneTagged with no Tagged's in the set"
+unwrapOneTagged _ = error "called unwrapOneTagged with no Tagged's in the set"
-- | @getUncovered ps@ returns the 'PatchInfo' for all the patches in
-- @ps@ that are not depended on by anything else *through explicit
diff --git a/src/Darcs/Patch/Match.hs b/src/Darcs/Patch/Match.hs
index aba6c7a..2b6f53a 100644
--- a/src/Darcs/Patch/Match.hs
+++ b/src/Darcs/Patch/Match.hs
@@ -421,7 +421,7 @@ getNonrangeMatchS fs repo =
Just m -> if nonrangeMatcherIsTag fs
then getTagS m repo
else getMatcherS Exclusive m repo
- Nothing -> fail "Pattern not specified in getNonrangeMatch."
+ Nothing -> error "Pattern not specified in getNonrangeMatch."
-- | @firstMatch fs@ tells whether @fs@ implies a "first match", that
-- is if we match against patches from a point in the past on, rather
@@ -441,7 +441,7 @@ getFirstMatchS fs repo =
Just (_,b) -> unpullLastN repo b -- b is chronologically earlier than a
Nothing ->
case firstMatcher fs of
- Nothing -> fail "Pattern not specified in getFirstMatchS."
+ Nothing -> error "Pattern not specified in getFirstMatchS."
Just m -> if firstMatcherIsTag fs
then getTagS m repo
else getMatcherS Inclusive m repo
@@ -462,7 +462,7 @@ checkMatchSyntax :: [MatchFlag] -> IO ()
checkMatchSyntax opts =
case getMatchPattern opts of
Nothing -> return ()
- Just p -> either fail (const $ return ()) (parseMatch p::Either String (MatchFun rt DummyPatch))
+ Just p -> either error (const $ return ()) (parseMatch p::Either String (MatchFun rt DummyPatch))
getMatchPattern :: [MatchFlag] -> Maybe String
getMatchPattern [] = Nothing
@@ -718,7 +718,7 @@ getMatcherS :: (ApplyMonad (ApplyState p) m, Matchable p) =>
getMatcherS ioe m repo =
if matchExists m repo
then applyInvToMatcher ioe m repo
- else fail $ "Couldn't match pattern "++ show m
+ else error $ "Couldn't match pattern "++ show m
getTagS :: (ApplyMonad (ApplyState p) m, MonadProgress m, Matchable p) =>
Matcher rt p -> PatchSet rt p Origin wX -> m ()
diff --git a/src/Darcs/Patch/PatchInfoAnd.hs b/src/Darcs/Patch/PatchInfoAnd.hs
index 2da7ec8..1147410 100644
--- a/src/Darcs/Patch/PatchInfoAnd.hs
+++ b/src/Darcs/Patch/PatchInfoAnd.hs
@@ -167,7 +167,7 @@ conscientiously er (PIAP pinf hp) =
-- | @hopefullyM@ is a version of @hopefully@ which calls @fail@ in a
-- monad instead of erroring.
-hopefullyM :: Monad m => PatchInfoAnd rt p wA wB -> m (WrappedNamed rt p wA wB)
+hopefullyM :: MonadFail m => PatchInfoAnd rt p wA wB -> m (WrappedNamed rt p wA wB)
hopefullyM (PIAP pinf hp) = case hopefully2either hp of
Right p -> return p
Left e -> fail $ renderString
diff --git a/src/Darcs/Patch/Prim/V1/Apply.hs b/src/Darcs/Patch/Prim/V1/Apply.hs
index bea7e41..7984d21 100644
--- a/src/Darcs/Patch/Prim/V1/Apply.hs
+++ b/src/Darcs/Patch/Prim/V1/Apply.hs
@@ -41,13 +41,13 @@ instance Apply Prim where
apply (FP f (TokReplace t o n)) = mModifyFilePS f doreplace
where doreplace fc =
case tryTokReplace t (BC.pack o) (BC.pack n) fc of
- Nothing -> fail $ "replace patch to " ++ fn2fp f
+ Nothing -> error $ "replace patch to " ++ fn2fp f
++ " couldn't apply."
Just fc' -> return fc'
apply (FP f (Binary o n)) = mModifyFilePS f doapply
where doapply oldf = if o == oldf
then return n
- else fail $ "binary patch to " ++ fn2fp f
+ else error $ "binary patch to " ++ fn2fp f
++ " couldn't apply."
apply (DP d AddDir) = mCreateDirectory d
apply (DP d RmDir) = mRemoveDirectory d
@@ -115,7 +115,7 @@ applyHunk f h fc =
case applyHunkLines h fc of
Right fc' -> return fc'
Left msg ->
- fail $
+ error $
"### Error applying:\n" ++ renderHunk h ++
"\n### to file " ++ fn2fp f ++ ":\n" ++ BC.unpack fc ++
"### Reason: " ++ msg
diff --git a/src/Darcs/Patch/Prim/V1/Commute.hs b/src/Darcs/Patch/Prim/V1/Commute.hs
index 7639dbd..e1432e6 100644
--- a/src/Darcs/Patch/Prim/V1/Commute.hs
+++ b/src/Darcs/Patch/Prim/V1/Commute.hs
@@ -58,6 +58,7 @@ instance Monad Perhaps where
Failed >>= _ = Failed
Unknown >>= _ = Unknown
return = Succeeded
+instance MonadFail Perhaps where
fail _ = Unknown
instance Alternative Perhaps where
diff --git a/src/Darcs/Patch/ReadMonads.hs b/src/Darcs/Patch/ReadMonads.hs
index 62a4f81..e1cb149 100644
--- a/src/Darcs/Patch/ReadMonads.hs
+++ b/src/Darcs/Patch/ReadMonads.hs
@@ -237,6 +237,7 @@ failSM _ = SM (\_ -> Nothing)
instance Monad SM where
(>>=) = bindSM
return = returnSM
+instance MonadFail SM where
fail = failSM
instance ParserM SM where
diff --git a/src/Darcs/Patch/V1/Commute.hs b/src/Darcs/Patch/V1/Commute.hs
index 0bb41a3..c6c3382 100644
--- a/src/Darcs/Patch/V1/Commute.hs
+++ b/src/Darcs/Patch/V1/Commute.hs
@@ -93,6 +93,7 @@ instance Monad Perhaps where
Failed >>= _ = Failed
Unknown >>= _ = Unknown
return = Succeeded
+instance MonadFail Perhaps where
fail _ = Unknown
instance Alternative Perhaps where
diff --git a/src/Darcs/Repository/Diff.hs b/src/Darcs/Repository/Diff.hs
index 8078d49..e0e2341 100644
--- a/src/Darcs/Repository/Diff.hs
+++ b/src/Darcs/Repository/Diff.hs
@@ -138,7 +138,7 @@ treeDiff da ft t1 t2 = do
do rmDirP <- diff p (Removed subtree)
addFileP <- diff p (Changed (File emptyBlob) b')
return $ joinGap (+>+) rmDirP addFileP
- diff p _ = fail $ "Missing case at path " ++ show p
+ diff p _ = error $ "Missing case at path " ++ show p
text_diff p a b
| BL.null a && BL.null b = emptyGap NilFL
diff --git a/src/Darcs/Repository/Match.hs b/src/Darcs/Repository/Match.hs
index 08c9f13..f33cabe 100644
--- a/src/Darcs/Repository/Match.hs
+++ b/src/Darcs/Repository/Match.hs
@@ -60,7 +60,7 @@ getNonrangeMatch :: (ApplyMonad (ApplyState p) DefaultIO, IsRepoType rt, RepoPat
getNonrangeMatch r = withRecordedMatch r . getMatch where
getMatch fs = case hasIndexRange fs of
Just (n, m) | n == m -> applyNInv (n-1)
- | otherwise -> fail "Index range is not allowed for this command."
+ | otherwise -> error "Index range is not allowed for this command."
_ -> getNonrangeMatchS fs
getOnePatchset :: (IsRepoType rt, RepoPatch p)
diff --git a/src/Darcs/Util/Tree/Monad.hs b/src/Darcs/Util/Tree/Monad.hs
index 0e01d9b..296fdc4 100644
--- a/src/Darcs/Util/Tree/Monad.hs
+++ b/src/Darcs/Util/Tree/Monad.hs
@@ -216,7 +216,7 @@ instance (Monad m) => TreeRO (TreeMonad m) where
t <- gets tree
let f = findFile t p'
case f of
- Nothing -> fail $ "No such file " ++ show p'
+ Nothing -> error $ "No such file " ++ show p'
Just x -> lift (readBlob x)
currentDirectory = ask
@@ -251,7 +251,7 @@ instance (Monad m) => TreeRW (TreeMonad m) where
let item = find tr from'
found_to = find tr to'
unless (isNothing found_to) $
- fail $ "Error renaming: destination " ++ show to ++ " exists."
+ error $ "Error renaming: destination " ++ show to ++ " exists."
unless (isNothing item) $ do
modifyItem from Nothing
modifyItem to item
--
2.23.1

View File

@ -1,120 +0,0 @@
--- darcs-2.14.2/Setup.hs 2019-01-27 03:14:51.000000000 +1300
+++ darcs.net/Setup.hs 2019-10-18 02:41:57.000000000 +1300
@@ -11,7 +11,9 @@
, TestSuite(testBuildInfo)
, updatePackageDescription
, cppOptions, ccOptions
- , library, libBuildInfo, otherModules )
+ , library, libBuildInfo, otherModules
+ , ComponentName(CExeName)
+ )
import Distribution.Package
( packageVersion )
import Distribution.Version( Version )
@@ -21,24 +23,27 @@
import Distribution.Simple.Setup
(buildVerbosity, copyDest, copyVerbosity, fromFlag,
haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
-import Distribution.Simple.BuildPaths ( autogenModulesDir )
+import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
import Distribution.System
( OS(Windows), buildOS )
import Distribution.Simple.Utils
(copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
- rewriteFile )
+ rewriteFileEx)
+import Distribution.Types.UnqualComponentName
import Distribution.Verbosity
- ( Verbosity )
+ ( Verbosity, silent )
import Distribution.Text
( display )
-import Control.Monad ( unless, void )
+import Control.Monad ( unless, when, void )
import System.Directory
( doesDirectoryExist, doesFileExist )
import System.IO
( openFile, IOMode(..) )
import System.Process (runProcess)
import Data.List( isInfixOf, lines )
+import qualified Data.Map as M
+import Data.Maybe ( isJust )
import System.FilePath ( (</>) )
import Foreign.Marshal.Utils ( with )
import Foreign.Storable ( peek )
@@ -75,8 +80,8 @@
verb = fromFlag $ sDistVerbosity flags
x <- versionPatches verb pkgVer
y <- context verb
- rewriteFile "release/distributed-version" $ show x
- rewriteFile "release/distributed-context" $ show y
+ rewriteFileEx silent "release/distributed-version" $ show x
+ rewriteFileEx silent "release/distributed-context" $ show y
putStrLn "about to hand over"
let pkg' = pkg { library = sanity (library pkg) }
sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
@@ -105,8 +110,7 @@
littleEndian <- testEndianness
let args = ("-DPACKAGE_VERSION=" ++ show' version) :
[arg | (arg, True) <- -- include fst iff snd.
- [-- We have MAPI iff building on/for Windows.
- ("-DHAVE_MAPI", buildOS == Windows),
+ [
("-DLITTLEENDIAN", littleEndian),
("-DBIGENDIAN", not littleEndian)]]
bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
@@ -133,20 +137,26 @@
-- man page
-- ---------------------------------------------------------------------
+hasDarcsExe :: LocalBuildInfo -> Bool
+hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
+ darcsExe = CExeName (mkUnqualComponentName "darcs")
+
buildManpage :: LocalBuildInfo -> IO ()
-buildManpage lbi = do
- let darcs = buildDir lbi </> "darcs/darcs"
- manpage = buildDir lbi </> "darcs/darcs.1"
- manpageHandle <- openFile manpage WriteMode
- void $ runProcess darcs ["help","manpage"]
- Nothing Nothing Nothing (Just manpageHandle) Nothing
+buildManpage lbi =
+ when (hasDarcsExe lbi) $ do
+ let darcs = buildDir lbi </> "darcs/darcs"
+ manpage = buildDir lbi </> "darcs/darcs.1"
+ manpageHandle <- openFile manpage WriteMode
+ void $ runProcess darcs ["help","manpage"]
+ Nothing Nothing Nothing (Just manpageHandle) Nothing
-installManpage :: PackageDescription -> LocalBuildInfo
- -> Verbosity -> CopyDest -> IO ()
+installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
installManpage pkg lbi verbosity copy =
- copyFiles verbosity
- (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
- [(buildDir lbi </> "darcs", "darcs.1")]
+ when (hasDarcsExe lbi) $
+ copyFiles
+ verbosity
+ (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+ [(buildDir lbi </> "darcs", "darcs.1")]
-- ---------------------------------------------------------------------
-- version module
@@ -187,12 +197,13 @@
generateVersionModule :: Verbosity -> LocalBuildInfo
-> String -> String -> IO ()
generateVersionModule verbosity lbi version state = do
- let dir = autogenModulesDir lbi
+ let dir = autogenPackageModulesDir lbi
createDirectoryIfMissingVerbose verbosity True dir
ctx <- context verbosity
hash <- weakhash verbosity
- rewriteFile (dir </> "Version.hs") $ unlines
+ rewriteFileEx silent (dir </> "Version.hs") $ unlines
["module Version where"
+ ,"import Darcs.Prelude"
,"version, weakhash, context :: String"
,"version = \"" ++ version ++ " (" ++ state ++ ")\""
,"weakhash = " ++ case hash of

View File

@ -1,383 +0,0 @@
Only in dbus-1.2.13-new: .codeclimate.yml
diff -ur dbus-1.2.13-old/dbus.cabal dbus-1.2.13-new/dbus.cabal
--- dbus-1.2.13-old/dbus.cabal 2020-04-25 19:29:27.372272952 +0200
+++ dbus-1.2.13-new/dbus.cabal 2020-04-25 19:26:36.140991920 +0200
@@ -1,172 +1,180 @@
-cabal-version: >=1.8
name: dbus
version: 1.2.13
license: Apache-2.0
license-file: license.txt
-maintainer: Andrey Sverdlichenko <blaze@ruddy.ru>
author: John Millikin <john@john-millikin.com>
+maintainer: Andrey Sverdlichenko <blaze@ruddy.ru>
+build-type: Simple
+cabal-version: >= 1.8
+category: Network, Desktop
stability: experimental
homepage: https://github.com/rblaze/haskell-dbus#readme
+
synopsis: A client library for the D-Bus IPC system.
description:
- D-Bus is a simple, message-based protocol for inter-process
- communication, which allows applications to interact with other parts of
- the machine and the user's session using remote procedure calls.
- .
- D-Bus is a essential part of the modern Linux desktop, where it replaces
- earlier protocols such as CORBA and DCOP.
- .
- This library is an implementation of the D-Bus protocol in Haskell. It
- can be used to add D-Bus support to Haskell applications, without the
- awkward interfaces common to foreign bindings.
- .
- Example: connect to the session bus, and get a list of active names.
- .
- @
- &#x7b;-\# LANGUAGE OverloadedStrings \#-&#x7d;
- .
- import Data.List (sort)
- import DBus
- import DBus.Client
- .
- main = do
- &#x20; client <- connectSession
- &#x20; //
- &#x20; \-- Request a list of connected clients from the bus
- &#x20; reply <- call_ client (methodCall \"\/org\/freedesktop\/DBus\" \"org.freedesktop.DBus\" \"ListNames\")
- &#x20; &#x7b; methodCallDestination = Just \"org.freedesktop.DBus\"
- &#x20; &#x7d;
- &#x20; //
- &#x20; \-- org.freedesktop.DBus.ListNames() returns a single value, which is
- &#x20; \-- a list of names (here represented as [String])
- &#x20; let Just names = fromVariant (methodReturnBody reply !! 0)
- &#x20; //
- &#x20; \-- Print each name on a line, sorted so reserved names are below
- &#x20; \-- temporary names.
- &#x20; mapM_ putStrLn (sort names)
- @
- .
- >$ ghc --make list-names.hs
- >$ ./list-names
- >:1.0
- >:1.1
- >:1.10
- >:1.106
- >:1.109
- >:1.110
- >ca.desrt.dconf
- >org.freedesktop.DBus
- >org.freedesktop.Notifications
- >org.freedesktop.secrets
- >org.gnome.ScreenSaver
-category: Network, Desktop
-build-type: Simple
+ D-Bus is a simple, message-based protocol for inter-process
+ communication, which allows applications to interact with other parts of
+ the machine and the user's session using remote procedure calls.
+ .
+ D-Bus is a essential part of the modern Linux desktop, where it replaces
+ earlier protocols such as CORBA and DCOP.
+ .
+ This library is an implementation of the D-Bus protocol in Haskell. It
+ can be used to add D-Bus support to Haskell applications, without the
+ awkward interfaces common to foreign bindings.
+ .
+ Example: connect to the session bus, and get a list of active names.
+ .
+ @
+ &#x7b;-\# LANGUAGE OverloadedStrings \#-&#x7d;
+ .
+ import Data.List (sort)
+ import DBus
+ import DBus.Client
+ .
+ main = do
+ &#x20; client <- connectSession
+ &#x20;
+ &#x20; -- Request a list of connected clients from the bus
+ &#x20; reply <- call_ client (methodCall \"\/org\/freedesktop\/DBus\" \"org.freedesktop.DBus\" \"ListNames\")
+ &#x20; &#x7b; methodCallDestination = Just \"org.freedesktop.DBus\"
+ &#x20; &#x7d;
+ &#x20;
+ &#x20; -- org.freedesktop.DBus.ListNames() returns a single value, which is
+ &#x20; -- a list of names (here represented as [String])
+ &#x20; let Just names = fromVariant (methodReturnBody reply !! 0)
+ &#x20;
+ &#x20; -- Print each name on a line, sorted so reserved names are below
+ &#x20; -- temporary names.
+ &#x20; mapM_ putStrLn (sort names)
+ @
+ .
+ >$ ghc --make list-names.hs
+ >$ ./list-names
+ >:1.0
+ >:1.1
+ >:1.10
+ >:1.106
+ >:1.109
+ >:1.110
+ >ca.desrt.dconf
+ >org.freedesktop.DBus
+ >org.freedesktop.Notifications
+ >org.freedesktop.secrets
+ >org.gnome.ScreenSaver
+
+
extra-source-files:
- examples/dbus-monitor.hs
- examples/export.hs
- examples/introspect.hs
- examples/list-names.hs
- idlxml/dbus.xml
+ examples/dbus-monitor.hs
+ examples/export.hs
+ examples/introspect.hs
+ examples/list-names.hs
+ idlxml/dbus.xml
source-repository head
- type: git
- location: https://github.com/rblaze/haskell-dbus
+ type: git
+ location: https://github.com/rblaze/haskell-dbus
library
- exposed-modules:
- DBus
- DBus.Client
- DBus.Generation
- DBus.Internal.Address
- DBus.Internal.Message
- DBus.Internal.Types
- DBus.Internal.Wire
- DBus.Introspection
- DBus.Introspection.Parse
- DBus.Introspection.Render
- DBus.Introspection.Types
- DBus.Socket
- DBus.TH
- DBus.Transport
- hs-source-dirs: lib
- ghc-options: -W -Wall
- build-depends:
- base ==4.*,
- bytestring <0.11,
- cereal <0.6,
- conduit >=1.3.0 && <1.4,
- containers <0.7,
- deepseq <1.5,
- exceptions <0.11,
- filepath <1.5,
- lens <4.20,
- network >=3.0.1.0 && <3.2,
- parsec <3.2,
- random <1.2,
- split <0.3,
- template-haskell <2.16.0.0,
- text <1.3,
- th-lift <0.9,
- transformers <0.6,
- unix <2.8,
- vector <0.13,
- xml-conduit >=1.9.0.0 && <1.10.0.0,
- xml-types <0.4
+ ghc-options: -W -Wall
+ hs-source-dirs: lib
+
+ build-depends:
+ base >=4 && <5
+ , bytestring
+ , cereal
+ , conduit >= 1.3.0
+ , containers
+ , deepseq
+ , exceptions
+ , filepath
+ , lens < 4.20
+ , network >= 3.0.1.0 && < 3.2
+ , parsec
+ , random
+ , split
+ , template-haskell < 2.17.0.0
+ , text
+ , th-lift < 0.9
+ , transformers
+ , unix
+ , vector
+ , xml-conduit >= 1.9.0.0 && < 1.10.0.0
+ , xml-types
+
+ exposed-modules:
+ DBus
+ DBus.Client
+ DBus.Generation
+ DBus.Internal.Address
+ DBus.Internal.Message
+ DBus.Internal.Types
+ DBus.Internal.Wire
+ DBus.Introspection
+ DBus.Introspection.Parse
+ DBus.Introspection.Render
+ DBus.Introspection.Types
+ DBus.Socket
+ DBus.TH
+ DBus.Transport
test-suite dbus_tests
- type: exitcode-stdio-1.0
- main-is: DBusTests.hs
- hs-source-dirs: tests
- other-modules:
- DBusTests.Address
- DBusTests.BusName
- DBusTests.Client
- DBusTests.ErrorName
- DBusTests.Generation
- DBusTests.Integration
- DBusTests.InterfaceName
- DBusTests.Introspection
- DBusTests.MemberName
- DBusTests.Message
- DBusTests.ObjectPath
- DBusTests.Serialization
- DBusTests.Signature
- DBusTests.Socket
- DBusTests.TH
- DBusTests.Transport
- DBusTests.Util
- DBusTests.Variant
- DBusTests.Wire
- ghc-options: -W -Wall -fno-warn-orphans
- build-depends:
- dbus -any,
- base ==4.*,
- bytestring <0.11,
- cereal <0.6,
- containers <0.7,
- directory <1.4,
- extra <1.8,
- filepath <1.5,
- network >=3.0.1.0 && <3.2,
- parsec <3.2,
- process <1.7,
- QuickCheck <2.15,
- random <1.2,
- resourcet <1.3,
- tasty <1.3,
- tasty-hunit <0.11,
- tasty-quickcheck <0.11,
- text <1.3,
- transformers <0.6,
- unix <2.8,
- vector <0.13
+ type: exitcode-stdio-1.0
+ main-is: DBusTests.hs
+ hs-source-dirs: tests
+ ghc-options: -W -Wall -fno-warn-orphans
+
+ build-depends:
+ dbus
+ , base >=4 && <5
+ , bytestring
+ , cereal
+ , containers
+ , directory
+ , extra < 1.8
+ , filepath
+ , network >= 3.0.1.0 && < 3.2
+ , parsec
+ , process
+ , QuickCheck < 2.15
+ , random
+ , resourcet
+ , tasty
+ , tasty-hunit
+ , tasty-quickcheck
+ , text
+ , transformers
+ , unix
+ , vector
+
+ other-modules:
+ DBusTests.Address
+ DBusTests.BusName
+ DBusTests.Client
+ DBusTests.ErrorName
+ DBusTests.Generation
+ DBusTests.Integration
+ DBusTests.InterfaceName
+ DBusTests.Introspection
+ DBusTests.MemberName
+ DBusTests.Message
+ DBusTests.ObjectPath
+ DBusTests.Serialization
+ DBusTests.Signature
+ DBusTests.Socket
+ DBusTests.TH
+ DBusTests.Transport
+ DBusTests.Util
+ DBusTests.Variant
+ DBusTests.Wire
benchmark dbus_benchmarks
- type: exitcode-stdio-1.0
- main-is: DBusBenchmarks.hs
- hs-source-dirs: benchmarks
- ghc-options: -Wall -fno-warn-orphans
- build-depends:
- dbus -any,
- base ==4.*,
- criterion <1.6
+ type: exitcode-stdio-1.0
+ main-is: DBusBenchmarks.hs
+ hs-source-dirs: benchmarks
+ ghc-options: -Wall -fno-warn-orphans
+
+ build-depends:
+ dbus
+ , base >=4 && <5
+ , criterion
Only in dbus-1.2.13-new: .git
Only in dbus-1.2.13-new: .gitignore
diff -ur dbus-1.2.13-old/lib/DBus/Generation.hs dbus-1.2.13-new/lib/DBus/Generation.hs
--- dbus-1.2.13-old/lib/DBus/Generation.hs 2019-02-14 16:37:47.000000000 +0100
+++ dbus-1.2.13-new/lib/DBus/Generation.hs 2020-04-25 19:26:36.144991997 +0200
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module DBus.Generation where
@@ -26,6 +27,13 @@
import Prelude hiding (mapM)
import System.Posix.Types (Fd(..))
+-- | Compatibility helper to create (total) tuple expressions
+mkTupE :: [Exp] -> Exp
+mkTupE = TupE
+#if MIN_VERSION_template_haskell(2,16,0)
+ . map Just
+#endif
+
type ClientBusPathR a = ReaderT (Client, T.BusName, T.ObjectPath) IO a
dbusInvoke :: (Client -> T.BusName -> T.ObjectPath -> a) -> ClientBusPathR a
@@ -232,8 +240,8 @@
finalOutputNames <- buildOutputNames
let variantListExp = map makeToVariantApp methodArgNames
mapOrHead' = mapOrHead outputLength
- fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames TupE
- finalResultTuple = mapOrHead' VarE finalOutputNames TupE
+ fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames mkTupE
+ finalResultTuple = mapOrHead' VarE finalOutputNames mkTupE
maybeExtractionPattern = mapOrHead' makeJustPattern finalOutputNames TupP
getMethodCallDefDec = [d|
$( varP methodCallDefN ) =
@@ -432,7 +440,7 @@
}
|]
let mapOrHead' = mapOrHead argCount
- fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames TupE
+ fromVariantExp = mapOrHead' makeFromVariantApp fromVariantOutputNames mkTupE
maybeExtractionPattern = mapOrHead' makeJustPattern toHandlerOutputNames TupP
applyToName toApply n = AppE toApply $ VarE n
finalApplication = foldl applyToName (VarE handlerArgN)

View File

@ -1,65 +0,0 @@
diff --git a/GHC/Paths.hs b/GHC/Paths.hs
index c87565d..88b3db4 100644
--- a/GHC/Paths.hs
+++ b/GHC/Paths.hs
@@ -1,13 +1,35 @@
{-# LANGUAGE CPP #-}
+{-# LANGUAGE ScopedTypeVariables #-}
module GHC.Paths (
ghc, ghc_pkg, libdir, docdir
) where
+import Control.Exception as E
+import Data.Maybe
+import System.Environment
+import System.IO.Unsafe
+
+-- Yes, there's lookupEnv now, but we want to be compatible
+-- with older GHCs.
+checkEnv :: String -> IO (Maybe String)
+checkEnv var = E.catch (fmap Just (getEnv var))
+ (\ (e :: IOException) -> return Nothing)
+
+nixLibdir, nixDocdir, nixGhc, nixGhcPkg :: Maybe FilePath
+nixLibdir = unsafePerformIO (checkEnv "NIX_GHCJS_LIBDIR")
+nixDocdir = unsafePerformIO (checkEnv "NIX_GHCJS_DOCDIR")
+nixGhc = unsafePerformIO (checkEnv "NIX_GHCJS")
+nixGhcPkg = unsafePerformIO (checkEnv "NIX_GHCJSPKG")
+{-# NOINLINE nixLibdir #-}
+{-# NOINLINE nixDocdir #-}
+{-# NOINLINE nixGhc #-}
+{-# NOINLINE nixGhcPkg #-}
+
libdir, docdir, ghc, ghc_pkg :: FilePath
-libdir = GHC_PATHS_LIBDIR
-docdir = GHC_PATHS_DOCDIR
+libdir = fromMaybe GHC_PATHS_LIBDIR nixLibdir
+docdir = fromMaybe GHC_PATHS_DOCDIR nixDocdir
-ghc = GHC_PATHS_GHC
-ghc_pkg = GHC_PATHS_GHC_PKG
+ghc = fromMaybe GHC_PATHS_GHC nixGhc
+ghc_pkg = fromMaybe GHC_PATHS_GHC_PKG nixGhcPkg
diff --git a/Setup.hs b/Setup.hs
index f2d1733..ca4792e 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -39,13 +39,13 @@ main = defaultMainWithHooks simpleUserHooks {
#else
libdir_ <- rawSystemProgramStdoutConf (fromFlag (configVerbosity flags))
#endif
- ghcProgram (withPrograms lbi) ["--print-libdir"]
+ ghcjsProgram (withPrograms lbi) ["--print-libdir"]
let libdir = reverse $ dropWhile isSpace $ reverse libdir_
- ghc_pkg = case lookupProgram ghcPkgProgram (withPrograms lbi) of
+ ghc_pkg = case lookupProgram ghcjsPkgProgram (withPrograms lbi) of
Just p -> programPath p
Nothing -> error "ghc-pkg was not found"
- ghc = case lookupProgram ghcProgram (withPrograms lbi) of
+ ghc = case lookupProgram ghcjsProgram (withPrograms lbi) of
Just p -> programPath p
Nothing -> error "ghc was not found"

View File

@ -1,30 +0,0 @@
diff -Naur hunspell-hs-0.1.0.0.orig/hunspell-hs.cabal hunspell-hs-0.1.0.0/hunspell-hs.cabal
--- hunspell-hs-0.1.0.0.orig/hunspell-hs.cabal 2018-08-26 20:23:33.053763300 +0200
+++ hunspell-hs-0.1.0.0/hunspell-hs.cabal 2018-08-26 20:42:05.886074510 +0200
@@ -37,7 +37,7 @@
base >=4.7 && <5
, stm
if os(linux)
- extra-libraries:
+ pkgconfig-depends:
hunspell
if os(darwin)
include-dirs:
@@ -63,7 +63,7 @@
, hunspell-hs
, stm
if os(linux)
- extra-libraries:
+ pkgconfig-depends:
hunspell
if os(darwin)
include-dirs:
@@ -88,7 +88,7 @@
, hunspell-hs
, stm
if os(linux)
- extra-libraries:
+ pkgconfig-depends:
hunspell
if os(darwin)
include-dirs:

View File

@ -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" ];

View File

@ -8,11 +8,14 @@
, libGL # libGLU libGL is no longer a big dependency
, pdfSupport ? true
, darwin
, testers
}:
let
inherit (lib) optional optionals;
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: let
inherit (finalAttrs) pname version;
in {
pname = "cairo";
version = "1.16.0";
@ -132,6 +135,8 @@ in stdenv.mkDerivation rec {
postInstall = lib.optionalString stdenv.isDarwin glib.flattenInclude;
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
description = "A 2D graphics library with support for multiple output devices";
longDescription = ''
@ -147,6 +152,11 @@ in stdenv.mkDerivation rec {
'';
homepage = "http://cairographics.org/";
license = with licenses; [ lgpl2Plus mpl10 ];
pkgConfigModules = [
"cairo-ps"
"cairo-svg"
] ++ lib.optional gobjectSupport "cairo-gobject"
++ lib.optional pdfSupport "cairo-gobject";
platforms = platforms.all;
};
}
})

View File

@ -12,18 +12,19 @@
, enableMpi ? false
, mpi
, withDoc ? stdenv.cc.isGNU
, testers
}:
assert lib.elem precision [ "single" "double" "long-double" "quad-precision" ];
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "fftw-${precision}";
version = "3.3.10";
src = fetchurl {
urls = [
"https://fftw.org/fftw-${version}.tar.gz"
"ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"
"https://fftw.org/fftw-${finalAttrs.version}.tar.gz"
"ftp://ftp.fftw.org/pub/fftw/fftw-${finalAttrs.version}.tar.gz"
];
sha256 = "sha256-VskyVJhSzdz6/as4ILAgDHdCZ1vpIXnlnmIVs0DiZGc=";
};
@ -60,11 +61,21 @@ stdenv.mkDerivation rec {
nativeCheckInputs = [ perl ];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
description = "Fastest Fourier Transform in the West library";
homepage = "http://www.fftw.org/";
license = licenses.gpl2Plus;
maintainers = [ maintainers.spwhitt ];
pkgConfigModules = [
{
"single" = "fftw3f";
"double" = "fftw3";
"long-double" = "fftw3l";
"quad-precision" = "fftw3q";
}.${precision}
];
platforms = platforms.unix;
};
}
})

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "intel-media-sdk";
version = "22.6.5";
version = "23.1.0";
src = fetchFromGitHub {
owner = "Intel-Media-SDK";
repo = "MediaSDK";
rev = "intel-mediasdk-${version}";
sha256 = "sha256-W+lDqGZAenhRZ7tf4qfDNik/3rFNDM0DGSK/CdNRb8g=";
sha256 = "sha256-FTyjIWYKXFAzu3SR1EGN+aTzVbX617o/KWCD/DGv69o=";
};
nativeBuildInputs = [ cmake pkg-config ];

View File

@ -1,5 +1,3 @@
# TODO: Resolve the issues with the Mono bindings.
{ stdenv, fetchgit, lib
, pkg-config, autoreconfHook
, glib, dbus-glib
@ -7,11 +5,16 @@
, gtk2, libindicator-gtk2, libdbusmenu-gtk2
, gtk3, libindicator-gtk3, libdbusmenu-gtk3
, gtk-doc, vala, gobject-introspection
, monoSupport ? false, mono, gtk-sharp-2_0
}:
, monoSupport ? false, mono, gtk-sharp-2_0, gtk-sharp-3_0
, testers
}:
stdenv.mkDerivation {
pname = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
let
throwBadGtkVersion = throw "unknown GTK version ${gtkVersion}";
in
stdenv.mkDerivation (finalAttrs: {
pname = let postfix = if monoSupport then "sharp" else "gtk${gtkVersion}";
in "libappindicator-${postfix}";
version = "12.10.1+20.10.20200706.1";
@ -25,16 +28,24 @@ stdenv.mkDerivation {
nativeBuildInputs = [ pkg-config autoreconfHook vala gobject-introspection gtk-doc ];
propagatedBuildInputs =
if gtkVersion == "2"
then [ gtk2 libdbusmenu-gtk2 ]
else [ gtk3 libdbusmenu-gtk3 ];
propagatedBuildInputs = {
"2" = [ gtk2 libdbusmenu-gtk2 ];
"3" = [ gtk3 libdbusmenu-gtk3 ];
}.${gtkVersion} or throwBadGtkVersion;
buildInputs = [
glib dbus-glib
] ++ (if gtkVersion == "2"
then [ libindicator-gtk2 ] ++ lib.optionals monoSupport [ mono gtk-sharp-2_0 ]
else [ libindicator-gtk3 ]);
{
"2" = libindicator-gtk2;
"3" = libindicator-gtk3;
}.${gtkVersion} or throwBadGtkVersion
] ++ lib.optionals monoSupport [
mono
{
"2" = gtk-sharp-2_0;
"3" = gtk-sharp-3_0;
}.${gtkVersion} or throwBadGtkVersion
];
preAutoreconf = ''
gtkdocize
@ -54,11 +65,19 @@ stdenv.mkDerivation {
"localstatedir=\${TMPDIR}"
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
description = "A library to allow applications to export a menu into the Unity Menu bar";
homepage = "https://launchpad.net/libappindicator";
license = with licenses; [ lgpl21 lgpl3 ];
pkgConfigModules = {
"2" = [ "appindicator-0.1" ];
"3" = [ "appindicator3-0.1" ];
}.${gtkVersion} or throwBadGtkVersion;
platforms = platforms.linux;
maintainers = [ maintainers.msteen ];
# TODO: Resolve the issues with the Mono bindings.
broken = monoSupport;
};
}
})

View File

@ -3,13 +3,16 @@
, glib, dbus-glib, json-glib
, gobject-introspection, vala
, gtkVersion ? null, gtk2, gtk3
, testers
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libdbusmenu-${if gtkVersion == null then "glib" else "gtk${gtkVersion}"}";
version = "16.04.0";
src = fetchurl {
src = let
inherit (finalAttrs) version;
in fetchurl {
url = "https://launchpad.net/dbusmenu/${lib.versions.majorMinor version}/${version}/+download/libdbusmenu-${version}.tar.gz";
sha256 = "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r";
};
@ -18,7 +21,11 @@ stdenv.mkDerivation rec {
buildInputs = [
glib dbus-glib json-glib
] ++ lib.optional (gtkVersion != null) (if gtkVersion == "2" then gtk2 else gtk3);
] ++ lib.optional (gtkVersion != null)
{
"2" = gtk2;
"3" = gtk3;
}.${gtkVersion} or (throw "unknown GTK version ${gtkVersion}");
postPatch = ''
for f in {configure,ltmain.sh,m4/libtool.m4}; do
@ -37,6 +44,7 @@ stdenv.mkDerivation rec {
"CFLAGS=-Wno-error"
"--sysconfdir=/etc"
"--localstatedir=/var"
# TODO use `lib.withFeatureAs`
(if gtkVersion == null then "--disable-gtk" else "--with-gtk=${gtkVersion}")
"--disable-scrollkeeper"
] ++ lib.optional (gtkVersion != "2") "--disable-dumper";
@ -49,11 +57,17 @@ stdenv.mkDerivation rec {
"typelibdir=${placeholder "out"}/lib/girepository-1.0"
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
description = "Library for passing menu structures across DBus";
homepage = "https://launchpad.net/dbusmenu";
license = with licenses; [ gpl3 lgpl21 lgpl3 ];
pkgConfigModules = [
"dbusmenu-glib-0.4"
"dbusmenu-jsonloader-0.4"
] ++ lib.optional (gtkVersion == "3") "dbusmenu-gtk${gtkVersion}-0.4";
platforms = platforms.linux;
maintainers = [ maintainers.msteen ];
};
}
})

View File

@ -13,16 +13,17 @@
, OpenGL
, runtimeShell
, withXorg ? true
, testers
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "libdevil";
version = "1.7.8";
outputs = [ "out" "dev" ];
src = fetchurl {
url = "mirror://sourceforge/openil/DevIL-${version}.tar.gz";
url = "mirror://sourceforge/openil/DevIL-${finalAttrs.version}.tar.gz";
sha256 = "1zd850nn7nvkkhasrv7kn17kzgslr5ry933v6db62s4lr0zzlbv8";
};
@ -63,11 +64,14 @@ stdenv.mkDerivation rec {
done
'';
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = with lib; {
homepage = "https://openil.sourceforge.net/";
description = "An image library which can can load, save, convert, manipulate, filter and display a wide variety of image formats";
license = licenses.lgpl2;
pkgConfigModules = [ "IL" ];
platforms = platforms.mesaPlatforms;
maintainers = with maintainers; [ ];
};
}
})

View File

@ -1,8 +1,10 @@
{ stdenv
, libglvnd, mesa
, OpenGL }:
, OpenGL
, testers
}:
stdenv.mkDerivation {
stdenv.mkDerivation (finalAttrs: {
inherit (libglvnd) version;
pname = "libGL";
outputs = [ "out" "dev" ];
@ -72,4 +74,8 @@ stdenv.mkDerivation {
genPkgConfig glesv1_cm GLESv1_CM
genPkgConfig glesv2 GLESv2
'';
}
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta.pkgConfigModules = [ "gl" "egl" "glesv1_cm" "glesv2" ];
})

View File

@ -8,14 +8,15 @@
, withCxx ? !stdenv.hostPlatform.useAndroidPrebuilt
, mouseSupport ? false, gpm
, unicodeSupport ? true
, testers
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
version = "6.4";
pname = "ncurses" + lib.optionalString (abiVersion == "5") "-abi5-compat";
src = fetchurl {
url = "https://invisible-island.net/archives/ncurses/ncurses-${version}.tar.gz";
url = "https://invisible-island.net/archives/ncurses/ncurses-${finalAttrs.version}.tar.gz";
hash = "sha256-aTEoPZrIfFBz8wtikMTHXyFjK7T8NgOsgQCBK+0kgVk=";
};
@ -169,11 +170,20 @@ stdenv.mkDerivation rec {
ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp!
'';
license = licenses.mit;
pkgConfigModules = let
base = [
"form"
"menu"
"ncurses"
"panel"
] ++ lib.optional withCxx "ncurses++";
in base ++ lib.optionals unicodeSupport (map (p: p + "w") base);
platforms = platforms.all;
};
passthru = {
ldflags = "-lncurses";
inherit unicodeSupport abiVersion;
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
};
}
})

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "nng";
version = "1.5.2";
version = "1.6.0-prerelease";
src = fetchFromGitHub {
owner = "nanomsg";
repo = "nng";
rev = "v${version}";
sha256 = "sha256-qbjMLpPk5FxH710Mf8AIraY0mERbaxVVhTT94W0EV+k=";
rev = "539e559e65cd8f227c45e4b046ac41c0edcf6c32";
sha256 = "sha256-86+f0um25Ywn78S2JrV54K7k3O6ots0q2dCco1aK0xM=";
};
nativeBuildInputs = [ cmake ninja ]

View File

@ -53,8 +53,6 @@ mkProtobufDerivation = buildProtobuf: stdenv: stdenv.mkDerivation {
mainProgram = "protoc";
platforms = lib.platforms.unix;
};
passthru.version = version;
};
in mkProtobufDerivation(if (stdenv.buildPlatform != stdenv.hostPlatform)
then (mkProtobufDerivation null buildPackages.stdenv)

View File

@ -4,6 +4,8 @@ buildDunePackage {
pname = "caqti-driver-sqlite3";
inherit (caqti) version src;
duneVersion = "3";
propagatedBuildInputs = [ caqti ocaml_sqlite3 ];
meta = caqti.meta // {

View File

@ -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 ];

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