nixpkgs/pkgs/development/tools/explain/default.nix
Rick van Schijndel 9833d56c24 treewide: mark packages broken that never built on PLATFORM
Done with the help of https://github.com/Mindavi/nixpkgs-mark-broken
Tool is still WIP but this is one of the first results.

I manually audited the results and removed some results that were not valid.

Note that some of these packages maybe should have more constrained platforms set
instead of broken set, but I think not being perfectly correct is better than
just keep trying to build all these things and never succeeding.

Some observations:

- Some darwin builds require XCode tools
- aarch64-linux builds sometimes suffer from using gcc9
  - gcc9 is getting older and misses some new libraries/features
- Sometimes tools try to do system detection or expect some explicit settings for
  platforms that are not x86_64-linux
2022-12-13 21:40:12 +01:00

48 lines
1.7 KiB
Nix

{ lib, stdenv, fetchurl, fetchpatch
, libtool, bison, groff, ghostscript, gettext
, acl, libcap, lsof }:
stdenv.mkDerivation rec {
pname = "explain";
version = "1.4";
src = fetchurl {
url = "mirror://sourceforge/libexplain/libexplain-${version}.tar.gz";
hash = "sha256-KIY7ZezMdJNOI3ysQTZMs8GALDbJ4jGO0EF0YP7oP4A=";
};
patches = let
debian-src = "https://sources.debian.org/data/main";
debian-ver = "${version}.D001-12";
debian-patch = fname: hash: fetchpatch {
name = fname;
url = "${debian-src}/libe/libexplain/${debian-ver}/debian/patches/${fname}";
hash = hash;
};
in [
(debian-patch "sanitize-bison.patch"
"sha256-gU6JG32j2yIOwehZTUSvIr4TSDdlg+p1U3bhfZHMEDY=")
(debian-patch "03_fsflags-4.5.patch"
"sha256-ML7Qvf85vEBp+iwm6PSosMAn/frYdEOSHRToEggmR8M=")
(debian-patch "linux5.11.patch"
"sha256-N7WwnTfwOxBfIiKntcFOqHTH9r2gd7NMEzic7szzR+Y=")
(debian-patch "termiox-no-more-exists-since-kernel-5.12.patch"
"sha256-cocgEYKoDMDnGk9VNQDtgoVxMGnnNpdae0hzgUlacOw=")
(debian-patch "gcc-10.patch"
"sha256-YNcYGyOOqPUuwpUpXGcR7zsWbepVg8SAqcVKlxENSQk=")
];
nativeBuildInputs = [ libtool bison groff ghostscript gettext ];
buildInputs = [ acl libcap lsof ];
outputs = [ "bin" "dev" "out" "man" "doc" ];
meta = with lib; {
description = "Library and utility to explain system call errors";
homepage = "http://libexplain.sourceforge.net";
license = licenses.lgpl3Plus;
maintainers = with maintainers; [ McSinyx ];
platforms = platforms.unix;
# never built on aarch64-linux since first introduction in nixpkgs
broken = stdenv.isLinux && stdenv.isAarch64;
};
}