summaryrefslogtreecommitdiffstats
path: root/pkgs/development/libraries/wxwidgets
diff options
context:
space:
mode:
authorAndersonTorres <torres.anderson.85@protonmail.com>2022-02-02 11:21:26 -0300
committerAndersonTorres <torres.anderson.85@protonmail.com>2022-02-03 22:56:19 -0300
commitf4d364314bc064cbeb9ca8a36855bcd37848e453 (patch)
treedc963a8f808f0e29e6992dbbcf0b8579e515aada /pkgs/development/libraries/wxwidgets
parent3b8270ac54b9e1892e5ed465ac01a61cd575863f (diff)
wxGTK31: 3.1.4 -> 3.1.5
Diffstat (limited to 'pkgs/development/libraries/wxwidgets')
-rw-r--r--pkgs/development/libraries/wxwidgets/3.1/default.nix188
1 files changed, 100 insertions, 88 deletions
diff --git a/pkgs/development/libraries/wxwidgets/3.1/default.nix b/pkgs/development/libraries/wxwidgets/3.1/default.nix
index cab0197c9390..8ceaafdfece9 100644
--- a/pkgs/development/libraries/wxwidgets/3.1/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.1/default.nix
@@ -1,138 +1,150 @@
-{ lib, stdenv
+{ lib
+, stdenv
, fetchFromGitHub
, fetchurl
-, pkg-config
-, libXinerama
-, libSM
-, libXxf86vm
-, libXtst
+, gnome2
+, gst_all_1
, gtk2
-, GConf ? null
, gtk3
+, libGL
+, libGLU
+, libSM
+, libXinerama
+, libXtst
+, libXxf86vm
+, pkg-config
, xorgproto
-, gst_all_1
-, setfile
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, withMesa ? libGLSupported
-, libGLU ? null
-, libGL ? null
, compat28 ? false
, compat30 ? true
, unicode ? true
, withGtk2 ? true
-, withWebKit ? false
-, webkitgtk ? null
-, AGL ? null
-, Carbon ? null
-, Cocoa ? null
-, Kernel ? null
-, QTKit ? null
+, withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
+, withWebKit ? false, webkitgtk
+, darwin
}:
-with lib;
-
assert withMesa -> libGLU != null && libGL != null;
assert withWebKit -> webkitgtk != null;
-assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK31: You cannot enable withWebKit when using withGtk2.";
+assert withGtk2 -> (!withWebKit);
+let
+ inherit (darwin.stubs) setfile;
+ inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
+ inherit (gnome2) GConf;
+ inherit (gst_all_1) gst-plugins-base gstreamer;
+ gtk = if withGtk2 then gtk2 else gtk3;
+in
stdenv.mkDerivation rec {
- version = "3.1.4";
pname = "wxwidgets";
+ version = "3.1.5";
src = fetchFromGitHub {
owner = "wxWidgets";
repo = "wxWidgets";
rev = "v${version}";
- sha256 = "1fwzrk6w5k0vs8kqdq5lpzdbp5c09hx740wg6mi6vgmc1r67dv67";
+ hash = "sha256-2zMvcva0GUDmSYK0Wk3/2Y6R3F7MgdqGBrOhmWgVA6g=";
fetchSubmodules = true;
};
+ patches = [
+ # https://github.com/wxWidgets/wxWidgets/issues/17942
+ ../0001-fix-assertion-using-hide-in-destroy.patch
+ ];
+
+ nativeBuildInputs = [ pkg-config ];
+
buildInputs = [
- libXinerama
+ gst-plugins-base
+ gstreamer
+ gtk
libSM
- libXxf86vm
+ libXinerama
libXtst
+ libXxf86vm
xorgproto
- gst_all_1.gstreamer
- gst_all_1.gst-plugins-base
- ] ++ optionals withGtk2 [ gtk2 GConf ]
- ++ optional (!withGtk2) gtk3
- ++ optional withMesa libGLU
- ++ optional withWebKit webkitgtk
- ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
-
- nativeBuildInputs = [ pkg-config ];
-
- propagatedBuildInputs = optional stdenv.isDarwin AGL;
-
- patches = [
- (fetchurl {
- # https://trac.wxwidgets.org/ticket/17942
- url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/"
- + "fix_assertion_using_hide_in_destroy.diff";
- sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
- })
+ ]
+ ++ lib.optionals withGtk2 [
+ GConf
+ ]
+ ++ lib.optional withMesa libGLU
+ ++ lib.optional withWebKit webkitgtk
+ ++ lib.optionals stdenv.isDarwin [
+ Carbon
+ Cocoa
+ Kernel
+ QTKit
+ setfile
];
- configureFlags =
- [
- "--disable-precomp-headers"
- "--enable-mediactrl"
- (if compat28 then "--enable-compat28" else "--disable-compat28")
- (if compat30 then "--enable-compat30" else "--disable-compat30")
- ]
- ++ optional unicode "--enable-unicode"
- ++ optional withMesa "--with-opengl"
- ++ optionals stdenv.isDarwin
- # allow building on 64-bit
- [ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ]
- ++ optionals withWebKit
- [ "--enable-webview" "--enable-webviewwebkit" ];
+ propagatedBuildInputs = lib.optional stdenv.isDarwin AGL;
+
+ configureFlags = [
+ "--disable-precomp-headers"
+ "--enable-mediactrl"
+ (if compat28 then "--enable-compat28" else "--disable-compat28")
+ (if compat30 then "--enable-compat30" else "--disable-compat30")
+ ]
+ ++ lib.optional unicode "--enable-unicode"
+ ++ lib.optional withMesa "--with-opengl"
+ ++ lib.optionals stdenv.isDarwin [
+ # allow building on 64-bit
+ "--enable-universal-binaries"
+ "--with-cocoa"
+ "--with-macosx-version-min=10.7"
+ ]
+ ++ lib.optionals withWebKit [
+ "--enable-webview"
+ "--enable-webviewwebkit"
+ ];
SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib ";
- preConfigure = "
- substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
- substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
- substituteInPlace configure --replace /usr /no-such-path
- " + optionalString stdenv.isDarwin ''
+ preConfigure = ''
+ substituteInPlace configure --replace \
+ 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
+ substituteInPlace configure --replace \
+ 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
+ substituteInPlace configure --replace \
+ /usr /no-such-path
+ '' + lib.optionalString stdenv.isDarwin ''
substituteInPlace configure --replace \
'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
substituteInPlace configure --replace \
- "-framework System" \
- -lSystem
+ "-framework System" "-lSystem"
'';
postInstall = "
- (cd $out/include && ln -s wx-*/* .)
+ pushd $out/include
+ ln -s wx-*/* .
+ popd
";
- passthru = {
- inherit compat28 compat30 unicode;
- gtk = if withGtk2 then gtk2 else gtk3;
- };
-
enableParallelBuilding = true;
- meta = {
- platforms = with platforms; darwin ++ linux;
- license = licenses.wxWindows;
+ meta = with lib; {
homepage = "https://www.wxwidgets.org/";
- description = "A C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
+ description = "A Cross-Platform C++ GUI Library";
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.
+ 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.
'';
- badPlatforms = [ "x86_64-darwin" ];
- maintainers = with maintainers; [ tfmoraes ];
+ license = licenses.wxWindows;
+ maintainers = with maintainers; [ AndersonTorres tfmoraes ];
+ platforms = platforms.linux ++ platforms.darwin;
+ broken = stdenv.isDarwin; # ofBorg is failing, don't know if internal
};
+
+ passthru = {
+ inherit gtk;
+ inherit compat28 compat30 unicode;
+ };
+
}