From 72b76c2b5680041329b58c1a5c53ecc38e6e41a59713675b218933932c4aa837 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Klaus=20K=C3=A4mpf?= Date: Mon, 25 Jun 2012 11:30:24 +0000 Subject: [PATCH] Accepting request 125962 from home:fcrozat:branches:multimedia:color_management - Release 1.4.0: + various bug fixes + add support for ICC profiles in embedded JPEG + fix CVE-2012-1616 (bnc#768322) - drop autotools patches, switch back to original Jam based build - add ajam (argyll patched version of Jam, BSD-license) to source package (needed only for build) - drop shared libraries and corresponding subpackages, not used by anything. - drop cologhug patch, merged upstream. - Add argyllcms-fixbuild.patch: fix build with system tiff/jpeg libraries - Add ajam-include.patch: add missing headers - Add argyllcms-1.4.0-warnings.patch: fix gcc warnings - Add bison as BuildRequires (needed to build ajam) - Compile with -f-no-strict-aliasing to prevent potential issues with gcc 4.7 OBS-URL: https://build.opensuse.org/request/show/125962 OBS-URL: https://build.opensuse.org/package/show/multimedia:color_management/argyllcms?expand=0&rev=11 --- Argyll_V1.3.0_autotools.patch | 1208 -------------------------------- Argyll_V1.3.5_autotools.patch | 57 -- Argyll_V1.3.5_src.zip | 3 - Argyll_V1.4.0_src.zip | 3 + ColorHug-sensor-driver.patch | 959 ------------------------- ajam-2.5.2-1.3.3.tgz | 3 + ajam-include.patch | 42 ++ argyllcms-1.3.0-udev151.patch | 13 +- argyllcms-1.4.0-warnings.patch | 23 + argyllcms-fixbuild.patch | 63 ++ argyllcms.changes | 21 + argyllcms.spec | 107 ++- 12 files changed, 203 insertions(+), 2299 deletions(-) delete mode 100644 Argyll_V1.3.0_autotools.patch delete mode 100644 Argyll_V1.3.5_autotools.patch delete mode 100644 Argyll_V1.3.5_src.zip create mode 100644 Argyll_V1.4.0_src.zip delete mode 100644 ColorHug-sensor-driver.patch create mode 100644 ajam-2.5.2-1.3.3.tgz create mode 100644 ajam-include.patch create mode 100644 argyllcms-1.4.0-warnings.patch create mode 100644 argyllcms-fixbuild.patch diff --git a/Argyll_V1.3.0_autotools.patch b/Argyll_V1.3.0_autotools.patch deleted file mode 100644 index 5deb912..0000000 --- a/Argyll_V1.3.0_autotools.patch +++ /dev/null @@ -1,1208 +0,0 @@ -=== modified file 'Makefile' ---- Argyll_V1.3.0/Makefile 2009-11-06 16:34:36 +0000 -+++ argyllcms-autotools/Makefile 2010-09-12 17:13:26 +0000 -@@ -1,10 +1,1 @@ --# default Makefile to invoke Jam -- --all:: -- jam -q -fJambase -j 3 -- --clean:: -- jam clean -- --install:: -- jam -q -fJambase -j 3 install -+# Empty Makefile - -=== added file 'Makefile.am' ---- Argyll_V1.3.0/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,30 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libargyll.la libargyllusb.la -+privatelibdir = $(pkglibdir) -+ -+libargyll_la_SOURCES = xicc/xicc.c xicc/xicc.h xicc/xcam.c xicc/xcam.h \ -+ gamut/gamut.c gamut/gamut.h xicc/xfit.c xicc/xfit.h \ -+ xicc/cam97s3.c xicc/cam97s3.h xicc/cam02.c xicc/cam02.h \ -+ xicc/moncurve.c xicc/moncurve.h xicc/xspect.c xicc/xspect.h \ -+ xicc/xcal.c xicc/xcal.h xicc/xcolorants.h xicc/xcolorants.c -+libargyll_la_LIBADD = ./rspl/librspl.la $(ICC_LIBS) \ -+ ./numlib/libargyllnum.la ./cgats/libcgats.la -+ -+if OS_LINUX -+LIBUSB_OS_SUPPORT = libusb1/libusb/os/linux_usbfs.c libusb1/libusb/os/linux_usbfs.h -+endif -+ -+libargyllusb_la_SOURCES = libusb1/libusb/core.c \ -+ libusb1/libusb/descriptor.c libusb1/libusb/io.c \ -+ libusb1/libusb/sync.c $(LIBUSB_OS_SUPPORT) -+libargyllusb_la_CFLAGS = -I $(top_srcdir)/libusb1/libusb -D _GNU_SOURCE -+ -+SUBDIRS = h doc ref numlib cgats $(ICC_SUBDIRS) plot rspl jcnf ucmm \ -+ render . gamut spectro xicc target link tweak profile scanin \ -+ imdi -+ -+EXTRA_DIST = Readme.txt ttbd.txt log.txt -+ - -=== added file 'Makefile.shared' ---- Argyll_V1.3.0/Makefile.shared 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/Makefile.shared 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,16 @@ -+# -*- mode: Makefile -*- -+ -+# Common CFLAGS for Argyll components -+AM_CFLAGS = -DUNIX -DUSE_LIBUSB1 -I$(top_srcdir)/cgats \ -+-I$(top_srcdir)/gamut -I$(top_srcdir)/h -I$(top_srcdir)/jcnf \ -+-I$(top_srcdir)/libusb1/libusb -I$(top_srcdir)/numlib \ -+-I$(top_srcdir)/plot -I$(top_srcdir)/profile -I$(top_srcdir)/render \ -+-I$(top_srcdir)/rspl -I$(top_srcdir)/spectro -I$(top_srcdir)/target \ -+-I$(top_srcdir)/ucmm -I$(top_srcdir)/xicc $(TIFF_CFLAGS) $(ICC_CFLAGS) \ -+$(YAJL_CFLAGS) -+ -+# Build libs in other dirs when required -+../%.la: -+ $(MAKE) -C $(@D) $(@F) -+./%.la: -+ $(MAKE) -C $(@D) $(@F) - -=== modified file 'cgats/Makefile' ---- Argyll_V1.3.0/cgats/Makefile 2008-11-16 13:45:00 +0000 -+++ argyllcms-autotools/cgats/Makefile 2010-09-12 17:13:26 +0000 -@@ -1,68 +1,1 @@ --# UNIX style makefile, for icclib and friends. --# "include" the right environment for your system, --# by uncommenting the appropriate line: -- --# Microsoft C++, WinNT setup --#include Makefile.WNT -- --# IBM C++, WinNT setup --include Makefile.IBMNT -- --# Generic UNIX setup --#include Makefile.UNIX -- --# Apple OSX --#include Makefile.OSX -- --############################### -- --#Compile with separate stndard malloc & file io --#CCDEFINES = $(DEFFLAG)SEPARATE_STD -- --#Set optimisation on --CCFLAGS = $(CCFLAGSDEF) $(CCOPTFLAG) $(CCDEFINES) -- --#Set debugging on --#CCFLAGS = $(CCFLAGSDEF) $(CCDEBUGFLAG) $(CCDEFINES) -- --STDHDRS = $(STDHDRSDEF) --LINKFLAGS = $(LINKFLAGSDEF) $(LINKDEBUGFLAG) -- --all:: libcgats$(SUFLIB) pars$(SUFEXE) cgats$(SUFEXE) -- -- --# Separate for executables --parsstd$(SUFOBJ): parsstd.c pars.h -- $(CC) $(CCOF)parsstd$(SUFOBJ) parsstd.c -- --cgatsstd$(SUFOBJ): cgatsstd.c cgats.h pars.h -- $(CC) $(CCOF)cgatsstd$(SUFOBJ) cgatsstd.c -- -- --pars$(SUFOBJ): pars.c pars.h -- $(CC) $(CCOF)pars$(SUFOBJ) pars.c -- --cgats$(SUFOBJ): cgats.c cgats.h pars.h -- $(CC) $(CCOF)cgats$(SUFOBJ) cgats.c -- -- --libcgats$(SUFLIB): pars$(SUFOBJ) cgats$(SUFOBJ) -- $(LIBU) $(LIBOF)libcgats$(SUFLIB) cgats$(SUFOBJ) pars$(SUFOBJ) -- $(RANLIB) libcgats$(SUFLIB) -- -- --sa_pars$(SUFOBJ): pars.c pars.h -- $(CC) $(CCOF)sa_pars$(SUFOBJ) $(DEFFLAG)STANDALONE_TEST pars.c -- --pars$(SUFEXE): sa_pars$(SUFOBJ) parsstd$(SUFOBJ) -- $(LINK) $(LINKOF)pars$(SUFEXE) sa_pars$(SUFOBJ) parsstd$(SUFOBJ) $(LINKLIBS) -- -- --sa_cgats$(SUFOBJ): cgats.c cgats.h pars.h -- $(CC) $(CCOF)sa_cgats$(SUFOBJ) $(DEFFLAG)STANDALONE_TEST cgats.c -- --cgats$(SUFEXE): sa_cgats$(SUFOBJ) pars$(SUFOBJ) parsstd$(SUFOBJ) cgatsstd$(SUFOBJ) -- $(LINK) $(LINKOF)cgats$(SUFEXE) sa_cgats$(SUFOBJ) pars$(SUFOBJ) parsstd$(SUFOBJ) \ -- cgatsstd$(SUFOBJ) $(LINKLIBS) -- -- -+# Empty Makefile - -=== added file 'cgats/Makefile.am' ---- Argyll_V1.3.0/cgats/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/cgats/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,11 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libcgats.la -+privatelibdir = $(pkglibdir) -+ -+libcgats_la_SOURCES = pars.c pars.h cgats.c cgats.h parsstd.c \ -+ cgatsstd.c -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'configure.ac' ---- Argyll_V1.3.0/configure.ac 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/configure.ac 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,133 @@ -+AC_INIT([argyll], [1.2.0]) -+AM_INIT_AUTOMAKE([1.9 foreign]) -+ -+AC_PROG_CC -+AC_PROG_RANLIB -+AC_PROG_INSTALL -+ -+AM_PROG_LIBTOOL -+AC_PROG_LIBTOOL -+ -+AM_CONFIG_HEADER([config.h]) -+ -+AC_PATH_XTRA -+ -+AC_CHECK_LIB(m, sqrt) -+AC_CHECK_LIB(pthread, pthread_create) -+ -+AC_CHECK_LIB(tiff, TIFFOpen, TIFF_LIBS="-ltiff", , -lm) -+AC_SUBST([TIFF_LIBS]) -+ -+AC_CHECK_LIB(rt, clock_gettime) -+ -+AC_ARG_WITH(system-libicc, [ --with-system-libicc use system libicc instead of argyllcms copy],system_libicc=$withval,system_libicc=no) -+AC_MSG_CHECKING([whether to use system libicc or not]) -+if test x$system_libicc = xno ; then -+ HAVE_ICC=false -+ AC_MSG_RESULT(no) -+else -+ AC_MSG_RESULT(yes) -+ AC_CHECK_LIB(icc, new_icmFileStd_name, HAVE_ICC="true", , -lm) -+ if test "$HAVE_ICC" != "true" ; then -+ AC_MSG_ERROR([system libicc missing or not compatible with argyllcms]) -+ fi -+fi -+if test "$HAVE_ICC" = "true" ; then -+ ICC_LIBS="-licc" -+else -+ ICC_LIBS='$(top_srcdir)/icc/libicc.la' -+ ICC_CFLAGS='-I$(top_srcdir)/icc' -+ ICC_SUBDIRS='icc' -+fi -+AC_SUBST([ICC_LIBS]) -+AC_SUBST([ICC_CFLAGS]) -+AC_SUBST([ICC_SUBDIRS]) -+ -+AC_ARG_WITH(system-libyajl, [ --with-system-libyajl use system libyajl instead of argyllcms copy],system_libyajl=$withval,system_libyajl=no) -+AC_MSG_CHECKING([whether to use system libyajl or not]) -+if test x$system_libyajl = xno ; then -+ HAVE_YAJL=false -+ AC_MSG_RESULT(no) -+else -+ AC_MSG_RESULT(yes) -+ AC_CHECK_LIB(yajl, yajl_gen_c_comment, HAVE_YAJL="true", , -lm) -+ if test "$HAVE_YAJL" != "true" ; then -+ AC_MSG_ERROR([system libyajl missing or not compatible with argyllcms]) -+ fi -+fi -+if test "$HAVE_YAJL" = "true" ; then -+ YAJL_LIBS="-lyajl" -+else -+ YAJL_LIBS='$(top_srcdir)/jcnf/yajl/libyajl.la' -+ YAJL_CFLAGS='-I$(top_srcdir)/jcnf/yajl' -+ YAJL_SUBDIRS='yajl' -+fi -+AC_SUBST([YAJL_LIBS]) -+AC_SUBST([YAJL_CFLAGS]) -+AC_SUBST([YAJL_SUBDIRS]) -+ -+AC_CHECK_LIB(X11, XOpenDisplay, X_LIBS="$X_LIBS -lX11") -+AC_CHECK_LIB(Xext, XextFindDisplay, X_LIBS="$X_LIBS -lXext",,-lX11) -+AC_CHECK_LIB(Xss, XScreenSaverSuspend, X_LIBS="$X_LIBS -lXss",,-lXext -lX11) -+AC_CHECK_LIB(Xrandr, XRRRootToScreen, X_LIBS="$X_LIBS -lXrandr",,-LXext -lX11) -+AC_CHECK_LIB(Xinerama, XineramaQueryScreens, X_LIBS="$X_LIBS -lXinerama",,-LXext -lX11) -+AC_CHECK_LIB(Xxf86vm, XF86VidModeGetGamma, X_LIBS="$X_LIBS -lXxf86vm",,-lXext -lX11) -+AC_SUBST([X_LIBS]) -+ -+AC_SUBST(OS_LINUX) -+AC_SUBST(OS_BSD) -+case $host in -+ *-linux*) -+ OS_LINUX=1 -+ OS_BSD=0 -+ AC_DEFINE([OS_LINUX],[1],[Linux kernel]) -+ AM_CONDITIONAL([OS_LINUX],[true]) -+ ;; -+ *-freebsd*|*-kfreebsd*-gnu|*-openbsd*|*-netbsd*) -+ OS_LINUX=0 -+ OS_BSD=1 -+ AC_DEFINE([OS_LINUX],[0],[Linux kernel]) -+ AM_CONDITIONAL([OS_LINUX],[false]) -+ ;; -+ *) -+ OS_LINUX=0 -+ OS_BSD=0 -+ AC_DEFINE([OS_LINUX],[0],[Linux kernel]) -+ AM_CONDITIONAL([OS_LINUX],[false]) -+ ;; -+esac -+AC_DEFINE([API_EXPORTED],[],[Default visibility]) -+ -+AC_C_BIGENDIAN -+if test "$ac_cv_c_bigendian" = "yes"; then -+ BIGENDIAN="1" -+else -+ BIGENDIAN="0" -+fi -+AC_SUBST(BIGENDIAN) -+ -+AC_CONFIG_FILES([Makefile -+ h/Makefile -+ doc/Makefile -+ ref/Makefile -+ numlib/Makefile -+ cgats/Makefile -+ plot/Makefile -+ rspl/Makefile -+ icc/Makefile -+ gamut/Makefile -+ xicc/Makefile -+ link/Makefile -+ spectro/Makefile -+ profile/Makefile -+ tweak/Makefile -+ scanin/Makefile -+ render/Makefile -+ target/Makefile -+ imdi/Makefile -+ jcnf/Makefile -+ jcnf/yajl/Makefile -+ ucmm/Makefile]) -+ -+AC_OUTPUT -+ - -=== added file 'doc/Makefile.am' ---- Argyll_V1.3.0/doc/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/doc/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,8 @@ -+## Process this file with automake to produce Makefile.in -+ -+docdir = $(datadir)/doc/argyll -+ -+doc_DATA = $(wildcard *.txt) $(wildcard *.html) $(wildcard *.jpg) \ -+ $(wildcard *.gif) -+ -+EXTRA_DIST = $(doc_DATA) -\ No newline at end of file - -=== added file 'gamut/Makefile.am' ---- Argyll_V1.3.0/gamut/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/gamut/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,25 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libgamut.la libgammap.la -+privatelibdir = $(pkglibdir) -+ -+libgamut_la_SOURCES = gamut.h gamut.c -+libgamut_la_LIBADD = ../cgats/libcgats.la $(ICC_LIBS) \ -+ ../numlib/libargyllnum.la -+ -+libgammap_la_SOURCES = gammap.h gammap.c nearsmth.c nearsmth.h -+libgammap_la_LIBADD = ./libgamut.la $(ICC_LIBS) \ -+ ../numlib/libargyllnum.la ../plot/libvrml.la \ -+ ../rspl/librspl.la ../libargyll.la ../cgats/libcgats.la -+ -+LDADD = ./libgamut.la ./libgammap.la $(ICC_LIBS) ../cgats/libcgats.la \ -+ ../rspl/librspl.la ../plot/libvrml.la ../xicc/libxicc.la \ -+ ../spectro/libinsttypes.la ../numlib/libargyllnum.la -+ -+bin_PROGRAMS = viewgam -+ -+check_PROGRAMS = smthtest GenRMGam GenVisGam maptest surftest fakegam -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'h/Makefile.am' ---- Argyll_V1.3.0/h/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/h/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,5 @@ -+## Process this file with automake to produce Makefile.in -+ -+EXTRA_DIST = Readme.txt copyright.h config.h sort.h llist.h xlist.h \ -+ counters.h -+ - -=== modified file 'icc/Makefile' ---- Argyll_V1.3.0/icc/Makefile 2008-11-16 13:45:00 +0000 -+++ argyllcms-autotools/icc/Makefile 2010-09-12 17:13:26 +0000 -@@ -1,82 +1,1 @@ --# UNIX style makefile, for icclib and friends. --# "include" the right environment for your system, --# by uncommenting the appropriate line: -- --# Microsoft C++, WinNT setup --include Makefile.WNT -- --# IBM C++, WinNT setup --#include Makefile.IBMNT -- --# Generic UNIX setup --#include Makefile.UNIX -- --# Apple OSX --#include Makefile.OSX -- --############################### -- --#Compile with separate stdio --#CCDEFINES = $(DEFFLAG)SEPARATE_STD -- --#Set optimisation on --CCFLAGS = $(CCFLAGSDEF) $(CCOPTFLAG) $(CCDEFINES) -- --#Set debugging on --#CCFLAGS = $(CCFLAGSDEF) $(CCDEBUGFLAG) $(CCDEFINES) -- --STDHDRS = $(STDHDRSDEF) --LINKFLAGS = $(LINKFLAGSDEF) $(LINKDEBUGFLAG) -- --all:: libicc$(SUFLIB) icctest$(SUFEXE) lutest$(SUFEXE) icclu$(SUFEXE) iccdump$(SUFEXE) iccrw$(SUFEXE) -- -- --icc$(SUFOBJ): icc.c icc.h -- $(CC) $(CCOF)icc$(SUFOBJ) icc.c -- --libicc$(SUFLIB): icc$(SUFOBJ) -- $(LIBU) $(LIBOF)libicc$(SUFLIB) icc$(SUFOBJ) -- $(RANLIB) libicc$(SUFLIB) -- -- --# Separate for executables --iccstd$(SUFOBJ): iccstd.c icc.h -- $(CC) $(CCOF)iccstd$(SUFOBJ) iccstd.c -- -- --icctest$(SUFOBJ): icctest.c icc.h -- $(CC) $(CCOF)icctest$(SUFOBJ) icctest.c -- --icctest$(SUFEXE): icctest$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- $(LINK) $(LINKOF)icctest$(SUFEXE) icctest$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- -- --lutest$(SUFOBJ): lutest.c icc.h -- $(CC) $(CCOF)lutest$(SUFOBJ) lutest.c -- --lutest$(SUFEXE): lutest$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- $(LINK) $(LINKOF)lutest$(SUFEXE) lutest$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- -- --icclu$(SUFOBJ): icclu.c icc.h -- $(CC) $(CCOF)icclu$(SUFOBJ) icclu.c -- --icclu$(SUFEXE): icclu$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- $(LINK) $(LINKOF)icclu$(SUFEXE) icclu$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- -- --iccdump$(SUFOBJ): iccdump.c icc.h -- $(CC) $(CCOF)iccdump$(SUFOBJ) iccdump.c -- --iccdump$(SUFEXE): iccdump$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- $(LINK) $(LINKOF)iccdump$(SUFEXE) iccdump$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- -- --iccrw$(SUFOBJ): iccrw.c icc.h -- $(CC) $(CCOF)iccrw$(SUFOBJ) iccrw.c -- --iccrw$(SUFEXE): iccrw$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- $(LINK) $(LINKOF)iccrw$(SUFEXE) iccrw$(SUFOBJ) iccstd$(SUFOBJ) libicc$(SUFLIB) -- -- -- -+# Empty Makefile - -=== added file 'icc/Makefile.am' ---- Argyll_V1.3.0/icc/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/icc/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,20 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+LIBICC_VERSION=2.12 -+ -+lib_LTLIBRARIES = libicc.la -+ -+libicc_la_SOURCES = icc.h iccV42.h icc.c iccstd.c -+libicc_la_LDFLAGS = -version-number $(shell echo $(LIBICC_VERSION) | tr . :):0 -+ -+include_HEADERS = icc.h iccV42.h -+ -+LDADD = libicc.la -+ -+bin_PROGRAMS = iccdump icclu -+ -+check_PROGRAMS = icctest iccrw lutest -+ -+EXTRA_DIST = License.txt Readme.txt - -=== modified file 'imdi/Makefile' ---- Argyll_V1.3.0/imdi/Makefile 2009-11-06 16:34:36 +0000 -+++ argyllcms-autotools/imdi/Makefile 2010-09-12 17:13:26 +0000 -@@ -1,66 +1,1 @@ -- --# Boilerplate Makefile for compiling imdi -- --# Copyright 2000 - 2007 Graeme W. Gill --# This material is licenced under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3 :- --# see the License.txt file for licencing details. -- --# "include" the right environment for your system, --# by uncommenting the appropriate line: -- --# Microsoft VC++, WinNT setup --include Makefile.WNT -- --# Generic UNIX setup --#include Makefile.UNIX -- --# Apple OS X --#include Makefile.OSX -- -- --############################### -- --#Set optimisation on --CCFLAGS = $(CCFLAGSDEF) $(CCOPTFLAG) $(CCDEFINES) $(BCONFIG) -- --#Set debugging on --#CCFLAGS = $(CCFLAGSDEF) $(CCDEBUGFLAG) $(CCDEFINES) $(BCONFIG) --# debugging #define --#CCFLAGS = $(CCFLAGSDEF) $(CCDEBUGFLAG) $(CCDEFINES) $(DEFFLAG)DEBUG --LINKFLAGS = $(LINKFLAGSDEF) $(LINKDEBUGFLAG) -- --STDHDRS = $(INCFLAG)$(STDHDRSDEF) -- --all:: libimdi$(SUFLIB) -- --# Used by both code generator and runtime --imdi_make$(SUFEXE): imdi_make$(SUFOBJ) imdi_gen$(SUFOBJ) cgen$(SUFOBJ) -- $(LINK) $(LINKOF)imdi_make$(SUFEXE) imdi_make$(SUFOBJ) imdi_gen$(SUFOBJ) cgen$(SUFOBJ) -- -- --# The code generator program -- --cgen$(SUFOBJ): cgen.c imdi_utl.h imdi_arch.h imdi_gen.h imdi_tab.h -- $(CC) cgen.c -- --imdi_gen$(SUFOBJ): imdi_gen.c imdi_utl.h imdi_arch.h imdi_gen.h -- $(CC) imdi_gen.c -- --# Generate the kernel files --imdi_k.h imdi_k.c : imdi_make$(SUFEXE) -- .$(SLASH)imdi_make$(SUFEXE) -- -- --# imdi runtime library -- --imdi$(SUFOBJ): imdi.c imdi.h imdi_tab.h imdi_k.h imdi_k.c -- $(CC) imdi.c -- --libimdi$(SUFLIB): imdi$(SUFOBJ) imdi_tab$(SUFOBJ) -- $(LIBU) $(LIBOF)$@ imdi$(SUFOBJ) imdi_tab$(SUFOBJ) -- $(RANLIB) libimdi$(SUFLIB) -- -- -- -- -- -+# Empty Makefile - -=== added file 'imdi/Makefile.am' ---- Argyll_V1.3.0/imdi/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/imdi/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,36 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libimdi.la -+privatelibdir = $(pkglibdir) -+ -+libimdi_la_SOURCES = imdi.c imdi_tab.c imdi_arch.h imdi_gen.h imdi.h \ -+ imdi_tab.h imdi_utl.h refi.h imdi_k.h -+ -+bin_PROGRAMS = cctiff greytiff -+ -+BINLDADD = ./libimdi.la ../spectro/libinsttypes.la ../plot/libvrml.la \ -+ ../xicc/libxicc.la ../xicc/libxutils.la ../gamut/libgamut.la \ -+ ../gamut/libgammap.la ../rspl/librspl.la $(ICC_LIBS) \ -+ ../cgats/libcgats.la ../numlib/libargyllnum.la ../libargyll.la \ -+ $(TIFF_LIBS) -+ -+cctiff_LDADD = $(BINLDADD) -+greytiff_LDADD = $(BINLDADD) -+ -+check_PROGRAMS = ctest -+ -+ctest_SOURCES = ctest.c cgen.c -+ -+noinst_PROGRAMS = imdi_make -+ -+imdi_make_SOURCES = imdi_make.c imdi_gen.c cgen.c -+ -+BUILT_SOURCES = imdi_k.h -+ -+imdi.c: imdi_k.h -+imdi_k.h: imdi_make -+ ./imdi_make -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'jcnf/Makefile.am' ---- Argyll_V1.3.0/jcnf/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/jcnf/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,17 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+SUBDIRS = $(YAJL_SUBDIRS) -+ -+privatelib_LTLIBRARIES = libjcnf.la -+privatelibdir = $(pkglibdir) -+ -+libjcnf_la_SOURCES = jcnf.h jcnf.c -+libjcnf_la_LIBADD = $(YAJL_LIBS) -+ -+LDADD = ./libjcnf.la $(YAJL_LIBS) -+ -+check_PROGRAMS = test -+ -+EXTRA_DIST = Readme.txt - -=== added file 'jcnf/yajl/Makefile.am' ---- Argyll_V1.3.0/jcnf/yajl/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/jcnf/yajl/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,15 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libyajl.la -+privatelibdir = $(pkglibdir) -+ -+libyajl_la_SOURCES = yajl_common.h yajl_gen.h yajl_parse.h yajl.c \ -+ yajl_alloc.c yajl_alloc.h yajl_buf.c yajl_buf.h yajl_encode.c \ -+ yajl_encode.h yajl_gen.c yajl_lex.c yajl_lex.h yajl_parser.c \ -+ yajl_parser.h -+ -+LDADD = ./libyajl.la -+ -+check_PROGRAMS = yajl_test json_verify - -=== modified file 'libusbw/Makefile' ---- Argyll_V1.3.0/libusbw/Makefile 2008-11-16 13:45:00 +0000 -+++ argyllcms-autotools/libusbw/Makefile 2010-09-12 17:13:26 +0000 -@@ -1,263 +1,1 @@ --# LIBUSB-WIN32, Generic Windows USB Library --# Copyright (c) 2002-2005 Stephan Meyer --# --# This program is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2 of the License, or --# (at your option) any later version. --# --# This program is distributed in the hope that it will be useful, --# but WITHOUT ANY WARRANTY; without even the implied warranty of --# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the --# GNU General Public License for more details. --# --# You should have received a copy of the GNU General Public License --# along with this program; if not, write to the Free Software --# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- -- -- --# If you're cross-compiling and your mingw32 tools are called --# i586-mingw32msvc-gcc and so on, then you can compile libusb-win32 --# by running --# make host_prefix=i586-mingw32msvc all -- -- --ifdef host_prefix -- override host_prefix := $(host_prefix)- --endif -- --CC = $(host_prefix)gcc --LD = $(host_prefix)ld --WINDRES = $(host_prefix)windres --DLLTOOL = $(host_prefix)dlltool -- --MAKE = make --CP = cp --CD = cd --MV = mv --RM = -rm -fr --TAR = tar --ISCC = iscc --INSTALL = install --LIB = lib --IMPLIB = implib --UNIX2DOS = unix2dos -- --VERSION_MAJOR = 0 --VERSION_MINOR = 1 --VERSION_MICRO = 12 --VERSION_NANO = 1 -- --VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_MICRO).$(VERSION_NANO) --RC_VERSION = $(VERSION_MAJOR),$(VERSION_MINOR),$(VERSION_MICRO),$(VERSION_NANO) --RC_VERSION_STR = '\"$(VERSION)\"' --INST_VERSION = $(VERSION) -- --INF_DATE = $(shell date +"%m/%d/%Y") --DATE = $(shell date +"%Y%m%d") -- --DDK_MAKE_DIR = ./ddk_make -- --TARGET = libusb --DLL_TARGET = $(TARGET)$(VERSION_MAJOR) --LIB_TARGET = $(TARGET) --DRIVER_TARGET = $(TARGET)$(VERSION_MAJOR).sys -- --DLL_TARGET_X64 = $(TARGET)$(VERSION_MAJOR)_x64 --DRIVER_TARGET_X64 = $(TARGET)$(VERSION_MAJOR)_x64.sys -- --INSTALL_DIR = /usr --DLL_OBJECTS = usb.o error.o descriptors.o windows.o resource.o install.o \ -- registry.o -- --DRIVER_OBJECTS = abort_endpoint.o claim_interface.o clear_feature.o \ -- dispatch.o get_configuration.o \ -- get_descriptor.o get_interface.o get_status.o \ -- ioctl.o libusb_driver.o pnp.o release_interface.o reset_device.o \ -- reset_endpoint.o set_configuration.o set_descriptor.o \ -- set_feature.o set_interface.o transfer.o vendor_request.o \ -- power.o driver_registry.o driver_debug.o libusb_driver_rc.o -- --INSTALLER_NAME = $(TARGET)-win32-filter-bin-$(INST_VERSION).exe --SRC_DIST_DIR = $(TARGET)-win32-src-$(INST_VERSION) --BIN_DIST_DIR = $(TARGET)-win32-device-bin-$(INST_VERSION) -- -- --DIST_SOURCE_FILES = ./src --DIST_MISC_FILES = COPYING_LGPL.txt COPYING_GPL.txt AUTHORS.txt -- --SRC_DIR = ./src --DRIVER_SRC_DIR = $(SRC_DIR)/driver -- --VPATH = .:./src:./src/driver:./tests -- --INCLUDES = -I./src -I./src/driver -I. -- --CFLAGS = -O2 -Wall -mno-cygwin --WIN_CFLAGS = $(CFLAGS) -mwindows -- --CPPFLAGS = -DVERSION_MAJOR=$(VERSION_MAJOR) \ -- -DVERSION_MINOR=$(VERSION_MINOR) \ -- -DVERSION_MICRO=$(VERSION_MICRO) \ -- -DVERSION_NANO=$(VERSION_NANO) \ -- -DINF_DATE='$(INF_DATE)' \ -- -DINF_VERSION='$(VERSION)' \ -- -DDBG -- --WINDRES_FLAGS = -I./src -DRC_VERSION='$(RC_VERSION)' \ -- -DRC_VERSION_STR=$(RC_VERSION_STR) -- --LDFLAGS = -s -mno-cygwin -L. -lusb -lgdi32 -luser32 -lcfgmgr32 \ -- -lsetupapi -lcomctl32 --WIN_LDFLAGS = $(LDFLAGS) -mwindows -- -- --DLL_LDFLAGS = -s -mdll -mno-cygwin \ -- -Wl,--kill-at \ -- -Wl,--out-implib,$(LIB_TARGET).a \ -- -Wl,--enable-stdcall-fixup \ -- -L. -lcfgmgr32 -lsetupapi -- -- --DRIVER_LDFLAGS = -s -shared -Wl,--entry,_DriverEntry@8 \ -- -nostartfiles -nostdlib -L. -lusbd -lntoskrnl -lhal -- -- --EXE_FILES = testlibusb.exe testlibusb-win.exe inf-wizard.exe install-filter.exe -- -- --.PHONY: all --all: $(DLL_TARGET).dll $(EXE_FILES) $(DRIVER_TARGET) README.txt -- --$(DLL_TARGET).dll: $(DLL_OBJECTS) -- $(CC) -o $@ $(DLL_OBJECTS) $(DLL_TARGET).def $(DLL_LDFLAGS) -- -- --$(DRIVER_TARGET): libusbd.a $(DRIVER_OBJECTS) -- $(CC) -o $@ $(DRIVER_OBJECTS) $(DLL_TARGET)_drv.def $(DRIVER_LDFLAGS) -- --libusbd.a: -- $(DLLTOOL) --dllname usbd.sys --add-underscore --def ./src/driver/usbd.def \ -- --output-lib libusbd.a -- --inf-wizard.exe: inf_wizard_rc.o inf_wizard.o registry.o error.o -- $(CC) $(WIN_CFLAGS) -o $@ -I./src $^ $(WIN_LDFLAGS) -- --testlibusb.exe: testlibusb.o -- $(CC) $(CFLAGS) -o $@ -I./src $^ $(LDFLAGS) -- --install-filter.exe: install_filter.o -- $(CC) $(CFLAGS) -o $@ -I./src $^ $(WIN_LDFLAGS) -- --testlibusb-win.exe: testlibusb_win.o testlibusb_win_rc.o -- $(CC) $(WIN_CFLAGS) -o $@ -I./src $^ $(WIN_LDFLAGS) -- --%.o: %.c libusb_driver.h driver_api.h -- $(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) $(INCLUDES) -- --%.o: %.rc -- $(WINDRES) $(WINDRES_FLAGS) $< -o $@ -- --README.txt: README.in -- sed -e 's/@VERSION@/$(INST_VERSION)/' $< > $@ -- -- --.PHONY: bcc_implib --bcc_lib: -- $(IMPLIB) -a $(LIB_TARGET).lib $(DLL_TARGET).dll -- --.PHONY: msvc_lib --msvc_lib: -- $(LIB) /machine:i386 /def:$(DLL_TARGET).def -- $(MV) $(DLL_TARGET).lib $(LIB_TARGET).lib -- --.PHONY: bin_dist --bin_dist: all -- $(INSTALL) -d $(BIN_DIST_DIR)/lib/gcc -- $(INSTALL) -d $(BIN_DIST_DIR)/lib/bcc -- $(INSTALL) -d $(BIN_DIST_DIR)/lib/msvc -- $(INSTALL) -d $(BIN_DIST_DIR)/lib/msvc_x64 -- $(INSTALL) -d $(BIN_DIST_DIR)/lib/dynamic -- $(INSTALL) -d $(BIN_DIST_DIR)/include -- $(INSTALL) -d $(BIN_DIST_DIR)/bin -- $(INSTALL) -d $(BIN_DIST_DIR)/examples -- -- $(INSTALL) $(EXE_FILES) $(BIN_DIST_DIR)/bin -- -- $(INSTALL) $(DRIVER_TARGET) $(BIN_DIST_DIR)/bin -- $(INSTALL) $(DLL_TARGET).dll $(BIN_DIST_DIR)/bin -- -- $(INSTALL) $(DDK_MAKE_DIR)/$(DRIVER_TARGET) $(BIN_DIST_DIR)/bin/$(DRIVER_TARGET_X64) -- $(INSTALL) $(DDK_MAKE_DIR)/$(DLL_TARGET).dll $(BIN_DIST_DIR)/bin/$(DLL_TARGET_X64).dll -- -- $(INSTALL) $(SRC_DIR)/usb.h $(BIN_DIST_DIR)/include -- $(INSTALL) $(LIB_TARGET).a $(BIN_DIST_DIR)/lib/gcc -- $(MAKE) bcc_lib -- $(INSTALL) $(LIB_TARGET).lib $(BIN_DIST_DIR)/lib/bcc -- $(MAKE) msvc_lib -- $(INSTALL) $(LIB_TARGET).lib $(BIN_DIST_DIR)/lib/msvc -- $(INSTALL) $(DDK_MAKE_DIR)/$(LIB_TARGET).lib $(BIN_DIST_DIR)/lib/msvc_x64 -- $(INSTALL) $(SRC_DIR)/libusb_dyn.c $(BIN_DIST_DIR)/lib/dynamic -- $(INSTALL) $(DIST_MISC_FILES) README.txt $(BIN_DIST_DIR) -- $(INSTALL) ./examples/*.iss $(BIN_DIST_DIR)/examples -- $(INSTALL) ./examples/*.c $(BIN_DIST_DIR)/examples -- $(UNIX2DOS) $(BIN_DIST_DIR)/examples/*.iss -- $(UNIX2DOS) $(BIN_DIST_DIR)/*.txt -- --.PHONY: src_dist --src_dist: -- $(INSTALL) -d $(SRC_DIST_DIR)/src -- $(INSTALL) -d $(SRC_DIST_DIR)/src/driver -- $(INSTALL) -d $(SRC_DIST_DIR)/tests -- $(INSTALL) -d $(SRC_DIST_DIR)/examples -- $(INSTALL) -d $(SRC_DIST_DIR)/ddk_make -- -- $(INSTALL) $(SRC_DIR)/*.c $(SRC_DIST_DIR)/src -- $(INSTALL) $(SRC_DIR)/*.h $(SRC_DIST_DIR)/src -- $(INSTALL) $(SRC_DIR)/*.rc $(SRC_DIST_DIR)/src -- -- $(INSTALL) ./examples/*.iss $(SRC_DIST_DIR)/examples -- $(INSTALL) ./ddk_make/sources* $(SRC_DIST_DIR)/ddk_make -- $(INSTALL) ./ddk_make/makefile $(SRC_DIST_DIR)/ddk_make -- $(INSTALL) ./ddk_make/*.txt $(SRC_DIST_DIR)/ddk_make -- $(INSTALL) ./ddk_make/*.bat $(SRC_DIST_DIR)/ddk_make -- $(UNIX2DOS) $(SRC_DIST_DIR)/ddk_make/* -- -- $(INSTALL) $(SRC_DIR)/driver/*.h $(SRC_DIST_DIR)/src/driver -- $(INSTALL) $(SRC_DIR)/driver/*.c $(SRC_DIST_DIR)/src/driver -- $(INSTALL) $(SRC_DIR)/driver/*.def $(SRC_DIST_DIR)/src/driver -- $(INSTALL) $(SRC_DIR)/driver/*.rc $(SRC_DIST_DIR)/src/driver -- -- $(INSTALL) ./tests/*.c $(SRC_DIST_DIR)/tests -- $(INSTALL) ./tests/*.rc $(SRC_DIST_DIR)/tests -- $(INSTALL) $(DIST_MISC_FILES) *.in Makefile manifest.txt *.def \ -- installer_license.txt $(SRC_DIST_DIR) -- $(UNIX2DOS) $(SRC_DIST_DIR)/*.txt -- -- --.PHONY: dist --dist: bin_dist src_dist -- sed -e 's/@VERSION@/$(INST_VERSION)/' \ -- -e 's/@BIN_DIST_DIR@/$(BIN_DIST_DIR)/' \ -- -e 's/@SRC_DIST_DIR@/$(SRC_DIST_DIR)/' \ -- -e 's/@INSTALLER_TARGET@/$(INSTALLER_TARGET)/' \ -- install.iss.in > install.iss -- $(UNIX2DOS) install.iss -- $(TAR) -czf $(SRC_DIST_DIR).tar.gz $(SRC_DIST_DIR) -- $(TAR) -czf $(BIN_DIST_DIR).tar.gz $(BIN_DIST_DIR) -- $(ISCC) install.iss -- $(RM) $(SRC_DIST_DIR) -- $(RM) $(BIN_DIST_DIR) -- --.PHONY: snapshot --snapshot: INST_VERSION = $(DATE) --snapshot: dist -- --.PHONY: clean --clean: -- $(RM) *.o *.dll *.a *.exp *.lib *.exe *.tar.gz *~ *.iss *.rc *.h -- $(RM) ./src/*~ *.sys *.log -- $(RM) $(DRIVER_SRC_DIR)/*~ -- $(RM) README.txt -- -+# Empty Makefile - -=== added file 'link/Makefile.am' ---- Argyll_V1.3.0/link/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/link/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,13 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+LDADD = ../spectro/libinsttypes.la ../xicc/libxicc.la \ -+ ../xicc/libxutils.la ../gamut/libgamut.la \ -+ ../gamut/libgammap.la ../plot/libplot.la ../plot/libvrml.la \ -+ ../rspl/librspl.la $(ICC_LIBS) ../cgats/libcgats.la \ -+ ../numlib/libargyllnum.la $(X_LIBS) $(TIFF_LIBS) -+ -+bin_PROGRAMS = collink pathplot -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'numlib/Makefile.am' ---- Argyll_V1.3.0/numlib/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/numlib/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,17 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libargyllnum.la -+privatelibdir = $(pkglibdir) -+ -+libargyllnum_la_SOURCES = numlib.h numsup.c numsup.h dnsq.c dnsq.h \ -+ powell.c powell.h dhsx.c dhsx.h ludecomp.c ludecomp.h svd.c \ -+ svd.h zbrent.c zbrent.h rand.c rand.h sobol.c sobol.h aatree.c -+ -+LDADD = ./libargyllnum.la -+ -+check_PROGRAMS = dnsqtest tpowell tdhsx LUtest svdtest zbrenttest \ -+ soboltest -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'plot/Makefile.am' ---- Argyll_V1.3.0/plot/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/plot/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,14 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libplot.la libvrml.la -+privatelibdir = $(pkglibdir) -+ -+libplot_la_SOURCES = plot.h plot.c -+libplot_la_LIBADD = $(X_LIBS) -+ -+libvrml_la_SOURCES = vrml.h vrml.c -+libvrml_la_LIBADD = $(ICC_LIBS) ../numlib/libargyllnum.la -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'profile/Makefile.am' ---- Argyll_V1.3.0/profile/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/profile/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,25 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libprof.la -+privatelibdir = $(pkglibdir) -+ -+libprof_la_SOURCES = prof.h profin.c profout.c -+libprof_la_LIBADD = ../gamut/libgammap.la $(ICC_LIBS) \ -+ ../gamut/libgamut.la ../xicc/libxicc.la \ -+ ../numlib/libargyllnum.la ../spectro/libinsttypes.la \ -+ ../xicc/libxutils.la ../libargyll.la -+ -+LDADD = ./libprof.la ../xicc/libxutils.la ../spectro/libinst.la \ -+ ../xicc/libxicc.la ../spectro/libinsttypes.la \ -+ ../gamut/libgamut.la ../gamut/libgammap.la ../plot/libvrml.la \ -+ ../plot/libplot.la ../rspl/librspl.la \ -+ ../numlib/libargyllnum.la $(ICC_LIBS) ../cgats/libcgats.la \ -+ ../libargyll.la $(TIFF_LIBS) ../libargyllusb.la -+ -+bin_PROGRAMS = simpprof kodak2ti3 cb2ti3 txt2ti3 splitti3 \ -+ profcheck invprofcheck mppprof mppcheck verify colprof printcal \ -+ applycal sepgen -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'ref/Makefile.am' ---- Argyll_V1.3.0/ref/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/ref/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,9 @@ -+## Process this file with automake to produce Makefile.in -+ -+refdir = $(datadir)/color/argyll/ref -+ -+ref_DATA = $(wildcard *.cal) $(wildcard *.cht) $(wildcard *.cie) \ -+ $(wildcard *.icm) $(wildcard *.sp) $(wildcard *.ti1) \ -+ $(wildcard *.ti2) -+ -+EXTRA_DIST = $(ref_DATA) - -=== added file 'render/Makefile.am' ---- Argyll_V1.3.0/render/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/render/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,15 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = librender.la -+privatelibdir = $(pkglibdir) -+ -+librender_la_SOURCES = render.h render.c -+librender_la_LIBADD = $(TIFF_LIBS) ../numlib/libargyllnum.la -+ -+LDADD = ./librender.la ../numlib/libargyllnum.la $(TIFF_LIBS) -+ -+check_PROGRAMS = timage -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'rspl/Makefile.am' ---- Argyll_V1.3.0/rspl/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/rspl/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,17 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = librspl.la -+privatelibdir = $(pkglibdir) -+ -+librspl_la_SOURCES = rspl.h rspl_imp.h mlbs.h rspl.c scat.c rev.c \ -+ rev.h gam.c spline.c opt.c -+librspl_la_LIBADD = ../numlib/libargyllnum.la ../plot/libvrml.la -+ -+LDADD = ./librspl.la ../numlib/libargyllnum.la ../plot/libplot.la \ -+ ../plot/libvrml.la $(X_LIBS) $(TIFF_LIBS) $(ICC_LIBS) -+ -+check_PROGRAMS = revbench c1 c1df t2d t2ddf t3d t3ddf tnd trnd -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'scanin/Makefile.am' ---- Argyll_V1.3.0/scanin/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/scanin/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,21 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libscanrd.la -+privatelibdir = $(pkglibdir) -+ -+libscanrd_la_SOURCES = scanrd.h scanrd_.h scanrd.c -+libscanrd_la_LIBADD = ../rspl/librspl.la ../numlib/libargyllnum.la -+ -+LDADD = ./libscanrd.la ../numlib/libargyllnum.la $(ICC_LIBS) \ -+ ../cgats/libcgats.la ../xicc/libxicc.la $(TIFF_LIBS) \ -+ ../libargyll.la -+ -+bin_PROGRAMS = scanin -+ -+refdir = $(datadir)/color/argyll/ref -+ -+ref_DATA = $(wildcard *.cht) $(wildcard *.cie) $(wildcard *.ti2) -+ -+EXTRA_DIST = $(ref_DATA) License.txt Readme.txt - -=== added file 'spectro/Makefile.am' ---- Argyll_V1.3.0/spectro/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/spectro/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,44 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libinsttypes.la libconv.la libinst.la libdisp.la -+privatelibdir = $(pkglibdir) -+ -+libinsttypes_la_SOURCES = insttypes.h insttypes.c insttypeinst.h -+libinsttypes_la_LIBADD = ../libargyll.la -+ -+libinst_la_SOURCES = inst.h inst.c insttypes.c dtp20.c dtp20.h dtp22.c \ -+ dtp22.h dtp41.c dtp41.h dtp51.c dtp51.h dtp92.c dtp92.h \ -+ i1disp.c i1disp.h i1pro.c i1pro.h i1pro_imp.c i1pro_imp.h \ -+ munki.c munki_imp.c ss.c ss.h ss_imp.c ss_imp.h hcfr.c hcfr.h \ -+ spyd2.c spyd2.h spyd2setup.h spyd2PLD.h huey.c huey.h unixio.c \ -+ usbio.c hidio.c pollem.c pollem.h icoms.h conv.h usbio.h \ -+ hidio.h xdg_bds.c xdg_bds.h -+libinst_la_LIBADD = ../libargyllusb.la $(ICC_LIBS) ../numlib/libargyllnum.la \ -+ ../libargyll.la ../rspl/librspl.la libconv.la -+ -+libdisp_la_SOURCES = dispsup.c dispwin.c dispwin.h dispsup.h -+libdisp_la_LIBADD = $(X_LIBS) ../ucmm/libucmm.la $(ICC_LIBS) \ -+ ../numlib/libargyllnum.la libconv.la libinst.la ../libargyll.la -+ -+libconv_la_SOURCES = conv.c pollem.c -+libconv_la_LIBADD = ../libargyll.la ../numlib/libargyllnum.la -+ -+LDADD = ./libinsttypes.la ./libdisp.la ./libinst.la ./libconv.la \ -+ ../ucmm/libucmm.la ../jcnf/libjcnf.la $(YAJL_LIBS) \ -+ ../xicc/libxicc.la $(ICC_LIBS) ../cgats/libcgats.la \ -+ ../rspl/librspl.la ../gamut/libgamut.la ../target/libtarget.la \ -+ ../plot/libplot.la ../numlib/libargyllnum.la $(X_LIBS) \ -+ ../libargyllusb.la ../libargyll.la -+ -+bin_PROGRAMS = synthcal dispwin dispread dispcal fakeread synthread \ -+ chartread spotread illumread ccmxmake spec2cie average spyd2en -+ -+dispwin_CFLAGS = $(AM_CFLAGS) -DSTANDALONE_TEST -+ -+synthcal_DEPENDENCIES = ../gamut/libgammap.la ../target/libtarget.la -+ -+spyd2en_SOURCES = spyd2en.c vinflate.c -+ -+EXTRA_DIST = Readme.txt - -=== added file 'target/Makefile.am' ---- Argyll_V1.3.0/target/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/target/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,24 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libtarget.la -+privatelibdir = $(pkglibdir) -+ -+libtarget_la_SOURCES = alphix.c alphix.h randix.c randix.h -+ -+LDADD = ./libtarget.la ../rspl/librspl.la ../plot/libvrml.la \ -+ $(ICC_LIBS) ../render/librender.la ../cgats/libcgats.la \ -+ ../xicc/libxicc.la ../gamut/libgamut.la \ -+ ../spectro/libinsttypes.la ../spectro/libconv.la \ -+ ../numlib/libargyllnum.la $(TIFF_LIBS) -+ -+bin_PROGRAMS = targen printtarg -+ -+targen_DEPENDENCIES = ../spectro/libinsttypes.la -+targen_SOURCES = targen.c targen.h ofps.c ofps.h ifarp.c ifarp.h \ -+ simplat.c simplat.h simdlat.c simdlat.h prand.c prand.h -+ -+printtarg_SOURCES = printtarg.c -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'tweak/Makefile.am' ---- Argyll_V1.3.0/tweak/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/tweak/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,13 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+LDADD = ../spectro/libinsttypes.la ../gamut/libgamut.la \ -+ ../gamut/libgammap.la ../plot/libvrml.la ../xicc/libxutils.la \ -+ ../xicc/libxicc.la ../rspl/librspl.la ../gamut/libgamut.la \ -+ ../gamut/libgammap.la $(ICC_LIBS) ../cgats/libcgats.la \ -+ ../numlib/libargyllnum.la $(TIFF_LIBS) -+ -+bin_PROGRAMS = refine -+ -+EXTRA_DIST = License.txt Readme.txt - -=== added file 'ucmm/Makefile.am' ---- Argyll_V1.3.0/ucmm/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/ucmm/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,9 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libucmm.la -+privatelibdir = $(pkglibdir) -+ -+libucmm_la_SOURCES = ucmm.h ucmm.c -+libucmm_la_LIBADD = $(ICC_LIBS) ../jcnf/libjcnf.la - -=== added file 'xicc/Makefile.am' ---- Argyll_V1.3.0/xicc/Makefile.am 1970-01-01 00:00:00 +0000 -+++ argyllcms-autotools/xicc/Makefile.am 2010-09-12 17:13:26 +0000 -@@ -0,0 +1,31 @@ -+## Process this file with automake to produce Makefile.in -+ -+include $(top_srcdir)/Makefile.shared -+ -+privatelib_LTLIBRARIES = libxicc.la libxutils.la -+privatelibdir = $(pkglibdir) -+ -+libxicc_la_SOURCES = xicc.h xicc.c xlutfix.c xspect.c xspect.h xsep.c \ -+ xsep.h xdevlin.c xdevlin.h xcam.c xcam.h cam97s3.c cam97s3.h \ -+ cam02.c cam02.h mpp.c ccmx.c xfit.c xfit.h moncurve.c \ -+ moncurve.h mpp.h xdgb.c -+libxicc_la_LIBADD = $(ICC_LIBS) ../gamut/libgamut.la \ -+ ../numlib/libargyllnum.la ../spectro/libinsttypes.la \ -+ ../cgats/libcgats.la ../rspl/librspl.la ../libargyll.la -+ -+libxutils_la_SOURCES = xutils.h xutils.c -+libxutils_la_LIBADD = $(TIFF_LIBS) $(ICC_LIBS) -+ -+LDADD = ./libxicc.la ./libxutils.la ../rspl/librspl.la \ -+ ../numlib/libargyllnum.la ../gamut/libgamut.la \ -+ ../gamut/libgammap.la ../spectro/libinsttypes.la $(ICC_LIBS) \ -+ ../cgats/libcgats.la ../plot/libvrml.la ../plot/libplot.la \ -+ $(TIFF_LIBS) $(X_LIBS) ../libargyll.la ../libargyllusb.la -+ -+bin_PROGRAMS = fakeCMY iccgamut mpplu revfix tiffgamut xicclu \ -+ extracticc extractttag specplot ccttest -+ -+fakeCMY_DEPENDENCIES = ../spectro/libinsttypes.la \ -+ ../gamut/libgammap.la ../target/libtarget.la -+ -+EXTRA_DIST = xmono.c xmatrix.c xlut.c - diff --git a/Argyll_V1.3.5_autotools.patch b/Argyll_V1.3.5_autotools.patch deleted file mode 100644 index fca4880..0000000 --- a/Argyll_V1.3.5_autotools.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff -wruN ../orig-Argyll_V1.3.5/profile/Makefile.am ./profile/Makefile.am ---- ../orig-Argyll_V1.3.5/profile/Makefile.am 2012-01-11 20:53:56.448041068 +0100 -+++ ./profile/Makefile.am 2012-01-11 21:43:19.152803748 +0100 -@@ -11,8 +11,8 @@ - ../numlib/libargyllnum.la ../spectro/libinsttypes.la \ - ../xicc/libxutils.la ../libargyll.la - --LDADD = ./libprof.la ../xicc/libxutils.la ../spectro/libinst.la \ -- ../xicc/libxicc.la ../spectro/libinsttypes.la \ -+LDADD = ./libprof.la ../xicc/libxutils.la ../xicc/libxicc.la \ -+ ../spectro/libinst.la ../spectro/libinsttypes.la \ - ../gamut/libgamut.la ../gamut/libgammap.la ../plot/libvrml.la \ - ../plot/libplot.la ../rspl/librspl.la \ - ../numlib/libargyllnum.la $(ICC_LIBS) ../cgats/libcgats.la \ -diff -wruN ../orig-Argyll_V1.3.5/spectro/Makefile.am ./spectro/Makefile.am ---- ../orig-Argyll_V1.3.5/spectro/Makefile.am 2012-01-11 20:53:56.448041068 +0100 -+++ ./spectro/Makefile.am 2012-01-11 21:51:16.265039580 +0100 -@@ -10,6 +10,8 @@ - - libinst_la_SOURCES = inst.h inst.c insttypes.c dtp20.c dtp20.h dtp22.c \ - dtp22.h dtp41.c dtp41.h dtp51.c dtp51.h dtp92.c dtp92.h \ -+ i1d3.c i1d3.h \ -+ colorhug.c colorhug.h \ - i1disp.c i1disp.h i1pro.c i1pro.h i1pro_imp.c i1pro_imp.h \ - munki.c munki_imp.c ss.c ss.h ss_imp.c ss_imp.h hcfr.c hcfr.h \ - spyd2.c spyd2.h spyd2setup.h spyd2PLD.h huey.c huey.h unixio.c \ -@@ -33,7 +35,7 @@ - ../libargyllusb.la ../libargyll.la - - bin_PROGRAMS = synthcal dispwin dispread dispcal fakeread synthread \ -- chartread spotread illumread ccmxmake spec2cie average spyd2en -+ chartread spotread illumread ccxxmake spec2cie average spyd2en - - dispwin_CFLAGS = $(AM_CFLAGS) -DSTANDALONE_TEST - -diff -wruN ../orig-Argyll_V1.3.5/target/Makefile.am ./target/Makefile.am ---- ../orig-Argyll_V1.3.5/target/Makefile.am 2012-01-11 20:53:56.448041068 +0100 -+++ ./target/Makefile.am 2012-01-11 21:19:48.114575843 +0100 -@@ -11,6 +11,7 @@ - $(ICC_LIBS) ../render/librender.la ../cgats/libcgats.la \ - ../xicc/libxicc.la ../gamut/libgamut.la \ - ../spectro/libinsttypes.la ../spectro/libconv.la \ -+ ../spectro/libinst.la \ - ../numlib/libargyllnum.la $(TIFF_LIBS) - - bin_PROGRAMS = targen printtarg -diff -wruN ../orig-Argyll_V1.3.5/xicc/Makefile.am ./xicc/Makefile.am ---- ../orig-Argyll_V1.3.5/xicc/Makefile.am 2012-01-11 20:53:56.448041068 +0100 -+++ ./xicc/Makefile.am 2012-01-11 20:53:22.997984221 +0100 -@@ -8,6 +8,7 @@ - libxicc_la_SOURCES = xicc.h xicc.c xlutfix.c xspect.c xspect.h xsep.c \ - xsep.h xdevlin.c xdevlin.h xcam.c xcam.h cam97s3.c cam97s3.h \ - cam02.c cam02.h mpp.c ccmx.c xfit.c xfit.h moncurve.c \ -+ ccss.h ccss.c \ - moncurve.h mpp.h xdgb.c - libxicc_la_LIBADD = $(ICC_LIBS) ../gamut/libgamut.la \ - ../numlib/libargyllnum.la ../spectro/libinsttypes.la \ diff --git a/Argyll_V1.3.5_src.zip b/Argyll_V1.3.5_src.zip deleted file mode 100644 index e54fd4b..0000000 --- a/Argyll_V1.3.5_src.zip +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:905dc6b5493e02eee76ef7384d619d1135704650a14d27b13c549002a1d9908c -size 12892085 diff --git a/Argyll_V1.4.0_src.zip b/Argyll_V1.4.0_src.zip new file mode 100644 index 0000000..f839988 --- /dev/null +++ b/Argyll_V1.4.0_src.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d33134704d2964db69f9e61eb73188632fe2058cdf57aeaa56e64a264e02b1a8 +size 15242860 diff --git a/ColorHug-sensor-driver.patch b/ColorHug-sensor-driver.patch deleted file mode 100644 index eb2a992..0000000 --- a/ColorHug-sensor-driver.patch +++ /dev/null @@ -1,959 +0,0 @@ -diff -wruN ../orig-Argyll_V1.3.5/libusb1/55-Argyll.rules ./libusb1/55-Argyll.rules ---- ../orig-Argyll_V1.3.5/libusb1/55-Argyll.rules 2012-01-11 21:54:38.365302389 +0100 -+++ ./libusb1/55-Argyll.rules 2012-01-11 21:56:39.478274483 +0100 -@@ -46,6 +46,9 @@ - # Huey - ATTRS{idVendor}=="0971", ATTRS{idProduct}=="2005", ENV{COLOR_MEASUREMENT_DEVICE}="1" - -+# ColorHug -+ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="f8dA", ENV{COLOR_MEASUREMENT_DEVICE}="1" -+ - # Set ID_VENDOR and ID_MODEL acording to VID and PID - IMPORT{program}="usb-db %p" - -diff -wruN ../orig-Argyll_V1.3.5/spectro/afiles ./spectro/afiles ---- ../orig-Argyll_V1.3.5/spectro/afiles 2011-10-24 14:10:26.000000000 +0200 -+++ ./spectro/afiles 2012-01-11 21:56:05.116268005 +0100 -@@ -60,6 +60,8 @@ - LzmaDec.c - huey.c - huey.h -+colorhug.c -+colorhug.h - spec2cie.c - average.c - conv.h -diff -wruN ../orig-Argyll_V1.3.5/spectro/colorhug.c ./spectro/colorhug.c ---- ../orig-Argyll_V1.3.5/spectro/colorhug.c 1970-01-01 01:00:00.000000000 +0100 -+++ ./spectro/colorhug.c 2012-01-11 21:56:05.116268005 +0100 -@@ -0,0 +1,752 @@ -+/* -+ * Argyll Color Correction System -+ * -+ * Hughski ColorHug related functions -+ * -+ * Author: Richard Hughes -+ * Date: 30/11/2011 -+ * -+ * Copyright 2006 - 2007, Graeme W. Gill -+ * Copyright 2011, Richard Hughes -+ * All rights reserved. -+ * -+ * (Based on huey.c) -+ * -+ * This material is licenced under the GNU GENERAL PUBLIC LICENSE Version 2 or later :- -+ * see the License2.txt file for licencing details. -+ */ -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#ifndef SALONEINSTLIB -+#include "copyright.h" -+#include "aconfig.h" -+#include "numlib.h" -+#else /* SALONEINSTLIB */ -+#include "sa_config.h" -+#include "numsup.h" -+#endif /* SALONEINSTLIB */ -+#include "xspect.h" -+#include "insttypes.h" -+#include "icoms.h" -+#include "conv.h" -+#include "colorhug.h" -+ -+static inst_code colorhug_interp_code(inst *pp, int ec); -+ -+/* Interpret an icoms error into a ColorHug error */ -+static int icoms2colorhug_err(int se) { -+ if (se & ICOM_USERM) { -+ se &= ICOM_USERM; -+ if (se == ICOM_USER) -+ return COLORHUG_USER_ABORT; -+ if (se == ICOM_TERM) -+ return COLORHUG_USER_TERM; -+ if (se == ICOM_TRIG) -+ return COLORHUG_USER_TRIG; -+ if (se == ICOM_CMND) -+ return COLORHUG_USER_CMND; -+ } -+ if (se != ICOM_OK) -+ return COLORHUG_COMS_FAIL; -+ return COLORHUG_OK; -+} -+ -+/* ColorHug commands that we care about */ -+typedef enum { -+ ch_set_mult = 0x04, /* Set multiplier value */ -+ ch_set_integral = 0x06, /* Set integral time */ -+ ch_get_serial = 0x0b, /* Gets the serial number */ -+ ch_set_leds = 0x0e, /* Sets the LEDs */ -+ ch_take_reading = 0x23 /* Takes an XYZ reading */ -+} ColorHugCmd; -+ -+/* Diagnostic - return a description given the instruction code */ -+static char *inst_desc(int cc) { -+ static char buf[40]; -+ switch(cc) { -+ case 0x04: -+ return "SetMultiplier"; -+ case 0x06: -+ return "SetIntegral"; -+ case 0x0b: -+ return "GetSerial"; -+ case 0x0e: -+ return "SetLeds"; -+ case 0x23: -+ return "TakeReadingXYZ"; -+ } -+ sprintf(buf,"Unknown %02x",cc); -+ return buf; -+} -+ -+/* Error codes interpretation */ -+static char * -+colorhug_interp_error(inst *pp, int ec) { -+ ec &= inst_imask; -+ switch (ec) { -+ case COLORHUG_INTERNAL_ERROR: -+ return "Internal software error"; -+ case COLORHUG_COMS_FAIL: -+ return "Communications failure"; -+ case COLORHUG_UNKNOWN_MODEL: -+ return "Not a known ColorHug Model"; -+ case COLORHUG_USER_ABORT: -+ return "User hit Abort key"; -+ case COLORHUG_USER_TERM: -+ return "User hit Terminate key"; -+ case COLORHUG_USER_TRIG: -+ return "User hit Trigger key"; -+ case COLORHUG_USER_CMND: -+ return "User hit a Command key"; -+ -+ case COLORHUG_OK: -+ return "OK"; -+ case COLORHUG_UNKNOWN_CMD: -+ return "Unknown connamd"; -+ case COLORHUG_WRONG_UNLOCK_CODE: -+ return "Wrong unlock code"; -+ case COLORHUG_NOT_IMPLEMENTED: -+ return "Not implemented"; -+ case COLORHUG_UNDERFLOW_SENSOR: -+ return "Sensor underflow"; -+ case COLORHUG_NO_SERIAL: -+ return "No serial"; -+ case COLORHUG_WATCHDOG: -+ return "Watchdog"; -+ case COLORHUG_INVALID_ADDRESS: -+ return "Invalid address"; -+ case COLORHUG_INVALID_LENGTH: -+ return "Invalid length"; -+ case COLORHUG_INVALID_CHECKSUM: -+ return "Invlid checksum"; -+ case COLORHUG_INVALID_VALUE: -+ return "Invalid value"; -+ case COLORHUG_UNKNOWN_CMD_FOR_BOOTLOADER: -+ return "Unknown command for bootloader"; -+ case COLORHUG_NO_CALIBRATION: -+ return "No calibration"; -+ case COLORHUG_OVERFLOW_MULTIPLY: -+ return "Multiply overflow"; -+ case COLORHUG_OVERFLOW_ADDITION: -+ return "Addition overflow"; -+ case COLORHUG_OVERFLOW_SENSOR: -+ return "Sensor overflow"; -+ case COLORHUG_OVERFLOW_STACK: -+ return "Stack overflow"; -+ -+ /* Internal errors */ -+ case COLORHUG_NO_COMS: -+ return "Communications hasn't been established"; -+ case COLORHUG_NOT_INITED: -+ return "Insrument hasn't been initialised"; -+ default: -+ return "Unknown error code"; -+ } -+} -+ -+/* Do a command/response exchange with the colorhug */ -+static inst_code -+colorhug_command(colorhug *p, -+ ColorHugCmd cmd, -+ unsigned char *in, uint in_size, -+ unsigned char *out, uint out_size, -+ double timeout) -+{ -+ int i; -+ unsigned char buf[64]; -+ int wbytes; -+ int rbytes; -+ int se, ua = 0, rv = inst_ok; -+ int isdeb = 0; -+ -+ /* Turn off low level debug messages, and sumarise them here */ -+ isdeb = p->icom->debug; -+ if (isdeb <= 2) -+ p->icom->debug = 0; -+ -+ if (isdeb) { -+ fprintf(stderr,"colorhug: Sending cmd '%s' args '%s'\n", -+ inst_desc(cmd), icoms_tohex(in, in_size)); -+ } -+ -+ /* Send the command with any specified data */ -+ buf[0] = cmd; -+ if (in != NULL) -+ memcpy(buf + 1, in, in_size); -+ if (p->icom->is_hid) { -+ se = p->icom->hid_write(p->icom, buf, in_size + 1, &wbytes, timeout); -+ } else { -+ se = p->icom->usb_write(p->icom, 0x01, buf, in_size + 1, &wbytes, timeout); -+ } -+ if (se != 0) { -+ if (se & ICOM_USERM) { -+ ua = (se & ICOM_USERM); -+ } -+ if (se & ~ICOM_USERM) { -+ if (isdeb) -+ fprintf(stderr,"colorhug: Command send failed with ICOM err 0x%x\n", se); -+ p->icom->debug = isdeb; -+ return colorhug_interp_code((inst *)p, COLORHUG_COMS_FAIL); -+ } -+ } -+ rv = colorhug_interp_code((inst *)p, icoms2colorhug_err(ua)); -+ if (isdeb) -+ fprintf(stderr,"colorhug: ICOM err 0x%x\n",ua); -+ if (wbytes != in_size + 1) -+ rv = colorhug_interp_code((inst *)p, COLORHUG_BAD_WR_LENGTH); -+ if (rv != inst_ok) { -+ p->icom->debug = isdeb; -+ return rv; -+ } -+ -+ /* Now fetch the response */ -+ if (isdeb) -+ fprintf(stderr,"colorhug: Reading response\n"); -+ -+ if (p->icom->is_hid) { -+ se = p->icom->hid_read(p->icom, buf, out_size + 2, &rbytes, timeout); -+ } else { -+ se = p->icom->usb_read(p->icom, 0x81, buf, out_size + 2, &rbytes, timeout); -+ } -+ -+ if (isdeb && rbytes >= 2) { -+ fprintf(stderr,"Recieved cmd '%s' error '%s' args '%s'\n", -+ inst_desc(buf[1]), -+ colorhug_interp_error((inst *) p, buf[0]), -+ icoms_tohex(buf, rbytes - 2)); -+ } -+ -+ if (se != 0) { -+ -+ /* deal with command error */ -+ if (rbytes == 2 && buf[0] != COLORHUG_OK) { -+ rv = colorhug_interp_code((inst *)p, buf[0]); -+ return rv; -+ } -+ -+ /* deal with underrun or overrun */ -+ if (rbytes != out_size + 2) { -+ rv = colorhug_interp_code((inst *)p, COLORHUG_BAD_RD_LENGTH); -+ return rv; -+ } -+ -+ /* there's another reason it failed */ -+ if (se & ICOM_USERM) { -+ ua = (se & ICOM_USERM); -+ } -+ if (se & ~ICOM_USERM) { -+ if (isdeb) -+ fprintf(stderr,"colorhug: Response read failed with ICOM err 0x%x\n",se); -+ p->icom->debug = isdeb; -+ return colorhug_interp_code((inst *)p, COLORHUG_COMS_FAIL); -+ } -+ } -+ rv = colorhug_interp_code((inst *)p, icoms2colorhug_err(ua)); -+ if (rv != inst_ok) -+ return rv; -+ -+ /* check the command was the same */ -+ if (buf[1] != cmd) { -+ rv = colorhug_interp_code((inst *)p, COLORHUG_BAD_RET_CMD); -+ return rv; -+ } -+ if (out != NULL) { -+ memcpy(out, buf + 2, out_size); -+ } -+ if (isdeb) { -+ fprintf(stderr,"colorhug: '%s' ICOM err 0x%x\n", -+ icoms_tohex(buf + 2, out_size),ua); -+ } -+ p->icom->debug = isdeb; -+ return rv; -+} -+ -+/* Take a short, and convert it into a byte buffer */ -+static void short2buf(unsigned char *buf, int inv) -+{ -+ buf[0] = (inv >> 0) & 0xff; -+ buf[1] = (inv >> 8) & 0xff; -+} -+ -+/* Converts a packed float to a double */ -+static double packed_float_to_double (int32_t pf) -+{ -+ return (double) pf / (double) 0x10000; -+} -+ -+/* Set the device LED state */ -+static inst_code -+colorhug_set_LEDs(colorhug *p, int mask) -+{ -+ int i; -+ unsigned char ibuf[4]; -+ inst_code ev; -+ -+ mask &= 0x3; -+ p->led_state = mask; -+ -+ ibuf[0] = mask; -+ ibuf[1] = 0; /* repeat */ -+ ibuf[2] = 0; /* on */ -+ ibuf[3] = 0; /* off */ -+ -+ /* Do command */ -+ ev = colorhug_command(p, ch_set_leds, -+ ibuf, sizeof (ibuf), /* input */ -+ NULL, 0, /* output */ -+ 1.0); -+ return ev; -+} -+ -+/* Take a XYZ measurement from the device */ -+static inst_code -+colorhug_take_XYZ_measurement(colorhug *p, double XYZ[3]) -+{ -+ inst_code ev; -+ int i; -+ uint8_t ibuf[2]; -+ uint32_t obuf[3]; -+ -+ if (!p->inited) -+ return colorhug_interp_code((inst *)p, COLORHUG_NOT_INITED); -+ -+ /* Choose the calibration matrix */ -+ short2buf(ibuf + 0, p->crt ? 65 : 64); -+ -+ /* Do the measurement, and return the values */ -+ ev = colorhug_command(p, ch_take_reading, -+ ibuf, sizeof (ibuf), -+ (unsigned char *) obuf, sizeof (obuf), -+ 5.0); -+ if (ev != inst_ok) -+ return ev; -+ -+ /* Convert to doubles */ -+ for (i = 0; i < 3; i++) -+ XYZ[i] = packed_float_to_double (obuf[i]); -+ -+ /* Apply the colorimeter correction matrix */ -+ icmMulBy3x3(XYZ, p->ccmat, XYZ); -+ -+ if (p->debug) { -+ fprintf(stderr,"colorhug: returning XYZ = %f %f %f\n", -+ XYZ[0],XYZ[1],XYZ[2]); -+ } -+ return inst_ok; -+} -+ -+/* Establish communications with a ColorHug */ -+static inst_code -+colorhug_init_coms(inst *pp, int port, baud_rate br, flow_control fc, double tout) { -+ colorhug *p = (colorhug *) pp; -+ -+ if (p->debug) { -+ p->icom->debug = p->debug; /* Turn on debugging */ -+ fprintf(stderr,"colorhug: About to init coms\n"); -+ } -+ -+ /* Open as an HID if available */ -+ if (p->icom->is_hid_portno(p->icom, port) != instUnknown) { -+ -+ if (p->debug) -+ fprintf(stderr,"colorhug: About to init HID\n"); -+ -+ /* Set config, interface */ -+ p->icom->set_hid_port(p->icom, port, icomuf_none, 0, NULL); -+ -+ } else if (p->icom->is_usb_portno(p->icom, port) != instUnknown) { -+ -+ if (p->debug) -+ fprintf(stderr,"colorhug: About to init USB\n"); -+ -+ /* Set config, interface, write end point, read end point */ -+ p->icom->set_usb_port(p->icom, port, 1, 0x00, 0x00, icomuf_detach, 0, NULL); -+ -+ } else { -+ if (p->debug) -+ fprintf(stderr,"colorhug: init_coms called to wrong device!\n"); -+ return colorhug_interp_code((inst *)p, COLORHUG_UNKNOWN_MODEL); -+ } -+ -+ if (p->debug) -+ fprintf(stderr,"colorhug: init coms has suceeded\n"); -+ -+ p->gotcoms = 1; -+ return inst_ok; -+} -+ -+/* Set the device multiplier */ -+static inst_code -+colorhug_set_multiplier (colorhug *p, int multiplier) -+{ -+ inst_code ev; -+ unsigned char ibuf[1]; -+ -+ /* Set the desired multiplier */ -+ ibuf[0] = multiplier; -+ ev = colorhug_command(p, ch_set_mult, -+ ibuf, sizeof (ibuf), -+ NULL, 0, -+ 1.0); -+ return ev; -+} -+ -+/* Set the device integral time */ -+static inst_code -+colorhug_set_integral (colorhug *p, int integral) -+{ -+ inst_code ev; -+ unsigned char ibuf[2]; -+ -+ /* Set the desired integral time */ -+ short2buf(ibuf + 0, integral); -+ ev = colorhug_command(p, ch_set_integral, -+ ibuf, sizeof (ibuf), -+ NULL, 0, -+ 1.0); -+ return ev; -+} -+ -+/* Initialise the ColorHug */ -+static inst_code -+colorhug_init_inst(inst *pp) -+{ -+ colorhug *p = (colorhug *)pp; -+ inst_code ev; -+ -+ if (p->debug) -+ fprintf(stderr,"colorhug: About to init instrument\n"); -+ -+ /* Must establish coms first */ -+ if (p->gotcoms == 0) -+ return colorhug_interp_code((inst *)p, COLORHUG_NO_COMS); -+ -+ /* Turn the LEDs off */ -+ ev = colorhug_set_LEDs(p, 0x0); -+ if (ev != inst_ok) -+ return ev; -+ -+ /* Turn the sensor on */ -+ ev = colorhug_set_multiplier(p, 0x03); -+ if (ev != inst_ok) -+ return ev; -+ -+ /* Set the integral time to maximum precision */ -+ ev = colorhug_set_integral(p, 0xffff); -+ if (ev != inst_ok) -+ return ev; -+ -+ p->itype = instColorHug; -+ p->trig = inst_opt_trig_keyb; -+ p->inited = 1; -+ if (p->debug) -+ fprintf(stderr,"colorhug: instrument inited OK\n"); -+ -+ /* Flash the LEDs */ -+ ev = colorhug_set_LEDs(p, 0x1); -+ if (ev != inst_ok) -+ return ev; -+ msec_sleep(50); -+ ev = colorhug_set_LEDs(p, 0x2); -+ if (ev != inst_ok) -+ return ev; -+ msec_sleep(50); -+ ev = colorhug_set_LEDs(p, 0x1); -+ if (ev != inst_ok) -+ return ev; -+ msec_sleep(50); -+ ev = colorhug_set_LEDs(p, 0x0); -+ if (ev != inst_ok) -+ return ev; -+ -+ return ev; -+} -+ -+/* Read a single sample */ -+static inst_code -+colorhug_read_sample( -+inst *pp, -+char *name, /* Strip name (7 chars) */ -+ipatch *val) { /* Pointer to instrument patch value */ -+ colorhug *p = (colorhug *)pp; -+ int user_trig = 0; -+ int rv = inst_protocol_error; -+ -+ if (p->trig == inst_opt_trig_keyb) { -+ int se; -+ if ((se = icoms_poll_user(p->icom, 1)) != ICOM_TRIG) { -+ /* Abort, term or command */ -+ return colorhug_interp_code((inst *)p, icoms2colorhug_err(se)); -+ } -+ user_trig = 1; -+ if (p->trig_return) -+ printf("\n"); -+ } -+ -+ /* Read the XYZ value */ -+ if ((rv = colorhug_take_XYZ_measurement(p, val->aXYZ)) != inst_ok) { -+ return rv; -+ } -+ -+ val->XYZ_v = 0; -+ val->aXYZ_v = 1; /* These are absolute XYZ readings ? */ -+ val->Lab_v = 0; -+ val->sp.spec_n = 0; -+ val->duration = 0.0; -+ -+ if (user_trig) -+ return inst_user_trig; -+ return rv; -+} -+ -+/* Insert a colorimetric correction matrix */ -+inst_code colorhug_col_cor_mat( -+inst *pp, -+double mtx[3][3] -+) { -+ colorhug *p = (colorhug *)pp; -+ -+ if (mtx == NULL) -+ icmSetUnity3x3(p->ccmat); -+ else -+ icmCpy3x3(p->ccmat, mtx); -+ -+ return inst_ok; -+} -+ -+/* Determine if a calibration is needed */ -+inst_cal_type colorhug_needs_calibration(inst *pp) { -+ return inst_ok; -+} -+ -+/* Request an instrument calibration */ -+inst_code colorhug_calibrate( -+inst *pp, -+inst_cal_type calt, /* Calibration type. inst_calt_all for all neeeded */ -+inst_cal_cond *calc, /* Current condition/desired condition */ -+char id[CALIDLEN] /* Condition identifier (ie. white reference ID) */ -+) { -+ id[0] = '\000'; -+ return inst_unsupported; -+} -+ -+/* Convert a machine specific error code into an abstract dtp code */ -+static inst_code -+colorhug_interp_code(inst *pp, int ec) { -+ ec &= inst_imask; -+ switch (ec) { -+ -+ case COLORHUG_OK: -+ return inst_ok; -+ -+ case COLORHUG_INTERNAL_ERROR: -+ case COLORHUG_NO_COMS: -+ case COLORHUG_NOT_INITED: -+ return inst_internal_error | ec; -+ -+ case COLORHUG_COMS_FAIL: -+ return inst_coms_fail | ec; -+ -+ case COLORHUG_UNKNOWN_MODEL: -+ return inst_unknown_model | ec; -+ -+ case COLORHUG_UNKNOWN_CMD: -+ case COLORHUG_WRONG_UNLOCK_CODE: -+ case COLORHUG_NOT_IMPLEMENTED: -+ case COLORHUG_UNDERFLOW_SENSOR: -+ case COLORHUG_NO_SERIAL: -+ case COLORHUG_WATCHDOG: -+ case COLORHUG_INVALID_ADDRESS: -+ case COLORHUG_INVALID_LENGTH: -+ case COLORHUG_INVALID_CHECKSUM: -+ case COLORHUG_INVALID_VALUE: -+ case COLORHUG_UNKNOWN_CMD_FOR_BOOTLOADER: -+ case COLORHUG_NO_CALIBRATION: -+ case COLORHUG_OVERFLOW_MULTIPLY: -+ case COLORHUG_OVERFLOW_ADDITION: -+ case COLORHUG_OVERFLOW_SENSOR: -+ case COLORHUG_OVERFLOW_STACK: -+ case COLORHUG_BAD_WR_LENGTH: -+ case COLORHUG_BAD_RD_LENGTH: -+ case COLORHUG_BAD_RET_CMD: -+ case COLORHUG_BAD_RET_STAT: -+ return inst_protocol_error | ec; -+ -+ case COLORHUG_USER_ABORT: -+ return inst_user_abort | ec; -+ case COLORHUG_USER_TERM: -+ return inst_user_term | ec; -+ case COLORHUG_USER_TRIG: -+ return inst_user_trig | ec; -+ case COLORHUG_USER_CMND: -+ return inst_user_cmnd | ec; -+ } -+ return inst_other_error | ec; -+} -+ -+/* Destroy ourselves */ -+static void -+colorhug_del(inst *pp) { -+ colorhug *p = (colorhug *)pp; -+ if (p->icom != NULL) -+ p->icom->del(p->icom); -+ free(p); -+} -+ -+/* Return the instrument capabilities */ -+inst_capability colorhug_capabilities(inst *pp) { -+ colorhug *p = (colorhug *)pp; -+ inst_capability rv; -+ -+ rv = inst_emis_spot -+ | inst_emis_disp -+ | inst_emis_disp_lcd -+ | inst_colorimeter -+ | inst_ccmx -+ ; -+ -+ return rv; -+} -+ -+/* Return the instrument capabilities 2 */ -+inst2_capability colorhug_capabilities2(inst *pp) { -+ colorhug *p = (colorhug *)pp; -+ inst2_capability rv = 0; -+ -+ rv |= inst2_prog_trig; -+ rv |= inst2_keyb_trig; -+ rv |= inst2_has_leds; -+ -+ return rv; -+} -+ -+/* Set device measurement mode */ -+inst_code colorhug_set_mode(inst *pp, inst_mode m) -+{ -+ colorhug *p = (colorhug *)pp; -+ inst_mode mm; /* Measurement mode */ -+ -+ /* The measurement mode portion of the mode */ -+ mm = m & inst_mode_measurement_mask; -+ -+ /* only display emission mode and ambient supported */ -+ if (mm != inst_mode_emis_spot -+ && mm != inst_mode_emis_disp -+ && mm != inst_mode_emis_ambient) { -+ return inst_unsupported; -+ } -+ -+ /* Spectral mode is not supported */ -+ if (m & inst_mode_spectral) -+ return inst_unsupported; -+ -+ p->mode = m; -+ return inst_ok; -+} -+ -+/* Set or reset an optional mode */ -+static inst_code -+colorhug_set_opt_mode(inst *pp, inst_opt_mode m, ...) -+{ -+ colorhug *p = (colorhug *)pp; -+ inst_code ev = inst_ok; -+ -+ /* Select CRT/LCD */ -+ if (m == inst_opt_disp_crt) { -+ if (p->crt == 0) -+ p->crt = 1; -+ return inst_ok; -+ } else if (m == inst_opt_disp_lcd) { -+ if (p->crt != 0) -+ p->crt = 0; -+ return inst_ok; -+ -+ } -+ /* Record the trigger mode */ -+ if (m == inst_opt_trig_prog -+ || m == inst_opt_trig_keyb) { -+ p->trig = m; -+ return inst_ok; -+ } -+ if (m == inst_opt_trig_return) { -+ p->trig_return = 1; -+ return inst_ok; -+ } else if (m == inst_opt_trig_no_return) { -+ p->trig_return = 0; -+ return inst_ok; -+ } -+ -+ /* Operate the LEDs */ -+ if (m == inst_opt_get_gen_ledmask) { -+ va_list args; -+ int *mask = NULL; -+ -+ va_start(args, m); -+ mask = va_arg(args, int *); -+ va_end(args); -+ *mask = 0x3; /* Two general LEDs */ -+ return inst_ok; -+ } else if (m == inst_opt_get_led_state) { -+ va_list args; -+ int *mask = NULL; -+ -+ va_start(args, m); -+ mask = va_arg(args, int *); -+ va_end(args); -+ *mask = p->led_state; -+ return inst_ok; -+ } else if (m == inst_opt_set_led_state) { -+ va_list args; -+ int mask = 0; -+ -+ va_start(args, m); -+ mask = va_arg(args, int); -+ va_end(args); -+ return colorhug_set_LEDs(p, mask); -+ } -+ -+ return inst_unsupported; -+} -+ -+/* Constructor */ -+extern colorhug *new_colorhug(icoms *icom, int debug, int verb) -+{ -+ colorhug *p; -+ if ((p = (colorhug *)calloc(sizeof(colorhug),1)) == NULL) -+ error("colorhug: malloc failed!"); -+ -+ if (icom == NULL) -+ p->icom = new_icoms(); -+ else -+ p->icom = icom; -+ -+ p->debug = debug; -+ p->verb = verb; -+ -+ /* Set the colorimeter correction matrix to do nothing */ -+ icmSetUnity3x3(p->ccmat); -+ -+ p->init_coms = colorhug_init_coms; -+ p->init_inst = colorhug_init_inst; -+ p->capabilities = colorhug_capabilities; -+ p->capabilities2 = colorhug_capabilities2; -+ p->set_mode = colorhug_set_mode; -+ p->set_opt_mode = colorhug_set_opt_mode; -+ p->read_sample = colorhug_read_sample; -+ p->needs_calibration = colorhug_needs_calibration; -+ p->col_cor_mat = colorhug_col_cor_mat; -+ p->calibrate = colorhug_calibrate; -+ p->interp_error = colorhug_interp_error; -+ p->del = colorhug_del; -+ -+ /* Until initalisation */ -+ p->itype = instUnknown; -+ -+ return p; -+} -diff -wruN ../orig-Argyll_V1.3.5/spectro/colorhug.h ./spectro/colorhug.h ---- ../orig-Argyll_V1.3.5/spectro/colorhug.h 1970-01-01 01:00:00.000000000 +0100 -+++ ./spectro/colorhug.h 2012-01-11 21:56:05.116268005 +0100 -@@ -0,0 +1,85 @@ -+/* -+ * Argyll Color Correction System -+ * -+ * Hughski ColorHug related defines -+ * -+ * Author: Richard Hughes -+ * Date: 30/11/2011 -+ * -+ * Copyright 2006 - 2007, Graeme W. Gill -+ * Copyright 2011, Richard Hughes -+ * All rights reserved. -+ * -+ * (Based on huey.h) -+ * -+ * This material is licenced under the GNU GENERAL PUBLIC LICENSE Version 2 or later :- -+ * see the License2.txt file for licencing details. -+ */ -+ -+#ifndef COLORHUG_H -+ -+#include "inst.h" -+ -+/* Note: update colorhug_interp_error() and colorhug_interp_code() in colorhug.c */ -+/* if anything of these #defines are added or subtracted */ -+ -+/* Fake Error codes */ -+#define COLORHUG_INTERNAL_ERROR 0x61 /* Internal software error */ -+#define COLORHUG_COMS_FAIL 0x62 /* Communication failure */ -+#define COLORHUG_UNKNOWN_MODEL 0x63 /* Not an colorhug */ -+#define COLORHUG_DATA_PARSE_ERROR 0x64 /* Read data parsing error */ -+#define COLORHUG_USER_ABORT 0x65 /* User hit abort */ -+#define COLORHUG_USER_TERM 0x66 /* User hit terminate */ -+#define COLORHUG_USER_TRIG 0x67 /* User hit trigger */ -+#define COLORHUG_USER_CMND 0x68 /* User hit command */ -+ -+/* Real error codes */ -+#define COLORHUG_OK 0x00 -+#define COLORHUG_UNKNOWN_CMD 0x01 -+#define COLORHUG_WRONG_UNLOCK_CODE 0x02 -+#define COLORHUG_NOT_IMPLEMENTED 0x03 -+#define COLORHUG_UNDERFLOW_SENSOR 0x04 -+#define COLORHUG_NO_SERIAL 0x05 -+#define COLORHUG_WATCHDOG 0x06 -+#define COLORHUG_INVALID_ADDRESS 0x07 -+#define COLORHUG_INVALID_LENGTH 0x08 -+#define COLORHUG_INVALID_CHECKSUM 0x09 -+#define COLORHUG_INVALID_VALUE 0x0a -+#define COLORHUG_UNKNOWN_CMD_FOR_BOOTLOADER 0x0b -+#define COLORHUG_NO_CALIBRATION 0x0c -+#define COLORHUG_OVERFLOW_MULTIPLY 0x0d -+#define COLORHUG_OVERFLOW_ADDITION 0x0e -+#define COLORHUG_OVERFLOW_SENSOR 0x0f -+#define COLORHUG_OVERFLOW_STACK 0x10 -+ -+/* Internal errors */ -+#define COLORHUG_NO_COMS 0x22 -+#define COLORHUG_NOT_INITED 0x23 -+#define COLORHUG_BAD_WR_LENGTH 0x25 -+#define COLORHUG_BAD_RD_LENGTH 0x26 -+#define COLORHUG_BAD_RET_CMD 0x27 -+#define COLORHUG_BAD_RET_STAT 0x28 -+ -+ -+/* COLORHUG communication object */ -+struct _colorhug { -+ INST_OBJ_BASE -+ -+ inst_mode mode; /* Currently selected mode */ -+ -+ inst_opt_mode trig; /* Reading trigger mode */ -+ int trig_return; /* Emit "\n" after trigger */ -+ -+ int ser_no; /* Serial number */ -+ int crt; /* NZ if set to CRT */ -+ double ccmat[3][3]; /* Colorimeter correction matrix */ -+ int led_state; /* Current LED state */ -+ -+}; typedef struct _colorhug colorhug; -+ -+/* Constructor */ -+extern colorhug *new_colorhug(icoms *icom, int debug, int verb); -+ -+ -+#define COLORHUG_H -+#endif /* COLORHUG_H */ -diff -wruN ../orig-Argyll_V1.3.5/spectro/inst.c ./spectro/inst.c ---- ../orig-Argyll_V1.3.5/spectro/inst.c 2011-10-24 14:10:27.000000000 +0200 -+++ ./spectro/inst.c 2012-01-11 21:56:05.116268005 +0100 -@@ -476,6 +476,8 @@ - p = (inst *)new_spyd2(icom, debug, verb); - else if (itype == instHuey) - p = (inst *)new_huey(icom, debug, verb); -+ else if (itype == instColorHug) -+ p = (inst *)new_colorhug(icom, debug, verb); - else { - return NULL; - } -diff -wruN ../orig-Argyll_V1.3.5/spectro/instlib.ksh ./spectro/instlib.ksh ---- ../orig-Argyll_V1.3.5/spectro/instlib.ksh 2011-10-24 14:10:26.000000000 +0200 -+++ ./spectro/instlib.ksh 2012-01-11 21:56:05.116268005 +0100 -@@ -9,7 +9,7 @@ - - echo "Making standalone GPLv2 instrument archive instlib.zip " - --FILES="License2.txt Makefile.OSX Makefile.UNIX Makefile.WNT pollem.h pollem.c conv.h conv.c hidio.h hidio.c icoms.h inst.h inst.c insttypes.c insttypes.h insttypeinst.h dtp20.c dtp20.h dtp22.c dtp22.h dtp41.c dtp41.h dtp51.c dtp51.h dtp92.c dtp92.h ss.h ss.c ss_imp.h ss_imp.c i1disp.c i1disp.h i1d3.h i1d3.c i1pro.h i1pro.c i1pro_imp.h i1pro_imp.c munki.h munki.c munki_imp.h munki_imp.c hcfr.c hcfr.h huey.c huey.h spyd2.c spyd2.h spyd2setup.h spyd2PLD.h spyd2en.c i1d3ccss.c vinflate.c inflate.c LzmaDec.c LzmaDec.h LzmaTypes.h ntio.c unixio.c usbio.h usbio.c xdg_bds.c xdg_bds.h ../xicc/xspect.h ../xicc/xspect.c ../xicc/ccss.h ../xicc/ccss.c ../rspl/rspl1.h ../rspl/rspl1.c ../h/sort.h ../numlib/numsup.h ../numlib/numsup.c ../cgats/pars.h ../cgats/pars.c ../cgats/parsstd.c ../cgats/cgats.h ../cgats/cgats.c ../cgats/cgatsstd.c spotread.c" -+FILES="License2.txt Makefile.OSX Makefile.UNIX Makefile.WNT pollem.h pollem.c conv.h conv.c hidio.h hidio.c icoms.h inst.h inst.c insttypes.c insttypes.h insttypeinst.h dtp20.c dtp20.h dtp22.c dtp22.h dtp41.c dtp41.h dtp51.c dtp51.h dtp92.c dtp92.h ss.h ss.c ss_imp.h ss_imp.c i1disp.c i1disp.h i1d3.h i1d3.c i1pro.h i1pro.c i1pro_imp.h i1pro_imp.c munki.h munki.c munki_imp.h munki_imp.c hcfr.c hcfr.h huey.c huey.h colorhug.c colorhug.h spyd2.c spyd2.h spyd2setup.h spyd2PLD.h spyd2en.c i1d3ccss.c vinflate.c inflate.c LzmaDec.c LzmaDec.h LzmaTypes.h ntio.c unixio.c usbio.h usbio.c xdg_bds.c xdg_bds.h ../xicc/xspect.h ../xicc/xspect.c ../xicc/ccss.h ../xicc/ccss.c ../rspl/rspl1.h ../rspl/rspl1.c ../h/sort.h ../numlib/numsup.h ../numlib/numsup.c ../cgats/pars.h ../cgats/pars.c ../cgats/parsstd.c ../cgats/cgats.h ../cgats/cgats.c ../cgats/cgatsstd.c spotread.c" - - rm -f instlib.zip - rm -rf _zipdir -diff -wruN ../orig-Argyll_V1.3.5/spectro/insttypes.c ./spectro/insttypes.c ---- ../orig-Argyll_V1.3.5/spectro/insttypes.c 2011-10-24 14:10:27.000000000 +0200 -+++ ./spectro/insttypes.c 2012-01-11 21:56:05.116268005 +0100 -@@ -73,6 +73,8 @@ - return "Datacolor Spyder3"; - case instHuey: - return "GretagMacbeth Huey"; -+ case instColorHug: -+ return "Hughski ColorHug"; - default: - break; - } -@@ -124,6 +126,8 @@ - return instSpyder3; - else if (strcmp(name, "GretagMacbeth Huey") == 0) - return instHuey; -+ else if (strcmp(name, "Hughski ColorHug") == 0) -+ return instColorHug; - - return instUnknown; - } -@@ -183,6 +187,11 @@ - return instSpyder3; - } - -+ if (idVendor == 0x04d8) { /* Microchip */ -+ if (idProduct == 0xf8da) /* Hughski ColorHug */ -+ return instColorHug; -+ } -+ - /* Add other instruments here */ - - return instUnknown; -@@ -260,6 +269,8 @@ - case instHuey: - return 1; /* Not applicable */ - -+ case instColorHug: -+ return 1; /* Not applicable */ - - default: - break; -diff -wruN ../orig-Argyll_V1.3.5/spectro/insttypes.h ./spectro/insttypes.h ---- ../orig-Argyll_V1.3.5/spectro/insttypes.h 2011-10-24 14:10:26.000000000 +0200 -+++ ./spectro/insttypes.h 2012-01-11 21:56:05.116268005 +0100 -@@ -44,6 +44,7 @@ - instSpyder2, /* Datacolor/ColorVision Spyder2 */ - instSpyder3, /* Datacolor Spyder3 */ - instHuey, /* GretagMacbeth Huey */ -+ instColorHug, /* Hughski ColorHug */ - - } instType; - -diff -wruN ../orig-Argyll_V1.3.5/spectro/Jamfile ./spectro/Jamfile ---- ../orig-Argyll_V1.3.5/spectro/Jamfile 2011-10-24 14:10:26.000000000 +0200 -+++ ./spectro/Jamfile 2012-01-11 21:56:05.116268005 +0100 -@@ -69,7 +69,7 @@ - ../plot $(LIBUSBHDRS) $(CMMHDRS) ; - - # Instrument access library library --Library libinst : inst.c insttypes.c dtp20.c dtp22.c dtp41.c dtp51.c dtp92.c i1disp.c i1d3.c i1pro.c i1pro_imp.c munki.c munki_imp.c ss.c ss_imp.c hcfr.c spyd2.c huey.c $(IOFILE) usbio.c hidio.c ; -+Library libinst : inst.c insttypes.c dtp20.c dtp22.c dtp41.c dtp51.c dtp92.c i1disp.c i1d3.c i1pro.c i1pro_imp.c munki.c munki_imp.c ss.c ss_imp.c hcfr.c spyd2.c huey.c colorhug.c $(IOFILE) usbio.c hidio.c ; - - # Display access library - Library libdisp : dispsup.c dispwin.c : : : $(LibWinH) ; diff --git a/ajam-2.5.2-1.3.3.tgz b/ajam-2.5.2-1.3.3.tgz new file mode 100644 index 0000000..5af7085 --- /dev/null +++ b/ajam-2.5.2-1.3.3.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57c3768bd7954ea97600b823018c1d89419f52e0ea385ac10591ad16716dca26 +size 258260 diff --git a/ajam-include.patch b/ajam-include.patch new file mode 100644 index 0000000..d3e733e --- /dev/null +++ b/ajam-include.patch @@ -0,0 +1,42 @@ +diff -up ajam-2.5.2-1.3.3/execunix.c.include ajam-2.5.2-1.3.3/execunix.c +--- ajam-2.5.2-1.3.3/execunix.c.include 2012-06-22 17:53:16.769405802 +0200 ++++ ajam-2.5.2-1.3.3/execunix.c 2012-06-22 17:59:09.697662990 +0200 +@@ -42,6 +42,10 @@ + # include "lists.h" + # include "execcmd.h" + # include ++# include ++# include ++# include ++ + + # ifdef USE_EXECUNIX + +diff -up ajam-2.5.2-1.3.3/fileunix.c.include ajam-2.5.2-1.3.3/fileunix.c +--- ajam-2.5.2-1.3.3/fileunix.c.include 2012-06-22 17:53:56.998694847 +0200 ++++ ajam-2.5.2-1.3.3/fileunix.c 2012-06-22 17:54:41.828845967 +0200 +@@ -51,12 +51,12 @@ + # include + # endif + ++# include + # if defined( OS_RHAPSODY ) || \ + defined( OS_MACOSX ) || \ + defined( OS_NEXT ) + /* need unistd for rhapsody's proper lseek */ + # include +-# include + # define STRUCT_DIRENT struct direct + # else + # include +diff -up ajam-2.5.2-1.3.3/make1.c.include ajam-2.5.2-1.3.3/make1.c +--- ajam-2.5.2-1.3.3/make1.c.include 2012-06-22 17:59:36.178959199 +0200 ++++ ajam-2.5.2-1.3.3/make1.c 2012-06-22 18:00:04.299195472 +0200 +@@ -50,6 +50,7 @@ + */ + + # include "jam.h" ++# include + + # include "lists.h" + # include "parse.h" diff --git a/argyllcms-1.3.0-udev151.patch b/argyllcms-1.3.0-udev151.patch index ca3f711..c63babd 100644 --- a/argyllcms-1.3.0-udev151.patch +++ b/argyllcms-1.3.0-udev151.patch @@ -1,9 +1,9 @@ -diff -up Argyll_V1.3.0/libusb1/55-Argyll.rules.udev151 Argyll_V1.3.0/libusb1/55-Argyll.rules ---- Argyll_V1.3.0/libusb1/55-Argyll.rules.udev151 2010-09-23 11:42:00.784827088 +0200 -+++ Argyll_V1.3.0/libusb1/55-Argyll.rules 2010-09-23 11:42:10.586231594 +0200 -@@ -43,12 +43,6 @@ ATTRS{idVendor}=="085c", ATTRS{idProduct - # Huey - ATTRS{idVendor}=="0971", ATTRS{idProduct}=="2005", ENV{COLOR_MEASUREMENT_DEVICE}="1" +diff -up Argyll_V1.4.0/libusb1/55-Argyll.rules.udev151 Argyll_V1.4.0/libusb1/55-Argyll.rules +--- Argyll_V1.4.0/libusb1/55-Argyll.rules.udev151 2012-04-19 09:50:45.000000000 +0200 ++++ Argyll_V1.4.0/libusb1/55-Argyll.rules 2012-06-22 11:54:55.973016401 +0200 +@@ -52,12 +52,6 @@ ATTRS{idVendor}=="0971", ATTRS{idProduct + # ColorHug + ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="f8da", ENV{COLOR_MEASUREMENT_DEVICE}="1" -# Let udev-acl and ConsoleKit manage these devices, if applicable -TEST=="/lib/udev/udev-acl", TEST=="/var/run/ConsoleKit/database", ENV{COLOR_MEASUREMENT_DEVICE}=="*?", ENV{ACL_MANAGE}="1" @@ -14,4 +14,3 @@ diff -up Argyll_V1.3.0/libusb1/55-Argyll.rules.udev151 Argyll_V1.3.0/libusb1/55- # Set ID_VENDOR and ID_MODEL acording to VID and PID IMPORT{program}="usb-db %p" -diff -up Argyll_V1.3.0/libusb/55-Argyll.rules.udev151 Argyll_V1.3.0/libusb/55-Argyll.rules diff --git a/argyllcms-1.4.0-warnings.patch b/argyllcms-1.4.0-warnings.patch new file mode 100644 index 0000000..7b14cda --- /dev/null +++ b/argyllcms-1.4.0-warnings.patch @@ -0,0 +1,23 @@ +diff -up Argyll_V1.4.0/gamut/maptest.c.warning Argyll_V1.4.0/gamut/maptest.c +--- Argyll_V1.4.0/gamut/maptest.c.warning 2012-06-22 18:03:25.113289700 +0200 ++++ Argyll_V1.4.0/gamut/maptest.c 2012-06-22 18:10:57.615637380 +0200 +@@ -99,7 +99,7 @@ main(int argc, char *argv[]) { + else if (argv[fa][1] == 'i' || argv[fa][1] == 'I') { + if (na == NULL) usage(); + fa = nfa; +- strncpy(img_name,na,MAXNAMEL); img_name[MAXNAMEL] = '\000'; ++ strncpy(img_name,na,MAXNAMEL); img_name[MAXNAMEL-1] = '\000'; + } + + else +diff -up Argyll_V1.4.0/jcnf/test.c.warning Argyll_V1.4.0/jcnf/test.c +--- Argyll_V1.4.0/jcnf/test.c.warning 2012-06-22 18:02:57.401148828 +0200 ++++ Argyll_V1.4.0/jcnf/test.c 2012-06-22 18:03:11.177723389 +0200 +@@ -144,6 +144,7 @@ main(int argc, char *argv[]) { + jco->del(jco); + + printf("We're done\n"); ++ return 0; + } + + void diff --git a/argyllcms-fixbuild.patch b/argyllcms-fixbuild.patch new file mode 100644 index 0000000..c57bcb5 --- /dev/null +++ b/argyllcms-fixbuild.patch @@ -0,0 +1,63 @@ +diff -up Argyll_V1.4.0/Jamtop.fixbuild Argyll_V1.4.0/Jamtop +--- Argyll_V1.4.0/Jamtop.fixbuild 2012-06-22 14:00:29.139451312 +0200 ++++ Argyll_V1.4.0/Jamtop 2012-05-11 01:57:54.000000000 +0200 +@@ -67,6 +67,8 @@ if $(UNIX) { + LibWinD = /usr/lib/x86_64-linux-gnu ; + } else if [ GLOB /usr/lib64 : libX11.so ] { + LibWinD = /usr/lib64 ; ++ } else if [ GLOB /usr/lib : libX11.so ] { ++ LibWinD = /usr/lib ; + } else { + ECHO Unable to locate the 64 bit X11 library files ; + } +@@ -91,9 +93,9 @@ if $(UNIX) { + # See if we have a system TIFF library. + if ! $(BUILTIN_TIFF) && $(UNIX) { + if [ GLOB /usr/include : tiffio.h ] { +- if ! $(HOST64) && ( [ GLOB /usr/lib : libtiff.so ] || [ GLOB /usr/lib : libtiff.a ] ) +- || $(HOST64) && ( [ GLOB /usr/lib64 : libtiff.so ] || [ GLOB /usr/lib64 : libtiff.a ] ) +- || $(HOST64) && ( [ GLOB /usr/lib/x86_64-linux-gnu : libtiff.so ] || [ GLOB /usr/lib/x86_64-linux-gnu : libtiff.a ] ) { ++ if [ GLOB /usr/lib : libtiff.so ] || [ GLOB /usr/lib : libtiff.a ] ++ || [ GLOB /usr/lib64 : libtiff.so ] || [ GLOB /usr/lib64 : libtiff.a ] ++ || [ GLOB /usr/lib/x86_64-linux-gnu : libtiff.so ] || [ GLOB /usr/lib/x86_64-linux-gnu : libtiff.a ] { + echo "Using system TIFF library" ; + TIFFLIB = ; + TIFFINC = ; +@@ -105,7 +107,7 @@ if ! $(BUILTIN_TIFF) && $(UNIX) { + + # If nothing else, use Argyll supplied TIFF library + if ! $(HAVE_TIFF) || $(BUILTIN_TIFF) { +- echo "Using built in TIFF library" ; ++ echo "Using Argyll TIFF library" ; + TIFFLIB = ../tiff/libtiff.lib ; + TIFFINC = ../tiff ; + } +@@ -113,13 +115,13 @@ if ! $(HAVE_TIFF) || $(BUILTIN_TIFF) { + # See if we have a system JPEG library. + if ! $(BUILTIN_JPEG) && $(UNIX) { + if [ GLOB /usr/include : jpeglib.h ] { +- if ! $(HOST64) && ( [ GLOB /usr/lib : libjpg.so ] || [ GLOB /usr/lib : libjpg.a ] ) +- || $(HOST64) && ( [ GLOB /usr/lib64 : libjpg.so ] || [ GLOB /usr/lib64 : libjpg.a ] ) +- || $(HOST64) && ( [ GLOB /usr/lib/x86_64-linux-gnu : libjpg.so ] || [ GLOB /usr/lib/x86_64-linux-gnu : libjpg.a ] ) { ++ if [ GLOB /usr/lib : libjpeg.so ] || [ GLOB /usr/lib : libjpeg.a ] ++ || [ GLOB /usr/lib64 : libjpeg.so ] || [ GLOB /usr/lib64 : libjpeg.a ] ++ || [ GLOB /usr/lib/x86_64-linux-gnu : libjpeg.so ] || [ GLOB /usr/lib/x86_64-linux-gnu : libjpeg.a ] { + echo "Using system JPEG library" ; + JPEGLIB = ; + JPEGINC = ; +- LINKFLAGS += $(LINKFLAG)tiff ; ++ LINKFLAGS += $(LINKFLAG)jpeg ; + HAVE_JPEG = true ; + } + } +@@ -127,8 +129,8 @@ if ! $(BUILTIN_JPEG) && $(UNIX) { + + # If nothing else, use Argyll supplied JPEG library + if ! $(HAVE_JPEG) || $(BUILTIN_JPEG) { +- echo "Using built in JPEG library" ; +- JPEGLIB = ../jpg/libjpg.lib ; ++ echo "Using Argyll JPEG library" ; ++ JPEGLIB = ../jpg/libjpeg.lib ; + JPEGINC = ../jpg ; + } + diff --git a/argyllcms.changes b/argyllcms.changes index 1684092..9e5ba03 100644 --- a/argyllcms.changes +++ b/argyllcms.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Mon Jun 25 13:21:04 CEST 2012 - fcrozat@suse.com + +- Release 1.4.0: + + various bug fixes + + add support for ICC profiles in embedded JPEG + + fix CVE-2012-1616 (bnc#768322) +- drop autotools patches, switch back to original Jam based build +- add ajam (argyll patched version of Jam, BSD-license) to source + package (needed only for build) +- drop shared libraries and corresponding subpackages, not used by + anything. +- drop cologhug patch, merged upstream. +- Add argyllcms-fixbuild.patch: fix build with system tiff/jpeg + libraries +- Add ajam-include.patch: add missing headers +- Add argyllcms-1.4.0-warnings.patch: fix gcc warnings +- Add bison as BuildRequires (needed to build ajam) +- Compile with -f-no-strict-aliasing to prevent potential issues + with gcc 4.7 + ------------------------------------------------------------------- Fri Jan 27 08:21:17 UTC 2012 - mcihar@suse.cz diff --git a/argyllcms.spec b/argyllcms.spec index ee10ce1..ff16856 100644 --- a/argyllcms.spec +++ b/argyllcms.spec @@ -19,32 +19,32 @@ %define archivename Argyll_V%{version}%{?alphaversion}_src.zip Name: argyllcms -Version: 1.3.5 -Release: 1 +Version: 1.4.0 +Release: 0 Summary: ICC compatible color management system - License: AGPL-3.0 and GPL-2.0+ and MIT -Url: http://www.%{name}.com/ Group: System/X11/Utilities +Url: http://www.%{name}.com/ + Source0: %{url}%{archivename} Source1: 19-color.fdi Source2: color-device-file.policy -# Many thanks to Alastair M. Robinson and Roland Mas (debian) -Patch1: Argyll_V1.3.0_autotools.patch -# new and changed files in 1.3.5 -Patch2: Argyll_V1.3.5_autotools.patch +Source3: ajam-2.5.2-1.3.3.tgz # drop udev-acl stuff, handled by udev directly (Mandriva) Patch5: argyllcms-1.3.0-udev151.patch -# add support for colorhug (http://hughski.com) -Patch6: ColorHug-sensor-driver.patch +# fix build (upstream) +Patch6: argyllcms-fixbuild.patch +Patch7: ajam-include.patch +Patch8: argyllcms-1.4.0-warnings.patch -BuildRequires: autoconf -BuildRequires: automake +BuildRequires: libjpeg-devel BuildRequires: libtiff-devel BuildRequires: libtool BuildRequires: unzip BuildRequires: xorg-x11-devel +#needed for ajam +BuildRequires: bison BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: udev @@ -82,54 +82,47 @@ displays. This package contains the Argyll color management system documentation. -%package -n libicc2 -Summary: Libraries for icclib -Group: System/Libraries - -%description -n libicc2 -The icclib is a set of routines which implement the reading and -writing of color profile files that conform to the International -Color Consortium (ICC) Profile Format Specification, Version 3.4. - -%package -n libicc-devel -Summary: Development libraries, header files for icclib -Group: Development/Libraries/C and C++ -Requires: libicc2 = %{version} - -%description -n libicc-devel -The icclib is a set of routines which implement the reading and -writing of color profile files that conform to the International -Color Consortium (ICC) Profile Format Specification, Version 3.4. - %prep %setup -q -n Argyll_V%{version} -# Autotools support -%patch1 -p1 -b .auto -%patch2 -p1 %if 0%{?suse_version} >= 1120 %patch5 -p1 -b .udev151 -%if 0%{?suse_version} >= 1140 -# colorhug is for openSUSE >= 11.4 only -%patch6 -p1 -%endif %endif +%patch6 -p1 -b .fixbuild +%patch8 -p1 -b .warnings + +tar xvf %{SOURCE3} +cd ajam-2.5.2-1.3.3 +%patch7 -p1 -b .include +cd .. # remove unused source code rm -fr libusb libusbw -rm -fr libusb1/{*.inf,*.rtf,*.inf,*.cat,*.vcproj,*.sys,*.sed,*.dsw,*.sln,*.dsp,*template*,WinCo*,winsub*,*kext*,KDRIVER_LICENSE,README_MSVC.txt,msvc,*.cmd} +rm -fr libusb1/{*.inf,*.rtf,*.inf,*.cat,*.vcproj,*.sys,*.dsw,*.sln,*.dsp,*template*,WinCo*,winsub*,*kext*,KDRIVER_LICENSE,README_MSVC.txt,msvc,*.cmd}} %build -#needed by patches 1 & 2 -autoreconf -i +cd ajam-2.5.2-1.3.3 +make CFLAGS="${RPM_OPT_FLAGS}" +ln -s $PWD/bin.unix/jam ../jam +cd .. -%configure -make +echo "CCFLAGS += ${RPM_OPT_FLAGS} -fno-strict-aliasing ;" >> Jamtop +# Evil hack to get --as-needed working. The build system unfortunately lists all +# the shared libraries by default on the command line _before_ the object to be built... +echo "STDLIBS += -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -ltiff -ljpeg ;" >> Jamtop + +./jam -fJambase %{?_smp_mflags} %install -%make_install +jam -q -fJambase install -# remove unpackaged files -rm -f %{buildroot}/%{_libdir}/argyll/*.{la,a,so} %{buildroot}/%{_libdir}/*.{la,a} +rm bin/License.txt + +mkdir -p $RPM_BUILD_ROOT/{%{_bindir},lib/udev/rules.d,%{_datadir}/color/argyll} + +install -m 0755 -D bin/* $RPM_BUILD_ROOT/%{_bindir} + +install -m 0644 -D ref/* $RPM_BUILD_ROOT/%{_datadir}/color/argyll +rm -f $RPM_BUILD_ROOT/%{_datadir}/color/argyll/License.txt %if 0%{?suse_version} < 1120 # Do some device permission magic @@ -141,24 +134,19 @@ install -d -m 0755 %{buildroot}%{_datadir}/PolicyKit/policy/ install -p -m 0644 %{SOURCE2} \ %{buildroot}%{_datadir}/PolicyKit/policy/ %else -install -d -m 0755 %{buildroot}%{_sysconfdir}/udev/rules.d +install -d -m 0755 %{buildroot}/lib/udev/rules.d install -p -m 0644 libusb1/55-Argyll.rules \ - %{buildroot}%{_sysconfdir}/udev/rules.d + %{buildroot}/lib/udev/rules.d %endif %clean rm -rf %{buildroot} -%post -n libicc2 -p /sbin/ldconfig - -%postun -n libicc2 -p /sbin/ldconfig - %files %defattr(-,root,root,-) %doc *.txt %{_bindir}/* -%{_libdir}/argyll %dir %{_datadir}/color %{_datadir}/color/argyll @@ -166,22 +154,11 @@ rm -rf %{buildroot} %{_datadir}/hal/fdi/policy/10osvendor/19-color.fdi %{_datadir}/PolicyKit/policy/color-device-file.policy %else -%{_sysconfdir}/udev/rules.d/55-Argyll.rules +/lib/udev/rules.d/55-Argyll.rules %endif -%exclude %{_datadir}/doc - %files doc %defattr(-,root,root,-) %doc doc/*.html doc/*.jpg doc/*.txt -%files -n libicc2 -%defattr(-,root,root,-) -%{_libdir}/*.so.2* - -%files -n libicc-devel -%defattr(-,root,root,-) -%{_libdir}/*.so -%{_includedir}/* - %changelog