Project import generated by Copybara.

GitOrigin-RevId: f6b5bfdb470d60a876992749d0d708ed7b6b56ca
This commit is contained in:
Default email 2021-02-24 18:30:23 +00:00
parent 7cd70420c6
commit 439a6efcab
268 changed files with 4726 additions and 1475 deletions

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

@ -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,7 @@
./services/backup/tsm.nix
./services/backup/zfs-replication.nix
./services/backup/znapzend.nix
./services/blockchain/ethereum/geth.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,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

@ -183,7 +183,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 {};
@ -345,7 +344,6 @@ in
samba = handleTest ./samba.nix {};
samba-wsdd = handleTest ./samba-wsdd.nix {};
sanoid = handleTest ./sanoid.nix {};
sbt = handleTest ./sbt.nix {};
sddm = handleTest ./sddm.nix {};
searx = handleTest ./searx.nix {};
service-runner = handleTest ./service-runner.nix {};

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,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

@ -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

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

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

@ -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,7 +123,7 @@
'';
meta = {
inherit (external.llvmPackages.llvm.meta) homepage license;
inherit (pkgs.llvmPackages.llvm.meta) homepage license;
description = "Major mode for the LLVM assembler language.";
};
};
@ -134,13 +134,13 @@
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,18 @@ 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 ];
postBuild = ''
cd source/server
@ -314,12 +314,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 +328,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 +415,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 +433,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 +462,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

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

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

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

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

@ -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

@ -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

@ -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

@ -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

@ -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

