Project import generated by Copybara.

GitOrigin-RevId: dd14e5d78e90a2ccd6007e569820de9b4861a6c2
This commit is contained in:
Default email 2021-07-24 08:14:16 -04:00
parent a911a1f1be
commit 21cecf6002
749 changed files with 8875 additions and 4493 deletions

View file

@ -7,33 +7,38 @@ assignees: ''
--- ---
**Describe the bug** ### Describe the bug
A clear and concise description of what the bug is. A clear and concise description of what the bug is.
**To Reproduce** ### Steps To Reproduce
Steps to reproduce the behavior: Steps to reproduce the behavior:
1. ... 1. ...
2. ... 2. ...
3. ... 3. ...
**Expected behavior** ### Expected behavior
A clear and concise description of what you expected to happen. A clear and concise description of what you expected to happen.
**Screenshots** ### Screenshots
If applicable, add screenshots to help explain your problem. If applicable, add screenshots to help explain your problem.
**Additional context** ### Additional context
Add any other context about the problem here. Add any other context about the problem here.
**Notify maintainers** ### Notify maintainers
<!-- <!--
Please @ people who are in the `meta.maintainers` list of the offending package or module. Please @ people who are in the `meta.maintainers` list of the offending package or module.
If in doubt, check `git blame` for whoever last touched something. If in doubt, check `git blame` for whoever last touched something.
--> -->
**Metadata** ### Metadata
Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result. Please run `nix-shell -p nix-info --run "nix-info -m"` and paste the result.
```console
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here
```
Maintainer information: Maintainer information:
```yaml ```yaml
# a list of nixpkgs attributes affected by the problem # a list of nixpkgs attributes affected by the problem

View file

@ -287,6 +287,13 @@ rec {
merge = mergeEqualOption; merge = mergeEqualOption;
}; };
nonEmptyStr = mkOptionType {
name = "nonEmptyStr";
description = "non-empty string";
check = x: str.check x && builtins.match "[ \t\n]*" x == null;
inherit (str) merge;
};
strMatching = pattern: mkOptionType { strMatching = pattern: mkOptionType {
name = "strMatching ${escapeNixString pattern}"; name = "strMatching ${escapeNixString pattern}";
description = "string matching the pattern ${pattern}"; description = "string matching the pattern ${pattern}";

View file

@ -802,6 +802,12 @@
githubId = 13426784; githubId = 13426784;
name = "arcnmx"; name = "arcnmx";
}; };
arcticlimer = {
email = "vinigm.nho@gmail.com";
github = "arcticlimer";
githubId = 59743220;
name = "Vinícius Müller";
};
ardumont = { ardumont = {
email = "eniotna.t@gmail.com"; email = "eniotna.t@gmail.com";
github = "ardumont"; github = "ardumont";
@ -1054,6 +1060,12 @@
githubId = 135230; githubId = 135230;
name = "Aycan iRiCAN"; name = "Aycan iRiCAN";
}; };
arjix = {
email = "arjix@protonmail.com";
github = "arjix";
githubId = 62168569;
name = "arjix";
};
artturin = { artturin = {
email = "artturin@artturin.com"; email = "artturin@artturin.com";
github = "artturin"; github = "artturin";
@ -4349,6 +4361,12 @@
github = "HolgerPeters"; github = "HolgerPeters";
githubId = 4097049; githubId = 4097049;
}; };
hqurve = {
email = "hqurve@outlook.com";
github = "hqurve";
githubId = 53281855;
name = "hqurve";
};
hrdinka = { hrdinka = {
email = "c.nix@hrdinka.at"; email = "c.nix@hrdinka.at";
github = "hrdinka"; github = "hrdinka";
@ -4805,6 +4823,12 @@
githubId = 1383440; githubId = 1383440;
name = "Jason Gilliland"; name = "Jason Gilliland";
}; };
jdahm = {
email = "johann.dahm@gmail.com";
github = "jdahm";
githubId = 68032;
name = "Johann Dahm";
};
jdanek = { jdanek = {
email = "jdanek@redhat.com"; email = "jdanek@redhat.com";
github = "jdanekrh"; github = "jdanekrh";
@ -5767,6 +5791,12 @@
githubId = 278013; githubId = 278013;
name = "Tomasz Kontusz"; name = "Tomasz Kontusz";
}; };
kurnevsky = {
email = "kurnevsky@gmail.com";
github = "kurnevsky";
githubId = 2943605;
name = "Evgeny Kurnevsky";
};
kuznero = { kuznero = {
email = "roman@kuznero.com"; email = "roman@kuznero.com";
github = "kuznero"; github = "kuznero";
@ -5894,6 +5924,12 @@
githubId = 1104419; githubId = 1104419;
name = "Lucas Hoffmann"; name = "Lucas Hoffmann";
}; };
lde = {
email = "lilian.deloche@puck.fr";
github = "lde";
githubId = 1447020;
name = "Lilian Deloche";
};
ldelelis = { ldelelis = {
email = "ldelelis@est.frba.utn.edu.ar"; email = "ldelelis@est.frba.utn.edu.ar";
github = "ldelelis"; github = "ldelelis";
@ -6634,6 +6670,12 @@
githubId = 1191859; githubId = 1191859;
name = "Maxim Krivchikov"; name = "Maxim Krivchikov";
}; };
MayNiklas = {
email = "info@niklas-steffen.de";
github = "MayNiklas";
githubId = 44636701;
name = "Niklas Steffen";
};
mazurel = { mazurel = {
email = "mateusz.mazur@yahoo.com"; email = "mateusz.mazur@yahoo.com";
github = "Mazurel"; github = "Mazurel";
@ -10098,6 +10140,12 @@
githubId = 1829294; githubId = 1829294;
name = "Steve Chávez"; name = "Steve Chávez";
}; };
stevebob = {
email = "stephen@sherra.tt";
github = "stevebob";
githubId = 417118;
name = "Stephen Sherratt";
};
steveej = { steveej = {
email = "mail@stefanjunker.de"; email = "mail@stefanjunker.de";
github = "steveej"; github = "steveej";

View file

@ -544,6 +544,12 @@
2020 to 2021 2020 to 2021
</para> </para>
</listitem> </listitem>
<listitem>
<para>
the <literal>mingw-64</literal> package has been upgraded from
6.0.0 to 9.0.0
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
<section xml:id="sec-release-21.11-notable-changes"> <section xml:id="sec-release-21.11-notable-changes">
@ -611,6 +617,77 @@
be removed in 22.05. be removed in 22.05.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
The order of NSS (host) modules has been brought in line with
upstream recommendations:
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
The <literal>myhostname</literal> module is placed before
the <literal>resolve</literal> (optional) and
<literal>dns</literal> entries, but after
<literal>file</literal> (to allow overriding via
<literal>/etc/hosts</literal> /
<literal>networking.extraHosts</literal>, and prevent ISPs
with catchall-DNS resolvers from hijacking
<literal>.localhost</literal> domains)
</para>
</listitem>
<listitem>
<para>
The <literal>mymachines</literal> module, which provides
hostname resolution for local containers (registered with
<literal>systemd-machined</literal>) is placed to the
front, to make sure its mappings are preferred over other
resolvers.
</para>
</listitem>
<listitem>
<para>
If systemd-networkd is enabled, the
<literal>resolve</literal> module is placed before
<literal>files</literal> and
<literal>myhostname</literal>, as it provides the same
logic internally, with caching.
</para>
</listitem>
<listitem>
<para>
The <literal>mdns(_minimal)</literal> module has been
updated to the new priorities.
</para>
</listitem>
</itemizedlist>
<para>
If you use your own NSS host modules, make sure to update your
priorities according to these rules:
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
NSS modules which should be queried before
<literal>resolved</literal> DNS resolution should use
mkBefore.
</para>
</listitem>
<listitem>
<para>
NSS modules which should be queried after
<literal>resolved</literal>, <literal>files</literal> and
<literal>myhostname</literal>, but before
<literal>dns</literal> should use the default priority
</para>
</listitem>
<listitem>
<para>
NSS modules which should come after <literal>dns</literal>
should use mkAfter.
</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View file

@ -138,6 +138,8 @@ pt-services.clipcat.enable).
- The `isabelle` package has been upgraded from 2020 to 2021 - The `isabelle` package has been upgraded from 2020 to 2021
- the `mingw-64` package has been upgraded from 6.0.0 to 9.0.0
## Other Notable Changes {#sec-release-21.11-notable-changes} ## Other Notable Changes {#sec-release-21.11-notable-changes}
- The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets. - The setting [`services.openssh.logLevel`](options.html#opt-services.openssh.logLevel) `"VERBOSE"` `"INFO"`. This brings NixOS in line with upstream and other Linux distributions, and reduces log spam on servers due to bruteforcing botnets.
@ -153,3 +155,27 @@ pt-services.clipcat.enable).
- The wordpress module provides a new interface which allows to use different webservers with the new option [`services.wordpress.webserver`](options.html#opt-services.wordpress.webserver). Currently `httpd` and `nginx` are supported. The definitions of wordpress sites should now be set in [`services.wordpress.sites`](options.html#opt-services.wordpress.sites). - The wordpress module provides a new interface which allows to use different webservers with the new option [`services.wordpress.webserver`](options.html#opt-services.wordpress.webserver). Currently `httpd` and `nginx` are supported. The definitions of wordpress sites should now be set in [`services.wordpress.sites`](options.html#opt-services.wordpress.sites).
Sites definitions that use the old interface are automatically migrated in the new option. This backward compatibility will be removed in 22.05. Sites definitions that use the old interface are automatically migrated in the new option. This backward compatibility will be removed in 22.05.
- The order of NSS (host) modules has been brought in line with upstream
recommendations:
- The `myhostname` module is placed before the `resolve` (optional) and `dns`
entries, but after `file` (to allow overriding via `/etc/hosts` /
`networking.extraHosts`, and prevent ISPs with catchall-DNS resolvers from
hijacking `.localhost` domains)
- The `mymachines` module, which provides hostname resolution for local
containers (registered with `systemd-machined`) is placed to the front, to
make sure its mappings are preferred over other resolvers.
- If systemd-networkd is enabled, the `resolve` module is placed before
`files` and `myhostname`, as it provides the same logic internally, with
caching.
- The `mdns(_minimal)` module has been updated to the new priorities.
If you use your own NSS host modules, make sure to update your priorities
according to these rules:
- NSS modules which should be queried before `resolved` DNS resolution should
use mkBefore.
- NSS modules which should be queried after `resolved`, `files` and
`myhostname`, but before `dns` should use the default priority
- NSS modules which should come after `dns` should use mkAfter.

View file

@ -124,8 +124,8 @@ with lib;
group = mkBefore [ "files" ]; group = mkBefore [ "files" ];
shadow = mkBefore [ "files" ]; shadow = mkBefore [ "files" ];
hosts = mkMerge [ hosts = mkMerge [
(mkBefore [ "files" ]) (mkOrder 998 [ "files" ])
(mkAfter [ "dns" ]) (mkOrder 1499 [ "dns" ])
]; ];
services = mkBefore [ "files" ]; services = mkBefore [ "files" ];
}; };

View file

@ -127,6 +127,15 @@ let
''; '';
}; };
options = mkOption {
default = [ "defaults" ];
example = [ "nofail" ];
type = types.listOf types.nonEmptyStr;
description = ''
Options used to mount the swap.
'';
};
deviceName = mkOption { deviceName = mkOption {
type = types.str; type = types.str;
internal = true; internal = true;
@ -215,7 +224,7 @@ in
fi fi
''} ''}
${optionalString sw.randomEncryption.enable '' ${optionalString sw.randomEncryption.enable ''
cryptsetup plainOpen -c ${sw.randomEncryption.cipher} -d ${sw.randomEncryption.source} ${sw.device} ${sw.deviceName} cryptsetup plainOpen -c ${sw.randomEncryption.cipher} -d ${sw.randomEncryption.source} ${optionalString (sw.discardPolicy != null) "--allow-discards"} ${sw.device} ${sw.deviceName}
mkswap ${sw.realDevice} mkswap ${sw.realDevice}
''} ''}
''; '';

View file

@ -9,7 +9,7 @@ with lib;
hardware.sensor.iio = { hardware.sensor.iio = {
enable = mkOption { enable = mkOption {
description = '' description = ''
Enable this option to support IIO sensors. Enable this option to support IIO sensors with iio-sensor-proxy.
IIO sensors are used for orientation and ambient light IIO sensors are used for orientation and ambient light
sensors on some mobile devices. sensors on some mobile devices.

View file

@ -10,5 +10,8 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
security.wrappers.udevil.source = "${lib.getBin pkgs.udevil}/bin/udevil"; security.wrappers.udevil.source = "${lib.getBin pkgs.udevil}/bin/udevil";
systemd.packages = [ pkgs.udevil ];
systemd.services."devmon@".wantedBy = [ "multi-user.target" ];
}; };
} }

View file

