1From cbb8f5c05fce1d56ae2e5fa9f57fc49c47bed5ab Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
3Date: Sun, 12 May 2019 21:58:02 +0200
4Subject: [PATCH] Move the function cd_icc_create_from_edid to avoid udev
5 dependeny
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10We do not have udev-native so it is a dependeny we cannot satisfy
11
12Upstream-Status: Inappropriate [OE specific]
13
14Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
15---
16 lib/colord/cd-edid.c | 63 ++++++++++++++++++++++++++++++++++++++++++++
17 lib/colord/cd-icc.c  | 62 -------------------------------------------
18 2 files changed, 63 insertions(+), 62 deletions(-)
19
20diff --git a/lib/colord/cd-edid.c b/lib/colord/cd-edid.c
21index a5e2328..dec509a 100644
22--- a/lib/colord/cd-edid.c
23+++ b/lib/colord/cd-edid.c
24@@ -687,3 +687,66 @@ cd_edid_new (void)
25 	edid = g_object_new (CD_TYPE_EDID, NULL);
26 	return CD_EDID (edid);
27 }
28+
29+/**
30+ * cd_icc_create_from_edid_data:
31+ * @icc: A valid #CdIcc
32+ * @edid: EDID data
33+ * @error: A #GError, or %NULL
34+ *
35+ * Creates an ICC profile from EDID data.
36+ *
37+ * Return value: %TRUE for success
38+ *
39+ * Since: 1.1.2
40+ **/
41+gboolean
42+cd_icc_create_from_edid_data (CdIcc *icc, CdEdid *edid, GError **error)
43+{
44+	CdIccPrivate *priv = GET_PRIVATE (icc);
45+	const gchar *data;
46+
47+	/* not loaded */
48+	if (priv->lcms_profile != NULL) {
49+		g_set_error_literal (error,
50+				     CD_ICC_ERROR,
51+				     CD_ICC_ERROR_FAILED_TO_CREATE,
52+				     "already loaded or generated");
53+		return FALSE;
54+	}
55+
56+	/* create from parsed object */
57+	if (!cd_icc_create_from_edid (icc,
58+				      cd_edid_get_gamma (edid),
59+				      cd_edid_get_red (edid),
60+				      cd_edid_get_green (edid),
61+				      cd_edid_get_blue (edid),
62+				      cd_edid_get_white (edid),
63+				      error)) {
64+		return FALSE;
65+	}
66+
67+	/* set copyright */
68+	cd_icc_set_copyright (icc, NULL,
69+			      /* deliberately not translated */
70+			      "This profile is free of known copyright restrictions.");
71+
72+	/* set 'ICC meta Tag for Monitor Profiles' data */
73+	data = cd_edid_get_checksum (edid);
74+	if (data != NULL)
75+		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MD5, data);
76+	data = cd_edid_get_monitor_name (edid);
77+	if (data != NULL)
78+		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MODEL, data);
79+	data = cd_edid_get_serial_number (edid);
80+	if (data != NULL)
81+		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_SERIAL, data);
82+	data = cd_edid_get_pnp_id (edid);
83+	if (data != NULL)
84+		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MNFT, data);
85+	data = cd_edid_get_vendor_name (edid);
86+	if (data != NULL)
87+		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_VENDOR, data);
88+	return TRUE;
89+}
90+
91diff --git a/lib/colord/cd-icc.c b/lib/colord/cd-icc.c
92index 8beec43..398ff7a 100644
93--- a/lib/colord/cd-icc.c
94+++ b/lib/colord/cd-icc.c
95@@ -3114,68 +3114,6 @@ cd_icc_create_default (CdIcc *icc, GError **error)
96 	return cd_icc_create_default_full (icc, CD_ICC_LOAD_FLAGS_NONE, error);
97 }
98
99-/**
100- * cd_icc_create_from_edid_data:
101- * @icc: A valid #CdIcc
102- * @edid: EDID data
103- * @error: A #GError, or %NULL
104- *
105- * Creates an ICC profile from EDID data.
106- *
107- * Return value: %TRUE for success
108- *
109- * Since: 1.1.2
110- **/
111-gboolean
112-cd_icc_create_from_edid_data (CdIcc *icc, CdEdid *edid, GError **error)
113-{
114-	CdIccPrivate *priv = GET_PRIVATE (icc);
115-	const gchar *data;
116-
117-	/* not loaded */
118-	if (priv->lcms_profile != NULL) {
119-		g_set_error_literal (error,
120-				     CD_ICC_ERROR,
121-				     CD_ICC_ERROR_FAILED_TO_CREATE,
122-				     "already loaded or generated");
123-		return FALSE;
124-	}
125-
126-	/* create from parsed object */
127-	if (!cd_icc_create_from_edid (icc,
128-				      cd_edid_get_gamma (edid),
129-				      cd_edid_get_red (edid),
130-				      cd_edid_get_green (edid),
131-				      cd_edid_get_blue (edid),
132-				      cd_edid_get_white (edid),
133-				      error)) {
134-		return FALSE;
135-	}
136-
137-	/* set copyright */
138-	cd_icc_set_copyright (icc, NULL,
139-			      /* deliberately not translated */
140-			      "This profile is free of known copyright restrictions.");
141-
142-	/* set 'ICC meta Tag for Monitor Profiles' data */
143-	data = cd_edid_get_checksum (edid);
144-	if (data != NULL)
145-		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MD5, data);
146-	data = cd_edid_get_monitor_name (edid);
147-	if (data != NULL)
148-		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MODEL, data);
149-	data = cd_edid_get_serial_number (edid);
150-	if (data != NULL)
151-		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_SERIAL, data);
152-	data = cd_edid_get_pnp_id (edid);
153-	if (data != NULL)
154-		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_MNFT, data);
155-	data = cd_edid_get_vendor_name (edid);
156-	if (data != NULL)
157-		cd_icc_add_metadata (icc, CD_PROFILE_METADATA_EDID_VENDOR, data);
158-	return TRUE;
159-}
160-
161 /**
162  * cd_icc_create_from_edid:
163  * @icc: A valid #CdIcc
164--
1652.20.1
166
167