btrbk: add mainProgram
[NixPkgs.git] / pkgs / by-name / xe / xed / package.nix
blob2918ae7f3fe822a3a7a7bdea6549b3b3393c14e3
1 { lib, stdenv, fetchFromGitHub, python3Packages, llvmPackages }:
3 let
4   # mbuild is a custom build system used only to build xed
5   mbuild = python3Packages.buildPythonPackage rec {
6     pname = "mbuild";
7     version = "2022.07.28";
9     src = fetchFromGitHub {
10       owner = "intelxed";
11       repo = "mbuild";
12       rev = "v${version}";
13       sha256 = "sha256-nVHHiaPbf+b+RntjUGjLLGS53e6c+seXIBx7AcTtiWU=";
14     };
15   };
17 in stdenv.mkDerivation rec {
18   pname = "xed";
19   version = "2024.02.22";
21   src = fetchFromGitHub {
22     owner = "intelxed";
23     repo = "xed";
24     rev = "v${version}";
25     sha256 = "sha256-LF4iJ1/Z3OifCiir/kU3ufZqtiRLeaJeAwuBqP2BCF4=";
26   };
28   nativeBuildInputs = [ mbuild ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ llvmPackages.bintools ];
30   buildPhase = ''
31     patchShebangs mfile.py
33     # this will build, test and install
34     ./mfile.py test --prefix $out
35     ./mfile.py examples
36     mkdir -p $out/bin
37     cp ./obj/wkit/examples/obj/xed $out/bin/
38   '';
40   dontInstall = true; # already installed during buildPhase
42   meta = with lib; {
43     broken = stdenv.hostPlatform.isAarch64;
44     description = "Intel X86 Encoder Decoder (Intel XED)";
45     homepage    = "https://intelxed.github.io/";
46     license     = licenses.asl20;
47     platforms   = platforms.unix;
48     maintainers = with maintainers; [ arturcygan ];
49   };