Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

unar: 1.10.1 -> 1.10.7 #86628

Merged
merged 1 commit into from May 3, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
59 changes: 31 additions & 28 deletions pkgs/tools/archivers/unar/default.nix
@@ -1,52 +1,54 @@
{ stdenv, fetchurl, gnustep, unzip, bzip2, zlib, icu, openssl }:
{ stdenv, fetchFromGitHub, installShellFiles, gnustep, bzip2, zlib, icu, openssl, wavpack }:

let
stdenv.mkDerivation rec {
pname = "unar";
version = "1.10.7";

in stdenv.mkDerivation rec {
name = "${pname}-${version}";
version = "1.10.1";

src = fetchurl {
url = "http://unarchiver.c3.cx/downloads/${pname}${version}_src.zip";
sha256 = "0aq9zlar5vzr5qxphws8dm7ax60bsfsw77f4ciwa5dq5lla715j0";
src = fetchFromGitHub {
owner = "MacPaw";
# the unar repo contains a shallow clone of both XADMaster and universal-detector
repo = "unar";
rev = "v${version}";
sha256 = "0p846q1l66k3rnd512sncp26zpv411b8ahi145sghfcsz9w8abc4";
};

buildInputs = [ gnustep.base bzip2 icu openssl zlib ];

nativeBuildInputs = [ gnustep.make unzip ];

enableParallelBuilding = true;

postPatch = ''
for f in Makefile.linux ../UniversalDetector/Makefile.linux ; do
substituteInPlace $f \
--replace "CC = gcc" "CC=cc" \
--replace "CXX = g++" "CXX=c++" \
--replace "OBJCC = gcc" "OBJCC=cc" \
--replace "OBJCXX = g++" "OBJCXX=c++"
--replace "= gcc" "=cc" \
--replace "= g++" "=c++"
done

# we need to build inside this directory as well, so we have to make it writeable
chmod +w ../UniversalDetector -R
'';

buildInputs = [ gnustep.base bzip2 icu openssl wavpack zlib ];

nativeBuildInputs = [ gnustep.make installShellFiles ];

enableParallelBuilding = true;

dontConfigure = true;

makefile = "Makefile.linux";

sourceRoot = "./The Unarchiver/XADMaster";
sourceRoot = "./source/XADMaster";

installPhase = ''
runHook preInstall

install -Dm755 -t $out/bin lsar unar
install -Dm644 -t $out/share/man/man1 ../Extra/{lsar,unar}.1

mkdir -p $out/etc/bash_completion.d
cp ../Extra/lsar.bash_completion $out/etc/bash_completion.d/lsar
cp ../Extra/unar.bash_completion $out/etc/bash_completion.d/unar
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

runHook postInstall
'';

meta = with stdenv.lib; {
homepage = "http://unarchiver.c3.cx/unarchiver";
homepage = "https://theunarchiver.com";
description = "An archive unpacker program";
longDescription = ''
The Unarchiver is an archive unpacker program with support for the popular \
Expand All @@ -55,7 +57,8 @@ in stdenv.mkDerivation rec {
Compact Pro, Packit, cpio, compress (.Z), ARJ, ARC, PAK, ACE, ZOO, LZH, \
ADF, DMS, LZX, PowerPacker, LBR, Squeeze, Crunch, and other old formats.
'';
license = with licenses; [ lgpl21Plus ];
license = licenses.lgpl21Plus;
maintainers = with maintainers; [ peterhoeg ];
platforms = with platforms; linux;
};
}