1{ lib, stdenv, fetchurl, cmake, makeWrapper
2, boost, xz
3, withGog ? false, unar ? null }:
4
5stdenv.mkDerivation rec {
6 pname = "innoextract";
7 version = "1.9";
8
9 src = fetchurl {
10 url = "https://constexpr.org/innoextract/files/innoextract-${version}.tar.gz";
11 sha256 = "09l1z1nbl6ijqqwszdwch9mqr54qb7df0wp2sd77v17dq6gsci33";
12 };
13
14 buildInputs = [ xz boost ];
15
16 # Python is reported as missing during the build, however
17 # including Python does not change the output.
18
19 nativeBuildInputs = [ cmake makeWrapper ];
20
21 strictDeps = true;
22
23 # we need unar to for multi-archive extraction
24 postFixup = lib.optionalString withGog ''
25 wrapProgram $out/bin/innoextract \
26 --prefix PATH : ${lib.makeBinPath [ unar ]}
27 '';
28
29 meta = with lib; {
30 description = "A tool to unpack installers created by Inno Setup";
31 homepage = "https://constexpr.org/innoextract/";
32 license = licenses.zlib;
33 maintainers = with maintainers; [ abbradar ];
34 platforms = platforms.linux;
35 };
36}