@ -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,13 +9,13 @@
buildGoModule rec {
pname = "nerdctl";
version = "0.6.0";
version = "0.6.1";
src = fetchFromGitHub {
owner = "AkihiroSuda";
repo = pname;
rev = "v${version}";
sha256 = "sha256-QhAN30ge0dbC9dGT1yP4o0VgrcS9+g+r6YJ07ZjPJtg=";
sha256 = "sha256-zexvTPEQw7iW1d3ahHmqTn+UaT/bJMlr1sVlWErc2ck=";
};
vendorSha256 = "sha256-bX1GfKbAbdEAnW3kPNsbF/cJWufxvuhm//G88qJ3u08=";

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

@ -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

@ -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 = [

View file

@ -1,22 +1,15 @@
{ lib, stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkg-config, qt5
{ lib, stdenv, fetchFromGitHub, pkg-config, qt5
, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
, alsaLib, python3
, rnnoise
, jackSupport ? false, libjack2 ? null
, speechdSupport ? false, speechd ? null
, pulseSupport ? false, libpulseaudio ? null
, iceSupport ? false, zeroc-ice ? null
, grpcSupport ? false, grpc ? null, c-ares ? null, abseil-cpp ? null, which ? null
, jackSupport ? false, libjack2
, speechdSupport ? false, speechd
, pulseSupport ? false, libpulseaudio
, iceSupport ? false, zeroc-ice
, grpcSupport ? false, grpc, c-ares, abseil-cpp, which
, nixosTests
}:
assert jackSupport -> libjack2 != null;
assert speechdSupport -> speechd != null;
assert pulseSupport -> libpulseaudio != null;
assert iceSupport -> zeroc-ice != null;
assert grpcSupport -> (grpc != null && c-ares != null && abseil-cpp != null && which != null);
with lib;
let
generic = overrides: source: qt5.mkDerivation (source // overrides // {
pname = overrides.type;
@ -42,8 +35,8 @@ let
"CONFIG+=no-bundled-opus"
"CONFIG+=no-bundled-speex"
"DEFINES+=PLUGIN_PATH=${placeholder "out"}/lib/mumble"
] ++ optional (!speechdSupport) "CONFIG+=no-speechd"
++ optional jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"
] ++ lib.optional (!speechdSupport) "CONFIG+=no-speechd"
++ lib.optional jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"
++ (overrides.configureFlags or [ ]);
preConfigure = ''
@ -64,11 +57,9 @@ let
runHook postInstall
'';
enableParallelBuilding = true;
passthru.tests.connectivity = nixosTests.mumble;
meta = {
meta = with lib; {
description = "Low-latency, high quality voice chat software";
homepage = "https://mumble.info";
license = licenses.bsd3;
@ -82,16 +73,16 @@ let
nativeBuildInputs = [ qt5.qttools ];
buildInputs = [ libopus libsndfile speex qt5.qtsvg rnnoise ]
++ optional stdenv.isLinux alsaLib
++ optional jackSupport libjack2
++ optional speechdSupport speechd
++ optional pulseSupport libpulseaudio;
++ lib.optional stdenv.isLinux alsaLib
++ lib.optional jackSupport libjack2
++ lib.optional speechdSupport speechd
++ lib.optional pulseSupport libpulseaudio;
configureFlags = [
"CONFIG+=no-server"
];
NIX_CFLAGS_COMPILE = optional speechdSupport "-I${speechd}/include/speech-dispatcher";
NIX_CFLAGS_COMPILE = lib.optional speechdSupport "-I${speechd}/include/speech-dispatcher";
installPhase = ''
# bin stuff
@ -113,18 +104,18 @@ let
server = source: generic {
type = "murmur";
postPatch = optional iceSupport ''
postPatch = lib.optional iceSupport ''
grep -Rl '/usr/share/Ice' . | xargs sed -i 's,/usr/share/Ice/,${zeroc-ice.dev}/share/ice/,g'
'';
configureFlags = [
"CONFIG+=no-client"
] ++ optional (!iceSupport) "CONFIG+=no-ice"
++ optional grpcSupport "CONFIG+=grpc";
] ++ lib.optional (!iceSupport) "CONFIG+=no-ice"
++ lib.optional grpcSupport "CONFIG+=grpc";
buildInputs = [ libcap ]
++ optional iceSupport zeroc-ice
++ optionals grpcSupport [ grpc c-ares abseil-cpp which ];
++ lib.optional iceSupport zeroc-ice
++ lib.optionals grpcSupport [ grpc c-ares abseil-cpp which ];
installPhase = ''
# bin stuff

View file

@ -12,6 +12,7 @@
, qtkeychain
, qttools
, qtwebengine
, qtwebsockets
, qtquickcontrols2
, qtgraphicaleffects
, sqlite
@ -19,16 +20,17 @@
mkDerivation rec {
pname = "nextcloud-client";
version = "3.0.3";
version = "3.1.3";
src = fetchFromGitHub {
owner = "nextcloud";
repo = "desktop";
rev = "v${version}";
sha256 = "0idh8i71jivdjjs2y62l22yl3qxwgcr0hf53dad587bzgkkkr223";
sha256 = "sha256-8Ql6tOvWOjAvMJA87WlT9TbpnbciBsjDxRuYlMVi/m8=";
};
patches = [
# Explicitly move dbus configuration files to the store path rather than `/etc/dbus-1/services`.
./0001-Explicitly-copy-dbus-files-into-the-store-dir.patch
];
@ -40,6 +42,7 @@ mkDerivation rec {
buildInputs = [
inotify-tools
libcloudproviders
libsecret
openssl
pcre
qtbase
@ -48,13 +51,10 @@ mkDerivation rec {
qtwebengine
qtquickcontrols2
qtgraphicaleffects
qtwebsockets
sqlite
];
qtWrapperArgs = [
"--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libsecret ]}"
];
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib" # expected to be prefix-relative by build code setting RPATH
"-DNO_SHIBBOLETH=1" # allows to compile without qtwebkit
@ -63,7 +63,7 @@ mkDerivation rec {
meta = with lib; {
description = "Nextcloud themed desktop client";
homepage = "https://nextcloud.com";
license = licenses.gpl2;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ caugner ];
platforms = platforms.linux;
};

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "seaweedfs";
version = "2.26";
version = "2.27";
src = fetchFromGitHub {
owner = "chrislusf";
repo = "seaweedfs";
rev = version;
sha256 = "sha256-l3lgN5x7bBUP9WwDkuHRJEjhL7wr2tZmpxr6MqHoUYw=";
sha256 = "sha256-0KT/5seJs8GkatL4BsZ+r71t6AJrpHB6Q92sCvplKcQ=";
};
vendorSha256 = "sha256-uT/Y/TfpqDyOUElc4M/w/v77bWF3tTJz+Yu0KRMcxk4=";

View file

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "websocketd";
version = "0.3.1";
version = "0.4.1";
src = fetchFromGitHub {
owner = "joewalnes";
repo = pname;
rev = "v${version}";
sha256 = "1qc4yi4kwy7bfi3fb17w58ff0i95yi6m4syldh8j79930syr5y8q";
sha256 = "sha256-cp4iBSQ6Cd0+NPZ2i79Mulg1z17u//OCm3yoArbZEHs=";
};
vendorSha256 = "05k31z4h3b327mh940zh52im4xfk7kf5phb8b7xp4l9bgckhz4lb";
vendorSha256 = "sha256-i5IPJ3srUXL7WWjBW9w803VSoyjwA5JgPWKsAckPYxY=";
doCheck = false;

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkg-config, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk, libgee
{ lib, stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkg-config, libxml2, meson, ninja, gtk3, glib, webkitgtk, libgee
, gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook
, appstream, desktop-file-utils }:

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, fetchpatch, lib, pam, python3, libxslt, perl, ArchiveZip, box2d, gettext
{ stdenv, fetchurl, lib, pam, python3, libxslt, perl, ArchiveZip, box2d, gettext
, IOCompress, zlib, libjpeg, expat, freetype, libwpd
, libxml2, db, curl, fontconfig, libsndfile, neon
, bison, flex, zip, unzip, gtk3, libmspack, getopt, file, cairo, which

View file

@ -1,5 +1,5 @@
{ lib, stdenv
, fetchFromGitLab
{ lib
, stdenv
, cmake
, libGLU
, libGL
@ -18,9 +18,7 @@
, pcre
, libpthreadstubs
, libXdmcp
, fetchpatch
, lndir
, callPackage
, stable
, baseName

View file

@ -15,19 +15,15 @@
, stable ? true
, oceSupport ? false
, withOCE ? false
, opencascade
, withOCCT ? false
, withOCC ? true
, opencascade-occt
, ngspiceSupport ? false
, withNgspice ? true
, libngspice
, scriptingSupport ? false
, withScripting ? true
, swig
, python3
, debug ? false
, valgrind
, with3d ? true
, withI18n ? true
, srcs ? { }

View file

@ -14,11 +14,11 @@
stdenv.mkDerivation rec {
pname = "ngspice";
version = "33";
version = "34";
src = fetchurl {
url = "mirror://sourceforge/ngspice/ngspice-${version}.tar.gz";
sha256 = "1wa1hmpn13spmxqgbb1m7vgy32mwvjqwrxhymzll8z65q5nbd7dr";
sha256 = "sha256-ImP//GaUdUlyr3By7wHP5irHkIANrWUbwpC/yueb17U=";
};
nativeBuildInputs = [ flex bison ];

View file

@ -1,20 +1,20 @@
{ lib, stdenv, fetchurl, dune, ocamlPackages }:
{ lib, stdenv, fetchurl, dune_2, ocamlPackages }:
stdenv.mkDerivation {
pname = "acgtk";
version = "1.5.1";
version = "1.5.2";
src = fetchurl {
url = "https://acg.loria.fr/software/acg-1.5.1-20191113.tar.gz";
sha256 = "17595qfwhzz5q091ak6i6bg5wlppbn8zfn58x3hmmmjvx2yfajn1";
url = "https://acg.loria.fr/software/acg-1.5.2-20201204.tar.gz";
sha256 = "09yax7dyw8kgwzlb69r9d20y7rrymzwi3bbq2dh0qdq01vjz2xwq";
};
buildInputs = [ dune ] ++ (with ocamlPackages; [
buildInputs = [ dune_2 ] ++ (with ocamlPackages; [
ocaml findlib ansiterminal cairo2 cmdliner fmt logs menhir mtime yojson
]);
buildPhase = "dune build";
buildPhase = "dune build --profile=release";
installPhase = ''
dune install --prefix $out --libdir $OCAMLFIND_DESTDIR

View file

@ -9,20 +9,22 @@ let
sha256 = "124k2a4ikk4wdpmvgjpgl97x9skvr9qznk8m68dzsynzpv6yksaj";
};
useDune2 = true;
nativeBuildInputs = [ which ];
in
let alt-ergo-lib = ocamlPackages.buildDunePackage rec {
pname = "alt-ergo-lib";
inherit version src nativeBuildInputs;
inherit version src useDune2 nativeBuildInputs;
configureFlags = pname;
propagatedBuildInputs = with ocamlPackages; [ num ocplib-simplex stdlib-shims zarith ];
}; in
let alt-ergo-parsers = ocamlPackages.buildDunePackage rec {
pname = "alt-ergo-parsers";
inherit version src nativeBuildInputs;
inherit version src useDune2 nativeBuildInputs;
configureFlags = pname;
buildInputs = with ocamlPackages; [ menhir ];
propagatedBuildInputs = [ alt-ergo-lib ] ++ (with ocamlPackages; [ camlzip psmt2-frontend ]);
@ -30,7 +32,7 @@ let alt-ergo-parsers = ocamlPackages.buildDunePackage rec {
ocamlPackages.buildDunePackage {
inherit pname version src nativeBuildInputs;
inherit pname version src useDune2 nativeBuildInputs;
configureFlags = pname;

View file

@ -3,14 +3,14 @@
let
pname = "hol4";
vnum = "10";
vnum = "14";
in
let
version = "k.${vnum}";
longVersion = "kananaskis-${vnum}";
holsubdir = "hol-${longVersion}";
kernelFlag = if experimentalKernel then "-expk" else "-stdknl";
kernelFlag = if experimentalKernel then "--expk" else "--stdknl";
in
let
@ -24,7 +24,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "mirror://sourceforge/hol/hol/${longVersion}/${holsubdir}.tar.gz";
sha256 = "0x2wxksr305h1lrbklf6p42lp09rbhb4rsh74g0l70sgapyiac9b";
sha256 = "6Mc/qsEjzxGqzt6yP6x/1Tmqpwc1UDGlwV1Gl+4pMsY=";
};
buildInputs = [polymlEnableShared graphviz fontconfig liberation_ttf];
@ -46,8 +46,8 @@ stdenv.mkDerivation {
cd ${holsubdir}
substituteInPlace tools/Holmake/Holmake_types.sml \
--replace "\"/bin/mv\"" "\"mv\"" \
--replace "\"/bin/cp\"" "\"cp\""
--replace "\"/bin/" "\"" \
for f in tools/buildutils.sml help/src-sml/DOT;
do
@ -58,7 +58,7 @@ stdenv.mkDerivation {
poly < tools/smart-configure.sml
bin/build ${kernelFlag} -symlink
bin/build ${kernelFlag}
mkdir -p "$out/bin"
ln -st $out/bin $out/src/${holsubdir}/bin/*
@ -81,8 +81,7 @@ stdenv.mkDerivation {
'';
homepage = "http://hol.sourceforge.net/";
license = licenses.bsd3;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ mudri ];
platforms = with platforms; linux;
broken = true;
};
}

View file

@ -9,7 +9,6 @@
, gtk3
, glib
, pantheon
, libsoup
, gtksourceview
, libgee
, nix-update-script

View file

@ -1,4 +1,4 @@
{ stdenv, buildPythonApplication, fetchFromGitHub, fetchpatch, isPyPy, lib
{ stdenv, buildPythonApplication, fetchFromGitHub, isPyPy, lib
, future, psutil, setuptools
# Optional dependencies:
, bottle, pysnmp

View file

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "gh";
version = "1.6.1";
version = "1.6.2";
src = fetchFromGitHub {
owner = "cli";
repo = "cli";
rev = "v${version}";
sha256 = "03bsramq75i5sw08gdmjh94n1xh743mq6h4dzaix78i531x7y34i";
sha256 = "1wq8k626w3w2cnqp9gqdk7g4pjnqjjybkjgbfq5cvqsql3jdjg65";
};
vendorSha256 = "0nk5axyr3nd9cbk8wswfhqf25dks22mky3rdn6ba9s0fpxhhkr5g";

View file

@ -2,18 +2,18 @@
buildGoModule rec {
pname = "lab";
version = "0.19.0";
version = "0.20.0";
src = fetchFromGitHub {
owner = "zaquestion";
repo = "lab";
rev = "v${version}";
sha256 = "1l6xsikd1113qd4y0mvjsl64gbi4327m9v4d593f27fxink39j8s";
sha256 = "sha256-EQqbWM/4CInFNndfD+k7embPUFLXgxRT44e/+Ik2TDs=";
};
subPackages = [ "." ];
vendorSha256 = "07zl5xhzgrgr5skba6cds5nal58pllf10gak0ap62j1k9gk2ych2";
vendorSha256 = "sha256-T6kGhje3K2HnR8xRuio6AsYbSwIdbWvAk3ZSnbm1NsA=";
doCheck = false;
@ -33,6 +33,6 @@ buildGoModule rec {
description = "Lab wraps Git or Hub, making it simple to clone, fork, and interact with repositories on GitLab";
homepage = "https://zaquestion.github.io/lab";
license = licenses.cc0;
maintainers = with maintainers; [ marsam dtzWill ];
maintainers = with maintainers; [ marsam dtzWill SuperSandro2000 ];
};
}

View file

@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://get.filebot.net/filebot/FileBot_${version}/FileBot_${version}-portable.tar.xz";
sha256 = "sha256-R1FnHgSziJ7eGL8GrUmheVZxOnUgn9TK6gObSSKe9j0=";
sha256 = "sha256-xgdCjo2RLp+EtUTfSiys7PURhnC00R9IOLPtz3427pA=";
};
unpackPhase = "tar xvf $src";

View file

@ -1,11 +1,12 @@
{ stdenv, lib, fetchpatch, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders
, pkg-config, cmake, gnumake, yasm, python2Packages
{ stdenv, lib, fetchurl, fetchFromGitHub, autoconf, automake, libtool, makeWrapper, linuxHeaders
, pkg-config, cmake, gnumake, yasm, python3Packages
, libgcrypt, libgpgerror, libunistring
, boost, avahi, lame, autoreconfHook
, boost, avahi, lame
, gettext, pcre-cpp, yajl, fribidi, which
, openssl, gperf, tinyxml2, taglib, libssh, swig, jre_headless
, gtest, ncurses, spdlog
, libxml2, systemd
, alsaLib, libGLU, libGL, glew, fontconfig, freetype, ftgl
, alsaLib, libGLU, libGL, fontconfig, freetype, ftgl
, libjpeg, libpng, libtiff
, libmpeg2, libsamplerate, libmad
, libogg, libvorbis, flac, libxslt
@ -42,17 +43,18 @@ assert udevSupport -> udev != null;
assert usbSupport -> libusb-compat-0_1 != null && ! udevSupport; # libusb-compat-0_1 won't be used if udev is avaliable
assert vdpauSupport -> libvdpau != null;
assert useWayland -> wayland != null && wayland-protocols != null && waylandpp != null && libxkbcommon != null;
assert useGbm || useWayland || x11Support;
let
kodiReleaseDate = "20200728";
kodiVersion = "18.9";
rel = "Leia";
kodiReleaseDate = "20210219";
kodiVersion = "19.0";
rel = "Matrix";
kodi_src = fetchFromGitHub {
owner = "xbmc";
repo = "xbmc";
rev = "${kodiVersion}-${rel}";
sha256 = "0nnf7823pixj6n2fkjc8rbdjwayvhlbglij2by4rnjzzfgmqmw20";
sha256 = "097dg6a7v4ia85jx1pmlpwzdpqcqxlrmniqd005q73zvgj67zc2p";
};
cmakeProto = fetchurl {
@ -87,9 +89,9 @@ let
ffmpeg = kodiDependency rec {
name = "FFmpeg";
version = "4.0.3";
rev = "${version}-${rel}-18.2";
sha256 = "1krsjlr949iy5l6ljxancza1yi6w1annxc5s6k283i9mb15qy8cy";
version = "4.3.1";
rev = "${version}-${rel}-Beta1";
sha256 = "1c5rwlxn6xj501iw7masdv2p6wb9rkmd299lmlkx97sw1kvxvg2w";
preConfigure = ''
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
sed -i 's/ --cpu=''${CPU}//' CMakeLists.txt
@ -151,6 +153,12 @@ let
postPatch = cmakeProtoPatch;
};
kodi_platforms =
lib.optional useGbm "gbm" ++
lib.optional useWayland "wayland" ++
lib.optional x11Support "x11"
;
in stdenv.mkDerivation {
name = "kodi-${lib.optionalString useWayland "wayland-"}${kodiVersion}";
@ -158,10 +166,11 @@ in stdenv.mkDerivation {
buildInputs = [
gnutls libidn libtasn1 nasm p11-kit
libxml2 python2Packages.python
libxml2 python3Packages.python
boost libmicrohttpd
gettext pcre-cpp yajl fribidi libva libdrm
openssl gperf tinyxml2 taglib libssh
gtest ncurses spdlog
alsaLib libGL libGLU fontconfig freetype ftgl
libjpeg libpng libtiff
libmpeg2 libsamplerate libmad
@ -210,7 +219,7 @@ in stdenv.mkDerivation {
which
pkg-config gnumake
autoconf automake libtool # still needed for some components. Check if that is the case with 19.0
jre_headless yasm gettext python2Packages.python flatbuffers
jre_headless yasm gettext python3Packages.python flatbuffers
# for TexturePacker
giflib zlib libpng libjpeg lzo
@ -221,6 +230,8 @@ in stdenv.mkDerivation {
];
cmakeFlags = [
"-DAPP_RENDER_SYSTEM=${if useGbm then "gles" else "gl"}"
"-DCORE_PLATFORM_NAME=${lib.concatStringsSep " " kodi_platforms}"
"-Dlibdvdcss_URL=${libdvdcss.src}"
"-Dlibdvdnav_URL=${libdvdnav.src}"
"-Dlibdvdread_URL=${libdvdread.src}"
@ -231,14 +242,9 @@ in stdenv.mkDerivation {
"-DLIRC_DEVICE=/run/lirc/lircd"
"-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
"-DFLATBUFFERS_FLATC_EXECUTABLE=${buildPackages.flatbuffers}/bin/flatc"
"-DPYTHON_EXECUTABLE=${buildPackages.python2Packages.python}/bin/python"
"-DPYTHON_EXECUTABLE=${buildPackages.python3Packages.python}/bin/python"
] ++ lib.optional useWayland [
"-DCORE_PLATFORM_NAME=wayland"
"-DWAYLAND_RENDER_SYSTEM=gl"
"-DWAYLANDPP_SCANNER=${buildPackages.waylandpp}/bin/wayland-scanner++"
] ++ lib.optional useGbm [
"-DCORE_PLATFORM_NAME=gbm"
"-DGBM_RENDER_SYSTEM=gles"
];
# 14 tests fail but the biggest issue is that every test takes 30 seconds -
@ -256,14 +262,14 @@ in stdenv.mkDerivation {
'';
postPatch = ''
substituteInPlace xbmc/platform/linux/LinuxTimezone.cpp \
substituteInPlace xbmc/platform/posix/PosixTimezone.cpp \
--replace 'usr/share/zoneinfo' 'etc/zoneinfo'
'';
postInstall = ''
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \
--prefix PATH ":" "${lib.makeBinPath ([ python2Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo)}" \
--prefix PATH ":" "${lib.makeBinPath ([ python3Packages.python glxinfo ] ++ lib.optional x11Support xdpyinfo)}" \
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
([ curl systemd libmad libvdpau libcec libcec_platform libass ]
++ lib.optional nfsSupport libnfs
@ -279,7 +285,7 @@ in stdenv.mkDerivation {
installCheckPhase = "$out/bin/kodi --version";
passthru = {
pythonPackages = python2Packages;
pythonPackages = python3Packages;
};
meta = with lib; {

View file

@ -1,7 +1,7 @@
{ lib, stdenv, callPackage, fetchFromGitHub
, cmake, kodiPlain, libcec_platform, tinyxml, rapidxml
, cmake, kodiPlain, libcec_platform, tinyxml, pugixml
, steam, udev, libusb1, jsoncpp, libhdhomerun, zlib
, python2Packages, expat, glib, nspr, nss, openssl
, python3Packages, expat, glib, nspr, nss, openssl
, libssh, libarchive, lzma, bzip2, lz4, lzo }:
with lib;
@ -9,7 +9,7 @@ with lib;
let self = rec {
pluginDir = "/share/kodi/addons";
rel = "Leia";
rel = "Matrix";
kodi = kodiPlain;
@ -122,6 +122,7 @@ let self = rec {
'';
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
broken = true; # requires port to python3
};
};
@ -151,6 +152,7 @@ let self = rec {
'';
platforms = platforms.all;
maintainers = with maintainers; [ edwtjo ];
broken = true; # requires port to python3
};
};
@ -204,6 +206,7 @@ let self = rec {
homepage = "https://forum.kodi.tv/showthread.php?tid=258159";
description = "A ROM launcher for Kodi that uses HyperSpin assets.";
maintainers = with maintainers; [ edwtjo ];
broken = true; # requires port to python3
};
in {
service = mkKodiPlugin {
@ -221,14 +224,14 @@ let self = rec {
joystick = mkKodiABIPlugin rec {
namespace = "peripheral.joystick";
version = "1.4.7";
version = "1.7.1";
plugin = namespace;
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "v${version}";
sha256 = "03gsp4kg41s3n4ib4wsv7m3krfipgwc2z07i4mnd5zvg0c4xrmap";
rev = "${version}-${rel}";
sha256 = "1dhj4afr9kj938xx70fq5r409mz6lbw4n581ljvdjj9lq7akc914";
};
meta = {
@ -237,7 +240,7 @@ let self = rec {
maintainers = with maintainers; [ edwtjo ];
};
extraBuildInputs = [ udev ];
extraBuildInputs = [ tinyxml udev ];
};
simpleplugin = mkKodiPlugin rec {
@ -256,6 +259,7 @@ let self = rec {
homepage = src.meta.homepage;
description = "Simpleplugin API";
license = licenses.gpl3;
broken = true; # requires port to python3
};
};
@ -263,14 +267,14 @@ let self = rec {
plugin = "svtplay";
namespace = "plugin.video.svtplay";
version = "4.0.48";
version = "5.1.12";
src = fetchFromGitHub {
name = plugin + "-" + version + ".tar.gz";
owner = "nilzen";
repo = "xbmc-" + plugin;
rev = "dc18ad002cd69257611d0032fba91f57bb199165";
sha256 = "0klk1jpjc243ak306k94mag4b4s17w68v69yb8lzzydszqkaqa7x";
rev = "v${version}";
sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6";
};
meta = {
@ -290,14 +294,14 @@ let self = rec {
steam-controller = mkKodiABIPlugin rec {
namespace = "peripheral.steamcontroller";
version = "0.10.0";
version = "0.11.0";
plugin = namespace;
src = fetchFromGitHub {
owner = "kodi-game";
repo = namespace;
rev = "ea345392ab5aa4485f3a48d2037fa8a8e8ab82de";
sha256 = "1hbd8fdvn7xkr9csz1g9wah78nhnq1rkazl4zwa31y70830k3279";
rev = "f68140ca44f163a03d3a625d1f2005a6edef96cb";
sha256 = "09lm8i119xlsxxk0c64rnp8iw0crr90v7m8iwi9r31qdmxrdxpmg";
};
extraBuildInputs = [ libusb1 ];
@ -314,13 +318,13 @@ let self = rec {
plugin = "steam-launcher";
namespace = "script.steam.launcher";
version = "3.1.4";
version = "3.5.1";
src = fetchFromGitHub rec {
owner = "teeedubb";
repo = owner + "-xbmc-repo";
rev = "db67704c3e16bdcdd3bdfe2926c609f1f6bdc4fb";
sha256 = "001a7zs3a4jfzj8ylxv2klc33mipmqsd5aqax7q81fbgwdlndvbm";
rev = "8260bf9b464846a1f1965da495d2f2b7ceb81d55";
sha256 = "1fj3ry5s44nf1jzxk4bmnpa4b9p23nrpmpj2a4i6xf94h7jl7p5k";
};
propagatedBuildInputs = [ steam ];
@ -356,6 +360,7 @@ let self = rec {
homepage = "https://forum.kodi.tv/showthread.php?tid=187421";
description = "A comic book reader";
maintainers = with maintainers; [ edwtjo ];
broken = true; # requires port to python3
};
};
@ -363,13 +368,13 @@ let self = rec {
plugin = "pvr-hts";
namespace = "pvr.hts";
version = "4.4.14";
version = "8.2.2";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hts";
rev = "${version}-${rel}";
sha256 = "1bcwcwd2yjhw85yk6lyhf0iqiclrsz7r7vpbxgc650fwqbb146gr";
sha256 = "0jnn9gfjl556acqjf92wzzn371gxymhbbi665nqgg2gjcan0a49q";
};
meta = {
@ -385,13 +390,13 @@ let self = rec {
plugin = "pvr-hdhomerun";
namespace = "pvr.hdhomerun";
version = "3.5.0";
version = "7.1.0";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.hdhomerun";
rev = "${version}-${rel}";
sha256 = "1zrkvfn0im2qmvqm93pa3cg8xkxv61sxlj8nsz4r5z9v9nhqadf6";
sha256 = "0gbwjssnd319csq2kwlyjj1rskg19m1dxac5dl2dymvx5hn3zrgm";
};
meta = {
@ -409,13 +414,13 @@ let self = rec {
plugin = "pvr-iptvsimple";
namespace = "pvr.iptvsimple";
version = "3.5.7";
version = "7.4.2";
src = fetchFromGitHub {
owner = "kodi-pvr";
repo = "pvr.iptvsimple";
rev = "${version}-${rel}";
sha256 = "17znib7c491h2ii4gagxradh0jyvgga0d548gbk4yjj2nc9qqc6d";
sha256 = "062i922qi0izkvn7v47yhyy2cf3fa7xc3k95b1gm9abfdwkk8ywr";
};
meta = {
@ -426,7 +431,7 @@ let self = rec {
license = licenses.gpl2Plus;
};
extraBuildInputs = [ zlib rapidxml ];
extraBuildInputs = [ zlib pugixml ];
};
osmc-skin = mkKodiPlugin rec {
@ -451,7 +456,7 @@ let self = rec {
};
};
yatp = python2Packages.toPythonModule (mkKodiPlugin rec {
yatp = python3Packages.toPythonModule (mkKodiPlugin rec {
plugin = "yatp";
namespace = "plugin.video.yatp";
version = "3.3.2";
@ -467,14 +472,15 @@ let self = rec {
propagatedBuildInputs = [
simpleplugin
python2Packages.requests
python2Packages.libtorrent-rasterbar
python3Packages.requests
python3Packages.libtorrent-rasterbar
];
meta = {
homepage = src.meta.homepage;
description = "Yet Another Torrent Player: libtorrent-based torrent streaming for Kodi";
license = licenses.gpl3;
broken = true; # requires port to python3
};
});
@ -482,13 +488,13 @@ let self = rec {
plugin = "inputstream-adaptive";
namespace = "inputstream.adaptive";
version = "2.4.6";
version = "2.6.7";
src = fetchFromGitHub {
owner = "peak3d";
repo = "inputstream.adaptive";
rev = "${version}-${rel}";
sha256 = "09d9b35mpaf3g5m51viyan9hv7d2i8ndvb9wm0j7rs5gwsf0k71z";
sha256 = "1pwqmbr78wp12jn6rwv63npdfc456adwz0amlxf6gvgg43li6p7s";
};
extraBuildInputs = [ expat ];
@ -509,14 +515,14 @@ let self = rec {
vfs-sftp = mkKodiABIPlugin rec {
namespace = "vfs.sftp";
version = "1.0.6";
version = "2.0.0";
plugin = namespace;
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "${version}-${rel}";
sha256 = "044kkzcpzvbyih4vys33r4hqw38xa82snmvl4qj1r80wnszc8af1";
sha256 = "06w74sh8yagrrp7a7rjaz3xrh1j3wdqald9c4b72c33gpk5997dk";
};
meta = with lib; {
@ -531,14 +537,14 @@ let self = rec {
vfs-libarchive = mkKodiABIPlugin rec {
namespace = "vfs.libarchive";
version = "1.0.7";
version = "2.0.0";
plugin = namespace;
src = fetchFromGitHub {
owner = "xbmc";
repo = namespace;
rev = "${version}-${rel}";
sha256 = "01qhv095h5j67ispm4iw18pd3kl7a0mnjkgm92al9qqiyif8lzgh";
sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5";
};
meta = with lib; {

View file

@ -1,5 +1,4 @@
{ lib
, fetchFromGitHub
, fetchurl
, pkg-config
, gettext

View file

@ -0,0 +1,103 @@
{ stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, autoconf-archive
, clutter-gst
, clutter-gtk
, gettext
, glib
, gobject-introspection
, gst-plugins-bad
, gst-plugins-base
, gst-plugins-good
, gstreamer
, gtk-doc
, gtk3
, intltool
, itstool
, libpeas
, libxml2
, libxplayer-plparser
, pkg-config
, python3
, wrapGAppsHook
, xapps
, yelp-tools }:
let
pythonenv = python3.withPackages (ps: [
ps.pygobject3
ps.dbus-python # For one plugin
]);
in
stdenv.mkDerivation rec {
pname = "xplayer";
version = "2.4.0";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
sha256 = "1xcv6nr2gc0vji5afwy283v7bgx46kzgrq79hl8q9pz995qq2kbp";
};
# configure wants to find gst-inspect-1.0 via pkgconfig but
# the gstreamer toolsdir points to the wrong derivation output
postPatch = ''
substituteInPlace configure.ac \
--replace '$gst10_toolsdir/gst-inspect-1.0' '${gstreamer.dev}/bin/gst-inspect-1.0' \
'';
preBuild = ''
makeFlagsArray+=(
"INCLUDES=-I${glib.dev}/include/gio-unix-2.0"
"CFLAGS=-Wno-error" # Otherwise a lot of deprecated warnings are treated as error
)
'';
nativeBuildInputs = [
autoreconfHook
wrapGAppsHook
autoconf-archive
gettext
gtk-doc
intltool
itstool
pkg-config
yelp-tools
];
buildInputs = [
clutter-gst
clutter-gtk
glib
gobject-introspection
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gstreamer
gtk3
libpeas
libxml2
libxplayer-plparser
pythonenv
xapps
# to satisfy configure script
pythonenv.pkgs.pygobject3
];
postInstall = ''
wrapProgram $out/bin/xplayer \
--prefix PATH : ${lib.makeBinPath [ pythonenv ]}
'';
meta = with lib; {
description = "A generic media player from Linux Mint";
license = with licenses; [ gpl2Plus lgpl21Plus ];
homepage = "https://github.com/linuxmint/xplayer";
maintainers = with maintainers; [ tu-maurice ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,42 @@
{ stdenv
, lib
, fetchFromGitHub
, intltool
, gobject-introspection
, gmime
, libxml2
, libsoup
, pkg-config
}:
stdenv.mkDerivation rec {
pname = "xplayer-plparser";
version = "1.0.2";
src = fetchFromGitHub {
owner = "linuxmint";
repo = pname;
rev = version;
sha256 = "1i7sld8am6b1wwbpfb18v7qp17vk2a5p8xcfds50yznr30lddsb2";
};
nativeBuildInputs = [
intltool
pkg-config
gobject-introspection
];
buildInputs = [
gmime
libxml2
libsoup
];
meta = with lib; {
description = "Playlist parsing library for xplayer";
homepage = "https://github.com/linuxmint/xplayer-plparser";
maintainers = with maintainers; [ tu-maurice ];
license = licenses.lgpl2Plus;
platforms = platforms.linux;
};
}

View file

@ -8,12 +8,12 @@
}:
buildPythonApplication rec {
version = "1.28.2";
version = "1.28.3";
pname = "docker-compose";
src = fetchPypi {
inherit pname version;
sha256 = "2f148b590414915d029dad7551f4cdf0b03a774dc9baa674480217236d260cc1";
sha256 = "78a48ef8ff4fed092261ecb1a60d9b28b7776e72ed6df591a900008039308b0f";
};
# lots of networking and other fails

View file

@ -1,4 +1,6 @@
{ lib, callPackage, runCommandLocal, writeShellScriptBin, coreutils, bubblewrap }:
{ lib, callPackage, runCommandLocal, writeShellScriptBin, glibc, pkgsi686Linux, coreutils, bubblewrap }:
let buildFHSEnv = callPackage ./env.nix { }; in
args @ {
name
@ -60,29 +62,53 @@ let
in concatStringsSep "\n "
(map (file: "--ro-bind-try /etc/${file} /etc/${file}") files);
# Create this on the fly instead of linking from /nix
# The container might have to modify it and re-run ldconfig if there are
# issues running some binary with LD_LIBRARY_PATH
createLdConfCache = ''
cat > /etc/ld.so.conf <<EOF
/lib
/lib/x86_64-linux-gnu
/lib64
/usr/lib
/usr/lib/x86_64-linux-gnu
/usr/lib64
/lib/i386-linux-gnu
/lib32
/usr/lib/i386-linux-gnu
/usr/lib32
EOF
ldconfig &> /dev/null
'';
init = run: writeShellScriptBin "${name}-init" ''
source /etc/profile
${createLdConfCache}
exec ${run} "$@"
'';
bwrapCmd = { initArgs ? "" }: ''
blacklist=(/nix /dev /proc /etc)
ro_mounts=()
symlinks=()
for i in ${env}/*; do
path="/''${i##*/}"
if [[ $path == '/etc' ]]; then
continue
:
elif [[ -L $i ]]; then
symlinks+=(--symlink "$(readlink "$i")" "$path")
blacklist+=("$path")
else
ro_mounts+=(--ro-bind "$i" "$path")
blacklist+=("$path")
fi
ro_mounts+=(--ro-bind "$i" "$path")
blacklist+=("$path")
done
if [[ -d ${env}/etc ]]; then
for i in ${env}/etc/*; do
path="/''${i##*/}"
# NOTE: we're binding /etc/fonts from the host so we don't want to
# override it with a path from the FHS environment.
if [[ $path == '/fonts' ]]; then
# NOTE: we're binding /etc/fonts and /etc/ssl/certs from the host so we
# don't want to override it with a path from the FHS environment.
if [[ $path == '/fonts' || $path == '/ssl' ]]; then
continue
fi
ro_mounts+=(--ro-bind "$i" "/etc$path")
@ -112,8 +138,26 @@ let
${lib.optionalString unshareCgroup "--unshare-cgroup"}
--die-with-parent
--ro-bind /nix /nix
# Our glibc will look for the cache in its own path in `/nix/store`.
# As such, we need a cache to exist there, because pressure-vessel
# depends on the existence of an ld cache. However, adding one
# globally proved to be a bad idea (see #100655), the solution we
# settled on being mounting one via bwrap.
# Also, the cache needs to go to both 32 and 64 bit glibcs, for games
# of both architectures to work.
--tmpfs ${glibc}/etc \
--symlink /etc/ld.so.conf ${glibc}/etc/ld.so.conf \
--symlink /etc/ld.so.cache ${glibc}/etc/ld.so.cache \
--ro-bind ${glibc}/etc/rpc ${glibc}/etc/rpc \
--remount-ro ${glibc}/etc \
--tmpfs ${pkgsi686Linux.glibc}/etc \
--symlink /etc/ld.so.conf ${pkgsi686Linux.glibc}/etc/ld.so.conf \
--symlink /etc/ld.so.cache ${pkgsi686Linux.glibc}/etc/ld.so.cache \
--ro-bind ${pkgsi686Linux.glibc}/etc/rpc ${pkgsi686Linux.glibc}/etc/rpc \
--remount-ro ${pkgsi686Linux.glibc}/etc \
${etcBindFlags}
"''${ro_mounts[@]}"
"''${symlinks[@]}"
"''${auto_mounts[@]}"
${init runScript}/bin/${name}-init ${initArgs}
)

View file

@ -1,4 +1,4 @@
{ stdenv, buildEnv, writeText, pkgs, pkgsi686Linux }:
{ stdenv, lib, buildEnv, writeText, writeShellScriptBin, pkgs, pkgsi686Linux }:
{ name, profile ? ""
, targetPkgs ? pkgs: [], multiPkgs ? pkgs: []
@ -49,6 +49,9 @@ let
[ (toString gcc.cc.lib)
];
ldconfig = writeShellScriptBin "ldconfig" ''
exec ${pkgs.glibc.bin}/bin/ldconfig -f /etc/ld.so.conf -C /etc/ld.so.cache "$@"
'';
etcProfile = writeText "profile" ''
export PS1='${name}-chrootenv:\u@\h:\w\$ '
export LOCALE_ARCHIVE='/usr/lib/locale/locale-archive'
@ -86,7 +89,8 @@ let
# Composes a /usr-like directory structure
staticUsrProfileTarget = buildEnv {
name = "${name}-usr-target";
paths = [ etcPkg ] ++ basePkgs ++ targetPaths;
# ldconfig wrapper must come first so it overrides the original ldconfig
paths = [ etcPkg ldconfig ] ++ basePkgs ++ targetPaths;
extraOutputsToInstall = [ "out" "lib" "bin" ] ++ extraOutputsToInstall;
ignoreCollisions = true;
};
@ -132,7 +136,20 @@ let
mkdir -m0755 usr
cd usr
${setupLibDirs}
for i in bin sbin share include; do
${lib.optionalString isMultiBuild ''
if [ -d "${staticUsrProfileMulti}/share" ]; then
cp -rLf ${staticUsrProfileMulti}/share share
fi
''}
if [ -d "${staticUsrProfileTarget}/share" ]; then
if [ -d share ]; then
chmod -R 755 share
cp -rLTf ${staticUsrProfileTarget}/share share
else
cp -rLf ${staticUsrProfileTarget}/share share
fi
fi
for i in bin sbin include; do
if [ -d "${staticUsrProfileTarget}/$i" ]; then
cp -rsHf "${staticUsrProfileTarget}/$i" "$i"
fi

View file

@ -23,6 +23,9 @@
# Legacy hash
, cargoSha256 ? ""
# Name for the vendored dependencies tarball
, cargoDepsName ? name
, src ? null
, srcs ? null
, unpackPhase ? null
@ -60,7 +63,8 @@ let
cargoDeps = if cargoVendorDir == null
then fetchCargoTarball ({
inherit name src srcs sourceRoot unpackPhase cargoUpdateHook;
inherit src srcs sourceRoot unpackPhase cargoUpdateHook;
name = cargoDepsName;
hash = cargoHash;
patches = cargoPatches;
sha256 = cargoSha256;

View file

@ -10,7 +10,7 @@ let
(builtins.attrNames (builtins.removeAttrs variantHashes [ "iosevka" ]));
in stdenv.mkDerivation rec {
pname = "${name}-bin";
version = "5.0.2";
version = "5.0.3";
src = fetchurl {
url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/ttc-${name}-${version}.zip";

View file

@ -1,26 +1,26 @@
# This file was autogenerated. DO NOT EDIT!
{
iosevka = "069qy5mnrp61da7b5yy79s9d0s3cwn5mqkqkysv8lccr91qnjgdc";
iosevka-aile = "1b9zh017wdxlk9dlick6qwx8f2vqsrsaq5yjr79iinirc417ri67";
iosevka-curly = "155faw2nlczp3ic2y9ck2vm21rfa1zaiswc0mfgmd3b2r6wimjrj";
iosevka-curly-slab = "1axzan1p9slfskg8nshz4hrmw24vmbcsxf7kpz70xjs98w7wh6lh";
iosevka-etoile = "00w4r660qaydygqvfv03i77h1q6wk8xbvrvh4wsnifl7li4xax4w";
iosevka-slab = "0a7ndr3c0sldn902d9c50l63xrvranclsvwnj4py2m6w32s8i9nx";
iosevka-ss01 = "0q5bh511z6qdvagk831sb1nrp9gawsjv904106clkqwak3k55v54";
iosevka-ss02 = "1qk250yydi3ff5z3s1099xrdzpwg62lr39wxl9539a2rl0awdw3w";
iosevka-ss03 = "02rblgk9j0bz7pyag3a8p4by76zj0z4gg8iignfff7j3yfszgfhp";
iosevka-ss04 = "0z9aj5ll5mdgfm8brgwhwabbq31ws8qqzdyyf9s8mq30l0js2wd6";
iosevka-ss05 = "00sclgj25vp3frk1wvlwb83z33xy45171m76jr5x9jspq5nr02fa";
iosevka-ss06 = "1r9da69k47kiag7ba47panyj5sxgz6icpynbrnz7d7kvqwal842k";
iosevka-ss07 = "0lvdzfha27158bs5p3njyw6gnrm53mpdacaln1bh37mwd967b689";
iosevka-ss08 = "1l60yz475m780k6ds5h4n36p82av8ag28l1yr8z8gl7yznf2sf7b";
iosevka-ss09 = "058ln47yv5015c4xnhmyglvdqndbdp0v8n5w73cd73nzfb4y035j";
iosevka-ss10 = "0966wrbamjkyrjkirv2jzw86yr9l3d5vnb0azi93y0amcrkksmrw";
iosevka-ss11 = "0y3nhjn38jvcf4ngwgir5hg4vx9fsrfxzlshmynlf7bb6krvfnaq";
iosevka-ss12 = "09hccisb2lrakjh7fnk43znixly7qbqclmsvhp9mlbpjvlzzq03j";
iosevka-ss13 = "117712kys0fihadpzrwqm3z25z390qjnhligr5k0wx8h0la9nwq3";
iosevka-ss14 = "0iy4m64jnsi2b74hcmwxk0qabzgza08v9s56blg4i9mfmp8xvzlp";
iosevka-ss15 = "0mdqfal48sfq5n3a88cgsaddcc07qwqynr662zqqpjqy98kvaz62";
iosevka-ss16 = "0dkv3mzhl9vl7x9x0g6hc7j1mp9mnnyx7iamkvm8wcqjhwnvy0r6";
iosevka-ss17 = "1adb1z468wfa1b707kr0ycv5d5nxpmcx44q0dizik5zyx26aq10p";
iosevka = "1w1y543iypvhwx27qswkvhhiwzd3ik2jklapz2g497f3ppj834g4";
iosevka-aile = "12dybqmcpq83xiw4k9m9fmkhj204sxb9hnqndb212vvgj3vbl0fm";
iosevka-curly = "09rl8l9jkqhq811h35x15s4gssig0xrzvas154gg5igrdqha5kk8";
iosevka-curly-slab = "19l13inmnaysz2mp7x4rh4zffa5n8qd3n727j54dd2581g9f0n9c";
iosevka-etoile = "0flsdjdq0jsfblnazdw82kflzwvjvqaxzsyifgbn4flgjwy46mhm";
iosevka-slab = "04wg7aklybwrbali53c22fs5xfgacyfkxw20bhnxqbfcsykriz11";
iosevka-ss01 = "07a6ghjzk8kf266bgqv8khx54cxl2hfkqnjq6n5s3bbahbs3fh4x";
iosevka-ss02 = "06prf0jigh1xi00lg46qw4kp416psv1xkijdpbvjkmxgmcbnqx2s";
iosevka-ss03 = "03ga07y7nmcky3dschlk4cjg3lcxjqra6wvsb8q9vc39qz01cnxr";
iosevka-ss04 = "0d17p18kbh78f4w0pvslh3r0a52d207dyp4njrqxnpzjn2w8w1kg";
iosevka-ss05 = "1qh1z1kffid718h2mc0f6wygkwkpc1rlj29h2ljigv8kdp4kcik6";
iosevka-ss06 = "0b6gn7j5qa23qpay08ri6z9jrqkcsb8m67d84bqs419rw0wdhmfr";
iosevka-ss07 = "0f5bj8vn9frmmhg5b971gav7379xwlg439sm2vi79vjqlp5ls5gy";
iosevka-ss08 = "0vqhywgly5w2j0nwmspa2ba7rk1n4jsb3lidngnpkpvpkr2w1n7z";
iosevka-ss09 = "1ysb28qwqjkxissqsiz67l3fj5kflf94baxwjjvqqi67f72kq8m4";
iosevka-ss10 = "11sdzyplb1bf8blzmj40brdnvy6z6yghvh91k27bf73rgdby7svk";
iosevka-ss11 = "0jrn998c8jrkjw7sa429kkgpfp897gdbikr0j9sc5b0fyjci0qdx";
iosevka-ss12 = "1qrnp3s3abxryi2nf8x4m5l7z83iklksr8mgwcxi07cfi8ix87jr";
iosevka-ss13 = "0hs3m1vc3l54xj4flgyr8m4mklgqlzf3ffcvwlp8i4a5b9cdxczh";
iosevka-ss14 = "112l7skaplmrn16h8lw5288ivcw1wm7mvilqrmdgswmvyxkpqdzg";
iosevka-ss15 = "13bbgjmw20d1dr6h8ckc2zaq0bilx494g5p94a2ighdm5d4sbk4y";
iosevka-ss16 = "180qfpp9ixjznk7srijbj1l2dzshb9wayqgvfmgqhl94fif23bja";
iosevka-ss17 = "0f1r0zad32mdqgd0ik08q07ni46w6dm93npz633azn3l9ch6hd41";
}

View file

@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
preInstall = ''
mv zic.o zic.o.orig
mv zic zic.orig
make $makeFlags cc=${stdenv.cc.targetPrefix}cc AR=${stdenv.cc.targetPrefix}ar zic
make $makeFlags cc=${stdenv.cc.nativePrefix}cc AR=${stdenv.cc.nativePrefix}ar zic
mv zic zic-native
mv zic.o.orig zic.o
mv zic.orig zic

View file

@ -8,18 +8,11 @@
, intltool
, gtk3
, libnotify
, gnome-menus
, libxml2
, systemd
, upower
, gnome-online-accounts
, cinnamon-settings-daemon
, colord
, polkit
, ibus
, libpulseaudio
, isocodes
, kerberos
, libxkbfile
, cinnamon-menus
, dbus-glib
@ -27,7 +20,6 @@
, libxklavier
, networkmanager
, libwacom
, gnome3
, libtool
, wrapGAppsHook
, tzdata

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchurl
, fetchpatch
, vala
, meson
, ninja

View file

@ -1,6 +1,5 @@
{ lib, stdenv
, fetchurl
, fetchpatch
, pkg-config
, gtk3
, vala

View file

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
pname = "adoptopenjdk-icedtea-web";
version = "1.8.4";
version = "1.8.5";
src = fetchFromGitHub {
owner = "AdoptOpenJDK";
repo = "IcedTea-Web";
rev = "icedtea-web-${version}";
sha256 = "0pxijw9v5k4j840jczglx9qyfd57df390g5jdaz3qafblfg0k10n";
sha256 = "sha256-AC6D6n8jLdATXIXrDTHhs2QFnIZNaaZvJyFEqfxCxYQ=";
};
nativeBuildInputs = [ autoreconfHook pkg-config bc ];

View file

@ -27,13 +27,13 @@ let
ghcWithPackages = ghc.withPackages (g: (with g; [old-time regex-compat syb split ]));
in stdenv.mkDerivation rec {
pname = "bluespec";
version = "unstable-2020.11.04";
version = "unstable-2021.02.14";
src = fetchFromGitHub {
owner = "B-Lang-org";
repo = "bsc";
rev = "103357f32cf63f2ca2b16ebc8e2c675ec5562464";
sha256 = "0iikzx0fxky0fmc31lyxfldy1wixr2mayzcn24b8d76wd4ix1vk3";
rev = "c085ecd807d85f31d102d8bec71f5c28dc96b31d";
sha256 = "0c86gwhrarw78cr9c9slb9vij6kcwx3x281kbqji96qqzs0dfb32";
};
enableParallelBuilding = true;

View file

@ -7,11 +7,11 @@ let
};
jdk = stdenv.mkDerivation rec {
name = "zulu11.2.3-jdk11.0.1";
name = "zulu11.43.21-ca-jdk11.0.9";
src = fetchurl {
url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz";
sha256 = "1jxnxmy79inwf3146ygry1mzv3dj6yrzqll16j7dpr91x1p3dpqy";
sha256 = "1j19fb5mwdkfn6y8wfsnvxsz6wfpcab4xv439fqssxy520n6q4zs";
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-mac/";
};

View file

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils, nixosTests
{ stdenv, lib, fetchurl, makeWrapper, jre, gnugrep, coreutils
, writeScript, common-updater-scripts, git, gnused, nix, nixfmt, majorVersion }:
with lib;
@ -26,8 +26,8 @@ let
};
"2.13" = {
version = "2.13.4";
sha256 = "1alcnzmxga00nsvgy8yky91zw5b4q0xg2697vrrdgjlglpxiqwdw";
version = "2.13.5";
sha256 = "1ah5rw6xqksiayi5i95r3pcff961q71ilishzn2kmg673z0j2b7d";
pname = "scala_2_13";
};
};
@ -49,20 +49,22 @@ stdenv.mkDerivation rec {
buildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out
rm bin/*.bat
mv * $out
# put docs in correct subdirectory
mkdir -p $out/share/doc
mv $out/doc $out/share/doc/${name}
mv $out/man $out/share/man
runHook preInstall
mkdir -p $out
rm bin/*.bat
mv * $out
# put docs in correct subdirectory
mkdir -p $out/share/doc
mv $out/doc $out/share/doc/${name}
mv $out/man $out/share/man
for p in $(ls $out/bin/) ; do
wrapProgram $out/bin/$p \
--prefix PATH ":" ${coreutils}/bin \
--prefix PATH ":" ${gnugrep}/bin \
--prefix PATH ":" ${jre}/bin \
--set JAVA_HOME ${jre}
done
done
runHook postInstall
'';
doInstallCheck = true;

View file

@ -37,7 +37,10 @@ stdenv.mkDerivation rec {
libtool
];
patches = [ ./cpp-4.5.patch ];
patches = [
./cpp-4.5.patch
./CVE-2016-8605.patch
];
preBuild = ''
sed -e '/lt_dlinit/a lt_dladdsearchdir("'$out/lib'");' -i libguile/dynl.c

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