@ -53,7 +53,7 @@ in
}; };
shellAliases = mkOption { shellAliases = mkOption {
default = {}; default = { };
description = '' description = ''
Set of aliases for zsh shell, which overrides <option>environment.shellAliases</option>. Set of aliases for zsh shell, which overrides <option>environment.shellAliases</option>.
See <option>environment.shellAliases</option> for an option format description. See <option>environment.shellAliases</option> for an option format description.
@ -118,7 +118,9 @@ in
setOptions = mkOption { setOptions = mkOption {
type = types.listOf types.str; type = types.listOf types.str;
default = [ default = [
"HIST_IGNORE_DUPS" "SHARE_HISTORY" "HIST_FCNTL_LOCK" "HIST_IGNORE_DUPS"
"SHARE_HISTORY"
"HIST_FCNTL_LOCK"
]; ];
example = [ "EXTENDED_HISTORY" "RM_STAR_WAIT" ]; example = [ "EXTENDED_HISTORY" "RM_STAR_WAIT" ];
description = '' description = ''
@ -278,15 +280,29 @@ in
environment.etc.zinputrc.source = ./zinputrc; environment.etc.zinputrc.source = ./zinputrc;
environment.systemPackages = [ pkgs.zsh ] environment.systemPackages =
++ optional cfg.enableCompletion pkgs.nix-zsh-completions; let
completions =
if lib.versionAtLeast (lib.getVersion config.nix.package) "2.4pre"
then
pkgs.nix-zsh-completions.overrideAttrs
(_: {
postInstall = ''
rm $out/share/zsh/site-functions/_nix
'';
})
else pkgs.nix-zsh-completions;
in
[ pkgs.zsh ]
++ optional cfg.enableCompletion completions;
environment.pathsToLink = optional cfg.enableCompletion "/share/zsh"; environment.pathsToLink = optional cfg.enableCompletion "/share/zsh";
#users.defaultUserShell = mkDefault "/run/current-system/sw/bin/zsh"; #users.defaultUserShell = mkDefault "/run/current-system/sw/bin/zsh";
environment.shells = environment.shells =
[ "/run/current-system/sw/bin/zsh" [
"/run/current-system/sw/bin/zsh"
"${pkgs.zsh}/bin/zsh" "${pkgs.zsh}/bin/zsh"
]; ];

View file

@ -313,6 +313,7 @@ in {
"w800rf32" "w800rf32"
"xbee" "xbee"
"zha" "zha"
"zwave"
]; ];
in { in {
ExecStart = "${package}/bin/hass --runner --config '${cfg.configDir}'"; ExecStart = "${package}/bin/hass --runner --config '${cfg.configDir}'";

View file

@ -2,7 +2,13 @@
with lib; with lib;
let let
cfg = config.services.klipper; cfg = config.services.klipper;
format = pkgs.formats.ini { mkKeyValue = generators.mkKeyValueDefault {} ":"; }; format = pkgs.formats.ini {
# https://github.com/NixOS/nixpkgs/pull/121613#issuecomment-885241996
listToValue = l:
if builtins.length l == 1 then generators.mkValueStringDefault {} (head l)
else lib.concatMapStrings (s: "\n ${generators.mkValueStringDefault {} s}") l;
mkKeyValue = generators.mkKeyValueDefault {} ":";
};
in in
{ {
##### interface ##### interface

View file

@ -240,8 +240,8 @@ in
system.nssModules = optional cfg.nssmdns pkgs.nssmdns; system.nssModules = optional cfg.nssmdns pkgs.nssmdns;
system.nssDatabases.hosts = optionals cfg.nssmdns (mkMerge [ system.nssDatabases.hosts = optionals cfg.nssmdns (mkMerge [
(mkOrder 900 [ "mdns_minimal [NOTFOUND=return]" ]) # must be before resolve (mkBefore [ "mdns_minimal [NOTFOUND=return]" ]) # before resolve
(mkOrder 1501 [ "mdns" ]) # 1501 to ensure it's after dns (mkAfter [ "mdns" ]) # after dns
]); ]);
environment.systemPackages = [ pkgs.avahi ]; environment.systemPackages = [ pkgs.avahi ];

View file

@ -37,7 +37,7 @@ in {
} }
''; '';
description = '' description = ''
Configuration for CoreRAD, see <link xlink:href="https://github.com/mdlayher/corerad/blob/master/internal/config/default.toml"/> Configuration for CoreRAD, see <link xlink:href="https://github.com/mdlayher/corerad/blob/main/internal/config/reference.toml"/>
for supported values. Ignored if configFile is set. for supported values. Ignored if configFile is set.
''; '';
}; };

View file

@ -82,13 +82,21 @@ in
LD_PRELOAD = "${pkgs.libredirect}/lib/libredirect.so"; LD_PRELOAD = "${pkgs.libredirect}/lib/libredirect.so";
NIX_REDIRECTS = "/var/run=/run/pppd"; NIX_REDIRECTS = "/var/run=/run/pppd";
}; };
serviceConfig = { serviceConfig = let
capabilities = [
"CAP_BPF"
"CAP_SYS_TTY_CONFIG"
"CAP_NET_ADMIN"
"CAP_NET_RAW"
];
in
{
ExecStart = "${getBin cfg.package}/sbin/pppd call ${peerCfg.name} nodetach nolog"; ExecStart = "${getBin cfg.package}/sbin/pppd call ${peerCfg.name} nodetach nolog";
Restart = "always"; Restart = "always";
RestartSec = 5; RestartSec = 5;
AmbientCapabilities = "CAP_SYS_TTY_CONFIG CAP_NET_ADMIN CAP_NET_RAW CAP_SYS_ADMIN"; AmbientCapabilities = capabilities;
CapabilityBoundingSet = "CAP_SYS_TTY_CONFIG CAP_NET_ADMIN CAP_NET_RAW CAP_SYS_ADMIN"; CapabilityBoundingSet = capabilities;
KeyringMode = "private"; KeyringMode = "private";
LockPersonality = true; LockPersonality = true;
MemoryDenyWriteExecute = true; MemoryDenyWriteExecute = true;
@ -103,7 +111,17 @@ in
ProtectKernelTunables = false; ProtectKernelTunables = false;
ProtectSystem = "strict"; ProtectSystem = "strict";
RemoveIPC = true; RemoveIPC = true;
RestrictAddressFamilies = "AF_PACKET AF_UNIX AF_PPPOX AF_ATMPVC AF_ATMSVC AF_INET AF_INET6 AF_IPX"; RestrictAddressFamilies = [
"AF_ATMPVC"
"AF_ATMSVC"
"AF_INET"
"AF_INET6"
"AF_IPX"
"AF_NETLINK"
"AF_PACKET"
"AF_PPPOX"
"AF_UNIX"
];
RestrictNamespaces = true; RestrictNamespaces = true;
RestrictRealtime = true; RestrictRealtime = true;
RestrictSUIDSGID = true; RestrictSUIDSGID = true;

View file

@ -21,7 +21,15 @@ let
)) ))
else throw (traceSeq v "services.unbound.settings: unexpected type"); else throw (traceSeq v "services.unbound.settings: unexpected type");
confFile = pkgs.writeText "unbound.conf" (concatStringsSep "\n" ((mapAttrsToList (toConf "") cfg.settings) ++ [""])); confNoServer = concatStringsSep "\n" ((mapAttrsToList (toConf "") (builtins.removeAttrs cfg.settings [ "server" ])) ++ [""]);
confServer = concatStringsSep "\n" (mapAttrsToList (toConf " ") (builtins.removeAttrs cfg.settings.server [ "define-tag" ]));
confFile = pkgs.writeText "unbound.conf" ''
server:
${optionalString (cfg.settings.server.define-tag != "") (toOption " " "define-tag" cfg.settings.server.define-tag)}
${confServer}
${confNoServer}
'';
rootTrustAnchorFile = "${cfg.stateDir}/root.key"; rootTrustAnchorFile = "${cfg.stateDir}/root.key";
@ -170,6 +178,7 @@ in {
# prevent race conditions on system startup when interfaces are not yet # prevent race conditions on system startup when interfaces are not yet
# configured # configured
ip-freebind = mkDefault true; ip-freebind = mkDefault true;
define-tag = mkDefault "";
}; };
remote-control = { remote-control = {
control-enable = mkDefault false; control-enable = mkDefault false;

View file

@ -699,7 +699,6 @@ in {
}; };
extraConfig = '' extraConfig = ''
index index.php index.html /index.php$request_uri; index index.php index.html /index.php$request_uri;
expires 1m;
add_header X-Content-Type-Options nosniff; add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block"; add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none; add_header X-Robots-Tag none;

View file

@ -7,10 +7,15 @@ let
# FIXME consider using LoadCredential as soon as it actually works. # FIXME consider using LoadCredential as soon as it actually works.
envSecrets = '' envSecrets = ''
export ADMIN_USER_PWD="$(<${cfg.adminUser.passwordFile})" ADMIN_USER_PWD="$(<${cfg.adminUser.passwordFile})"
export SECRET_KEY_BASE="$(<${cfg.server.secretKeybaseFile})" export ADMIN_USER_PWD # separate export to make `set -e` work
SECRET_KEY_BASE="$(<${cfg.server.secretKeybaseFile})"
export SECRET_KEY_BASE # separate export to make `set -e` work
${optionalString (cfg.mail.smtp.passwordFile != null) '' ${optionalString (cfg.mail.smtp.passwordFile != null) ''
export SMTP_USER_PWD="$(<${cfg.mail.smtp.passwordFile})" SMTP_USER_PWD="$(<${cfg.mail.smtp.passwordFile})"
export SMTP_USER_PWD # separate export to make `set -e` work
''} ''}
''; '';
in { in {
@ -102,6 +107,11 @@ in {
type = types.str; type = types.str;
description = '' description = ''
Public URL where plausible is available. Public URL where plausible is available.
Note that <literal>/path</literal> components are currently ignored:
<link xlink:href="https://github.com/plausible/analytics/issues/1182">
https://github.com/plausible/analytics/issues/1182
</link>.
''; '';
}; };
}; };
@ -228,6 +238,7 @@ in {
WorkingDirectory = "/var/lib/plausible"; WorkingDirectory = "/var/lib/plausible";
StateDirectory = "plausible"; StateDirectory = "plausible";
ExecStartPre = "@${pkgs.writeShellScript "plausible-setup" '' ExecStartPre = "@${pkgs.writeShellScript "plausible-setup" ''
set -eu -o pipefail
${envSecrets} ${envSecrets}
${pkgs.plausible}/createdb.sh ${pkgs.plausible}/createdb.sh
${pkgs.plausible}/migrate.sh ${pkgs.plausible}/migrate.sh
@ -238,6 +249,7 @@ in {
''} ''}
''} plausible-setup"; ''} plausible-setup";
ExecStart = "@${pkgs.writeShellScript "plausible" '' ExecStart = "@${pkgs.writeShellScript "plausible" ''
set -eu -o pipefail
${envSecrets} ${envSecrets}
plausible start plausible start
''} plausible"; ''} plausible";

View file

