Merge master into haskell-updates
This commit is contained in:
commit
b4b0b7d41b
271 changed files with 5098 additions and 727 deletions
33
.github/workflows/ofborg-pending.yml
vendored
Normal file
33
.github/workflows/ofborg-pending.yml
vendored
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
name: "Set pending OfBorg status"
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
|
||||||
|
# Sets the ofborg-eval status to "pending" to signal that we are waiting for
|
||||||
|
# OfBorg even if it is running late. The status will be overwritten by OfBorg
|
||||||
|
# once it starts evaluation.
|
||||||
|
|
||||||
|
# WARNING:
|
||||||
|
# When extending this action, be aware that $GITHUB_TOKEN allows (restricted) write access to
|
||||||
|
# the GitHub repository. This means that it should not evaluate user input in a
|
||||||
|
# way that allows code injection.
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
action:
|
||||||
|
if: github.repository_owner == 'NixOS'
|
||||||
|
permissions:
|
||||||
|
statuses: write
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: "Set pending OfBorg status"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
curl \
|
||||||
|
-X POST \
|
||||||
|
-H "Accept: application/vnd.github.v3+json" \
|
||||||
|
-H "Authorization: Bearer $GITHUB_TOKEN" \
|
||||||
|
-d '{"context": "ofborg-eval", "state": "pending", "description": "Waiting for OfBorg..."}' \
|
||||||
|
"https://api.github.com/repos/NixOS/nixpkgs/commits/${{ github.event.pull_request.head.sha }}/statuses"
|
26
.github/workflows/pending-clear.yml
vendored
26
.github/workflows/pending-clear.yml
vendored
|
@ -1,26 +0,0 @@
|
||||||
name: "clear pending status"
|
|
||||||
|
|
||||||
on:
|
|
||||||
check_suite:
|
|
||||||
types: [ completed ]
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
action:
|
|
||||||
permissions:
|
|
||||||
statuses: write
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: clear pending status
|
|
||||||
if: github.repository_owner == 'NixOS' && github.event.check_suite.app.name == 'OfBorg'
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: |
|
|
||||||
curl \
|
|
||||||
-X POST \
|
|
||||||
-H "Accept: application/vnd.github.v3+json" \
|
|
||||||
-H "Authorization: token $GITHUB_TOKEN" \
|
|
||||||
-d '{"state": "success", "target_url": " ", "description": " ", "context": "Wait for ofborg"}' \
|
|
||||||
"https://api.github.com/repos/NixOS/nixpkgs/statuses/${{ github.event.check_suite.head_sha }}"
|
|
30
.github/workflows/pending-set.yml
vendored
30
.github/workflows/pending-set.yml
vendored
|
@ -1,30 +0,0 @@
|
||||||
name: "set pending status"
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request_target:
|
|
||||||
|
|
||||||
# WARNING:
|
|
||||||
# When extending this action, be aware that $GITHUB_TOKEN allows write access to
|
|
||||||
# the GitHub repository. This means that it should not evaluate user input in a
|
|
||||||
# way that allows code injection.
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: read
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
action:
|
|
||||||
permissions:
|
|
||||||
statuses: write
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: set pending status
|
|
||||||
if: github.repository_owner == 'NixOS'
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
run: |
|
|
||||||
curl \
|
|
||||||
-X POST \
|
|
||||||
-H "Accept: application/vnd.github.v3+json" \
|
|
||||||
-H "Authorization: token $GITHUB_TOKEN" \
|
|
||||||
-d '{"state": "pending", "target_url": " ", "description": "This pending status will be cleared when ofborg starts eval.", "context": "Wait for ofborg"}' \
|
|
||||||
"https://api.github.com/repos/NixOS/nixpkgs/statuses/${{ github.event.pull_request.head.sha }}"
|
|
|
@ -34,6 +34,8 @@ jobs:
|
||||||
--argstr keep-going true \
|
--argstr keep-going true \
|
||||||
--argstr max-workers 2 \
|
--argstr max-workers 2 \
|
||||||
--argstr path terraform-providers
|
--argstr path terraform-providers
|
||||||
|
- name: clean repo
|
||||||
|
run: |
|
||||||
git clean -f
|
git clean -f
|
||||||
- name: create PR
|
- name: create PR
|
||||||
uses: peter-evans/create-pull-request@v4
|
uses: peter-evans/create-pull-request@v4
|
||||||
|
@ -41,6 +43,8 @@ jobs:
|
||||||
body: |
|
body: |
|
||||||
Automatic update by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.
|
Automatic update by [update-terraform-providers](https://github.com/NixOS/nixpkgs/blob/master/.github/workflows/update-terraform-providers.yml) action.
|
||||||
|
|
||||||
|
https://github.com/NixOS/nixpkgs/actions/runs/${{ github.run_id }}
|
||||||
|
|
||||||
Check that all providers build with:
|
Check that all providers build with:
|
||||||
```
|
```
|
||||||
@ofborg build terraform.full
|
@ofborg build terraform.full
|
||||||
|
|
|
@ -4404,6 +4404,12 @@
|
||||||
name = "Fedx sudo";
|
name = "Fedx sudo";
|
||||||
matrix = "fedx:matrix.org";
|
matrix = "fedx:matrix.org";
|
||||||
};
|
};
|
||||||
|
fee1-dead = {
|
||||||
|
email = "ent3rm4n@gmail.com";
|
||||||
|
github = "fee1-dead";
|
||||||
|
githubId = 43851243;
|
||||||
|
name = "Deadbeef";
|
||||||
|
};
|
||||||
fehnomenal = {
|
fehnomenal = {
|
||||||
email = "fehnomenal@fehn.systems";
|
email = "fehnomenal@fehn.systems";
|
||||||
github = "fehnomenal";
|
github = "fehnomenal";
|
||||||
|
@ -12169,6 +12175,15 @@
|
||||||
githubId = 1940568;
|
githubId = 1940568;
|
||||||
name = "Sebastian Ball";
|
name = "Sebastian Ball";
|
||||||
};
|
};
|
||||||
|
seberm = {
|
||||||
|
email = "seberm@seberm.com";
|
||||||
|
github = "seberm";
|
||||||
|
githubId = 212597;
|
||||||
|
name = "Otto Sabart";
|
||||||
|
keys = [{
|
||||||
|
fingerprint = "0AF6 4C3B 1F12 14B3 8C8C 5786 1FA2 DBE6 7438 7CC3";
|
||||||
|
}];
|
||||||
|
};
|
||||||
sebtm = {
|
sebtm = {
|
||||||
email = "mail@sebastian-sellmeier.de";
|
email = "mail@sebastian-sellmeier.de";
|
||||||
github = "SebTM";
|
github = "SebTM";
|
||||||
|
|
|
@ -200,6 +200,10 @@ with lib;
|
||||||
type = lines;
|
type = lines;
|
||||||
description = lib.mdDoc ''
|
description = lib.mdDoc ''
|
||||||
Extra configuration. Contents will be added verbatim to the configuration file.
|
Extra configuration. Contents will be added verbatim to the configuration file.
|
||||||
|
|
||||||
|
::: {.note}
|
||||||
|
`daemon` should not be added here because it does not work great with the systemd-timer approach the service uses.
|
||||||
|
:::
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
certain packets anyway, you can insert rules at the start of
|
certain packets anyway, you can insert rules at the start of
|
||||||
this chain.
|
this chain.
|
||||||
|
|
||||||
- ‘nixos-fw-rpfilter’ is used as the main chain in the raw table,
|
- ‘nixos-fw-rpfilter’ is used as the main chain in the mangle table,
|
||||||
called from the built-in ‘PREROUTING’ chain. If the kernel
|
called from the built-in ‘PREROUTING’ chain. If the kernel
|
||||||
supports it and `cfg.checkReversePath` is set this chain will
|
supports it and `cfg.checkReversePath` is set this chain will
|
||||||
perform a reverse path filter test.
|
perform a reverse path filter test.
|
||||||
|
@ -109,28 +109,28 @@ let
|
||||||
ip46tables -N nixos-fw
|
ip46tables -N nixos-fw
|
||||||
|
|
||||||
# Clean up rpfilter rules
|
# Clean up rpfilter rules
|
||||||
ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2> /dev/null || true
|
ip46tables -t mangle -D PREROUTING -j nixos-fw-rpfilter 2> /dev/null || true
|
||||||
ip46tables -t raw -F nixos-fw-rpfilter 2> /dev/null || true
|
ip46tables -t mangle -F nixos-fw-rpfilter 2> /dev/null || true
|
||||||
ip46tables -t raw -X nixos-fw-rpfilter 2> /dev/null || true
|
ip46tables -t mangle -X nixos-fw-rpfilter 2> /dev/null || true
|
||||||
|
|
||||||
${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) ''
|
${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) ''
|
||||||
# Perform a reverse-path test to refuse spoofers
|
# Perform a reverse-path test to refuse spoofers
|
||||||
# For now, we just drop, as the raw table doesn't have a log-refuse yet
|
# For now, we just drop, as the mangle table doesn't have a log-refuse yet
|
||||||
ip46tables -t raw -N nixos-fw-rpfilter 2> /dev/null || true
|
ip46tables -t mangle -N nixos-fw-rpfilter 2> /dev/null || true
|
||||||
ip46tables -t raw -A nixos-fw-rpfilter -m rpfilter --validmark ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN
|
ip46tables -t mangle -A nixos-fw-rpfilter -m rpfilter --validmark ${optionalString (cfg.checkReversePath == "loose") "--loose"} -j RETURN
|
||||||
|
|
||||||
# Allows this host to act as a DHCP4 client without first having to use APIPA
|
# Allows this host to act as a DHCP4 client without first having to use APIPA
|
||||||
iptables -t raw -A nixos-fw-rpfilter -p udp --sport 67 --dport 68 -j RETURN
|
iptables -t mangle -A nixos-fw-rpfilter -p udp --sport 67 --dport 68 -j RETURN
|
||||||
|
|
||||||
# Allows this host to act as a DHCPv4 server
|
# Allows this host to act as a DHCPv4 server
|
||||||
iptables -t raw -A nixos-fw-rpfilter -s 0.0.0.0 -d 255.255.255.255 -p udp --sport 68 --dport 67 -j RETURN
|
iptables -t mangle -A nixos-fw-rpfilter -s 0.0.0.0 -d 255.255.255.255 -p udp --sport 68 --dport 67 -j RETURN
|
||||||
|
|
||||||
${optionalString cfg.logReversePathDrops ''
|
${optionalString cfg.logReversePathDrops ''
|
||||||
ip46tables -t raw -A nixos-fw-rpfilter -j LOG --log-level info --log-prefix "rpfilter drop: "
|
ip46tables -t mangle -A nixos-fw-rpfilter -j LOG --log-level info --log-prefix "rpfilter drop: "
|
||||||
''}
|
''}
|
||||||
ip46tables -t raw -A nixos-fw-rpfilter -j DROP
|
ip46tables -t mangle -A nixos-fw-rpfilter -j DROP
|
||||||
|
|
||||||
ip46tables -t raw -A PREROUTING -j nixos-fw-rpfilter
|
ip46tables -t mangle -A PREROUTING -j nixos-fw-rpfilter
|
||||||
''}
|
''}
|
||||||
|
|
||||||
# Accept all traffic on the trusted interfaces.
|
# Accept all traffic on the trusted interfaces.
|
||||||
|
@ -218,7 +218,7 @@ let
|
||||||
ip46tables -D INPUT -j nixos-fw 2>/dev/null || true
|
ip46tables -D INPUT -j nixos-fw 2>/dev/null || true
|
||||||
|
|
||||||
${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) ''
|
${optionalString (kernelHasRPFilter && (cfg.checkReversePath != false)) ''
|
||||||
ip46tables -t raw -D PREROUTING -j nixos-fw-rpfilter 2>/dev/null || true
|
ip46tables -t mangle -D PREROUTING -j nixos-fw-rpfilter 2>/dev/null || true
|
||||||
''}
|
''}
|
||||||
|
|
||||||
${cfg.extraStopCommands}
|
${cfg.extraStopCommands}
|
||||||
|
|
|
@ -328,9 +328,6 @@ in {
|
||||||
config = mkIf (cfg.interfaces != {}) {
|
config = mkIf (cfg.interfaces != {}) {
|
||||||
boot.extraModulePackages = optional (versionOlder kernel.kernel.version "5.6") kernel.wireguard;
|
boot.extraModulePackages = optional (versionOlder kernel.kernel.version "5.6") kernel.wireguard;
|
||||||
environment.systemPackages = [ pkgs.wireguard-tools ];
|
environment.systemPackages = [ pkgs.wireguard-tools ];
|
||||||
# This is forced to false for now because the default "--validmark" rpfilter we apply on reverse path filtering
|
|
||||||
# breaks the wg-quick routing because wireguard packets leave with a fwmark from wireguard.
|
|
||||||
networking.firewall.checkReversePath = false;
|
|
||||||
systemd.services = mapAttrs' generateUnit cfg.interfaces;
|
systemd.services = mapAttrs' generateUnit cfg.interfaces;
|
||||||
|
|
||||||
# Prevent networkd from clearing the rules set by wg-quick when restarted (e.g. when waking up from suspend).
|
# Prevent networkd from clearing the rules set by wg-quick when restarted (e.g. when waking up from suspend).
|
||||||
|
|
|
@ -441,6 +441,7 @@ in {
|
||||||
non-default-filesystems = handleTest ./non-default-filesystems.nix {};
|
non-default-filesystems = handleTest ./non-default-filesystems.nix {};
|
||||||
noto-fonts = handleTest ./noto-fonts.nix {};
|
noto-fonts = handleTest ./noto-fonts.nix {};
|
||||||
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
novacomd = handleTestOn ["x86_64-linux"] ./novacomd.nix {};
|
||||||
|
nscd = handleTest ./nscd.nix {};
|
||||||
nsd = handleTest ./nsd.nix {};
|
nsd = handleTest ./nsd.nix {};
|
||||||
nzbget = handleTest ./nzbget.nix {};
|
nzbget = handleTest ./nzbget.nix {};
|
||||||
nzbhydra2 = handleTest ./nzbhydra2.nix {};
|
nzbhydra2 = handleTest ./nzbhydra2.nix {};
|
||||||
|
@ -531,7 +532,6 @@ in {
|
||||||
rasdaemon = handleTest ./rasdaemon.nix {};
|
rasdaemon = handleTest ./rasdaemon.nix {};
|
||||||
redis = handleTest ./redis.nix {};
|
redis = handleTest ./redis.nix {};
|
||||||
redmine = handleTest ./redmine.nix {};
|
redmine = handleTest ./redmine.nix {};
|
||||||
resolv = handleTest ./resolv.nix {};
|
|
||||||
restartByActivationScript = handleTest ./restart-by-activation-script.nix {};
|
restartByActivationScript = handleTest ./restart-by-activation-script.nix {};
|
||||||
restic = handleTest ./restic.nix {};
|
restic = handleTest ./restic.nix {};
|
||||||
retroarch = handleTest ./retroarch.nix {};
|
retroarch = handleTest ./retroarch.nix {};
|
||||||
|
|
107
nixos/tests/nscd.nix
Normal file
107
nixos/tests/nscd.nix
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
import ./make-test-python.nix ({ pkgs, ... }:
|
||||||
|
let
|
||||||
|
# build a getent that itself doesn't see anything in /etc/hosts and
|
||||||
|
# /etc/nsswitch.conf, by using libredirect to steer its own requests to
|
||||||
|
# /dev/null.
|
||||||
|
# This means is /has/ to go via nscd to actuallly resolve any of the
|
||||||
|
# additionally configured hosts.
|
||||||
|
getent' = pkgs.writeScript "getent-without-etc-hosts" ''
|
||||||
|
export NIX_REDIRECTS=/etc/hosts=/dev/null:/etc/nsswitch.conf=/dev/null
|
||||||
|
export LD_PRELOAD=${pkgs.libredirect}/lib/libredirect.so
|
||||||
|
exec getent $@
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
name = "nscd";
|
||||||
|
|
||||||
|
nodes.machine = { pkgs, ... }: {
|
||||||
|
imports = [ common/user-account.nix ];
|
||||||
|
networking.extraHosts = ''
|
||||||
|
2001:db8::1 somehost.test
|
||||||
|
192.0.2.1 somehost.test
|
||||||
|
'';
|
||||||
|
|
||||||
|
specialisation = {
|
||||||
|
withUnscd.configuration = { ... }: {
|
||||||
|
services.nscd.package = pkgs.unscd;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript = { nodes, ... }:
|
||||||
|
let
|
||||||
|
specialisations = "${nodes.machine.system.build.toplevel}/specialisation";
|
||||||
|
in
|
||||||
|
''
|
||||||
|
# Regression test for https://github.com/NixOS/nixpkgs/issues/50273
|
||||||
|
def test_dynamic_user():
|
||||||
|
with subtest("DynamicUser actually allocates a user"):
|
||||||
|
assert "iamatest" in machine.succeed(
|
||||||
|
"systemd-run --pty --property=Type=oneshot --property=DynamicUser=yes --property=User=iamatest whoami"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Test resolution of somehost.test with getent', to make sure we go via nscd
|
||||||
|
def test_host_lookups():
|
||||||
|
with subtest("host lookups via nscd"):
|
||||||
|
# ahosts
|
||||||
|
output = machine.succeed("${getent'} ahosts somehost.test")
|
||||||
|
assert "192.0.2.1" in output
|
||||||
|
assert "2001:db8::1" in output
|
||||||
|
|
||||||
|
# ahostsv4
|
||||||
|
output = machine.succeed("${getent'} ahostsv4 somehost.test")
|
||||||
|
assert "192.0.2.1" in output
|
||||||
|
assert "2001:db8::1" not in output
|
||||||
|
|
||||||
|
# ahostsv6
|
||||||
|
output = machine.succeed("${getent'} ahostsv6 somehost.test")
|
||||||
|
assert "192.0.2.1" not in output
|
||||||
|
assert "2001:db8::1" in output
|
||||||
|
|
||||||
|
# reverse lookups (hosts)
|
||||||
|
assert "somehost.test" in machine.succeed("${getent'} hosts 2001:db8::1")
|
||||||
|
assert "somehost.test" in machine.succeed("${getent'} hosts 192.0.2.1")
|
||||||
|
|
||||||
|
# Test host resolution via nss modules works
|
||||||
|
# We rely on nss-myhostname in this case, which resolves *.localhost and
|
||||||
|
# _gateway.
|
||||||
|
# We don't need to use getent' here, as non-glibc nss modules can only be
|
||||||
|
# discovered via nscd.
|
||||||
|
def test_nss_myhostname():
|
||||||
|
with subtest("nss-myhostname provides hostnames (ahosts)"):
|
||||||
|
# ahosts
|
||||||
|
output = machine.succeed("getent ahosts foobar.localhost")
|
||||||
|
assert "::1" in output
|
||||||
|
assert "127.0.0.1" in output
|
||||||
|
|
||||||
|
# ahostsv4
|
||||||
|
output = machine.succeed("getent ahostsv4 foobar.localhost")
|
||||||
|
assert "::1" not in output
|
||||||
|
assert "127.0.0.1" in output
|
||||||
|
|
||||||
|
# ahostsv6
|
||||||
|
output = machine.succeed("getent ahostsv6 foobar.localhost")
|
||||||
|
assert "::1" in output
|
||||||
|
assert "127.0.0.1" not in output
|
||||||
|
|
||||||
|
start_all()
|
||||||
|
machine.wait_for_unit("default.target")
|
||||||
|
|
||||||
|
# Test all tests with glibc-nscd.
|
||||||
|
test_dynamic_user()
|
||||||
|
test_host_lookups()
|
||||||
|
test_nss_myhostname()
|
||||||
|
|
||||||
|
with subtest("unscd"):
|
||||||
|
machine.succeed('${specialisations}/withUnscd/bin/switch-to-configuration test')
|
||||||
|
machine.wait_for_unit("default.target")
|
||||||
|
|
||||||
|
# known to fail, unscd doesn't load external NSS modules
|
||||||
|
# test_dynamic_user()
|
||||||
|
|
||||||
|
test_host_lookups()
|
||||||
|
|
||||||
|
# known to fail, unscd doesn't load external NSS modules
|
||||||
|
# test_nss_myhostname()
|
||||||
|
'';
|
||||||
|
})
|
|
@ -1,46 +0,0 @@
|
||||||
# Test whether DNS resolving returns multiple records and all address families.
|
|
||||||
import ./make-test-python.nix ({ pkgs, ... } : {
|
|
||||||
name = "resolv";
|
|
||||||
meta = with pkgs.lib.maintainers; {
|
|
||||||
maintainers = [ ckauhaus ];
|
|
||||||
};
|
|
||||||
|
|
||||||
nodes.resolv = { ... }: {
|
|
||||||
networking.extraHosts = ''
|
|
||||||
# IPv4 only
|
|
||||||
192.0.2.1 host-ipv4.example.net
|
|
||||||
192.0.2.2 host-ipv4.example.net
|
|
||||||
# IP6 only
|
|
||||||
2001:db8::2:1 host-ipv6.example.net
|
|
||||||
2001:db8::2:2 host-ipv6.example.net
|
|
||||||
# dual stack
|
|
||||||
192.0.2.1 host-dual.example.net
|
|
||||||
192.0.2.2 host-dual.example.net
|
|
||||||
2001:db8::2:1 host-dual.example.net
|
|
||||||
2001:db8::2:2 host-dual.example.net
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
testScript = ''
|
|
||||||
def addrs_in(hostname, addrs):
|
|
||||||
res = resolv.succeed("getent ahosts {}".format(hostname))
|
|
||||||
for addr in addrs:
|
|
||||||
assert addr in res, "Expected output '{}' not found in\n{}".format(addr, res)
|
|
||||||
|
|
||||||
|
|
||||||
start_all()
|
|
||||||
resolv.wait_for_unit("nscd")
|
|
||||||
|
|
||||||
ipv4 = ["192.0.2.1", "192.0.2.2"]
|
|
||||||
ipv6 = ["2001:db8::2:1", "2001:db8::2:2"]
|
|
||||||
|
|
||||||
with subtest("IPv4 resolves"):
|
|
||||||
addrs_in("host-ipv4.example.net", ipv4)
|
|
||||||
|
|
||||||
with subtest("IPv6 resolves"):
|
|
||||||
addrs_in("host-ipv6.example.net", ipv6)
|
|
||||||
|
|
||||||
with subtest("Dual stack resolves"):
|
|
||||||
addrs_in("host-dual.example.net", ipv4 + ipv6)
|
|
||||||
'';
|
|
||||||
})
|
|
|
@ -4,4 +4,5 @@
|
||||||
|
|
||||||
{
|
{
|
||||||
simple = import ./simple.nix { inherit system pkgs; };
|
simple = import ./simple.nix { inherit system pkgs; };
|
||||||
|
encryption = import ./encryption.nix { inherit system pkgs; };
|
||||||
}
|
}
|
||||||
|
|
33
nixos/tests/stratis/encryption.nix
Normal file
33
nixos/tests/stratis/encryption.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
import ../make-test-python.nix ({ pkgs, ... }:
|
||||||
|
{
|
||||||
|
name = "stratis";
|
||||||
|
|
||||||
|
meta = with pkgs.lib.maintainers; {
|
||||||
|
maintainers = [ nickcao ];
|
||||||
|
};
|
||||||
|
|
||||||
|
nodes.machine = { pkgs, ... }: {
|
||||||
|
services.stratis.enable = true;
|
||||||
|
virtualisation.emptyDiskImages = [ 2048 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
testScript =
|
||||||
|
let
|
||||||
|
testkey1 = pkgs.writeText "testkey1" "supersecret1";
|
||||||
|
testkey2 = pkgs.writeText "testkey2" "supersecret2";
|
||||||
|
in
|
||||||
|
''
|
||||||
|
machine.wait_for_unit("stratisd")
|
||||||
|
# test creation of encrypted pool and filesystem
|
||||||
|
machine.succeed("stratis key set testkey1 --keyfile-path ${testkey1}")
|
||||||
|
machine.succeed("stratis key set testkey2 --keyfile-path ${testkey2}")
|
||||||
|
machine.succeed("stratis pool create testpool /dev/vdb --key-desc testkey1")
|
||||||
|
machine.succeed("stratis fs create testpool testfs")
|
||||||
|
# test rebinding encrypted pool
|
||||||
|
machine.succeed("stratis pool rebind keyring testpool testkey2")
|
||||||
|
# test restarting encrypted pool
|
||||||
|
uuid = machine.succeed("stratis pool list | grep -oE '[0-9a-fA-F-]{36}'").rstrip('\n')
|
||||||
|
machine.succeed(" stratis pool stop testpool")
|
||||||
|
machine.succeed(f"stratis pool start {uuid} --unlock-method keyring")
|
||||||
|
'';
|
||||||
|
})
|
|
@ -87,12 +87,6 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||||
machine.succeed("test -e /home/alice/user_conf_read")
|
machine.succeed("test -e /home/alice/user_conf_read")
|
||||||
machine.succeed("test -z $(ls -1 /var/log/journal)")
|
machine.succeed("test -z $(ls -1 /var/log/journal)")
|
||||||
|
|
||||||
# Regression test for https://github.com/NixOS/nixpkgs/issues/50273
|
|
||||||
with subtest("DynamicUser actually allocates a user"):
|
|
||||||
assert "iamatest" in machine.succeed(
|
|
||||||
"systemd-run --pty --property=Type=oneshot --property=DynamicUser=yes --property=User=iamatest whoami"
|
|
||||||
)
|
|
||||||
|
|
||||||
with subtest("regression test for https://bugs.freedesktop.org/show_bug.cgi?id=77507"):
|
with subtest("regression test for https://bugs.freedesktop.org/show_bug.cgi?id=77507"):
|
||||||
retcode, output = machine.execute("systemctl status testservice1.service")
|
retcode, output = machine.execute("systemctl status testservice1.service")
|
||||||
assert retcode in [0, 3] # https://bugs.freedesktop.org/show_bug.cgi?id=77507
|
assert retcode in [0, 3] # https://bugs.freedesktop.org/show_bug.cgi?id=77507
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, makeWrapper, pkg-config, alsa-lib, dbus, libjack2
|
{ lib, stdenv, fetchFromGitHub, makeWrapper, pkg-config, alsa-lib, dbus, libjack2
|
||||||
, python3Packages , meson, ninja }:
|
, python3Packages , meson, ninja }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, fetchgit
|
, fetchgit
|
||||||
, automake
|
|
||||||
, alsa-lib
|
, alsa-lib
|
||||||
, ladspaH
|
, ladspaH
|
||||||
, libjack2
|
, libjack2
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ lib
|
{ lib
|
||||||
, a2jmidid
|
|
||||||
, coreutils
|
|
||||||
, libjack2
|
, libjack2
|
||||||
, fetchpatch
|
, fetchpatch
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
|
@ -8,7 +6,6 @@
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, pulseaudioFull
|
, pulseaudioFull
|
||||||
, qtbase
|
, qtbase
|
||||||
, makeWrapper
|
|
||||||
, mkDerivation
|
, mkDerivation
|
||||||
, python3
|
, python3
|
||||||
}:
|
}:
|
||||||
|
|
|
@ -5,12 +5,12 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "faustlive";
|
pname = "faustlive";
|
||||||
version = "2.5.11";
|
version = "2.5.12";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "grame-cncm";
|
owner = "grame-cncm";
|
||||||
repo = "faustlive";
|
repo = "faustlive";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-ldn6st3/iIABjEfAwodOnPrI97DygWbnYmvMktlOgrk=";
|
sha256 = "sha256-pq9zO4opCh9GEEtuQjrxKdNvOasDlcGGUsQD4je7Wyw=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }:
|
{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }:
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "faustPhysicalModeling";
|
pname = "faustPhysicalModeling";
|
||||||
version = "2.41.1";
|
version = "2.50.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "grame-cncm";
|
owner = "grame-cncm";
|
||||||
repo = "faust";
|
repo = "faust";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-I5No9J7TLOf++B+lx1RfGY8LBoDAApq/EV8016wH9Hc=";
|
sha256 = "sha256-Q/vrm3WPsjkE3Xf/XEirsJPFXHNSW/Ve3Jbi/5nIrx8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ faust2jaqt faust2lv2 ];
|
buildInputs = [ faust2jaqt faust2lv2 ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchsvn, cmake, gcc, pkg-config, fftwFloat, alsa-lib
|
{ lib, stdenv, fetchsvn, cmake, pkg-config, fftwFloat, alsa-lib
|
||||||
, zlib, wavpack, wxGTK31, udev, jackaudioSupport ? false, libjack2
|
, zlib, wavpack, wxGTK31, udev, jackaudioSupport ? false, libjack2
|
||||||
, includeDemo ? true }:
|
, includeDemo ? true }:
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
|
{ lib, stdenv, fetchgit, boost, ganv, glibmm, gtkmm2, libjack2, lilv
|
||||||
, lv2, makeWrapper, pkg-config, python3, raul, serd, sord, sratom
|
, lv2, pkg-config, python3, raul, serd, sord, sratom
|
||||||
, wafHook
|
, wafHook
|
||||||
, suil
|
, suil
|
||||||
}:
|
}:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, faust, meson, ninja, pkg-config
|
{ lib, stdenv, fetchFromGitHub, faust, meson, ninja, pkg-config
|
||||||
, boost, cairo, fftw, gnome, ladspa-sdk, libxcb, lv2, xcbutilwm
|
, boost, cairo, fftw, ladspa-sdk, libxcb, lv2, xcbutilwm
|
||||||
, zita-convolver, zita-resampler
|
, zita-convolver, zita-resampler
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, mkDerivation
|
, mkDerivation
|
||||||
, fetchurl
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, chromaprint
|
, chromaprint
|
||||||
, cmake
|
, cmake
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "new-session-manager";
|
pname = "new-session-manager";
|
||||||
version = "1.6.0";
|
version = "1.6.1";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "linuxaudio";
|
owner = "linuxaudio";
|
||||||
repo = "new-session-manager";
|
repo = "new-session-manager";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "sha256-QVykRYXToeVXr7pYQy2afgEAlXrQnm68+xEUZhd+FkY=";
|
sha256 = "sha256-5G2GlBuKjC/r1SMm78JKia7bMA97YcvUR5l6zBucemw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ meson pkg-config ninja ];
|
nativeBuildInputs = [ meson pkg-config ninja ];
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, unzip, fetchzip, libX11 }:
|
{ stdenv, lib, fetchFromGitHub, fetchzip, libX11 }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ fetchurl
|
{ fetchurl
|
||||||
, fetchpatch
|
|
||||||
, lib
|
, lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, puredata
|
, puredata
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, curl, gnugrep, jq, xorg, alsa-lib, freetype, p7zip, autoPatchelfHook, writeShellScript, zlib, libjack2, makeWrapper }:
|
{ lib, stdenv, curl, jq, xorg, alsa-lib, freetype, p7zip, autoPatchelfHook, writeShellScript, zlib, libjack2, makeWrapper }:
|
||||||
let
|
let
|
||||||
versionForFile = v: builtins.replaceStrings ["."] [""] v;
|
versionForFile = v: builtins.replaceStrings ["."] [""] v;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, fetchgit
|
, fetchgit
|
||||||
, automake
|
|
||||||
, autoreconfHook
|
, autoreconfHook
|
||||||
, lv2
|
, lv2
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
|
|
@ -39,13 +39,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "sonic-pi";
|
pname = "sonic-pi";
|
||||||
version = "4.2.0";
|
version = "4.3.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "sonic-pi-net";
|
owner = "sonic-pi-net";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
hash = "sha256-VRuNhS53okKsCHgKEsJgkpIe9yXFY6d2ghd0nsUQLLM=";
|
hash = "sha256-R+nmjIIDLoGOoCkDvJqejE1DaweHSAV8M2RvdwN5qAQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
mixFodDeps = beamPackages.fetchMixDeps {
|
mixFodDeps = beamPackages.fetchMixDeps {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchurl, ladspa-sdk, pkgs, ... }:
|
{ lib, stdenv, ladspa-sdk, pkgs, ... }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "tap-plugins";
|
pname = "tap-plugins";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchzip, pkg-config, lvtk, lv2, fftw, lv2-cpp-tools, gtkmm2 }:
|
{ lib, stdenv, fetchzip, pkg-config, lv2, fftw, lv2-cpp-tools, gtkmm2 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "vocproc";
|
pname = "vocproc";
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
, SDL2
|
, SDL2
|
||||||
, alsa-lib
|
, alsa-lib
|
||||||
, libaudec
|
, libaudec
|
||||||
, bash
|
|
||||||
, bash-completion
|
, bash-completion
|
||||||
, breeze-icons
|
, breeze-icons
|
||||||
, carla
|
, carla
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, fetchpatch
|
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config
|
||||||
, cmake, pkg-config
|
|
||||||
, boost, miniupnpc, openssl, unbound
|
, boost, miniupnpc, openssl, unbound
|
||||||
, zeromq, pcsclite, readline, libsodium, hidapi
|
, zeromq, pcsclite, readline, libsodium, hidapi
|
||||||
, randomx, rapidjson
|
, randomx, rapidjson
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, rustPlatform
|
, rustPlatform
|
||||||
, cmake
|
, cmake
|
||||||
, llvmPackages
|
|
||||||
, openssl
|
, openssl
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, stdenv
|
, stdenv
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ stdenv, lib, fetchurl, fetchFromGitHub, fetchpatch
|
{ stdenv, lib, fetchurl, fetchFromGitHub, cmake, pkg-config
|
||||||
, cmake, pkg-config
|
|
||||||
, boost, openssl, unbound
|
, boost, openssl, unbound
|
||||||
, pcsclite, readline, libsodium, hidapi
|
, pcsclite, readline, libsodium, hidapi
|
||||||
, rapidjson
|
, rapidjson
|
||||||
|
|
3905
pkgs/applications/blockchains/teos/add-cargo-lock.patch
Normal file
3905
pkgs/applications/blockchains/teos/add-cargo-lock.patch
Normal file
File diff suppressed because it is too large
Load diff
80
pkgs/applications/blockchains/teos/default.nix
Normal file
80
pkgs/applications/blockchains/teos/default.nix
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, rustPlatform
|
||||||
|
, fetchFromGitHub
|
||||||
|
, llvmPackages
|
||||||
|
, openssl
|
||||||
|
, perl
|
||||||
|
, protobuf
|
||||||
|
, rustfmt
|
||||||
|
, Security
|
||||||
|
, SystemConfiguration
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
version = "0.1.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "talaia-labs";
|
||||||
|
repo = "rust-teos";
|
||||||
|
rev = "v${version}";
|
||||||
|
hash = "sha256-N+srREYsADMTqz3uDXpeCuXrZZ62FopXO7DClGfyk9U=";
|
||||||
|
};
|
||||||
|
|
||||||
|
common.meta = with lib; {
|
||||||
|
homepage = "https://github.com/talaia-labs/rust-teos";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = with maintainers; [ seberm ];
|
||||||
|
platforms = platforms.unix;
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoPatches = [ ./add-cargo-lock.patch ];
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
openssl
|
||||||
|
] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
perl # used by openssl-sys to configure
|
||||||
|
protobuf
|
||||||
|
rustfmt
|
||||||
|
llvmPackages.clang
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
teos = rustPlatform.buildRustPackage {
|
||||||
|
pname = "teos";
|
||||||
|
cargoSha256 = "sha256-7VYYYSMJ2JP1KuA8sD0X3wInubH/jbA/sgzsTsomyEc=";
|
||||||
|
buildAndTestSubdir = "teos";
|
||||||
|
|
||||||
|
inherit version src cargoPatches buildInputs nativeBuildInputs LIBCLANG_PATH;
|
||||||
|
|
||||||
|
meta = common.meta // {
|
||||||
|
description = "A Lightning watchtower compliant with BOLT13, written in Rust";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoTestFlags = [
|
||||||
|
"--workspace"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
teos-watchtower-plugin = rustPlatform.buildRustPackage {
|
||||||
|
pname = "teos-watchtower-plugin";
|
||||||
|
cargoSha256 = "sha256-xL+DiEfgBYJQ1UJm7LAr1/f34pkU8FRl4Seic8MFAlM=";
|
||||||
|
buildAndTestSubdir = "watchtower-plugin";
|
||||||
|
|
||||||
|
inherit version src cargoPatches buildInputs nativeBuildInputs LIBCLANG_PATH;
|
||||||
|
|
||||||
|
meta = common.meta // {
|
||||||
|
description = "A Lightning watchtower plugin for clightning";
|
||||||
|
};
|
||||||
|
|
||||||
|
# The test is skipped due to following error:
|
||||||
|
# thread 'retrier::tests::test_manage_retry_unreachable' panicked at 'assertion failed:
|
||||||
|
# wt_client.lock().unwrap().towers.get(&tower_id).unwrap().status.is_unreachable()', watchtower-plugin/src/retrier.rs:518:9
|
||||||
|
checkFlags = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ "--skip=retrier::tests::test_manage_retry_unreachable" ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,7 +1,6 @@
|
||||||
{ trivialBuild
|
{ trivialBuild
|
||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, curl
|
|
||||||
, plz
|
, plz
|
||||||
, cl-lib
|
, cl-lib
|
||||||
, ts
|
, ts
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib
|
{ trivialBuild
|
||||||
, trivialBuild
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, emacs
|
, emacs
|
||||||
, popup
|
, popup
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, emacs
|
, emacs
|
||||||
, trivialBuild
|
, trivialBuild
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, trivialBuild
|
, trivialBuild
|
||||||
, emacs
|
, emacs
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib
|
{ trivialBuild
|
||||||
, trivialBuild
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, emacs
|
, emacs
|
||||||
}:
|
}:
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib
|
{ trivialBuild
|
||||||
, trivialBuild
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, emacs
|
, emacs
|
||||||
}:
|
}:
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, trivialBuild
|
, trivialBuild
|
||||||
, emacs
|
, emacs
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ symlinkJoin
|
{ symlinkJoin
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, geany
|
, geany
|
||||||
, lndir
|
|
||||||
, vte
|
, vte
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ avahiSupport ? false # build support for Avahi in libinfinity
|
{ avahiSupport ? false # build support for Avahi in libinfinity
|
||||||
, lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, wrapGAppsHook, yelp-tools
|
, lib, stdenv, fetchFromGitHub, autoconf, automake, pkg-config, wrapGAppsHook, yelp-tools
|
||||||
, gtkmm3, gsasl, gtksourceview3, libxmlxx, libinfinity, intltool, itstool, gnome }:
|
, gtkmm3, gsasl, gtksourceview3, libxmlxx, libinfinity, intltool, itstool }:
|
||||||
|
|
||||||
let
|
let
|
||||||
libinf = libinfinity.override { gtkWidgets = true; inherit avahiSupport; };
|
libinf = libinfinity.override { gtkWidgets = true; inherit avahiSupport; };
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib
|
{ stdenv
|
||||||
, stdenv
|
|
||||||
, callPackage
|
, callPackage
|
||||||
, runCommand
|
, runCommand
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, octave, python3Packages }:
|
{ lib, python3Packages }:
|
||||||
|
|
||||||
with python3Packages;
|
with python3Packages;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, writeScript, nixosTests, common-updater-scripts
|
{ lib, stdenv, fetchFromGitHub, writeScript, common-updater-scripts
|
||||||
, coreutils, git, gnused, nix, nixfmt }:
|
, coreutils, git, gnused, nix }:
|
||||||
|
|
||||||
let
|
let
|
||||||
owner = "scopatz";
|
owner = "scopatz";
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ lib, mkDerivation, fetchFromGitHub, cmake, doxygen, makeWrapper
|
{ lib, mkDerivation, fetchFromGitHub, cmake, doxygen, msgpack, neovim, python3Packages, qtbase, qtsvg }:
|
||||||
, msgpack, neovim, python3Packages, qtbase, qtsvg }:
|
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "neovim-qt-unwrapped";
|
pname = "neovim-qt-unwrapped";
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
{ stdenv, symlinkJoin, lib, makeWrapper
|
{ stdenv, symlinkJoin, lib, makeWrapper
|
||||||
, writeText
|
, writeText
|
||||||
, bundlerEnv, ruby
|
|
||||||
, nodejs
|
|
||||||
, nodePackages
|
, nodePackages
|
||||||
, python3
|
, python3
|
||||||
, python3Packages
|
, python3Packages
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, makeWrapper
|
{ lib, mkDerivation, fetchFromGitHub, cmake, pkg-config, makeWrapper
|
||||||
, boost, xercesc, hunspell, zlib, pcre16
|
, boost, xercesc, qtbase, qttools, qtwebengine, qtxmlpatterns
|
||||||
, qtbase, qttools, qtwebengine, qtxmlpatterns
|
|
||||||
, python3Packages
|
, python3Packages
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
, unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook, makeWrapper
|
, unzip, libsecret, libXScrnSaver, libxshmfence, wrapGAppsHook, makeWrapper
|
||||||
, atomEnv, at-spi2-atk, autoPatchelfHook
|
, atomEnv, at-spi2-atk, autoPatchelfHook
|
||||||
, systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap
|
, systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap
|
||||||
, writeShellScriptBin
|
|
||||||
|
|
||||||
# Populate passthru.tests
|
# Populate passthru.tests
|
||||||
, tests
|
, tests
|
||||||
|
|
|
@ -3,12 +3,14 @@
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, SDL2
|
, SDL2
|
||||||
, cmake
|
, cmake
|
||||||
, libepoxy
|
, copyDesktopItems
|
||||||
, ffmpeg_4
|
, ffmpeg
|
||||||
, imagemagick
|
, imagemagick
|
||||||
, libedit
|
, libedit
|
||||||
, libelf
|
, libelf
|
||||||
|
, libepoxy
|
||||||
, libzip
|
, libzip
|
||||||
|
, lua
|
||||||
, makeDesktopItem
|
, makeDesktopItem
|
||||||
, minizip
|
, minizip
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
@ -18,31 +20,33 @@
|
||||||
, wrapQtAppsHook
|
, wrapQtAppsHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "mgba";
|
pname = "mgba";
|
||||||
version = "0.9.3";
|
version = "0.10.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "mgba-emu";
|
owner = "mgba-emu";
|
||||||
repo = "mgba";
|
repo = "mgba";
|
||||||
rev = version;
|
rev = finalAttrs.version;
|
||||||
hash = "sha256-0ZtoyyoD+YjplJlPFpZgIg5119j/6X8ZaSZP+UpX5K0=";
|
hash = "sha256-2thc2v3aD8t1PrREZIjzRuYfP7b3BA7uFb6R95zxsZI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
cmake
|
cmake
|
||||||
|
copyDesktopItems
|
||||||
pkg-config
|
pkg-config
|
||||||
wrapQtAppsHook
|
wrapQtAppsHook
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
SDL2
|
SDL2
|
||||||
libepoxy
|
ffmpeg
|
||||||
ffmpeg_4
|
|
||||||
imagemagick
|
imagemagick
|
||||||
libedit
|
libedit
|
||||||
libelf
|
libelf
|
||||||
|
libepoxy
|
||||||
libzip
|
libzip
|
||||||
|
lua
|
||||||
minizip
|
minizip
|
||||||
qtbase
|
qtbase
|
||||||
qtmultimedia
|
qtmultimedia
|
||||||
|
@ -79,9 +83,9 @@ stdenv.mkDerivation rec {
|
||||||
runners, and a modern feature set for emulators that older emulators may
|
runners, and a modern feature set for emulators that older emulators may
|
||||||
not support.
|
not support.
|
||||||
'';
|
'';
|
||||||
|
changelog = "https://github.com/mgba-emu/mgba/blob/${finalAttrs.version}/CHANGES";
|
||||||
license = licenses.mpl20;
|
license = licenses.mpl20;
|
||||||
maintainers = with maintainers; [ MP2E AndersonTorres ];
|
maintainers = with maintainers; [ MP2E AndersonTorres ];
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
})
|
||||||
# TODO: use desktopItem functions
|
|
||||||
|
|
|
@ -20,7 +20,6 @@
|
||||||
, Cocoa
|
, Cocoa
|
||||||
, unixODBC
|
, unixODBC
|
||||||
, poppler
|
, poppler
|
||||||
, hdf4
|
|
||||||
, hdf5
|
, hdf5
|
||||||
, netcdf
|
, netcdf
|
||||||
, sqlite
|
, sqlite
|
||||||
|
|
|
@ -3,14 +3,9 @@
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, desktop-file-utils
|
, desktop-file-utils
|
||||||
, ffmpeg
|
, ffmpeg
|
||||||
, gobject-introspection
|
|
||||||
, granite
|
, granite
|
||||||
, gtk
|
, gtk
|
||||||
, imagemagick
|
, imagemagick
|
||||||
, libgee
|
|
||||||
, libhandy
|
|
||||||
, libsecret
|
|
||||||
, libsoup
|
|
||||||
, meson
|
, meson
|
||||||
, ninja
|
, ninja
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
|
42
pkgs/applications/graphics/cyan/default.nix
Normal file
42
pkgs/applications/graphics/cyan/default.nix
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, qt5
|
||||||
|
, cmake
|
||||||
|
, pkg-config
|
||||||
|
, imagemagick
|
||||||
|
, nix-update-script
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "cyan";
|
||||||
|
version = "1.2.4";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "rodlie";
|
||||||
|
repo = pname;
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-R5sj8AN7UT9OIeUPNrdTIUQvtEitXp1A32l/Z2qRS94=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
cmake
|
||||||
|
pkg-config
|
||||||
|
qt5.wrapQtAppsHook
|
||||||
|
];
|
||||||
|
|
||||||
|
buildInputs = [ imagemagick ];
|
||||||
|
|
||||||
|
passthru.updateScript = nix-update-script {
|
||||||
|
attrPath = pname;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Image viewer and converter, designed for prepress (print) work";
|
||||||
|
homepage = "https://github.com/rodlie/cyan";
|
||||||
|
mainProgram = "Cyan";
|
||||||
|
license = licenses.cecill21;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ zendo ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,7 +2,6 @@
|
||||||
, stdenv
|
, stdenv
|
||||||
, mkDerivation
|
, mkDerivation
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
|
||||||
, cmake
|
, cmake
|
||||||
, ninja
|
, ninja
|
||||||
, GitPython
|
, GitPython
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ lib, stdenv
|
{ lib, stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, nix-update-script
|
, nix-update-script
|
||||||
, fetchpatch
|
|
||||||
, vala
|
, vala
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, python3
|
, python3
|
||||||
|
|
|
@ -4,12 +4,9 @@
|
||||||
, wrapQtAppsHook
|
, wrapQtAppsHook
|
||||||
, qtmultimedia
|
, qtmultimedia
|
||||||
, qttools
|
, qttools
|
||||||
, qtscript
|
|
||||||
, qtdeclarative
|
, qtdeclarative
|
||||||
, qtnetworkauth
|
, qtnetworkauth
|
||||||
, qtbase
|
, qtbase
|
||||||
, autogen
|
|
||||||
, automake
|
|
||||||
, makeWrapper
|
, makeWrapper
|
||||||
, catch2
|
, catch2
|
||||||
, nodejs
|
, nodejs
|
||||||
|
|
|
@ -6,11 +6,9 @@
|
||||||
, openjpeg, opencolorio_1, xsimd, poppler, curl, ilmbase, libmypaint, libwebp
|
, openjpeg, opencolorio_1, xsimd, poppler, curl, ilmbase, libmypaint, libwebp
|
||||||
, qtmultimedia, qtx11extras, quazip
|
, qtmultimedia, qtx11extras, quazip
|
||||||
, python3Packages
|
, python3Packages
|
||||||
|
|
||||||
, version
|
, version
|
||||||
, kde-channel
|
, kde-channel
|
||||||
, sha256
|
, sha256
|
||||||
|
|
||||||
, callPackage
|
, callPackage
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, patchelf, fetchurl, p7zip
|
{ lib, stdenv, fetchurl, p7zip
|
||||||
, nss, nspr, libusb1
|
, nss, nspr, libusb1
|
||||||
, qtbase, qtmultimedia, qtserialport
|
, qtbase, qtmultimedia, qtserialport
|
||||||
, autoPatchelfHook, wrapQtAppsHook
|
, autoPatchelfHook, wrapQtAppsHook
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitLab, fetchurl
|
{ lib, fetchFromGitLab, fetchurl
|
||||||
, boost, cmake, ffmpeg, qtbase, qtx11extras
|
, boost, cmake, ffmpeg, qtbase, qtx11extras
|
||||||
, qttools, qtxmlpatterns, qtsvg, gdal, gfortran, libXt, makeWrapper
|
, qttools, qtxmlpatterns, qtsvg, gdal, gfortran, libXt, makeWrapper
|
||||||
, mkDerivation, ninja, mpi, python3, tbb, libGLU, libGL
|
, mkDerivation, ninja, mpi, python3, tbb, libGLU, libGL
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{lib, stdenv, fetchFromGitHub, flex, bison, cmake, git, zlib}:
|
{lib, stdenv, fetchFromGitHub, flex, bison, cmake, zlib}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
version = "2018-08-15";
|
version = "2018-08-15";
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ mkDerivation, lib, fetchurl, cmake, exiv2, graphicsmagick, libraw, fetchpatch
|
{ mkDerivation, lib, fetchurl, cmake, exiv2, graphicsmagick, libraw, fetchpatch
|
||||||
, qtbase, qtdeclarative, qtmultimedia, qtquickcontrols, qttools, qtgraphicaleffects
|
, qtbase, qtdeclarative, qtmultimedia, qtquickcontrols, qttools, qtgraphicaleffects
|
||||||
, extra-cmake-modules, poppler, kimageformats, libarchive, libdevil
|
, extra-cmake-modules, poppler, kimageformats, libarchive}:
|
||||||
}:
|
|
||||||
|
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "photoqt";
|
pname = "photoqt";
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ lib
|
{ lib
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, gnustep
|
, gnustep
|
||||||
, gcc
|
|
||||||
, llvmPackages_9
|
, llvmPackages_9
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ mkDerivation
|
{ mkDerivation
|
||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, fetchpatch
|
|
||||||
|
|
||||||
, cmake
|
, cmake
|
||||||
, pkg-config
|
, pkg-config
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ python3Packages
|
{ python3Packages
|
||||||
, qtbase
|
, qtbase
|
||||||
, ghostscript
|
|
||||||
, wrapQtAppsHook
|
, wrapQtAppsHook
|
||||||
, lib
|
, lib
|
||||||
}:
|
}:
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ stdenv
|
{ lib
|
||||||
, lib
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, python3
|
, python3
|
||||||
, qt5
|
, qt5
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
mkDerivation, lib, kdepimTeam, substituteAll,
|
mkDerivation, lib, kdepimTeam,
|
||||||
extra-cmake-modules, shared-mime-info, qtbase, accounts-qt,
|
extra-cmake-modules, shared-mime-info, qtbase, accounts-qt,
|
||||||
boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons,
|
boost, kaccounts-integration, kcompletion, kconfigwidgets, kcrash, kdbusaddons,
|
||||||
kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mariadb, qttools,
|
kdesignerplugin, ki18n, kiconthemes, kio, kitemmodels, kwindowsystem, mariadb, qttools,
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ mkDerivation, lib, config
|
{ mkDerivation, lib, extra-cmake-modules, kdoctools
|
||||||
, extra-cmake-modules, kdoctools
|
|
||||||
, breeze-icons, karchive, kconfig, kcrash, kdbusaddons, ki18n
|
, breeze-icons, karchive, kconfig, kcrash, kdbusaddons, ki18n
|
||||||
, kiconthemes, kitemmodels, khtml, kio, kparts, kpty, kservice, kwidgetsaddons
|
, kiconthemes, kitemmodels, khtml, kio, kparts, kpty, kservice, kwidgetsaddons
|
||||||
, libarchive, libzip
|
, libarchive, libzip
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
mkDerivation, lib, kdepimTeam, fetchpatch,
|
mkDerivation, lib, kdepimTeam,
|
||||||
extra-cmake-modules, kdoctools,
|
extra-cmake-modules, kdoctools,
|
||||||
akonadi, akonadi-calendar, akonadi-mime, akonadi-notes, kcalutils,
|
akonadi, akonadi-calendar, akonadi-mime, akonadi-notes, kcalutils,
|
||||||
kholidays, kidentitymanagement, kmime, pimcommon, qttools,
|
kholidays, kidentitymanagement, kmime, pimcommon, qttools,
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ mkDerivation
|
{ mkDerivation
|
||||||
, fetchFromGitHub
|
|
||||||
, lib
|
, lib
|
||||||
, extra-cmake-modules
|
, extra-cmake-modules
|
||||||
, kdoctools
|
, kdoctools
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
mkDerivation, lib, kdepimTeam, fetchpatch,
|
mkDerivation, lib, kdepimTeam,
|
||||||
extra-cmake-modules, kdoctools,
|
extra-cmake-modules, kdoctools,
|
||||||
akonadi, akonadi-search, grantlee, grantleetheme, kcmutils, kcompletion,
|
akonadi, akonadi-search, grantlee, grantleetheme, kcmutils, kcompletion,
|
||||||
kcrash, kdbusaddons, ki18n, kontactinterface, kparts,
|
kcrash, kdbusaddons, ki18n, kontactinterface, kparts,
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, openbabel, avogadro, qtscript, kparts, kplotting, kunitconversion }:
|
{ mkDerivation, lib, extra-cmake-modules, kdoctools, ki18n, kio, openbabel, qtscript, kparts, kplotting, kunitconversion }:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
pname = "kalzium";
|
pname = "kalzium";
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ lib
|
{ lib
|
||||||
, mkDerivation
|
, mkDerivation
|
||||||
, fetchurl
|
|
||||||
, cmake
|
, cmake
|
||||||
, extra-cmake-modules
|
, extra-cmake-modules
|
||||||
, qtbase
|
, qtbase
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ mkDerivation
|
{ mkDerivation
|
||||||
, extra-cmake-modules
|
, extra-cmake-modules
|
||||||
, fetchpatch
|
|
||||||
, kcmutils
|
, kcmutils
|
||||||
, kconfigwidgets
|
, kconfigwidgets
|
||||||
, kdbusaddons
|
, kdbusaddons
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
, mkDerivation
|
, mkDerivation
|
||||||
, extra-cmake-modules
|
, extra-cmake-modules
|
||||||
, kdoctools
|
, kdoctools
|
||||||
, libkdegames, kconfig, kio, ktextwidgets
|
, libkdegames, kio, ktextwidgets
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
mkDerivation, lib,
|
mkDerivation, lib,
|
||||||
extra-cmake-modules, kdoctools,
|
extra-cmake-modules, kdoctools,
|
||||||
kiconthemes, kparts, ktexteditor, kwidgetsaddons, libkomparediff2,
|
kiconthemes, kparts, ktexteditor, kwidgetsaddons, libkomparediff2,
|
||||||
fetchpatch
|
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation {
|
mkDerivation {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
mkDerivation, lib, kdepimTeam,
|
mkDerivation, lib,
|
||||||
extra-cmake-modules, kdoctools,
|
extra-cmake-modules, kdoctools,
|
||||||
kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n,
|
kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n,
|
||||||
kwidgetsaddons
|
kwidgetsaddons
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ lib
|
{ lib
|
||||||
, stdenv
|
, stdenv
|
||||||
, fetchFromGitLab
|
, fetchFromGitLab
|
||||||
, fetchpatch
|
|
||||||
, appstream-glib
|
, appstream-glib
|
||||||
, clang
|
, clang
|
||||||
, desktop-file-utils
|
, desktop-file-utils
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
, libXfixes
|
, libXfixes
|
||||||
, libXtst
|
, libXtst
|
||||||
, qtx11extras
|
, qtx11extras
|
||||||
, git
|
|
||||||
, knotifications
|
, knotifications
|
||||||
, qtwayland
|
, qtwayland
|
||||||
, wayland
|
, wayland
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, python3Packages, libspnav, jq }:
|
{ lib, stdenv, fetchFromGitHub, python3Packages, libspnav, jq }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchFromGitHub, python3Packages, qtbase, fetchpatch, wrapQtAppsHook
|
{ lib, stdenv, fetchFromGitHub, python3Packages, wrapQtAppsHook
|
||||||
, secp256k1 }:
|
, secp256k1 }:
|
||||||
|
|
||||||
python3Packages.buildPythonApplication rec {
|
python3Packages.buildPythonApplication rec {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ fetchFromGitHub, lib, stdenv, fetchpatch, pkg-config, exiv2, libxml2, gtk3
|
{ fetchFromGitHub, lib, stdenv, pkg-config, exiv2, libxml2, gtk3
|
||||||
, libxslt, docbook_xsl, docbook_xml_dtd_42, desktop-file-utils, wrapGAppsHook }:
|
, libxslt, docbook_xsl, docbook_xml_dtd_42, desktop-file-utils, wrapGAppsHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, fetchurl, intltool, libxml2, pkg-config, gnome, libchamplain, gdl, shared-mime-info, desktop-file-utils, wrapGAppsHook }:
|
{ lib, stdenv, fetchurl, intltool, libxml2, pkg-config, gnome, libchamplain, gdl, wrapGAppsHook }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gpx-viewer";
|
pname = "gpx-viewer";
|
||||||
|
|
|
@ -4,13 +4,13 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "gpxsee";
|
pname = "gpxsee";
|
||||||
version = "11.5";
|
version = "11.6";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "tumic0";
|
owner = "tumic0";
|
||||||
repo = "GPXSee";
|
repo = "GPXSee";
|
||||||
rev = version;
|
rev = version;
|
||||||
hash = "sha256-bA5C+BFqeOS0oFgz/qlYOFMsuh3L/U6QJbzOcRQkNhY=";
|
hash = "sha256-kwEltkLcMCZlUJyE+nyy70WboVO1FgMw0cH1hxLVtKQ=";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = (substituteAll {
|
patches = (substituteAll {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{ lib, stdenv, pkgs
|
{ lib, stdenv, pkgs
|
||||||
, glib, gnome, gtk3, gtksourceview3, gtkspell3, poppler, texlive
|
, glib, gtk3, gtksourceview3, gtkspell3, poppler, texlive
|
||||||
, pkg-config, intltool, autoreconfHook, wrapGAppsHook
|
, pkg-config, intltool, autoreconfHook, wrapGAppsHook
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, fetchFromGitHub, python3, fetchpatch }:
|
{ lib, fetchFromGitHub, python3 }:
|
||||||
|
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, writeScript, callPackage, buildFHSUserEnv, undaemonize, unwrapped ? callPackage ./runtime.nix {} }:
|
{ lib, stdenv, writeScript, callPackage, buildFHSUserEnv, unwrapped ? callPackage ./runtime.nix {} }:
|
||||||
|
|
||||||
buildFHSUserEnv rec {
|
buildFHSUserEnv rec {
|
||||||
name = "houdini-${unwrapped.version}";
|
name = "houdini-${unwrapped.version}";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, stdenv, runCommand, fetchzip, fetchurl, fetchpatch, fetchFromGitHub
|
{ lib, stdenv, runCommand, fetchzip, fetchurl, fetchFromGitHub
|
||||||
, cmake, pkg-config, zlib, libpng, makeWrapper
|
, cmake, pkg-config, zlib, libpng, makeWrapper
|
||||||
, enableGSL ? true, gsl
|
, enableGSL ? true, gsl
|
||||||
, enableGhostScript ? true, ghostscript
|
, enableGhostScript ? true, ghostscript
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ mkDerivation
|
{ mkDerivation
|
||||||
, extra-cmake-modules
|
, extra-cmake-modules
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, kdoctools
|
|
||||||
, kiconthemes
|
, kiconthemes
|
||||||
, kio
|
, kio
|
||||||
, kjobwidgets
|
, kjobwidgets
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
{ lib, mkDerivation, fetchFromGitHub
|
{ lib, mkDerivation, fetchFromGitHub
|
||||||
, callPackage
|
, callPackage
|
||||||
, pkg-config
|
, pkg-config
|
||||||
, makeWrapper
|
|
||||||
, qmake
|
, qmake
|
||||||
, qtbase
|
, qtbase
|
||||||
, qtwebengine
|
, qtwebengine
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchFromGitHub
|
{ stdenv, fetchFromGitHub
|
||||||
, meson, ninja, pkg-config
|
, meson, ninja, pkg-config
|
||||||
, python3
|
, python3
|
||||||
, curl
|
, curl
|
||||||
|
@ -11,7 +11,6 @@
|
||||||
, gtest
|
, gtest
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "kiwix-lib";
|
pname = "kiwix-lib";
|
||||||
version = "10.1.1";
|
version = "10.1.1";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchurl, fetchpatch, pkg-config, freetype, harfbuzz, openjpeg
|
{ stdenv, lib, fetchurl, pkg-config, freetype, harfbuzz, openjpeg
|
||||||
, jbig2dec, libjpeg , darwin
|
, jbig2dec, libjpeg , darwin
|
||||||
, enableX11 ? true, libX11, libXext, libXi, libXrandr
|
, enableX11 ? true, libX11, libXext, libXi, libXrandr
|
||||||
, enableCurl ? true, curl, openssl
|
, enableCurl ? true, curl, openssl
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
let
|
let
|
||||||
inherit (stdenv.hostPlatform) system;
|
inherit (stdenv.hostPlatform) system;
|
||||||
pname = "obsidian";
|
pname = "obsidian";
|
||||||
version = "0.15.9";
|
version = "1.0.0";
|
||||||
appname = "Obsidian";
|
appname = "Obsidian";
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
|
description = "A powerful knowledge base that works on top of a local folder of plain text Markdown files";
|
||||||
|
@ -25,7 +25,7 @@ let
|
||||||
filename = if stdenv.isDarwin then "Obsidian-${version}-universal.dmg" else "obsidian-${version}.tar.gz";
|
filename = if stdenv.isDarwin then "Obsidian-${version}-universal.dmg" else "obsidian-${version}.tar.gz";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
|
url = "https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/${filename}";
|
||||||
sha256 = if stdenv.isDarwin then "1q9almr8k1i2wzksd09libgnvypj5k9j15y6cxg4rgnw32fa152n" else "sha256-Qz1Ic5FtxXIk8J/2spNZaqpPIgx3yNyXiAQllbVrGjw=";
|
sha256 = if stdenv.isDarwin then "sha256-KVWqdXzbQT93Dj4yesdnfFwAdYin1vfpPsj/ur1AGA0=" else "sha256-H1Cl9SBz/mwN8gezFkcV4KxI7+xVjQV2AtyLKyjVpI8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
icon = fetchurl {
|
icon = fetchurl {
|
||||||
|
|
|
@ -14,13 +14,13 @@ let
|
||||||
in
|
in
|
||||||
mkDerivation rec {
|
mkDerivation rec {
|
||||||
pname = "osmscout-server";
|
pname = "osmscout-server";
|
||||||
version = "2.1.2";
|
version = "2.2.2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "rinigus";
|
owner = "rinigus";
|
||||||
repo = "osmscout-server";
|
repo = "osmscout-server";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-I14nQL0H2rMga+RDdAjykqmf7QIZveA6oGWu5PfZ89s=";
|
sha256 = "sha256-ngB3c6rUQ/+AeaJHKAFRl9lCkUobLWSnsn030brB+Bw=";
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
62
pkgs/applications/misc/pattypan/default.nix
Normal file
62
pkgs/applications/misc/pattypan/default.nix
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchFromGitHub
|
||||||
|
, unzip
|
||||||
|
, jre
|
||||||
|
, jdk
|
||||||
|
, ant
|
||||||
|
, makeWrapper
|
||||||
|
, makeDesktopItem
|
||||||
|
, copyDesktopItems
|
||||||
|
, glib
|
||||||
|
, wrapGAppsHook
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "pattypan";
|
||||||
|
version = "22.03";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "yarl";
|
||||||
|
repo = "pattypan";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0qmvlcqhqw5k500v2xdakk340ymgv5amhbfqxib5s4db1w32pi60";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ copyDesktopItems jdk ant makeWrapper wrapGAppsHook ];
|
||||||
|
buildInputs = [ glib jre ];
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
runHook preBuild
|
||||||
|
export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8"
|
||||||
|
ant
|
||||||
|
runHook postBuild
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
mkdir -p $out/bin $out/share/java
|
||||||
|
cp pattypan.jar $out/share/java/pattypan.jar
|
||||||
|
makeWrapper ${jre}/bin/java $out/bin/pattypan \
|
||||||
|
--add-flags "-cp $out/share/java/pattypan.jar pattypan.Launcher"
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
desktopName = "Pattypan";
|
||||||
|
genericName = "An uploader for Wikimedia Commons";
|
||||||
|
categories = [ "Utility" ];
|
||||||
|
exec = "pattypan";
|
||||||
|
name = "pattypan";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://commons.wikimedia.org/wiki/Commons:Pattypan";
|
||||||
|
description = "An uploader for Wikimedia Commons";
|
||||||
|
license = licenses.mit;
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
maintainers = with maintainers; [ fee1-dead ];
|
||||||
|
};
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue