freefilesync: 13.9 -> 14.0

+75 -3
+25 -3
pkgs/by-name/fr/freefilesync/package.nix
··· 4 4 fetchurl, 5 5 fetchpatch, 6 6 fetchDebianPatch, 7 + fetchFromGitHub, 7 8 copyDesktopItems, 8 9 pkg-config, 9 10 wrapGAppsHook3, ··· 17 18 makeDesktopItem, 18 19 }: 19 20 21 + let 22 + wxwidgets_3_3 = wxGTK32.overrideAttrs ( 23 + finalAttrs: previousAttrs: { 24 + version = "3.3.0-unstable-2025-02-02"; 25 + src = fetchFromGitHub { 26 + owner = "wxWidgets"; 27 + repo = "wxWidgets"; 28 + rev = "969c5a46b5c1da57836f721a4ce5df9feaa437f9"; 29 + fetchSubmodules = true; 30 + hash = "sha256-ODPE896xc5RxdyfIzdPB5fsTeBm3O+asYJd99fuW6AY="; 31 + }; 32 + patches = [ 33 + ./wxcolorhook.patch 34 + ]; 35 + configureFlags = lib.subtractLists [ 36 + "--disable-compat28" 37 + "--enable-unicode" 38 + ] previousAttrs.configureFlags; 39 + } 40 + ); 41 + in 20 42 stdenv.mkDerivation (finalAttrs: { 21 43 pname = "freefilesync"; 22 - version = "13.9"; 44 + version = "14.0"; 23 45 24 46 src = fetchurl { 25 47 url = "https://freefilesync.org/download/FreeFileSync_${finalAttrs.version}_Source.zip"; ··· 28 50 rm -f $out 29 51 tryDownload "$url" 30 52 ''; 31 - hash = "sha256-53UPGg02JZr15r99ntkpZKqB/DgPjkGTQyuMt703t6s="; 53 + hash = "sha256-qxt6fpJT0jKcSYJ+WVneks6PI18/wwSc5H84qICegag="; 32 54 }; 33 55 34 56 sourceRoot = "."; ··· 72 94 gtk3 73 95 libssh2 74 96 openssl 75 - wxGTK32 97 + wxwidgets_3_3 76 98 ]; 77 99 78 100 env.NIX_CFLAGS_COMPILE = toString [
+50
pkgs/by-name/fr/freefilesync/wxcolorhook.patch
··· 1 + diff --git a/include/wx/settings.h b/include/wx/settings.h 2 + index 3967b98b46..8d7f3d2870 100644 3 + --- a/include/wx/settings.h 4 + +++ b/include/wx/settings.h 5 + @@ -13,6 +13,8 @@ 6 + #include "wx/colour.h" 7 + #include "wx/font.h" 8 + 9 + +#include <memory> 10 + + 11 + class WXDLLIMPEXP_FWD_CORE wxWindow; 12 + 13 + // possible values for wxSystemSettings::GetFont() parameter 14 + @@ -241,9 +243,28 @@ public: 15 + // include the declaration of the real platform-dependent class 16 + // ---------------------------------------------------------------------------- 17 + 18 + +struct wxColorHook 19 + +{ 20 + + virtual ~wxColorHook() {} 21 + + virtual wxColor getColor(wxSystemColour index) const = 0; 22 + +}; 23 + +WXDLLIMPEXP_CORE inline std::unique_ptr<wxColorHook>& refGlobalColorHook() 24 + +{ 25 + + static std::unique_ptr<wxColorHook> globalColorHook; 26 + + return globalColorHook; 27 + +} 28 + + 29 + class WXDLLIMPEXP_CORE wxSystemSettings : public wxSystemSettingsNative 30 + { 31 + public: 32 + + static wxColour GetColour(wxSystemColour index) 33 + + { 34 + + if (refGlobalColorHook()) 35 + + return refGlobalColorHook()->getColor(index); 36 + + 37 + + return wxSystemSettingsNative::GetColour(index); 38 + + } 39 + + 40 + #ifdef __WXUNIVERSAL__ 41 + // in wxUniversal we want to use the theme standard colours instead of the 42 + // system ones, otherwise wxSystemSettings is just the same as 43 + @@ -264,7 +285,6 @@ public: 44 + 45 + // Value 46 + static wxSystemScreenType ms_screen; 47 + - 48 + }; 49 + 50 + #endif