diff --git a/security/sslscan/Makefile b/security/sslscan/Makefile index 1d619252501b..18733a257fa6 100644 --- a/security/sslscan/Makefile +++ b/security/sslscan/Makefile @@ -1,25 +1,35 @@ PORTNAME= sslscan DISTVERSION= 2.0.16 CATEGORIES= security MASTER_SITES= https://www.openssl.org/source/:openssl \ ftp://ftp.cert.dfn.de/pub/tools/net/openssl/source/:openssl DISTFILES= openssl-${OPENSSL_VERSION}.tar.gz:openssl MAINTAINER= gavin@FreeBSD.org COMMENT= Fast SSL port scanner WWW= https://github.com/rbsec/sslscan/ LICENSE= GPLv3 USES= gmake perl5 USE_PERL5= build USE_GITHUB= yes GH_ACCOUNT= rbsec OPENSSL_VERSION= 3.1.0 ALL_TARGET= static +.include + +.if ${ARCH} == powerpc64 +MAKE_ENV+= OSSL_TARGET=BSD-ppc64 +.elif ${ARCH} == powerpc64le +MAKE_ENV+= OSSL_TARGET=BSD-ppc64le +.elif ${ARCH} == riscv64 +MAKE_ENV+= OSSL_TARGET=BSD-riscv64 +.endif + post-patch: $(LN) -sf "${WRKDIR}/openssl-${OPENSSL_VERSION}" "${WRKSRC}/openssl" .include diff --git a/security/sslscan/files/patch-Makefile b/security/sslscan/files/patch-Makefile index 796265235537..bba98af1b52f 100644 --- a/security/sslscan/files/patch-Makefile +++ b/security/sslscan/files/patch-Makefile @@ -1,105 +1,112 @@ ---- Makefile.orig 2023-04-08 22:36:58.000000000 +0100 -+++ Makefile 2023-05-11 22:40:28.158615000 +0100 -@@ -1,11 +1,6 @@ +--- Makefile.orig 2023-04-08 21:36:58 UTC ++++ Makefile +@@ -1,12 +1,7 @@ # set gcc as default if CC is not set -GIT_VERSION = $(shell git describe --tags --always --dirty=-wip) -- ++VERSION = $(shell grep -E -o -m 1 "[0-9]+\.[0-9]+\.[0-9]+" Changelog) + -# Ugly hack to get version if git isn't installed -ifeq ($(GIT_VERSION),) - GIT_VERSION = $(shell grep -E -o -m 1 "[0-9]+\.[0-9]+\.[0-9]+" Changelog) -endif -+VERSION = $(shell grep -E -o -m 1 "[0-9]+\.[0-9]+\.[0-9]+" Changelog) - +- # Detect OS OS := $(shell uname) -@@ -26,11 +21,11 @@ + ARCH := $(shell uname -m) +@@ -26,11 +21,11 @@ endif SRCS = sslscan.c BINDIR = $(PREFIX)/bin -MANDIR = $(PREFIX)/share/man +MANDIR = $(PREFIX)/man MAN1DIR = $(MANDIR)/man1 WARNINGS = -Wall -Wformat=2 -Wformat-security -Wno-deprecated-declarations -DEFINES = -DVERSION=\"$(GIT_VERSION)\" +DEFINES = -DVERSION=\"$(VERSION)\" # for dynamic linking LIBS = -lssl -lcrypto -@@ -58,35 +53,11 @@ +@@ -58,36 +53,12 @@ endif CFLAGS += -std=gnu11 # for static linking -ifeq ($(STATIC_BUILD), TRUE) PWD = $(shell pwd)/openssl LDFLAGS += -L${PWD}/ CFLAGS += -I${PWD}/include/ -I${PWD}/ -ifeq ($(OS), Darwin) -LIBS = ./openssl/libssl.a ./openssl/libcrypto.a -lz -lpthread -else LIBS = -lssl -lcrypto -lz -lpthread -endif -ifneq ($(OS), FreeBSD) - LIBS += -ldl -endif -ifeq ($(OS), SunOS) - LIBS += -lsocket -lnsl -endif -GIT_VERSION := $(GIT_VERSION)-static -else -# for dynamic linking -LDFLAGS += -L/usr/local/lib -L/usr/local/ssl/lib -L/usr/local/opt/openssl/lib -L/opt/local/lib -CFLAGS += -I/usr/local/include -I/usr/local/ssl/include -I/usr/local/ssl/include/openssl -I/usr/local/opt/openssl/include -I/opt/local/include -I/opt/local/include/openssl -endif -- ++VERSION := $(VERSION)-static + -# Find the number of processors on the system (used in -j option in building OpenSSL). -# Uses /usr/bin/nproc if available, otherwise defaults to 1. -NUM_PROCS = 1 -ifneq (,$(wildcard /usr/bin/nproc)) - NUM_PROCS = `/usr/bin/nproc --all` -endif - -+VERSION := $(VERSION)-static - +- .PHONY: all sslscan clean install uninstall static opensslpull -@@ -114,6 +85,9 @@ + all: sslscan +@@ -114,6 +85,9 @@ ifeq ($(OS), Darwin) install sslscan $(DESTDIR)$(BINDIR)/sslscan; install -d $(DESTDIR)$(MAN1DIR)/; install sslscan.1 $(DESTDIR)$(MAN1DIR)/sslscan.1; +else ifeq ($(OS), FreeBSD) + install -s -m 755 sslscan $(DESTDIR)$(BINDIR) + install -m 644 sslscan.1 $(DESTDIR)$(MAN1DIR) else install -D sslscan $(DESTDIR)$(BINDIR)/sslscan; install -D sslscan.1 $(DESTDIR)$(MAN1DIR)/sslscan.1; -@@ -126,11 +100,7 @@ +@@ -126,11 +100,7 @@ uninstall: .openssl.is.fresh: opensslpull true opensslpull: - if [ -d openssl -a -d openssl/.git ]; then \ - cd ./openssl && git checkout OpenSSL_1_1_1-stable && git pull | grep -q "Already up-to-date." && [ -e ../.openssl.is.fresh ] || touch ../.openssl.is.fresh ; \ - else \ - git clone --depth 1 -b OpenSSL_1_1_1-stable https://github.com/openssl/openssl ./openssl && cd ./openssl && touch ../.openssl.is.fresh ; \ - fi + true # Need to build OpenSSL differently on OSX ifeq ($(OS), Darwin) -@@ -148,12 +118,11 @@ +@@ -144,16 +114,15 @@ openssl/Makefile: .openssl.is.fresh + # Any other *NIX platform + else + openssl/Makefile: .openssl.is.fresh +- cd ./openssl; ./config -v -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC no-shared enable-weak-ssl-ciphers zlib ++ cd ./openssl; ./config -v -fstack-protector-all -D_FORTIFY_SOURCE=2 -fPIC no-shared enable-weak-ssl-ciphers zlib $(OSSL_TARGET) endif openssl/libcrypto.a: openssl/Makefile - $(MAKE) -j $(NUM_PROCS) -C openssl depend - $(MAKE) -j $(NUM_PROCS) -C openssl all -# $(MAKE) -j $(NUM_PROCS) -C openssl test # Disabled because this takes 45+ minutes for OpenSSL v1.1.1. + $(MAKE) -C openssl depend + $(MAKE) -C openssl build_sw static: openssl/libcrypto.a - $(MAKE) -j $(NUM_PROCS) sslscan STATIC_BUILD=TRUE + $(MAKE) sslscan STATIC_BUILD=TRUE docker: docker build -t sslscan:sslscan .