Unverified Commit 88461d96 authored by Jon Seager's avatar Jon Seager Committed by GitHub
Browse files

poco: 1.13.3 -> 1.14.1; fix build with new poco in dependent packages (#383163)

parents 099a5651 33f6d24b
Loading
Loading
Loading
Loading
+170 −107
Original line number Diff line number Diff line
{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, qt5, cmake
, avahi, boost, libopus, libsndfile, protobuf, speex, libcap
, alsa-lib, python3
, rnnoise
, nixosTests
, poco
, flac
, libogg
, libvorbis
, stdenv_32bit
, iceSupport ? true, zeroc-ice
, jackSupport ? false, libjack2
, pipewireSupport ? true, pipewire
, pulseSupport ? true, libpulseaudio
, speechdSupport ? false, speechd-minimal
{
  lib,
  stdenv,
  fetchFromGitHub,
  fetchpatch,
  pkg-config,
  qt5,
  cmake,
  avahi,
  boost,
  libopus,
  libsndfile,
  protobuf,
  speex,
  libcap,
  utf8proc,
  alsa-lib,
  python3,
  rnnoise,
  nixosTests,
  poco,
  flac,
  libogg,
  libvorbis,
  stdenv_32bit,
  iceSupport ? true,
  zeroc-ice,
  jackSupport ? false,
  libjack2,
  pipewireSupport ? true,
  pipewire,
  pulseSupport ? true,
  libpulseaudio,
  speechdSupport ? false,
  speechd-minimal,
}:

let
  generic = overrides: source: (overrides.stdenv or stdenv).mkDerivation (source // overrides // {
  generic =
    overrides: source:
    (overrides.stdenv or stdenv).mkDerivation (
      source
      // overrides
      // {
        pname = overrides.type;
        version = source.version;

    nativeBuildInputs = [ cmake pkg-config python3 qt5.wrapQtAppsHook qt5.qttools ]
      ++ (overrides.nativeBuildInputs or [ ]);

    buildInputs = [ avahi boost poco protobuf ]
      ++ (overrides.buildInputs or [ ]);
        nativeBuildInputs = [
          cmake
          pkg-config
          python3
          qt5.wrapQtAppsHook
          qt5.qttools
        ] ++ (overrides.nativeBuildInputs or [ ]);

        buildInputs = [
          avahi
          boost
          poco
          protobuf
        ] ++ (overrides.buildInputs or [ ]);

        cmakeFlags = [
          "-D g15=OFF"
@@ -41,23 +75,41 @@ let
          description = "Low-latency, high quality voice chat software";
          homepage = "https://mumble.info";
          license = licenses.bsd3;
      maintainers = with maintainers; [ felixsinger lilacious ];
          maintainers = with maintainers; [
            felixsinger
            lilacious
          ];
          platforms = platforms.linux;
        };
  });
      }
    );

  client = source: generic {
  client =
    source:
    generic {
      type = "mumble";

      nativeBuildInputs = [ qt5.qttools ];
    buildInputs = [ flac libogg libopus libsndfile libvorbis qt5.qtsvg rnnoise speex ]
      buildInputs =
        [
          flac
          libogg
          libopus
          libsndfile
          libvorbis
          qt5.qtsvg
          rnnoise
          speex
          utf8proc
        ]
        ++ lib.optional (!jackSupport) alsa-lib
        ++ lib.optional jackSupport libjack2
        ++ lib.optional speechdSupport speechd-minimal
        ++ lib.optional pulseSupport libpulseaudio
        ++ lib.optional pipewireSupport pipewire;

    configureFlags = [
      configureFlags =
        [
          "-D server=OFF"
          "-D bundled-celt=ON"
          "-D bundled-opus=OFF"
@@ -67,7 +119,8 @@ let
          "-D overlay-xcompile=OFF"
          "-D oss=OFF"
          "-D warnings-as-errors=OFF" # conversion error workaround
    ] ++ lib.optional (!speechdSupport) "-D speechd=OFF"
        ]
        ++ lib.optional (!speechdSupport) "-D speechd=OFF"
        ++ lib.optional (!pulseSupport) "-D pulseaudio=OFF"
        ++ lib.optional (!pipewireSupport) "-D pipewire=OFF"
        ++ lib.optional jackSupport "-D alsa=OFF -D jackaudio=ON";
@@ -76,27 +129,36 @@ let

      postFixup = ''
        wrapProgram $out/bin/mumble \
        --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath (lib.optional pulseSupport libpulseaudio ++ lib.optional pipewireSupport pipewire)}"
          --prefix LD_LIBRARY_PATH : "${
            lib.makeLibraryPath (
              lib.optional pulseSupport libpulseaudio ++ lib.optional pipewireSupport pipewire
            )
          }"
      '';
    } source;

  server = source: generic {
  server =
    source:
    generic {
      type = "murmur";

    configureFlags = [
      configureFlags =
        [
          "-D client=OFF"
    ] ++ lib.optional (!iceSupport) "-D ice=OFF"
        ]
        ++ lib.optional (!iceSupport) "-D ice=OFF"
        ++ lib.optionals iceSupport [
          "-D Ice_HOME=${lib.getDev zeroc-ice};${lib.getLib zeroc-ice}"
          "-D CMAKE_PREFIX_PATH=${lib.getDev zeroc-ice};${lib.getLib zeroc-ice}"
          "-D Ice_SLICE_DIR=${lib.getDev zeroc-ice}/share/ice/slice"
        ];

    buildInputs = [ libcap ]
      ++ lib.optional iceSupport zeroc-ice;
      buildInputs = [ libcap ] ++ lib.optional iceSupport zeroc-ice;
    } source;

  overlay = source: generic {
  overlay =
    source:
    generic {
      stdenv = stdenv_32bit;
      type = "mumble-overlay";

@@ -119,7 +181,8 @@ let
      fetchSubmodules = true;
    };
  };
in {
in
{
  mumble = lib.recursiveUpdate (client source) { meta.mainProgram = "mumble"; };
  murmur = lib.recursiveUpdate (server source) { meta.mainProgram = "mumble-server"; };
  overlay = overlay source;
+50 −0
Original line number Diff line number Diff line
Submodule blocks contains modified content
diff --git a/blocks/file/BinaryFileSink.cpp b/blocks/file/BinaryFileSink.cpp
index 31c9a41..0083b0d 100644
--- a/blocks/file/BinaryFileSink.cpp
+++ b/blocks/file/BinaryFileSink.cpp
@@ -13,6 +13,7 @@
 #endif //_MSC_VER
 #include <stdio.h>
 #include <cerrno>
+#include <cstring>

 #ifndef O_BINARY
 #define O_BINARY 0
diff --git a/blocks/file/BinaryFileSource.cpp b/blocks/file/BinaryFileSource.cpp
index 0151231..379d383 100644
--- a/blocks/file/BinaryFileSource.cpp
+++ b/blocks/file/BinaryFileSource.cpp
@@ -13,6 +13,7 @@
 #endif //_MSC_VER
 #include <stdio.h>
 #include <cerrno>
+#include <cstring>

 #ifndef O_BINARY
 #define O_BINARY 0
diff --git a/blocks/file/TextFileSink.cpp b/blocks/file/TextFileSink.cpp
index b4b2f08..2be66e2 100644
--- a/blocks/file/TextFileSink.cpp
+++ b/blocks/file/TextFileSink.cpp
@@ -6,6 +6,7 @@
 #include <complex>
 #include <fstream>
 #include <cerrno>
+#include <cstring>

 /***********************************************************************
  * |PothosDoc Text File Sink
Submodule soapy contains modified content
diff --git a/soapy/DemoController.cpp b/soapy/DemoController.cpp
index 4ce8ead..9a4e742 100644
--- a/soapy/DemoController.cpp
+++ b/soapy/DemoController.cpp
@@ -6,6 +6,7 @@
 #include <iostream>
 #include <chrono>
 #include <algorithm> //min/max
+#include <cstring>

 /***********************************************************************
  * |PothosDoc SDR Demo Controller
+8 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@
  alsa-lib,
  muparserx,
  python3,
  utf8proc,
}:

mkDerivation rec {
@@ -41,8 +42,14 @@ mkDerivation rec {
      url = "https://github.com/pothosware/PothosCore/commit/092d1209b0fd0aa8a1733706c994fa95e66fd017.patch";
      hash = "sha256-bZXG8kD4+1LgDV8viZrJ/DMjg8UvW7b5keJQDXurfkA=";
    })
    # various source files are missing imports of <cstring>
    # https://github.com/pothosware/PothosBlocks/issues/80
    ./cstring.patch
  ];

  # poco 1.14 requires c++17
  NIX_CFLAGS_COMPILE = [ "-std=gnu++17" ];

  nativeBuildInputs = [
    cmake
    pkg-config
@@ -62,6 +69,7 @@ mkDerivation rec {
    alsa-lib
    muparserx
    python3
    utf8proc
  ];

  postInstall = ''
+10 −1
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
  cairo,
  cppunit,
  fetchFromGitHub,
  fetchpatch,
  fetchNpmDeps,
  lib,
  libcap,
@@ -63,7 +64,15 @@ stdenv.mkDerivation (finalAttrs: {
    "--with-lokit-path=${libreoffice-collabora.src}/include"
  ];

  patches = [ ./fix-file-server-regex.patch ];
  patches = [
    ./fix-file-server-regex.patch
    # Remove after next release
    (fetchpatch {
      name = "add-missing-includes-for-poco-1.14.1";
      url = "https://patch-diff.githubusercontent.com/raw/CollaboraOnline/online/pull/11196.patch";
      hash = "sha256-ke4dOxITFHK3xMXIdp+zzUEGYMyDxMJrbbXTN+LaoVU=";
    })
  ];

  postPatch = ''
    cp ${./package-lock.json} ${finalAttrs.npmRoot}/package-lock.json
+37 −0
Original line number Diff line number Diff line
diff --git a/src/configuration.cpp b/src/configuration.cpp
index 2196121..0c5cf27 100644
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -11,6 +11,7 @@
 #include <fstream>
 #include <unordered_map>
 #include <configuration.hpp>
+#include <Poco/JSON/JSONException.h>
 #include "platform.hpp"
 #include "runtime.hpp"
 #include "terminal/SDLTerminal.hpp"
diff --git a/src/main.cpp b/src/main.cpp
index 9ab0814..38976a2 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -34,6 +34,7 @@ static void* releaseNotesThread(void* data);
 #include <Poco/URI.h>
 #include <Poco/Checksum.h>
 #include <Poco/JSON/Parser.h>
+#include <Poco/JSON/JSONException.h>
 #ifndef __EMSCRIPTEN__
 #include <Poco/Net/HTTPSClientSession.h>
 #include <Poco/Net/HTTPRequest.h>
diff --git a/src/util.hpp b/src/util.hpp
index b8ab2d1..c643b96 100644
--- a/src/util.hpp
+++ b/src/util.hpp
@@ -21,6 +21,8 @@ extern "C" {
 #include <string>
 #include <vector>
 #include <Poco/JSON/JSON.h>
+#include <Poco/JSON/Object.h>
+#include <Poco/JSON/Array.h>
 #include <Poco/JSON/Parser.h>
 #include <Poco/Net/HTTPResponse.h>
 #include <Computer.hpp>
Loading