@ -140,7 +140,8 @@ in
# add resolve to nss hosts database if enabled and nscd enabled # add resolve to nss hosts database if enabled and nscd enabled
# system.nssModules is configured in nixos/modules/system/boot/systemd.nix # system.nssModules is configured in nixos/modules/system/boot/systemd.nix
system.nssDatabases.hosts = optional config.services.nscd.enable "resolve [!UNAVAIL=return]"; # added with order 501 to allow modules to go before with mkBefore
system.nssDatabases.hosts = (mkOrder 501 ["resolve [!UNAVAIL=return]"]);
systemd.additionalUpstreamSystemUnits = [ systemd.additionalUpstreamSystemUnits = [
"systemd-resolved.service" "systemd-resolved.service"

View file

@ -925,9 +925,8 @@ in
system.nssModules = [ systemd.out ]; system.nssModules = [ systemd.out ];
system.nssDatabases = { system.nssDatabases = {
hosts = (mkMerge [ hosts = (mkMerge [
[ "mymachines" ] (mkOrder 400 ["mymachines"]) # 400 to ensure it comes before resolve (which is mkBefore'd)
(mkOrder 1600 [ "myhostname" ] # 1600 to ensure it's always the last (mkOrder 999 ["myhostname"]) # after files (which is 998), but before regular nss modules
)
]); ]);
passwd = (mkMerge [ passwd = (mkMerge [
(mkAfter [ "systemd" ]) (mkAfter [ "systemd" ])

View file

@ -255,7 +255,7 @@ in
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces # https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string; escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
swapOptions = sw: concatStringsSep "," ( swapOptions = sw: concatStringsSep "," (
[ "defaults" ] sw.options
++ optional (sw.priority != null) "pri=${toString sw.priority}" ++ optional (sw.priority != null) "pri=${toString sw.priority}"
++ optional (sw.discardPolicy != null) "discard${optionalString (sw.discardPolicy != "both") "=${toString sw.discardPolicy}"}" ++ optional (sw.discardPolicy != null) "discard${optionalString (sw.discardPolicy != "both") "=${toString sw.discardPolicy}"}"
); );

View file

@ -440,6 +440,7 @@ in
txredisapi = handleTest ./txredisapi.nix {}; txredisapi = handleTest ./txredisapi.nix {};
tuptime = handleTest ./tuptime.nix {}; tuptime = handleTest ./tuptime.nix {};
turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {}; turbovnc-headless-server = handleTest ./turbovnc-headless-server.nix {};
tuxguitar = handleTest ./tuxguitar.nix {};
ucarp = handleTest ./ucarp.nix {}; ucarp = handleTest ./ucarp.nix {};
ucg = handleTest ./ucg.nix {}; ucg = handleTest ./ucg.nix {};
udisks2 = handleTest ./udisks2.nix {}; udisks2 = handleTest ./udisks2.nix {};

View file

@ -81,7 +81,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
# Add optional CLI options: # Add optional CLI options:
options = [] options = []
major_version = "${versions.major (getVersion chromiumPkg.name)}" major_version = "${versions.major (getVersion chromiumPkg.name)}"
if major_version > "91": if major_version > "91" and pname.startswith("google-chrome"):
# To avoid a GPU crash: # To avoid a GPU crash:
options += ["--use-gl=angle", "--use-angle=swiftshader"] options += ["--use-gl=angle", "--use-angle=swiftshader"]
options.append("file://${startupHTML}") options.append("file://${startupHTML}")
@ -239,7 +239,8 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
with test_new_win("gpu_info", "chrome://gpu", "chrome://gpu"): with test_new_win("gpu_info", "chrome://gpu", "chrome://gpu"):
pass # To check the text rendering (catches regressions like #131074):
machine.wait_for_text("Graphics Feature Status")
machine.shutdown() machine.shutdown()

View file

@ -40,7 +40,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
assert task_name == "Test Task" assert task_name == "Test Task"
machine.succeed("curl -sSfI http://localhost/api/tasks 2>&1 | grep '401 Unauthorized'") machine.succeed("curl -sSI http://localhost/api/tasks 2>&1 | grep '401 Unauthorized'")
machine.shutdown() machine.shutdown()
''; '';

View file

@ -0,0 +1,24 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "tuxguitar";
meta = with pkgs.lib.maintainers; {
maintainers = [ asbachb ];
};
machine = { config, pkgs, ... }: {
imports = [
./common/x11.nix
];
services.xserver.enable = true;
environment.systemPackages = [ pkgs.tuxguitar ];
};
testScript = ''
machine.wait_for_x()
machine.succeed("tuxguitar &")
machine.wait_for_window("TuxGuitar - Untitled.tg")
machine.sleep(1)
machine.screenshot("tuxguitar")
'';
})

View file

@ -0,0 +1,39 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, deadbeef, gtk3, perl
, libdbusmenu-glib }:
stdenv.mkDerivation rec {
pname = "deadbeef-statusnotifier-plugin";
version = "1.6";
src = fetchFromGitHub {
owner = "vovochka404";
repo = "deadbeef-statusnotifier-plugin";
rev = "v${version}";
sha256 = "sha256-6WEbY59vPNrL3W5GUwFQJimmSS+td8Ob+G46fPAxfV4=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [ deadbeef gtk3 libdbusmenu-glib ];
buildFlags = [ "gtk3" ];
postPatch = ''
substituteInPlace tools/glib-mkenums \
--replace /usr/bin/perl "${perl}/bin/perl"
'';
installPhase = ''
runHook preInstall
mkdir -p $out/lib/deadbeef
cp build/sni_gtk3.so $out/lib/deadbeef
runHook postInstall
'';
meta = with lib; {
description = "DeaDBeeF StatusNotifier Plugin";
homepage = "https://github.com/vovochka404/deadbeef-statusnotifier-plugin";
license = licenses.gpl3Plus;
maintainers = [ maintainers.kurnevsky ];
platforms = platforms.linux;
};
}

View file

@ -3,6 +3,7 @@
, autoPatchelfHook , autoPatchelfHook
, fetchurl , fetchurl
, flac , flac
, gcc11
, lib , lib
, libmicrohttpd , libmicrohttpd
, llvmPackages_10 , llvmPackages_10
@ -17,13 +18,11 @@
mkDerivation rec { mkDerivation rec {
pname = "hqplayer-desktop"; pname = "hqplayer-desktop";
version = "4.12.1-35"; version = "4.12.2-36";
src = fetchurl { src = fetchurl {
# FIXME: use the fc34 sources when we get glibc 2.33 in nixpkgs url = "https://www.signalyst.eu/bins/hqplayer/fc34/hqplayer4desktop-${version}.fc34.x86_64.rpm";
# c.f. https://github.com/NixOS/nixpkgs/pull/111616 sha256 = "sha256-ng0Tkx6CSnzTxuunStaBhUYjxUmzx31ZaOY2gBWnH6Q=";
url = "https://www.signalyst.eu/bins/hqplayer/fc33/hqplayer4desktop-${version}.fc33.x86_64.rpm";
sha256 = "sha256-DLnZNX+uAan9dhPLMvINeXsIn3Yv2CgsvyTcX0hbEK8=";
}; };
unpackPhase = '' unpackPhase = ''
@ -35,11 +34,12 @@ mkDerivation rec {
buildInputs = [ buildInputs = [
alsa-lib alsa-lib
flac flac
gcc11.cc.lib
libmicrohttpd libmicrohttpd
llvmPackages_10.openmp llvmPackages_10.openmp
qtquickcontrols2
qtcharts qtcharts
qtdeclarative qtdeclarative
qtquickcontrols2
qtwebengine qtwebengine
qtwebview qtwebview
wavpack wavpack

View file

@ -1,4 +1,5 @@
{ lib { lib
, stdenv
, mkDerivation , mkDerivation
, fetchurl , fetchurl
, fetchFromGitHub , fetchFromGitHub
@ -116,6 +117,23 @@ mkDerivation rec {
"--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive" "--set LOCALE_ARCHIVE ${glibcLocales}/lib/locale/locale-archive"
]; ];
# mixxx installs udev rules to DATADIR instead of SYSCONFDIR
# let's disable this and install udev rules manually via postInstall
# see https://github.com/mixxxdj/mixxx/blob/2.3.0/CMakeLists.txt#L1381-L1392
cmakeFlags = [
"-DINSTALL_USER_UDEV_RULES=OFF"
];
postInstall = lib.optionalString stdenv.isLinux ''
rules="$src/res/linux/mixxx-usb-uaccess.rules"
if [ ! -f "$rules" ]; then
echo "$rules is missing, must update the Nix file."
exit 1
fi
mkdir -p "$out/lib/udev/rules.d"
cp "$rules" "$out/lib/udev/rules.d/69-mixxx-usb-uaccess.rules"
'';
meta = with lib; { meta = with lib; {
homepage = "https://mixxx.org"; homepage = "https://mixxx.org";
description = "Digital DJ mixing software"; description = "Digital DJ mixing software";

View file

@ -18,7 +18,7 @@ python3.pkgs.buildPythonApplication rec {
nativeBuildInputs = [ wrapGAppsHook gettext ]; nativeBuildInputs = [ wrapGAppsHook gettext ];
checkInputs = [ gdk-pixbuf hicolor-icon-theme ] ++ (with python3.pkgs; [ pytest pytest_xdist polib xvfb-run dbus.daemon glibcLocales ]); checkInputs = [ gdk-pixbuf hicolor-icon-theme ] ++ (with python3.pkgs; [ pytest pytest-xdist polib xvfb-run dbus.daemon glibcLocales ]);
buildInputs = [ gnome.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk-pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ] buildInputs = [ gnome.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk-pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ]
++ (if xineBackend then [ xine-lib ] else with gst_all_1; ++ (if xineBackend then [ xine-lib ] else with gst_all_1;

View file

@ -6,6 +6,8 @@
, intltool , intltool
, libpeas , libpeas
, libsoup , libsoup
, libsecret
, libnotify
, libdmapsharing , libdmapsharing
, gnome , gnome
, totem-pl-parser , totem-pl-parser
@ -17,8 +19,6 @@
, gst_plugins ? with gst_all_1; [ gst-plugins-good gst-plugins-ugly ] , gst_plugins ? with gst_all_1; [ gst-plugins-good gst-plugins-ugly ]
}: }:
let let
pname = "rhythmbox";
version = "3.4.4";
# The API version of libdmapsharing required by rhythmbox 3.4.4 is 3.0. # The API version of libdmapsharing required by rhythmbox 3.4.4 is 3.0.
@ -39,10 +39,11 @@ let
}); });
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "${pname}-${version}"; pname = "rhythmbox";
version = "3.4.4";
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf"; sha256 = "142xcvw4l19jyr5i72nbnrihs953pvrrzcbijjn9dxmxszbv03pf";
}; };
@ -66,11 +67,21 @@ in stdenv.mkDerivation rec {
gst_all_1.gstreamer gst_all_1.gstreamer
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
gst_all_1.gst-plugins-bad
gst_all_1.gst-plugins-ugly
gst_all_1.gst-libav
libdmapsharing_3 # necessary for daap support libdmapsharing_3 # necessary for daap support
libsecret
libnotify
] ++ gst_plugins; ] ++ gst_plugins;
configureFlags = [ "--enable-daap" ]; configureFlags = [
"--enable-daap"
"--enable-libnotify"
"--with-libsecret"
];
enableParallelBuilding = true; enableParallelBuilding = true;
@ -84,7 +95,7 @@ in stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
homepage = "https://wiki.gnome.org/Apps/Rhythmbox"; homepage = "https://wiki.gnome.org/Apps/Rhythmbox";
description = "A music playing application for GNOME"; description = "A music playing application for GNOME";
license = licenses.gpl2; license = licenses.gpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = [ maintainers.rasendubi ]; maintainers = [ maintainers.rasendubi ];
}; };

View file

@ -19,18 +19,19 @@
, protobuf , protobuf
, sqlite , sqlite
, taglib , taglib
, libpulseaudio ? null , libpulseaudio
, libselinux ? null , libselinux
, libsepol ? null , libsepol
, p11-kit ? null , p11-kit
, util-linux ? null , util-linux
, qtbase , qtbase
, qtx11extras , qtx11extras
, qttools , qttools
, withGstreamer ? true , withGstreamer ? true
, gst_all_1 ? null , glib-networking
, gst_all_1
, withVlc ? true , withVlc ? true
, libvlc ? null , libvlc
}: }:
mkDerivation rec { mkDerivation rec {
@ -61,20 +62,18 @@ mkDerivation rec {
taglib taglib
qtbase qtbase
qtx11extras qtx11extras
] ] ++ lib.optionals stdenv.isLinux [
++ lib.optionals stdenv.isLinux [
libpulseaudio libpulseaudio
libselinux libselinux
libsepol libsepol
p11-kit p11-kit
] ] ++ lib.optionals withGstreamer (with gst_all_1; [
++ lib.optionals withGstreamer (with gst_all_1; [ glib-networking
gstreamer gstreamer
gst-plugins-base gst-plugins-base
gst-plugins-good gst-plugins-good
gst-plugins-ugly gst-plugins-ugly
]) ]) ++ lib.optional withVlc libvlc;
++ lib.optional withVlc libvlc;
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
@ -85,8 +84,11 @@ mkDerivation rec {
util-linux util-linux
]; ];
postInstall = '' postInstall = lib.optionalString withGstreamer ''
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0") qtWrapperArgs+=(
--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
--prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules"
)
''; '';
meta = with lib; { meta = with lib; {

View file

@ -12,6 +12,7 @@
, fribidi , fribidi
, pango , pango
, freetype , freetype
, curl
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -50,6 +51,10 @@ stdenv.mkDerivation rec {
mv $out/bin/ToneLib-GFX $out/bin/tonelib-gfx mv $out/bin/ToneLib-GFX $out/bin/tonelib-gfx
''; '';
runtimeDependencies = [
(lib.getLib curl)
];
meta = with lib; { meta = with lib; {
description = "Tonelib GFX is an amp and effects modeling software for electric guitar and bass."; description = "Tonelib GFX is an amp and effects modeling software for electric guitar and bass.";
homepage = "https://tonelib.net/"; homepage = "https://tonelib.net/";

View file

@ -12,6 +12,7 @@
, fribidi , fribidi
, pango , pango
, freetype , freetype
, curl
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -50,6 +51,10 @@ stdenv.mkDerivation rec {
mv $out/bin/ToneLib-Jam $out/bin/tonelib-jam mv $out/bin/ToneLib-Jam $out/bin/tonelib-jam
''; '';
runtimeDependencies = [
(lib.getLib curl)
];
meta = with lib; { meta = with lib; {
description = "ToneLib Jam the learning and practice software for guitar players"; description = "ToneLib Jam the learning and practice software for guitar players";
homepage = "https://tonelib.net/"; homepage = "https://tonelib.net/";

View file

@ -6,6 +6,7 @@
, webkitgtk , webkitgtk
, libjack2 , libjack2
, alsa-lib , alsa-lib
, curl
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -38,6 +39,10 @@ stdenv.mkDerivation rec {
mv $out/bin/ToneLib-Zoom $out/bin/tonelib-zoom mv $out/bin/ToneLib-Zoom $out/bin/tonelib-zoom
''; '';
runtimeDependencies = [
(lib.getLib curl)
];
meta = with lib; { meta = with lib; {
description = "ToneLib Zoom change and save all the settings in your Zoom(r) guitar pedal"; description = "ToneLib Zoom change and save all the settings in your Zoom(r) guitar pedal";
homepage = "https://tonelib.net/"; homepage = "https://tonelib.net/";

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ergo"; pname = "ergo";
version = "4.0.12"; version = "4.0.13";
src = fetchurl { src = fetchurl {
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar"; url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
sha256 = "sha256-cIMaCouzuI7UQ6UY4caGcTzA+Xp7vLdoOwIfGG+ahsU="; sha256 = "sha256-HNpyUD2Tep2XnY3lr5a3ec+NmJtt0VvJx6ujVvSugXo=";
}; };
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];

View file

@ -9,17 +9,17 @@ let
in buildGoModule rec { in buildGoModule rec {
pname = "go-ethereum"; pname = "go-ethereum";
version = "1.10.5"; version = "1.10.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ethereum"; owner = "ethereum";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256:1226picbgnph71fk2y0n1hyfrh6m8sh54kgn3pmikydnw176k9j1"; sha256 = "sha256-4lapkoxSKdXlD6rmUxnlSKrfH+DeV6/wV05CqJjuzjA=";
}; };
runVend = true; runVend = true;
vendorSha256 = "sha256:1nf2gamamlgr2sl5ibib5wai1pipj66xhbhnb4s4480j5pbv9a76"; vendorSha256 = "sha256-5qi01y0SIEI0WRYu2I2RN94QFS8rrlioFvnRqqp6wtk=";
doCheck = false; doCheck = false;

View file

@ -5,16 +5,16 @@
buildGoModule rec { buildGoModule rec {
pname = "lightning-loop"; pname = "lightning-loop";
version = "0.14.1-beta"; version = "0.14.2-beta";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "lightninglabs"; owner = "lightninglabs";
repo = "loop"; repo = "loop";
rev = "v${version}"; rev = "v${version}";
sha256 = "0fnbf0cryrw9yk3z1g7innv1rxxk7h2lhfakdj994l5a0pgzghmy"; sha256 = "02ndln0n5k2pin9pngjcmn3wak761ml923111fyqb379zcfscrfv";
}; };
vendorSha256 = "1i7mmf4ab4a6h08df6zlyjdnmvn44i2y3fc05hq6g1ln1bzdrz40"; vendorSha256 = "1izdd9i4bqzmwagq0ilz2s37jajvzf1xwx3hmmbd1k3ss7mjm72r";
subPackages = [ "cmd/loop" "cmd/loopd" ]; subPackages = [ "cmd/loop" "cmd/loopd" ];

View file

@ -9,17 +9,17 @@ let
inherit buildFHSUserEnv; inherit buildFHSUserEnv;
}; };
stableVersion = { stableVersion = {
version = "4.2.1.0"; # "Android Studio 4.2.1" version = "4.2.2.0"; # "Android Studio 4.2.2"
build = "202.7351085"; build = "202.7486908";
sha256Hash = "074y6i0h8zamjgvvs882im44clds3g6aq8rssl7sq1wx6hrn5q36"; sha256Hash = "18zc9xr2xmphj6m6a1ilwripmvqzplp2583afq1pzzz3cv5h8fvk";
}; };
betaVersion = { betaVersion = {
version = "2020.3.1.16"; # "Android Studio Arctic Fox (2020.3.1) Beta 1" version = "2020.3.1.20"; # "Android Studio Arctic Fox (2020.3.1) Beta 5"
sha256Hash = "0mp1cmxkqc022nv8cggywbwcf8lp6r802nh8hcw5j00hcdnhkcq0"; sha256Hash = "0swcsjx29ar4b0c8yhbynshqdn2sv94ga58h2nrc99927vp17g85";
}; };
latestVersion = { # canary & dev latestVersion = { # canary & dev
version = "2021.1.1.1"; # "Android Studio Bumblebee (2021.1.1) Canary 1" version = "2021.1.1.3"; # "Android Studio Bumblebee (2021.1.1) Canary 3"
sha256Hash = "0aavmk8byw817356jm28rl998gcp3zm7x3fq14hm2awzhk5jaklm"; sha256Hash = "1n8iahaqhmzvpps9vhv93n3yabb26vl78yndd6gid028r8r90y4x";
}; };
in { in {
# Attributes are named by their corresponding release channels # Attributes are named by their corresponding release channels

View file

@ -2885,10 +2885,10 @@
elpaBuild { elpaBuild {
pname = "pyim"; pname = "pyim";
ename = "pyim"; ename = "pyim";
version = "3.9.2"; version = "3.9.3";
src = fetchurl { src = fetchurl {
url = "https://elpa.gnu.org/packages/pyim-3.9.2.tar"; url = "https://elpa.gnu.org/packages/pyim-3.9.3.tar";
sha256 = "18m5wni1zns8fad2ll9flbfgxfy14gi03apnycajdbqxsqfp65j9"; sha256 = "0rjaimvbh0fadbqiq4ggyxr0y4pfzld76wb64v7l5874qczn8dfr";
}; };
packageRequires = [ async emacs xr ]; packageRequires = [ async emacs xr ];
meta = { meta = {

View file

@ -2,10 +2,10 @@ let
pkgs = import ../../../../.. { }; pkgs = import ../../../../.. { };
src = pkgs.fetchgit { src = pkgs.fetchgit {
url = "https://github.com/ttuegel/emacs2nix.git"; url = "https://github.com/nix-community/emacs2nix.git";
fetchSubmodules = true; fetchSubmodules = true;
rev = "860da04ca91cbb69c9b881a54248d16bdaaf9923"; rev = "703b144eeb490e87133c777f82e198b4e515c312";
sha256 = "1r3xmyk9rfgx7ln69dk8mgbnh3awcalm3r1c5ia2shlsrymvv1df"; sha256 = "sha256-YBbRh/Cb8u9+Pn6/Bc0atI6knKVjr8jiTGgFkD2FNGI=";
}; };
in in
pkgs.mkShell { pkgs.mkShell {

View file

@ -0,0 +1,93 @@
{ callPackage }:
{
caml = callPackage ({ elpaBuild, fetchurl, lib }:
elpaBuild {
pname = "caml";
ename = "caml";
version = "4.7.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/caml-4.7.1.tar";
sha256 = "1bv2fscy7zg7r1hyg4rpvh3991vmhy4zid7bv1qbhxa95m9c49j3";
};
packageRequires = [];
meta = {
homepage = "https://elpa.gnu.org/packages/caml.html";
license = lib.licenses.free;
};
}) {};
markdown-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "markdown-mode";
ename = "markdown-mode";
version = "2.4";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/markdown-mode-2.4.tar";
sha256 = "002nvc2p7jzznr743znbml3vj8a3kvdd89rlbi28f5ha14g2567z";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/markdown-mode.html";
license = lib.licenses.free;
};
}) {};
org-contrib = callPackage ({ elpaBuild, emacs, fetchurl, lib, org }:
elpaBuild {
pname = "org-contrib";
ename = "org-contrib";
version = "0.1";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/org-contrib-0.1.tar";
sha256 = "07hzywvgj11wd21dw4lbkvqv32da03407f9qynlzgg1qa7wknm2k";
};
packageRequires = [ emacs org ];
meta = {
homepage = "https://elpa.gnu.org/packages/org-contrib.html";
license = lib.licenses.free;
};
}) {};
request = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "request";
ename = "request";
version = "0.3.3";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/request-0.3.3.tar";
sha256 = "168yy902bcjfdaahsbzhzb4wgqbw1mq1lfwdjh66fpzqs75c5q00";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/request.html";
license = lib.licenses.free;
};
}) {};
sly = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "sly";
ename = "sly";
version = "1.0.43";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/sly-1.0.43.tar";
sha256 = "0qgji539qwk7lv9g1k11w0i2nn7n7nk456gwa0bh556mcqz2ndr8";
};
packageRequires = [ emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/sly.html";
license = lib.licenses.free;
};
}) {};
tuareg = callPackage ({ caml, elpaBuild, emacs, fetchurl, lib }:
elpaBuild {
pname = "tuareg";
ename = "tuareg";
version = "2.3.0";
src = fetchurl {
url = "https://elpa.nongnu.org/nongnu/tuareg-2.3.0.tar";
sha256 = "0a24q64yk4bbgsvm56j1y68zs9yi25qyl83xydx3ff75sk27f1yb";
};
packageRequires = [ caml emacs ];
meta = {
homepage = "https://elpa.gnu.org/packages/tuareg.html";
license = lib.licenses.free;
};
}) {};
}

View file

@ -0,0 +1,32 @@
/*
# Updating
To update the list of packages from nongnu (ELPA),
1. Run `./update-nongnu`.
2. Check for evaluation errors: `nix-instantiate ../../../../.. -A emacs.pkgs.nongnuPackages`.
3. Run `git commit -m "org-packages $(date -Idate)" -- nongnu-generated.nix`
*/
{ lib }:
self: let
generateNongnu = lib.makeOverridable ({
generated ? ./nongnu-generated.nix
}: let
imported = import generated {
inherit (self) callPackage;
};
super = imported;
overrides = {
};
in super // overrides);
in generateNongnu { }

View file

@ -4,10 +4,10 @@
elpaBuild { elpaBuild {
pname = "org"; pname = "org";
ename = "org"; ename = "org";
version = "20210712"; version = "20210719";
src = fetchurl { src = fetchurl {
url = "https://orgmode.org/elpa/org-20210712.tar"; url = "https://orgmode.org/elpa/org-20210719.tar";
sha256 = "0xdxzfk7hvsmlyivn61ivci6hy2alxg2ysdm5xad4xxz337jrj7x"; sha256 = "1aravj0krdi8bnfinfj1d92vq3g06djxcnpipibkrw9ggk0d01d6";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {
@ -19,10 +19,10 @@
elpaBuild { elpaBuild {
pname = "org-plus-contrib"; pname = "org-plus-contrib";
ename = "org-plus-contrib"; ename = "org-plus-contrib";
version = "20210712"; version = "20210719";
src = fetchurl { src = fetchurl {
url = "https://orgmode.org/elpa/org-plus-contrib-20210712.tar"; url = "https://orgmode.org/elpa/org-plus-contrib-20210719.tar";
sha256 = "1cdpwsfjmjplyik1r9kl4lvd5lm52zrixlfg2ml1mhh28s680k0q"; sha256 = "1knjkf365cnjd8sdhaisjx0n6n0l2zfpql1b2gzw0gj62kbpl476";
}; };
packageRequires = []; packageRequires = [];
meta = { meta = {

View file

@ -0,0 +1,4 @@
#! /usr/bin/env nix-shell
#! nix-shell --show-trace ./emacs2nix.nix -i bash
exec nongnu-packages.sh --names $EMACS2NIX/names.nix -o nongnu-generated.nix

View file

@ -1,16 +1,16 @@
{ lib, stdenv, fetchurl, swt, jdk, makeWrapper, alsa-lib, jack2, fluidsynth, libpulseaudio }: { lib, stdenv, fetchurl, swt, jre, makeWrapper, alsa-lib, jack2, fluidsynth, libpulseaudio }:
let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux"; let metadata = assert stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux";
if stdenv.hostPlatform.system == "i686-linux" then if stdenv.hostPlatform.system == "i686-linux" then
{ arch = "x86"; sha256 = "27675c358db237df74d20e8676000c25a87b9de0bb0a6d1c325e8d6db807d296"; } { arch = "x86"; sha256 = "afa4b1116aee18e3ddd93132467809d0bcf03715cf9ad55b895f021a13e1cb8a"; }
else else
{ arch = "x86_64"; sha256 = "298555a249adb3ad72f3aef72a124e30bfa01cd069c7b5d152a738140e7903a2"; }; { arch = "x86_64"; sha256 = "55ab653c601727a2077080e7ea4d76fe7a897379934ed9a5b544e20d490f53f9"; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
version = "1.5.2"; version = "1.5.4";
pname = "tuxguitar"; pname = "tuxguitar";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/tuxguitar/${pname}-${version}-linux-${metadata.arch}.tar.gz"; url = "mirror://sourceforge/${pname}/${pname}-${version}-linux-${metadata.arch}.tar.gz";
sha256 = metadata.sha256; sha256 = metadata.sha256;
}; };
@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
ln -s $out/share $out/bin/share ln -s $out/share $out/bin/share
wrapProgram $out/bin/tuxguitar \ wrapProgram $out/bin/tuxguitar \
--set JAVA "${jdk}/bin/java" \ --set JAVA "${jre}/bin/java" \
--prefix LD_LIBRARY_PATH : "$out/lib/:${lib.makeLibraryPath [ swt alsa-lib jack2 fluidsynth libpulseaudio ]}" \ --prefix LD_LIBRARY_PATH : "$out/lib/:${lib.makeLibraryPath [ swt alsa-lib jack2 fluidsynth libpulseaudio ]}" \
--prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar" --prefix CLASSPATH : "${swt}/jars/swt.jar:$out/lib/tuxguitar.jar:$out/lib/itext.jar"
''; '';

View file

@ -0,0 +1,31 @@
{ mkDerivation, lib, fetchFromGitLab, libcprime, qtbase, cmake, ninja }:
mkDerivation rec {
pname = "coreimage";
version = "4.2.0";
src = fetchFromGitLab {
owner = "cubocore/coreapps";
repo = pname;
rev = "v${version}";
sha256 = "sha256-dxRHzSG5ea1MhpTjgZbFztV9mElEaeOK4NsmieSgf5Q";
};
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [
qtbase
libcprime
];
meta = with lib; {
description = "An image viewer from the C Suite";
homepage = "https://gitlab.com/cubocore/coreapps/coreimage";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dan4ik605743 ];
platforms = platforms.linux;
};
}

View file

@ -41,7 +41,7 @@ mkDerivationWith python3Packages.buildPythonApplication rec {
pytest pytest
pytest-xvfb pytest-xvfb
pytest-mock pytest-mock
pytestcov pytest-cov
pytest-repeat pytest-repeat
pytest-qt pytest-qt
]; ];

View file

@ -11,13 +11,13 @@ assert x11Support -> xorg != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bemenu"; pname = "bemenu";
version = "0.6.2"; version = "0.6.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Cloudef"; owner = "Cloudef";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "sha256-2xmi/Mh5iU50yc2R1x1yzP8Xaz+mUgLnH73tAeLwxI8="; sha256 = "sha256-U4IMfDvQ0rfEJhE3Uext2c/Cs0mjy1tw+k8uk441Ag8=";
}; };
nativeBuildInputs = [ pkg-config pcre ]; nativeBuildInputs = [ pkg-config pcre ];

View file

@ -8,13 +8,13 @@
python3Packages.buildPythonApplication rec { python3Packages.buildPythonApplication rec {
pname = "bottles"; pname = "bottles";
version = "3.1.6"; version = "2021.7.14-treviso";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bottlesdevs"; owner = "bottlesdevs";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1izks01010akjf83xvi70dr4yzgk6yr84kd0slzz22yq204pdh5m"; sha256 = "0xhfk1ll8vacgrr0kkhynq4bryjhfjs29j824bark5mj9b6lkbix";
}; };
postPatch = '' postPatch = ''
@ -44,6 +44,8 @@ python3Packages.buildPythonApplication rec {
]; ];
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
pyyaml
requests
pycairo pycairo
pygobject3 pygobject3
lxml lxml

View file

@ -1,20 +1,41 @@
{ lib, python3, fetchFromGitHub }: { lib, python3, fetchFromGitHub }:
with python3.pkgs; buildPythonApplication rec { let
version = "4.5"; python3' = python3.override {
packageOverrides = self: super: {
sqlalchemy = super.sqlalchemy.overridePythonAttrs (oldAttrs: rec {
version = "1.3.24";
src = oldAttrs.src.override {
inherit version;
sha256 = "ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519";
};
});
sqlalchemy-utils = super.sqlalchemy-utils.overridePythonAttrs (oldAttrs: rec {
version = "0.36.6";
src = oldAttrs.src.override {
inherit version;
sha256 = "0srs5w486wp5zydjs70igi5ypgxhm6h73grb85jz03fqpqaanzvs";
};
});
};
};
in
with python3'.pkgs; buildPythonApplication rec {
version = "4.6";
pname = "buku"; pname = "buku";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "jarun"; owner = "jarun";
repo = "buku"; repo = "buku";
rev = "v${version}"; rev = "v${version}";
sha256 = "1lcq5fk8d5j2kfhn9m5l2hk46v7nj4vfa22m1psz35c9zpw4px8q"; sha256 = "sha256-hr9qiP7SbloigDcs+6KVWu0SOlggMaBr7CCfY8zoJG0=";
}; };
checkInputs = [ checkInputs = [
pytestcov pytest-cov
hypothesis hypothesis
pytest pytest
pytest-vcr
pylint pylint
flake8 flake8
pyyaml pyyaml
@ -55,8 +76,8 @@ with python3.pkgs; buildPythonApplication rec {
# Disables a test which requires internet # Disables a test which requires internet
substituteInPlace tests/test_bukuDb.py \ substituteInPlace tests/test_bukuDb.py \
--replace "@pytest.mark.slowtest" "@unittest.skip('skipping')" \ --replace "@pytest.mark.slowtest" "@unittest.skip('skipping')" \
--replace "self.assertEqual(shorturl, 'http://tny.im/yt')" "" \ --replace "self.assertEqual(shorturl, \"http://tny.im/yt\")" "" \
--replace "self.assertEqual(url, 'https://www.google.com')" "" --replace "self.assertEqual(url, \"https://www.google.com\")" ""
substituteInPlace setup.py \ substituteInPlace setup.py \
--replace mypy-extensions==0.4.1 mypy-extensions>=0.4.1 --replace mypy-extensions==0.4.1 mypy-extensions>=0.4.1
''; '';
@ -75,7 +96,7 @@ with python3.pkgs; buildPythonApplication rec {
homepage = "https://github.com/jarun/Buku"; homepage = "https://github.com/jarun/Buku";
license = licenses.gpl3; license = licenses.gpl3;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ matthiasbeyer infinisil ]; maintainers = with maintainers; [ matthiasbeyer infinisil ma27 ];
}; };
} }

View file

@ -19,13 +19,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cherrytree"; pname = "cherrytree";
version = "0.99.38"; version = "0.99.39";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "giuspen"; owner = "giuspen";
repo = "cherrytree"; repo = "cherrytree";
rev = version; rev = version;
sha256 = "sha256-04MRw6pMtJGxTMKwOzPNGg1T85SfVY5bMkF3gt2V0e0="; sha256 = "sha256-QSRYtnZxLAaq42PvPd5+LxSzq/Hd/Cz5bquBTiGWnAE=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -9,13 +9,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "clightd"; pname = "clightd";
version = "5.3"; version = "5.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "FedeDP"; owner = "FedeDP";
repo = "Clightd"; repo = "Clightd";
rev = version; rev = version;
sha256 = "sha256-CuTYCNZ9oiDsm5mUDmjbxkmAl61PEXv3WMrZRzgdZeE="; sha256 = "sha256-ppaxfnZB3+aOzvc/wk1f8D2mFYngQspEOl9XArNMdBE=";
}; };
# dbus-1.pc has datadir=/etc # dbus-1.pc has datadir=/etc

View file

@ -18,7 +18,7 @@ in pythonPackages.buildPythonApplication rec {
buildInputs = with pythonPackages; [ glibcLocales ]; buildInputs = with pythonPackages; [ glibcLocales ];
propagatedBuildInputs = with pythonPackages; [ attrs beautifulsoup4 ConfigArgParse keyring pyasn1 requests six urllib3 ]; propagatedBuildInputs = with pythonPackages; [ attrs beautifulsoup4 configargparse keyring pyasn1 requests six urllib3 ];
checkInputs = with pythonPackages; [ pytest mock ]; checkInputs = with pythonPackages; [ pytest mock ];

View file

@ -20,7 +20,7 @@
}: }:
let let
version = "4.1.3"; version = "4.1.5";
libsecp256k1_name = libsecp256k1_name =
if stdenv.isLinux then "libsecp256k1.so.0" if stdenv.isLinux then "libsecp256k1.so.0"
@ -36,7 +36,7 @@ let
owner = "spesmilo"; owner = "spesmilo";
repo = "electrum"; repo = "electrum";
rev = version; rev = version;
sha256 = "1nkcybalkfna9zn33dxm13ic3brj50cfzwspjl349rgyar07j781"; sha256 = "1ps8yaps5kfd7yv7bpdvssbwm6f5qivxcvhwn17cpddc2760a7nk";
extraPostFetch = '' extraPostFetch = ''
mv $out ./all mv $out ./all
@ -51,7 +51,7 @@ python3.pkgs.buildPythonApplication {
src = fetchurl { src = fetchurl {
url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz"; url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
sha256 = "1mlwpmgfm3n45agx65jzsi4dr8nxf95x7nl01jnwa3qk5krrv4cf"; sha256 = "188r4zji985z8pm9b942xhmvv174yndk6jxagxl7ljk03wl2wiwi";
}; };
postUnpack = '' postUnpack = ''
@ -154,6 +154,8 @@ python3.pkgs.buildPythonApplication {
of the blockchain. of the blockchain.
''; '';
homepage = "https://electrum.org/"; homepage = "https://electrum.org/";
downloadPage = "https://electrum.org/#download";
changelog = "https://github.com/spesmilo/electrum/blob/master/RELEASE-NOTES";
license = licenses.mit; license = licenses.mit;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ joachifm np prusnak ]; maintainers = with maintainers; [ joachifm np prusnak ];

View file

@ -21,13 +21,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "formatter"; pname = "formatter";
version = "0.3.2"; version = "0.4.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Djaler"; owner = "Djaler";
repo = "Formatter"; repo = "Formatter";
rev = version; rev = version;
sha256 = "0da1dvzsvbwg1ys19yf0n080xc0hjwin9zacjndb24jvphy3bxql"; sha256 = "sha256-8lZ0jUwHuc3Kntz73Btj6dJvkW2bvShu2KWTSQszbJo=";
}; };
patches = [ patches = [

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "girara"; pname = "girara";
version = "0.3.5"; version = "0.3.6";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz"; url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
sha256 = "1n3i960b458172mc3pkq7m9dn5qxry6fms3c3k06v27cjp5whsyf"; sha256 = "sha256-GPECj0CVxKh+gTfAkkvs13tdiy93il97iqbSTxLQSiM=";
}; };
nativeBuildInputs = [ meson ninja pkg-config gettext check dbus ]; nativeBuildInputs = [ meson ninja pkg-config gettext check dbus ];

View file

@ -0,0 +1,45 @@
{ lib, stdenv, fetchFromGitHub, addOpenGLRunpath, cudatoolkit }:
stdenv.mkDerivation rec {
pname = "gpu-burn";
version = "unstable-2021-04-29";
src = fetchFromGitHub {
owner = "wilicc";
repo = "gpu-burn";
rev = "1e9a84f4bec3b0835c00daace45d79ed6c488edb";
sha256 = "sha256-x+kta81Z08PsBgbf+fzRTXhNXUPBd5w8bST/T5nNiQA=";
};
postPatch = ''
substituteInPlace gpu_burn-drv.cpp \
--replace "const char *kernelFile = \"compare.ptx\";" \
"const char *kernelFile = \"$out/share/compare.ptx\";"
'';
buildInputs = [ cudatoolkit ];
nativeBuildInputs = [ addOpenGLRunpath ];
makeFlags = [ "CUDAPATH=${cudatoolkit}" ];
LDFLAGS = "-L${cudatoolkit}/lib/stubs";
installPhase = ''
mkdir -p $out/{bin,share}
cp gpu_burn $out/bin/
cp compare.ptx $out/share/
'';
postFixup = ''
addOpenGLRunpath $out/bin/gpu_burn
'';
meta = with lib; {
homepage = "http://wili.cc/blog/gpu-burn.html";
description = "Multi-GPU CUDA stress test";
platforms = platforms.linux;
maintainers = with maintainers; [ elohmeier ];
license = licenses.bsd2;
};
}

View file

@ -15,11 +15,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "grip-4.2.1"; name = "grip-4.2.2";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/grip/${name}.tar.gz"; url = "mirror://sourceforge/grip/${name}.tar.gz";
sha256 = "sha256-3bFJURPbq9rzLsJCppRjSARhcOJxC4eSfw5VxvZgQ3Q="; sha256 = "sha256-nXtGgJeNYM8lyllNi9UdmsnVcHOCXfryWmKGZ9QFTHE=";
}; };
nativeBuildInputs = [ pkg-config libtool ]; nativeBuildInputs = [ pkg-config libtool ];

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "hugo"; pname = "hugo";
version = "0.85.0"; version = "0.86.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gohugoio"; owner = "gohugoio";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-IW41e4imaXKcXJKa7dAB60ulvRrk3qvF1//Lo55TLVI="; sha256 = "sha256-1ELOQT4zLjtsLKyAsfSIUGGW4wH5+kpw33Fw5hCPR50=";
}; };
vendorSha256 = "sha256-ZIGw349m6k8qqrzUN/oYV/HrgBvfOo/ovjo1SUDRmyk="; vendorSha256 = "sha256-ZIGw349m6k8qqrzUN/oYV/HrgBvfOo/ovjo1SUDRmyk=";

