Unverified Commit b4aa6a4f authored by Emily's avatar Emily Committed by GitHub
Browse files

gst_all_1.gstreamer: use a better libunwind check (#339006)

parents 9b619f2f 52b0b4ef
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -21,8 +21,9 @@
, buildPackages
, withIntrospection ? lib.meta.availableOn stdenv.hostPlatform gobject-introspection && stdenv.hostPlatform.emulatorAvailable buildPackages
, libunwind
# darwin.libunwind doesn't have pkg-config definitions so meson doesn't detect it.
, withLibunwind ? !stdenv.isDarwin && lib.meta.availableOn stdenv.hostPlatform libunwind
, withLibunwind ?
  lib.meta.availableOn stdenv.hostPlatform libunwind &&
    lib.elem "libunwind" libunwind.meta.pkgConfigModules or []
# Checks meson.is_cross_build(), so even canExecute isn't enough.
, enableDocumentation ? stdenv.hostPlatform == stdenv.buildPlatform, hotdoc
}:
+13 −4
Original line number Diff line number Diff line
{ stdenv, lib, fetchpatch, fetchFromGitHub, autoreconfHook, xz, buildPackages }:
{ stdenv, lib, fetchpatch, fetchFromGitHub, autoreconfHook, buildPackages
, xz
, testers
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "libunwind";
  version = "1.8.1";

  src = fetchFromGitHub {
    owner = "libunwind";
    repo = "libunwind";
    rev = "v${version}";
    rev = "v${finalAttrs.version}";
    hash = "sha256-rCFBHs6rCSnp5FEwbUR5veNNTqSQpFblAv8ebSPX0qE=";
  };

@@ -50,12 +53,18 @@ stdenv.mkDerivation rec {

  doCheck = false; # fails

  passthru.tests.pkg-config = testers.hasPkgConfigModules {
    package = finalAttrs.finalPackage;
    versionCheck = true;
  };

  meta = with lib; {
    homepage = "https://www.nongnu.org/libunwind";
    description = "Portable and efficient API to determine the call-chain of a program";
    maintainers = with maintainers; [ orivej ];
    pkgConfigModules = [ "libunwind" "libunwind-coredump" "libunwind-generic" "libunwind-ptrace" "libunwind-setjmp" ];
    # https://github.com/libunwind/libunwind#libunwind
    platforms = [ "aarch64-linux" "armv5tel-linux" "armv6l-linux" "armv7a-linux" "armv7l-linux" "i686-freebsd" "i686-linux" "loongarch64-linux" "mips64el-linux" "mipsel-linux" "powerpc64-linux" "powerpc64le-linux" "riscv64-linux" "s390x-linux" "x86_64-freebsd" "x86_64-linux" "x86_64-solaris" ];
    license = licenses.mit;
  };
}
})