3 %bcond_without prof # profiling library
5 %define pkgname cryptonite
6 Summary: Cryptography Primitives sink
11 Group: Development/Languages
12 #Source0Download: http://hackage.haskell.org/package/cryptonite
13 Source0: http://hackage.haskell.org/package/%{pkgname}-%{version}/%{pkgname}-%{version}.tar.gz
14 # Source0-md5: 759be6bffbfc9bb4c525d9dac55f9f7c
15 URL: http://hackage.haskell.org/package/cryptonite
16 BuildRequires: ghc >= 6.12.3
17 BuildRequires: ghc-memory
19 BuildRequires: ghc-prof
20 BuildRequires: ghc-memory-prof
22 BuildRequires: rpmbuild(macros) >= 1.608
24 Requires(post,postun): /usr/bin/ghc-pkg
26 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28 # debuginfo is not useful for ghc
29 %define _enable_debug_packages 0
31 # don't compress haddock files
32 %define _noautocompressdoc *.haddock
35 A repository of cryptographic primitives.
37 - Symmetric ciphers: AES, DES, 3DES, CAST5, Blowfish, Twofish,
38 Camellia, RC4, Salsa, XSalsa, ChaCha.
39 - Hash: SHA1, SHA2, SHA3, SHAKE, MD2, MD4, MD5, Keccak, Skein, Ripemd,
40 Tiger, Whirlpool, Blake2
41 - MAC: HMAC, KMAC, Poly1305
42 - Asymmetric crypto: DSA, RSA, DH, ECDH, ECDSA, ECC, Curve25519,
43 Curve448, Ed25519, Ed448
44 - Key Derivation Function: PBKDF2, Scrypt, HKDF, Argon2, BCrypt,
46 - Cryptographic Random generation: System Entropy, Deterministic
48 - Data related: Anti-Forensic Information Splitter (AFIS)
51 Summary: Profiling %{pkgname} library for GHC
52 Summary(pl.UTF-8): Biblioteka profilująca %{pkgname} dla GHC
53 Group: Development/Libraries
54 Requires: %{name} = %{version}-%{release}
55 Requires: ghc-memory-prof
58 Profiling %{pkgname} library for GHC. Should be installed when
59 GHC's profiling subsystem is needed.
61 %description prof -l pl.UTF-8
62 Biblioteka profilująca %{pkgname} dla GHC. Powinna być zainstalowana
63 kiedy potrzebujemy systemu profilującego z GHC.
66 %setup -q -n %{pkgname}-%{version}
69 runhaskell Setup.hs configure -v2 \
70 %{?with_prof:--enable-library-profiling} \
73 --libexecdir=%{_libexecdir} \
74 --docdir=%{_docdir}/%{name}-%{version}
76 runhaskell Setup.hs build
77 runhaskell Setup.hs haddock --executables
80 rm -rf $RPM_BUILD_ROOT
81 install -d $RPM_BUILD_ROOT%{_libdir}/%{ghcdir}/package.conf.d
83 runhaskell Setup.hs copy --destdir=$RPM_BUILD_ROOT
85 # work around automatic haddock docs installation
86 %{__rm} -rf %{name}-%{version}-doc
87 cp -a $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} %{name}-%{version}-doc
88 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
90 runhaskell Setup.hs register \
91 --gen-pkg-config=$RPM_BUILD_ROOT%{_libdir}/%{ghcdir}/package.conf.d/%{pkgname}.conf
93 find $RPM_BUILD_ROOT%{_libdir}/%{ghcdir}/%{pkgname}-%{version} -type d | %{__sed} "s|$RPM_BUILD_ROOT|%dir |" > %{name}.files
94 find $RPM_BUILD_ROOT%{_libdir}/%{ghcdir}/%{pkgname}-%{version} -name '*.hi' | %{__sed} "s|$RPM_BUILD_ROOT||" >> %{name}.files
95 find $RPM_BUILD_ROOT%{_libdir}/%{ghcdir}/%{pkgname}-%{version} -name '*.dyn_hi' | %{__sed} "s|$RPM_BUILD_ROOT||" >> %{name}.files
96 find $RPM_BUILD_ROOT%{_libdir}/%{ghcdir}/%{pkgname}-%{version} -name '*.p_hi' | %{__sed} "s|$RPM_BUILD_ROOT||" > %{name}-prof.files
99 rm -rf $RPM_BUILD_ROOT
107 %files -f %{name}.files
108 %defattr(644,root,root,755)
109 %doc CHANGELOG.md README.md %{name}-%{version}-doc/*
110 %{_libdir}/%{ghcdir}/package.conf.d/%{pkgname}.conf
111 %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/*.so
112 %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/*.a
113 %exclude %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/*_p.a
116 %files prof -f %{name}-prof.files
117 %defattr(644,root,root,755)
118 %{_libdir}/%{ghcdir}/%{pkgname}-%{version}/*_p.a