<pre style='margin:0'>
Marius Schamschula (Schamschula) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/0a918a032747039637d2de3b1dd736db335693c8">https://github.com/macports/macports-ports/commit/0a918a032747039637d2de3b1dd736db335693c8</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 0a918a03274 xar: update to 1.8.0.452
</span>0a918a03274 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 0a918a032747039637d2de3b1dd736db335693c8
</span>Author: Marius Schamschula <mps@macports.org>
AuthorDate: Tue Jan 5 09:07:45 2021 -0600

<span style='display:block; white-space:pre;color:#404040;'>    xar: update to 1.8.0.452
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    use version number convention from repology.org
</span>---
 archivers/xar/Portfile                             |  35 +++++--
 archivers/xar/files/patch-lib-archive.h.diff       |  18 ++++
 archivers/xar/files/patch-lib-hash.c.diff          | 105 +++++++++++++++++++++
 archivers/xar/files/patch-src-xar.c.diff           |  11 +++
 archivers/xar/files/patch-tpoechtrager.diff        |  13 ---
 .../xar-1.8-Add-OpenSSL-To-Configuration.patch     |  20 ++++
 archivers/xar/files/xar-1.8-arm-ppc.patch          |  23 +++++
 archivers/xar/files/xar-1.8-openssl-1.1.patch      |  45 +++++++++
 archivers/xar/files/xar-1.8-safe_dirname.patch     |  16 ++++
 9 files changed, 264 insertions(+), 22 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/xar/Portfile b/archivers/xar/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f14878d32b3..ece00e265d3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/archivers/xar/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/xar/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,34 +1,49 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           github 1.0
