It worked in python2 but not the way the authors imagined. Because hex always returns a string.
From python2:
>>> 1 > "2"
False
>>> "2" > 1
True
>>> "1" > 2
True
The rational is that an integer is always smaller than a string.
In python 3 this because it does not make sense to compare objects of different types.
sopts = '-define pdf:use-cropbox=true ' + sopts
# If supported, add the -flatten option for ppm target formats (see bug 4749)
-if sys.argv[3] == 'ppm' and (im and version >= 0x060305 or gm):
+if sys.argv[3] == 'ppm' and (im and version >= "0x060305" or gm):
topts = '-flatten'
# print (command, sys.argv[2], sys.argv[4], file= sys.stdout)