summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Cottlehuber <dch@FreeBSD.org>2023-07-17 20:43:22 +0000
committerDave Cottlehuber <dch@FreeBSD.org>2023-07-17 20:45:41 +0000
commit3ebf55c3f3c6f0245fc20eabd7956b4c9acb5511 (patch)
tree75bafa7bfaffd62552fb0438c2da61f5b9b08427
parentlang/elixir-devel: update to 1.15.3 (diff)
security/monocypher: NEW PORT - easy to use, deploy, auditable crypto library
It is written in portable C, and approaches the size of TweetNaCl, and the speed of libsodium. Reviewed by: zirias Sponsored by: SkunkWerks, GmbH
-rw-r--r--security/Makefile1
-rw-r--r--security/monocypher/Makefile20
-rw-r--r--security/monocypher/distinfo3
-rw-r--r--security/monocypher/files/patch-makefile22
-rw-r--r--security/monocypher/pkg-descr15
-rw-r--r--security/monocypher/pkg-plist66
6 files changed, 127 insertions, 0 deletions
diff --git a/security/Makefile b/security/Makefile
index 1ca071f87b2e..e6b0233a393c 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -366,6 +366,7 @@
SUBDIR += modsecurity3
SUBDIR += modsecurity3-nginx
SUBDIR += monkeysphere
+ SUBDIR += monocypher
SUBDIR += munge
SUBDIR += n2n
SUBDIR += ncrack
diff --git a/security/monocypher/Makefile b/security/monocypher/Makefile
new file mode 100644
index 000000000000..86f5916f3566
--- /dev/null
+++ b/security/monocypher/Makefile
@@ -0,0 +1,20 @@
+PORTNAME= monocypher
+DISTVERSION= 4.0.1
+CATEGORIES= security
+MASTER_SITES= https://monocypher.org/download/
+
+MAINTAINER= dch@FreeBSD.org
+COMMENT= Compact cryptographic library in C
+WWW= https://monocypher.org/
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENCE.md
+
+USE_CSTD= c99
+USE_LDCONFIG= yes
+
+MAKEFILE= makefile
+ALL_TARGET= all
+TEST_TARGET= test
+
+.include <bsd.port.mk>
diff --git a/security/monocypher/distinfo b/security/monocypher/distinfo
new file mode 100644
index 000000000000..f958e5abb766
--- /dev/null
+++ b/security/monocypher/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1689253203
+SHA256 (monocypher-4.0.1.tar.gz) = 2f5796dba699cfdda5acd7721bf7df2c42e7e01d5cb843294a2a6e0a28cec0e9
+SIZE (monocypher-4.0.1.tar.gz) = 939452
diff --git a/security/monocypher/files/patch-makefile b/security/monocypher/files/patch-makefile
new file mode 100644
index 000000000000..97293d462930
--- /dev/null
+++ b/security/monocypher/files/patch-makefile
@@ -0,0 +1,22 @@
+--- makefile.orig 2023-07-17 16:11:09 UTC
++++ makefile
+@@ -52,14 +52,14 @@
+ .POSIX:
+ .SUFFIXES:
+
+-CC=gcc -std=c99
+-CFLAGS=-pedantic -Wall -Wextra -O3 -march=native
+-DESTDIR=
+-PREFIX=usr/local
++CC?=gcc -std=c99
++CFLAGS?=-pedantic -Wall -Wextra -O3 -march=native
++DESTDIR?=
++PREFIX?=usr/local
+ LIBDIR=$(PREFIX)/lib
+ INCLUDEDIR=$(PREFIX)/include
+ PKGCONFIGDIR=$(LIBDIR)/pkgconfig
+-MANDIR=$(PREFIX)/share/man/man3
++MANDIR?=$(PREFIX)/share/man/man3
+ SONAME=libmonocypher.so.4
+
+ .PHONY: all library static-library dynamic-library \
diff --git a/security/monocypher/pkg-descr b/security/monocypher/pkg-descr
new file mode 100644
index 000000000000..94c075534ab6
--- /dev/null
+++ b/security/monocypher/pkg-descr
@@ -0,0 +1,15 @@
+Monocypher is an easy to use crypto library. It is:
+
+- Small. Sloccount counts about 1700 lines of code, small enough to
+allow audits. The binaries are under 65KB.
+
+- Easy to deploy. Just add monocypher.c and monocypher.h to your
+project. They compile as C99 or C++, have no dependency, and
+are dedicated to the public domain.
+
+- Easy to use. The API is small, consistent, and cannot fail
+on correct input.
+
+- Fast. The primitives are fast to begin with, and performance
+wasn't needlessly sacrificed. Monocypher holds up pretty well
+against Libsodium, despite being closer in size to TweetNaCl.
diff --git a/security/monocypher/pkg-plist b/security/monocypher/pkg-plist
new file mode 100644
index 000000000000..d49f542de844
--- /dev/null
+++ b/security/monocypher/pkg-plist
@@ -0,0 +1,66 @@
+include/monocypher-ed25519.h
+include/monocypher.h
+lib/libmonocypher.a
+lib/libmonocypher.so
+lib/libmonocypher.so.4
+libdata/pkgconfig/monocypher.pc
+share/man/man3/crypto_aead_init_djb.3monocypher.gz
+share/man/man3/crypto_aead_init_ietf.3monocypher.gz
+share/man/man3/crypto_aead_init_x.3monocypher.gz
+share/man/man3/crypto_aead_lock.3monocypher.gz
+share/man/man3/crypto_aead_read.3monocypher.gz
+share/man/man3/crypto_aead_unlock.3monocypher.gz
+share/man/man3/crypto_aead_write.3monocypher.gz
+share/man/man3/crypto_argon2.3monocypher.gz
+share/man/man3/crypto_blake2b_final.3monocypher.gz
+share/man/man3/crypto_blake2b_init.3monocypher.gz
+share/man/man3/crypto_blake2b_keyed_init.3monocypher.gz
+share/man/man3/crypto_blake2b_keyed.3monocypher.gz
+share/man/man3/crypto_blake2b_update.3monocypher.gz
+share/man/man3/crypto_blake2b.3monocypher.gz
+share/man/man3/crypto_chacha20_djb.3monocypher.gz
+share/man/man3/crypto_chacha20_h.3monocypher.gz
+share/man/man3/crypto_chacha20_ietf.3monocypher.gz
+share/man/man3/crypto_chacha20_x.3monocypher.gz
+share/man/man3/crypto_ed25519_check.3monocypher.gz
+share/man/man3/crypto_ed25519_key_pair.3monocypher.gz
+share/man/man3/crypto_ed25519_ph_check.3monocypher.gz
+share/man/man3/crypto_ed25519_ph_sign.3monocypher.gz
+share/man/man3/crypto_ed25519_sign.3monocypher.gz
+share/man/man3/crypto_eddsa_check_equation.3monocypher.gz
+share/man/man3/crypto_eddsa_check.3monocypher.gz
+share/man/man3/crypto_eddsa_key_pair.3monocypher.gz
+share/man/man3/crypto_eddsa_mul_add.3monocypher.gz
+share/man/man3/crypto_eddsa_reduce.3monocypher.gz
+share/man/man3/crypto_eddsa_scalarbase.3monocypher.gz
+share/man/man3/crypto_eddsa_sign.3monocypher.gz
+share/man/man3/crypto_eddsa_to_x25519.3monocypher.gz
+share/man/man3/crypto_eddsa_trim_scalar.3monocypher.gz
+share/man/man3/crypto_elligator_key_pair.3monocypher.gz
+share/man/man3/crypto_elligator_map.3monocypher.gz
+share/man/man3/crypto_elligator_rev.3monocypher.gz
+share/man/man3/crypto_poly1305_final.3monocypher.gz
+share/man/man3/crypto_poly1305_init.3monocypher.gz
+share/man/man3/crypto_poly1305_update.3monocypher.gz
+share/man/man3/crypto_poly1305.3monocypher.gz
+share/man/man3/crypto_sha512_final.3monocypher.gz
+share/man/man3/crypto_sha512_hkdf_expand.3monocypher.gz
+share/man/man3/crypto_sha512_hkdf.3monocypher.gz
+share/man/man3/crypto_sha512_hmac_final.3monocypher.gz
+share/man/man3/crypto_sha512_hmac_init.3monocypher.gz
+share/man/man3/crypto_sha512_hmac_update.3monocypher.gz
+share/man/man3/crypto_sha512_hmac.3monocypher.gz
+share/man/man3/crypto_sha512_init.3monocypher.gz
+share/man/man3/crypto_sha512_update.3monocypher.gz
+share/man/man3/crypto_sha512.3monocypher.gz
+share/man/man3/crypto_verify16.3monocypher.gz
+share/man/man3/crypto_verify32.3monocypher.gz
+share/man/man3/crypto_verify64.3monocypher.gz
+share/man/man3/crypto_wipe.3monocypher.gz
+share/man/man3/crypto_x25519_dirty_fast.3monocypher.gz
+share/man/man3/crypto_x25519_dirty_small.3monocypher.gz
+share/man/man3/crypto_x25519_inverse.3monocypher.gz
+share/man/man3/crypto_x25519_public_key.3monocypher.gz
+share/man/man3/crypto_x25519_to_eddsa.3monocypher.gz
+share/man/man3/crypto_x25519.3monocypher.gz
+share/man/man3/intro.3monocypher.gz