23 , withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
37 assert withGtk2 -> (!withWebKit);
40 gtk = if withGtk2 then gtk2 else gtk3;
42 stdenv.mkDerivation rec {
46 src = fetchFromGitHub {
50 hash = "sha256-p69nNCg552j+nldGY0oL65uFRVu4xXCkoE10F5MwY9A=";
53 nativeBuildInputs = [ pkg-config ];
56 gst_all_1.gst-plugins-base
62 ] ++ lib.optionals stdenv.isLinux [
69 ++ lib.optional withMesa libGLU
70 ++ lib.optional (withWebKit && stdenv.isLinux) webkitgtk
71 ++ lib.optional (withWebKit && stdenv.isDarwin) WebKit
72 ++ lib.optionals stdenv.isDarwin [
83 propagatedBuildInputs = lib.optional stdenv.isDarwin AGL;
86 # https://github.com/wxWidgets/wxWidgets/issues/17942
87 ./patches/0001-fix-assertion-using-hide-in-destroy.patch
91 "--disable-precomp-headers"
93 (if compat26 then "--enable-compat26" else "--disable-compat26")
94 (if compat28 then "--enable-compat28" else "--disable-compat28")
95 ] ++ lib.optional unicode "--enable-unicode"
96 ++ lib.optional withMesa "--with-opengl"
97 ++ lib.optionals stdenv.isDarwin [
98 # allow building on 64-bit
99 "--enable-universal-binaries"
100 "--with-macosx-version-min=10.7"
103 ] ++ lib.optionals withWebKit [
105 "--enable-webviewwebkit"
108 SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib";
111 substituteInPlace configure --replace \
112 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
113 substituteInPlace configure --replace \
114 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
115 substituteInPlace configure --replace \
117 '' + lib.optionalString stdenv.isDarwin ''
118 substituteInPlace configure \
119 --replace 'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' 'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
120 substituteInPlace configure \
121 --replace "-framework System" "-lSystem"
130 enableParallelBuilding = true;
133 homepage = "https://www.wxwidgets.org/";
134 description = "A Cross-Platform C++ GUI Library";
136 wxWidgets gives you a single, easy-to-use API for writing GUI applications
137 on multiple platforms that still utilize the native platform's controls
138 and utilities. Link with the appropriate library for your platform and
139 compiler, and your application will adopt the look and feel appropriate to
140 that platform. On top of great GUI functionality, wxWidgets gives you:
141 online help, network programming, streams, clipboard and drag and drop,
142 multithreading, image loading and saving in a variety of popular formats,
143 database support, HTML viewing and printing, and much more.
145 license = licenses.wxWindows;
146 maintainers = with maintainers; [ wegank ];
147 platforms = platforms.unix;
152 inherit compat26 compat28 unicode;