Merge master into staging-next

This commit is contained in:
github-actions[bot] 2022-11-08 18:01:16 +00:00 committed by GitHub
commit 4517d658d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
45 changed files with 546 additions and 453 deletions

View file

@ -887,7 +887,7 @@ Packages may expect or require other utilities to be available at runtime.
Use `--prefix` to explicitly set dependencies in `PATH`. Use `--prefix` to explicitly set dependencies in `PATH`.
:::{note} ::: {.note}
`--prefix` essentially hard-codes dependencies into the wrapper. `--prefix` essentially hard-codes dependencies into the wrapper.
They cannot be overridden without rebuilding the package. They cannot be overridden without rebuilding the package.
::: :::

View file

@ -478,6 +478,7 @@ rec {
path = mkOptionType { path = mkOptionType {
name = "path"; name = "path";
descriptionClass = "noun";
check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/"; check = x: isCoercibleToString x && builtins.substring 0 1 (toString x) == "/";
merge = mergeEqualOption; merge = mergeEqualOption;
}; };

View file

@ -1349,6 +1349,14 @@
the npm install step prunes dev dependencies. the npm install step prunes dev dependencies.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
boot.kernel.sysctl is defined as a freeformType and adds a
custom merge option for <quote>net.core.rmem_max</quote>
(taking the highest value defined to avoid conflicts between 2
services trying to set that value)
</para>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
</section> </section>

View file

@ -403,4 +403,6 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- The `nodePackages` package set now defaults to the LTS release in the `nodejs` package again, instead of being pinned to `nodejs-14_x`. Several updates to node2nix have been made for compatibility with newer Node.js and npm versions and a new `postRebuild` hook has been added for packages to perform extra build steps before the npm install step prunes dev dependencies. - The `nodePackages` package set now defaults to the LTS release in the `nodejs` package again, instead of being pinned to `nodejs-14_x`. Several updates to node2nix have been made for compatibility with newer Node.js and npm versions and a new `postRebuild` hook has been added for packages to perform extra build steps before the npm install step prunes dev dependencies.
- boot.kernel.sysctl is defined as a freeformType and adds a custom merge option for "net.core.rmem_max" (taking the highest value defined to avoid conflicts between 2 services trying to set that value)
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. --> <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->

View file

@ -21,11 +21,24 @@ in
options = { options = {
boot.kernel.sysctl = mkOption { boot.kernel.sysctl = mkOption {
type = types.submodule {
freeformType = types.attrsOf sysctlOption;
options."net.core.rmem_max" = mkOption {
type = types.nullOr types.ints.unsigned // {
merge = loc: defs:
foldl
(a: b: if b.value == null then null else lib.max a b.value)
0
(filterOverrides defs);
};
default = null;
description = lib.mdDoc "The maximum socket receive buffer size. In case of conflicting values, the highest will be used.";
};
};
default = {}; default = {};
example = literalExpression '' example = literalExpression ''
{ "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; } { "net.ipv4.tcp_syncookies" = false; "vm.swappiness" = 60; }
''; '';
type = types.attrsOf sysctlOption;
description = lib.mdDoc '' description = lib.mdDoc ''
Runtime parameters of the Linux kernel, as set by Runtime parameters of the Linux kernel, as set by
{manpage}`sysctl(8)`. Note that sysctl {manpage}`sysctl(8)`. Note that sysctl
@ -35,6 +48,7 @@ in
parameter may be a string, integer, boolean, or null parameter may be a string, integer, boolean, or null
(signifying the option will not appear at all). (signifying the option will not appear at all).
''; '';
}; };
}; };

View file

@ -431,7 +431,7 @@ in
# https://trac.transmissionbt.com/browser/trunk/libtransmission/tr-udp.c?rev=11956. # https://trac.transmissionbt.com/browser/trunk/libtransmission/tr-udp.c?rev=11956.
# at least up to the values hardcoded here: # at least up to the values hardcoded here:
(mkIf cfg.settings.utp-enabled { (mkIf cfg.settings.utp-enabled {
"net.core.rmem_max" = mkDefault "4194304"; # 4MB "net.core.rmem_max" = mkDefault 4194304; # 4MB
"net.core.wmem_max" = mkDefault "1048576"; # 1MB "net.core.wmem_max" = mkDefault "1048576"; # 1MB
}) })
(mkIf cfg.performanceNetParameters { (mkIf cfg.performanceNetParameters {

View file

@ -184,6 +184,26 @@ let
''; '';
}; };
cron = {
enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Enable cron service which periodically runs Invoiceplane tasks.
Requires key taken from the administration page. Refer to
<https://wiki.invoiceplane.com/en/1.0/modules/recurring-invoices>
on how to configure it.
'';
};
key = mkOption {
type = types.str;
description = lib.mdDoc "Cron key taken from the administration page.";
};
};
}; };
}; };
@ -224,8 +244,11 @@ in
} }
{ assertion = cfg.database.createLocally -> cfg.database.passwordFile == null; { assertion = cfg.database.createLocally -> cfg.database.passwordFile == null;
message = ''services.invoiceplane.sites."${hostName}".database.passwordFile cannot be specified if services.invoiceplane.sites."${hostName}".database.createLocally is set to true.''; message = ''services.invoiceplane.sites."${hostName}".database.passwordFile cannot be specified if services.invoiceplane.sites."${hostName}".database.createLocally is set to true.'';
}] }
) eachSite); { assertion = cfg.cron.enable -> cfg.cron.key != null;
message = ''services.invoiceplane.sites."${hostName}".cron.key must be set in order to use cron service.'';
}
]) eachSite);
services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) { services.mysql = mkIf (any (v: v.database.createLocally) (attrValues eachSite)) {
enable = true; enable = true;
@ -255,6 +278,7 @@ in
} }
{ {
systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [ systemd.tmpfiles.rules = flatten (mapAttrsToList (hostName: cfg: [
"d ${cfg.stateDir} 0750 ${user} ${webserver.group} - -" "d ${cfg.stateDir} 0750 ${user} ${webserver.group} - -"
"f ${cfg.stateDir}/ipconfig.php 0750 ${user} ${webserver.group} - -" "f ${cfg.stateDir}/ipconfig.php 0750 ${user} ${webserver.group} - -"
@ -284,6 +308,34 @@ in
group = webserver.group; group = webserver.group;
isSystemUser = true; isSystemUser = true;
}; };
}
{
# Cron service implementation
systemd.timers = mapAttrs' (hostName: cfg: (
nameValuePair "invoiceplane-cron-${hostName}" (mkIf cfg.cron.enable {
wantedBy = [ "timers.target" ];
timerConfig = {
OnBootSec = "5m";
OnUnitActiveSec = "5m";
Unit = "invoiceplane-cron-${hostName}.service";
};
})
)) eachSite;
systemd.services =
(mapAttrs' (hostName: cfg: (
nameValuePair "invoiceplane-cron-${hostName}" (mkIf cfg.cron.enable {
serviceConfig = {
Type = "oneshot";
User = user;
ExecStart = "${pkgs.curl}/bin/curl --header 'Host: ${hostName}' http://localhost/index.php/invoices/cron/recur/${cfg.cron.key}";
};
})
)) eachSite);
} }
(mkIf (cfg.webserver == "caddy") { (mkIf (cfg.webserver == "caddy") {
@ -302,6 +354,5 @@ in
}; };
}) })
]); ]);
} }

View file

