123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- {% set version = "3.6.2" %}
- package:
- name: libarchive
- version: {{ version }}
- source:
- url: https://github.com/libarchive/libarchive/releases/download/v{{ version }}/libarchive-{{ version }}.tar.gz
- sha256: ba6d02f15ba04aba9c23fd5f236bb234eab9d5209e95d1c4df85c44d5f19b9b3
- patches:
- - patches/0001-Add-lib-to-CMAKE_FIND_LIBRARY_PREFIXES-for-lzma.patch
- - patches/0003-VC9-compatibility-test-for-BCryptDeriveKeyPBKDF2.patch
- - patches/0004-VC9-compatibility-define-BCRYPT_SUCCESS.patch
- - patches/0006-VC-openssl-define-inline-as-__inline.patch
- # These warnings are errors when compiling lz-4 support
- - patches/0007-CMake-VC9-compatibility-ignore-some-warnings.patch
- - patches/0008-VC9-compatibility-remove-C99.patch
- - patches/0009-CMake-Force-Multi-threaded-DLL-runtime.patch
- build:
- number: 2
- #skip: true # [win and vc<14]
- run_exports:
- # https://abi-laboratory.pro/index.php?view=timeline&l=libarchive
- - {{ pin_subpackage('libarchive', max_pin='x.x') }}
- # macOS' native crypto gets used here, but the headers are needed
- ignore_run_exports: # [osx]
- - openssl # [osx]
- requirements:
- build:
- - {{ compiler('c') }}
- - cmake
- - ninja-base
- - patch # [not win]
- - m2-patch # [win]
- host:
- - msinttypes # [win and vc<14]
- - bzip2
- - libiconv # [not linux]
- - lz4-c
- - xz
- # This is GPL-v2+, the libarchive authors explicitly ask that
- # people do not link to this (and if we do, this would need to
- # also be released as GPL-v2+, and that is against their wishes
- # and it is not clear if that is even possible)
- # https://github.com/libarchive/libarchive/releases/tag/v3.3.2
- # "Linking libarchive against liblzo violates LZO GPL licence.
- # Please don't distribute binary packages of libarchive linked
- # against liblzo."
- # - lzo
- - openssl {{ openssl }} # [not osx]
- - libxml2 2.10
- - zlib {{ zlib }}
- - zstd {{ zstd }}
- run:
- - openssl 3.*
- test:
- requires:
- - ripgrep
- files:
- - test-archives/hello_world.xar
- - test-archives/archive.7z
- - test-archives/hello_world.tar.zst
- commands:
- # Verify pkg-config file is in place.
- - test -f "${PREFIX}/lib/pkgconfig/libarchive.pc" # [unix]
- # Verify headers are in place.
- - test -f "${PREFIX}/include/archive.h" # [unix]
- - test -f "${PREFIX}/include/archive_entry.h" # [unix]
- # Verify libraries are in place.
- - test -f "${PREFIX}/lib/libarchive.a" # [unix]
- - test -f "${PREFIX}/lib/libarchive${SHLIB_EXT}" # [unix]
- # Check for commands
- - if not exist "%LIBRARY_BIN%\\bsdcat.exe" exit 1 # [win32]
- - if not exist "%LIBRARY_BIN%\\bsdcpio.exe" exit 1 # [win32]
- - bsdcat --version # [unix or win64]
- - bsdcpio --version # [unix or win64]
- - bsdtar --version # [unix or win64]
- - pushd test-archives # [unix or win64]
- - bsdtar -vxf hello_world.xar 2>&1 | rg "x hello_world" # [unix or win64]
- - bsdtar -vxf archive.7z 2>&1 | rg "x 7zip-archive" # [unix or win64]
- - bsdtar -vxf hello_world.tar.zst 2>&1 | rg "greets" # [unix or win64]
- - popd # [unix or win64]
- about:
- home: https://libarchive.org/
- license: BSD-2-Clause
- license_file: COPYING
- license_family: BSD
- summary: Multi-format archive and compression library
- description: |
- Libarchive is an open-source BSD-licensed C programming library that provides streaming access
- to a variety of different archive formats, including tar, cpio, pax, Zip, and ISO9660 images.
- The distribution also includes bsdtar and bsdcpio, full-featured implementations of tar and cpio
- that use libarchive.
- When reading archives, libarchive uses a robust automatic format detector that can automatically handle archives
- that have been compressed with gzip, bzip2, xz, lzip, and several other popular compression algorithms.
- dev_url: https://github.com/libarchive/libarchive
- doc_url: https://github.com/libarchive/libarchive/wiki
- extra:
- recipe-maintainers:
- - jakirkham
- - mingwandroid
- - ocefpaf
- skip-lints:
- - missing_tests
- - host_section_needs_exact_pinnings
|