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