@ -823,9 +823,9 @@ in {
${if c.dbhost != null then "--database-host" else null} = ''"${c.dbhost}"''; ${if c.dbhost != null then "--database-host" else null} = ''"${c.dbhost}"'';
${if c.dbport != null then "--database-port" else null} = ''"${toString c.dbport}"''; ${if c.dbport != null then "--database-port" else null} = ''"${toString c.dbport}"'';
${if c.dbuser != null then "--database-user" else null} = ''"${c.dbuser}"''; ${if c.dbuser != null then "--database-user" else null} = ''"${c.dbuser}"'';
"--database-pass" = "\$${dbpass.arg}"; "--database-pass" = "\"\$${dbpass.arg}\"";
"--admin-user" = ''"${c.adminuser}"''; "--admin-user" = ''"${c.adminuser}"'';
"--admin-pass" = "\$${adminpass.arg}"; "--admin-pass" = "\"\$${adminpass.arg}\"";
"--data-dir" = ''"${datadir}/data"''; "--data-dir" = ''"${datadir}/data"'';
}); });
in '' in ''

View file

@ -6,23 +6,26 @@
, meson , meson
, ninja , ninja
, libmpdclient , libmpdclient
, libyamlcpp
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ashuffle"; pname = "ashuffle";
version = "3.12.5"; version = "3.13.4";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "joshkunz"; owner = "joshkunz";
repo = "ashuffle"; repo = "ashuffle";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-dPgv6EzRxRdHkGvys601Bkg9Srd8oEjoE9jbAin74Vk="; sha256 = "sha256-J6NN0Rsc9Zw9gagksDlwpwEErs+4XmrGF9YHKlAE1FA=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;
nativeBuildInputs = [ cmake pkg-config meson ninja ]; nativeBuildInputs = [ cmake pkg-config meson ninja ];
buildInputs = [ libmpdclient ]; buildInputs = [ libmpdclient libyamlcpp ];
mesonFlags = [ "-Dunsupported_use_system_yamlcpp=true" ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/joshkunz/ashuffle"; homepage = "https://github.com/joshkunz/ashuffle";

View file

@ -0,0 +1,55 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, gtk3
, gtkmm3
, curl
, poco
, gumbo # litehtml dependency
}:
stdenv.mkDerivation {
pname = "litebrowser";
version = "unstable-2022-10-31";
src = fetchFromGitHub {
owner = "litehtml";
repo = "litebrowser-linux";
rev = "4654f8fb2d5e2deba7ac6223b6639341bd3b7eba";
hash = "sha256-SvW1AOxLBLKqa+/2u2Zn+/t33ZzQHmqlcLRl6z0rK9U=";
fetchSubmodules = true; # litehtml submodule
};
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
gtk3
gtkmm3
curl
poco
gumbo
];
cmakeFlags = [
"-DEXTERNAL_GUMBO=ON"
];
installPhase = ''
runHook preInstall
install -Dm755 litebrowser $out/bin/litebrowser
runHook postInstall
'';
meta = with lib; {
description = "A simple browser based on the litehtml engine";
homepage = "https://github.com/litehtml/litebrowser-linux";
license = licenses.bsd3;
platforms = platforms.unix;
maintainers = with maintainers; [ fgaz ];
};
}

View file

