diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-06-16 06:56:35 +0000 |
commit | 99fcaeccb89621dd492203ce1f2d551c06f228ed (patch) | |
tree | 41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/libraries/wxwidgets/wxGTK32.nix | |
parent | 59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff) | |
parent | 75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff) | |
download | nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2 nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip |
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts: nixpkgs/nixos/modules/config/console.nix nixpkgs/nixos/modules/services/mail/mailman.nix nixpkgs/nixos/modules/services/mail/public-inbox.nix nixpkgs/nixos/modules/services/mail/rss2email.nix nixpkgs/nixos/modules/services/networking/ssh/sshd.nix nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix nixpkgs/pkgs/applications/networking/irc/weechat/default.nix nixpkgs/pkgs/applications/window-managers/sway/default.nix nixpkgs/pkgs/build-support/go/module.nix nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix nixpkgs/pkgs/development/interpreters/python/default.nix nixpkgs/pkgs/development/node-packages/overrides.nix nixpkgs/pkgs/development/tools/b4/default.nix nixpkgs/pkgs/servers/dict/dictd-db.nix nixpkgs/pkgs/servers/mail/public-inbox/default.nix nixpkgs/pkgs/tools/security/pinentry/default.nix nixpkgs/pkgs/tools/text/unoconv/default.nix nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/wxwidgets/wxGTK32.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/wxwidgets/wxGTK32.nix | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/wxwidgets/wxGTK32.nix b/nixpkgs/pkgs/development/libraries/wxwidgets/wxGTK32.nix new file mode 100644 index 000000000000..45de5b603b67 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/wxwidgets/wxGTK32.nix @@ -0,0 +1,156 @@ +{ lib +, stdenv +, expat +, fetchFromGitHub +, gst_all_1 +, gtk3 +, libGL +, libGLU +, libSM +, libXinerama +, libXtst +, libXxf86vm +, libpng +, libtiff +, libjpeg_turbo +, zlib +, pcre2 +, pkg-config +, xorgproto +, compat28 ? false +, compat30 ? true +, unicode ? true +, withMesa ? !stdenv.isDarwin +, withWebKit ? stdenv.isDarwin +, webkitgtk +, setfile +, AGL +, Carbon +, Cocoa +, Kernel +, QTKit +, AVFoundation +, AVKit +, WebKit +}: +let + catch = fetchFromGitHub { + owner = "wxWidgets"; + repo = "Catch"; + rev = "5f5e4cecd1cafc85e109471356dec29e778d2160"; + hash = "sha256-fB/E17tiAicAkq88Je/YFYohJ6EHJOO54oQaqiR/OzY="; + }; + + nanosvg = fetchFromGitHub { + owner = "wxWidgets"; + repo = "nanosvg"; + rev = "ccdb1995134d340a93fb20e3a3d323ccb3838dd0"; + hash = "sha256-ymziU0NgGqxPOKHwGm0QyEdK/8jL/QYk5UdIQ3Tn8jw="; + }; +in +stdenv.mkDerivation rec { + pname = "wxwidgets"; + version = "3.2.2.1"; + + src = fetchFromGitHub { + owner = "wxWidgets"; + repo = "wxWidgets"; + rev = "v${version}"; + hash = "sha256-u+INjo9EkW433OYoCDZpw5pcW1DyF/t/J5ntLZX+6aA="; + }; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + gst_all_1.gst-plugins-base + gst_all_1.gstreamer + libpng + libtiff + libjpeg_turbo + zlib + pcre2 + ] ++ lib.optionals stdenv.isLinux [ + gtk3 + libSM + libXinerama + libXtst + libXxf86vm + xorgproto + ] + ++ lib.optional withMesa libGLU + ++ lib.optional (withWebKit && stdenv.isLinux) webkitgtk + ++ lib.optional (withWebKit && stdenv.isDarwin) WebKit + ++ lib.optionals stdenv.isDarwin [ + expat + setfile + Carbon + Cocoa + Kernel + QTKit + AVFoundation + AVKit + WebKit + ]; + + propagatedBuildInputs = lib.optional stdenv.isDarwin AGL; + + configureFlags = [ + "--disable-precomp-headers" + # This is the default option, but be explicit + "--disable-monolithic" + "--enable-mediactrl" + "--with-nanosvg" + (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 [ + "--with-osx_cocoa" + "--with-libiconv" + ] ++ lib.optionals withWebKit [ + "--enable-webview" + "--enable-webviewwebkit" + ]; + + SEARCH_LIB = lib.optionalString (!stdenv.isDarwin) "${libGLU.out}/lib ${libGL.out}/lib"; + + preConfigure = '' + cp -r ${catch}/* 3rdparty/catch/ + cp -r ${nanosvg}/* 3rdparty/nanosvg/ + '' + 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" + ''; + + postInstall = " + pushd $out/include + ln -s wx-*/* . + popd + "; + + enableParallelBuilding = true; + + passthru = { + inherit compat28 compat30 unicode; + }; + + meta = with lib; { + homepage = "https://www.wxwidgets.org/"; + 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. + ''; + license = licenses.wxWindows; + maintainers = with maintainers; [ tfmoraes ]; + platforms = platforms.unix; + }; +} |