View file

@ -20,7 +20,7 @@ with python3.pkgs; buildPythonApplication rec {
pkgs.vdirsyncer pkgs.vdirsyncer
pytz pytz
pyxdg pyxdg
requests_toolbelt requests-toolbelt
tzlocal tzlocal
urwid urwid
pkginfo pkginfo

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "logseq"; pname = "logseq";
version = "0.2.3"; version = "0.2.6";
src = fetchurl { src = fetchurl {
url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage"; url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
sha256 = "LTwgLG/jUVOSR29LkLJ9q5wpPMK78yFvGtglzMG0ZC0="; sha256 = "/tpegRGyGPviYpaSbWw7fH9ntvR7vUSD5rmwDMST5+Y=";
name = "${pname}-${version}.AppImage"; name = "${pname}-${version}.AppImage";
}; };

View file

@ -0,0 +1,46 @@
{ python3Packages, fetchFromGitHub, lib }:
python3Packages.buildPythonApplication rec {
pname = "mnamer";
version = "2.5.3";
src = fetchFromGitHub {
owner = "jkwill87";
repo = "mnamer";
rev = version;
sha256 = "1frrvfhp85fh82yw9yb6n61by8qp1v7f3c0f623njxk1afawhccd";
};
propagatedBuildInputs = with python3Packages; [
babelfish
requests
appdirs
teletype
requests-cache
guessit
];
patches = [
# requires specific old versions of dependencies which have been updated in nixpkgs
./remove_requirements.patch
# author reads a private property that changed between versions
./update_hack.patch
];
checkInputs = [ python3Packages.pytestCheckHook ];
# disable test that fail (networking, etc)
disabledTests = [
"network"
"e2e"
"test_utils.py"
];
meta = with lib; {
homepage = "https://github.com/jkwill87/mnamer";
description = "An intelligent and highly configurable media organization utility";
license = licenses.mit;
maintainers = with maintainers; [ urlordjames ];
};
}

View file

@ -0,0 +1,21 @@
diff --git a/setup.py b/setup.py
index 245c1dd..fdc17ab 100755
--- a/setup.py
+++ b/setup.py
@@ -7,16 +7,12 @@ from mnamer.__version__ import VERSION
with open("readme.md", "r", encoding="utf8") as fp:
LONG_DESCRIPTION = fp.read()
-with open("requirements.txt", "r", encoding="utf8") as fp:
- REQUIREMENTS = fp.read().splitlines()
-
setup(
author="Jessy Williams",
author_email="jessy@jessywilliams.com",
description="A media file organiser",
entry_points={"console_scripts": ["mnamer=mnamer.__main__:main"]},
include_package_data=True,
- install_requires=REQUIREMENTS,
license="MIT",
long_description=LONG_DESCRIPTION,
long_description_content_type="text/markdown",

View file

@ -0,0 +1,13 @@
diff --git a/mnamer/utils.py b/mnamer/utils.py
index 636b596..e52bd37 100644
--- a/mnamer/utils.py
+++ b/mnamer/utils.py
@@ -280,7 +280,7 @@ def request_json(
"like Gecko) Chrome/79.0.3945.88 Safari/537.36"
)
- initial_cache_state = session._is_cache_disabled # yes, i'm a bad person
+ initial_cache_state = session._disabled # yes, i'm a bad person
try:
session._is_cache_disabled = not cache
response = session.request(

View file

@ -0,0 +1,35 @@
{ lib
, buildGoModule
, fetchFromGitHub
, pkg-config
, cairo
, gobject-introspection
, gtk3
, gtk-layer-shell
}:
buildGoModule rec {
pname = "nwg-drawer";
version = "0.1.4";
src = fetchFromGitHub {
owner = "nwg-piotr";
repo = pname;
rev = "v${version}";
sha256 = "sha256-YjMuXSBAgRh6vZUxKHLTqT2lEU/f+AuI/dX4PHfftZg=";
};
vendorSha256 = "sha256-HyrjquJ91ddkyS8JijHd9HjtfwSQykXCufa2wzl8RNk=";
nativeBuildInputs = [ pkg-config ];
buildInputs = [ cairo gobject-introspection gtk3 gtk-layer-shell ];
meta = with lib; {
description = "Application drawer for sway Wayland compositor";
homepage = "https://github.com/nwg-piotr/nwg-drawer";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ plabadens ];
};
}

View file

@ -50,19 +50,25 @@ let
} }
) )
# Octoprint needs zeroconf >=0.24 <0.25. While this should be done in # Octoprint needs zeroconf >=0.24 <0.25. This can't be done via mkOverride, because in zeroconf 0.32
# the mkOverride aboves, this package also has broken tests, so we need # the super package was migrated to fetchFromGitHub.
# a proper override.
( (
self: super: { self: super: {
zeroconf = super.zeroconf.overrideAttrs (oldAttrs: rec { zeroconf = super.zeroconf.overrideAttrs (oldAttrs: rec {
version = "0.24.5"; version = "0.24.5";
src = oldAttrs.src.override { src = super.fetchPypi {
inherit (oldAttrs) pname;
inherit version; inherit version;
sha256 = "0jpgd0rk91si93857mjrizan5gc42kj1q4fi4160qgk68la88fl9"; sha256 = "0jpgd0rk91si93857mjrizan5gc42kj1q4fi4160qgk68la88fl9";
}; };
buildInputs = [ self.nose ]; pythonImportsCheck = [
checkPhase = "nosetests"; "zeroconf"
];
buildInputs = with self; [
pytestCheckHook
nose
];
pytestFlagsArray = [ "zeroconf/test.py" ];
}); });
} }
) )

