wxwidgets_3_3: init at 3.3.1

This commit is contained in:
Weijia Wang 2025-06-25 17:09:15 +02:00
parent ecaec3fd41
commit 896942e500
2 changed files with 139 additions and 0 deletions

View File

@ -0,0 +1,138 @@
{
lib,
stdenv,
curl,
expat,
fetchFromGitHub,
gspell,
gst_all_1,
gtk3,
libGL,
libGLU,
libSM,
libXinerama,
libXtst,
libXxf86vm,
libnotify,
libpng,
libsecret,
libtiff,
libjpeg_turbo,
libxkbcommon,
zlib,
pcre2,
pkg-config,
xorgproto,
compat30 ? false,
compat32 ? true,
withMesa ? !stdenv.hostPlatform.isDarwin,
withWebKit ? true,
webkitgtk_4_1,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "wxwidgets";
version = "3.3.1";
src = fetchFromGitHub {
owner = "wxWidgets";
repo = "wxWidgets";
tag = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-eYmZrh9lvDnJ3VAS+TllT21emtKBPAOhqIULw1dTPhk=";
};
nativeBuildInputs = [ pkg-config ];
buildInputs = [
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
libpng
libtiff
libjpeg_turbo
zlib
pcre2
]
++ lib.optionals stdenv.hostPlatform.isLinux [
curl
gspell # wxTextCtrl spell checking
gtk3
libSM
libXinerama
libXtst
libXxf86vm
libnotify # wxNotificationMessage backend
libsecret # wxSecretStore backend
libxkbcommon # proper key codes in key events
xorgproto
]
++ lib.optional withMesa libGLU
++ lib.optional (withWebKit && stdenv.hostPlatform.isLinux) webkitgtk_4_1
++ lib.optionals stdenv.hostPlatform.isDarwin [
expat
];
configureFlags = [
"--disable-precomp-headers"
# This is the default option, but be explicit
"--disable-monolithic"
"--enable-mediactrl"
"--with-nanosvg"
"--disable-rpath"
"--enable-repro-build"
"--enable-webrequest"
(if compat30 then "--enable-compat30" else "--disable-compat30")
(if compat32 then "--enable-compat32" else "--disable-compat32")
]
++ lib.optional withMesa "--with-opengl"
++ lib.optionals stdenv.hostPlatform.isDarwin [
"--with-osx_cocoa"
"--with-libiconv"
"--with-urlsession" # for wxWebRequest
]
++ lib.optionals (!stdenv.hostPlatform.isDarwin) [
"--with-libcurl" # for wxWebRequest
]
++ lib.optionals withWebKit [
"--enable-webview"
"--enable-webviewwebkit"
];
SEARCH_LIB = lib.optionalString (
!stdenv.hostPlatform.isDarwin
) "${libGLU.out}/lib ${libGL.out}/lib";
postInstall = "
pushd $out/include
ln -s wx-*/* .
popd
";
enableParallelBuilding = true;
passthru = {
inherit compat30 compat32;
};
meta = {
homepage = "https://www.wxwidgets.org/";
description = "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.
'';
license = lib.licenses.wxWindows;
maintainers = with lib.maintainers; [
tfmoraes
fliegendewurst
wegank
];
platforms = lib.platforms.unix;
};
})

View File

@ -2181,6 +2181,7 @@ mapAliases {
wmii_hg = wmii;
wrapGAppsHook = wrapGAppsHook3; # Added 2024-03-26
write_stylus = styluslabs-write-bin; # Added 2024-10-09
wxGTK33 = wxwidgets_3_3; # Added 2025-07-20
### X ###