core/pkgs/by-name/xa/xar/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

72 lines
1.8 KiB
Nix
Raw Normal View History

2024-05-02 00:46:19 +00:00
{
lib,
stdenv,
fetchurl,
pkg-config,
libxml2,
xz,
openssl,
zlib,
bzip2,
fts,
autoreconfHook,
}:
stdenv.mkDerivation rec {
version = "1.6.1";
pname = "xar";
src = fetchurl {
url = "https://github.com/downloads/mackyle/xar/${pname}-${version}.tar.gz";
sha256 = "0ghmsbs6xwg1092v7pjcibmk5wkyifwxw6ygp08gfz25d2chhipf";
};
nativeBuildInputs = [
autoreconfHook
pkg-config
];
buildInputs = [
libxml2
xz
openssl
zlib
bzip2
fts
];
patches = [
./0001-Add-useless-descriptions-to-AC_DEFINE.patch
./0002-Use-pkg-config-for-libxml2.patch
];
postPatch = ''
substituteInPlace configure.ac \
--replace 'OpenSSL_add_all_ciphers' 'OPENSSL_init_crypto' \
--replace 'openssl/evp.h' 'openssl/crypto.h'
'';
configureFlags = lib.optional (fts != null) "LDFLAGS=-lfts";
meta = {
homepage = "https://mackyle.github.io/xar/";
description = "Extensible Archiver";
longDescription = ''
The XAR project aims to provide an easily extensible archive format.
Important design decisions include an easily extensible XML table of
contents for random access to archived files, storing the toc at the
beginning of the archive to allow for efficient handling of streamed
archives, the ability to handle files of arbitrarily large sizes, the
ability to choose independent encodings for individual files in the
archive, the ability to store checksums for individual files in both
compressed and uncompressed form, and the ability to query the table
of content's rich meta-data.
'';
2024-06-30 08:12:46 +00:00
2024-05-02 00:46:19 +00:00
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ copumpkin ];
platforms = lib.platforms.all;
mainProgram = "xar";
};
}