mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-24 07:53:19 +00:00
cryptopp: 5.6.5 -> 8.2.0
+ add c0bw3b as maintainer
This commit is contained in:
parent
57c922972a
commit
c36d92f165
@ -1,15 +0,0 @@
|
|||||||
diff --git a/GNUmakefile b/GNUmakefile
|
|
||||||
index 4de9d10..ff4789a 100755
|
|
||||||
--- a/GNUmakefile
|
|
||||||
+++ b/GNUmakefile
|
|
||||||
@@ -271,8 +271,8 @@ endif # OpenMP
|
|
||||||
endif # IS_LINUX
|
|
||||||
|
|
||||||
ifneq ($(IS_DARWIN),0)
|
|
||||||
-AR = libtool
|
|
||||||
-ARFLAGS = -static -o
|
|
||||||
+AR = ar
|
|
||||||
+ARFLAGS = cru
|
|
||||||
CXX ?= c++
|
|
||||||
ifeq ($(IS_GCC_29),1)
|
|
||||||
CXXFLAGS += -fno-coalesce-templates -fno-coalesce-static-vtables
|
|
@ -1,49 +1,47 @@
|
|||||||
{ fetchFromGitHub, stdenv }:
|
{ stdenv, fetchFromGitHub, nasm, which }:
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "crypto++";
|
pname = "crypto++";
|
||||||
majorVersion = "5.6";
|
version = "8.2.0";
|
||||||
version = "${majorVersion}.5";
|
underscoredVersion = strings.replaceStrings ["."] ["_"] version;
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "weidai11";
|
owner = "weidai11";
|
||||||
repo = "cryptopp";
|
repo = "cryptopp";
|
||||||
rev = "CRYPTOPP_5_6_5";
|
rev = "CRYPTOPP_${underscoredVersion}";
|
||||||
sha256 = "1yk7jyf4va9425cg05llskpls2jm7n3jwy2hj5jm74zkr4mwpvl7";
|
sha256 = "01zrrzjn14yhkb9fzzl57vmh7ig9a6n6fka45f8za0gf7jpcq3mj";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = stdenv.lib.concatLists [
|
postPatch = ''
|
||||||
(stdenv.lib.optional (stdenv.hostPlatform.system != "i686-cygwin") ./dll.patch)
|
substituteInPlace GNUmakefile \
|
||||||
(stdenv.lib.optional stdenv.hostPlatform.isDarwin ./GNUmakefile-darwin.patch)
|
--replace "AR = libtool" "AR = ar" \
|
||||||
];
|
--replace "ARFLAGS = -static -o" "ARFLAGS = -cru"
|
||||||
|
|
||||||
|
|
||||||
configurePhase = ''
|
|
||||||
sed -i GNUmakefile \
|
|
||||||
-e 's|-march=native|-fPIC|g' \
|
|
||||||
-e '/^CXXFLAGS =/s|-g ||'
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = optionals stdenv.hostPlatform.isx86 [ nasm which ];
|
||||||
|
|
||||||
|
preBuild = optionalString stdenv.hostPlatform.isx86 "${stdenv.shell} rdrand-nasm.sh";
|
||||||
|
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||||
|
buildFlags = [ "shared" "libcryptopp.pc" ];
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
makeFlags = [ "PREFIX=$(out)" ];
|
|
||||||
buildFlags = [ "libcryptopp.so" ];
|
|
||||||
installFlags = [ "LDCONF=true" ];
|
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
checkPhase = "LD_LIBRARY_PATH=`pwd` make test";
|
|
||||||
|
|
||||||
# prefer -fPIC and .so to .a; cryptotest.exe seems superfluous
|
preInstall = "rm libcryptopp.a"; # built for checks but we don't install static lib into the nix store
|
||||||
postInstall = ''
|
installTargets = "install-lib";
|
||||||
rm "$out"/lib/*.a -r "$out/bin"
|
installFlags = [ "LDCONF=true" ];
|
||||||
ln -sf "$out"/lib/libcryptopp.so.${version} "$out"/lib/libcryptopp.so.${majorVersion}
|
postInstall = optionalString (!stdenv.hostPlatform.isDarwin) ''
|
||||||
|
ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${versions.majorMinor version}
|
||||||
|
ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${versions.major version}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = {
|
||||||
description = "Crypto++, a free C++ class library of cryptographic schemes";
|
description = "Crypto++, a free C++ class library of cryptographic schemes";
|
||||||
homepage = http://cryptopp.com/;
|
homepage = "https://cryptopp.com/";
|
||||||
license = licenses.boost;
|
changelog = "https://raw.githubusercontent.com/weidai11/cryptopp/CRYPTOPP_${underscoredVersion}/History.txt";
|
||||||
|
license = with licenses; [ boost publicDomain ];
|
||||||
platforms = platforms.all;
|
platforms = platforms.all;
|
||||||
maintainers = [ ];
|
maintainers = with maintainers; [ c0bw3b ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,28 +0,0 @@
|
|||||||
Get rid of Windows-specific stuff.
|
|
||||||
|
|
||||||
diff --git a/GNUmakefile b/GNUmakefile
|
|
||||||
index 4de9d10..ff4789a 100755
|
|
||||||
--- a/GNUmakefile
|
|
||||||
+++ b/GNUmakefile
|
|
||||||
@@ -656,7 +656,7 @@ nolib: $(OBJS)
|
|
||||||
dll: cryptest.import.exe dlltest.exe
|
|
||||||
|
|
||||||
cryptopp.dll: $(DLLOBJS)
|
|
||||||
- $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS) -Wl,--out-implib=libcryptopp.dll.a
|
|
||||||
+ $(CXX) -shared -o $@ $(CXXFLAGS) $(DLLOBJS) $(LDFLAGS) $(LDLIBS)
|
|
||||||
|
|
||||||
libcryptopp.import.a: $(LIBIMPORTOBJS)
|
|
||||||
$(AR) $(ARFLAGS) $@ $(LIBIMPORTOBJS)
|
|
||||||
diff --git a/dll.cpp b/dll.cpp
|
|
||||||
index 72dade9..b5097ab 100644
|
|
||||||
--- a/dll.cpp
|
|
||||||
+++ b/dll.cpp
|
|
||||||
@@ -48,7 +48,7 @@ NAMESPACE_END
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#ifdef CRYPTOPP_EXPORTS
|
|
||||||
+#if defined CRYPTOPP_EXPORTS && defined _MSC_VER
|
|
||||||
|
|
||||||
USING_NAMESPACE(CryptoPP)
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user