@ -2,7 +2,7 @@
let let
versions = if stdenv.isLinux then { versions = if stdenv.isLinux then {
stable = "0.0.21"; stable = "0.0.21";
ptb = "0.0.34"; ptb = "0.0.35";
canary = "0.0.143"; canary = "0.0.143";
} else { } else {
stable = "0.0.264"; stable = "0.0.264";
@ -18,7 +18,7 @@ let
}; };
ptb = fetchurl { ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
sha256 = "CD6dLoBnlvhpwEFfLI9OqjhviZPj3xNDyPK9qBJUqck="; sha256 = "bnp5wfcR21s7LMPxFgj5G3UsxPWlFj4t6CbeosiufHY=";
}; };
canary = fetchurl { canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";

View file

@ -1,33 +1,51 @@
{ lib { lib
, fetchFromGitHub , fetchFromGitHub
, python3 , python3
, rsync
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "toil"; pname = "toil";
version = "5.6.0"; version = "5.7.1";
format = "setuptools"; format = "setuptools";
src = python3.pkgs.fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "DataBiosphere";
sha256 = "sha256-m6tzrRCCLULO+wB8htUlt0KESLm/vdIeTzBrihnAo/I="; repo = pname;
rev = "refs/tags/releases/${version}";
hash = "sha256-m+XvNyzd0ly2YqKhgxezgGaCXLs3CmupJMnp5RIZqNI=";
}; };
postPatch = ''
substituteInPlace requirements.txt \
--replace "docker>=3.7.2, <6" "docker"
'';
propagatedBuildInputs = with python3.pkgs; [ propagatedBuildInputs = with python3.pkgs; [
addict addict
dill
docker docker
pytz
pyyaml
enlighten enlighten
psutil psutil
py-tes py-tes
pypubsub
python-dateutil python-dateutil
dill pytz
pyyaml
requests
typing-extensions
]; ];
checkInputs = with python3.pkgs; [ checkInputs = [
rsync
] ++ (with python3.pkgs; [
boto
botocore
flask
mypy-boto3-s3
pytestCheckHook pytestCheckHook
]; stubserver
]);
pytestFlagsArray = [ pytestFlagsArray = [
"src/toil/test" "src/toil/test"
@ -37,6 +55,34 @@ python3.pkgs.buildPythonApplication rec {
"toil" "toil"
]; ];
disabledTestPaths = [
# Tests are reaching their timeout
"src/toil/test/docs/scriptsTest.py"
"src/toil/test/jobStores/jobStoreTest.py"
"src/toil/test/provisioners/aws/awsProvisionerTest.py"
"src/toil/test/src"
"src/toil/test/wdl"
"src/toil/test/utils/utilsTest.py"
];
disabledTests = [
# Tests fail starting with 5.7.1
"testServices"
"testConcurrencyWithDisk"
"testJobConcurrency"
"testNestedResourcesDoNotBlock"
"test_omp_threads"
"testFileSingle"
"testFileSingle10000"
"testFileSingleCheckpoints"
"testFileSingleNonCaching"
"testFetchJobStoreFiles"
"testFetchJobStoreFilesWSymlinks"
"testJobStoreContents"
"test_cwl_on_arm"
"test_cwl_toil_kill"
];
meta = with lib; { meta = with lib; {
description = "Workflow engine written in pure Python"; description = "Workflow engine written in pure Python";
homepage = "https://toil.ucsc-cgl.org/"; homepage = "https://toil.ucsc-cgl.org/";

View file

@ -8,11 +8,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "vcsh"; pname = "vcsh";
version = "2.0.4"; version = "2.0.5";
src = fetchurl { src = fetchurl {
url = "https://github.com/RichiH/vcsh/releases/download/v${version}/${pname}-${version}.tar.xz"; url = "https://github.com/RichiH/vcsh/releases/download/v${version}/${pname}-${version}.tar.xz";
sha256 = "sha256-W/Ql2J9HTDQPu0el34mHVzqe85KGWLPph2sHyuEzPPI="; sha256 = "0bf3gacbyxw75ksd8y6528kgk7mqx6grz40gfiffxa2ghsz1xl01";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -1,8 +1,41 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper, autoreconfHook { stdenv
, bash, fuse3, libmspack, openssl, pam, xercesc, icu, libdnet, procps, libtirpc, rpcsvc-proto , lib
, libX11, libXext, libXinerama, libXi, libXrender, libXrandr, libXtst, libxcrypt , fetchFromGitHub
, pkg-config, glib, gdk-pixbuf-xlib, gtk3, gtkmm3, iproute2, dbus, systemd, which , makeWrapper
, libdrm, udev, util-linux , autoreconfHook
, bash
, fuse3
, libmspack
, openssl
, pam
, xercesc
, icu
, libdnet
, procps
, libtirpc
, rpcsvc-proto
, libX11
, libXext
, libXinerama
, libXi
, libXrender
, libXrandr
, libXtst
, libxcrypt
, libxml2
, pkg-config
, glib
, gdk-pixbuf-xlib
, gtk3
, gtkmm3
, iproute2
, dbus
, systemd
, which
, libdrm
, udev
, util-linux
, xmlsec
, withX ? true , withX ? true
}: }:
@ -11,9 +44,9 @@ stdenv.mkDerivation rec {
version = "12.1.0"; version = "12.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "vmware"; owner = "vmware";
repo = "open-vm-tools"; repo = "open-vm-tools";
rev = "stable-${version}"; rev = "stable-${version}";
hash = "sha256-PgrLu0Bm9Vom5WNl43312QFWKojdXDAGn3Nvj4hzPrQ="; hash = "sha256-PgrLu0Bm9Vom5WNl43312QFWKojdXDAGn3Nvj4hzPrQ=";
}; };
@ -21,46 +54,77 @@ stdenv.mkDerivation rec {
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
nativeBuildInputs = [ autoreconfHook makeWrapper pkg-config ]; nativeBuildInputs = [
buildInputs = [ fuse3 glib icu libdnet libdrm libmspack libtirpc libxcrypt openssl pam procps rpcsvc-proto udev xercesc ] autoreconfHook
++ lib.optionals withX [ gdk-pixbuf-xlib gtk3 gtkmm3 libX11 libXext libXinerama libXi libXrender libXrandr libXtst ]; makeWrapper
pkg-config
];
buildInputs = [
fuse3
glib
icu
libdnet
libdrm
libmspack
libtirpc
libxcrypt
libxml2
openssl
pam
procps
rpcsvc-proto
udev
xercesc
xmlsec
] ++ lib.optionals withX [
gdk-pixbuf-xlib
gtk3
gtkmm3
libX11
libXext
libXinerama
libXi
libXrender
libXrandr
libXtst
];
postPatch = '' postPatch = ''
sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' Makefile.am sed -i Makefile.am \
sed -i 's,^confdir = ,confdir = ''${prefix},' scripts/Makefile.am -e 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,'
sed -i 's,usr/bin,''${prefix}/usr/bin,' scripts/Makefile.am sed -i scripts/Makefile.am \
sed -i 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' services/vmtoolsd/Makefile.am -e 's,^confdir = ,confdir = ''${prefix},' \
sed -i 's,$(PAM_PREFIX),''${prefix}/$(PAM_PREFIX),' services/vmtoolsd/Makefile.am -e 's,usr/bin,''${prefix}/usr/bin,'
sed -i services/vmtoolsd/Makefile.am \
-e 's,etc/vmware-tools,''${prefix}/etc/vmware-tools,' \
-e 's,$(PAM_PREFIX),''${prefix}/$(PAM_PREFIX),'
sed -i vgauth/service/Makefile.am \
-e 's,/etc/vmware-tools/vgauth/schemas,''${prefix}/etc/vmware-tools/vgauth/schemas,' \
-e 's,$(DESTDIR)/etc/vmware-tools/vgauth.conf,''${prefix}/etc/vmware-tools/vgauth.conf,'
# Avoid a glibc >= 2.25 deprecation warning that gets fatal via -Werror. # don't abort on any warning
sed 1i'#include <sys/sysmacros.h>' -i lib/wiper/wiperPosix.c sed -i 's,CFLAGS="$CFLAGS -Werror",,' configure.ac
# Make reboot work, shutdown is not in /sbin on NixOS # Make reboot work, shutdown is not in /sbin on NixOS
sed -i 's,/sbin/shutdown,shutdown,' lib/system/systemLinux.c sed -i 's,/sbin/shutdown,shutdown,' lib/system/systemLinux.c
# Fix paths to fuse3 (we do not use fuse2 so that is not modified) # Fix paths to fuse3 (we do not use fuse2 so that is not modified)
sed -i 's,/bin/fusermount3,${fuse3}/bin/fusermount3,' vmhgfs-fuse/config.c sed -i 's,/bin/fusermount3,${fuse3}/bin/fusermount3,' vmhgfs-fuse/config.c
substituteInPlace services/plugins/vix/foundryToolsDaemon.c \ substituteInPlace services/plugins/vix/foundryToolsDaemon.c \
--replace "/usr/bin/vmhgfs-fuse" "${placeholder "out"}/bin/vmhgfs-fuse" \ --replace "/usr/bin/vmhgfs-fuse" "${placeholder "out"}/bin/vmhgfs-fuse" \
--replace "/bin/mount" "${util-linux}/bin/mount" --replace "/bin/mount" "${util-linux}/bin/mount"
''; '';
configureFlags = [ configureFlags = [
"--without-kernel-modules" "--without-kernel-modules"
"--without-xmlsecurity"
"--with-udev-rules-dir=${placeholder "out"}/lib/udev/rules.d" "--with-udev-rules-dir=${placeholder "out"}/lib/udev/rules.d"
"--with-fuse=fuse3" "--with-fuse=fuse3"
] ++ lib.optional (!withX) "--without-x"; ] ++ lib.optional (!withX) "--without-x";
enableParallelBuilding = true; enableParallelBuilding = true;
NIX_CFLAGS_COMPILE = builtins.toString [
# fix build with gcc9
"-Wno-error=address-of-packed-member"
"-Wno-error=format-overflow"
];
preConfigure = '' preConfigure = ''
mkdir -p ${placeholder "out"}/lib/udev/rules.d mkdir -p ${placeholder "out"}/lib/udev/rules.d
''; '';
@ -79,7 +143,7 @@ stdenv.mkDerivation rec {
better management of, and seamless user interactions with, guests. better management of, and seamless user interactions with, guests.
''; '';
license = licenses.gpl2; license = licenses.gpl2;
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ]; platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
maintainers = with maintainers; [ joamaki ]; maintainers = with maintainers; [ joamaki ];
}; };
} }

View file

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "luau"; pname = "luau";
version = "0.551"; version = "0.552";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Roblox"; owner = "Roblox";
repo = "luau"; repo = "luau";
rev = version; rev = version;
sha256 = "sha256-1IQeTq5eLn0jYtdc6SM0TuVJ3TUWUWtjQjAviba5ibw="; sha256 = "sha256-dxxzM9VKN4yDkVpU3uQNgiFbBXBa+ALWSG/Ut6JKOEY=";
}; };
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];

View file

@ -0,0 +1,38 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, gumbo
}:
stdenv.mkDerivation rec {
pname = "litehtml";
version = "0.6";
src = fetchFromGitHub {
owner = "litehtml";
repo = "litehtml";
rev = "v${version}";
hash = "sha256-9571d3k8RkzEpMWPuIejZ7njLmYstSwFUaSqT3sk6uQ=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
gumbo
];
cmakeFlags = [
"-DEXTERNAL_GUMBO=ON"
];
meta = with lib; {
description = "Fast and lightweight HTML/CSS rendering engine";
homepage = "http://www.litehtml.com/";
license = licenses.bsd3;
platforms = platforms.all;
maintainers = with maintainers; [ fgaz ];
};
}

