Project import generated by Copybara.

GitOrigin-RevId: 257cbbcd3ab7bd96f5d24d50adc807de7c82e06d
This commit is contained in:
Default email 2021-01-09 11:05:03 +01:00
parent b6c89abf62
commit 2969ca571a
626 changed files with 12409 additions and 7494 deletions

View file

@ -220,3 +220,6 @@
/pkgs/development/compilers/go @kalbasit @Mic92 @zowoq
/pkgs/development/go-modules @kalbasit @Mic92 @zowoq
/pkgs/development/go-packages @kalbasit @Mic92 @zowoq
# Cinnamon
/pkgs/desktops/cinnamon @mkg20001

View file

@ -1,40 +1,77 @@
# Coq {#sec-language-coq}
# Coq and coq packages {#sec-language-coq}
Coq libraries should be installed in `$(out)/lib/coq/${coq.coq-version}/user-contrib/`. Such directories are automatically added to the `$COQPATH` environment variable by the hook defined in the Coq derivation.
## Coq derivation: `coq`
Some extensions (plugins) might require OCaml and sometimes other OCaml packages. The `coq.ocamlPackages` attribute can be used to depend on the same package set Coq was built against.
The Coq derivation is overridable through the `coq.override overrides`, where overrides is an attribute set which contains the arguments to override. We recommend overriding either of the following
+ `version` (optional, defaults to the latest version of Coq selected for nixpkgs, see `pkgs/top-level/coq-packages` to witness this choice), which follows the conventions explained in the `coqPackages` section below,
+ `customOCamlPackage` (optional, defaults to `null`, which lets Coq choose a version automatically), which can be set to any of the ocaml packages attribute of `ocaml-ng` (such as `ocaml-ng.ocamlPackages_4_10` which is the default for Coq 8.11 for example).
+ `coq-version` (optional, defaults to the short version e.g. "8.10"), is a version number of the form "x.y" that indicates which Coq's version build behavior to mimic when using a source which is not a release. E.g. `coq.override { version = "d370a9d1328a4e1cdb9d02ee032f605a9d94ec7a"; coq-version = "8.10"; }`.
Coq libraries may be compatible with some specific versions of Coq only. The `compatibleCoqVersions` attribute is used to precisely select those versions of Coq that are compatible with this derivation.
## Coq packages attribute sets: `coqPackages`
Here is a simple package example. It is a pure Coq library, thus it depends on Coq. It builds on the Mathematical Components library, thus it also takes `mathcomp` as `buildInputs`. Its `Makefile` has been generated using `coq_makefile` so we only have to set the `$COQLIB` variable at install time.
The recommended way of defining a derivation for a Coq library, is to use the `coqPackages.mkCoqDerivation` function, which is essentially a specialization of `mkDerivation` taking into account most of the specifics of Coq libraries. The following attributes are supported:
- `pname` (required) is the name of the package,
- `version` (optional, defaults to `null`), is the version to fetch and build,
this attribute is interpreted in several ways depending on its type and pattern:
+ if it is a known released version string, i.e. from the `release` attribute below, the according release is picked, and the `version` attribute of the resulting derivation is set to this release string,
+ if it is a majorMinor `"x.y"` prefix of a known released version (as defined above), then the latest `"x.y.z"` known released version is selected (for the ordering given by `versionAtLeast`),
+ if it is a path or a string representing an absolute path (i.e. starting with `"/"`), the provided path is selected as a source, and the `version` attribute of the resulting derivation is set to `"dev"`,
+ if it is a string of the form `owner:branch` then it tries to download the `branch` of owner `owner` for a project of the same name using the same vcs, and the `version` attribute of the resulting derivation is set to `"dev"`, additionally if the owner is not provided (i.e. if the `owner:` prefix is missing), it defaults to the original owner of the package (see below),
+ if it is a string of the form `"#N"`, and the domain is github, then it tries to download the current head of the pull request `#N` from github,
- `defaultVersion` (optional). Coq libraries may be compatible with some specific versions of Coq only. The `defaultVersion` attribute is used when no `version` is provided (or if `version = null`) to select the version of the library to use by default, depending on the context. This selection will mainly depend on a `coq` version number but also possibly on other packages versions (e.g. `mathcomp`). If its value ends up to be `null`, the package is marked for removal in end-user `coqPackages` attribute set.
- `release` (optional, defaults to `{}`), lists all the known releases of the library and for each of them provides an attribute set with at least a `sha256` attribute (you may use the shell command `nix-prefetch-url --unpack <archive-url>` to find it, where `<archive-url>` is for example `https://github.com/owner/repo/archive/version.tar.gz`), each attribute set of the list of releases also takes optional overloading arguments for the fetcher as below (i.e.`domain`, `owner`, `repo`, `rev` assuming the default fetcher is used) and optional overrides for the result of the fetcher (i.e. `version` and `src`).
- `fetcher` (optional, default to a generic fetching mechanism supporting github or gitlab based infrastructures), is a function that takes at least an `owner`, a `repo`, a `rev`, and a `sha256` and returns an attribute set with a `version` and `src`.
- `repo` (optional, defaults to the value of `pname`),
- `owner` (optional, defaults to `"coq-community"`).
- `domain` (optional, defaults to `"github.com"`), domains including the strings `"github"` or `"gitlab"` in their names are automatically supported, otherwise, one must change the `fetcher` argument to support them (cf `pkgs/development/coq-modules/heq/default.nix` for an example),
- `releaseRev` (optional, defaults to `(v: v)`), provides a default mapping from release names to revision hashes/branch names/tags,
- `displayVersion` (optional), provides a way to alter the computation of `name` from `pname`, by explaining how to display version numbers,
- `namePrefix` (optional), provides a way to alter the computation of `name` from `pname`, by explaining which dependencies must occur in `name`,
- `extraBuildInputs` (optional), by default `buildInputs` just contains `coq`, this allows to add more build inputs,
- `mlPlugin` (optional, defaults to `false`). Some extensions (plugins) might require OCaml and sometimes other OCaml packages. Standard dependencies can be added by setting the current option to `true`. For a finer grain control, the `coq.ocamlPackages` attribute can be used in `extraBuildInputs` to depend on the same package set Coq was built against.
- `enableParallelBuilding` (optional, defaults to `true`), since it is activated by default, we provide a way to disable it.
- `extraInstallFlags` (optional), allows to extend `installFlags` which initializes the variable `COQMF_COQLIB` so as to install in the proper subdirectory. Indeed Coq libraries should be installed in `$(out)/lib/coq/${coq.coq-version}/user-contrib/`. Such directories are automatically added to the `$COQPATH` environment variable by the hook defined in the Coq derivation.
- `setCOQBIN` (optional, defaults to `true`), by default, the environment variable `$COQBIN` is set to the current Coq's binary, but one can disable this behavior by setting it to `false`,
- `useMelquiondRemake` (optional, default to `null`) is an attribute set, which, if given, overloads the `preConfigurePhases`, `configureFlags`, `buildPhase`, and `installPhase` attributes of the derivation for a specific use in libraries using `remake` as set up by Guillaume Melquiond for `flocq`, `gappalib`, `interval`, and `coquelicot` (see the corresponding derivation for concrete examples of use of this option). For backward compatibility, the attribute `useMelquiondRemake.logpath` must be set to the logical root of the library (otherwise, one can pass `useMelquiondRemake = {}` to activate this without backward compatibility).
- `dropAttrs`, `keepAttrs`, `dropDerivationAttrs` are all optional and allow to tune which attribute is added or removed from the final call to `mkDerivation`.
It also takes other standard `mkDerivation` attributes, they are added as such, except for `meta` which extends an automatically computed `meta` (where the `platform` is the same as `coq` and the homepage is automatically computed).
Here is a simple package example. It is a pure Coq library, thus it depends on Coq. It builds on the Mathematical Components library, thus it also takes some `mathcomp` derivations as `extraBuildInputs`.
```nix
{ stdenv, fetchFromGitHub, coq, mathcomp }:
stdenv.mkDerivation rec {
name = "coq${coq.coq-version}-multinomials-${version}";
version = "1.0";
src = fetchFromGitHub {
{ coq, mkCoqDerivation, mathcomp, mathcomp-finmap, mathcomp-bigenough,
lib, version ? null }:
with lib; mkCoqDerivation {
/* namePrefix leads to e.g. `name = coq8.11-mathcomp1.11-multinomials-1.5.2` */
namePrefix = [ "coq" "mathcomp" ];
pname = "multinomials";
owner = "math-comp";
repo = "multinomials";
rev = version;
sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m";
inherit version;
defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
{ cases = [ (range "8.7" "8.12") "1.11.0" ]; out = "1.5.2"; }
{ cases = [ (range "8.7" "8.11") (range "1.8" "1.10") ]; out = "1.5.0"; }
{ cases = [ (range "8.7" "8.10") (range "1.8" "1.10") ]; out = "1.4"; }
{ cases = [ "8.6" (range "1.6" "1.7") ]; out = "1.1"; }
] null;
release = {
"1.5.2".sha256 = "15aspf3jfykp1xgsxf8knqkxv8aav2p39c2fyirw7pwsfbsv2c4s";
"1.5.1".sha256 = "13nlfm2wqripaq671gakz5mn4r0xwm0646araxv0nh455p9ndjs3";
"1.5.0".sha256 = "064rvc0x5g7y1a0nip6ic91vzmq52alf6in2bc2dmss6dmzv90hw";
"1.5.0".rev = "1.5";
"1.4".sha256 = "0vnkirs8iqsv8s59yx1fvg1nkwnzydl42z3scya1xp1b48qkgn0p";
"1.3".sha256 = "0l3vi5n094nx3qmy66hsv867fnqm196r8v605kpk24gl0aa57wh4";
"1.2".sha256 = "1mh1w339dslgv4f810xr1b8v2w7rpx6fgk9pz96q0fyq49fw2xcq";
"1.1".sha256 = "1q8alsm89wkc0lhcvxlyn0pd8rbl2nnxg81zyrabpz610qqjqc3s";
"1.0".sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m";
};
buildInputs = [ coq ];
propagatedBuildInputs = [ mathcomp ];
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
propagatedBuildInputs =
[ mathcomp.ssreflect mathcomp.algebra mathcomp-finmap mathcomp-bigenough ];
meta = {
description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials";
inherit (src.meta) homepage;
license = stdenv.lib.licenses.cecill-b;
inherit (coq.meta) platforms;
};
passthru = {
compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
license = licenses.cecill-c;
};
}
```

View file

@ -39,6 +39,11 @@
modules = modules ++ [
./nixos/modules/virtualisation/qemu-vm.nix
{ virtualisation.useBootLoader = true; }
({ config, ... }: {
virtualisation.useEFIBoot =
config.boot.loader.systemd-boot.enable ||
config.boot.loader.efi.canTouchEfiVariables;
})
];
})).config;
in

View file

@ -1162,6 +1162,12 @@
githubId = 37907;
name = "Julian Stecklina";
};
bloomvdomino = {
name = "Laura Fäßler";
email = "0x@ytex.de";
github = "bloomvdomino";
githubId = 33204710;
};
bluescreen303 = {
email = "mathijs@bluescreen303.nl";
github = "bluescreen303";
@ -4648,6 +4654,12 @@
githubId = 2029444;
name = "James Kent";
};
ketzacoatl = {
email = "ketzacoatl@protonmail.com";
github = "ketzacoatl";
githubId = 10122937;
name = "ketzacoatl";
};
kevincox = {
email = "kevincox@kevincox.ca";
github = "kevincox";
@ -7983,6 +7995,12 @@
githubId = 720864;
name = "Sébastien Bourdeauducq";
};
sbond75 = {
name = "sbond75";
email = "43617712+sbond75@users.noreply.github.com";
github = "sbond75";
githubId = 43617712;
};
sboosali = {
email = "SamBoosalis@gmail.com";
github = "sboosali";
@ -8837,6 +8855,12 @@
githubId = 2389333;
name = "Andy Tockman";
};
Technical27 = {
email = "38222826+Technical27@users.noreply.github.com";
github = "Technical27";
githubId = 38222826;
name = "Aamaruvi Yogamani";
};
teh = {
email = "tehunger@gmail.com";
github = "teh";
@ -10174,6 +10198,16 @@
github = "ymarkus";
githubId = 62380378;
};
ymatsiuk = {
name = "Yurii Matsiuk";
email = "ymatsiuk@users.noreply.github.com";
github = "ymatsiuk";
githubId = 24990891;
keys = [{
longkeyid = "rsa4096/0x61302290298601AA";
fingerprint = "7BB8 84B5 74DA FDB1 E194 ED21 6130 2290 2986 01AA";
}];
};
ymeister = {
name = "Yuri Meister";
email = "47071325+ymeister@users.noreply.github.com";

View file

@ -0,0 +1,67 @@
{ maintainer }:
let
pkgs = import ./../../default.nix { };
maintainer_ = pkgs.lib.maintainers.${maintainer};
packagesWith = cond: return: prefix: set:
(pkgs.lib.flatten
(pkgs.lib.mapAttrsToList
(name: pkg:
let
result = builtins.tryEval
(
if pkgs.lib.isDerivation pkg && cond name pkg then
# Skip packages whose closure fails on evaluation.
# This happens for pkgs like `python27Packages.djangoql`
# that have disabled Python pkgs as dependencies.
builtins.seq pkg.outPath
[ (return "${prefix}${name}") ]
else if pkg.recurseForDerivations or false || pkg.recurseForRelease or false
# then packagesWith cond return pkg
then packagesWith cond return "${name}." pkg
else [ ]
);
in
if result.success then result.value
else [ ]
)
set
)
);
packages = packagesWith
(name: pkg:
(
if builtins.hasAttr "meta" pkg && builtins.hasAttr "maintainers" pkg.meta
then
(
if builtins.isList pkg.meta.maintainers
then builtins.elem maintainer_ pkg.meta.maintainers
else maintainer_ == pkg.meta.maintainers
)
else false
)
)
(name: name)
("")
pkgs;
in
pkgs.stdenv.mkDerivation {
name = "nixpkgs-update-script";
buildCommand = ''
echo ""
echo "----------------------------------------------------------------"
echo ""
echo "nix-shell maintainers/scripts/check-hydra-by-maintainer.nix --argstr maintainer SuperSandro2000"
echo ""
echo "----------------------------------------------------------------"
exit 1
'';
shellHook = ''
unset shellHook # do not contaminate nested shells
echo "Please stand by"
echo nix-shell -p hydra-check --run "hydra-check ${builtins.concatStringsSep " " packages}"
nix-shell -p hydra-check --run "hydra-check ${builtins.concatStringsSep " " packages}"
exit $?
'';
}

View file

@ -36,6 +36,14 @@ with lib.maintainers; {
scope = "Maintain Cinnamon desktop environment and applications made by the LinuxMint team.";
};
deshaw = {
# Verify additions to this team with at least one already existing member of the team.
members = [
limeytexan
];
scope = "Group registration for D. E. Shaw employees who collectively maintain packages.";
};
freedesktop = {
members = [ jtojnar worldofpeace ];
scope = "Maintain Freedesktop.org packages for graphical desktop.";

View file

@ -22,6 +22,11 @@ let
[ configuration
./modules/virtualisation/qemu-vm.nix
{ virtualisation.useBootLoader = true; }
({ config, ... }: {
virtualisation.useEFIBoot =
config.boot.loader.systemd-boot.enable ||
config.boot.loader.efi.canTouchEfiVariables;
})
];
}).config;

View file

