ref: c0308c9319d40438db668e67fb944e08062148c7
parent: 9df80d7587f9d0060ab74d3cb862e438a9f79291
author: Simon Tatham <anakin@pobox.com>
date: Sat Oct 3 09:15:59 EDT 2015
Add '-set colorspace RGB' to some icon convert commands. Its absence was breaking the icon build on Ubuntu 14.04, because you ask convert to map an image into a specific 16-colour palette, and it does so and _then_ nonconsensually maps those colours in turn through a colourspace transformation you didn't ask for, causing icon.pl to fail an assertion when it finds an RGB value not in the palette.
--- a/icons/Makefile
+++ b/icons/Makefile
@@ -27,6 +27,10 @@
BIN = ../
PIC = ./
+# Work around newer ImageMagick unilaterally distorting colours when
+# converting to PNG.
+CSP = -set colorspace RGB
+
base: $(BASE)
web: $(WEB)
pngicons: $(P48D24) $(P32D24) $(P16D24)
@@ -93,7 +97,7 @@
# seems to work better than reducing it in 24 bits and then
# dithering.
$(IBASE4): %-ibase4.png: %-ibase.png
- convert -colors 16 +dither -map $(PIC)win16pal.xpm $^ $@
+ convert -colors 16 +dither $(CSP) -map $(PIC)win16pal.xpm $^ $@
# Build the 24-bit PNGs for the icons, at three sizes.
$(P48D24): %-48d24.png: %-ibase.png
@@ -115,15 +119,15 @@
# much...)
$(P48D4): %-48d4.png: %-ibase4.png
$(PIC)square.pl 48 1 $^ $@-tmp2.png
- convert -colors 16 -map $(PIC)win16pal.xpm $@-tmp2.png $@
+ convert -colors 16 $(CSP) -map $(PIC)win16pal.xpm $@-tmp2.png $@
rm -f $@-tmp2.png
$(P32D4): %-32d4.png: %-ibase.png
$(PIC)square.pl 32 1 $^ $@-tmp2.png
- convert -colors 16 -map $(PIC)win16pal.xpm $@-tmp2.png $@
+ convert -colors 16 $(CSP) -map $(PIC)win16pal.xpm $@-tmp2.png $@
rm -f $@-tmp2.png
$(P16D4): %-16d4.png: %-ibase.png
$(PIC)square.pl 16 1 $^ $@-tmp2.png
- convert -colors 16 -map $(PIC)win16pal.xpm $@-tmp2.png $@
+ convert -colors 16 $(CSP) -map $(PIC)win16pal.xpm $@-tmp2.png $@
rm -f $@-tmp2.png
# Build the actual Windows icons themselves, by feeding all those