diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libarchive')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libarchive/default.nix | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libarchive/default.nix b/nixpkgs/pkgs/development/libraries/libarchive/default.nix new file mode 100644 index 000000000000..3cf8a6da7367 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libarchive/default.nix @@ -0,0 +1,60 @@ +{ + fetchFromGitHub, stdenv, pkgconfig, autoreconfHook, + acl, attr, bzip2, e2fsprogs, libxml2, lzo, openssl, sharutils, xz, zlib, + + # Optional but increases closure only negligibly. + xarSupport ? true, +}: + +assert xarSupport -> libxml2 != null; + +stdenv.mkDerivation rec { + name = "libarchive-${version}"; + version = "3.4.0"; + + src = fetchFromGitHub { + owner = "libarchive"; + repo = "libarchive"; + rev = "v${version}"; + sha256 = "063f5bw9qmksj3iy6094qxwawx174cx00q1fg6l698wqw7xn8ihq"; + }; + + outputs = [ "out" "lib" "dev" ]; + + nativeBuildInputs = [ pkgconfig autoreconfHook ]; + buildInputs = [ sharutils zlib bzip2 openssl xz lzo ] + ++ stdenv.lib.optionals stdenv.isLinux [ e2fsprogs attr acl ] + ++ stdenv.lib.optional xarSupport libxml2; + + # Without this, pkgconfig-based dependencies are unhappy + propagatedBuildInputs = stdenv.lib.optionals stdenv.isLinux [ attr acl ]; + + configureFlags = stdenv.lib.optional (!xarSupport) "--without-xml2"; + + preBuild = if stdenv.isCygwin then '' + echo "#include <windows.h>" >> config.h + '' else null; + + doCheck = false; # fails + + preFixup = '' + sed -i $lib/lib/libarchive.la \ + -e 's|-lcrypto|-L${openssl.out}/lib -lcrypto|' \ + -e 's|-llzo2|-L${lzo}/lib -llzo2|' + ''; + + enableParallelBuilding = true; + + meta = { + description = "Multi-format archive and compression library"; + longDescription = '' + This library has code for detecting and reading many archive formats and + compressions formats including (but not limited to) tar, shar, cpio, zip, and + compressed with gzip, bzip2, lzma, xz, ... + ''; + homepage = http://libarchive.org; + license = stdenv.lib.licenses.bsd3; + platforms = with stdenv.lib.platforms; all; + maintainers = with stdenv.lib.maintainers; [ jcumming ]; + }; +} |