summary refs log tree commit diff
path: root/pkgs/by-name/xo/xorriso/package.nix
blob: 057f61c9fe27d783fc24cc6cdb200f9d3d896307 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{ lib
, stdenv
, fetchurl
, acl
, attr
, bzip2
, libcdio
, libiconv
, readline
, zlib
}:

stdenv.mkDerivation (finalAttrs: {
  pname = "xorriso";
  version = "1.5.7";

  src = fetchurl {
    url = "https://www.gnu.org/software/xorriso/xorriso-${finalAttrs.version}.tar.gz";
    hash = "sha256-hnV3w4f2tKmjIk60Qd7Y+xY432y8Bg+NGh5dAPMY9QI=";
  };

  buildInputs = [
    bzip2
    libcdio
    libiconv
    readline
    zlib
  ]
  ++ lib.optionals stdenv.isLinux [
    acl
    attr
  ];

  outputs = [ "out" "man" ];

  env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-include unistd.h";

  doCheck = true;

  strictDeps = true;

  meta = {
    homepage = "https://www.gnu.org/software/xorriso/";
    description = "ISO 9660 Rock Ridge file system manipulator";
    longDescription = ''
      GNU xorriso copies file objects from POSIX compliant filesystems into Rock
      Ridge enhanced ISO 9660 filesystems and allows session-wise manipulation
      of such filesystems. It can load the management information of existing
      ISO images and it writes the session results to optical media or to
      filesystem objects.
      Vice versa xorriso is able to copy file objects out of ISO 9660
      filesystems.
    '';
    license = lib.licenses.gpl3Plus;
    mainProgram = "xorriso";
    maintainers = [ lib.maintainers.AndersonTorres ];
    platforms = lib.platforms.unix;
  };
})