summaryrefslogtreecommitdiffstats
path: root/pkgs
diff options
context:
space:
mode:
authorWeijia Wang <9713184+wegank@users.noreply.github.com>2023-04-20 10:23:17 +0300
committerGitHub <noreply@github.com>2023-04-20 10:23:17 +0300
commit0d9d4e984ed4dbac5428abc9ca62b7e3808ac412 (patch)
treeeb9ce0e1ce8f1e22114abc505724b1656a31c391 /pkgs
parent7ea26cf75377d5635cd2f481d64695bf878e8210 (diff)
parent072cd2ab7a15b7fd475deaf5bb63405d351b82c2 (diff)
Merge pull request #224482 from bobvanderlinden/pr-pjsip-tests
pjsip: add tests and darwin compatiblity
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/networking/pjsip/default.nix29
1 files changed, 22 insertions, 7 deletions
diff --git a/pkgs/applications/networking/pjsip/default.nix b/pkgs/applications/networking/pjsip/default.nix
index db76d3f58611..11462dab9a1b 100644
--- a/pkgs/applications/networking/pjsip/default.nix
+++ b/pkgs/applications/networking/pjsip/default.nix
@@ -1,4 +1,5 @@
{ lib
+, testers
, stdenv
, fetchFromGitHub
, fetchpatch
@@ -11,17 +12,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 +64,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
@@ -98,11 +98,26 @@ stdenv.mkDerivation rec {
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)
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
'';
@@ -115,4 +130,4 @@ stdenv.mkDerivation rec {
mainProgram = "pjsua";
platforms = platforms.linux ++ platforms.darwin;
};
-}
+})