summary refs log tree commit diff
path: root/pkgs/development/libraries/spandsp
diff options
context:
space:
mode:
authorAdam Joseph <adam@westernsemico.com>2023-02-26 10:10:22 -0800
committerAdam Joseph <adam@westernsemico.com>2023-03-09 21:40:38 -0800
commit88cbe74d05cac6e037e934ee7fbe8b1f0d164f25 (patch)
tree5190d756461b138a8cb6853f4e6718d5b33ef88b /pkgs/development/libraries/spandsp
parent6b5a531bc46c24a714535684ba856e2e5394bb69 (diff)
downloadnixpkgs-88cbe74d05cac6e037e934ee7fbe8b1f0d164f25.tar
nixpkgs-88cbe74d05cac6e037e934ee7fbe8b1f0d164f25.tar.gz
nixpkgs-88cbe74d05cac6e037e934ee7fbe8b1f0d164f25.tar.bz2
nixpkgs-88cbe74d05cac6e037e934ee7fbe8b1f0d164f25.tar.lz
nixpkgs-88cbe74d05cac6e037e934ee7fbe8b1f0d164f25.tar.xz
nixpkgs-88cbe74d05cac6e037e934ee7fbe8b1f0d164f25.tar.zst
nixpkgs-88cbe74d05cac6e037e934ee7fbe8b1f0d164f25.zip
spandsp: refactor
The `spandsp` derivation has the clauses in the wrong order
(e.g. `makeFlags` before `configureFlags`) which makes it hard to
understand.

This commit fixes the clause order, factors out `common.nix` from
the two versions of spandsp, and also tries to normalize the coding
style.
Diffstat (limited to 'pkgs/development/libraries/spandsp')
-rw-r--r--pkgs/development/libraries/spandsp/3.nix47
-rw-r--r--pkgs/development/libraries/spandsp/common.nix52
-rw-r--r--pkgs/development/libraries/spandsp/default.nix54
3 files changed, 77 insertions, 76 deletions
diff --git a/pkgs/development/libraries/spandsp/3.nix b/pkgs/development/libraries/spandsp/3.nix
index 74eb099227e..24cfc3fc83b 100644
--- a/pkgs/development/libraries/spandsp/3.nix
+++ b/pkgs/development/libraries/spandsp/3.nix
@@ -1,41 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, audiofile, libtiff, autoreconfHook
+{ lib
+, stdenv
+, fetchFromGitHub
+, audiofile
+, libtiff
+, autoreconfHook
 , fetchpatch
-, buildPackages }:
-stdenv.mkDerivation rec {
+, buildPackages
+, callPackage
+}:
+
+(callPackage ./common.nix {}).overrideAttrs(finalAttrs: {
   version = "3.0.0";
-  pname = "spandsp";
   src = fetchFromGitHub {
     owner = "freeswitch";
-    repo = pname;
+    repo = finalAttrs.pname;
     rev = "6ec23e5a7e411a22d59e5678d12c4d2942c4a4b6"; # upstream does not seem to believe in tags
     sha256 = "03w0s99y3zibi5fnvn8lk92dggfgrr0mz5255745jfbz28b2d5y7";
   };
-
-  patches = [
-    # submitted upstream: https://github.com/freeswitch/spandsp/pull/47
-    (fetchpatch {
-      url = "https://github.com/freeswitch/spandsp/commit/1f810894804d3fa61ab3fc2f3feb0599145a3436.patch";
-      hash = "sha256-Cf8aaoriAvchh5cMb75yP2gsZbZaOLha/j5mq3xlkVA=";
-    })
-  ];
-
-  outputs = [ "out" "dev" ];
-
-  enableParallelBuilding = true;
-
-  nativeBuildInputs = [ autoreconfHook ];
-  propagatedBuildInputs = [ audiofile libtiff ];
-
-  makeFlags = [
-    "CC=${stdenv.cc.targetPrefix}cc"
-    "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/cc"
-  ];
-
-  meta = {
-    description = "A portable and modular SIP User-Agent with audio and video support";
-    homepage = "https://github.com/freeswitch/spandsp";
-    platforms = with lib.platforms; unix;
-    maintainers = with lib.maintainers; [ ajs124 misuzu ];
-    license = lib.licenses.gpl2;
-  };
-}
+})
diff --git a/pkgs/development/libraries/spandsp/common.nix b/pkgs/development/libraries/spandsp/common.nix
new file mode 100644
index 00000000000..73422ed57d6
--- /dev/null
+++ b/pkgs/development/libraries/spandsp/common.nix
@@ -0,0 +1,52 @@
+{ lib
+, stdenv
+, fetchurl
+, audiofile
+, libtiff
+, buildPackages
+, fetchpatch
+, autoreconfHook
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "spandsp";
+
+  patches = [
+    # submitted upstream: https://github.com/freeswitch/spandsp/pull/47
+    (fetchpatch {
+      url = "https://github.com/freeswitch/spandsp/commit/1f810894804d3fa61ab3fc2f3feb0599145a3436.patch";
+      hash = "sha256-Cf8aaoriAvchh5cMb75yP2gsZbZaOLha/j5mq3xlkVA=";
+    })
+  ];
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ autoreconfHook ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  propagatedBuildInputs = [ audiofile libtiff ];
+
+  configureFlags = [
+    # This flag is required to prevent linking error in the cross-compilation case.
+    # I think it's fair to assume that realloc(NULL, size) will return a valid memory
+    # block for most libc implementation, so let's just assume that and hope for the best.
+    "ac_cv_func_malloc_0_nonnull=yes"
+  ];
+
+  enableParallelBuilding = true;
+
+  makeFlags = [
+    "CC=${stdenv.cc.targetPrefix}cc"
+    "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/cc"
+  ];
+
+  strictDeps = true;
+
+  meta = {
+    description = "A portable and modular SIP User-Agent with audio and video support";
+    homepage = "https://github.com/freeswitch/spandsp";
+    platforms = with lib.platforms; unix;
+    maintainers = with lib.maintainers; [ ajs124 misuzu ];
+    license = lib.licenses.gpl2;
+    downloadPage = "http://www.soft-switch.org/downloads/spandsp/";
+  };
+})
diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix
index baa6a93856b..cf5e53c3f91 100644
--- a/pkgs/development/libraries/spandsp/default.nix
+++ b/pkgs/development/libraries/spandsp/default.nix
@@ -1,48 +1,18 @@
-{ lib, stdenv, fetchurl, audiofile, libtiff, buildPackages
+{ lib
+, stdenv
+, fetchurl
+, audiofile
+, libtiff
+, buildPackages
 , fetchpatch
-, autoreconfHook }:
+, autoreconfHook
+, callPackage
+}:
 
