# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= libsparkcrypto VERSION= 0.1.1 REVISION= 5 KEYWORDS= security ada VARIANTS= standard SDESC[standard]= Cryptographic library implemented in SPARK HOMEPAGE= https://github.com/Componolit/libsparkcrypto CONTACT= John_Marino[draco@marino.st] DOWNLOAD_GROUPS= main SITES[main]= GITHUB/Componolit:libsparkcrypto:5901d2c DISTFILE[1]= generated:main DF_INDEX= 1 SPKGS[standard]= single OPTIONS_AVAILABLE= none OPTIONS_STANDARD= none BROKEN[aarch64]= fails to compile: unsupported architecture: aarch64 USES= gmake gprbuild LICENSE= BSD3CLAUSE:single LICENSE_FILE= BSD3CLAUSE:{{WRKSRC}}/README.rst LICENSE_SCHEME= solo BUILD_TARGET= all build MAKE_ENV= SPARKARCH={{ARCH_STANDARD:S/i386/i686/}} SPARK_DIR={{WRKSRC}}/src/spark MODE=release RUNTIME=native NO_TESTS=true NO_SPARK=true INSTALL_REQ_TOOLCHAIN= yes pre-configure: #ports passed unwanted ARCH definition to Makefile ${REINPLACE_CMD} -e 's|ARCH|SPARKARCH|g' ${WRKSRC}/Makefile [FILE:624:descriptions/desc.single] 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. [FILE:119:distinfo] 3a743518fbba51c50e03c422534feb44a86091a9d616cd6e3f0d59ae0cf5ffed 8517333 Componolit-libsparkcrypto-5901d2c.tar.gz [FILE:3796:manifests/plist.single] include/libsparkcrypto/adainclude/ lsc-aes_generic-cbc.adb lsc-aes_generic.adb lsc-internal-aes-cbc.adb lsc-internal-aes.adb lsc-internal-bignum.adb lsc-internal-byteorder32.adb lsc-internal-byteorder64.adb lsc-internal-byteswap32.adb lsc-internal-byteswap64.adb lsc-internal-convert_hash.adb lsc-internal-convert_hmac.adb lsc-internal-debug.ads lsc-internal-ec.adb lsc-internal-ec_signature.adb lsc-internal-hmac_ripemd160.adb lsc-internal-hmac_sha1.adb lsc-internal-hmac_sha256.adb lsc-internal-hmac_sha384.adb lsc-internal-hmac_sha512.adb lsc-internal-ops32.adb lsc-internal-ops64.adb lsc-internal-pad32.adb lsc-internal-pad64.adb lsc-internal-ripemd160.adb lsc-internal-sha1.adb lsc-internal-sha256.adb lsc-internal-sha512.adb lsc-internal-types.adb lsc-ops_generic.adb lsc-ripemd160-hmac_generic.adb lsc-ripemd160_generic.adb lsc-sha1-hmac_generic.adb lsc-sha1_generic.adb lsc-sha2-hmac_generic.adb lsc-sha2_generic.adb include/libsparkcrypto/adainclude/textio/lsc-internal-io.adb include/libsparkcrypto/sharedinclude/ lsc-aes-cbc.ads lsc-aes.ads lsc-aes_generic-cbc.ads lsc-aes_generic.ads lsc-internal-aes-cbc.ads lsc-internal-aes-print.ads lsc-internal-aes-tables.ads lsc-internal-aes.ads lsc-internal-bignum.ads lsc-internal-byteorder32.ads lsc-internal-byteorder64.ads lsc-internal-byteswap32.ads lsc-internal-byteswap64.ads lsc-internal-convert.ads lsc-internal-convert_hash.ads lsc-internal-convert_hmac.ads lsc-internal-debug.ads lsc-internal-ec.ads lsc-internal-ec_signature.ads lsc-internal-hmac_ripemd160.ads lsc-internal-hmac_sha1.ads lsc-internal-hmac_sha256.ads lsc-internal-hmac_sha384.ads lsc-internal-hmac_sha512.ads lsc-internal-io.ads lsc-internal-math_int.ads lsc-internal-ops32.ads lsc-internal-ops64.ads lsc-internal-pad32.ads lsc-internal-pad64.ads lsc-internal-ripemd160-print.ads lsc-internal-ripemd160.ads lsc-internal-sha1.ads lsc-internal-sha256-tables.ads lsc-internal-sha256.ads lsc-internal-sha512-tables.ads lsc-internal-sha512.ads lsc-internal-types.ads lsc-internal.ads lsc-ops_generic.ads lsc-ripemd160-hmac.ads lsc-ripemd160-hmac_generic.ads lsc-ripemd160.ads lsc-ripemd160_generic.ads lsc-sha1-hmac.ads lsc-sha1-hmac_generic.ads lsc-sha1.ads lsc-sha1_generic.ads lsc-sha2-hmac.ads lsc-sha2-hmac_generic.ads lsc-sha2.ads lsc-sha2_generic.ads lsc-types.ads lsc.ads lib/libsparkcrypto/ libsparkcrypto.a lsc-aes-cbc.ali lsc-aes.ali lsc-aes_generic-cbc.ali lsc-aes_generic.ali lsc-internal-aes-cbc.ali lsc-internal-aes-print.ali lsc-internal-aes-tables.ali lsc-internal-aes.ali lsc-internal-bignum.ali lsc-internal-byteorder32.ali lsc-internal-byteorder64.ali lsc-internal-byteswap32.ali lsc-internal-byteswap64.ali lsc-internal-convert.ali lsc-internal-convert_hash.ali lsc-internal-convert_hmac.ali lsc-internal-debug.ali lsc-internal-ec.ali lsc-internal-ec_signature.ali lsc-internal-hmac_ripemd160.ali lsc-internal-hmac_sha1.ali lsc-internal-hmac_sha256.ali lsc-internal-hmac_sha384.ali lsc-internal-hmac_sha512.ali lsc-internal-io.ali lsc-internal-math_int.ali lsc-internal-ops32.ali lsc-internal-ops64.ali lsc-internal-pad32.ali lsc-internal-pad64.ali lsc-internal-ripemd160-print.ali lsc-internal-ripemd160.ali lsc-internal-sha1.ali lsc-internal-sha256-tables.ali lsc-internal-sha256.ali lsc-internal-sha512-tables.ali lsc-internal-sha512.ali lsc-internal-types.ali lsc-internal.ali lsc-ops_generic.ali lsc-ripemd160-hmac.ali lsc-ripemd160-hmac_generic.ali lsc-ripemd160.ali lsc-ripemd160_generic.ali lsc-sha1-hmac.ali lsc-sha1-hmac_generic.ali lsc-sha1.ali lsc-sha1_generic.ali lsc-sha2-hmac.ali lsc-sha2-hmac_generic.ali lsc-sha2.ali lsc-sha2_generic.ali lsc-types.ali lsc.ali share/gpr/libsparkcrypto.gpr [FILE:3531:patches/patch-Makefile] --- Makefile.orig 2019-09-24 19:43:33 UTC +++ Makefile @@ -4,7 +4,6 @@ UNAME_M := $(shell uname -m) ARCH ?= $(UNAME_M) RUNTIME ?= native -DESTDIR ?= /usr/local ATP ?= sparksimp CALLGRAPH ?= none @@ -15,7 +14,7 @@ SHARED_DIRS = src/shared/$(ENDIANESS) sr ARCH_FILES = $(wildcard src/ada/$(ARCH)/*.ad?) ADT_FILES = $(addprefix $(OUTPUT_DIR)/tree/,$(notdir $(patsubst %.ads,%.adt,$(wildcard src/shared/generic/*.ads)))) -ALL_GOALS = install_local +ALL_GOALS = INSTALL_DEPS = install_files \ # Feature: ARCH @@ -47,7 +46,7 @@ ifneq ($(SHARED),) LIBTYPE = dynamic LIBPREFIX = .so else - LIBTYPE = static + LIBTYPE = static-pic LIBPREFIX = .a endif @@ -124,22 +123,22 @@ $(OUTPUT_DIR)/proof/gnatprove.log: install: $(INSTALL_DEPS) install_files: build - $(foreach RTS,$(RUNTIME),install -d -m 755 $(DESTDIR)/adalib/$(RTS);) - install -d -m 755 $(DESTDIR)/adainclude $(DESTDIR)/sharedinclude - $(foreach RTS,$(RUNTIME),install -p -m 755 $(OUTPUT_DIR)/build/adalib/$(RTS)/libsparkcrypto$(LIBPREFIX) $(DESTDIR)/adalib/$(RTS)/libsparkcrypto$(LIBPREFIX);) - install -p -m 644 build/libsparkcrypto.gpr $(DESTDIR)/libsparkcrypto.gpr - install -p -m 644 src/shared/generic/*.ads $(DESTDIR)/sharedinclude/ - install -p -m 644 src/ada/generic/*.ad? $(DESTDIR)/adainclude/ - $(foreach IO,$(subst native,textio,$(subst zfp,nullio,$(RUNTIME))),install -d -m 755 $(DESTDIR)/adainclude/$(IO); install -p -m 644 src/ada/$(IO)/*.ad? $(DESTDIR)/adainclude/$(IO);) - install -p -m 644 src/shared/$(ENDIANESS)/*.adb $(DESTDIR)/adainclude/ - install -p -m 644 src/shared/generic/*.adb $(DESTDIR)/adainclude/ + + install -d -m 755 $(DESTDIR)$(PREFIX)/include/libsparkcrypto/adainclude $(DESTDIR)$(PREFIX)/include/libsparkcrypto/sharedinclude $(DESTDIR)$(PREFIX)/share/gpr $(DESTDIR)$(PREFIX)/lib/libsparkcrypto + $(foreach RTS,$(RUNTIME),install -p -m 755 $(OUTPUT_DIR)/build/adalib/$(RTS)/libsparkcrypto$(LIBPREFIX) $(DESTDIR)$(PREFIX)/lib/libsparkcrypto/libsparkcrypto$(LIBPREFIX);) + install -p -m 644 build/libsparkcrypto.gpr $(DESTDIR)$(PREFIX)/share/gpr/libsparkcrypto.gpr + install -p -m 644 src/shared/generic/*.ads $(DESTDIR)$(PREFIX)/include/libsparkcrypto/sharedinclude/ + install -p -m 644 src/ada/generic/*.ad? $(DESTDIR)$(PREFIX)/include/libsparkcrypto/adainclude/ + $(foreach IO,$(subst native,textio,$(subst zfp,nullio,$(RUNTIME))),install -d -m 755 $(DESTDIR)$(PREFIX)/include/libsparkcrypto/adainclude/$(IO); install -p -m 644 src/ada/$(IO)/*.ad? $(DESTDIR)$(PREFIX)/include/libsparkcrypto/adainclude/$(IO);) + install -p -m 644 src/shared/$(ENDIANESS)/*.adb $(DESTDIR)$(PREFIX)/include/libsparkcrypto/adainclude/ + install -p -m 644 src/shared/generic/*.adb $(DESTDIR)$(PREFIX)/include/libsparkcrypto/adainclude/ ifneq ($(strip $(ARCH_FILES)),) - install -p -m 644 $(ARCH_FILES) $(DESTDIR)/adainclude/ + install -p -m 644 $(ARCH_FILES) $(DESTDIR)$(PREFIX)/include/libsparkcrypto/adainclude/ endif - $(foreach RTS,$(RUNTIME),install -p -m 444 $(OUTPUT_DIR)/build/adalib/$(RTS)/*.ali $(DESTDIR)/adalib/$(RTS);) + $(foreach RTS,$(RUNTIME),install -p -m 444 $(OUTPUT_DIR)/build/adalib/$(RTS)/*.ali $(DESTDIR)$(PREFIX)/lib/libsparkcrypto/) install_spark: install_files $(OUTPUT_DIR)/proof/gnatprove.log - install -D -p -m 444 $(OUTPUT_DIR)/proof/gnatprove.log $(DESTDIR)/gnatprove.log + install -D -p -m 444 $(OUTPUT_DIR)/proof/gnatprove.log $(DESTDIR)$(PREFIX)/gnatprove.log install_local: DESTDIR = $(OUTPUT_DIR)/libsparkcrypto install_local: install [FILE:885:patches/patch-build_build__libsparkcrypto.gpr] --- build/build_libsparkcrypto.gpr.orig 2019-09-24 19:43:33 UTC +++ build/build_libsparkcrypto.gpr @@ -1,7 +1,7 @@ project Build_Libsparkcrypto is type Mode_Type is ("debug", "release", "stack"); - type Lib_Type is ("static", "dynamic"); + type Lib_Type is ("static", "dynamic", "static-pic"); type Arch_Type is ("x86_64", "i686", "generic_be"); type Endianess_Type is ("little_endian", "big_endian"); type IO_Type is ("textio", "nullio"); @@ -98,7 +98,7 @@ is package Compiler is for Default_Switches ("Ada") use Style_Switches & Compiler_Switches & - ("-O" & Optimization, "-ffunction-sections", "-fdata-sections", "-gnatwa", "-gnatwe"); + ("-O" & Optimization, "-ffunction-sections", "-fdata-sections", "-gnatwa"); for Local_Configuration_Pragmas use Pragmas; end Compiler; [FILE:949:patches/patch-build_libsparkcrypto.gpr] --- build/libsparkcrypto.gpr.orig 2019-09-24 19:43:33 UTC +++ build/libsparkcrypto.gpr @@ -2,7 +2,7 @@ project Libsparkcrypto is type IO_Type is ("textio", "nullio"); type Runtime_Type is ("native", "zfp"); - type Lib_Type is ("static", "dynamic"); + type Lib_Type is ("static", "dynamic", "static-pic"); IO : IO_Type := "textio"; Runtime : Runtime_Type := external ("RTS", "native"); @@ -17,8 +17,10 @@ is end case; - for Source_Dirs use ("adainclude", "adainclude/" & IO, "sharedinclude"); - for Library_Dir use "adalib/" & Runtime; + for Source_Dirs use ("../../include/libsparkcryto/adainclude", + "../../include/libsparkcryto/adainclude/" & IO, + "../../include/libsparkcryto/sharedinclude"); + for Library_Dir use "../libsparkcrypto"; for Library_Kind use Linking; for Library_Name use "sparkcrypto"; for Externally_Built use "true";