From f565274fe530d2c3008ec6e2f27a1381a0978ce0 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Tue, 23 Jan 2018 21:11:44 -0600 Subject: [PATCH 1/3] rhash: 1.3.3 -> 1.3.5 1.3.5: https://github.com/rhash/RHash/releases/tag/v1.3.5 1.3.4: https://github.com/rhash/RHash/releases/tag/v1.3.4 * still need makefile bug workarounds * cleanup a bit * port darwin patch-- don't believe still needed but shouldn't hurt. --- pkgs/tools/security/rhash/darwin.patch | 25 ------------------------- pkgs/tools/security/rhash/default.nix | 20 ++++++-------------- 2 files changed, 6 insertions(+), 39 deletions(-) diff --git a/pkgs/tools/security/rhash/darwin.patch b/pkgs/tools/security/rhash/darwin.patch index 76ad8fe9abd9..058791cdd88a 100644 --- a/pkgs/tools/security/rhash/darwin.patch +++ b/pkgs/tools/security/rhash/darwin.patch @@ -11,28 +11,3 @@ index e40dbc3..e198b93 100644 SHRDLFLAGS = $(LDFLAGS) $(ADDLDFLAGS) HEADERS = calc_sums.h hash_print.h common_func.h hash_update.h file_mask.h file_set.h find_file.h hash_check.h output.h parse_cmdline.h rhash_main.h win_utils.h version.h SOURCES = calc_sums.c hash_print.c common_func.c hash_update.c file_mask.c file_set.c find_file.c hash_check.c output.c parse_cmdline.c rhash_main.c win_utils.c -diff --git a/librhash/Makefile b/librhash/Makefile -index 2f9bcc9..0c5aaad 100644 ---- a/librhash/Makefile -+++ b/librhash/Makefile -@@ -28,8 +28,8 @@ PREFIX = /usr/local - INCDIR = $(PREFIX)/include - LIBDIR = $(PREFIX)/lib - LIBRARY = librhash.a --SONAME = librhash.so.0 --SOLINK = librhash.so -+SONAME = librhash.0.dylib -+SOLINK = librhash.dylib - TEST_TARGET = test_hashes - TEST_SHARED = test_shared - # Set variables according to GNU coding standard -@@ -182,8 +182,7 @@ test-dll: $(DLLNAME) test_hashes.o - - # shared and static libraries - $(SONAME): $(SOURCES) -- sed -n '1s/.*/{ global:/p; s/^RHASH_API.* \([a-z0-9_]\+\)(.*/ \1;/p; $$s/.*/local: *; };/p' $(SO_HEADERS) > exports.sym -- $(CC) -fpic $(ALLCFLAGS) -shared $(SOURCES) -Wl,--version-script,exports.sym,-soname,$(SONAME) $(LIBLDFLAGS) -o $@ -+ $(CC) -fpic $(ALLCFLAGS) -dynamiclib $(SOURCES) $(LIBLDFLAGS) -Wl,-install_name,$(PREFIX)/lib/$@ -o $@ - ln -s $(SONAME) $(SOLINK) - # use 'nm -Cg --defined-only $@' to view exported symbols - diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix index 68c3edc4cd25..14121b3bc04c 100644 --- a/pkgs/tools/security/rhash/default.nix +++ b/pkgs/tools/security/rhash/default.nix @@ -1,31 +1,23 @@ { stdenv, fetchurl }: stdenv.mkDerivation rec { - version = "1.3.3"; + version = "1.3.5"; name = "rhash-${version}"; src = fetchurl { url = "mirror://sourceforge/rhash/${name}-src.tar.gz"; - sha1 = "0981bdc98ba7ef923b1a6cd7fd8bb0374cff632e"; - sha256 = "0nii6p4m2x8rkaf8r6smgfwb1q4hpf117kkg64yr6gyqgdchnljv"; + sha256 = "0bhz3xdl6r06k1bqigdjz42l31iqz2qdpg7zk316i7p2ra56iq4q"; }; patches = stdenv.lib.optional stdenv.isDarwin ./darwin.patch; - installFlags = [ "DESTDIR=$(out)" "PREFIX=/" ]; + makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" "AR:=$(AR)" "CC:=$(CC)" ]; - # we build the static library because of two makefile bugs - # * .h files installed for static library target only - # * .so.0 -> .so link only created in the static library install target - buildPhase = '' - make lib-shared lib-static build-shared CC=$CC AR=$AR PREFIX=$out - ''; + buildFlags = [ "build-shared" "lib-shared" ]; - # we don't actually want the static library, so we remove it after it - # gets installed installPhase = '' - make DESTDIR="$out" PREFIX="/" install-shared install-lib-shared install-lib-static - rm $out/lib/librhash.a + make $makeFlags -C librhash install-lib-shared install-headers install-so-link + make $makeFlags install-shared ''; meta = with stdenv.lib; { From 088274bf2c22dc97a518a9322be57a20da6b0f2b Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 5 Feb 2018 08:43:27 -0600 Subject: [PATCH 2/3] rhash: 1.3.5 -> 2018-02-05 Latest git is much more build-friendly. --- pkgs/tools/security/rhash/default.nix | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/pkgs/tools/security/rhash/default.nix b/pkgs/tools/security/rhash/default.nix index 14121b3bc04c..485b34cff88d 100644 --- a/pkgs/tools/security/rhash/default.nix +++ b/pkgs/tools/security/rhash/default.nix @@ -1,24 +1,23 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchFromGitHub, which }: stdenv.mkDerivation rec { - version = "1.3.5"; + version = "2018-02-05"; name = "rhash-${version}"; - src = fetchurl { - url = "mirror://sourceforge/rhash/${name}-src.tar.gz"; - sha256 = "0bhz3xdl6r06k1bqigdjz42l31iqz2qdpg7zk316i7p2ra56iq4q"; + src = fetchFromGitHub { + owner = "rhash"; + repo = "RHash"; + rev = "cc26d54ff5df0f692907a5e3132a5eeca559ed61"; + sha256 = "1ldagp931lmxxpyvsb9rrar4iqwmv94m6lfjzkbkshpmk3p5ng7h"; }; - patches = stdenv.lib.optional stdenv.isDarwin ./darwin.patch; + nativeBuildInputs = [ which ]; - makeFlags = [ "DESTDIR=$(out)" "PREFIX=/" "AR:=$(AR)" "CC:=$(CC)" ]; + # configure script is not autotools-based, doesn't support these options + configurePlatforms = [ ]; - buildFlags = [ "build-shared" "lib-shared" ]; - - installPhase = '' - make $makeFlags -C librhash install-lib-shared install-headers install-so-link - make $makeFlags install-shared - ''; + installTargets = [ "install" "install-lib-shared" "install-lib-so-link" ]; + postInstall = "make -C librhash install-headers"; meta = with stdenv.lib; { homepage = http://rhash.anz.ru; From 9ccbb2aa37023e834cc5b6bd0e0262e377a23df8 Mon Sep 17 00:00:00 2001 From: Will Dietz Date: Mon, 5 Feb 2018 09:06:24 -0600 Subject: [PATCH 3/3] rhash: Remove unused darwin patch --- pkgs/tools/security/rhash/darwin.patch | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 pkgs/tools/security/rhash/darwin.patch diff --git a/pkgs/tools/security/rhash/darwin.patch b/pkgs/tools/security/rhash/darwin.patch deleted file mode 100644 index 058791cdd88a..000000000000 --- a/pkgs/tools/security/rhash/darwin.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/Makefile b/Makefile -index e40dbc3..e198b93 100644 ---- a/Makefile -+++ b/Makefile -@@ -17,7 +17,7 @@ ALLCFLAGS = -pipe $(CFLAGS) $(ADDCFLAGS) \ - -Wbad-function-cast -Wmissing-prototypes -Wmissing-declarations - LDLIBRHASH = -Llibrhash -lrhash - ALLLDFLAGS = $(LDLIBRHASH) $(LDFLAGS) $(ADDLDFLAGS) --SHAREDLIB = librhash/librhash.so.0 -+SHAREDLIB = librhash/librhash.0.dylib - SHRDLFLAGS = $(LDFLAGS) $(ADDLDFLAGS) - HEADERS = calc_sums.h hash_print.h common_func.h hash_update.h file_mask.h file_set.h find_file.h hash_check.h output.h parse_cmdline.h rhash_main.h win_utils.h version.h - SOURCES = calc_sums.c hash_print.c common_func.c hash_update.c file_mask.c file_set.c find_file.c hash_check.c output.c parse_cmdline.c rhash_main.c win_utils.c