Ravenports generated: 18 Jun 2023 03:43
[ravenports.git] / bucket_54 / libblake3
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               libblake3
4 VERSION=                1.4.0
5 KEYWORDS=               security
6 VARIANTS=               standard
7 SDESC[standard]=        C implementation of BLAKE3 is a cryptographic hash
8 HOMEPAGE=               https://github.com/BLAKE3-team/BLAKE3/
9 CONTACT=                nobody
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            GITHUB/BLAKE3-team:BLAKE3:1.4.0
13 DISTFILE[1]=            generated:main
14 DF_INDEX=               1
15 SPKGS[standard]=        single
16
17 OPTIONS_AVAILABLE=      none
18 OPTIONS_STANDARD=       none
19
20 USES=                   cmake
21
22 DISTNAME=               BLAKE3-1.4.0/c
23
24 LICENSE=                CC0_10:single APACHE20:single
25 LICENSE_TERMS=          single:{{WRKDIR}}/TERMS
26 LICENSE_FILE=           CC0_10:stock
27                         APACHE20:stock
28 LICENSE_AWK=            TERMS:"^------"
29 LICENSE_SOURCE=         TERMS:{{WRKSRC}}/../LICENSE
30 LICENSE_SCHEME=         dual
31
32 SINGLE_JOB=             yes
33
34 SOVERSION=              1.4.0
35 SUB_FILES=              CMakeLists.txt
36 SUB_LIST=               SOVERSION=1.4.0
37                         SOMAJOR=1
38
39 post-install:
40         ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libblake3.so
41
42 pre-configure:
43         # Install makefile
44         ${INSTALL_DATA} ${WRKDIR}/CMakeLists.txt ${WRKSRC}/
45
46 [FILE:338:descriptions/desc.single]
47 This is the official C implementation of BLAKE3.
48
49 This package compiles the individual files to provide the blake3 library.
50 Unlike the Rust implementation, the C implementation doesn't currently
51 support multithreading.
52
53 The x86-64 package leverages the provided assembly files.
54 Other platforms will build with intrinics (when supported).
55
56
57 [FILE:110:distinfo]
58 012db50d676c177842650ff55235990b8dc73d18e4e4730824773df22257fb51       224467 BLAKE3-team-BLAKE3-1.4.0.tar.gz
59
60
61 [FILE:120:manifests/plist.single]
62 include/blake3.h
63 lib/
64  libblake3.a
65  libblake3.so
66  libblake3.so.%%SOMAJOR%%
67  libblake3.so.%%SOVERSION%%
68  libblake3_pic.a
69
70
71 [FILE:1194:files/CMakeLists.txt.in]
72 # static, shared, and PIC fetch library
73
74 project(Blake3_Crypto C ASM)
75
76 include_directories(
77         ${CMAKE_SOURCE_DIR}
78         ${CMAKE_CURRENT_BINARY_DIR}
79 )
80
81 set (asmfiles
82         ${CMAKE_SOURCE_DIR}/blake3_sse2_x86-64_unix.S
83         ${CMAKE_SOURCE_DIR}/blake3_sse41_x86-64_unix.S
84         ${CMAKE_SOURCE_DIR}/blake3_avx2_x86-64_unix.S
85         ${CMAKE_SOURCE_DIR}/blake3_avx512_x86-64_unix.S
86 )
87
88 set (libsrcs
89         ${CMAKE_SOURCE_DIR}/blake3.c
90         ${CMAKE_SOURCE_DIR}/blake3_dispatch.c
91         ${CMAKE_SOURCE_DIR}/blake3_portable.c
92         ${asmfiles}
93 )
94
95 add_library(blake3obj ${libsrcs})
96 set_property(TARGET blake3obj PROPERTY POSITION_INDEPENDENT_CODE 1)
97
98 add_library(blake3 SHARED $<TARGET_OBJECTS:blake3obj>)
99 add_library(blake3_pic STATIC $<TARGET_OBJECTS:blake3obj>)
100 add_library(blake3_static ${libsrcs})
101
102 set_target_properties(blake3 PROPERTIES VERSION %%SOVERSION%%)
103 set_target_properties(blake3 PROPERTIES SOVERSION %%SOMAJOR%%)
104
105 install(TARGETS blake3
106     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
107 )
108
109 install(TARGETS blake3_pic
110     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
111 )
112
113 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/libblake3_static.a
114         RENAME libblake3.a
115         DESTINATION lib
116 )
117
118 install(FILES ${CMAKE_SOURCE_DIR}/blake3.h DESTINATION include)
119