aboutsummaryrefslogtreecommitdiff
path: root/sysutils/aimage
diff options
context:
space:
mode:
authorCarlo Strub <cs@FreeBSD.org>2020-06-10 19:20:16 +0000
committerCarlo Strub <cs@FreeBSD.org>2020-06-10 19:20:16 +0000
commitce96dc4ef8100da811c53a3c058b8471d23f17f4 (patch)
treeceb81bea33e801447bfbd1f59cca72a673faf782 /sysutils/aimage
parentfe861a648a286f1ac87c24d4b86b89fcbf3a6d45 (diff)
downloadports-ce96dc4ef8100da811c53a3c058b8471d23f17f4.tar.gz
ports-ce96dc4ef8100da811c53a3c058b8471d23f17f4.zip
Fix build on 12 and 13
PR: 246273 Submitted by: maintainer Reviewed by: tobik@
Notes
Notes: svn path=/head/; revision=538432
Diffstat (limited to 'sysutils/aimage')
-rw-r--r--sysutils/aimage/Makefile11
-rw-r--r--sysutils/aimage/files/patch-src_hash__t.h47
2 files changed, 49 insertions, 9 deletions
diff --git a/sysutils/aimage/Makefile b/sysutils/aimage/Makefile
index 6650ab8abafd..ec309148d5a1 100644
--- a/sysutils/aimage/Makefile
+++ b/sysutils/aimage/Makefile
@@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING
LIB_DEPENDS= libafflib.so:sysutils/afflib
-USES= gmake readline ssl
+USES= gmake readline ssl ncurses
GNU_CONFIGURE= yes
# Pretend ssl3_new exists for LibreSSL. It's never really used but
# configure checks for it.
@@ -23,11 +23,4 @@ CONFIGURE_ARGS= ac_cv_lib_ssl_ssl3_new=yes
PLIST_FILES= bin/aimage
-.include <bsd.port.pre.mk>
-
-.if ${SSL_DEFAULT} == base
-BROKEN_FreeBSD_12= error: field has incomplete type 'EVP_MD_CTX' (aka 'evp_md_ctx_st')
-BROKEN_FreeBSD_13= error: field has incomplete type 'EVP_MD_CTX' (aka 'evp_md_ctx_st')
-.endif
-
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/sysutils/aimage/files/patch-src_hash__t.h b/sysutils/aimage/files/patch-src_hash__t.h
new file mode 100644
index 000000000000..4770a4a8e571
--- /dev/null
+++ b/sysutils/aimage/files/patch-src_hash__t.h
@@ -0,0 +1,47 @@
+--- src/hash_t.h.orig 2011-08-17 23:33:08 UTC
++++ src/hash_t.h
+@@ -160,7 +160,7 @@ typedef hash__<sha512_> sha512_t;
+ template<typename T>
+ class hash_generator__:T { /* generates the hash */
+ const EVP_MD *md;
+- EVP_MD_CTX mdctx; /* the context for computing the value */
++ EVP_MD_CTX *mdctx; /* the context for computing the value */
+ bool initialized; /* has the context been initialized? */
+ bool finalized;
+ /* Static function to determine if something is zero */
+@@ -189,8 +189,8 @@ class hash_generator__:T { /* generates the hash */
+ }
+ void init(){
+ if(initialized==false){
+- EVP_MD_CTX_init(&mdctx);
+- EVP_DigestInit_ex(&mdctx, md, NULL);
++ mdctx = EVP_MD_CTX_create();
++ EVP_DigestInit_ex(mdctx, md, NULL);
+ initialized = true;
+ finalized = false;
+ hashed_bytes = 0;
+@@ -202,12 +202,13 @@ class hash_generator__:T { /* generates the hash */
+ std::cerr << "hashgen_t::update called after finalized\n";
+ exit(1);
+ }
+- EVP_DigestUpdate(&mdctx,buf,bufsize);
++ EVP_DigestUpdate(mdctx,buf,bufsize);
+ hashed_bytes += bufsize;
+ }
+ void release(){ /* free allocated memory */
+ if(initialized){
+- EVP_MD_CTX_cleanup(&mdctx);
++ EVP_MD_CTX_destroy(mdctx);
++ mdctx = NULL;
+ initialized = false;
+ hashed_bytes = 0;
+ }
+@@ -223,7 +224,7 @@ class hash_generator__:T { /* generates the hash */
+ }
+ hash__<T> val;
+ unsigned int len = sizeof(val.digest);
+- EVP_DigestFinal(&mdctx,val.digest,&len);
++ EVP_DigestFinal(mdctx,val.digest,&len);
+ finalized = true;
+ return val;
+ }