mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 09:23:01 +00:00
FreeBSD support
This commit is contained in:
parent
35cf6c428f
commit
a1ade02cdc
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
|
||||
, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode
|
||||
, zlib, miniupnpc, qt4, protobuf, qrencode
|
||||
, withGui }:
|
||||
|
||||
with stdenv.lib;
|
||||
@ -17,7 +17,8 @@ stdenv.mkDerivation rec{
|
||||
};
|
||||
|
||||
buildInputs = [ pkgconfig autoreconfHook openssl db48 boost zlib
|
||||
miniupnpc utillinux protobuf ]
|
||||
miniupnpc protobuf ]
|
||||
++ optionals stdenv.isLinux [ utillinux ]
|
||||
++ optionals withGui [ qt4 qrencode ];
|
||||
|
||||
configureFlags = [ "--with-boost-libdir=${boost.lib}/lib" ]
|
||||
|
@ -23,7 +23,11 @@ let
|
||||
sha256 = "0sp5445rbvms6qvzhld0kwwvydw51vq5iaf4kdqsf2d9jvaz3yx5";
|
||||
};
|
||||
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};
|
||||
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 {
|
||||
version = "4.8.30";
|
||||
extraPatches = [ ./clang-4.8.patch ];
|
||||
sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0";
|
||||
branch = "4.8";
|
||||
})
|
||||
|
@ -3,6 +3,6 @@
|
||||
import ./generic.nix (args // rec {
|
||||
version = "5.3.28";
|
||||
sha256 = "0a1n5hbl7027fbz5lm0vp0zzfp1hmxnz14wx3zl9563h83br5ag0";
|
||||
extraPatches = [ ./osx.patch ];
|
||||
extraPatches = [ ./clang-5.3.patch ];
|
||||
branch = "5.3";
|
||||
})
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
assert !stdenv.isDarwin -> stdenv.cc.isGNU;
|
||||
assert stdenv.isFreeBSD || stdenv.isDarwin || stdenv.cc.isGNU;
|
||||
|
||||
# TODO:
|
||||
# * Add gio-module-fam
|
||||
|
@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
|
||||
# (Windows' linker would need to be used somehow to produce an actual
|
||||
# DLL.) Thus, build the static library too, and this is what Gettext
|
||||
# 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 = {
|
||||
# Disable stripping to avoid "libiconv.a: Archive has no index" (MinGW).
|
||||
|
@ -58,8 +58,9 @@ in stdenv.mkDerivation {
|
||||
ln -s bzip2 $out/bin/bzcat
|
||||
'';
|
||||
|
||||
patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||
substituteInPlace Makefile --replace 'CC=gcc' 'CC=clang'
|
||||
patchPhase = ''
|
||||
substituteInPlace Makefile --replace CC=gcc CC=cc
|
||||
substituteInPlace Makefile-libbz2_so --replace CC=gcc CC=cc
|
||||
'';
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
|
||||
inherit version;
|
||||
homepage = http://miniupnp.free.fr/;
|
||||
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…
Reference in New Issue
Block a user