Merge staging-next into staging

This commit is contained in:
github-actions[bot]
2022-11-11 18:01:49 +00:00
committed by GitHub
86 changed files with 2118 additions and 917 deletions
+1 -1
View File
@@ -123,7 +123,7 @@ rec {
Example:
mkPackageOption pkgs "GHC" {
default = [ "ghc" ];
example = "pkgs.haskell.packages.ghc924.ghc.withPackages (hkgs: [ hkgs.primes ])";
example = "pkgs.haskell.packages.ghc92.ghc.withPackages (hkgs: [ hkgs.primes ])";
}
=> { _type = "option"; default = «derivation /nix/store/jxx55cxsjrf8kyh3fp2ya17q99w7541r-ghc-8.10.7.drv»; defaultText = { ... }; description = "The GHC package to use."; example = { ... }; type = { ... }; }
*/
@@ -2106,7 +2106,7 @@ Superuser created successfully.
<literal>ghc810</literal>. Those attributes point to the same
compilers and packagesets but have the advantage that e.g.
<literal>ghc92</literal> stays stable when we update from
<literal>ghc924</literal> to <literal>ghc925</literal>.
<literal>ghc925</literal> to <literal>ghc926</literal>.
</para>
</listitem>
</itemizedlist>
@@ -950,6 +950,14 @@
<literal>mariadb</literal> if possible.
</para>
</listitem>
<listitem>
<para>
<literal>obs-studio</literal> hase been updated to version 28.
If you have packaged custom plugins, check if they are
compatible. <literal>obs-websocket</literal> has been
integrated into <literal>obs-studio</literal>.
</para>
</listitem>
<listitem>
<para>
<literal>signald</literal> has been bumped to
@@ -576,4 +576,4 @@ In addition to numerous new and upgraded packages, this release has the followin
- More jdk and jre versions are now exposed via `java-packages.compiler`.
- The sets `haskell.packages` and `haskell.compiler` now contain for every ghc version an attribute with the minor version dropped. E.g. for `ghc8107` there also now exists `ghc810`. Those attributes point to the same compilers and packagesets but have the advantage that e.g. `ghc92` stays stable when we update from `ghc924` to `ghc925`.
- The sets `haskell.packages` and `haskell.compiler` now contain for every ghc version an attribute with the minor version dropped. E.g. for `ghc8107` there also now exists `ghc810`. Those attributes point to the same compilers and packagesets but have the advantage that e.g. `ghc92` stays stable when we update from `ghc925` to `ghc926`.
@@ -288,6 +288,8 @@ Available as [services.patroni](options.html#opt-services.patroni.enable).
- `percona-server56` has been removed. Please migrate to `mysql` or `mariadb` if possible.
- `obs-studio` hase been updated to version 28. If you have packaged custom plugins, check if they are compatible. `obs-websocket` has been integrated into `obs-studio`.
- `signald` has been bumped to `0.23.0`. For the upgrade, a migration process is necessary. It can be
done by running a command like this before starting `signald.service`:
-3
View File
@@ -9,9 +9,6 @@
# Modules to add to each VM
, extraConfigurations ? [ ]
}:
with pkgs;
let
nixos-lib = import ./default.nix { inherit (pkgs) lib; };
in
@@ -42,8 +42,7 @@ appimageTools.wrapType2 rec {
cp -a ${appimageContents}/resources/images/ $out/share/${pname}/resources
install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
install -m 444 -D ${appimageContents}/${pname}.png $out/share/icons/hicolor/512x512/apps/${pname}.png
install -m 444 -D ${appimageContents}/resources/images/icons/512x512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
install -m 444 -D ${appimageContents}/resources/images/desktop/512x512.png $out/share/icons/hicolor/512x512/apps/${pname}.png
substituteInPlace $out/share/applications/${pname}.desktop \
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
@@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "felix";
version = "1.3.2";
version = "2.0.0";
src = fetchFromGitHub {
owner = "kyoheiu";
repo = pname;
rev = "v${version}";
sha256 = "sha256-DXsuTmkfzWbjpTb3ZJRVSDGgivDlEQraqAeyRzAB4UU=";
sha256 = "sha256-ennEFhnAxsEtZ1LEyr9xeeR4v5IG1Vm2gs4A09IyciE=";
};
cargoSha256 = "sha256-gv7ujyAbFEpz95cHRDKPxUW2TiYiJz35jfiKlzi6gJY=";
cargoSha256 = "sha256-unSeb8LHgJ0TspbBLhGGU6Pqy1kLMEzgIIblLUyRQWw=";
checkInputs = [ zoxide ];
@@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub, installShellFiles, testers, kompose, git }:
{ lib, buildGoModule, fetchFromGitHub, fetchpatch, installShellFiles, testers, kompose, git }:
buildGoModule rec {
pname = "kompose";
@@ -11,7 +11,14 @@ buildGoModule rec {
sha256 = "sha256-NfzqGG5ZwPpmjhvcvXN1AA+kfZG/oujbAEtXkm1mzeU=";
};
vendorSha256 = "sha256-OR5U2PnebO0a+lwU09Dveh0Yxk91cmSRorTxQIO5lHc=";
vendorHash = "sha256-/i4R50heqf0v2F2GTZCKGq10+xKKr+zPkqWKa+afue8=";
patches = [
(fetchpatch {
url = "https://github.com/kubernetes/kompose/commit/0964a7ccd16504b6e5ef49a07978c87cca803d46.patch";
hash = "sha256-NMHLxx7Ae6Z+pacj538ivxIby7rNz3IbfDPbeLA0sMc=";
})
];
nativeBuildInputs = [ installShellFiles git ];
@@ -1,17 +1,17 @@
{ buildGoModule, fetchFromGitHub, lib }:
{ buildGoModule, fetchFromGitHub, lib, stdenv }:
buildGoModule rec {
pname = "kpt";
version = "0.39.2";
version = "0.39.3";
src = fetchFromGitHub {
owner = "GoogleContainerTools";
repo = pname;
rev = "v${version}";
sha256 = "sha256-PG4SzycXRguKyaQ7LDnTtxF3EgqcjfjeEWD5rROXBPI=";
hash = "sha256-vidrKfmP0Lw6EYYufLDxh3ROOJ3hPIusDTI/Hr73NYM=";
};
vendorSha256 = "sha256-CoXlUX9hkP8gijA/vg19AS9030w95A2oKGD1wjzO8ak=";
vendorHash = "sha256-CoXlUX9hkP8gijA/vg19AS9030w95A2oKGD1wjzO8ak=";
subPackages = [ "." ];
@@ -22,6 +22,6 @@ buildGoModule rec {
homepage = "https://googlecontainertools.github.io/kpt/";
license = licenses.asl20;
maintainers = with maintainers; [ mikefaille ];
platforms = platforms.linux ++ platforms.darwin;
broken = stdenv.isDarwin;
};
}
@@ -14,6 +14,9 @@
, json-glib
, libmspack
, webkitgtk_4_1
, substituteAll
, _experimental-update-script-combinators
, glib
}:
stdenv.mkDerivation rec {
@@ -25,6 +28,17 @@ stdenv.mkDerivation rec {
sha256 = "p5Jp7wnoqAuo8My8ZDMl0rsFc0158G8x8lAehWfLjb0=";
};
patches = [
# evolution-ews contains .so files loaded by evolution-data-server refering
# schemas from evolution. evolution-data-server is not wrapped with
# evolution's schemas because it would be a circular dependency with
# evolution.
(substituteAll {
src = ./hardcode-gsettings.patch;
evo = glib.makeSchemaPath evolution evolution.name;
})
];
nativeBuildInputs = [
cmake
gettext
@@ -50,10 +64,26 @@ stdenv.mkDerivation rec {
];
passthru = {
updateScript = gnome.updateScript {
packageName = "evolution-ews";
versionPolicy = "odd-unstable";
hardcodeGsettingsPatch = glib.mkHardcodeGsettingsPatch {
inherit src;
glib-schema-to-var = {
"org.gnome.evolution.mail" = "evo";
"org.gnome.evolution.calendar" = "evo";
};
};
updateScript =
let
updateSource = gnome.updateScript {
packageName = "evolution-ews";
versionPolicy = "odd-unstable";
};
updatePatch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-ews.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
in
_experimental-update-script-combinators.sequence [
updateSource
updatePatch
];
};
meta = with lib; {
@@ -0,0 +1,72 @@
diff --git a/src/EWS/camel/camel-ews-utils.c b/src/EWS/camel/camel-ews-utils.c
index 0707f72..1e71954 100644
--- a/src/EWS/camel/camel-ews-utils.c
+++ b/src/EWS/camel/camel-ews-utils.c
@@ -1552,7 +1552,18 @@ ews_utils_save_category_changes (GHashTable *old_categories, /* gchar *guid ~> C
evo_labels = g_ptr_array_new_full (5, g_free);
- settings = g_settings_new ("org.gnome.evolution.mail");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.mail",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
strv = g_settings_get_strv (settings, "labels");
for (ii = 0; strv && strv[ii]; ii++) {
diff --git a/src/EWS/common/e-ews-calendar-utils.c b/src/EWS/common/e-ews-calendar-utils.c
index 6deda60..9b44cc7 100644
--- a/src/EWS/common/e-ews-calendar-utils.c
+++ b/src/EWS/common/e-ews-calendar-utils.c
@@ -413,7 +413,18 @@ ews_get_configured_icaltimezone (void)
gchar *location;
ICalTimezone *zone = NULL;
- settings = g_settings_new ("org.gnome.evolution.calendar");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.calendar",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
location = g_settings_get_string (settings, "timezone");
if (location) {
zone = i_cal_timezone_get_builtin_timezone (location);
diff --git a/src/Microsoft365/camel/camel-m365-store.c b/src/Microsoft365/camel/camel-m365-store.c
index ff1b8e3..4f876c0 100644
--- a/src/Microsoft365/camel/camel-m365-store.c
+++ b/src/Microsoft365/camel/camel-m365-store.c
@@ -309,7 +309,18 @@ m365_store_save_category_changes (GHashTable *old_categories, /* gchar *id ~> Ca
evo_labels = g_ptr_array_new_full (5, g_free);
- settings = g_settings_new ("org.gnome.evolution.mail");
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@evo@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+ schema = g_settings_schema_source_lookup(schema_source,
+ "org.gnome.evolution.mail",
+ FALSE);
+ settings = g_settings_new_full(schema, NULL, NULL);
+ }
strv = g_settings_get_strv (settings, "labels");
for (ii = 0; strv && strv[ii]; ii++) {
@@ -1,7 +0,0 @@
{ callPackage, qtx11extras, ... } @ args:
callPackage ./generic.nix (args // {
version = "27.2.4";
sha256 = "sha256-OiSejQovSmhItrnrQlcVp9PCDRgAhuxTinSpXbH8bo0=";
extraBuildInputs = [ qtx11extras ];
})
-22
View File
@@ -1,22 +0,0 @@
{ callPackage
, libajantv2
, librist
, srt
, qtwayland
, ...
} @ args:
callPackage ./generic.nix (args // {
version = "28.0.3";
sha256 = "sha256-+4H1BjEgxqkAEvRyr2Tg3wXutnMvlYQEdT5jz644fMA=";
extraPatches = [ ./Provide-runtime-plugin-destination-as-relative-path.patch ];
extraBuildInputs = [
libajantv2
librist
srt
qtwayland
];
extraCMakeFlags = [
"-DENABLE_JACK=ON"
];
})
@@ -1,9 +1,4 @@
{ version
, sha256
, extraPatches ? [ ]
, extraBuildInputs ? [ ]
, extraCMakeFlags ? [ ]
, config
{ config
, lib
, stdenv
, fetchFromGitHub
@@ -41,6 +36,10 @@
, pipewireSupport ? stdenv.isLinux
, pipewire
, libdrm
, libajantv2
, librist
, srt
, qtwayland
, wrapQtAppsHook
, ...
}:
@@ -51,20 +50,21 @@ let
in
stdenv.mkDerivation rec {
pname = "obs-studio";
inherit version;
version = "28.1.2";
src = fetchFromGitHub {
owner = "obsproject";
repo = "obs-studio";
rev = version;
inherit sha256;
sha256 = "sha256-M5UEOtdzXBVY0UGfwWx3MsM28bJ1EcVPl8acWXWV0lg=";
fetchSubmodules = true;
};
patches = [
# Lets obs-browser build against CEF 90.1.0+
./Enable-file-access-and-universal-access-for-file-URL.patch
] ++ extraPatches;
./Provide-runtime-plugin-destination-as-relative-path.patch
];
nativeBuildInputs = [
addOpenGLRunpath
@@ -94,8 +94,11 @@ stdenv.mkDerivation rec {
libvlc
mbedtls
pciutils
libajantv2
librist
srt
qtwayland
]
++ extraBuildInputs
++ optionals scriptingSupport [ luajit python3 ]
++ optional alsaSupport alsa-lib
++ optional pulseaudioSupport libpulseaudio
@@ -123,7 +126,8 @@ stdenv.mkDerivation rec {
# Add support for browser source
"-DBUILD_BROWSER=ON"
"-DCEF_ROOT_DIR=../../cef"
] ++ extraCMakeFlags;
"-DENABLE_JACK=ON"
];
dontWrapGApps = true;
preFixup = ''
@@ -1,4 +1,4 @@
{ callPackage, libsForQt5, pkgsi686Linux }:
{ callPackage, qt6Packages, pkgsi686Linux }:
# When adding new plugins:
# - Respect alphabetical order. On diversion, file a PR.
@@ -8,17 +8,17 @@
{
looking-glass-obs = callPackage ./looking-glass-obs.nix { };
obs-backgroundremoval = callPackage ./obs-backgroundremoval.nix { };
obs-backgroundremoval = callPackage ./obs-backgroundremoval { };
obs-gstreamer = callPackage ./obs-gstreamer.nix { };
obs-hyperion = libsForQt5.callPackage ./obs-hyperion/default.nix { };
obs-hyperion = qt6Packages.callPackage ./obs-hyperion/default.nix { };
obs-move-transition = callPackage ./obs-move-transition.nix { };
obs-multi-rtmp = libsForQt5.callPackage ./obs-multi-rtmp.nix { };
obs-multi-rtmp = qt6Packages.callPackage ./obs-multi-rtmp { };
obs-ndi = libsForQt5.callPackage ./obs-ndi.nix { };
obs-ndi = qt6Packages.callPackage ./obs-ndi.nix { };
obs-nvfbc = callPackage ./obs-nvfbc.nix { };
@@ -1,13 +0,0 @@
diff --git a/external/FindLibObs.cmake b/external/FindLibObs.cmake
index ab0a3de..19c63ee 100644
--- a/external/FindLibObs.cmake
+++ b/external/FindLibObs.cmake
@@ -95,7 +95,7 @@ if(LIBOBS_FOUND)
set(LIBOBS_INCLUDE_DIRS ${LIBOBS_INCLUDE_DIR} ${W32_PTHREADS_INCLUDE_DIR})
set(LIBOBS_LIBRARIES ${LIBOBS_LIB} ${W32_PTHREADS_LIB})
- include(${LIBOBS_INCLUDE_DIR}/../cmake/external/ObsPluginHelpers.cmake)
+ include(external/ObsPluginHelpers.cmake)
# allows external plugins to easily use/share common dependencies that are often included with libobs (such as FFmpeg)
if(NOT DEFINED INCLUDED_LIBOBS_CMAKE_MODULES)
@@ -1,17 +1,19 @@
diff --git a/src/obs-ndi.cpp b/src/obs-ndi.cpp
index 493831c..7b0f8db 100644
index 1a8aeb3..9a36ea9 100644
--- a/src/obs-ndi.cpp
+++ b/src/obs-ndi.cpp
@@ -197,11 +197,7 @@ const char* obs_module_description()
const NDIlib_v4* load_ndilib()
{
QStringList locations;
- locations << QString(qgetenv(NDILIB_REDIST_FOLDER));
@@ -132,13 +132,7 @@ const NDIlib_v5 *load_ndilib()
const char *redistFolder = std::getenv(NDILIB_REDIST_FOLDER);
if (redistFolder)
libraryLocations.push_back(redistFolder);
-#if defined(__linux__) || defined(__APPLE__)
- locations << "/usr/lib";
- locations << "/usr/local/lib";
- libraryLocations.push_back("/usr/lib");
- libraryLocations.push_back("/usr/lib64");
- libraryLocations.push_back("/usr/lib/x86_64-linux-gnu");
- libraryLocations.push_back("/usr/local/lib");
- libraryLocations.push_back("/usr/local/lib64");
-#endif
+ locations << "@NDI@/lib";
+ libraryLocations.push_back("@NDI@/lib");
for (QString path : locations) {
blog(LOG_INFO, "Trying '%s'", path.toUtf8().constData());
for (std::string path : libraryLocations) {
blog(LOG_DEBUG, "[load_ndilib] Trying library path: '%s'", path.c_str());
@@ -1,7 +1,6 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, cmake
, obs-studio
, onnxruntime
@@ -10,15 +9,23 @@
stdenv.mkDerivation rec {
pname = "obs-backgroundremoval";
version = "0.4.0";
version = "unstable-2022-05-02";
src = fetchFromGitHub {
owner = "royshil";
repo = "obs-backgroundremoval";
rev = "v${version}";
sha256 = "sha256-TI1FlhE0+JL50gAZCSsI+g8savX8GRQkH3jYli/66hQ=";
rev = "cc9d4a5711f9388ed110230f9f793bb071577a23";
hash = "sha256-xkVZ4cB642p4DvZAPwI2EVhkfVl5lJhgOQobjNMqpec=";
};
patches = [
# Fix c++ include directives
./includes.patch
# Use CPU backend instead of CUDA/DirectML
./use-cpu-backend.patch
];
nativeBuildInputs = [ cmake ];
buildInputs = [ obs-studio onnxruntime opencv ];
@@ -29,10 +36,9 @@ stdenv.mkDerivation rec {
"-DOnnxruntime_INCLUDE_DIRS=${onnxruntime.dev}/include/onnxruntime/core/session"
];
patches = [ ./obs-backgroundremoval-includes.patch ];
prePatch = ''
sed -i 's/version_from_git()/set(VERSION "${version}")/' CMakeLists.txt
sed -i 's/version_from_git()/set(VERSION "0.4.0")/' CMakeLists.txt
'';
meta = with lib; {
@@ -1,5 +1,5 @@
diff --git a/src/Model.h b/src/Model.h
index 5c21eae..74b8078 100644
index 6a73745..6bb8a7d 100644
--- a/src/Model.h
+++ b/src/Model.h
@@ -1,13 +1,8 @@
@@ -13,11 +13,11 @@ index 5c21eae..74b8078 100644
-#include <onnxruntime_cxx_api.h>
-#include <cpu_provider_factory.h>
-#endif
#ifdef _WIN32
#ifdef WITH_CUDA
#include <cuda_provider_factory.h>
diff --git a/src/background-filter.cpp b/src/background-filter.cpp
index 9fa5794..5d66aee 100644
index 0853818..32c6483 100644
--- a/src/background-filter.cpp
+++ b/src/background-filter.cpp
@@ -1,13 +1,8 @@
@@ -31,6 +31,6 @@ index 9fa5794..5d66aee 100644
-#include <onnxruntime_cxx_api.h>
-#include <cpu_provider_factory.h>
-#endif
#ifdef _WIN32
#ifdef WITH_CUDA
#include <cuda_provider_factory.h>
#endif
@@ -0,0 +1,32 @@
From d04e167f9081a3ec8c49f0967b5b0cec79e40e4d Mon Sep 17 00:00:00 2001
From: Raphael Robatsch <raphael-git@tapesoftware.net>
Date: Fri, 14 Oct 2022 16:55:36 +0200
Subject: [PATCH] unix: use CPU backend instead of DirectML
---
src/background-filter.cpp | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/background-filter.cpp b/src/background-filter.cpp
index 32c6483..55e838f 100644
--- a/src/background-filter.cpp
+++ b/src/background-filter.cpp
@@ -205,10 +205,14 @@ static void createOrtSession(struct background_removal_filter *tf) {
if (tf->useGPU == USEGPU_CUDA) {
Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_CUDA(sessionOptions, 0));
}
-#else
+#elseif _WIN32
if (tf->useGPU == USEGPU_DML) {
Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_DML(sessionOptions, 0));
}
+#else
+ if (tf->useGPU == USEGPU_CPU) {
+ Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_CPU(sessionOptions, 0));
+ }
#endif
tf->session.reset(new Ort::Session(*tf->env, tf->modelFilepath, sessionOptions));
} catch (const std::exception& e) {
--
2.37.3
@@ -29,11 +29,17 @@ stdenv.mkDerivation rec {
chmod -R a+w external
'';
postInstall = ''
# Remove flatbuffers install
rm -rf $out/bin $out/lib/{libflatbuffers.a,cmake,pkgconfig} $out/include
'';
meta = with lib; {
description = "OBS Studio plugin to connect to a Hyperion.ng server";
homepage = "https://github.com/hyperion-project/hyperion-obs-plugin";
license = licenses.mit;
maintainers = with maintainers; [ algram ];
platforms = [ "x86_64-linux" ];
broken = true; # Not compatible with qt6 yet but required by OBS28
};
}
@@ -7,27 +7,22 @@
stdenv.mkDerivation rec {
pname = "obs-move-transition";
version = "2.6.4";
version = "2.7.1";
src = fetchFromGitHub {
owner = "exeldro";
repo = "obs-move-transition";
rev = version;
sha256 = "sha256-+kAdCM5PEFNxKNmJmf2ASTyUKA7xnbMAA7kP/emoaeI=";
sha256 = "sha256-zWHQ01iNTlqSAKcmsDCUZPXmmBIpqY/ZDftD5J6kp80=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ obs-studio ];
preConfigure = ''
cp ${obs-studio.src}/cmake/external/ObsPluginHelpers.cmake cmake/
postInstall = ''
rm -rf $out/obs-plugins $out/data
'';
cmakeFlags = [
"-DBUILD_OUT_OF_TREE=On"
"-Wno-dev"
];
meta = with lib; {
description = "Plugin for OBS Studio to move source to a new position during scene transition";
homepage = "https://github.com/exeldro/obs-move-transition";
@@ -2,20 +2,21 @@
stdenv.mkDerivation rec {
pname = "obs-multi-rtmp";
version = "0.2.8.1";
version = "0.2.8.1-OBS28";
src = fetchFromGitHub {
owner = "sorayuki";
repo = "obs-multi-rtmp";
rev = version;
sha256 = "sha256-OhatuSlDJ2VDNorM4QfoKPYKyv5YpN8EnIelLdBTlZ0=";
sha256 = "sha256-1W+c8Y0AmtKQmCIg8IDAaYYStQzDpZRuqw3vZEY5ncU=";
};
nativeBuildInputs = [ cmake ];
buildInputs = [ obs-studio qtbase ];
cmakeFlags = [
"-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
patches = [
# Patch cmake file to link against the obs build output, instead of its sources
./fix-build.patch
];
dontWrapQtApps = true;
@@ -0,0 +1,54 @@
From 72aeddb52c2b656bfec918097ad07a0ff092008b Mon Sep 17 00:00:00 2001
From: Raphael Robatsch <raphael-git@tapesoftware.net>
Date: Thu, 13 Oct 2022 21:34:21 +0200
Subject: [PATCH] Link against OBS public interface instead of sources
---
CMakeLists.txt | 22 ++++------------------
1 file changed, 4 insertions(+), 18 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 27e20f8..8725c5b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -65,15 +65,9 @@ if (WIN32)
"/def:${CMAKE_CURRENT_BINARY_DIR}/obs-frontend-api.def"
"/out:${CMAKE_CURRENT_BINARY_DIR}/obs-frontend-api.lib"
)
-elseif (APPLE)
- # macOS
- find_library(_LIB_OBS "${LIB_OBS}.0.dylib" PATHS ${OBS_BIN_DIR} REQUIRED)
- set(LIB_OBS "${_LIB_OBS}")
-elseif (UNIX)
- # Linux
- find_package(LibObs REQUIRED)
else ()
- message(FATAL_ERROR "Unsupported OS!")
+ find_package(libobs REQUIRED)
+ find_package(obs-frontend-api REQUIRED)
endif ()
@@ -96,18 +90,10 @@ if (WIN32)
"${CMAKE_CURRENT_BINARY_DIR}/version.rc"
)
endif ()
-target_include_directories(obs-multi-rtmp PRIVATE
- "${OBS_SRC_DIR}/libobs"
- "${OBS_SRC_DIR}/UI/obs-frontend-api"
-)
-target_link_directories(obs-multi-rtmp PRIVATE
- "${CMAKE_CURRENT_BINARY_DIR}"
- ${OBS_BIN_DIR}
-)
target_link_libraries(obs-multi-rtmp PRIVATE
Qt6::Widgets
- ${LIB_OBS}
- obs-frontend-api
+ OBS::libobs
+ OBS::obs-frontend-api
)
if (WIN32)
--
2.37.3
@@ -2,7 +2,7 @@
stdenv.mkDerivation rec {
pname = "obs-ndi";
version = "4.9.1";
version = "4.10.0";
nativeBuildInputs = [ cmake ];
buildInputs = [ obs-studio qtbase ndi ];
@@ -10,11 +10,13 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "Palakis";
repo = "obs-ndi";
rev = version;
sha256 = "1y3xdqp55jayhg4sinwiwpk194zc4f4jf0abz647x2fprsk9jz7s";
rev = "dummy-tag-${version}";
sha256 = "sha256-eQ/hQ2AnwyBNOotqlUZq07m4FXoeir2f7cTVq594obc=";
};
patches = [ ./fix-search-path.patch ./hardcode-ndi-path.patch ];
patches = [
./hardcode-ndi-path.patch
];
postPatch = ''
# Add path (variable added in hardcode-ndi-path.patch)
@@ -26,11 +28,12 @@ stdenv.mkDerivation rec {
ln -s ${ndi}/include lib/ndi
'';
cmakeFlags = [
"-DLIBOBS_INCLUDE_DIR=${obs-studio}/include/obs"
"-DLIBOBS_LIB=${obs-studio}/lib"
"-DCMAKE_CXX_FLAGS=-I${obs-studio.src}/UI/obs-frontend-api"
];
postInstall = ''
mkdir $out/lib $out/share
mv $out/obs-plugins/64bit $out/lib/obs-plugins
rm -rf $out/obs-plugins
mv $out/data $out/share/obs
'';
dontWrapQtApps = true;
+4 -4
View File
@@ -1,6 +1,6 @@
{
"commit": "8983027e744098e8a2fbeac09bcc6eb8a9471fff",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/8983027e744098e8a2fbeac09bcc6eb8a9471fff.tar.gz",
"sha256": "1iqgakw71x8cymdifpqnv546wmmrda6w862axli4k03vj7rv91iw",
"msg": "Update from Hackage at 2022-10-27T19:26:33Z"
"commit": "7e2dca1338ee7f19dbb8cdbc81e9eb1716bbf64e",
"url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/7e2dca1338ee7f19dbb8cdbc81e9eb1716bbf64e.tar.gz",
"sha256": "1vrhv9w042sn2sm3niiy5640qvhiqn79zllp4vsbdpds758rj9vm",
"msg": "Update from Hackage at 2022-11-03T21:09:38Z"
}
@@ -2,9 +2,6 @@
, lib
, fetchurl
, substituteAll
, runCommand
, git
, coccinelle
, pkg-config
, gnome
, _experimental-update-script-combinators
@@ -70,7 +67,7 @@ stdenv.mkDerivation rec {
prePatch = ''
substitute ${./hardcode-gsettings.patch} hardcode-gsettings.patch \
--subst-var-by EDS_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
--subst-var-by EDS ${glib.makeSchemaPath "$out" "${pname}-${version}"}
patches="$patches $PWD/hardcode-gsettings.patch"
'';
@@ -153,40 +150,28 @@ stdenv.mkDerivation rec {
'';
passthru = {
# In order for GNOME not to depend on OCaml through Coccinelle,
# we materialize the SmPL patch into a unified diff-style patch.
hardcodeGsettingsPatch =
runCommand
"hardcode-gsettings.patch"
{
inherit src;
nativeBuildInputs = [
git
coccinelle
python3 # For patch script
];
}
''
unpackPhase
cd "''${sourceRoot:-.}"
git init
git add -A
spatch --sp-file "${./hardcode-gsettings.cocci}" --dir . --in-place
git diff > "$out"
'';
hardcodeGsettingsPatch = glib.mkHardcodeGsettingsPatch {
glib-schema-to-var = {
"org.gnome.Evolution.DefaultSources" = "EDS";
"org.gnome.evolution.shell.network-config" = "EDS";
"org.gnome.evolution-data-server.addressbook" = "EDS";
"org.gnome.evolution-data-server.calendar" = "EDS";
"org.gnome.evolution-data-server" = "EDS";
};
inherit src;
};
updateScript =
let
updateSource = gnome.updateScript {
packageName = "evolution-data-server";
versionPolicy = "odd-unstable";
};
updateGsettingsPatch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-data-server.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
updatePatch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-data-server.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
in
_experimental-update-script-combinators.sequence [
updateSource
updateGsettingsPatch
updatePatch
];
};
@@ -1,5 +1,5 @@
diff --git a/src/addressbook/libebook/e-book-client.c b/src/addressbook/libebook/e-book-client.c
index 7888e69..c3b695c 100644
index 7888e69..27215e4 100644
--- a/src/addressbook/libebook/e-book-client.c
+++ b/src/addressbook/libebook/e-book-client.c
@@ -1983,7 +1983,18 @@ e_book_client_get_self (ESourceRegistry *registry,
@@ -10,7 +10,7 @@ index 7888e69..c3b695c 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -30,7 +30,7 @@ index 7888e69..c3b695c 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -51,7 +51,7 @@ index 7888e69..c3b695c 100644
+ if (!settings) {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -64,7 +64,7 @@ index 7888e69..c3b695c 100644
g_mutex_unlock (&mutex);
diff --git a/src/addressbook/libebook/e-book.c b/src/addressbook/libebook/e-book.c
index 8dfff6d..cd88392 100644
index 8dfff6d..fb4434b 100644
--- a/src/addressbook/libebook/e-book.c
+++ b/src/addressbook/libebook/e-book.c
@@ -2587,7 +2587,18 @@ e_book_get_self (ESourceRegistry *registry,
@@ -75,7 +75,7 @@ index 8dfff6d..cd88392 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -95,7 +95,7 @@ index 8dfff6d..cd88392 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -115,7 +115,7 @@ index 8dfff6d..cd88392 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -128,7 +128,7 @@ index 8dfff6d..cd88392 100644
g_object_unref (settings);
diff --git a/src/addressbook/libedata-book/e-book-meta-backend.c b/src/addressbook/libedata-book/e-book-meta-backend.c
index d3f130e..9e8edd4 100644
index d3f130e..bc820e9 100644
--- a/src/addressbook/libedata-book/e-book-meta-backend.c
+++ b/src/addressbook/libedata-book/e-book-meta-backend.c
@@ -135,7 +135,18 @@ ebmb_is_power_saver_enabled (void)
@@ -139,7 +139,7 @@ index d3f130e..9e8edd4 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -152,7 +152,7 @@ index d3f130e..9e8edd4 100644
if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
GPowerProfileMonitor *power_monitor;
diff --git a/src/calendar/backends/contacts/e-cal-backend-contacts.c b/src/calendar/backends/contacts/e-cal-backend-contacts.c
index 42f3457..faac410 100644
index 42f3457..b4926af 100644
--- a/src/calendar/backends/contacts/e-cal-backend-contacts.c
+++ b/src/calendar/backends/contacts/e-cal-backend-contacts.c
@@ -1387,7 +1387,18 @@ e_cal_backend_contacts_init (ECalBackendContacts *cbc)
@@ -163,7 +163,7 @@ index 42f3457..faac410 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -176,7 +176,7 @@ index 42f3457..faac410 100644
cbc->priv->update_alarms_id = 0;
cbc->priv->alarm_enabled = FALSE;
diff --git a/src/calendar/libecal/e-reminder-watcher.c b/src/calendar/libecal/e-reminder-watcher.c
index 52095a4..e839991 100644
index 52095a4..184b657 100644
--- a/src/calendar/libecal/e-reminder-watcher.c
+++ b/src/calendar/libecal/e-reminder-watcher.c
@@ -2555,7 +2555,19 @@ e_reminder_watcher_init (EReminderWatcher *watcher)
@@ -187,7 +187,7 @@ index 52095a4..e839991 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -201,7 +201,7 @@ index 52095a4..e839991 100644
watcher->priv->default_zone = e_cal_util_copy_timezone (zone);
watcher->priv->timers_enabled = TRUE;
diff --git a/src/calendar/libedata-cal/e-cal-meta-backend.c b/src/calendar/libedata-cal/e-cal-meta-backend.c
index 94a875f..1f914a9 100644
index 94a875f..1d2ed92 100644
--- a/src/calendar/libedata-cal/e-cal-meta-backend.c
+++ b/src/calendar/libedata-cal/e-cal-meta-backend.c
@@ -149,7 +149,18 @@ ecmb_is_power_saver_enabled (void)
@@ -212,7 +212,7 @@ index 94a875f..1f914a9 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -225,7 +225,7 @@ index 94a875f..1f914a9 100644
if (g_settings_get_boolean (settings, "limit-operations-in-power-saver-mode")) {
GPowerProfileMonitor *power_monitor;
diff --git a/src/camel/camel-cipher-context.c b/src/camel/camel-cipher-context.c
index 8013ba7..ba74769 100644
index 8013ba7..1bba6d1 100644
--- a/src/camel/camel-cipher-context.c
+++ b/src/camel/camel-cipher-context.c
@@ -1625,7 +1625,18 @@ camel_cipher_can_load_photos (void)
@@ -236,7 +236,7 @@ index 8013ba7..ba74769 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -249,7 +249,7 @@ index 8013ba7..ba74769 100644
g_clear_object (&settings);
diff --git a/src/camel/camel-gpg-context.c b/src/camel/camel-gpg-context.c
index 205372e..2023704 100644
index 205372e..f75a88e 100644
--- a/src/camel/camel-gpg-context.c
+++ b/src/camel/camel-gpg-context.c
@@ -582,7 +582,18 @@ gpg_ctx_get_executable_name (void)
@@ -260,7 +260,7 @@ index 205372e..2023704 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -273,7 +273,7 @@ index 205372e..2023704 100644
g_clear_object (&settings);
diff --git a/src/camel/camel-utils.c b/src/camel/camel-utils.c
index e61160c..d17871a 100644
index e61160c..b6553a4 100644
--- a/src/camel/camel-utils.c
+++ b/src/camel/camel-utils.c
@@ -362,7 +362,19 @@ void
@@ -284,7 +284,7 @@ index e61160c..d17871a 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -298,7 +298,7 @@ index e61160c..d17871a 100644
G_CALLBACK (mi_user_headers_settings_changed_cb), NULL);
G_UNLOCK (mi_user_headers);
diff --git a/src/camel/providers/imapx/camel-imapx-server.c b/src/camel/providers/imapx/camel-imapx-server.c
index e5645e2..170a0be 100644
index e5645e2..96a1ce3 100644
--- a/src/camel/providers/imapx/camel-imapx-server.c
+++ b/src/camel/providers/imapx/camel-imapx-server.c
@@ -5573,7 +5573,18 @@ camel_imapx_server_skip_old_flags_update (CamelStore *store)
@@ -309,7 +309,7 @@ index e5645e2..170a0be 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -322,7 +322,7 @@ index e5645e2..170a0be 100644
if (g_settings_get_boolean (eds_settings, "limit-operations-in-power-saver-mode")) {
GPowerProfileMonitor *power_monitor;
diff --git a/src/camel/providers/smtp/camel-smtp-transport.c b/src/camel/providers/smtp/camel-smtp-transport.c
index f535ad6..30130b9 100644
index f535ad6..918975d 100644
--- a/src/camel/providers/smtp/camel-smtp-transport.c
+++ b/src/camel/providers/smtp/camel-smtp-transport.c
@@ -1458,7 +1458,18 @@ smtp_helo (CamelSmtpTransport *transport,
@@ -333,7 +333,7 @@ index f535ad6..30130b9 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -346,7 +346,7 @@ index f535ad6..30130b9 100644
g_clear_object (&settings);
diff --git a/src/libedataserver/e-network-monitor.c b/src/libedataserver/e-network-monitor.c
index 188f276..7c4db94 100644
index 188f276..939f89b 100644
--- a/src/libedataserver/e-network-monitor.c
+++ b/src/libedataserver/e-network-monitor.c
@@ -256,7 +256,18 @@ e_network_monitor_constructed (GObject *object)
@@ -357,7 +357,7 @@ index 188f276..7c4db94 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -370,7 +370,7 @@ index 188f276..7c4db94 100644
settings, "network-monitor-gio-name",
object, "gio-name",
diff --git a/src/libedataserver/e-oauth2-service-google.c b/src/libedataserver/e-oauth2-service-google.c
index f215388..3b67126 100644
index f215388..501222e 100644
--- a/src/libedataserver/e-oauth2-service-google.c
+++ b/src/libedataserver/e-oauth2-service-google.c
@@ -71,7 +71,18 @@ eos_google_read_settings (EOAuth2Service *service,
@@ -381,7 +381,7 @@ index f215388..3b67126 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -394,7 +394,7 @@ index f215388..3b67126 100644
g_object_unref (settings);
diff --git a/src/libedataserver/e-oauth2-service-outlook.c b/src/libedataserver/e-oauth2-service-outlook.c
index 9cff0d0..fd95f0b 100644
index 9cff0d0..4c9a203 100644
--- a/src/libedataserver/e-oauth2-service-outlook.c
+++ b/src/libedataserver/e-oauth2-service-outlook.c
@@ -71,7 +71,18 @@ eos_outlook_read_settings (EOAuth2Service *service,
@@ -405,7 +405,7 @@ index 9cff0d0..fd95f0b 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -418,7 +418,7 @@ index 9cff0d0..fd95f0b 100644
g_object_unref (settings);
diff --git a/src/libedataserver/e-oauth2-service-yahoo.c b/src/libedataserver/e-oauth2-service-yahoo.c
index 8e4ee81..bb8f8f7 100644
index 8e4ee81..cc94026 100644
--- a/src/libedataserver/e-oauth2-service-yahoo.c
+++ b/src/libedataserver/e-oauth2-service-yahoo.c
@@ -67,7 +67,18 @@ eos_yahoo_read_settings (EOAuth2Service *service,
@@ -429,7 +429,7 @@ index 8e4ee81..bb8f8f7 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -442,7 +442,7 @@ index 8e4ee81..bb8f8f7 100644
g_object_unref (settings);
diff --git a/src/libedataserver/e-oauth2-service.c b/src/libedataserver/e-oauth2-service.c
index 7783781..6fb22cb 100644
index 7783781..6a2db01 100644
--- a/src/libedataserver/e-oauth2-service.c
+++ b/src/libedataserver/e-oauth2-service.c
@@ -90,7 +90,18 @@ eos_default_guess_can_process (EOAuth2Service *service,
@@ -453,7 +453,7 @@ index 7783781..6fb22cb 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -466,7 +466,7 @@ index 7783781..6fb22cb 100644
g_object_unref (settings);
diff --git a/src/libedataserver/e-source-registry.c b/src/libedataserver/e-source-registry.c
index 6701a3a..6b8ee33 100644
index 6701a3a..f497263 100644
--- a/src/libedataserver/e-source-registry.c
+++ b/src/libedataserver/e-source-registry.c
@@ -1764,7 +1764,19 @@ e_source_registry_init (ESourceRegistry *registry)
@@ -477,7 +477,7 @@ index 6701a3a..6b8ee33 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -491,7 +491,7 @@ index 6701a3a..6b8ee33 100644
g_signal_connect (
registry->priv->settings, "changed",
diff --git a/src/libedataserverui/e-reminders-widget.c b/src/libedataserverui/e-reminders-widget.c
index 14b6481..6dc55bb 100644
index 14b6481..7149b74 100644
--- a/src/libedataserverui/e-reminders-widget.c
+++ b/src/libedataserverui/e-reminders-widget.c
@@ -1986,7 +1986,19 @@ static void
@@ -502,7 +502,7 @@ index 14b6481..6dc55bb 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -516,7 +516,7 @@ index 14b6481..6dc55bb 100644
reminders->priv->is_empty = TRUE;
reminders->priv->is_mapped = FALSE;
diff --git a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c
index 6f03053..127c92e 100644
index 6f03053..b5db6b2 100644
--- a/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c
+++ b/src/services/evolution-source-registry/evolution-source-registry-autoconfig.c
@@ -706,7 +706,18 @@ evolution_source_registry_merge_autoconfig_sources (ESourceRegistryServer *serve
@@ -527,7 +527,7 @@ index 6f03053..127c92e 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -540,7 +540,7 @@ index 6f03053..127c92e 100644
autoconfig_sources = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, e_autoconfig_free_merge_source_data);
diff --git a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
index d531cb9..3d8807c 100644
index d531cb9..c96f1d5 100644
--- a/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
+++ b/src/services/evolution-source-registry/evolution-source-registry-migrate-proxies.c
@@ -61,7 +61,18 @@ evolution_source_registry_migrate_proxies (ESourceRegistryServer *server)
@@ -551,7 +551,7 @@ index d531cb9..3d8807c 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
@@ -564,7 +564,7 @@ index d531cb9..3d8807c 100644
switch (g_settings_get_int (settings, "proxy-type")) {
case 1:
diff --git a/src/services/evolution-source-registry/evolution-source-registry.c b/src/services/evolution-source-registry/evolution-source-registry.c
index 1c0a113..d26b059 100644
index 1c0a113..6b41423 100644
--- a/src/services/evolution-source-registry/evolution-source-registry.c
+++ b/src/services/evolution-source-registry/evolution-source-registry.c
@@ -181,7 +181,18 @@ main (gint argc,
@@ -575,7 +575,7 @@ index 1c0a113..d26b059 100644
+ {
+ g_autoptr(GSettingsSchemaSource) schema_source;
+ g_autoptr(GSettingsSchema) schema;
+ schema_source = g_settings_schema_source_new_from_directory("@EDS_GSETTINGS_PATH@",
+ schema_source = g_settings_schema_source_new_from_directory("@EDS@",
+ g_settings_schema_source_get_default(),
+ TRUE,
+ NULL);
+367
View File
@@ -0,0 +1,367 @@
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages
# build-tools
, bootPkgs
, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
, xattr, autoSignDarwinBinariesHook
, bash
, libiconv ? null, ncurses
, glibcLocales ? null
, # GHC can be built with system libffi or a bundled one.
libffi ? null
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
buildTargetLlvmPackages, llvmPackages
, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
, gmp
, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
# aarch64 outputs otherwise exceed 2GB limit
, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
, # Whether to build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
(if useLLVM then "perf-cross" else "perf-cross-ncg")
, # Whether to build sphinx documentation.
enableDocs ? (
# Docs disabled for musl and cross because it's a large task to keep
# all `sphinx` dependencies building in those environments.
# `sphinx` pulls in among others:
# Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
(stdenv.targetPlatform == stdenv.hostPlatform)
&& !stdenv.hostPlatform.isMusl
)
, enableHaddockProgram ?
# Disabled for cross; see note [HADDOCK_DOCS].
(stdenv.targetPlatform == stdenv.hostPlatform)
, # Whether to disable the large address space allocator
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
}:
assert !enableNativeBignum -> gmp != null;
# Cross cannot currently build the `haddock` program for silly reasons,
# see note [HADDOCK_DOCS].
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
let
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
inherit (bootPkgs) ghc;
# TODO(@Ericson2314) Make unconditional
targetPrefix = lib.optionalString
(targetPlatform != hostPlatform)
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
BUILD_SPHINX_PDF = NO
'' +
# Note [HADDOCK_DOCS]:
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
# program is built (which we generally always want to have a complete GHC install)
# and whether it is run on the GHC sources to generate hyperlinked source code
# (which is impossible for cross-compilation); see:
# https://gitlab.haskell.org/ghc/ghc/-/issues/20077
# This implies that currently a cross-compiled GHC will never have a `haddock`
# program, so it can never generate haddocks for any packages.
# If this is solved in the future, we'd like to unconditionally
# build the haddock program (removing the `enableHaddockProgram` option).
''
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
# Build haddocks for boot packages with hyperlinking
EXTRA_HADDOCK_OPTS += --hyperlinked-source --quickjump
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
'' + lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
'' + lib.optionalString (!enableProfiledLibs) ''
GhcLibWays = "v dyn"
'' +
# -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
# makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell.
# This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell
lib.optionalString enableRelocatedStaticLibs ''
GhcLibHcOpts += -fPIC -fexternal-dynamic-refs
GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs
'' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
EXTRA_CC_OPTS += -std=gnu99
'';
# Splicer will pull out correct variations
libDeps = platform: lib.optional enableTerminfo ncurses
++ [libffi]
++ lib.optional (!enableNativeBignum) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
# GHC doesn't seem to have {LLC,OPT}_HOST
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
targetCC = builtins.head toolsForTarget;
# Sometimes we have to dispatch between the bintools wrapper and the unwrapped
# derivation for certain tools depending on the platform.
bintoolsFor = {
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
# part of the bintools wrapper (due to codesigning requirements), but not on
# x86_64-darwin.
install_name_tool =
if stdenv.targetPlatform.isAarch64
then targetCC.bintools
else targetCC.bintools.bintools;
# Same goes for strip.
strip =
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
then targetCC.bintools
else targetCC.bintools.bintools;
};
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
# see #84670 and #49071 for more background.
useLdGold = targetPlatform.linker == "gold" ||
(targetPlatform.linker == "bfd" && (targetCC.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
variantSuffix = lib.concatStrings [
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
(lib.optionalString enableNativeBignum "-native-bignum")
];
in
# C compiler, bintools and LLVM are used at build time, but will also leak into
# the resulting GHC's settings file and used at runtime. This means that we are
# currently only able to build GHC if hostPlatform == buildPlatform.
assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
stdenv.mkDerivation (rec {
version = "9.2.5";
pname = "${targetPrefix}ghc${variantSuffix}";
src = fetchurl {
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "0606797d1b38e2d88ee2243f38ec6b9a1aa93e9b578e95f0de9a9c0a4144021c";
};
enableParallelBuilding = true;
outputs = [ "out" "doc" ];
patches = [
# fix hyperlinked haddock sources: https://github.com/haskell/haddock/pull/1482
(fetchpatch {
url = "https://patch-diff.githubusercontent.com/raw/haskell/haddock/pull/1482.patch";
sha256 = "sha256-8w8QUCsODaTvknCDGgTfFNZa8ZmvIKaKS+2ZJZ9foYk=";
extraPrefix = "utils/haddock/";
stripLen = 1;
})
];
postPatch = "patchShebangs .";
# GHC needs the locale configured during the Haddock phase.
LANG = "en_US.UTF-8";
# GHC is a bit confused on its cross terminology.
# TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
done
# GHC is a bit confused on its cross terminology, as these would normally be
# the *host* tools.
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip"
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool"
'' + lib.optionalString useLLVM ''
export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc"
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
# LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
'' + ''
echo -n "${buildMK}" > mk/build.mk
'' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") ''
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
'' + lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
'' + lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
# GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
export XATTR=${lib.getBin xattr}/bin/xattr
'' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
'' + lib.optionalString targetPlatform.isMusl ''
echo "patching llvm-targets for musl targets..."
echo "Cloning these existing '*-linux-gnu*' targets:"
grep linux-gnu llvm-targets | sed 's/^/ /'
echo "(go go gadget sed)"
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
echo "llvm-targets now contains these '*-linux-musl*' targets:"
grep linux-musl llvm-targets | sed 's/^/ /'
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
for x in configure aclocal.m4; do
substituteInPlace $x \
--replace '*-android*|*-gnueabi*)' \
'*-android*|*-gnueabi*|*-musleabi*)'
done
'';
# TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ]
++ lib.optional (targetPlatform != hostPlatform) "target";
# `--with` flags for libraries needed for RTS linker
configureFlags = [
"--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ lib.optionals (libffi != null) [
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
"--with-iconv-includes=${libiconv}/include"
"--with-iconv-libraries=${libiconv}/lib"
] ++ lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot"
] ++ lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
] ++ lib.optionals (disableLargeAddressSpace) [
"--disable-large-address-space"
];
# Make sure we never relax`$PATH` and hooks support for compatibility.
strictDeps = true;
# Dont add -liconv to LDFLAGS automatically so that GHC will add it itself.
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf automake m4 python3
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
autoSignDarwinBinariesHook
] ++ lib.optionals enableDocs [
sphinx
];
# For building runtime libs
depsBuildTarget = toolsForTarget;
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
checkTarget = "test";
hardeningDisable =
[ "format" ]
# In nixpkgs, musl based builds currently enable `pie` hardening by default
# (see `defaultHardeningFlags` in `make-derivation.nix`).
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
# See:
# * https://github.com/NixOS/nixpkgs/issues/129247
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
++ lib.optional stdenv.targetPlatform.isMusl "pie";
# big-parallel allows us to build with more than 2 cores on
# Hydra which already warrants a significant speedup
requiredSystemFeatures = [ "big-parallel" ];
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
'';
passthru = {
inherit bootPkgs targetPrefix;
inherit llvmPackages;
inherit enableShared;
# This is used by the haskell builder to query
# the presence of the haddock program.
hasHaddock = enableHaddockProgram;
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
};
meta = {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with lib.maintainers; [
guibou
] ++ lib.teams.haskell.members;
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
dontStrip = true;
dontPatchELF = true;
noAuditTmpdir = true;
})
+370
View File
@@ -0,0 +1,370 @@
# DO NOT port this expression to hadrian. It is not possible to build a GHC
# cross compiler with 9.4.* and hadrian.
{ lib, stdenv, pkgsBuildTarget, pkgsHostTarget, targetPackages
# build-tools
, bootPkgs
, autoconf, automake, coreutils, fetchpatch, fetchurl, perl, python3, m4, sphinx
, xattr, autoSignDarwinBinariesHook
, bash
, libiconv ? null, ncurses
, glibcLocales ? null
, # GHC can be built with system libffi or a bundled one.
libffi ? null
, useLLVM ? !(stdenv.targetPlatform.isx86
|| stdenv.targetPlatform.isPower
|| stdenv.targetPlatform.isSparc
|| (stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin))
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
# build-time dependency too.
buildTargetLlvmPackages, llvmPackages
, # If enabled, GHC will be built with the GPL-free but slightly slower native
# bignum backend instead of the faster but GPLed gmp backend.
enableNativeBignum ? !(lib.meta.availableOn stdenv.hostPlatform gmp)
, gmp
, # If enabled, use -fPIC when compiling static libs.
enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
# aarch64 outputs otherwise exceed 2GB limit
, enableProfiledLibs ? !stdenv.targetPlatform.isAarch64
, # Whether to build dynamic libs for the standard library (on the target
# platform). Static libs are always built.
enableShared ? with stdenv.targetPlatform; !isWindows && !useiOSPrebuilt && !isStatic
, # Whether to build terminfo.
enableTerminfo ? !stdenv.targetPlatform.isWindows
, # What flavour to build. An empty string indicates no
# specific flavour and falls back to ghc default values.
ghcFlavour ? lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform)
(if useLLVM then "perf-cross" else "perf-cross-ncg")
, # Whether to build sphinx documentation.
enableDocs ? (
# Docs disabled for musl and cross because it's a large task to keep
# all `sphinx` dependencies building in those environments.
# `sphinx` pulls in among others:
# Ruby, Python, Perl, Rust, OpenGL, Xorg, gtk, LLVM.
(stdenv.targetPlatform == stdenv.hostPlatform)
&& !stdenv.hostPlatform.isMusl
)
, enableHaddockProgram ?
# Disabled for cross; see note [HADDOCK_DOCS].
(stdenv.targetPlatform == stdenv.hostPlatform)
, # Whether to disable the large address space allocator
# necessary fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
disableLargeAddressSpace ? stdenv.targetPlatform.isiOS
}:
assert !enableNativeBignum -> gmp != null;
# Cross cannot currently build the `haddock` program for silly reasons,
# see note [HADDOCK_DOCS].
assert (stdenv.targetPlatform != stdenv.hostPlatform) -> !enableHaddockProgram;
let
inherit (stdenv) buildPlatform hostPlatform targetPlatform;
inherit (bootPkgs) ghc;
# TODO(@Ericson2314) Make unconditional
targetPrefix = lib.optionalString
(targetPlatform != hostPlatform)
"${targetPlatform.config}-";
buildMK = ''
BuildFlavour = ${ghcFlavour}
ifneq \"\$(BuildFlavour)\" \"\"
include mk/flavours/\$(BuildFlavour).mk
endif
BUILD_SPHINX_HTML = ${if enableDocs then "YES" else "NO"}
BUILD_SPHINX_PDF = NO
'' +
# Note [HADDOCK_DOCS]:
# Unfortunately currently `HADDOCK_DOCS` controls both whether the `haddock`
# program is built (which we generally always want to have a complete GHC install)
# and whether it is run on the GHC sources to generate hyperlinked source code
# (which is impossible for cross-compilation); see:
# https://gitlab.haskell.org/ghc/ghc/-/issues/20077
# This implies that currently a cross-compiled GHC will never have a `haddock`
# program, so it can never generate haddocks for any packages.
# If this is solved in the future, we'd like to unconditionally
# build the haddock program (removing the `enableHaddockProgram` option).
''
HADDOCK_DOCS = ${if enableHaddockProgram then "YES" else "NO"}
# Build haddocks for boot packages with hyperlinking
EXTRA_HADDOCK_OPTS += --hyperlinked-source --quickjump
DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
BIGNUM_BACKEND = ${if enableNativeBignum then "native" else "gmp"}
'' + lib.optionalString (targetPlatform != hostPlatform) ''
Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
CrossCompilePrefix = ${targetPrefix}
'' + lib.optionalString (!enableProfiledLibs) ''
GhcLibWays = "v dyn"
'' +
# -fexternal-dynamic-refs apparently (because it's not clear from the documentation)
# makes the GHC RTS able to load static libraries, which may be needed for TemplateHaskell.
# This solution was described in https://www.tweag.io/blog/2020-09-30-bazel-static-haskell
lib.optionalString enableRelocatedStaticLibs ''
GhcLibHcOpts += -fPIC -fexternal-dynamic-refs
GhcRtsHcOpts += -fPIC -fexternal-dynamic-refs
'' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
EXTRA_CC_OPTS += -std=gnu99
'';
# Splicer will pull out correct variations
libDeps = platform: lib.optional enableTerminfo ncurses
++ [libffi]
++ lib.optional (!enableNativeBignum) gmp
++ lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
# TODO(@sternenseemann): is buildTarget LLVM unnecessary?
# GHC doesn't seem to have {LLC,OPT}_HOST
toolsForTarget = [
pkgsBuildTarget.targetPackages.stdenv.cc
] ++ lib.optional useLLVM buildTargetLlvmPackages.llvm;
targetCC = builtins.head toolsForTarget;
# Sometimes we have to dispatch between the bintools wrapper and the unwrapped
# derivation for certain tools depending on the platform.
bintoolsFor = {
# GHC needs install_name_tool on all darwin platforms. On aarch64-darwin it is
# part of the bintools wrapper (due to codesigning requirements), but not on
# x86_64-darwin.
install_name_tool =
if stdenv.targetPlatform.isAarch64
then targetCC.bintools
else targetCC.bintools.bintools;
# Same goes for strip.
strip =
# TODO(@sternenseemann): also use wrapper if linker == "bfd" or "gold"
if stdenv.targetPlatform.isAarch64 && stdenv.targetPlatform.isDarwin
then targetCC.bintools
else targetCC.bintools.bintools;
};
# Use gold either following the default, or to avoid the BFD linker due to some bugs / perf issues.
# But we cannot avoid BFD when using musl libc due to https://sourceware.org/bugzilla/show_bug.cgi?id=23856
# see #84670 and #49071 for more background.
useLdGold = targetPlatform.linker == "gold" ||
(targetPlatform.linker == "bfd" && (targetCC.bintools.bintools.hasGold or false) && !targetPlatform.isMusl);
# Makes debugging easier to see which variant is at play in `nix-store -q --tree`.
variantSuffix = lib.concatStrings [
(lib.optionalString stdenv.hostPlatform.isMusl "-musl")
(lib.optionalString enableNativeBignum "-native-bignum")
];
in
# C compiler, bintools and LLVM are used at build time, but will also leak into
# the resulting GHC's settings file and used at runtime. This means that we are
# currently only able to build GHC if hostPlatform == buildPlatform.
assert targetCC == pkgsHostTarget.targetPackages.stdenv.cc;
assert buildTargetLlvmPackages.llvm == llvmPackages.llvm;
assert stdenv.targetPlatform.isDarwin -> buildTargetLlvmPackages.clang == llvmPackages.clang;
stdenv.mkDerivation (rec {
version = "9.4.3";
pname = "${targetPrefix}ghc${variantSuffix}";
src = fetchurl {
url = "https://downloads.haskell.org/ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "eaf63949536ede50ee39179f2299d5094eb9152d87cc6fb2175006bc98e8905a";
};
enableParallelBuilding = true;
outputs = [ "out" "doc" ];
postPatch = "patchShebangs .";
# GHC needs the locale configured during the Haddock phase.
LANG = "en_US.UTF-8";
# GHC is a bit confused on its cross terminology.
# TODO(@sternenseemann): investigate coreutils dependencies and pass absolute paths
preConfigure = ''
for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
export "''${env#TARGET_}=''${!env}"
done
# GHC is a bit confused on its cross terminology, as these would normally be
# the *host* tools.
export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
export CXX="${targetCC}/bin/${targetCC.targetPrefix}c++"
# Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${lib.optionalString useLdGold ".gold"}"
export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
export STRIP="${bintoolsFor.strip}/bin/${bintoolsFor.strip.targetPrefix}strip"
'' + lib.optionalString (stdenv.targetPlatform.linker == "cctools") ''
export OTOOL="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}otool"
export INSTALL_NAME_TOOL="${bintoolsFor.install_name_tool}/bin/${bintoolsFor.install_name_tool.targetPrefix}install_name_tool"
'' + lib.optionalString useLLVM ''
export LLC="${lib.getBin buildTargetLlvmPackages.llvm}/bin/llc"
export OPT="${lib.getBin buildTargetLlvmPackages.llvm}/bin/opt"
'' + lib.optionalString (useLLVM && stdenv.targetPlatform.isDarwin) ''
# LLVM backend on Darwin needs clang: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/codegens.html#llvm-code-generator-fllvm
export CLANG="${buildTargetLlvmPackages.clang}/bin/${buildTargetLlvmPackages.clang.targetPrefix}clang"
'' + ''
echo -n "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'' + lib.optionalString (stdenv.isLinux && hostPlatform.libc == "glibc") ''
export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
'' + lib.optionalString (!stdenv.isDarwin) ''
export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
'' + lib.optionalString stdenv.isDarwin ''
export NIX_LDFLAGS+=" -no_dtrace_dof"
# GHC tries the host xattr /usr/bin/xattr by default which fails since it expects python to be 2.7
export XATTR=${lib.getBin xattr}/bin/xattr
'' + lib.optionalString targetPlatform.useAndroidPrebuilt ''
sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
'' + lib.optionalString targetPlatform.isMusl ''
echo "patching llvm-targets for musl targets..."
echo "Cloning these existing '*-linux-gnu*' targets:"
grep linux-gnu llvm-targets | sed 's/^/ /'
echo "(go go gadget sed)"
sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
echo "llvm-targets now contains these '*-linux-musl*' targets:"
grep linux-musl llvm-targets | sed 's/^/ /'
echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
# (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
for x in configure aclocal.m4; do
substituteInPlace $x \
--replace '*-android*|*-gnueabi*)' \
'*-android*|*-gnueabi*|*-musleabi*)'
done
''
# HACK: allow bootstrapping with GHC 8.10 which works fine, as we don't have
# binary 9.0 packaged. Bootstrapping with 9.2 is broken without hadrian.
+ ''
substituteInPlace configure --replace \
'MinBootGhcVersion="9.0"' \
'MinBootGhcVersion="8.10"'
'';
# TODO(@Ericson2314): Always pass "--target" and always prefix.
configurePlatforms = [ "build" "host" ]
++ lib.optional (targetPlatform != hostPlatform) "target";
# `--with` flags for libraries needed for RTS linker
configureFlags = [
"--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ lib.optionals (libffi != null) [
"--with-system-libffi"
"--with-ffi-includes=${targetPackages.libffi.dev}/include"
"--with-ffi-libraries=${targetPackages.libffi.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && !enableNativeBignum) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include"
"--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ lib.optionals (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
"--with-iconv-includes=${libiconv}/include"
"--with-iconv-libraries=${libiconv}/lib"
] ++ lib.optionals (targetPlatform != hostPlatform) [
"--enable-bootstrap-with-devel-snapshot"
] ++ lib.optionals useLdGold [
"CFLAGS=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
"CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
] ++ lib.optionals (disableLargeAddressSpace) [
"--disable-large-address-space"
];
# Make sure we never relax`$PATH` and hooks support for compatibility.
strictDeps = true;
# Dont add -liconv to LDFLAGS automatically so that GHC will add it itself.
dontAddExtraLibs = true;
nativeBuildInputs = [
perl autoconf automake m4 python3
ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
autoSignDarwinBinariesHook
] ++ lib.optionals enableDocs [
sphinx
];
# For building runtime libs
depsBuildTarget = toolsForTarget;
buildInputs = [ perl bash ] ++ (libDeps hostPlatform);
depsTargetTarget = map lib.getDev (libDeps targetPlatform);
depsTargetTargetPropagated = map (lib.getOutput "out") (libDeps targetPlatform);
# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags = [ "-S" ] ++ lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
checkTarget = "test";
hardeningDisable =
[ "format" ]
# In nixpkgs, musl based builds currently enable `pie` hardening by default
# (see `defaultHardeningFlags` in `make-derivation.nix`).
# But GHC cannot currently produce outputs that are ready for `-pie` linking.
# Thus, disable `pie` hardening, otherwise `recompile with -fPIE` errors appear.
# See:
# * https://github.com/NixOS/nixpkgs/issues/129247
# * https://gitlab.haskell.org/ghc/ghc/-/issues/19580
++ lib.optional stdenv.targetPlatform.isMusl "pie";
# big-parallel allows us to build with more than 2 cores on
# Hydra which already warrants a significant speedup
requiredSystemFeatures = [ "big-parallel" ];
postInstall = ''
# Install the bash completion file.
install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
'';
passthru = {
inherit bootPkgs targetPrefix;
inherit llvmPackages;
inherit enableShared;
# This is used by the haskell builder to query
# the presence of the haddock program.
hasHaddock = enableHaddockProgram;
# Our Cabal compiler name
haskellCompilerName = "ghc-${version}";
};
meta = {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = with lib.maintainers; [
guibou
] ++ lib.teams.haskell.members;
timeout = 24 * 3600;
inherit (ghc.meta) license platforms;
};
} // lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
dontStrip = true;
dontPatchELF = true;
noAuditTmpdir = true;
})
@@ -158,7 +158,7 @@ assert !enableNativeBignum -> gmp != null;
assert stdenv.hostPlatform == stdenv.targetPlatform || throw ''
hadrian doesn't support building an installable GHC cross-compiler at the moment.
Consider using GHC 9.4.2 or lower which support this via the make build system.
Consider using GHC 9.4 or lower which support this via the make build system.
See also: https://gitlab.haskell.org/ghc/ghc/-/issues/22090
'';
@@ -106,7 +106,7 @@ self: super: {
name = "git-annex-${super.git-annex.version}-src";
url = "git://git-annex.branchable.com/";
rev = "refs/tags/" + super.git-annex.version;
sha256 = "09ksaaf5kxpskq2hmi1ad35k15cnhn86j795iw6nk86gbvx5hrap";
sha256 = "14391vj0awvkpsd32kanmc85yic5mg4pxmjhiv7wjxy7ga13wfqw";
# delete android and Android directories which cause issues on
# darwin (case insensitive directory). Since we don't need them
# during the build process, we can delete it to prevent a hash
@@ -123,6 +123,10 @@ self: super: {
passthru.shellPath = "/bin/git-annex-shell";
}) super.git-annex;
# Too strict bounds on servant
# Pending a hackage revision: https://github.com/berberman/arch-web/commit/5d08afee5b25e644f9e2e2b95380a5d4f4aa81ea#commitcomment-89230555
arch-web = doJailbreak super.arch-web;
# Fix test trying to access /home directory
shell-conduit = overrideCabal (drv: {
postPatch = "sed -i s/home/tmp/ test/Spec.hs";
@@ -1577,6 +1581,10 @@ self: super: {
ghc-paths = lsuper.ghc-paths.override { Cabal = null; };
});
hledger_1_27_1 = doDistribute (super.hledger_1_27_1.override {
hledger-lib = self.hledger-lib_1_27_1;
});
hls-hlint-plugin = super.hls-hlint-plugin.overrideScope (lself: lsuper: {
# For "ghc-lib" flag see https://github.com/haskell/haskell-language-server/issues/3185#issuecomment-1250264515
hlint = enableCabalFlag "ghc-lib" lself.hlint_3_4_1;
@@ -1715,7 +1723,17 @@ self: super: {
# waiting for aeson bump
servant-swagger-ui-core = doJailbreak super.servant-swagger-ui-core;
hercules-ci-agent = self.generateOptparseApplicativeCompletions [ "hercules-ci-agent" ] super.hercules-ci-agent;
hercules-ci-agent = lib.pipe super.hercules-ci-agent [
(appendPatches [
# https://github.com/hercules-ci/hercules-ci-agent/pull/446
(fetchpatch {
url = "https://github.com/hercules-ci/hercules-ci-agent/commit/99afac77ddb84122a5321494a08e6fe2e95548a1.patch";
sha256 = "sha256-0dtmNL1rqzeXvXWinfANc57a5LIM3uNnhR3A+p8mH0A=";
stripLen = 1;
})
])
(self.generateOptparseApplicativeCompletions [ "hercules-ci-agent" ])
];
# Test suite doesn't compile with aeson 2.0
# https://github.com/hercules-ci/hercules-ci-agent/pull/387
@@ -2377,17 +2395,6 @@ self: super: {
# https://github.com/kuribas/mfsolve/issues/8
mfsolve = dontCheck super.mfsolve;
# GHC 9 support https://github.com/lambdabot/dice/pull/2
dice = appendPatch (fetchpatch {
name = "dice-ghc9.patch";
url = "https://github.com/lambdabot/dice/commit/80d6fd443cb17b21d91b725f994ece6e8274e0a0.patch";
excludes = [ ".gitignore" ];
sha256 = "sha256-MtS1n7v5D6MRWWzzTyKl3Lqd/NhD1bV+g80wnhZ3P/Y=";
}) (overrideCabal (drv: {
revision = null;
editedCabalFile = null;
}) super.dice);
# GHC 9 support https://github.com/lambdabot/lambdabot/pull/204
lambdabot-core = appendPatch ./patches/lambdabot-core-ghc9.patch (overrideCabal (drv: {
revision = null;
@@ -2559,9 +2566,6 @@ self: super: {
testTarget = "regex-tdfa-unittest";
} super.regex-tdfa;
# Missing test files https://github.com/qrilka/xlsx/issues/165
xlsx = dontCheck super.xlsx;
# Missing test files https://github.com/kephas/xdg-basedir-compliant/issues/1
xdg-basedir-compliant = dontCheck super.xdg-basedir-compliant;
@@ -2635,4 +2639,13 @@ in {
# 2022-10-04: Needs newer tasty-dejafu than (currently) in stackage
rec-def = super.rec-def.override { tasty-dejafu = self.tasty-dejafu_2_1_0_0; };
# 2022-11-05: https://github.com/ysangkok/haskell-tzdata/issues/3
tzdata = dontCheck super.tzdata;
# 2022-11-04: The situation around heist-emanote is quite terrible.
# Its simply a heist fork because heist is unmaintained.
# Upstream jailbreak is unreleased: https://github.com/srid/heist/commit/988692ea850b3cbe966c7dc4dd26ba1d49647706
heist-emanote = doJailbreak (dontCheck super.heist-emanote);
})
@@ -61,13 +61,6 @@ in {
# 0.30 introduced support for GHC 9.2.
cryptonite = doDistribute self.cryptonite_0_30;
cabal2nix =
# cabal2nix depends on foundation, which is broken on aarch64-linux.
# https://github.com/haskell-foundation/foundation/issues/571
overrideCabal
(drv: { badPlatforms = [ "aarch64-linux" ]; })
super.cabal2nix;
doctest = self.doctest_0_20_1;
# consequences of doctest breakage follow:
@@ -78,8 +71,6 @@ in {
lucid = jailbreakForCurrentVersion super.lucid "2.11.1";
invariant = jailbreakForCurrentVersion super.invariant "0.5.6";
implicit-hie-cradle = jailbreakForCurrentVersion super.implicit-hie-cradle "0.5.0.0";
# https://github.com/co-log/co-log-core/pull/22#issuecomment-1294040208
co-log-core = jailbreakForCurrentVersion super.co-log-core "0.3.1.0";
haskell-src-meta = doJailbreak super.haskell-src-meta;
@@ -206,6 +197,11 @@ in {
# 2022-10-06: https://gitlab.haskell.org/ghc/ghc/-/issues/22260
ghc-check = dontHaddock super.ghc-check;
# 2022-11-06: Override override from common, because Cabal-syntax is included since ghc 9.4.
implicit-hie = super.implicit-hie.override {
Cabal-syntax = null;
};
# 2022-10-06: plugins disabled for hls 1.8.0.0 based on
# https://haskell-language-server.readthedocs.io/en/latest/support/plugin-support.html#current-plugin-support-tiers
haskell-language-server = super.haskell-language-server.override {
@@ -2137,7 +2137,6 @@ broken-packages:
- heidi
- hein
- heist-async
- heist-emanote
- helisp
- helix
- hell
@@ -2627,6 +2626,7 @@ broken-packages:
- imapget
- imgur
- imj-prelude
- imm
- immortal-worker
- imperative-edsl
- imperative-edsl-vhdl
@@ -3777,7 +3777,6 @@ broken-packages:
- pasta
- pastis
- pasty
- patat
- patches-vector
- Pathfinder
- pathfindingcore
@@ -3955,6 +3954,7 @@ broken-packages:
- polysemy-check
- polysemy-keyed-state
- polysemy-kvstore-jsonfile
- polysemy-log-co
- polysemy-managed
- polysemy-mocks
- polysemy-readline
@@ -5027,7 +5027,6 @@ broken-packages:
- tagsoup-selection
- tai
- tai64
- tailwind
- tak
- takahashi
- Takusen
@@ -5080,7 +5079,9 @@ broken-packages:
- tensorflow
- tensorflow-opgen
- tensor-safe
- termbox-banana
- termbox-bindings
- termbox-tea
- termination-combinators
- termplot
- term-rewriting
@@ -5335,6 +5336,7 @@ broken-packages:
- type-int
- type-interpreter
- type-level-bst
- type-level-kv-list-esqueleto
- type-level-natural-number-induction
- type-level-natural-number-operations
- typelevel-tensor
@@ -290,6 +290,7 @@ package-maintainers:
maralorn:
- cabal-fmt
- ema
- emanote
- generic-optics
- ghcid
- ghcide
@@ -454,6 +455,7 @@ unsupported-platforms:
FTGL: [ platforms.darwin ]
fuzzytime: [ platforms.darwin ] # https://github.com/kamwitsta/fuzzytime/issues/2
ghcjs-dom-hello: [ platforms.darwin ]
ghc-gc-hook: [ platforms.darwin ] # requires C11 threads which Apple doesn't support
gi-adwaita: [ platforms.darwin ]
gi-dbusmenugtk3: [ platforms.darwin ]
gi-dbusmenu: [ platforms.darwin ]
@@ -520,6 +522,7 @@ unsupported-platforms:
sensei: [ platforms.darwin ]
synthesizer-alsa: [ platforms.darwin ]
taffybar: [ platforms.darwin ]
emanote: [ x86_64-darwin ] # Depends on stork which is broken on macOS sdk < 10.14
termonad: [ platforms.darwin ]
tokyotyrant-haskell: [ platforms.darwin ]
Unixutils-shadow: [ platforms.darwin ]
@@ -1,4 +1,4 @@
# Stackage LTS 19.30
# Stackage LTS 19.31
# This file is auto-generated by
# maintainers/scripts/haskell/update-stackage.sh
default-package-overrides:
@@ -359,7 +359,7 @@ default-package-overrides:
- code-conjure ==0.5.2
- code-page ==0.2.1
- coercible-utils ==0.1.0
- cointracking-imports ==0.1.0.1
- cointracking-imports ==0.1.0.2
- collect-errors ==0.1.5.0
- colonnade ==1.2.0.2
- Color ==0.3.3
@@ -729,7 +729,7 @@ default-package-overrides:
- fast-builder ==0.1.3.0
- fast-logger ==3.1.1
- fast-math ==1.0.2
- fastmemo ==0.1.0.1
- fastmemo ==0.1.1
- fclabels ==2.0.5.1
- feature-flags ==0.1.0.1
- fedora-dists ==2.0.0
@@ -914,7 +914,7 @@ default-package-overrides:
- gi-javascriptcore ==4.0.25
- ginger ==0.10.4.0
- gi-pango ==1.0.27
- githash ==0.1.6.2
- githash ==0.1.6.3
- github ==0.27
- github-release ==2.0.0.2
- github-rest ==1.1.2
@@ -946,7 +946,7 @@ default-package-overrides:
- graph-core ==0.3.0.0
- graphite ==0.10.0.1
- graphs ==0.7.2
- graphula ==2.0.2.1
- graphula ==2.0.2.2
- graphviz ==2999.20.1.0
- graph-wrapper ==0.2.6.0
- gravatar ==0.8.1
@@ -992,8 +992,8 @@ default-package-overrides:
- hashtables ==1.2.4.2
- haskeline ==0.8.2
- haskell-awk ==1.2.0.1
- haskell-gi ==0.26.1
- haskell-gi-base ==0.26.2
- haskell-gi ==0.26.2
- haskell-gi-base ==0.26.3
- haskell-gi-overloading ==1.0
- haskell-lexer ==1.1
- haskell-lsp-types ==0.24.0.0
@@ -1221,7 +1221,7 @@ default-package-overrides:
- hworker ==0.1.0.1
- hw-packed-vector ==0.2.1.1
- hw-parser ==0.1.1.0
- hw-prim ==0.6.3.1
- hw-prim ==0.6.3.2
- hw-rankselect ==0.13.4.1
- hw-rankselect-base ==0.3.4.1
- hw-simd ==0.1.2.1
@@ -1548,7 +1548,7 @@ default-package-overrides:
- mock-time ==0.1.0
- mod ==0.1.2.2
- model ==0.5
- modern-uri ==0.3.5.0
- modern-uri ==0.3.6.0
- modular ==0.1.0.8
- monad-chronicle ==1.0.1
- monad-control ==1.0.3.1
@@ -1578,7 +1578,7 @@ default-package-overrides:
- monad-st ==0.2.4.1
- monads-tf ==0.1.0.3
- monad-time ==0.3.1.0
- mongoDB ==2.7.1.1
- mongoDB ==2.7.1.2
- monoidal-containers ==0.6.3.0
- monoid-extras ==0.6.1
- monoid-subclasses ==1.1.3
@@ -1878,13 +1878,13 @@ default-package-overrides:
- postgresql-orm ==0.5.1
- postgresql-query ==3.9.0
- postgresql-schema ==0.1.14
- postgresql-simple ==0.6.4
- postgresql-simple ==0.6.5
- postgresql-simple-url ==0.2.1.0
- postgresql-syntax ==0.4.1
- postgresql-typed ==0.6.2.1
- post-mess-age ==0.2.1.0
- pptable ==0.3.0.0
- pqueue ==1.4.2.0
- pqueue ==1.4.3.0
- prefix-units ==0.2.0
- prelude-compat ==0.0.0.2
- prelude-safeenum ==0.1.1.3
@@ -2088,7 +2088,7 @@ default-package-overrides:
- rope-utf16-splay ==0.3.2.0
- rosezipper ==0.2
- rot13 ==0.2.0.1
- rpmbuild-order ==0.4.9
- rpmbuild-order ==0.4.10
- rpm-nvr ==0.1.2
- rp-tree ==0.7.1
- RSA ==2.4.1
@@ -2121,8 +2121,8 @@ default-package-overrides:
- say ==0.1.0.1
- sbp ==4.1.6
- sbv ==8.17
- scalpel ==0.6.2
- scalpel-core ==0.6.2
- scalpel ==0.6.2.1
- scalpel-core ==0.6.2.1
- scanf ==0.1.0.0
- scanner ==0.3.1
- scheduler ==2.0.0.1
@@ -2156,7 +2156,7 @@ default-package-overrides:
- sequenceTools ==1.5.2
- serf ==0.1.1.0
- serialise ==0.2.6.0
- servant ==0.19
- servant ==0.19.1
- servant-auth ==0.4.1.0
- servant-auth-client ==0.4.1.0
- servant-auth-docs ==0.2.10.0
@@ -2184,7 +2184,7 @@ default-package-overrides:
- servant-pipes ==0.15.3
- servant-rawm ==1.0.0.0
- servant-ruby ==0.9.0.0
- servant-server ==0.19.1
- servant-server ==0.19.2
- servant-static-th ==1.0.0.0
- servant-subscriber ==0.7.0.0
- servant-swagger ==1.1.11
@@ -2342,7 +2342,7 @@ default-package-overrides:
- streaming-attoparsec ==1.0.0.1
- streaming-bytestring ==0.2.4
- streaming-cassava ==0.2.0.0
- streaming-commons ==0.2.2.4
- streaming-commons ==0.2.2.5
- streamly ==0.8.1.1
- streamly-bytestring ==0.1.4
- streams ==3.3
@@ -2379,7 +2379,7 @@ default-package-overrides:
- svg-builder ==0.1.1
- SVGFonts ==1.8.0.1
- svg-tree ==0.6.2.4
- swagger2 ==2.8.5
- swagger2 ==2.8.6
- swish ==0.10.2.0
- syb ==0.7.2.2
- sydtest-discover ==0.0.0.2
@@ -2595,7 +2595,7 @@ default-package-overrides:
- type-spec ==0.4.0.0
- typography-geometry ==1.0.1.0
- tz ==0.1.3.6
- tzdata ==0.2.20221011.0
- tzdata ==0.2.20221028.0
- ua-parser ==0.7.7.0
- uglymemo ==0.1.0.1
- unagi-chan ==0.4.1.4
@@ -2634,7 +2634,7 @@ default-package-overrides:
- unix-bytestring ==0.3.7.8
- unix-compat ==0.5.4
- unix-time ==0.4.8
- unliftio ==0.2.22.0
- unliftio ==0.2.23.0
- unliftio-core ==0.2.0.1
- unliftio-path ==0.0.2.0
- unliftio-pool ==0.2.2.0
@@ -2041,7 +2041,6 @@ dont-distribute-packages:
- hedgehog-gen-json
- hedis-pile
- heist-aeson
- heist-extra
- helic
- helics
- helics-wai
@@ -2958,6 +2957,7 @@ dont-distribute-packages:
- persistent-audit
- persistent-hssqlppp
- persistent-map
- persistent-mtl_0_5_0_0
- persistent-mysql-haskell
- persistent-relational-record
- persona-idp
@@ -3484,7 +3484,7 @@ dont-distribute-packages:
- skeletons
- sketch-frp-copilot
- skylark-client
- skylighting_0_13_1
- skylighting_0_13_1_1
- slate
- slidemews
- slip32
@@ -3584,6 +3584,7 @@ dont-distribute-packages:
- stackage-setup
- stackage-upload
- stackage2nix
- stackctl
- stan
- starrover2
- stateful-mtl
@@ -1102,6 +1102,20 @@ self: super: builtins.intersectAttrs super {
broken = false;
}) super.cabal-install;
tailwind = addBuildDepend
# Overrides for tailwindcss copied from:
# https://github.com/EmaApps/emanote/blob/master/nix/tailwind.nix
(pkgs.nodePackages.tailwindcss.overrideAttrs (oa: {
plugins = [
pkgs.nodePackages."@tailwindcss/aspect-ratio"
pkgs.nodePackages."@tailwindcss/forms"
pkgs.nodePackages."@tailwindcss/line-clamp"
pkgs.nodePackages."@tailwindcss/typography"
];
})) super.tailwind;
emanote = addBuildDepend pkgs.stork super.emanote;
keid-render-basic = addBuildTool pkgs.glslang super.keid-render-basic;
# ghcide-bench tests need network
File diff suppressed because it is too large Load Diff
@@ -2,17 +2,17 @@
rustPlatform.buildRustPackage rec {
pname = "wasmtime";
version = "2.0.1";
version = "2.0.2";
src = fetchFromGitHub {
owner = "bytecodealliance";
repo = pname;
rev = "v${version}";
sha256 = "sha256-C0HH8JLF6fKXFC3AEcM/lizGFZYJkdtBCbu2YxRwMdI=";
sha256 = "sha256-2s9HjWIvQw5PE7LsEgFJ2F/XOI5kPdKZfNPkr9a73cY=";
fetchSubmodules = true;
};
cargoSha256 = "sha256-4kLladdrDaCcEk9xpqWuzf5H1NNuOvq92qhjoRKXZ4E=";
cargoSha256 = "sha256-vKcmH8+FDAJXxOLT+nOqjDB3UhWmEAB4/ynOhT2FWAg=";
cargoBuildFlags = [
"--package wasmtime-cli"
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "aws-c-io";
version = "0.13.6";
version = "0.13.9";
src = fetchFromGitHub {
owner = "awslabs";
repo = pname;
rev = "v${version}";
sha256 = "sha256-axFhFGeJhfqb4zu5u9an0pgpVDe+OyT+7A5SlAs502I=";
sha256 = "sha256-G7FYWrpg4TLsfK6C3JCTWkZ65iu3+gF3To5qYgUAqb0=";
};
nativeBuildInputs = [ cmake ];
@@ -8,6 +8,8 @@
, coreutils, dbus, libxml2, tzdata
, desktop-file-utils, shared-mime-info
, darwin
# update script
, runCommand, git, coccinelle
}:
assert stdenv.isLinux -> util-linuxMinimal != null;
@@ -246,6 +248,55 @@ stdenv.mkDerivation (finalAttrs: {
packageName = "glib";
versionPolicy = "odd-unstable";
};
/*
can be used as part of an update script to automatically create a patch
hardcoding the path of all gsettings schemas in C code.
For example:
passthru = {
hardcodeGsettingsPatch = glib.mkHardcodeGsettingsPatch {
inherit src;
glib-schema-to-var = {
...
};
};
updateScript =
let
updateSource = ...;
patch = _experimental-update-script-combinators.copyAttrOutputToFile "evolution-ews.hardcodeGsettingsPatch" ./hardcode-gsettings.patch;
in
_experimental-update-script-combinators.sequence [
updateSource
patch
];
};
}
takes as input a mapping from schema path to variable name.
For example `{ "org.gnome.evolution" = "EVOLUTION_SCHEMA_PATH"; }`
hardcodes looking for `org.gnome.evolution` into `@EVOLUTION_SCHEMA_PATH@`.
All schemas must be listed.
*/
mkHardcodeGsettingsPatch = { src, glib-schema-to-var }:
runCommand
"hardcode-gsettings.patch"
{
inherit src;
nativeBuildInputs = [
git
coccinelle
python3 # For patch script
];
}
''
unpackPhase
cd "''${sourceRoot:-.}"
set -x
cp ${builtins.toFile "glib-schema-to-var.json" (builtins.toJSON glib-schema-to-var)} ./glib-schema-to-var.json
git init
git add -A
spatch --sp-file "${./hardcode-gsettings.cocci}" --dir . --in-place
git diff > "$out"
'';
};
meta = with lib; {
@@ -3,10 +3,14 @@
* where GSettings system could look for schemas, we need to point the software to a correct location somehow.
* For executables, we handle this using wrappers but this is not an option for libraries like e-d-s.
* Instead, we hardcode the schema path when creating the settings.
* A schema path (ie org.gnome.evolution) can be replaced by @EVOLUTION_SCHEMA_PATH@
* which is then replaced at build time by substituteAll.
* The mapping is provided in a json file ./glib-schema-to-var.json
*/
@initialize:python@
@@
import json
cpp_constants = {}
@@ -16,25 +20,16 @@ def register_cpp_constant(const_name, val):
def resolve_cpp_constant(const_name):
return cpp_constants.get(const_name, const_name)
e_s_d_schema_constants = [
# The following are actually part of e-d-s, despite the name.
# We rename the old ambiguos constant name in ./prepare-for-gsettings-patching.patch
"\"org.gnome.Evolution.DefaultSources\"",
"\"org.gnome.evolution.shell.network-config\"",
]
g_d_s_schema_constants = [
]
with open("./glib-schema-to-var.json") as mapping_file:
schema_to_var = json.load(mapping_file);
def get_schema_directory(schema_path):
# Sometimes the schema id is referenced using C preprocessor #define constant in the same file
# lets try to resolve it first.
schema_path = resolve_cpp_constant(schema_path.strip())
if schema_path.startswith("\"org.gnome.evolution-data-server") or schema_path in e_s_d_schema_constants:
return "\"@EDS_GSETTINGS_PATH@\""
elif schema_path in g_d_s_schema_constants:
return "\"@GDS_GSETTINGS_PATH@\""
raise Exception(f"Unknown schema path {schema_path}")
schema_path = resolve_cpp_constant(schema_path.strip()).strip('"')
if schema_path in schema_to_var:
return f'"@{schema_to_var[schema_path]}@"'
raise Exception(f"Unknown schema path {schema_path!r}, please add it to ./glib-schema-to-var.json")
@find_cpp_constants@
@@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "libnats";
version = "3.4.1";
version = "3.5.0";
src = fetchFromGitHub {
owner = "nats-io";
repo = "nats.c";
rev = "v${version}";
sha256 = "sha256-Mbmd1bhFnc4feC0bnOa5mD15DxvY4Sgftx3Ep/7Cdp4=";
sha256 = "sha256-mdOvJkCdJ2QEsVUdxVCpIDLn4+6JM6OeJfasJxqqID8=";
};
nativeBuildInputs = [ cmake ];
@@ -52,6 +52,12 @@ stdenv.mkDerivation rec {
./py_pybind11_no_external_download.patch
];
postPatch = ''
# https://github.com/IntelRealSense/librealsense/issues/11092
# insert a "#include <iostream" at beginning of file
sed '1i\#include <iostream>' -i wrappers/python/pyrs_device.cpp
'';
nativeBuildInputs = [
cmake
ninja
+1 -1
View File
@@ -1 +1 @@
{"hash": "sha256:24ed671e140ee62ebe96a494b3f0e3a3e5ba005364a0a6ad8ebf89b3494b7644", "version": "5.5.1"}
{"hash": "sha256:70e04c2e7a629a9854de2727e0f978175b7a4ec6cf4cd9799a22390862f6fa27", "version": "5.5.2"}
@@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "pugixml";
version = "1.12.1";
version = "1.13";
src = fetchFromGitHub {
owner = "zeux";
repo = "pugixml";
rev = "v${version}";
sha256 = "sha256-Udjx84mhLPJ1bU5WYDo73PAeeufS+vBLXZP0YbBvqLE=";
sha256 = "sha256-MAXm/9ANj6TjO1Skpg20RYt88bf6w1uPwRwOHXiXsWw=";
};
outputs = [ "out" ] ++ lib.optionals shared [ "dev" ];
@@ -110,5 +110,6 @@ stdenv.mkDerivation rec {
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
hydraPlatforms = [ ]; # rocFFT produces an extremely large output
};
}
@@ -1,4 +1,4 @@
{ lib, buildDunePackage, dune_3, dune-glob, dune-private-libs }:
{ lib, buildDunePackage, dune_3, dune-glob, dune-private-libs, dune-rpc }:
buildDunePackage rec {
pname = "dune-action-plugin";
@@ -8,7 +8,7 @@ buildDunePackage rec {
dontAddPrefix = true;
propagatedBuildInputs = [ dune-glob dune-private-libs ];
propagatedBuildInputs = [ dune-glob dune-private-libs dune-rpc ];
preBuild = ''
rm -r vendor/csexp
@@ -1,4 +1,4 @@
{ lib, buildDunePackage, dune_3, stdune, ordering, pp, xdg, dyn }:
{ lib, buildDunePackage, dune_3, csexp, stdune, ordering, pp, xdg, dyn }:
buildDunePackage rec {
pname = "dune-rpc";
@@ -8,7 +8,7 @@ buildDunePackage rec {
dontAddPrefix = true;
buildInputs = [ stdune ordering pp xdg dyn ];
propagatedBuildInputs = [ csexp stdune ordering pp xdg dyn ];
preBuild = ''
rm -r vendor/csexp
@@ -1,4 +1,4 @@
{ lib, buildDunePackage, lsp, xdg, re, fiber, makeWrapper, dot-merlin-reader, spawn }:
{ lib, buildDunePackage, lsp, xdg, re, fiber, makeWrapper, dot-merlin-reader, spawn, ocamlc-loc }:
buildDunePackage rec {
pname = "ocaml-lsp-server";
@@ -7,7 +7,8 @@ buildDunePackage rec {
buildInputs = lsp.buildInputs ++ [ lsp re ]
++ lib.optional (lib.versionAtLeast version "1.9") spawn
++ lib.optionals (lib.versionAtLeast version "1.10") [ fiber xdg ];
++ lib.optionals (lib.versionAtLeast version "1.10") [ fiber xdg ]
++ lib.optional (lib.versionAtLeast version "1.14.2") ocamlc-loc;
nativeBuildInputs = [ makeWrapper ];
@@ -13,8 +13,8 @@ let params =
if lib.versionAtLeast ocaml.version "4.14"
then {
name = "lsp";
version = "1.14.1";
sha256 = "sha256-5kxMM90Dd5H8yb7f1NYV3abRaePqztFQ82VTnayradk=";
version = "1.14.2";
sha256 = "sha256-1R+HYaGbPLGDs5DMN3jmnrZFMhMmPUHgF+s+yNzIVJQ=";
} else if lib.versionAtLeast ocaml.version "4.13"
then {
name = "jsonrpc";
@@ -0,0 +1,24 @@
{ lib, buildDunePackage, dune_3, dyn }:
buildDunePackage {
pname = "ocamlc-loc";
inherit (dune_3) src version;
duneVersion = "3";
dontAddPrefix = true;
preBuild = ''
rm -rf vendor/csexp
rm -rf vendor/pp
'';
minimalOCamlVersion = "4.08";
propagatedBuildInputs = [ dyn ];
meta = with lib; {
description = "Parse ocaml compiler output into structured form";
maintainers = [ maintainers.ulrikstrid ];
license = licenses.mit;
};
}
+2 -2
View File
@@ -2,13 +2,13 @@
buildGoModule rec {
pname = "buildkit";
version = "0.10.5";
version = "0.10.6";
src = fetchFromGitHub {
owner = "moby";
repo = "buildkit";
rev = "v${version}";
sha256 = "sha256-6p7LQvlVG0epkk4qFDKrmBBFIIbmB6AMROB7dfE+3ho=";
sha256 = "sha256-bTzpiTqdAfo31sFRBCp0EzYMVjc6jt4aPK0VLsB9j0g=";
};
vendorSha256 = null;
@@ -1,4 +1,4 @@
{ lib, buildGoModule, fetchFromGitHub }:
{ lib, buildGoModule, fetchFromGitHub, fetchpatch }:
buildGoModule rec {
pname = "compile-daemon";
@@ -11,7 +11,14 @@ buildGoModule rec {
sha256 = "sha256-gpyXy7FO7ZVXJrkzcKHFez4S/dGiijXfZ9eSJtNlm58=";
};
vendorSha256 = "sha256-UDPOeg8jQbDB+Fr4x6ehK7UyQa8ySZy6yNxS1xotkgA=";
vendorHash = "sha256-UpktrXY6OntOA1sxKq3qI59zrOwwCuM+gfGGxPmUJRo=";
patches = [
(fetchpatch {
url = "https://github.com/githubnemo/CompileDaemon/commit/39bc1352dc62fea06dff40c5eaef81ab1bdb1f14.patch";
hash = "sha256-Zftbw2nu8zzaoj0uwEwdq7xlyycdC0xxBu/qE9VHASI=";
})
];
ldflags = [ "-s" "-w" ];
@@ -3,16 +3,16 @@
nixosTests }:
buildGoModule rec {
pname = "buildkite-agent";
version = "3.39.1";
version = "3.40.0";
src = fetchFromGitHub {
owner = "buildkite";
repo = "agent";
rev = "v${version}";
sha256 = "sha256-sUBH0Oz1yeOgY5pmzM8XLoQ9vPiPODC6zeOO2n3meXs=";
sha256 = "sha256-pd5B7RW13SWtOAwJGxhJBAhihCFkL3TokhWqcy7hVFk=";
};
vendorSha256 = "sha256-RD8BXwzrqHwgxdjpL++a9pIvzD9rfSTqguRVh+CbbnE=";
vendorSha256 = "sha256-+LTjtJFHdYv0zeX8RpK0tuLWRpz5jXBwA7ZOvmA6YV0=";
postPatch = ''
substituteInPlace bootstrap/shell/shell.go --replace /bin/bash ${bash}/bin/bash
@@ -1,7 +1,7 @@
{ lib, buildGoModule, fetchFromGitLab, fetchurl, bash }:
let
version = "15.5.0";
version = "15.5.1";
in
buildGoModule rec {
inherit version;
@@ -23,7 +23,7 @@ buildGoModule rec {
owner = "gitlab-org";
repo = "gitlab-runner";
rev = "v${version}";
sha256 = "sha256-WdrvVmuYyFAMwUDEANOjXiPoQ8rvXbcQz5mBlWUL54k=";
sha256 = "sha256-ZvQaA4DSuEIdHEoRKJg5tOnBQgf26paTAiWy6RLRG3o=";
};
patches = [
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "circleci-cli";
version = "0.1.22322";
version = "0.1.22426";
src = fetchFromGitHub {
owner = "CircleCI-Public";
repo = pname;
rev = "v${version}";
sha256 = "sha256-HhQ2KZDu4X/extycQ9CZQYs8GjR5e93M0qw2cJsqj9E=";
sha256 = "sha256-zGMaFRa0gR7Meyhm1lEn6klCB6T3iNFqAinLiIKstt4=";
};
vendorSha256 = "sha256-vydx3ZaVSpIn5nncuQhRVQqZ7920n1NAoZIHFvzrQgo=";
vendorSha256 = "sha256-+gDRe62EJdTeZJAbEPmjo+7A3TTiwggW/w4WRj5ZxwM=";
nativeBuildInputs = [ installShellFiles ];
+28
View File
@@ -0,0 +1,28 @@
{ lib
, buildGoModule
, fetchFromGitLab
}:
buildGoModule rec {
pname = "nc4nix";
version = "unstable-2022-08-06";
src = fetchFromGitLab {
domain = "git.helsinki.tools";
owner = "helsinki-systems";
repo = "nc4nix";
rev = "91d92e8c339862fe81fb066fd370da7757042367";
sha256 = "sha256-8ggYOc+w3oiY2B0Ned5B26/ZNco2vCdvScC+Ms+gOWo=";
};
vendorSha256 = "sha256-uhINWxFny/OY7M2vV3ehFzP90J6Z8cn5IZHWOuEg91M=";
meta = with lib; {
description = "Packaging helper for Nextcloud apps";
homepage = "https://git.helsinki.tools/helsinki-systems/nc4nix";
license = licenses.unfree;
maintainers = with maintainers; [ onny ];
platforms = platforms.linux;
};
}
+2 -2
View File
@@ -6,11 +6,11 @@ else
stdenv.mkDerivation rec {
pname = "dune";
version = "3.4.1";
version = "3.5.0";
src = fetchurl {
url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
sha256 = "sha256-KZ+jPP/BCMwm/1nV/J0J9ssKs6woC/I6ARTP3AtAxsU=";
sha256 = "sha256-d71MZwQ1n64ZaWNs/DzXpRe6NgSBnvickZwHYrUJNhA=";
};
nativeBuildInputs = [ ocaml findlib ];
+3 -3
View File
@@ -8,16 +8,16 @@
rustPlatform.buildRustPackage rec {
pname = "ruff";
version = "0.0.109";
version = "0.0.110";
src = fetchFromGitHub {
owner = "charliermarsh";
repo = pname;
rev = "v${version}";
sha256 = "sha256-11vaL8ztWLqhImQ4uzHPAwciHtegz320hDJq6kH8ujI=";
sha256 = "sha256-L7LqIov0Ifz4wRV6FD4PIcUFauQCBaL8HXea400j0tE=";
};
cargoSha256 = "sha256-ixjH6gbgrcMtGeLFFyAPTmgF43UAzkhpxNp2S59iwIY=";
cargoSha256 = "sha256-CcLNgZqcfJK/1DwLNP+GTej+OwmJ4w6SXob0Y3ccwS8=";
buildInputs = lib.optionals stdenv.isDarwin [
CoreServices
@@ -10,19 +10,19 @@
rustPlatform.buildRustPackage rec {
pname = "cargo-generate";
version = "0.17.2";
version = "0.17.3";
src = fetchFromGitHub {
owner = "cargo-generate";
repo = "cargo-generate";
rev = "v${version}";
sha256 = "sha256-so69T2mDq/nFGiug2zYIX6Z+Dhxk3riV+TkEYTpFrTg=";
sha256 = "sha256-7F6Pqq/iFmI3JzDKoMmSyVm6BUr+Ev9GPidOofcLNV4=";
};
# patch Cargo.toml to not vendor libgit2 and openssl
cargoPatches = [ ./no-vendor.patch ];
cargoSha256 = "sha256-JRoD6SuGQPJ8HOePXrH3avIY+sW61ErZFOHLafqmxMY=";
cargoSha256 = "sha256-kC8BGobS1iMq+vIwE24Lip+HGdVnA/NjHFAb6cqOz44=";
nativeBuildInputs = [ pkg-config ];
@@ -2,61 +2,61 @@
"4.14": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-4.14.298-hardened1.patch",
"sha256": "1gzp5fxyv5s029s6c9zrnvj3wb02blabmdmcziaqvf6k7k178prs",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.298-hardened1/linux-hardened-4.14.298-hardened1.patch"
"name": "linux-hardened-4.14.299-hardened1.patch",
"sha256": "1qgsi8kfbfqqkb2n0irqfrbq865dz4f5hmhxq7fbmnpacjgwdy6a",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.299-hardened1/linux-hardened-4.14.299-hardened1.patch"
},
"sha256": "0w8f7m3mdj6gcxdvsvxw5hqqfhwffpfl794rgianl4r6iad8w7s6",
"version": "4.14.298"
"sha256": "0p5ic2mrb9vl3qkzvqxhia3kygjv8xa6s1kqkwgd6b4rmq1kc8r6",
"version": "4.14.299"
},
"4.19": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-4.19.264-hardened1.patch",
"sha256": "08swipghq66lx3nrww1319qwwgw3yipy5m4kvzpsz6mfhkm54aw9",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.264-hardened1/linux-hardened-4.19.264-hardened1.patch"
"name": "linux-hardened-4.19.265-hardened1.patch",
"sha256": "0psqvwqvq981hvix58z5bhc4xvgm2ic5y4q7bwsnh1cfvbfg6x2k",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.265-hardened1/linux-hardened-4.19.265-hardened1.patch"
},
"sha256": "07ihf55y4xcbzpfgj9mxzchy1jmdpy46j32w15hac46a4504xcps",
"version": "4.19.264"
"sha256": "1l5cdpgng1gci1p1gdr2jzqw486h3w56gpyc7fbq74hlc6nnwh1p",
"version": "4.19.265"
},
"5.10": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-5.10.153-hardened1.patch",
"sha256": "02kw33m0j10dnl30n17ppffqh8l8v91jpz1d1pkqipfw3j40j8az",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.153-hardened1/linux-hardened-5.10.153-hardened1.patch"
"name": "linux-hardened-5.10.154-hardened1.patch",
"sha256": "0srwi4033h8ypxbwwp1hb3y989jvlwzckvsfjkxzgpnj91i68hn9",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.154-hardened1/linux-hardened-5.10.154-hardened1.patch"
},
"sha256": "0qhn5xv0m6baip1my1gp4mrjc4j6d6nbxa701vpwllg4kx8y9wiw",
"version": "5.10.153"
"sha256": "12763vlnrgmgj03khj9ls2g7zlhclj9g1l3008b36j9jli6kvbn6",
"version": "5.10.154"
},
"5.15": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-5.15.77-hardened1.patch",
"sha256": "0pfa2xi64an716by3rqgn521a4igzb1y2bmbdn87icg8p79qavgx",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.77-hardened1/linux-hardened-5.15.77-hardened1.patch"
"name": "linux-hardened-5.15.78-hardened1.patch",
"sha256": "1aavp00rswqbbpbyx0c7k2ga6lcd221gcgr4893q7w5z26mv7wkd",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.78-hardened1/linux-hardened-5.15.78-hardened1.patch"
},
"sha256": "1yg9myqcv4kn2p7c9ap0z6xxh2qjsab2nbxf5z388skr6cgq8bql",
"version": "5.15.77"
"sha256": "16d4d4g5n2g6jpp8bvad1bm1l0b0nb4ckwsmq6w2g3538xrrzf8d",
"version": "5.15.78"
},
"5.4": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-5.4.223-hardened1.patch",
"sha256": "1jsnrxv9a16l5gdhbn7w4rc9ql7arggvcizmkdvnk7ymd6ni6518",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.223-hardened1/linux-hardened-5.4.223-hardened1.patch"
"name": "linux-hardened-5.4.224-hardened1.patch",
"sha256": "1cx0h6sn8wdggg9nwqlrij7cfpa9q6nah73nrv92b4c9n8sjqiwq",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.224-hardened1/linux-hardened-5.4.224-hardened1.patch"
},
"sha256": "1svyf4m5d3vrskylpal6npk5jj454rzij772wabg31v8vw97zw4y",
"version": "5.4.223"
"sha256": "0dixs4w7nmkjgxv9dxgjdy8v6r4parkpqyvdfyr0wqk0amdz4zcb",
"version": "5.4.224"
},
"6.0": {
"patch": {
"extra": "-hardened1",
"name": "linux-hardened-6.0.7-hardened1.patch",
"sha256": "0y1g4zahlq28s8grzzpxcccr7sjh6cgbviz880g1wqg7vmqpi1fz",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.0.7-hardened1/linux-hardened-6.0.7-hardened1.patch"
"name": "linux-hardened-6.0.8-hardened1.patch",
"sha256": "08xvsqb3d0j98n2i4468ja9miydgy3kcrz66fbi1kymn79yam62n",
"url": "https://github.com/anthraxx/linux-hardened/releases/download/6.0.8-hardened1/linux-hardened-6.0.8-hardened1.patch"
},
"sha256": "03srfv33r2vc48h051zicvn9hz78kc08vh7ljzlmcnk0g0mwrnk7",
"version": "6.0.7"
"sha256": "0mx2bxgnxm3vz688268939xw90jqci7xn992kfpny74mjqwzir0d",
"version": "6.0.8"
}
}
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "4.14.298";
version = "4.14.299";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "0w8f7m3mdj6gcxdvsvxw5hqqfhwffpfl794rgianl4r6iad8w7s6";
sha256 = "0p5ic2mrb9vl3qkzvqxhia3kygjv8xa6s1kqkwgd6b4rmq1kc8r6";
};
} // (args.argsOverride or {}))
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "4.19.264";
version = "4.19.265";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
sha256 = "07ihf55y4xcbzpfgj9mxzchy1jmdpy46j32w15hac46a4504xcps";
sha256 = "1l5cdpgng1gci1p1gdr2jzqw486h3w56gpyc7fbq74hlc6nnwh1p";
};
} // (args.argsOverride or {}))
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.10.153";
version = "5.10.154";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "0qhn5xv0m6baip1my1gp4mrjc4j6d6nbxa701vpwllg4kx8y9wiw";
sha256 = "12763vlnrgmgj03khj9ls2g7zlhclj9g1l3008b36j9jli6kvbn6";
};
} // (args.argsOverride or {}))
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.15.77";
version = "5.15.78";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "1yg9myqcv4kn2p7c9ap0z6xxh2qjsab2nbxf5z388skr6cgq8bql";
sha256 = "16d4d4g5n2g6jpp8bvad1bm1l0b0nb4ckwsmq6w2g3538xrrzf8d";
};
} // (args.argsOverride or { }))
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "5.4.223";
version = "5.4.224";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
sha256 = "1svyf4m5d3vrskylpal6npk5jj454rzij772wabg31v8vw97zw4y";
sha256 = "0dixs4w7nmkjgxv9dxgjdy8v6r4parkpqyvdfyr0wqk0amdz4zcb";
};
} // (args.argsOverride or {}))
+2 -2
View File
@@ -3,7 +3,7 @@
with lib;
buildLinux (args // rec {
version = "6.0.7";
version = "6.0.8";
# modDirVersion needs to be x.y.z, will automatically add .0 if needed
modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-${version}.tar.xz";
sha256 = "03srfv33r2vc48h051zicvn9hz78kc08vh7ljzlmcnk0g0mwrnk7";
sha256 = "0mx2bxgnxm3vz688268939xw90jqci7xn992kfpny74mjqwzir0d";
};
} // (args.argsOverride or { }))
@@ -6,7 +6,7 @@
, ... } @ args:
let
version = "5.10.152-rt75"; # updated by ./update-rt.sh
version = "5.10.153-rt76"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
sha256 = "19nq2pgy4vmn30nywdvcvsx4vhmndrj97iiclpqakzgblj1mq2zs";
sha256 = "0qhn5xv0m6baip1my1gp4mrjc4j6d6nbxa701vpwllg4kx8y9wiw";
};
kernelPatches = let rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "0sg78zrkk7scg6b2xcvdymmhfdrlzcajhzzway5gjdi04x4vy4k0";
sha256 = "12gf2nnnfcbmyp34xnns35qpnzsnwjilq2qs1xvq6m51gcnnzq7g";
};
}; in [ rt-patch ] ++ kernelPatches;
@@ -6,7 +6,7 @@
, ... } @ args:
let
version = "5.4.209-rt77"; # updated by ./update-rt.sh
version = "5.4.221-rt79"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in buildLinux (args // {
@@ -14,14 +14,14 @@ in buildLinux (args // {
src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
sha256 = "1kdnz99k7zspzaxqaxahbf6hncigy4cvjlb79jsy7a95qxxr31qf";
sha256 = "02nz9534998s922fdb0kpb09flgjmc7p78x0ypfxrd6pzv0pzcr7";
};
kernelPatches = let rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "1wh5m7ychgnn33yg7gg9nlwcmmm72dixvdf77m764hs90xl8c9ig";
sha256 = "0zcakr41m1n683pwcm6d698nwgg7jyr7n8c63jmqh0959xxb2axy";
};
}; in [ rt-patch ] ++ kernelPatches;
+2 -2
View File
@@ -14,7 +14,7 @@
stdenv.mkDerivation rec {
pname = "slurm";
version = "22.05.5.1";
version = "22.05.6.1";
# N.B. We use github release tags instead of https://www.schedmd.com/downloads.php
# because the latter does not keep older releases.
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
repo = "slurm";
# The release tags use - instead of .
rev = "${pname}-${builtins.replaceStrings ["."] ["-"] version}";
sha256 = "1mw0dkll1iwwdpdbxcy26zpnjgj07prlgdz2da64krn4yyfhca30";
sha256 = "1aa1ddlacr9dpk1g1syj9ml5dninv3dzvw8vlm1s3j3ybp6lz8bd";
};
outputs = [ "out" "dev" ];
+3 -3
View File
@@ -2,18 +2,18 @@
buildGoModule rec {
pname = "cadvisor";
version = "0.45.0";
version = "0.46.0";
src = fetchFromGitHub {
owner = "google";
repo = "cadvisor";
rev = "v${version}";
sha256 = "sha256-hH3unhGRrB8IegVaX+j2idY0woMqzchEEXZB/ppzIf0=";
sha256 = "sha256-ciGj8SK7OgK3x8Njih4aIQ0vvNV9s5/w2i+DF/vw1O8=";
};
modRoot = "./cmd";
vendorSha256 = "sha256-Mcelh/nYFcNTrI1Kq9KqkJeSnbgJhd7HfbexhNYbPFg=";
vendorSha256 = "sha256-dg+osxsxdJ8Tg++wdd4L6FMjiPLLFQj0NXb2aSC7vQg=";
ldflags = [ "-s" "-w" "-X github.com/google/cadvisor/version.Version=${version}" ];
+33 -1
View File
@@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, libjpeg }:
{ lib, stdenv, fetchFromGitHub, libjpeg, fetchpatch }:
stdenv.mkDerivation rec {
pname = "jhead";
@@ -11,6 +11,38 @@ stdenv.mkDerivation rec {
sha256 = "0zgh36486cpcnf7xg6dwf7rhz2h4gpayqvdk8hmrx6y418b2pfyf";
};
patches = [
# Just a spelling/whitespace change, but makes it easier to apply the rest.
(fetchpatch {
url = "https://github.com/Matthias-Wandel/jhead/commit/8384c6fd2ebfb8eb8bd96616343e73af0e575131.patch";
sha256 = "sha256-f3FOIqgFr5QPAsBjvUVAOf1CAqw8pNAVx+pZZuMjq3c=";
includes = [ "jhead.c" ];
})
(fetchpatch {
url = "https://github.com/Matthias-Wandel/jhead/commit/63aff8e9bd8c970fedf87f0ec3a1f3368bf2421e.patch";
sha256 = "sha256-jyhGdWuwd/eP5uuS8uLYiTJZJdxxLYdsvl0jnQC+Y5c=";
includes = [ "jhead.c" ];
})
# Fixes around CVE-2022-41751
(fetchpatch {
url = "https://github.com/Matthias-Wandel/jhead/commit/6985da52c9ad4f5f6c247269cb5508fae34a971c.patch";
sha256 = "sha256-8Uw0Udr9aZEMrD/0zS498MVw+rJqpFukvjb7FgzjgT4=";
})
(fetchpatch {
url = "https://github.com/Matthias-Wandel/jhead/commit/3fe905cf674f8dbac8a89e58cee1b4850abf9530.patch";
sha256 = "sha256-5995EV/pOktZc45c7fLl+oQqyutRDQJl3eNutR1JGJo=";
})
(fetchpatch {
url = "https://github.com/joachim-reichel/jhead/commit/ec67262b8e5a4b05d8ad6898a09f1dc3fc032062.patch";
sha256 = "sha256-a3KogIV45cRNthJSPygIRw1m2KBJZJSIGSWfsr7FWs4=";
})
(fetchpatch {
url = "https://github.com/joachim-reichel/jhead/commit/65de38cb68747c6f8397608b56b58ce15271a1fe.patch";
sha256 = "sha256-xf0d2hxW4rVZwffrYJVVFQ3cDMOcPoGbCdrrQKxf16M=";
})
];
buildInputs = [ libjpeg ];
makeFlags = [ "CPPFLAGS=" "CFLAGS=-O3" "LDFLAGS=" ];
+3 -3
View File
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "chezmoi";
version = "2.26.0";
version = "2.27.0";
src = fetchFromGitHub {
owner = "twpayne";
repo = "chezmoi";
rev = "v${version}";
sha256 = "sha256-2NtYaKZiUPp33wZuH4pA0uSPdu8xxQASPlsSqjRDTRc=";
sha256 = "sha256-NOU4rSV4DRk+auvhKjI9tWWL5E3N3w4x9z0wRKjNznw=";
};
vendorSha256 = "sha256-iDzVe8wnvJlrY8F+LyzLkX+BlvkgUPOEDQqkUPNDuUg=";
vendorSha256 = "sha256-XY5D74fIgOCLtnUpQf+kGYARuAulhlQIG7G+GriDOSw=";
doCheck = false;
+8 -7
View File
@@ -1,7 +1,9 @@
{ buildGoModule, fetchFromGitHub, lib }:
let version = "1.4.0";
in buildGoModule {
let
version = "1.4.1";
in
buildGoModule {
pname = "yajsv";
version = version;
@@ -9,16 +11,15 @@ in buildGoModule {
owner = "neilpa";
repo = "yajsv";
rev = "v${version}";
sha256 = "0smaij3905fqgcjmnfs58r6silhp3hyv7ccshk7n13fmllmsm7v7";
hash = "sha256-dp7PBN8yR+gPPUWA+ug11dUN7slU6CJAojuxt5eNTxA=";
};
patches = [
./go.mod.patch
];
vendorHash = "sha256-f45climGKl7HxD+1vz2TGqW/d0dqJ0RfvgJoRRM6lUk=";
vendorSha256 = "0jcm789las02prgl89va8xvvz98sjcyvzd9zqk3mwal656b5r3kz";
ldflags = [ "-s" "-w" ];
doInstallCheck = true;
installCheckPhase = ''
$out/bin/yajsv -v > /dev/null
'';
-30
View File
@@ -1,30 +0,0 @@
diff --git a/go.mod b/go.mod
index 9f96eaf..360ab47 100644
--- a/go.mod
+++ b/go.mod
@@ -7,5 +7,6 @@ require (
github.com/ghodss/yaml v1.0.0
github.com/mitchellh/go-homedir v1.1.0
github.com/xeipuuv/gojsonschema v1.2.0
+ golang.org/x/text v0.3.7
gopkg.in/yaml.v2 v2.2.8 // indirect
)
diff --git a/go.sum b/go.sum
index 5b7e5c4..4b002ef 100644
--- a/go.sum
+++ b/go.sum
@@ -1,4 +1,3 @@
-github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -17,6 +16,9 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74=
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
+2 -2
View File
@@ -20,11 +20,11 @@ buildPythonPackage rec {
# The websites yt-dlp deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2022.10.4";
version = "2022.11.11";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-F3Ki5vMrlxtNAm3q4wRPV2uAUgNSVco0DzRc/pDTjTg=";
sha256 = "sha256-9rliAjwXp3FRR28Pbtcb6H0Bdim6XZmUUovFSFIRkbY=";
};
propagatedBuildInputs = [ brotli certifi mutagen pycryptodomex websockets ];
@@ -2,16 +2,16 @@
buildGoModule rec {
pname = "minio-client";
version = "2022-10-29T10-09-23Z";
version = "2022-11-07T23-47-39Z";
src = fetchFromGitHub {
owner = "minio";
repo = "mc";
rev = "RELEASE.${version}";
sha256 = "sha256-9fXxHfSA/h6JjhKEY7PmPBJX1P127V+AekrBPFQEtSI=";
sha256 = "sha256-g7q2VONGySMlw+aWZfWnZ2TVvV4lOGMNXl/4IRQrEOs=";
};
vendorSha256 = "sha256-vW/hGvzAtd/q9Fbjr19TvpSZzFVX9HSGGSPWErw+v0A=";
vendorSha256 = "sha256-KD3mhl5d3LhqH37AeNmfuk5+KktWdUTNGi5YNuhyMDk=";
subPackages = [ "." ];
@@ -25,11 +25,11 @@
stdenv.mkDerivation rec {
pname = "network-manager-applet";
version = "1.28.0";
version = "1.30.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "sha256-XANIWB3p5hkYWqdLdH8H9AMSQX45Wv4LKTzJVd8U5Jw=";
sha256 = "sha256-lRa4Tp2fEA24mgxny/5XztsFYjENRcqvtjMuJ7vrXNM=";
};
mesonFlags = [
@@ -43,7 +43,6 @@ stdenv.mkDerivation rec {
libnma
gtk3
networkmanager
libnotify
libsecret
gsettings-desktop-schemas
polkit
+3 -3
View File
@@ -13,7 +13,7 @@
buildGoModule rec {
pname = "gopass";
version = "1.14.9";
version = "1.14.10";
nativeBuildInputs = [ installShellFiles makeWrapper ];
@@ -21,10 +21,10 @@ buildGoModule rec {
owner = "gopasspw";
repo = pname;
rev = "v${version}";
hash = "sha256-yVmEqT+pVU3ww1PUs30pr7fE3pprhVnDhlErdMD/KL8=";
hash = "sha256-a+JE/s94ynazX50LxVyywzVI5JINK22H76HHwEtw7K0=";
};
vendorHash = "sha256-efmBuaH4ZMYZixcafe7mB1jj5h0o8RE+kMB3K35aG4k=";
vendorHash = "sha256-2TlV2cRV/1kugDWo9mhQfDy5jRm6LzTIW54BhZlVt+0=";
subPackages = [ "." ];
+5 -7
View File
@@ -18691,6 +18691,8 @@ with pkgs;
elfio = callPackage ../development/libraries/elfio { };
emanote = haskell.lib.compose.justStaticExecutables haskellPackages.emanote;
enchant1 = callPackage ../development/libraries/enchant/1.x.nix { };
enchant2 = callPackage ../development/libraries/enchant/2.x.nix { };
@@ -30943,6 +30945,8 @@ with pkgs;
navipowm = callPackage ../applications/misc/navipowm { };
nc4nix = callPackage ../development/tools/nc4nix { };
netbeans = callPackage ../applications/editors/netbeans {
jdk = jdk17;
};
@@ -31010,16 +31014,10 @@ with pkgs;
inherit (darwin.apple_sdk.frameworks) Foundation;
};
obs-studio27 = libsForQt5.callPackage ../applications/video/obs-studio/27.nix {
obs-studio = qt6Packages.callPackage ../applications/video/obs-studio {
ffmpeg_4 = ffmpeg-full;
};
obs-studio28 = qt6Packages.callPackage ../applications/video/obs-studio/28.nix {
ffmpeg_4 = ffmpeg-full;
};
obs-studio = obs-studio28;
obs-studio-plugins = recurseIntoAttrs (callPackage ../applications/video/obs-studio/plugins {});
wrapOBS = callPackage ../applications/video/obs-studio/wrapper.nix {};
+57 -2
View File
@@ -17,8 +17,10 @@ let
"ghc902"
"ghc90"
"ghc924"
"ghc925"
"ghc92"
"ghc942"
"ghc943"
"ghc94"
"ghcHEAD"
];
@@ -28,8 +30,10 @@ let
"ghc902"
"ghc92"
"ghc924"
"ghc925"
"ghc94"
"ghc942"
"ghc943"
"ghcHEAD"
];
@@ -164,6 +168,23 @@ in {
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
llvmPackages = pkgs.llvmPackages_12;
};
ghc925 = callPackage ../development/compilers/ghc/9.2.5.nix {
bootPkgs =
# aarch64 ghc8107Binary exceeds max output size on hydra
if stdenv.hostPlatform.isAarch then
packages.ghc8107BinaryMinimal
else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
packages.ghc810
else
packages.ghc8107Binary;
inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved.
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
llvmPackages = pkgs.llvmPackages_12;
};
ghc92 = ghc924;
ghc942 = callPackage ../development/compilers/ghc/9.4.2.nix {
bootPkgs =
@@ -189,10 +210,34 @@ in {
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
llvmPackages = pkgs.llvmPackages_12;
};
ghc943 = callPackage ../development/compilers/ghc/9.4.3.nix {
bootPkgs =
# Building with 9.2 is broken due to
# https://gitlab.haskell.org/ghc/ghc/-/issues/21914
# Use 8.10 as a workaround where possible to keep bootstrap path short.
# On ARM text won't build with GHC 8.10.*
if stdenv.hostPlatform.isAarch then
# TODO(@sternenseemann): package bindist
packages.ghc902
# No suitable bindists for powerpc64le
else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
packages.ghc902
else
packages.ghc8107Binary;
inherit (buildPackages.python3Packages) sphinx;
# Need to use apple's patched xattr until
# https://github.com/xattr/xattr/issues/44 and
# https://github.com/xattr/xattr/issues/55 are solved.
inherit (buildPackages.darwin) xattr autoSignDarwinBinariesHook;
# Support range >= 10 && < 14
buildTargetLlvmPackages = pkgsBuildTarget.llvmPackages_12;
llvmPackages = pkgs.llvmPackages_12;
};
ghc94 = ghc942;
ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
bootPkgs =
# For GHC 9.2.3 and 9.2.4 no armv7l bindists are available.
# For GHC 9.2 no armv7l bindists are available.
if stdenv.hostPlatform.isAarch32 then
packages.ghc924
else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
@@ -310,13 +355,23 @@ in {
ghc = bh.compiler.ghc924;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
};
ghc925 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc925;
ghc = bh.compiler.ghc925;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.2.x.nix { };
};
ghc92 = ghc924;
ghc942 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc942;
ghc = bh.compiler.ghc942;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
};
ghc94= ghc942;
ghc943 = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghc943;
ghc = bh.compiler.ghc943;
compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-9.4.x.nix { };
};
ghc94 = ghc942;
ghcHEAD = callPackage ../development/haskell-modules {
buildHaskellPackages = bh.packages.ghcHEAD;
ghc = bh.compiler.ghcHEAD;
+2
View File
@@ -956,6 +956,8 @@ let
else
null;
ocamlc-loc = callPackage ../development/ocaml-modules/ocamlc-loc { };
ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
ocaml_expat =
+9 -1
View File
@@ -53,7 +53,9 @@ let
ghc8107
ghc902
ghc924
ghc925
ghc942
ghc943
];
# packagePlatforms applied to `haskell.packages.*`
@@ -178,6 +180,7 @@ let
dhall-nix
diagrams-builder
elm2nix
emanote
fffuu
futhark
ghcid
@@ -334,7 +337,7 @@ let
};
haskell.packages.native-bignum.ghc924 = {
inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc92)
inherit (packagePlatforms pkgs.pkgsStatic.haskell.packages.native-bignum.ghc924)
hello
lens
random
@@ -366,6 +369,7 @@ let
compilerNames.ghc8107
compilerNames.ghc902
compilerNames.ghc924
compilerNames.ghc925
# https://github.com/ndmitchell/hlint/issues/1413
];
hpack = released;
@@ -393,9 +397,11 @@ let
compilerNames.ghc8107
compilerNames.ghc902
compilerNames.ghc924
compilerNames.ghc925
];
purescript = [
compilerNames.ghc924
compilerNames.ghc925
];
purescript-cst = [
compilerNames.ghc8107
@@ -470,10 +476,12 @@ let
jobs.pkgsMusl.haskell.compiler.ghc8107
jobs.pkgsMusl.haskell.compiler.ghc902
jobs.pkgsMusl.haskell.compiler.ghc924
jobs.pkgsMusl.haskell.compiler.ghc925
jobs.pkgsMusl.haskell.compiler.ghcHEAD
jobs.pkgsMusl.haskell.compiler.integer-simple.ghc8107
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc902
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc924
jobs.pkgsMusl.haskell.compiler.native-bignum.ghc925
jobs.pkgsMusl.haskell.compiler.native-bignum.ghcHEAD
];
};