Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2021-02-26 10:25:13 +01:00
commit c456a2512f
579 changed files with 9802 additions and 3062 deletions

2
.github/CODEOWNERS vendored
View file

@ -100,7 +100,7 @@
# Rust
/pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
/pkgs/build-support/rust @andir @zowoq
/pkgs/build-support/rust @andir @danieldk @zowoq
# Darwin-related
/pkgs/stdenv/darwin @NixOS/darwin-maintainers

View file

@ -80,6 +80,33 @@ The fetcher will verify that the `Cargo.lock` file is in sync with the `src`
attribute, and fail the build if not. It will also will compress the vendor
directory into a tar.gz archive.
The tarball with vendored dependencies contains a directory with the
package's `name`, which is normally composed of `pname` and
`version`. This means that the vendored dependencies hash
(`cargoSha256`/`cargoHash`) is dependent on the package name and
version. The `cargoDepsName` attribute can be used to use another name
for the directory of vendored dependencies. For example, the hash can
be made invariant to the version by setting `cargoDepsName` to
`pname`:
```nix
rustPlatform.buildRustPackage rec {
pname = "broot";
version = "1.2.0";
src = fetchCrate {
inherit pname version;
sha256 = "1mqaynrqaas82f5957lx31x80v74zwmwmjxxlbywajb61vh00d38";
};
cargoHash = "sha256-JmBZcDVYJaK1cK05cxx5BrnGWp4t8ca6FLUbvIot67s=";
cargoDepsName = pname;
# ...
}
```
### Cross compilation
By default, Rust packages are compiled for the host platform, just like any

View file

@ -151,26 +151,26 @@
</listitem>
<listitem>
<para>
It is also possible to whitelist and blacklist licenses that are specifically acceptable or not acceptable, using <literal>whitelistedLicenses</literal> and <literal>blacklistedLicenses</literal>, respectively.
It is also possible to allow and block licenses that are specifically acceptable or not acceptable, using <literal>allowlistedLicenses</literal> and <literal>blocklistedLicenses</literal>, respectively.
</para>
<para>
The following example configuration whitelists the licenses <literal>amd</literal> and <literal>wtfpl</literal>:
The following example configuration allowlists the licenses <literal>amd</literal> and <literal>wtfpl</literal>:
<programlisting>
{
whitelistedLicenses = with lib.licenses; [ amd wtfpl ];
allowlistedLicenses = with lib.licenses; [ amd wtfpl ];
}
</programlisting>
</para>
<para>
The following example configuration blacklists the <literal>gpl3Only</literal> and <literal>agpl3Only</literal> licenses:
The following example configuration blocklists the <literal>gpl3Only</literal> and <literal>agpl3Only</literal> licenses:
<programlisting>
{
blacklistedLicenses = with lib.licenses; [ agpl3Only gpl3Only ];
blocklistedLicenses = with lib.licenses; [ agpl3Only gpl3Only ];
}
</programlisting>
</para>
<para>
Note that <literal>whitelistedLicenses</literal> only applies to unfree licenses unless <literal>allowUnfree</literal> is enabled. It is not a generic whitelist for all types of licenses. <literal>blacklistedLicenses</literal> applies to all licenses.
Note that <literal>allowlistedLicenses</literal> only applies to unfree licenses unless <literal>allowUnfree</literal> is enabled. It is not a generic allowlist for all types of licenses. <literal>blocklistedLicenses</literal> applies to all licenses.
</para>
</listitem>
</itemizedlist>

View file

@ -7203,6 +7203,12 @@
githubId = 157610;
name = "Piotr Bogdan";
};
pborzenkov = {
email = "pavel@borzenkov.net";
github = "pborzenkov";
githubId = 434254;
name = "Pavel Borzenkov";
};
pblkt = {
email = "pebblekite@gmail.com";
github = "pblkt";

View file

@ -100,6 +100,12 @@
<link linkend="sec-custom-ifnames">Assigning custom names</link> section
of the NixOS manual for an example using networkd links.
</para>
</listitem>
<listitem>
<para>
The <option>security.hideProcessInformation</option> module has been removed.
It was broken since the switch to cgroups-v2.
</para>
</listitem>
<listitem>
<para>

View file

@ -144,11 +144,16 @@ in
''}
'';
systemd.services.systemd-vconsole-setup =
{
before = optional config.services.xserver.enable "display-manager.service";
after = [ "systemd-udev-settle.service" ];
systemd.services.reload-systemd-vconsole-setup =
{ description = "Reset console on configuration changes";
wantedBy = [ "multi-user.target" ];
restartTriggers = [ vconsoleConf consoleEnv ];
reloadIfChanged = true;
serviceConfig =
{ RemainAfterExit = true;
ExecStart = "${pkgs.coreutils}/bin/true";
ExecReload = "/run/current-system/systemd/bin/systemctl restart systemd-vconsole-setup";
};
};
}

View file

@ -207,7 +207,6 @@
./security/dhparams.nix
./security/duosec.nix
./security/google_oslogin.nix
./security/hidepid.nix
./security/lock-kernel-modules.nix
./security/misc.nix
./security/oath.nix
@ -257,6 +256,8 @@
./services/backup/tsm.nix
./services/backup/zfs-replication.nix
./services/backup/znapzend.nix
./services/blockchain/ethereum/geth.nix
./services/backup/zrepl.nix
./services/cluster/hadoop/default.nix
./services/cluster/k3s/default.nix
./services/cluster/kubernetes/addons/dns.nix

View file

@ -22,8 +22,6 @@ with lib;
environment.memoryAllocator.provider = mkDefault "scudo";
environment.variables.SCUDO_OPTIONS = mkDefault "ZeroContents=1";
security.hideProcessInformation = mkDefault true;
security.lockKernelModules = mkDefault true;
security.protectKernelImage = mkDefault true;

View file

@ -4,6 +4,13 @@ with lib;
let
cfg = config.programs.steam;
steam = pkgs.steam.override {
extraLibraries = pkgs: with config.hardware.opengl;
if pkgs.hostPlatform.is64bit
then [ package ] ++ extraPackages
else [ package32 ] ++ extraPackages32;
};
in {
options.programs.steam.enable = mkEnableOption "steam";
@ -18,7 +25,7 @@ in {
hardware.steam-hardware.enable = true;
environment.systemPackages = [ pkgs.steam ];
environment.systemPackages = [ steam steam.run ];
};
meta.maintainers = with maintainers; [ mkg20001 ];

View file

@ -73,6 +73,11 @@ with lib;
(mkRemovedOptionModule [ "services" "venus" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "flashpolicyd" ] "The flashpolicyd module has been removed. Adobe Flash Player is deprecated.")
(mkRemovedOptionModule [ "security" "hideProcessInformation" ] ''
The hidepid module was removed, since the underlying machinery
is broken when using cgroups-v2.
'')
# Do NOT add any option renames here, see top of the file
];
}

View file

@ -1,31 +0,0 @@
{ config, lib, ... }:
with lib;
{
meta = {
maintainers = [ maintainers.joachifm ];
doc = ./hidepid.xml;
};
options = {
security.hideProcessInformation = mkOption {
type = types.bool;
default = false;
description = ''
Restrict process information to the owning user.
'';
};
};
config = mkIf config.security.hideProcessInformation {
users.groups.proc.gid = config.ids.gids.proc;
users.groups.proc.members = [ "polkituser" ];
boot.specialFileSystems."/proc".options = [ "hidepid=2" "gid=${toString config.ids.gids.proc}" ];
systemd.services.systemd-logind.serviceConfig.SupplementaryGroups = [ "proc" ];
# Disable cgroupsv2, which doesn't work with hidepid.
# https://github.com/NixOS/nixpkgs/pull/104094#issuecomment-729996203
systemd.enableUnifiedCgroupHierarchy = false;
};
}

View file

@ -1,28 +0,0 @@
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xi="http://www.w3.org/2001/XInclude"
version="5.0"
xml:id="sec-hidepid">
<title>Hiding process information</title>
<para>
Setting
<programlisting>
<xref linkend="opt-security.hideProcessInformation"/> = true;
</programlisting>
ensures that access to process information is restricted to the owning user.
This implies, among other things, that command-line arguments remain private.
Unless your deployment relies on unprivileged users being able to inspect the
process information of other users, this option should be safe to enable.
</para>
<para>
Members of the <literal>proc</literal> group are exempt from process
information hiding.
</para>
<para>
To allow a service <replaceable>foo</replaceable> to run without process
information hiding, set
<programlisting>
<link linkend="opt-systemd.services._name_.serviceConfig">systemd.services.<replaceable>foo</replaceable>.serviceConfig</link>.SupplementaryGroups = [ "proc" ];
</programlisting>
</para>
</chapter>

View file

@ -0,0 +1,54 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.zrepl;
format = pkgs.formats.yaml { };
configFile = format.generate "zrepl.yml" cfg.settings;
in
{
meta.maintainers = with maintainers; [ cole-h ];
options = {
services.zrepl = {
enable = mkEnableOption "zrepl";
settings = mkOption {
default = { };
description = ''
Configuration for zrepl. See <link
xlink:href="https://zrepl.github.io/configuration.html"/>
for more information.
'';
type = types.submodule {
freeformType = format.type;
};
};
};
};
### Implementation ###
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.zrepl ];
# zrepl looks for its config in this location by default. This
# allows the use of e.g. `zrepl signal wakeup <job>` without having
# to specify the storepath of the config.
environment.etc."zrepl/zrepl.yml".source = configFile;
systemd.packages = [ pkgs.zrepl ];
systemd.services.zrepl = {
requires = [ "local-fs.target" ];
wantedBy = [ "zfs.target" ];
after = [ "zfs.target" ];
path = [ config.boot.zfs.package ];
restartTriggers = [ configFile ];
serviceConfig = {
Restart = "on-failure";
};
};
};
}

View file

