diff options
author | Ludovic Courtès <ludo@gnu.org> | 2009-08-10 23:50:07 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2009-08-10 23:50:07 +0000 |
commit | 5a75fd214791d45a557677302564b0b01b624851 (patch) | |
tree | 61b351ad67da26bfefd9bf95e02cce26cd7c5ffa /pkgs/development/libraries/crypto++ | |
parent | f8b01c81dc38805010fb5167dd4c0c96eabee76e (diff) | |
download | nixlib-5a75fd214791d45a557677302564b0b01b624851.tar nixlib-5a75fd214791d45a557677302564b0b01b624851.tar.gz nixlib-5a75fd214791d45a557677302564b0b01b624851.tar.bz2 nixlib-5a75fd214791d45a557677302564b0b01b624851.tar.lz nixlib-5a75fd214791d45a557677302564b0b01b624851.tar.xz nixlib-5a75fd214791d45a557677302564b0b01b624851.tar.zst nixlib-5a75fd214791d45a557677302564b0b01b624851.zip |
Crypto++ 5.6.0, with shared library and test suite.
svn path=/nixpkgs/trunk/; revision=16661
Diffstat (limited to 'pkgs/development/libraries/crypto++')
-rw-r--r-- | pkgs/development/libraries/crypto++/default.nix | 31 | ||||
-rw-r--r-- | pkgs/development/libraries/crypto++/dll.patch | 24 | ||||
-rw-r--r-- | pkgs/development/libraries/crypto++/pic.patch | 13 |
3 files changed, 62 insertions, 6 deletions
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix index 6ebd5d164dbf..2afc77f97772 100644 --- a/pkgs/development/libraries/crypto++/default.nix +++ b/pkgs/development/libraries/crypto++/default.nix @@ -1,13 +1,17 @@ { fetchurl, stdenv, unzip }: stdenv.mkDerivation rec { - name = "crypto++-5.5.2"; + name = "crypto++-5.6.0"; src = fetchurl { - url = "mirror://sourceforge/cryptopp/cryptopp552.zip"; - sha256 = "0nd783wk3gl36nfa9zmwxw6pn4n5p8mld7jf5dc1j9iy0gmqv3q7"; + url = "mirror://sourceforge/cryptopp/cryptopp560.zip"; + sha256 = "1icbk50mr1sqycqbxbqg703m8aamz23ajgl22ychxdahz2sz08mm"; }; + patches = [ ./pic.patch ] + ++ stdenv.lib.optional (builtins.currentSystem != "i686-cygwin") ./dll.patch; + + buildInputs = [ unzip ]; # Unpack the thing in a subdirectory. @@ -17,12 +21,27 @@ stdenv.mkDerivation rec { sourceRoot="$PWD/${name}" ''; - buildPhase = ''make PREFIX="$out"''; - installPhase = ''mkdir "$out" && make install PREFIX="$out"''; + # Deal with one of the crappiest build system around there. + buildPhase = '' + # These guys forgot a file or something. + : > modexppc.cpp + + make PREFIX="$out" all cryptopp.dll + ''; + + installPhase = '' + mkdir "$out" + make install PREFIX="$out" + cp -v cryptopp.dll "$out/lib/libcryptopp.so" + ''; + + doCheck = true; + checkPhase = "make test"; meta = { description = "Crypto++, a free C++ class library of cryptographic schemes"; homepage = http://cryptopp.com/; license = "Public Domain"; + maintainers = [ stdenv.lib.maintainers.ludo ]; }; -} \ No newline at end of file +} diff --git a/pkgs/development/libraries/crypto++/dll.patch b/pkgs/development/libraries/crypto++/dll.patch new file mode 100644 index 000000000000..36a814e67c86 --- /dev/null +++ b/pkgs/development/libraries/crypto++/dll.patch @@ -0,0 +1,24 @@ +Get rid of Windows-specific stuff. + +--- crypto++/dll.cpp 2009-03-01 19:44:02.000000000 +0100 ++++ crypto++/dll.cpp 2009-08-11 00:49:34.000000000 +0200 +@@ -39,7 +39,7 @@ NAMESPACE_END + + #endif + +-#ifdef CRYPTOPP_EXPORTS ++#if defined CRYPTOPP_EXPORTS && defined _MSC_VER + + USING_NAMESPACE(CryptoPP) + +--- crypto++/GNUmakefile 2009-03-15 02:48:02.000000000 +0100 ++++ crypto++/GNUmakefile 2009-08-11 01:23:09.000000000 +0200 +@@ -136,7 +136,7 @@ nolib: $(OBJS) # makes it faster to tes + 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/pkgs/development/libraries/crypto++/pic.patch b/pkgs/development/libraries/crypto++/pic.patch new file mode 100644 index 000000000000..d192c6a617e2 --- /dev/null +++ b/pkgs/development/libraries/crypto++/pic.patch @@ -0,0 +1,13 @@ +Build position-independent code, for shared libraries. + +--- a/GNUmakefile 2009-03-15 02:48:02.000000000 +0100 ++++ b/GNUmakefile 2009-08-11 00:13:43.000000000 +0200 +@@ -162,7 +162,7 @@ endif + $(CXX) $(CXXFLAGS) -DCRYPTOPP_IMPORTS -c $< -o $@ + + %.export.o : %.cpp +- $(CXX) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c $< -o $@ ++ $(CXX) $(CXXFLAGS) -fPIC -DCRYPTOPP_EXPORTS -c $< -o $@ + + %.o : %.cpp + $(CXX) $(CXXFLAGS) -c $< |