-stdenv.mkDerivation rec {
+(callPackage ./common.nix {}).overrideAttrs(_: rec {
   version = "0.0.6";
-  pname = "spandsp";
-
-  patches = [
-    # submitted upstream: https://github.com/freeswitch/spandsp/pull/47
-    (fetchpatch {
-      url = "https://github.com/freeswitch/spandsp/commit/1f810894804d3fa61ab3fc2f3feb0599145a3436.patch";
-      hash = "sha256-Cf8aaoriAvchh5cMb75yP2gsZbZaOLha/j5mq3xlkVA=";
-    })
-  ];
-
-  src=fetchurl {
+  src = fetchurl {
     url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz";
     sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc";
   };
-
-  outputs = [ "out" "dev" ];
-  enableParallelBuilding = true;
-  makeFlags = [
-    "CC=${stdenv.cc.targetPrefix}cc"
-    "CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/cc"
-  ];
-
-  configureFlags = [
-    # This flag is required to prevent linking error in the cross-compilation case.
-    # I think it's fair to assume that realloc(NULL, size) will return a valid memory
-    # block for most libc implementation, so let's just assume that and hope for the best.
-    "ac_cv_func_malloc_0_nonnull=yes"
-  ];
-
-  strictDeps = true;
-  nativeBuildInputs = [ autoreconfHook ];
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-  propagatedBuildInputs = [audiofile libtiff];
-  meta = {
-    description = "A portable and modular SIP User-Agent with audio and video support";
-    homepage = "http://www.creytiv.com/baresip.html";
-    platforms = with lib.platforms; linux;
-    maintainers = with lib.maintainers; [raskin];
-    license = lib.licenses.gpl2;
-    downloadPage = "http://www.soft-switch.org/downloads/spandsp/";
-  };
-}
+})