Merge pull request #171686 from amesgen/lmdb-mingwW64

lmdb: fix cross compilation to mingwW64
main
Rick van Schijndel 2 years ago committed by GitHub
commit 54b3dd5b2c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 21
      pkgs/development/libraries/lmdb/bin-ext.patch
  2. 9
      pkgs/development/libraries/lmdb/default.nix

@ -0,0 +1,21 @@
diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile
index 612484e..2e6b562 100644
--- a/libraries/liblmdb/Makefile
+++ b/libraries/liblmdb/Makefile
@@ -27,6 +27,7 @@ CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS)
LDLIBS =
SOLIBS =
SOEXT = .so
+BINEXT =
prefix = /usr/local
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
@@ -49,7 +50,7 @@ install: $(ILIBS) $(IPROGS) $(IHDRS)
mkdir -p $(DESTDIR)$(libdir)
mkdir -p $(DESTDIR)$(includedir)
mkdir -p $(DESTDIR)$(mandir)/man1
- for f in $(IPROGS); do cp $$f $(DESTDIR)$(bindir); done
+ for f in $(IPROGS); do cp $$f$(BINEXT) $(DESTDIR)$(bindir); done
for f in $(ILIBS); do cp $$f $(DESTDIR)$(libdir); done
for f in $(IHDRS); do cp $$f $(DESTDIR)$(includedir); done
for f in $(IDOCS); do cp $$f $(DESTDIR)$(mandir)/man1; done

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitLab }:
{ lib, stdenv, fetchFromGitLab, windows }:
stdenv.mkDerivation rec {
pname = "lmdb";
@ -14,17 +14,20 @@ stdenv.mkDerivation rec {
postUnpack = "sourceRoot=\${sourceRoot}/libraries/liblmdb";
patches = [ ./hardcoded-compiler.patch ];
patches = [ ./hardcoded-compiler.patch ./bin-ext.patch ];
patchFlags = [ "-p3" ];
outputs = [ "bin" "out" "dev" ];
buildInputs = lib.optional stdenv.hostPlatform.isWindows windows.pthreads;
makeFlags = [
"prefix=$(out)"
"CC=${stdenv.cc.targetPrefix}cc"
"AR=${stdenv.cc.targetPrefix}ar"
]
++ lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so";
++ lib.optional stdenv.isDarwin "LDFLAGS=-Wl,-install_name,$(out)/lib/liblmdb.so"
++ lib.optionals stdenv.hostPlatform.isWindows [ "SOEXT=.dll" "BINEXT=.exe" ];
doCheck = true;
checkTarget = "test";

Loading…
Cancel
Save