Project import generated by Copybara.
GitOrigin-RevId: 2cf9db0e3d45b9d00f16f2836cb1297bcadc475e
This commit is contained in:
parent
556d6f0562
commit
6064764516
485 changed files with 7953 additions and 2760 deletions
|
@ -70,6 +70,40 @@ The `dotnetCorePackages.sdk` contains both a runtime and the full sdk of a given
|
|||
|
||||
## Packaging a Dotnet Application {#packaging-a-dotnet-application}
|
||||
|
||||
Ideally, we would like to build against the sdk, then only have the dotnet runtime available in the runtime closure.
|
||||
To package Dotnet applications, you can use `buildDotnetModule`. This has similar arguments to `stdenv.mkDerivation`, with the following additions:
|
||||
|
||||
TODO: Create closure-friendly way to package dotnet applications
|
||||
* `projectFile` has to be used for specifying the dotnet project file relative to the source root. These usually have `.sln` or `.csproj` file extensions.
|
||||
* `nugetDeps` has to be used to specify the NuGet dependency file. Unfortunately, these cannot be deterministically fetched without a lockfile. This file should be generated using `nuget-to-nix` tool, which is available in nixpkgs.
|
||||
* `executables` is used to specify which executables get wrapped to `$out/bin`, relative to `$out/lib/$pname`. If this is unset, all executables generated will get installed. If you do not want to install any, set this to `[]`.
|
||||
* `runtimeDeps` is used to wrap libraries into `LD_LIBRARY_PATH`. This is how dotnet usually handles runtime dependencies.
|
||||
* `buildType` is used to change the type of build. Possible values are `Release`, `Debug`, etc. By default, this is set to `Release`.
|
||||
* `dotnet-sdk` is useful in cases where you need to change what dotnet SDK is being used.
|
||||
* `dotnet-runtime` is useful in cases where you need to change what dotnet runtime is being used.
|
||||
* `dotnetRestoreFlags` can be used to pass flags to `dotnet restore`.
|
||||
* `dotnetBuildFlags` can be used to pass flags to `dotnet build`.
|
||||
* `dotnetInstallFlags` can be used to pass flags to `dotnet install`.
|
||||
* `dotnetFlags` can be used to pass flags to all of the above phases.
|
||||
|
||||
Here is an example `default.nix`, using some of the previously discussed arguments:
|
||||
```nix
|
||||
{ lib, buildDotnetModule, dotnetCorePackages, ffmpeg }:
|
||||
|
||||
buildDotnetModule rec {
|
||||
pname = "someDotnetApplication";
|
||||
version = "0.1";
|
||||
|
||||
src = ./.;
|
||||
|
||||
projectFile = "src/project.sln";
|
||||
nugetDeps = ./deps.nix; # File generated with `nuget-to-nix path/to/src > deps.nix`.
|
||||
|
||||
dotnet-sdk = dotnetCorePackages.sdk_3_1;
|
||||
dotnet-runtime = dotnetCorePackages.net_5_0;
|
||||
dotnetFlags = [ "--runtime linux-x64" ];
|
||||
|
||||
executables = [ "foo" ]; # This wraps "$out/lib/$pname/foo" to `$out/bin/foo`.
|
||||
executables = []; # Don't install any executables.
|
||||
|
||||
runtimeDeps = [ ffmpeg ]; # This will wrap ffmpeg's library path into `LD_LIBRARY_PATH`.
|
||||
}
|
||||
```
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<xi:include href="coq.section.xml" />
|
||||
<xi:include href="crystal.section.xml" />
|
||||
<xi:include href="dhall.section.xml" />
|
||||
<xi:include href="dotnet.section.xml" />
|
||||
<xi:include href="emscripten.section.xml" />
|
||||
<xi:include href="gnome.section.xml" />
|
||||
<xi:include href="go.section.xml" />
|
||||
|
|
21
third_party/nixpkgs/lib/trivial.nix
vendored
21
third_party/nixpkgs/lib/trivial.nix
vendored
|
@ -303,7 +303,26 @@ rec {
|
|||
# TODO: figure out a clever way to integrate location information from
|
||||
# something like __unsafeGetAttrPos.
|
||||
|
||||
warn = msg: builtins.trace "[1;31mwarning: ${msg}[0m";
|
||||
/*
|
||||
Print a warning before returning the second argument. This function behaves
|
||||
like `builtins.trace`, but requires a string message and formats it as a
|
||||
warning, including the `warning: ` prefix.
|
||||
|
||||
To get a call stack trace and abort evaluation, set the environment variable
|
||||
`NIX_ABORT_ON_WARN=true` and set the Nix options `--option pure-eval false --show-trace`
|
||||
|
||||
Type: string -> a -> a
|
||||
*/
|
||||
warn =
|
||||
if lib.elem (builtins.getEnv "NIX_ABORT_ON_WARN") ["1" "true" "yes"]
|
||||
then msg: builtins.trace "[1;31mwarning: ${msg}[0m" (abort "NIX_ABORT_ON_WARN=true; warnings are treated as unrecoverable errors.")
|
||||
else msg: builtins.trace "[1;31mwarning: ${msg}[0m";
|
||||
|
||||
/*
|
||||
Like warn, but only warn when the first argument is `true`.
|
||||
|
||||
Type: bool -> string -> a -> a
|
||||
*/
|
||||
warnIf = cond: msg: if cond then warn msg else id;
|
||||
|
||||
info = msg: builtins.trace "INFO: ${msg}";
|
||||
|
|
|
@ -440,6 +440,12 @@
|
|||
githubId = 173595;
|
||||
name = "Caleb Maclennan";
|
||||
};
|
||||
ALEX11BR = {
|
||||
email = "alexioanpopa11@gmail.com";
|
||||
github = "ALEX11BR";
|
||||
githubId = 49609151;
|
||||
name = "Popa Ioan Alexandru";
|
||||
};
|
||||
alexarice = {
|
||||
email = "alexrice999@hotmail.co.uk";
|
||||
github = "alexarice";
|
||||
|
@ -896,6 +902,12 @@
|
|||
githubId = 1296771;
|
||||
name = "Anders Riutta";
|
||||
};
|
||||
arkivm = {
|
||||
email = "vikram186@gmail.com";
|
||||
github = "arkivm";
|
||||
githubId = 1118815;
|
||||
name = "Vikram Narayanan";
|
||||
};
|
||||
armijnhemel = {
|
||||
email = "armijn@tjaldur.nl";
|
||||
github = "armijnhemel";
|
||||
|
@ -1909,6 +1921,12 @@
|
|||
email = "me@philscotted.com";
|
||||
name = "Phil Scott";
|
||||
};
|
||||
chekoopa = {
|
||||
email = "chekoopa@mail.ru";
|
||||
github = "chekoopa";
|
||||
githubId = 1689801;
|
||||
name = "Mikhail Chekan";
|
||||
};
|
||||
ChengCat = {
|
||||
email = "yu@cheng.cat";
|
||||
github = "ChengCat";
|
||||
|
@ -5449,6 +5467,12 @@
|
|||
githubId = 8735102;
|
||||
name = "John Ramsden";
|
||||
};
|
||||
johnrichardrinehart = {
|
||||
email = "johnrichardrinehart@gmail.com";
|
||||
github = "johnrichardrinehart";
|
||||
githubId = 6321578;
|
||||
name = "John Rinehart";
|
||||
};
|
||||
johntitor = {
|
||||
email = "huyuumi.dev@gmail.com";
|
||||
github = "JohnTitor";
|
||||
|
@ -10140,6 +10164,12 @@
|
|||
githubId = 307899;
|
||||
name = "Gurkan Gur";
|
||||
};
|
||||
sersorrel = {
|
||||
email = "ash@sorrel.sh";
|
||||
github = "sersorrel";
|
||||
githubId = 9433472;
|
||||
name = "ash";
|
||||
};
|
||||
servalcatty = {
|
||||
email = "servalcat@pm.me";
|
||||
github = "servalcatty";
|
||||
|
|
|
@ -137,7 +137,7 @@ with lib.maintainers; {
|
|||
cleverca22
|
||||
disassembler
|
||||
jonringer
|
||||
maveru
|
||||
manveru
|
||||
nrdxp
|
||||
];
|
||||
scope = "Input-Output Global employees, which maintain critical software";
|
||||
|
|
|
@ -81,6 +81,13 @@
|
|||
6</link> for more details.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
GNOME has been upgraded to 41. Please take a look at their
|
||||
<link xlink:href="https://help.gnome.org/misc/release-notes/41.0/">Release
|
||||
Notes</link> for details.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-21.11-new-services">
|
||||
|
@ -337,6 +344,13 @@
|
|||
controller support.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://github.com/opensvc/multipath-tools">multipath</link>,
|
||||
the device mapper multipath (DM-MP) daemon. Available as
|
||||
<link linkend="opt-services.multipath.enable">services.multipath</link>.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-21.11-incompatibilities">
|
||||
|
@ -1492,6 +1506,13 @@ Superuser created successfully.
|
|||
<literal>/etc/xdg/mimeapps.list</literal>.
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
Kopia was upgraded from 0.8.x to 0.9.x. Please read the
|
||||
<link xlink:href="https://github.com/kopia/kopia/releases/tag/v0.9.0">upstream
|
||||
release notes</link> for changes and upgrade instructions.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
</section>
|
||||
|
|
|
@ -28,6 +28,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- `kubernetes-helm` now defaults to 3.7.0, which introduced some breaking changes to the experimental OCI manifest format. See [HIP 6](https://github.com/helm/community/blob/main/hips/hip-0006.md) for more details.
|
||||
|
||||
- GNOME has been upgraded to 41. Please take a look at their [Release Notes](https://help.gnome.org/misc/release-notes/41.0/) for details.
|
||||
|
||||
## New Services {#sec-release-21.11-new-services}
|
||||
|
||||
- [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
|
||||
|
@ -103,6 +105,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- [joycond](https://github.com/DanielOgorchock/joycond), a service that uses `hid-nintendo` to provide nintendo joycond pairing and better nintendo switch pro controller support.
|
||||
|
||||
- [multipath](https://github.com/opensvc/multipath-tools), the device mapper multipath (DM-MP) daemon. Available as [services.multipath](#opt-services.multipath.enable).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
|
||||
|
||||
- The `services.wakeonlan` option was removed, and replaced with `networking.interfaces.<name>.wakeOnLan`.
|
||||
|
@ -432,3 +436,5 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
directories, thus increasing the purity of the build.
|
||||
|
||||
- Three new options, [xdg.mime.addedAssociations](#opt-xdg.mime.addedAssociations), [xdg.mime.defaultApplications](#opt-xdg.mime.defaultApplications), and [xdg.mime.removedAssociations](#opt-xdg.mime.removedAssociations) have been added to the [xdg.mime](#opt-xdg.mime.enable) module to allow the configuration of `/etc/xdg/mimeapps.list`.
|
||||
|
||||
- Kopia was upgraded from 0.8.x to 0.9.x. Please read the [upstream release notes](https://github.com/kopia/kopia/releases/tag/v0.9.0) for changes and upgrade instructions.
|
||||
|
|
|
@ -50,9 +50,8 @@ in
|
|||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
# This is enough to make a symlink because the xserver
|
||||
# module already links all /share/X11 paths.
|
||||
environment.systemPackages = [ x11Fonts ];
|
||||
environment.pathsToLink = [ "/share/X11/fonts" ];
|
||||
|
||||
services.xserver.filesSection = ''
|
||||
FontPath "${x11Fonts}/share/X11/fonts"
|
||||
|
|
|
@ -213,7 +213,7 @@ in
|
|||
}
|
||||
|
||||
{
|
||||
assertion = cfg.powerManagement.enable -> offloadCfg.enable;
|
||||
assertion = cfg.powerManagement.finegrained -> offloadCfg.enable;
|
||||
message = "Fine-grained power management requires offload to be enabled.";
|
||||
}
|
||||
|
||||
|
|
|
@ -779,6 +779,7 @@
|
|||
./services/networking/mstpd.nix
|
||||
./services/networking/mtprotoproxy.nix
|
||||
./services/networking/mullvad-vpn.nix
|
||||
./services/networking/multipath.nix
|
||||
./services/networking/murmur.nix
|
||||
./services/networking/mxisd.nix
|
||||
./services/networking/namecoind.nix
|
||||
|
|
|
@ -24,18 +24,21 @@ in
|
|||
|
||||
environment.systemPackages = [ pkgs.teamviewer ];
|
||||
|
||||
services.dbus.packages = [ pkgs.teamviewer ];
|
||||
|
||||
systemd.services.teamviewerd = {
|
||||
description = "TeamViewer remote control daemon";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "NetworkManager-wait-online.service" "network.target" ];
|
||||
after = [ "NetworkManager-wait-online.service" "network.target" "dbus.service" ];
|
||||
requires = [ "dbus.service" ];
|
||||
preStart = "mkdir -pv /var/lib/teamviewer /var/log/teamviewer";
|
||||
|
||||
startLimitIntervalSec = 60;
|
||||
startLimitBurst = 10;
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -d";
|
||||
Type = "simple";
|
||||
ExecStart = "${pkgs.teamviewer}/bin/teamviewerd -f";
|
||||
PIDFile = "/run/teamviewerd.pid";
|
||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||
Restart = "on-abort";
|
||||
|
|
|
@ -64,6 +64,12 @@ in
|
|||
default = false;
|
||||
};
|
||||
|
||||
extraIscsiCommands = mkOption {
|
||||
description = "Extra iscsi commands to run in the initrd.";
|
||||
default = "";
|
||||
type = lines;
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
description = "Extra lines to append to /etc/iscsid.conf";
|
||||
default = null;
|
||||
|
@ -162,6 +168,9 @@ in
|
|||
'' else ''
|
||||
iscsiadm --mode node --targetname ${escapeShellArg cfg.target} --login
|
||||
''}
|
||||
|
||||
${cfg.extraIscsiCommands}
|
||||
|
||||
pkill -9 iscsid
|
||||
'';
|
||||
};
|
||||
|
|
572
third_party/nixpkgs/nixos/modules/services/networking/multipath.nix
vendored
Normal file
572
third_party/nixpkgs/nixos/modules/services/networking/multipath.nix
vendored
Normal file
|
@ -0,0 +1,572 @@
|
|||
{ config, lib, pkgs, ... }: with lib;
|
||||
|
||||
# See http://christophe.varoqui.free.fr/usage.html and
|
||||
# https://github.com/opensvc/multipath-tools/blob/master/multipath/multipath.conf.5
|
||||
|
||||
let
|
||||
cfg = config.services.multipath;
|
||||
|
||||
indentLines = n: str: concatStringsSep "\n" (
|
||||
map (line: "${fixedWidthString n " " " "}${line}") (
|
||||
filter ( x: x != "" ) ( splitString "\n" str )
|
||||
)
|
||||
);
|
||||
|
||||
addCheckDesc = desc: elemType: check: types.addCheck elemType check
|
||||
// { description = "${elemType.description} (with check: ${desc})"; };
|
||||
hexChars = stringToCharacters "0123456789abcdef";
|
||||
isHexString = s: all (c: elem c hexChars) (stringToCharacters (toLower s));
|
||||
hexStr = addCheckDesc "hexadecimal string" types.str isHexString;
|
||||
|
||||
in {
|
||||
|
||||
options.services.multipath = with types; {
|
||||
|
||||
enable = mkEnableOption "the device mapper multipath (DM-MP) daemon";
|
||||
|
||||
package = mkOption {
|
||||
type = package;
|
||||
description = "multipath-tools package to use";
|
||||
default = pkgs.multipath-tools;
|
||||
defaultText = "pkgs.multipath-tools";
|
||||
};
|
||||
|
||||
devices = mkOption {
|
||||
default = [ ];
|
||||
example = literalExpression ''
|
||||
[
|
||||
{
|
||||
vendor = "\"COMPELNT\"";
|
||||
product = "\"Compellent Vol\"";
|
||||
path_checker = "tur";
|
||||
no_path_retry = "queue";
|
||||
max_sectors_kb = 256;
|
||||
}, ...
|
||||
]
|
||||
'';
|
||||
description = ''
|
||||
This option allows you to define arrays for use in multipath
|
||||
groups.
|
||||
'';
|
||||
type = listOf (submodule {
|
||||
options = {
|
||||
|
||||
vendor = mkOption {
|
||||
type = str;
|
||||
example = "COMPELNT";
|
||||
description = "Regular expression to match the vendor name";
|
||||
};
|
||||
|
||||
product = mkOption {
|
||||
type = str;
|
||||
example = "Compellent Vol";
|
||||
description = "Regular expression to match the product name";
|
||||
};
|
||||
|
||||
revision = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "Regular expression to match the product revision";
|
||||
};
|
||||
|
||||
product_blacklist = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "Products with the given vendor matching this string are blacklisted";
|
||||
};
|
||||
|
||||
alias_prefix = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "The user_friendly_names prefix to use for this device type, instead of the default mpath";
|
||||
};
|
||||
|
||||
vpd_vendor = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "The vendor specific vpd page information, using the vpd page abbreviation";
|
||||
};
|
||||
|
||||
hardware_handler = mkOption {
|
||||
type = nullOr (enum [ "emc" "rdac" "hp_sw" "alua" "ana" ]);
|
||||
default = null;
|
||||
description = "The hardware handler to use for this device type";
|
||||
};
|
||||
|
||||
# Optional arguments
|
||||
path_grouping_policy = mkOption {
|
||||
type = nullOr (enum [ "failover" "multibus" "group_by_serial" "group_by_prio" "group_by_node_name" ]);
|
||||
default = null; # real default: "failover"
|
||||
description = "The default path grouping policy to apply to unspecified multipaths";
|
||||
};
|
||||
|
||||
uid_attribute = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "The udev attribute providing a unique path identifier (WWID)";
|
||||
};
|
||||
|
||||
getuid_callout = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
(Superseded by uid_attribute) The default program and args to callout
|
||||
to obtain a unique path identifier. Should be specified with an absolute path.
|
||||
'';
|
||||
};
|
||||
|
||||
path_selector = mkOption {
|
||||
type = nullOr (enum [
|
||||
''"round-robin 0"''
|
||||
''"queue-length 0"''
|
||||
''"service-time 0"''
|
||||
''"historical-service-time 0"''
|
||||
]);
|
||||
default = null; # real default: "service-time 0"
|
||||
description = "The default path selector algorithm to use; they are offered by the kernel multipath target";
|
||||
};
|
||||
|
||||
path_checker = mkOption {
|
||||
type = enum [ "readsector0" "tur" "emc_clariion" "hp_sw" "rdac" "directio" "cciss_tur" "none" ];
|
||||
default = "tur";
|
||||
description = "The default method used to determine the paths state";
|
||||
};
|
||||
|
||||
prio = mkOption {
|
||||
type = nullOr (enum [
|
||||
"none" "const" "sysfs" "emc" "alua" "ontap" "rdac" "hp_sw" "hds"
|
||||
"random" "weightedpath" "path_latency" "ana" "datacore" "iet"
|
||||
]);
|
||||
default = null; # real default: "const"
|
||||
description = "The name of the path priority routine";
|
||||
};
|
||||
|
||||
prio_args = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "Arguments to pass to to the prio function";
|
||||
};
|
||||
|
||||
features = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "Specify any device-mapper features to be used";
|
||||
};
|
||||
|
||||
failback = mkOption {
|
||||
type = nullOr str;
|
||||
default = null; # real default: "manual"
|
||||
description = "Tell multipathd how to manage path group failback. Quote integers as strings";
|
||||
};
|
||||
|
||||
rr_weight = mkOption {
|
||||
type = nullOr (enum [ "priorities" "uniform" ]);
|
||||
default = null; # real default: "uniform"
|
||||
description = ''
|
||||
If set to priorities the multipath configurator will assign path weights
|
||||
as "path prio * rr_min_io".
|
||||
'';
|
||||
};
|
||||
|
||||
no_path_retry = mkOption {
|
||||
type = nullOr str;
|
||||
default = null; # real default: "fail"
|
||||
description = "Specify what to do when all paths are down. Quote integers as strings";
|
||||
};
|
||||
|
||||
rr_min_io = mkOption {
|
||||
type = nullOr int;
|
||||
default = null; # real default: 1000
|
||||
description = ''
|
||||
Number of I/O requests to route to a path before switching to the next in the
|
||||
same path group. This is only for Block I/O (BIO) based multipath and
|
||||
only apply to round-robin path_selector.
|
||||
'';
|
||||
};
|
||||
|
||||
rr_min_io_rq = mkOption {
|
||||
type = nullOr int;
|
||||
default = null; # real default: 1
|
||||
description = ''
|
||||
Number of I/O requests to route to a path before switching to the next in the
|
||||
same path group. This is only for Request based multipath and
|
||||
only apply to round-robin path_selector.
|
||||
'';
|
||||
};
|
||||
|
||||
fast_io_fail_tmo = mkOption {
|
||||
type = nullOr str;
|
||||
default = null; # real default: 5
|
||||
description = ''
|
||||
Specify the number of seconds the SCSI layer will wait after a problem has been
|
||||
detected on a FC remote port before failing I/O to devices on that remote port.
|
||||
This should be smaller than dev_loss_tmo. Setting this to "off" will disable
|
||||
the timeout. Quote integers as strings.
|
||||
'';
|
||||
};
|
||||
|
||||
dev_loss_tmo = mkOption {
|
||||
type = nullOr str;
|
||||
default = null; # real default: 600
|
||||
description = ''
|
||||
Specify the number of seconds the SCSI layer will wait after a problem has
|
||||
been detected on a FC remote port before removing it from the system. This
|
||||
can be set to "infinity" which sets it to the max value of 2147483647
|
||||
seconds, or 68 years. It will be automatically adjusted to the overall
|
||||
retry interval no_path_retry * polling_interval
|
||||
if a number of retries is given with no_path_retry and the
|
||||
overall retry interval is longer than the specified dev_loss_tmo value.
|
||||
The Linux kernel will cap this value to 600 if fast_io_fail_tmo
|
||||
is not set.
|
||||
'';
|
||||
};
|
||||
|
||||
flush_on_last_del = mkOption {
|
||||
type = nullOr (enum [ "yes" "no" ]);
|
||||
default = null; # real default: "no"
|
||||
description = ''
|
||||
If set to "yes" multipathd will disable queueing when the last path to a
|
||||
device has been deleted.
|
||||
'';
|
||||
};
|
||||
|
||||
user_friendly_names = mkOption {
|
||||
type = nullOr (enum [ "yes" "no" ]);
|
||||
default = null; # real default: "no"
|
||||
description = ''
|
||||
If set to "yes", using the bindings file /etc/multipath/bindings
|
||||
to assign a persistent and unique alias to the multipath, in the
|
||||
form of mpath. If set to "no" use the WWID as the alias. In either
|
||||
case this be will be overridden by any specific aliases in the
|
||||
multipaths section.
|
||||
'';
|
||||
};
|
||||
|
||||
retain_attached_hw_handler = mkOption {
|
||||
type = nullOr (enum [ "yes" "no" ]);
|
||||
default = null; # real default: "yes"
|
||||
description = ''
|
||||
(Obsolete for kernels >= 4.3) If set to "yes" and the SCSI layer has
|
||||
already attached a hardware_handler to the device, multipath will not
|
||||
force the device to use the hardware_handler specified by mutipath.conf.
|
||||
If the SCSI layer has not attached a hardware handler, multipath will
|
||||
continue to use its configured hardware handler.
|
||||
|
||||
Important Note: Linux kernel 4.3 or newer always behaves as if
|
||||
"retain_attached_hw_handler yes" was set.
|
||||
'';
|
||||
};
|
||||
|
||||
detect_prio = mkOption {
|
||||
type = nullOr (enum [ "yes" "no" ]);
|
||||
default = null; # real default: "yes"
|
||||
description = ''
|
||||
If set to "yes", multipath will try to detect if the device supports
|
||||
SCSI-3 ALUA. If so, the device will automatically use the sysfs
|
||||
prioritizer if the required sysf attributes access_state and
|
||||
preferred_path are supported, or the alua prioritizer if not. If set
|
||||
to "no", the prioritizer will be selected as usual.
|
||||
'';
|
||||
};
|
||||
|
||||
detect_checker = mkOption {
|
||||
type = nullOr (enum [ "yes" "no" ]);
|
||||
default = null; # real default: "yes"
|
||||
description = ''
|
||||
If set to "yes", multipath will try to detect if the device supports
|
||||
SCSI-3 ALUA. If so, the device will automatically use the tur checker.
|
||||
If set to "no", the checker will be selected as usual.
|
||||
'';
|
||||
};
|
||||
|
||||
deferred_remove = mkOption {
|
||||
type = nullOr (enum [ "yes" "no" ]);
|
||||
default = null; # real default: "no"
|
||||
description = ''
|
||||
If set to "yes", multipathd will do a deferred remove instead of a
|
||||
regular remove when the last path device has been deleted. This means
|
||||
that if the multipath device is still in use, it will be freed when
|
||||
the last user closes it. If path is added to the multipath device
|
||||
before the last user closes it, the deferred remove will be canceled.
|
||||
'';
|
||||
};
|
||||
|
||||
san_path_err_threshold = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
If set to a value greater than 0, multipathd will watch paths and check
|
||||
how many times a path has been failed due to errors.If the number of
|
||||
failures on a particular path is greater then the san_path_err_threshold,
|
||||
then the path will not reinstate till san_path_err_recovery_time. These
|
||||
path failures should occur within a san_path_err_forget_rate checks, if
|
||||
not we will consider the path is good enough to reinstantate.
|
||||
'';
|
||||
};
|
||||
|
||||
san_path_err_forget_rate = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
If set to a value greater than 0, multipathd will check whether the path
|
||||
failures has exceeded the san_path_err_threshold within this many checks
|
||||
i.e san_path_err_forget_rate. If so we will not reinstante the path till
|
||||
san_path_err_recovery_time.
|
||||
'';
|
||||
};
|
||||
|
||||
san_path_err_recovery_time = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
If set to a value greater than 0, multipathd will make sure that when
|
||||
path failures has exceeded the san_path_err_threshold within
|
||||
san_path_err_forget_rate then the path will be placed in failed state
|
||||
for san_path_err_recovery_time duration. Once san_path_err_recovery_time
|
||||
has timeout we will reinstante the failed path. san_path_err_recovery_time
|
||||
value should be in secs.
|
||||
'';
|
||||
};
|
||||
|
||||
marginal_path_err_sample_time = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
description = "One of the four parameters of supporting path check based on accounting IO error such as intermittent error";
|
||||
};
|
||||
|
||||
marginal_path_err_rate_threshold = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
description = "The error rate threshold as a permillage (1/1000)";
|
||||
};
|
||||
|
||||
marginal_path_err_recheck_gap_time = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "One of the four parameters of supporting path check based on accounting IO error such as intermittent error";
|
||||
};
|
||||
|
||||
marginal_path_double_failed_time = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "One of the four parameters of supporting path check based on accounting IO error such as intermittent error";
|
||||
};
|
||||
|
||||
delay_watch_checks = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "This option is deprecated, and mapped to san_path_err_forget_rate";
|
||||
};
|
||||
|
||||
delay_wait_checks = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "This option is deprecated, and mapped to san_path_err_recovery_time";
|
||||
};
|
||||
|
||||
skip_kpartx = mkOption {
|
||||
type = nullOr (enum [ "yes" "no" ]);
|
||||
default = null; # real default: "no"
|
||||
description = "If set to yes, kpartx will not automatically create partitions on the device";
|
||||
};
|
||||
|
||||
max_sectors_kb = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
description = "Sets the max_sectors_kb device parameter on all path devices and the multipath device to the specified value";
|
||||
};
|
||||
|
||||
ghost_delay = mkOption {
|
||||
type = nullOr int;
|
||||
default = null;
|
||||
description = "Sets the number of seconds that multipath will wait after creating a device with only ghost paths before marking it ready for use in systemd";
|
||||
};
|
||||
|
||||
all_tg_pt = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "Set the 'all targets ports' flag when registering keys with mpathpersist";
|
||||
};
|
||||
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
defaults = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
This section defines default values for attributes which are used
|
||||
whenever no values are given in the appropriate device or multipath
|
||||
sections.
|
||||
'';
|
||||
};
|
||||
|
||||
blacklist = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
This section defines which devices should be excluded from the
|
||||
multipath topology discovery.
|
||||
'';
|
||||
};
|
||||
|
||||
blacklist_exceptions = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
This section defines which devices should be included in the
|
||||
multipath topology discovery, despite being listed in the
|
||||
blacklist section.
|
||||
'';
|
||||
};
|
||||
|
||||
overrides = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = ''
|
||||
This section defines values for attributes that should override the
|
||||
device-specific settings for all devices.
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "Lines to append to default multipath.conf";
|
||||
};
|
||||
|
||||
extraConfigFile = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
description = "Append an additional file's contents to /etc/multipath.conf";
|
||||
};
|
||||
|
||||
pathGroups = mkOption {
|
||||
example = literalExpression ''
|
||||
[
|
||||
{
|
||||
wwid = "360080e500043b35c0123456789abcdef";
|
||||
alias = 10001234;
|
||||
array = "bigarray.example.com";
|
||||
fsType = "zfs"; # optional
|
||||
options = "ro"; # optional
|
||||
}, ...
|
||||
]
|
||||
'';
|
||||
description = ''
|
||||
This option allows you to define multipath groups as described
|
||||
in http://christophe.varoqui.free.fr/usage.html.
|
||||
'';
|
||||
type = listOf (submodule {
|
||||
options = {
|
||||
|
||||
alias = mkOption {
|
||||
type = int;
|
||||
example = 1001234;
|
||||
description = "The name of the multipath device";
|
||||
};
|
||||
|
||||
wwid = mkOption {
|
||||
type = hexStr;
|
||||
example = "360080e500043b35c0123456789abcdef";
|
||||
description = "The identifier for the multipath device";
|
||||
};
|
||||
|
||||
array = mkOption {
|
||||
type = str;
|
||||
default = null;
|
||||
example = "bigarray.example.com";
|
||||
description = "The DNS name of the storage array";
|
||||
};
|
||||
|
||||
fsType = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
example = "zfs";
|
||||
description = "Type of the filesystem";
|
||||
};
|
||||
|
||||
options = mkOption {
|
||||
type = nullOr str;
|
||||
default = null;
|
||||
example = "ro";
|
||||
description = "Options used to mount the file system";
|
||||
};
|
||||
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.etc."multipath.conf".text =
|
||||
let
|
||||
inherit (cfg) defaults blacklist blacklist_exceptions overrides;
|
||||
|
||||
mkDeviceBlock = cfg: let
|
||||
nonNullCfg = lib.filterAttrs (k: v: v != null) cfg;
|
||||
attrs = lib.mapAttrsToList (name: value: " ${name} ${toString value}") nonNullCfg;
|
||||
in ''
|
||||
device {
|
||||
${lib.concatStringsSep "\n" attrs}
|
||||
}
|
||||
'';
|
||||
devices = lib.concatMapStringsSep "\n" mkDeviceBlock cfg.devices;
|
||||
|
||||
mkMultipathBlock = m: ''
|
||||
multipath {
|
||||
wwid ${m.wwid}
|
||||
alias ${toString m.alias}
|
||||
}
|
||||
'';
|
||||
multipaths = lib.concatMapStringsSep "\n" mkMultipathBlock cfg.pathGroups;
|
||||
|
||||
in ''
|
||||
devices {
|
||||
${indentLines 2 devices}
|
||||
}
|
||||
|
||||
${optionalString (!isNull defaults) ''
|
||||
defaults {
|
||||
${indentLines 2 defaults}
|
||||
multipath_dir ${cfg.package}/lib/multipath
|
||||
}
|
||||
''}
|
||||
${optionalString (!isNull blacklist) ''
|
||||
blacklist {
|
||||
${indentLines 2 blacklist}
|
||||
}
|
||||
''}
|
||||
${optionalString (!isNull blacklist_exceptions) ''
|
||||
blacklist_exceptions {
|
||||
${indentLines 2 blacklist_exceptions}
|
||||
}
|
||||
''}
|
||||
${optionalString (!isNull overrides) ''
|
||||
overrides {
|
||||
${indentLines 2 overrides}
|
||||
}
|
||||
''}
|
||||
multipaths {
|
||||
${indentLines 2 multipaths}
|
||||
}
|
||||
'';
|
||||
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
boot.kernelModules = [ "dm-multipath" "dm-service-time" ];
|
||||
|
||||
# We do not have systemd in stage-1 boot so must invoke `multipathd`
|
||||
# with the `-1` argument which disables systemd calls. Invoke `multipath`
|
||||
# to display the multipath mappings in the output of `journalctl -b`.
|
||||
boot.initrd.kernelModules = [ "dm-multipath" "dm-service-time" ];
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
modprobe -a dm-multipath dm-service-time
|
||||
multipathd -s
|
||||
(set -x && sleep 1 && multipath -ll)
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -439,7 +439,7 @@ in
|
|||
mkdir -m 0755 -p /etc/ssh
|
||||
|
||||
${flip concatMapStrings cfg.hostKeys (k: ''
|
||||
if ! [ -f "${k.path}" ]; then
|
||||
if ! [ -s "${k.path}" ]; then
|
||||
ssh-keygen \
|
||||
-t "${k.type}" \
|
||||
${if k ? bits then "-b ${toString k.bits}" else ""} \
|
||||
|
|
|
@ -6,6 +6,8 @@ let
|
|||
cfg = config.services.nextcloud;
|
||||
fpm = config.services.phpfpm.pools.nextcloud;
|
||||
|
||||
inherit (cfg) datadir;
|
||||
|
||||
phpPackage = cfg.phpPackage.buildEnv {
|
||||
extensions = { enabled, all }:
|
||||
(with all;
|
||||
|
@ -40,7 +42,7 @@ let
|
|||
if [[ "$USER" != nextcloud ]]; then
|
||||
sudo='exec /run/wrappers/bin/sudo -u nextcloud --preserve-env=NEXTCLOUD_CONFIG_DIR --preserve-env=OC_PASS'
|
||||
fi
|
||||
export NEXTCLOUD_CONFIG_DIR="${cfg.home}/config"
|
||||
export NEXTCLOUD_CONFIG_DIR="${datadir}/config"
|
||||
$sudo \
|
||||
${phpPackage}/bin/php \
|
||||
occ "$@"
|
||||
|
@ -85,6 +87,59 @@ in {
|
|||
default = "/var/lib/nextcloud";
|
||||
description = "Storage path of nextcloud.";
|
||||
};
|
||||
datadir = mkOption {
|
||||
type = types.str;
|
||||
defaultText = "config.services.nextcloud.home";
|
||||
description = ''
|
||||
Data storage path of nextcloud. Will be <xref linkend="opt-services.nextcloud.home" /> by default.
|
||||
This folder will be populated with a config.php and data folder which contains the state of the instance (excl the database).";
|
||||
'';
|
||||
example = "/mnt/nextcloud-file";
|
||||
};
|
||||
extraApps = mkOption {
|
||||
type = types.attrsOf types.package;
|
||||
default = { };
|
||||
description = ''
|
||||
Extra apps to install. Should be an attrSet of appid to packages generated by fetchNextcloudApp.
|
||||
The appid must be identical to the "id" value in the apps appinfo/info.xml.
|
||||
Using this will disable the appstore to prevent Nextcloud from updating these apps (see <xref linkend="opt-services.nextcloud.appstoreEnable" />).
|
||||
'';
|
||||
example = literalExpression ''
|
||||
{
|
||||
maps = pkgs.fetchNextcloudApp {
|
||||
name = "maps";
|
||||
sha256 = "007y80idqg6b6zk6kjxg4vgw0z8fsxs9lajnv49vv1zjy6jx2i1i";
|
||||
url = "https://github.com/nextcloud/maps/releases/download/v0.1.9/maps-0.1.9.tar.gz";
|
||||
version = "0.1.9";
|
||||
};
|
||||
phonetrack = pkgs.fetchNextcloudApp {
|
||||
name = "phonetrack";
|
||||
sha256 = "0qf366vbahyl27p9mshfma1as4nvql6w75zy2zk5xwwbp343vsbc";
|
||||
url = "https://gitlab.com/eneiluj/phonetrack-oc/-/wikis/uploads/931aaaf8dca24bf31a7e169a83c17235/phonetrack-0.6.9.tar.gz";
|
||||
version = "0.6.9";
|
||||
};
|
||||
}
|
||||
'';
|
||||
};
|
||||
extraAppsEnable = mkOption {
|
||||
type = types.bool;
|
||||
default = true;
|
||||
description = ''
|
||||
Automatically enable the apps in <xref linkend="opt-services.nextcloud.extraApps" /> every time nextcloud starts.
|
||||
If set to false, apps need to be enabled in the Nextcloud user interface or with nextcloud-occ app:enable.
|
||||
'';
|
||||
};
|
||||
appstoreEnable = mkOption {
|
||||
type = types.nullOr types.bool;
|
||||
default = null;
|
||||
example = true;
|
||||
description = ''
|
||||
Allow the installation of apps and app updates from the store.
|
||||
Enabled by default unless there are packages in <xref linkend="opt-services.nextcloud.extraApps" />.
|
||||
Set to true to force enable the store even if <xref linkend="opt-services.nextcloud.extraApps" /> is used.
|
||||
Set to false to disable the installation of apps from the global appstore. App management is always enabled regardless of this setting.
|
||||
'';
|
||||
};
|
||||
logLevel = mkOption {
|
||||
type = types.ints.between 0 4;
|
||||
default = 2;
|
||||
|
@ -524,6 +579,8 @@ in {
|
|||
else nextcloud22
|
||||
);
|
||||
|
||||
services.nextcloud.datadir = mkOptionDefault config.services.nextcloud.home;
|
||||
|
||||
services.nextcloud.phpPackage =
|
||||
if versionOlder cfg.package.version "21" then pkgs.php74
|
||||
else pkgs.php80;
|
||||
|
@ -563,6 +620,14 @@ in {
|
|||
]
|
||||
'';
|
||||
|
||||
showAppStoreSetting = cfg.appstoreEnable != null || cfg.extraApps != {};
|
||||
renderedAppStoreSetting =
|
||||
let
|
||||
x = cfg.appstoreEnable;
|
||||
in
|
||||
if x == null then "false"
|
||||
else boolToString x;
|
||||
|
||||
overrideConfig = pkgs.writeText "nextcloud-config.php" ''
|
||||
<?php
|
||||
${optionalString requiresReadSecretFunction ''
|
||||
|
@ -581,10 +646,12 @@ in {
|
|||
''}
|
||||
$CONFIG = [
|
||||
'apps_paths' => [
|
||||
${optionalString (cfg.extraApps != { }) "[ 'path' => '${cfg.home}/nix-apps', 'url' => '/nix-apps', 'writable' => false ],"}
|
||||
[ 'path' => '${cfg.home}/apps', 'url' => '/apps', 'writable' => false ],
|
||||
[ 'path' => '${cfg.home}/store-apps', 'url' => '/store-apps', 'writable' => true ],
|
||||
],
|
||||
'datadirectory' => '${cfg.home}/data',
|
||||
${optionalString (showAppStoreSetting) "'appstoreenabled' => ${renderedAppStoreSetting},"}
|
||||
'datadirectory' => '${datadir}/data',
|
||||
'skeletondirectory' => '${cfg.skeletonDirectory}',
|
||||
${optionalString cfg.caching.apcu "'memcache.local' => '\\OC\\Memcache\\APCu',"}
|
||||
'log_type' => 'syslog',
|
||||
|
@ -628,7 +695,7 @@ in {
|
|||
"--database-pass" = "\$${dbpass.arg}";
|
||||
"--admin-user" = ''"${c.adminuser}"'';
|
||||
"--admin-pass" = "\$${adminpass.arg}";
|
||||
"--data-dir" = ''"${cfg.home}/data"'';
|
||||
"--data-dir" = ''"${datadir}/data"'';
|
||||
});
|
||||
in ''
|
||||
${mkExport dbpass}
|
||||
|
@ -670,9 +737,15 @@ in {
|
|||
|
||||
ln -sf ${cfg.package}/apps ${cfg.home}/
|
||||
|
||||
# Install extra apps
|
||||
ln -sfT \
|
||||
${pkgs.linkFarm "nix-apps"
|
||||
(mapAttrsToList (name: path: { inherit name path; }) cfg.extraApps)} \
|
||||
${cfg.home}/nix-apps
|
||||
|
||||
# create nextcloud directories.
|
||||
# if the directories exist already with wrong permissions, we fix that
|
||||
for dir in ${cfg.home}/config ${cfg.home}/data ${cfg.home}/store-apps; do
|
||||
for dir in ${datadir}/config ${datadir}/data ${cfg.home}/store-apps ${cfg.home}/nix-apps; do
|
||||
if [ ! -e $dir ]; then
|
||||
install -o nextcloud -g nextcloud -d $dir
|
||||
elif [ $(stat -c "%G" $dir) != "nextcloud" ]; then
|
||||
|
@ -680,23 +753,29 @@ in {
|
|||
fi
|
||||
done
|
||||
|
||||
ln -sf ${overrideConfig} ${cfg.home}/config/override.config.php
|
||||
ln -sf ${overrideConfig} ${datadir}/config/override.config.php
|
||||
|
||||
# Do not install if already installed
|
||||
if [[ ! -e ${cfg.home}/config/config.php ]]; then
|
||||
if [[ ! -e ${datadir}/config/config.php ]]; then
|
||||
${occInstallCmd}
|
||||
fi
|
||||
|
||||
${occ}/bin/nextcloud-occ upgrade
|
||||
|
||||
${occ}/bin/nextcloud-occ config:system:delete trusted_domains
|
||||
|
||||
${optionalString (cfg.extraAppsEnable && cfg.extraApps != { }) ''
|
||||
# Try to enable apps (don't fail when one of them cannot be enabled , eg. due to incompatible version)
|
||||
${occ}/bin/nextcloud-occ app:enable ${concatStringsSep " " (attrNames cfg.extraApps)}
|
||||
''}
|
||||
|
||||
${occSetTrustedDomainsCmd}
|
||||
'';
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.User = "nextcloud";
|
||||
};
|
||||
nextcloud-cron = {
|
||||
environment.NEXTCLOUD_CONFIG_DIR = "${cfg.home}/config";
|
||||
environment.NEXTCLOUD_CONFIG_DIR = "${datadir}/config";
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.User = "nextcloud";
|
||||
serviceConfig.ExecStart = "${phpPackage}/bin/php -f ${cfg.package}/cron.php";
|
||||
|
@ -715,7 +794,7 @@ in {
|
|||
group = "nextcloud";
|
||||
phpPackage = phpPackage;
|
||||
phpEnv = {
|
||||
NEXTCLOUD_CONFIG_DIR = "${cfg.home}/config";
|
||||
NEXTCLOUD_CONFIG_DIR = "${datadir}/config";
|
||||
PATH = "/run/wrappers/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/usr/bin:/bin";
|
||||
};
|
||||
settings = mapAttrs (name: mkDefault) {
|
||||
|
@ -765,6 +844,10 @@ in {
|
|||
priority = 201;
|
||||
extraConfig = "root ${cfg.home};";
|
||||
};
|
||||
"~ ^/nix-apps" = {
|
||||
priority = 201;
|
||||
extraConfig = "root ${cfg.home};";
|
||||
};
|
||||
"^~ /.well-known" = {
|
||||
priority = 210;
|
||||
extraConfig = ''
|
||||
|
|
|
@ -237,6 +237,12 @@
|
|||
Some apps may require extra PHP extensions to be installed.
|
||||
This can be configured with the <xref linkend="opt-services.nextcloud.phpExtraExtensions" /> setting.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Alternatively, extra apps can also be declared with the <xref linkend="opt-services.nextcloud.extraApps" /> setting.
|
||||
When using this setting, apps can no longer be managed statefully because this can lead to Nextcloud updating apps
|
||||
that are managed by Nix. If you want automatic updates it is recommended that you use web interface to install apps.
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section xml:id="module-services-nextcloud-maintainer-info">
|
||||
|
|
|
@ -372,7 +372,13 @@ in
|
|||
services.xserver.libinput.enable = mkDefault true; # for controlling touchpad settings via gnome control center
|
||||
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||
xdg.portal.extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gnome
|
||||
(pkgs.xdg-desktop-portal-gtk.override {
|
||||
# Do not build portals that we already have.
|
||||
buildPortalsInGnome = false;
|
||||
})
|
||||
];
|
||||
|
||||
# Harmonize Qt5 application style and also make them use the portal for file chooser dialog.
|
||||
qt5 = {
|
||||
|
|
|
@ -208,10 +208,15 @@ def main() -> None:
|
|||
if os.path.exists("@efiSysMountPoint@/loader/loader.conf"):
|
||||
os.unlink("@efiSysMountPoint@/loader/loader.conf")
|
||||
|
||||
if "@canTouchEfiVariables@" == "1":
|
||||
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "install"])
|
||||
else:
|
||||
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@", "--no-variables", "install"])
|
||||
flags = []
|
||||
|
||||
if "@canTouchEfiVariables@" != "1":
|
||||
flags.append("--no-variables")
|
||||
|
||||
if "@graceful@" == "1":
|
||||
flags.append("--graceful")
|
||||
|
||||
subprocess.check_call(["@systemd@/bin/bootctl", "--path=@efiSysMountPoint@"] + flags + ["install"])
|
||||
else:
|
||||
# Update bootloader to latest if needed
|
||||
systemd_version = subprocess.check_output(["@systemd@/bin/bootctl", "--version"], universal_newlines=True).split()[1]
|
||||
|
|
|
@ -24,7 +24,7 @@ let
|
|||
|
||||
configurationLimit = if cfg.configurationLimit == null then 0 else cfg.configurationLimit;
|
||||
|
||||
inherit (cfg) consoleMode;
|
||||
inherit (cfg) consoleMode graceful;
|
||||
|
||||
inherit (efi) efiSysMountPoint canTouchEfiVariables;
|
||||
|
||||
|
@ -126,6 +126,22 @@ in {
|
|||
'';
|
||||
};
|
||||
};
|
||||
|
||||
graceful = mkOption {
|
||||
default = false;
|
||||
|
||||
type = types.bool;
|
||||
|
||||
description = ''
|
||||
Invoke <literal>bootctl install</literal> with the <literal>--graceful</literal> option,
|
||||
which ignores errors when EFI variables cannot be written or when the EFI System Partition
|
||||
cannot be found. Currently only applies to random seed operations.
|
||||
|
||||
Only enable this option if <literal>systemd-boot</literal> otherwise fails to install, as the
|
||||
scope or implication of the <literal>--graceful</literal> option may change in the future.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -137,6 +137,14 @@ let
|
|||
copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/resize2fs
|
||||
''}
|
||||
|
||||
# Copy multipath.
|
||||
${optionalString config.services.multipath.enable ''
|
||||
copy_bin_and_libs ${config.services.multipath.package}/bin/multipath
|
||||
copy_bin_and_libs ${config.services.multipath.package}/bin/multipathd
|
||||
# Copy lib/multipath manually.
|
||||
cp -rpv ${config.services.multipath.package}/lib/multipath $out/lib
|
||||
''}
|
||||
|
||||
# Copy secrets if needed.
|
||||
#
|
||||
# TODO: move out to a separate script; see #85000.
|
||||
|
@ -199,6 +207,10 @@ let
|
|||
$out/bin/dmsetup --version 2>&1 | tee -a log | grep -q "version:"
|
||||
LVM_SYSTEM_DIR=$out $out/bin/lvm version 2>&1 | tee -a log | grep -q "LVM"
|
||||
$out/bin/mdadm --version
|
||||
${optionalString config.services.multipath.enable ''
|
||||
($out/bin/multipath || true) 2>&1 | grep -q 'need to be root'
|
||||
($out/bin/multipathd || true) 2>&1 | grep -q 'need to be root'
|
||||
''}
|
||||
|
||||
${config.boot.initrd.extraUtilsCommandsTest}
|
||||
fi
|
||||
|
@ -338,7 +350,26 @@ let
|
|||
{ object = pkgs.kmod-debian-aliases;
|
||||
symlink = "/etc/modprobe.d/debian.conf";
|
||||
}
|
||||
];
|
||||
] ++ lib.optionals config.services.multipath.enable [
|
||||
{ object = pkgs.runCommand "multipath.conf" {
|
||||
src = config.environment.etc."multipath.conf".text;
|
||||
preferLocalBuild = true;
|
||||
} ''
|
||||
target=$out
|
||||
printf "$src" > $out
|
||||
substituteInPlace $out \
|
||||
--replace ${config.services.multipath.package}/lib ${extraUtils}/lib
|
||||
'';
|
||||
symlink = "/etc/multipath.conf";
|
||||
}
|
||||
] ++ (lib.mapAttrsToList
|
||||
(symlink: options:
|
||||
{
|
||||
inherit symlink;
|
||||
object = options.source;
|
||||
}
|
||||
)
|
||||
config.boot.initrd.extraFiles);
|
||||
};
|
||||
|
||||
# Script to add secret files to the initrd at bootloader update time
|
||||
|
@ -419,6 +450,22 @@ in
|
|||
'';
|
||||
};
|
||||
|
||||
boot.initrd.extraFiles = mkOption {
|
||||
default = { };
|
||||
type = types.attrsOf
|
||||
(types.submodule {
|
||||
options = {
|
||||
source = mkOption {
|
||||
type = types.package;
|
||||
description = "The object to make available inside the initrd.";
|
||||
};
|
||||
};
|
||||
});
|
||||
description = ''
|
||||
Extra files to link and copy in to the initrd.
|
||||
'';
|
||||
};
|
||||
|
||||
boot.initrd.prepend = mkOption {
|
||||
default = [ ];
|
||||
type = types.listOf types.str;
|
||||
|
|
15
third_party/nixpkgs/nixos/tests/gnome-xorg.nix
vendored
15
third_party/nixpkgs/nixos/tests/gnome-xorg.nix
vendored
|
@ -25,6 +25,21 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
|||
services.xserver.desktopManager.gnome.debug = true;
|
||||
services.xserver.displayManager.defaultSession = "gnome-xorg";
|
||||
|
||||
systemd.user.services = {
|
||||
"org.gnome.Shell@x11" = {
|
||||
serviceConfig = {
|
||||
ExecStart = [
|
||||
# Clear the list before overriding it.
|
||||
""
|
||||
# Eval API is now internal so Shell needs to run in unsafe mode.
|
||||
# TODO: improve test driver so that it supports openqa-like manipulation
|
||||
# that would allow us to drop this mess.
|
||||
"${pkgs.gnome.gnome-shell}/bin/gnome-shell --unsafe-mode"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
|
|
15
third_party/nixpkgs/nixos/tests/gnome.nix
vendored
15
third_party/nixpkgs/nixos/tests/gnome.nix
vendored
|
@ -30,6 +30,21 @@ import ./make-test-python.nix ({ pkgs, lib, ...} : {
|
|||
})
|
||||
];
|
||||
|
||||
systemd.user.services = {
|
||||
"org.gnome.Shell@wayland" = {
|
||||
serviceConfig = {
|
||||
ExecStart = [
|
||||
# Clear the list before overriding it.
|
||||
""
|
||||
# Eval API is now internal so Shell needs to run in unsafe mode.
|
||||
# TODO: improve test driver so that it supports openqa-like manipulation
|
||||
# that would allow us to drop this mess.
|
||||
"${pkgs.gnome.gnome-shell}/bin/gnome-shell --unsafe-mode"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation.memorySize = 1024;
|
||||
};
|
||||
|
||||
|
|
267
third_party/nixpkgs/nixos/tests/iscsi-multipath-root.nix
vendored
Normal file
267
third_party/nixpkgs/nixos/tests/iscsi-multipath-root.nix
vendored
Normal file
|
@ -0,0 +1,267 @@
|
|||
import ./make-test-python.nix (
|
||||
{ pkgs, lib, ... }:
|
||||
let
|
||||
initiatorName = "iqn.2020-08.org.linux-iscsi.initiatorhost:example";
|
||||
targetName = "iqn.2003-01.org.linux-iscsi.target.x8664:sn.acf8fd9c23af";
|
||||
in
|
||||
{
|
||||
name = "iscsi";
|
||||
meta = {
|
||||
maintainers = pkgs.lib.teams.deshaw.members;
|
||||
};
|
||||
|
||||
nodes = {
|
||||
target = { config, pkgs, lib, ... }: {
|
||||
virtualisation.vlans = [ 1 2 ];
|
||||
services.target = {
|
||||
enable = true;
|
||||
config = {
|
||||
fabric_modules = [ ];
|
||||
storage_objects = [
|
||||
{
|
||||
dev = "/dev/vdb";
|
||||
name = "test";
|
||||
plugin = "block";
|
||||
write_back = true;
|
||||
wwn = "92b17c3f-6b40-4168-b082-ceeb7b495522";
|
||||
}
|
||||
];
|
||||
targets = [
|
||||
{
|
||||
fabric = "iscsi";
|
||||
tpgs = [
|
||||
{
|
||||
enable = true;
|
||||
attributes = {
|
||||
authentication = 0;
|
||||
generate_node_acls = 1;
|
||||
};
|
||||
luns = [
|
||||
{
|
||||
alias = "94dfe06967";
|
||||
alua_tg_pt_gp_name = "default_tg_pt_gp";
|
||||
index = 0;
|
||||
storage_object = "/backstores/block/test";
|
||||
}
|
||||
];
|
||||
node_acls = [
|
||||
{
|
||||
mapped_luns = [
|
||||
{
|
||||
alias = "d42f5bdf8a";
|
||||
index = 0;
|
||||
tpg_lun = 0;
|
||||
write_protect = false;
|
||||
}
|
||||
];
|
||||
node_wwn = initiatorName;
|
||||
}
|
||||
];
|
||||
portals = [
|
||||
{
|
||||
ip_address = "0.0.0.0";
|
||||
iser = false;
|
||||
offload = false;
|
||||
port = 3260;
|
||||
}
|
||||
];
|
||||
tag = 1;
|
||||
}
|
||||
];
|
||||
wwn = targetName;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall.allowedTCPPorts = [ 3260 ];
|
||||
networking.firewall.allowedUDPPorts = [ 3260 ];
|
||||
|
||||
virtualisation.memorySize = 2048;
|
||||
virtualisation.emptyDiskImages = [ 2048 ];
|
||||
};
|
||||
|
||||
initiatorAuto = { nodes, config, pkgs, ... }: {
|
||||
virtualisation.vlans = [ 1 2 ];
|
||||
|
||||
services.multipath = {
|
||||
enable = true;
|
||||
defaults = ''
|
||||
find_multipaths yes
|
||||
user_friendly_names yes
|
||||
'';
|
||||
pathGroups = [
|
||||
{
|
||||
alias = 123456;
|
||||
wwid = "3600140592b17c3f6b404168b082ceeb7";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
services.openiscsi = {
|
||||
enable = true;
|
||||
enableAutoLoginOut = true;
|
||||
discoverPortal = "target";
|
||||
name = initiatorName;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
xfsprogs
|
||||
];
|
||||
|
||||
environment.etc."initiator-root-disk-closure".source = nodes.initiatorRootDisk.config.system.build.toplevel;
|
||||
|
||||
nix.binaryCaches = lib.mkForce [ ];
|
||||
nix.extraOptions = ''
|
||||
hashed-mirrors =
|
||||
connect-timeout = 1
|
||||
'';
|
||||
};
|
||||
|
||||
initiatorRootDisk = { config, pkgs, modulesPath, lib, ... }: {
|
||||
boot.initrd.network.enable = true;
|
||||
boot.loader.grub.enable = false;
|
||||
|
||||
boot.kernelParams = lib.mkOverride 5 (
|
||||
[
|
||||
"boot.shell_on_fail"
|
||||
"console=tty1"
|
||||
"ip=192.168.1.1:::255.255.255.0::ens9:none"
|
||||
"ip=192.168.2.1:::255.255.255.0::ens10:none"
|
||||
]
|
||||
);
|
||||
|
||||
# defaults to true, puts some code in the initrd that tries to mount an overlayfs on /nix/store
|
||||
virtualisation.writableStore = false;
|
||||
virtualisation.vlans = [ 1 2 ];
|
||||
|
||||
services.multipath = {
|
||||
enable = true;
|
||||
defaults = ''
|
||||
find_multipaths yes
|
||||
user_friendly_names yes
|
||||
'';
|
||||
pathGroups = [
|
||||
{
|
||||
alias = 123456;
|
||||
wwid = "3600140592b17c3f6b404168b082ceeb7";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems = lib.mkOverride 5 {
|
||||
"/" = {
|
||||
fsType = "xfs";
|
||||
device = "/dev/mapper/123456";
|
||||
options = [ "_netdev" ];
|
||||
};
|
||||
};
|
||||
|
||||
boot.initrd.extraFiles."etc/multipath/wwids".source = pkgs.writeText "wwids" "/3600140592b17c3f6b404168b082ceeb7/";
|
||||
|
||||
boot.iscsi-initiator = {
|
||||
discoverPortal = "target";
|
||||
name = initiatorName;
|
||||
target = targetName;
|
||||
extraIscsiCommands = ''
|
||||
iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: ''
|
||||
target.start()
|
||||
target.wait_for_unit("iscsi-target.service")
|
||||
|
||||
initiatorAuto.start()
|
||||
|
||||
initiatorAuto.wait_for_unit("iscsid.service")
|
||||
initiatorAuto.wait_for_unit("iscsi.service")
|
||||
initiatorAuto.get_unit_info("iscsi")
|
||||
|
||||
# Expecting this to fail since we should already know about 192.168.1.3
|
||||
initiatorAuto.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.1.3 --login")
|
||||
# Expecting this to succeed since we don't yet know about 192.168.2.3
|
||||
initiatorAuto.succeed("iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login")
|
||||
|
||||
# /dev/sda is provided by iscsi on target
|
||||
initiatorAuto.succeed("set -x; while ! test -e /dev/sda; do sleep 1; done")
|
||||
|
||||
initiatorAuto.succeed("mkfs.xfs /dev/sda")
|
||||
initiatorAuto.succeed("mkdir /mnt")
|
||||
|
||||
# Start by verifying /dev/sda and /dev/sdb are both the same disk
|
||||
initiatorAuto.succeed("mount /dev/sda /mnt")
|
||||
initiatorAuto.succeed("touch /mnt/hi")
|
||||
initiatorAuto.succeed("umount /mnt")
|
||||
|
||||
initiatorAuto.succeed("mount /dev/sdb /mnt")
|
||||
initiatorAuto.succeed("test -e /mnt/hi")
|
||||
initiatorAuto.succeed("umount /mnt")
|
||||
|
||||
initiatorAuto.succeed("systemctl restart multipathd")
|
||||
initiatorAuto.succeed("multipath -ll | systemd-cat")
|
||||
|
||||
# Install our RootDisk machine to 123456, the alias to the device that multipath is now managing
|
||||
initiatorAuto.succeed("mount /dev/mapper/123456 /mnt")
|
||||
initiatorAuto.succeed("mkdir -p /mnt/etc/{multipath,iscsi}")
|
||||
initiatorAuto.succeed("cp -r /etc/multipath/wwids /mnt/etc/multipath/wwids")
|
||||
initiatorAuto.succeed("cp -r /etc/iscsi/{nodes,send_targets} /mnt/etc/iscsi")
|
||||
initiatorAuto.succeed(
|
||||
"nixos-install --no-bootloader --no-root-passwd --system /etc/initiator-root-disk-closure"
|
||||
)
|
||||
initiatorAuto.succeed("umount /mnt")
|
||||
initiatorAuto.shutdown()
|
||||
|
||||
initiatorRootDisk.start()
|
||||
initiatorRootDisk.wait_for_unit("multi-user.target")
|
||||
initiatorRootDisk.wait_for_unit("iscsid")
|
||||
|
||||
# Log in over both nodes
|
||||
initiatorRootDisk.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.1.3 --login")
|
||||
initiatorRootDisk.fail("iscsiadm -m discovery -o update -t sendtargets -p 192.168.2.3 --login")
|
||||
initiatorRootDisk.succeed("systemctl restart multipathd")
|
||||
initiatorRootDisk.succeed("multipath -ll | systemd-cat")
|
||||
|
||||
# Verify we can write and sync the root disk
|
||||
initiatorRootDisk.succeed("mkdir /scratch")
|
||||
initiatorRootDisk.succeed("touch /scratch/both-up")
|
||||
initiatorRootDisk.succeed("sync /scratch")
|
||||
|
||||
# Verify we can write to the root with ens9 (sda, 192.168.1.3) down
|
||||
initiatorRootDisk.succeed("ip link set ens9 down")
|
||||
initiatorRootDisk.succeed("touch /scratch/ens9-down")
|
||||
initiatorRootDisk.succeed("sync /scratch")
|
||||
initiatorRootDisk.succeed("ip link set ens9 up")
|
||||
|
||||
# todo: better way to wait until multipath notices the link is back
|
||||
initiatorRootDisk.succeed("sleep 5")
|
||||
initiatorRootDisk.succeed("touch /scratch/both-down")
|
||||
initiatorRootDisk.succeed("sync /scratch")
|
||||
|
||||
# Verify we can write to the root with ens10 (sdb, 192.168.2.3) down
|
||||
initiatorRootDisk.succeed("ip link set ens10 down")
|
||||
initiatorRootDisk.succeed("touch /scratch/ens10-down")
|
||||
initiatorRootDisk.succeed("sync /scratch")
|
||||
initiatorRootDisk.succeed("ip link set ens10 up")
|
||||
initiatorRootDisk.succeed("touch /scratch/ens10-down")
|
||||
initiatorRootDisk.succeed("sync /scratch")
|
||||
|
||||
initiatorRootDisk.succeed("ip link set ens9 up")
|
||||
initiatorRootDisk.succeed("ip link set ens10 up")
|
||||
initiatorRootDisk.shutdown()
|
||||
|
||||
# Verify we can boot with the target's eth1 down, forcing
|
||||
# it to multipath via the second link
|
||||
target.succeed("ip link set eth1 down")
|
||||
initiatorRootDisk.start()
|
||||
initiatorRootDisk.wait_for_unit("multi-user.target")
|
||||
initiatorRootDisk.wait_for_unit("iscsid")
|
||||
initiatorRootDisk.succeed("test -e /scratch/both-up")
|
||||
'';
|
||||
}
|
||||
)
|
||||
|
||||
|
|
@ -33,8 +33,13 @@ in {
|
|||
in {
|
||||
networking.firewall.allowedTCPPorts = [ 80 ];
|
||||
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/lib/nextcloud-data 0750 nextcloud nginx - -"
|
||||
];
|
||||
|
||||
services.nextcloud = {
|
||||
enable = true;
|
||||
datadir = "/var/lib/nextcloud-data";
|
||||
hostName = "nextcloud";
|
||||
config = {
|
||||
# Don't inherit adminuser since "root" is supposed to be the default
|
||||
|
@ -98,6 +103,7 @@ in {
|
|||
"${withRcloneEnv} ${copySharedFile}"
|
||||
)
|
||||
client.wait_for_unit("multi-user.target")
|
||||
nextcloud.succeed("test -f /var/lib/nextcloud-data/data/root/files/test-shared-file")
|
||||
client.succeed(
|
||||
"${withRcloneEnv} ${diffSharedFile}"
|
||||
)
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
{ stdenv, lib, fetchFromGitHub, faust2jaqt, faust2lv2 }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "faustPhysicalModeling";
|
||||
version = "2.30.5";
|
||||
version = "2.33.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "grame-cncm";
|
||||
repo = "faust";
|
||||
rev = version;
|
||||
sha256 = "sha256-hfpMeUhv6FC9lnPCfdWnAFCaKiteplyrS/o3Lf7cQY4=";
|
||||
sha256 = "sha256-gzkfLfNhJHg/jEhf/RQDhHnXxn3UI15eDZfutKt3yGk=";
|
||||
};
|
||||
|
||||
buildInputs = [ faust2jaqt faust2lv2 ];
|
||||
|
|
73
third_party/nixpkgs/pkgs/applications/audio/hushboard/default.nix
vendored
Normal file
73
third_party/nixpkgs/pkgs/applications/audio/hushboard/default.nix
vendored
Normal file
|
@ -0,0 +1,73 @@
|
|||
{ lib
|
||||
, buildPythonApplication
|
||||
, fetchFromGitHub
|
||||
, gobject-introspection
|
||||
, gtk3
|
||||
, libappindicator
|
||||
, libpulseaudio
|
||||
, librsvg
|
||||
, pycairo
|
||||
, pygobject3
|
||||
, six
|
||||
, wrapGAppsHook
|
||||
, xlib
|
||||
}:
|
||||
|
||||
buildPythonApplication {
|
||||
pname = "hushboard";
|
||||
version = "unstable-2021-03-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "stuartlangridge";
|
||||
repo = "hushboard";
|
||||
rev = "c16611c539be111891116a737b02c5fb359ad1fc";
|
||||
sha256 = "06jav6j0bsxhawrq31cnls8zpf80fpwk0cak5s82js6wl4vw2582";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gobject-introspection
|
||||
gtk3
|
||||
libappindicator
|
||||
libpulseaudio
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pycairo
|
||||
pygobject3
|
||||
six
|
||||
xlib
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace hushboard/_pulsectl.py \
|
||||
--replace "ctypes.util.find_library('libpulse') or 'libpulse.so.0'" "'${libpulseaudio}/lib/libpulse.so.0'"
|
||||
substituteInPlace snap/gui/hushboard.desktop \
|
||||
--replace "\''${SNAP}/hushboard/icons/hushboard.svg" "hushboard"
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Fix tray icon, see e.g. https://github.com/NixOS/nixpkgs/pull/43421
|
||||
wrapProgram $out/bin/hushboard \
|
||||
--set GDK_PIXBUF_MODULE_FILE "${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
|
||||
|
||||
mkdir -p $out/share/applications $out/share/icons/hicolor/{scalable,512x512}/apps
|
||||
cp snap/gui/hushboard.desktop $out/share/applications
|
||||
cp hushboard/icons/hushboard.svg $out/share/icons/hicolor/scalable/apps
|
||||
cp hushboard-512.png $out/share/icons/hicolor/512x512/apps/hushboard.png
|
||||
'';
|
||||
|
||||
# There are no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://kryogenix.org/code/hushboard/";
|
||||
license = licenses.mit;
|
||||
description = "Mute your microphone while typing";
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ sersorrel ];
|
||||
};
|
||||
}
|
|
@ -5,16 +5,16 @@
|
|||
|
||||
buildGoModule rec {
|
||||
pname = "lightning-pool";
|
||||
version = "0.5.0-alpha";
|
||||
version = "0.5.1-alpha";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lightninglabs";
|
||||
repo = "pool";
|
||||
rev = "v${version}";
|
||||
sha256 = "0i8qkxnrx3a89aw3v0mx7przlldl8kc0ng6g1m435366y6nzdarb";
|
||||
sha256 = "147s0p4arfxl2akzm267p8zfy6hgssym5rwxv78kp8i39mfinpkn";
|
||||
};
|
||||
|
||||
vendorSha256 = "04v2788w8l734n5xz6fwjbwkqlbk8q77nwncjpn7890mw75yd3rn";
|
||||
vendorSha256 = "0zd3bwqi0hnk0562x9hd62cwjw1xj386m83jagg41kzz0cpcr7zl";
|
||||
|
||||
subPackages = [ "cmd/pool" "cmd/poold" ];
|
||||
|
||||
|
|
|
@ -198,6 +198,8 @@
|
|||
|
||||
railgun = callPackage ./railgun { };
|
||||
|
||||
rec-mode = callPackage ./rec-mode { };
|
||||
|
||||
structured-haskell-mode = self.shm;
|
||||
|
||||
sv-kalender = callPackage ./sv-kalender { };
|
||||
|
|
18
third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/rec-mode/default.nix
vendored
Normal file
18
third_party/nixpkgs/pkgs/applications/editors/emacs/elisp-packages/rec-mode/default.nix
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ lib
|
||||
, trivialBuild
|
||||
, recutils
|
||||
}:
|
||||
|
||||
trivialBuild {
|
||||
pname = "rec-mode";
|
||||
|
||||
inherit (recutils) version src;
|
||||
|
||||
postUnpack = ''
|
||||
sourceRoot="$sourceRoot/etc"
|
||||
'';
|
||||
|
||||
meta = recutils.meta // {
|
||||
description = "A major mode for editing rec files";
|
||||
};
|
||||
}
|
|
@ -16,11 +16,11 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "nano";
|
||||
version = "5.8";
|
||||
version = "5.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
|
||||
sha256 = "133nhxg4xfxisjzi85rn2l575hdbvcax1s13l4m6wcvq5zdn6fz4";
|
||||
sha256 = "dX24zaS7KHNZnkd4OvRj47VHpiewyrsw6nv3H7TCSTc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv, fetchFromGitHub, pkg-config, libtool
|
||||
, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
|
||||
, lcms2, openexr, libjxl, libpng, liblqr1, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
|
||||
, lcms2, openexr, libjxl, libpng, liblqr1, libraw, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
|
||||
, ApplicationServices
|
||||
, Foundation
|
||||
, testVersion, imagemagick
|
||||
|
@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
|
|||
|
||||
buildInputs =
|
||||
[ zlib fontconfig freetype ghostscript
|
||||
liblqr1 libpng libtiff libxml2 libheif djvulibre
|
||||
liblqr1 libpng libraw libtiff libxml2 libheif djvulibre
|
||||
]
|
||||
# libjxl is broken on aarch64 (see meta.broken in libjxl) for now,
|
||||
# let's disable it for now to unbreak the imagemagick build.
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "drawing";
|
||||
version = "0.8.0";
|
||||
version = "0.8.3";
|
||||
|
||||
format = "other";
|
||||
|
||||
|
@ -25,7 +25,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
owner = "maoschanz";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "03cx6acb0ph7b3difshjfddi8ld79wp8d12bdp7dp1q1820j5mz0";
|
||||
sha256 = "sha256-qDLJ+Mw4z66ro9/zoEIzDJpA+jJLYw0WgsP7mA+56XM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
7
third_party/nixpkgs/pkgs/applications/graphics/krita/beta.nix
vendored
Normal file
7
third_party/nixpkgs/pkgs/applications/graphics/krita/beta.nix
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ callPackage, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "5.0.0-beta1";
|
||||
kde-channel = "unstable";
|
||||
sha256 = "1p5l2vpsgcp4wajgn5rgjcyb8l5ickm1nkmfx8zzr4rnwjnyxdbm";
|
||||
})
|
|
@ -1,53 +1,7 @@
|
|||
{ mkDerivation, lib, stdenv, makeWrapper, fetchurl, cmake, extra-cmake-modules
|
||||
, karchive, kconfig, kwidgetsaddons, kcompletion, kcoreaddons
|
||||
, kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem
|
||||
, kio, kcrash, breeze-icons
|
||||
, boost, libraw, fftw, eigen, exiv2, libheif, lcms2, gsl, openexr, giflib
|
||||
, openjpeg, opencolorio_1, vc, poppler, curl, ilmbase
|
||||
, qtmultimedia, qtx11extras, quazip
|
||||
, python3Packages
|
||||
}:
|
||||
{ callPackage, ... } @ args:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "krita";
|
||||
version = "4.4.7";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "sha256-I6fFxPRCcRU5dyFXZPvGvTb9MuGikrvTaGCXpp4LRRk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip_4 makeWrapper ];
|
||||
|
||||
buildInputs = [
|
||||
karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons
|
||||
ki18n kitemmodels kitemviews kwindowsystem kio kcrash breeze-icons
|
||||
boost libraw fftw eigen exiv2 lcms2 gsl openexr libheif giflib
|
||||
openjpeg opencolorio_1 poppler curl ilmbase
|
||||
qtmultimedia qtx11extras quazip
|
||||
python3Packages.pyqt5
|
||||
] ++ lib.optional (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) vc;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ]
|
||||
++ lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy";
|
||||
|
||||
cmakeFlags = [
|
||||
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
|
||||
"-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
|
||||
"-DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
for i in $out/bin/*; do
|
||||
wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A free and open source painting application";
|
||||
homepage = "https://krita.org/";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3Only;
|
||||
};
|
||||
}
|
||||
callPackage ./generic.nix (args // {
|
||||
version = "4.4.8";
|
||||
kde-channel = "stable";
|
||||
sha256 = "1y0d8gnxfdg5nfwk8dgx8fc2bwskvnys049napb1a9fr25bqmimw";
|
||||
})
|
||||
|
|
59
third_party/nixpkgs/pkgs/applications/graphics/krita/generic.nix
vendored
Normal file
59
third_party/nixpkgs/pkgs/applications/graphics/krita/generic.nix
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
{ mkDerivation, lib, stdenv, makeWrapper, fetchurl, cmake, extra-cmake-modules
|
||||
, karchive, kconfig, kwidgetsaddons, kcompletion, kcoreaddons
|
||||
, kguiaddons, ki18n, kitemmodels, kitemviews, kwindowsystem
|
||||
, kio, kcrash, breeze-icons
|
||||
, boost, libraw, fftw, eigen, exiv2, libheif, lcms2, gsl, openexr, giflib
|
||||
, openjpeg, opencolorio_1, vc, poppler, curl, ilmbase
|
||||
, qtmultimedia, qtx11extras, quazip
|
||||
, python3Packages
|
||||
|
||||
, version
|
||||
, kde-channel
|
||||
, sha256
|
||||
|
||||
, callPackage
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "krita";
|
||||
inherit version;
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://download.kde.org/${kde-channel}/${pname}/${version}/${pname}-${version}.tar.gz";
|
||||
inherit sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake extra-cmake-modules python3Packages.sip_4 makeWrapper ];
|
||||
|
||||
buildInputs = [
|
||||
karchive kconfig kwidgetsaddons kcompletion kcoreaddons kguiaddons
|
||||
ki18n kitemmodels kitemviews kwindowsystem kio kcrash breeze-icons
|
||||
boost libraw fftw eigen exiv2 lcms2 gsl openexr libheif giflib
|
||||
openjpeg opencolorio_1 poppler curl ilmbase
|
||||
qtmultimedia qtx11extras quazip
|
||||
python3Packages.pyqt5
|
||||
] ++ lib.optional (stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) vc;
|
||||
|
||||
NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ]
|
||||
++ lib.optional stdenv.cc.isGNU "-Wno-deprecated-copy";
|
||||
|
||||
cmakeFlags = [
|
||||
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
|
||||
"-DPYQT_SIP_DIR_OVERRIDE=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
|
||||
"-DCMAKE_BUILD_TYPE=RelWithDebInfo"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
for i in $out/bin/*; do
|
||||
wrapProgram $i --prefix PYTHONPATH : "$PYTHONPATH"
|
||||
done
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A free and open source painting application";
|
||||
homepage = "https://krita.org/";
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
platforms = platforms.linux;
|
||||
license = licenses.gpl3Only;
|
||||
};
|
||||
}
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
let
|
||||
pname = "anytype";
|
||||
version = "0.19.0";
|
||||
version = "0.20.9";
|
||||
name = "Anytype-${version}";
|
||||
nameExecutable = pname;
|
||||
src = fetchurl {
|
||||
url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
|
||||
name = "Anytype-${version}.AppImage";
|
||||
sha256 = "sha256-sqCq9/QFygFcOUNCCBReD+eEk/8gvhMsuVD3g/ZPAFg=";
|
||||
sha256 = "sha256-dm3bdKbUHI0FFcyYeYd2XSuZuoPsUhk4KcEwzPHiHM8=";
|
||||
};
|
||||
appimageContents = appimageTools.extractType2 { inherit name src; };
|
||||
in
|
||||
|
|
37
third_party/nixpkgs/pkgs/applications/misc/avizo/default.nix
vendored
Normal file
37
third_party/nixpkgs/pkgs/applications/misc/avizo/default.nix
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
{ lib, stdenv, fetchFromGitHub
|
||||
, meson, ninja, pkg-config, vala
|
||||
, gtk3, glib, gtk-layer-shell
|
||||
, dbus, dbus-glib, librsvg
|
||||
, gobject-introspection, gdk-pixbuf, wrapGAppsHook
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "avizo";
|
||||
version = "unstable-2021-07-21";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "misterdanb";
|
||||
repo = "avizo";
|
||||
rev = "7b3874e5ee25c80800b3c61c8ea30612aaa6e8d1";
|
||||
sha256 = "sha256-ixAdiAH22Nh19uK5GoAXtAZJeAfCGSWTcGbrvCczWYc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config vala gobject-introspection wrapGAppsHook ];
|
||||
|
||||
buildInputs = [ dbus dbus-glib gdk-pixbuf glib gtk-layer-shell gtk3 librsvg ];
|
||||
|
||||
postInstall = ''
|
||||
substituteInPlace "$out"/bin/volumectl \
|
||||
--replace 'avizo-client' "$out/bin/avizo-client"
|
||||
substituteInPlace "$out"/bin/lightctl \
|
||||
--replace 'avizo-client' "$out/bin/avizo-client"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A neat notification daemon for Wayland";
|
||||
homepage = "https://github.com/misterdanb/avizo";
|
||||
license = licenses.gpl3;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.berbiche ];
|
||||
};
|
||||
}
|
|
@ -26,33 +26,21 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "font-manager";
|
||||
version = "0.8.6";
|
||||
version = "0.8.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FontManager";
|
||||
repo = "master";
|
||||
rev = version;
|
||||
sha256 = "0a18rbdy9d0fj0vnsc2rm7xlh17vjqn4kdyrq0ldzlzkb6zbdk2k";
|
||||
sha256 = "lqXjGSsiWaMJGyr1c2Wt/bs4F8q51mQ1+f6vbZRQzVs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix some Desktop Settings with GNOME 40.
|
||||
# https://github.com/FontManager/font-manager/issues/215
|
||||
# Fix compilation with latest Vala.
|
||||
# https://github.com/FontManager/font-manager/issues/240
|
||||
(fetchpatch {
|
||||
url = "https://github.com/FontManager/font-manager/commit/b28f325d7951a66ebf1a2a432ee09fd22048a033.patch";
|
||||
sha256 = "dKbrXGb9a4JuG/4x9vprMlh5J17HKJFifRWq9BWp1ow=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/FontManager/font-manager/commit/2147204d4c4c6b58161230500186c3a5d4eeb1c1.patch";
|
||||
sha256 = "2/PFLwf7h76fIIN4+lyjg/L0KVU1hhRQCfwCAGDpb00=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/FontManager/font-manager/commit/3abc541ef8606727c72af7631c021809600336ac.patch";
|
||||
sha256 = "rJPnW+7uuFLxTf5tk+Rzo+xkw2+uzU6BkzPXLeR/RGc=";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://github.com/FontManager/font-manager/commit/03a822f0d7b72442cd2ffcc8668da265d3535e0d.patch";
|
||||
sha256 = "3Z2UqK5VV2bIwpGd1tA7fivd7ooIuV6CxTJhzgOAkIM=";
|
||||
url = "https://github.com/FontManager/font-manager/commit/f9c4621389dae5999ca9d2f3c8402c2512a9ea60.patch";
|
||||
sha256 = "ZEJZSUYFLKmiHpVusO3ZUXMLUzJbbbCSqMjCtwlzPRY=";
|
||||
})
|
||||
];
|
||||
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
, curl, writeShellScript, common-updater-scripts }:
|
||||
|
||||
let
|
||||
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.1-20f4dbb0/Hubstaff-1.6.1-20f4dbb0.sh";
|
||||
version = "1.6.1-20f4dbb0";
|
||||
sha256 = "097hpr4sjh14pidflvs8n1mkjpmij9l2vaan4m82vjrr0qdqi8qy";
|
||||
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.6.2-b5029032/Hubstaff-1.6.2-b5029032.sh";
|
||||
version = "1.6.2-b5029032";
|
||||
sha256 = "1q3gimg6bcpdnm1fkn1vq3b6shwgi6y84bixisyfcva5px7dmi4s";
|
||||
|
||||
rpath = lib.makeLibraryPath
|
||||
[ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
|
||||
|
|
|
@ -6,13 +6,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "markets";
|
||||
version = "0.5.2";
|
||||
version = "0.5.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bitstower";
|
||||
repo = "markets";
|
||||
rev = version;
|
||||
sha256 = "0nk1bs7i6b7r90g5qwd3s2m462vk3kvza0drq7rzb5sdaiz9ccnz";
|
||||
sha256 = "0sfdmz7cp8i2bymippp8jyxsidxjn69v9cqm40q77j81kfm84bfv";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -14,11 +14,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mkgmap";
|
||||
version = "4807";
|
||||
version = "4808";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
|
||||
sha256 = "3DEcXopoCIcBANYrGclZH6K0JLgeYADXtPjQtobyfps=";
|
||||
sha256 = "ooiXotpxdy99ViUQ0kFp0NoTowGEZjEoD31x+3XrW28=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
, hunspellWithDicts
|
||||
, intltool
|
||||
, isocodes
|
||||
, libappindicator-gtk3
|
||||
, libcanberra-gtk3
|
||||
, mousetweaks
|
||||
, udev
|
||||
|
@ -70,6 +71,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
gtk3
|
||||
hunspell
|
||||
isocodes
|
||||
libappindicator-gtk3
|
||||
libcanberra-gtk3
|
||||
libxkbcommon
|
||||
mousetweaks
|
||||
|
@ -78,7 +80,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
xorg.libxkbfile
|
||||
] ++ lib.optional atspiSupport at-spi2-core;
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pythonPath = with python3.pkgs; [
|
||||
dbus-python
|
||||
distutils_extra
|
||||
pyatspi
|
||||
|
|
|
@ -65,7 +65,7 @@ buildPythonApplication rec {
|
|||
gobject-introspection
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pythonPath = [
|
||||
pygobject3
|
||||
pyatspi
|
||||
dbus-python
|
||||
|
|
|
@ -5,19 +5,19 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "taskwarrior-tui";
|
||||
version = "0.13.33";
|
||||
version = "0.13.34";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "kdheepak";
|
||||
repo = "taskwarrior-tui";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-vKmVScXQLDjhNJEzlhqiyhRZjR26xjrT1LijxzZK8Cg=";
|
||||
sha256 = "0p0nkqvkir6lriq75ingpfywn2yvyn3l35yxzk4aiq6vr2n7h3mw";
|
||||
};
|
||||
|
||||
# Because there's a test that requires terminal access
|
||||
doCheck = false;
|
||||
|
||||
cargoSha256 = "sha256-0E4nk8WLprumHKQjpdn+U36z7mdgFb7g/i7egLk4Jcs=";
|
||||
cargoSha256 = "1mzc6rnqcv97dlkl4j4p180f46wlyq45lc6nq7gqw396wc6m04km";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A terminal user interface for taskwarrior ";
|
||||
|
|
65
third_party/nixpkgs/pkgs/applications/misc/themechanger/default.nix
vendored
Normal file
65
third_party/nixpkgs/pkgs/applications/misc/themechanger/default.nix
vendored
Normal file
|
@ -0,0 +1,65 @@
|
|||
{ lib
|
||||
, gobject-introspection
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, desktop-file-utils
|
||||
, glib
|
||||
, gtk3
|
||||
, python3
|
||||
, gsettings-desktop-schemas
|
||||
, python3Packages
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "themechanger";
|
||||
version = "0.10.1";
|
||||
format = "other";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ALEX11BR";
|
||||
repo = "ThemeChanger";
|
||||
rev = "v${version}";
|
||||
sha256 = "1bxxn5bmdwaxfvyh6z2rxklwnxgvv6kh5y9m8r1k7d0n4msx1x2h";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
desktop-file-utils
|
||||
gtk3
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
python3
|
||||
gsettings-desktop-schemas
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
pygobject3
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs postinstall.py
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/ALEX11BR/ThemeChanger";
|
||||
description = "A theme changing utility for Linux";
|
||||
longDescription = ''
|
||||
This app is a theme changing utility for Linux, BSDs, and whatnots.
|
||||
It lets the user change GTK 2/3/4, Kvantum, icon and cursor themes, edit GTK CSS with live preview, and set some related options.
|
||||
It also lets the user install icon and widget theme archives.
|
||||
'';
|
||||
maintainers = with maintainers; [ ALEX11BR ];
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
|
@ -1,14 +1,14 @@
|
|||
{ lib, fetchFromGitHub, python3Packages }:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
version = "0.27.0";
|
||||
name = "toot-${version}";
|
||||
pname = "toot";
|
||||
version = "0.28.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ihabunek";
|
||||
repo = "toot";
|
||||
rev = version;
|
||||
sha256 = "197g9lvwg8qnsf18kifcqdj3cpfdnxz9vay766rn9bi4nfz0s6j2";
|
||||
sha256 = "076r6l89gxjwxjpiklidcs8yajn5c2bnqjvbj4wc559iqdqj88lz";
|
||||
};
|
||||
|
||||
checkInputs = with python3Packages; [ pytest ];
|
||||
|
|
|
@ -1,24 +1,31 @@
|
|||
{ lib, python3Packages, fetchFromGitHub }:
|
||||
{ lib
|
||||
, python3Packages
|
||||
, fetchFromGitHub
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "urlscan";
|
||||
version = "0.9.6";
|
||||
version = "0.9.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "firecat53";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "D+WJ1HG1gXIFtIpaqazFqC9Y4GBCUsz88U8q8W9tHFA=";
|
||||
sha256 = "sha256-Wg1QecSMyifID9uIvVWrmkHax4FbbwEcoXIZ8V8P3FU=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ python3Packages.urwid ];
|
||||
propagatedBuildInputs = [
|
||||
python3Packages.urwid
|
||||
];
|
||||
|
||||
doCheck = false; # No tests available
|
||||
|
||||
pythonImportsCheck = [ "urlscan" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Mutt and terminal url selector (similar to urlview)";
|
||||
homepage = "https://github.com/firecat53/urlscan";
|
||||
license = licenses.gpl2;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ dpaetzel jfrankenau ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -92,11 +92,11 @@ in
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "brave";
|
||||
version = "1.30.87";
|
||||
version = "1.30.89";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
|
||||
sha256 = "0mx1vnrip1y87g6zj9sdcf5siihwn0b6v1q106d9kz89znpzd64s";
|
||||
sha256 = "2fu6Nk/eMLQ9nYy1aZDpjnRg16YosQPqdKtJ2VAYBrw=";
|
||||
};
|
||||
|
||||
dontConfigure = true;
|
||||
|
|
|
@ -53,9 +53,6 @@ buildFun:
|
|||
with lib;
|
||||
|
||||
let
|
||||
python2WithPackages = python2.withPackages(ps: with ps; [
|
||||
ply jinja2 setuptools
|
||||
]);
|
||||
python3WithPackages = python3.withPackages(ps: with ps; [
|
||||
ply jinja2 setuptools
|
||||
]);
|
||||
|
@ -125,7 +122,7 @@ let
|
|||
|
||||
nativeBuildInputs = [
|
||||
ninja pkg-config
|
||||
python2WithPackages python3WithPackages perl
|
||||
python2 python3WithPackages perl
|
||||
gnutar which
|
||||
llvmPackages.bintools
|
||||
];
|
||||
|
@ -308,7 +305,7 @@ let
|
|||
|
||||
# This is to ensure expansion of $out.
|
||||
libExecPath="${libExecPath}"
|
||||
${python2}/bin/python2 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
|
||||
${python3}/bin/python3 build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries}
|
||||
${gnChromium}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt
|
||||
|
||||
# Fail if `gn gen` contains a WARNING.
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "lagrange";
|
||||
version = "1.7.1";
|
||||
version = "1.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "skyjake";
|
||||
repo = "lagrange";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-I3U2Jh+PSF+j8Kuv5RejYwiMC1JYBpkYQGsgIFi7LL0=";
|
||||
sha256 = "sha256-iJ6+tc5nls8E/9/Jp5OS9gfJo8SJ5bN+Im/JzEYEAfI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -61,8 +61,5 @@ stdenv.mkDerivation rec {
|
|||
license = licenses.bsd2;
|
||||
maintainers = with maintainers; [ sikmir ];
|
||||
platforms = platforms.unix;
|
||||
# macOS SDK 10.13 or later required
|
||||
# See https://github.com/NixOS/nixpkgs/issues/101229
|
||||
broken = stdenv.isDarwin && stdenv.isx86_64;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -18,11 +18,11 @@ let
|
|||
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
version = "4.1.2369.21-1";
|
||||
version = "4.3.2439.44-1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
|
||||
sha256 = "03062mik6paqp219jz420jsg762jjrfxmj1daq129z2zgzq0qr8l";
|
||||
sha256 = "1bsx8axs438f4p019mdq66pmpimf575r31rv6cibpgv85366xhh9";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
@ -49,7 +49,7 @@ in stdenv.mkDerivation rec {
|
|||
buildPhase = ''
|
||||
runHook preBuild
|
||||
echo "Patching Vivaldi binaries"
|
||||
for f in crashpad_handler vivaldi-bin vivaldi-sandbox ; do
|
||||
for f in chrome_crashpad_handler vivaldi-bin vivaldi-sandbox ; do
|
||||
patchelf \
|
||||
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "${libPath}" \
|
||||
|
|
|
@ -563,10 +563,10 @@
|
|||
"owner": "hashicorp",
|
||||
"provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
|
||||
"repo": "terraform-provider-kubernetes",
|
||||
"rev": "v2.4.1",
|
||||
"sha256": "0mk0f12yy58gjkki7xpf9bjfw9h9zdgby2b4bddqp5csq11payhd",
|
||||
"rev": "v2.5.0",
|
||||
"sha256": "1hp3bwhlfiwf1a4l6xfldwdxmyjs4nq3n8g343grjya7ibbhh4sg",
|
||||
"vendorSha256": null,
|
||||
"version": "2.4.1"
|
||||
"version": "2.5.0"
|
||||
},
|
||||
"launchdarkly": {
|
||||
"owner": "terraform-providers",
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
"name": "element-desktop",
|
||||
"productName": "Element",
|
||||
"main": "lib/electron-main.js",
|
||||
"version": "1.9.0",
|
||||
"version": "1.9.2",
|
||||
"description": "A feature-rich client for Matrix.org",
|
||||
"author": "Element",
|
||||
"repository": {
|
||||
|
@ -57,7 +57,7 @@
|
|||
"allchange": "^1.0.2",
|
||||
"asar": "^2.0.1",
|
||||
"chokidar": "^3.5.2",
|
||||
"electron": "13",
|
||||
"electron": "13.5",
|
||||
"electron-builder": "22.11.4",
|
||||
"electron-builder-squirrel-windows": "22.11.4",
|
||||
"electron-devtools-installer": "^3.1.1",
|
||||
|
@ -83,7 +83,7 @@
|
|||
},
|
||||
"build": {
|
||||
"appId": "im.riot.app",
|
||||
"electronVersion": "13.4.0",
|
||||
"electronVersion": "13.5.1",
|
||||
"files": [
|
||||
"package.json",
|
||||
{
|
||||
|
|
|
@ -729,6 +729,14 @@
|
|||
sha1 = "2b9252bd4fdf0393696190cd9550901dd967c777";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_types_node___node_14.17.21.tgz";
|
||||
path = fetchurl {
|
||||
name = "_types_node___node_14.17.21.tgz";
|
||||
url = "https://registry.yarnpkg.com/@types/node/-/node-14.17.21.tgz";
|
||||
sha1 = "6359d8cf73481e312a43886fa50afc70ce5592c6";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "_types_plist___plist_3.0.2.tgz";
|
||||
path = fetchurl {
|
||||
|
@ -1626,11 +1634,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "core_js___core_js_3.17.3.tgz";
|
||||
name = "core_js___core_js_3.18.2.tgz";
|
||||
path = fetchurl {
|
||||
name = "core_js___core_js_3.17.3.tgz";
|
||||
url = "https://registry.yarnpkg.com/core-js/-/core-js-3.17.3.tgz";
|
||||
sha1 = "8e8bd20e91df9951e903cabe91f9af4a0895bc1e";
|
||||
name = "core_js___core_js_3.18.2.tgz";
|
||||
url = "https://registry.yarnpkg.com/core-js/-/core-js-3.18.2.tgz";
|
||||
sha1 = "63a551e8a29f305cd4123754846e65896619ba5b";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -2002,11 +2010,11 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "electron___electron_13.4.0.tgz";
|
||||
name = "electron___electron_13.5.1.tgz";
|
||||
path = fetchurl {
|
||||
name = "electron___electron_13.4.0.tgz";
|
||||
url = "https://registry.yarnpkg.com/electron/-/electron-13.4.0.tgz";
|
||||
sha1 = "f9f9e518d8c6bf23bfa8b69580447eea3ca0f880";
|
||||
name = "electron___electron_13.5.1.tgz";
|
||||
url = "https://registry.yarnpkg.com/electron/-/electron-13.5.1.tgz";
|
||||
sha1 = "76c02c39be228532f886a170b472cbd3d93f0d0f";
|
||||
};
|
||||
}
|
||||
{
|
||||
|
@ -2154,13 +2162,21 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "2306b3d4da4eba908b256014b979f1d3d43d2945";
|
||||
path = fetchurl {
|
||||
name = "2306b3d4da4eba908b256014b979f1d3d43d2945";
|
||||
url = "https://codeload.github.com/matrix-org/eslint-plugin-matrix-org/tar.gz/2306b3d4da4eba908b256014b979f1d3d43d2945";
|
||||
sha1 = "e82e07e6163d15ee5243d8df073947540bf0efc9";
|
||||
};
|
||||
}
|
||||
name = "2306b3d4da4eba908b256014b979f1d3d43d2945";
|
||||
path =
|
||||
let
|
||||
repo = fetchgit {
|
||||
url = "https://github.com/matrix-org/eslint-plugin-matrix-org.git";
|
||||
rev = "2306b3d4da4eba908b256014b979f1d3d43d2945";
|
||||
sha256 = "0ywgrls2phviz47kzsjrxijkdbs1ky77471fbq9cnpj0fs3si81c";
|
||||
};
|
||||
in
|
||||
runCommand "2306b3d4da4eba908b256014b979f1d3d43d2945" { buildInputs = [gnutar]; } ''
|
||||
# Set u+w because tar-fs can't unpack archives with read-only dirs
|
||||
# https://github.com/mafintosh/tar-fs/issues/79
|
||||
tar cf $out --mode u+w -C ${repo} .
|
||||
'';
|
||||
}
|
||||
{
|
||||
name = "eslint_scope___eslint_scope_5.1.1.tgz";
|
||||
path = fetchurl {
|
||||
|
@ -3506,13 +3522,21 @@
|
|||
};
|
||||
}
|
||||
{
|
||||
name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
|
||||
path = fetchurl {
|
||||
name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
|
||||
url = "https://codeload.github.com/matrix-org/matrix-web-i18n/tar.gz/e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
|
||||
sha1 = "efbc392e3523669d20b812a6dae2f6efb49b888d";
|
||||
};
|
||||
}
|
||||
name = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
|
||||
path =
|
||||
let
|
||||
repo = fetchgit {
|
||||
url = "https://github.com/matrix-org/matrix-web-i18n.git";
|
||||
rev = "e5c7071e0cdf715de87ef39dc8260e11d7add2f8";
|
||||
sha256 = "0whjmf23m3204ifgx3spfnlg9pwm956fc16gjxgp9ia0d93xrpn6";
|
||||
};
|
||||
in
|
||||
runCommand "e5c7071e0cdf715de87ef39dc8260e11d7add2f8" { buildInputs = [gnutar]; } ''
|
||||
# Set u+w because tar-fs can't unpack archives with read-only dirs
|
||||
# https://github.com/mafintosh/tar-fs/issues/79
|
||||
tar cf $out --mode u+w -C ${repo} .
|
||||
'';
|
||||
}
|
||||
{
|
||||
name = "memoizee___memoizee_0.4.15.tgz";
|
||||
path = fetchurl {
|
||||
|
|
|
@ -19,12 +19,12 @@
|
|||
|
||||
let
|
||||
executableName = "element-desktop";
|
||||
version = "1.9.0";
|
||||
version = "1.9.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vector-im";
|
||||
repo = "element-desktop";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-vsLu41n3oCSyyPLgASs7jZViu6DPkWmMfSO7414VPO4=";
|
||||
sha256 = "sha256-F1uyyBbs+U7tQzRtn+p923Z/BY8Nwxr/JTMYwsak8W8=";
|
||||
};
|
||||
electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
|
||||
in
|
||||
|
|
|
@ -12,11 +12,11 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "element-web";
|
||||
version = "1.9.0";
|
||||
version = "1.9.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/vector-im/element-web/releases/download/v${version}/element-v${version}.tar.gz";
|
||||
sha256 = "sha256-QMLa1Bgz9feAAR9PKVXAzlRDztJBZnGIG+SsPgwvYRw=";
|
||||
sha256 = "sha256-Qkn0vyZGvBAeOfTzxydWzjFQJwY39INAhwZNX4xsM7U=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix
|
||||
#!nix-shell -I nixpkgs=../../../../../ -i bash -p wget yarn2nix nix-prefetch-git
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
|
@ -13,5 +13,5 @@ RIOT_WEB_SRC="https://raw.githubusercontent.com/vector-im/element-desktop/$1"
|
|||
|
||||
wget "$RIOT_WEB_SRC/package.json" -O element-desktop-package.json
|
||||
wget "$RIOT_WEB_SRC/yarn.lock" -O element-desktop-yarndeps.lock
|
||||
yarn2nix --lockfile=element-desktop-yarndeps.lock > element-desktop-yarndeps.nix
|
||||
yarn2nix --no-patch --lockfile=element-desktop-yarndeps.lock > element-desktop-yarndeps.nix
|
||||
rm element-desktop-yarndeps.lock
|
||||
|
|
|
@ -1,43 +1,74 @@
|
|||
{ lib, stdenv, mkDerivation, fetchFromGitHub
|
||||
, qmake, pkg-config, olm, wrapQtAppsHook
|
||||
, qtbase, qtquickcontrols2, qtkeychain, qtmultimedia, qtgraphicaleffects
|
||||
, python3Packages, pyotherside, libXScrnSaver
|
||||
{ lib
|
||||
, stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, libXScrnSaver
|
||||
, olm
|
||||
, pkg-config
|
||||
, pyotherside
|
||||
, python3Packages
|
||||
, qmake
|
||||
, qtbase
|
||||
, qtgraphicaleffects
|
||||
, qtkeychain
|
||||
, qtmultimedia
|
||||
, qtquickcontrols2
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
let
|
||||
pypkgs = with python3Packages; [
|
||||
aiofiles filetype matrix-nio appdirs cairosvg
|
||||
pymediainfo setuptools html-sanitizer mistune blist
|
||||
pyotherside
|
||||
];
|
||||
in
|
||||
mkDerivation rec {
|
||||
pname = "mirage";
|
||||
version = "0.6.4";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mirukana";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "15x0x2rf4fzsd0zr84fq3j3ddzkgc5il8s54jpxk8wl4ah03g4nv";
|
||||
sha256 = "sha256-dJS4lAXHHNUEAG75gQaS9+aQTTTj8KHqHjISioynFdY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config qmake wrapQtAppsHook python3Packages.wrapPython ];
|
||||
|
||||
buildInputs = [
|
||||
qtbase qtmultimedia
|
||||
qtquickcontrols2
|
||||
qtkeychain qtgraphicaleffects
|
||||
olm pyotherside
|
||||
libXScrnSaver
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
python3Packages.wrapPython
|
||||
qmake
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = pypkgs;
|
||||
buildInputs = [
|
||||
libXScrnSaver
|
||||
olm
|
||||
pyotherside
|
||||
qtbase
|
||||
qtgraphicaleffects
|
||||
qtkeychain
|
||||
qtmultimedia
|
||||
qtquickcontrols2
|
||||
] ++ pythonPath;
|
||||
|
||||
pythonPath = pypkgs;
|
||||
pythonPath = with python3Packages; [
|
||||
aiofiles
|
||||
appdirs
|
||||
blist
|
||||
cairosvg
|
||||
filetype
|
||||
html-sanitizer
|
||||
hsluv
|
||||
matrix-nio
|
||||
mistune
|
||||
plyer
|
||||
pymediainfo
|
||||
pyotherside
|
||||
redbaron
|
||||
simpleaudio
|
||||
setuptools
|
||||
watchgod
|
||||
];
|
||||
|
||||
qmakeFlags = [ "PREFIX=${placeholder "out"}" "CONFIG+=qtquickcompiler" ];
|
||||
qmakeFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
"CONFIG+=qtquickcompiler"
|
||||
];
|
||||
|
||||
dontWrapQtApps = true;
|
||||
postInstall = ''
|
||||
|
@ -45,14 +76,14 @@ mkDerivation rec {
|
|||
wrapProgram $out/bin/mirage \
|
||||
--prefix PYTHONPATH : "$PYTHONPATH" \
|
||||
"''${qtWrapperArgs[@]}"
|
||||
'';
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A fancy, customizable, keyboard-operable Qt/QML+Python Matrix chat client for encrypted and decentralized communication";
|
||||
homepage = "https://github.com/mirukana/mirage";
|
||||
license = licenses.lgpl3;
|
||||
maintainers = with maintainers; [ colemickens ];
|
||||
broken = stdenv.isDarwin;
|
||||
description = "A fancy, customizable, keyboard-operable Qt/QML+Python Matrix chat client for encrypted and decentralized communication";
|
||||
license = licenses.lgpl3Plus;
|
||||
maintainers = with maintainers; [ colemickens AndersonTorres ];
|
||||
inherit (qtbase.meta) platforms;
|
||||
broken = stdenv.isDarwin;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ let
|
|||
|
||||
# Please keep the version x.y.0.z and do not update to x.y.76.z because the
|
||||
# source of the latter disappears much faster.
|
||||
version = "8.75.0.140";
|
||||
version = "8.77.0.97";
|
||||
|
||||
rpath = lib.makeLibraryPath [
|
||||
alsa-lib
|
||||
|
@ -69,7 +69,7 @@ let
|
|||
"https://mirror.cs.uchicago.edu/skype/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
||||
"https://web.archive.org/web/https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb"
|
||||
];
|
||||
sha256 = "sha256-z3xsl53CSJthSd/BMbMD7RdYQ4z9oI/Rb9jUvd82H4E=";
|
||||
sha256 = "sha256-0u1fpKJrsEgbvTwdkqJZ/SwCRDmJwEi9IXHbMmY8MJI=";
|
||||
}
|
||||
else
|
||||
throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
|
||||
|
|
|
@ -1,25 +1,25 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, gtk2, lua, perl, python3
|
||||
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, gtk2, lua, perl, python3Packages
|
||||
, pciutils, dbus-glib, libcanberra-gtk2, libproxy
|
||||
, enchant2, libnotify, openssl, isocodes
|
||||
, desktop-file-utils
|
||||
, meson, ninja
|
||||
, meson, ninja, makeWrapper
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hexchat";
|
||||
version = "2.14.3";
|
||||
version = "2.16.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hexchat";
|
||||
repo = "hexchat";
|
||||
rev = "v${version}";
|
||||
sha256 = "08kvp0dcn3bvmlqcfp9312075bwkqkpa8m7zybr88pfp210gfl85";
|
||||
sha256 = "08zhlf9d3xdis62byxzgizhfg8kbppxl7cgxkzhwdc1srpj7vpx6";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ meson ninja pkg-config ];
|
||||
nativeBuildInputs = [ meson ninja pkg-config makeWrapper ];
|
||||
|
||||
buildInputs = [
|
||||
gtk2 lua perl python3 pciutils dbus-glib libcanberra-gtk2 libproxy
|
||||
gtk2 lua perl python3Packages.python python3Packages.cffi pciutils dbus-glib libcanberra-gtk2 libproxy
|
||||
libnotify openssl desktop-file-utils
|
||||
isocodes
|
||||
];
|
||||
|
@ -30,9 +30,10 @@ stdenv.mkDerivation rec {
|
|||
sed -i "/flag.startswith('-I')/i if flag.contains('no-such-path')\ncontinue\nendif" plugins/perl/meson.build
|
||||
chmod +x meson_post_install.py
|
||||
for f in meson_post_install.py \
|
||||
src/common/make-te.py \
|
||||
plugins/perl/generate_header.py \
|
||||
po/validate-textevent-translations
|
||||
plugins/python/generate_plugin.py \
|
||||
po/validate-textevent-translations \
|
||||
src/common/make-te.py
|
||||
do
|
||||
patchShebangs $f
|
||||
done
|
||||
|
@ -40,6 +41,10 @@ stdenv.mkDerivation rec {
|
|||
|
||||
mesonFlags = [ "-Dwith-lua=lua" "-Dwith-text=true" ];
|
||||
|
||||
postInstall = ''
|
||||
wrapProgram $out/bin/hexchat --prefix PYTHONPATH : "$PYTHONPATH"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "A popular and easy to use graphical IRC (chat) client";
|
||||
homepage = "https://hexchat.github.io/";
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evolution-ews";
|
||||
version = "3.40.4";
|
||||
version = "3.42.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0eAjb8gWhiyjqaOT5ur9gPoQv6W2u37u28qAJVMuUBU=";
|
||||
sha256 = "1byi1ksimbycd0daxp5j240r3n5qlaa4b3c5l9jzkjr9g3gkclsq";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake gettext intltool pkg-config ];
|
||||
|
|
|
@ -42,11 +42,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "evolution";
|
||||
version = "3.40.4";
|
||||
version = "3.42.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "BYXp36VQQOySNTWgRIdiRl2J4zE1Cawya76Eal1mA3Q=";
|
||||
sha256 = "0yj2hifis5m2cy59skn07d8n69444vlsw62ildr1fv67zxbblib8";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -27,11 +27,11 @@ with lib;
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mutt";
|
||||
version = "2.1.2";
|
||||
version = "2.1.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
|
||||
sha256 = "0s9wkygjd7xhvd1zdaidbvszq4abb0iv5830ir65glcfzbdbfak9";
|
||||
sha256 = "0z74slnq3y9wr1xr07jigz4n8dgxhk9qb0787sd0j6wj9g4rqxgg";
|
||||
};
|
||||
|
||||
patches = optional smimeSupport (fetchpatch {
|
||||
|
|
|
@ -1,26 +1,42 @@
|
|||
{ lib, stdenv, fetchurl, pkg-config, gnutls, gsasl, libidn, Security }:
|
||||
|
||||
with lib;
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, gnutls
|
||||
, gsasl
|
||||
, libidn
|
||||
, pkg-config
|
||||
, Security
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mpop";
|
||||
version = "1.4.14";
|
||||
version = "1.4.15";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://marlam.de/${pname}/releases/${pname}-${version}.tar.xz";
|
||||
sha256 = "046wbglvry54id9wik6c020fs09piv3gig3z0nh5nmyhsxjw4i18";
|
||||
sha256 = "sha256-P1KytdS8WO2TzwsRRs7k903oHCwHol7gMu+mWUZaAnA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
buildInputs = [ gnutls gsasl libidn ]
|
||||
++ optional stdenv.isDarwin Security;
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
configureFlags = optional stdenv.isDarwin [ "--with-macosx-keyring" ];
|
||||
buildInputs = [
|
||||
gnutls
|
||||
gsasl
|
||||
libidn
|
||||
] ++ lib.optional stdenv.isDarwin [
|
||||
Security
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "POP3 mail retrieval agent";
|
||||
homepage = "https://marlam.de/mpop";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
configureFlags = lib.optional stdenv.isDarwin [
|
||||
"--with-macosx-keyring"
|
||||
];
|
||||
|
||||
meta = with lib;{
|
||||
description = "POP3 mail retrieval agent";
|
||||
homepage = "https://marlam.de/mpop";
|
||||
license = licenses.gpl3Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ let
|
|||
url = "https://downloads.freenetproject.org/alpha/opennet/seednodes.fref";
|
||||
sha256 = "08awwr8n80b4cdzzb3y8hf2fzkr1f2ly4nlq779d6pvi5jymqdvv";
|
||||
};
|
||||
version = "build01475";
|
||||
version = "build01480";
|
||||
|
||||
freenet-jars = stdenv.mkDerivation {
|
||||
pname = "freenet-jars";
|
||||
|
@ -25,7 +25,7 @@ let
|
|||
owner = "freenet";
|
||||
repo = "fred";
|
||||
rev = version;
|
||||
sha256 = "0k02fna9x219j7dhginbnf27i36bibb0rmm4qdwr5xm28hy1nd08";
|
||||
sha256 = "0wddkfyhsgs7bcq9svicz6l0a35yv82yqzmji3c345hg4hbch3kb";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
{ mkDerivation, lib, fetchurl, autoPatchelfHook, makeWrapper, xdg-utils, dbus
|
||||
, qtbase, qtwebkit, qtx11extras, qtquickcontrols, glibc
|
||||
, libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes
|
||||
, qtbase, qtwebkit, qtwebengine, qtx11extras, qtquickcontrols, getconf, glibc
|
||||
, libXrandr, libX11, libXext, libXdamage, libXtst, libSM, libXfixes, coreutils
|
||||
, wrapQtAppsHook
|
||||
}:
|
||||
|
||||
mkDerivation rec {
|
||||
pname = "teamviewer";
|
||||
version = "15.15.5";
|
||||
version = "15.22.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://dl.tvcdn.de/download/linux/version_15x/teamviewer_${version}_amd64.deb";
|
||||
sha256 = "sha256-H/CSc2RcjI+Fm8awYcXm3ioAJpbSNEMwGVrTozMux3A=";
|
||||
sha256 = "15fvzhdq7mnx2l2w4byvij8ww16qwdlkbadal60rm66yzv79mv9w";
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
@ -19,7 +19,7 @@ mkDerivation rec {
|
|||
'';
|
||||
|
||||
nativeBuildInputs = [ autoPatchelfHook makeWrapper wrapQtAppsHook ];
|
||||
buildInputs = [ dbus qtbase qtwebkit qtx11extras libX11 ];
|
||||
buildInputs = [ dbus getconf qtbase qtwebkit qtwebengine qtx11extras libX11 ];
|
||||
propagatedBuildInputs = [ qtquickcontrols ];
|
||||
|
||||
installPhase = ''
|
||||
|
@ -28,6 +28,7 @@ mkDerivation rec {
|
|||
rm -R \
|
||||
$out/share/teamviewer/logfiles \
|
||||
$out/share/teamviewer/config \
|
||||
$out/share/teamviewer/tv_bin/RTlib \
|
||||
$out/share/teamviewer/tv_bin/xdg-utils \
|
||||
$out/share/teamviewer/tv_bin/script/{teamviewer_setup,teamviewerd.sysv,teamviewerd.service,teamviewerd.*.conf,libdepend,tv-delayed-start.sh}
|
||||
|
||||
|
@ -38,6 +39,27 @@ mkDerivation rec {
|
|||
ln -s /var/log/teamviewer $out/share/teamviewer/logfiles
|
||||
ln -s ${xdg-utils}/bin $out/share/teamviewer/tv_bin/xdg-utils
|
||||
|
||||
declare in_script_dir="./opt/teamviewer/tv_bin/script"
|
||||
|
||||
install -d "$out/share/dbus-1/services"
|
||||
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.service" "$out/share/dbus-1/services"
|
||||
substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.service" \
|
||||
--replace '/opt/teamviewer/tv_bin/TeamViewer' \
|
||||
"$out/share/teamviewer/tv_bin/TeamViewer"
|
||||
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Desktop.service" "$out/share/dbus-1/services"
|
||||
substituteInPlace "$out/share/dbus-1/services/com.teamviewer.TeamViewer.Desktop.service" \
|
||||
--replace '/opt/teamviewer/tv_bin/TeamViewer_Desktop' \
|
||||
"$out/share/teamviewer/tv_bin/TeamViewer_Desktop"
|
||||
|
||||
install -d "$out/share/dbus-1/system.d"
|
||||
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.Daemon.conf" "$out/share/dbus-1/system.d"
|
||||
|
||||
install -d "$out/share/polkit-1/actions"
|
||||
install -m 644 "$in_script_dir/com.teamviewer.TeamViewer.policy" "$out/share/polkit-1/actions"
|
||||
substituteInPlace "$out/share/polkit-1/actions/com.teamviewer.TeamViewer.policy" \
|
||||
--replace '/opt/teamviewer/tv_bin/script/execscript' \
|
||||
"$out/share/teamviewer/tv_bin/script/execscript"
|
||||
|
||||
for i in 16 20 24 32 48 256; do
|
||||
size=$i"x"$i
|
||||
|
||||
|
@ -51,17 +73,23 @@ mkDerivation rec {
|
|||
--replace '/lib64/ld-linux-x86-64.so.2' '${glibc.out}/lib/ld-linux-x86-64.so.2'
|
||||
substituteInPlace $out/share/teamviewer/tv_bin/script/tvw_config \
|
||||
--replace '/var/run/' '/run/'
|
||||
'';
|
||||
|
||||
wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ libXrandr libX11 ]}"
|
||||
wrapProgram $out/share/teamviewer/tv_bin/teamviewerd --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 ]}"
|
||||
makeWrapperArgs = [
|
||||
"--prefix PATH : ${lib.makeBinPath [ getconf coreutils ]}"
|
||||
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libXrandr libX11 libXext libXdamage libXtst libSM libXfixes dbus ]}"
|
||||
];
|
||||
|
||||
wrapQtApp $out/share/teamviewer/tv_bin/script/teamviewer
|
||||
wrapQtApp $out/bin/teamviewer
|
||||
postFixup = ''
|
||||
wrapProgram $out/share/teamviewer/tv_bin/teamviewerd ''${makeWrapperArgs[@]}
|
||||
# tv_bin/script/teamviewer runs tvw_main which runs tv_bin/TeamViewer
|
||||
wrapProgram $out/share/teamviewer/tv_bin/script/teamviewer ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]}
|
||||
wrapProgram $out/share/teamviewer/tv_bin/teamviewer-config ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]}
|
||||
wrapProgram $out/share/teamviewer/tv_bin/TeamViewer_Desktop ''${makeWrapperArgs[@]} ''${qtWrapperArgs[@]}
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
dontWrapQtApps = true;
|
||||
preferLocalBuild = true;
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -69,6 +97,6 @@ mkDerivation rec {
|
|||
license = licenses.unfree;
|
||||
description = "Desktop sharing application, providing remote support and online meetings";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ jagajaga dasuxullebt ];
|
||||
maintainers = with maintainers; [ jagajaga dasuxullebt jraygauthier ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ mkDerivation, lib, fetchurl, extra-cmake-modules, kdoctools
|
||||
{ mkDerivation, lib, fetchpatch, fetchurl, extra-cmake-modules, kdoctools
|
||||
, boost, qtwebkit, qtx11extras, shared-mime-info
|
||||
, breeze-icons, kactivities, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets
|
||||
, kcoreaddons, kdbusaddons, kdiagram, kguiaddons, khtml, ki18n
|
||||
|
@ -21,6 +21,17 @@ mkDerivation rec {
|
|||
sha256 = "0iqi6z6gkck2afgy200dacgcspq7i7887alcj0pklm08hbmsdy5i";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix fontconfig underlinking: https://github.com/NixOS/nixpkgs/issues/137794
|
||||
# Can be dropped on next release.
|
||||
(fetchpatch {
|
||||
name = "fix-fontconfig-linking.patch";
|
||||
url = "https://github.com/KDE/calligra/commit/62f510702ef9c34ac50f8d8601a4290ab558464c.patch";
|
||||
sha256 = "11dzrp9q05dmvnwp4vk4ihcibqcf4xyr0ijscpi716cyy730flma";
|
||||
excludes = [ "CMakeLists.txt" ];
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
|
||||
|
||||
buildInputs = [
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "samtools";
|
||||
version = "1.11";
|
||||
version = "1.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/samtools/samtools/releases/download/${version}/${pname}-${version}.tar.bz2";
|
||||
sha256 = "1dp5wknak4arnw5ghhif9mmljlfnw5bgm91wib7z0j8wdjywx0z2";
|
||||
sha256 = "sha256-YWyi4FHMgAmh6cAc/Yx8r4twkW3f9m87dpFAeUZfjGA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ perl ];
|
||||
|
|
|
@ -1,16 +1,29 @@
|
|||
{ lib, stdenv, fetchurl, glib, gtk3, gperf, pkg-config, bzip2, tcl, tk, wrapGAppsHook, judy, xz }:
|
||||
{ bzip2
|
||||
, fetchurl
|
||||
, glib
|
||||
, gperf
|
||||
, gtk3
|
||||
, judy
|
||||
, lib
|
||||
, pkg-config
|
||||
, stdenv
|
||||
, tcl
|
||||
, tk
|
||||
, wrapGAppsHook
|
||||
, xz
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gtkwave";
|
||||
version = "3.3.110";
|
||||
version = "3.3.111";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
|
||||
sha256 = "sha256-Ku25IVa8ot3SWxODeMrOaxBY5X022TnvD3l2kAa3Wao=";
|
||||
url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz";
|
||||
sha256 = "0cv222qhgldfniz6zys52zhrynfsp5v0h8ia857lng7v33vw5qdl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config wrapGAppsHook ];
|
||||
buildInputs = [ glib gtk3 gperf bzip2 tcl tk judy xz ];
|
||||
buildInputs = [ bzip2 glib gperf gtk3 judy tcl tk xz ];
|
||||
|
||||
configureFlags = [
|
||||
"--with-tcl=${tcl}/lib"
|
||||
|
@ -21,9 +34,9 @@ stdenv.mkDerivation rec {
|
|||
|
||||
meta = {
|
||||
description = "VCD/Waveform viewer for Unix and Win32";
|
||||
homepage = "http://gtkwave.sourceforge.net";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
homepage = "http://gtkwave.sourceforge.net";
|
||||
license = lib.licenses.gpl2Plus;
|
||||
maintainers = with lib.maintainers; [ thoughtpolice ];
|
||||
platforms = lib.platforms.linux;
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
let
|
||||
pname = "alt-ergo";
|
||||
version = "2.4.0";
|
||||
version = "2.4.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OCamlPro";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "1jm1yrvsg8iyfp9bb728zdx2i7yb6z7minjrfs27k5ncjqkjm65g";
|
||||
sha256 = "0hglj1p0753w2isds01h90knraxa42d2jghr35dpwf9g8a1sm9d3";
|
||||
};
|
||||
|
||||
useDune2 = true;
|
||||
|
|
|
@ -44,6 +44,7 @@ let
|
|||
"8.13.0".sha256 = "0sjbqmz6qcvnz0hv87xha80qbhvmmyd675wyc5z4rgr34j2l1ymd";
|
||||
"8.13.1".sha256 = "0xx2ns84mlip9bg2mkahy3pmc5zfcgrjxsviq9yijbzy1r95wf0n";
|
||||
"8.13.2".sha256 = "1884vbmwmqwn9ngibax6dhnqh4cc02l0s2ajc6jb1xgr0i60whjk";
|
||||
"8.14+rc1".sha256 = "0jrkgj7c2959dsinw4x7q4ril1x24qq08snl25hgx33ls4sym5zb";
|
||||
};
|
||||
releaseRev = v: "V${v}";
|
||||
fetched = import ../../../../build-support/coq/meta-fetch/default.nix
|
||||
|
@ -163,7 +164,7 @@ self = stdenv.mkDerivation {
|
|||
|
||||
prefixKey = "-prefix ";
|
||||
|
||||
buildFlags = [ "revision" "coq" "coqide" "bin/votour" ];
|
||||
buildFlags = [ "revision" "coq" "coqide" ] ++ optional (!versionAtLeast "8.14") "bin/votour";
|
||||
enableParallelBuilding = true;
|
||||
|
||||
createFindlibDestdir = true;
|
||||
|
@ -177,9 +178,11 @@ self = stdenv.mkDerivation {
|
|||
categories = "Development;Science;Math;IDE;GTK";
|
||||
});
|
||||
|
||||
postInstall = ''
|
||||
postInstall = let suffix = if versionAtLeast "8.14" then "-core" else ""; in ''
|
||||
cp bin/votour $out/bin/
|
||||
ln -s $out/lib/coq $OCAMLFIND_DESTDIR/coq
|
||||
ln -s $out/lib/coq${suffix} $OCAMLFIND_DESTDIR/coq${suffix}
|
||||
'' + optionalString (versionAtLeast "8.14") ''
|
||||
ln -s $out/lib/coqide-server $OCAMLFIND_DESTDIR/coqide-server
|
||||
'' + optionalString buildIde ''
|
||||
mkdir -p "$out/share/pixmaps"
|
||||
ln -s "$out/share/coq/coq.png" "$out/share/pixmaps/"
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
{ lib, stdenv, fetchFromGitHub, gmp-static, gperf, autoreconfHook, libpoly }:
|
||||
{ lib, stdenv, fetchFromGitHub, cudd, gmp-static, gperf, autoreconfHook, libpoly }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "yices";
|
||||
version = "2.6.1";
|
||||
version = "2.6.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "SRI-CSL";
|
||||
repo = "yices2";
|
||||
rev = "Yices-${version}";
|
||||
sha256 = "04vf468spsh00jh7gj94cjnq8kjyfwy9l6r4z7l2pm0zgwkqgyhm";
|
||||
sha256 = "01fi818lbkwilfcf1dz2dpxkcc1kh8ls0sl5aynyx9pwfn2v03zl";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
buildInputs = [ gmp-static gperf libpoly ];
|
||||
buildInputs = [ cudd gmp-static gperf libpoly ];
|
||||
configureFlags =
|
||||
[ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a"
|
||||
"--with-static-gmp-include-dir=${gmp-static.dev}/include"
|
||||
|
|
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||
# z3's install phase is stupid because it tries to calculate the
|
||||
# python package store location itself, meaning it'll attempt to
|
||||
# write files into the nix store, and fail.
|
||||
soext = if stdenv.system == "x86_64-darwin" then ".dylib" else ".so";
|
||||
soext = stdenv.hostPlatform.extensions.sharedLibrary;
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/lib/${python.libPrefix}/site-packages $out/include
|
||||
cp ../src/api/z3*.h $out/include
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "emuflight-configurator";
|
||||
version = "0.3.6";
|
||||
version = "0.4.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/emuflight/EmuConfigurator/releases/download/${version}/emuflight-configurator_${version}_linux64.zip";
|
||||
sha256 = "sha256-egSUd/+RNo0vr2EJibgk9nNnql5sHC11gctUMK+DzW0=";
|
||||
sha256 = "sha256-s5AE+r9Fw6S7IG2cDW2T7vctcYIAY8al7eCFIDjD5oI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook unzip copyDesktopItems ];
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
buildPythonApplication rec {
|
||||
pname = "MAVProxy";
|
||||
version = "1.8.44";
|
||||
version = "1.8.45";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "104000a0e57ef4591bdf28addf8057339b22cbff9501ba92b9b1720d0b2b7325";
|
||||
sha256 = "f1010cefb5b97a5d392d32aa1425bdb7df995161125f8686f2c7383c2a86e9e5";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
|
58
third_party/nixpkgs/pkgs/applications/terminal-emulators/ctx/default.nix
vendored
Normal file
58
third_party/nixpkgs/pkgs/applications/terminal-emulators/ctx/default.nix
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchgit
|
||||
, SDL2
|
||||
, alsa-lib
|
||||
, babl
|
||||
, curl
|
||||
, libdrm # Not documented
|
||||
, pkg-config
|
||||
, enableFb ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ctx";
|
||||
version = "0.pre+date=2021-10-09";
|
||||
|
||||
src = fetchgit {
|
||||
name = "ctx-source"; # because of a dash starting the directory
|
||||
url = "https://ctx.graphics/.git/";
|
||||
rev = "d11d0d1a719a3c77712528e2feed8c0878e0ea64";
|
||||
sha256 = "sha256-Az3POgdvDOVaaRtzLlISDODhAKbefpGx5KgwO3dttqs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
SDL2
|
||||
alsa-lib
|
||||
babl
|
||||
curl
|
||||
libdrm
|
||||
];
|
||||
|
||||
configureScript = "./configure.sh";
|
||||
configureFlags = lib.optional enableFb "--enable-fb";
|
||||
dontAddPrefix = true;
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
installFlags = [
|
||||
"PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://ctx.graphics/";
|
||||
description = "Vector graphics terminal";
|
||||
longDescription= ''
|
||||
ctx is an interactive 2D vector graphics, audio, text- canvas and
|
||||
terminal, with escape sequences that enable a 2D vector drawing API using
|
||||
a vector graphics protocol.
|
||||
'';
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = with maintainers; [ AndersonTorres];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
|
@ -4,13 +4,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "git-repo";
|
||||
version = "2.17";
|
||||
version = "2.17.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "android";
|
||||
repo = "tools_repo";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-/6BAGZo8GwsmXXGLJ2oTxIbgOCwP5p6Vh4wABSvAGZM=";
|
||||
sha256 = "sha256-ZVwMfjlKga47oXf6g/P2IAMu6Fcuj8BbRahniTZXmTg=";
|
||||
};
|
||||
|
||||
# Fix 'NameError: name 'ssl' is not defined'
|
||||
|
|
|
@ -13,11 +13,11 @@ let
|
|||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gitkraken";
|
||||
version = "7.7.2";
|
||||
version = "8.0.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://release.axocdn.com/linux/GitKraken-v${version}.tar.gz";
|
||||
sha256 = "sha256-jL0XLw0V0ED+lDBn3sGaJmm96zQwXue333UuYGHjB64=";
|
||||
sha256 = "1n88m41424qwsfp2hy58piqpv2dk6i74hcj184aq6njllvnsznnq";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "verco";
|
||||
version = "6.5.5";
|
||||
version = "6.6.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vamolessa";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-n+GGiu/xGGGC6FQPoASok87bCG0MFVIf6l6nt1lvw8A=";
|
||||
sha256 = "sha256-ZfiGDEx6gjYziatbQSpqghmpXMXSPPBtTVYjll922t8=";
|
||||
};
|
||||
|
||||
cargoSha256 = "sha256-lNtR4N+bFFCr3Ct99DJCbtDeKxTzT7ZjvAWixbQm3jg=";
|
||||
cargoSha256 = "sha256-jrA6vGw+lyfix8L3INBamrJ4pab5denPzWwjF0dRXB0=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "A simple Git/Mercurial/PlasticSCM tui client based on keyboard shortcuts";
|
||||
|
|
|
@ -46,7 +46,7 @@ let
|
|||
owner = "xbmc";
|
||||
repo = "xbmc";
|
||||
rev = "${kodiVersion}-${rel}";
|
||||
sha256 = "0qc3rf6fv6k35iq5p0j86kpyghzl9djqxl6526fxknvrlw0xnh9j";
|
||||
sha256 = "sha256-w5m7xlnjQDJ4l75b3ctF0wMZ4kqi+H0X6WFLs0gV6lM=";
|
||||
};
|
||||
|
||||
ffmpeg = stdenv.mkDerivation rec {
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
, runCommand
|
||||
, makeWrapper
|
||||
, lib
|
||||
, stdenv
|
||||
, extraPackages ? []
|
||||
, podman # Docker compat
|
||||
, runc # Default container runtime
|
||||
|
@ -14,15 +13,12 @@
|
|||
, cni-plugins # not added to path
|
||||
, iptables
|
||||
, iproute2
|
||||
, gvproxy
|
||||
, qemu
|
||||
, xz
|
||||
}:
|
||||
|
||||
let
|
||||
podman = podman-unwrapped;
|
||||
|
||||
binPath = lib.makeBinPath ([ ] ++ lib.optionals stdenv.isLinux [
|
||||
binPath = lib.makeBinPath ([
|
||||
runc
|
||||
crun
|
||||
conmon
|
||||
|
@ -31,10 +27,6 @@ let
|
|||
util-linux
|
||||
iptables
|
||||
iproute2
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
gvproxy
|
||||
qemu
|
||||
xz
|
||||
] ++ extraPackages);
|
||||
|
||||
in runCommand podman.name {
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cairo
|
||||
, fontconfig
|
||||
, libevdev
|
||||
, libinput
|
||||
, libxkbcommon
|
||||
, makeWrapper
|
||||
, mesa
|
||||
|
@ -23,24 +24,15 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cagebreak";
|
||||
version = "1.7.1";
|
||||
version = "1.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "project-repo";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-1IztedN5/I/4TDKHLJ26fSrDsvJ5QAr+cbzS2PQITDE=";
|
||||
hash = "sha256-tWfHJajAOYZJ73GckZWWTdVz75YmHA7t/qDhM7+tJgk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# To fix the build with wlroots 0.14.0:
|
||||
(fetchpatch {
|
||||
# Add fixes for wlroots 0.14.0
|
||||
url = "https://github.com/project-repo/cagebreak/commit/d57869d43add58331386fc8e89c14bb2b74afe17.patch";
|
||||
sha256 = "0g6sl8y4kk0bm5x6pxqbxw2j0gyg3ybr2v9m70q2pxp70kms4lqg";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
meson
|
||||
|
@ -53,6 +45,8 @@ stdenv.mkDerivation rec {
|
|||
buildInputs = [
|
||||
cairo
|
||||
fontconfig
|
||||
libevdev
|
||||
libinput
|
||||
libxkbcommon
|
||||
mesa # for libEGL headers
|
||||
pango
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{ fetchurl, lib, stdenv, pkg-config, makeWrapper, meson, ninja, installShellFiles, libxcb, xcbutilkeysyms
|
||||
, xcbutil, xcbutilwm, xcbutilxrm, libstartup_notification, libX11, pcre, libev
|
||||
, yajl, xcb-util-cursor, perl, pango, perlPackages, libxkbcommon
|
||||
, xorgserver, xvfb-run }:
|
||||
, xorgserver, xvfb-run
|
||||
, asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "i3";
|
||||
|
@ -12,7 +14,15 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "sha256-im7hd2idzyKWTSC2CTAU7k+gQZNF0/1RXVUS2ZgLsnk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config makeWrapper meson ninja installShellFiles ];
|
||||
nativeBuildInputs = [
|
||||
pkg-config makeWrapper meson ninja installShellFiles
|
||||
asciidoc xmlto docbook_xml_dtd_45 docbook_xsl findXMLCatalogs
|
||||
];
|
||||
|
||||
mesonFlags = [
|
||||
"-Ddocs=true"
|
||||
"-Dmans=true"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
libxcb xcbutilkeysyms xcbutil xcbutilwm xcbutilxrm libxkbcommon
|
||||
|
|
144
third_party/nixpkgs/pkgs/build-support/build-dotnet-module/default.nix
vendored
Normal file
144
third_party/nixpkgs/pkgs/build-support/build-dotnet-module/default.nix
vendored
Normal file
|
@ -0,0 +1,144 @@
|
|||
{ lib, stdenv, makeWrapper, dotnetCorePackages, dotnetPackages, cacert, linkFarmFromDrvs, fetchurl }:
|
||||
|
||||
{ name ? "${args.pname}-${args.version}"
|
||||
, enableParallelBuilding ? true
|
||||
# Flags to pass to `makeWrapper`. This is done to avoid double wrapping.
|
||||
, makeWrapperArgs ? []
|
||||
|
||||
# Flags to pass to `dotnet restore`.
|
||||
, dotnetRestoreFlags ? []
|
||||
# Flags to pass to `dotnet build`.
|
||||
, dotnetBuildFlags ? []
|
||||
# Flags to pass to `dotnet install`.
|
||||
, dotnetInstallFlags ? []
|
||||
# Flags to pass to dotnet in all phases.
|
||||
, dotnetFlags ? []
|
||||
|
||||
# The binaries that should get installed to `$out/bin`, relative to `$out/lib/$pname/`. These get wrapped accordingly.
|
||||
# Unfortunately, dotnet has no method for doing this automatically.
|
||||
# If unset, all executables in the projects root will get installed. This may cause bloat!
|
||||
, executables ? null
|
||||
# The packages project file, which contains instructions on how to compile it.
|
||||
, projectFile ? null
|
||||
# The NuGet dependency file. This locks all NuGet dependency versions, as otherwise they cannot be deterministically fetched.
|
||||
# This can be generated using the `nuget-to-nix` tool.
|
||||
, nugetDeps ? null
|
||||
# Libraries that need to be available at runtime should be passed through this.
|
||||
# These get wrapped into `LD_LIBRARY_PATH`.
|
||||
, runtimeDeps ? []
|
||||
|
||||
# The type of build to perform. This is passed to `dotnet` with the `--configuration` flag. Possible values are `Release`, `Debug`, etc.
|
||||
, buildType ? "Release"
|
||||
# The dotnet SDK to use.
|
||||
, dotnet-sdk ? dotnetCorePackages.sdk_5_0
|
||||
# The dotnet runtime to use.
|
||||
, dotnet-runtime ? dotnetCorePackages.net_5_0
|
||||
, ... } @ args:
|
||||
|
||||
assert projectFile == null -> throw "Defining the `projectFile` attribute is required. This is usually an `.csproj`, or `.sln` file.";
|
||||
|
||||
# TODO: Automatically generate a dependency file when a lockfile is present.
|
||||
# This file is unfortunately almost never present, as Microsoft recommands not to push this in upstream repositories.
|
||||
assert nugetDeps == null -> throw "Defining the `nugetDeps` attribute is required, as to lock the NuGet dependencies. This file can be generated using the `nuget-to-nix` tool.";
|
||||
|
||||
let
|
||||
_nugetDeps = linkFarmFromDrvs "${name}-nuget-deps" (import nugetDeps {
|
||||
fetchNuGet = { name, version, sha256 }: fetchurl {
|
||||
name = "nuget-${name}-${version}.nupkg";
|
||||
url = "https://www.nuget.org/api/v2/package/${name}/${version}";
|
||||
inherit sha256;
|
||||
};
|
||||
});
|
||||
|
||||
package = stdenv.mkDerivation (args // {
|
||||
nativeBuildInputs = args.nativeBuildInputs or [] ++ [ dotnet-sdk dotnetPackages.Nuget cacert makeWrapper ];
|
||||
|
||||
# Stripping breaks the executable
|
||||
dontStrip = true;
|
||||
|
||||
DOTNET_NOLOGO = true; # This disables the welcome message.
|
||||
DOTNET_CLI_TELEMETRY_OPTOUT = true;
|
||||
|
||||
configurePhase = args.configurePhase or ''
|
||||
runHook preConfigure
|
||||
|
||||
export HOME=$(mktemp -d)
|
||||
|
||||
nuget sources Add -Name nixos -Source "$PWD/nixos"
|
||||
nuget init "${_nugetDeps}" "$PWD/nixos"
|
||||
|
||||
# This is required due to https://github.com/NuGet/Home/issues/4413.
|
||||
mkdir -p $HOME/.nuget/NuGet
|
||||
cp $HOME/.config/NuGet/NuGet.Config $HOME/.nuget/NuGet
|
||||
|
||||
dotnet restore ${lib.escapeShellArg projectFile} \
|
||||
${lib.optionalString (!enableParallelBuilding) "--disable-parallel"} \
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
-p:Deterministic=true \
|
||||
--source "$PWD/nixos" \
|
||||
"''${dotnetRestoreFlags[@]}" \
|
||||
"''${dotnetFlags[@]}"
|
||||
|
||||
runHook postConfigure
|
||||
'';
|
||||
|
||||
buildPhase = args.buildPhase or ''
|
||||
runHook preBuild
|
||||
|
||||
dotnet build ${lib.escapeShellArg projectFile} \
|
||||
-maxcpucount:${if enableParallelBuilding then "$NIX_BUILD_CORES" else "1"} \
|
||||
-p:BuildInParallel=${if enableParallelBuilding then "true" else "false"} \
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
-p:Deterministic=true \
|
||||
-p:Version=${args.version} \
|
||||
--configuration ${buildType} \
|
||||
--no-restore \
|
||||
"''${dotnetBuildFlags[@]}" \
|
||||
"''${dotnetFlags[@]}"
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = args.installPhase or ''
|
||||
runHook preInstall
|
||||
|
||||
dotnet publish ${lib.escapeShellArg projectFile} \
|
||||
-p:ContinuousIntegrationBuild=true \
|
||||
-p:Deterministic=true \
|
||||
--output $out/lib/${args.pname} \
|
||||
--configuration ${buildType} \
|
||||
--no-build \
|
||||
--no-self-contained \
|
||||
"''${dotnetInstallFlags[@]}" \
|
||||
"''${dotnetFlags[@]}"
|
||||
'' + (if executables != null then ''
|
||||
for executable in ''${executables}; do
|
||||
execPath="$out/lib/${args.pname}/$executable"
|
||||
|
||||
if [[ -f "$execPath" && -x "$execPath" ]]; then
|
||||
makeWrapper "$execPath" "$out/bin/$(basename "$executable")" \
|
||||
--set DOTNET_ROOT "${dotnet-runtime}" \
|
||||
--suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
''${makeWrapperArgs}
|
||||
else
|
||||
echo "Specified binary \"$executable\" is either not an executable, or does not exist!"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
'' else ''
|
||||
for executable in $out/lib/${args.pname}/*; do
|
||||
if [[ -f "$executable" && -x "$executable" && "$executable" != *"dll"* ]]; then
|
||||
makeWrapper "$executable" "$out/bin/$(basename "$executable")" \
|
||||
--set DOTNET_ROOT "${dotnet-runtime}" \
|
||||
--suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath runtimeDeps}" \
|
||||
"''${gappsWrapperArgs[@]}" \
|
||||
''${makeWrapperArgs}
|
||||
fi
|
||||
done
|
||||
'') + ''
|
||||
runHook postInstall
|
||||
'';
|
||||
});
|
||||
in
|
||||
package
|
37
third_party/nixpkgs/pkgs/build-support/fetchnextcloudapp/default.nix
vendored
Normal file
37
third_party/nixpkgs/pkgs/build-support/fetchnextcloudapp/default.nix
vendored
Normal file
|
@ -0,0 +1,37 @@
|
|||
{ stdenv, gnutar, findutils, fetchurl, ... }:
|
||||
{ name
|
||||
, url
|
||||
, version
|
||||
, sha256
|
||||
, patches ? [ ]
|
||||
}:
|
||||
stdenv.mkDerivation {
|
||||
name = "nc-app-${name}";
|
||||
inherit version patches;
|
||||
|
||||
src = fetchurl {
|
||||
inherit url sha256;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
gnutar
|
||||
findutils
|
||||
];
|
||||
|
||||
unpackPhase = ''
|
||||
tar -xzpf $src
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
approot="$(dirname $(dirname $(find -path '*/appinfo/info.xml' | head -n 1)))"
|
||||
|
||||
if [ -d "$approot" ];
|
||||
then
|
||||
mv "$approot/" $out
|
||||
chmod -R a-w $out
|
||||
else
|
||||
echo "Could not find appinfo/info.xml"
|
||||
exit 1;
|
||||
fi
|
||||
'';
|
||||
}
|
|
@ -9,11 +9,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-user-docs";
|
||||
version = "40.3";
|
||||
version = "41.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-user-docs/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "PeBXr6KsDebKcH9KdsKTLcvFVsHQ0cwCBWXcGHYpLM0=";
|
||||
sha256 = "0lfxj8irwm88n3ba351ak85r97pqlds6y2hqbsic714yj4k8df1a";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "luna-icons";
|
||||
version = "1.4";
|
||||
version = "1.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "darkomarko42";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-qYFyZT1mLNHBRrX/NX2pmt9P5n8urEK/msQMctSckzE=";
|
||||
sha256 = "1iw9wqfs8s3l5k5ngyjmvvxbsxcsya3a6h1xwl6d603swv7h1s02";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"commit": "c3251a7b66241fd25a603ea957ec88b9fa6fffa9",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/c3251a7b66241fd25a603ea957ec88b9fa6fffa9.tar.gz",
|
||||
"sha256": "0rpwykkvd6m5v0ay3ra9fyjgax1y67pr857s32z7l5bjgv1aap5p",
|
||||
"msg": "Update from Hackage at 2021-10-05T05:41:58Z"
|
||||
"commit": "ba457d86df5e8781485cf1b109f249ecf00ee4c6",
|
||||
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/ba457d86df5e8781485cf1b109f249ecf00ee4c6.tar.gz",
|
||||
"sha256": "1h1qnllhdfp6n71b36jw8kaw7kani76z3mmbigrvy8cmkbvj2mdc",
|
||||
"msg": "Update from Hackage at 2021-10-08T09:46:02Z"
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ mkDerivation rec {
|
|||
pname = "adwaita-qt";
|
||||
version = "1.4.0";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "FedoraQt";
|
||||
repo = pname;
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
, stdenv
|
||||
, gettext
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, wrapGAppsHook
|
||||
, gnome-video-effects
|
||||
, libcanberra-gtk3
|
||||
|
@ -35,23 +34,15 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "cheese";
|
||||
version = "3.38.0";
|
||||
version = "41.0";
|
||||
|
||||
outputs = [ "out" "man" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/cheese/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8";
|
||||
url = "mirror://gnome/sources/cheese/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "EG8d9n4c9Bwqp5yZveZ2rskA2wNstSX6EIObBhh9Ivk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix build with latest Vala or GLib
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/cheese/commit/7cf6268e54620bbbe5e6e61800c50fb0cb4bea57.patch";
|
||||
sha256 = "WJgGNrpZLTahe7Sxr8HdTl+4Mf4VcmJb6DdiInlDcT4=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
appstream-glib
|
||||
docbook_xml_dtd_43
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ lib, stdenv
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, pkg-config
|
||||
, meson
|
||||
, ninja
|
||||
|
@ -19,13 +19,13 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ghex";
|
||||
version = "3.18.4";
|
||||
version = "3.41.0";
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/ghex/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1h1pjrr9wynclfykizqd78dbi785wjz6b63p31k87kjvzy8w3nf2";
|
||||
sha256 = "KcdG8ihzteQVvDly29PdYNalH3CA5qPpVsNNZHrjRKI=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -50,18 +50,6 @@ stdenv.mkDerivation rec {
|
|||
desktop-file-utils
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fixes for darwin. Drop in next release.
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/ghex/commit/b0af26666cd990d99076c242b2abb3efc6e98671.patch";
|
||||
sha256 = "1zwdkgr2nqrn9q3ydyvrrpn5x55cdi747fhbq6mh6blp9cbrk9b5";
|
||||
})
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/ghex/commit/cc8ef9e67b23604c402460010dc0b5dccb85391b.patch";
|
||||
sha256 = "0j2165rfhlbrlzhmcnirqd5m89ljpz0n3nz20sxbwlc8h42zv36s";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
chmod +x meson_post_install.py
|
||||
patchShebangs meson_post_install.py
|
||||
|
|
|
@ -55,11 +55,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-boxes";
|
||||
version = "40.3";
|
||||
version = "41.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "//COj0Wkvm0zsKGpY6yzc5ujld6yFZDUOLsepvv3QFg=";
|
||||
sha256 = "1wzhm8n485cqhbai4qshgrwl05ix881g8gjshilrj6vg8p1li79h";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
|
|
@ -24,11 +24,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-calendar";
|
||||
version = "40.2";
|
||||
version = "41.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "njcB/UoOWJgA0iUgN3BkTzHVI0ZV9UqDqF/wVW3X6jM=";
|
||||
sha256 = "0gqrxcn7fcvlh5c9691lx5zgdgs71ah15h5psrbhkg8qcqy95b3k";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
|
|
@ -22,11 +22,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-characters";
|
||||
version = "40.0";
|
||||
version = "41.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-characters/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "0z2xa4w921bzpzj6gv88pvbrijcnnwni6jxynwz0ybaravyzaqha";
|
||||
sha256 = "0yw6mimfwn0fij8zncjb4rg8bnazd1z47rmzq85lk6807nlyqag1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -9,13 +9,13 @@
|
|||
, gtk3
|
||||
, gobject-introspection
|
||||
, gdk-pixbuf
|
||||
, librest
|
||||
, librsvg
|
||||
, libgweather
|
||||
, geoclue2
|
||||
, wrapGAppsHook
|
||||
, folks
|
||||
, libchamplain
|
||||
, gfbgraph
|
||||
, libsoup
|
||||
, gsettings-desktop-schemas
|
||||
, webkitgtk
|
||||
|
@ -29,11 +29,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-maps";
|
||||
version = "40.4";
|
||||
version = "41.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-LFt+HmX39OVP6G7d2hE46qbAaRoUlAPZXL4i7cgiUJw=";
|
||||
sha256 = "sha256-G0CC22wHDp3LCFJZ6+PIpCG44eiyezKEq2BXULudjJI=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
|
@ -53,7 +53,6 @@ stdenv.mkDerivation rec {
|
|||
gdk-pixbuf
|
||||
geoclue2
|
||||
geocode-glib
|
||||
gfbgraph
|
||||
gjs
|
||||
gnome-online-accounts
|
||||
gnome.adwaita-icon-theme
|
||||
|
@ -64,6 +63,7 @@ stdenv.mkDerivation rec {
|
|||
libgee
|
||||
libgweather
|
||||
libhandy
|
||||
librest
|
||||
librsvg
|
||||
libsoup
|
||||
webkitgtk
|
||||
|
|
|
@ -25,18 +25,19 @@
|
|||
, gst_all_1
|
||||
, libdazzle
|
||||
, libsoup
|
||||
, libhandy
|
||||
, gsettings-desktop-schemas
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "gnome-music";
|
||||
version = "40.1.1";
|
||||
version = "41.0";
|
||||
|
||||
format = "other";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "IMtnPhHC8xQ9NYjPyrmhInkQgOun3GASypTBhglVjVE=";
|
||||
sha256 = "1llz2aqa3n3ivwl7i09pgylsbgrfzb872vcj1k7pvivxm1kkbcb9";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -67,6 +68,7 @@ python3.pkgs.buildPythonApplication rec {
|
|||
libnotify
|
||||
libdazzle
|
||||
libsoup
|
||||
libhandy
|
||||
gsettings-desktop-schemas
|
||||
tracker
|
||||
] ++ (with gst_all_1; [
|
||||
|
@ -77,13 +79,12 @@ python3.pkgs.buildPythonApplication rec {
|
|||
gst-plugins-ugly
|
||||
]);
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
pythonPath = with python3.pkgs; [
|
||||
pycairo
|
||||
dbus-python
|
||||
pygobject3
|
||||
];
|
||||
|
||||
|
||||
postPatch = ''
|
||||
for f in meson_post_conf.py meson_post_install.py; do
|
||||
chmod +x $f
|
||||
|
@ -91,6 +92,13 @@ python3.pkgs.buildPythonApplication rec {
|
|||
done
|
||||
'';
|
||||
|
||||
# Prevent double wrapping, let the Python wrapper use the args in preFixup.
|
||||
dontWrapGApps = true;
|
||||
|
||||
preFixup = ''
|
||||
makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
|
||||
'';
|
||||
|
||||
doCheck = false;
|
||||
|
||||
# handle setup hooks better
|
||||
|
|
|
@ -21,15 +21,16 @@
|
|||
, libical
|
||||
, librest
|
||||
, json-glib
|
||||
, itstool
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-todo";
|
||||
version = "40.0";
|
||||
version = "41.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "aAl8lvBnXHFCZn0QQ0ToNHLdf8xTj+wKzb9gJrucobE=";
|
||||
sha256 = "1r94880d4khbjhhfnhaba3y3d4hv2bri82rzfzxn27s5iybpqras";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -39,6 +40,7 @@ stdenv.mkDerivation rec {
|
|||
gettext
|
||||
python3
|
||||
wrapGAppsHook
|
||||
itstool
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
|
@ -62,10 +64,6 @@ stdenv.mkDerivation rec {
|
|||
postPatch = ''
|
||||
chmod +x build-aux/meson/meson_post_install.py
|
||||
patchShebangs build-aux/meson/meson_post_install.py
|
||||
|
||||
# https://gitlab.gnome.org/GNOME/gnome-todo/merge_requests/103
|
||||
substituteInPlace src/meson.build \
|
||||
--replace 'Gtk-3.0' 'Gtk-4.0'
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
|
|
@ -19,11 +19,11 @@
|
|||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gnome-weather";
|
||||
version = "40.1";
|
||||
version = "41.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-weather/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "PREUTEeXxG0gaMPd9c4rwDD8oPJyzwPyGMT0baO3PE0=";
|
||||
sha256 = "1vidwq768xnrnr24jcfbpwjczz7vm5zmaiv41nb75q4p8avlwqg5";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,17 +1,15 @@
|
|||
{ lib, stdenv, itstool, fetchurl, gdk-pixbuf, adwaita-icon-theme
|
||||
, telepathy-glib, gjs, meson, ninja, gettext, telepathy-idle, libxml2, desktop-file-utils
|
||||
, pkg-config, gtk3, glib, libsecret, libsoup, webkitgtk, gobject-introspection, appstream-glib
|
||||
, gnome, wrapGAppsHook, telepathy-logger, gspell, gsettings-desktop-schemas }:
|
||||
, pkg-config, gtk4, gtk3, glib, libsecret, libsoup, webkitgtk, gobject-introspection, appstream-glib
|
||||
, gnome, wrapGAppsHook4, telepathy-logger, gspell, gsettings-desktop-schemas }:
|
||||
|
||||
let
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "polari";
|
||||
version = "3.38.0";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "${pname}-${version}";
|
||||
version = "41.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz";
|
||||
sha256 = "1l82nmb5qk4h69rsdhzlcmjjdhwh9jzfs4cnw8hy39sg5v9ady1s";
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "o7BfgWYDcMZ8lCtvRLKYx7eIFv6zjJJuwiEr3iLqQOs=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -24,12 +22,12 @@ in stdenv.mkDerivation rec {
|
|||
propagatedUserEnvPkgs = [ telepathy-idle telepathy-logger ];
|
||||
|
||||
nativeBuildInputs = [
|
||||
meson ninja pkg-config itstool gettext wrapGAppsHook libxml2
|
||||
meson ninja pkg-config itstool gettext wrapGAppsHook4 libxml2
|
||||
desktop-file-utils gobject-introspection appstream-glib
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gtk3 glib adwaita-icon-theme gsettings-desktop-schemas
|
||||
gtk4 gtk3 glib adwaita-icon-theme gsettings-desktop-schemas
|
||||
telepathy-glib telepathy-logger gjs gspell gdk-pixbuf libsecret libsoup webkitgtk
|
||||
];
|
||||
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
diff --git a/src/thumbnailer.js b/src/thumbnailer.js
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
index e2ad0a5..7ebf08a
|
||||
index ed6350ea..83d832cb
|
||||
--- a/src/thumbnailer.js
|
||||
+++ b/src/thumbnailer.js
|
||||
@@ -1,3 +1,4 @@
|
||||
+#!/usr/bin/env gjs
|
||||
imports.gi.versions.Gdk = '3.0';
|
||||
imports.gi.versions.Gtk = '3.0';
|
||||
|
||||
+#!/usr/bin/env gjs --module
|
||||
import Cairo from 'cairo';
|
||||
import Gdk from 'gi://Gdk?version=3.0';
|
||||
import Gio from 'gi://Gio';
|
||||
diff --git a/src/urlPreview.js b/src/urlPreview.js
|
||||
index f17e0be..ccffc32 100644
|
||||
index 5f7931e4..d2282900 100644
|
||||
--- a/src/urlPreview.js
|
||||
+++ b/src/urlPreview.js
|
||||
@@ -44,7 +44,7 @@ class Thumbnailer {
|
||||
_generateThumbnail(data) {
|
||||
@@ -69,7 +69,7 @@ class Thumbnailer {
|
||||
async _generateThumbnail(data) {
|
||||
let { filename, uri } = data;
|
||||
this._subProc = Gio.Subprocess.new(
|
||||
- ['gjs', `${pkg.pkgdatadir}/thumbnailer.js`, uri, filename],
|
||||
- ['gjs', '--module', `${pkg.pkgdatadir}/thumbnailer.js`, uri, filename],
|
||||
+ [`${pkg.pkgdatadir}/thumbnailer.js`, uri, filename],
|
||||
Gio.SubprocessFlags.NONE);
|
||||
this._subProc.wait_async(null, (o, res) => {
|
||||
try {
|
||||
try {
|
||||
await this._subProc.wait_async(null);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue