From cbff2010dec85ec733dd243b077a25b9f09ab20e Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Wed, 1 Feb 2023 15:38:11 +0100 Subject: [PATCH 1/3] pjsip: add pythonSupport option --- pkgs/applications/networking/pjsip/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix index eae9a8a3d87a..781b8462a392 100644 --- a/pkgs/applications/networking/pjsip/default.nix +++ b/pkgs/applications/networking/pjsip/default.nix @@ -4,8 +4,11 @@ , fetchpatch , openssl , libsamplerate +, swig , alsa-lib , AppKit +, python3 +, pythonSupport ? true }: stdenv.mkDerivation rec { @@ -33,6 +36,9 @@ stdenv.mkDerivation rec { }) ]; + nativeBuildInputs = + lib.optionals pythonSupport [ swig python3 ]; + buildInputs = [ openssl libsamplerate ] ++ lib.optional stdenv.isLinux alsa-lib ++ lib.optional stdenv.isDarwin AppKit; @@ -41,11 +47,22 @@ stdenv.mkDerivation rec { export LD=$CC ''; + postBuild = lib.optionalString pythonSupport '' + make -C pjsip-apps/src/swig/python + ''; + + outputs = [ "out" ] + ++ lib.optional pythonSupport "py"; + postInstall = '' mkdir -p $out/bin cp pjsip-apps/bin/pjsua-* $out/bin/pjsua mkdir -p $out/share/${pname}-${version}/samples cp pjsip-apps/bin/samples/*/* $out/share/${pname}-${version}/samples + '' + lib.optionalString pythonSupport '' + (cd pjsip-apps/src/swig/python && \ + python setup.py install --prefix=$py + ) ''; # We need the libgcc_s.so.1 loadable (for pthread_cancel to work) From 237abc78ec6bd915207a481f7b8f1f8941a9624f Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Fri, 3 Feb 2023 15:17:26 +0100 Subject: [PATCH 2/3] pythonPackages: pjsua2: init pjsua2 from pjsip --- pkgs/top-level/python-packages.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c672707b90ef..741d6b653ec1 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7174,6 +7174,11 @@ self: super: with self; { pixelmatch = callPackage ../development/python-modules/pixelmatch { }; + pjsua2 = (toPythonModule (pkgs.pjsip.override { + pythonSupport = true; + python3 = self.python; + })).py; + pkce = callPackage ../development/python-modules/pkce { }; pkgconfig = callPackage ../development/python-modules/pkgconfig { }; From c2a0dc782d5036dd71302d83ea9e79109442dd17 Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Fri, 3 Feb 2023 15:17:47 +0100 Subject: [PATCH 3/3] pjsip: enable building shared libraries --- pkgs/applications/networking/pjsip/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix index 781b8462a392..33747e2d669b 100644 --- a/pkgs/applications/networking/pjsip/default.nix +++ b/pkgs/applications/networking/pjsip/default.nix @@ -54,6 +54,8 @@ stdenv.mkDerivation rec { outputs = [ "out" ] ++ lib.optional pythonSupport "py"; + configureFlags = [ "--enable-shared" ]; + postInstall = '' mkdir -p $out/bin cp pjsip-apps/bin/pjsua-* $out/bin/pjsua