rhash: Support FreeBSD by adding unreleased patches

This commit is contained in:
Audrey Dutcher 2024-03-24 12:27:46 -07:00
parent 2ec7013424
commit 16f713d537
3 changed files with 85 additions and 0 deletions

View File

@ -3,6 +3,7 @@
, fetchFromGitHub
, which
, enableStatic ? stdenv.hostPlatform.isStatic
, gettext
}:
stdenv.mkDerivation rec {
@ -16,7 +17,10 @@ stdenv.mkDerivation rec {
sha256 = "sha256-3CW41ULdXoID4cOgrcG2j85tgIJ/sz5hU7A83qpuxf4=";
};
patches = [ ./dont-fail-ln.patch ./do-link-so.patch ];
nativeBuildInputs = [ which ];
buildInputs = lib.optionals stdenv.hostPlatform.isFreeBSD [ gettext ];
# configure script is not autotools-based, doesn't support these options
dontAddStaticConfigureFlags = true;

View File

@ -0,0 +1,22 @@
From b8c91ea6551e99e10352386cd46ea26973bb4a4d Mon Sep 17 00:00:00 2001
From: Aleksey Kravchenko <rhash.admin@gmail.com>
Date: Mon, 11 Sep 2023 03:49:20 +0300
Subject: [PATCH] Fix #238: Build on Unix
---
librhash/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/librhash/Makefile b/librhash/Makefile
index e8ee862..34f1263 100644
--- a/librhash/Makefile
+++ b/librhash/Makefile
@@ -27,7 +27,7 @@ install-lib-static: $(LIBRHASH_STATIC)
install-lib-shared: $(LIBRHASH_SHARED) $(EXTRA_INSTALL_LIBSHARED)
$(INSTALL) -d $(SO_DIR)
$(INSTALL_SHARED) $(LIBRHASH_SHARED) $(SO_DIR)/
- test "x$(LIBRHASH_SO_MAJ)" != "x$(LIBRHASH_SHARED)" || ( \
+ test "x$(LIBRHASH_SO_MAJ)" = "x$(LIBRHASH_SHARED)" || ( \
rm -f $(LIBDIR)/$(LIBRHASH_SO_MAJ) && \
ln -s $(LIBRHASH_SHARED) $(LIBDIR)/$(LIBRHASH_SO_MAJ) )

View File

@ -0,0 +1,59 @@
From 9ef90b958b7ae50aeeb5c269468034d73d6e2efe Mon Sep 17 00:00:00 2001
From: Aleksey Kravchenko <rhash.admin@gmail.com>
Date: Mon, 31 Jul 2023 02:48:15 +0300
Subject: [PATCH] Fix #238: Build on *BSD
---
configure | 3 ++-
librhash/Makefile | 8 ++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/configure b/configure
index dae76d5..39ef8c1 100755
--- a/configure
+++ b/configure
@@ -567,6 +567,7 @@ qnx() { test "$OS_LC" = "qnx"; }
sunos() { test "$OS_LC" = "sunos"; }
wine() { test "$OS_LC" = "wine"; }
win32() { cygwin || mingw32 || mingw64 || msys || wine; }
+bsd() { dragonfly || freebsd || netbsd || openbsd ; }
posix_make() { aix || bsdos || hpux || irix || qnx || sunos; }
#####################################################################
@@ -713,7 +714,7 @@ if win32; then
elif darwin; then
SHARED_EXT=".${RHASH_VERSION_MAJOR}.dylib"
SOLINK_EXT=".dylib"
-elif linux; then
+elif linux || bsd; then
# use the full library version for the library file extension
SHARED_EXT=".so.${RHASH_VERSION}"
fi
diff --git a/librhash/Makefile b/librhash/Makefile
index d48e06e..e8ee862 100644
--- a/librhash/Makefile
+++ b/librhash/Makefile
@@ -27,9 +27,9 @@ install-lib-static: $(LIBRHASH_STATIC)
install-lib-shared: $(LIBRHASH_SHARED) $(EXTRA_INSTALL_LIBSHARED)
$(INSTALL) -d $(SO_DIR)
$(INSTALL_SHARED) $(LIBRHASH_SHARED) $(SO_DIR)/
- test "x$(LIBRHASH_SO_MAJ)" != "x$(LIBRHASH_SHARED)" && \
+ test "x$(LIBRHASH_SO_MAJ)" != "x$(LIBRHASH_SHARED)" || ( \
rm -f $(LIBDIR)/$(LIBRHASH_SO_MAJ) && \
- ln -s $(LIBRHASH_SHARED) $(LIBDIR)/$(LIBRHASH_SO_MAJ)
+ ln -s $(LIBRHASH_SHARED) $(LIBDIR)/$(LIBRHASH_SO_MAJ) )
install-implib:
$(INSTALL) -d $(LIBDIR)
@@ -175,9 +175,9 @@ $(EXPORTS_FILE): $(LIB_HEADERS)
$(LIB_HEADERS) | grep -v "$(EXPORTS_SKIP)" > $@
$(LIBRHASH_SOLINK):
- test "x$(LIBRHASH_SO_MAJ)" != "x$(LIBRHASH_SHARED)" && \
+ test "x$(LIBRHASH_SO_MAJ)" = "x$(LIBRHASH_SHARED)" || ( \
rm -f $(LIBRHASH_SO_MAJ) && \
- ln -s $(LIBRHASH_SHARED) $(LIBRHASH_SO_MAJ)
+ ln -s $(LIBRHASH_SHARED) $(LIBRHASH_SO_MAJ) )
rm -f $(LIBRHASH_SOLINK)
ln -s $(LIBRHASH_SO_MAJ) $(LIBRHASH_SOLINK)