View file

@ -1,115 +0,0 @@
{ lib
, stdenv
, fetchurl
, cairo
, gtk2
, libGL
, libGLU
, libSM
, libX11
, libXinerama
, libXxf86vm
, pkg-config
, xorgproto
, compat24 ? false
, compat26 ? true
, unicode ? true
, withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
}:
stdenv.mkDerivation rec {
pname = "wxGTK";
version = "2.8.12.1";
src = fetchurl {
url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2";
hash = "sha256-Hz8VPZ8VBMbOLSxLI+lAuPWLgfTLo1zaGluzEUIkPNA=";
};
nativeBuildInputs = [
pkg-config
];
buildInputs = [
cairo
gtk2
libSM
libX11
libXinerama
libXxf86vm
xorgproto
]
++ lib.optional withMesa libGLU;
configureFlags = [
"--enable-gtk2"
"--disable-precomp-headers"
"--enable-mediactrl"
"--enable-graphics_ctx"
(if compat24 then "--enable-compat24" else "--disable-compat24")
(if compat26 then "--enable-compat26" else "--disable-compat26")
]
++ lib.optional unicode "--enable-unicode"
++ lib.optional withMesa "--with-opengl";
hardeningDisable = [ "format" ];
# These variables are used by configure to find some dependencies.
SEARCH_INCLUDE =
"${libXinerama.dev}/include ${libSM.dev}/include ${libXxf86vm.dev}/include";
SEARCH_LIB =
"${libXinerama.out}/lib ${libSM.out}/lib ${libXxf86vm.out}/lib "
+ lib.optionalString withMesa "${libGLU.out}/lib ${libGL.out}/lib ";
# Work around a bug in configure.
NIX_CFLAGS_COMPILE = "-DHAVE_X11_XLIB_H=1 -lX11 -lcairo -Wno-narrowing";
preConfigure = ''
substituteInPlace configure --replace \
'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
substituteInPlace configure --replace \
'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
substituteInPlace configure --replace \
/usr /no-such-path
'';
postBuild = ''
pushd contrib/src
make
popd
'';
postInstall = ''
pushd contrib/src
make install
popd
pushd $out/include
ln -s wx-*/* .
popd
'';
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://www.wxwidgets.org/";
description = "A Cross-Platform C++ GUI Library";
longDescription = ''
wxWidgets gives you a single, easy-to-use API for writing GUI applications
on multiple platforms that still utilize the native platform's controls
and utilities. Link with the appropriate library for your platform and
compiler, and your application will adopt the look and feel appropriate to
that platform. On top of great GUI functionality, wxWidgets gives you:
online help, network programming, streams, clipboard and drag and drop,
multithreading, image loading and saving in a variety of popular formats,
database support, HTML viewing and printing, and much more.
'';
license = licenses.wxWindows;
maintainers = with maintainers; [ ];
platforms = platforms.linux;
};
passthru = {
inherit compat24 compat26 unicode;
gtk = gtk2;
};
}

View file

@ -1,127 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
, autoconf
, gtk2
, libGL
, libGLU
, libSM
, libXinerama
, libXxf86vm
, pkg-config
, xorgproto
, compat24 ? false
, compat26 ? true
, unicode ? true
, withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
, AGL
, Carbon
, Cocoa
, Kernel
, QuickTime
, setfile
}:
stdenv.mkDerivation rec {
pname = "wxGTK";
version = "2.9.5";
src = fetchFromGitHub {
owner = "wxWidgets";
repo = "wxWidgets";
rev = "v${version}";
hash = "sha256-izefAPU4lORZxQja7/InHyElJ1++2lDloR+xPudsRNE=";
};
patches = [
# https://github.com/wxWidgets/wxWidgets/issues/17942
./patches/0001-fix-assertion-using-hide-in-destroy.patch
];
nativeBuildInputs = [
autoconf
pkg-config
];
buildInputs = [
gtk2
libSM
libXinerama
libXxf86vm
xorgproto
]
++ lib.optional withMesa libGLU
++ lib.optionals stdenv.isDarwin [
Carbon
Cocoa
Kernel
QuickTime
setfile
];
propagatedBuildInputs = lib.optional stdenv.isDarwin AGL;
configureFlags = [
"--disable-precomp-headers"
"--enable-gtk2"
(if compat24 then "--enable-compat24" else "--disable-compat24")
(if compat26 then "--enable-compat26" else "--disable-compat26")
]
++ lib.optional unicode "--enable-unicode"
++ lib.optional withMesa "--with-opengl"
++ lib.optionals stdenv.isDarwin [ # allow building on 64-bit
"--enable-universal-binaries"
"--with-cocoa"
"--with-macosx-version-min=10.7"
];
SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib ";
preConfigure = ''
./autogen.sh
substituteInPlace configure --replace \
'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
substituteInPlace configure --replace \
'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
substituteInPlace configure --replace \
/usr /no-such-path
'' + lib.optionalString stdenv.isDarwin ''
substituteInPlace configure --replace \
'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
substituteInPlace configure --replace \
"-framework System" "-lSystem"
'';
postInstall = ''
pushd $out/include
ln -s wx-*/* .
popd
'';
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://www.wxwidgets.org/";
description = "A Cross-Platform C++ GUI Library";
longDescription = ''
wxWidgets gives you a single, easy-to-use API for writing GUI applications
on multiple platforms that still utilize the native platform's controls
and utilities. Link with the appropriate library for your platform and
compiler, and your application will adopt the look and feel appropriate to
that platform. On top of great GUI functionality, wxWidgets gives you:
online help, network programming, streams, clipboard and drag and drop,
multithreading, image loading and saving in a variety of popular formats,
database support, HTML viewing and printing, and much more.
'';
license = licenses.wxWindows;
maintainers = with maintainers; [ ];
platforms = platforms.darwin ++ platforms.linux;
badPlatforms = [ "x86_64-darwin" ];
};
passthru = {
inherit compat24 compat26 unicode;
gtk = gtk2;
};
}

View file

@ -22,15 +22,20 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ libxml2 gnutls libxslt libgcrypt libtool openssl nss ]; buildInputs = [ libxml2 gnutls libgcrypt libtool openssl nss ];
propagatedBuildInputs = [
# required by xmlsec/transforms.h
libxslt
];
enableParallelBuilding = true; enableParallelBuilding = true;
doCheck = true; doCheck = true;
checkInputs = [ nss.tools ]; checkInputs = [ nss.tools ];
preCheck = '' preCheck = ''
substituteInPlace tests/testrun.sh \ substituteInPlace tests/testrun.sh \
--replace 'timestamp=`date +%Y%m%d_%H%M%S`' 'timestamp=19700101_000000' \ --replace 'timestamp=`date +%Y%m%d_%H%M%S`' 'timestamp=19700101_000000' \
--replace 'TMPFOLDER=/tmp' '$(mktemp -d)' --replace 'TMPFOLDER=/tmp' '$(mktemp -d)'
''; '';
# enable deprecated soap headers required by lasso # enable deprecated soap headers required by lasso
@ -67,13 +72,14 @@ stdenv.mkDerivation rec {
touch $out touch $out
''; '';
meta = { meta = with lib; {
description = "XML Security Library in C based on libxml2"; description = "XML Security Library in C based on libxml2";
homepage = "http://www.aleksey.com/xmlsec"; homepage = "https://www.aleksey.com/xmlsec/";
downloadPage = "https://www.aleksey.com/xmlsec/download.html"; downloadPage = "https://www.aleksey.com/xmlsec/download.html";
license = lib.licenses.mit; license = licenses.mit;
mainProgram = "xmlsec1"; mainProgram = "xmlsec1";
platforms = with lib.platforms; linux ++ darwin; maintainers = with maintainers; [ ];
platforms = with platforms; linux ++ darwin;
}; };
} }
) )

