Opened 8 years ago

Last modified 3 years ago

#24039 new request

sysutils/k3b new port K3b, a CD/DVD writing suite for KDE

Reported by: rmsfisher@… Owned by: macports-tickets@…
Priority: Low Milestone:
Component: ports Version: 1.8.2
Keywords: cd dvd recording Cc: nerdling (Jeremy Lavergne), rmstonecipher@…, mparchet@…
Port:

Description

K3b is one of the best CD/DVD (and now it looks like BD) recording programs I've seen.
I have developed a Portfile to get it close to working in MacPorts, but would appreciate help from KDE-experienced users in finishing it.
In its current state, the port finds it dependencies, fetches, and configures flawlessly; however, it building fails due to a lack of OS-specific code for Mac OS X.
Please find attached my Portfile and an email from K3b's developers including and addressing the error output.

Attachments (4)

kde-k3b-Portfile (1.3 KB) - added by rmsfisher@… 8 years ago.
k3b_dev_email.html (12.9 KB) - added by rmsfisher@… 8 years ago.
sysutils_k3b-Portfile (923 bytes) - added by rmstonecipher@… 7 years ago.
sysutils_k3b-main.log (473.4 KB) - added by rmstonecipher@… 7 years ago.

Download all attachments as: .zip

Change History (13)

Changed 8 years ago by rmsfisher@…

Changed 8 years ago by rmsfisher@…

comment:1 Changed 7 years ago by rmstonecipher@…

  • Cc sharky@… snc@… rmstonecipher@… added; sharky@… removed

Cc Me!

comment:2 Changed 7 years ago by rmstonecipher@…

It looks like sysutils is a more appropriate category for k3b.
Attached is an updated Portfile as well as the current build error log.
All dependencies are satisfied but there are build time errors.

Changed 7 years ago by rmstonecipher@…

Changed 7 years ago by rmstonecipher@…

comment:3 Changed 7 years ago by rmstonecipher@…

  • Summary changed from kde/k3b New Port K3b, a CD/DVD writing suite for KDE to sysutils/k3b new port K3b, a CD/DVD writing suite for KDE

comment:4 Changed 7 years ago by nerdling (Jeremy Lavergne)

Need to add dep on libsamplerate

comment:5 Changed 7 years ago by nerdling (Jeremy Lavergne)

It seems we're missing the appropriate setting for Q_OS_DARWIN or Q_OS_MACOS—whatever it might be.

From work/k3b-2.0.1/libk3bdevice/k3bdevice.cpp:

#ifdef Q_OS_FREEBSD
#define HANDLE_DEFAULT_VALUE 0
#endif
#ifdef Q_OS_WIN32
#define HANDLE_DEFAULT_VALUE INVALID_HANDLE_VALUE
#endif
#ifdef Q_OS_LINUX
#define HANDLE_DEFAULT_VALUE -1
#endif
#ifdef Q_OS_NETBSD
#define HANDLE_DEFAULT_VALUE -1
#endif

comment:6 Changed 7 years ago by michaelld (Michael Dickens)

A few items:

(1) this port requires port:libmusicbrainz2, not port:libmusicbrainz3 ; simple change.

(2) in k3bdevice.cpp, putting in an #ifdef Q_OS_MAC etc. does allow that file to compile. That said, someone really needs to add code segments specific for Q_OS_MAC; I don't think this device code will execute -well- on OSX.

(3) but the next file doesn't:

opt/local/var/macports/build/_opt_MacPorts_macports-trunk_dports_sysutils_k3b/work/k3b-2.0.1/libk3bdevice/k3bscsicommand.cpp: In constructor 'K3b::Device::ScsiCommand::ScsiCommand(const K3b::Device::Device*)': /opt/local/var/macports/build/_opt_MacPorts_macports-trunk_dports_sysutils_k3b/work/k3b-2.0.1/libk3bdevice/k3bscsicommand.cpp:197: error: invalid use of incomplete type 'struct K3b::Device::ScsiCommand::Private'

and, if you look at the source it reads:

#ifdef Q_OS_LINUX
#include "k3bscsicommand_linux.cpp"
#endif
#ifdef Q_OS_FREEBSD
#include "k3bscsicommand_bsd.cpp"
#endif
#ifdef Q_OS_NETBSD
#include "k3bscsicommand_netbsd.cpp"
#endif
#ifdef Q_OS_WIN32
#include "k3bscsicommand_win.cpp"
#endif

and there is no "k3bscsicommand_mac.cpp" file. There is no way to port this project to OSX / Darwin without this file, and I'd bet it's not the only code/file of this nature that's missing.

Let me know if there's anything else I can do.

comment:7 Changed 5 years ago by mparchet@…

  • Cc mparchet@… added

Cc Me!

comment:8 Changed 4 years ago by sharky@…

  • Cc sharky@… removed

Cc Me!

comment:9 Changed 3 years ago by RJVB (René Bertin)

Ping - any developments here?

Note: See TracTickets for help on using tickets.