nixpkgs/pkgs/tools/archivers/unar/default.nix

67 lines
2.0 KiB
Nix
Raw Normal View History

{ lib, stdenv, fetchFromGitHub, installShellFiles, gnustep, bzip2, zlib, icu, openssl, wavpack }:
2016-08-19 12:44:19 +01:00
2020-05-03 02:05:42 +01:00
stdenv.mkDerivation rec {
2016-08-19 12:44:19 +01:00
pname = "unar";
2020-05-03 02:05:42 +01:00
version = "1.10.7";
2018-01-18 07:26:15 +00:00
2020-05-03 02:05:42 +01:00
src = fetchFromGitHub {
owner = "MacPaw";
# the unar repo contains a shallow clone of both XADMaster and universal-detector
repo = "unar";
rev = "v${version}";
sha256 = "0p846q1l66k3rnd512sncp26zpv411b8ahi145sghfcsz9w8abc4";
2016-08-19 12:44:19 +01:00
};
postPatch = ''
2018-01-18 07:26:15 +00:00
for f in Makefile.linux ../UniversalDetector/Makefile.linux ; do
substituteInPlace $f \
--replace "= gcc" "=${stdenv.cc.targetPrefix}cc" \
--replace "= g++" "=${stdenv.cc.targetPrefix}c++" \
--replace "-DGNU_RUNTIME=1" "" \
--replace "-fgnu-runtime" "-fobjc-nonfragile-abi"
2018-01-18 07:26:15 +00:00
done
2020-05-03 02:05:42 +01:00
# we need to build inside this directory as well, so we have to make it writeable
chmod +w ../UniversalDetector -R
2016-08-19 12:44:19 +01:00
'';
2020-05-03 02:05:42 +01:00
buildInputs = [ gnustep.base bzip2 icu openssl wavpack zlib ];
nativeBuildInputs = [ gnustep.make installShellFiles ];
enableParallelBuilding = true;
dontConfigure = true;
2016-08-19 12:44:19 +01:00
makefile = "Makefile.linux";
2020-05-03 02:05:42 +01:00
sourceRoot = "./source/XADMaster";
2016-08-19 12:44:19 +01:00
installPhase = ''
2018-01-18 07:26:15 +00:00
runHook preInstall
2016-08-19 12:44:19 +01:00
2020-05-03 02:05:42 +01:00
install -Dm555 -t $out/bin lsar unar
for f in lsar unar; do
installManPage ./Extra/$f.?
installShellCompletion --bash --name $f ./Extra/$f.bash_completion
done
2018-01-18 07:26:15 +00:00
runHook postInstall
2016-08-19 12:44:19 +01:00
'';
meta = with lib; {
2020-05-03 02:05:42 +01:00
homepage = "https://theunarchiver.com";
2016-08-19 12:44:19 +01:00
description = "An archive unpacker program";
longDescription = ''
The Unarchiver is an archive unpacker program with support for the popular \
zip, RAR, 7z, tar, gzip, bzip2, LZMA, XZ, CAB, MSI, NSIS, EXE, ISO, BIN, \
and split file formats, as well as the old Stuffit, Stuffit X, DiskDouble, \
Compact Pro, Packit, cpio, compress (.Z), ARJ, ARC, PAK, ACE, ZOO, LZH, \
2018-01-18 07:26:15 +00:00
ADF, DMS, LZX, PowerPacker, LBR, Squeeze, Crunch, and other old formats.
2016-08-19 12:44:19 +01:00
'';
2020-05-03 02:05:42 +01:00
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ peterhoeg ];
2016-08-19 12:44:19 +01:00
platforms = with platforms; linux;
};
}