View file

@ -12,12 +12,13 @@
, poetry-core , poetry-core
, python-json-logger , python-json-logger
, pythonOlder , pythonOlder
, pythonRelaxDepsHook
, ruamel-yaml , ruamel-yaml
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "ansible-doctor"; pname = "ansible-doctor";
version = "1.4.5"; version = "1.4.6";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -26,11 +27,19 @@ buildPythonPackage rec {
owner = "thegeeklab"; owner = "thegeeklab";
repo = "ansible-doctor"; repo = "ansible-doctor";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-Bqe5dqD9VEgkkIGtpkLnCf3KTziCYb5HQdMJaskALWE="; hash = "sha256-76IYH9IWeHU+PAtpLFGT5f8oG2roY3raW0NC3KUnFls=";
}; };
pythonRelaxDeps = true;
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'version = "0.0.0"' 'version = "${version}"'
'';
nativeBuildInputs = [ nativeBuildInputs = [
poetry-core poetry-core
pythonRelaxDepsHook
]; ];
propagatedBuildInputs = [ propagatedBuildInputs = [
@ -50,17 +59,6 @@ buildPythonPackage rec {
rm $out/lib/python*/site-packages/LICENSE rm $out/lib/python*/site-packages/LICENSE
''; '';
postPatch = ''
substituteInPlace pyproject.toml \
--replace 'version = "0.0.0"' 'version = "${version}"' \
--replace 'Jinja2 = "3.1.2"' 'Jinja2 = "*"' \
--replace 'anyconfig = "0.13.0"' 'anyconfig = "*"' \
--replace 'environs = "9.5.0"' 'environs = "*"' \
--replace 'jsonschema = "4.15.0"' 'jsonschema = "*"' \
--replace '"ruamel.yaml" = "0.17.21"' '"ruamel.yaml" = "*"' \
--replace 'python-json-logger = "2.0.4"' 'python-json-logger = "*"'
'';
# Module has no tests # Module has no tests
doCheck = false; doCheck = false;

View file

@ -14,7 +14,6 @@
, pyyaml , pyyaml
, requests , requests
, requests-oauthlib , requests-oauthlib
, six
, slixmpp , slixmpp
}: }:
@ -42,7 +41,6 @@ buildPythonPackage rec {
pyyaml pyyaml
requests requests
requests-oauthlib requests-oauthlib
six
]; ];
checkInputs = [ checkInputs = [
@ -58,6 +56,11 @@ buildPythonPackage rec {
"test_plugin_mqtt_general" "test_plugin_mqtt_general"
]; ];
disabledTestPaths = [
# AttributeError: module 'apprise.plugins' has no attribute 'NotifyBulkSMS'
"test/test_plugin_bulksms.py"
];
postInstall = '' postInstall = ''
installManPage packaging/man/apprise.1 installManPage packaging/man/apprise.1
''; '';

View file

@ -0,0 +1,45 @@
{ lib
, buildPythonPackage
, cogapp
, datasette
, fetchFromGitHub
, pytest-mock
, pytestCheckHook
, pythonOlder
}:
buildPythonPackage rec {
pname = "datasette-publish-fly";
version = "1.2";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchFromGitHub {
owner = "simonw";
repo = pname;
rev = version;
hash = "sha256-0frP/RkpZX6LCR8cOlzcBG3pbcOh0KPuELlYUXS3dRE=";
};
propagatedBuildInputs = [
datasette
];
checkInputs = [
cogapp
pytest-mock
pytestCheckHook
];
pythonImportsCheck = [
"datasette_publish_fly"
];
meta = with lib; {
description = "Datasette plugin for publishing data using Fly";
homepage = "https://datasette.io/plugins/datasette-publish-fly";
license = licenses.asl20;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -1,40 +1,45 @@
{ lib { lib
, fetchFromGitHub
, buildPythonPackage
, numpy
, tabulate
, six
, dm-tree
, absl-py , absl-py
, wrapt , buildPythonPackage
, dm-tree
, docutils , docutils
, etils
, fetchFromGitHub
, numpy
, pythonOlder
, tabulate
, tensorflow , tensorflow
, tensorflow-datasets }: , tensorflow-datasets
, wrapt
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "dm-sonnet"; pname = "dm-sonnet";
version = "2.0.0"; version = "2.0.0";
format = "setuptools";
disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "deepmind"; owner = "deepmind";
repo = "sonnet"; repo = "sonnet";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-YSMeH5ZTfP1OdLBepsxXAVczBG/ghSjCWjoz/I+TFl8="; hash = "sha256-YSMeH5ZTfP1OdLBepsxXAVczBG/ghSjCWjoz/I+TFl8=";
}; };
buildInputs = [ propagatedBuildInputs = [
absl-py
dm-tree dm-tree
etils
numpy numpy
six
tabulate tabulate
wrapt wrapt
]; ] ++ etils.optional-dependencies.epath;
propagatedBuildInputs = [ passthru.optional-dependencies = {
tabulate tensorflow = [
tensorflow tensorflow
]; ];
};
checkInputs = [ checkInputs = [
docutils docutils

View file

@ -14,13 +14,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "docker"; pname = "docker";
version = "6.0.0"; version = "6.0.1";
format = "pyproject"; format = "pyproject";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "sha256-GeMwRwr0AWfSk7A1JXjB+iLXSzTT7fXU/5DrwgO7svE="; hash = "sha256-iWxCguXHr1xF6LaDsLDDOTKXT+blD8aQagqDYWqz2pc=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -47,10 +48,16 @@ buildPythonPackage rec {
]; ];
# Deselect socket tests on Darwin because it hits the path length limit for a Unix domain socket # Deselect socket tests on Darwin because it hits the path length limit for a Unix domain socket
disabledTests = lib.optionals stdenv.isDarwin [ "api_test" "stream_response" "socket_file" ]; disabledTests = lib.optionals stdenv.isDarwin [
"api_test" "stream_response" "socket_file"
];
dontUseSetuptoolsCheck = true; dontUseSetuptoolsCheck = true;
pythonImportsCheck = [
"docker"
];
meta = with lib; { meta = with lib; {
description = "An API client for docker written in Python"; description = "An API client for docker written in Python";
homepage = "https://github.com/docker/docker-py"; homepage = "https://github.com/docker/docker-py";

View file

@ -0,0 +1,32 @@
{ lib
, buildPythonPackage
, fetchPypi
, pythonOlder
}:
buildPythonPackage rec {
pname = "stubserver";
version = "1.1";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-j9R7wpvb07FuN5EhIpE7xTSf26AniQZN4iLpxMjNYKA=";
};
# Tests are not shipped and the source not tagged
doCheck = false;
pythonImportsCheck = [
"stubserver"
];
meta = with lib; {
description = "Web and FTP server for use in unit and7or acceptance tests";
homepage = "https://github.com/tarttelin/Python-Stub-Server";
license = licenses.bsd2;
maintainers = with maintainers; [ fab ];
};
}

View file

@ -9,13 +9,13 @@
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "apksigcopier"; pname = "apksigcopier";
version = "1.0.1"; version = "1.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "obfusk"; owner = "obfusk";
repo = "apksigcopier"; repo = "apksigcopier";
rev = "v${version}"; rev = "refs/tags/v${version}";
sha256 = "07ldq3q1x2lpb15q5s5i1pbg89sn6ah45amskm9pndqlh16z9k2x"; sha256 = "sha256-58NoYe26GsNE0jpSRt4sIkTJ2iR4VVnvthOfi7QFfN0=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "kubie"; pname = "kubie";
version = "0.19.0"; version = "0.19.1";
src = fetchFromGitHub { src = fetchFromGitHub {
rev = "v${version}"; rev = "v${version}";
owner = "sbstp"; owner = "sbstp";
repo = "kubie"; repo = "kubie";
sha256 = "sha256-K7zoohyVBnRMqwpizBs+wlN/gkgGjBHNk1cwxY7P3Hs="; sha256 = "sha256-tZ4qa48I/J62bqc9eoSSpTrJjU+LpweF/kI1TMiFrEY=";
}; };
cargoSha256 = "sha256-feNmtUkpN+RdMrvF2ZY2BcZ0p8qEqw6Hr+p4be3YavA="; cargoSha256 = "sha256-WpX1wkMPtUwT6KOi0Bij1tzGlDhti828wBSfzpXuZaY=";
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];

View file

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "millet"; pname = "millet";
version = "0.5.12"; version = "0.5.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "azdavis"; owner = "azdavis";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-COVWn8RTUQSCHkjUgD9I+lZ4u/M7wqAV6tnDW7HIytY="; sha256 = "sha256-2fb7jt/wTDLFxRPzJ8i/JmlQvXBG9zjmE7nYBfmMis8=";
}; };
cargoSha256 = "sha256-/7I1RdDo2o2uMUVEMjSCltmU8eW39cCgpzHztePE3Kw="; cargoSha256 = "sha256-JCO+IxDQeB3CTMpGD8D+1O7Vj2pBxvvnP9M48vVUEsc=";
postPatch = '' postPatch = ''
rm .cargo/config.toml rm .cargo/config.toml

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "linuxkit"; pname = "linuxkit";
version = "1.0.0"; version = "1.0.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "linuxkit"; owner = "linuxkit";
repo = "linuxkit"; repo = "linuxkit";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-y/jsMr7HmrHjVMn4fyQ3MPHION8hQO2G4udX1AMx8bk="; sha256 = "sha256-8x9oJaYb/mN2TUaVrGOYi5/6TETD78jif0SwCSc0kyo=";
}; };
vendorSha256 = null; vendorSha256 = null;

