Fix mg building on darwin.
I am not happy with this at all. It avoids using libbsd at all on darwin because there are conflicting header files, particularly the header string.h. Ideally that would be the thing to fix. But in the meantime, this patch should do the trick. It declares a header file apple.h, which files include if target is darwin (checks for presence of __APPLE__). This header file also references the three source files futimens.c, reallocarray.c and strtonum.c. The former and latter are from https://github.com/ibara/mg which is another portable fork, but building against more platforms. From the OpenBSD source tree is _null.h and tree.h. There is a check so that if __APPLE__ is present then it will include them from this source tree. Now,the makefile GNUMakefile will not link against libbsd on darwin, by checking the output of uname in much the same way as it did already for FreeBSD.
This commit is contained in:
parent
40e30f9652
commit
a0c2892c06
1402
pkgs/applications/editors/mg/darwin_no_libbsd.patch
Normal file
1402
pkgs/applications/editors/mg/darwin_no_libbsd.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libbsd, ncurses, buildPackages }:
|
||||
{ stdenv, fetchurl, pkgconfig, ncurses, buildPackages, libbsd }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mg";
|
||||
version = "20171014";
|
||||
version = "20180927";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://homepage.boetes.org/software/mg/${pname}-${version}.tar.gz";
|
||||
sha256 = "0hakfikzsml7z0hja8m8mcahrmfy2piy81bq9nccsjplyfc9clai";
|
||||
url = "https://github.com/hboetes/mg/archive/${version}.tar.gz";
|
||||
sha256 = "fbb09729ea00fe42dcdbc96ac7fc1d2b89eac651dec49e4e7af52fad4f5788f6";
|
||||
};
|
||||
|
||||
enableParallelBuilding = true;
|
||||
@ -17,10 +17,11 @@ stdenv.mkDerivation rec {
|
||||
install -m 555 -Dt $out/bin mg
|
||||
install -m 444 -Dt $out/share/man/man1 mg.1
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
buildInputs = [ libbsd ncurses ];
|
||||
patches = ./darwin_no_libbsd.patch;
|
||||
|
||||
buildInputs = [ ncurses ] ++ stdenv.lib.optional (!stdenv.isDarwin) libbsd;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Micro GNU/emacs, a portable version of the mg maintained by the OpenBSD team";
|
||||
|
Loading…
Reference in New Issue
Block a user