nautilus-cd-burner: make it work with cdrkit
authorKoen Kooi <koen@openembedded.org>
Mon, 27 Dec 2010 09:39:17 +0000 (10:39 +0100)
committerKoen Kooi <koen@openembedded.org>
Mon, 27 Dec 2010 09:40:43 +0000 (10:40 +0100)
Signed-off-by: Koen Kooi <koen@openembedded.org>
recipes/nautilus/nautilus-cd-burner/03_wodim.patch [new file with mode: 0644]
recipes/nautilus/nautilus-cd-burner/04_readom.patch [new file with mode: 0644]
recipes/nautilus/nautilus-cd-burner/05_genisoimage.patch [new file with mode: 0644]
recipes/nautilus/nautilus-cd-burner/06_fix_warnings_on_build.patch [new file with mode: 0644]
recipes/nautilus/nautilus-cd-burner_2.25.3.bb

diff --git a/recipes/nautilus/nautilus-cd-burner/03_wodim.patch b/recipes/nautilus/nautilus-cd-burner/03_wodim.patch
new file mode 100644 (file)
index 0000000..5e29465
--- /dev/null
@@ -0,0 +1,48 @@
+diff -Nur -x '*.orig' -x '*~' nautilus-cd-burner-2.21.5/src/nautilus-burn-recorder.c nautilus-cd-burner-2.21.5.new/src/nautilus-burn-recorder.c
+--- nautilus-cd-burner-2.21.5/src/nautilus-burn-recorder.c     2008-01-21 16:16:16.000000000 +0000
++++ nautilus-cd-burner-2.21.5.new/src/nautilus-burn-recorder.c 2008-01-22 09:43:03.000000000 +0000
+@@ -374,7 +374,7 @@
+         int                   tmp;
+         if (line && process->debug) {
+-                g_print ("cdrecord stdout: %s", line);
++                g_print ("wodim stdout: %s", line);
+         }
+         if (sscanf (line, "Track %2u: %d of %d MB written (fifo %d%%) [buf %d%%] %fx.",
+@@ -482,7 +482,7 @@
+         NautilusBurnRecorder *recorder = data;
+         if (line && process->debug) {
+-                g_print ("cdrecord blank stdout: %s", line);
++                g_print ("wodim blank stdout: %s", line);
+         }
+         if (g_str_has_prefix (line, "Re-load disk and hit <CR>") ||
+@@ -674,7 +674,7 @@
+         NautilusBurnRecorder *recorder = data;
+         if (line && process->debug) {
+-                g_print ("cdrecord stderr: %s", line);
++                g_print ("wodim stderr: %s", line);
+         }
+         if (strstr (line, "No disk / Wrong disk!") != NULL) {
+@@ -1381,7 +1381,7 @@
+                 err_line_func = cdrdao_stderr_line;
+         } else {
+                 argv = g_ptr_array_new ();
+-                g_ptr_array_add (argv, "cdrecord");
++                g_ptr_array_add (argv, "wodim");
+                 g_ptr_array_add (argv, "fs=16m");
+@@ -1498,7 +1498,7 @@
+         }
+         argv = g_ptr_array_new ();
+-        g_ptr_array_add (argv, "cdrecord");
++        g_ptr_array_add (argv, "wodim");
+         dev_str = g_strdup_printf ("dev=%s", nautilus_burn_drive_get_device (drive));
+         g_ptr_array_add (argv, dev_str);
diff --git a/recipes/nautilus/nautilus-cd-burner/04_readom.patch b/recipes/nautilus/nautilus-cd-burner/04_readom.patch
new file mode 100644 (file)
index 0000000..43d657a
--- /dev/null
@@ -0,0 +1,30 @@
+diff -Nur -x '*.orig' -x '*~' nautilus-cd-burner-2.21.5/src/make-iso.c nautilus-cd-burner-2.21.5.new/src/make-iso.c
+--- nautilus-cd-burner-2.21.5/src/make-iso.c   2008-01-21 16:14:52.000000000 +0000
++++ nautilus-cd-burner-2.21.5.new/src/make-iso.c       2008-01-22 09:46:01.000000000 +0000
+@@ -719,7 +719,7 @@
+         char            *pos;
+         if (line && iso->priv->debug) {
+-                g_print ("readcd stderr: %s", line);
++                g_print ("readom stderr: %s", line);
+         }
+         pos = strstr (line, "addr:");
+@@ -1379,7 +1379,7 @@
+                 device_arg = g_strdup_printf ("-dev=%s", nautilus_burn_drive_get_device (drive));
+                 argv = g_ptr_array_new ();
+-                g_ptr_array_add (argv, "readcd");
++                g_ptr_array_add (argv, "readom");
+                 g_ptr_array_add (argv, "-sectors=0-0");
+                 g_ptr_array_add (argv, device_arg);
+                 g_ptr_array_add (argv, "-f=/dev/null");
+@@ -1561,7 +1561,7 @@
+                 dev_arg = g_strdup_printf ("dev=%s", nautilus_burn_drive_get_device (drive));
+                 argv = g_ptr_array_new ();
+-                g_ptr_array_add (argv, "readcd");
++                g_ptr_array_add (argv, "readom");
+                 g_ptr_array_add (argv, (char *)dev_arg);
+                 g_ptr_array_add (argv, (char *)filename_arg);
+                 g_ptr_array_add (argv, NULL);
diff --git a/recipes/nautilus/nautilus-cd-burner/05_genisoimage.patch b/recipes/nautilus/nautilus-cd-burner/05_genisoimage.patch
new file mode 100644 (file)
index 0000000..fa8e913
--- /dev/null
@@ -0,0 +1,83 @@
+diff -Nur -x '*.orig' -x '*~' nautilus-cd-burner-2.21.5/src/make-iso.c nautilus-cd-burner-2.21.5.new/src/make-iso.c
+--- nautilus-cd-burner-2.21.5/src/make-iso.c   2008-01-22 09:53:29.000000000 +0000
++++ nautilus-cd-burner-2.21.5.new/src/make-iso.c       2008-01-22 09:54:50.000000000 +0000
+@@ -837,22 +837,8 @@
+ static gboolean
+ ncb_mkisofs_supports_utf8 (void)
+ {
+-        static gboolean first = TRUE;
+-        static gboolean supported;
+-
+-        if (first) {
+-                char    *standard_error;
+-                gboolean res;
+-                res = g_spawn_command_line_sync ("mkisofs -input-charset utf8", NULL, &standard_error, NULL, NULL);
+-                if (res && !g_strrstr (standard_error, "Unknown charset")) {
+-                        supported = TRUE;
+-                } else {
+-                        supported = FALSE;
+-                }
+-                g_free (standard_error);
+-        }
+-
+-        return supported;
++        /* genisoimage always supports utf8 */
++        return TRUE;
+ }
+ static char *
+@@ -972,7 +958,7 @@
+         }
+         argv = g_ptr_array_new ();
+-        g_ptr_array_add (argv, "mkisofs");
++        g_ptr_array_add (argv, "genisoimage");
+         g_ptr_array_add (argv, "-r");
+         if (use_joliet) {
+                 g_ptr_array_add (argv, "-J");
+@@ -1139,7 +1125,7 @@
+                 utf8_filename = ncb_make_valid_utf8 (filename->str);
+                 msg = g_strdup_printf (_("Some files have invalid filenames: \n%s"), utf8_filename);
+                 if (iso->priv->debug) {
+-                        g_print ("mkisofs error: %s\n", msg);
++                        g_print ("genisoimage error: %s\n", msg);
+                 }
+                 process_error (iso, msg);
+@@ -1253,7 +1239,7 @@
+         }
+         argv = g_ptr_array_new ();
+-        g_ptr_array_add (argv, "mkisofs");
++        g_ptr_array_add (argv, "genisoimage");
+         g_ptr_array_add (argv, "-r");
+         if (use_joliet) {
+                 g_ptr_array_add (argv, "-J");
+diff -Nur -x '*.orig' -x '*~' nautilus-cd-burner-2.21.5/src/nautilus-burn-recorder.c nautilus-cd-burner-2.21.5.new/src/nautilus-burn-recorder.c
+--- nautilus-cd-burner-2.21.5/src/nautilus-burn-recorder.c     2008-01-22 09:53:29.000000000 +0000
++++ nautilus-cd-burner-2.21.5.new/src/nautilus-burn-recorder.c 2008-01-22 09:54:00.000000000 +0000
+@@ -1069,22 +1069,8 @@
+ static gboolean
+ ncb_mkisofs_supports_utf8 (void)
+ {
+-        static gboolean first = TRUE;
+-        static gboolean supported;
+-
+-        if (first) {
+-                char    *standard_error;
+-                gboolean res;
+-                res = g_spawn_command_line_sync ("mkisofs -input-charset utf8", NULL, &standard_error, NULL, NULL);
+-                if (res && !g_strrstr (standard_error, "Unknown charset")) {
+-                        supported = TRUE;
+-                } else {
+-                        supported = FALSE;
+-                }
+-                g_free (standard_error);
+-        }
+-
+-        return supported;
++        /* genisoimage always supports utf8 */
++        return TRUE;
+ }
+ static int
diff --git a/recipes/nautilus/nautilus-cd-burner/06_fix_warnings_on_build.patch b/recipes/nautilus/nautilus-cd-burner/06_fix_warnings_on_build.patch
new file mode 100644 (file)
index 0000000..389f923
--- /dev/null
@@ -0,0 +1,20 @@
+diff -Nur -x '*.orig' -x '*~' nautilus-cd-burner-2.25.3/src/burn-extension.c nautilus-cd-burner-2.25.3.new/src/burn-extension.c
+--- nautilus-cd-burner-2.25.3/src/burn-extension.c     2008-12-16 15:54:47.000000000 +0100
++++ nautilus-cd-burner-2.25.3.new/src/burn-extension.c 2009-03-19 00:58:50.201340018 +0100
+@@ -129,12 +129,12 @@
+                             &error)) {
+-                dialog = gtk_message_dialog (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING,
+-                                           GTK_BUTTONS_OK, _("Unable to launch the cd burner application"));
++                dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING,
++                                               GTK_BUTTONS_OK, _("Unable to launch the cd burner application"));
+-                gtk_message_dialog_format_secondary_text (dialog, "%s", error->message);
++                gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), "%s", error->message);
+-                gtk_dialog_run (dialog);
++                gtk_dialog_run (GTK_DIALOG (dialog));
+                 gtk_widget_destroy (dialog);
+                 g_error_free (error);
index f6c0c81..07afade 100644 (file)
@@ -1,21 +1,26 @@
 DESCRIPTION = "Easy To Use GNOME CD/DVD Burning Application"
-LICENSE = "LGPL GPL"
+LICENSE = "LGPLv2 GPLv2"
 SECTION = "x11/gnome"
 
 inherit gnome
 
+PR = "r1"
+
 SRC_URI += " file://eject1.diff \
              file://eject2.diff \
+             file://03_wodim.patch \
+             file://04_readom.patch \
+             file://05_genisoimage.patch \
+             file://06_fix_warnings_on_build.patch \
 "
 
 SRC_URI[archive.md5sum] = "02324246d8e4804e15e41ef7b62836a7"
 SRC_URI[archive.sha256sum] = "ac61757df5d0f8f75f05cf9921b0d5638b0a96b68507475b7034739b9afbc93e"
 
 DEPENDS="dbus-glib glib-2.0 gtk+ hal libglade libgnomeui nautilus"
-# FIXME: recipes are missing
-#RDEPENDS_${PN} = "genisoimage growisofs wodim"
 
 PACKAGES += "nautilus-extension-nautilus-cd-burner"
+RDEPENDS_${PN} += "cdrkit"
 FILES_nautilus-extension-nautilus-cd-burner = "${libdir}/nautilus"
 FILES_${PN}-dbg += "${libdir}/nautilus/extensions-*/.debug"