@ -0,0 +1,178 @@
{ config, lib, pkgs, ... }:
with lib;
let
eachGeth = config.services.geth;
gethOpts = { config, lib, name, ...}: {
options = {
enable = lib.mkEnableOption "Go Ethereum Node";
port = mkOption {
type = types.port;
default = 30303;
description = "Port number Go Ethereum will be listening on, both TCP and UDP.";
};
http = {
enable = lib.mkEnableOption "Go Ethereum HTTP API";
address = mkOption {
type = types.str;
default = "127.0.0.1";
description = "Listen address of Go Ethereum HTTP API.";
};
port = mkOption {
type = types.port;
default = 8545;
description = "Port number of Go Ethereum HTTP API.";
};
apis = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
description = "APIs to enable over WebSocket";
example = ["net" "eth"];
};
};
websocket = {
enable = lib.mkEnableOption "Go Ethereum WebSocket API";
address = mkOption {
type = types.str;
default = "127.0.0.1";
description = "Listen address of Go Ethereum WebSocket API.";
};
port = mkOption {
type = types.port;
default = 8546;
description = "Port number of Go Ethereum WebSocket API.";
};
apis = mkOption {
type = types.nullOr (types.listOf types.str);
default = null;
description = "APIs to enable over WebSocket";
example = ["net" "eth"];
};
};
metrics = {
enable = lib.mkEnableOption "Go Ethereum prometheus metrics";
address = mkOption {
type = types.str;
default = "127.0.0.1";
description = "Listen address of Go Ethereum metrics service.";
};
port = mkOption {
type = types.port;
default = 6060;
description = "Port number of Go Ethereum metrics service.";
};
};
network = mkOption {
type = types.nullOr (types.enum [ "goerli" "rinkeby" "yolov2" "ropsten" ]);
default = null;
description = "The network to connect to. Mainnet (null) is the default ethereum network.";
};
syncmode = mkOption {
type = types.enum [ "fast" "full" "light" ];
default = "fast";
description = "Blockchain sync mode.";
};
gcmode = mkOption {
type = types.enum [ "full" "archive" ];
default = "full";
description = "Blockchain garbage collection mode.";
};
maxpeers = mkOption {
type = types.int;
default = 50;
description = "Maximum peers to connect to.";
};
extraArgs = mkOption {
type = types.listOf types.str;
description = "Additional arguments passed to Go Ethereum.";
default = [];
};
package = mkOption {
default = pkgs.go-ethereum.geth;
type = types.package;
description = "Package to use as Go Ethereum node.";
};
};
};
in
{
###### interface
options = {
services.geth = mkOption {
type = types.attrsOf (types.submodule gethOpts);
default = {};
description = "Specification of one or more geth instances.";
};
};
###### implementation
config = mkIf (eachGeth != {}) {
environment.systemPackages = flatten (mapAttrsToList (gethName: cfg: [
cfg.package
]) eachGeth);
systemd.services = mapAttrs' (gethName: cfg: (
nameValuePair "geth-${gethName}" (mkIf cfg.enable {
description = "Go Ethereum node (${gethName})";
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
DynamicUser = true;
Restart = "always";
StateDirectory = "goethereum/${gethName}/${if (cfg.network == null) then "mainnet" else cfg.network}";
# Hardening measures
PrivateTmp = "true";
ProtectSystem = "full";
NoNewPrivileges = "true";
PrivateDevices = "true";
MemoryDenyWriteExecute = "true";
};
script = ''
${cfg.package}/bin/geth \
--nousb \
--ipcdisable \
${optionalString (cfg.network != null) ''--${cfg.network}''} \
--syncmode ${cfg.syncmode} \
--gcmode ${cfg.gcmode} \
--port ${toString cfg.port} \
--maxpeers ${toString cfg.maxpeers} \
${if cfg.http.enable then ''--http --http.addr ${cfg.http.address} --http.port ${toString cfg.http.port}'' else ""} \
${optionalString (cfg.http.apis != null) ''--http.api ${lib.concatStringsSep "," cfg.http.apis}''} \
${if cfg.websocket.enable then ''--ws --ws.addr ${cfg.websocket.address} --ws.port ${toString cfg.websocket.port}'' else ""} \
${optionalString (cfg.websocket.apis != null) ''--ws.api ${lib.concatStringsSep "," cfg.websocket.apis}''} \
${optionalString cfg.metrics.enable ''--metrics --metrics.addr ${cfg.metrics.address} --metrics.port ${toString cfg.metrics.port}''} \
${lib.escapeShellArgs cfg.extraArgs} \
--datadir /var/lib/goethereum/${gethName}/${if (cfg.network == null) then "mainnet" else cfg.network}
'';
}))) eachGeth;
};
}

View file

@ -375,6 +375,18 @@ in
fi
'';
script = ''
# https://mariadb.com/kb/en/getting-started-with-mariadb-galera-cluster/#systemd-and-galera-recovery
if test -n "''${_WSREP_START_POSITION}"; then
if test -e "${cfg.package}/bin/galera_recovery"; then
VAR=$(cd ${cfg.package}/bin/..; ${cfg.package}/bin/galera_recovery); [[ $? -eq 0 ]] && export _WSREP_START_POSITION=$VAR || exit 1
fi
fi
# The last two environment variables are used for starting Galera clusters
exec ${cfg.package}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION
'';
postStart = let
# The super user account to use on *first* run of MySQL server
superUser = if isMariaDB then cfg.user else "root";
@ -481,8 +493,7 @@ in
Type = if hasNotify then "notify" else "simple";
Restart = "on-abort";
RestartSec = "5s";
# The last two environment variables are used for starting Galera clusters
ExecStart = "${cfg.package}/bin/mysqld --defaults-file=/etc/my.cnf ${mysqldOptions} $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION";
# User and group
User = cfg.user;
Group = cfg.group;

View file

@ -8,30 +8,19 @@ let
cfg = config.services.clamav;
pkg = pkgs.clamav;
clamdConfigFile = pkgs.writeText "clamd.conf" ''
DatabaseDirectory ${stateDir}
LocalSocket ${runDir}/clamd.ctl
PidFile ${runDir}/clamd.pid
TemporaryDirectory /tmp
User clamav
Foreground yes
toKeyValue = generators.toKeyValue {
mkKeyValue = generators.mkKeyValueDefault {} " ";
listsAsDuplicateKeys = true;
};
${cfg.daemon.extraConfig}
'';
freshclamConfigFile = pkgs.writeText "freshclam.conf" ''
DatabaseDirectory ${stateDir}
Foreground yes
Checks ${toString cfg.updater.frequency}
${cfg.updater.extraConfig}
DatabaseMirror database.clamav.net
'';
clamdConfigFile = pkgs.writeText "clamd.conf" (toKeyValue cfg.daemon.settings);
freshclamConfigFile = pkgs.writeText "freshclam.conf" (toKeyValue cfg.updater.settings);
in
{
imports = [
(mkRenamedOptionModule [ "services" "clamav" "updater" "config" ] [ "services" "clamav" "updater" "extraConfig" ])
(mkRemovedOptionModule [ "services" "clamav" "updater" "config" ] "Use services.clamav.updater.settings instead.")
(mkRemovedOptionModule [ "services" "clamav" "updater" "extraConfig" ] "Use services.clamav.updater.settings instead.")
(mkRemovedOptionModule [ "services" "clamav" "daemon" "extraConfig" ] "Use services.clamav.daemon.settings instead.")
];
options = {
@ -39,12 +28,12 @@ in
daemon = {
enable = mkEnableOption "ClamAV clamd daemon";
extraConfig = mkOption {
type = types.lines;
default = "";
settings = mkOption {
type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
default = {};
description = ''
Extra configuration for clamd. Contents will be added verbatim to the
configuration file.
ClamAV configuration. Refer to <link xlink:href="https://linux.die.net/man/5/clamd.conf"/>,
for details on supported values.
'';
};
};
@ -68,12 +57,12 @@ in
'';
};
extraConfig = mkOption {
type = types.lines;
default = "";
settings = mkOption {
type = with types; attrsOf (oneOf [ bool int str (listOf str) ]);
default = {};
description = ''
Extra configuration for freshclam. Contents will be added verbatim to the
configuration file.
freshclam configuration. Refer to <link xlink:href="https://linux.die.net/man/5/freshclam.conf"/>,
for details on supported values.
'';
};
};
@ -93,6 +82,22 @@ in
users.groups.${clamavGroup} =
{ gid = config.ids.gids.clamav; };
services.clamav.daemon.settings = {
DatabaseDirectory = stateDir;
LocalSocket = "${runDir}/clamd.ctl";
PidFile = "${runDir}/clamd.pid";
TemporaryDirectory = "/tmp";
User = "clamav";
Foreground = true;
};
services.clamav.updater.settings = {
DatabaseDirectory = stateDir;
Foreground = true;
Checks = cfg.updater.frequency;
DatabaseMirror = [ "database.clamav.net" ];
};
environment.etc."clamav/freshclam.conf".source = freshclamConfigFile;
environment.etc."clamav/clamd.conf".source = clamdConfigFile;

View file

@ -277,6 +277,18 @@ in
'';
};
virtualisation.msize =
mkOption {
default = null;
type = types.nullOr types.ints.unsigned;
description =
''
msize (maximum packet size) option passed to 9p file systems, in
bytes. Increasing this should increase performance significantly,
at the cost of higher RAM usage.
'';
};
virtualisation.diskSize =
mkOption {
default = 512;
@ -666,7 +678,7 @@ in
${if cfg.writableStore then "/nix/.ro-store" else "/nix/store"} =
{ device = "store";
fsType = "9p";
options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ];
options = [ "trans=virtio" "version=9p2000.L" "cache=loose" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
neededForBoot = true;
};
"/tmp" = mkIf config.boot.tmpOnTmpfs
@ -679,13 +691,13 @@ in
"/tmp/xchg" =
{ device = "xchg";
fsType = "9p";
options = [ "trans=virtio" "version=9p2000.L" ];
options = [ "trans=virtio" "version=9p2000.L" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
neededForBoot = true;
};
"/tmp/shared" =
{ device = "shared";
fsType = "9p";
options = [ "trans=virtio" "version=9p2000.L" ];
options = [ "trans=virtio" "version=9p2000.L" ] ++ lib.optional (cfg.msize != null) "msize=${toString cfg.msize}";
neededForBoot = true;
};
} // optionalAttrs (cfg.writableStore && cfg.writableStoreUseTmpfs)

View file

@ -182,7 +182,6 @@ in
jenkins = handleTest ./jenkins.nix {};
jirafeau = handleTest ./jirafeau.nix {};
jitsi-meet = handleTest ./jitsi-meet.nix {};
jq = handleTest ./jq.nix {};
k3s = handleTest ./k3s.nix {};
kafka = handleTest ./kafka.nix {};
keepalived = handleTest ./keepalived.nix {};
@ -344,8 +343,6 @@ in
samba = handleTest ./samba.nix {};
samba-wsdd = handleTest ./samba-wsdd.nix {};
sanoid = handleTest ./sanoid.nix {};
sbt = handleTest ./sbt.nix {};
sbt-extras = handleTest ./sbt-extras.nix {};
sddm = handleTest ./sddm.nix {};
searx = handleTest ./searx.nix {};
service-runner = handleTest ./service-runner.nix {};

41
nixos/tests/geth.nix Normal file
View file

@ -0,0 +1,41 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "geth";
meta = with pkgs.lib; {
maintainers = with maintainers; [bachp ];
};
machine = { ... }: {
services.geth."mainnet" = {
enable = true;
http = {
enable = true;
};
};
services.geth."testnet" = {
enable = true;
port = 30304;
network = "goerli";
http = {
enable = true;
port = 18545;
};
};
};
testScript = ''
start_all()
machine.wait_for_unit("geth-mainnet.service")
machine.wait_for_unit("geth-testnet.service")
machine.wait_for_open_port(8545)
machine.wait_for_open_port(18545)
machine.succeed(
'geth attach --exec "eth.chainId()" http://localhost:8545 | grep \'"0x0"\' '
)
machine.succeed(
'geth attach --exec "eth.chainId()" http://localhost:18545 | grep \'"0x5"\' '
)
'';
})

View file

