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/compilers/go @kalbasit @Mic92 @zowoq
/pkgs/development/go-modules @kalbasit @Mic92 @zowoq /pkgs/development/go-modules @kalbasit @Mic92 @zowoq
/pkgs/development/go-packages @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 ```nix
{ stdenv, fetchFromGitHub, coq, mathcomp }: { coq, mkCoqDerivation, mathcomp, mathcomp-finmap, mathcomp-bigenough,
lib, version ? null }:
stdenv.mkDerivation rec { with lib; mkCoqDerivation {
name = "coq${coq.coq-version}-multinomials-${version}"; /* namePrefix leads to e.g. `name = coq8.11-mathcomp1.11-multinomials-1.5.2` */
version = "1.0"; namePrefix = [ "coq" "mathcomp" ];
src = fetchFromGitHub { pname = "multinomials";
owner = "math-comp"; owner = "math-comp";
repo = "multinomials"; inherit version;
rev = version; defaultVersion = with versions; switch [ coq.version mathcomp.version ] [
sha256 = "1qmbxp1h81cy3imh627pznmng0kvv37k4hrwi2faa101s6bcx55m"; { 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 =
propagatedBuildInputs = [ mathcomp ]; [ mathcomp.ssreflect mathcomp.algebra mathcomp-finmap mathcomp-bigenough ];
installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
meta = { meta = {
description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials"; description = "A Coq/SSReflect Library for Monoidal Rings and Multinomials";
inherit (src.meta) homepage; license = licenses.cecill-c;
license = stdenv.lib.licenses.cecill-b;
inherit (coq.meta) platforms;
};
passthru = {
compatibleCoqVersions = v: builtins.elem v [ "8.5" "8.6" "8.7" ];
}; };
} }
``` ```

View file

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

View file

@ -1162,6 +1162,12 @@
githubId = 37907; githubId = 37907;
name = "Julian Stecklina"; name = "Julian Stecklina";
}; };
bloomvdomino = {
name = "Laura Fäßler";
email = "0x@ytex.de";
github = "bloomvdomino";
githubId = 33204710;
};
bluescreen303 = { bluescreen303 = {
email = "mathijs@bluescreen303.nl"; email = "mathijs@bluescreen303.nl";
github = "bluescreen303"; github = "bluescreen303";
@ -4648,6 +4654,12 @@
githubId = 2029444; githubId = 2029444;
name = "James Kent"; name = "James Kent";
}; };
ketzacoatl = {
email = "ketzacoatl@protonmail.com";
github = "ketzacoatl";
githubId = 10122937;
name = "ketzacoatl";
};
kevincox = { kevincox = {
email = "kevincox@kevincox.ca"; email = "kevincox@kevincox.ca";
github = "kevincox"; github = "kevincox";
@ -7983,6 +7995,12 @@
githubId = 720864; githubId = 720864;
name = "Sébastien Bourdeauducq"; name = "Sébastien Bourdeauducq";
}; };
sbond75 = {
name = "sbond75";
email = "43617712+sbond75@users.noreply.github.com";
github = "sbond75";
githubId = 43617712;
};
sboosali = { sboosali = {
email = "SamBoosalis@gmail.com"; email = "SamBoosalis@gmail.com";
github = "sboosali"; github = "sboosali";
@ -8837,6 +8855,12 @@
githubId = 2389333; githubId = 2389333;
name = "Andy Tockman"; name = "Andy Tockman";
}; };
Technical27 = {
email = "38222826+Technical27@users.noreply.github.com";
github = "Technical27";
githubId = 38222826;
name = "Aamaruvi Yogamani";
};
teh = { teh = {
email = "tehunger@gmail.com"; email = "tehunger@gmail.com";
github = "teh"; github = "teh";
@ -10174,6 +10198,16 @@
github = "ymarkus"; github = "ymarkus";
githubId = 62380378; 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 = { ymeister = {
name = "Yuri Meister"; name = "Yuri Meister";
email = "47071325+ymeister@users.noreply.github.com"; 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."; 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 = { freedesktop = {
members = [ jtojnar worldofpeace ]; members = [ jtojnar worldofpeace ];
scope = "Maintain Freedesktop.org packages for graphical desktop."; scope = "Maintain Freedesktop.org packages for graphical desktop.";

View file

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

View file

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

View file

@ -5,6 +5,8 @@ let
cfg = config.hardware.opentabletdriver; cfg = config.hardware.opentabletdriver;
in in
{ {
meta.maintainers = with lib.maintainers; [ thiagokokada ];
options = { options = {
hardware.opentabletdriver = { hardware.opentabletdriver = {
enable = mkOption { 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; gid = config.ids.gids.mpd;
cfg = config.services.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" '' mpdConf = pkgs.writeText "mpd.conf" ''
# This file was automatically generated by NixOS. Edit mpd's configuration # This file was automatically generated by NixOS. Edit mpd's configuration
# via NixOS' configuration.nix, as this file will be rewritten upon mpd's # via NixOS' configuration.nix, as this file will be rewritten upon mpd's
@ -32,6 +40,8 @@ let
} }
''} ''}
${credentialsPlaceholder cfg.credentials}
${cfg.extraConfig} ${cfg.extraConfig}
''; '';
@ -152,16 +162,35 @@ in {
''; '';
}; };
credentialsFile = mkOption { credentials = mkOption {
type = types.listOf (types.submodule {
options = {
passwordFile = mkOption {
type = types.path; type = types.path;
description = '' description = ''
Path to a file to be merged with the settings during the service startup. Path to file containing the password.
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>
''; '';
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 { fluidsynth = mkOption {
@ -201,12 +230,15 @@ in {
serviceConfig = mkMerge [ serviceConfig = mkMerge [
{ {
User = "${cfg.user}"; User = "${cfg.user}";
ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon /etc/mpd.conf"; ExecStart = "${pkgs.mpd}/bin/mpd --no-daemon /run/mpd/mpd.conf";
ExecStartPre = pkgs.writeScript "mpd-start-pre" '' ExecStartPre = pkgs.writeShellScript "mpd-start-pre" ''
#!${pkgs.runtimeShell}
set -euo pipefail 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"; Type = "notify";
LimitRTPRIO = 50; LimitRTPRIO = 50;
LimitRTTIME = "infinity"; 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) { users.users = optionalAttrs (cfg.user == name) {
${name} = { ${name} = {

View file

@ -4,31 +4,16 @@ with lib;
let let
cfg = config.services.redis; 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" '' mkValueString = value:
port ${toString cfg.port} if value == true then "yes"
${condOption "bind" cfg.bind} else if value == false then "no"
${condOption "unixsocket" cfg.unixSocket} else generators.mkValueStringDefault { } value;
daemonize no
supervised systemd redisConfig = pkgs.writeText "redis.conf" (generators.toKeyValue {
loglevel ${cfg.logLevel} listsAsDuplicateKeys = true;
logfile ${cfg.logfile} mkKeyValue = generators.mkKeyValueDefault { inherit mkValueString; } " ";
syslog-enabled ${redisBool cfg.syslog} } cfg.settings);
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}
'';
in in
{ {
imports = [ 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" "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" "appendOnlyFilename" ] "This option was never used.")
(mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.") (mkRemovedOptionModule [ "services" "redis" "pidFile" ] "This option was removed.")
(mkRemovedOptionModule [ "services" "redis" "extraConfig" ] "Use services.redis.settings instead.")
]; ];
###### interface ###### interface
@ -191,10 +177,20 @@ in
description = "Maximum number of items to keep in slow log."; description = "Maximum number of items to keep in slow log.";
}; };
extraConfig = mkOption { settings = mkOption {
type = types.lines; type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
default = ""; default = {};
description = "Extra configuration options for redis.conf."; 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 ]; 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 = { systemd.services.redis = {
description = "Redis Server"; description = "Redis Server";

View file

@ -93,11 +93,11 @@ in {
assertions = [ assertions = [
{ {
assertion = cfg.pulse.enable -> !config.hardware.pulseaudio.enable; 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; 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"; 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 { config = mkIf cfg.enable {
@ -59,7 +64,7 @@ in {
serviceConfig = { serviceConfig = {
Restart = "always"; 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; DynamicUser = true;

View file

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

View file

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

View file

@ -3,9 +3,19 @@
with lib; with lib;
let let
cfg = config.services.getty;
autologinArg = optionalString (config.services.getty.autologinUser != null) "--autologin ${config.services.getty.autologinUser}"; loginArgs = [
gettyCmd = extraArgs: "@${pkgs.util-linux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login ${autologinArg} ${extraArgs}"; "--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 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 { greetingLine = mkOption {
type = types.str; type = types.str;
description = '' description = ''

View file

@ -10,6 +10,10 @@
<link linkend="opt-services.nextcloud.enable">services.nextcloud</link>. A <link linkend="opt-services.nextcloud.enable">services.nextcloud</link>. A
desktop client is packaged at <literal>pkgs.nextcloud-client</literal>. desktop client is packaged at <literal>pkgs.nextcloud-client</literal>.
</para> </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"> <section xml:id="module-services-nextcloud-basic-usage">
<title>Basic usage</title> <title>Basic usage</title>
@ -210,7 +214,7 @@
nextcloud17 = generic { nextcloud17 = generic {
version = "17.0.x"; version = "17.0.x";
sha256 = "0000000000000000000000000000000000000000000000000000"; sha256 = "0000000000000000000000000000000000000000000000000000";
insecure = true; eol = true;
}; };
}</programlisting> }</programlisting>
</para> </para>

View file

@ -206,6 +206,12 @@ let
${cfg.httpConfig} ${cfg.httpConfig}
}''} }''}
${optionalString (cfg.streamConfig != "") ''
stream {
${cfg.streamConfig}
}
''}
${cfg.appendConfig} ${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 { eventsConfig = mkOption {
type = types.lines; type = types.lines;
default = ""; default = "";

View file

@ -30,7 +30,13 @@ with lib;
config = { 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"; systemd.tmpfiles.rules = optional config.boot.cleanTmpDir "D! /tmp 1777 root root";

View file

@ -100,6 +100,10 @@ in
packages = [ cfg.lxcPackage ]; 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 = { systemd.services.lxd = {
description = "LXD Container Management Daemon"; description = "LXD Container Management Daemon";

View file

@ -1,6 +1,8 @@
{ config, lib, pkgs, utils, ... }: { config, lib, pkgs, utils, ... }:
let let
cfg = config.virtualisation.podman; cfg = config.virtualisation.podman;
toml = pkgs.formats.toml { };
nvidia-docker = pkgs.nvidia-docker.override { containerRuntimePath = "${pkgs.runc}/bin/runc"; };
inherit (lib) mkOption types; 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 { extraPackages = mkOption {
type = with types; listOf package; type = with types; listOf package;
default = [ ]; default = [ ];
@ -78,21 +88,37 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable (lib.mkMerge [
{
environment.systemPackages = [ cfg.package ] environment.systemPackages = [ cfg.package ]
++ lib.optional cfg.dockerCompat dockerCompat; ++ 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"; 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 = {
virtualisation.containers.enable = true; enable = true; # Enable common /etc/containers configuration
containersConf.extraConfig = lib.optionalString cfg.enableNvidia
assertions = [{ (builtins.readFile (toml.generate "podman.nvidia.containers.conf" {
assertion = cfg.dockerCompat -> !config.virtualisation.docker.enable; engine = {
message = "Option dockerCompat conflicts with docker"; 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 {}; openssh = handleTest ./openssh.nix {};
openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {}; openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {};
openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {}; openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {};
opentabletdriver = handleTest ./opentabletdriver.nix {};
image-contents = handleTest ./image-contents.nix {}; image-contents = handleTest ./image-contents.nix {};
orangefs = handleTest ./orangefs.nix {}; orangefs = handleTest ./orangefs.nix {};
os-prober = handleTestOn ["x86_64-linux"] ./os-prober.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 { stdenv
, fetchurl , fetchurl
, pkg-config
, alsaLib , alsaLib
, audiofile , audiofile
, libjack2 , libjack2
@ -9,9 +10,14 @@
, libsndfile , libsndfile
, lilv , lilv
, lv2 , 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 { stdenv.mkDerivation rec {
pname = "ecasound"; pname = "ecasound";
@ -22,7 +28,34 @@ stdenv.mkDerivation rec {
sha256 = "1m7njfjdb7sqf0lhgc4swihgdr4snkg8v02wcly08wb5ar2fr2s6"; 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 = { meta = {
description = "Software package designed for multitrack audio processing"; description = "Software package designed for multitrack audio processing";

View file

@ -1,6 +1,7 @@
{ lib { lib
, mopidy , mopidy
, python3Packages , python3Packages
, fetchpatch
}: }:
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
@ -21,6 +22,14 @@ python3Packages.buildPythonApplication rec {
python3Packages.pytestCheckHook 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; { meta = with lib; {
homepage = "https://github.com/mopidy/mopidy-local"; homepage = "https://github.com/mopidy/mopidy-local";
description = "Mopidy extension for playing music from your local music archive"; description = "Mopidy extension for playing music from your local music archive";

View file

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

View file

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

View file

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

View file

@ -12,13 +12,13 @@ let
; ;
in pythonPackages.buildPythonApplication rec { in pythonPackages.buildPythonApplication rec {
pname = "picard"; pname = "picard";
version = "2.5.5"; version = "2.5.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "metabrainz"; owner = "metabrainz";
repo = pname; repo = pname;
rev = "release-${version}"; rev = "release-${version}";
sha256 = "0i97cfnfgg4g13ms8x3bq279s4r7jckxxrv3sdz7dxpcn6gkw35s"; sha256 = "1mkbg44bm642mlpfxsdlw947var6a3sf9m6c897b4n0742hsdkbc";
}; };
nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ] 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 { rustPlatform.buildRustPackage rec {
pname = "spotify-tui"; pname = "spotify-tui";
version = "0.22.0"; version = "0.23.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Rigellute"; owner = "Rigellute";
repo = "spotify-tui"; repo = "spotify-tui";
rev = "v${version}"; 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 = [ ] buildInputs = [ ]
++ stdenv.lib.optionals stdenv.isLinux [ openssl libxcb ] ++ stdenv.lib.optionals stdenv.isLinux [ openssl libxcb ]
++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Security ]; ++ 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; { meta = with stdenv.lib; {
description = "Spotify for the terminal written in Rust"; description = "Spotify for the terminal written in Rust";
homepage = "https://github.com/Rigellute/spotify-tui"; 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; license = licenses.mit;
maintainers = with maintainers; [ jwijenbergh ]; maintainers = with maintainers; [ jwijenbergh ];
}; };

View file

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

View file

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

View file

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

View file

@ -1,30 +1,117 @@
{ stdenv, fetchurl, alsaLib, cairo, cmake, libjack2, fftw, fltk13, lash, libjpeg { lib
, libXpm, minixml, ntk, pkgconfig, zlib, liblo , 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"; pname = "zynaddsubfx";
version = "3.0.5"; version = "3.0.5";
src = fetchurl { src = fetchFromGitHub {
url = "mirror://sourceforge/zynaddsubfx/zynaddsubfx-${version}.tar.bz2"; owner = pname;
sha256 = "0qwzg14h043rmyf9jqdylxhyfy4sl0vsr0gjql51wjhid0i34ivl"; repo = pname;
rev = version;
sha256 = "1vh1gszgjxwn8m32rk5222z1j2cnjax0bqpag7b47v6i36p2q4x8";
fetchSubmodules = true;
}; };
buildInputs = [ alsaLib cairo libjack2 fftw fltk13 lash libjpeg libXpm minixml ntk zlib liblo ]; postPatch = ''
nativeBuildInputs = [ cmake pkgconfig ];
patchPhase = ''
substituteInPlace src/Misc/Config.cpp --replace /usr $out 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; license = licenses.gpl2;
maintainers = with maintainers; [ goibhniu metadark ];
platforms = platforms.linux; 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; 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: { pdf-tools = super.pdf-tools.overrideAttrs (old: {
nativeBuildInputs = [ external.pkgconfig ]; nativeBuildInputs = [ external.pkgconfig ];
buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ]; buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];

View file

@ -2,13 +2,13 @@
mkDerivation rec { mkDerivation rec {
pname = "ghostwriter"; pname = "ghostwriter";
version = "1.8.1"; version = "2.0.0-rc3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wereturtle"; owner = "wereturtle";
repo = pname; repo = pname;
rev = "v${version}"; rev = version;
sha256 = "0jc6szfh5sdnafhwsr1xv7cn1fznniq58bix41hb9wlbkvq7wzi6"; sha256 = "sha256-Ag97iE++f3nG2zlwqn0qxSL9RpF8O3XWH9NtQ5kFuWg=";
}; };
nativeBuildInputs = [ qmake pkgconfig qttools ]; nativeBuildInputs = [ qmake pkgconfig qttools ];
@ -20,6 +20,7 @@ mkDerivation rec {
homepage = src.meta.homepage; homepage = src.meta.homepage;
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
platforms = platforms.unix; 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 { buildPythonApplication rec {
pname = "thonny"; pname = "thonny";
version = "3.3.1"; version = "3.3.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0nk4kx6apmnd6fyd9zw77yprjzgjf7micvcws2i2sci0d9fff34c"; sha256 = "1pzy7v48x4ip8v6aqm8hl5ywx7xiqbsfypxxifih8gnlangp1n8y";
}; };
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python3.pkgs; [

View file

@ -116,6 +116,7 @@ mkDerivation rec {
"-DENABLE_INTERNALMYSQL=1" "-DENABLE_INTERNALMYSQL=1"
"-DENABLE_MEDIAPLAYER=1" "-DENABLE_MEDIAPLAYER=1"
"-DENABLE_QWEBENGINE=on" "-DENABLE_QWEBENGINE=on"
"-DENABLE_APPSTYLES=on"
]; ];
dontWrapGApps = true; 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 , cmocka
, docbook_xsl , docbook_xsl
, fetchFromGitHub , libxslt
, fontconfig , fontconfig
, freeimage , meson
, ninja
, pkgconfig
, icu , icu
, pango
, inih
, withWindowSystem ? "all"
, xorg
, libxkbcommon
, libGLU , libGLU
, libheif , wayland
, withBackends ? [ "freeimage" "libtiff" "libjpeg" "libpng" "librsvg" "libnsgif" "libheif" ]
, freeimage
, libtiff
, libjpeg_turbo , libjpeg_turbo
, libpng , libpng
, librsvg , librsvg
, libtiff
, libxkbcommon
, libxslt
, netsurf , netsurf
, pango , libheif
, pkgconfig
, stdenv
, wayland
}: }:
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 { stdenv.mkDerivation rec {
pname = "imv"; pname = "imv";
version = "4.1.0"; version = "4.2.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "eXeC64"; owner = "eXeC64";
repo = "imv"; repo = "imv";
rev = "v${version}"; rev = "v${version}";
sha256 = "0gk8g178i961nn3bls75a8qpv6wvfvav6hd9lxca1skaikd33zdx"; sha256 = "07pcpppmfvvj0czfvp1cyq03ha0jdj4whl13lzvw37q3vpxs5qqh";
}; };
nativeBuildInputs = [ asciidoc cmocka docbook_xsl libxslt ]; mesonFlags = [
"-Dwindows=${withWindowSystem}"
"-Dtest=enabled"
"-Dman=enabled"
] ++ backendFlags;
buildInputs = [ nativeBuildInputs = [
freeimage asciidoc
icu cmocka
libGLU docbook_xsl
libjpeg_turbo libxslt
librsvg meson
libxkbcommon ninja
netsurf.libnsgif
pango
pkgconfig 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 = lib.optionalString (withWindowSystem == "all") ''
postFixup = ''
# The `bin/imv` script assumes imv-wayland or imv-x11 in PATH, # 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 # 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 substituteInPlace "$out/bin/imv" \
sed -i "s|\bimv-x11\b|$out/bin/imv-x11|" $out/bin/imv --replace "imv-wayland" "$out/bin/imv-wayland" \
--replace "imv-x11" "$out/bin/imv-x11"
''; '';
doCheck = true; 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 { stdenv, fetchFromGitHub
, pkgconfig , pkg-config
, freetype, giflib, gtk2, lcms2, libjpeg, libpng, libtiff, openjpeg, gifsicle , freetype, giflib, gtk3, lcms2, libjpeg, libpng, libtiff, openjpeg, gifsicle
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
p_name = "mtPaint"; p_name = "mtPaint";
ver_maj = "3.49"; ver_maj = "3.50";
ver_min = "12"; ver_min = "01";
name = "${p_name}-${ver_maj}.${ver_min}"; name = "${p_name}-${ver_maj}.${ver_min}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "wjaguar"; owner = "wjaguar";
repo = p_name; repo = p_name;
rev = "6aed1b0441f99055fc7d475942f8bd5cb23c41f8"; rev = "a4675ff5cd9fcd57d291444cb9f332b48f11243f";
sha256 = "0bvf623g0n2ifijcxv1nw0z3wbs2vhhdky4n04ywsbjlykm44nd1"; sha256 = "04wqxz8i655gz5rnz90cksy8v6m2jhcn1j8rzhqpp5xhawlmq24y";
}; };
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ buildInputs = [
freetype giflib gtk2 lcms2 libjpeg libpng libtiff openjpeg gifsicle freetype giflib gtk3 lcms2 libjpeg libpng libtiff openjpeg gifsicle
]; ];
configureFlags = [ "gtk3" "intl" "man" ];
meta = { meta = {
description = "A simple GTK painting program"; description = "A simple GTK painting program";
longDescription = '' longDescription = ''
@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
GNU/Linux, Windows and older PC hardware. GNU/Linux, Windows and older PC hardware.
''; '';
homepage = "http://mtpaint.sourceforge.net/"; homepage = "http://mtpaint.sourceforge.net/";
license = stdenv.lib.licenses.gpl3; license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.vklquevs ]; 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 { stdenv.mkDerivation rec {
pname = "1password"; pname = "1password";
version = "1.7.0"; version = "1.8.0";
src = src =
if stdenv.isLinux then fetchzip { if stdenv.isLinux then fetchzip {
url = { 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"; "x86_64-linux" = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_linux_amd64_v${version}.zip";
}.${stdenv.hostPlatform.system}; }.${stdenv.hostPlatform.system};
sha256 = { sha256 = {
"i686-linux" = "0fvi9pfcm6pfy628q2lg62bkikrgsisynrk3kkjisb9ldcyjgabw"; "i686-linux" = "teoxscan+EZ76Q0sfKT6nt1w/LSsmDoiN2oh+NGO/4A=";
"x86_64-linux" = "1iskhls8g8w2zhk79gprz4vzrmm7r7fq87gwgd4xmj5md4nkzran"; "x86_64-linux" = "nRK2GSwhQe5OgcAdR1fg0vUp3fzEkhwU/teIwsEEemw=";
}.${stdenv.hostPlatform.system}; }.${stdenv.hostPlatform.system};
stripRoot = false; stripRoot = false;
} else fetchurl { } else fetchurl {
url = "https://cache.agilebits.com/dist/1P/op/pkg/v${version}/op_darwin_amd64_v${version}.pkg"; 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 ]; 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 , ilmbase, libXi, libX11, libXext, libXrender
, libjpeg, libpng, libsamplerate, libsndfile , libjpeg, libpng, libsamplerate, libsndfile
, libtiff, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio2, openjpeg, python3Packages , libtiff, libGLU, libGL, openal, opencolorio, openexr, openimagedenoise, openimageio2, openjpeg, python3Packages
@ -13,9 +13,14 @@
}: }:
with lib; 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 { stdenv.mkDerivation rec {
pname = "blender"; pname = "blender";
version = "2.91.0"; version = "2.91.0";
@ -111,7 +116,11 @@ stdenv.mkDerivation rec {
# Clang doesn't support "-export-dynamic" # Clang doesn't support "-export-dynamic"
++ optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS=" ++ optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS="
++ optional jackaudioSupport "-DWITH_JACK=ON" ++ 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}"; 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"; homepage = "https://www.blender.org";
# They comment two licenses: GPLv2 and Blender License, but they # They comment two licenses: GPLv2 and Blender License, but they
# say: "We've decided to cancel the BL offering for an indefinite period." # 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" ]; platforms = [ "x86_64-linux" "x86_64-darwin" ];
maintainers = with maintainers; [ goibhniu veprbl ]; maintainers = with maintainers; [ goibhniu veprbl ];
}; };

View file

@ -5,13 +5,13 @@
buildGoModule rec { buildGoModule rec {
pname = "dasel"; pname = "dasel";
version = "1.12.0"; version = "1.12.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "TomWright"; owner = "TomWright";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "69igz0Q7pT0f6PsbZWHcwUiTKRTTzj7r5E6E5ExUoJo="; sha256 = "/WB/SsOih0N5P4cUAD6zkCajplzZ/Jez0H80+CG08rc=";
}; };
vendorSha256 = "BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY="; 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 { stdenv.mkDerivation rec {
pname = "gpsbabel"; pname = "gpsbabel";
version = "1.6.0"; version = "1.7.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gpsbabel"; owner = "gpsbabel";
repo = "gpsbabel"; repo = "gpsbabel";
rev = "gpsbabel_${lib.replaceStrings ["."] ["_"] version}"; rev = "gpsbabel_${lib.replaceStrings ["."] ["_"] version}";
sha256 = "0q17jhmaf7z5lld2ff7h6jb3v1yz8hbwd2rmaq2dsamc53dls8iw"; sha256 = "010g0vd2f5knpq5p7qfnl31kv3r8m5sjdsafcinbj5gh02j2nzpy";
}; };
patches = [ 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 ]; ++ 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: /* FIXME: Building the documentation, with "make doc", requires this:
[ libxml2 libxslt perl docbook_xml_dtd_412 docbook_xsl fop ] [ libxml2 libxslt perl docbook_xml_dtd_412 docbook_xsl fop ]
@ -41,6 +43,8 @@ stdenv.mkDerivation rec {
patchShebangs testo patchShebangs testo
substituteInPlace testo \ substituteInPlace testo \
--replace "-x /usr/bin/hexdump" "" --replace "-x /usr/bin/hexdump" ""
rm -v testo.d/alantrl.test
'' ''
# The raymarine and gtm tests fail on i686 despite -ffloat-store. # 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;" + 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-feed", "~> 0.9"
gem "jekyll-gist" gem "jekyll-gist"
gem "jekyll-paginate" gem "jekyll-paginate"
gem "jekyll-polyglot"
gem "jekyll-redirect-from" gem "jekyll-redirect-from"
gem "kramdown-syntax-coderay" gem "kramdown-syntax-coderay"
gem "mime-types", "~> 3.0" gem "mime-types", "~> 3.0"

View file

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

View file

@ -297,6 +297,17 @@
}; };
version = "1.1.0"; 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 = { jekyll-redirect-from = {
dependencies = ["jekyll"]; dependencies = ["jekyll"];
groups = ["default"]; groups = ["default"];

View file

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

View file

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

View file

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

View file

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

View file

@ -1,21 +1,26 @@
{ stdenv, lib, fetchFromGitHub, pkgconfig, qmake, mkDerivation, { stdenv
qtsvg, , lib
libxml2, postgresql }: , fetchFromGitHub
, pkg-config
, qmake
, mkDerivation
, qtsvg
, libxml2
, postgresql
}:
mkDerivation rec { mkDerivation rec {
pname = "pgmodeler"; pname = "pgmodeler";
version = "0.9.2"; version = "0.9.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "pgmodeler"; owner = "pgmodeler";
repo = "pgmodeler"; repo = "pgmodeler";
rev = "v${version}"; rev = "v${version}";
sha256 = "1wkvg20krfwkziz7skgmwlinx07jm5nl3455payg5brv69zf60kl"; sha256 = "1bci5x418dbnkny7hn0b5q5lxyajrgl3frv41ji0hcw9vivrds2g";
}; };
enableParallelBuilding = true; nativeBuildInputs = [ pkg-config qmake ];
nativeBuildInputs = [ pkgconfig qmake ];
qmakeFlags = [ "pgmodeler.pro" "CONFIG+=release" ]; qmakeFlags = [ "pgmodeler.pro" "CONFIG+=release" ];
# todo: libpq would suffice here. Unfortunately this won't work, if one uses only postgresql.lib here. # 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; { meta = with stdenv.lib; {
description = "A database modeling tool for PostgreSQL"; 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/"; homepage = "https://pgmodeler.io/";
license = licenses.gpl3; license = licenses.gpl3;
maintainers = [ maintainers.esclear ]; 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"; description = "Share one mouse and keyboard between multiple computers";
homepage = "http://synergy-project.org/"; homepage = "http://synergy-project.org/";
license = licenses.gpl2; license = licenses.gpl2;
maintainers = with maintainers; [ enzime ]; maintainers = with maintainers; [ ];
platforms = platforms.all; 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 let
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
makeWrapper "$dest/ApacheDirectoryStudio" \ makeWrapper "$dest/ApacheDirectoryStudio" \
"$out/bin/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 icon.xpm "$out/share/pixmaps/apache-directory-studio.xpm"
install -D -t "$out/share/applications" ${desktopItem}/share/applications/* 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": { "stable": {
"version": "87.0.4280.88", "version": "87.0.4280.141",
"sha256": "1h09g9b2zxad85vd146ymvg3w2kpngpi78yig3dn1vrmhwr4aiiy", "sha256": "0x9k809m36pfirnw2vnr9pk93nxdbgrvna0xf1rs3q91zkbr2x8l",
"sha256bin64": "0n3fm6wf8zfkv135d50xl8xxrnng3q55vyxkck1da8jyvh18bijb", "sha256bin64": "0wq3yi0qyxzcid390w5rh4xjq92fjajvlifjl70g6sqnbk6vgvdp",
"deps": { "deps": {
"gn": { "gn": {
"version": "2020-09-09", "version": "2020-09-09",
@ -13,14 +13,14 @@
}, },
"chromedriver": { "chromedriver": {
"version": "87.0.4280.88", "version": "87.0.4280.88",
"sha256_linux": "11plh2hs2zpa14ymlbnj92pa58krl28yw4c0s55wk8qsxvzvl02m", "sha256_linux": "1insh1imi25sj4hdkbll5rzwnag8wvfxv4ckshpq8akl8r13p6lj",
"sha256_darwin": "048hsqp6575r980m769lzznvxypmfcwn89f1d3ik751ymzmb5r78" "sha256_darwin": "048hsqp6575r980m769lzznvxypmfcwn89f1d3ik751ymzmb5r78"
} }
}, },
"beta": { "beta": {
"version": "88.0.4324.50", "version": "88.0.4324.79",
"sha256": "17v0qp05785xc4whsbw6fmf0x5ccjx2mk6n4qy6z2mx2yjjjfv8q", "sha256": "1xmssngzg370gazvqngw5mzhfq476fan5y3sp4ggs8fx5anh6jlz",
"sha256bin64": "01cphbd56l7g3cdmrvwynkzrpx9h3v7pz6ac76sxlp6irjzhbnva", "sha256bin64": "16m2k4kr92236yvfnl276cy77d5324b7ca3grsw990c0b2kgizq7",
"deps": { "deps": {
"gn": { "gn": {
"version": "2020-11-05", "version": "2020-11-05",
@ -31,15 +31,15 @@
} }
}, },
"dev": { "dev": {
"version": "89.0.4356.6", "version": "89.0.4381.6",
"sha256": "1jq0wbaaz07kz2190rq3vl2b5spx3qfda4al9ygkm8man817d2nr", "sha256": "031w24qf5cn9y30pgh736g67p6c10kwpflhvxa24h0v99gqnah2i",
"sha256bin64": "0dgvp2my328s4ah0hmp1hg1c3x21gkrz9mjvbfs54r2pjb7y5sbl", "sha256bin64": "1fssdxllq2ncpy8s7ykbq33456hfjlgj1m5147wbg2c5k36rj78s",
"deps": { "deps": {
"gn": { "gn": {
"version": "2020-11-05", "version": "2020-12-22",
"url": "https://gn.googlesource.com/gn", "url": "https://gn.googlesource.com/gn",
"rev": "53d92014bf94c3893886470a1c7c1289f8818db0", "rev": "0d67e272bdb8145f87d238bc0b2cb8bf80ccec90",
"sha256": "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9" "sha256": "07mrfl9hbjldbgidwwhr482a0s0ppqzwa5j7v5nbqxj18j55iril"
} }
} }
}, },

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -3,17 +3,17 @@
let let
common = { stname, target, postInstall ? "" }: common = { stname, target, postInstall ? "" }:
buildGoModule rec { buildGoModule rec {
version = "1.12.0"; version = "1.12.1";
name = "${stname}-${version}"; name = "${stname}-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "syncthing"; owner = "syncthing";
repo = "syncthing"; repo = "syncthing";
rev = "v${version}"; rev = "v${version}";
sha256 = "09kqc66pnklhmlcn66c5zydnvy2mfs2hqzd1465ydww8bbgcncss"; sha256 = "1jyqkprb9ps8xc86qnf140wbx5kvshyihxxgym409kfks6dk3cq5";
}; };
vendorSha256 = "1jw0k1wm9mfsa2yr2fi2j8mrlykrlcwfnii07rafv9dnnwabs022"; vendorSha256 = "1xlkc47wfhsf6gzq9sgimlzqnrqdsjgc1zzfkjp3xzbbv5ay7wca";
doCheck = false; 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, { stdenv, fetchFromGitHub, pkg-config, cmake, gtk3, wxGTK30-gtk3,
wxGTK30-gtk3, curl, gettext, glib, indilib, libnova }: curl, gettext, glib, indilib, libnova, wrapGAppsHook }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "phd2"; pname = "phd2";
@ -12,13 +12,18 @@ stdenv.mkDerivation rec {
sha256 = "1ih7m9lilh12xbhmwm9kkicaqy72mi3firl6df7m5x38n2zj3zm4"; sha256 = "1ih7m9lilh12xbhmwm9kkicaqy72mi3firl6df7m5x38n2zj3zm4";
}; };
nativeBuildInputs = [ cmake pkg-config ]; nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
buildInputs = [ gtk3 wxGTK30-gtk3 curl gettext glib indilib libnova ]; buildInputs = [ gtk3 wxGTK30-gtk3 curl gettext glib indilib libnova ];
cmakeFlags = [ cmakeFlags = [
"-DOPENSOURCE_ONLY=1" "-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; { meta = with stdenv.lib; {
homepage = "https://openphdguiding.org/"; homepage = "https://openphdguiding.org/";
description = "Telescope auto-guidance application"; 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 { stdenv.mkDerivation rec {
pname = "last"; pname = "last";
version = "1145"; version = "1170";
src = fetchurl { src = fetchurl {
url = "http://last.cbrc.jp/last-${version}.zip"; url = "http://last.cbrc.jp/last-${version}.zip";
sha256 = "0g54nmxxrirgid1i1k5i6rf7vnjpk9548sy06yqb4fj7vdzqgq99"; sha256 = "sha256-hBuG6QGXtBrvNrtaZU+i8gxu2ZQw+srFRkbuWoL5JHc=";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "varscan"; pname = "varscan";
version = "2.4.2"; version = "2.4.4";
src = fetchurl { src = fetchurl {
url = "https://github.com/dkoboldt/varscan/releases/download/${version}/VarScan.v${version}.jar"; url = "https://github.com/dkoboldt/varscan/raw/master/VarScan.v${version}.jar";
sha256 = "0cfhshinyqgwc6i7zf8lhbfybyly2x5anrz824zyvdhzz5i69zrl"; sha256 = "sha256-+yO3KrZ2+1qJvQIJHCtsmv8hC5a+4E2d7mrvTYtygU0=";
}; };
buildInputs = [ jre makeWrapper ]; 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 for lib in "${libs[@]}"; do
echo "Checking ${lib}" >&2 echo "Checking ${lib}" >&2
url="${gitlab}/libraries/kicad-${lib}.git" 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_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)" 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 if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then

View file

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

View file

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

View file

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

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "qalculate-gtk"; pname = "qalculate-gtk";
version = "3.15.0"; version = "3.16.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qalculate"; owner = "qalculate";
repo = "qalculate-gtk"; repo = "qalculate-gtk";
rev = "v${version}"; rev = "v${version}";
sha256 = "1w0r9vv1h3zbfdvk8965g5plfkz5clf81riil5b394ms9vsw0bx5"; sha256 = "1vqzrh5zxwfvih6c3lak0wkkw6bajl88xzl1zk84gxsk9wdymrk4";
}; };
hardeningDisable = [ "format" ]; 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) # adapt sage's Image class to pillow 8.0.1 (https://trac.sagemath.org/ticket/30971)
./patches/pillow-update.patch ./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; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;

View file

@ -52,16 +52,16 @@ let
in in
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "alacritty"; pname = "alacritty";
version = "0.6.0"; version = "0.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alacritty"; owner = "alacritty";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "vQdNwNiUvoJWRT1foPRadirI2zWjnzU3sGnIxeHKlj8="; sha256 = "8alCFtr+3aJsqQ2Ra8u5/SRHfDvMq2kRvRCKo/zwMK0=";
}; };
cargoSha256 = "1PQSg6EmwVMZj2ALw6qsbtPMCtALVHx5TR05FjGD/QE="; cargoSha256 = "kqRlxieChnhWtYYf67gi+2bncIzO56xpnv2uLjcINVM=";
nativeBuildInputs = [ nativeBuildInputs = [
cmake 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 , lib
, fetchFromGitHub , fetchFromGitHub
@ -8,6 +9,11 @@
, openssl , openssl
, perl , perl
# Apple frameworks
, CoreGraphics
, Cocoa
, Foundation
, dbus , dbus
, libX11 , libX11
, xcbutil , xcbutil
@ -25,6 +31,10 @@
}: }:
let let
runtimeDeps = [ runtimeDeps = [
zlib
fontconfig
freetype
] ++ stdenv.lib.optionals (stdenv.isLinux) [
libX11 libX11
xcbutil xcbutil
libxcb libxcb
@ -33,13 +43,14 @@ let
libxkbcommon libxkbcommon
dbus dbus
libglvnd libglvnd
zlib
egl-wayland egl-wayland
wayland wayland
libGLU libGLU
libGL libGL
fontconfig ] ++ stdenv.lib.optionals (stdenv.isDarwin) [
freetype Foundation
CoreGraphics
Cocoa
]; ];
pname = "wezterm"; pname = "wezterm";
in in
@ -67,10 +78,21 @@ rustPlatform.buildRustPackage {
buildInputs = runtimeDeps; buildInputs = runtimeDeps;
installPhase = '' installPhase = ''
'' + stdenv.lib.optionalString stdenv.isLinux ''
for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do for artifact in wezterm wezterm-gui wezterm-mux-server strip-ansi-escapes; do
patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact patchelf --set-rpath "${lib.makeLibraryPath runtimeDeps}" $releaseDir/$artifact
install -D $releaseDir/$artifact -t $out/bin install -D $releaseDir/$artifact -t $out/bin
done 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 # prevent further changes to the RPATH

View file

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

View file

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

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