Merge staging-next-22.05 into staging-22.05

This commit is contained in:
github-actions[bot]
2022-06-06 00:14:24 +00:00
committed by GitHub
82 changed files with 2075 additions and 367 deletions

View File

@@ -9820,6 +9820,12 @@
githubId = 8641;
name = "Pierre Carrier";
};
pedrohlc = {
email = "root@pedrohlc.com";
github = "PedroHLC";
githubId = 1368952;
name = "Pedro Lara Campos";
};
penguwin = {
email = "penguwin@penguwin.eu";
github = "penguwin";

View File

@@ -1037,7 +1037,7 @@
};
extraConfigFiles = [
/run/keys/matrix-synapse/secrets.yaml
"/run/keys/matrix-synapse/secrets.yaml"
];
};
}
@@ -1045,7 +1045,9 @@
<para>
The secrets in your original config should be migrated into a
YAML file that is included via
<literal>extraConfigFiles</literal>.
<literal>extraConfigFiles</literal>. The filename must be
quoted to prevent nix from copying it to the (world readable)
store.
</para>
<para>
Additionally a few option defaults have been synced up with

View File

@@ -404,13 +404,13 @@ In addition to numerous new and upgraded packages, this release has the followin
};
extraConfigFiles = [
/run/keys/matrix-synapse/secrets.yaml
"/run/keys/matrix-synapse/secrets.yaml"
];
};
}
```
The secrets in your original config should be migrated into a YAML file that is included via `extraConfigFiles`.
The secrets in your original config should be migrated into a YAML file that is included via `extraConfigFiles`. The filename must be quoted to prevent nix from copying it to the (world readable) store.
Additionally a few option defaults have been synced up with upstream default values, for example the `max_upload_size` grew from `10M` to `50M`. For the same reason, the default
`media_store_path` was changed from `${dataDir}/media` to `${dataDir}/media_store` if `system.stateVersion` is at least `22.05`. Files will need to be manually moved to the new

View File

@@ -2,20 +2,21 @@
buildGoModule rec {
pname = "NoiseTorch";
version = "0.11.5";
version = "0.12.0";
src = fetchFromGitHub {
owner = "lawl";
owner = "noisetorch";
repo = "NoiseTorch";
rev = version;
sha256 = "sha256-j/6XB3vA5LvTuCxmeB0HONqEDzYg210AWW/h3nCGOD8=";
rev = "v${version}";
sha256 = "sha256-A6cX1ck47/ZIn9cnV/Ow4CxVFfOX5J0K0Q+B70jCFdQ=";
fetchSubmodules = true;
};
vendorSha256 = null;
doCheck = false;
ldflags = [ "-X main.version=${version}" "-X main.distribution=nix" ];
ldflags = [ "-X main.version=${version}" "-X main.distribution=nix" ];
subPackages = [ "." ];
@@ -34,9 +35,10 @@ buildGoModule rec {
meta = with lib; {
insecure = true;
knownVulnerabilities = [ "https://github.com/lawl/NoiseTorch/releases/tag/0.11.6" ];
knownVulnerabilities =
lib.optional (lib.versionOlder version "0.12") "https://github.com/noisetorch/NoiseTorch/releases/tag/v0.12.0";
description = "Virtual microphone device with noise supression for PulseAudio";
homepage = "https://github.com/lawl/NoiseTorch";
homepage = "https://github.com/noisetorch/NoiseTorch";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ panaeon lom ];

View File

@@ -45,13 +45,13 @@ in
stdenv.mkDerivation rec {
pname = "imagemagick";
version = "7.1.0-36";
version = "7.1.0-37";
src = fetchFromGitHub {
owner = "ImageMagick";
repo = "ImageMagick";
rev = version;
hash = "sha256-fl83O3vVHp12+Vj3WT0NOWe5a6ufmtFlxVlbUhIzfB0=";
hash = "sha256-Okp3oPIAEXl+fTnEw0jufSxcRU6ip+on5/IyGEjzx2E=";
};
outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big

View File

@@ -10,13 +10,13 @@
stdenv.mkDerivation rec {
pname = "seatd";
version = "0.6.4";
version = "0.7.0";
src = fetchFromSourcehut {
owner = "~kennylevinsen";
repo = "seatd";
rev = version;
sha256 = "1k0wz68aqr9xgpyrfrsmrjn5b634qmm7fwv2d73w112hjmgvjxk5";
sha256 = "sha256-m8xoL90GI822FTgCXuVr3EejLAMUStkPKVoV7w8ayIE=";
};
outputs = [ "bin" "out" "dev" "man" ];

View File

@@ -2,19 +2,19 @@
buildGoModule rec {
pname = "argocd";
version = "2.3.3";
version = "2.3.4";
src = fetchFromGitHub {
owner = "argoproj";
repo = "argo-cd";
rev = "v${version}";
sha256 = "sha256-ChgWqhkzVKhbyEA+g2flWK/WMxur7UHWXJUcLzp9RTE=";
sha256 = "sha256-pWDwmsLCXoK8EzipOPXUdYu75hPm5AIExXmgoA102Dg=";
};
vendorSha256 = "sha256-XrIIMnn65Y10KnVTsmw6vLE53Zra1lWNFgklmaj3gF8=";
# Set target as ./cmd per release-cli
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L222
# Set target as ./cmd per cli-local
# https://github.com/argoproj/argo-cd/blob/master/Makefile#L227
subPackages = [ "cmd" ];
ldflags =
@@ -26,6 +26,11 @@ buildGoModule rec {
"-X ${package_url}.gitCommit=${src.rev}"
"-X ${package_url}.gitTag=${src.rev}"
"-X ${package_url}.gitTreeState=clean"
"-X ${package_url}.kubectlVersion=v0.23.1"
# NOTE: Update kubectlVersion when upgrading this package with
# go list -m k8s.io/client-go | head -n 1 | rev | cut -d' ' -f1 | rev
# Per https://github.com/argoproj/argo-cd/blob/master/Makefile#L18
# Will need a way to automate it :P
];
nativeBuildInputs = [ installShellFiles ];

View File

@@ -24,7 +24,7 @@ let
in stdenv.mkDerivation rec {
pname = "signal-desktop";
version = "5.44.1"; # Please backport all updates to the stable channel.
version = "5.45.0"; # 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:
@@ -34,7 +34,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 = "sha256-r9jCN8amX4ipv8V+i2j1CkZRJXun17EFi3wr8yMfXgQ=";
sha256 = "sha256-RqzFUE43wbz8Hw7hXxqqX9iEatjIHe0SbHD1+ieIR34=";
};
nativeBuildInputs = [

View File

@@ -1,5 +1,4 @@
{ mkDerivation
, lib
{ lib
, fetchFromGitHub
, callPackage
, pkg-config
@@ -10,9 +9,10 @@
, wrapQtAppsHook
, extra-cmake-modules
, qtbase
, qtsvg
, qtimageformats
, qt5compat
, gtk3
, kwayland
, libdbusmenu
, lz4
, xxHash
@@ -70,7 +70,7 @@ let
in
env.mkDerivation rec {
pname = "telegram-desktop";
version = "3.6.0";
version = "3.7.3";
# Note: Update via pkgs/applications/networking/instant-messengers/telegram/tdesktop/update.py
# Telegram-Desktop with submodules
@@ -79,17 +79,9 @@ env.mkDerivation rec {
repo = "tdesktop";
rev = "v${version}";
fetchSubmodules = true;
sha256 = "0zcjm08nfdlxrsv0fi6dqg3lk52bcvsxnsf6jm5fv6gf5v9ia3hq";
sha256 = "01b3nrhfbxhq4w63nsjnrhyfsdq3fm4l7sfkasbh8ib4qk3c9vwz";
};
patches = [
# fix build with KWayland 5.94+
# cf. https://invent.kde.org/frameworks/kwayland/-/commit/de442e4a94e249a29cf2e005db8e0a5e4a6a13ed
# upstream bug: https://github.com/telegramdesktop/tdesktop/issues/24375
# FIXME remove when no longer necessary
./kf594.diff
];
postPatch = ''
substituteInPlace Telegram/CMakeLists.txt \
--replace '"''${TDESKTOP_LAUNCHER_BASENAME}.appdata.xml"' '"''${TDESKTOP_LAUNCHER_BASENAME}.metainfo.xml"'
@@ -120,9 +112,10 @@ env.mkDerivation rec {
buildInputs = [
qtbase
qtsvg
qtimageformats
qt5compat
gtk3
kwayland
libdbusmenu
lz4
xxHash
@@ -166,8 +159,6 @@ env.mkDerivation rec {
"-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
# See: https://github.com/NixOS/nixpkgs/pull/130827#issuecomment-885212649
"-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF"
# TODO: Remove once QT6 is available in nixpkgs
"-DDESKTOP_APP_QT6=OFF"
];
postFixup = ''

View File

@@ -1,57 +0,0 @@
diff --git a/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp b/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp
index 7641579aa..3c195e397 100644
--- a/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp
+++ b/Telegram/SourceFiles/platform/linux/linux_wayland_integration.cpp
@@ -9,10 +9,10 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include "base/platform/base_platform_info.h"
-#include <connection_thread.h>
-#include <registry.h>
-#include <surface.h>
-#include <plasmashell.h>
+#include <KWayland/Client/connection_thread.h>
+#include <KWayland/Client/registry.h>
+#include <KWayland/Client/surface.h>
+#include <KWayland/Client/plasmashell.h>
using namespace KWayland::Client;
Submodule Telegram/lib_base contains modified content
diff --git a/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp b/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp
index 32f0de6..30a087f 100644
--- a/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp
+++ b/Telegram/lib_base/base/platform/linux/base_linux_wayland_integration.cpp
@@ -13,11 +13,11 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include <QtCore/QPointer>
#include <QtGui/QWindow>
-#include <connection_thread.h>
-#include <registry.h>
-#include <surface.h>
-#include <xdgforeign.h>
-#include <idleinhibit.h>
+#include <KWayland/Client/connection_thread.h>
+#include <KWayland/Client/registry.h>
+#include <KWayland/Client/surface.h>
+#include <KWayland/Client/xdgforeign.h>
+#include <KWayland/Client/idleinhibit.h>
using namespace KWayland::Client;
Submodule Telegram/lib_ui contains modified content
diff --git a/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp b/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp
index 01f1e80..163cb6a 100644
--- a/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp
+++ b/Telegram/lib_ui/ui/platform/linux/ui_linux_wayland_integration.cpp
@@ -24,8 +24,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
#include <private/qwaylandwindow_p.h>
#include <private/qwaylandshellsurface_p.h>
-#include <connection_thread.h>
-#include <registry.h>
+#include <KWayland/Client/connection_thread.h>
+#include <KWayland/Client/registry.h>
Q_DECLARE_METATYPE(QMargins);

View File

@@ -9,13 +9,13 @@
stdenv.mkDerivation {
pname = "tg_owt";
version = "unstable-2022-02-25";
version = "unstable-2022-04-14";
src = fetchFromGitHub {
owner = "desktop-app";
repo = "tg_owt";
rev = "a264028ec71d9096e0aa629113c49c25db89d260";
sha256 = "10p3x8z3ps8s1ivi9y8px2gsg4pvsvz6g9wbgh5w8hilikxqq7r5";
rev = "63a934db1ed212ebf8aaaa20f0010dd7b0d7b396";
sha256 = "sha256-WddSsQ9KW1zYyYckzdUOvfFZArYAbyvXmABQNMtK6cM=";
fetchSubmodules = true;
};

View File

@@ -30,6 +30,9 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Markdown presentation writer, powered by Electron";
homepage = "https://yhatt.github.io/marp/";
knownVulnerabilities = [
"Remote code execution: https://github.com/yhatt/marp/issues/276"
];
license = licenses.mit;
maintainers = [ maintainers.puffnfresh ];
platforms = [ "x86_64-linux" ];

View File

@@ -14,7 +14,7 @@ ocamlPackages.buildDunePackage rec {
useDune2 = true;
buildInputs = with ocamlPackages; [
gen sedlex_2 ocaml_extlib dune-build-info linenoise
gen sedlex ocaml_extlib dune-build-info linenoise
];
postPatch = ''

View File

@@ -165,6 +165,11 @@
"https://ftp.postgresql.org/pub/"
];
# Qt
qt = [
"https://download.qt.io/"
];
# Roy marples mirrors
roy = [
"https://roy.marples.name/downloads/"

View File

@@ -71,11 +71,11 @@ let
owner = "googlefonts";
repo = "noto-cjk";
inherit rev sha256;
sparseCheckout = "${typeface}/Variable/OTC";
sparseCheckout = "${typeface}/OTC";
};
installPhase = ''
install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${typeface}/Variable/OTC/*.otf.ttc
install -m444 -Dt $out/share/fonts/opentype/noto-cjk ${typeface}/OTC/*.ttc
'';
passthru.tests.noto-fonts = nixosTests.noto-fonts;
@@ -117,14 +117,14 @@ in
typeface = "Sans";
version = "2.004";
rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d";
sha256 = "sha256-11d/78i21yuzxrfB5t2VQN9OBz/qZKeozuS6BrLFjzw=";
sha256 = "sha256-pNC/WJCYHSlU28E/CSFsrEMbyCe/6tjevDlOvDK9RwU=";
};
noto-fonts-cjk-serif = mkNotoCJK {
typeface = "Serif";
version = "2.000";
rev = "9f7f3c38eab63e1d1fddd8d50937fe4f1eacdb1d";
sha256 = "sha256-G+yl3LZvSFpbEUuuvattPDctKTzBCshOi970DcbPliE=";
sha256 = "sha256-Iy4lmWj5l+/Us/dJJ/Jl4MEojE9mrFnhNQxX2zhVngY=";
};
noto-fonts-emoji = let

View File

@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
fileutils
menhirLib
pprint
sedlex_2
sedlex
ppxlib
ppx_deriving
ppx_deriving_yojson

View File

@@ -6,7 +6,7 @@ let
then with ocaml-ng.ocamlPackages_4_12; [
ocaml
findlib
sedlex_2
sedlex
xml-light
ptmap
camlp5
@@ -18,7 +18,7 @@ let
then with ocaml-ng.ocamlPackages_4_10; [
ocaml
findlib
sedlex_2
sedlex
xml-light
ptmap
camlp5

View File

@@ -1,24 +1,22 @@
{ lib, pkgs, stdenv, fetchFromGitHub, jdk11_headless }:
{ lib, pkgs, stdenv, fetchzip, jdk17_headless }:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "lfc";
version = "0.1.0";
version = "0.2.0";
src = fetchFromGitHub {
owner = "revol-xut";
repo = "lingua-franca-nix-releases";
rev = "d37bbfa530f0189c3e86ce0191134cdf42c6aec7";
sha256 = "/qMBOjffvShCPcbh9rJ7aVgdgZQ1hilHakjLyEhSmgs=";
src = fetchzip {
url = "https://github.com/lf-lang/lingua-franca/releases/download/v${version}/lfc_${version}.zip";
sha256 = "rBx7UnPLufZBO7lG0In5upHqYCyRtI4kQv0V83CZHew=";
};
buildInputs = [ jdk11_headless ];
buildInputs = [ jdk17_headless ];
_JAVA_HOME = "${jdk11_headless}/";
_JAVA_HOME = "${jdk17_headless}/";
postPatch = ''
substituteInPlace bin/lfc \
--replace 'base=`dirname $(dirname ''${abs_path})`' "base='$out'" \
--replace "run_lfc_with_args" "${jdk11_headless}/bin/java -jar $out/lib/jars/org.lflang.lfc-0.1.0-SNAPSHOT-all.jar"
--replace "run_lfc_with_args" "${jdk17_headless}/bin/java -jar $out/lib/jars/org.lflang.lfc-${version}-SNAPSHOT-all.jar"
'';
installPhase = ''

View File

@@ -0,0 +1,129 @@
commit 4f497c358e0386b65df1c1d636aadf72f8647134
Author: Nick Cao <nickcao@nichi.co>
Date: Tue Apr 19 13:49:59 2022 +0800
patch cmake file generation for nixpkgs packaging
As of qt 6.3.0, installing components into different prefixes is not
supported. To workaround that, we move files to their designated in the
postInstall hook. However the generated cmake files still have
references to the original prefix, and would cause issues when using
said components as the dependency of other packages. The purpose of this
patch is to closely match the output layout of qt, and rewrite the
generated cmake files to point to the corrected pathes.
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index 8b0f64e23b..03291e2ee2 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -6,6 +6,7 @@
#include <cstring>
#include <sstream>
#include <utility>
+#include <cstdlib>
#include <cm/memory>
@@ -325,9 +326,23 @@ static void prefixItems(std::string& exportDirs)
for (std::string const& e : entries) {
exportDirs += sep;
sep = ";";
- if (!cmSystemTools::FileIsFullPath(e) &&
- e.find("${_IMPORT_PREFIX}") == std::string::npos) {
- exportDirs += "${_IMPORT_PREFIX}/";
+ if (!cmSystemTools::FileIsFullPath(e)) {
+ if (std::getenv("dev")) {
+ if (cmHasLiteralPrefix(e, "include") || cmHasLiteralPrefix(e, "./include")) {
+ exportDirs += std::getenv("dev");
+ } else if (cmHasLiteralPrefix(e, "bin") || cmHasLiteralPrefix(e, "./bin")) {
+ exportDirs += std::getenv("dev");
+ } else if (cmHasLiteralPrefix(e, "mkspecs") || cmHasLiteralPrefix(e, "./mkspecs")) {
+ exportDirs += std::getenv("dev");
+ } else if (cmHasLiteralPrefix(e, "libexec") || cmHasLiteralPrefix(e, "./libexec")) {
+ exportDirs += std::getenv("dev");
+ } else {
+ exportDirs += std::getenv("out");
+ }
+ } else {
+ exportDirs += std::getenv("out");
+ }
+ exportDirs += "/";
}
exportDirs += e;
}
diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx
index 4a3c565bce..5afa9e5e50 100644
--- a/Source/cmExportInstallFileGenerator.cxx
+++ b/Source/cmExportInstallFileGenerator.cxx
@@ -5,6 +5,7 @@
#include <memory>
#include <sstream>
#include <utility>
+#include <cstdlib>
#include "cmExportSet.h"
#include "cmGeneratedFileStream.h"
@@ -263,7 +264,7 @@ void cmExportInstallFileGenerator::LoadConfigFiles(std::ostream& os)
void cmExportInstallFileGenerator::ReplaceInstallPrefix(std::string& input)
{
- cmGeneratorExpression::ReplaceInstallPrefix(input, "${_IMPORT_PREFIX}");
+ cmGeneratorExpression::ReplaceInstallPrefix(input, std::getenv("out"));
}
bool cmExportInstallFileGenerator::GenerateImportFileConfig(
@@ -381,9 +382,24 @@ void cmExportInstallFileGenerator::SetImportLocationProperty(
// Construct the installed location of the target.
std::string dest = itgen->GetDestination(config);
std::string value;
+
if (!cmSystemTools::FileIsFullPath(dest)) {
- // The target is installed relative to the installation prefix.
- value = "${_IMPORT_PREFIX}/";
+ if (std::getenv("dev")) {
+ if (cmHasLiteralPrefix(dest, "include") || cmHasLiteralPrefix(dest, "./include")) {
+ value = std::getenv("dev");
+ } else if (cmHasLiteralPrefix(dest, "bin") || cmHasLiteralPrefix(dest, "./bin")) {
+ value = std::getenv("dev");
+ } else if (cmHasLiteralPrefix(dest, "mkspecs") || cmHasLiteralPrefix(dest, "./mkspecs")) {
+ value = std::getenv("dev");
+ } else if (cmHasLiteralPrefix(dest, "libexec") || cmHasLiteralPrefix(dest, "./libexec")) {
+ value = std::getenv("dev");
+ } else {
+ value = std::getenv("out");
+ }
+ } else {
+ value = std::getenv("out");
+ }
+ value += "/";
}
value += dest;
value += "/";
diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index 840f5112d6..7bb4ab41aa 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -197,7 +197,22 @@ static void prefixItems(const std::string& content, std::string& result,
sep = ";";
if (!cmSystemTools::FileIsFullPath(e) &&
cmGeneratorExpression::Find(e) != 0) {
- result += prefix;
+ if (std::getenv("dev")) {
+ if (cmHasLiteralPrefix(e, "include") || cmHasLiteralPrefix(e, "./include")) {
+ result += std::getenv("dev");
+ } else if (cmHasLiteralPrefix(e, "bin") || cmHasLiteralPrefix(e, "./bin")) {
+ result += std::getenv("dev");
+ } else if (cmHasLiteralPrefix(e, "mkspecs") || cmHasLiteralPrefix(e, "./mkspecs")) {
+ result += std::getenv("dev");
+ } else if (cmHasLiteralPrefix(e, "libexec") || cmHasLiteralPrefix(e, "./libexec")) {
+ result += std::getenv("dev");
+ } else {
+ result += std::getenv("out");
+ }
+ } else {
+ result += std::getenv("out");
+ }
+ result += "/";
}
result += e;
}

View File

@@ -0,0 +1,94 @@
{ newScope
, lib
, stdenv
, fetchurl
, fetchgit
, fetchpatch
, fetchFromGitHub
, makeSetupHook
, makeWrapper
, bison
, cups
, harfbuzz
, libGL
, perl
, cmake
, ninja
, writeText
, gstreamer
, gst-plugins-base
, gtk3
, dconf
# options
, developerBuild ? false
, debug ? false
}:
let
srcs = import ./srcs.nix {
inherit fetchurl;
mirror = "mirror://qt";
};
qtModule =
import ./qtModule.nix
{ inherit stdenv lib perl cmake ninja writeText; }
{ inherit self srcs; };
addPackages = self: with self;
let
callPackage = self.newScope { inherit qtModule srcs; };
in
{
inherit callPackage qtModule srcs;
qtbase = callPackage ./modules/qtbase.nix {
withGtk3 = true;
inherit (srcs.qtbase) src version;
inherit bison cups harfbuzz libGL dconf gtk3 developerBuild cmake;
};
qt3d = callPackage ./modules/qt3d.nix { };
qt5compat = callPackage ./modules/qt5compat.nix { };
qtcharts = callPackage ./modules/qtcharts.nix { };
qtconnectivity = callPackage ./modules/qtconnectivity.nix { };
qtdatavis3d = callPackage ./modules/qtdatavis3d.nix { };
qtdeclarative = callPackage ./modules/qtdeclarative.nix { };
qtdoc = callPackage ./modules/qtdoc.nix { };
qtimageformats = callPackage ./modules/qtimageformats.nix { };
qtlanguageserver = callPackage ./modules/qtlanguageserver.nix { };
qtlottie = callPackage ./modules/qtlottie.nix { };
qtmultimedia = callPackage ./modules/qtmultimedia.nix {
inherit gstreamer gst-plugins-base;
};
qtnetworkauth = callPackage ./modules/qtnetworkauth.nix { };
qtpositioning = callPackage ./modules/qtpositioning.nix { };
qtsensors = callPackage ./modules/qtsensors.nix { };
qtserialbus = callPackage ./modules/qtserialbus.nix { };
qtserialport = callPackage ./modules/qtserialport.nix { };
qtshadertools = callPackage ./modules/qtshadertools.nix { };
qtquick3d = callPackage ./modules/qtquick3d.nix { };
qtquicktimeline = callPackage ./modules/qtquicktimeline.nix { };
qtremoteobjects = callPackage ./modules/qtremoteobjects.nix { };
qtsvg = callPackage ./modules/qtsvg.nix { };
qtscxml = callPackage ./modules/qtscxml.nix { };
qttools = callPackage ./modules/qttools.nix { };
qttranslations = callPackage ./modules/qttranslations.nix { };
qtvirtualkeyboard = callPackage ./modules/qtvirtualkeyboard.nix { };
qtwayland = callPackage ./modules/qtwayland.nix { };
qtwebchannel = callPackage ./modules/qtwebchannel.nix { };
qtwebengine = callPackage ./modules/qtwebengine.nix { };
qtwebsockets = callPackage ./modules/qtwebsockets.nix { };
qtwebview = callPackage ./modules/qtwebview.nix { };
wrapQtAppsHook = makeSetupHook
{
deps = [ self.qtbase.dev self.qtwayland.dev makeWrapper ];
} ./hooks/wrap-qt-apps-hook.sh;
};
self = lib.makeScope newScope addPackages;
in
self

View File

@@ -0,0 +1 @@
WGET_ARGS=( http://download.qt.io/official_releases/qt/6.3/6.3.0/submodules/ -A '*.tar.xz' )

View File

@@ -0,0 +1,43 @@
if [[ -n "${__nix_qtbase-}" ]]; then
# Throw an error if a different version of Qt was already set up.
if [[ "$__nix_qtbase" != "@dev@" ]]; then
echo >&2 "Error: detected mismatched Qt dependencies:"
echo >&2 " @dev@"
echo >&2 " $__nix_qtbase"
exit 1
fi
else # Only set up Qt once.
__nix_qtbase="@dev@"
qtPluginPrefix=@qtPluginPrefix@
qtQmlPrefix=@qtQmlPrefix@
# Disable debug symbols if qtbase was built without debugging.
# This stops -dev paths from leaking into other outputs.
if [ -z "@debug@" ]; then
NIX_CFLAGS_COMPILE="${NIX_CFLAGS_COMPILE-}${NIX_CFLAGS_COMPILE:+ }-DQT_NO_DEBUG"
fi
# Integration with CMake:
# Set the CMake build type corresponding to how qtbase was built.
if [ -n "@debug@" ]; then
cmakeBuildType="Debug"
else
cmakeBuildType="Release"
fi
qtPreHook() {
# Check that wrapQtAppsHook is used, or it is explicitly disabled.
if [[ -z "$__nix_wrapQtAppsHook" && -z "$dontWrapQtApps" ]]; then
echo >&2 "Error: wrapQtAppsHook is not used, and dontWrapQtApps is not set."
exit 1
fi
}
prePhases+=" qtPreHook"
addQtModulePrefix () {
addToSearchPath QT_ADDITIONAL_PACKAGES_PREFIX_PATH $1
}
addEnvHooks "$hostOffset" addQtModulePrefix
fi

View File

@@ -0,0 +1,107 @@
if [[ -z "${__nix_wrapQtAppsHook-}" ]]; then
__nix_wrapQtAppsHook=1 # Don't run this hook more than once.
# Inherit arguments given in mkDerivation
qtWrapperArgs=( ${qtWrapperArgs-} )
qtHostPathSeen=()
qtUnseenHostPath() {
for pkg in "${qtHostPathSeen[@]}"
do
if [ "${pkg:?}" == "$1" ]
then
return 1
fi
done
qtHostPathSeen+=("$1")
return 0
}
qtHostPathHook() {
qtUnseenHostPath "$1" || return 0
local pluginDir="$1/${qtPluginPrefix:?}"
if [ -d "$pluginDir" ]
then
qtWrapperArgs+=(--prefix QT_PLUGIN_PATH : "$pluginDir")
fi
local qmlDir="$1/${qtQmlPrefix:?}"
if [ -d "$qmlDir" ]
then
qtWrapperArgs+=(--prefix QML2_IMPORT_PATH : "$qmlDir")
fi
}
addEnvHooks "$hostOffset" qtHostPathHook
makeQtWrapper() {
local original="$1"
local wrapper="$2"
shift 2
makeWrapper "$original" "$wrapper" "${qtWrapperArgs[@]}" "$@"
}
wrapQtApp() {
local program="$1"
shift 1
wrapProgram "$program" "${qtWrapperArgs[@]}" "$@"
}
qtOwnPathsHook() {
local xdgDataDir="${!outputBin}/share"
if [ -d "$xdgDataDir" ]
then
qtWrapperArgs+=(--prefix XDG_DATA_DIRS : "$xdgDataDir")
fi
local xdgConfigDir="${!outputBin}/etc/xdg"
if [ -d "$xdgConfigDir" ]
then
qtWrapperArgs+=(--prefix XDG_CONFIG_DIRS : "$xdgConfigDir")
fi
qtHostPathHook "${!outputBin}"
}
preFixupPhases+=" qtOwnPathsHook"
# Note: $qtWrapperArgs still gets defined even if ${dontWrapQtApps-} is set.
wrapQtAppsHook() {
# skip this hook when requested
[ -z "${dontWrapQtApps-}" ] || return 0
# guard against running multiple times (e.g. due to propagation)
[ -z "$wrapQtAppsHookHasRun" ] || return 0
wrapQtAppsHookHasRun=1
local targetDirs=( "$prefix/bin" "$prefix/sbin" "$prefix/libexec" "$prefix/Applications" "$prefix/"*.app )
echo "wrapping Qt applications in ${targetDirs[@]}"
for targetDir in "${targetDirs[@]}"
do
[ -d "$targetDir" ] || continue
find "$targetDir" ! -type d -executable -print0 | while IFS= read -r -d '' file
do
isELF "$file" || isMachO "$file" || continue
if [ -f "$file" ]
then
echo "wrapping $file"
wrapQtApp "$file"
elif [ -h "$file" ]
then
target="$(readlink -e "$file")"
echo "wrapping $file -> $target"
rm "$file"
makeQtWrapper "$target" "$file"
fi
done
done
}
fixupOutputHooks+=(wrapQtAppsHook)
fi

View File

@@ -0,0 +1,12 @@
{ qtModule
, qtbase
, qtdeclarative
, qtmultimedia
, assimp
}:
qtModule {
pname = "qt3d";
qtInputs = [ qtbase qtdeclarative qtmultimedia ];
propagatedBuildInputs = [ assimp ];
}

View File

@@ -0,0 +1,13 @@
{ qtModule
, qtbase
, qtdeclarative
, libiconv
, icu
, openssl
}:
qtModule {
pname = "qt5compat";
qtInputs = [ qtbase qtdeclarative ];
buildInputs = [ libiconv icu openssl openssl ];
}

View File

@@ -0,0 +1,222 @@
{ stdenv
, lib
, src
, patches ? [ ]
, version
, coreutils
, bison
, flex
, gdb
, gperf
, lndir
, perl
, pkg-config
, python3
, which
, cmake
, ninja
, ccache
, xmlstarlet
, libproxy
, xlibsWrapper
, xorg
, zstd
, double-conversion
, util-linux
, systemd
, libb2
, md4c
, mtdev
, lksctp-tools
, libselinux
, libsepol
, vulkan-headers
, vulkan-loader
, valgrind
, libthai
, libdrm
, libdatrie
, lttng-ust
, libepoxy
, libiconv
, dbus
, fontconfig
, freetype
, glib
, harfbuzz
, icu
, libX11
, libXcomposite
, libXcursor
, libXext
, libXi
, libXrender
, libinput
, libjpeg
, libpng
, libxcb
, libxkbcommon
, libxml2
, libxslt
, openssl
, pcre
, pcre2
, sqlite
, udev
, xcbutil
, xcbutilimage
, xcbutilkeysyms
, xcbutilrenderutil
, xcbutilwm
, zlib
, at-spi2-core
, unixODBC
, unixODBCDrivers
# optional dependencies
, cups
, libmysqlclient
, postgresql
, withGtk3 ? false
, dconf
, gtk3
# options
, libGLSupported ? true
, libGL
, debug ? false
, developerBuild ? false
}:
let
debugSymbols = debug || developerBuild;
in
stdenv.mkDerivation rec {
pname = "qtbase";
inherit src version;
debug = debugSymbols;
propagatedBuildInputs = [
libxml2
libxslt
openssl
sqlite
zlib
unixODBC
# Text rendering
harfbuzz
icu
# Image formats
libjpeg
libpng
pcre2
pcre
libproxy
xlibsWrapper
zstd
double-conversion
util-linux
systemd
libb2
md4c
mtdev
lksctp-tools
libselinux
libsepol
lttng-ust
vulkan-headers
vulkan-loader
libthai
libdrm
libdatrie
valgrind
dbus
glib
udev
# Text rendering
fontconfig
freetype
# X11 libs
libX11
libXcomposite
libXext
libXi
libXrender
libxcb
libxkbcommon
xcbutil
xcbutilimage
xcbutilkeysyms
xcbutilrenderutil
xcbutilwm
xorg.libXdmcp
xorg.libXtst
xorg.xcbutilcursor
libepoxy
] ++ (with unixODBCDrivers; [
psql
sqlite
mariadb
]) ++ lib.optional libGLSupported libGL;
buildInputs = [
python3
at-spi2-core
libinput
]
++ lib.optional withGtk3 gtk3
++ lib.optional developerBuild gdb
++ lib.optional (cups != null) cups
++ lib.optional (libmysqlclient != null) libmysqlclient
++ lib.optional (postgresql != null) postgresql;
nativeBuildInputs = [ bison flex gperf lndir perl pkg-config which cmake xmlstarlet ninja ];
propagatedNativeBuildInputs = [ lndir ];
enableParallelBuilding = true;
inherit patches;
# https://bugreports.qt.io/browse/QTBUG-97568
postPatch = ''
substituteInPlace src/corelib/CMakeLists.txt --replace /bin/ls ${coreutils}/bin/ls
'';
preConfigure = ''
export LD_LIBRARY_PATH="$PWD/build/lib:$PWD/build/plugins/platforms''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
'';
qtPluginPrefix = "lib/qt-6/plugins";
qtQmlPrefix = "lib/qt-6/qml";
cmakeFlags = [
"-DINSTALL_PLUGINSDIR=${qtPluginPrefix}"
"-DINSTALL_QMLDIR=${qtQmlPrefix}"
"-DQT_FEATURE_journald=ON"
"-DQT_FEATURE_sctp=ON"
"-DQT_FEATURE_libproxy=ON"
"-DQT_FEATURE_system_sqlite=ON"
"-DQT_FEATURE_vulkan=ON"
"-DQT_FEATURE_openssl_linked=ON"
];
outputs = [ "out" "dev" ];
postInstall = ''
mkdir -p $dev
mv $out/mkspecs $out/bin $out/libexec $dev/
'';
dontStrip = debugSymbols;
setupHook = ../hooks/qtbase-setup-hook.sh;
meta = with lib; {
homepage = "https://www.qt.io/";
description = "A cross-platform application framework for C++";
license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
maintainers = with maintainers; [ milahu nickcao ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,9 @@
{ qtModule
, qtbase
, qtdeclarative
}:
qtModule {
pname = "qtcharts";
qtInputs = [ qtbase qtdeclarative ];
}

View File

@@ -0,0 +1,15 @@
{ qtModule
, lib
, stdenv
, qtbase
, qtdeclarative
, bluez
, pkg-config
}:
qtModule {
pname = "qtconnectivity";
qtInputs = [ qtbase qtdeclarative ];
buildInputs = [ bluez ];
nativeBuildInputs = [ pkg-config ];
}

View File

@@ -0,0 +1,9 @@
{ qtModule
, qtbase
, qtdeclarative
}:
qtModule {
pname = "qtdatavis3d";
qtInputs = [ qtbase qtdeclarative ];
}

View File

@@ -0,0 +1,19 @@
{ qtModule
, qtbase
, qtshadertools
, openssl
, python3
}:
qtModule {
pname = "qtdeclarative";
qtInputs = [ qtbase qtshadertools ];
propagatedBuildInputs = [ openssl python3 ];
preConfigure = ''
export LD_LIBRARY_PATH="$PWD/build/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
'';
postInstall = ''
substituteInPlace "$out/lib/cmake/Qt6Qml/Qt6QmlMacros.cmake" \
--replace ''\'''${QT6_INSTALL_PREFIX}' "$out"
'';
}

View File

@@ -0,0 +1,9 @@
{ qtModule
, qtdeclarative
}:
qtModule {
pname = "qtdoc";
qtInputs = [ qtdeclarative ];
outputs = [ "out" ];
}

View File

@@ -0,0 +1,13 @@
{ qtModule
, qtbase
, libwebp
, jasper
, libmng
, libtiff
}:
qtModule {
pname = "qtimageformats";
qtInputs = [ qtbase ];
buildInputs = [ libwebp jasper libmng libtiff ];
}

View File

@@ -0,0 +1,8 @@
{ qtModule
, qtbase
}:
qtModule {
pname = "qtlanguageserver";
qtInputs = [ qtbase ];
}

View File

@@ -0,0 +1,9 @@
{ qtModule
, qtbase
, qtdeclarative
}:
qtModule {
pname = "qtlottie";
qtInputs = [ qtbase qtdeclarative ];
}

View File

@@ -0,0 +1,24 @@
{ qtModule
, lib
, stdenv
, qtbase
, qtdeclarative
, qtshadertools
, qtsvg
, pkg-config
, alsa-lib
, gstreamer
, gst-plugins-base
, libpulseaudio
, wayland
, elfutils
, libunwind
, orc
}:
qtModule {
pname = "qtmultimedia";
qtInputs = [ qtbase qtdeclarative qtsvg qtshadertools ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ gstreamer gst-plugins-base libpulseaudio elfutils libunwind alsa-lib wayland orc ];
}

View File

@@ -0,0 +1,6 @@
{ qtModule, qtbase }:
qtModule {
pname = "qtnetworkauth";
qtInputs = [ qtbase ];
}

View File

@@ -0,0 +1,14 @@
{ qtModule
, qtbase
, qtdeclarative
, qtserialport
, pkg-config
, openssl
}:
qtModule {
pname = "qtpositioning";
qtInputs = [ qtbase qtdeclarative qtserialport ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ openssl ];
}

View File

@@ -0,0 +1,11 @@
{ qtModule
, qtbase
, qtdeclarative
, openssl
}:
qtModule {
pname = "qtquick3d";
qtInputs = [ qtbase qtdeclarative ];
buildInputs = [ openssl ];
}

View File

@@ -0,0 +1,9 @@
{ qtModule
, qtbase
, qtdeclarative
}:
qtModule {
pname = "qtquicktimeline";
qtInputs = [ qtbase qtdeclarative ];
}

View File

@@ -0,0 +1,9 @@
{ qtModule
, qtbase
, qtdeclarative
}:
qtModule {
pname = "qtremoteobjects";
qtInputs = [ qtbase qtdeclarative ];
}

View File

@@ -0,0 +1,6 @@
{ qtModule, qtbase, qtdeclarative }:
qtModule {
pname = "qtscxml";
qtInputs = [ qtbase qtdeclarative ];
}

View File

@@ -0,0 +1,10 @@
{ qtModule
, qtbase
, qtdeclarative
, qtsvg
}:
qtModule {
pname = "qtsensors";
qtInputs = [ qtbase qtdeclarative qtsvg ];
}

View File

@@ -0,0 +1,6 @@
{ qtModule, qtbase, qtserialport }:
qtModule {
pname = "qtserialbus";
qtInputs = [ qtbase qtserialport ];
}

View File

@@ -0,0 +1,14 @@
{ qtModule
, stdenv
, lib
, qtbase
, udev
, pkg-config
}:
qtModule {
pname = "qtserialport";
qtInputs = [ qtbase ];
nativeBuildInputs = [ pkg-config ];
propagatedBuildInputs = [ udev ];
}

View File

@@ -0,0 +1,8 @@
{ qtModule
, qtbase
}:
qtModule {
pname = "qtshadertools";
qtInputs = [ qtbase ];
}

View File

@@ -0,0 +1,15 @@
{ qtModule
, qtbase
, libwebp
, jasper
, libmng
, zlib
, pkg-config
}:
qtModule {
pname = "qtsvg";
qtInputs = [ qtbase ];
buildInputs = [ libwebp jasper libmng zlib ];
nativeBuildInputs = [ pkg-config ];
}

View File

@@ -0,0 +1,11 @@
{ qtModule
, stdenv
, lib
, qtbase
, qtdeclarative
}:
qtModule {
pname = "qttools";
qtInputs = [ qtbase qtdeclarative ];
}

View File

@@ -0,0 +1,8 @@
{ qtModule
, qttools
}:
qtModule {
pname = "qttranslations";
qtInputs = [ qttools ];
}

View File

@@ -0,0 +1,15 @@
{ qtModule
, qtbase
, qtdeclarative
, qtsvg
, hunspell
, pkg-config
}:
qtModule {
pname = "qtvirtualkeyboard";
qtInputs = [ qtbase qtdeclarative qtsvg ];
propagatedBuildInputs = [ hunspell ];
nativeBuildInputs = [ pkg-config ];
outputs = [ "out" ];
}

View File

@@ -0,0 +1,16 @@
{ qtModule
, qtbase
, qtquick3d
, qtdeclarative
, wayland
, pkg-config
, xlibsWrapper
, libdrm
}:
qtModule {
pname = "qtwayland";
qtInputs = [ qtbase qtdeclarative ];
buildInputs = [ wayland xlibsWrapper libdrm ];
nativeBuildInputs = [ pkg-config ];
}

View File

@@ -0,0 +1,12 @@
{ qtModule
, qtbase
, qtdeclarative
, qtwebsockets
, openssl
}:
qtModule {
pname = "qtwebchannel";
qtInputs = [ qtbase qtdeclarative qtwebsockets ];
buildInputs = [ openssl ];
}

View File

@@ -0,0 +1,234 @@
{ qtModule
, qtdeclarative
, qtwebchannel
, qtpositioning
, qtwebsockets
, bison
, coreutils
, flex
, git
, gperf
, ninja
, pkg-config
, python3
, which
, nodejs
, qtbase
, perl
, xorg
, libXcursor
, libXScrnSaver
, libXrandr
, libXtst
, libxshmfence
, libXi
, fontconfig
, freetype
, harfbuzz
, icu
, dbus
, libdrm
, zlib
, minizip
, libjpeg
, libpng
, libtiff
, libwebp
, libopus
, jsoncpp
, protobuf
, libvpx
, srtp
, snappy
, nss
, libevent
, openssl
, alsa-lib
, pulseaudio
, libcap
, pciutils
, systemd
, pipewire
, gn
, cups
, openbsm
, runCommand
, writeScriptBin
, ffmpeg
, lib
, stdenv
, fetchpatch
, glib
, libxml2
, libxslt
, lcms2
, re2
, libkrb5
, enableProprietaryCodecs ? true
}:
qtModule rec {
pname = "qtwebengine";
qtInputs = [ qtdeclarative qtwebchannel qtwebsockets qtpositioning ];
nativeBuildInputs = [
bison
coreutils
flex
git
gperf
ninja
pkg-config
(python3.withPackages (ps: with ps; [ html5lib ]))
which
gn
nodejs
];
doCheck = true;
outputs = [ "out" "dev" ];
dontUseGnConfigure = true;
# ninja builds some components with -Wno-format,
# which cannot be set at the same time as -Wformat-security
hardeningDisable = [ "format" ];
patches = [
# drop UCHAR_TYPE override to fix build with system ICU
(fetchpatch {
url = "https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=75f0f4eb";
stripLen = 1;
extraPrefix = "src/3rdparty/";
sha256 = "sha256-3aMcVXJg+v+UbsSO27g6MA6/uVkWUxyQsMD1EzlzXDs=";
})
];
postPatch = ''
# Patch Chromium build tools
(
cd src/3rdparty/chromium;
# Manually fix unsupported shebangs
substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \
--replace "/usr/bin/env -S make -f" "/usr/bin/make -f" || true
substituteInPlace third_party/webgpu-cts/src/tools/deno \
--replace "/usr/bin/env -S deno" "/usr/bin/deno" || true
patchShebangs .
)
# Patch library paths in sources
sed -i \
-e "s,QLibraryInfo::location(QLibraryInfo::DataPath),QLatin1String(\"$out\"),g" \
-e "s,QLibraryInfo::location(QLibraryInfo::TranslationsPath),QLatin1String(\"$out/translations\"),g" \
-e "s,QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath),QLatin1String(\"$out/libexec\"),g" \
src/core/web_engine_library_info.cpp
sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \
src/3rdparty/chromium/device/udev_linux/udev?_loader.cc
sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
'';
cmakeFlags = [
"-DQT_FEATURE_qtpdf_build=ON"
"-DQT_FEATURE_qtpdf_widgets_build=ON"
"-DQT_FEATURE_qtpdf_quick_build=ON"
"-DQT_FEATURE_pdf_v8=ON"
"-DQT_FEATURE_pdf_xfa=ON"
"-DQT_FEATURE_pdf_xfa_bmp=ON"
"-DQT_FEATURE_pdf_xfa_gif=ON"
"-DQT_FEATURE_pdf_xfa_png=ON"
"-DQT_FEATURE_pdf_xfa_tiff=ON"
"-DQT_FEATURE_webengine_system_icu=ON"
"-DQT_FEATURE_webengine_system_libevent=ON"
"-DQT_FEATURE_webengine_system_libxml=ON"
"-DQT_FEATURE_webengine_system_ffmpeg=ON"
# android only. https://bugreports.qt.io/browse/QTBUG-100293
# "-DQT_FEATURE_webengine_native_spellchecker=ON"
"-DQT_FEATURE_webengine_sanitizer=ON"
"-DQT_FEATURE_webengine_webrtc_pipewire=ON"
"-DQT_FEATURE_webengine_kerberos=ON"
] ++ lib.optional enableProprietaryCodecs "-DQT_FEATURE_webengine_proprietary_codecs=ON";
propagatedBuildInputs = [
# Image formats
libjpeg
libpng
libtiff
libwebp
# Video formats
srtp
libvpx
# Audio formats
libopus
# Text rendering
harfbuzz
icu
openssl
glib
libxml2
libxslt
lcms2
re2
libevent
ffmpeg
dbus
zlib
minizip
snappy
nss
protobuf
jsoncpp
# Audio formats
alsa-lib
pulseaudio
# Text rendering
fontconfig
freetype
libcap
pciutils
# X11 libs
xorg.xrandr
libXScrnSaver
libXcursor
libXrandr
xorg.libpciaccess
libXtst
xorg.libXcomposite
xorg.libXdamage
libdrm
xorg.libxkbfile
libxshmfence
libXi
xorg.libXext
# Pipewire
pipewire
libkrb5
];
buildInputs = [
cups
];
requiredSystemFeatures = [ "big-parallel" ];
meta = with lib; {
description = "A web engine based on the Chromium web browser";
platforms = platforms.linux;
# This build takes a long time; particularly on slow architectures
# 1 hour on 32x3.6GHz -> maybe 12 hours on 4x2.4GHz
timeout = 24 * 3600;
};
}

View File

@@ -0,0 +1,11 @@
{ qtModule
, qtbase
, qtdeclarative
, openssl
}:
qtModule {
pname = "qtwebsockets";
qtInputs = [ qtbase qtdeclarative ];
buildInputs = [ openssl ];
}

View File

@@ -0,0 +1,11 @@
{ lib
, stdenv
, qtModule
, qtdeclarative
, qtwebengine
}:
qtModule {
pname = "qtwebview";
qtInputs = [ qtdeclarative qtwebengine ];
}

View File

@@ -0,0 +1,45 @@
{ stdenv, lib, perl, cmake, ninja, writeText }:
{ self, srcs, patches ? [ ] }:
args:
let
inherit (args) pname;
version = args.version or srcs.${pname}.version;
src = args.src or srcs.${pname}.src;
in
stdenv.mkDerivation (args // {
inherit pname version src;
patches = args.patches or patches.${pname} or [ ];
buildInputs = args.buildInputs or [ ];
nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [
perl
cmake
ninja
];
propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or [ ]);
outputs = args.outputs or [ "out" "dev" ];
dontWrapQtApps = args.dontWrapQtApps or true;
postInstall = ''
if [ ! -z "$dev" ]; then
mkdir "$dev"
for dir in bin libexec mkspecs
do
moveToOutput "$dir" "$dev"
done
fi
${args.postInstall or ""}
'';
meta = with lib; {
homepage = "https://www.qt.io/";
description = "A cross-platform application framework for C++";
license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
maintainers = with maintainers; [ milahu nickcao ];
platforms = platforms.linux;
} // (args.meta or { });
})

View File

@@ -0,0 +1,262 @@
# DO NOT EDIT! This file is generated automatically.
# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/development/libraries/qt-6/6.3
{ fetchurl, mirror }:
{
qt3d = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qt3d-everywhere-src-6.3.0.tar.xz";
sha256 = "1qadnm2i2cgzigzq2wl0id5wzmc1p6zls4mrg1w8hd5d1lw65rvl";
name = "qt3d-everywhere-src-6.3.0.tar.xz";
};
};
qt5compat = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qt5compat-everywhere-src-6.3.0.tar.xz";
sha256 = "0gkis7504qdpavimkx33zl9082r4rfa2v4iba4a943f5h3krn69b";
name = "qt5compat-everywhere-src-6.3.0.tar.xz";
};
};
qtactiveqt = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtactiveqt-everywhere-src-6.3.0.tar.xz";
sha256 = "01sziyhzmvqn1flw6y73aszqll1yijxxc7hyzkd269zbmpm42l4c";
name = "qtactiveqt-everywhere-src-6.3.0.tar.xz";
};
};
qtbase = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtbase-everywhere-src-6.3.0.tar.xz";
sha256 = "168g39xiasriwpny9rf4alx3k8gnkffqjqm1n2rr5xsp6gjalrdq";
name = "qtbase-everywhere-src-6.3.0.tar.xz";
};
};
qtcharts = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtcharts-everywhere-src-6.3.0.tar.xz";
sha256 = "1k9ngvl94xd5xr34ycwvchvzih037yvfzvdf625cik21yv2n49v7";
name = "qtcharts-everywhere-src-6.3.0.tar.xz";
};
};
qtconnectivity = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtconnectivity-everywhere-src-6.3.0.tar.xz";
sha256 = "06p6n23y2a6nca0rzdli6zl7m2i42h2pm28092zb4vd578p17xwq";
name = "qtconnectivity-everywhere-src-6.3.0.tar.xz";
};
};
qtdatavis3d = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtdatavis3d-everywhere-src-6.3.0.tar.xz";
sha256 = "138dkvarvh45j4524y1piw0dm2j16s3lk5pazbggi3xjnbrjwl89";
name = "qtdatavis3d-everywhere-src-6.3.0.tar.xz";
};
};
qtdeclarative = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtdeclarative-everywhere-src-6.3.0.tar.xz";
sha256 = "0dxa9j8cxfd86nqpvxvzxd1jdlw8h0xxqvsiv9jlyb9bvhlv156j";
name = "qtdeclarative-everywhere-src-6.3.0.tar.xz";
};
};
qtdoc = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtdoc-everywhere-src-6.3.0.tar.xz";
sha256 = "0r9giv6xpg6zhghrrv4chlk1cimmiw93cj6rdf4rkf2g3qmgv6d8";
name = "qtdoc-everywhere-src-6.3.0.tar.xz";
};
};
qtimageformats = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtimageformats-everywhere-src-6.3.0.tar.xz";
sha256 = "1vxbjdfy1zya4pgcl4483912aw7ip0d768xmnrz2md3mxlbhsp82";
name = "qtimageformats-everywhere-src-6.3.0.tar.xz";
};
};
qtlanguageserver = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtlanguageserver-everywhere-src-6.3.0.tar.xz";
sha256 = "1apfkq5grxkx69d8x7gmj19klr3jypsz1csw6r00q7hf0vvxiakh";
name = "qtlanguageserver-everywhere-src-6.3.0.tar.xz";
};
};
qtlottie = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtlottie-everywhere-src-6.3.0.tar.xz";
sha256 = "1svxz5ndljhrn52vyyr1yziar63ksjz78mvaxfhjgdd5pc5mgnrr";
name = "qtlottie-everywhere-src-6.3.0.tar.xz";
};
};
qtmultimedia = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtmultimedia-everywhere-src-6.3.0.tar.xz";
sha256 = "0gpylyrjkks27y5bfaxqs7idj0wyscpn1kh51i4ahx19z1zj8l6h";
name = "qtmultimedia-everywhere-src-6.3.0.tar.xz";
};
};
qtnetworkauth = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtnetworkauth-everywhere-src-6.3.0.tar.xz";
sha256 = "17q6v4d2qglw88gd2i9m4cvvacpfsw6a544g0ch8a0hr56a9hfi0";
name = "qtnetworkauth-everywhere-src-6.3.0.tar.xz";
};
};
qtpositioning = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtpositioning-everywhere-src-6.3.0.tar.xz";
sha256 = "0vi3123pa9pc4xqh6rgxwz40xvvl4w0x09fn6kdld8s5nbv51vg9";
name = "qtpositioning-everywhere-src-6.3.0.tar.xz";
};
};
qtquick3d = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtquick3d-everywhere-src-6.3.0.tar.xz";
sha256 = "0zijxf33v5b2hrwppp4gr1i1dscdxqjjcb8a48c4ny0zxv8mpl0a";
name = "qtquick3d-everywhere-src-6.3.0.tar.xz";
};
};
qtquicktimeline = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtquicktimeline-everywhere-src-6.3.0.tar.xz";
sha256 = "06hwygywqc6kqs2ss8ng6ymjs3m72r51x2lzppjnpz4y2lqskw4z";
name = "qtquicktimeline-everywhere-src-6.3.0.tar.xz";
};
};
qtremoteobjects = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtremoteobjects-everywhere-src-6.3.0.tar.xz";
sha256 = "0v2ax6xynv13z1dqnklnvfxxdhh9fallrjdmqpkmkydgy163zckm";
name = "qtremoteobjects-everywhere-src-6.3.0.tar.xz";
};
};
qtscxml = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtscxml-everywhere-src-6.3.0.tar.xz";
sha256 = "1w3hi9c5v0lji59pkk0dhaq3xly9skf3jsm93gxj0y9nmkbdpc09";
name = "qtscxml-everywhere-src-6.3.0.tar.xz";
};
};
qtsensors = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtsensors-everywhere-src-6.3.0.tar.xz";
sha256 = "0j4ppqn8m04hfqrzrmp80fmwpr474arcycf58jypm17fnlrwfmy7";
name = "qtsensors-everywhere-src-6.3.0.tar.xz";
};
};
qtserialbus = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtserialbus-everywhere-src-6.3.0.tar.xz";
sha256 = "1mi76sxh21wj1b1myqrzaaspf1iwa4bxr342p1b6krrnrf4ckxnj";
name = "qtserialbus-everywhere-src-6.3.0.tar.xz";
};
};
qtserialport = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtserialport-everywhere-src-6.3.0.tar.xz";
sha256 = "0kxnblyk8bw02bdjsnjbblczg0dvj7ys95bpr2w49h4cshs6kggf";
name = "qtserialport-everywhere-src-6.3.0.tar.xz";
};
};
qtshadertools = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtshadertools-everywhere-src-6.3.0.tar.xz";
sha256 = "0v5xmyc9d3vacvdm2zpancqqmsvaz0635cba2aym9hipkndrb62l";
name = "qtshadertools-everywhere-src-6.3.0.tar.xz";
};
};
qtsvg = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtsvg-everywhere-src-6.3.0.tar.xz";
sha256 = "1qxhilxbk7wgnah7qlfcr5gsn19626dp6dc260wh8r1zgr6m0r1i";
name = "qtsvg-everywhere-src-6.3.0.tar.xz";
};
};
qttools = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qttools-everywhere-src-6.3.0.tar.xz";
sha256 = "175is0yf74vdxlmcb9nvm86n6m7qj54mhiwkhyi84mwjxa44dsgw";
name = "qttools-everywhere-src-6.3.0.tar.xz";
};
};
qttranslations = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qttranslations-everywhere-src-6.3.0.tar.xz";
sha256 = "1cs06kiv34zdkicxdjhxydv5rn1ylf4z2f4jl4a9ajm3jbw4xpg4";
name = "qttranslations-everywhere-src-6.3.0.tar.xz";
};
};
qtvirtualkeyboard = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtvirtualkeyboard-everywhere-src-6.3.0.tar.xz";
sha256 = "0wv54zmr9chwx1bds5b2j1436ynq6b5lbv7lbj7sycjlrxdg3al9";
name = "qtvirtualkeyboard-everywhere-src-6.3.0.tar.xz";
};
};
qtwayland = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtwayland-everywhere-src-6.3.0.tar.xz";
sha256 = "1411l2rc399bj6r36wd8n06a0rpdxkhmr0mashc5kz1zwkv6gdg7";
name = "qtwayland-everywhere-src-6.3.0.tar.xz";
};
};
qtwebchannel = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtwebchannel-everywhere-src-6.3.0.tar.xz";
sha256 = "03p4ggi9dk11q3zqw29awwxvddgfb3nsrrm58q053y0zlclc9i7b";
name = "qtwebchannel-everywhere-src-6.3.0.tar.xz";
};
};
qtwebengine = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtwebengine-everywhere-src-6.3.0.tar.xz";
sha256 = "0g899mn6fx9w0mb9dm7y25x3d9gcy8ramwbcpk8pmjqxv1fv8090";
name = "qtwebengine-everywhere-src-6.3.0.tar.xz";
};
};
qtwebsockets = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtwebsockets-everywhere-src-6.3.0.tar.xz";
sha256 = "0qb39qnli5wshrnzr9kbdrbddzi2l0y9vg3b1mbdkdv0x6gs0670";
name = "qtwebsockets-everywhere-src-6.3.0.tar.xz";
};
};
qtwebview = {
version = "6.3.0";
src = fetchurl {
url = "${mirror}/official_releases/qt/6.3/6.3.0/submodules/qtwebview-everywhere-src-6.3.0.tar.xz";
sha256 = "0mi1fkxz4mags32ld8km4svsnvbai0i81398f435sd1n9ach3gfy";
name = "qtwebview-everywhere-src-6.3.0.tar.xz";
};
};
}

View File

@@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub }:
{ lib, stdenv, fetchFromGitHub, fetchpatch }:
stdenv.mkDerivation rec {
version = "1.2.15";
@@ -11,6 +11,14 @@ stdenv.mkDerivation rec {
sha256 = "10hzifgpml7jm43y6v8c8q0cr9ziyx9qxznafxyw6glhnlqnb7pb";
};
patches = [
(fetchpatch {
name = "CVE-2021-43521.patch";
url = "https://github.com/HardySimpson/zlog/commit/a5be8b3a8ddc498de4ad041757285136a55d97e3.patch";
sha256 = "sha256-igHXUHN2Ke8Gb5AeDrDwG2aUNRpispgqVlGuASute+8=";
})
];
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with lib; {

View File

@@ -1,4 +1,4 @@
{ lib, buildDunePackage, fetchFromGitLab, sedlex_2, xtmpl }:
{ lib, buildDunePackage, fetchFromGitLab, sedlex, xtmpl }:
buildDunePackage rec {
pname = "higlo";
@@ -12,7 +12,7 @@ buildDunePackage rec {
sha256 = "sha256:09hsbwy5asacgh4gdj0vjpy4kzfnq3qji9szbsbyswsf1nbyczir";
};
propagatedBuildInputs = [ sedlex_2 xtmpl ];
propagatedBuildInputs = [ sedlex xtmpl ];
meta = with lib; {
description = "OCaml library for syntax highlighting";

View File

@@ -1,5 +1,5 @@
{ lib, buildDunePackage, fetchFromGitLab
, sedlex_2, uunf, uutf
, sedlex, uunf, uutf
}:
buildDunePackage rec {
@@ -15,7 +15,7 @@ buildDunePackage rec {
sha256 = "sha256:0zk8nnwcyljkc1a556byncv6cn1vqhk4267z1lm15flh1k7chyax";
};
propagatedBuildInputs = [ sedlex_2 uunf uutf ];
propagatedBuildInputs = [ sedlex uunf uutf ];
meta = {
description = "IRI (RFC3987) native OCaml implementation";

View File

@@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, ocaml, findlib, which, sedlex_2, easy-format, xmlm, base64 }:
{ lib, stdenv, fetchFromGitHub, ocaml, findlib, which, sedlex, easy-format, xmlm, base64 }:
stdenv.mkDerivation rec {
version = "0.6.15";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ ocaml findlib which ];
propagatedBuildInputs = [ sedlex_2 xmlm easy-format base64 ];
propagatedBuildInputs = [ sedlex xmlm easy-format base64 ];
strictDeps = true;

View File

@@ -1,67 +0,0 @@
{ lib
, fetchFromGitHub
, fetchurl
, buildDunePackage
, ocaml
, gen
, ppxlib
, uchar
}:
if lib.versionOlder ocaml.version "4.08"
then throw "sedlex is not available for OCaml ${ocaml.version}"
else
let
unicodeVersion = "13.0.0";
baseUrl = "https://www.unicode.org/Public/${unicodeVersion}";
DerivedCoreProperties = fetchurl {
url = "${baseUrl}/ucd/DerivedCoreProperties.txt";
sha256 = "0j12x112cd8fpgazkc8izxnhhpia44p1m36ff8yapslxndcmzm55";
};
DerivedGeneralCategory = fetchurl {
url = "${baseUrl}/ucd/extracted/DerivedGeneralCategory.txt";
sha256 = "0w6mkz4w79k23bnmwgfxc4yqc2ypv8ilrjn6nk25hrafksbg00j5";
};
PropList = fetchurl {
url = "${baseUrl}/ucd/PropList.txt";
sha256 = "1ks0585wimygbk2wqi9hqg8gyl25iffvdad5vya1zgsxs8z5lns8";
};
in
buildDunePackage rec {
pname = "sedlex";
version = "2.4";
useDune2 = true;
src = fetchFromGitHub {
owner = "ocaml-community";
repo = "sedlex";
rev = "v${version}";
sha256 = "13g8az4zqg6hrnxmy3qrasslppzlag13dd1dsr8vlpg2vpfmfv6i";
};
propagatedBuildInputs = [
gen uchar ppxlib
];
preBuild = ''
rm src/generator/data/dune
ln -s ${DerivedCoreProperties} src/generator/data/DerivedCoreProperties.txt
ln -s ${DerivedGeneralCategory} src/generator/data/DerivedGeneralCategory.txt
ln -s ${PropList} src/generator/data/PropList.txt
'';
doCheck = true;
dontStrip = true;
meta = {
homepage = "https://github.com/ocaml-community/sedlex";
changelog = "https://github.com/ocaml-community/sedlex/raw/v${version}/CHANGES";
description = "An OCaml lexer generator for Unicode";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.marsam ];
};
}

View File

@@ -1,37 +1,63 @@
{ stdenv, lib, fetchFromGitHub, ocaml, findlib, gen, ppx_tools_versioned, ocaml-migrate-parsetree }:
{ lib
, fetchFromGitHub
, fetchurl
, buildDunePackage
, ocaml
, gen
, ppxlib
, uchar
}:
if lib.versionOlder ocaml.version "4.02"
then throw "sedlex is not available for OCaml ${ocaml.version}"
else
let
unicodeVersion = "14.0.0";
baseUrl = "https://www.unicode.org/Public/${unicodeVersion}";
stdenv.mkDerivation rec {
pname = "ocaml${ocaml.version}-sedlex";
version = "1.99.5";
DerivedCoreProperties = fetchurl {
url = "${baseUrl}/ucd/DerivedCoreProperties.txt";
sha256 = "sha256:1g77s8g9443dd92f82pbkim7rk51s7xdwa3mxpzb1lcw8ryxvvg3";
};
DerivedGeneralCategory = fetchurl {
url = "${baseUrl}/ucd/extracted/DerivedGeneralCategory.txt";
sha256 = "sha256:080l3bwwppm7gnyga1hzhd07b55viklimxpdsx0fsxhr8v47krnd";
};
PropList = fetchurl {
url = "${baseUrl}/ucd/PropList.txt";
sha256 = "sha256:08k75jzl7ws9l3sm1ywsj24qa4qvzn895wggdpp5nyj1a2wgvpbb";
};
in
buildDunePackage rec {
pname = "sedlex";
version = "2.5";
minimalOCamlVersion = "4.08";
src = fetchFromGitHub {
owner = "ocaml-community";
repo = "sedlex";
rev = "fb84e1766fc4b29e79ec40029ffee5cdb37b392f";
sha256 = "sha256-VhzlDTYBFXgKWT69PqZYLuHkiaDwzhmyX2XfaqzHFl4=";
rev = "v${version}";
sha256 = "sha256:062a5dvrzvb81l3a9phljrhxfw9nlb61q341q0a6xn65hll3z2wy";
};
nativeBuildInputs = [ ocaml findlib ];
propagatedBuildInputs = [
gen uchar ppxlib
];
propagatedBuildInputs = [ gen ocaml-migrate-parsetree ppx_tools_versioned ];
preBuild = ''
rm src/generator/data/dune
ln -s ${DerivedCoreProperties} src/generator/data/DerivedCoreProperties.txt
ln -s ${DerivedGeneralCategory} src/generator/data/DerivedGeneralCategory.txt
ln -s ${PropList} src/generator/data/PropList.txt
'';
strictDeps = true;
buildFlags = [ "all" "opt" ];
createFindlibDestdir = true;
doCheck = true;
dontStrip = true;
meta = {
homepage = "https://github.com/ocaml-community/sedlex";
changelog = "https://github.com/ocaml-community/sedlex/raw/v${version}/CHANGES";
description = "An OCaml lexer generator for Unicode";
license = lib.licenses.mit;
inherit (ocaml.meta) platforms;
maintainers = [ lib.maintainers.vbgl ];
maintainers = [ lib.maintainers.marsam ];
};
}

View File

@@ -1,4 +1,4 @@
{ lib, buildDunePackage, fetchFromGitLab, iri, re, sedlex_2, uutf }:
{ lib, buildDunePackage, fetchFromGitLab, iri, re, sedlex, uutf }:
buildDunePackage rec {
pname = "xtmpl";
@@ -12,7 +12,7 @@ buildDunePackage rec {
sha256 = "sha256:0vwj0aayg60wm98d91fg3hmj90730liljy4cn8771dpxvz8m07bw";
};
propagatedBuildInputs = [ iri re sedlex_2 uutf ];
propagatedBuildInputs = [ iri re sedlex uutf ];
meta = with lib; {
description = "XML templating library for OCaml";

View File

@@ -32,7 +32,7 @@ buildPythonPackage rec {
owner = "trailofbits";
repo = "manticore";
rev = version;
sha256 = "sha256-+17VBfAtkZZIi3SF5Num1Uqg3WjIpgbz3Jx65rD5zkM=";
hash = "sha256-+17VBfAtkZZIi3SF5Num1Uqg3WjIpgbz3Jx65rD5zkM=";
};
propagatedBuildInputs = [
@@ -52,9 +52,11 @@ buildPythonPackage rec {
unicorn
];
# Python API is not used in the code, only z3 from PATH
postPatch = ''
sed -ie s/z3-solver// setup.py
# Python API is not used in the code, only z3 from PATH
substituteInPlace setup.py \
--replace "z3-solver" "" \
--replace "crytic-compile==0.2.2" "crytic-compile>=0.2.2"
'';
checkInputs = [

View File

@@ -3,23 +3,54 @@
, buildPythonPackage
, fetchPypi
, webtest
, markupsafe
, jinja2
, pytestCheckHook
, zope_deprecation
, pyramid
, pythonOlder
}:
buildPythonPackage rec {
pname = "pyramid_jinja2";
pname = "pyramid-jinja2";
version = "2.10";
format = "setuptools";
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-8nEGnZ6ay6x622kSGQqEj2M49+V6+68+lSN/6DzI9NI=";
pname = "pyramid_jinja2";
inherit version;
hash = "sha256-8nEGnZ6ay6x622kSGQqEj2M49+V6+68+lSN/6DzI9NI=";
};
buildInputs = [ webtest ];
propagatedBuildInputs = [ jinja2 pyramid ];
propagatedBuildInputs = [
markupsafe
jinja2
pyramid
zope_deprecation
];
pythonImportsCheck = [ "pyramid_jinja2" ];
checkInputs = [
webtest
pytestCheckHook
];
postPatch = ''
substituteInPlace setup.cfg \
--replace " --cov" ""
'';
pythonImportsCheck = [
"pyramid_jinja2"
];
disabledTests = [
# AssertionError: Lists differ: ['pyramid_jinja2-2.10',...
"test_it_relative_to_package"
# AssertionError: False is not true
"test_options"
];
meta = with lib; {
broken = (stdenv.isLinux && stdenv.isAarch64) || stdenv.isDarwin;

View File

@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
install -Dm644 resources/shell/bash-completion $out/share/bash-completion/completions/flow
'';
buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree-2 dtoa core_kernel sedlex_2 ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec visitors wtf8 ])
buildInputs = (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml-migrate-parsetree-2 dtoa core_kernel sedlex ocaml_lwt lwt_log lwt_ppx ppx_deriving ppx_gen_rec visitors wtf8 ])
++ lib.optionals stdenv.isDarwin [ CoreServices ];
meta = with lib; {

View File

@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "universal-ctags";
version = "5.9.20220220.0";
version = "5.9.20220529.0";
src = fetchFromGitHub {
owner = "universal-ctags";
repo = "ctags";
rev = "p${version}";
sha256 = "1118iq33snxyw1jk8nwvsl08f3zdainksh0yiapzvg0y5906jjjd";
sha256 = "sha256-Lu4eYMA5Uf/A8r11W6v7xTAnj0gtCjKQ4aX5IbV0dbo=";
};
depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
platforms = platforms.unix;
# universal-ctags is preferred over emacs's ctags
priority = 1;
mainProgram = "ctags";
maintainers = [ maintainers.mimame ];
};
}

View File

@@ -1,27 +1,22 @@
{ lib, stdenv, fetchFromGitHub, cmake, libGLU, libGL, sfml, fribidi, taglib }:
stdenv.mkDerivation rec {
pname = "mars";
version = "0.7.5";
version = "unstable-17.10.2021";
src = fetchFromGitHub {
owner = "thelaui";
repo = "M.A.R.S.";
rev = "c855d044094a1d92317e38935d81ba938946132e";
sha256 = "1r4c5gap1z2zsv4yjd34qriqkxaq4lb4rykapyzkkdf4g36lc3nh";
rev = "84664cda094efe6e49d9b1550e4f4f98c33eefa2";
sha256 = "sha256-SWLP926SyVTjn+UT1DCaJSo4Ue0RbyzImVnlNJQksS0=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ libGLU libGL sfml fribidi taglib ];
patches = [
./unbind_fix.patch
./fix-gluortho2d.patch
];
installPhase = ''
cd ..
find -name '*.svn' -exec rm -rf {} \;
mkdir -p "$out/share/mars/"
mkdir -p "$out/bin/"
cp -rv data resources credits.txt license.txt "$out/share/mars/"
cp -v mars "$out/bin/mars.bin"
cp -v marsshooter "$out/bin/mars.bin"
cat << EOF > "$out/bin/mars"
#! ${stdenv.shell}
cd "$out/share/mars/"

View File

@@ -1,113 +0,0 @@
From 33d5affabf8ff84f2c028b9303c6a9e83cc824ad Mon Sep 17 00:00:00 2001
From: James Cowgill <james410@cowgill.org.uk>
Date: Sat, 9 May 2015 01:54:14 +0100
Subject: [PATCH] Remove dependency on GLU - fixes build with SFML 2.3
---
premake4.lua | 8 ++++----
src/Shaders/postFX.cpp | 2 +-
src/System/window.cpp | 12 ++++++------
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/premake4.lua b/premake4.lua
index 023dddd..5af4495 100755
--- a/premake4.lua
+++ b/premake4.lua
@@ -11,11 +11,11 @@ project "mars"
defines { "NDEBUG" }
flags { "Optimize" }
if os.get() == "windows" then
- links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "glu32", "opengl32", "fribidi-0", "tag" }
+ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "opengl32", "fribidi-0", "tag" }
elseif os.get() == "macosx" then
links { "sfml-graphics.framework", "sfml-audio.framework", "sfml-system.framework", "sfml-window.framework", "opengl.framework", "fribidi", "tag" }
else
- links { "GLU", "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }
+ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }
libdirs { "/usr/lib", "/usr/local/lib" }
end
@@ -23,10 +23,10 @@ project "mars"
defines { "_DEBUG", "DEBUG" }
flags { "Symbols" }
if os.get() == "windows" then
- links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "glu32", "opengl32", "fribidi-0", "tag" }
+ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "opengl32", "fribidi-0", "tag" }
elseif os.get() == "macosx" then
links { "sfml-graphics.framework", "sfml-audio.framework", "sfml-system.framework", "sfml-window.framework", "opengl.framework", "fribidi", "tag" }
else
- links { "GLU", "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }
+ links { "sfml-graphics", "sfml-audio", "sfml-system", "sfml-window", "fribidi", "tag" }
libdirs { "/usr/lib", "/usr/local/lib" }
end
diff --git a/src/Shaders/postFX.cpp b/src/Shaders/postFX.cpp
index 987f411..f767a47 100644
--- a/src/Shaders/postFX.cpp
+++ b/src/Shaders/postFX.cpp
@@ -78,7 +78,7 @@ namespace postFX {
postFX_.loadFromFile(settings::C_dataPath + "shaders/bump.frag", sf::Shader::Fragment);
bumpMap_.create(SPACE_X_RESOLUTION*0.5f, SPACE_Y_RESOLUTION*0.5f);
glViewport(0,0,SPACE_X_RESOLUTION*0.5f,SPACE_Y_RESOLUTION*0.5f);
- gluOrtho2D(0, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0);
+ glOrtho(0, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0, -1, 1);
glEnable(GL_BLEND);
glMatrixMode(GL_MODELVIEW);
postFX_.setParameter("BumpMap", bumpMap_.getTexture());
diff --git a/src/System/window.cpp b/src/System/window.cpp
index e9a099a..8e12dcc 100644
--- a/src/System/window.cpp
+++ b/src/System/window.cpp
@@ -222,7 +222,7 @@ namespace window {
glLoadIdentity();
// Setup translation (according to left-upper corner)
- gluOrtho2D(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f);
+ glOrtho(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f, -1, 1);
// probably improves performance...
glDisable(GL_LIGHTING);
@@ -247,7 +247,7 @@ namespace window {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f);
+ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
@@ -255,7 +255,7 @@ namespace window {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
- gluOrtho2D(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f);
+ glOrtho(0.f, SPACE_X_RESOLUTION, SPACE_Y_RESOLUTION, 0.f, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
@@ -270,7 +270,7 @@ namespace window {
glLoadIdentity();
setViewPort();
- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f);
+ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
@@ -284,7 +284,7 @@ namespace window {
glLoadIdentity();
setViewPort();
- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f);
+ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
@@ -294,7 +294,7 @@ namespace window {
else {
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
- gluOrtho2D(0.f, viewPort_.x_, viewPort_.y_, 0.f);
+ glOrtho(0.f, viewPort_.x_, viewPort_.y_, 0.f, -1, 1);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

View File

@@ -1,19 +0,0 @@
diff --git a/src/System/window.cpp b/src/System/window.cpp
index e9a099a..e3f6de9 100644
--- a/src/System/window.cpp
+++ b/src/System/window.cpp
@@ -308,12 +308,12 @@ namespace window {
glEnable(GL_TEXTURE_2D);
if (shader)
- shader->bind();
+ sf::Shader::bind(shader);
window_.draw(toBeDrawn, states);
if (shader)
- shader->unbind();
+ sf::Shader::bind(NULL);
window_.popGLStates();
glPopMatrix();

View File

@@ -59,7 +59,7 @@ stdenv.mkDerivation {
ocamlPackages.xmlm ocamlPackages.ocaml_pcre
ocamlPackages.camomile
ocamlPackages.fdkaac
ocamlPackages.srt ocamlPackages.sedlex_2 ocamlPackages.menhir ocamlPackages.menhirLib
ocamlPackages.srt ocamlPackages.sedlex ocamlPackages.menhir ocamlPackages.menhirLib
];
hardeningDisable = [ "format" "fortify" ];

View File

@@ -0,0 +1,166 @@
{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
# Required
, aircrack-ng
, bash
, coreutils-full
, gawk
, gnugrep
, gnused
, iproute2
, iw
, pciutils
, procps
, tmux
# X11 Front
, xterm
, xorg
# what the author calls "Internals"
, usbutils
, wget
, ethtool
, util-linux
, ccze
# Optionals
# Missing in nixpkgs: beef, hostapd-wpe, asleap
, bettercap
, bully
, crunch
, dhcp
, dnsmasq
, ettercap
, hashcat
, hcxdumptool
, hcxtools
, hostapd
, john
, lighttpd
, mdk4
, nftables
, openssl
, pixiewps
, reaverwps-t6x # Could be the upstream version too
, wireshark-cli
# Undocumented requirements (there is also ping)
, apparmor-bin-utils
, curl
, glibc
, ncurses
, networkmanager
, systemd
# Support groups
, supportWpaWps ? true # Most common use-case
, supportHashCracking ? false
, supportEvilTwin ? false
, supportX11 ? false # Allow using xterm instead of tmux, hard to test
}:
let
deps = [
aircrack-ng
bash
coreutils-full
curl
gawk
glibc
gnugrep
gnused
iproute2
iw
networkmanager
ncurses
pciutils
procps
tmux
usbutils
wget
ethtool
util-linux
ccze
systemd
] ++ lib.optionals supportWpaWps [
bully
pixiewps
reaverwps-t6x
] ++ lib.optionals supportHashCracking [
crunch
hashcat
hcxdumptool
hcxtools
john
wireshark-cli
] ++ lib.optionals supportEvilTwin [
bettercap
dhcp
dnsmasq
ettercap
hostapd
lighttpd
openssl
mdk4
nftables
apparmor-bin-utils
] ++ lib.optionals supportX11 [
xterm
xorg.xset
xorg.xdpyinfo
];
in
stdenv.mkDerivation rec {
pname = "airgeddon";
version = "11.01";
src = fetchFromGitHub {
owner = "v1s1t0r1sh3r3";
repo = "airgeddon";
rev = "v${version}";
sha256 = "3TjaLEcerRk69Ys4kj7vOMCRUd0ifFJzL4MB5ifoK68=";
};
strictDeps = true;
nativeBuildInputs = [ makeWrapper ];
# What these replacings do?
# - Disable the auto-updates (we'll run from a read-only directory);
# - Silence the checks (NixOS will enforce the PATH, it will only see the tools as we listed);
# - Use "tmux", we're not patching XTerm commands;
# - Remove PWD and $0 references, forcing it to use the paths from store;
# - Force our PATH to all tmux sessions.
postPatch = ''
patchShebangs airgeddon.sh
sed -i '
s|AIRGEDDON_AUTO_UPDATE=true|AIRGEDDON_AUTO_UPDATE=false|
s|AIRGEDDON_SILENT_CHECKS=false|AIRGEDDON_SILENT_CHECKS=true|
s|AIRGEDDON_WINDOWS_HANDLING=xterm|AIRGEDDON_WINDOWS_HANDLING=tmux|
' .airgeddonrc
sed -Ei '
s|\$\(pwd\)|${placeholder "out"}/share/airgeddon;scriptfolder=${placeholder "out"}/share/airgeddon/|
s|\$\{0\}|${placeholder "out"}/bin/airgeddon|
s|tmux send-keys -t "([^"]+)" "|tmux send-keys -t "\1" "export PATH=\\"$PATH\\"; |
' airgeddon.sh
'';
# ATTENTION: No need to chdir around, we're removing the occurrences of "$(pwd)"
postInstall = ''
wrapProgram $out/bin/airgeddon --prefix PATH : ${lib.makeBinPath deps}
'';
# Install only the interesting files
installPhase = ''
runHook preInstall
install -Dm 755 airgeddon.sh "$out/bin/airgeddon"
install -dm 755 "$out/share/airgeddon"
cp -dr .airgeddonrc known_pins.db language_strings.sh plugins/ "$out/share/airgeddon/"
runHook postInstall
'';
meta = with lib; {
description = "Multi-use TUI to audit wireless networks. ";
homepage = "https://github.com/v1s1t0r1sh3r3/airgeddon";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ pedrohlc ];
platforms = platforms.linux;
};
}

View File

@@ -0,0 +1,13 @@
diff --git a/Makefile b/Makefile
index d5cd754..db1c1d3 100644
--- a/Makefile
+++ b/Makefile
@@ -411,7 +411,7 @@ $(OUTPUT_DIR)/tracee.bpf.core.o: \
$(TRACEE_EBPF_OBJ_CORE_HEADERS)
#
$(MAKE) $(OUTPUT_DIR)/tracee.bpf
- $(CMD_CLANG) \
+ $(CMD_CLANG_BPF) \
-D__TARGET_ARCH_$(LINUX_ARCH) \
-D__BPF_TRACING__ \
-DCORE \

View File

@@ -0,0 +1,113 @@
{ lib
, buildGoModule
, fetchFromGitHub
, llvmPackages_13
, pkg-config
, zlib
, libelf
}:
let
inherit (llvmPackages_13) clang;
clang-with-bpf =
(clang.overrideAttrs (o: { pname = o.pname + "-with-bpf"; })).override (o: {
extraBuildCommands = o.extraBuildCommands + ''
# make a separate wrapped clang we can target at bpf
cp $out/bin/clang $out/bin/clang-bpf
# extra flags to append after the cc-cflags
echo '-target bpf -fno-stack-protector' > $out/nix-support/cc-cflags-bpf
# use sed to attach the cc-cflags-bpf after cc-cflags
sed -i -E "s@^(extraAfter=\(\\$\NIX_CFLAGS_COMPILE_.*)(\))\$@\1 $(cat $out/nix-support/cc-cflags-bpf)\2@" $out/bin/clang-bpf
'';
});
in
buildGoModule rec {
pname = "tracee";
version = "0.7.0";
src = fetchFromGitHub {
owner = "aquasecurity";
repo = pname;
rev = "v${version}";
sha256 = "sha256-Y++FWxADnj1W5S3VrAlJAnotFYb6biCPJ6dpQ0Nin8o=";
# Once libbpf hits 1.0 we will migrate to the nixpkgs libbpf rather than the
# pinned copy in submodules
fetchSubmodules = true;
};
vendorSha256 = "sha256-C2RExp67qax8+zJIgyMJ18sBtn/xEYj4tAvGCCpBssQ=";
patches = [
# bpf-core can't be compiled with wrapped clang since it forces the target
# we need to be able to replace it with another wrapped clang that has
# it's target as bpf
./bpf-core-clang-bpf.patch
# add -s to ldflags for smaller binaries
./disable-go-symbol-table.patch
];
enableParallelBuilding = true;
strictDeps = true;
nativeBuildInputs = [ pkg-config clang-with-bpf ];
buildInputs = [ zlib libelf ];
makeFlags = [
"VERSION=v${version}"
"CMD_CLANG_BPF=clang-bpf"
# don't actually need git but the Makefile checks for it
"CMD_GIT=echo"
];
buildPhase = ''
runHook preBuild
make $makeFlags ''${enableParallelBuilding:+-j$NIX_BUILD_CORES -l$NIX_BUILD_CORES}
runHook postBuild
'';
doCheck = false;
installPhase = ''
runHook preInstall
mkdir -p $out/{bin,share/tracee}
cp ./dist/tracee-ebpf $out/bin
cp ./dist/tracee-rules $out/bin
cp -r ./dist/rules $out/share/tracee/
cp -r ./cmd/tracee-rules/templates $out/share/tracee/
runHook postInstall
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/tracee-ebpf --help
$out/bin/tracee-ebpf --version | grep "v${version}"
$out/bin/tracee-rules --help
runHook postInstallCheck
'';
meta = with lib; {
homepage = "https://aquasecurity.github.io/tracee/latest/";
changelog = "https://github.com/aquasecurity/tracee/releases/tag/v${version}";
description = "Linux Runtime Security and Forensics using eBPF";
longDescription = ''
Tracee is a Runtime Security and forensics tool for Linux. It is using
Linux eBPF technology to trace your system and applications at runtime,
and analyze collected events to detect suspicious behavioral patterns. It
is delivered as a Docker image that monitors the OS and detects suspicious
behavior based on a pre-defined set of behavioral patterns.
'';
license = licenses.asl20;
maintainers = with maintainers; [ jk ];
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -0,0 +1,22 @@
diff --git a/Makefile b/Makefile
index d5cd754..0b74a79 100644
--- a/Makefile
+++ b/Makefile
@@ -471,7 +471,7 @@ ifeq ($(BTFHUB), 1)
endif
$(GO_ENV_EBPF) $(CMD_GO) build \
-tags $(GO_TAGS_EBPF) \
- -ldflags="-w \
+ -ldflags="-s -w \
-extldflags \"$(CGO_EXT_LDFLAGS_EBPF)\" \
-X main.version=\"$(VERSION)\" \
" \
@@ -552,7 +552,7 @@ $(OUTPUT_DIR)/tracee-rules: \
#
$(GO_ENV_RULES) $(CMD_GO) build \
-tags $(GO_TAGS_RULES) \
- -ldflags="-w \
+ -ldflags="-s -w \
-extldflags \"$(CGO_EXT_LDFLAGS_RULES)\" \
" \
-v -o $@ \

View File

@@ -0,0 +1,12 @@
diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go
index 8601eb9..57088d2 100644
--- a/tests/integration/integration_test.go
+++ b/tests/integration/integration_test.go
@@ -149,6 +149,7 @@ func checkUidzero(t *testing.T, gotOutput *bytes.Buffer) {
// only capture pids of 1
func checkPidOne(t *testing.T, gotOutput *bytes.Buffer) {
+ t.Skip("Not compatible with systemd init")
_, _ = exec.Command("init", "q").CombinedOutput()
waitForTraceeOutput(gotOutput, time.Now())

View File

@@ -0,0 +1,12 @@
diff --git a/tests/integration/integration_test.go b/tests/integration/integration_test.go
index 8601eb9..a8a3eed 100644
--- a/tests/integration/integration_test.go
+++ b/tests/integration/integration_test.go
@@ -75,6 +75,7 @@ func waitForTraceeOutput(gotOutput *bytes.Buffer, now time.Time) {
// small set of actions to trigger a magic write event
func checkMagicwrite(t *testing.T, gotOutput *bytes.Buffer) {
+ t.Skip()
// create a temp dir for testing
d, err := ioutil.TempDir("", "Test_MagicWrite-dir-*")
require.NoError(t, err)

View File

@@ -0,0 +1,41 @@
{ pkgs ? import ../../../../. { } }:
# manually run `nix-build ./pkgs/tools/security/tracee/test.nix` to test
pkgs.nixosTest ({
name = "tracee-test";
nodes = {
machine = { config, pkgs, ... }: {
environment.systemPackages = [
pkgs.tracee
# build the go integration tests as a binary
(pkgs.tracee.overrideAttrs (oa: {
pname = oa.pname + "-integration";
patches = oa.patches or [] ++ [
# skip test that runs `init -q` which is incompatible with systemd init
./skip-init-test.patch
# skip magic_write test that currently fails
./skip-magic_write-test.patch
];
# just build the static lib we need for the go test binary
makeFlags = oa.makeFlags ++ [ "./dist/libbpf/libbpf.a" ];
postBuild = ''
# by default the tests are disabled and this is intended to be commented out
sed -i '/t.Skip("This test requires root privileges")/d' ./tests/integration/integration_test.go
CGO_CFLAGS="-I$PWD/dist/libbpf" CGO_LDFLAGS="-lelf -lz $PWD/dist/libbpf/libbpf.a" go test -tags ebpf,integration -c -o $GOPATH/tracee-integration ./tests/integration
'';
doCheck = false;
installPhase = ''
mkdir -p $out/bin
cp $GOPATH/tracee-integration $out/bin
'';
doInstallCheck = false;
}))
];
};
};
testScript = ''
with subtest("run integration tests"):
print(machine.succeed('TRC_BIN="$(which tracee-ebpf)" tracee-integration -test.v -test.run "Test_Events"'))
'';
})

View File

@@ -1065,6 +1065,8 @@ with pkgs;
airfield = callPackage ../tools/networking/airfield { };
airgeddon = callPackage ../tools/networking/airgeddon { };
apache-airflow = with python3.pkgs; toPythonApplication apache-airflow;
airsonic = callPackage ../servers/misc/airsonic { };
@@ -11014,6 +11016,8 @@ with pkgs;
tracebox = callPackage ../tools/networking/tracebox { };
tracee = callPackage ../tools/security/tracee { };
tracefilegen = callPackage ../development/tools/analysis/garcosim/tracefilegen { };
tracefilesim = callPackage ../development/tools/analysis/garcosim/tracefilesim { };
@@ -20235,6 +20239,23 @@ with pkgs;
qtEnv = qt5.env;
qt5Full = qt5.full;
qt6 = recurseIntoAttrs (makeOverridable
(import ../development/libraries/qt-6) {
inherit newScope;
inherit lib stdenv fetchurl fetchpatch fetchgit fetchFromGitHub makeSetupHook makeWrapper writeText;
inherit bison cups dconf harfbuzz libGL perl gtk3 ninja;
inherit (gst_all_1) gstreamer gst-plugins-base;
cmake = cmake.overrideAttrs (attrs: {
patches = attrs.patches ++ [
../development/libraries/qt-6/cmake.patch
];
});
});
qt6Packages = recurseIntoAttrs (import ./qt6-packages.nix {
inherit lib pkgs qt6;
});
qtscriptgenerator = callPackage ../development/libraries/qtscriptgenerator { };
quark-engine = callPackage ../tools/security/quark-engine { };
@@ -29851,7 +29872,7 @@ with pkgs;
taskopen = callPackage ../applications/misc/taskopen { };
tdesktop = libsForQt5.callPackage ../applications/networking/instant-messengers/telegram/tdesktop {
tdesktop = qt6Packages.callPackage ../applications/networking/instant-messengers/telegram/tdesktop {
abseil-cpp = abseil-cpp_202111;
};

View File

@@ -1314,8 +1314,6 @@ let
sedlex = callPackage ../development/ocaml-modules/sedlex { };
sedlex_2 = callPackage ../development/ocaml-modules/sedlex/2.nix { };
semaphore-compat = callPackage ../development/ocaml-modules/semaphore-compat { };
sha = callPackage ../development/ocaml-modules/sha { };

View File

@@ -11495,6 +11495,8 @@ let
description = "A tool to read, write and edit EXIF meta information";
homepage = "https://exiftool.org/";
mainProgram = "exiftool";
longDescription = ''
ExifTool is a platform-independent Perl library plus a command-line
application for reading, writing and editing meta information in a wide

View File

@@ -0,0 +1,20 @@
# Qt packages set.
#
# Attributes in this file are packages requiring Qt and will be made available
# for every Qt version. Qt applications are called from `all-packages.nix` via
# this file.
{ lib
, pkgs
, qt6
}:
(lib.makeScope pkgs.newScope ( self:
let
libsForQt6 = self;
callPackage = self.callPackage;
in
(qt6 // {
})))