diff --git a/patches/color-sRGB-profile/0001-wine.inf-Add-sRGB-color-profile.patch b/patches/color-sRGB-profile/0001-wine.inf-Add-sRGB-color-profile.patch deleted file mode 100644 index c92fa5ef..00000000 --- a/patches/color-sRGB-profile/0001-wine.inf-Add-sRGB-color-profile.patch +++ /dev/null @@ -1,229 +0,0 @@ -From 01cf21eb49307de6b0eb5445b9befdf8f585e3f7 Mon Sep 17 00:00:00 2001 -From: Alex Henrie -Date: Sat, 12 Sep 2020 01:45:02 -0600 -Subject: [PATCH] wine.inf: Add sRGB color profile - -"This profile is made available by the International Color Consortium, -and may be copied, distributed, embedded, made, used, and sold without -restriction. Altered versions of this profile shall have the original -identification and copyright information removed and shall not be -misrepresented as the original profile." - -See http://www.color.org/srgbprofiles.xalter - -Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=37396 -Signed-off-by: Alex Henrie ---- - Makefile.in | 1 + - color/Makefile.in | 2 ++ - color/sRGB_Color_Space_Profile.icm | Bin 0 -> 3024 bytes - configure.ac | 2 ++ - loader/wine.inf.in | 14 +++++++++----- - tools/makedep.c | 12 ++++++++++++ - 6 files changed, 26 insertions(+), 5 deletions(-) - create mode 100644 color/Makefile.in - create mode 100644 color/sRGB_Color_Space_Profile.icm - -diff --git a/Makefile.in b/Makefile.in -index 307a95b3b1..367bc3fe77 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -27,6 +27,7 @@ datarootdir = @datarootdir@ - datadir = @datadir@ - mandir = @mandir@ - includedir = @includedir@ -+colordir = ${datadir}/wine/color - fontdir = ${datadir}/wine/fonts - nlsdir = ${datadir}/wine/nls - dlldir = ${libdir}/wine -diff --git a/color/Makefile.in b/color/Makefile.in -new file mode 100644 -index 0000000000..f9f6f62a3b ---- /dev/null -+++ b/color/Makefile.in -@@ -0,0 +1,2 @@ -+SOURCES = \ -+ sRGB_Color_Space_Profile.icm -diff --git a/color/sRGB_Color_Space_Profile.icm b/color/sRGB_Color_Space_Profile.icm -new file mode 100644 -index 0000000000000000000000000000000000000000..49afbfef10f22a1832590b68369d2f248ea553b9 -GIT binary patch -literal 3024 -zcmb`Jc{r5o8^@pboqe;-klom~#=Z=)?<7n1RL0C;EQ4W?v`H$Qlq6e;oU(N2=!6`p -zq_j9fq0&N*O8IqkN}I~>9j@P{b6vkb&vRYx^M3C8x$pP6pZoda{Q^K51jvAqCy}2f -z2yl0zhlYjIaZeGKxM&3c7CSY0nf@_DE7pfmuw>n3hyBge}>zEF^|hhw$p<`Vm43NktlHVq|Q#Wc`bi=uVbDr*Q%R@mv7f?y!Y| -z^kpAf^uhola$__g2b6(2&;bl!0xW?IZ~(5r3;2RS5C%2@Hi!j@Kmam8HrNI7Kmj-i -zj(`eK4eCGxXa=pI9dv;!;5xVs2Ehmz2NPf#yasdN16Y6{2nSIhDkKM~K$?&~WCAfE -zJIEDU3k5)7P$U!s@gX6U4ef>spkk;3s(~7yU!e=o73d~31U-Nzp&96J=nIU3$uJF8 -zg0)~nm^L%}Fw^fA^LPfRE#29trw!<1r9Va{W&VMZ|1m=9PiRtBq$wZwX0 -z!?1DKt=K~BF>DL=GIj_%g`LOYaB?_(oGs25$HJxI@^Iz2Gq_8*VcazC6P|=u!JFXS -z@ZoqqJ_lclZ^U=whw(4)3j_&*Cc&EEOW+W;5Q+$OgigX8!ZcxlC`r^N+7bhaal~E3 -zGGa6F8u1bF9f?FzBUzFBNj%a{QW@zi=>}<%^qDM0)+0NUBgjJX0rF|`W%2{^I|_xO -zMRA~nQ_?60C=HaWlqZx=VpK5$F;6j$*bcEuu{N<`u{YubaZPbY@lE1c;-%u}#P5jD -zN)RNpB%CE!65AyzB`!#eNz6-9C5m -zB-1K0D)VKP(kjPQ+*SKmHLn_8^-)$q);f{g-OAzz_Y;h`d|sHYg9xK;6_V!z_NlCqM!QnFIH(p9BdWf^4$ -z67?SSISmyJAB}8{CXI)h1Wl%9tmaY8KFyC>+FBu6d$roNUTVu~dunHC -zH)%i8q3GD_r0CS@+|$MCGIis1kLeET!FuL;v3iwycl2R>3w@scG5w*{nAKLR`KxPJ -zk1@y$M@BlMi7{y)W3bjB$DrNdjiH8NxZxqgKEv-u=0*udbw=aHQpR4!ImVsFf1Bu; -zuuUpW?wL|d-As3wc9_03(>LRq9XGpgPBr&2-)r7u{>{SDLSWHsF=MG=8EIK%ImV{PDV}wr}Iu9ovod>IbU``xwyOJy9~HW -zxdypbxIS@HbBl3na+`BEci-xM*#qO@?QzIs%u~se?b+Zt=Vj@&&8yd&?7iN*!u#1; -zy|se1oj$OSm(O9JN9#1#@z=Hc0$)$x!@iIGwEa^2e)q@v`}tS;KMybt$PVaRPhG!x -zedGEMflh%%f#X3sLBgP(VDaFH;D+FjAub`sArqm7q1!@lhslTW!aBln;lbgj!sj=* -zZaA`GI>J06FJg3~_QuSOH#f;|O4xL9v-oD#=5vvl$dJg!$geD4RxN8j$}_4eYL4y9 -zKFWU0ap072X1KQ8V(yD*+vwuxmoc_6hht`9?PE)0XL-)N3f|i|kGSf%kMX|or{fnB -zLK0dM@rjX%7x+^Acz$n^a#Ci}P_lklKhhQM>Ze1S!z~VeUx}qcyyv{ZCOXTM)|?=uNAQsBb82-EmewD`>Q@4 -z;~X14?r^-hTB*9A`pXI4iTgF~HEp$8wWTMqC(}uM0h$Hl62xH~9T@mugq#Md^!0-Nf$P?!`-4 -zm*y`gU!J`Zb7iV$bIqdq~gGTRGoA)2d|5UxvdGp&}4uAE}h0aaC6}(;i -zyYQXdyVLK@-uKM=%|H2&_+jB={wKLl^`Dua`@V#Hd9jf375BC5o9?&H@7~`ZEha85 -z{-8k&JYAjX7RFW<77P=HG2Mk5%@QW0(M8J6IVmAYD4?%TX0f?+23;gpmIcJWHm~TE -zsB!?>_W&UKaK(pgBT{F`Sk`1q_=ApIvi~>1Kja-poFc8Ycg2@f3jlK-0Mx-$UJPB7 -zEaT{Co~CjhDoy^Z4|Cv`LizZ;q8ZSF~{&Hxtp1 -zNS#T^TLiqA*fhE)KaDHkvqTlK5|(a9AgVDnNsz`9Ca$I)0svP6z_+5s#f6&1#cxP2P~!kx7XBBF2+<<| - -literal 0 -HcmV?d00001 - -diff --git a/configure.ac b/configure.ac -index 20ae7577fa..c615f1bfe0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2810,6 +2810,7 @@ dummy: - WINE_CONFIG_SYMLINK(wine,tools/winewrapper) - WINE_CONFIG_SYMLINK(wine64,tools/winewrapper,["x$enable_win64" != xno -o -n "$with_wine64"]) - -+WINE_CONFIG_MAKEFILE(color) - WINE_CONFIG_MAKEFILE(dlls/acledit) - WINE_CONFIG_MAKEFILE(dlls/aclui) - WINE_CONFIG_MAKEFILE(dlls/activeds.tlb) -@@ -4146,6 +4147,7 @@ clean:: - else - TOP_INSTALL_DEV="$TOP_INSTALL_DEV include" - TOP_INSTALL_LIB="$TOP_INSTALL_LIB \ -+color \ - fonts \ - loader/wine.inf \ - loader/winebus.inf \ -diff --git a/loader/wine.inf.in b/loader/wine.inf.in -index cd0e7bd16f..f84567c13e 100644 ---- a/loader/wine.inf.in -+++ b/loader/wine.inf.in -@@ -30,7 +30,7 @@ signature="$CHICAGO$" - RegisterDlls=RegisterDllsSection - WineFakeDlls=FakeDllsWin32,FakeDlls - UpdateInis=SystemIni --CopyFiles=InfFiles,NlsFiles,SortFiles -+CopyFiles=ColorFiles,InfFiles,NlsFiles,SortFiles - AddReg=\ - Classes,\ - ContentIndex,\ -@@ -54,7 +54,7 @@ AddReg=\ - RegisterDlls=RegisterDllsSection - WineFakeDlls=FakeDllsWin32,FakeDlls - UpdateInis=SystemIni --CopyFiles=InfFiles,NlsFiles,SortFiles -+CopyFiles=ColorFiles,InfFiles,NlsFiles,SortFiles - AddReg=\ - Classes,\ - ContentIndex,\ -@@ -80,7 +80,7 @@ RegisterDlls=RegisterDllsSection - WineFakeDlls=FakeDllsWin64,FakeDlls - WinePreInstall=Wow64 - UpdateInis=SystemIni --CopyFiles=InfFiles,NlsFiles,SortFiles -+CopyFiles=ColorFiles,InfFiles,NlsFiles,SortFiles - AddReg=\ - Classes,\ - ContentIndex,\ -@@ -107,7 +107,7 @@ RegisterDlls=RegisterDllsSection - WineFakeDlls=FakeDllsWin64,FakeDlls - WinePreInstall=Wow64 - UpdateInis=SystemIni --CopyFiles=InfFiles,NlsFiles,SortFiles -+CopyFiles=ColorFiles,InfFiles,NlsFiles,SortFiles - AddReg=\ - Classes,\ - ContentIndex,\ -@@ -2670,7 +2670,6 @@ HKLM,%CurrentVersion%\Telephony\Country List\998,"SameAreaRule",,"G" - 11,catroot, - 11,mui, - 11,tasks, --11,spool\drivers\color, - 11,spool\printers, - 10,,explorer.exe - 10,,hh.exe -@@ -3886,6 +3885,9 @@ HKLM,Software\Wine\LicenseInformation,"Shell-InBoxGames-Solitaire-EnableGame",0x - HKLM,Software\Wine\LicenseInformation,"Shell-InBoxGames-SpiderSolitaire-EnableGame",0x10001,0x00000001 - HKLM,Software\Wine\LicenseInformation,"Shell-PremiumInBoxGames-Chess-EnableGame",0x10001,0x00000001 - -+[ColorFiles] -+"sRGB Color Space Profile.icm",sRGB_Color_Space_Profile.icm -+ - [InfFiles] - winebus.inf - winehid.inf -@@ -3968,10 +3970,12 @@ normnfkd.nls - sortdefault.nls - - [WineSourceDirs] -+ColorFiles = color - NlsFiles = nls - SortFiles = nls - - [DestinationDirs] -+ColorFiles = 11,spool\drivers\color - InfFiles = 17 - NlsFiles = 11 - SortFiles = 10,globalization\sorting -diff --git a/tools/makedep.c b/tools/makedep.c -index 7fe2c4daf5..aa188d6fe5 100644 ---- a/tools/makedep.c -+++ b/tools/makedep.c -@@ -2955,6 +2955,17 @@ static void output_source_svg( struct makefile *make, struct incl_file *source, - } - - -+/******************************************************************* -+ * output_source_icm -+ */ -+static void output_source_icm( struct makefile *make, struct incl_file *source, const char *obj ) -+{ -+ add_install_rule( make, source->name, source->name, -+ strmake( "D$(colordir)/%s", source->name )); -+ output_srcdir_symlink( make, strmake( "%s.icm", obj )); -+} -+ -+ - /******************************************************************* - * output_source_nls - */ -@@ -3171,6 +3182,7 @@ static const struct - { "tlb", output_source_tlb }, - { "sfd", output_source_sfd }, - { "svg", output_source_svg }, -+ { "icm", output_source_icm }, - { "nls", output_source_nls }, - { "desktop", output_source_desktop }, - { "po", output_source_po }, --- -2.28.0 - diff --git a/patches/color-sRGB-profile/0001-winspool-Add-sRGB-color-profile.patch b/patches/color-sRGB-profile/0001-winspool-Add-sRGB-color-profile.patch new file mode 100644 index 00000000..15ca1d3a --- /dev/null +++ b/patches/color-sRGB-profile/0001-winspool-Add-sRGB-color-profile.patch @@ -0,0 +1,167 @@ +From b037d19858277d7dde0df6cdf4678a55517366af Mon Sep 17 00:00:00 2001 +From: Alex Henrie +Date: Tue, 22 Sep 2020 22:00:11 -0600 +Subject: [PATCH] winspool: Add sRGB color profile + +"This profile is made available by the International Color Consortium, +and may be copied, distributed, embedded, made, used, and sold without +restriction. Altered versions of this profile shall have the original +identification and copyright information removed and shall not be +misrepresented as the original profile." + +See http://www.color.org/srgbprofiles.xalter + +Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=37396 +Signed-off-by: Alex Henrie +--- + .../winspool.drv/sRGB_Color_Space_Profile.icm | Bin 0 -> 3024 bytes + dlls/winspool.drv/winspool.rc | 3 ++ + dlls/winspool.drv/wspool.c | 38 ++++++++++++++++++ + dlls/winspool.drv/wspool.h | 2 + + 4 files changed, 43 insertions(+) + create mode 100644 dlls/winspool.drv/sRGB_Color_Space_Profile.icm + +diff --git a/dlls/winspool.drv/sRGB_Color_Space_Profile.icm b/dlls/winspool.drv/sRGB_Color_Space_Profile.icm +new file mode 100644 +index 0000000000000000000000000000000000000000..49afbfef10f22a1832590b68369d2f248ea553b9 +GIT binary patch +literal 3024 +zcmb`Jc{r5o8^@pboqe;-klom~#=Z=)?<7n1RL0C;EQ4W?v`H$Qlq6e;oU(N2=!6`p +zq_j9fq0&N*O8IqkN}I~>9j@P{b6vkb&vRYx^M3C8x$pP6pZoda{Q^K51jvAqCy}2f +z2yl0zhlYjIaZeGKxM&3c7CSY0nf@_DE7pfmuw>n3hyBge}>zEF^|hhw$p<`Vm43NktlHVq|Q#Wc`bi=uVbDr*Q%R@mv7f?y!Y| +z^kpAf^uhola$__g2b6(2&;bl!0xW?IZ~(5r3;2RS5C%2@Hi!j@Kmam8HrNI7Kmj-i +zj(`eK4eCGxXa=pI9dv;!;5xVs2Ehmz2NPf#yasdN16Y6{2nSIhDkKM~K$?&~WCAfE +zJIEDU3k5)7P$U!s@gX6U4ef>spkk;3s(~7yU!e=o73d~31U-Nzp&96J=nIU3$uJF8 +zg0)~nm^L%}Fw^fA^LPfRE#29trw!<1r9Va{W&VMZ|1m=9PiRtBq$wZwX0 +z!?1DKt=K~BF>DL=GIj_%g`LOYaB?_(oGs25$HJxI@^Iz2Gq_8*VcazC6P|=u!JFXS +z@ZoqqJ_lclZ^U=whw(4)3j_&*Cc&EEOW+W;5Q+$OgigX8!ZcxlC`r^N+7bhaal~E3 +zGGa6F8u1bF9f?FzBUzFBNj%a{QW@zi=>}<%^qDM0)+0NUBgjJX0rF|`W%2{^I|_xO +zMRA~nQ_?60C=HaWlqZx=VpK5$F;6j$*bcEuu{N<`u{YubaZPbY@lE1c;-%u}#P5jD +zN)RNpB%CE!65AyzB`!#eNz6-9C5m +zB-1K0D)VKP(kjPQ+*SKmHLn_8^-)$q);f{g-OAzz_Y;h`d|sHYg9xK;6_V!z_NlCqM!QnFIH(p9BdWf^4$ +z67?SSISmyJAB}8{CXI)h1Wl%9tmaY8KFyC>+FBu6d$roNUTVu~dunHC +zH)%i8q3GD_r0CS@+|$MCGIis1kLeET!FuL;v3iwycl2R>3w@scG5w*{nAKLR`KxPJ +zk1@y$M@BlMi7{y)W3bjB$DrNdjiH8NxZxqgKEv-u=0*udbw=aHQpR4!ImVsFf1Bu; +zuuUpW?wL|d-As3wc9_03(>LRq9XGpgPBr&2-)r7u{>{SDLSWHsF=MG=8EIK%ImV{PDV}wr}Iu9ovod>IbU``xwyOJy9~HW +zxdypbxIS@HbBl3na+`BEci-xM*#qO@?QzIs%u~se?b+Zt=Vj@&&8yd&?7iN*!u#1; +zy|se1oj$OSm(O9JN9#1#@z=Hc0$)$x!@iIGwEa^2e)q@v`}tS;KMybt$PVaRPhG!x +zedGEMflh%%f#X3sLBgP(VDaFH;D+FjAub`sArqm7q1!@lhslTW!aBln;lbgj!sj=* +zZaA`GI>J06FJg3~_QuSOH#f;|O4xL9v-oD#=5vvl$dJg!$geD4RxN8j$}_4eYL4y9 +zKFWU0ap072X1KQ8V(yD*+vwuxmoc_6hht`9?PE)0XL-)N3f|i|kGSf%kMX|or{fnB +zLK0dM@rjX%7x+^Acz$n^a#Ci}P_lklKhhQM>Ze1S!z~VeUx}qcyyv{ZCOXTM)|?=uNAQsBb82-EmewD`>Q@4 +z;~X14?r^-hTB*9A`pXI4iTgF~HEp$8wWTMqC(}uM0h$Hl62xH~9T@mugq#Md^!0-Nf$P?!`-4 +zm*y`gU!J`Zb7iV$bIqdq~gGTRGoA)2d|5UxvdGp&}4uAE}h0aaC6}(;i +zyYQXdyVLK@-uKM=%|H2&_+jB={wKLl^`Dua`@V#Hd9jf375BC5o9?&H@7~`ZEha85 +z{-8k&JYAjX7RFW<77P=HG2Mk5%@QW0(M8J6IVmAYD4?%TX0f?+23;gpmIcJWHm~TE +zsB!?>_W&UKaK(pgBT{F`Sk`1q_=ApIvi~>1Kja-poFc8Ycg2@f3jlK-0Mx-$UJPB7 +zEaT{Co~CjhDoy^Z4|Cv`LizZ;q8ZSF~{&Hxtp1 +zNS#T^TLiqA*fhE)KaDHkvqTlK5|(a9AgVDnNsz`9Ca$I)0svP6z_+5s#f6&1#cxP2P~!kx7XBBF2+<<| + +literal 0 +HcmV?d00001 + +diff --git a/dlls/winspool.drv/winspool.rc b/dlls/winspool.drv/winspool.rc +index 50772ce60bb..1b573be096e 100644 +--- a/dlls/winspool.drv/winspool.rc ++++ b/dlls/winspool.drv/winspool.rc +@@ -47,6 +47,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + /* @makedep: generic.ppd */ + 1 PPDFILE generic.ppd + ++/* @makedep: sRGB_Color_Space_Profile.icm */ ++IDR_SRGB_ICM RCDATA sRGB_Color_Space_Profile.icm ++ + #define WINE_FILENAME_STR "winspool.drv" + #define WINE_FILEDESCRIPTION_STR "Wine core printer driver" + +diff --git a/dlls/winspool.drv/wspool.c b/dlls/winspool.drv/wspool.c +index bbfb0fb0f42..baa7bfdb455 100644 +--- a/dlls/winspool.drv/wspool.c ++++ b/dlls/winspool.drv/wspool.c +@@ -104,6 +104,43 @@ BOOL load_backend(void) + return FALSE; + } + ++static void create_color_profiles(void) ++{ ++ static const WCHAR color_dir[] = {'\\','s','p','o','o','l', ++ '\\','d','r','i','v','e','r','s', ++ '\\','c','o','l','o','r','\\',0}; ++ static const WCHAR srgb_icm[] = {'s','R','G','B',' ', ++ 'C','o','l','o','r',' ', ++ 'S','p','a','c','e',' ', ++ 'P','r','o','f','i','l','e','.','i','c','m',0}; ++ WCHAR profile_path[MAX_PATH]; ++ HANDLE file; ++ HRSRC res; ++ DWORD size, written; ++ char *data; ++ BOOL ret; ++ ++ GetSystemDirectoryW(profile_path, ARRAY_SIZE(profile_path)); ++ lstrcatW(profile_path, color_dir); ++ lstrcatW(profile_path, srgb_icm); ++ ++ file = CreateFileW(profile_path, GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL); ++ if (file == INVALID_HANDLE_VALUE) ++ return; ++ ++ ret = ((res = FindResourceA(WINSPOOL_hInstance, MAKEINTRESOURCEA(IDR_SRGB_ICM), (const char *)RT_RCDATA)) && ++ (size = SizeofResource(WINSPOOL_hInstance, res)) && ++ (data = LoadResource(WINSPOOL_hInstance, res)) && ++ WriteFile(file, data, size, &written, NULL) && ++ written == size); ++ CloseHandle(file); ++ if (!ret) ++ { ++ ERR("Failed to create %s\n", wine_dbgstr_w(profile_path)); ++ DeleteFileW(profile_path); ++ } ++} ++ + /****************************************************************************** + * DllMain + * +@@ -118,6 +155,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD reason, LPVOID lpReserved) + WINSPOOL_hInstance = hInstance; + DisableThreadLibraryCalls(hInstance); + WINSPOOL_LoadSystemPrinters(); ++ create_color_profiles(); + break; + } + case DLL_PROCESS_DETACH: +diff --git a/dlls/winspool.drv/wspool.h b/dlls/winspool.drv/wspool.h +index 06c28231330..a229b1ffe88 100644 +--- a/dlls/winspool.drv/wspool.h ++++ b/dlls/winspool.drv/wspool.h +@@ -33,5 +33,7 @@ extern void WINSPOOL_LoadSystemPrinters(void) DECLSPEC_HIDDEN; + #define IDS_FILE_EXISTS 11 + #define IDS_CANNOT_OPEN 12 + ++#define IDR_SRGB_ICM 2 ++ + #define FILENAME_DIALOG 100 + #define EDITBOX 201 +-- +2.28.0 + diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index db3860ea..be46160b 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -1825,10 +1825,11 @@ fi # | * [#37396] Add sRGB color profile. # | # | Modified files: -# | * Makefile.in, color/Makefile.in, color/sRGB_Color_Space_Profile.icm, configure.ac, loader/wine.inf.in, tools/makedep.c +# | * dlls/winspool.drv/sRGB_Color_Space_Profile.icm, dlls/winspool.drv/winspool.rc, dlls/winspool.drv/wspool.c, +# | dlls/winspool.drv/wspool.h # | if test "$enable_color_sRGB_profile" -eq 1; then - patch_apply color-sRGB-profile/0001-wine.inf-Add-sRGB-color-profile.patch + patch_apply color-sRGB-profile/0001-winspool-Add-sRGB-color-profile.patch fi # Patchset comctl32-Listview_DrawItem