Browse Source

openssl: new package (resurrected)

Libressl does not support m68k and xtensa and I had a need for
a crypto library on these devices, so add openssl back.
It was removed in 2016 :)
Waldemar Brodkorb 2 years ago
parent
commit
dc18c4660b

+ 112 - 0
package/openssl/Makefile

@@ -0,0 +1,112 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(ADK_TOPDIR)/rules.mk
+
+PKG_NAME:=		openssl
+PKG_VERSION:=		3.0.10
+PKG_RELEASE:=		1
+PKG_HASH:=		1761d4f5b13a1028b9b6f3d4b8e17feb0cedc9370f6afe61d7193d2cdce83323
+PKG_DESCR:=		ssl/tls library
+PKG_SECTION:=		libs/crypto
+PKG_URL:=		https://www.openssl.org
+PKG_DEPENDS:=		zlib
+PKG_BUILDDEP:=		zlib
+PKG_SITES:=		https://www.openssl.org/source/
+PKG_LIBNAME:=		libopenssl
+PKG_OPTS:=		dev
+
+DISTFILES:=             $(PKG_NAME)-$(PKG_VERSION).tar.gz
+
+PKG_SUBPKGS:=		LIBOPENSSL OPENSSL_UTIL
+PKGSD_OPENSSL_UTIL:=	openssl command line tool
+PKGSC_OPENSSL_UTIL:=	app/crypto
+PKGSS_OPENSSL_UTIL:=	libopenssl
+
+
+include $(ADK_TOPDIR)/mk/host.mk
+include $(ADK_TOPDIR)/mk/package.mk
+
+$(eval $(call HOST_template,OPENSSL,openssl,${PKG_VERSION}-${PKG_RELEASE}))
+$(eval $(call PKG_template,LIBOPENSSL,libopenssl,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},$(PKG_OPTS)))
+$(eval $(call PKG_template,OPENSSL_UTIL,openssl-util,${PKG_VERSION}-${PKG_RELEASE},${PKGSS_OPENSSL_UTIL},${PKGSD_OPENSSL_UTIL},${PKGSC_OPENSSL_UTIL}))
+
+ifeq ($(ADK_TARGET_USE_STATIC_LIBS),y)
+OPENSSL_OPTIONS:=	no-shared zlib no-dso
+else
+OPENSSL_OPTIONS:=	shared zlib-dynamic
+TARGET_CFLAGS+=		-ldl -shared
+endif
+
+OPENSSL_OPTIONS+=	threads no-err no-tests no-fuzz-libfuzzer no-fuzz-afl 
+OPENSSL_OPTIONS+=	no-rc5 no-rc2 no-rc4 no-md2 no-idea no-des
+
+HOST_STYLE:=		manual
+CONFIG_STYLE:=		manual
+
+INSTALL_TARGET:=	install_sw
+FAKE_FLAGS+=		INSTALL_PREFIX=${WRKINST}
+
+ifeq ($(ADK_TARGET_ARCH_MICROBLAZE),y)
+TARGET_CFLAGS:=		$(subst g3,g,$(TARGET_CFLAGS))
+endif
+ifeq ($(ADK_TARGET_ARCH_XTENSA),y)
+TARGET_CFLAGS:=		$(subst g3,g,$(TARGET_CFLAGS))
+endif
+ifeq ($(ADK_TARGET_ARCH_PPC),y)
+TARGET_CFLAGS:=		$(subst g3,g,$(TARGET_CFLAGS))
+endif
+
+CONFIG:=		linux-generic32
+ifeq ($(ADK_TARGET_ARCH_X86_64),y)
+CONFIG:=		linux-x86_64
+endif
+
+ifneq (,$(filter CYGWIN%,${OS_FOR_BUILD}))
+HOSTCONFIG:=		Cygwin-x86_64
+endif
+ifeq ($(OS_FOR_BUILD),Darwin)
+HOSTCONFIG:=		darwin64-x86_64-cc
+endif
+
+host-configure:
+ifeq ($(HOSTCONFIG),)
+	(cd $(WRKBUILD); ./config --prefix='$(STAGING_HOST_DIR)/usr' -fPIC -ldl)
+else
+	(cd $(WRKBUILD); ./Configure $(HOSTCONFIG) --prefix='$(STAGING_HOST_DIR)/usr')
+endif
+
+host-build:
+	(cd $(WRKBUILD); make)
+
+openssl-hostinstall:
+	(cd $(WRKBUILD); make install)
+
+do-configure:
+	(cd $(WRKBUILD); \
+		PATH='$(TARGET_PATH)' \
+		CROSS_COMPILE='' \
+		./Configure $(CONFIG) \
+			--prefix=/usr \
+			--openssldir=/etc/ssl \
+			-I$(STAGING_TARGET_DIR)/usr/include \
+			-L$(STAGING_TARGET_DIR)/usr/lib \
+			-DOPENSSL_SMALL_FOOTPRINT \
+			$(OPENSSL_OPTIONS) \
+		);
+	$(SED) "s:-O[0-9]:$(TARGET_CFLAGS) -fPIC:" $(WRKBUILD)/Makefile
+
+libopenssl-install:
+	${INSTALL_DIR} ${IDIR_LIBOPENSSL}/usr/lib
+	${CP} ${WRKINST}/usr/lib*/lib*.so* ${IDIR_LIBOPENSSL}/usr/lib
+	chmod 644 ${IDIR_LIBOPENSSL}/usr/lib/lib*.so*
+
+openssl-util-install:
+	${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/usr/bin
+	${CP} ${WRKINST}/usr/bin/openssl ${IDIR_OPENSSL_UTIL}/usr/bin
+	${INSTALL_DIR} ${IDIR_OPENSSL_UTIL}/etc/ssl/{,certs,private}
+	${CP} ${WRKSRC}/apps/openssl.cnf ${IDIR_OPENSSL_UTIL}/etc/ssl/
+	chmod 0700 ${IDIR_OPENSSL_UTIL}/etc/ssl/private
+
+include $(ADK_TOPDIR)/mk/host-bottom.mk
+include $(ADK_TOPDIR)/mk/pkg-bottom.mk

+ 20 - 0
package/openssl/patches/patch-Configurations_unix-Makefile_tmpl

@@ -0,0 +1,20 @@
+--- openssl-3.0.10.orig/Configurations/unix-Makefile.tmpl	2023-08-01 15:47:24.000000000 +0200
++++ openssl-3.0.10/Configurations/unix-Makefile.tmpl	2023-08-12 19:44:43.932070216 +0200
+@@ -523,7 +523,7 @@ build_all_generated: $(GENERATED_MANDATO
+ 	@echo "         then make will fail..."
+ 	@ : {- output_on() if $disabled{makedepend}; "" -}
+ 
+-all: build_sw build_docs
++all: build_sw
+ 
+ test: tests
+ {- dependmagic('tests'); -}: build_programs_nodep build_modules_nodep link-utils run_tests
+@@ -546,7 +546,7 @@ list-tests:
+ 	@echo "Tests are not supported with your chosen Configure options"
+ 	@ : {- output_on() if !$disabled{tests}; "" -}
+ 
+-install: install_sw install_ssldirs install_docs {- $disabled{fips} ? "" : "install_fips" -}
++install: install_sw install_ssldirs {- $disabled{fips} ? "" : "install_fips" -}
+ 
+ uninstall: uninstall_docs uninstall_sw {- $disabled{fips} ? "" : "uninstall_fips" -}
+