FreeBSD support
This commit is contained in:
parent
35cf6c428f
commit
a1ade02cdc
@ -1,5 +1,5 @@
|
|||||||
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
|
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
|
||||||
, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode
|
, zlib, miniupnpc, qt4, protobuf, qrencode
|
||||||
, withGui }:
|
, withGui }:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
@ -17,7 +17,8 @@ stdenv.mkDerivation rec{
|
|||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig autoreconfHook openssl db48 boost zlib
|
buildInputs = [ pkgconfig autoreconfHook openssl db48 boost zlib
|
||||||
miniupnpc utillinux protobuf ]
|
miniupnpc protobuf ]
|
||||||
|
++ optionals stdenv.isLinux [ utillinux ]
|
||||||
++ optionals withGui [ qt4 qrencode ];
|
++ optionals withGui [ qt4 qrencode ];
|
||||||
|
|
||||||
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
|
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
|
||||||
|
@ -23,7 +23,11 @@ let
|
|||||||
sha256 = "0sp5445rbvms6qvzhld0kwwvydw51vq5iaf4kdqsf2d9jvaz3yx5";
|
sha256 = "0sp5445rbvms6qvzhld0kwwvydw51vq5iaf4kdqsf2d9jvaz3yx5";
|
||||||
};
|
};
|
||||||
armv6l-linux = armv7l-linux;
|
armv6l-linux = armv7l-linux;
|
||||||
x86_64-solaris = x86_64-linux;
|
x86_64-freebsd = rec {
|
||||||
|
version = "1.2.7";
|
||||||
|
system = "x86-64-freebsd";
|
||||||
|
sha256 = "14k42xiqd2rrim4pd5k5pjcrpkac09qnpynha8j1v4jngrvmw7y6";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
cfg = options.${stdenv.system};
|
cfg = options.${stdenv.system};
|
||||||
in
|
in
|
||||||
|
22
pkgs/development/libraries/db/clang-4.8.patch
Normal file
22
pkgs/development/libraries/db/clang-4.8.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
diff --git a/dbinc/atomic.h b/dbinc/atomic.h
|
||||||
|
index 0034dcc..fa7ba93 100644
|
||||||
|
--- a/dbinc/atomic.h
|
||||||
|
+++ b/dbinc/atomic.h
|
||||||
|
@@ -144,7 +144,7 @@ typedef LONG volatile *interlocked_val;
|
||||||
|
#define atomic_inc(env, p) __atomic_inc(p)
|
||||||
|
#define atomic_dec(env, p) __atomic_dec(p)
|
||||||
|
#define atomic_compare_exchange(env, p, o, n) \
|
||||||
|
- __atomic_compare_exchange((p), (o), (n))
|
||||||
|
+ __db_atomic_compare_exchange((p), (o), (n))
|
||||||
|
static inline int __atomic_inc(db_atomic_t *p)
|
||||||
|
{
|
||||||
|
int temp;
|
||||||
|
@@ -176,7 +176,7 @@ static inline int __atomic_dec(db_atomic_t *p)
|
||||||
|
* http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
|
||||||
|
* which configure could be changed to use.
|
||||||
|
*/
|
||||||
|
-static inline int __atomic_compare_exchange(
|
||||||
|
+static inline int __db_atomic_compare_exchange(
|
||||||
|
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
|
||||||
|
{
|
||||||
|
atomic_value_t was;
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import ./generic.nix (args // rec {
|
import ./generic.nix (args // rec {
|
||||||
version = "4.8.30";
|
version = "4.8.30";
|
||||||
|
extraPatches = [ ./clang-4.8.patch ];
|
||||||
sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0";
|
sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0";
|
||||||
branch = "4.8";
|
branch = "4.8";
|
||||||
})
|
})
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
import ./generic.nix (args // rec {
|
import ./generic.nix (args // rec {
|
||||||
version = "5.3.28";
|
version = "5.3.28";
|
||||||
sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0";
|
sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0";
|
||||||
extraPatches = [ ./osx.patch ];
|
extraPatches = [ ./clang-5.3.patch ];
|
||||||
branch = "5.3";
|
branch = "5.3";
|
||||||
})
|
})
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
assert !stdenv.isDarwin -> stdenv.cc.isGNU;
|
assert stdenv.isFreeBSD || stdenv.isDarwin || stdenv.cc.isGNU;
|
||||||
|
|
||||||
# TODO:
|
# TODO:
|
||||||
# * Add gio-module-fam
|
# * Add gio-module-fam
|
||||||
|
@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
|
|||||||
# (Windows' linker would need to be used somehow to produce an actual
|
# (Windows' linker would need to be used somehow to produce an actual
|
||||||
# DLL.) Thus, build the static library too, and this is what Gettext
|
# DLL.) Thus, build the static library too, and this is what Gettext
|
||||||
# will actually use.
|
# will actually use.
|
||||||
configureFlags = if stdenv.isCygwin then [ "--enable-static" ] else null;
|
configureFlags = if stdenv.isCygwin then [ "--enable-static" ] else
|
||||||
|
if stdenv.isFreeBSD then [ "--with-pic" ] else null;
|
||||||
|
|
||||||
crossAttrs = {
|
crossAttrs = {
|
||||||
# Disable stripping to avoid "libiconv.a: Archive has no index" (MinGW).
|
# Disable stripping to avoid "libiconv.a: Archive has no index" (MinGW).
|
||||||
|
@ -58,8 +58,9 @@ in stdenv.mkDerivation {
|
|||||||
ln -s bzip2 $out/bin/bzcat
|
ln -s bzip2 $out/bin/bzcat
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
|
patchPhase = ''
|
||||||
substituteInPlace Makefile --replace 'CC=gcc' 'CC=clang'
|
substituteInPlace Makefile --replace CC=gcc CC=cc
|
||||||
|
substituteInPlace Makefile-libbz2_so --replace CC=gcc CC=cc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
|
|||||||
inherit version;
|
inherit version;
|
||||||
homepage = http://miniupnp.free.fr/;
|
homepage = http://miniupnp.free.fr/;
|
||||||
description = "A client that implements the UPnP Internet Gateway Device (IGD) specification";
|
description = "A client that implements the UPnP Internet Gateway Device (IGD) specification";
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.freebsd;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user