Date: Wed, 26 Jun 2013 23:31:36 GMT From: John Marino <draco@marino.st> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/180015: [NEW PORT] Add security/libsparkcrypto port Message-ID: <201306262331.r5QNVaY5008534@oldred.freebsd.org> Resent-Message-ID: <201306262340.r5QNe0Ho047811@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 180015 >Category: ports >Synopsis: [NEW PORT] Add security/libsparkcrypto port >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Wed Jun 26 23:40:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: John Marino >Release: >Organization: >Environment: >Description: libsparkcrypto is a formally verified implementation of several widely used symmetric cryptographic algorithms using the SPARK programming language and toolset. For the complete library proofs of the absence of run-time errors like type range violations, division by zero and numerical overflows are available. Some of its subprograms include proofs of partial correctness. The distribution contains test cases for all implemented algorithms and a benchmark to compare its performance with the OpenSSL library. The achieved speed has been found to be very close to the optimized C and Assembler implementations of OpenSSL. This port passes redports 8.4-amd64, 8.4-i386, 9.1-amd64 and 9.1-i386 It also passes pkg DEVELOPER_MODE=1. >How-To-Repeat: >Fix: Patch attached with submission follows: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # libsparkcrypto # libsparkcrypto/pkg-plist # libsparkcrypto/Makefile # libsparkcrypto/distinfo # libsparkcrypto/pkg-descr # libsparkcrypto/files # libsparkcrypto/files/patch-Makefile # libsparkcrypto/files/patch-build_libsparkcrypto.gpr # echo c - libsparkcrypto mkdir -p libsparkcrypto > /dev/null 2>&1 echo x - libsparkcrypto/pkg-plist sed 's/^X//' >libsparkcrypto/pkg-plist << 'END-of-libsparkcrypto/pkg-plist' Xinclude/libsparkcrypto/adainclude/lsc-aes-print.adb Xinclude/libsparkcrypto/adainclude/lsc-aes-print.ads Xinclude/libsparkcrypto/adainclude/lsc-byteswap32.adb Xinclude/libsparkcrypto/adainclude/lsc-byteswap64.adb Xinclude/libsparkcrypto/adainclude/lsc-debug.ads Xinclude/libsparkcrypto/adainclude/lsc-io.adb Xinclude/libsparkcrypto/adainclude/lsc-ripemd160-print.adb Xinclude/libsparkcrypto/adainclude/lsc-ripemd160-print.ads Xinclude/libsparkcrypto/adainclude/lsc-test.adb Xinclude/libsparkcrypto/adainclude/lsc-types.adb Xinclude/libsparkcrypto/sharedinclude/lsc-aes-cbc.adb Xinclude/libsparkcrypto/sharedinclude/lsc-aes-cbc.ads Xinclude/libsparkcrypto/sharedinclude/lsc-aes-print.ads Xinclude/libsparkcrypto/sharedinclude/lsc-aes-tables.ads Xinclude/libsparkcrypto/sharedinclude/lsc-aes.adb Xinclude/libsparkcrypto/sharedinclude/lsc-aes.ads Xinclude/libsparkcrypto/sharedinclude/lsc-byteorder32.adb Xinclude/libsparkcrypto/sharedinclude/lsc-byteorder32.ads Xinclude/libsparkcrypto/sharedinclude/lsc-byteorder64.adb Xinclude/libsparkcrypto/sharedinclude/lsc-byteorder64.ads Xinclude/libsparkcrypto/sharedinclude/lsc-byteswap32.adb Xinclude/libsparkcrypto/sharedinclude/lsc-byteswap32.ads Xinclude/libsparkcrypto/sharedinclude/lsc-byteswap64.adb Xinclude/libsparkcrypto/sharedinclude/lsc-byteswap64.ads Xinclude/libsparkcrypto/sharedinclude/lsc-debug.ads Xinclude/libsparkcrypto/sharedinclude/lsc-hmac_ripemd160.adb Xinclude/libsparkcrypto/sharedinclude/lsc-hmac_ripemd160.ads Xinclude/libsparkcrypto/sharedinclude/lsc-hmac_sha256.adb Xinclude/libsparkcrypto/sharedinclude/lsc-hmac_sha256.ads Xinclude/libsparkcrypto/sharedinclude/lsc-hmac_sha384.adb Xinclude/libsparkcrypto/sharedinclude/lsc-hmac_sha384.ads Xinclude/libsparkcrypto/sharedinclude/lsc-hmac_sha512.adb Xinclude/libsparkcrypto/sharedinclude/lsc-hmac_sha512.ads Xinclude/libsparkcrypto/sharedinclude/lsc-io.ads Xinclude/libsparkcrypto/sharedinclude/lsc-ops32.adb Xinclude/libsparkcrypto/sharedinclude/lsc-ops32.ads Xinclude/libsparkcrypto/sharedinclude/lsc-ops64.adb Xinclude/libsparkcrypto/sharedinclude/lsc-ops64.ads Xinclude/libsparkcrypto/sharedinclude/lsc-pad32.adb Xinclude/libsparkcrypto/sharedinclude/lsc-pad32.ads Xinclude/libsparkcrypto/sharedinclude/lsc-pad64.adb Xinclude/libsparkcrypto/sharedinclude/lsc-pad64.ads Xinclude/libsparkcrypto/sharedinclude/lsc-ripemd160-print.ads Xinclude/libsparkcrypto/sharedinclude/lsc-ripemd160.adb Xinclude/libsparkcrypto/sharedinclude/lsc-ripemd160.ads Xinclude/libsparkcrypto/sharedinclude/lsc-sha256-tables.ads Xinclude/libsparkcrypto/sharedinclude/lsc-sha256.adb Xinclude/libsparkcrypto/sharedinclude/lsc-sha256.ads Xinclude/libsparkcrypto/sharedinclude/lsc-sha512-tables.ads Xinclude/libsparkcrypto/sharedinclude/lsc-sha512.adb Xinclude/libsparkcrypto/sharedinclude/lsc-sha512.ads Xinclude/libsparkcrypto/sharedinclude/lsc-test.ads Xinclude/libsparkcrypto/sharedinclude/lsc-types.ads Xinclude/libsparkcrypto/sharedinclude/lsc.ads Xlib/gnat/libsparkcrypto.gpr Xlib/libsparkcrypto/libsparkcrypto.a Xlib/libsparkcrypto/lsc-aes-cbc.ali Xlib/libsparkcrypto/lsc-aes-print.ali Xlib/libsparkcrypto/lsc-aes-tables.ali Xlib/libsparkcrypto/lsc-aes.ali Xlib/libsparkcrypto/lsc-byteorder32.ali Xlib/libsparkcrypto/lsc-byteorder64.ali Xlib/libsparkcrypto/lsc-byteswap32.ali Xlib/libsparkcrypto/lsc-byteswap64.ali Xlib/libsparkcrypto/lsc-debug.ali Xlib/libsparkcrypto/lsc-hmac_ripemd160.ali Xlib/libsparkcrypto/lsc-hmac_sha256.ali Xlib/libsparkcrypto/lsc-hmac_sha384.ali Xlib/libsparkcrypto/lsc-hmac_sha512.ali Xlib/libsparkcrypto/lsc-io.ali Xlib/libsparkcrypto/lsc-ops32.ali Xlib/libsparkcrypto/lsc-ops64.ali Xlib/libsparkcrypto/lsc-pad32.ali Xlib/libsparkcrypto/lsc-pad64.ali Xlib/libsparkcrypto/lsc-ripemd160-print.ali Xlib/libsparkcrypto/lsc-ripemd160.ali Xlib/libsparkcrypto/lsc-sha256-tables.ali Xlib/libsparkcrypto/lsc-sha256.ali Xlib/libsparkcrypto/lsc-sha512-tables.ali Xlib/libsparkcrypto/lsc-sha512.ali Xlib/libsparkcrypto/lsc-test.ali Xlib/libsparkcrypto/lsc-types.ali Xlib/libsparkcrypto/lsc.ali X@dirrm include/libsparkcrypto/sharedinclude X@dirrm include/libsparkcrypto/adainclude X@dirrm include/libsparkcrypto X@dirrm lib/libsparkcrypto X@dirrmtry lib/gnat END-of-libsparkcrypto/pkg-plist echo x - libsparkcrypto/Makefile sed 's/^X//' >libsparkcrypto/Makefile << 'END-of-libsparkcrypto/Makefile' X# Created by: John Marino <draco@marino.st> X# $FreeBSD$ X XPORTNAME= libsparkcrypto XPORTVERSION= 0.1.1 XCATEGORIES= security XMASTER_SITES= http://senier.net/libsparkcrypto/ XEXTRACT_SUFX= .tgz X XMAINTAINER= draco@marino.st XCOMMENT= Cryptographic library implemented in SPARK X XLICENSE= BSD X XUSES= ada XUSE_GMAKE= yes XUSE_DOS2UNIX= Makefile build/libsparkcrypto.gpr XSPARKARCH:= ${ARCH:S/amd64/x86_64/:S/i386/i686/} X X# The APIDOC requires AdaBrowse which in turn requires ASIS which is X# coupled with the compiler. There is a question whether Adacore's X# GPL ASIS is even compatible with FSF GNAT, which is what gcc-aux is. X# Until this question is answered, skip API document building. X XMAKE_ENV+= SPARKARCH=${SPARKARCH} \ X SPARK_DIR=${WRKSRC}/src/spark \ X DESTDIR=${LOCALBASE} \ X MODE=release \ X RUNTIME=native \ X NO_TESTS=true \ X NO_PROOF=true \ X NO_APIDOC=true X Xpost-patch: X # ports passed unwanted ARCH definition to Makefile X @${REINPLACE_CMD} -e 's|ARCH|SPARKARCH|g' \ X ${WRKSRC}/Makefile X X.include <bsd.port.mk> END-of-libsparkcrypto/Makefile echo x - libsparkcrypto/distinfo sed 's/^X//' >libsparkcrypto/distinfo << 'END-of-libsparkcrypto/distinfo' XSHA256 (libsparkcrypto-0.1.1.tgz) = 47582d6910b8c5bb46df51d0e76c27e6fa2b13e8ab73fb4ae0f1d9f7cbd7aa6a XSIZE (libsparkcrypto-0.1.1.tgz) = 101491 END-of-libsparkcrypto/distinfo echo x - libsparkcrypto/pkg-descr sed 's/^X//' >libsparkcrypto/pkg-descr << 'END-of-libsparkcrypto/pkg-descr' Xlibsparkcrypto is a formally verified implementation of several widely used Xsymmetric cryptographic algorithms using the SPARK programming language and Xtoolset. For the complete library proofs of the absence of run-time errors Xlike type range violations, division by zero and numerical overflows are Xavailable. Some of its subprograms include proofs of partial correctness. X XThe distribution contains test cases for all implemented algorithms and a Xbenchmark to compare its performance with the OpenSSL library. The achieved Xspeed has been found to be very close to the optimized C and Assembler Ximplementations of OpenSSL. X XWWW: http://senier.net/libsparkcrypto/ END-of-libsparkcrypto/pkg-descr echo c - libsparkcrypto/files mkdir -p libsparkcrypto/files > /dev/null 2>&1 echo x - libsparkcrypto/files/patch-Makefile sed 's/^X//' >libsparkcrypto/files/patch-Makefile << 'END-of-libsparkcrypto/files/patch-Makefile' X--- Makefile.orig 2013-06-26 21:03:13.000000000 +0000 X+++ Makefile X@@ -154,21 +154,22 @@ $(OUTPUT_DIR)/proof/libsparkcrypto.idx: X install: $(INSTALL_DEPS) X X install_files: build X- install -d -m 755 $(DESTDIR)/adalib $(DESTDIR)/adainclude $(DESTDIR)/sharedinclude X- install -p -m 755 $(OUTPUT_DIR)/build/adalib/libsparkcrypto.a $(DESTDIR)/adalib/libsparkcrypto.a X- install -p -m 644 build/libsparkcrypto.gpr $(DESTDIR)/libsparkcrypto.gpr X- install -p -m 644 src/shared/$(ENDIANESS)/*.ad? $(DESTDIR)/sharedinclude/ X- install -p -m 644 src/shared/generic/*.ad? $(DESTDIR)/sharedinclude/ X- install -p -m 644 src/ada/generic/*.ad? $(DESTDIR)/adainclude/ X- install -p -m 644 src/ada/$(IO)/*.ad? $(DESTDIR)/adainclude/ X+ install -d -m 755 $(DESTDIR)/lib/libsparkcrypto $(DESTDIR)/include/libsparkcrypto/adainclude X+ install -d -m 755 $(DESTDIR)/lib/gnat $(DESTDIR)/include/libsparkcrypto/sharedinclude X+ install -p -m 755 $(OUTPUT_DIR)/build/adalib/libsparkcrypto.a $(DESTDIR)/lib/libsparkcrypto/libsparkcrypto.a X+ install -p -m 644 build/libsparkcrypto.gpr $(DESTDIR)/lib/gnat/libsparkcrypto.gpr X+ install -p -m 644 src/shared/$(ENDIANESS)/*.ad? $(DESTDIR)/include/libsparkcrypto/sharedinclude/ X+ install -p -m 644 src/shared/generic/*.ad? $(DESTDIR)/include/libsparkcrypto/sharedinclude/ X+ install -p -m 644 src/ada/generic/*.ad? $(DESTDIR)/include/libsparkcrypto/adainclude/ X+ install -p -m 644 src/ada/$(IO)/*.ad? $(DESTDIR)/include/libsparkcrypto/adainclude/ X ifneq ($(strip $(ARCH_FILES)),) X- install -p -m 644 $(ARCH_FILES) $(DESTDIR)/adainclude/ X+ install -p -m 644 $(ARCH_FILES) $(DESTDIR)/include/libsparkcrypto/adainclude/ X endif X- install -p -m 444 $(OUTPUT_DIR)/build/adalib/*.ali $(DESTDIR)/adalib/ X+ install -p -m 444 $(OUTPUT_DIR)/build/adalib/*.ali $(DESTDIR)/lib/libsparkcrypto/ X X install_proof: install_files proof X- install -D -p -m 444 $(OUTPUT_DIR)/proof/libsparkcrypto.sum $(DESTDIR)/libsparkcrypto.sum X- (cd $(OUTPUT_DIR)/empty && sparkmake -include=*\.ads -dir=$(DESTDIR)/sharedinclude -nometa -index=$(DESTDIR)/libsparkcrypto.idx) X+ install -D -p -m 444 $(OUTPUT_DIR)/proof/libsparkcrypto.sum $(DESTDIR)/include/libsparkcrypto/libsparkcrypto.sum X+ (cd $(OUTPUT_DIR)/empty && sparkmake -include=*\.ads -dir=$(DESTDIR)/include/libsparkcrypto/sharedinclude -nometa -index=$(DESTDIR)/include/libsparkcrypto/libsparkcrypto.idx) X X install_local: DESTDIR = $(OUTPUT_DIR)/libsparkcrypto X install_local: install END-of-libsparkcrypto/files/patch-Makefile echo x - libsparkcrypto/files/patch-build_libsparkcrypto.gpr sed 's/^X//' >libsparkcrypto/files/patch-build_libsparkcrypto.gpr << 'END-of-libsparkcrypto/files/patch-build_libsparkcrypto.gpr' X--- build/libsparkcrypto.gpr.orig 2013-06-26 21:14:37.000000000 +0000 X+++ build/libsparkcrypto.gpr X@@ -1,7 +1,8 @@ X project Libsparkcrypto X is X- for Source_Dirs use ("adainclude", "sharedinclude"); X- for Library_Dir use "adalib"; X+ for Source_Dirs use ("../../include/libsparkcryto/adainclude", X+ "../../include/libsparkcrypto/sharedinclude"); X+ for Library_Dir use "../libsparkcrypto"; X for Library_Kind use "static"; X for Library_Name use "sparkcrypto"; X for Externally_Built use "true"; END-of-libsparkcrypto/files/patch-build_libsparkcrypto.gpr exit >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201306262331.r5QNVaY5008534>