View file

@ -12,18 +12,27 @@ let
sha256 = "ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519"; sha256 = "ebbb777cbf9312359b897bf81ba00dae0f5cb69fba2a18265dcc18a6f5ef7519";
}; };
}); });
flask_migrate = super.flask_migrate.overridePythonAttrs (oldAttrs: rec {
version = "2.7.0";
src = oldAttrs.src.override {
inherit version;
sha256 = "ae2f05671588762dd83a21d8b18c51fe355e86783e24594995ff8d7380dffe38";
};
});
werkzeug = self.callPackage ../../../development/python-modules/werkzeug/1.nix { };
flask = self.callPackage ../../../development/python-modules/flask/1.nix { };
}; };
}; };
in in
python3'.pkgs.buildPythonPackage rec { python3'.pkgs.buildPythonPackage rec {
pname = "privacyIDEA"; pname = "privacyIDEA";
version = "3.6"; version = "3.6.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-yywkQ3TdBzRMbJGY0Seaprztgt0JrCAbgqosMQ5fcQM="; sha256 = "sha256-NRfTEZ/6K6xLP+wcT6o54wqk/EyWTiiC9W1KDgaAEbg=";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View file

@ -1,4 +1,4 @@
{ lib, buildPythonPackage, fetchPypi, pytestrunner, pytest }: { lib, buildPythonPackage, fetchPypi, pytest-runner, pytest }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "Cerberus"; pname = "Cerberus";
@ -9,7 +9,7 @@ buildPythonPackage rec {
sha256 = "1pxzr8sfm2hc5s96m9k044i44nwkva70n0ypr6a35v73zn891cx5"; sha256 = "1pxzr8sfm2hc5s96m9k044i44nwkva70n0ypr6a35v73zn891cx5";
}; };
checkInputs = [ pytestrunner pytest ]; checkInputs = [ pytest-runner pytest ];
meta = with lib; { meta = with lib; {
homepage = "http://python-cerberus.org/"; homepage = "http://python-cerberus.org/";

View file

@ -5,7 +5,7 @@
, waylandSupport ? true , waylandSupport ? true
, x11Support ? true , x11Support ? true
, ConfigArgParse , configargparse
, rofi , rofi
, wl-clipboard , wl-clipboard
, wtype , wtype
@ -26,7 +26,7 @@ buildPythonApplication rec {
# `rofi` and the `waylandSupport` and `x11Support` dependencies # `rofi` and the `waylandSupport` and `x11Support` dependencies
# contain binaries needed at runtime. # contain binaries needed at runtime.
propagatedBuildInputs = with lib; [ ConfigArgParse rofi ] propagatedBuildInputs = with lib; [ configargparse rofi ]
++ optionals waylandSupport [ wl-clipboard wtype ] ++ optionals waylandSupport [ wl-clipboard wtype ]
++ optionals x11Support [ xdotool xsel ]; ++ optionals x11Support [ xdotool xsel ];

View file

@ -1,12 +1,20 @@
{ lib, stdenv, fetchurl, intltool, glib, pkg-config, udev, util-linux, acl }: { lib, stdenv, fetchFromGitHub, intltool, glib, pkg-config, udev, util-linux, acl }:
stdenv.mkDerivation {
name = "udevil-0.4.4"; stdenv.mkDerivation rec {
src = fetchurl { pname = "udevil";
url = "https://github.com/IgnorantGuru/udevil/archive/0.4.4.tar.gz"; version = "0.4.4";
sha256 = "0z1bhaayambrcn7bgnrqk445k50ifabmw8q4i9qj49nnbcvxhbxd";
src = fetchFromGitHub {
owner = "IgnorantGuru";
repo = "udevil";
rev = version;
sha256 = "0nd44r8rbxifx4x4m24z5aji1c6k1fhw8cmf5s43wd5qys0bcdad";
}; };
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ intltool glib udev ]; buildInputs = [ intltool glib udev ];
configurePhase = '' configurePhase = ''
substituteInPlace src/Makefile.in --replace "-o root -g root" "" substituteInPlace src/Makefile.in --replace "-o root -g root" ""
# do not set setuid bit in nix store # do not set setuid bit in nix store
@ -19,11 +27,18 @@ stdenv.mkDerivation {
--with-setfacl-prog=${acl.bin}/bin/setfacl \ --with-setfacl-prog=${acl.bin}/bin/setfacl \
--sysconfdir=$prefix/etc --sysconfdir=$prefix/etc
''; '';
postInstall = ''
substituteInPlace $out/lib/systemd/system/devmon@.service \
--replace /usr/bin/devmon "$out/bin/devmon"
'';
patches = [ ./device-info-sys-stat.patch ]; patches = [ ./device-info-sys-stat.patch ];
meta = {
meta = with lib; {
description = "A command line Linux program which mounts and unmounts removable devices without a password, shows device info, and monitors device changes"; description = "A command line Linux program which mounts and unmounts removable devices without a password, shows device info, and monitors device changes";
homepage = "https://ignorantguru.github.io/udevil/"; homepage = "https://ignorantguru.github.io/udevil/";
platforms = lib.platforms.linux; platforms = platforms.linux;
license = lib.licenses.gpl3; license = licenses.gpl3Plus;
}; };
} }

View file

@ -2,17 +2,17 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "zola"; pname = "zola";
version = "unstable-2021-07-10"; version = "unstable-2021-07-14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "getzola"; owner = "getzola";
repo = pname; repo = pname;
# unstable because the latest release fails to build # unstable because the latest release fails to build
rev = "8c3ce7d7fbc0d585d4cbf27598ac7dfe5acd96f1"; rev = "312ffcb04c06c5f157b9fd2b944b858703238592";
sha256 = "sha256-Tw3u96ZPb0yUXvtJ+rna6nnb0a+KfTEiR/PPEadFxDA="; sha256 = "0i5zqs1gwxhvsynb540c3azfi4357igr4i5p0bi3h7ras2asas8w";
}; };
cargoSha256 = "sha256-mOO39LK7lQ5IxwMgfJpNwX/H5MZ3qKqfeDmnY8zXOx4="; cargoSha256 = "0g5z0s837cfwzral2zz0avp0xywyaa3l1adxg520qrnga7z0kbh8";
nativeBuildInputs = [ cmake pkg-config installShellFiles]; nativeBuildInputs = [ cmake pkg-config installShellFiles];
buildInputs = [ openssl oniguruma ] buildInputs = [ openssl oniguruma ]
@ -31,7 +31,7 @@ rustPlatform.buildRustPackage rec {
description = "A fast static site generator with everything built-in"; description = "A fast static site generator with everything built-in";
homepage = "https://www.getzola.org/"; homepage = "https://www.getzola.org/";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ dywedir _0x4A6F ]; maintainers = with maintainers; [ dandellion dywedir _0x4A6F ];
# set because of unstable-* version # set because of unstable-* version
mainProgram = "zola"; mainProgram = "zola";
}; };

