Merge staging-next into staging
This commit is contained in:
+1
-1
@@ -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`:
|
||||
|
||||
|
||||
@@ -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; {
|
||||
|
||||
+72
@@ -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 ];
|
||||
})
|
||||
@@ -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"
|
||||
];
|
||||
})
|
||||
+15
-11
@@ -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());
|
||||
|
||||
+12
-6
@@ -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; {
|
||||
+4
-4
@@ -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
|
||||
+32
@@ -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";
|
||||
|
||||
+5
-4
@@ -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;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
# Don’t 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;
|
||||
})
|
||||
@@ -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;
|
||||
|
||||
# Don’t 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.
|
||||
# It‘s 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
|
||||
|
||||
+593
-497
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; {
|
||||
|
||||
+10
-15
@@ -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
|
||||
# let’s 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 @@
|
||||
{"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,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 ];
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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 ];
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 {}))
|
||||
|
||||
@@ -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 {}))
|
||||
|
||||
@@ -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 {}))
|
||||
|
||||
@@ -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 { }))
|
||||
|
||||
@@ -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 {}))
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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" ];
|
||||
|
||||
@@ -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}" ];
|
||||
|
||||
|
||||
@@ -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=" ];
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
'';
|
||||
|
||||
@@ -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=
|
||||
@@ -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
|
||||
|
||||
@@ -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 = [ "." ];
|
||||
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -956,6 +956,8 @@ let
|
||||
else
|
||||
null;
|
||||
|
||||
ocamlc-loc = callPackage ../development/ocaml-modules/ocamlc-loc { };
|
||||
|
||||
ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
|
||||
|
||||
ocaml_expat =
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user