nixpkgs/pkgs/development/libraries/wxwidgets/wxmac30.nix
Artturin f9fdf2d402 treewide: move NIX_CFLAGS_COMPILE to the env attrset
with structuredAttrs lists will be bash arrays which cannot be exported
which will be a issue with some patches and some wrappers like cc-wrapper

this makes it clearer that NIX_CFLAGS_COMPILE must be a string as lists
in env cause a eval failure
2023-02-22 21:23:04 +02:00

102 lines
2.2 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, expat
, libiconv
, libjpeg
, libpng
, libtiff
, zlib
, AGL
, Cocoa
, Kernel
, WebKit
, derez
, rez
, setfile
}:
stdenv.mkDerivation rec {
pname = "wxmac";
version = "3.0.5.1";
src = fetchFromGitHub {
owner = "wxWidgets";
repo = "wxWidgets";
rev = "v${version}";
hash = "sha256-I91douzXDAfDgm4Pplf17iepv4vIRhXZDRFl9keJJq0=";
};
buildInputs = [
expat
libiconv
libjpeg
libpng
libtiff
zlib
AGL
Cocoa
Kernel
WebKit
derez
rez
setfile
];
postPatch = ''
substituteInPlace configure --replace "-framework System" "-lSystem"
'';
configureFlags = [
"--disable-mediactrl"
"--disable-precomp-headers"
"--enable-clipboard"
"--enable-controls"
"--enable-dataviewctrl"
"--enable-display"
"--enable-dnd"
"--enable-graphics_ctx"
"--enable-std_string"
"--enable-svg"
"--enable-unicode"
"--enable-webkit"
"--with-expat"
"--with-libjpeg"
"--with-libpng"
"--with-libtiff"
"--with-macosx-version-min=10.7"
"--with-opengl"
"--with-osx_cocoa"
"--with-zlib"
"--without-liblzma"
"wx_cv_std_libfullpath=/var/empty"
];
doCheck = true;
checkPhase = ''
./wx-config --libs
'';
env.NIX_CFLAGS_COMPILE = "-Wno-undef";
enableParallelBuilding = true;
meta = with lib; {
homepage = "https://www.wxwidgets.org/";
description = "A Cross-Platform C++ GUI Library - MacOS-only build";
longDescription = ''
wxWidgets gives you a single, easy-to-use API for writing GUI applications
on multiple platforms that still utilize the native platform's controls
and utilities. Link with the appropriate library for your platform and
compiler, and your application will adopt the look and feel appropriate to
that platform. On top of great GUI functionality, wxWidgets gives you:
online help, network programming, streams, clipboard and drag and drop,
multithreading, image loading and saving in a variety of popular formats,
database support, HTML viewing and printing, and much more.
'';
license = licenses.wxWindows;
maintainers = with maintainers; [ lnl7 ];
platforms = platforms.darwin;
};
}