diff options
author | Marinus Schraal <foser@gentoo.org> | 2003-04-23 11:44:38 +0000 |
---|---|---|
committer | Marinus Schraal <foser@gentoo.org> | 2003-04-23 11:44:38 +0000 |
commit | fdacec178751cfa1d7760ebcf1fc4e6d436a83f3 (patch) | |
tree | a4320b8c051effed609d0108627a72382e05f6db /media-sound/sound-juicer | |
parent | now builds from source; various fixes. still masked. (diff) | |
download | gentoo-2-fdacec178751cfa1d7760ebcf1fc4e6d436a83f3.tar.gz gentoo-2-fdacec178751cfa1d7760ebcf1fc4e6d436a83f3.tar.bz2 gentoo-2-fdacec178751cfa1d7760ebcf1fc4e6d436a83f3.zip |
added some patches
Diffstat (limited to 'media-sound/sound-juicer')
6 files changed, 292 insertions, 1 deletions
diff --git a/media-sound/sound-juicer/ChangeLog b/media-sound/sound-juicer/ChangeLog index 972bac25b822..98cdaf7a5e0e 100644 --- a/media-sound/sound-juicer/ChangeLog +++ b/media-sound/sound-juicer/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for media-sound/sound-juicer # Copyright 2000-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-sound/sound-juicer/ChangeLog,v 1.2 2003/04/21 22:36:02 foser Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-sound/sound-juicer/ChangeLog,v 1.3 2003/04/23 11:44:38 foser Exp $ + +*sound-juicer-0.1-r1 (23 Apr 2003) + + 23 Apr 2003; foser <foser@gentoo.org> sound-juicer-0.1-r1.ebuild : + Added some patches *sound-juicer-0.1 (19 Apr 2003) diff --git a/media-sound/sound-juicer/files/digest-sound-juicer-0.1-r1 b/media-sound/sound-juicer/files/digest-sound-juicer-0.1-r1 new file mode 100644 index 000000000000..8d622d04f29e --- /dev/null +++ b/media-sound/sound-juicer/files/digest-sound-juicer-0.1-r1 @@ -0,0 +1 @@ +MD5 b97e7ab6fc08412d53c98d6505969681 sound-juicer-0.1.tar.gz 163744 diff --git a/media-sound/sound-juicer/files/sound-juicer-0.1-avoid_illegal_filename.patch b/media-sound/sound-juicer/files/sound-juicer-0.1-avoid_illegal_filename.patch new file mode 100644 index 000000000000..615e81bb8c1b --- /dev/null +++ b/media-sound/sound-juicer/files/sound-juicer-0.1-avoid_illegal_filename.patch @@ -0,0 +1,34 @@ +Only in sound-juicer-0.1.patched/: .tm_project.cache +diff -ur sound-juicer-0.1/src/sj-extracting.c sound-juicer-0.1.patched/src/sj-extracting.c +--- sound-juicer-0.1/src/sj-extracting.c 2003-04-08 13:06:35.000000000 +0200 ++++ sound-juicer-0.1.patched/src/sj-extracting.c 2003-04-23 00:27:18.000000000 +0200 +@@ -42,7 +42,7 @@ + static void pop_and_rip (void) + { + TrackDetails *track; +- char *file_path, *directory; ++ char *file_path, *directory, *file_name; + GError *error = NULL; + int left; + +@@ -60,7 +60,11 @@ + track_duration = track->duration; + + gtk_label_set_text (GTK_LABEL (progress_label), g_strdup_printf (_("Currently extracting '%s'"), track->title)); +- file_path = g_strdup_printf("%s/%s/%s.ogg", base_path, track->album->title, track->title); /* TODO: CRAP */ ++ ++ /* whitespace illegal path chars */ ++ file_name = g_strdelimit ( (gchar *)track->title, "/", ' '); ++ ++ file_path = g_strdup_printf("%s/%s/%s.ogg", base_path, track->album->title, file_name ); /* TODO: CRAP */ + directory = g_path_get_dirname (file_path); + if (!g_file_test (directory, G_FILE_TEST_IS_DIR)) { + GError *error = NULL; +@@ -80,6 +84,7 @@ + return; + } + g_free (file_path); ++ g_free (file_name); + return; + } + diff --git a/media-sound/sound-juicer/files/sound-juicer-0.1-nocrash_on_missing_plugins.patch b/media-sound/sound-juicer/files/sound-juicer-0.1-nocrash_on_missing_plugins.patch new file mode 100644 index 000000000000..8986c949834d --- /dev/null +++ b/media-sound/sound-juicer/files/sound-juicer-0.1-nocrash_on_missing_plugins.patch @@ -0,0 +1,83 @@ +Only in sound-juicer-0.1.patched/: .tm_project.cache +diff -ur sound-juicer-0.1/src/sj-extractor.c sound-juicer-0.1.patched/src/sj-extractor.c +--- sound-juicer-0.1/src/sj-extractor.c 2003-04-11 10:51:36.000000000 +0200 ++++ sound-juicer-0.1.patched/src/sj-extractor.c 2003-04-22 23:50:55.000000000 +0200 +@@ -136,10 +136,11 @@ + GError *error = NULL; + extractor->priv = g_new0 (SjExtractorPrivate, 1); + build_pipeline(extractor, &error); +- if (error) { ++ ++/* if (error) { + g_error (_("Could not create pipeline: %s"), error->message); + g_error_free (error); +- } ++ } */ + } + + #if 0 +@@ -182,8 +183,6 @@ + + priv = extractor->priv; + +- priv->pipeline = gst_pipeline_new ("pipeline"); +- + /* Read from CD */ + priv->cdparanoia = gst_element_factory_make ("cdparanoia", "cdparanoia"); + if (priv->cdparanoia == NULL) { +@@ -220,6 +219,8 @@ + return; + } + ++ priv->pipeline = gst_pipeline_new ("pipeline"); ++ + /* Add the elements to the pipeline */ + gst_bin_add (GST_BIN (priv->pipeline), priv->cdparanoia); + gst_bin_add (GST_BIN (priv->pipeline), priv->vorbisenc); +@@ -359,3 +360,13 @@ + g_return_val_if_fail (SJ_IS_EXTRACTOR (extractor), NULL); + return extractor->priv->track_details; + } ++ ++gboolean sj_extractor_pipeline_constructed (SjExtractor *extractor) ++{ ++ g_return_val_if_fail (extractor != NULL, FALSE); ++ g_return_val_if_fail (SJ_IS_EXTRACTOR (extractor), FALSE); ++ ++ if (extractor->priv->pipeline == NULL) ++ return FALSE; ++ return TRUE; ++} +diff -ur sound-juicer-0.1/src/sj-extractor.h sound-juicer-0.1.patched/src/sj-extractor.h +--- sound-juicer-0.1/src/sj-extractor.h 2003-04-07 23:01:02.000000000 +0200 ++++ sound-juicer-0.1.patched/src/sj-extractor.h 2003-04-22 23:38:59.000000000 +0200 +@@ -69,6 +69,8 @@ + + const TrackDetails *sj_extractor_get_track_details (SjExtractor *extractor); + ++gboolean sj_extractor_pipeline_constructed (SjExtractor *extractor); ++ + G_END_DECLS + + #endif /* SJ_EXTRACTOR_H */ +diff -ur sound-juicer-0.1/src/sj-main.c sound-juicer-0.1.patched/src/sj-main.c +--- sound-juicer-0.1/src/sj-main.c 2003-04-11 10:43:41.000000000 +0200 ++++ sound-juicer-0.1.patched/src/sj-main.c 2003-04-22 23:54:56.000000000 +0200 +@@ -417,6 +417,17 @@ + + extractor = SJ_EXTRACTOR (sj_extractor_new()); + ++ if ( !sj_extractor_pipeline_constructed( extractor)) ++ { ++ GtkWidget *dialog; ++ ++ dialog = gtk_message_dialog_new ( NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, ++ GTK_BUTTONS_OK, "Could not create pipeline, exiting.\n\nSome required gstreamer plugins are missing,\nplease read the documentation for more information." ); ++ ++ gtk_dialog_run( GTK_DIALOG( dialog)); ++ exit (1); ++ } ++ + gconf_client = gconf_client_get_default (); + if (gconf_client == NULL) { + g_print (_("Could not create GConf client.\n")); diff --git a/media-sound/sound-juicer/files/sound-juicer-0.1-paranoia-r1.patch b/media-sound/sound-juicer/files/sound-juicer-0.1-paranoia-r1.patch new file mode 100644 index 000000000000..756f6e9fa51c --- /dev/null +++ b/media-sound/sound-juicer/files/sound-juicer-0.1-paranoia-r1.patch @@ -0,0 +1,121 @@ +Only in sound-juicer-0.1: .tm_project.cache +Only in sound-juicer-0.1: AC_PACKAGE_NAME.prj +Only in sound-juicer-0.1: AC_PACKAGE_NAME.prj.bak +Only in sound-juicer-0.1: AC_PACKAGE_NAME.pws +Only in sound-juicer-0.1.unpatched/: configure +diff -ur sound-juicer-0.1.unpatched/data/sound-juicer.schemas.in sound-juicer-0.1/data/sound-juicer.schemas.in +--- sound-juicer-0.1.unpatched/data/sound-juicer.schemas.in 2003-04-10 19:30:59.000000000 +0200 ++++ sound-juicer-0.1/data/sound-juicer.schemas.in 2003-04-22 19:36:47.000000000 +0200 +@@ -38,5 +38,18 @@ + </locale> + </schema> + ++ <schema> ++ <key>/schemas/apps/sound-juicer/paranoia</key> ++ <applyto>/apps/sound-juicer/paranoia</applyto> ++ <type>int</type> ++ <owner>sound-juicer</owner> ++ <locale name="C"> ++ <short>The paranoia mode to use</short> ++ <long> ++ Paranoia mode, 3 settings. 0 (no paranoia), 4 (cdda2wav-style overlap checking) and 255 (full paranoia) ++ </long> ++ </locale> ++ </schema> ++ + </schemalist> + </gconfschemafile> +diff -ur sound-juicer-0.1.unpatched/src/sj-extractor.c sound-juicer-0.1/src/sj-extractor.c +--- sound-juicer-0.1.unpatched/src/sj-extractor.c 2003-04-11 10:51:36.000000000 +0200 ++++ sound-juicer-0.1/src/sj-extractor.c 2003-04-22 19:45:01.000000000 +0200 +@@ -192,7 +192,7 @@ + _("Could not create cdparanoia element")); + return; + } +- g_object_set (G_OBJECT (priv->cdparanoia), "paranoia_mode", 0, NULL); ++ + /* Get the track format for seeking later */ + priv->track_format = gst_format_get_by_nick ("track"); + g_assert (priv->track_format != 0); /* TODO: GError */ +@@ -275,6 +275,15 @@ + g_object_set (G_OBJECT (extractor->priv->cdparanoia), "location", device, NULL); + } + ++void sj_extractor_set_paranoia (SjExtractor *extractor, const gint paranoia_mode) ++{ ++ g_return_if_fail (extractor != NULL); ++ g_return_if_fail (SJ_IS_EXTRACTOR (extractor)); ++ g_return_if_fail (paranoia_mode != NULL); ++ ++ g_object_set (G_OBJECT (extractor->priv->cdparanoia), "paranoia-mode", paranoia_mode, NULL); ++} ++ + void sj_extractor_extract_track (SjExtractor *extractor, const TrackDetails *track, const char* path, GError **error) + { + GstEvent *event; +diff -ur sound-juicer-0.1.unpatched/src/sj-extractor.h sound-juicer-0.1/src/sj-extractor.h +--- sound-juicer-0.1.unpatched/src/sj-extractor.h 2003-04-07 23:01:02.000000000 +0200 ++++ sound-juicer-0.1/src/sj-extractor.h 2003-04-22 18:46:22.000000000 +0200 +@@ -63,6 +63,8 @@ + + void sj_extractor_set_device (SjExtractor *extractor, const char* device); + ++void sj_extractor_set_paranoia (SjExtractor *extractor, const gint paranoia_mode); ++ + void sj_extractor_extract_track (SjExtractor *extractor, const TrackDetails *track, const char* path, GError **error); + + void sj_extractor_cancel_extract (SjExtractor *extractor); +diff -ur sound-juicer-0.1.unpatched/src/sj-main.c sound-juicer-0.1/src/sj-main.c +--- sound-juicer-0.1.unpatched/src/sj-main.c 2003-04-11 10:43:41.000000000 +0200 ++++ sound-juicer-0.1/src/sj-main.c 2003-04-22 19:40:35.000000000 +0200 +@@ -54,10 +54,12 @@ + static const char *device; + gboolean extracting = FALSE; + ++#define DEFAULT_PARANOIA 4 + #define GCONF_ROOT "/apps/sound-juicer" + #define GCONF_DEVICE GCONF_ROOT "/device" + #define GCONF_BASEPATH GCONF_ROOT "/base_path" + #define GCONF_FORMAT GCONF_ROOT "/format" ++#define GCONF_PARANOIA GCONF_ROOT "/paranoia" + + /** + * Clicked Quit +@@ -277,6 +279,20 @@ + } + + /** ++ * The GConf key for the paranoia mode has changed ++ */ ++void paranoia_changed_cb (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer user_data) ++{ ++ g_assert (strcmp (entry->key, GCONF_PARANOIA) == 0); ++ if (entry->value == NULL) { ++ sj_extractor_set_paranoia (extractor, DEFAULT_PARANOIA); ++ } else { ++ sj_extractor_set_paranoia (extractor, gconf_value_get_int (entry->value)); ++ } ++ /* TODO: sanity check the paranoia somewhat (0,4,255 are valid) */ ++} ++ ++/** + * Utility function to reread a CD + */ + void reread_cd (void) +@@ -427,6 +443,7 @@ + gconf_client_notify_add (gconf_client, GCONF_DEVICE, device_changed_cb, NULL, NULL, NULL); + gconf_client_notify_add (gconf_client, GCONF_BASEPATH, basepath_changed_cb, NULL, NULL, NULL); + gconf_client_notify_add (gconf_client, GCONF_FORMAT, format_changed_cb, NULL, NULL, NULL); ++ gconf_client_notify_add (gconf_client, GCONF_PARANOIA, paranoia_changed_cb, NULL, NULL, NULL); + + glade_init (); + glade = glade_xml_new (DATADIR"/sound-juicer.glade", NULL, NULL); +@@ -499,6 +516,8 @@ + basepath_changed_cb (gconf_client, -1, gconf_client_get_entry (gconf_client, GCONF_BASEPATH, NULL, TRUE, NULL), NULL); + device_changed_cb (gconf_client, -1, gconf_client_get_entry (gconf_client, GCONF_DEVICE, NULL, TRUE, NULL), NULL); + format_changed_cb (gconf_client, -1, gconf_client_get_entry (gconf_client, GCONF_FORMAT, NULL, TRUE, NULL), NULL); ++ paranoia_changed_cb (gconf_client, -1, gconf_client_get_entry (gconf_client, GCONF_PARANOIA, NULL, TRUE, NULL), NULL); ++ + + gtk_widget_show_all (main_window); + gtk_main (); diff --git a/media-sound/sound-juicer/sound-juicer-0.1-r1.ebuild b/media-sound/sound-juicer/sound-juicer-0.1-r1.ebuild new file mode 100644 index 000000000000..94dca3d9fcbd --- /dev/null +++ b/media-sound/sound-juicer/sound-juicer-0.1-r1.ebuild @@ -0,0 +1,47 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-sound/sound-juicer/sound-juicer-0.1-r1.ebuild,v 1.1 2003/04/23 11:44:38 foser Exp $ + +inherit gnome2 eutils + +DESCRIPTION="CD ripper for GNOME 2" +HOMEPAGE="http://www.burtonini.com/" +SRC_URI="http://www.burtonini.com/computing/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" + +IUSE="" + +RDEPEND=">=dev-libs/glib-2 + >=gnome-base/libglade-2 + >=gnome-base/gconf-1.2 + >=gnome-base/libgnomeui-2 + >=media-libs/gstreamer-0.6.1 + >=media-libs/gst-plugins-0.6.1 + >=media-libs/musicbrainz-2.0.1" + +DEPEND="${RDEPEND} + >=dev-util/intltool-0.20 + dev-util/pkgconfig" + +src_unpack() { + unpack ${A} + + # i'm a paranoid android <foser@gentoo.org> + epatch ${FILESDIR}/${P}-paranoia-r1.patch + # do not break configure when not finding certain plugins + epatch ${FILESDIR}/${P}-warn_plugins_missing.patch + # nice handling of missing plugins + epatch ${FILESDIR}/${P}-nocrash_on_missing_plugins.patch + # avoid / in file name + epatch ${FILESDIR}/${P}-avoid_illegal_filename.patch + + cd ${S} + autoconf || die +} + +DOCS="AUTHORS COPYING ChangeLog INSTALL NEWS README TODO" + +SCROLLKEEPER_UPDATE="0" |