summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--audio/sound-juicer/Makefile31
-rw-r--r--audio/sound-juicer/distinfo2
-rw-r--r--audio/sound-juicer/files/patch-configure11
-rw-r--r--audio/sound-juicer/files/patch-src::Makefile.in20
-rw-r--r--audio/sound-juicer/files/patch-src::cd-drive.c20
-rw-r--r--audio/sound-juicer/files/patch-src::dvd_plus_rw_utils.cpp11
-rw-r--r--audio/sound-juicer/files/patch-src::sj-extracting.c17
-rw-r--r--audio/sound-juicer/files/patch-src::sj-main.c31
-rw-r--r--audio/sound-juicer/files/patch-src::sj-util.c85
-rw-r--r--audio/sound-juicer/files/patch-tests::Makefile.in11
-rw-r--r--audio/sound-juicer/pkg-descr5
-rw-r--r--audio/sound-juicer/pkg-plist19
12 files changed, 263 insertions, 0 deletions
diff --git a/audio/sound-juicer/Makefile b/audio/sound-juicer/Makefile
new file mode 100644
index 000000000..118800b76
--- /dev/null
+++ b/audio/sound-juicer/Makefile
@@ -0,0 +1,31 @@
+# New ports collection makefile for: soundjuicer
+# Date created: 20 Jan 2004
+# Whom: Alexander Nedotsukov <bland@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= sound-juicer
+PORTVERSION= 0.5.10.1
+PORTREVISION= 2
+CATEGORIES= audio gnome
+MASTER_SITES= http://www.burtonini.com/computing/
+DIST_SUBDIR= gnome2
+
+MAINTAINER= bland@FreeBSD.org
+COMMENT= Clean, mean and lean CD ripper for GNOME2
+
+LIB_DEPENDS= musicbrainz.3:${PORTSDIR}/audio/libmusicbrainz
+
+USE_X_PREFIX= yes
+USE_GMAKE= yes
+USE_GNOME= gnomehack intlhack gnomeprefix libgnomeui gstreamerplugins
+USE_LIBTOOL= yes
+CONFIGURE_ARGS= --enable-ignore-missing-cd
+
+pre-everything::
+ @${ECHO_MSG}
+ @${ECHO_MSG} "You must have gstreamer-plugins built with Cdparanoia support!"
+ @${ECHO_MSG}
+
+.include <bsd.port.mk>
diff --git a/audio/sound-juicer/distinfo b/audio/sound-juicer/distinfo
new file mode 100644
index 000000000..a2e4d7f73
--- /dev/null
+++ b/audio/sound-juicer/distinfo
@@ -0,0 +1,2 @@
+MD5 (gnome2/sound-juicer-0.5.10.1.tar.gz) = a879cce136a1f26274f0cb1906fbec71
+SIZE (gnome2/sound-juicer-0.5.10.1.tar.gz) = 432801
diff --git a/audio/sound-juicer/files/patch-configure b/audio/sound-juicer/files/patch-configure
new file mode 100644
index 000000000..9c7f97921
--- /dev/null
+++ b/audio/sound-juicer/files/patch-configure
@@ -0,0 +1,11 @@
+--- configure.orig Sat Mar 13 11:06:49 2004
++++ configure Sat Mar 13 11:07:45 2004
+@@ -6889,7 +6889,7 @@
+ HAVE_GSTREAMER=no
+
+ # Look for 0.7
+-GST_MAJORMINOR=0.7
++GST_MAJORMINOR=0.8
+
+ succeeded=no
+
diff --git a/audio/sound-juicer/files/patch-src::Makefile.in b/audio/sound-juicer/files/patch-src::Makefile.in
new file mode 100644
index 000000000..95d58f326
--- /dev/null
+++ b/audio/sound-juicer/files/patch-src::Makefile.in
@@ -0,0 +1,20 @@
+--- src/Makefile.in.orig Sat Feb 7 03:17:47 2004
++++ src/Makefile.in Sat Feb 7 03:19:58 2004
+@@ -110,7 +110,7 @@
+ LIBGLADE_CFLAGS = @LIBGLADE_CFLAGS@
+ LIBGLADE_LIBS = @LIBGLADE_LIBS@
+ LIBOBJS = @LIBOBJS@
+-LIBS = @LIBS@
++LIBS = @LIBS@ -lcam
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
+@@ -171,7 +171,7 @@
+ target_alias = @target_alias@
+
+ # General compiler flags
+-AM_CFLAGS = -Wall -Werror -export-dynamic -W -Wno-unused-parameter
++AM_CFLAGS = -Wall -export-dynamic -W
+
+ # General CPP flags. When I can demand automake 1.8, this can become
+ # sound_juicer_CPPFLAGS.
diff --git a/audio/sound-juicer/files/patch-src::cd-drive.c b/audio/sound-juicer/files/patch-src::cd-drive.c
new file mode 100644
index 000000000..244fd020d
--- /dev/null
+++ b/audio/sound-juicer/files/patch-src::cd-drive.c
@@ -0,0 +1,20 @@
+--- src/cd-drive.c.orig Sat Feb 7 18:02:54 2004
++++ src/cd-drive.c Sat Feb 7 18:03:46 2004
+@@ -66,7 +66,7 @@
+
+ /* For dvd_plus_rw_utils.cpp */
+ int get_dvd_r_rw_profile (const char *name);
+-int get_mmc_profile (void *fd);
++int get_mmc_profile (int fd);
+
+ static void
+ add_dvd_plus (CDDrive *cdrom)
+@@ -103,7 +103,7 @@
+ return CD_MEDIA_TYPE_ERROR;
+ }
+
+- mmc_profile = get_mmc_profile ((void *)&fd);
++ mmc_profile = get_mmc_profile (fd);
+ close (fd);
+
+ switch (mmc_profile) {
diff --git a/audio/sound-juicer/files/patch-src::dvd_plus_rw_utils.cpp b/audio/sound-juicer/files/patch-src::dvd_plus_rw_utils.cpp
new file mode 100644
index 000000000..df1c70108
--- /dev/null
+++ b/audio/sound-juicer/files/patch-src::dvd_plus_rw_utils.cpp
@@ -0,0 +1,11 @@
+--- src/dvd_plus_rw_utils.cpp.orig Wed Jan 21 12:47:50 2004
++++ src/dvd_plus_rw_utils.cpp Wed Jan 21 12:48:04 2004
+@@ -113,7 +113,7 @@
+ }
+
+ extern "C"
+-int get_mmc_profile (void *fd)
++int get_mmc_profile (int fd)
+ { Scsi_Command cmd(fd);
+ unsigned char buf[8];
+ int profile=-1,once=1;
diff --git a/audio/sound-juicer/files/patch-src::sj-extracting.c b/audio/sound-juicer/files/patch-src::sj-extracting.c
new file mode 100644
index 000000000..b2aa88dc0
--- /dev/null
+++ b/audio/sound-juicer/files/patch-src::sj-extracting.c
@@ -0,0 +1,17 @@
+--- src/sj-extracting.c.orig Tue Jan 13 20:19:03 2004
++++ src/sj-extracting.c Sat Feb 7 19:12:38 2004
+@@ -226,7 +226,13 @@
+ pop_and_extract (void)
+ {
+ if (pending == NULL) {
+- g_assert_not_reached ();
++ gtk_widget_hide (progress_dialog);
++ show_finished_dialog ();
++ cleanup ();
++ extracting = FALSE;
++ if (autostart) {
++ gtk_main_quit ();
++ }
+ } else {
+ char *file_path, *directory;
+ GError *error = NULL;
diff --git a/audio/sound-juicer/files/patch-src::sj-main.c b/audio/sound-juicer/files/patch-src::sj-main.c
new file mode 100644
index 000000000..2bf4272ad
--- /dev/null
+++ b/audio/sound-juicer/files/patch-src::sj-main.c
@@ -0,0 +1,31 @@
+--- src/sj-main.c.orig Wed Jan 7 20:38:00 2004
++++ src/sj-main.c Thu Jan 22 14:22:54 2004
+@@ -535,9 +535,10 @@
+ */
+ void device_changed_cb (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer user_data)
+ {
+- g_assert (strcmp (entry->key, GCONF_DEVICE) == 0);
+ gboolean ignore_no_media = GPOINTER_TO_INT (user_data);
+
++ g_assert (strcmp (entry->key, GCONF_DEVICE) == 0);
++
+ if (entry->value == NULL) {
+ device = prefs_get_default_device();
+ if (device == NULL) {
+@@ -833,7 +834,7 @@
+ void on_contents_activate(GtkWidget *button, gpointer user_data) {
+ GError *error = NULL;
+
+- gnome_help_display ("sound-juicer", NULL, &error);
++ gnome_help_display ("sound-juicer.xml", NULL, &error);
+ if (error) {
+ GtkWidget *dialog;
+
+@@ -870,6 +871,7 @@
+ VERSION, LIBGNOMEUI_MODULE,
+ argc, argv,
+ GNOME_PARAM_POPT_TABLE, options,
++ GNOME_PARAM_APP_DATADIR, DATADIR,
+ NULL);
+ g_set_application_name (_("Sound Juicer"));
+
diff --git a/audio/sound-juicer/files/patch-src::sj-util.c b/audio/sound-juicer/files/patch-src::sj-util.c
new file mode 100644
index 000000000..ac2bcfbd8
--- /dev/null
+++ b/audio/sound-juicer/files/patch-src::sj-util.c
@@ -0,0 +1,85 @@
+--- src/sj-util.c.orig Wed Jan 7 20:38:00 2004
++++ src/sj-util.c Fri Jan 23 10:48:36 2004
+@@ -120,6 +120,9 @@
+ gtk_widget_destroy (dialog);
+ goto done;
+ }
++#ifdef __FreeBSD__
++ ioctl (fd, CDIOCALLOW);
++#endif
+ result = ioctl (fd, CDROMEJECT);
+ if (result == -1) {
+ GtkWidget *dialog;
+@@ -148,21 +151,33 @@
+ tray_is_opened (const char *device)
+ {
+ int fd, status;
+-
++
++#if defined(__linux__)
+ fd = open (device, O_RDONLY | O_NONBLOCK | O_EXCL);
+ if (fd < 0) {
+ return FALSE;
+ }
+-
++
+ status = ioctl (fd, CDROM_DRIVE_STATUS, CDSL_CURRENT);
++ close (fd);
+ if (status < 0) {
+- close (fd);
+ return FALSE;
+ }
+
+- close (fd);
+-
+ return status == CDS_TRAY_OPEN;
++#elif defined(__FreeBSD__)
++ struct ioc_toc_header h;
++
++ fd = open (device, O_RDONLY | O_NONBLOCK | O_EXCL);
++ if (fd < 0) {
++ return FALSE;
++ }
++
++ status = ioctl (fd, CDIOREADTOCHEADER, &h);
++ close (fd);
++
++ return status < 0;
++#endif
+ }
+
+ gboolean is_audio_cd (const char *device)
+@@ -170,6 +185,10 @@
+ CDMediaType type;
+ int fd, status;
+
++ if (tray_is_opened (device)) {
++ return FALSE;
++ }
++
+ type = guess_media_type (device);
+ switch (type) {
+ case CD_MEDIA_TYPE_CD:
+@@ -189,15 +208,18 @@
+ return FALSE;
+ }
+
++#if defined(__linux__)
+ status = ioctl (fd, CDROM_DISC_STATUS, CDSL_CURRENT);
++ close (fd);
+ if (status < 0) {
+- close (fd);
+ return FALSE;
+ }
+-
+- close (fd);
+-
+ return status == CDS_AUDIO;
++#elif defined (__FreeBSD__)
++ return TRUE;
++#else
++ return TRUE;
++#endif
+ }
+
+ /* Pass NULL to use g_free */
diff --git a/audio/sound-juicer/files/patch-tests::Makefile.in b/audio/sound-juicer/files/patch-tests::Makefile.in
new file mode 100644
index 000000000..0a2942850
--- /dev/null
+++ b/audio/sound-juicer/files/patch-tests::Makefile.in
@@ -0,0 +1,11 @@
+--- tests/Makefile.in.orig Sat Feb 7 03:15:59 2004
++++ tests/Makefile.in Sat Feb 7 03:17:01 2004
+@@ -110,7 +110,7 @@
+ LIBGLADE_CFLAGS = @LIBGLADE_CFLAGS@
+ LIBGLADE_LIBS = @LIBGLADE_LIBS@
+ LIBOBJS = @LIBOBJS@
+-LIBS = @LIBS@
++LIBS = @LIBS@ -lcam
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
diff --git a/audio/sound-juicer/pkg-descr b/audio/sound-juicer/pkg-descr
new file mode 100644
index 000000000..d2fe92826
--- /dev/null
+++ b/audio/sound-juicer/pkg-descr
@@ -0,0 +1,5 @@
+Sound Juicer is a clean, mean and lean CD ripper for GNOME2.
+It supports a clean interface and simple preferences, aiming
+to do The Right Thing and What You Mean all of the time.
+
+WWW: http://www.burtonini.com/blog/computers/sound-juicer/
diff --git a/audio/sound-juicer/pkg-plist b/audio/sound-juicer/pkg-plist
new file mode 100644
index 000000000..132fd4f29
--- /dev/null
+++ b/audio/sound-juicer/pkg-plist
@@ -0,0 +1,19 @@
+bin/sound-juicer
+etc/gconf/schemas/sound-juicer.schemas
+share/gnome/applications/sound-juicer.desktop
+share/gnome/help/sound-juicer/C/fdl-appendix.xml
+share/gnome/help/sound-juicer/C/figures/prefs.png
+share/gnome/help/sound-juicer/C/figures/startup.png
+share/gnome/help/sound-juicer/C/legal.xml
+share/gnome/help/sound-juicer/C/sound-juicer.xml
+share/gnome/omf/sound-juicer/sound-juicer-manual-C.omf
+@exec scrollkeeper-install -q %D/share/gnome/omf/sound-juicer/sound-juicer-manual-C.omf 2>/dev/null || /usr/bin/true
+share/gnome/pixmaps/sound-juicer.png
+share/gnome/sound-juicer/orange-slice.png
+share/gnome/sound-juicer/sound-juicer.glade
+@dirrm share/gnome/sound-juicer
+@dirrm share/gnome/omf/sound-juicer
+@dirrm share/gnome/help/sound-juicer/C/figures
+@dirrm share/gnome/help/sound-juicer/C
+@dirrm share/gnome/help/sound-juicer
+@unexec scrollkeeper-uninstall -q %D/share/gnome/omf/sound-juicer/sound-juicer-manual-C.omf 2>/dev/null || /usr/bin/true