[Attn.Maintainer] libarchive

Achim Gratz Stromeko@nexgo.de
Tue Oct 27 10:32:40 GMT 2020


Hi Marco,

the last release of libarchive hasn't been pushed to

https://cygwin.com/git-cygwin-packages/?p=git/cygwin-packages/libarchive.git

could that please be corrected?

Also it is built without ZStd and LZO support (the former presumably
because you didn't have the headers installed and the latter because it
requires a configure argument).  Looking into that I noticed that the
configury rolls in Cygwin with MSys and MinGW and produces the expected
nonsense, in particular the SSL library is not found that way.  It works
slightly better via cmake, but that doesn't produce a correctly named
DLL, so I stopped there.  Likewise there are tests for lrzip/grzip that
don't seem to have a corresponding configure option (or configure
tests), so I didn't try if they work.

Here are the fixed up cygport file plus the configury patch:

--8<---------------cut here---------------start------------->8---
# -*- mode: sh; sh-shell: bash -*-
# inherit cmake # doesn't produce a correctly named library
BUILD_REQUIRES="  libbz2-devel zlib-devel libzstd-devel liblzo2-devel liblz4-devel liblzma-devel"
BUILD_REQUIRES+=" libiconv-devel libxml2-devel libssl-devel"
NAME="libarchive"
VERSION="3.4.3"
RELEASE="2"
CATEGORY="Archive"
SUMMARY="Multiple-format archive and compression library"
DESCRIPTION="Libarchive is a programming library that can create and read
several different streaming archive formats, including most popular tar
variants, several cpio formats, and both BSD and GNU ar variants. It can also
write shar archives and read ISO9660 CDROM images and ZIP archives. The bsdtar
program is an implementation of tar(1) that is built on top of libarchive. It
started as a test harness, but has grown into a feature-competitive replacement
for GNU tar."
HOMEPAGE="https://www.libarchive.org/"
SRC_URI="https://www.libarchive.org/downloads/${P}.tar.gz"
SRC_DIR="${P}"

PKG_NAMES="${PN}13 ${PN}-devel bsdtar bsdcpio bsdcat"
eval ${PN}13_CONTENTS='"usr/bin/cygarchive-13.dll"'
libarchive_devel_CONTENTS="usr/include/ usr/lib/ usr/share/doc/ usr/share/man/man[35]/"
bsdtar_CONTENTS="usr/bin/bsdtar.exe usr/share/man/man1/bsdtar.*"
bsdcpio_CONTENTS="usr/bin/bsdcpio.exe usr/share/man/man1/bsdcpio.*"
bsdcat_CONTENTS="usr/bin/bsdcat.exe usr/share/man/man1/bsdcat.*"

CYGCONF_ARGS="--with-lzo2"
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
--- origsrc/libarchive-3.4.3/configure.ac
+++ src/libarchive-3.4.3/configure.ac
@@ -86,13 +86,10 @@ AC_CANONICAL_HOST
 
 dnl Compilation on mingw and Cygwin needs special Makefile rules
 inc_windows_files=no
-inc_cygwin_files=no
 case "$host_os" in
   *mingw* ) inc_windows_files=yes ;;
-  *cygwin* | *msys*) inc_cygwin_files=yes ;;
 esac
 AM_CONDITIONAL([INC_WINDOWS_FILES], [test $inc_windows_files = yes])
-AM_CONDITIONAL([INC_CYGWIN_FILES], [test $inc_cygwin_files = yes])
 
 dnl Defines that are required for specific platforms (e.g. -D_POSIX_SOURCE, etc)
 PLATFORMCPPFLAGS=
@@ -243,7 +240,7 @@ AM_CONDITIONAL([STATIC_BSDCPIO], [ test
 
 # Set up defines needed before including any headers
 case $host in
-  *mingw* | *cygwin* | *msys*  )
+  *mingw* | *msys*  )
   AC_DEFINE([_WIN32_WINNT], 0x0502, [Define to '0x0502' for Windows Server 2003 APIs.])
   AC_DEFINE([WINVER], 0x0502, [Define to '0x0502' for Windows Server 2003 APIs.])
   AC_DEFINE([NTDDI_VERSION], 0x05020000, [Define to '0x05020000' for Windows Server 2003 APIs.])
@@ -316,7 +313,7 @@ AC_ARG_WITH([bz2lib],
 if test "x$with_bz2lib" != "xno"; then
   AC_CHECK_HEADERS([bzlib.h])
   case "$host_os" in
-    *mingw* | *cygwin* | *msys*)
+    *mingw* | *msys*)
       dnl AC_CHECK_LIB cannot be used on the Windows port of libbz2, therefore
 	  dnl use AC_LINK_IFELSE.
 	  AC_MSG_CHECKING([for BZ2_bzDecompressInit in -lbz2])
@@ -1089,7 +1086,7 @@ main(int argc, char **argv)
 ])
 
 case "$host_os" in
-  *mingw* | *cygwin* | *msys*)
+  *mingw* | *msys*)
 	;;
   *)
 	CRYPTO_CHECK(MD5, LIBC, md5)
@@ -1157,7 +1154,7 @@ if test "x$with_openssl" != "xno"; then
     AC_CHECK_HEADERS([openssl/evp.h])
     saved_LIBS=$LIBS
     case "$host_os" in
-      *mingw* | *cygwin* | *msys*)
+      *mingw* | *msys*)
         case "$host_cpu" in
           x86_64)
             AC_CHECK_LIB(eay64,OPENSSL_config)
@@ -1198,7 +1195,7 @@ if test "x$found_LIBMD" != "xyes"; then
 fi
 
 case "$host_os" in
-  *mingw* | *cygwin* | *msys*)
+  *mingw* | *msys*)
 	CRYPTO_CHECK_WIN(MD5, CALG_MD5)
 	CRYPTO_CHECK_WIN(SHA1, CALG_SHA1)
 	CRYPTO_CHECK_WIN(SHA256, CALG_SHA_256)
--8<---------------cut here---------------end--------------->8---

With these, the package builds correctly.  I have a few test fails that
all look like ATWIL / permission problems to me and none look like they
weren't present before.

If you'd rather have me co-maintain or adopt the package, let me know.


Regards,
Achim.
-- 
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

Factory and User Sound Singles for Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds


More information about the Cygwin-apps mailing list