</span> PortGroup           clang_dependency 1.0
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        mackyle xar 1.6.1 xar-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                xar
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set apple_version   452
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             1.8.0.${apple_version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> 
 categories          archivers sysutils
 platforms           darwin freebsd linux
 license             BSD
 description         xar is the eXtensible ARchiver
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         {mps @Schamschula} openmaintainer
</span> long_description    ${description}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {mps @Schamschula} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://opensource.apple.com/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites        ${homepage}tarballs/xar/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distname            ${name}-${apple_version}
</span> 
 worksrcdir          ${distname}/xar
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  6bcdbf03f6c58d64eace10b4c52104d642995063 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  e5edbb3e350c3aaee030c2c20909f0532938cdd2b9ed9da4476088c87eb7a65e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    169715
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  287b799d011816ba51a54fda5f78f652e2550ed0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  0102eb5c4e1844ea44474624d2d7e542fb6b842377e6962fb879361072802d62 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    220690
</span> 
 depends_build       port:pkgconfig \
                     port:automake
 
 depends_lib         port:bzip2 \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    port:libxml2 \
</span>                     path:lib/libssl.dylib:openssl \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:libxml2 \
</span>                     port:zlib
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-tpoechtrager.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# from Debian: restore *ssl support, etc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          xar-1.8-Add-OpenSSL-To-Configuration.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    xar-1.8-openssl-1.1.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    xar-1.8-arm-ppc.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    xar-1.8-safe_dirname.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# don't use CommonCrypto, fix header path, etc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-tpoechtrager.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-lib-archive.h.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-lib-hash.c.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-src-xar.c.diff
</span> 
 post-patch {
     copy -force ${prefix}/share/automake-1.16/config.guess ${worksrcpath}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,3 +51,5 @@ post-patch {
</span> }
 
 use_autoconf        yes
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.version   ${apple_version}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/xar/files/patch-lib-archive.h.diff b/archivers/xar/files/patch-lib-archive.h.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..32e881fe381
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/xar/files/patch-lib-archive.h.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,18 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/archive.h.orig     2018-03-20 21:09:55.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/archive.h  2020-12-20 20:34:04.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -40,12 +40,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define _XAR_ARCHIVE_H_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <zlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <libxml/hash.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <CommonCrypto/CommonDigest.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <CommonCrypto/CommonDigestSPI.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <openssl/evp.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* #endif */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/stat.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "xar.h"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/xar/files/patch-lib-hash.c.diff b/archivers/xar/files/patch-lib-hash.c.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4d113d8b636
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/xar/files/patch-lib-hash.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,105 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/hash.c.orig        2020-12-20 20:43:47.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/hash.c     2020-12-20 20:51:47.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -41,12 +41,14 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <sys/types.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <zlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <CommonCrypto/CommonDigest.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <CommonCrypto/CommonDigestSPI.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <openssl/evp.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* #endif */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "xar.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "hash.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -58,6 +60,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #pragma mark Hash Wrapper Object
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CCDigestRef digestRef_from_name(const char* name, unsigned int *outHashSize) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -89,17 +92,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return result;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif // __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ struct __xar_hash_t {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const char *digest_name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   void *context;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CCDigestRef digest;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   EVP_MD_CTX *digest;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const EVP_MD *type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* #endif */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   unsigned int length;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -113,14 +119,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if( context )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           HASH_CTX(hash)->context = context;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   HASH_CTX(hash)->digest = digestRef_from_name(digest_name, &HASH_CTX(hash)->length);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OpenSSL_add_all_digests();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   HASH_CTX(hash)->type = EVP_get_digestbyname(digest_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   HASH_CTX(hash)->digest = EVP_MD_CTX_create();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   EVP_DigestInit(HASH_CTX(hash)->digest, HASH_CTX(hash)->type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* #endif */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   HASH_CTX(hash)->digest_name = strdup(digest_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -136,29 +144,35 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void xar_hash_update(xar_hash_t hash, void *buffer, size_t nbyte) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CCDigestUpdate(HASH_CTX(hash)->digest, buffer, nbyte);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   EVP_DigestUpdate(HASH_CTX(hash)->digest, buffer, nbyte);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* #endif */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void *xar_hash_finish(xar_hash_t hash, size_t *nbyte) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   void *buffer = calloc(1, CC_SHA512_DIGEST_LENGTH); // current biggest digest size  This is what OpenSSL uses
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   void *buffer = calloc(1, EVP_MAX_MD_SIZE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* #endif */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if( ! buffer )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CCDigestFinal(HASH_CTX(hash)->digest, buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CCDigestDestroy(HASH_CTX(hash)->digest);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   EVP_DigestFinal(HASH_CTX(hash)->digest, buffer, &HASH_CTX(hash)->length);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   EVP_MD_CTX_destroy(HASH_CTX(hash)->digest);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* #endif */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   *nbyte = HASH_CTX(hash)->length;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   free((void *)HASH_CTX(hash)->digest_name);
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/xar/files/patch-src-xar.c.diff b/archivers/xar/files/patch-src-xar.c.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7491820f7c3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/xar/files/patch-src-xar.c.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/xar.c.orig 2020-12-20 20:52:48.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/xar.c      2020-12-20 21:00:44.000000000 -0600
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -51,7 +51,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "xar.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "config.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "filetree.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "../lib/filetree.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "util.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define SYMBOLIC 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define NUMERIC  2
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/xar/files/patch-tpoechtrager.diff b/archivers/xar/files/patch-tpoechtrager.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index bf2785c2ae2..3148f9b113f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/archivers/xar/files/patch-tpoechtrager.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/xar/files/patch-tpoechtrager.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -11,19 +11,6 @@ index 19818f5..d1e6362 100644
</span>  dnl 
  dnl Process .in files.
  dnl 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git configure.ac configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 812b5ff..19818f5 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- configure.ac.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ configure.ac
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -329,7 +329,7 @@ dnl Configure libcrypto (part of OpenSSL).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- dnl 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- have_libcrypto="1"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AC_CHECK_HEADERS([openssl/evp.h], , [have_libcrypto="0"])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--AC_CHECK_LIB([crypto], [OpenSSL_add_all_ciphers], , [have_libcrypto="0"])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AC_CHECK_LIB([crypto], [EVP_add_cipher], , [have_libcrypto="0"])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if test "x${have_libcrypto}" = "x0" ; then
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   AC_MSG_ERROR([Cannot build without libcrypto (OpenSSL)])
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- fi
</span> diff --git lib/ext2.c lib/ext2.c
 index 224dab3..ed8e821 100644
 --- lib/ext2.c.orig
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/xar/files/xar-1.8-Add-OpenSSL-To-Configuration.patch b/archivers/xar/files/xar-1.8-Add-OpenSSL-To-Configuration.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..cdbe7fe537a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/xar/files/xar-1.8-Add-OpenSSL-To-Configuration.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff -rupN a/configure.ac b/configure.ac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac   2020-01-25 04:24:35.603846773 +0300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac   2020-01-25 04:41:05.743109638 +0300
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -320,6 +320,16 @@ if test "x${have_libxml2}" = "x0" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++dnl Configure libcrypto (part of OpenSSL).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++dnl 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++have_libcrypto="1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_CHECK_HEADERS([openssl/evp.h], , [have_libcrypto="0"])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++AC_CHECK_LIB([crypto], [OPENSSL_init_crypto], , [have_libcrypto="0"])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if test "x${have_libcrypto}" = "x0" ; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  AC_MSG_ERROR([Cannot build without libcrypto (OpenSSL)])
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++dnl 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl Configure libz.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dnl 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ have_libz="1"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/xar/files/xar-1.8-arm-ppc.patch b/archivers/xar/files/xar-1.8-arm-ppc.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..520f02cf227
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/xar/files/xar-1.8-arm-ppc.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/archive.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/archive.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -387,7 +387,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          XAR(ret)->heap_offset = xar_get_heap_offset(ret) + offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          XAR(ret)->heap_offset =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  XAR(ret)->toc_count + sizeof(xar_header_t) + offset;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           if( lseek(XAR(ret)->fd, XAR(ret)->heap_offset, SEEK_SET) == -1 ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   xar_close(ret);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   return NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/xar.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/xar.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -783,7 +783,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int main(int argc, char *argv[]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int ret;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   char *filename = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  char command = 0, c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  signed char command = 0, c;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   char **args;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const char *tocfile = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   int arglen, i, err;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/xar/files/xar-1.8-openssl-1.1.patch b/archivers/xar/files/xar-1.8-openssl-1.1.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..424310df1d6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/xar/files/xar-1.8-openssl-1.1.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,45 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+lib/hash.c: fix compilation with OpenSSL-1.1+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+EVP_MD_CTX has become an anonymous struct now, so can't allocate size
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+for it anymore.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/hash.c     2015-06-09 03:22:07.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/hash.c     2019-01-01 14:37:01.487775958 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -102,7 +102,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CCDigestRef digest;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  EVP_MD_CTX digest;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  EVP_MD_CTX *digest;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   const EVP_MD *type;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   unsigned int length;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -123,7 +123,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   OpenSSL_add_all_digests();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   HASH_CTX(hash)->type = EVP_get_digestbyname(digest_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  EVP_DigestInit(&HASH_CTX(hash)->digest, HASH_CTX(hash)->type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  HASH_CTX(hash)->digest = EVP_MD_CTX_create();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  EVP_DigestInit(HASH_CTX(hash)->digest, HASH_CTX(hash)->type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   HASH_CTX(hash)->digest_name = strdup(digest_name);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -143,7 +143,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CCDigestUpdate(HASH_CTX(hash)->digest, buffer, nbyte);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  EVP_DigestUpdate(&HASH_CTX(hash)->digest, buffer, nbyte);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  EVP_DigestUpdate(HASH_CTX(hash)->digest, buffer, nbyte);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -160,7 +160,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CCDigestFinal(HASH_CTX(hash)->digest, buffer);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   CCDigestDestroy(HASH_CTX(hash)->digest);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  EVP_DigestFinal(&HASH_CTX(hash)->digest, buffer, &HASH_CTX(hash)->length);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  EVP_DigestFinal(HASH_CTX(hash)->digest, buffer, &HASH_CTX(hash)->length);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  EVP_MD_CTX_destroy(HASH_CTX(hash)->digest);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   *nbyte = HASH_CTX(hash)->length;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/archivers/xar/files/xar-1.8-safe_dirname.patch b/archivers/xar/files/xar-1.8-safe_dirname.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..86d2cbdc3fa
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/archivers/xar/files/xar-1.8-safe_dirname.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+linuxattr: fix missing symbol safe_dirname
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This one was probably missed when they did a global rename to xar_
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+prefixed variants.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/linuxattr.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/linuxattr.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -223,7 +223,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if( statfs(file, &sfs) != 0 ) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           char *tmp, *bname;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           tmp = strdup(file);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          bname = safe_dirname(tmp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          bname = xar_safe_dirname(tmp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           statfs(bname, &sfs);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           free(tmp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           free(bname);
</span></pre><pre style='margin:0'>

</pre>