@ -144,6 +144,7 @@ in
"/share/kservicetypes5"
"/share/kxmlgui5"
"/share/systemd"
"/share/thumbnailers"
];
system.path = pkgs.buildEnv {

View file

@ -5,6 +5,8 @@ let
cfg = config.hardware.opentabletdriver;
in
{
meta.maintainers = with lib.maintainers; [ thiagokokada ];
options = {
hardware.opentabletdriver = {
enable = mkOption {

View file

@ -0,0 +1,23 @@
{ config, pkgs, lib, ... }:
with lib;
{
options = {
programs.appgate-sdp = {
enable = mkEnableOption
"AppGate SDP VPN client";
};
};
config = mkIf config.programs.appgate-sdp.enable {
boot.kernelModules = [ "tun" ];
environment.systemPackages = [ pkgs.appgate-sdp ];
services.dbus.packages = [ pkgs.appgate-sdp ];
systemd = {
packages = [ pkgs.appgate-sdp ];
# https://github.com/NixOS/nixpkgs/issues/81138
services.appgatedriver.wantedBy = [ "multi-user.target" ];
};
};
}

View file

@ -10,6 +10,14 @@ let
gid = config.ids.gids.mpd;
cfg = config.services.mpd;
credentialsPlaceholder = (creds:
let
placeholders = (imap0
(i: c: ''password "{{password-${toString i}}}@${concatStringsSep "," c.permissions}"'')
creds);
in
concatStringsSep "\n" placeholders);
mpdConf = pkgs.writeText "mpd.conf" ''
# This file was automatically generated by NixOS. Edit mpd's configuration
# via NixOS' configuration.nix, as this file will be rewritten upon mpd's
@ -32,6 +40,8 @@ let
}
''}
${credentialsPlaceholder cfg.credentials}
${cfg.extraConfig}
'';
@ -152,16 +162,35 @@ in {
'';
};
credentialsFile = mkOption {
credentials = mkOption {
type = types.listOf (types.submodule {
options = {
passwordFile = mkOption {
type = types.path;
description = ''
Path to a file to be merged with the settings during the service startup.
Useful to merge a file which is better kept out of the Nix store
because it contains sensible data like MPD's password. Example may look like this:
<literal>password "myMpdPassword@read,add,control,admin"</literal>
Path to file containing the password.
'';
default = "/dev/null";
example = "/var/lib/secrets/mpd.conf";
};
permissions = let
perms = ["read" "add" "control" "admin"];
in mkOption {
type = types.listOf (types.enum perms);
default = [ "read" ];
description = ''
List of permissions that are granted with this password.
Permissions can be "${concatStringsSep "\", \"" perms}".
'';
};
};
});
description = ''
Credentials and permissions for accessing the mpd server.
'';
default = [];
example = [
{passwordFile = "/var/lib/secrets/mpd_readonly_password"; permissions = [ "read" ];}
{passwordFile = "/var/lib/secrets/mpd_admin_password"; permissions = ["read" "add" "control" "admin"];}
];
};
fluidsynth = mkOption {
@ -201,12 +230,15 @@ in {
serviceConfig = mkMerge [
{
User = "${cfg.user}";
ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon /etc/mpd.conf";
ExecStartPre = pkgs.writeScript "mpd-start-pre" ''
#!${pkgs.runtimeShell}
ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon /run/mpd/mpd.conf";
ExecStartPre = pkgs.writeShellScript "mpd-start-pre" ''
set -euo pipefail
cat ${mpdConf} ${cfg.credentialsFile} > /etc/mpd.conf
install -m 600 ${mpdConf} /run/mpd/mpd.conf
${pkgs.replace}/bin/replace-literal -fe ${
concatStringsSep " -a " (imap0 (i: c: "\"{{password-${toString i}}}\" \"$(cat ${c.passwordFile})\"") cfg.credentials)
} /run/mpd/mpd.conf
'';
RuntimeDirectory = "mpd";
Type = "notify";
LimitRTPRIO = 50;
LimitRTTIME = "infinity";
@ -230,14 +262,6 @@ in {
})
];
};
environment.etc."mpd.conf" = {
mode = "0640";
group = cfg.group;
user = cfg.user;
# To be modified by the service' ExecStartPre
text = ''
'';
};
users.users = optionalAttrs (cfg.user == name) {
${name} = {

View file

@ -4,31 +4,16 @@ with lib;
let
cfg = config.services.redis;
redisBool = b: if b then "yes" else "no";
condOption = name: value: if value != null then "${name} ${toString value}" else "";
redisConfig = pkgs.writeText "redis.conf" ''
port ${toString cfg.port}
${condOption "bind" cfg.bind}
${condOption "unixsocket" cfg.unixSocket}
daemonize no
supervised systemd
loglevel ${cfg.logLevel}
logfile ${cfg.logfile}
syslog-enabled ${redisBool cfg.syslog}
databases ${toString cfg.databases}
${concatMapStrings (d: "save ${toString (builtins.elemAt d 0)} ${toString (builtins.elemAt d 1)}\n") cfg.save}
dbfilename dump.rdb
dir /var/lib/redis
${if cfg.slaveOf != null then "slaveof ${cfg.slaveOf.ip} ${toString cfg.slaveOf.port}" else ""}
${condOption "masterauth" cfg.masterAuth}
${condOption "requirepass" cfg.requirePass}
appendOnly ${redisBool cfg.appendOnly}
appendfsync ${cfg.appendFsync}
slowlog-log-slower-than ${toString cfg.slowLogLogSlowerThan}
slowlog-max-len ${toString cfg.slowLogMaxLen}
${cfg.extraConfig}
'';
mkValueString = value:
if value == true then "yes"
else if value == false then "no"
else generators.mkValueStringDefault { } value;
redisConfig = pkgs.writeText "redis.conf" (generators.toKeyValue {
listsAsDuplicateKeys = true;
mkKeyValue = generators.mkKeyValueDefault { inherit mkValueString; } " ";
} cfg.settings);
in
{
imports = [
@ -37,6 +22,7 @@ in
(mkRemovedOptionModule [ "services" "redis" "dbFilename" ] "The redis module now uses /var/lib/redis/dump.rdb as database dump location.")
(mkRemovedOptionModule [ "services" "redis" "appendOnlyFilename" ] "This option was never used.")
(mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.")
(mkRemovedOptionModule [ "services" "redis" "extraConfig" ] "Use services.redis.settings instead.")
];
###### interface
@ -191,10 +177,20 @@ in
description = "Maximum number of items to keep in slow log.";
};
extraConfig = mkOption {
type = types.lines;
default = "";
description = "Extra configuration options for redis.conf.";
settings = mkOption {
type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
default = {};
description = ''
Redis configuration. Refer to
<link xlink:href="https://redis.io/topics/config"/>
for details on supported values.
'';
example = literalExample ''
{
unixsocketperm = "700";
loadmodule = [ "/path/to/my_module.so" "/path/to/other_module.so" ];
}
'';
};
};
@ -225,6 +221,30 @@ in
environment.systemPackages = [ cfg.package ];
services.redis.settings = mkMerge [
{
port = cfg.port;
daemonize = false;
supervised = "systemd";
loglevel = cfg.logLevel;
logfile = cfg.logfile;
syslog-enabled = cfg.syslog;
databases = cfg.databases;
save = map (d: "${toString (builtins.elemAt d 0)} ${toString (builtins.elemAt d 1)}") cfg.save;
dbfilename = "dump.rdb";
dir = "/var/lib/redis";
appendOnly = cfg.appendOnly;
appendfsync = cfg.appendFsync;
slowlog-log-slower-than = cfg.slowLogLogSlowerThan;
slowlog-max-len = cfg.slowLogMaxLen;
}
(mkIf (cfg.bind != null) { bind = cfg.bind; })
(mkIf (cfg.unixSocket != null) { unixsocket = cfg.unixSocket; })
(mkIf (cfg.slaveOf != null) { slaveof = "${cfg.slaveOf.ip} ${cfg.slaveOf.port}"; })
(mkIf (cfg.masterAuth != null) { masterauth = cfg.masterAuth; })
(mkIf (cfg.requirePass != null) { requirepass = cfg.requirePass; })
];
systemd.services.redis = {
description = "Redis Server";

View file

@ -93,11 +93,11 @@ in {
assertions = [
{
assertion = cfg.pulse.enable -> !config.hardware.pulseaudio.enable;
message = "PipeWire based PulseAudio server emulation replaces PulseAudio";
message = "PipeWire based PulseAudio server emulation replaces PulseAudio. This option requires `hardware.pulseaudio.enable` to be set to false";
}
{
assertion = cfg.jack.enable -> !config.services.jack.jackd.enable;
message = "PipeWire based JACK emulation doesn't use the JACK service";
message = "PipeWire based JACK emulation doesn't use the JACK service. This option requires `services.jack.jackd.enable` to be set to false";
}
];

View file

@ -49,6 +49,11 @@ in {
default = "https://hoogle.haskell.org";
};
host = mkOption {
type = types.str;
description = "Set the host to bind on.";
default = "127.0.0.1";
};
};
config = mkIf cfg.enable {
@ -59,7 +64,7 @@ in {
serviceConfig = {
Restart = "always";
ExecStart = ''${hoogleEnv}/bin/hoogle server --local --port ${toString cfg.port} --home ${cfg.home}'';
ExecStart = ''${hoogleEnv}/bin/hoogle server --local --port ${toString cfg.port} --home ${cfg.home} --host ${cfg.host}'';
DynamicUser = true;

View file

@ -367,7 +367,7 @@ in {
mailman-web-setup = {
description = "Prepare mailman-web files and database";
before = [ "uwsgi.service" "mailman-uwsgi.service" ];
before = [ "mailman-uwsgi.service" ];
requiredBy = [ "mailman-uwsgi.service" ];
restartTriggers = [ config.environment.etc."mailman3/settings.py".source ];
script = ''

View file

@ -901,7 +901,6 @@ in
} // optionalAttrs cfg.client.dns.enable {
DNSPort = [{ addr = "127.0.0.1"; port = 9053; }];
AutomapHostsOnResolve = true;
AutomapHostsSuffixes = cfg.client.dns.automapHostsSuffixes;
} // optionalAttrs (flatten (mapAttrsToList (n: o: o.clientAuthorizations) cfg.client.onionServices) != []) {
ClientOnionAuthDir = runDir + "/ClientOnionAuthDir";
}

View file

@ -3,9 +3,19 @@
with lib;
let
cfg = config.services.getty;
autologinArg = optionalString (config.services.getty.autologinUser != null) "--autologin ${config.services.getty.autologinUser}";
gettyCmd = extraArgs: "@${pkgs.util-linux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}";
loginArgs = [
"--login-program" "${pkgs.shadow}/bin/login"
] ++ optionals (cfg.autologinUser != null) [
"--autologin" cfg.autologinUser
] ++ optionals (cfg.loginOptions != null) [
"--login-options" cfg.loginOptions
];
gettyCmd = extraArgs:
"@${pkgs.util-linux}/sbin/agetty agetty ${escapeShellArgs loginArgs} "
+ extraArgs;
in
@ -30,6 +40,23 @@ in
'';
};
loginOptions = mkOption {
type = types.nullOr types.str;
default = null;
description = ''
Template for arguments to be passed to
<citerefentry><refentrytitle>login</refentrytitle>
<manvolnum>1</manvolnum></citerefentry>.
See <citerefentry><refentrytitle>agetty</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> for details,
including security considerations. If unspecified, agetty
will not be invoked with a <option>--login-options</option>
option.
'';
example = "-h darkstar -- \u";
};
greetingLine = mkOption {
type = types.str;
description = ''

View file

@ -10,6 +10,10 @@
<link linkend="opt-services.nextcloud.enable">services.nextcloud</link>. A
desktop client is packaged at <literal>pkgs.nextcloud-client</literal>.
</para>
<para>
The current default by NixOS is <package>nextcloud20</package> which is also the latest
major version available.
</para>
<section xml:id="module-services-nextcloud-basic-usage">
<title>Basic usage</title>
@ -210,7 +214,7 @@
nextcloud17 = generic {
version = "17.0.x";
sha256 = "0000000000000000000000000000000000000000000000000000";
insecure = true;
eol = true;
};
}</programlisting>
</para>

View file

@ -206,6 +206,12 @@ let
${cfg.httpConfig}
}''}
${optionalString (cfg.streamConfig != "") ''
stream {
${cfg.streamConfig}
}
''}
${cfg.appendConfig}
'';
@ -483,6 +489,21 @@ in
";
};
streamConfig = mkOption {
type = types.lines;
default = "";
example = ''
server {
listen 127.0.0.1:53 udp reuseport;
proxy_timeout 20s;
proxy_pass 192.168.0.1:53535;
}
'';
description = "
Configuration lines to be set inside the stream block.
";
};
eventsConfig = mkOption {
type = types.lines;
default = "";

View file

@ -30,7 +30,13 @@ with lib;
config = {
systemd.additionalUpstreamSystemUnits = optional config.boot.tmpOnTmpfs "tmp.mount";
systemd.mounts = mkIf config.boot.tmpOnTmpfs [
{
what = "tmpfs";
where = "/tmp";
mountConfig.Options = [ "mode=1777" "strictatime" "rw" "nosuid" "nodev" "size=50%" ];
}
];
systemd.tmpfiles.rules = optional config.boot.cleanTmpDir "D! /tmp 1777 root root";

View file

@ -100,6 +100,10 @@ in
packages = [ cfg.lxcPackage ];
};
# TODO: remove once LXD gets proper support for cgroupsv2
# (currently most of the e.g. CPU accounting stuff doesn't work)
systemd.enableUnifiedCgroupHierarchy = false;
systemd.services.lxd = {
description = "LXD Container Management Daemon";

View file

@ -1,6 +1,8 @@
{ config, lib, pkgs, utils, ... }:
let
cfg = config.virtualisation.podman;
toml = pkgs.formats.toml { };
nvidia-docker = pkgs.nvidia-docker.override { containerRuntimePath = "${pkgs.runc}/bin/runc"; };
inherit (lib) mkOption types;
@ -53,6 +55,14 @@ in
'';
};
enableNvidia = mkOption {
type = types.bool;
default = false;
description = ''
Enable use of NVidia GPUs from within podman containers.
'';
};
extraPackages = mkOption {
type = with types; listOf package;
default = [ ];
@ -78,21 +88,37 @@ in
};
config = lib.mkIf cfg.enable {
config = lib.mkIf cfg.enable (lib.mkMerge [
{
environment.systemPackages = [ cfg.package ]
++ lib.optional cfg.dockerCompat dockerCompat;
environment.etc."cni/net.d/87-podman-bridge.conflist".source = utils.copyFile "${pkgs.podman-unwrapped.src}/cni/87-podman-bridge.conflist";
# Enable common /etc/containers configuration
virtualisation.containers.enable = true;
assertions = [{
assertion = cfg.dockerCompat -> !config.virtualisation.docker.enable;
message = "Option dockerCompat conflicts with docker";
}];
virtualisation.containers = {
enable = true; # Enable common /etc/containers configuration
containersConf.extraConfig = lib.optionalString cfg.enableNvidia
(builtins.readFile (toml.generate "podman.nvidia.containers.conf" {
engine = {
conmon_env_vars = [ "PATH=${lib.makeBinPath [ nvidia-docker ]}" ];
runtimes.nvidia = [ "${nvidia-docker}/bin/nvidia-container-runtime" ];
};
}));
};
assertions = [
{
assertion = cfg.dockerCompat -> !config.virtualisation.docker.enable;
message = "Option dockerCompat conflicts with docker";
}
{
assertion = cfg.enableNvidia -> !config.virtualisation.docker.enableNvidia;
message = "Option enableNvidia conflicts with docker.enableNvidia";
}
];
}
(lib.mkIf cfg.enableNvidia {
environment.etc."nvidia-container-runtime/config.toml".source = "${nvidia-docker}/etc/podman-config.toml";
})
]);
}

View file

@ -281,6 +281,7 @@ in
openssh = handleTest ./openssh.nix {};
openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {};
openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {};
opentabletdriver = handleTest ./opentabletdriver.nix {};
image-contents = handleTest ./image-contents.nix {};
orangefs = handleTest ./orangefs.nix {};
os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {};

View file

@ -0,0 +1,27 @@
import ./make-test-python.nix ( { pkgs, ... }: {
name = "opentabletdriver";
meta = {
maintainers = with pkgs.stdenv.lib.maintainers; [ thiagokokada ];
};
machine = { pkgs, ... }:
{
imports = [
./common/user-account.nix
./common/x11.nix
];
test-support.displayManager.auto.user = "alice";
hardware.opentabletdriver.enable = true;
};
testScript =
''
machine.start()
machine.wait_for_x()
machine.wait_for_unit("opentabletdriver.service", "alice")
machine.succeed("cat /etc/udev/rules.d/30-opentabletdriver.rules")
# Will fail if service is not running
machine.succeed("otd detect")
'';
})

View file

@ -1,5 +1,6 @@
{ stdenv
, fetchurl
, pkg-config
, alsaLib
, audiofile
, libjack2
@ -9,9 +10,14 @@
, libsndfile
, lilv
, lv2
, ncurses
, readline
}:
# TODO: fix readline, ncurses, lilv, liblo, liboil and python. See configure log.
# TODO: fix python. See configure log.
# fix -Dnullptr=0 cludge below.
# The error is
# /nix/store/*-lilv-0.24.10/include/lilv-0/lilv/lilvmm.hpp:272:53: error: 'nullptr' was not declared in this scope
stdenv.mkDerivation rec {
pname = "ecasound";
@ -22,7 +28,34 @@ stdenv.mkDerivation rec {
sha256 = "1m7njfjdb7sqf0lhgc4swihgdr4snkg8v02wcly08wb5ar2fr2s6";
};
buildInputs = [ alsaLib audiofile libjack2 liblo liboil libsamplerate libsndfile lilv lv2 ];
nativeBuildInputs = [
pkg-config
];
buildInputs = [
alsaLib
audiofile
libjack2
liblo
liboil
libsamplerate
libsndfile
lilv
lv2
ncurses
readline
];
strictDeps = true;
configureFlags = "--enable-liblilv --with-extra-cppflags=-Dnullptr=0";
postPatch = ''
sed -i -e '
s@^#include <readline.h>@#include <readline/readline.h>@
s@^#include <history.h>@#include <readline/history.h>@
' ecasound/eca-curses.cpp
'';
meta = {
description = "Software package designed for multitrack audio processing";

View file

@ -1,6 +1,7 @@
{ lib
, mopidy
, python3Packages
, fetchpatch
}:
python3Packages.buildPythonApplication rec {
@ -21,6 +22,14 @@ python3Packages.buildPythonApplication rec {
python3Packages.pytestCheckHook
];
patches = [
# Fix tests for Mopidy≥3.1.0. Remove with the next release.
(fetchpatch {
url = "https://github.com/mopidy/mopidy-local/commit/f1d7598d3a9587f0823acb97ecb615f4f4817fd2.patch";
sha256 = "193kd5zwsr0qpp2y8icdy13vqpglmjdm7x1rw5hliwyq18a34vjp";
})
];
meta = with lib; {
homepage = "https://github.com/mopidy/mopidy-local";
description = "Mopidy extension for playing music from your local music archive";

View file

@ -4,13 +4,13 @@
pythonPackages.buildPythonApplication rec {
pname = "mopidy";
version = "3.0.2";
version = "3.1.1";
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy";
rev = "v${version}";
sha256 = "1n9lpgq0p112cjgsrc1cd6mnffk56y36g2c5skk9cqzw27qrkd15";
sha256 = "14m80z9spi2vhfs2bbff7ky80mr6bksl4550y17hwd7zpkid60za";
};
nativeBuildInputs = [ wrapGAppsHook ];

View file

@ -2,13 +2,13 @@
pythonPackages.buildPythonApplication rec {
pname = "mopidy-soundcloud";
version = "2.1.0";
version = "3.0.1";
src = fetchFromGitHub {
owner = "mopidy";
repo = "mopidy-soundcloud";
rev = "v${version}";
sha256 = "131qdm9i0j3ayff0js11qcmbjv50ws5s6iiqr6x5b66ymjl4scfv";
sha256 = "18wiiv4rca9vibvnc27f3q4apf8n61kbp7mdbm2pmz86qwmd47pa";
};
propagatedBuildInputs = [ mopidy ];

View file

@ -29,7 +29,7 @@ stdenv.mkDerivation {
description = "Lossless mp3 normalizer with statistical analysis";
homepage = "http://mp3gain.sourceforge.net/";
license = licenses.lgpl21;
platforms = platforms.linux;
platforms = platforms.unix;
maintainers = with maintainers; [ devhell ];
};
}

View file

@ -12,13 +12,13 @@ let
;
in pythonPackages.buildPythonApplication rec {
pname = "picard";
version = "2.5.5";
version = "2.5.6";
src = fetchFromGitHub {
owner = "metabrainz";
repo = pname;
rev = "release-${version}";
sha256 = "0i97cfnfgg4g13ms8x3bq279s4r7jckxxrv3sdz7dxpcn6gkw35s";
sha256 = "1mkbg44bm642mlpfxsdlw947var6a3sf9m6c897b4n0742hsdkbc";
};
nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ]

View file

@ -1,27 +1,34 @@
{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, python3, libxcb, AppKit, Security }:
{ stdenv, fetchFromGitHub, rustPlatform, installShellFiles, pkgconfig, openssl, python3, libxcb, AppKit, Security }:
rustPlatform.buildRustPackage rec {
pname = "spotify-tui";
version = "0.22.0";
version = "0.23.0";
src = fetchFromGitHub {
owner = "Rigellute";
repo = "spotify-tui";
rev = "v${version}";
sha256 = "0w1y37qh9n3936d59hvqzjz2878x2nwxqxc4s7mp4f9xqcfl0c5r";
sha256 = "082y5m2vglzx9kdc2088zynz0njcnljnb0y170igmlsxq9wkrgg2";
};
cargoSha256 = "1ri054p08si95x1gh2bkh4fk50ja79c5izzjnkvs0yhfj1wzbghi";
cargoSha256 = "100c7x603qyhav3p24clwfal4ngh0258x9lqsi84kcj4wq2f3i8f";
nativeBuildInputs = stdenv.lib.optionals stdenv.isLinux [ pkgconfig python3 ];
nativeBuildInputs = [ installShellFiles ] ++ stdenv.lib.optionals stdenv.isLinux [ pkgconfig python3 ];
buildInputs = [ ]
++ stdenv.lib.optionals stdenv.isLinux [ openssl libxcb ]
++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Security ];
postInstall = ''
for shell in bash fish zsh; do
$out/bin/spt --completions $shell > spt.$shell
installShellCompletion spt.$shell
done
'';
meta = with stdenv.lib; {
description = "Spotify for the terminal written in Rust";
homepage = "https://github.com/Rigellute/spotify-tui";
changelog = "https://github.com/Rigellute/spotify-tui/releases/tag/v${version}";
changelog = "https://github.com/Rigellute/spotify-tui/blob/v${version}/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ jwijenbergh ];
};

View file

@ -35,13 +35,13 @@
mkDerivation rec {
pname = "strawberry";
version = "0.8.4";
version = "0.8.5";
src = fetchFromGitHub {
owner = "jonaski";
repo = pname;
rev = version;
sha256 = "145djlfvbkx2b1wqipk51mz82dhm27vmh9x00lkn24q1xz1y6h5n";
sha256 = "sha256-+ZQ80J94Teqt4Gy6fw/pS7FwILK/TPehtJDy72Bdy1E=";
};
buildInputs = [

View file

@ -1,5 +1,4 @@
{ lib, python3Packages, gobject-introspection, gtk3, pango, wrapGAppsHook
, chromecastSupport ? false
, serverSupport ? false
, keyringSupport ? true
@ -51,6 +50,10 @@ python3Packages.buildPythonApplication rec {
# https://github.com/NixOS/nixpkgs/issues/56943
strictDeps = false;
# no tests
doCheck = false;
pythonImportsCheck = [ "sublime" ];
meta = with lib; {
description = "GTK3 Subsonic/Airsonic client";
homepage = "https://sublimemusic.app/";

View file

@ -13,11 +13,11 @@ let
in
stdenv.mkDerivation rec {
pname = "SunVox";
version = "1.9.5d";
version = "1.9.6c";
src = fetchurl {
url = "http://www.warmplace.ru/soft/sunvox/sunvox-${version}.zip";
sha256 = "04f7psm0lvc09nw7d2wp0sncf37bym2v7hhxp4v8c8gdgayj7k8m";
sha256 = "0lqzr68n2c6aifw2vbyars91wn1chmgb9xfdk463g4vjqiava3ih";
};
buildInputs = [ unzip ];

View file

@ -1,30 +1,117 @@
{ stdenv, fetchurl, alsaLib, cairo, cmake, libjack2, fftw, fltk13, lash, libjpeg
, libXpm, minixml, ntk, pkgconfig, zlib, liblo
{ lib
, stdenv
, fetchFromGitHub
, callPackage
# Required build tools
, cmake
, makeWrapper
, pkg-config
# Required dependencies
, fftw
, liblo
, minixml
, zlib
# Optional dependencies
, alsaSupport ? true
, alsaLib
, dssiSupport ? false
, dssi
, ladspaH
, jackSupport ? true
, libjack2
, lashSupport ? false
, lash
, ossSupport ? true
, portaudioSupport ? true
, portaudio
# Optional GUI dependencies
, guiModule ? "off"
, cairo
, fltk13
, libGL
, libjpeg
, libX11
, libXpm
, ntk
# Test dependencies
, cxxtest
}:
stdenv.mkDerivation rec {
assert builtins.any (g: guiModule == g) [ "fltk" "ntk" "zest" "off" ];
let
guiName = {
"fltk" = "FLTK";
"ntk" = "NTK";
"zest" = "Zyn-Fusion";
}.${guiModule};
mruby-zest = callPackage ./mruby-zest { };
in stdenv.mkDerivation rec {
pname = "zynaddsubfx";
version = "3.0.5";
src = fetchurl {
url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2";
sha256 = "0qwzg14h043rmyf9jqdylxhyfy4sl0vsr0gjql51wjhid0i34ivl";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "1vh1gszgjxwn8m32rk5222z1j2cnjax0bqpag7b47v6i36p2q4x8";
fetchSubmodules = true;
};
buildInputs = [ alsaLib cairo libjack2 fftw fltk13 lash libjpeg libXpm minixml ntk zlib liblo ];
nativeBuildInputs = [ cmake pkgconfig ];
patchPhase = ''
postPatch = ''
substituteInPlace src/Misc/Config.cpp --replace /usr $out
'';
hardeningDisable = [ "format" ];
nativeBuildInputs = [ cmake makeWrapper pkg-config ];
buildInputs = [ fftw liblo minixml zlib ]
++ lib.optionals alsaSupport [ alsaLib ]
++ lib.optionals dssiSupport [ dssi ladspaH ]
++ lib.optionals jackSupport [ libjack2 ]
++ lib.optionals lashSupport [ lash ]
++ lib.optionals portaudioSupport [ portaudio ]
++ lib.optionals (guiModule == "fltk") [ fltk13 libjpeg libXpm ]
++ lib.optionals (guiModule == "ntk") [ ntk cairo libXpm ]
++ lib.optionals (guiModule == "zest") [ libGL libX11 ];
cmakeFlags = [ "-DGuiModule=${guiModule}" ]
# OSS library is included in glibc.
# Must explicitly disable if support is not wanted.
++ lib.optional (!ossSupport) "-DOssEnable=OFF"
# Find FLTK without requiring an OpenGL library in buildInputs
++ lib.optional (guiModule == "fltk") "-DFLTK_SKIP_OPENGL=ON";
doCheck = true;
checkInputs = [ cxxtest ];
# When building with zest GUI, patch plugins
# and standalone executable to properly locate zest
postFixup = lib.optional (guiModule == "zest") ''
patchelf --set-rpath "${mruby-zest}:$(patchelf --print-rpath "$out/lib/lv2/ZynAddSubFX.lv2/ZynAddSubFX_ui.so")" \
"$out/lib/lv2/ZynAddSubFX.lv2/ZynAddSubFX_ui.so"
patchelf --set-rpath "${mruby-zest}:$(patchelf --print-rpath "$out/lib/vst/ZynAddSubFX.so")" \
"$out/lib/vst/ZynAddSubFX.so"
wrapProgram "$out/bin/zynaddsubfx" \
--prefix PATH : ${mruby-zest} \
--prefix LD_LIBRARY_PATH : ${mruby-zest}
'';
meta = with lib; {
description = "High quality software synthesizer (${guiName} GUI)";
homepage =
if guiModule == "zest"
then "https://zynaddsubfx.sourceforge.io/zyn-fusion.html"
else "https://zynaddsubfx.sourceforge.io";
meta = with stdenv.lib; {
description = "High quality software synthesizer";
homepage = "http://zynaddsubfx.sourceforge.net";
license = licenses.gpl2;
maintainers = with maintainers; [ goibhniu metadark ];
platforms = platforms.linux;
maintainers = [ maintainers.goibhniu maintainers.nico202 ];
};
}

View file

@ -0,0 +1,109 @@
{ stdenv
, fetchFromGitHub
, bison
, git
, python2
, rake
, ruby
, libGL
, libuv
, libX11
}:
let
mgem-list = fetchFromGitHub {
owner = "mruby";
repo = "mgem-list";
rev = "2033837203c8a141b1f9d23bb781fe0cbaefbd24";
sha256 = "0igf2nsx5i6g0yf7sjxxkngyriv213d0sjs3yidrflrabiywpxmm";
};
mruby-dir = fetchFromGitHub {
owner = "iij";
repo = "mruby-dir";
rev = "89dceefa1250fb1ae868d4cb52498e9e24293cd1";
sha256 = "0zrhiy9wmwmc9ls62iyb2z86j2ijqfn7rn4xfmrbrfxygczarsm9";
};
mruby-errno = fetchFromGitHub {
owner = "iij";
repo = "mruby-errno";
rev = "b4415207ff6ea62360619c89a1cff83259dc4db0";
sha256 = "12djcwjjw0fygai5kssxbfs3pzh3cpnq07h9m2h5b51jziw380xj";
};
mruby-file-stat = fetchFromGitHub {
owner = "ksss";
repo = "mruby-file-stat";
rev = "aa474589f065c71d9e39ab8ba976f3bea6f9aac2";
sha256 = "1clarmr67z133ivkbwla1a42wcjgj638j9w0mlv5n21mhim9rid5";
};
mruby-process = fetchFromGitHub {
owner = "iij";
repo = "mruby-process";
rev = "fe171fbe2a6cc3c2cf7d713641bddde71024f7c8";
sha256 = "00yrzc371f90gl5m1gbkw0qq8c394bpifssjr8p1wh5fmzhxqyml";
};
mruby-pack = fetchFromGitHub {
owner = "iij";
repo = "mruby-pack";
rev = "383a9c79e191d524a9a2b4107cc5043ecbf6190b";
sha256 = "003glxgxifk4ixl12sy4gn9bhwvgb79b4wga549ic79isgv81w2d";
};
in
stdenv.mkDerivation rec {
pname = "mruby-zest";
version = "3.0.5";
src = fetchFromGitHub {
owner = pname;
repo = "${pname}-build";
rev = version;
sha256 = "0fxljrgamgz2rm85mclixs00b0f2yf109jc369039n1vf0l5m57d";
fetchSubmodules = true;
};
nativeBuildInputs = [ bison git python2 rake ruby ];
buildInputs = [ libGL libuv libX11 ];
patches = [
./force-gcc-as-linker.patch
./system-libuv.patch
];
# Add missing dependencies of deps/mruby-dir-glob/mrbgem.rake
# Should be fixed in next release, see bcadb0a5490bd6d599f1a0e66ce09b46363c9dae
postPatch = ''
mkdir -p mruby/build/mrbgems
ln -s ${mgem-list} mruby/build/mrbgems/mgem-list
ln -s ${mruby-dir} mruby/build/mrbgems/mruby-dir
ln -s ${mruby-errno} mruby/build/mrbgems/mruby-errno
ln -s ${mruby-file-stat} mruby/build/mrbgems/mruby-file-stat
ln -s ${mruby-process} mruby/build/mrbgems/mruby-process
ln -s ${mruby-pack} mruby/build/mrbgems/mruby-pack
'';
installTargets = [ "pack" ];
postInstall = ''
ln -s "$out/zest" "$out/zyn-fusion"
cp -a package/{font,libzest.so,schema,zest} "$out"
# mruby-widget-lib/src/api.c requires MainWindow.qml as part of a
# sanity check, even though qml files are compiled into the binary
# https://github.com/mruby-zest/mruby-zest-build/tree/3.0.5/src/mruby-widget-lib/src/api.c#L99-L116
# https://github.com/mruby-zest/mruby-zest-build/tree/3.0.5/linux-pack.sh#L17-L18
mkdir -p "$out/qml"
touch "$out/qml/MainWindow.qml"
'';
meta = with stdenv.lib; {
description = "The Zest Framework used in ZynAddSubFX's UI";
homepage = "https://github.com/mruby-zest";
license = licenses.lgpl21;
maintainers = with maintainers; [ metadark ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,13 @@
diff --git a/mruby/tasks/toolchains/gcc.rake b/mruby/tasks/toolchains/gcc.rake
index f370c0ab..e5ab9f60 100644
--- a/mruby/tasks/toolchains/gcc.rake
+++ b/mruby/tasks/toolchains/gcc.rake
@@ -22,7 +22,7 @@ MRuby::Toolchain.new(:gcc) do |conf, _params|
end
conf.linker do |linker|
- linker.command = ENV['LD'] || 'gcc'
+ linker.command = 'gcc'
linker.flags = [ENV['LDFLAGS'] || %w()]
linker.libraries = %w(m)
linker.library_paths = []

View file

@ -0,0 +1,113 @@
diff --git a/Makefile b/Makefile
index f3e3be2..2398852 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,3 @@
-UV_DIR = libuv-v1.9.1
-UV_FILE = $(UV_DIR).tar.gz
-UV_URL = http://dist.libuv.org/dist/v1.9.1/$(UV_FILE)
-
-
all:
ruby ./rebuild-fcache.rb
cd deps/nanovg/src && $(CC) nanovg.c -c -fPIC
@@ -10,12 +5,12 @@ all:
# cd deps/pugl && python2 ./waf configure --no-cairo --static
cd deps/pugl && python2 ./waf configure --no-cairo --static --debug
cd deps/pugl && python2 ./waf
- cd src/osc-bridge && CFLAGS="-I ../../deps/$(UV_DIR)/include " make lib
+ cd src/osc-bridge && make lib
cd mruby && MRUBY_CONFIG=../build_config.rb rake
$(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \
./deps/libnanovg.a \
src/osc-bridge/libosc-bridge.a \
- ./deps/$(UV_DIR)/.libs/libuv.a -lm -lX11 -lGL -lpthread
+ -luv -lm -lX11 -lGL -lpthread
$(CC) test-libversion.c deps/pugl/build/libpugl-0.a -ldl -o zest -lX11 -lGL -lpthread -I deps/pugl -std=gnu99
osx:
@@ -25,12 +20,12 @@ osx:
cd deps/pugl && python2 ./waf configure --no-cairo --static
# cd deps/pugl && python2 ./waf configure --no-cairo --static --debug
cd deps/pugl && python2 ./waf
- cd src/osc-bridge && CFLAGS="-I ../../deps/$(UV_DIR)/include " make lib
+ cd src/osc-bridge && make lib
cd mruby && MRUBY_CONFIG=../build_config.rb rake
$(CC) -shared -o libzest.so `find mruby/build/host -type f | grep -e "\.o$$" | grep -v bin` ./deps/libnanovg.a \
./deps/libnanovg.a \
src/osc-bridge/libosc-bridge.a \
- ./deps/$(UV_DIR)/.libs/libuv.a -lm -framework OpenGL -lpthread
+ -luv -lm -framework OpenGL -lpthread
$(CC) test-libversion.c deps/pugl/build/libpugl-0.a -ldl -o zest -framework OpenGL -framework AppKit -lpthread -I deps/pugl -std=gnu99
windows:
@@ -38,38 +33,14 @@ windows:
$(AR) rc deps/libnanovg.a deps/nanovg/src/*.o
cd deps/pugl && CFLAGS="-mstackrealign" python2 ./waf configure --no-cairo --static --target=win32
cd deps/pugl && python2 ./waf
- cd src/osc-bridge && CFLAGS="-mstackrealign -I ../../deps/$(UV_DIR)/include " make lib
+ cd src/osc-bridge && CFLAGS="-mstackrealign" make lib
cd mruby && WINDOWS=1 MRUBY_CONFIG=../build_config.rb rake
$(CC) -mstackrealign -shared -o libzest.dll -static-libgcc `find mruby/build/w64 -type f | grep -e "\.o$$" | grep -v bin` \
./deps/libnanovg.a \
src/osc-bridge/libosc-bridge.a \
- ./deps/libuv-win.a \
- -lm -lpthread -lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi -lglu32 -lgdi32 -lopengl32
+ -luv -lm -lpthread -lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi -lglu32 -lgdi32 -lopengl32
$(CC) -mstackrealign -DWIN32 test-libversion.c deps/pugl/build/libpugl-0.a -o zest.exe -lpthread -I deps/pugl -std=c99 -lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi -lglu32 -lgdi32 -lopengl32
-
-builddep: deps/libuv.a
-deps/libuv.a:
- cd deps/$(UV_DIR) && ./autogen.sh
- cd deps/$(UV_DIR) && CFLAGS=-fPIC ./configure
- cd deps/$(UV_DIR) && CFLAGS=-fPIC make
- cp deps/$(UV_DIR)/.libs/libuv.a deps/
-
-builddepwin: deps/libuv-win.a
-deps/libuv-win.a:
- cd deps/$(UV_DIR) && ./autogen.sh
- cd deps/$(UV_DIR) && CFLAGS="-mstackrealign" ./configure --host=x86_64-w64-mingw32
- cd deps/$(UV_DIR) && LD=x86_64-w64-mingw32-gcc make
- cp deps/$(UV_DIR)/.libs/libuv.a deps/libuv-win.a
-
-deps/$(UV_DIR):
- cd deps && wget -4 $(UV_URL) && tar xvf $(UV_FILE)
-setup: deps/$(UV_DIR)
-
-setupwin:
- cd deps && wget -4 $(UV_URL)
- cd deps && tar xvf $(UV_FILE)
-
push:
cd src/osc-bridge && git push
cd src/mruby-qml-parse && git push
diff --git a/build_config.rb b/build_config.rb
index 00f1f69..11ac15b 100644
--- a/build_config.rb
+++ b/build_config.rb
@@ -96,7 +96,6 @@ build_type.new(build_name) do |conf|
conf.cc do |cc|
cc.include_paths << "#{`pwd`.strip}/../deps/nanovg/src"
cc.include_paths << "#{`pwd`.strip}/../deps/pugl/"
- cc.include_paths << "#{`pwd`.strip}/../deps/libuv-v1.9.1/include/"
cc.include_paths << "/usr/share/mingw-w64/include/" if windows
cc.include_paths << "/usr/x86_64-w64-mingw32/include/" if windows
cc.flags << "-DLDBL_EPSILON=1e-6" if windows
@@ -117,14 +116,14 @@ build_type.new(build_name) do |conf|
linker.flags_after_libraries << "#{`pwd`.strip}/../deps/pugl/build/libpugl-0.a"
linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libnanovg.a"
if(!windows)
- linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libuv.a"
+ linker.flags_after_libraries << "-luv"
if(ENV['OS'] != "Mac")
linker.libraries << 'GL'
linker.libraries << 'X11'
end
linker.flags_after_libraries << "-lpthread -ldl -lm"
else
- linker.flags_after_libraries << "#{`pwd`.strip}/../deps/libuv-win.a"
+ linker.flags_after_libraries << "-luv"
linker.flags_after_libraries << "-lws2_32 -lkernel32 -lpsapi -luserenv -liphlpapi"
linker.flags_after_libraries << "-lglu32 -lgdi32 -lopengl32"
end

View file

@ -0,0 +1,25 @@
{ lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
pname = "lndconnect";
version = "0.2.0";
goPackagePath = "github.com/LN-Zap/lndconnect";
src = fetchFromGitHub {
owner = "LN-Zap";
repo = pname;
rev = "v${version}";
sha256 = "0zp23vp4i4csc6x1b6z39rqcmknxd508x6clr8ckdj2fwjwkyf5a";
};
goDeps = ./deps.nix;
meta = with lib; {
description = "Generate QRCode to connect apps to lnd Resources";
license = licenses.mit;
homepage = "https://github.com/LN-Zap/lndconnect";
maintainers = [ maintainers.xwvvvvwx ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,129 @@
[
{
goPackagePath = "github.com/Baozisoftware/qrcode-terminal-go";
fetch = {
type = "git";
url = "https://github.com/Baozisoftware/qrcode-terminal-go";
rev = "c0650d8dff0f053901ff16185217b950d5e7743c";
sha256 = "166h9zy9y7ygayhybg7d080hpdcf1mvkf3rwnq5lqg8i3cg71s7b";
};
}
{
goPackagePath = "github.com/btcsuite/btcd";
fetch = {
type = "git";
url = "https://github.com/btcsuite/btcd";
rev = "e9a51e8dcd673c563a549676ebd4384b0318a9b7";
sha256 = "053pdhhycls7cpygg4rhc0y2p937ni4cgxylgxd1zpwffqdjsxrs";
};
}
{
goPackagePath = "github.com/btcsuite/btclog";
fetch = {
type = "git";
url = "https://github.com/btcsuite/btclog";
rev = "84c8d2346e9fc8c7b947e243b9c24e6df9fd206a";
sha256 = "02dl46wcnfpg9sqvg0ipipkpnd7lrf4fnvb9zy56jqa7mfcwc7wk";
};
}
{
goPackagePath = "github.com/btcsuite/btcutil";
fetch = {
type = "git";
url = "https://github.com/btcsuite/btcutil";
rev = "063c4115b3a9a7201e82447875383890698abcb6";
sha256 = "12dpy5ipmd751xb71hcmrl9xyl89r5rflnrvypnz1irairfqwjwm";
};
}
{
goPackagePath = "github.com/glendc/go-external-ip";
fetch = {
type = "git";
url = "https://github.com/glendc/go-external-ip";
rev = "c872357d968e33d5d9c47ea2c603f3b411150ecc";
sha256 = "1h9cdhab4fapa2p1r8sgl1pxv4qi1zskw8x0pj93a81y03zzr2l1";
};
}
{
goPackagePath = "github.com/jessevdk/go-flags";
fetch = {
type = "git";
url = "https://github.com/jessevdk/go-flags";
rev = "c17162fe8fd74f119ff938c5c67af63e3bac5ded";
sha256 = "0byp3f79b0399n7g6nm59afb6gj9cknfqgfqadvpppv7lvnd34jf";
};
}
{
goPackagePath = "github.com/lightningnetwork/lnd";
fetch = {
type = "git";
url = "https://github.com/lightningnetwork/lnd";
rev = "fd962d322ae2a913cc357dbb63382f22a9a0a6ce";
sha256 = "0yj2vqb9qg5v0rbchkpwhhw51rp31z76zchhhbc837sz8l8lryra";
};
}
{
goPackagePath = "github.com/mattn/go-colorable";
fetch = {
type = "git";
url = "https://github.com/mattn/go-colorable";
rev = "f6c00982823144337e56cdb71c712eaac151d29c";
sha256 = "08y5c01bvyqxraj3wc0di80gbp87178rsshb74x0p3m7wwfv82l3";
};
}
{
goPackagePath = "github.com/mattn/go-isatty";
fetch = {
type = "git";
url = "https://github.com/mattn/go-isatty";
rev = "cb30d6282491c185f77d9bec5d25de1bb61a06bc";
sha256 = "0v59mv94acd2m72q8adhigxkx1vn38l5h0d8hp0nxga2v9f3v8kd";
};
}
{
goPackagePath = "github.com/miekg/dns";
fetch = {
type = "git";
url = "https://github.com/miekg/dns";
rev = "7a5f1127f7f4e461b7400d6a9df1bc523e7448fd";
sha256 = "1xwg6zwlxwkm1x121b3idir76h7wr9wmcdmg4vgj9hma903s63md";
};
}
{
goPackagePath = "github.com/skip2/go-qrcode";
fetch = {
type = "git";
url = "https://github.com/skip2/go-qrcode";
rev = "da1b6568686e89143e94f980a98bc2dbd5537f13";
sha256 = "0pghd6y2x8a5fqy4rjn4d8j5jcslb236naycdza5an7vyvinsgs9";
};
}
{
goPackagePath = "golang.org/x/crypto";
fetch = {
type = "git";
url = "https://go.googlesource.com/crypto";
rev = "5c72a883971a4325f8c62bf07b6d38c20ea47a6a";
sha256 = "1cimmqpajys001x6yq8ycklc4w34y7iwrksv7ayv7m7fgzhcjn3d";
};
}
{
goPackagePath = "golang.org/x/net";
fetch = {
type = "git";
url = "https://go.googlesource.com/net";
rev = "05aa5d4ee32165add31ddef9d5d3946713e5dc5e";
sha256 = "1v532mdb32h2gan6lc9ssya2v1lk6nzyzqvxn5nkbxij9x4v1jkl";
};
}
{
goPackagePath = "golang.org/x/sys";
fetch = {
type = "git";
url = "https://go.googlesource.com/sys";
rev = "9d91bd62050c7b3011b7df0d2a4daa0042684420";
sha256 = "0d2jjd7r0zwakd1d2g2qm59w6jc6sgg0sal5gc626i8nn9adj2jg";
};
}
]

View file

@ -143,11 +143,6 @@ let
flycheck-rtags = fix-rtags super.flycheck-rtags;
gnuplot = super.gnuplot.overrideAttrs (old: {
nativeBuildInputs =
(old.nativeBuildInputs or [ ]) ++ [ pkgs.autoreconfHook ];
});
pdf-tools = super.pdf-tools.overrideAttrs (old: {
nativeBuildInputs = [ external.pkgconfig ];
buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];

View file

@ -2,13 +2,13 @@
mkDerivation rec {
pname = "ghostwriter";
version = "1.8.1";
version = "2.0.0-rc3";
src = fetchFromGitHub {
owner = "wereturtle";
repo = pname;
rev = "v${version}";
sha256 = "0jc6szfh5sdnafhwsr1xv7cn1fznniq58bix41hb9wlbkvq7wzi6";
rev = version;
sha256 = "sha256-Ag97iE++f3nG2zlwqn0qxSL9RpF8O3XWH9NtQ5kFuWg=";
};
nativeBuildInputs = [ qmake pkgconfig qttools ];
@ -20,6 +20,7 @@ mkDerivation rec {
homepage = src.meta.homepage;
license = licenses.gpl3Plus;
platforms = platforms.unix;
maintainers = with maintainers; [ dotlambda ];
maintainers = with maintainers; [ dotlambda erictapen ];
broken = stdenv.isDarwin;
};
}

View file

@ -4,13 +4,13 @@ with python3.pkgs;
buildPythonApplication rec {
pname = "thonny";
version = "3.3.1";
version = "3.3.2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "0nk4kx6apmnd6fyd9zw77yprjzgjf7micvcws2i2sci0d9fff34c";
sha256 = "1pzy7v48x4ip8v6aqm8hl5ywx7xiqbsfypxxifih8gnlangp1n8y";
};
propagatedBuildInputs = with python3.pkgs; [

View file

@ -116,6 +116,7 @@ mkDerivation rec {
"-DENABLE_INTERNALMYSQL=1"
"-DENABLE_MEDIAPLAYER=1"
"-DENABLE_QWEBENGINE=on"
"-DENABLE_APPSTYLES=on"
];
dontWrapGApps = true;

View file

@ -0,0 +1,33 @@
{ stdenv, lib, fetchFromGitHub
, imagemagick, pkg-config, wayland, wayland-protocols
}:
stdenv.mkDerivation {
pname = "hello-wayland-unstable";
version = "2020-07-27";
src = fetchFromGitHub {
owner = "emersion";
repo = "hello-wayland";
rev = "501d0851cfa7f21c780c0eb52f0a6b23f02918c5";
sha256 = "0dz6przqp57kw8ycja3gw6jp9x12217nwbwdpgmvw7jf0lzhk4xr";
};
nativeBuildInputs = [ imagemagick pkg-config ];
buildInputs = [ wayland wayland-protocols ];
installPhase = ''
runHook preBuild
mkdir -p $out/bin
install hello-wayland $out/bin
runHook postBuild
'';
meta = with lib; {
description = "Hello world Wayland client";
homepage = "https://github.com/emersion/hello-wayland";
maintainers = with maintainers; [ qyliss ];
license = licenses.mit;
platforms = platforms.linux;
};
}

View file

@ -1,61 +1,102 @@
{ asciidoc
{ stdenv
, lib
, fetchFromGitHub
, asciidoc
, cmocka
, docbook_xsl
, fetchFromGitHub
, libxslt
, fontconfig
, freeimage
, meson
, ninja
, pkgconfig
, icu
, pango
, inih
, withWindowSystem ? "all"
, xorg
, libxkbcommon
, libGLU
, libheif
, wayland
, withBackends ? [ "freeimage" "libtiff" "libjpeg" "libpng" "librsvg" "libnsgif" "libheif" ]
, freeimage
, libtiff
, libjpeg_turbo
, libpng
, librsvg
, libtiff
, libxkbcommon
, libxslt
, netsurf
, pango
, pkgconfig
, stdenv
, wayland
, libheif
}:
let
windowSystems = {
all = windowSystems.x11 ++ windowSystems.wayland;
x11 = [ libGLU xorg.libxcb xorg.libX11 ];
wayland = [ wayland ];
};
backends = {
inherit freeimage libtiff libpng librsvg libheif;
libjpeg = libjpeg_turbo;
inherit (netsurf) libnsgif;
};
backendFlags = builtins.map
(b: if builtins.elem b withBackends
then "-D${b}=enabled"
else "-D${b}=disabled")
(builtins.attrNames backends);
in
# check that given window system is valid
assert lib.assertOneOf "withWindowSystem" withWindowSystem
(builtins.attrNames windowSystems);
# check that every given backend is valid
assert builtins.all
(b: lib.assertOneOf "each backend" b (builtins.attrNames backends))
withBackends;
stdenv.mkDerivation rec {
pname = "imv";
version = "4.1.0";
version = "4.2.0";
src = fetchFromGitHub {
owner = "eXeC64";
repo = "imv";
rev = "v${version}";
sha256 = "0gk8g178i961nn3bls75a8qpv6wvfvav6hd9lxca1skaikd33zdx";
sha256 = "07pcpppmfvvj0czfvp1cyq03ha0jdj4whl13lzvw37q3vpxs5qqh";
};
nativeBuildInputs = [ asciidoc cmocka docbook_xsl libxslt ];
mesonFlags = [
"-Dwindows=${withWindowSystem}"
"-Dtest=enabled"
"-Dman=enabled"
] ++ backendFlags;
buildInputs = [
freeimage
icu
libGLU
libjpeg_turbo
librsvg
libxkbcommon
netsurf.libnsgif
pango
nativeBuildInputs = [
asciidoc
cmocka
docbook_xsl
libxslt
meson
ninja
pkgconfig
wayland
];
installFlags = [ "PREFIX=$(out)" "CONFIGPREFIX=$(out)/etc" ];
buildInputs = [
icu
libxkbcommon
pango
inih
] ++ windowSystems."${withWindowSystem}"
++ builtins.map (b: backends."${b}") withBackends;
makeFlags = [ "BACKEND_LIBJPEG=yes" "BACKEND_LIBNSGIF=yes" ];
postFixup = ''
postFixup = lib.optionalString (withWindowSystem == "all") ''
# The `bin/imv` script assumes imv-wayland or imv-x11 in PATH,
# so we have to fix those to the binaries we installed into the /nix/store
sed -i "s|\bimv-wayland\b|$out/bin/imv-wayland|" $out/bin/imv
sed -i "s|\bimv-x11\b|$out/bin/imv-x11|" $out/bin/imv
substituteInPlace "$out/bin/imv" \
--replace "imv-wayland" "$out/bin/imv-wayland" \
--replace "imv-x11" "$out/bin/imv-x11"
'';
doCheck = true;

View file

@ -0,0 +1,130 @@
{ stdenv
, fetchFromGitLab
, fetchpatch
, writeText
, cmake
, doxygen
, glslang
, pkg-config
, python3
, SDL2
, dbus
, eigen
, ffmpeg
, gst-plugins-base
, gstreamer
, hidapi
, libGL
, libXau
, libXdmcp
, libXrandr
, libffi
, libjpeg
# , librealsense
, libsurvive
, libusb1
, libuv
, libuvc
, libv4l
, libxcb
, opencv4
, openhmd
, udev
, vulkan-headers
, vulkan-loader
, wayland
, wayland-protocols
, zlib
# Set as 'false' to build monado without service support, i.e. allow VR
# applications linking against libopenxr_monado.so to use OpenXR standalone
# instead of via the monado-service program. For more information see:
# https://gitlab.freedesktop.org/monado/monado/-/blob/master/doc/targets.md#xrt_feature_service-disabled
, serviceSupport ? true
}:
stdenv.mkDerivation rec {
pname = "monado";
version = "0.4.1";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "114aif79dqyn2qg07mkv6lzmqn15k6fdcii818rdf5g4bp7zzzgm";
};
patches = [
# fix libsurvive autodetection, drop with the next version update
(fetchpatch {
url = "https://gitlab.freedesktop.org/monado/monado/-/commit/345e9eab56e2de9e8b07cf72c2a67cf2ebd01e62.patch";
sha256 = "17c110an6sxc8rn7dfz30rfkbayg64w68licicwc8cqabi6cgrm3";
})
];
nativeBuildInputs = [
cmake
doxygen
glslang
pkg-config
python3
];
cmakeFlags = [
"-DXRT_FEATURE_SERVICE=${if serviceSupport then "ON" else "OFF"}"
];
buildInputs = [
SDL2
dbus
eigen
ffmpeg
gst-plugins-base
gstreamer
hidapi
libGL
libXau
libXdmcp
libXrandr
libjpeg
libffi
# librealsense.dev - see below
libsurvive
libusb1
libuv
libuvc
libv4l
libxcb
opencv4
openhmd
udev
vulkan-headers
vulkan-loader
wayland
wayland-protocols
zlib
];
# realsense is disabled, the build ends with the following error:
#
# CMake Error in src/xrt/drivers/CMakeLists.txt:
# Imported target "realsense2::realsense2" includes non-existent path
# "/nix/store/2v95aps14hj3jy4ryp86vl7yymv10mh0-librealsense-2.41.0/include"
# in its INTERFACE_INCLUDE_DIRECTORIES.
#
# for some reason cmake is trying to use ${librealsense}/include
# instead of ${librealsense.dev}/include as an include directory
# Help openxr-loader find this runtime
setupHook = writeText "setup-hook" ''
export XDG_CONFIG_DIRS=@out@/etc/xdg''${XDG_CONFIG_DIRS:+:''${XDG_CONFIG_DIRS}}
'';
meta = with stdenv.lib; {
description = "Open source XR runtime";
homepage = "https://monado.freedesktop.org/";
license = licenses.boost;
maintainers = with maintainers; [ expipiplus1 prusnak ];
platforms = platforms.linux;
};
}

View file

@ -1,26 +1,28 @@
{ stdenv, fetchFromGitHub
, pkgconfig
, freetype, giflib, gtk2, lcms2, libjpeg, libpng, libtiff, openjpeg, gifsicle
, pkg-config
, freetype, giflib, gtk3, lcms2, libjpeg, libpng, libtiff, openjpeg, gifsicle
}:
stdenv.mkDerivation rec {
p_name = "mtPaint";
ver_maj = "3.49";
ver_min = "12";
ver_maj = "3.50";
ver_min = "01";
name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchFromGitHub {
owner = "wjaguar";
repo = p_name;
rev = "6aed1b0441f99055fc7d475942f8bd5cb23c41f8";
sha256 = "0bvf623g0n2ifijcxv1nw0z3wbs2vhhdky4n04ywsbjlykm44nd1";
rev = "a4675ff5cd9fcd57d291444cb9f332b48f11243f";
sha256 = "04wqxz8i655gz5rnz90cksy8v6m2jhcn1j8rzhqpp5xhawlmq24y";
};
nativeBuildInputs = [ pkgconfig ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [
freetype giflib gtk2 lcms2 libjpeg libpng libtiff openjpeg gifsicle
freetype giflib gtk3 lcms2 libjpeg libpng libtiff openjpeg gifsicle
];
configureFlags = [ "gtk3" "intl" "man" ];
meta = {
description = "A simple GTK painting program";
longDescription = ''
@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
GNU/Linux, Windows and older PC hardware.
'';
homepage = "http://mtpaint.sourceforge.net/";
license = stdenv.lib.licenses.gpl3;
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.vklquevs ];
};

View file

@ -0,0 +1,71 @@
{ stdenv
, fetchurl
, lib
, autoreconfHook
, bzip2
, cfitsio
, exiv2
, gettext
, gtk2
, gtkimageview
, lcms2
, lensfun
, libjpeg
, libtiff
, perl
, pkg-config
, zlib
, addThumbnailer ? false
}:
stdenv.mkDerivation rec {
pname = "nufraw";
version = "0.43-3";
src = fetchurl {
url = "mirror://sourceforge/nufraw/nufraw-${version}.tar.gz";
sha256 = "0b63qvw9r8kaqw36bk3a9zwxc41h8fr6498indkw4glrj0awqz9c";
};
nativeBuildInputs = [ autoreconfHook gettext perl pkg-config ];
buildInputs = [
bzip2
cfitsio
exiv2
gtk2
gtkimageview
lcms2
lensfun
libjpeg
libtiff
zlib
];
configureFlags = [
"--enable-contrast"
"--enable-dst-correction"
];
postInstall = lib.optionalString addThumbnailer ''
mkdir -p $out/share/thumbnailers
substituteAll ${./nufraw.thumbnailer} $out/share/thumbnailers/${pname}.thumbnailer
'';
meta = with stdenv.lib; {
homepage = "https://nufraw.sourceforge.io/";
description = "Utility to read and manipulate raw images from digital cameras";
longDescription =
''
A new version of the popular raw digital images manipulator ufraw.
Forks from the version 0.23 of ufraw (that's why the first nufraw version is the 0.24).
Nufraw offers the same features (gimp plugin, batch, ecc) and the same quality of
ufraw in a brand new improved user interface.
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ asbachb ];
platforms = [ "x86_64-linux" "i686-linux" ];
};
}

View file

@ -0,0 +1,4 @@
[Thumbnailer Entry]
TryExec=@out@/bin/nufraw-batch
Exec=@out@/bin/nufraw-batch --silent --size %s --out-type=png --noexif --output=%o --embedded-image %i
MimeType=image/x-canon-cr2;image/x-canon-crw;image/x-minolta-mrw;image/x-nikon-nef;image/x-pentax-pef;image/x-panasonic-rw2;image/x-panasonic-raw2;image/x-samsung-srw;image/x-olympus-orf;image/x-sony-arw

View file

@ -0,0 +1,48 @@
{ stdenv
, fetchFromGitLab
, glm
, glslang
, meson
, ninja
, openxr-loader
, pkg-config
, vulkan-headers
, vulkan-loader
, xxd
}:
stdenv.mkDerivation rec {
pname = "xrgears";
version = "unstable-2020-04-15";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "monado";
repo = "demos/xrgears";
rev = "d0bee35fbf8f181e8313f1ead13d88c4fb85c154";
sha256 = "1k0k8dkclyiav99kf0933kyd2ymz3hs1p0ap2wbciq9s62jgz29i";
};
nativeBuildInputs = [
glslang
meson
ninja
pkg-config
xxd
];
buildInputs = [
glm
openxr-loader
vulkan-headers
vulkan-loader
];
meta = with stdenv.lib; {
homepage = "https://gitlab.freedesktop.org/monado/demos/xrgears";
description = "An OpenXR example using Vulkan for rendering";
platforms = platforms.linux;
license = licenses.mit;
maintainers = with maintainers; [ expipiplus1 ];
};
}

View file

@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "1password";
version = "1.7.0";
version = "1.8.0";
src =
if stdenv.isLinux then fetchzip {
url = {
@ -10,13 +10,13 @@ stdenv.mkDerivation rec {
"x86_64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
}.${stdenv.hostPlatform.system};
sha256 = {
"i686-linux" = "0fvi9pfcm6pfy628q2lg62bkikrgsisynrk3kkjisb9ldcyjgabw";
"x86_64-linux" = "1iskhls8g8w2zhk79gprz4vzrmm7r7fq87gwgd4xmj5md4nkzran";
"i686-linux" = "teoxscan+EZ76Q0sfKT6nt1w/LSsmDoiN2oh+NGO/4A=";
"x86_64-linux" = "nRK2GSwhQe5OgcAdR1fg0vUp3fzEkhwU/teIwsEEemw=";
}.${stdenv.hostPlatform.system};
stripRoot = false;
} else fetchurl {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.pkg";
sha256 = "0x6s26zgjryzmcg9qxmv5s2vml06q96yqbapasjfxqc3l205lnnn";
sha256 = "0pycia75vdfh6gxfd2hr32cxrryfxydid804n0v76l2fpr9v9v3d";
};
buildInputs = stdenv.lib.optionals stdenv.isDarwin [ xar cpio ];

View file

@ -1,4 +1,4 @@
{ config, stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
{ config, stdenv, lib, fetchurl, fetchzip, boost, cmake, ffmpeg, gettext, glew
, ilmbase, libXi, libX11, libXext, libXrender
, libjpeg, libpng, libsamplerate, libsndfile
, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio2, openjpeg, python3Packages
@ -13,9 +13,14 @@
}:
with lib;
let
python = python3Packages.python;
optix = fetchzip {
url = "https://developer.download.nvidia.com/redist/optix/v7.0/OptiX-7.0.0-include.zip";
sha256 = "1b3ccd3197anya2bj3psxdrvrpfgiwva5zfv2xmyrl73nb2dvfr7";
};
let python = python3Packages.python; in
in
stdenv.mkDerivation rec {
pname = "blender";
version = "2.91.0";
@ -111,7 +116,11 @@ stdenv.mkDerivation rec {
# Clang doesn't support "-export-dynamic"
++ optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS="
++ optional jackaudioSupport "-DWITH_JACK=ON"
++ optional cudaSupport "-DWITH_CYCLES_CUDA_BINARIES=ON";
++ optional cudaSupport [
"-DWITH_CYCLES_CUDA_BINARIES=ON"
"-DWITH_CYCLES_DEVICE_OPTIX=ON"
"-DOPTIX_ROOT_DIR=${optix}"
];
NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}";
@ -144,7 +153,8 @@ stdenv.mkDerivation rec {
homepage = "https://www.blender.org";
# They comment two licenses: GPLv2 and Blender License, but they
# say: "We've decided to cancel the BL offering for an indefinite period."
license = licenses.gpl2Plus;
# OptiX, enabled with cudaSupport, is non-free.
license = with licenses; [ gpl2Plus ] ++ optional cudaSupport unfree;
platforms = [ "x86_64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ goibhniu veprbl ];
};

View file

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "dasel";
version = "1.12.0";
version = "1.12.2";
src = fetchFromGitHub {
owner = "TomWright";
repo = pname;
rev = "v${version}";
sha256 = "69igz0Q7pT0f6PsbZWHcwUiTKRTTzj7r5E6E5ExUoJo=";
sha256 = "/WB/SsOih0N5P4cUAD6zkCajplzZ/Jez0H80+CG08rc=";
};
vendorSha256 = "BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";

View file

@ -1,14 +1,14 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch, zlib, which, IOKit, qtbase, libusb-compat-0_1 }:
{ lib, stdenv, fetchFromGitHub, fetchpatch, libusb1, qtbase, zlib, IOKit, which, expat }:
stdenv.mkDerivation rec {
pname = "gpsbabel";
version = "1.6.0";
version = "1.7.0";
src = fetchFromGitHub {
owner = "gpsbabel";
repo = "gpsbabel";
rev = "gpsbabel_${lib.replaceStrings ["."] ["_"] version}";
sha256 = "0q17jhmaf7z5lld2ff7h6jb3v1yz8hbwd2rmaq2dsamc53dls8iw";
sha256 = "010g0vd2f5knpq5p7qfnl31kv3r8m5sjdsafcinbj5gh02j2nzpy";
};
patches = [
@ -18,9 +18,11 @@ stdenv.mkDerivation rec {
})
];
buildInputs = [ zlib qtbase which libusb-compat-0_1 ]
buildInputs = [ libusb1 qtbase zlib ]
++ lib.optionals stdenv.isDarwin [ IOKit ];
checkInputs = [ expat.dev which ]; # Avoid ./testo.d/kml.test: line 74: which: command not found. Skipping KML validation phase.
/* FIXME: Building the documentation, with "make doc", requires this:
[ libxml2 libxslt perl docbook_xml_dtd_412 docbook_xsl fop ]
@ -41,6 +43,8 @@ stdenv.mkDerivation rec {
patchShebangs testo
substituteInPlace testo \
--replace "-x /usr/bin/hexdump" ""
rm -v testo.d/alantrl.test
''
# The raymarine and gtm tests fail on i686 despite -ffloat-store.
+ lib.optionalString stdenv.isi686 "rm -v testo.d/raymarine.test testo.d/gtm.test;"

View file

@ -14,6 +14,7 @@ gem "jekyll-coffeescript"
gem "jekyll-feed", "~> 0.9"
gem "jekyll-gist"
gem "jekyll-paginate"
gem "jekyll-polyglot"
gem "jekyll-redirect-from"
gem "kramdown-syntax-coderay"
gem "mime-types", "~> 3.0"

View file

@ -64,6 +64,8 @@ GEM
html-pipeline (~> 2.3)
jekyll (>= 3.7, < 5.0)
jekyll-paginate (1.1.0)
jekyll-polyglot (1.3.3)
jekyll (>= 3.0)
jekyll-redirect-from (0.16.0)
jekyll (>= 3.3, < 5.0)
jekyll-sass-converter (2.1.0)
@ -140,6 +142,7 @@ DEPENDENCIES
jekyll-gist
jekyll-mentions
jekyll-paginate
jekyll-polyglot
jekyll-redirect-from
jekyll-seo-tag
jekyll-sitemap

View file

@ -297,6 +297,17 @@
};
version = "1.1.0";
};
jekyll-polyglot = {
dependencies = ["jekyll"];
groups = ["default"];
platforms = [];
source = {
remotes = ["https://rubygems.org"];
sha256 = "4ad9140733250b65bc1ffab84650c588d036d23129e82f0349d31e56f1fe10a8";
type = "gem";
};
version = "1.3.3";
};
jekyll-redirect-from = {
dependencies = ["jekyll"];
groups = ["default"];

View file

@ -1,20 +1,20 @@
{ stdenv, fetchurl, fetchsvn, makeWrapper, unzip, jre, libXxf86vm }:
let
pname = "josm";
version = "17329";
version = "17428";
srcs = {
jar = fetchurl {
url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
sha256 = "0hra146akadqz9acj1xa2vzrmipfzf8li7sgsmk169xr991y653k";
sha256 = "0fhnq0836jp72br808hhw1ki70zc9wqcwfhnizb8pzjvs4wgx36w";
};
macosx = fetchurl {
url = "https://josm.openstreetmap.de/download/macosx/josm-macosx-${version}.zip";
sha256 = "0i09jnfqbcirmic9vayrp78lnyk4mfh7ax3v3cs8kyqhk930pscf";
sha256 = "126yy6y7mkpqzkrkqkzzn3mwnl1yjkmd5k895k7mmk2inmcsvqgm";
};
pkg = fetchsvn {
url = "https://josm.openstreetmap.de/svn/trunk/native/linux/tested";
rev = version;
sha256 = "0ybjca6dhnbwl3xqwrc91c444fzs1zrlnz7qr3l79s1vll9r4qd1";
sha256 = "198kq490y5wzxz0a5prb9anykq6dzg0imxfkchsas233inbzggql";
};
};
in

View file

@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
homepage = "https://repo.or.cz/w/llpp.git";
description = "A MuPDF based PDF pager written in OCaml";
platforms = platforms.linux;
maintainers = with maintainers; [ pSub enzime ];
maintainers = with maintainers; [ pSub ];
license = licenses.gpl3;
};
}

View file

@ -30,12 +30,12 @@ let
in stdenv.mkDerivation rec {
pname = "obsidian";
version = "0.10.1";
version = "0.10.6";
src = fetchurl {
url =
"https://github.com/obsidianmd/obsidian-releases/releases/download/v${version}/obsidian-${version}.asar.gz";
sha256 = "wnCgW4EAcg0Oc1fqOZBYKN2g8N27riL+yonoIy0AfxA=";
sha256 = "KfGVc3nXu5ilYKQPLc5qaksTwsdhSVtty9CfjSoiCU8=";
};
nativeBuildInputs = [ makeWrapper graphicsmagick ];

View file

@ -7,19 +7,20 @@
, bzip2
, expat
, libosmium
, lz4
, protozero
, zlib
}:
stdenv.mkDerivation rec {
pname = "osmium-tool";
version = "1.12.1";
version = "1.13.0";
src = fetchFromGitHub {
owner = "osmcode";
repo = "osmium-tool";
rev = "v${version}";
sha256 = "13142hj8gfgj6w51a62hjzfmzic90xgrnnlnb70hpdqjy86bxv7j";
sha256 = "0rn67g4xf01i7pkxrdh87jdj2rzkw5pfkx5wkg9245z5yxjxhqj2";
};
nativeBuildInputs = [
@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
bzip2
expat
libosmium
lz4
protozero
zlib
];
@ -46,7 +48,7 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "Multipurpose command line tool for working with OpenStreetMap data based on the Osmium library";
homepage = "https://osmcode.org/osmium-tool/";
license = with licenses; [ gpl3 mit bsd3 ];
license = with licenses; [ gpl3Plus mit bsd3 ];
maintainers = with maintainers; [ das-g ];
};
}

View file

@ -1,21 +1,26 @@
{ stdenv, lib, fetchFromGitHub, pkgconfig, qmake, mkDerivation,
qtsvg,
libxml2, postgresql }:
{ stdenv
, lib
, fetchFromGitHub
, pkg-config
, qmake
, mkDerivation
, qtsvg
, libxml2
, postgresql
}:
mkDerivation rec {
pname = "pgmodeler";
version = "0.9.2";
version = "0.9.3";
src = fetchFromGitHub {
owner = "pgmodeler";
repo = "pgmodeler";
rev = "v${version}";
sha256 = "1wkvg20krfwkziz7skgmwlinx07jm5nl3455payg5brv69zf60kl";
sha256 = "1bci5x418dbnkny7hn0b5q5lxyajrgl3frv41ji0hcw9vivrds2g";
};
enableParallelBuilding = true;
nativeBuildInputs = [ pkgconfig qmake ];
nativeBuildInputs = [ pkg-config qmake ];
qmakeFlags = [ "pgmodeler.pro" "CONFIG+=release" ];
# todo: libpq would suffice here. Unfortunately this won't work, if one uses only postgresql.lib here.
@ -23,7 +28,6 @@ mkDerivation rec {
meta = with stdenv.lib; {
description = "A database modeling tool for PostgreSQL";
longDescription = ''pgModeler (PostgreSQL Database Modeler) is an open source database modeling tool designed for PostgreSQL.'';
homepage = "https://pgmodeler.io/";
license = licenses.gpl3;
maintainers = [ maintainers.esclear ];

View file

@ -0,0 +1,45 @@
{ stdenv
, fetchhg
, pkg-config
, meson
, ninja
, gtk3
, json_c
, libpulseaudio
, wayland
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "rootbar";
version = "unstable-2020-11-13";
src = fetchhg {
url = "https://hg.sr.ht/~scoopta/rootbar";
rev = "a018e10cfc5e";
sha256 = "sha256-t6oDIYCVaCxaYy4bS1vxESaFDNxsx5JQLQK77eVuafE=";
};
nativeBuildInputs = [
meson ninja pkg-config wrapGAppsHook
];
buildInputs = [
gtk3
json_c
libpulseaudio
wayland
];
meta = with stdenv.lib; {
homepage = "https://github.com/alexays/waybar";
description = "A bar for Wayland WMs";
longDescription = ''
Root Bar is a bar for wlroots based wayland compositors such as sway and
was designed to address the lack of good bars for wayland.
'';
license = licenses.gpl3Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}

View file

@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
description = "Share one mouse and keyboard between multiple computers";
homepage = "http://synergy-project.org/";
license = licenses.gpl2;
maintainers = with maintainers; [ enzime ];
maintainers = with maintainers; [ ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,28 @@
{ stdenv
, rustPlatform
, fetchFromGitHub
}:
rustPlatform.buildRustPackage rec {
pname = "taskwarrior-tui";
version = "0.9.5";
src = fetchFromGitHub {
owner = "kdheepak";
repo = "taskwarrior-tui";
rev = "v${version}";
sha256 = "1348ypjphm5f46civbrcxbbahwwl2j47z1hg8ndq1cg2bh5wb8kg";
};
# Because there's a test that requires terminal access
doCheck = false;
cargoSha256 = "11zpy3whzir9mlbvf0jyscqwj9z44a6s5i1bc2cnxyciqy9b57md";
meta = with stdenv.lib; {
description = "A terminal user interface for taskwarrior ";
homepage = "https://github.com/kdheepak/taskwarrior-tui";
license = with licenses; [ mit ];
maintainers = with maintainers; [ matthiasbeyer ];
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, jdk14, makeWrapper, autoPatchelfHook, makeDesktopItem, glib, libsecret }:
{ stdenv, fetchurl, jdk, makeWrapper, autoPatchelfHook, makeDesktopItem, glib, libsecret }:
let
desktopItem = makeDesktopItem {
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
makeWrapper "$dest/ApacheDirectoryStudio" \
"$out/bin/ApacheDirectoryStudio" \
--prefix PATH : "${jdk14}/bin"
--prefix PATH : "${jdk}/bin"
install -D icon.xpm "$out/share/pixmaps/apache-directory-studio.xpm"
install -D -t "$out/share/applications" ${desktopItem}/share/applications/*
'';

View file

@ -0,0 +1,169 @@
{ alsaLib
, at-spi2-atk
, at-spi2-core
, atk
, bash
, cairo
, coreutils
, cups
, curl
, dbus
, dnsmasq
, dpkg
, e2fsprogs
, expat
, fetchurl
, gdk-pixbuf
, glib
, gtk3
, icu
, iproute
, krb5
, lib
, libX11
, libXScrnSaver
, libXcomposite
, libXcursor
, libXdamage
, libXext
, libXfixes
, libXi
, libXrandr
, libXrender
, libXtst
, libsecret
, libuuid
, libxcb
, lttng-ust
, makeWrapper
, networkmanager
, nspr
, nss
, openssl
, pango
, procps
, python37
, python37Packages
, stdenv
, systemd
, zlib
}:
with stdenv.lib;
let
deps = [
alsaLib
at-spi2-atk
at-spi2-core
atk
cairo
cups
curl
dbus
expat
gdk-pixbuf
glib
gtk3
icu
krb5
libX11
libXScrnSaver
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXtst
libsecret
libuuid
libxcb
lttng-ust
nspr
nss
openssl
pango
stdenv.cc.cc
systemd
zlib
];
rpath = stdenv.lib.makeLibraryPath deps ;
in
stdenv.mkDerivation rec {
pname = "appgate-sdp";
version = "5.1.2";
src = fetchurl {
url = "https://bin.appgate-sdp.com/5.1/client/appgate-sdp_${version}_amd64.deb";
sha256 = "0v4vfibg1giml3vfz2w7qypqzymvfchi5qm6vfagah2vfbkw7xc2";
};
dontConfigure = true;
dontBuild = true;
enableParallelBuilding = true;
buildInputs = [
python37
python37Packages.dbus-python
];
nativeBuildInputs = [
makeWrapper
dpkg
];
unpackPhase = ''
dpkg-deb -x $src $out
'';
installPhase = ''
mkdir -p $out/bin
ln -s "$out/opt/appgate/appgate" "$out/bin/appgate"
cp -r $out/usr/share $out/share
for file in $out/opt/appgate/linux/appgate-resolver.pre \
$out/opt/appgate/linux/appgate-dumb-resolver.pre \
$out/lib/systemd/system/appgatedriver.service \
$out/lib/systemd/system/appgate-dumb-resolver.service \
$out/lib/systemd/system/appgate-resolver.service
do
substituteInPlace $file \
--replace "/bin/sh" "${bash}/bin/sh" \
--replace "/opt/" "$out/opt/" \
--replace "/usr/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq" \
--replace "InaccessiblePaths=/mnt /srv /boot /media" "InaccessiblePaths=-/mnt -/srv -/boot -/media" \
--replace "cat" "${coreutils}/bin/cat" \
--replace "chattr" "${e2fsprogs}/bin/chattr" \
--replace "mv" "${coreutils}/bin/mv" \
--replace "pkill" "${procps}/bin/pkill"
done
substituteInPlace $out/opt/appgate/linux/nm.py --replace "/usr/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq"
substituteInPlace $out/opt/appgate/linux/set_dns \
--replace "service appgate-resolver stop" "${systemd.out}/bin/systemctl stop appgate-resolver" \
--replace "/etc/appgate.conf" "$out/etc/appgate.conf"
'';
postFixup = ''
find $out -type f -name "*.so" -exec patchelf --set-rpath '$ORIGIN:${rpath}' {} \;
for binary in $out/opt/appgate/appgate-driver \
$out/opt/appgate/appgate \
$out/opt/appgate/service/createdump \
$out/opt/appgate/service/appgateservice.bin
do
patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" --set-rpath "$ORIGIN:$out/opt/appgate/service/:$out/opt/appgate/:${rpath}" $binary
done
wrapProgram $out/opt/appgate/appgate-driver --prefix PATH : ${stdenv.lib.makeBinPath [ iproute networkmanager dnsmasq ]}
wrapProgram $out/opt/appgate/linux/set_dns --set PYTHONPATH $PYTHONPATH
'';
meta = with stdenv.lib; {
description = "Appgate SDP (Software Defined Perimeter) desktop client";
homepage = https://www.appgate.com/support/software-defined-perimeter-support;
license = licenses.unfree;
platforms = platforms.linux;
maintainers = with maintainers; [ ymatsiuk ];
};
}

View file

@ -1,8 +1,8 @@
{
"stable": {
"version": "87.0.4280.88",
"sha256": "1h09g9b2zxad85vd146ymvg3w2kpngpi78yig3dn1vrmhwr4aiiy",
"sha256bin64": "0n3fm6wf8zfkv135d50xl8xxrnng3q55vyxkck1da8jyvh18bijb",
"version": "87.0.4280.141",
"sha256": "0x9k809m36pfirnw2vnr9pk93nxdbgrvna0xf1rs3q91zkbr2x8l",
"sha256bin64": "0wq3yi0qyxzcid390w5rh4xjq92fjajvlifjl70g6sqnbk6vgvdp",
"deps": {
"gn": {
"version": "2020-09-09",
@ -13,14 +13,14 @@
},
"chromedriver": {
"version": "87.0.4280.88",
"sha256_linux": "11plh2hs2zpa14ymlbnj92pa58krl28yw4c0s55wk8qsxvzvl02m",
"sha256_linux": "1insh1imi25sj4hdkbll5rzwnag8wvfxv4ckshpq8akl8r13p6lj",
"sha256_darwin": "048hsqp6575r980m769lzznvxypmfcwn89f1d3ik751ymzmb5r78"
}
},
"beta": {
"version": "88.0.4324.50",
"sha256": "17v0qp05785xc4whsbw6fmf0x5ccjx2mk6n4qy6z2mx2yjjjfv8q",
"sha256bin64": "01cphbd56l7g3cdmrvwynkzrpx9h3v7pz6ac76sxlp6irjzhbnva",
"version": "88.0.4324.79",
"sha256": "1xmssngzg370gazvqngw5mzhfq476fan5y3sp4ggs8fx5anh6jlz",
"sha256bin64": "16m2k4kr92236yvfnl276cy77d5324b7ca3grsw990c0b2kgizq7",
"deps": {
"gn": {
"version": "2020-11-05",
@ -31,15 +31,15 @@
}
},
"dev": {
"version": "89.0.4356.6",
"sha256": "1jq0wbaaz07kz2190rq3vl2b5spx3qfda4al9ygkm8man817d2nr",
"sha256bin64": "0dgvp2my328s4ah0hmp1hg1c3x21gkrz9mjvbfs54r2pjb7y5sbl",
"version": "89.0.4381.6",
"sha256": "031w24qf5cn9y30pgh736g67p6c10kwpflhvxa24h0v99gqnah2i",
"sha256bin64": "1fssdxllq2ncpy8s7ykbq33456hfjlgj1m5147wbg2c5k36rj78s",
"deps": {
"gn": {
"version": "2020-11-05",
"version": "2020-12-22",
"url": "https://gn.googlesource.com/gn",
"rev": "53d92014bf94c3893886470a1c7c1289f8818db0",
"sha256": "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9"
"rev": "0d67e272bdb8145f87d238bc0b2cb8bf80ccec90",
"sha256": "07mrfl9hbjldbgidwwhr482a0s0ppqzwa5j7v5nbqxj18j55iril"
}
}
},

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "starboard-octant-plugin";
version = "0.7.1";
version = "0.8.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
sha256 = "11c8znbijhvxl2mas205mb18sqw868l6c86ah5hlkqh3niq2gmv3";
sha256 = "sha256-wMt/I2zpdM7l+YNwHkAA6sVRWUtlGpN+94jqx2Jy4HA=";
};
vendorSha256 = "0rmynfm5afjxc2lxy2rh9y6zhdd2q95wji2q8hcz78zank43rkcq";
vendorSha256 = "sha256-fhIIqirEEdqn/n8bBtLw07fEGfnpC/8SOLbkhnytyME=";
meta = with lib; {
description = "Octant plugin for viewing Starboard security information";

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "starboard";
version = "0.7.1";
version = "0.8.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
sha256 = "0p0c459xih580ix3279fr45mm3q9w887rs7w1yrikh09xpcisdfr";
sha256 = "sha256-KRVMgrJ7xtv2SYa249sSDV8PObStAe+UGEgZWv43sk4=";
};
vendorSha256 = "07cz4p8k927ash5ncw1r56bcn592imgywbyzkvhnn50pap91m0q0";
vendorSha256 = "sha256-AIMa0lUXFGvhnt8v7l+NIhXLlik5cGYL1OqINNElnx0=";
subPackages = [ "cmd/starboard" ];

View file

@ -137,8 +137,8 @@ let
];
in rec {
terraform_0_12 = pluggable (generic {
version = "0.12.29";
sha256 = "18i7vkvnvfybwzhww8d84cyh93xfbwswcnwfrgvcny1qwm8rsaj8";
version = "0.12.30";
sha256 = "0mv2nsy2ygb1kgkw98xckihcdqxpzhdmks5p2gi2l7wb7lx51yz2";
patches = [
./provider-path.patch
(fetchpatch {
@ -150,16 +150,16 @@ in rec {
});
terraform_0_13 = pluggable (generic {
version = "0.13.5";
sha256 = "1fnydzm5h65pdy2gkq403sllx05cvpldkdzdpcy124ywljb4x9d8";
version = "0.13.6";
sha256 = "04vas8i894ssfhncdvljdvmvj2qzfrcs20zcv71l1wmnnv9ibs6l";
patches = [ ./provider-path.patch ];
passthru = { inherit plugins; };
});
terraform_0_14 = pluggable (generic {
version = "0.14.3";
sha256 = "0w2j1phjv989bspbyvkhr25bdz1zjch3zggwk2lgjyk77mdw5h20";
vendorSha256 = "03dg703pw3h98vfvi2mnd2lw0mv6hlhvmc1l7ngrqdyv54cmihnp";
version = "0.14.4";
sha256 = "0kjbx1gshp1lvhnjfigfzza0sbl3m6d9qb3in7q5vc6kdkiplb66";
vendorSha256 = "10vb6gsw7mha99lvx3lbgd80vf0imcqyc0va0y64f6wzaw557n7v";
patches = [ ./provider-path.patch ];
passthru = { inherit plugins; };
});

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.26.7";
version = "0.27.0";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
sha256 = "1431n6zs2mfkgh281xi0d7m9hxifrrsnd46fnpb54mr6lj9h0sdb";
sha256 = "sha256-MbhJ1f6Da+kkkCV85kH8Yv74cMzp7JvxeQb0By9aGp8=";
};
vendorSha256 = "18ix11g709fvh8h02k3p2bmzrq5fjzaqa50h3g74s3hyl2gc9s9h";
vendorSha256 = "sha256-AMxBzUHRsq1HOMtvgYqIw22Cky7gQ7/2hI8wQnxaXb0=";
doCheck = false;

View file

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "waypoint";
version = "0.1.5";
version = "0.2.0";
src = fetchFromGitHub {
owner = "hashicorp";
repo = pname;
rev = "v${version}";
sha256 = "115cak87kpfjckqgn8ws09z1w8x8l9bch9xrm29k4r0zi71xparn";
sha256 = "sha256-iGR2N1ZYA5G9K2cpfrwWRhSEfehRshx157ot1yq15AY=";
};
deleteVendor = true;
vendorSha256 = "1xdari6841jp6lpjwydv19v3wafj17hmnwsa2b55iw6dysm4yxdr";
vendorSha256 = "sha256-ArebHOjP3zvpASVAoaPXpSbrG/jq+Jbx7+EaQ1uHSVY=";
subPackages = ["."];

View file

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec {
pname = "FlexGet";
version = "3.1.91";
version = "3.1.95";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "5d6668dd9721b60738ea44c616fcdee6210f7ef52b461eb13b77091caef4a832";
sha256 = "5dc80828713c0ece57c6e86a2bad41bbdf34ec41a0ea4da71adfb43784d85120";
};
postPatch = ''

View file

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
pname = "lieer";
version = "1.2";
version = "1.3";
src = fetchFromGitHub {
owner = "gauteh";
repo = "lieer";
rev = "v${version}";
sha256 = "0qp8sycclzagkiszqk1pw2fr8s8s195bzy8r27dj7f5zx350nxk5";
sha256 = "12sl7d381l1gjaam419xc8gxmsprxf0hgksz1f974qmmijvr02bh";
};
propagatedBuildInputs = with python3Packages; [
@ -16,6 +16,7 @@ python3Packages.buildPythonApplication rec {
oauth2client
google_api_python_client
tqdm
setuptools
];
meta = with stdenv.lib; {

View file

@ -10,6 +10,11 @@ in stdenv.mkDerivation rec {
sha256 = "1q97p4g3f1q2m567i2dbx7mm7ixw3g91ww2rymwj42cxk9iyizhv";
};
postPatch = ''
substituteInPlace sbr/Makefile.in \
--replace "ar " "${stdenv.cc.targetPrefix}ar "
'';
buildInputs = [ ncurses ];
nativeBuildInputs = [ autoreconfHook flex ];

View file

@ -19,40 +19,41 @@ stdenv.mkDerivation rec {
python3Packages.python
];
pythonPath = [
python3Packages.libtorrent-rasterbar
python3Packages.twisted
python3Packages.netifaces
python3Packages.pycrypto
python3Packages.pyasn1
python3Packages.requests
python3Packages.m2crypto
python3Packages.pyqt5
python3Packages.chardet
python3Packages.cherrypy
python3Packages.cryptography
python3Packages.libnacl
python3Packages.configobj
python3Packages.decorator
python3Packages.feedparser
python3Packages.service-identity
python3Packages.psutil
python3Packages.pillow
python3Packages.networkx
python3Packages.pony
python3Packages.lz4
python3Packages.pyqtgraph
pythonPath = with python3Packages; [
libtorrent-rasterbar
twisted
netifaces
pycrypto
pyasn1
requests
m2crypto
pyqt5
chardet
cherrypy
cryptography
libnacl
configobj
decorator
feedparser
service-identity
psutil
pillow
networkx
pony
lz4
pyqtgraph
# there is a BTC feature, but it requires some unclear version of
# bitcoinlib, so this doesn't work right now.
# python3Packages.bitcoinlib
# bitcoinlib
];
postPatch = ''
${stdenv.lib.optionalString enablePlayer ''
substituteInPlace "./TriblerGUI/vlc.py" --replace "ctypes.CDLL(p)" "ctypes.CDLL('${libvlc}/lib/libvlc.so')"
substituteInPlace "./TriblerGUI/widgets/videoplayerpage.py" --replace "if vlc and vlc.plugin_path" "if vlc"
substituteInPlace "./TriblerGUI/widgets/videoplayerpage.py" --replace "os.environ['VLC_PLUGIN_PATH'] = vlc.plugin_path" "os.environ['VLC_PLUGIN_PATH'] = '${libvlc}/lib/vlc/plugins'"
substituteInPlace "./TriblerGUI/widgets/videoplayerpage.py" \
--replace "if vlc and vlc.plugin_path" "if vlc" \
--replace "os.environ['VLC_PLUGIN_PATH'] = vlc.plugin_path" "os.environ['VLC_PLUGIN_PATH'] = '${libvlc}/lib/vlc/plugins'"
''}
'';

View file

@ -38,6 +38,13 @@ mkDerivation rec {
ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
ln -s ${xdg_utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
for i in 16 20 24 32 48 256; do
size=$i"x"$i
mkdir -p $out/share/icons/hicolor/$size/apps
ln -s $out/share/teamviewer/tv_bin/desktop/teamviewer_$i.png $out/share/icons/hicolor/$size/apps/TeamViewer.png
done;
sed -i "s,/opt/teamviewer,$out/share/teamviewer,g" $out/share/teamviewer/tv_bin/desktop/com.teamviewer.*.desktop
substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_aux \
@ -50,6 +57,7 @@ mkDerivation rec {
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}"
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libXrandr libX11 libXext libXdamage libXtst libSM libXfixes ]}"
wrapQtApp $out/share/teamviewer/tv_bin/script/teamviewer
wrapQtApp $out/bin/teamviewer
'';

View file

@ -6,14 +6,14 @@
stdenv.mkDerivation rec {
pname = "waypipe-unstable";
version = "0.7.1";
version = "0.7.2";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "mstoeckl";
repo = "waypipe";
rev = "v${version}";
sha256 = "00skyxmbssfxksb8wlqdr8gajpysadirjcn230fd5gaf5msvllx7";
sha256 = "sha256-LtfrSEwZikOXp/fdyJ/+EylRx19zdsHMkrl1eEf1/aY=";
};
postPatch = ''

View file

@ -3,17 +3,17 @@
let
common = { stname, target, postInstall ? "" }:
buildGoModule rec {
version = "1.12.0";
version = "1.12.1";
name = "${stname}-${version}";
src = fetchFromGitHub {
owner = "syncthing";
repo = "syncthing";
rev = "v${version}";
sha256 = "09kqc66pnklhmlcn66c5zydnvy2mfs2hqzd1465ydww8bbgcncss";
sha256 = "1jyqkprb9ps8xc86qnf140wbx5kvshyihxxgym409kfks6dk3cq5";
};
vendorSha256 = "1jw0k1wm9mfsa2yr2fi2j8mrlykrlcwfnii07rafv9dnnwabs022";
vendorSha256 = "1xlkc47wfhsf6gzq9sgimlzqnrqdsjgc1zzfkjp3xzbbv5ay7wca";
doCheck = false;

View file

@ -0,0 +1,36 @@
{ stdenv, fetchurl, pkg-config, alsaLib, audiofile, gtk2, libxml2 }:
stdenv.mkDerivation rec {
name = "soundmodem";
version = "0.20";
src = fetchurl {
url = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz";
sha256 = "156l3wjnh5rcisxb42kcmlf74swf679v4xnj09zy5j74rd4h721z";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ alsaLib audiofile gtk2 libxml2 ];
patches = [ ./matFix.patch ];
doCheck = true;
meta = with stdenv.lib; {
description = "Audio based modem for ham radio supporting ax.25";
longDescription = ''
This software allows a standard PC soundcard to be used as a packet radio "modem". The whole processing is done on the main processor CPU.
Unlike previous packet radio modem software, this new release offers several new benefits:
- Now uses standard operating system sound drivers (OSS/Free under Linux, /dev/audio under Solaris and DirectSound under Windows), thus runs on all soundcards for which drivers for the desired operating system are available.
- No fixed relationship between bitrate, sampling rate, and modem parameters. Modems may be parametrized, and multiple modems may even run on the same audio channel!
- Usermode solution allows the use of MMX, VIS, Floating point and other media instruction sets to speed up computation.
- Cross platform builds from a single source code provides ubiquitous availability.
'';
#homepage = "http://gna.org/projects/soundmodem"; # official, but "Connection refused"
homepage = "http://soundmodem.vk4msl.id.au/";
downloadPage = "https://archive.org/download/${name}-${version}/${name}-${version}.tar.gz";
license = licenses.gpl2Only;
maintainers = with maintainers; [ ymarkus ];
platforms = platforms.all;
};
}

View file

@ -0,0 +1,11 @@
--- a/matlib/mat.hh 2003-01-06 23:47:26.000000000 +0100
+++ b/matlib/mat.copy.hh 2021-01-06 10:05:34.332415179 +0100
@@ -91,7 +91,7 @@
memcpy(c, r, d1 * d3 * sizeof(c[0]));
}
-template<typename T> void mdet(const T *c, unsigned int d)
+template<typename T> int mdet(const T *c, unsigned int d)
{
T *c2;
unsigned int i, j, k, l;

View file

@ -1,5 +1,5 @@
{ stdenv, fetchFromGitHub, pkg-config, cmake, gtk3,
wxGTK30-gtk3, curl, gettext, glib, indilib, libnova }:
{ stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK30-gtk3,
curl, gettext, glib, indilib, libnova, wrapGAppsHook }:
stdenv.mkDerivation rec {
pname = "phd2";
@ -12,13 +12,18 @@ stdenv.mkDerivation rec {
sha256 = "1ih7m9lilh12xbhmwm9kkicaqy72mi3firl6df7m5x38n2zj3zm4";
};
nativeBuildInputs = [ cmake pkg-config ];
nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
buildInputs = [ gtk3 wxGTK30-gtk3 curl gettext glib indilib libnova ];
cmakeFlags = [
"-DOPENSOURCE_ONLY=1"
];
# Fix broken wrapped name scheme by moving wrapped binary to where wrapper expects it
postFixup = ''
mv $out/bin/.phd2.bin-wrapped $out/bin/.phd2-wrapped.bin
'';
meta = with stdenv.lib; {
homepage = "https://openphdguiding.org/";
description = "Telescope auto-guidance application";

View file

@ -0,0 +1,30 @@
{ stdenv
, fetchFromGitHub
, zlib
}:
stdenv.mkDerivation rec {
pname = "fastp";
version = "0.20.1";
src = fetchFromGitHub {
owner = "OpenGene";
repo = "fastp";
rev = "v${version}";
sha256 = "sha256-pANwppkO9pfV9vctB7HmNCzYRtf+Xt+5HMKzvFuvyFM=";
};
buildInputs = [ zlib ];
installPhase = ''
install -D fastp $out/bin/fastp
'';
meta = with stdenv.lib; {
description = "Ultra-fast all-in-one FASTQ preprocessor";
license = licenses.mit;
homepage = "https://github.com/OpenGene/fastp";
maintainers = with maintainers; [ jbedo ];
platforms = platforms.x86_64;
};
}

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "last";
version = "1145";
version = "1170";
src = fetchurl {
url = "http://last.cbrc.jp/last-${version}.zip";
sha256 = "0g54nmxxrirgid1i1k5i6rf7vnjpk9548sy06yqb4fj7vdzqgq99";
sha256 = "sha256-hBuG6QGXtBrvNrtaZU+i8gxu2ZQw+srFRkbuWoL5JHc=";
};
nativeBuildInputs = [ unzip ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "varscan";
version = "2.4.2";
version = "2.4.4";
src = fetchurl {
url = "https://github.com/dkoboldt/varscan/releases/download/${version}/VarScan.v${version}.jar";
sha256 = "0cfhshinyqgwc6i7zf8lhbfybyly2x5anrz824zyvdhzz5i69zrl";
url = "https://github.com/dkoboldt/varscan/raw/master/VarScan.v${version}.jar";
sha256 = "sha256-+yO3KrZ2+1qJvQIJHCtsmv8hC5a+4E2d7mrvTYtygU0=";
};
buildInputs = [ jre makeWrapper ];

View file

@ -0,0 +1,71 @@
{ stdenv, fetchurl, makeDesktopItem, unzip, bash, jre8 }:
let
pname = "diylc";
version = "4.15.1";
files = {
app = fetchurl {
url = "https://github.com/bancika/diy-layout-creator/releases/download/v${version}/diylc-${version}.zip";
sha256 = "09vzbxas654n8npxljqljf930y5gcjfvv3r4dv97dwk5sy66xvaf";
};
icon16 = fetchurl {
url = "https://raw.githubusercontent.com/bancika/diy-layout-creator/v${version}/diylc/diylc-core/src/org/diylc/core/images/icon_small.png";
sha256 = "1is50aidfwzwfzwqv57s2hwhx0r5c21cp77bkl93xkdqkh2wd8x4";
};
icon32 = fetchurl {
url = "https://raw.githubusercontent.com/bancika/diy-layout-creator/v${version}/diylc/diylc-core/src/org/diylc/core/images/icon_medium.png";
sha256 = "0a45p18n84xz1nd3zv3y16jlimvqzhbzg3q3f4lawgx4rcrn2n3d";
};
icon48 = fetchurl {
url = "https://raw.githubusercontent.com/bancika/diy-layout-creator/v${version}/diylc/diylc-core/src/org/diylc/core/images/icon_large.png";
sha256 = "06dkz0dcy8hfmnzr5ri5n1sh8r7mg83kzbvs3zy58wwhgzs1ddk6";
};
};
launcher = makeDesktopItem {
name = "diylc";
desktopName = "DIY Layout Creator";
comment = "Multi platform circuit layout and schematic drawing tool";
exec = "diylc";
icon = "diylc_icon";
categories = "Development;Electronics;";
};
in
stdenv.mkDerivation rec {
inherit pname version;
dontUnpack = true;
buildInputs = [ jre8 ];
nativeBuildInputs = [ unzip ];
installPhase = ''
install -d $out/share/diylc
${unzip}/bin/unzip -UU ${files.app} -d $out/share/diylc
rm $out/share/diylc/diylc.exe
rm $out/share/diylc/run.sh
# Nope, the icon cannot be named 'diylc' because KDE does not like it.
install -Dm644 ${files.icon16} $out/share/icons/hicolor/16x16/apps/diylc_icon.png
install -Dm644 ${files.icon32} $out/share/icons/hicolor/32x32/apps/diylc_icon.png
install -Dm644 ${files.icon48} $out/share/icons/hicolor/48x48/apps/diylc_icon.png
install -d $out/share/applications
ln -s ${launcher}/share/applications/* $out/share/applications/
install -d $out/bin
cat <<EOF > $out/bin/diylc
#!${bash}/bin/sh
cd $out/share/diylc
${jre8}/bin/java -Xms512m -Xmx2048m -Dorg.diylc.scriptRun=true -Dfile.encoding=UTF-8 -cp diylc.jar:lib org.diylc.DIYLCStarter
EOF
chmod +x $out/bin/diylc
'';
meta = with stdenv.lib; {
description = "Multi platform circuit layout and schematic drawing tool";
homepage = "https://bancika.github.io/diy-layout-creator/";
changelog = "https://github.com/bancika/diy-layout-creator/releases";
license = licenses.gpl3Plus;
platforms = platforms.linux;
};
}

View file

@ -144,7 +144,7 @@ for version in "${all_versions[@]}"; do
for lib in "${libs[@]}"; do
echo "Checking ${lib}" >&2
url="${gitlab}/libraries/kicad-${lib}.git"
lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1 | head -n1)"
lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1 | tail -n1)"
has_rev="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" || true)"
has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256" || true)"
if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then

View file

@ -3,19 +3,19 @@
{
"kicad" = {
kicadVersion = {
version = "5.1.8";
version = "5.1.9";
src = {
rev = "db9833491010954bc27fac92c83d2864bd95c23c";
sha256 = "08ni9j2lw2hjc1csk6rkydcxwdal6da17ch60zkjij5vfsif2hix";
rev = "73d0e3b20dec05c4350efa5b69916eb29a7bfcb5";
sha256 = "1cqh3bc9y140hbryfk9qavs2y3lj5sm9q0qjxcf4mm472afzckky";
};
};
libVersion = {
version = "5.1.8";
version = "5.1.9";
libSources = {
i18n.rev = "78adcd19e7ed53f4889d6db65a33dd8ec2d323e9";
i18n.sha256 = "0x0w2m6d3xfm22y4anp5j2j67iwzby149ynj6qjlw2kcsi8kwk1j";
symbols.rev = "bf475af94877e8fd9cf80e667578ff61835e02bb";
symbols.sha256 = "1ii3r813653ng2ycggnknqx4g3ja7dbm4qyxrf9aq48ws0xkvhx3";
i18n.rev = "04f3231f60d55400cb81564b2cd465a57d5192d5";
i18n.sha256 = "04jq1dcag6i2ljjfqrib65mn4wg4c4nmi7i946l3bywc0rkqsx1f";
symbols.rev = "6dec5004b6a2679c19d4857bda2f90c5ab3a5726";
symbols.sha256 = "0n25rq32jwyigfw26faqraillwv6zbi2ywy26dkz5zqlf5xp56ad";
templates.rev = "1ccbaf3704e8ff4030d0915f71e051af621ef7d7";
templates.sha256 = "1a8xfcbdbb4ylrb5m7n2jjk9kwvgmlx1pmnn2cwj327a2b3m4jjs";
footprints.rev = "302ac78bac21825532f970fb92714fa5973ad79b";
@ -27,25 +27,25 @@
};
"kicad-unstable" = {
kicadVersion = {
version = "2020-12-01";
version = "2020-12-23";
src = {
rev = "3c521942ed52e83482c82d426170b4fbf327f846";
sha256 = "sha256:09qab69sy3n44kjlzxxx7gbksyr1kg8n14kz0zf8n71zfcqagci4";
rev = "912657dd238ad78cfc5d9d5e426ea850d5554fb3";
sha256 = "1p5kr4d4zpajwdmya1f351y1ix8qmvsx1hrnvhzh7yc3g72kgxah";
};
};
libVersion = {
version = "2020-12-01";
version = "2020-12-23";
libSources = {
i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0";
i18n.sha256 = "sha256:04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
i18n.sha256 = "04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
symbols.rev = "e538abb015b4f289910a6f26b2f1b9cb8bf2efdb";
symbols.sha256 = "sha256:117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi";
symbols.sha256 = "117y4cm46anlrnw6y6mdjgl1a5gab6h6m7cwx3q7qb284m9bs5gi";
templates.rev = "32a4f6fab863976fdcfa232e3e08fdcf3323a954";
templates.sha256 = "sha256:13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk";
templates.sha256 = "13r94dghrh9slpj7nkzv0zqv5hk49s6pxm4q5ndqx0y8037ivmhk";
footprints.rev = "15ffd67e01257d4d8134dbd6708cb58977eeccbe";
footprints.sha256 = "sha256:1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw";
footprints.sha256 = "1ad5k3wh2zqfibrar7pd3g363jk2q51dvraxnq3zlxa2x4znh7mw";
packages3d.rev = "d8b7e8c56d535f4d7e46373bf24c754a8403da1f";
packages3d.sha256 = "sha256:0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
packages3d.sha256 = "0dh8ixg0w43wzj5h3164dz6l1vl4llwxhi3qcdgj1lgvrs28aywd";
};
};
};

View file

@ -5,57 +5,76 @@
# - The exact version can be specified through the `version` argument to
# the derivation; it defaults to the latest stable version.
{ stdenv, fetchFromGitHub, writeText, pkgconfig, gnumake42
, ocamlPackages, ncurses
{ stdenv, fetchzip, writeText, pkgconfig, gnumake42
, customOCamlPackages ? null
, ocamlPackages_4_05, ocamlPackages_4_09, ocamlPackages_4_10, ncurses
, buildIde ? !(stdenv.isDarwin && stdenv.lib.versionAtLeast version "8.10")
, glib, gnome3, wrapGAppsHook
, csdp ? null
, version
}:
, version, coq-version ? null,
}@args:
let lib = import ../../../../build-support/coq/extra-lib.nix {inherit (stdenv) lib;}; in
with builtins; with lib;
let
sha256 = {
"8.5pl1" = "1976ki5xjg2r907xj9p7gs0kpdinywbwcqlgxqw75dgp0hkgi00n";
"8.5pl2" = "109rrcrx7mz0fj7725kjjghfg5ydwb24hjsa5hspa27b4caah7rh";
"8.5pl3" = "15c3rdk59nifzihsp97z4vjxis5xmsnrvpb86qiazj143z2fmdgw";
"8.6" = "148mb48zpdax56c0blfi7v67lx014lnmrvxxasi28hsibyz2lvg4";
"8.6.1" = "0llrxcxwy5j87vbbjnisw42rfw1n1pm5602ssx64xaxx3k176g6l";
"8.7.0" = "1h18b7xpnx3ix9vsi5fx4zdcbxy7bhra7gd5c5yzxmk53cgf1p9m";
"8.7.1" = "0gjn59jkbxwrihk8fx9d823wjyjh5m9gvj9l31nv6z6bcqhgdqi8";
"8.7.2" = "0a0657xby8wdq4aqb2xsxp3n7pmc2w4yxjmrb2l4kccs1aqvaj4w";
"8.8.0" = "13a4fka22hdxsjk11mgjb9ffzplfxyxp1sg5v1c8nk1grxlscgw8";
"8.8.1" = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk";
"8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd";
"8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
"8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2";
"8.10.0" = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg";
"8.10.1" = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4";
"8.10.2" = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz";
"8.11.0" = "1rfdic6mp7acx2zfwz7ziqk12g95bl9nyj68z4n20a5bcjv2pxpn";
"8.11.1" = "0qriy9dy36dajsv5qmli8gd6v55mah02ya334nw49ky19v7518m0";
"8.11.2" = "0f77ccyxdgbf1nrj5fa8qvrk1cyfy06fv8gj9kzfvlcgn0cf48sa";
"8.12.0" = "18dc7k0piv6v064zgdadpw6mkkxk7j663hb3svgj5236fihjr0cz";
"8.12.1" = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q";
"8.12.2" = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n";
"8.13+beta1" = "1v4a6dpj41flspa4ihcr7m5ahqz10kbn62fmrldmv7gzq6jsyfyq";
}.${version};
coq-version = stdenv.lib.versions.majorMinor version;
versionAtLeast = stdenv.lib.versionAtLeast coq-version;
ideFlags = stdenv.lib.optionalString (buildIde && !versionAtLeast "8.10")
release = {
"8.5pl1".sha256 = "1976ki5xjg2r907xj9p7gs0kpdinywbwcqlgxqw75dgp0hkgi00n";
"8.5pl2".sha256 = "109rrcrx7mz0fj7725kjjghfg5ydwb24hjsa5hspa27b4caah7rh";
"8.5pl3".sha256 = "15c3rdk59nifzihsp97z4vjxis5xmsnrvpb86qiazj143z2fmdgw";
"8.6.0".sha256 = "148mb48zpdax56c0blfi7v67lx014lnmrvxxasi28hsibyz2lvg4";
"8.6.0".rev = "V8.6";
"8.6.1".sha256 = "0llrxcxwy5j87vbbjnisw42rfw1n1pm5602ssx64xaxx3k176g6l";
"8.7.0".sha256 = "1h18b7xpnx3ix9vsi5fx4zdcbxy7bhra7gd5c5yzxmk53cgf1p9m";
"8.7.1".sha256 = "0gjn59jkbxwrihk8fx9d823wjyjh5m9gvj9l31nv6z6bcqhgdqi8";
"8.7.2".sha256 = "0a0657xby8wdq4aqb2xsxp3n7pmc2w4yxjmrb2l4kccs1aqvaj4w";
"8.8.0".sha256 = "13a4fka22hdxsjk11mgjb9ffzplfxyxp1sg5v1c8nk1grxlscgw8";
"8.8.1".sha256 = "1hlf58gwazywbmfa48219amid38vqdl94yz21i11b4map6jfwhbk";
"8.8.2".sha256 = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd";
"8.9.0".sha256 = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh";
"8.9.1".sha256 = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2";
"8.10.0".sha256 = "138jw94wp4mg5dgjc2asn8ng09ayz1mxdznq342n0m469j803gzg";
"8.10.1".sha256 = "072v2zkjzf7gj48137wpr3c9j0hg9pdhlr5l8jrgrwynld8fp7i4";
"8.10.2".sha256 = "0znxmpy71bfw0p6x47i82jf5k7v41zbz9bdpn901ysn3ir8l3wrz";
"8.11.0".sha256 = "1rfdic6mp7acx2zfwz7ziqk12g95bl9nyj68z4n20a5bcjv2pxpn";
"8.11.1".sha256 = "0qriy9dy36dajsv5qmli8gd6v55mah02ya334nw49ky19v7518m0";
"8.11.2".sha256 = "0f77ccyxdgbf1nrj5fa8qvrk1cyfy06fv8gj9kzfvlcgn0cf48sa";
"8.12.0".sha256 = "18dc7k0piv6v064zgdadpw6mkkxk7j663hb3svgj5236fihjr0cz";
"8.12.1".sha256 = "1rkcyjjrzcqw9xk93hsq0vvji4f8r5iq0f739mghk60bghkpnb7q";
"8.12.2".sha256 = "18gscfm039pqhq4msq01nraig5dm9ab98bjca94zldf8jvdv0x2n";
"8.13+beta1".sha256 = "1v4a6dpj41flspa4ihcr7m5ahqz10kbn62fmrldmv7gzq6jsyfyq";
};
releaseRev = v: "V${v}";
fetched = import ../../../../build-support/coq/meta-fetch/default.nix
{ inherit stdenv fetchzip; }
{ inherit release releaseRev; location = { owner = "coq"; repo = "coq";}; }
args.version;
version = fetched.version;
coq-version = args.coq-version or (if version != "dev" then versions.majorMinor version else "dev");
versionAtLeast = v: (coq-version == "dev") || (stdenv.lib.versionAtLeast coq-version v);
ideFlags = optionalString (buildIde && !versionAtLeast "8.10")
"-lablgtkdir ${ocamlPackages.lablgtk}/lib/ocaml/*/site-lib/lablgtk2 -coqide opt";
csdpPatch = if csdp != null then ''
substituteInPlace plugins/micromega/sos.ml --replace "; csdp" "; ${csdp}/bin/csdp"
substituteInPlace plugins/micromega/coq_micromega.ml --replace "System.is_in_system_path \"csdp\"" "true"
'' else "";
ocamlPackages = if !isNull customOCamlPackages then customOCamlPackages
else with versions; switch coq-version [
{ case = range "8.11" "8.13"; out = ocamlPackages_4_10; }
{ case = range "8.7" "8.10"; out = ocamlPackages_4_09; }
{ case = range "8.5" "8.6"; out = ocamlPackages_4_05; }
] ocamlPackages_4_10;
ocamlBuildInputs = [ ocamlPackages.ocaml ocamlPackages.findlib ]
++ optional (!versionAtLeast "8.10") ocamlPackages.camlp5
++ optional (!versionAtLeast "8.13") ocamlPackages.num
++ optional (versionAtLeast "8.13") ocamlPackages.zarith;
self = stdenv.mkDerivation {
pname = "coq";
inherit version;
inherit (fetched) version src;
passthru = {
inherit coq-version;
inherit ocamlPackages;
inherit ocamlPackages ocamlBuildInputs;
# For compatibility
inherit (ocamlPackages) ocaml camlp5 findlib num;
inherit (ocamlPackages) ocaml camlp5 findlib num ;
emacsBufferSetup = pkgs: ''
; Propagate coq paths to children
(inherit-local-permanent coq-prog-name "${self}/bin/coqtop")
@ -67,7 +86,7 @@ self = stdenv.mkDerivation {
(coq-prog-args))
(mapc (lambda (arg)
(when (file-directory-p (concat arg "/lib/coq/${coq-version}/user-contrib"))
(setenv "COQPATH" (concat (getenv "COQPATH") ":" arg "/lib/coq/${coq-version}/user-contrib")))) '(${stdenv.lib.concatStringsSep " " (map (pkg: "\"${pkg}\"") pkgs)}))
(setenv "COQPATH" (concat (getenv "COQPATH") ":" arg "/lib/coq/${coq-version}/user-contrib")))) '(${concatStringsSep " " (map (pkg: "\"${pkg}\"") pkgs)}))
; TODO Abstract this pattern from here and nixBufferBuilders.withPackages!
(defvar nixpkgs--coq-buffer-count 0)
(when (eq nixpkgs--coq-buffer-count 0)
@ -102,28 +121,13 @@ self = stdenv.mkDerivation {
'';
};
src = fetchFromGitHub {
owner = "coq";
repo = "coq";
rev = "V${version}";
inherit sha256;
};
nativeBuildInputs = [ pkgconfig ]
++ stdenv.lib.optional (!versionAtLeast "8.6") gnumake42
;
buildInputs = [ ncurses ocamlPackages.ocaml ocamlPackages.findlib ]
++ stdenv.lib.optional (!versionAtLeast "8.10") ocamlPackages.camlp5
++ stdenv.lib.optional (!versionAtLeast "8.12") ocamlPackages.num
++ stdenv.lib.optionals buildIde
nativeBuildInputs = [ pkgconfig ] ++ optional (!versionAtLeast "8.6") gnumake42;
buildInputs = [ ncurses ] ++ ocamlBuildInputs
++ optionals buildIde
(if versionAtLeast "8.10"
then [ ocamlPackages.lablgtk3-sourceview3 glib gnome3.defaultIconTheme wrapGAppsHook ]
else [ ocamlPackages.lablgtk ]);
propagatedBuildInputs =
stdenv.lib.optional (versionAtLeast "8.13") ocamlPackages.zarith
++ stdenv.lib.optional (coq-version == "8.12") ocamlPackages.num;
postPatch = ''
UNAME=$(type -tp uname)
RM=$(type -tp rm)

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lean";
version = "3.23.0";
version = "3.24.0";
src = fetchFromGitHub {
owner = "leanprover-community";
repo = "lean";
rev = "v${version}";
sha256 = "09mklc1p6ms1jayg2f89hqfmhca3h5744lli936l38ypn1d00sxx";
sha256 = "npzBuZ37KrUYwC0TglryVTqui/3/t1ma1Zjpnty0d7c=";
};
nativeBuildInputs = [ cmake ];

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "qalculate-gtk";
version = "3.15.0";
version = "3.16.0";
src = fetchFromGitHub {
owner = "qalculate";
repo = "qalculate-gtk";
rev = "v${version}";
sha256 = "1w0r9vv1h3zbfdvk8965g5plfkz5clf81riil5b394ms9vsw0bx5";
sha256 = "1vqzrh5zxwfvih6c3lak0wkkw6bajl88xzl1zk84gxsk9wdymrk4";
};
hardeningDisable = [ "format" ];

View file

@ -0,0 +1,25 @@
diff --git a/src/sage/interfaces/sympy.py b/src/sage/interfaces/sympy.py
index cc35a42a9f..6e577d5d8d 100644
--- a/src/sage/interfaces/sympy.py
+++ b/src/sage/interfaces/sympy.py
@@ -397,7 +397,7 @@ def _sympysage_rf(self):
sage: from sympy import Symbol, rf
sage: _ = var('x, y')
sage: rfxy = rf(Symbol('x'), Symbol('y'))
- sage: assert rising_factorial(x,y)._sympy_() == rfxy.rewrite('gamma')
+ sage: assert rising_factorial(x,y)._sympy_() == rfxy.rewrite('gamma', piecewise=False)
sage: assert rising_factorial(x,y) == rfxy._sage_()
"""
from sage.arith.all import rising_factorial
diff --git a/src/sage/symbolic/expression.pyx b/src/sage/symbolic/expression.pyx
index 7c18ec1efa..c2619ac42d 100644
--- a/src/sage/symbolic/expression.pyx
+++ b/src/sage/symbolic/expression.pyx
@@ -955,6 +955,6 @@ cdef class Expression(CommutativeRingElement):
sage: unicode_art(13 - I)
13 -
sage: unicode_art(1.3 - I)
- 1.3 - 1.0⋅ⅈ
+ 1.3 -
sage: unicode_art(cos(I))
cosh(1)

View file

@ -103,6 +103,9 @@ stdenv.mkDerivation rec {
# adapt sage's Image class to pillow 8.0.1 (https://trac.sagemath.org/ticket/30971)
./patches/pillow-update.patch
# fix test output with sympy 1.7 (https://trac.sagemath.org/ticket/30985)
./patches/sympy-1.7-update.patch
];
patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;

View file

@ -52,16 +52,16 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "alacritty";
version = "0.6.0";
version = "0.7.1";
src = fetchFromGitHub {
owner = "alacritty";
repo = pname;
rev = "v${version}";
sha256 = "vQdNwNiUvoJWRT1foPRadirI2zWjnzU3sGnIxeHKlj8=";
sha256 = "8alCFtr+3aJsqQ2Ra8u5/SRHfDvMq2kRvRCKo/zwMK0=";
};
cargoSha256 = "1PQSg6EmwVMZj2ALw6qsbtPMCtALVHx5TR05FjGD/QE=";
cargoSha256 = "kqRlxieChnhWtYYf67gi+2bncIzO56xpnv2uLjcINVM=";
nativeBuildInputs = [
cmake

View file

@ -0,0 +1,55 @@
{ stdenv
, fetchFromGitHub
, autoreconfHook
, pkg-config
, appstream-glib
, dbus
, pango
, pcre2
, tmux
, vte
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "germinal";
version = "26";
src = fetchFromGitHub {
owner = "Keruspe";
repo = "Germinal";
rev = "v${version}";
sha256 = "sha256-HUi+skF4bJj5CY2cNTOC4tl7jhvpXYKqBx2rqKzjlo0=";
};
nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
buildInputs = [
appstream-glib
dbus
pango
pcre2
vte
];
configureFlags = [
"--with-dbusservicesdir=${placeholder "out"}/etc/dbus-1/system-services/"
];
dontWrapGApps = true;
fixupPhase = ''
runHook preFixup
wrapProgram $out/bin/germinal \
--prefix PATH ":" "${stdenv.lib.makeBinPath [ tmux ]}" \
"''${gappsWrapperArgs[@]}"
runHook postFixup
'';
meta = with stdenv.lib; {
description = "A minimal terminal emulator";
homepage = "https://github.com/Keruspe/Germinal";
license = with licenses; gpl3Plus;
platforms = with platforms; unix;
maintainers = with maintainers; [ AndersonTorres ];
};
}

View file

@ -1,4 +1,5 @@
{ rustPlatform
{ stdenv
, rustPlatform
, lib
, fetchFromGitHub
@ -8,6 +9,11 @@
, openssl
, perl
# Apple frameworks
, CoreGraphics
, Cocoa
, Foundation
, dbus
, libX11
, xcbutil
@ -25,6 +31,10 @@
}:
let
runtimeDeps = [
zlib
fontconfig
freetype
] ++ stdenv.lib.optionals (stdenv.isLinux) [
libX11
xcbutil
libxcb
@ -33,13 +43,14 @@ let
libxkbcommon
dbus
libglvnd
zlib
egl-wayland
wayland
libGLU
libGL
fontconfig
freetype
] ++ stdenv.lib.optionals (stdenv.isDarwin) [
Foundation
CoreGraphics
Cocoa
];
pname = "wezterm";
in
@ -67,10 +78,21 @@ rustPlatform.buildRustPackage {
buildInputs = runtimeDeps;
installPhase = ''
'' + stdenv.lib.optionalString stdenv.isLinux ''
for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact
install -D $releaseDir/$artifact -t $out/bin
done
'' + stdenv.lib.optionalString stdenv.isDarwin ''
mkdir -p "$out/Applications"
OUT_APP="$out/Applications/WezTerm.app"
cp -r assets/macos/WezTerm.app "$OUT_APP"
rm $OUT_APP/*.dylib
cp -r assets/shell-integration/* "$OUT_APP"
cp $releaseDir/wezterm "$OUT_APP"
cp $releaseDir/wezterm-mux-server "$OUT_APP"
cp $releaseDir/wezterm-gui "$OUT_APP"
cp $releaseDir/strip-ansi-escapes "$OUT_APP"
'';
# prevent further changes to the RPATH

View file

@ -41,7 +41,7 @@ buildPythonApplication rec {
distro
appdirs
]
++ lib.optional enableGoogle google_cloud_storage
++ lib.optional enableGoogle google-cloud-storage
++ lib.optional enableAWS boto3
++ lib.optional enableAzure azure-storage-blob
++ lib.optional enableSSH paramiko;

View file

@ -172,6 +172,8 @@ let
inherit (darwin.apple_sdk.frameworks) Security;
};
git-when-merged = callPackage ./git-when-merged { };
git-workspace = callPackage ./git-workspace {
inherit (darwin.apple_sdk.frameworks) Security;
};

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