View file

@ -90,11 +90,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "brave"; pname = "brave";
version = "1.26.74"; version = "1.26.77";
src = fetchurl { src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "ULmoUXyPWHCewK4FPP7SX1Ena6n0aM/EWR7ZnMN1ztY="; sha256 = "tV/VseU+IncvM3gdrmqkYLPClbsf2kSvIAZj0Ylz2Rw=";
}; };
dontConfigure = true; dontConfigure = true;

View file

@ -62,9 +62,9 @@ mkChromiumDerivation (base: rec {
-e '/\[Desktop Entry\]/a\' \ -e '/\[Desktop Entry\]/a\' \
-e 'StartupWMClass=chromium-browser' \ -e 'StartupWMClass=chromium-browser' \
$out/share/applications/chromium-browser.desktop $out/share/applications/chromium-browser.desktop
'' + lib.optionalString (channel != "stable") '' '' + ''
cp -v "$buildPath/crashpad_handler" "$libExecPath/" cp -v "$buildPath/crashpad_handler" "$libExecPath/"
''; ''; # TODO: Merge
passthru = { inherit sandboxExecutableName; }; passthru = { inherit sandboxExecutableName; };
@ -84,7 +84,7 @@ mkChromiumDerivation (base: rec {
else "https://www.chromium.org/"; else "https://www.chromium.org/";
maintainers = with maintainers; if ungoogled maintainers = with maintainers; if ungoogled
then [ squalus primeos ] then [ squalus primeos ]
else [ primeos thefloweringash bendlas ]; else [ primeos thefloweringash ];
license = if enableWideVine then licenses.unfree else licenses.bsd3; license = if enableWideVine then licenses.unfree else licenses.bsd3;
platforms = platforms.linux; platforms = platforms.linux;
mainProgram = "chromium"; mainProgram = "chromium";

View file

@ -167,6 +167,19 @@ let
# Fix the build by adding a missing dependency (s. https://crbug.com/1197837): # Fix the build by adding a missing dependency (s. https://crbug.com/1197837):
./patches/fix-missing-atspi2-dependency.patch ./patches/fix-missing-atspi2-dependency.patch
./patches/closure_compiler-Use-the-Java-binary-from-the-system.patch ./patches/closure_compiler-Use-the-Java-binary-from-the-system.patch
] ++ lib.optionals (versionRange "91" "94.0.4583.0") [
# Required as dependency for the next patch:
(githubPatch {
# Reland "Reland "Linux sandbox syscall broker: use struct kernel_stat""
commit = "4b438323d68840453b5ef826c3997568e2e0e8c7";
sha256 = "1lf6yilx2ffd3r0840ilihp4px35w7jvr19ll56bncqmz4r5fd82";
})
# To fix the text rendering, see #131074:
(githubPatch {
# Linux sandbox: fix fstatat() crash
commit = "60d5e803ef2a4874d29799b638754152285e0ed9";
sha256 = "0apmsqqlfxprmdmi3qzp3kr9jc52mcc4xzps206kwr8kzwv48b70";
})
] ++ lib.optionals (chromiumVersionAtLeast "93") [ ] ++ lib.optionals (chromiumVersionAtLeast "93") [
# We need to revert this patch to build M93 with LLVM 12. # We need to revert this patch to build M93 with LLVM 12.
(githubPatch { (githubPatch {

View file

@ -1,8 +1,7 @@
{ newScope, config, stdenv, fetchurl, makeWrapper { newScope, config, stdenv, fetchurl, makeWrapper
, llvmPackages_11, llvmPackages_12, ed, gnugrep, coreutils, xdg-utils , llvmPackages_11, llvmPackages_12, ed, gnugrep, coreutils, xdg-utils
, glib, gtk3, gnome, gsettings-desktop-schemas, gn, fetchgit , glib, gtk3, gnome, gsettings-desktop-schemas, gn, fetchgit
, libva ? null , libva, pipewire, wayland
, pipewire
, gcc, nspr, nss, runCommand , gcc, nspr, nss, runCommand
, lib , lib
@ -165,7 +164,7 @@ in stdenv.mkDerivation {
buildCommand = let buildCommand = let
browserBinary = "${chromiumWV}/libexec/chromium/chromium"; browserBinary = "${chromiumWV}/libexec/chromium/chromium";
libPath = lib.makeLibraryPath [ libva pipewire ]; libPath = lib.makeLibraryPath [ libva pipewire wayland gtk3 ];
in with lib; '' in with lib; ''
mkdir -p "$out/bin" mkdir -p "$out/bin"

View file

@ -1,20 +1,20 @@
{ {
"stable": { "stable": {
"version": "91.0.4472.164", "version": "92.0.4515.107",
"sha256": "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4", "sha256": "04khamgxwzgbm2rn7is53j5g55vm5qfyz7zwxqc51sd429jsqlbf",
"sha256bin64": "1j6p2gqlikaibcwa40k46dsm9jlrpbj21lv1snnjw8apjnjfd2wr", "sha256bin64": "0vfg8wjf9i1yz8nlxsij8fmqq7qr4nsccaihppqm3axpk91mmdsj",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-04-06", "version": "2021-05-07",
"url": "https://gn.googlesource.com/gn", "url": "https://gn.googlesource.com/gn",
"rev": "dba01723a441c358d843a575cb7720d54ddcdf92", "rev": "39a87c0b36310bdf06b692c098f199a0d97fc810",
"sha256": "199xkks67qrn0xa5fhp24waq2vk8qb78a96cb3kdd8v1hgacgb8x" "sha256": "0x63jr5hssm9dl6la4q5ahy669k4gxvbapqxi5w32vv107jrj8v4"
} }
}, },
"chromedriver": { "chromedriver": {
"version": "91.0.4472.101", "version": "92.0.4515.43",
"sha256_linux": "0dzx565z2rd0y4i57rv5kd7dsm69sffza96y3c773hqaghm4y1ng", "sha256_linux": "1s22y892py99kzcb2j3gafmbz9jrr2lfhhh8hp3ggn2i37yxs8bw",
"sha256_darwin": "0nff1jmmrn6a4clfvhyzrhfp8hx85z72563jwk28apflqmnm0k68" "sha256_darwin": "1cjg4r4z5m74c2si4m25rj3z44n0iimhqzb1l3l3y0a3q024bi8f"
} }
}, },
"beta": { "beta": {
@ -31,9 +31,9 @@
} }
}, },
"dev": { "dev": {
"version": "93.0.4573.0", "version": "93.0.4577.8",
"sha256": "0knks0padlcqhwnjpg32d875nycznlbd228sx8qwnylg1ilrzqck", "sha256": "1x6i5bmcnj8bkpcb9gcyd1m9nzpq206yyprxrnpak117k7abr2b1",
"sha256bin64": "1kxbsdcc0gh2pllz3szmnjswxqbw9sr457pq8aafpgk9rdchikg1", "sha256bin64": "0qjfb9jxr2gmwb1dsvl6yzz06vsjny2l3icrsdcm0pl6r6davk2w",
"deps": { "deps": {
"gn": { "gn": {
"version": "2021-07-08", "version": "2021-07-08",

View file

@ -7,10 +7,10 @@ in
rec { rec {
firefox = common rec { firefox = common rec {
pname = "firefox"; pname = "firefox";
ffversion = "90.0.1"; ffversion = "90.0.2";
src = fetchurl { src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz"; url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "9f87c3f3dad33e42a7a9d2161d7f23ff2e7184b2274f9081511c7982957ae9954784bd844a2348ff4744231415aac195d1f12971392db90be0375b4738acb590"; sha512 = "4fda0b1e666fb0b1d846708fad2b48a5b53d48e7fc2a5da1f234b5b839c55265b41f6509e6b506d5e8a7455f816dfa5ab538589bc9e83b7e3846f0f72210513e";
}; };
meta = { meta = {

View file

@ -2,18 +2,18 @@
buildGoModule rec { buildGoModule rec {
pname = "argocd"; pname = "argocd";
version = "2.0.4"; version = "2.0.5";
commit = "0842d448107eb1397b251e63ec4d4bc1b4efdd6e"; commit = "4c94d886f56bcb2f9d5b3251fdc049c2d1354b88";
tag = "v${version}"; tag = "v${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "argoproj"; owner = "argoproj";
repo = "argo-cd"; repo = "argo-cd";
rev = tag; rev = tag;
sha256 = "sha256-SKSAJtp20f6A+CvrsBEmbcNJAKI5b4Wm4K0cr/lGo64="; sha256 = "sha256-8YymSR15e+6gGGqr5CH4ERHN8RO3wd9NJkM9K7InlFU=";
}; };
vendorSha256 = "sha256-RbEqivzTpXVQp4zl0zZWAh6qCr2KZSJ6Bj2pZaClQaQ="; vendorSha256 = "sha256-9dVkGl0gjjMehG2nt1eNpNT5fD9GbJ1mNMzYS8FTm08=";
nativeBuildInputs = [ packr makeWrapper installShellFiles ]; nativeBuildInputs = [ packr makeWrapper installShellFiles ];

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "helm"; pname = "helm";
version = "3.6.2"; version = "3.6.3";
gitCommit = "ee407bdf364942bcb8e8c665f82e15aa28009b71"; gitCommit = "ee407bdf364942bcb8e8c665f82e15aa28009b71";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "helm"; owner = "helm";
repo = "helm"; repo = "helm";
rev = "v${version}"; rev = "v${version}";
sha256 = "1s40zbk83s1kylcglydw356282virf1828v9waj1zs1gjnjml69h"; sha256 = "sha256-DfMI50eQsMHRX8S5rBzF3qlSfJizlYQyofA7HPkD4EQ=";
}; };
vendorSha256 = "06ccsy30kd68ml13l5k7d4225vlax3fm2pi8dapsyr4gdr234c1x"; vendorSha256 = "sha256-PTAyRG6PZK+vaiheUd3oiu4iBGlnFjoCrci0CYbXjBk=";
doCheck = false; doCheck = false;

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "helmsman"; pname = "helmsman";
version = "3.7.0"; version = "3.7.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Praqma"; owner = "Praqma";
repo = "helmsman"; repo = "helmsman";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-Xp86tCIM7XVtue/MjQ8/wGs2fHfxSWS3B6MzNMYRqg4="; sha256 = "sha256-wzmn06nUycNaQ4tUEBd4q17M1CVC0+5X13rqF7zaHqU=";
}; };
vendorSha256 = "sha256-icX8mOc8g+DhfAjD1pzneLWTXY17lXyAjdPOWAxkHwI="; vendorSha256 = "sha256-XHgdVFGIzbPPYgv/T4TtvDDbKAe3niev4S5tu/nwSqg=";
doCheck = false; doCheck = false;

View file

@ -44,12 +44,21 @@ with lib;
# Those pieces of software we entirely ignore upstream's handling of, and just # Those pieces of software we entirely ignore upstream's handling of, and just
# make sure they're in the path if desired. # make sure they're in the path if desired.
let let
k3sVersion = "1.21.2+k3s1"; # k3s git tag k3sVersion = "1.21.3+k3s1"; # k3s git tag
k3sCommit = "5a67e8dc473f8945e8e181f6f0b0dbbc387f6fca"; # k3s git commit at the above version k3sCommit = "1d1f220fbee9cdeb5416b76b707dde8c231121f2"; # k3s git commit at the above version
traefikChartVersion = "9.18.2"; # taken from ./scripts/download at TRAEFIK_VERSION traefikChartVersion = "9.18.2"; # taken from ./scripts/download at TRAEFIK_VERSION
k3sRootVersion = "0.8.1"; # taken from ./scripts/download at ROOT_VERSION k3sRootVersion = "0.9.1"; # taken from ./scripts/download at ROOT_VERSION
k3sCNIVersion = "0.8.6-k3s1"; # taken from ./scripts/version.sh at VERSION_CNIPLUGINS k3sCNIVersion = "0.8.6-k3s1"; # taken from ./scripts/version.sh at VERSION_CNIPLUGINS
baseMeta = {
description = "A lightweight Kubernetes distribution";
license = licenses.asl20;
homepage = "https://k3s.io";
maintainers = with maintainers; [ euank superherointj ];
platforms = platforms.linux;
};
# bundled into the k3s binary # bundled into the k3s binary
traefikChart = fetchurl { traefikChart = fetchurl {
url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz"; url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz";
@ -67,7 +76,7 @@ let
k3sRoot = fetchzip { k3sRoot = fetchzip {
# Note: marked as apache 2.0 license # Note: marked as apache 2.0 license
url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar"; url = "https://github.com/k3s-io/k3s-root/releases/download/v${k3sRootVersion}/k3s-root-amd64.tar";
sha256 = "sha256-r3Nkzl9ccry7cgD3YWlHvEWOsWnnFGIkyRH9sx12gks="; sha256 = "sha256-qI84KYJKY/T6pqWZW9lOTq5NzZiu//v1zrMzUCiRTGQ=";
stripRoot = false; stripRoot = false;
}; };
k3sPlugins = buildGoPackage rec { k3sPlugins = buildGoPackage rec {
@ -84,12 +93,8 @@ let
sha256 = "sha256-uAy17eRRAXPCcnh481KxFMvFQecnnBs24jn5YnVNfY4="; sha256 = "sha256-uAy17eRRAXPCcnh481KxFMvFQecnnBs24jn5YnVNfY4=";
}; };
meta = { meta = baseMeta // {
description = "CNI plugins, as patched by rancher for k3s"; description = "CNI plugins, as patched by rancher for k3s";
license = licenses.asl20;
homepage = "https://k3s.io";
maintainers = [ maintainers.euank ];
platforms = platforms.linux;
}; };
}; };
# Grab this separately from a build because it's used by both stages of the # Grab this separately from a build because it's used by both stages of the
@ -97,7 +102,7 @@ let
k3sRepo = fetchgit { k3sRepo = fetchgit {
url = "https://github.com/k3s-io/k3s"; url = "https://github.com/k3s-io/k3s";
rev = "v${k3sVersion}"; rev = "v${k3sVersion}";
sha256 = "sha256-ZRkdHQ4RJ6XqE+DKE6wwpxetuKDG3k/4HaHyFxHev1U="; sha256 = "sha256-K4HVXFp5cpByEO4dUwmpzOuhsGh1k7X6k5aShCorTjg=";
}; };
# Stage 1 of the k3s build: # Stage 1 of the k3s build:
# Let's talk about how k3s is structured. # Let's talk about how k3s is structured.
@ -161,12 +166,8 @@ let
popd popd
''; '';
meta = { meta = baseMeta // {
description = "The various binaries that get packaged into the final k3s binary"; description = "The various binaries that get packaged into the final k3s binary";
license = licenses.asl20;
homepage = "https://k3s.io";
maintainers = [ maintainers.euank ];
platforms = platforms.linux;
}; };
}; };
k3sBin = buildGoPackage rec { k3sBin = buildGoPackage rec {
@ -228,12 +229,8 @@ let
popd popd
''; '';
meta = { meta = baseMeta // {
description = "The k3s go binary which is used by the final wrapped output below"; description = "The k3s go binary which is used by the final wrapped output below";
license = licenses.asl20;
homepage = "https://k3s.io";
maintainers = [ maintainers.euank ];
platforms = platforms.linux;
}; };
}; };
in in
@ -241,7 +238,7 @@ stdenv.mkDerivation rec {
pname = "k3s"; pname = "k3s";
version = k3sVersion; version = k3sVersion;
# Important utilities used by the kubelet, see # Important utilities used by the kubelet, see
# https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494 # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
# Note the list in that issue is stale and some aren't relevant for k3s. # Note the list in that issue is stale and some aren't relevant for k3s.
k3sRuntimeDeps = [ k3sRuntimeDeps = [
@ -279,11 +276,10 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
meta = { doInstallCheck = true;
description = "A lightweight Kubernetes distribution"; installCheckPhase = ''
license = licenses.asl20; $out/bin/k3s --version | grep v${k3sVersion} > /dev/null
homepage = "https://k3s.io"; '';
maintainers = [ maintainers.euank ];
platforms = platforms.linux; meta = baseMeta;
};
} }

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "k9s"; pname = "k9s";
version = "0.24.13"; version = "0.24.14";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "derailed"; owner = "derailed";
repo = "k9s"; repo = "k9s";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-5gMRjnrk1FyTj3Lzp+6scLuqfP8rCUvDDBK33/RzG28="; sha256 = "sha256-Kw3TT8IeJT0y2vSd38/y7BRq7PxMH2tiXV4/lOn5INA=";
}; };
buildFlagsArray = '' buildFlagsArray = ''

View file

@ -0,0 +1,25 @@
{ lib, buildGoModule, fetchFromGitHub }:
buildGoModule rec {
pname = "kubedb-cli";
version = "0.19.0";
src = fetchFromGitHub {
owner = "kubedb";
repo = "cli";
rev = "v${version}";
sha256 = "sha256-CwAa2YqJ0R+L+VwxqruQmZJUctP4GgKszY49ZVyyNBE=";
};
vendorSha256 = null;
# Don't compile the documentation stuff
subPackages = [ "cmd/kubectl-dba" ];
meta = with lib; {
description = "kubectl plugin for KubeDB by AppsCode.";
homepage = "https://github.com/kubedb/cli";
license = licenses.unfree;
maintainers = [ maintainers.starcraft66 ];
};
}

View file

@ -64,8 +64,8 @@ in
}; };
edge = generic { edge = generic {
channel = "edge"; channel = "edge";
version = "21.7.2"; version = "21.7.3";
sha256 = "sha256-rEO84t6znNb59a9i+SHgT4r0xzja6eMYi9lWmdU24Cc="; sha256 = "sha256-fEkqZ/4BQVnmOKUrrLmi6DKlMVNeqvW95bxbZX0o7iI=";
vendorSha256 = "sha256-esVy+oIZa/ucvucdNV7MfUGFkIql9T2zl0+eu3hZAt8="; vendorSha256 = "sha256-NqOmmeEGWvy/LYfSpIdnJZX4lGweCgiL008ed05XIFs=";
}; };
} }

View file

@ -728,9 +728,10 @@
"owner": "terraform-providers", "owner": "terraform-providers",
"provider-source-address": "registry.terraform.io/hashicorp/oci", "provider-source-address": "registry.terraform.io/hashicorp/oci",
"repo": "terraform-provider-oci", "repo": "terraform-provider-oci",
"rev": "v3.79.0", "rev": "v4.35.0",
"sha256": "11n2v537zniiv5xvhpypqrm09my8zybirvq4ly94hp69v73xj89c", "sha256": "12acy39cr6pxq8gk483b6i78x463ml9pk10qp9jpz0dr05zcyhqw",
"version": "3.79.0" "vendorSha256": null,
"version": "4.35.0"
}, },
"okta": { "okta": {
"owner": "terraform-providers", "owner": "terraform-providers",

View file

@ -195,9 +195,9 @@ rec {
}; };
terraform_1_0 = mkTerraform { terraform_1_0 = mkTerraform {
version = "1.0.2"; version = "1.0.3";
sha256 = "0gnv6hajpn1ks4944cr8rgkvly9cgvx4zj1zwc7nf1sikqfa8r1a"; sha256 = "0m7r66nw0nppra90sjhbq5d0f4q525c73q6ncmy6w37j2nixz35z";
vendorSha256 = "0q1frza5625b1va0ipak7ns3myca9mb02r60h0py3v5gyl2cb4dk"; vendorSha256 = "07pzqvf9lwgc1fadmyam5hn7arlvzrjsplls445738jpn61854gg";
patches = [ ./provider-path-0_15.patch ]; patches = [ ./provider-path-0_15.patch ];
passthru = { inherit plugins; }; passthru = { inherit plugins; };
}; };

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "terragrunt"; pname = "terragrunt";
version = "0.31.0"; version = "0.31.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gruntwork-io"; owner = "gruntwork-io";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-JRIwPOExPbwLS7ps4pJpvIRaZ9jZZjVK+POaUHAmiPI="; sha256 = "sha256-vc3DGYb3vp55LRguhg3nG5zH7w1lTFEI2bx7kNffvas=";
}; };
vendorSha256 = "sha256-lck4nabDhFA8N0lo+cIKiJjlg2TGx3qMExbblHQwbvQ="; vendorSha256 = "sha256-lBhLaYn8adgfCXQJBsIVuwnA0vY8+tgeqE+C669AV+A=";
doCheck = false; doCheck = false;

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "dnscontrol"; pname = "dnscontrol";
version = "3.10.1"; version = "3.11.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "StackExchange"; owner = "StackExchange";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-fYQqH/J027XJPML/qKMpuu2Nxuvb0cyjOu2czLH8SoM="; sha256 = "sha256-ExpwJ4lMrYy1WztYo+RYa9jb8slIa3IJk/SUKA1fBKI=";
}; };
vendorSha256 = "sha256-225TR9jTZSGEJZz3csl/pR/v2unUK67l08x5ESQTJzA="; vendorSha256 = "sha256-IXA4YNdWR6DWIH4ceif2XcAdwnMr2kCuG3ozagtzsgo=";
subPackages = [ "." ]; subPackages = [ "." ];

