diff options
-rw-r--r-- | pkgs/applications/office/libreoffice/default.nix | 15 | ||||
-rw-r--r-- | pkgs/applications/video/obs-studio/default.nix | 28 | ||||
-rw-r--r-- | pkgs/development/python-modules/afdko/default.nix | 21 | ||||
-rw-r--r-- | pkgs/development/python-modules/jq/default.nix | 22 | ||||
-rw-r--r-- | pkgs/development/python-modules/streaming-form-data/default.nix | 13 | ||||
-rw-r--r-- | pkgs/development/python-modules/streaming-form-data/drop-smart-open.patch | 40 | ||||
-rw-r--r-- | pkgs/servers/home-assistant/default.nix | 3 | ||||
-rw-r--r-- | pkgs/tools/networking/urlwatch/default.nix | 2 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
9 files changed, 119 insertions, 27 deletions
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix index 6be1d11ae3b68..e7fa0c53f7302 100644 --- a/pkgs/applications/office/libreoffice/default.nix +++ b/pkgs/applications/office/libreoffice/default.nix @@ -13,6 +13,7 @@ , IOCompress , zlib , libjpeg +, liblangtag , expat , freetype , libwpd @@ -225,6 +226,17 @@ in stdenv.mkDerivation (finalAttrs: { url = "https://cgit.freedesktop.org/libreoffice/core/patch/?id=ececb678b8362e3be8e02768ddd5e4197d87dc2a"; hash = "sha256-TUfKlwNxUTOJ95VLqwVD+ez1xhu7bW6xZlgIaCyIiNg="; }) + + # Backport libxml 2.12 build fixes + # FIXME: remove in next release + (fetchpatch { + url = "https://cgit.freedesktop.org/libreoffice/core/patch/?id=c8f7408db73d2f2ccacb25a2b4fef8dfebdfc6cb"; + hash = "sha256-uEgRx1eyS3Wx2ZDWEsUmpIbuKezVrIbO++qSL2QI8Lk="; + }) + (fetchpatch { + url = "https://cgit.freedesktop.org/libreoffice/core/patch/?id=cbb17a548b5cc6a99b6ed7735479bb4f2bc40f26"; + hash = "sha256-ofhif37uvQI+gidaUpyr6XlyBc3gTJUDBRb3ootrzz0="; + }) ]; # libreoffice tries to reference the BUILDCONFIG (e.g. PKG_CONFIG_PATH) @@ -436,6 +448,7 @@ in stdenv.mkDerivation (finalAttrs: { "--with-system-headers" "--with-system-openssl" "--with-system-libabw" + "--with-system-liblangtag" "--without-system-libcmis" "--with-system-libwps" "--with-system-openldap" @@ -466,7 +479,6 @@ in stdenv.mkDerivation (finalAttrs: { "--without-system-lpsolve" "--without-system-libetonyek" "--without-system-libfreehand" - "--without-system-liblangtag" "--without-system-libmspub" "--without-system-libnumbertext" "--without-system-libpagemaker" @@ -566,6 +578,7 @@ in stdenv.mkDerivation (finalAttrs: { libepoxy libexttextcat libjpeg + liblangtag libmspack libmwaw libmysqlclient diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix index a19e996064a0c..c6183f5148990 100644 --- a/pkgs/applications/video/obs-studio/default.nix +++ b/pkgs/applications/video/obs-studio/default.nix @@ -2,10 +2,11 @@ , lib , stdenv , fetchFromGitHub +, fetchpatch , addOpenGLRunpath , cmake , fdk_aac -, ffmpeg_4 +, ffmpeg , jansson , libjack2 , libxkbcommon @@ -70,6 +71,29 @@ stdenv.mkDerivation rec { # Lets obs-browser build against CEF 90.1.0+ ./Enable-file-access-and-universal-access-for-file-URL.patch ./fix-nix-plugin-path.patch + + # Backport ffmpeg 6.1 / GCC 13 build fixes + # FIXME: remove in next release + (fetchpatch { + url = "https://github.com/obsproject/obs-studio/commit/cd784644f5e82b9988043f229c19603289c6d32c.patch"; + hash = "sha256-S4JE5kgr4x3uMHY2GRh0GBJpb7o/wYZb/v0CDITFNnQ="; + }) + (fetchpatch { + url = "https://github.com/obsproject/obs-studio/commit/758b47d4ed9a25b8d64ad481d8d039990b9e57c9.patch"; + hash = "sha256-jYpjwhx6e+dhN3kzbd6FcdjQ+WhIX0/BOu9PSkt+2yI="; + }) + (fetchpatch { + url = "https://github.com/obsproject/obs-studio/commit/4b5be75c7e4b8cee908ed4a02fe0078285b4e8c9.patch"; + hash = "sha256-tuOevhyxchwG42ilrplbiWoiDAKaY4HgzShlvp4VSQI="; + }) + (fetchpatch { + url = "https://github.com/obsproject/obs-studio/commit/6e080a68067b27fe5463f0f4eee7df690451f3d7.patch"; + hash = "sha256-nbn/q3uszoHaDvaW8Et1MS1sgQzMsJRmjGSMHzUxV70="; + }) + (fetchpatch { + url = "https://github.com/obsproject/obs-studio/commit/df70743385965f979f922e05af9a249f20f94869.patch"; + hash = "sha256-uIBsFuggz8SgQsQ0Ry2lvSPeMm63lgVe7oFx/3aT12k="; + }) ]; nativeBuildInputs = [ @@ -84,7 +108,7 @@ stdenv.mkDerivation rec { buildInputs = [ curl fdk_aac - ffmpeg_4 + ffmpeg jansson libcef libjack2 diff --git a/pkgs/development/python-modules/afdko/default.nix b/pkgs/development/python-modules/afdko/default.nix index 556261277ea09..1bd2b71d25fb4 100644 --- a/pkgs/development/python-modules/afdko/default.nix +++ b/pkgs/development/python-modules/afdko/default.nix @@ -1,8 +1,7 @@ { lib , stdenv , buildPythonPackage -, fetchPypi -, fetchpatch +, fetchFromGitHub , pythonOlder , fonttools , defcon @@ -34,14 +33,16 @@ buildPythonPackage rec { pname = "afdko"; - version = "4.0.0"; + version = "4.0.0+unstable-2023-11-07"; format = "pyproject"; disabled = pythonOlder "3.7"; - src = fetchPypi { - inherit pname version; - hash = "sha256-66faoWBuCW0lQZP8/mBJLT+ErRGBl396HdG1RfPOYcM="; + src = fetchFromGitHub { + owner = "adobe-type-tools"; + repo = pname; + rev = "6c832edbd81ecf689dbe66e840bf18ae61cf4bca"; + hash = "sha256-XXkksHggUIs2O0/OSGsft8ofogcbtAa3w5JdldIAJAI="; }; nativeBuildInputs = [ @@ -64,6 +65,11 @@ buildPythonPackage rec { ./use-dynamic-system-antlr4-runtime.patch ]; + # Happy new year + postPatch = '' + substituteInPlace tests/tx_data/expected_output/alt-missing-glif.pfb --replace 2023 2024 + ''; + env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang (toString [ "-Wno-error=incompatible-function-pointer-types" "-Wno-error=int-conversion" @@ -98,6 +104,9 @@ buildPythonPackage rec { preCheck = '' export PATH=$PATH:$out/bin + + # Remove build artifacts to prevent them from messing with the tests + rm -rf _skbuild ''; disabledTests = lib.optionals (!runAllTests) [ diff --git a/pkgs/development/python-modules/jq/default.nix b/pkgs/development/python-modules/jq/default.nix index d7dc37b068528..5b369d513cb13 100644 --- a/pkgs/development/python-modules/jq/default.nix +++ b/pkgs/development/python-modules/jq/default.nix @@ -2,15 +2,15 @@ , buildPythonPackage , cython , fetchFromGitHub -, fetchpatch , jq +, oniguruma , pytestCheckHook , pythonOlder }: buildPythonPackage rec { pname = "jq"; - version = "1.5.0"; + version = "1.6.0"; format = "setuptools"; disabled = pythonOlder "3.7"; @@ -19,18 +19,10 @@ buildPythonPackage rec { owner = "mwilliamson"; repo = "jq.py"; rev = "refs/tags/${version}"; - hash = "sha256-mITk5y2AdUc9kZ/WrsnHxS1GRRmO4FDbPRgTtV2gIXI="; + hash = "sha256-c6tJI/mPlBGIYTk5ObIQ1CUTq73HouQ2quMZVWG8FFg="; }; - patches = [ - # Removes vendoring - ./jq-py-setup.patch - (fetchpatch { - url = "https://github.com/mwilliamson/jq.py/commit/805705dde4beb9db9a1743663d415198fb02eb1a.patch"; - includes = [ "tests/*" ]; - hash = "sha256-AgdpwmtOTeJ4nSbM6IknKaIVqqtWkpxTTtblXjlbWeA="; - }) - ]; + env.JQPY_USE_SYSTEM_LIBS = 1; nativeBuildInputs = [ cython @@ -38,6 +30,7 @@ buildPythonPackage rec { buildInputs = [ jq + oniguruma ]; preBuild = '' @@ -48,6 +41,11 @@ buildPythonPackage rec { pytestCheckHook ]; + disabledTests = [ + # intentional behavior change in jq 1.7.1 not reflected upstream + "test_given_json_text_then_strings_containing_null_characters_are_preserved" + ]; + pythonImportsCheck = [ "jq" ]; diff --git a/pkgs/development/python-modules/streaming-form-data/default.nix b/pkgs/development/python-modules/streaming-form-data/default.nix index 8c631510ec430..18df3a778da2b 100644 --- a/pkgs/development/python-modules/streaming-form-data/default.nix +++ b/pkgs/development/python-modules/streaming-form-data/default.nix @@ -1,5 +1,5 @@ { lib, fetchFromGitHub, buildPythonPackage, pythonOlder, -cython, smart-open, pytestCheckHook, moto, requests-toolbelt }: +cython, pytestCheckHook, requests-toolbelt }: buildPythonPackage rec { pname = "streaming-form-data"; @@ -14,11 +14,16 @@ buildPythonPackage rec { hash = "sha256-Ntiad5GZtfRd+2uDPgbDzLBzErGFroffK6ZAmMcsfXA="; }; - nativeBuildInputs = [ cython ]; + # streaming-form-data has a small bit of code that uses smart_open, which has a massive closure. + # The only consumer of streaming-form-data is Moonraker, which doesn't use that code. + # So, just drop the dependency to not have to deal with it. + patches = [ + ./drop-smart-open.patch + ]; - propagatedBuildInputs = [ smart-open ]; + nativeBuildInputs = [ cython ]; - nativeCheckInputs = [ pytestCheckHook moto requests-toolbelt ]; + nativeCheckInputs = [ pytestCheckHook requests-toolbelt ]; pytestFlagsArray = [ "tests" ]; diff --git a/pkgs/development/python-modules/streaming-form-data/drop-smart-open.patch b/pkgs/development/python-modules/streaming-form-data/drop-smart-open.patch new file mode 100644 index 0000000000000..6c0946c926ecb --- /dev/null +++ b/pkgs/development/python-modules/streaming-form-data/drop-smart-open.patch @@ -0,0 +1,40 @@ +diff --git a/streaming_form_data/targets.py b/streaming_form_data/targets.py +index a399f3a..b816714 100644 +--- a/streaming_form_data/targets.py ++++ b/streaming_form_data/targets.py +@@ -1,6 +1,5 @@ + import hashlib + from pathlib import Path +-import smart_open # type: ignore + from typing import Callable, List, Optional + + +@@ -164,6 +163,7 @@ class S3Target(BaseTarget): + S3Target enables chunked uploads to S3 buckets (using smart_open)""" + + def __init__(self, file_path, mode, transport_params=None, **kwargs): ++ raise Exception("Nixpkgs: disabled") + super().__init__(**kwargs) + + self._file_path = file_path +diff --git a/tests/test_targets.py b/tests/test_targets.py +index 0cc79ab..78ab40b 100644 +--- a/tests/test_targets.py ++++ b/tests/test_targets.py +@@ -2,8 +2,6 @@ import os.path + import tempfile + + import pytest +-from moto import mock_s3 +-import boto3 + + from streaming_form_data.targets import ( + BaseTarget, +@@ -271,6 +269,7 @@ def mock_client(): + yield client + + ++@pytest.mark.skip + def test_s3_upload(mock_client): + test_key = "test.txt" + path = f"s3://{BUCKET_NAME}/{test_key}" diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 494c4ba3af2b7..72f9fd11c7966 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -506,6 +506,9 @@ in python.pkgs.buildPythonApplication rec { propagatedBuildInputs = with python.pkgs; [ # Only packages required in pyproject.toml aiohttp + aiohttp-cors + aiohttp-fast-url-dispatcher + aiohttp-zlib-ng astral async-timeout atomicwrites-homeassistant diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix index 885304d9fdb10..a17b4b88da3d6 100644 --- a/pkgs/tools/networking/urlwatch/default.nix +++ b/pkgs/tools/networking/urlwatch/default.nix @@ -23,9 +23,9 @@ python3Packages.buildPythonApplication rec { markdown2 matrix-client minidb + playwright pushbullet-py pycodestyle - pyppeteer pyyaml requests ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f3c19bb6f8f87..c101f72eeba46 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -34367,7 +34367,7 @@ with pkgs; obs-cli = callPackage ../applications/misc/obs-cli { }; obs-studio = qt6Packages.callPackage ../applications/video/obs-studio { - ffmpeg_4 = ffmpeg-full; + ffmpeg = ffmpeg-full; }; obs-studio-plugins = recurseIntoAttrs (callPackage ../applications/video/obs-studio/plugins {}); |