From 532911e9aeec2ca4c64496361bc1cfe9bc3acab0 Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Mon, 3 Apr 2023 15:18:27 +0200 Subject: [PATCH 1/3] pjsip: use finalAttrs in mkDerivation --- pkgs/applications/networking/pjsip/default.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix index db76d3f58611..eeeb68df87b4 100644 --- a/pkgs/applications/networking/pjsip/default.nix +++ b/pkgs/applications/networking/pjsip/default.nix @@ -11,17 +11,16 @@ , Security , python3 , pythonSupport ? true -, pjsip , runCommand }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "pjsip"; version = "2.13"; src = fetchFromGitHub { - owner = pname; + owner = finalAttrs.pname; repo = "pjproject"; - rev = version; + rev = finalAttrs.version; sha256 = "sha256-yzszmm3uIyXtYFgZtUP3iswLx4u/8UbFt80Ln25ToFE="; }; @@ -64,8 +63,8 @@ stdenv.mkDerivation rec { 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 + mkdir -p $out/share/${finalAttrs.pname}-${finalAttrs.version}/samples + cp pjsip-apps/bin/samples/*/* $out/share/${finalAttrs.pname}-${finalAttrs.version}/samples '' + lib.optionalString pythonSupport '' (cd pjsip-apps/src/swig/python && \ python setup.py install --prefix=$py @@ -115,4 +114,4 @@ stdenv.mkDerivation rec { mainProgram = "pjsua"; platforms = platforms.linux ++ platforms.darwin; }; -} +}) From c32dd072f0f6fc8e00b3d926fbe4a3f32ba529ab Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Mon, 3 Apr 2023 15:18:52 +0200 Subject: [PATCH 2/3] pjsip: add version and pkg-config tests --- pkgs/applications/networking/pjsip/default.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix index eeeb68df87b4..338d4cb2f08a 100644 --- a/pkgs/applications/networking/pjsip/default.nix +++ b/pkgs/applications/networking/pjsip/default.nix @@ -1,4 +1,5 @@ { lib +, testers , stdenv , fetchFromGitHub , fetchpatch @@ -102,6 +103,16 @@ stdenv.mkDerivation (finalAttrs: { # We need the libgcc_s.so.1 loadable (for pthread_cancel to work) dontPatchELF = true; + passthru.tests.version = testers.testVersion { + package = finalAttrs.finalPackage; + command = "pjsua --version"; + }; + + passthru.tests.pkg-config = testers.hasPkgConfigModule { + package = finalAttrs.finalPackage; + moduleName = "libpjproject"; + }; + passthru.tests.python-pjsua2 = runCommand "python-pjsua2" { } '' ${(python3.withPackages (pkgs: [ pkgs.pjsua2 ])).interpreter} -c "import pjsua2" > $out ''; From 072cd2ab7a15b7fd475deaf5bb63405d351b82c2 Mon Sep 17 00:00:00 2001 From: Bob van der Linden Date: Mon, 3 Apr 2023 15:19:28 +0200 Subject: [PATCH 3/3] pjsip: fix pjsua executable compatiblity with darwin --- pkgs/applications/networking/pjsip/default.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix index 338d4cb2f08a..11462dab9a1b 100644 --- a/pkgs/applications/networking/pjsip/default.nix +++ b/pkgs/applications/networking/pjsip/default.nix @@ -98,6 +98,11 @@ stdenv.mkDerivation (finalAttrs: { install_name_tool -id $lib "''${change_args[@]}" $lib fi done + + # Rewrite library references for all executables. + find "$out" -executable -type f | while read executable; do + install_name_tool "''${change_args[@]}" "$executable" + done ''; # We need the libgcc_s.so.1 loadable (for pthread_cancel to work)