View file

@ -13,7 +13,7 @@ python3Packages.buildPythonApplication rec {
substituteInPlace setup.py --replace "bottle==" "bottle>=" substituteInPlace setup.py --replace "bottle==" "bottle>="
''; '';
nativeBuildInputs = with python3Packages; [ pytestrunner ]; nativeBuildInputs = with python3Packages; [ pytest-runner ];
propagatedBuildInputs = with python3Packages; [ propagatedBuildInputs = with python3Packages; [
daemonocle daemonocle
dnspython dnspython

View file

@ -44,11 +44,11 @@ in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bluejeans"; pname = "bluejeans";
version = "2.22.0.87"; version = "2.23.0.39";
src = fetchurl { src = fetchurl {
url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm"; url = "https://swdl.bluejeans.com/desktop-app/linux/${getFirst 3 version}/BlueJeans_${version}.rpm";
sha256 = "sha256-0nobn+YcvqakwvBdkoEJrzHoL+OGym2zJ806oUabYfo="; sha256 = "sha256-LGg14KJ/hEnSaSrdTltY9YXv7Nekkfo66uLkxjMx8AI=";
}; };
nativeBuildInputs = [ rpmextract makeWrapper ]; nativeBuildInputs = [ rpmextract makeWrapper ];

View file

@ -17,10 +17,10 @@ in
mkFranzDerivation' rec { mkFranzDerivation' rec {
pname = "ferdi"; pname = "ferdi";
name = "Ferdi"; name = "Ferdi";
version = "5.6.0-beta.6"; version = "5.6.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb"; url = "https://github.com/getferdi/ferdi/releases/download/v${version}/ferdi_${version}_amd64.deb";
sha256 = "sha256-Q1HSAEVcaxFyOq7oWqa6AJJpsBKRxbsKb9ydyK/gH/A="; sha256 = "sha256-yaAYNQAvbtArw9qAtbTDD11a9nH2OQEPE8QLg1E79Yc=";
}; };
extraBuildInputs = [ xorg.libxshmfence ]; extraBuildInputs = [ xorg.libxshmfence ];
meta = with lib; { meta = with lib; {

View file

@ -2,19 +2,19 @@
buildGoModule { buildGoModule {
pname = "go-neb"; pname = "go-neb";
version = "unstable-2021-03-24"; version = "unstable-2021-07-21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "matrix-org"; owner = "matrix-org";
repo = "go-neb"; repo = "go-neb";
rev = "b6edd50d6e33de3bcdb35055fa6c5f0157f45321"; rev = "8916c80f8ce1732f64b50f9251242ca189082e76";
sha256 = "sha256-wFqkN4C0rWzWxa6+/LiHMMS8i/g3Q57f5z4cG2XZQzs="; sha256 = "sha256-kuH4vbvS4G1bczxUdY4bd4oL4pIZzuueUxdEp4xuzJM=";
}; };
subPackages = [ "." ]; subPackages = [ "." ];
buildInputs = [ olm ]; buildInputs = [ olm ];
vendorSha256 = "sha256-sWrLWjODf25Z8QqCDg4KyVWmTc3PRiYpRL88yxK0j/M"; vendorSha256 = "sha256-5Vg7aUkqiFIQuxmsDOJjvXoeA5NjMoBoD0XBhC+o4GA=";
doCheck = false; doCheck = false;

View file

@ -13,13 +13,13 @@
mkDerivation rec { mkDerivation rec {
pname = "kdeltachat"; pname = "kdeltachat";
version = "unstable-2021-07-04"; version = "unstable-2021-07-17";
src = fetchFromSourcehut { src = fetchFromSourcehut {
owner = "~link2xt"; owner = "~link2xt";
repo = "kdeltachat"; repo = "kdeltachat";
rev = "5d3cddc47773b49d4a801d031c1de96c38617908"; rev = "9e5fe2dc856795d0d3d8b6a3adf3fdd3015d9158";
sha256 = "1sah27pvdkilnyj41xf4awri9ya14gxayr99qksllz92ywd9lxad"; sha256 = "12arcrnpacq2fbjbzs6a9yz6lfsj2dkga9chpld1ran3v6by58z9";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,6 +1,6 @@
{ lib, fetchgit { lib, fetchgit
, buildPythonApplication, buildPythonPackage , buildPythonApplication, buildPythonPackage
, pygobject3, pytestrunner, requests, responses, pytest, python-olm , pygobject3, pytest-runner, requests, responses, pytest, python-olm
, canonicaljson, olm , canonicaljson, olm
}: }:
let let
@ -20,7 +20,7 @@ let
propagatedBuildInputs = [ propagatedBuildInputs = [
requests responses olm python-olm canonicaljson requests responses olm python-olm canonicaljson
pytestrunner pytest pytest-runner pytest
]; ];
doCheck = false; doCheck = false;

View file

@ -28,7 +28,7 @@ let
else ""); else "");
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = "signal-desktop"; pname = "signal-desktop";
version = "5.9.0"; # Please backport all updates to the stable channel. version = "5.10.0"; # Please backport all updates to the stable channel.
# All releases have a limited lifetime and "expire" 90 days after the release. # All releases have a limited lifetime and "expire" 90 days after the release.
# When releases "expire" the application becomes unusable until an update is # When releases "expire" the application becomes unusable until an update is
# applied. The expiration date for the current release can be extracted with: # applied. The expiration date for the current release can be extracted with:
@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "1pmyi9b0b5h6mi6dwml41x4igy8rfpsv6j67izh78m5gla8wp34h"; sha256 = "049i4nypqr6lx8f3w32pia6cfb3pmqmvasxjb5zhp6mxb3vn7wz3";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -50,8 +50,12 @@ let
x86_64-linux-version = "4.17.0"; x86_64-linux-version = "4.17.0";
x86_64-linux-sha256 = "07ccms58pq27ilkyhcf6cgwb7qrddwil5kgy8yv95ljikqzi5rxi"; x86_64-linux-sha256 = "07ccms58pq27ilkyhcf6cgwb7qrddwil5kgy8yv95ljikqzi5rxi";
aarch64-darwin-version = "4.17.0";
aarch64-darwin-sha256 = "1a5crmnbz8ng3z2pk5zw17dds9d5fyir4rkvv611fn858kq5fv46";
version = { version = {
x86_64-darwin = x86_64-darwin-version; x86_64-darwin = x86_64-darwin-version;
aarch64-darwin = aarch64-darwin-version;
x86_64-linux = x86_64-linux-version; x86_64-linux = x86_64-linux-version;
}.${system} or throwSystem; }.${system} or throwSystem;
@ -64,6 +68,10 @@ let
url = "${base}/releases/macos/${version}/prod/x64/Slack-${version}-macOS.dmg"; url = "${base}/releases/macos/${version}/prod/x64/Slack-${version}-macOS.dmg";
sha256 = x86_64-darwin-sha256; sha256 = x86_64-darwin-sha256;
}; };
aarch64-darwin = fetchurl {
url = "${base}/releases/macos/${version}/prod/arm64/Slack-${version}-macOS.dmg";
sha256 = aarch64-darwin-sha256;
};
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = "${base}/linux_releases/slack-desktop-${version}-amd64.deb"; url = "${base}/linux_releases/slack-desktop-${version}-amd64.deb";
sha256 = x86_64-linux-sha256; sha256 = x86_64-linux-sha256;
@ -75,7 +83,7 @@ let
homepage = "https://slack.com"; homepage = "https://slack.com";
license = licenses.unfree; license = licenses.unfree;
maintainers = with maintainers; [ mmahut ]; maintainers = with maintainers; [ mmahut ];
platforms = [ "x86_64-darwin" "x86_64-linux" ]; platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-darwin"];
}; };
linux = stdenv.mkDerivation rec { linux = stdenv.mkDerivation rec {

View file

@ -1,11 +1,11 @@
{ mkDerivation, lib, fetchFromGitHub, callPackage, fetchpatch { mkDerivation, lib, fetchFromGitHub, callPackage, fetchpatch
, pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook, removeReferencesTo , pkg-config, cmake, ninja, python3, wrapGAppsHook, wrapQtAppsHook
, qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash , qtbase, qtimageformats, gtk3, libsForQt5, lz4, xxHash
, ffmpeg, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3 , ffmpeg, openalSoft, minizip, libopus, alsa-lib, libpulseaudio, range-v3
, tl-expected, hunspell, glibmm, webkitgtk, jemalloc , tl-expected, hunspell, glibmm, webkitgtk, jemalloc
, libtgvoip, rnnoise, abseil-cpp, extra-cmake-modules , rnnoise, extra-cmake-modules
# Transitive dependencies: # Transitive dependencies:
, pcre, xorg, util-linux, libselinux, libsepol, epoxy , pcre, xorg, util-linuxMinimal, libselinux, libsepol, epoxy
, at-spi2-core, libXtst, libthai, libdatrie , at-spi2-core, libXtst, libthai, libdatrie
, xdg-utils, libsysprof-capture, libpsl, brotli , xdg-utils, libsysprof-capture, libpsl, brotli
}: }:
@ -46,22 +46,33 @@ in mkDerivation rec {
postPatch = '' postPatch = ''
substituteInPlace Telegram/CMakeLists.txt \ substituteInPlace Telegram/CMakeLists.txt \
--replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"' --replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"'
substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioInputALSA.cpp \
--replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"'
substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioOutputALSA.cpp \
--replace '"libasound.so.2"' '"${alsa-lib}/lib/libasound.so.2"'
substituteInPlace Telegram/ThirdParty/libtgvoip/os/linux/AudioPulse.cpp \
--replace '"libpulse.so.0"' '"${libpulseaudio}/lib/libpulse.so.0"'
''; '';
# We want to run wrapProgram manually (with additional parameters) # We want to run wrapProgram manually (with additional parameters)
dontWrapGApps = true; dontWrapGApps = true;
dontWrapQtApps = true; dontWrapQtApps = true;
nativeBuildInputs = [ pkg-config cmake ninja python3 wrapGAppsHook wrapQtAppsHook removeReferencesTo ]; nativeBuildInputs = [
pkg-config cmake ninja python3 wrapGAppsHook wrapQtAppsHook
extra-cmake-modules
];
buildInputs = [ buildInputs = [
qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash qtbase qtimageformats gtk3 libsForQt5.kwayland libsForQt5.libdbusmenu lz4 xxHash
ffmpeg openalSoft minizip libopus alsa-lib libpulseaudio range-v3 ffmpeg openalSoft minizip libopus alsa-lib libpulseaudio range-v3
tl-expected hunspell glibmm webkitgtk jemalloc tl-expected hunspell glibmm webkitgtk jemalloc
libtgvoip rnnoise abseil-cpp extra-cmake-modules rnnoise
tg_owt tg_owt
# Transitive dependencies: # Transitive dependencies:
pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy util-linuxMinimal # Required for libmount thus not nativeBuildInputs.
pcre xorg.libpthreadstubs xorg.libXdmcp libselinux libsepol epoxy
at-spi2-core libXtst libthai libdatrie libsysprof-capture libpsl brotli at-spi2-core libXtst libthai libdatrie libsysprof-capture libpsl brotli
]; ];
@ -70,19 +81,17 @@ in mkDerivation rec {
# We're allowed to used the API ID of the Snap package: # We're allowed to used the API ID of the Snap package:
"-DTDESKTOP_API_ID=611335" "-DTDESKTOP_API_ID=611335"
"-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c" "-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
#"-DDESKTOP_APP_SPECIAL_TARGET=\"\"" # TODO: Error when set to "": Bad special target '""' # See: https://github.com/NixOS/nixpkgs/pull/130827#issuecomment-885212649
"-DTDESKTOP_LAUNCHER_BASENAME=telegramdesktop" # Note: This is the default "-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF"
]; ];
# Note: The following packages could be packaged system-wide, but it's # Note: The following packages could be packaged system-wide, but it's
# probably best to use the bundled ones from tdesktop (Arch does this too): # probably best to use the bundled ones from tdesktop (Arch does this too):
# rlottie: # rlottie:
# - CMake flag: "-DTDESKTOP_USE_PACKAGED_TGVOIP=ON"
# - Sources (problem: there are no stable releases!): # - Sources (problem: there are no stable releases!):
# - desktop-app (tdesktop): https://github.com/desktop-app/rlottie # - desktop-app (tdesktop): https://github.com/desktop-app/rlottie
# - upstream: https://github.com/Samsung/rlottie # - upstream: https://github.com/Samsung/rlottie
# libtgvoip: # libtgvoip:
# - CMake flag: "-DDESKTOP_APP_USE_PACKAGED_RLOTTIE=ON"
# - Sources (problem: the stable releases might be too old!): # - Sources (problem: the stable releases might be too old!):
# - tdesktop: https://github.com/telegramdesktop/libtgvoip # - tdesktop: https://github.com/telegramdesktop/libtgvoip
# - upstream: https://github.com/grishka/libtgvoip # - upstream: https://github.com/grishka/libtgvoip
@ -113,10 +122,10 @@ in mkDerivation rec {
Desktop client for the Telegram messenger, based on the Telegram API and Desktop client for the Telegram messenger, based on the Telegram API and
the MTProto secure protocol. the MTProto secure protocol.
''; '';
license = licenses.gpl3; license = licenses.gpl3Only;
platforms = platforms.linux; platforms = platforms.linux;
homepage = "https://desktop.telegram.org/"; homepage = "https://desktop.telegram.org/";
changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v{version}"; changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v${version}";
maintainers = with maintainers; [ primeos abbradar ]; maintainers = with maintainers; [ primeos abbradar oxalica ];
}; };
} }

View file

@ -1,9 +1,9 @@
{ lib, stdenv, fetchFromGitHub, fetchpatch { lib, stdenv, fetchFromGitHub, fetchpatch
, pkg-config, cmake, ninja, yasm , pkg-config, cmake, ninja, yasm
, libjpeg, openssl, libopus, ffmpeg, alsa-lib, libpulseaudio, protobuf , libjpeg, openssl, libopus, ffmpeg, alsa-lib, libpulseaudio, protobuf
, xorg, libXtst, libXcomposite, libXdamage, libXext, libXrender, libXrandr , openh264, usrsctp, libevent, libvpx
, glib, abseil-cpp, pcre, util-linuxMinimal, libselinux, libsepol, pipewire , glib, abseil-cpp, pcre, util-linuxMinimal, libselinux, libsepol, pipewire
, libXi , xorg, libX11, libXtst, libXcomposite, libXdamage, libXext, libXrender, libXrandr, libXi
}: }:
stdenv.mkDerivation { stdenv.mkDerivation {
@ -24,15 +24,23 @@ stdenv.mkDerivation {
buildInputs = [ buildInputs = [
libjpeg openssl libopus ffmpeg alsa-lib libpulseaudio protobuf libjpeg openssl libopus ffmpeg alsa-lib libpulseaudio protobuf
xorg.libX11 libXtst libXcomposite libXdamage libXext libXrender libXrandr openh264 usrsctp libevent libvpx
libX11 libXtst libXcomposite libXdamage libXext libXrender libXrandr libXi
glib abseil-cpp pcre util-linuxMinimal libselinux libsepol pipewire glib abseil-cpp pcre util-linuxMinimal libselinux libsepol pipewire
libXi
]; ];
cmakeFlags = [ cmakeFlags = [
# Building as a shared library isn't officially supported and currently broken: # Building as a shared library isn't officially supported and may break at any time.
"-DBUILD_SHARED_LIBS=OFF" "-DBUILD_SHARED_LIBS=OFF"
]; ];
meta.license = lib.licenses.bsd3; propagatedBuildInputs = [
# Required for linking downstream binaries.
abseil-cpp openh264 usrsctp libevent libvpx
];
meta = with lib; {
license = licenses.bsd3;
maintainers = with maintainers; [ oxalica ];
};
} }

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