btrbk: add mainProgram (#356350)
[NixPkgs.git] / pkgs / by-name / ob / objconv / package.nix
blobc811925fbe6339a5d9bf234598676aa3f47368fc
1 { lib, stdenv, fetchurl, unzip }:
3 stdenv.mkDerivation rec {
4   pname = "objconv";
5   version = "2.54";
7   src = fetchurl {
8     # Versioned archive of objconv sources maintained by orivej.
9     url = "https://archive.org/download/objconv/${pname}-${version}.zip";
10     sha256 = "sha256-SDwnpPHc2NyctxKROrhjCDXs36WGj8js5blaQkUibWE=";
11   };
13   nativeBuildInputs = [ unzip ];
15   outputs = [ "out" "doc" ];
17   unpackPhase = ''
18     mkdir -p "$name"
19     cd "$name"
20     unpackFile "$src"
21     unpackFile source.zip
22   '';
24   buildPhase = "c++ -o objconv -O2 *.cpp";
26   installPhase = ''
27     mkdir -p $out/bin $out/doc/objconv
28     mv objconv $out/bin
29     mv objconv-instructions.pdf $out/doc/objconv
30   '';
32   meta = with lib; {
33     description = "Object and executable file converter, modifier and disassembler";
34     mainProgram = "objconv";
35     homepage = "https://www.agner.org/optimize/";
36     license = licenses.gpl2;
37     maintainers = with maintainers; [ orivej ];
38     platforms = platforms.unix;
39   };