View file

@ -2,7 +2,7 @@
, pkg-config, qemu, syslinux, util-linux }: , pkg-config, qemu, syslinux, util-linux }:
let let
version = "0.7.3"; version = "0.7.4";
# list of all theoretically available targets # list of all theoretically available targets
targets = [ targets = [
"genode" "genode"
@ -21,11 +21,9 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz"; url = "https://github.com/Solo5/solo5/releases/download/v${version}/solo5-v${version}.tar.gz";
sha256 = "sha256-8LftT22XzmmWxgYez+BAHDX4HOyl5DrwrpuO2+bqqcY="; sha256 = "sha256-ovDdaS2cDufe5gTgi+t2C8waWiRC40/2flLLJlz+NvU=";
}; };
patches = [ ./fix_paths.patch ./test_sleep.patch ];
hardeningEnable = [ "pie" ]; hardeningEnable = [ "pie" ];
configurePhase = '' configurePhase = ''

View file

@ -1,29 +0,0 @@
diff --git a/toolchain/cc.in b/toolchain/cc.in
index 337562a..0ec9315 100644
--- a/toolchain/cc.in
+++ b/toolchain/cc.in
@@ -30,9 +30,9 @@
# symbols.
prog="$(basename $0)"
-I="$(dirname $0)/../include"
+I="$(realpath $0 | xargs dirname)/../include"
[ ! -d "${I}" ] && echo "$prog: Could not determine include path" 1>&2 && exit 1
-L="$(dirname $0)/../lib/@@CONFIG_TARGET_TRIPLE@@"
+L="$(realpath $0 | xargs dirname)/../lib/@@CONFIG_TARGET_TRIPLE@@"
[ ! -d "${L}" ] && echo "$prog: Could not determine library path" 1>&2 && exit 1
# we can't really tell if 'cc' is called with no input, but work around the
# most obvious cases and stop them from "succeeding" and producing an "a.out"
diff --git a/toolchain/ld.in b/toolchain/ld.in
index 01dffa8..13dca2c 100644
--- a/toolchain/ld.in
+++ b/toolchain/ld.in
@@ -28,7 +28,7 @@
# linking a unikernel. No default for ABI is provided, as it is expected that a
# caller directly using 'ld' knows what they are doing.
-L="$(dirname $0)/../lib/@@CONFIG_TARGET_TRIPLE@@"
+L="$(realpath $0 | xargs dirname)/../lib/@@CONFIG_TARGET_TRIPLE@@"
[ ! -d "${L}" ] && echo "$0: Could not determine library path" 1>&2 && exit 1
# ld accepts -z solo5-abi=ABI, but does not provide a default ABI
# this is intentional

View file