@ -65,17 +65,6 @@ import ./make-test-python.nix ({ pkgs, latestKernel ? false, ... } : {
machine.succeed("grep -Fq wireguard /proc/modules")
# Test hidepid
with subtest("hidepid=2 option is applied and works"):
# Linux >= 5.8 shows "invisible"
machine.succeed(
"grep -Fq hidepid=2 /proc/mounts || grep -Fq hidepid=invisible /proc/mounts"
)
# cannot use pgrep -u here, it segfaults when access to process info is denied
machine.succeed("[ `su - sybil -c 'ps --no-headers --user root | wc -l'` = 0 ]")
machine.succeed("[ `su - alice -c 'ps --no-headers --user root | wc -l'` != 0 ]")
# Test kernel module hardening
with subtest("No more kernel modules can be loaded"):
# note: this better a be module we normally wouldn't load ...

View file

@ -1,10 +0,0 @@
import ./make-test-python.nix ({ pkgs, ... }: {
name = "jq";
meta = with pkgs.lib.maintainers; { maintainers = [ nequissimus ]; };
nodes.jq = { pkgs, ... }: { environment.systemPackages = [ pkgs.jq ]; };
testScript = ''
assert "world" in jq.succeed('echo \'{"values":["hello","world"]}\'| jq \'.values[1]\''')
'';
})

View file

@ -1,16 +0,0 @@
import ./make-test-python.nix ({ pkgs, ...} : {
name = "sbt-extras";
meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus ];
};
machine = { pkgs, ... }:
{
environment.systemPackages = [ pkgs.sbt-extras ];
};
testScript =
''
machine.succeed("(sbt -h)")
'';
})

View file

@ -1,18 +0,0 @@
import ./make-test-python.nix ({ pkgs, ...} : {
name = "sbt";
meta = with pkgs.lib.maintainers; {
maintainers = [ nequissimus ];
};
machine = { pkgs, ... }:
{
environment.systemPackages = [ pkgs.sbt ];
};
testScript =
''
machine.succeed(
"(sbt --offline --version 2>&1 || true) | grep 'getting org.scala-sbt sbt ${pkgs.sbt.version} (this may take some time)'"
)
'';
})

View file

@ -27,6 +27,9 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
# disable the root anchor update as we do not have internet access during
# the test execution
services.unbound.enableRootTrustAnchor = false;
# we want to test the full-variant of the package to also get DoH support
services.unbound.package = pkgs.unbound-full;
};
};
@ -81,13 +84,16 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
networking.firewall.allowedTCPPorts = [
53 # regular DNS
853 # DNS over TLS
443 # DNS over HTTPS
];
networking.firewall.allowedUDPPorts = [ 53 ];
services.unbound = {
enable = true;
allowedAccess = [ "192.168.0.0/24" "fd21::/64" "::1" "127.0.0.0/8" ];
interfaces = [ "::1" "127.0.0.1" "192.168.0.2" "fd21::2" "192.168.0.2@853" "fd21::2@853" "::1@853" "127.0.0.1@853" ];
interfaces = [ "::1" "127.0.0.1" "192.168.0.2" "fd21::2"
"192.168.0.2@853" "fd21::2@853" "::1@853" "127.0.0.1@853"
"192.168.0.2@443" "fd21::2@443" "::1@443" "127.0.0.1@443" ];
forwardAddresses = [
(lib.head nodes.authoritative.config.networking.interfaces.eth1.ipv6.addresses).address
(lib.head nodes.authoritative.config.networking.interfaces.eth1.ipv4.addresses).address
@ -217,6 +223,14 @@ import ./make-test-python.nix ({ pkgs, lib, ... }:
expected,
["+tcp", "+tls"] + args,
)
query(
machine,
remote,
query_type,
zone,
expected,
["+https"] + args,
)
client.start()

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "BSlizr";
version = "1.2.8";
version = "1.2.10";
src = fetchFromGitHub {
owner = "sjaehn";
repo = pname;
rev = version;
sha256 = "1f7xrljvsy7a1p8c7wln2zhwarl3ara7gbjxkpyh47wfdpigpdb0";
sha256 = "sha256-tEGJrVg8dN9Torybx02qIpXsGOuCgn/Wb+jemfCjiK4=";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -0,0 +1,33 @@
{ lib, stdenv, fetchurl
, libX11, libXft, libclthreads, libclxclient, libjack2, libpng, libsndfile, zita-resampler
}:
stdenv.mkDerivation rec {
pname = "ebumeter";
version = "0.4.2";
src = fetchurl {
url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
sha256 = "1wm9j1phmpicrp7jdsvdbc3mghdd92l61yl9qbps0brq2ljjyd5s";
};
buildInputs = [
libX11 libXft libclthreads libclxclient libjack2 libpng libsndfile zita-resampler
];
preConfigure = ''
cd source
'';
makeFlags = [ "PREFIX=$(out)" ];
enableParallelBuilding = true;
meta = with lib; {
description = "Level metering according to the EBU R-128 recommendation";
homepage = "http://kokkinizita.linuxaudio.org/linuxaudio/index.html";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ orivej ];
platforms = platforms.linux;
};
}

View file

@ -1,7 +1,6 @@
{ lib
, rustPlatform
, fetchFromGitLab
, fetchpatch
, meson
, ninja
, gettext

View file

@ -18,13 +18,13 @@ assert pcreSupport -> pcre != null;
stdenv.mkDerivation rec {
pname = "ncmpc";
version = "0.44";
version = "0.45";
src = fetchFromGitHub {
owner = "MusicPlayerDaemon";
repo = "ncmpc";
rev = "v${version}";
sha256 = "sha256-Qu41TL8KSKC9L25D6Z8bEbJUJQ9QI08grTGZ+0qGdUQ=";
sha256 = "sha256-KDSHbEZ2PJLEIlXqPvBQ2ZPWno+IoajTjkl9faAXIko=";
};
buildInputs = [ glib ncurses libmpdclient boost ]

View file

@ -40,11 +40,6 @@ in pythonPackages.buildPythonApplication rec {
dateutil
];
prePatch = ''
# Pesky unicode punctuation.
substituteInPlace setup.cfg --replace "" "'"
'';
# In order to spare double wrapping, we use:
preFixup = ''
makeWrapperArgs+=("''${qtWrapperArgs[@]}")

View file

@ -36,13 +36,13 @@ assert withLastfm -> withCD;
mkDerivation rec {
pname = "pragha";
version = "1.3.4";
version = "1.3.99.1";
src = fetchFromGitHub {
owner = "pragha-music-player";
repo = "pragha";
rev = "v${version}";
sha256 = "sha256:0n8gx8amg5l9g4w7s4agjf8mlmpgjydgzx3vryp9lzzs9xrd5vqh";
sha256 = "sha256-C4zh2NHqP4bwKMi5s+3AfEtKqxRlzL66H8OyNonGzxE=";
};
nativeBuildInputs = [

View file

@ -14,7 +14,6 @@
, openssl
, pkg-config
, python3
, rust
, rustc
, rustPlatform
, sqlite

View file

@ -1,4 +1,4 @@
{ lib, fetchFromGitHub, rustPackages, pkg-config, openssl
{ lib, fetchFromGitHub, rustPackages_1_45, pkg-config, openssl
, withALSA ? true, alsaLib ? null
, withPulseAudio ? false, libpulseaudio ? null
, withPortAudio ? false, portaudio ? null
@ -7,7 +7,7 @@
, dbus ? null
}:
rustPackages.rustPlatform.buildRustPackage rec {
rustPackages_1_45.rustPlatform.buildRustPackage rec {
pname = "spotifyd";
version = "0.3.0";
@ -39,7 +39,7 @@ rustPackages.rustPlatform.buildRustPackage rec {
meta = with lib; {
description = "An open source Spotify client running as a UNIX daemon";
homepage = "https://github.com/Spotifyd/spotifyd";
license = with licenses; [ gpl3 ];
license = licenses.gpl3Plus;
maintainers = with maintainers; [ anderslundstedt Br1ght0ne marsam ];
platforms = platforms.unix;
};

View file

@ -2,7 +2,6 @@
, fetchFromGitHub
, lib
, python3Packages
, youtube-dl
}:
buildPythonApplication rec {

View file

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "ergo";
version = "3.3.6";
version = "4.0.0";
src = fetchurl {
url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
sha256 = "1zi559ixjxxsrpvvjbxa1d0g96px3h9amjvy149sfhp7b8w5hhk3";
sha256 = "sha256-M0kgd/txqc04WNLNZiq+imHMM9YGFd12jMWJyY2ExrY=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -1,6 +1,12 @@
{ lib, stdenv, buildGoModule, fetchFromGitHub, libobjc, IOKit }:
buildGoModule rec {
let
# A list of binaries to put into separate outputs
bins = [
"geth"
];
in buildGoModule rec {
pname = "go-ethereum";
version = "1.9.25";
@ -16,6 +22,13 @@ buildGoModule rec {
doCheck = false;
outputs = [ "out" ] ++ bins;
# Move binaries to separate outputs and symlink them back to $out
postInstall = lib.concatStringsSep "\n" (
builtins.map (bin: "mkdir -p \$${bin}/bin && mv $out/bin/${bin} \$${bin}/bin/ && ln -s \$${bin}/bin/${bin} $out/bin/") bins
);
subPackages = [
"cmd/abidump"
"cmd/abigen"
@ -40,7 +53,7 @@ buildGoModule rec {
meta = with lib; {
homepage = "https://geth.ethereum.org/";
description = "Official golang implementation of the Ethereum protocol";
license = with licenses; [ lgpl3 gpl3 ];
license = with licenses; [ lgpl3Plus gpl3Plus ];
maintainers = with maintainers; [ adisbladis lionello xrelkd RaghavSood ];
};
}

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "lightdm-mini-greeter";
version = "0.4.0";
version = "0.5.0";
src = fetchFromGitHub {
owner = "prikhi";
repo = "lightdm-mini-greeter";
rev = version;
sha256 = "10hga7pmfyjdvj4xwm3djwrhk50brcpycj3p3c57pa0vnx4ill3s";
sha256 = "sha256-cVOnd3k+9hFQjROiwPpxZcCxD2NiH1eclJHF88eV6BM=";
};
nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];

View file

@ -1,4 +1,4 @@
{ lib, external, pkgs }: self: with self; with lib.licenses; {
{ lib, pkgs }: self: with self; with lib.licenses; {
elisp-ffi = melpaBuild rec {
pname = "elisp-ffi";
@ -9,7 +9,7 @@
rev = version;
sha256 = "0z2n3h5l5fj8wl8i1ilfzv11l3zba14sgph6gz7dx7q12cnp9j22";
};
buildInputs = [ external.libffi ];
buildInputs = [ pkgs.libffi ];
preBuild = "make";
recipe = pkgs.writeText "recipe" ''
(elisp-ffi
@ -29,15 +29,15 @@
};
};
agda2-mode = with external; trivialBuild {
agda2-mode = trivialBuild {
pname = "agda-mode";
version = Agda.version;
version = pkgs.haskellPackages.Agda.version;
phases = [ "buildPhase" "installPhase" ];
# already byte-compiled by Agda builder
buildPhase = ''
agda=`${Agda}/bin/agda-mode locate`
agda=`${pkgs.haskellPackages.Agda}/bin/agda-mode locate`
cp `dirname $agda`/*.el* .
'';
@ -47,21 +47,21 @@
Wrapper packages that liberates init.el from `agda-mode locate` magic.
Simply add this to user profile or systemPackages and do `(require 'agda2)` in init.el.
'';
homepage = Agda.meta.homepage;
license = Agda.meta.license;
homepage = pkgs.haskellPackages.Agda.meta.homepage;
license = pkgs.haskellPackages.Agda.meta.license;
};
};
agda-input = self.trivialBuild {
pname = "agda-input";
inherit (external.Agda) src version;
inherit (pkgs.haskellPackages.Agda) src version;
postUnpack = "mv $sourceRoot/src/data/emacs-mode/agda-input.el $sourceRoot";
meta = {
description = "Standalone package providing the agda-input method without building Agda.";
inherit (external.Agda.meta) homepage license;
inherit (pkgs.haskellPackages.Agda.meta) homepage license;
};
};
@ -74,10 +74,10 @@
ghc-mod = melpaBuild {
pname = "ghc";
version = external.ghc-mod.version;
src = external.ghc-mod.src;
version = pkgs.haskellPackages.ghc-mod.version;
src = pkgs.haskellPackages.ghc-mod.src;
packageRequires = [ haskell-mode ];
propagatedUserEnvPkgs = [ external.ghc-mod ];
propagatedUserEnvPkgs = [ pkgs.haskellPackages.ghc-mod ];
recipe = pkgs.writeText "recipe" ''
(ghc-mod :repo "DanielG/ghc-mod" :fetcher github :files ("elisp/*.el"))
'';
@ -115,7 +115,7 @@
llvm-mode = trivialBuild {
pname = "llvm-mode";
inherit (external.llvmPackages.llvm) src version;
inherit (pkgs.llvmPackages.llvm) src version;
dontConfigure = true;
buildPhase = ''
@ -123,24 +123,73 @@
'';
meta = {
inherit (external.llvmPackages.llvm.meta) homepage license;
inherit (pkgs.llvmPackages.llvm.meta) homepage license;
description = "Major mode for the LLVM assembler language.";
};
};
matrix-client = melpaBuild {
pname = "matrix-client";
version = "0.3.0";
src = pkgs.fetchFromGitHub {
owner = "alphapapa";
repo = "matrix-client.el";
rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
sha256 = "1scfv1502yg7x4bsl253cpr6plml1j4d437vci2ggs764sh3rcqq";
};
patches = [
(pkgs.fetchpatch {
url = "https://github.com/alphapapa/matrix-client.el/commit/5f49e615c7cf2872f48882d3ee5c4a2bff117d07.patch";
sha256 = "07bvid7s1nv1377p5n61q46yww3m1w6bw4vnd4iyayw3fby1lxbm";
})
];
packageRequires = [
anaphora
cl-lib
self.map
dash-functional
esxml
f
ov
tracking
rainbow-identifiers
dash
s
request
frame-purpose
a
ht
];
recipe = pkgs.writeText "recipe" ''
(matrix-client
:repo "alphapapa/matrix-client.el"
:fetcher github)
'';
meta = {
description = "A chat client and API wrapper for Matrix.org";
license = gpl3Plus;
};
};
org-mac-link =
callPackage ./org-mac-link { };
ott-mode = self.trivialBuild {
pname = "ott-mod";
inherit (external.ott) src version;
inherit (pkgs.ott) src version;
postUnpack = "mv $sourceRoot/emacs/ott-mode.el $sourceRoot";
meta = {
description = "Standalone package providing ott-mode without building ott and with compiled bytecode.";
inherit (external.Agda.meta) homepage license;
inherit (pkgs.haskellPackages.Agda.meta) homepage license;
};
};

View file

@ -22,7 +22,7 @@ instantenous and formats commits for you.
*/
{ lib, external, pkgs }: variant: self:
{ lib, pkgs }: variant: self:
let
dontConfigure = pkg:
if pkg != null then pkg.override (args: {
@ -53,7 +53,7 @@ let
});
fix-rtags = pkg:
if pkg != null then dontConfigure (externalSrc pkg external.rtags)
if pkg != null then dontConfigure (externalSrc pkg pkgs.rtags)
else null;
generateMelpa = lib.makeOverridable ({ archiveJson ? ./recipes-archive-melpa.json
@ -79,9 +79,9 @@ let
};
auto-complete-clang-async = super.auto-complete-clang-async.overrideAttrs (old: {
buildInputs = old.buildInputs ++ [ external.llvmPackages.llvm ];
CFLAGS = "-I${external.llvmPackages.clang}/include";
LDFLAGS = "-L${external.llvmPackages.clang}/lib";
buildInputs = old.buildInputs ++ [ pkgs.llvmPackages.llvm ];
CFLAGS = "-I${pkgs.llvmPackages.clang}/include";
LDFLAGS = "-L${pkgs.llvmPackages.clang}/lib";
});
# part of a larger package
@ -132,8 +132,8 @@ let
flycheck-rtags = fix-rtags super.flycheck-rtags;
pdf-tools = super.pdf-tools.overrideAttrs (old: {
nativeBuildInputs = [ external.pkg-config ];
buildInputs = with external; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = with pkgs; old.buildInputs ++ [ autoconf automake libpng zlib poppler ];
preBuild = "make server/epdfinfo";
recipe = pkgs.writeText "recipe" ''
(pdf-tools
@ -143,7 +143,7 @@ let
});
# Build same version as Haskell package
hindent = (externalSrc super.hindent external.hindent).overrideAttrs (attrs: {
hindent = (externalSrc super.hindent pkgs.haskellPackages.hindent).overrideAttrs (attrs: {
packageRequires = [ self.haskell-mode ];
});
@ -169,7 +169,7 @@ let
dontUseCmakeBuildDir = true;
doCheck = true;
packageRequires = [ self.emacs ];
nativeBuildInputs = [ external.cmake external.llvmPackages.llvm external.llvmPackages.clang ];
nativeBuildInputs = [ pkgs.cmake pkgs.llvmPackages.llvm pkgs.llvmPackages.clang ];
});
# tries to write a log file to $HOME
@ -286,18 +286,28 @@ let
# part of a larger package
notmuch = dontConfigure super.notmuch;
rtags = dontConfigure (externalSrc super.rtags external.rtags);
rtags = dontConfigure (externalSrc super.rtags pkgs.rtags);
rtags-xref = dontConfigure super.rtags;
shm = super.shm.overrideAttrs (attrs: {
propagatedUserEnvPkgs = [ external.structured-haskell-mode ];
propagatedUserEnvPkgs = [ pkgs.haskellPackages.structured-haskell-mode ];
});
# Telega has a server portion for it's network protocol
telega = super.telega.overrideAttrs (old: {
buildInputs = old.buildInputs ++ [ pkgs.tdlib ];
nativeBuildInputs = [ external.pkg-config ];
nativeBuildInputs = [ pkgs.pkg-config ];
postPatch = ''
substituteInPlace telega-customize.el \
--replace 'defcustom telega-server-command "telega-server"' \
"defcustom telega-server-command \"$out/bin/telega-server\""
substituteInPlace telega-sticker.el --replace '"dwebp"' '"${pkgs.libwebp}/bin/dwebp"'
substituteInPlace telega-vvnote.el --replace '"ffmpeg' '"${pkgs.ffmpeg}/bin/ffmpeg'
'';
postBuild = ''
cd source/server
@ -314,12 +324,12 @@ let
treemacs-magit = super.treemacs-magit.overrideAttrs (attrs: {
# searches for Git at build time
nativeBuildInputs =
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
(attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
});
vdiff-magit = super.vdiff-magit.overrideAttrs (attrs: {
nativeBuildInputs =
(attrs.nativeBuildInputs or [ ]) ++ [ external.git ];
(attrs.nativeBuildInputs or [ ]) ++ [ pkgs.git ];
});
zmq = super.zmq.overrideAttrs (old: {
@ -328,11 +338,11 @@ let
make
'';
nativeBuildInputs = [
external.autoconf
external.automake
external.pkg-config
external.libtool
(external.zeromq.override { enableDrafts = true; })
pkgs.autoconf
pkgs.automake
pkgs.pkg-config
pkgs.libtool
(pkgs.zeromq.override { enableDrafts = true; })
];
postInstall = ''
mv $out/share/emacs/site-lisp/elpa/zmq-*/src/.libs/emacs-zmq.so $out/share/emacs/site-lisp/elpa/zmq-*
@ -415,7 +425,7 @@ let
window-numbering = markBroken super.window-numbering;
editorconfig = super.editorconfig.overrideAttrs (attrs: {
propagatedUserEnvPkgs = [ external.editorconfig-core-c ];
propagatedUserEnvPkgs = [ pkgs.editorconfig-core-c ];
});
# missing dependencies
@ -433,7 +443,7 @@ let
racer = super.racer.overrideAttrs (attrs: {
postPatch = attrs.postPatch or "" + ''
substituteInPlace racer.el \
--replace /usr/local/src/rust/src ${external.rustPlatform.rustcSrc}
--replace /usr/local/src/rust/src ${pkgs.rustPlatform.rustcSrc}
'';
});
@ -462,7 +472,7 @@ let
w3m = super.w3m.override (args: {
melpaBuild = drv: args.melpaBuild (drv // {
prePatch =
let w3m = "${lib.getBin external.w3m}/bin/w3m"; in
let w3m = "${lib.getBin pkgs.w3m}/bin/w3m"; in
''
substituteInPlace w3m.el \
--replace 'defcustom w3m-command nil' \

View file

@ -2,7 +2,6 @@ import ./generic.nix (rec {
version = "26.3";
sha256 = "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d";
patches = [
./clean-env-26.patch
./tramp-detect-wrapped-gvfsd-26.patch
];
})

View file

@ -2,7 +2,6 @@ import ./generic.nix (rec {
version = "27.1";
sha256 = "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a";
patches = [
./clean-env.patch
./tramp-detect-wrapped-gvfsd.patch
];
})

View file

@ -1,15 +0,0 @@
Dump temacs in an empty environment to prevent -dev paths from ending
up in the dumped image.
diff --git a/src/Makefile.in b/src/Makefile.in
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -535,7 +535,7 @@ ifeq ($(CANNOT_DUMP),yes)
ln -f temacs$(EXEEXT) $@
else
unset EMACS_HEAP_EXEC; \
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
+ env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
ifneq ($(PAXCTL_dumped),)
$(PAXCTL_dumped) $@
endif

View file

@ -1,16 +0,0 @@
Dump temacs in an empty environment to prevent -dev paths from ending
up in the dumped image.
diff --git a/src/Makefile.in b/src/Makefile.in
index fd05a45df5..13f529c253 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -570,7 +570,7 @@ emacs$(EXEEXT): temacs$(EXEEXT) \
lisp.mk $(etc)/DOC $(lisp) \
$(lispsource)/international/charprop.el ${charsets}
ifeq ($(DUMPING),unexec)
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump
+ env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump
ifneq ($(PAXCTL_dumped),)
$(PAXCTL_dumped) emacs$(EXEEXT)
endif

View file

@ -63,6 +63,12 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
rm -fr .git
'')
# Reduce closure size by cleaning the environment of the emacs dumper
''
substituteInPlace src/Makefile.in \
--replace 'RUN_TEMACS = ./temacs' 'RUN_TEMACS = env -i ./temacs'
''
''
substituteInPlace lisp/international/mule-cmds.el \
--replace /usr/share/locale ${gettext}/share/locale

View file

@ -26,8 +26,6 @@ stdenv.mkDerivation rec {
sha256 = "0f2wzdw2a3ac581322b2y79rlj3c9f33ddrq9allj97r1si6v5xk";
};
patches = [ ./clean-env.patch ];
enableParallelBuilding = true;
nativeBuildInputs = [ pkg-config autoconf automake ];
@ -57,6 +55,11 @@ stdenv.mkDerivation rec {
# Fix sandbox impurities.
substituteInPlace Makefile.in --replace '/bin/pwd' 'pwd'
substituteInPlace lib-src/Makefile.in --replace '/bin/pwd' 'pwd'
# Reduce closure size by cleaning the environment of the emacs dumper
substituteInPlace src/Makefile.in \
--replace 'RUN_TEMACS = ./temacs' 'RUN_TEMACS = env -i ./temacs'
'';
configureFlags = [

View file

@ -35,7 +35,6 @@
, wrapGAppsHook
, dbus
, xvfb_run
, glib
}:
stdenv.mkDerivation rec {

View file

@ -1,31 +1,41 @@
{ lib, stdenv, fetchurl, ncurses, gpm }:
{ lib
, stdenv
, fetchurl
, ncurses
, gpm
}:
stdenv.mkDerivation rec {
pname = "jupp";
version = "39";
version = "40";
srcName = "joe-3.1${pname}${version}";
src = fetchurl {
urls = [
"https://www.mirbsd.org/MirOS/dist/jupp/${srcName}.tgz"
"https://pub.allbsd.org/MirOS/dist/jupp/${srcName}.tgz" ];
sha256 = "14gys92dy3kq9ikigry7q2x4w5v2z76d97vp212bddrxiqy5np8d";
"https://pub.allbsd.org/MirOS/dist/jupp/${srcName}.tgz"
];
sha256 = "S+1DnN5/K+KU6W5J7z6RPqkPvl6RTbiIQD46J+gDWxo=";
};
preConfigure = "chmod +x ./configure";
buildInputs = [ ncurses gpm ];
buildInputs = [
gpm
ncurses
];
configureFlags = [
"--enable-curses"
"--enable-termcap"
"--enable-termidx"
"--enable-getpwnam"
"--enable-largefile"
"--enable-termcap"
"--enable-termidx"
];
meta = with lib; {
homepage = "http://www.mirbsd.org/jupp.htm";
downloadPage = "https://www.mirbsd.org/MirOS/dist/jupp/";
description = "A portable fork of Joe's editor";
longDescription = ''
This is the portable version of JOE's Own Editor, which is currently
@ -35,8 +45,8 @@ stdenv.mkDerivation rec {
and has a lot of bugs fixed. It is based upon an older version of joe
because these behave better overall.
'';
homepage = "http://www.mirbsd.org/jupp.htm";
license = licenses.gpl1;
license = licenses.gpl1Only;
maintainers = with maintainers; [ AndersonTorres ];
platforms = with platforms; unix;
};
}

View file

@ -16,11 +16,11 @@ let
in stdenv.mkDerivation rec {
pname = "nano";
version = "5.5";
version = "5.6";
src = fetchurl {
url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
sha256 = "0jkyd3yzcidnvnj1k9bmplzlbd303x6xxblpp5np7zs1kfzq22rr";
sha256 = "0ckscf3klm2k1zjvcv8mkza1yp80g7ss56n73790fk83lzj87qgw";
};
nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;

View file

@ -3,13 +3,13 @@
mkDerivation rec {
pname = "texstudio";
version = "3.1.0";
version = "3.1.1";
src = fetchFromGitHub {
owner = "${pname}-org";
repo = pname;
rev = version;
sha256 = "sha256-40VgWfSjyERHJapiIXSk89O3X1V8rb8JEWqfnAyf1Sc=";
sha256 = "sha256-MFCQwhdF+WCTqDt4q5qw431y/zqEy9vHudcUYb4BYNQ=";
};
nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];

View file

@ -0,0 +1,71 @@
{ stdenv
, lib
, fetchFromGitHub
, cmake
, libxml2
, libpeas
, glib
, gtk3
, gtksourceview4
, gspell
, xapps
, pkg-config
, meson
, ninja
, wrapGAppsHook
, intltool
, itstool }:
stdenv.mkDerivation rec {
pname = "xed-editor";
version = "2.8.4";
src = fetchFromGitHub {
owner = "linuxmint";
repo = "xed";
rev = version;
sha256 = "1hqr4157kp110p01jygqnnzj86zxlfiq4b53j345vqpx0f80c340";
};
nativeBuildInputs = [
meson
cmake
pkg-config
intltool
itstool
ninja
wrapGAppsHook
];
buildInputs = [
libxml2
glib
gtk3
gtksourceview4
libpeas
gspell
xapps
];
postInstall = ''
glib-compile-schemas $out/share/glib-2.0/schemas
'';
doInstallCheck = true;
installCheckPhase = ''
if [[ "$($out/bin/xed --version)" == "xed - Version ${version}" ]] ; then
echo "${pname} smoke test passed"
else
echo "${pname} smoke test failed"
return 1
fi
'';
meta = with lib; {
description = "Light weight text editor from Linux Mint";
homepage = "https://github.com/linuxmint/xed";
license = licenses.gpl2Only;
platforms = platforms.linux;
maintainers = with maintainers; [ tu-maurice ];
};
}

View file

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
pname = "avocode";
version = "4.11.2";
version = "4.12.0";
src = fetchurl {
url = "https://media.avocode.com/download/avocode-app/${version}/avocode-${version}-linux.zip";
sha256 = "sha256-gE00Pukkf5wXP+SGqJgKJeLR82VtH/iwFNYkBb4Z8q0=";
sha256 = "sha256-qbG0Ii3Xmj1UGGS+n+LdiNPAHBkpQZMGEzrDvOcaUNA=";
};
libPath = lib.makeLibraryPath (with xorg; [

View file

@ -11,11 +11,11 @@
stdenv.mkDerivation rec {
pname = "drawio";
version = "14.1.5";
version = "14.4.3";
src = fetchurl {
url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/draw.io-x86_64-${version}.rpm";
hash = "sha256-dM/DGtUDnJBD4Cfhm/zbxfgBhUcIlEzlF4z3cmQuW14=";
hash = "sha256-0wBjZg6IvjVTzAGeXTBBZjIN6s9NxKV0r76YK9h4fFk=";
};
nativeBuildInputs = [

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchurl
, fetchpatch
, gnome3
, pkg-config
, meson

View file

@ -1,14 +1,14 @@
{ lib, stdenv, fetchgit, cmake, pkg-config, zlib, libpng, cairo, freetype
, json_c, fontconfig, gtkmm3, pangomm, glew, libGLU, xorg, pcre
, wrapGAppsHook
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, zlib, libpng, cairo, freetype
, json_c, fontconfig, gtkmm3, pangomm, glew, libGLU, xorg, pcre, wrapGAppsHook
}:
stdenv.mkDerivation rec {
name = "solvespace-2.3-20190501";
rev = "e7b75f19c34c923780db776592b47152650d8f22";
src = fetchgit {
url = "https://github.com/solvespace/solvespace";
inherit rev;
sha256 = "07k4mbzxf0dmzwdhjx5nc09y7rn1schkaypsw9kz0l7ppylprpp2";
pname = "solvespace";
version = "v3.0.rc2";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "1z0873gwcr0hybrpqy4hwislir6k2zb4s62lbsivq5nbkizy7gjm";
fetchSubmodules = true;
};
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
+# include(GetGitCommitHash)
# and instead uncomment the following, adding the complete git hash of the checkout you are using:
-# set(GIT_COMMIT_HASH 0000000000000000000000000000000000000000)
+set(GIT_COMMIT_HASH $rev)
+set(GIT_COMMIT_HASH $version)
EOF
'';
@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "A parametric 3d CAD program";
license = licenses.gpl3;
license = licenses.gpl3Plus;
maintainers = [ maintainers.edef ];
platforms = platforms.linux;
homepage = "http://solvespace.com";

View file

@ -8,11 +8,11 @@
stdenv.mkDerivation rec {
pname = "1password";
version = "0.9.13";
version = "0.9.14-4";
src = fetchurl {
url = "https://onepassword.s3.amazonaws.com/linux/appimage/${pname}-${version}.AppImage";
hash = "sha256-VdbdmpLiQGVFH3q6baE2yuuKz11Tn0gMpkGDI9KI3HQ=";
hash = "sha256-ZEpHeBeP2LpjABWD1eQxUORUKsRWvZ8WYa5IxSRLeXc=";
};
nativeBuildInputs = [ makeWrapper ];

View file

@ -0,0 +1,32 @@
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, meson
, ninja
, libX11
, libXext
}:
stdenv.mkDerivation rec {
pname = "9menu";
version = "unstable-2021-02-24";
src = fetchFromGitHub {
owner = "arnoldrobbins";
repo = pname;
rev = "00cbf99c48dc580ca28f81ed66c89a98b7a182c8";
sha256 = "arca8Gbr4ytiCk43cifmNj7SUrDgn1XB26zAhZrVDs0=";
};
nativeBuildInputs = [ pkg-config meson ninja ];
buildInputs = [ libX11 libXext ];
meta = with lib; {
homepage = "https://github.com/arnoldrobbins/9menu";
description = "Simple X11 menu program for running commands";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ AndersonTorres ];
platforms = libX11.meta.platforms;
};
}

View file

@ -5,11 +5,11 @@ watchdog, wtforms, html2text, flask-compress }:
python3.pkgs.buildPythonApplication rec {
pname = "archivy";
version = "1.0.1";
version = "1.0.2";
src = fetchPypi {
inherit pname version;
sha256 = "53a43e26e9081ac266412d8643c66c07c289c4639bbaec374fd5147441253a4f";
sha256 = "6f706b925175852d8101a4afe2304ab7ee7d56e9658538b9a8e49e925978b87e";
};
# Relax some dependencies

View file

@ -0,0 +1,58 @@
{ lib
, fetchgit
, python3
, glib
, gobject-introspection
, meson
, ninja
, pkg-config
, wrapGAppsHook
, atk
, libhandy
, libnotify
, pango
}:
python3.pkgs.buildPythonApplication rec {
pname = "caerbannog";
version = "0.3";
format = "other";
src = fetchgit {
url = "https://git.sr.ht/~craftyguy/caerbannog";
rev = version;
sha256 = "0wqkb9zcllxm3fdsr5lphknkzy8r1cr80f84q200hbi99qql1dxh";
};
nativeBuildInputs = [
glib
gobject-introspection
meson
ninja
pkg-config
wrapGAppsHook
];
buildInputs = [
atk
gobject-introspection
libhandy
libnotify
pango
];
propagatedBuildInputs = with python3.pkgs; [
anytree
fuzzyfinder
gpgme
pygobject3
];
meta = with lib; {
description = "Mobile-friendly Gtk frontend for password-store";
homepage = "https://sr.ht/~craftyguy/caerbannog/";
changelog = "https://git.sr.ht/~craftyguy/caerbannog/refs/${version}";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dotlambda ];
};
}

View file

@ -5,13 +5,13 @@
buildGoModule rec {
pname = "dasel";
version = "1.13.1";
version = "1.13.2";
src = fetchFromGitHub {
owner = "TomWright";
repo = pname;
rev = "v${version}";
sha256 = "sha256-fgXhWouqStfxWs6cFNVxWI1INVYswVUTOuLr09utxpY=";
sha256 = "sha256-++8vTK0OR44Mcdh5g2bJEq7aO+fWySKw0XlSz2KJNio=";
};
vendorSha256 = "sha256-BdX4DO77mIf/+aBdkNVFUzClsIml1UMcgvikDbbdgcY=";

View file

@ -1,12 +1,13 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper
, pkg-config, which, perl, libXrandr
, cairo, dbus, systemd, gdk-pixbuf, glib, libX11, libXScrnSaver
, gtk3, wayland, wayland-protocols
, libXinerama, libnotify, pango, xorgproto, librsvg, dunstify ? false
}:
stdenv.mkDerivation rec {
pname = "dunst";
version = "1.5.0";
version = "1.6.1";
src = fetchFromGitHub {
owner = "dunst-project";
@ -20,6 +21,7 @@ stdenv.mkDerivation rec {
buildInputs = [
cairo dbus gdk-pixbuf glib libX11 libXScrnSaver
libXinerama libnotify pango xorgproto librsvg libXrandr
gtk3 wayland wayland-protocols
];
outputs = [ "out" "man" ];

View file

@ -8,13 +8,13 @@
stdenv.mkDerivation rec {
pname = "free42";
version = "2.5.24a";
version = "3.0";
src = fetchFromGitHub {
owner = "thomasokken";
repo = pname;
rev = "v${version}";
sha256 = "xP0kzpmX6Q5Dg7azvyUZIdoi52AYkUmiCkUA1aVY+nQ=";
sha256 = "jzNopLndYH9dIdm30pyDaZNksHwS4i5LTZUXRmcrTp8=";
};
nativeBuildInputs = [ pkg-config ];

View file

@ -2,11 +2,11 @@
buildPythonApplication rec {
pname = "gallery_dl";
version = "1.16.4";
version = "1.16.5";
src = fetchPypi {
inherit pname version;
sha256 = "744deddf22fdbc51d1d89776c41b0f1127d2b4d212bd092718fad2c0dc7f160f";
sha256 = "fb8c927630b292abf5052f8f75c3eebccbdffa609566768d4dc4d9665df91e68";
};
propagatedBuildInputs = [ requests ];

View file

@ -2,13 +2,13 @@
mkDerivation rec {
pname = "gpxsee";
version = "8.6";
version = "8.7";
src = fetchFromGitHub {
owner = "tumic0";
repo = "GPXSee";
rev = version;
sha256 = "sha256-RAqTwi65YskQhsjlHxQqy50R5s8z2yriWLkrg5J/eTc=";
sha256 = "sha256-pBNG9lDdqvxh2hGmOcL21mkkyFD7id1mWCUSgkTG71M=";
};
patches = (substituteAll {

View file

@ -0,0 +1,159 @@
diff --git a/Cargo.lock b/Cargo.lock
new file mode 100644
index 0000000..3528c6c
--- /dev/null
+++ b/Cargo.lock
@@ -0,0 +1,153 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "getrandom"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "wasi",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
+
+[[package]]
+name = "lscolors"
+version = "0.7.1"
+dependencies = [
+ "ansi_term",
+ "tempfile",
+]
+
+[[package]]
+name = "ppv-lite86"
+version = "0.2.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
+
+[[package]]
+name = "rand"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
+dependencies = [
+ "libc",
+ "rand_chacha",
+ "rand_core",
+ "rand_hc",
+]
+
+[[package]]
+name = "rand_chacha"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
+dependencies = [
+ "ppv-lite86",
+ "rand_core",
+]
+
+[[package]]
+name = "rand_core"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
+dependencies = [
+ "getrandom",
+]
+
+[[package]]
+name = "rand_hc"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
+dependencies = [
+ "rand_core",
+]
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "remove_dir_all"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "tempfile"
+version = "3.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "rand",
+ "redox_syscall",
+ "remove_dir_all",
+ "winapi",
+]
+
+[[package]]
+name = "wasi"
+version = "0.10.2+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

View file

@ -0,0 +1,26 @@
{ lib, rustPlatform, fetchFromGitHub }:
rustPlatform.buildRustPackage rec {
pname = "lscolors";
version = "0.7.1";
src = fetchFromGitHub {
owner = "sharkdp";
repo = pname;
rev = "v${version}";
sha256 = "0av3v31fvanvn59bdm9d0v9zh5lzrq0f4vqhg6xlvabkgsa8jk04";
};
cargoPatches = [
./cargo.lock.patch
];
cargoSha256 = "02k23idwy0sb4lnjrwnyah3qp22zj161ilbc13p75k0hdijfaxl5";
meta = with lib; {
description = "Rust library and tool to colorize paths using LS_COLORS";
homepage = "https://github.com/sharkdp/lscolors";
license = with licenses; [ asl20 mit ];
maintainers = with maintainers; [ SuperSandro2000 ];
};
}

View file

@ -1,4 +1,4 @@
{ buildPythonApplication, lib, fetchFromGitHub, fetchpatch
{ buildPythonApplication, lib, fetchFromGitHub
# build inputs
, atk

View file

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

View file

@ -6,7 +6,6 @@
, atspiSupport ? true
, bash
, glib
, glibcLocales
, dconf
, gobject-introspection
, gsettings-desktop-schemas
@ -130,8 +129,7 @@ python3.pkgs.buildPythonApplication rec {
--replace "/etc" "$out/etc"
substituteInPlace ./Onboard/LanguageSupport.py \
--replace "/usr/share/xml/iso-codes" "${isocodes}/share/xml/iso-codes" \
--replace "/usr/bin/yelp" "${yelp}/bin/yelp"
--replace "/usr/share/xml/iso-codes" "${isocodes}/share/xml/iso-codes"
substituteInPlace ./Onboard/Indicator.py \
--replace "/usr/bin/yelp" "${yelp}/bin/yelp"

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, vala, gtk3, libgee, fetchpatch
{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, vala, gtk3, libgee
, poppler, libpthreadstubs, gstreamer, gst-plugins-base, gst-plugins-good, gst-libav, librsvg, pcre, gobject-introspection, wrapGAppsHook
, webkitgtk, discount, json-glib }:

View file

@ -0,0 +1,17 @@
diff --git a/python/lib/lng.py b/python/lib/lng.py
index a390d920..00c3527e 100755
--- a/python/lib/lng.py
+++ b/python/lib/lng.py
@@ -12,11 +12,7 @@ class Lang(object):
class iLang(object):
def __init__(self):
- if(os.environ["DEBIAN_PACKAGE"] == "TRUE"):
- languages = os.listdir('/usr/share/locale')
- else:
- languages = os.listdir(Variables.playonlinux_env+'/lang/locale')
-
+ languages = os.listdir('@out@/share/playonlinux/lang/locale')
if(os.environ["POL_OS"] == "Mac"):
wxLocale = wx.Locale().FindLanguageInfo(os.environ["RLANG"])

View file

@ -9,7 +9,7 @@
, imagemagick
, netcat-gnu
, p7zip
, python2
, python3
, unzip
, wget
, wine
@ -22,6 +22,9 @@
, jq
, xorg
, libGL
, steam-run-native
# needed for avoiding crash on file selector
, gsettings-desktop-schemas
}:
let
@ -54,9 +57,10 @@ let
ld64 = "${stdenv.cc}/nix-support/dynamic-linker";
libs = pkgs: lib.makeLibraryPath [ xorg.libX11 libGL ];
python = python2.withPackages(ps: with ps; [
wxPython
python = python3.withPackages(ps: with ps; [
wxPython_4_1
setuptools
natsort
]);
in stdenv.mkDerivation {
@ -68,8 +72,16 @@ in stdenv.mkDerivation {
sha256 = "0n40927c8cnjackfns68zwl7h4d7dvhf7cyqdkazzwwx4k2xxvma";
};
patches = [
./0001-fix-locale.patch
];
nativeBuildInputs = [ makeWrapper ];
preBuild = ''
makeFlagsArray+=(PYTHON="python -m py_compile")
'';
buildInputs = [
xorg.libX11
libGL
@ -77,6 +89,7 @@ in stdenv.mkDerivation {
];
postPatch = ''
substituteAllInPlace python/lib/lng.py
patchShebangs python tests/python
sed -i "s/ %F//g" etc/PlayOnLinux.desktop
'';
@ -87,8 +100,16 @@ in stdenv.mkDerivation {
install -D -m644 etc/PlayOnLinux.desktop $out/share/applications/playonlinux.desktop
makeWrapper $out/share/playonlinux/playonlinux $out/bin/playonlinux \
--prefix PATH : ${binpath}
makeWrapper $out/share/playonlinux/playonlinux{,-wrapper} \
--prefix PATH : ${binpath} \
--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/GConf
# steam-run is needed to run the downloaded wine executables
mkdir -p $out/bin
cat > $out/bin/playonlinux <<EOF
#!${stdenv.shell} -e
exec ${steam-run-native}/bin/steam-run $out/share/playonlinux/playonlinux-wrapper "\$@"
EOF
chmod a+x $out/bin/playonlinux
bunzip2 $out/share/playonlinux/bin/check_dd_x86.bz2
patchelf --set-interpreter $(cat ${ld32}) --set-rpath ${libs pkgsi686Linux} $out/share/playonlinux/bin/check_dd_x86
@ -107,7 +128,7 @@ in stdenv.mkDerivation {
description = "GUI for managing Windows programs under linux";
homepage = "https://www.playonlinux.com/";
license = licenses.gpl3;
maintainers = [ maintainers.a1russell ];
maintainers = [ maintainers.pasqui23 ];
platforms = [ "x86_64-linux" "i686-linux" ];
};
}

View file

@ -1,5 +1,20 @@
{ lib, stdenv, fetchurl, fetchsvn, makeWrapper, makeDesktopItem, jdk, jre, ant
, gtk3, gsettings-desktop-schemas, p7zip, libXxf86vm }:
{ lib
, stdenv
, fetchurl
, fetchsvn
, makeWrapper
, makeDesktopItem
# sweethome3d 6.4.2 does not yet build with jdk 9 and later.
# this is fixed on trunk (7699?) but let's build with jdk8 until then.
, jdk8
# it can run on the latest stable jre fine though
, jre
, ant
, gtk3
, gsettings-desktop-schemas
, p7zip
, libXxf86vm
}:
let
@ -27,7 +42,7 @@ let
categories = "Graphics;2DGraphics;3DGraphics;";
};
patchPhase = ''
postPatch = ''
patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_awt.so
patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/amd64/libnativewindow_x11.so
patchelf --set-rpath ${libXxf86vm}/lib lib/java3d-1.6/linux/i586/libnativewindow_awt.so
@ -35,16 +50,22 @@ let
'';
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ ant jdk p7zip gtk3 gsettings-desktop-schemas ];
buildInputs = [ ant jdk8 p7zip gtk3 gsettings-desktop-schemas ];
buildPhase = ''
runHook preBuild
ant furniture textures help
mkdir -p $out/share/{java,applications}
mv "build/"*.jar $out/share/java/.
ant
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp install/${module}-${version}.jar $out/share/java/.
@ -60,6 +81,8 @@ let
--set MESA_GL_VERSION_OVERRIDE 2.1 \
--prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:${gtk3.out}/share:${gsettings-desktop-schemas}/share:$out/share:$GSETTINGS_SCHEMAS_PATH" \
--add-flags "-Dsun.java2d.opengl=true -jar $out/share/java/${module}-${version}.jar -cp $out/share/java/Furniture.jar:$out/share/java/Textures.jar:$out/share/java/Help.jar -d${toString stdenv.hostPlatform.parsed.cpu.bits}"
runHook postInstall
'';
dontStrip = true;

View file

@ -1,5 +1,17 @@
{ lib, stdenv, fetchcvs, makeWrapper, makeDesktopItem, jdk, jre, ant
, gtk3, gsettings-desktop-schemas, sweethome3dApp }:
{ lib
, stdenv
, fetchcvs
, makeWrapper
, makeDesktopItem
# sweethome3d 6.4.2 does not yet build with jdk 9 and later.
# this is fixed on trunk (7699?) but let's build with jdk8 until then.
, jdk8
# it can run on the latest stable jre fine though
, jre
, ant
, gtk3
, gsettings-desktop-schemas
, sweethome3dApp }:
let
@ -24,15 +36,19 @@ let
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ ant jre jdk gtk3 gsettings-desktop-schemas ];
buildInputs = [ ant jre jdk8 gtk3 gsettings-desktop-schemas ];
patchPhase = ''
postPatch = ''
sed -i -e 's,../SweetHome3D,${application.src},g' build.xml
sed -i -e 's,lib/macosx/java3d-1.6/jogl-all.jar,lib/java3d-1.6/jogl-all.jar,g' build.xml
'';
buildPhase = ''
ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk}/lib
runHook preBuild
ant -lib ${application.src}/libtest -lib ${application.src}/lib -lib ${jdk8}/lib
runHook postBuild
'';
installPhase = ''

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "ticker";
version = "3.1.7";
version = "3.1.8";
src = fetchFromGitHub {
owner = "achannarasappa";
repo = "ticker";
rev = "v${version}";
sha256 = "sha256-OA01GYp6E0zsEwkUUtvpmvl0y/YTXChl0pwIKozB4Qg=";
sha256 = "sha256-U2TYUB4RHUBPoXe/te+QpXglbVcrT6SItiDrA7ODX6w=";
};
vendorSha256 = "sha256-aUBj7ZGWBeWc71y1CWm/KCw+El5TwH29S+KxyZGH1Zo=";

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "tickrs";
version = "0.13.0";
version = "0.13.1";
src = fetchFromGitHub {
owner = "tarkah";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Gxrz0RNv7sEIfl0Ac5eLVXvbbxIWIL31mDOZrgY88ps=";
sha256 = "sha256-PGJztoGVIjUwx4x42LdpxJQMZH60x6JWY+yTHQgjHWM=";
};
cargoSha256 = "sha256-9UlEmc9gbZDWelOPD3jZAIkVKNk9jMq5Ljzwur1UiGs=";
cargoSha256 = "sha256-0NNdo28fLoqwKXBQ1fBTKPGE/zE7pnWnIjgCITsaGJc=";
nativeBuildInputs = [ perl ];

View file

@ -1,4 +1,4 @@
{ version ? "release", stdenv, lib, substituteAll, fetchFromGitHub, go-ethereum }:
{ version ? "release", stdenv, lib, fetchFromGitHub, go-ethereum }:
stdenv.mkDerivation rec {
pname = "bee-clef";

View file

@ -88,11 +88,11 @@ in
stdenv.mkDerivation rec {
pname = "brave";
version = "1.19.88";
version = "1.20.110";
src = fetchurl {
url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
sha256 = "jySedvm9V3O4kri1PgoqC0OsC1gvB0Nwx8leoUZnHK0=";
sha256 = "0xmf74qh85f2jvi90q4cw2n7cvx5p46xmdr2iznfy09hdsymxfry";
};
dontConfigure = true;

View file

@ -13,13 +13,13 @@ assert enablePython -> python != null;
stdenv.mkDerivation rec {
pname = "elinks";
version = "0.13.5";
version = "0.14.0";
src = fetchFromGitHub {
owner = "rkd77";
repo = "felinks";
rev = "v${version}";
sha256 = "067l9m47j40039q8mvvnxd1amwrac3x6vv0c0svimfpvj4ammgkg";
sha256 = "sha256-LxJJ0yBlw9hJ/agyL9dbVe4STKdXE8rtk1mMFqe1fFI=";
};
buildInputs = [

View file

@ -32,10 +32,10 @@ rec {
firefox-esr-78 = common rec {
pname = "firefox-esr";
ffversion = "78.7.1esr";
ffversion = "78.8.0esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "138dcfpdkp78yqgygac212vg5fm5ich2a82p7258ch8hk6bpvpdxbws4sdqwljs92x831dblcsshwkl06vh48899489gx87mdkqd0nm";
sha512 = "0160aa6c408c2af66d24b74cf98e1a07ab1604e7b93ffcde79201f9d68e41e896ef965f1904de52d5dd82ffedae33ac96e93b871727bf5dd5983c5af2f1f439f";
};
meta = {

View file

@ -14,13 +14,13 @@
stdenv.mkDerivation rec {
pname = "lagrange";
version = "1.1.1";
version = "1.1.4";
src = fetchFromGitHub {
owner = "skyjake";
repo = "lagrange";
rev = "v${version}";
sha256 = "0c7w4a19cwx3bkmbhc9c1wx0zmqd3a1grrj4ffifdic95wdihv7x";
sha256 = "sha256-EN0fQ5Scwrd7Tv31upQVbuqoNCoYudtruwtPR1IKTzE=";
fetchSubmodules = true;
};

View file

@ -1,4 +1,4 @@
{ stdenv, lib, lispPackages, sbcl
{ stdenv, lib, lispPackages
, makeWrapper, wrapGAppsHook, gst_all_1
, glib, gdk-pixbuf, cairo
, mime-types, pango, gtk3

View file

@ -19,9 +19,7 @@
, dbus
, vala
, wrapGAppsHook
, xorg
, xvfb_run
, libxml2
}:
stdenv.mkDerivation rec {

View file

@ -2,17 +2,17 @@
buildGoModule rec {
pname = "argocd";
version = "1.8.4";
version = "1.8.5";
commit = "28aea3dfdede00443b52cc584814d80e8f896200";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-cd";
rev = "v${version}";
sha256 = "sha256:155396rnihha31jxy0zk1jykiirpv4dhc69w45y6nx3nx4k0gwhk";
sha256 = "sha256-JjxibnGSDTjd0E9L3X2wnl9G713IYBs+O449RdrT19w=";
};
vendorSha256 = "sha256-6DOay+aeXz7EQKe5SzQSmg/5KyUI0g6wzPgx/+F2RW4=";
vendorSha256 = "sha256-rZ/ox180h9scocheYtMmKkoHY2/jH+I++vYX8R0fdlA=";
doCheck = false;

View file

@ -1,9 +1,12 @@
{ lib, stdenv, fetchurl, makeWrapper, pkg-config, which, maven, cmake, jre, bash
{ lib, stdenv, fetchurl, makeWrapper, pkg-config, which, maven, cmake, jre, jdk8, bash
, coreutils, glibc, protobuf2_5, fuse, snappy, zlib, bzip2, openssl, openssl_1_0_2
}:
let
common = { version, sha256, dependencies-sha256, tomcat, opensslPkg ? openssl }:
maven-jdk8 = maven.override {
jdk = jdk8;
};
common = { version, sha256, dependencies-sha256, maven, tomcat, opensslPkg ? openssl }:
let
# compile the hadoop tarball from sources, it requires some patches
binary-distributon = stdenv.mkDerivation rec {
@ -131,6 +134,7 @@ in {
dependencies-sha256 = "1lsr9nvrynzspxqcamb10d596zlnmnfpxhkd884gdiva0frm0b1r";
tomcat = tomcat_6_0_48;
opensslPkg = openssl_1_0_2;
maven = maven-jdk8;
};
hadoop_2_8 = common {
version = "2.8.4";
@ -138,6 +142,7 @@ in {
dependencies-sha256 = "1j4f461487fydgr5978nnm245ksv4xbvskfr8pbmfhcyss6b7w03";
tomcat = tomcat_6_0_48;
opensslPkg = openssl_1_0_2;
maven = maven-jdk8;
};
hadoop_2_9 = common {
version = "2.9.1";
@ -145,17 +150,20 @@ in {
dependencies-sha256 = "1d5i8jj5y746rrqb9lscycnd7acmxlkz64ydsiyqsh5cdqgy2x7x";
tomcat = tomcat_6_0_48;
opensslPkg = openssl_1_0_2;
maven = maven-jdk8;
};
hadoop_3_0 = common {
version = "3.0.3";
sha256 = "1vvkci0kx4b48dg0niifn2d3r4wwq8pb3c5z20wy8pqsqrqhlci5";
dependencies-sha256 = "1kzkna9ywacm2m1cirj9cyip66bgqjhid2xf9rrhq6g10lhr8j9m";
tomcat = null;
maven = maven-jdk8;
};
hadoop_3_1 = common {
version = "3.1.1";
sha256 = "04hhdbyd4x1hy0fpy537f8mi0864hww97zap29x7dk1smrffwabd";
dependencies-sha256 = "1q63jsxg3d31x0p8hvhpvbly2b07almyzsbhwphbczl3fhlqgiwn";
tomcat = null;
maven = maven-jdk8;
};
}

View file

@ -2,7 +2,7 @@
buildGoPackage rec {
pname = "kube-router";
version = "1.1.0";
version = "1.1.1";
goPackagePath = "github.com/cloudnativelabs/kube-router";
@ -10,7 +10,7 @@ buildGoPackage rec {
owner = "cloudnativelabs";
repo = pname;
rev = "v${version}";
sha256 = "0nsd371w667qhgiygxcg4kmynwldb0pbip6x03rc7j854hg8l7k0";
sha256 = "sha256-U7vjWtVXmyEPYFS1fAPOgV3WILGPhWsmoawV7B0pZaE=";
};
buildFlagsArray = ''

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "kubeseal";
version = "0.14.1";
version = "0.15.0";
src = fetchFromGitHub {
owner = "bitnami-labs";
repo = "sealed-secrets";
rev = "v${version}";
sha256 = "sha256-sUeXzmgSOkpqzqrX9+wNGj2X7gcf5QSpavXK4MJe8qE=";
sha256 = "sha256-wzaNFM/4V2mWqhkqeT70ieQuhgNK79U2b7PhxKqn/X0=";
};
vendorSha256 = null;

View file

@ -9,16 +9,16 @@
buildGoModule rec {
pname = "nerdctl";
version = "0.6.0";
version = "0.6.1";
src = fetchFromGitHub {
owner = "AkihiroSuda";
repo = pname;
rev = "v${version}";
sha256 = "sha256-lSvYiTh67gK9kJls7VsayV8T3H6RzFEEKe49BOWnUBw=";
sha256 = "sha256-zexvTPEQw7iW1d3ahHmqTn+UaT/bJMlr1sVlWErc2ck=";
};
vendorSha256 = "sha256-qywiaNoO3pI7sfyPbwWR8BLd86RvJ2xSWwCJUsm3RkM=";
vendorSha256 = "sha256-bX1GfKbAbdEAnW3kPNsbF/cJWufxvuhm//G88qJ3u08=";
nativeBuildInputs = [ makeWrapper ];
@ -30,6 +30,9 @@ buildGoModule rec {
"-X github.com/AkihiroSuda/nerdctl/pkg/version.Revision=<unknown>"
];
# Many checks require a containerd socket and running nerdctl after it's built
doCheck = false;
postInstall = ''
wrapProgram $out/bin/nerdctl \
--prefix PATH : "${lib.makeBinPath ([ buildkit ] ++ extraPackages)}" \
@ -39,6 +42,9 @@ buildGoModule rec {
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
# nerdctl expects XDG_RUNTIME_DIR to be set
export XDG_RUNTIME_DIR=$TMPDIR
$out/bin/nerdctl --help
# --version will error without containerd.sock access
$out/bin/nerdctl --help | grep "${version}"

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "node-problem-detector";
version = "0.8.6";
version = "0.8.7";
src = fetchFromGitHub {
owner = "kubernetes";
repo = pname;
rev = "v${version}";
sha256 = "sha256-8qY99sEEOFY2eMfuZSWv49nw1LKVHn50P1gYQN6y2f4=";
sha256 = "sha256-GyWvwgLtE8N+HLmGKUOjv5HXl2sdnecjh5y6VCOs+/0=";
};
vendorSha256 = null;

View file

@ -6,6 +6,6 @@
callPackage ./generic.nix {
inherit buildGoPackage nvidia_x11 nvidiaGpuSupport;
version = "1.0.3";
sha256 = "142rwpli8mbyg4vhhybnym34rk9w1ns4ddfhqjr1ygmxb1rlsngi";
version = "1.0.4";
sha256 = "0znaxz9mzbqb59p6rwa5h89m344m2ci39jsx8dfh1v5fc17r0fcq";
}

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "terragrunt";
version = "0.28.6";
version = "0.28.7";
src = fetchFromGitHub {
owner = "gruntwork-io";
repo = pname;
rev = "v${version}";
sha256 = "sha256-DzC/HNwFNNEJhic/8KpHchrBmsSbrn7xf1DjY0JTH08=";
sha256 = "sha256-pM3R85gdP2eVoXx//2tKePNAi14eM8Ut+eXR+vB0Ukk=";
};
vendorSha256 = "sha256-lRJerUYafpkXAGf8MEM8SeG3aB86mlMo7iLpeHFAnd4=";
@ -22,6 +22,14 @@ buildGoModule rec {
"-X main.VERSION=v${version}"
];
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/terragrunt --help
$out/bin/terragrunt --version | grep "v${version}"
runHook postInstallCheck
'';
meta = with lib; {
homepage = "https://terragrunt.gruntwork.io";
changelog = "https://github.com/gruntwork-io/terragrunt/releases/tag/v${version}";

View file

@ -2,29 +2,45 @@
buildGoModule rec {
pname = "waypoint";
version = "0.2.2";
version = "0.2.3";
src = fetchFromGitHub {
owner = "hashicorp";
repo = pname;
rev = "v${version}";
sha256 = "sha256-JeuVrlm6JB8MgSUmgMLQPuPmlKSScSdsVga9jUwLWHM=";
sha256 = "sha256-FTBBDKFUoyC+Xdm3+2QWXK57fLwitYrFP89OvAyHHVY=";
};
deleteVendor = true;
vendorSha256 = "sha256-ArebHOjP3zvpASVAoaPXpSbrG/jq+Jbx7+EaQ1uHSVY=";
vendorSha256 = "sha256-ihelAumTRgLALevJdVq3V3SISitiRPCQZUh2h5/eczA=";
nativeBuildInputs = [ go-bindata ];
# GIT_{COMMIT,DIRTY} filled in blank to prevent trying to run git and ending up blank anyway
buildPhase = ''
runHook preBuild
make bin GIT_DESCRIBE="v${version}" GIT_COMMIT="" GIT_DIRTY=""
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -D waypoint $out/bin/waypoint
runHook postInstall
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
# `version` tries to write to ~/.config/waypoint
export HOME="$TMPDIR"
$out/bin/waypoint --help
$out/bin/waypoint version # | grep "Waypoint v${version}"
runHook postInstallCheck
'';
# Binary is static
dontPatchELF = true;
dontPatchShebangs = true;

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "rssguard";
version = "3.8.4";
version = "3.9.0";
src = fetchFromGitHub {
owner = "martinrotter";
repo = pname;
rev = version;
sha256 = "sha256-2NC5Y8WxVYrzpuqDzhXXJ16b04Em1HqZaE2VK9tmfYk=";
sha256 = "sha256-pprWJIYAFYSTPhWVCW4dz3GWeAS53Vo8UXiyQ56Mwjo=";
};
buildInputs = [ qtwebengine qttools ];
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
for ownCloud/Nextcloud.
'';
homepage = "https://github.com/martinrotter/rssguard";
license = licenses.gpl3;
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ jluttine ];
};

View file

@ -2,11 +2,11 @@
python3Packages.buildPythonApplication rec {
pname = "FlexGet";
version = "3.1.98";
version = "3.1.103";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "d2d17a5ea821a580c55680294fce9ecf7012ef86c086c742414ec5bcb8468972";
sha256 = "da635a01ae7d15ba31b41081ab3e0214b8c5ab5e4662c381246495d7d1eba9be";
};
postPatch = ''

View file

@ -21,11 +21,11 @@ let
in
stdenv.mkDerivation rec {
pname = "zeek";
version = "3.2.3";
version = "3.2.4";
src = fetchurl {
url = "https://download.zeek.org/zeek-${version}.tar.gz";
sha256 = "1in25clpbb2vdhms3iypj6r5sp8d1dxjcfn85c272sh7shnmqagr";
sha256 = "11dy4w810jms75nrr3n3dy5anrl5ksb5pmnk31z37k60hg9q9afm";
};
nativeBuildInputs = [ cmake flex bison file ];

View file

@ -1,13 +1,14 @@
{ lib, fetchurl, appimageTools }:
{ lib, fetchurl, appimageTools, gsettings-desktop-schemas, gtk3 }:
let
pname = "deltachat-electron";
version = "1.14.1";
version = "1.15.1";
name = "${pname}-${version}";
src = fetchurl {
url =
"https://download.delta.chat/desktop/v${version}/DeltaChat-${version}.AppImage";
sha256 = "0w00qr8wwrxwa2g71biyz42k8y5y766m6k876bnzq927vcjilq6b";
sha256 = "sha256-lItI1aIFHYQ3wGRVn4Yw0nA7qgfhyHT/43kKbY/1cgI=";
};
appimageContents = appimageTools.extract { inherit name src; };
@ -16,6 +17,10 @@ in
appimageTools.wrapType2 {
inherit name src;
profile = ''
export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
'';
extraInstallCommands = ''
mv $out/bin/${name} $out/bin/${pname}
install -m 444 -D \

View file

@ -3,8 +3,6 @@
, fetchFromGitLab
, pkg-config
, cmake
, qtbase
, qttools
, qtquickcontrols2
, qtmultimedia
, qtgraphicaleffects
@ -26,14 +24,14 @@
mkDerivation rec {
pname = "neochat";
version = "1.0.1";
version = "1.1.1";
src = fetchFromGitLab {
domain = "invent.kde.org";
owner = "network";
repo = pname;
rev = "v${version}";
sha256 = "sha256-xGqGFJHyoZXHLv/n3UGr/KVbgs5Gc9kKKWIuKMr9DtQ=";
sha256 = "sha256-HvLPsU+fxlyPDP7i9OSnZ/C1RjouOQCp+4WCl6FlFJo=";
};
nativeBuildInputs = [ cmake extra-cmake-modules pkg-config ];

View file

@ -23,6 +23,9 @@
, olm
, pkg-config
, nlohmann_json
, voipSupport ? true
, gst_all_1
, libnice
}:
mkDerivation rec {
@ -59,12 +62,24 @@ mkDerivation rec {
qtquickcontrols2
qtgraphicaleffects
qtkeychain
] ++ lib.optional stdenv.isDarwin qtmacextras;
] ++ lib.optional stdenv.isDarwin qtmacextras
++ lib.optionals voipSupport (with gst_all_1; [
gstreamer
gst-plugins-base
(gst-plugins-good.override { qt5Support = true; })
gst-plugins-bad
libnice
]);
cmakeFlags = [
"-DCOMPILE_QML=ON" # see https://github.com/Nheko-Reborn/nheko/issues/389
];
preFixup = lib.optionalString voipSupport ''
# add gstreamer plugins path to the wrapper
qtWrapperArgs+=(--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0")
'';
meta = with lib; {
description = "Desktop client for the Matrix protocol";
homepage = "https://github.com/Nheko-Reborn/nheko";

View file

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

View file

@ -41,11 +41,11 @@ let
pname = "slack";
x86_64-darwin-version = "4.12.2";
x86_64-darwin-sha256 = "0qflv2glfy7d77zjgqi7qcjr53c9dni26gmqkg9vk2xijmmd3xy7";
x86_64-darwin-version = "4.13.0";
x86_64-darwin-sha256 = "1f155fgbdmqxy7324lxj3ysx1p332rzpwy06iac90rm6irf5v57f";
x86_64-linux-version = "4.12.2";
x86_64-linux-sha256 = "sha256-G5uQI078N7AbhEJs6a/17Hoi5DSdwvYLM1T/ttrEw4s=";
x86_64-linux-version = "4.13.0";
x86_64-linux-sha256 = "1hqvynkhbkfwxvfgjqv91x5k7qlzayjr5mmf8rz0ncp4j4d3x9mq";
version = {
x86_64-darwin = x86_64-darwin-version;

View file

@ -3,8 +3,9 @@
, qtbase, qtimageformats, gtk3, libsForQt5, enchant2, lz4, xxHash
, dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
, tl-expected, hunspell
# TODO: Shouldn't be required:
, pcre, xorg, util-linux, libselinux, libsepol, epoxy, at-spi2-core, libXtst
# Transitive dependencies:
, pcre, xorg, util-linux, libselinux, libsepol, epoxy
, at-spi2-core, libXtst, libthai, libdatrie
, xdg-utils
}:
@ -22,12 +23,12 @@ let
in mkDerivation rec {
pname = "telegram-desktop";
version = "2.5.9";
version = "2.6.0";
# Telegram-Desktop with submodules
src = fetchurl {
url = "https://github.com/telegramdesktop/tdesktop/releases/download/v${version}/tdesktop-${version}-full.tar.gz";
sha256 = "1311dab9cil8hl1qlh01ynrczyjbldcsq1l6ibh818wb5lsgvvl2";
sha256 = "18ifmvll0nnmjf8ba6r23ri9i4fggy7k2dqs3qf4f52cklmlfj06";
};
postPatch = ''
@ -48,8 +49,9 @@ in mkDerivation rec {
dee ffmpeg openalSoft minizip libopus alsaLib libpulseaudio range-v3
tl-expected hunspell
tg_owt
# TODO: Shouldn't be required:
pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy at-spi2-core libXtst
# Transitive dependencies:
pcre xorg.libpthreadstubs xorg.libXdmcp util-linux libselinux libsepol epoxy
at-spi2-core libXtst libthai libdatrie
];
cmakeFlags = [

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