@ -1,22 +0,0 @@
diff --git a/tests/test_time/test_time.c b/tests/test_time/test_time.c
index 931500b..cde64ad 100644
--- a/tests/test_time/test_time.c
+++ b/tests/test_time/test_time.c
@@ -110,7 +110,8 @@ int solo5_app_main(const struct solo5_start_info *si __attribute__((unused)))
/*
* Verify that we did not sleep less than requested (see above).
*/
- if (delta < NSEC_PER_SEC) {
+ const solo5_time_t slack = 100000000ULL;
+ if (delta < NSEC_PER_SEC - slack) {
printf("[%d] ERROR: slept too little (expected at least %llu ns)\n",
iters, (unsigned long long)NSEC_PER_SEC);
failed = true;
@@ -120,7 +121,6 @@ int solo5_app_main(const struct solo5_start_info *si __attribute__((unused)))
* Verify that we did not sleep more than requested, within reason
* (scheduling delays, general inaccuracy of the current timing code).
*/
- const solo5_time_t slack = 100000000ULL;
if (delta > (NSEC_PER_SEC + slack)) {
printf("[%d] ERROR: slept too much (expected at most %llu ns)\n",
iters, (unsigned long long)slack);

View file

@ -7,7 +7,7 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "bzip3"; pname = "bzip3";
version = "1.1.8"; version = "1.2.0";
outputs = [ "bin" "dev" "out" ]; outputs = [ "bin" "dev" "out" ];
@ -15,12 +15,15 @@ stdenv.mkDerivation rec {
owner = "kspalaiologos"; owner = "kspalaiologos";
repo = "bzip3"; repo = "bzip3";
rev = version; rev = version;
hash = "sha256-ok5LwarXVe2gwwfIWVSfHHY0lt1IfGtkLPlVo757G6g="; hash = "sha256-Ul4nybQ+Gj3i41AFxk2WzVD+b2dJVyCUBuX4ZGjXwUs=";
}; };
postPatch = '' postPatch = ''
echo -n "${version}" > .tarball-version echo -n "${version}" > .tarball-version
patchShebangs build-aux patchShebangs build-aux
# build-aux/ax_subst_man_date.m4 calls git if the file exists
rm .gitignore
''; '';
nativeBuildInputs = [ nativeBuildInputs = [

View file

@ -2,15 +2,14 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "eva"; pname = "eva";
version = "0.3.0-2"; version = "0.3.1";
src = fetchCrate { src = fetchCrate {
inherit pname; inherit pname version;
version = "0.3.0"; sha256 = "sha256-eX2d9h6zNbheS68j3lyhJW05JZmQN2I2MdcmiZB8Mec=";
sha256 = "sha256-oeNv4rKZAl/gQ8b8Yr7fgQeeszJjzMcf9q1KzYpVS1Y=";
}; };
cargoSha256 = "sha256-WBniKff9arVgNFBY2pwB0QgEBvzCL0Dls+6N49V86to="; cargoSha256 = "sha256-gnym2sedyzQzubOtj64Yoh+sKT+sa60w/Z72hby7Pms=";
meta = with lib; { meta = with lib; {
description = "A calculator REPL, similar to bc"; description = "A calculator REPL, similar to bc";

View file

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, cmake, flex, bison, systemd, openssl, libyaml }: { lib, stdenv, fetchFromGitHub, cmake, flex, bison, systemd, postgresql, openssl, libyaml }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fluent-bit"; pname = "fluent-bit";
@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake flex bison ]; nativeBuildInputs = [ cmake flex bison ];
buildInputs = [ openssl libyaml ] buildInputs = [ openssl libyaml postgresql ]
++ lib.optionals stdenv.isLinux [ systemd ]; ++ lib.optionals stdenv.isLinux [ systemd ];
cmakeFlags = [ "-DFLB_METRICS=ON" "-DFLB_HTTP_SERVER=ON" ]; cmakeFlags = [ "-DFLB_METRICS=ON" "-DFLB_HTTP_SERVER=ON" "-DFLB_OUT_PGSQL=ON" ];
# _FORTIFY_SOURCE requires compiling with optimization (-O) # _FORTIFY_SOURCE requires compiling with optimization (-O)
NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-O" ] NIX_CFLAGS_COMPILE = lib.optionals stdenv.cc.isGNU [ "-O" ]

View file

@ -3,12 +3,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "nncp"; pname = "nncp";
version = "8.8.0"; version = "8.8.1";
outputs = [ "out" "doc" "info" ]; outputs = [ "out" "doc" "info" ];
src = fetchurl { src = fetchurl {
url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz"; url = "http://www.nncpgo.org/download/${pname}-${version}.tar.xz";
sha256 = "829E2FB2F1EED8AF7ACE4554405E56F0341BE2A01C234A34D01122382AA0794C"; sha256 = "426463C97211AD88DF74DDDF61BDBB830BAE275668B2F23158D43146517469A6";
}; };
nativeBuildInputs = [ go redo-apenwarr ]; nativeBuildInputs = [ go redo-apenwarr ];
@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
''; '';
homepage = "http://www.nncpgo.org/"; homepage = "http://www.nncpgo.org/";
downloadPage = "http://www.nncpgo.org/Tarballs.html"; downloadPage = "http://www.nncpgo.org/Tarballs.html";
changelog = "http://www.nncpgo.org/News.html";
license = licenses.gpl3Only; license = licenses.gpl3Only;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ ehmry woffs ]; maintainers = with maintainers; [ ehmry woffs ];

View file

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "ghz"; pname = "ghz";
version = "0.110.0"; version = "0.111.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "bojand"; owner = "bojand";
repo = "ghz"; repo = "ghz";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-lAQGog45COrS2a5ZmFZEDERdZt24DnVSkPz49txqFmo="; sha256 = "sha256-FXehWUdFHsWYF/WXrJtmoDIb0Smh3D4aSJS8aOpvoxg=";
}; };
vendorSha256 = "sha256-VjrSUP0SwE5iOTevqIGlnSjH+TV4Ajx/PKuco9etkSc="; vendorSha256 = "sha256-VjrSUP0SwE5iOTevqIGlnSjH+TV4Ajx/PKuco9etkSc=";

View file

@ -20,6 +20,13 @@ stdenv.mkDerivation rec {
hash = "sha256-j5HjGcIqq93Ca9OBqEgSotoSXyw+q6Fqxa3hKk1ctwQ="; hash = "sha256-j5HjGcIqq93Ca9OBqEgSotoSXyw+q6Fqxa3hKk1ctwQ=";
}; };
postPatch = ''
# Avoid blanket -Werror as it triggers on any minor compiler
# warnings like deprecated functions or invalid indentat8ion.
# Leave fixing these problems to upstream.
substituteInPlace CMakeLists.txt --replace ';-Werror;' ';'
'';
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
ninja ninja
@ -32,11 +39,6 @@ stdenv.mkDerivation rec {
qtwayland qtwayland
]; ];
NIX_CFLAGS_COMPILE = [
"-Wno-error=misleading-indentation"
"-Wno-error=deprecated-declarations"
];
meta = with lib; { meta = with lib; {
description = "GUI Firewall Management Application"; description = "GUI Firewall Management Application";
longDescription = '' longDescription = ''

View file

@ -6,7 +6,7 @@
, gradle , gradle
, perl , perl
, makeWrapper , makeWrapper
, openjdk11 , openjdk17
, unzip , unzip
, makeDesktopItem , makeDesktopItem
, autoPatchelfHook , autoPatchelfHook
@ -19,13 +19,13 @@
let let
pkg_path = "$out/lib/ghidra"; pkg_path = "$out/lib/ghidra";
pname = "ghidra"; pname = "ghidra";
version = "10.1.2"; version = "10.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "NationalSecurityAgency"; owner = "NationalSecurityAgency";
repo = "Ghidra"; repo = "Ghidra";
rev = "Ghidra_${version}_build"; rev = "Ghidra_${version}_build";
sha256 = "sha256-gnSIXje0hUpAculNXAyiS7Twc5XWitMgYp7svyZQxzE="; sha256 = "sha256-b6xUSAZgyvpJFiG3/kl2s1vpq9n1etnoa7AJLF3NdZY=";
}; };
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
@ -90,10 +90,10 @@ HERE
export GRADLE_USER_HOME="$HOME/.gradle" export GRADLE_USER_HOME="$HOME/.gradle"
# First, fetch the static dependencies. # First, fetch the static dependencies.
gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk11} -I gradle/support/fetchDependencies.gradle init gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk17} -I gradle/support/fetchDependencies.gradle init
# Then, fetch the maven dependencies. # Then, fetch the maven dependencies.
gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk11} resolveDependencies gradle --no-daemon --info -Dorg.gradle.java.home=${openjdk17} resolveDependencies
''; '';
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar) # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
installPhase = '' installPhase = ''
@ -104,7 +104,7 @@ HERE
''; '';
outputHashAlgo = "sha256"; outputHashAlgo = "sha256";
outputHashMode = "recursive"; outputHashMode = "recursive";
outputHash = "sha256-UHV7Z2HaVTOCY5U0zjUtkchJicrXMBfYBHvL8AA7NTg="; outputHash = "sha256-Z4RS3IzDP8V3SrrwOuX/hTlX7fs3woIhR8GPK/tFAzs=";
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
@ -128,7 +128,7 @@ in stdenv.mkDerivation rec {
sed -i "s#mavenLocal()#mavenLocal(); maven { url '${deps}/maven' }#g" build.gradle sed -i "s#mavenLocal()#mavenLocal(); maven { url '${deps}/maven' }#g" build.gradle
gradle --offline --no-daemon --info -Dorg.gradle.java.home=${openjdk11} buildGhidra gradle --offline --no-daemon --info -Dorg.gradle.java.home=${openjdk17} buildGhidra
''; '';
installPhase = '' installPhase = ''
@ -156,7 +156,7 @@ in stdenv.mkDerivation rec {
mkdir -p "$out/bin" mkdir -p "$out/bin"
ln -s "${pkg_path}/ghidraRun" "$out/bin/ghidra" ln -s "${pkg_path}/ghidraRun" "$out/bin/ghidra"
wrapProgram "${pkg_path}/support/launch.sh" \ wrapProgram "${pkg_path}/support/launch.sh" \
--prefix PATH : ${lib.makeBinPath [ openjdk11 ]} --prefix PATH : ${lib.makeBinPath [ openjdk17 ]}
''; '';
meta = with lib; { meta = with lib; {

View file

@ -31,7 +31,8 @@ python3.pkgs.buildPythonApplication rec {
postPatch = '' postPatch = ''
substituteInPlace pyproject.toml \ substituteInPlace pyproject.toml \
--replace "attrs~=21.4" "attrs>=21.4" --replace "attrs~=21.4" "attrs>=21.4" \
--replace "docker~=5.0.3" "docker"
''; '';
# Project has no tests # Project has no tests

View file

@ -8,14 +8,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "btop"; pname = "btop";
version = "1.2.12"; version = "1.2.13";
hash = "sha256-ieNwFCDJF0U1wTfAeWM22CS3RE1SEp12ODHsRVYFoKU=";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aristocratos"; owner = "aristocratos";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = hash; hash = "sha256-F/muCjhcnM+VqAn6FlD4lv23OLITrmtnHkFc5zv97yk=";
}; };
ADDFLAGS = with darwin.apple_sdk.frameworks; ADDFLAGS = with darwin.apple_sdk.frameworks;

View file

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fio"; pname = "fio";
version = "3.32"; version = "3.33";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "axboe"; owner = "axboe";
repo = "fio"; repo = "fio";
rev = "fio-${version}"; rev = "fio-${version}";
sha256 = "sha256-z9p9WDVjKQAQIP1v5RxnDXjwVl4SVZOvdxlSt5NZN1k="; sha256 = "sha256-d4Fx2QdO+frt+gcBzegJ9CW5NJQRLNkML/iD3te/1d0=";
}; };
buildInputs = [ python3 zlib ] buildInputs = [ python3 zlib ]

View file

@ -1563,6 +1563,9 @@ mapAliases ({
wormhole-rs = magic-wormhole-rs; # Added 2022-05-30. preserve, reason: Arch package name, main binary name wormhole-rs = magic-wormhole-rs; # Added 2022-05-30. preserve, reason: Arch package name, main binary name
wmii_hg = wmii; wmii_hg = wmii;
ws = throw "ws has been dropped due to the lack of maintenance from upstream since 2018"; # Added 2022-06-03 ws = throw "ws has been dropped due to the lack of maintenance from upstream since 2018"; # Added 2022-06-03
wxGTK = throw "wxGTK28 has been removed from nixpkgs as it has reached end of life"; # Added 2022-11-04
wxGTK28 = throw "wxGTK28 has been removed from nixpkgs as it has reached end of life"; # Added 2022-11-04
wxGTK29 = throw "wxGTK29 has been removed from nixpkgs as it has reached end of life"; # Added 2022-11-04
wxGTK31-gtk2 = throw "'wxGTK31-gtk2' has been removed from nixpkgs as it depends on deprecated GTK2"; # Added 2022-10-27 wxGTK31-gtk2 = throw "'wxGTK31-gtk2' has been removed from nixpkgs as it depends on deprecated GTK2"; # Added 2022-10-27
wxGTK31-gtk3 = throw "'wxGTK31-gtk3' has been renamed to/replaced by 'wxGTK31'"; # Added 2022-10-27 wxGTK31-gtk3 = throw "'wxGTK31-gtk3' has been renamed to/replaced by 'wxGTK31'"; # Added 2022-10-27
wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared"; # Added 2022-01-31 wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared"; # Added 2022-01-31

View file

@ -21154,6 +21154,8 @@ with pkgs;
liquidfun = callPackage ../development/libraries/liquidfun { }; liquidfun = callPackage ../development/libraries/liquidfun { };
litehtml = callPackage ../development/libraries/litehtml { };
live555 = callPackage ../development/libraries/live555 { }; live555 = callPackage ../development/libraries/live555 { };
log4cpp = callPackage ../development/libraries/log4cpp { }; log4cpp = callPackage ../development/libraries/log4cpp { };
@ -22916,15 +22918,6 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Cocoa; inherit (darwin.apple_sdk.frameworks) Cocoa;
}; };
wxGTK = wxGTK28;
wxGTK28 = callPackage ../development/libraries/wxwidgets/wxGTK28.nix { };
wxGTK29 = callPackage ../development/libraries/wxwidgets/wxGTK29.nix {
inherit (darwin.stubs) setfile;
inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QuickTime;
};
wxGTK30 = callPackage ../development/libraries/wxwidgets/wxGTK30.nix { wxGTK30 = callPackage ../development/libraries/wxwidgets/wxGTK30.nix {
withGtk2 = true; withGtk2 = true;
inherit (darwin.stubs) setfile; inherit (darwin.stubs) setfile;
@ -30026,6 +30019,8 @@ with pkgs;
lingot = callPackage ../applications/audio/lingot { }; lingot = callPackage ../applications/audio/lingot { };
litebrowser = callPackage ../applications/networking/browsers/litebrowser { };
littlegptracker = callPackage ../applications/audio/littlegptracker { littlegptracker = callPackage ../applications/audio/littlegptracker {
inherit (darwin.apple_sdk.frameworks) Foundation; inherit (darwin.apple_sdk.frameworks) Foundation;
}; };
@ -30616,7 +30611,10 @@ with pkgs;
ninjas2 = callPackage ../applications/audio/ninjas2 {}; ninjas2 = callPackage ../applications/audio/ninjas2 {};
nncp = callPackage ../tools/misc/nncp { }; nncp = (
if stdenv.isDarwin
then darwin.apple_sdk_11_0.callPackage
else callPackage) ../tools/misc/nncp { };
notion = callPackage ../applications/window-managers/notion { }; notion = callPackage ../applications/window-managers/notion { };

View file

@ -2175,6 +2175,8 @@ self: super: with self; {
datasette = callPackage ../development/python-modules/datasette { }; datasette = callPackage ../development/python-modules/datasette { };
datasette-publish-fly = callPackage ../development/python-modules/datasette-publish-fly { };
datasette-template-sql = callPackage ../development/python-modules/datasette-template-sql { }; datasette-template-sql = callPackage ../development/python-modules/datasette-template-sql { };
datashader = callPackage ../development/python-modules/datashader { }; datashader = callPackage ../development/python-modules/datashader { };
@ -10724,6 +10726,8 @@ self: super: with self; {
structlog = callPackage ../development/python-modules/structlog { }; structlog = callPackage ../development/python-modules/structlog { };
stubserver = callPackage ../development/python-modules/stubserver { };
stumpy = callPackage ../development/python-modules/stumpy { }; stumpy = callPackage ../development/python-modules/stumpy { };
stups-cli-support = callPackage ../development/python-modules/stups-cli-support { }; stups-cli-support = callPackage ../development/python-modules/stups-cli-support { };