summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarkd <markd@pkgsrc.org>2006-02-01 00:52:59 +0000
committermarkd <markd@pkgsrc.org>2006-02-01 00:52:59 +0000
commit8be8796bbf88b2be69a1d632eedd0792421ec01e (patch)
treec359fda5dfb30168fa6fba5d02b475a9c5a77786
parent92863d35ee307110ce5961bc7d4462980a0bdf21 (diff)
downloadpkgsrc-8be8796bbf88b2be69a1d632eedd0792421ec01e.tar.gz
Initial import of k3b version 0.12.10.
From the pkgsrc-wip package by Martijn van Buul. Updated to 0.12.10 and finished off by me. K3b is a CD and DVD burning application for Linux and BSD systems optimized for KDE. It provides a comfortable user interface to perform most CD/DVD burning tasks like creating an Audio CD from a set of audio files or copying a CD. The actual burning in K3b is done by the command line utilities cdrecord, cdrdao, and growisofs.
-rw-r--r--sysutils/k3b/DESCR5
-rw-r--r--sysutils/k3b/Makefile35
-rw-r--r--sysutils/k3b/PLIST344
-rw-r--r--sysutils/k3b/distinfo20
-rw-r--r--sysutils/k3b/patches/patch-aa48
-rw-r--r--sysutils/k3b/patches/patch-ab116
-rw-r--r--sysutils/k3b/patches/patch-ac12
-rw-r--r--sysutils/k3b/patches/patch-ad131
-rw-r--r--sysutils/k3b/patches/patch-ae14
-rw-r--r--sysutils/k3b/patches/patch-af141
-rw-r--r--sysutils/k3b/patches/patch-ag15
-rw-r--r--sysutils/k3b/patches/patch-ah50
-rw-r--r--sysutils/k3b/patches/patch-ai13
-rw-r--r--sysutils/k3b/patches/patch-aj14
-rw-r--r--sysutils/k3b/patches/patch-ak15
-rw-r--r--sysutils/k3b/patches/patch-al14
-rw-r--r--sysutils/k3b/patches/patch-am14
-rw-r--r--sysutils/k3b/patches/patch-an40
-rw-r--r--sysutils/k3b/patches/patch-ao40
19 files changed, 1081 insertions, 0 deletions
diff --git a/sysutils/k3b/DESCR b/sysutils/k3b/DESCR
new file mode 100644
index 00000000000..f44f17e734d
--- /dev/null
+++ b/sysutils/k3b/DESCR
@@ -0,0 +1,5 @@
+K3b is a CD and DVD burning application for Linux and BSD systems
+optimized for KDE. It provides a comfortable user interface to perform
+most CD/DVD burning tasks like creating an Audio CD from a set of audio
+files or copying a CD. The actual burning in K3b is done by the command
+line utilities cdrecord, cdrdao, and growisofs.
diff --git a/sysutils/k3b/Makefile b/sysutils/k3b/Makefile
new file mode 100644
index 00000000000..9eacfb4ceae
--- /dev/null
+++ b/sysutils/k3b/Makefile
@@ -0,0 +1,35 @@
+# $NetBSD: Makefile,v 1.1.1.1 2006/02/01 00:52:59 markd Exp $
+#
+
+DISTNAME= k3b-0.12.10
+CATEGORIES= sysutils
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=k3b/}
+EXTRACT_SUFX= .tar.bz2
+
+MAINTAINER= markd@NetBSD.org
+HOMEPAGE= http://www.k3b.org/
+COMMENT= DVD and CD authoring program
+
+DEPENDS+= cdrdao-[0-9]*:../../sysutils/cdrdao
+DEPENDS+= {cdrtools,cdrtools-ossdvd}-[0-9]*:../../sysutils/cdrtools
+
+GNU_CONFIGURE= yes
+USE_TOOLS+= gmake autoconf perl
+USE_LANGUAGES= c c++
+USE_LIBTOOL= yes
+
+ONLY_FOR_PLATFORM= FreeBSD-*-* Linux-*-* NetBSD-*-*
+
+pre-configure:
+ cd ${WRKSRC} && autoheader
+ cd ${WRKSRC} && autoconf
+
+.include "../../meta-pkgs/kde3/kde3.mk"
+.include "../../audio/flac/buildlink3.mk"
+.include "../../audio/lame/buildlink3.mk"
+.include "../../audio/libsndfile/buildlink3.mk"
+.include "../../audio/musicbrainz/buildlink3.mk"
+.include "../../audio/taglib/buildlink3.mk"
+.include "../../x11/kdebase3/buildlink3.mk"
+.include "../../x11/kdelibs3/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/k3b/PLIST b/sysutils/k3b/PLIST
new file mode 100644
index 00000000000..2a0b9de41a2
--- /dev/null
+++ b/sysutils/k3b/PLIST
@@ -0,0 +1,344 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+bin/k3b
+bin/k3bsetup
+include/k3baudiocdtrackdrag.h
+include/k3baudiocdtracksource.h
+include/k3baudiocuefilewritingjob.h
+include/k3baudiodatasource.h
+include/k3baudiodatasourceiterator.h
+include/k3baudiodecoder.h
+include/k3baudiodoc.h
+include/k3baudioencoder.h
+include/k3baudiofile.h
+include/k3baudiojob.h
+include/k3baudiooutputplugin.h
+include/k3baudiotrack.h
+include/k3baudiozerodata.h
+include/k3bbinimagewritingjob.h
+include/k3bblankingjob.h
+include/k3bbootitem.h
+include/k3bbusywidget.h
+include/k3bcdcopyjob.h
+include/k3bcdparanoialib.h
+include/k3bcdrdaowriter.h
+include/k3bcdrecordwriter.h
+include/k3bcdtext.h
+include/k3bcdtextvalidator.h
+include/k3bclonejob.h
+include/k3bcore.h
+include/k3bcuefileparser.h
+include/k3bcutcombobox.h
+include/k3bdatadoc.h
+include/k3bdataitem.h
+include/k3bdatajob.h
+include/k3bdefaultexternalprograms.h
+include/k3bdevice.h
+include/k3bdevicecombobox.h
+include/k3bdeviceglobals.h
+include/k3bdevicehandler.h
+include/k3bdevicemanager.h
+include/k3bdeviceselectiondialog.h
+include/k3bdevicetypes.h
+include/k3bdiritem.h
+include/k3bdiskinfo.h
+include/k3bdoc.h
+include/k3bdvdcopyjob.h
+include/k3bdvddoc.h
+include/k3bdvdformattingjob.h
+include/k3bdvdjob.h
+include/k3bexceptions.h
+include/k3bexternalbinmanager.h
+include/k3bfileitem.h
+include/k3bglobals.h
+include/k3bglobalsettings.h
+include/k3bgrowisofswriter.h
+include/k3binffilewriter.h
+include/k3bintvalidator.h
+include/k3biso9660.h
+include/k3biso9660backend.h
+include/k3biso9660imagewritingjob.h
+include/k3bisooptions.h
+include/k3bjob.h
+include/k3blistview.h
+include/k3blistviewitemanimator.h
+include/k3bmd5job.h
+include/k3bmixeddoc.h
+include/k3bmixedjob.h
+include/k3bmovixdoc.h
+include/k3bmovixdvddoc.h
+include/k3bmovixdvdjob.h
+include/k3bmovixfileitem.h
+include/k3bmovixjob.h
+include/k3bmsf.h
+include/k3bmsfedit.h
+include/k3bmultichoicedialog.h
+include/k3bplugin.h
+include/k3bpluginconfigwidget.h
+include/k3bpluginfactory.h
+include/k3bpluginmanager.h
+include/k3bprocess.h
+include/k3bprogressdialog.h
+include/k3bprojectplugin.h
+include/k3bpushbutton.h
+include/k3bradioaction.h
+include/k3bsignalwaiter.h
+include/k3bsimplejob.h
+include/k3bstdguiitems.h
+include/k3bstringutils.h
+include/k3bthread.h
+include/k3bthreadjob.h
+include/k3bthreadwidget.h
+include/k3bthroughputestimator.h
+include/k3btoc.h
+include/k3btocfilewriter.h
+include/k3btoolbox.h
+include/k3btrack.h
+include/k3bvalidators.h
+include/k3bvcddoc.h
+include/k3bvcdjob.h
+include/k3bvcdoptions.h
+include/k3bversion.h
+include/k3bvideodvddoc.h
+include/k3bvideodvdjob.h
+include/k3bwavefilewriter.h
+include/kcutlabel.h
+lib/kde3/kcm_k3bsetup2.la
+lib/kde3/libk3bartsoutputplugin.la
+lib/kde3/libk3bexternalencoder.la
+lib/kde3/libk3bflacdecoder.la
+lib/kde3/libk3blameencoder.la
+lib/kde3/libk3blibsndfiledecoder.la
+lib/kde3/libk3bmaddecoder.la
+lib/kde3/libk3boggvorbisdecoder.la
+lib/kde3/libk3boggvorbisencoder.la
+lib/kde3/libk3bsoxencoder.la
+lib/kde3/libk3bwavedecoder.la
+lib/libk3b.la
+lib/libk3baudiometainforenamerplugin.la
+lib/libk3baudioprojectcddbplugin.la
+lib/libk3bdevice.la
+share/applications/kde/k3b.desktop
+share/doc/kde/HTML/en/k3b/audiocd-howto.docbook
+share/doc/kde/HTML/en/k3b/burndialog_audio.png
+share/doc/kde/HTML/en/k3b/burndialog_progress.png
+share/doc/kde/HTML/en/k3b/cdcloning_dialog.png
+share/doc/kde/HTML/en/k3b/cdcloning_reading.png
+share/doc/kde/HTML/en/k3b/cdcopy-howto.docbook
+share/doc/kde/HTML/en/k3b/cdcopy_done.png
+share/doc/kde/HTML/en/k3b/cdcopy_reading.png
+share/doc/kde/HTML/en/k3b/cdcopy_settings.png
+share/doc/kde/HTML/en/k3b/cdcopy_writing.png
+share/doc/kde/HTML/en/k3b/commands.docbook
+share/doc/kde/HTML/en/k3b/common
+share/doc/kde/HTML/en/k3b/dcop.docbook
+share/doc/kde/HTML/en/k3b/index.cache.bz2
+share/doc/kde/HTML/en/k3b/index.docbook
+share/doc/kde/HTML/en/k3b/select_audiofiles.png
+share/doc/kde/HTML/en/k3b/select_project.png
+share/doc/kde/HTML/en/k3b/video-encoding.docbook
+share/kde/applnk/.hidden/k3b-cue.desktop
+share/kde/applnk/.hidden/k3b-iso.desktop
+share/kde/applnk/Settings/System/k3bsetup2.desktop
+share/kde/apps/k3b/cdi/cdi_imag.rtf
+share/kde/apps/k3b/cdi/cdi_text.fnt
+share/kde/apps/k3b/cdi/cdi_vcd.app
+share/kde/apps/k3b/cdi/cdi_vcd.cfg
+share/kde/apps/k3b/cdi/icdia.htm
+share/kde/apps/k3b/cdi/vcd_on_cdi_41.pdf
+share/kde/apps/k3b/eventsrc
+share/kde/apps/k3b/extra/k3bphotosvcd.mpg
+share/kde/apps/k3b/extra/k3bphotovcd.mpg
+share/kde/apps/k3b/icons/crystalsvg/16x16/actions/greenled.png
+share/kde/apps/k3b/icons/crystalsvg/16x16/actions/redled.png
+share/kde/apps/k3b/icons/crystalsvg/16x16/actions/yellowinfo.png
+share/kde/apps/k3b/icons/crystalsvg/16x16/actions/yellowled.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/audiocd.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/burn_cdimage.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/burn_dvdimage.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/cdburn.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/cdcopy.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/cddarip.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/datacd.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/datadvd.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/dvdcopy.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/emovix.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/erasecd.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/formatdvd.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/mixedcd.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/mp3cd.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/musicbrainz.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/videocd.png
+share/kde/apps/k3b/icons/hicolor/16x16/actions/videodvd.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/audiocd.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/burn_cdimage.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/burn_dvdimage.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/cdburn.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/cdcopy.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/cddarip.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/datacd.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/datadvd.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/dvdcopy.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/emovix.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/erasecd.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/formatdvd.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/mixedcd.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/mp3cd.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/videocd.png
+share/kde/apps/k3b/icons/hicolor/22x22/actions/videodvd.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/audiocd.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/burn_cdimage.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/burn_dvdimage.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/cdburn.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/cdcopy.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/cddarip.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/datacd.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/datadvd.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/dvdcopy.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/emovix.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/erasecd.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/formatdvd.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/mixedcd.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/mp3cd.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/videocd.png
+share/kde/apps/k3b/icons/hicolor/32x32/actions/videodvd.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/audiocd.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/burn_cdimage.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/burn_dvdimage.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/cdburn.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/cdcopy.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/cddarip.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/datacd.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/datadvd.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/dvdcopy.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/emovix.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/erasecd.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/formatdvd.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/mixedcd.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/mp3cd.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/videocd.png
+share/kde/apps/k3b/icons/hicolor/48x48/actions/videodvd.png
+share/kde/apps/k3b/icons/hicolor/64x64/actions/musicbrainz.png
+share/kde/apps/k3b/icons/hicolor/scalable/actions/audiocd.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/burn_cdimage.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/burn_dvdimage.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/cdburn.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/cdcopy.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/cddarip.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/datacd.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/datadvd.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/dvdcopy.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/emovix.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/erasecd.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/formatdvd.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/mixedcd.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/mp3cd.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/videocd.svgz
+share/kde/apps/k3b/icons/hicolor/scalable/actions/videodvd.svgz
+share/kde/apps/k3b/k3bui.rc
+share/kde/apps/k3b/pics/73lab/dialog_left.png
+share/kde/apps/k3b/pics/73lab/dialog_right.png
+share/kde/apps/k3b/pics/73lab/k3b.theme
+share/kde/apps/k3b/pics/73lab/media_audio.png
+share/kde/apps/k3b/pics/73lab/media_data.png
+share/kde/apps/k3b/pics/73lab/media_empty.png
+share/kde/apps/k3b/pics/73lab/media_left.png
+share/kde/apps/k3b/pics/73lab/media_mixed.png
+share/kde/apps/k3b/pics/73lab/media_none.png
+share/kde/apps/k3b/pics/73lab/media_video.png
+share/kde/apps/k3b/pics/73lab/probing.png
+share/kde/apps/k3b/pics/73lab/progress_fail.png
+share/kde/apps/k3b/pics/73lab/progress_right.png
+share/kde/apps/k3b/pics/73lab/progress_success.png
+share/kde/apps/k3b/pics/73lab/progress_working.png
+share/kde/apps/k3b/pics/73lab/project_left.png
+share/kde/apps/k3b/pics/73lab/project_right.png
+share/kde/apps/k3b/pics/73lab/splash.png
+share/kde/apps/k3b/pics/73lab/welcome_bg.png
+share/kde/apps/k3b/pics/crystal/dialog_left.png
+share/kde/apps/k3b/pics/crystal/dialog_right.png
+share/kde/apps/k3b/pics/crystal/k3b.theme
+share/kde/apps/k3b/pics/crystal/media_audio.png
+share/kde/apps/k3b/pics/crystal/media_data.png
+share/kde/apps/k3b/pics/crystal/media_empty.png
+share/kde/apps/k3b/pics/crystal/media_left.png
+share/kde/apps/k3b/pics/crystal/media_mixed.png
+share/kde/apps/k3b/pics/crystal/media_none.png
+share/kde/apps/k3b/pics/crystal/media_video.png
+share/kde/apps/k3b/pics/crystal/probing.png
+share/kde/apps/k3b/pics/crystal/progress_fail.png
+share/kde/apps/k3b/pics/crystal/progress_right.png
+share/kde/apps/k3b/pics/crystal/progress_success.png
+share/kde/apps/k3b/pics/crystal/progress_working.png
+share/kde/apps/k3b/pics/crystal/project_left.png
+share/kde/apps/k3b/pics/crystal/project_right.png
+share/kde/apps/k3b/pics/crystal/splash.png
+share/kde/apps/k3b/pics/crystal/welcome_bg.png
+share/kde/apps/k3b/plugins/k3bartsoutputplugin.plugin
+share/kde/apps/k3b/plugins/k3baudiometainforenamerplugin.plugin
+share/kde/apps/k3b/plugins/k3baudioprojectcddbplugin.plugin
+share/kde/apps/k3b/plugins/k3bexternalencoder.plugin
+share/kde/apps/k3b/plugins/k3bflacdecoder.plugin
+share/kde/apps/k3b/plugins/k3blameencoder.plugin
+share/kde/apps/k3b/plugins/k3blibsndfiledecoder.plugin
+share/kde/apps/k3b/plugins/k3bmaddecoder.plugin
+share/kde/apps/k3b/plugins/k3boggvorbisdecoder.plugin
+share/kde/apps/k3b/plugins/k3boggvorbisencoder.plugin
+share/kde/apps/k3b/plugins/k3bsoxencoder.plugin
+share/kde/apps/k3b/plugins/k3bwavedecoder.plugin
+share/kde/apps/k3b/tips
+share/kde/apps/konqueror/servicemenus/k3b_create_audio_cd.desktop
+share/kde/apps/konqueror/servicemenus/k3b_create_data_cd.desktop
+share/kde/apps/konqueror/servicemenus/k3b_create_video_cd.desktop
+share/kde/apps/konqueror/servicemenus/k3b_write_bin_image.desktop
+share/kde/apps/konqueror/servicemenus/k3b_write_iso_image.desktop
+share/kde/icons/hicolor/128x128/apps/k3b.png
+share/kde/icons/hicolor/16x16/apps/k3b.png
+share/kde/icons/hicolor/22x22/apps/k3b.png
+share/kde/icons/hicolor/32x32/apps/k3b.png
+share/kde/icons/hicolor/48x48/apps/k3b.png
+share/kde/icons/hicolor/64x64/apps/k3b.png
+share/kde/mimelnk/application/x-k3b.desktop
+share/kde/sounds/k3b_error1.wav
+share/kde/sounds/k3b_success1.wav
+share/kde/sounds/k3b_wait_media1.wav
+@comment in kde: @dirrm share/kde/sounds
+@comment in kde: @dirrm share/kde/mimelnk/application
+@comment in kde: @dirrm share/kde/icons/hicolor/64x64/apps
+@comment in kde: @dirrm share/kde/icons/hicolor/48x48/apps
+@comment in kde: @dirrm share/kde/icons/hicolor/32x32/apps
+@comment in kde: @dirrm share/kde/icons/hicolor/22x22/apps
+@comment in kde: @dirrm share/kde/icons/hicolor/16x16/apps
+@comment in kde: @dirrm share/kde/icons/hicolor/128x128/apps
+@comment in kde: @dirrm share/kde/apps/konqueror/servicemenus
+@dirrm share/kde/apps/k3b/plugins
+@dirrm share/kde/apps/k3b/pics/crystal
+@dirrm share/kde/apps/k3b/pics/73lab
+@dirrm share/kde/apps/k3b/pics
+@dirrm share/kde/apps/k3b/icons/hicolor/scalable/actions
+@dirrm share/kde/apps/k3b/icons/hicolor/scalable
+@dirrm share/kde/apps/k3b/icons/hicolor/64x64/actions
+@dirrm share/kde/apps/k3b/icons/hicolor/64x64
+@dirrm share/kde/apps/k3b/icons/hicolor/48x48/actions
+@dirrm share/kde/apps/k3b/icons/hicolor/48x48
+@dirrm share/kde/apps/k3b/icons/hicolor/32x32/actions
+@dirrm share/kde/apps/k3b/icons/hicolor/32x32
+@dirrm share/kde/apps/k3b/icons/hicolor/22x22/actions
+@dirrm share/kde/apps/k3b/icons/hicolor/22x22
+@dirrm share/kde/apps/k3b/icons/hicolor/16x16/actions
+@dirrm share/kde/apps/k3b/icons/hicolor/16x16
+@dirrm share/kde/apps/k3b/icons/hicolor
+@dirrm share/kde/apps/k3b/icons/crystalsvg/16x16/actions
+@dirrm share/kde/apps/k3b/icons/crystalsvg/16x16
+@dirrm share/kde/apps/k3b/icons/crystalsvg
+@dirrm share/kde/apps/k3b/icons
+@dirrm share/kde/apps/k3b/extra
+@dirrm share/kde/apps/k3b/cdi
+@dirrm share/kde/apps/k3b
+@comment in kde: @dirrm share/kde/apps
+@dirrm share/kde/applnk/Settings/System
+@comment in kde: @dirrm share/kde/applnk/Settings
+@comment in kde: @dirrm share/kde/applnk/.hidden
+@dirrm share/doc/kde/HTML/en/k3b
+@comment in kde: @dirrm share/doc/kde/HTML/en
+@comment in kde: @dirrm share/applications/kde
+@comment in kde: @dirrm lib/kde3
diff --git a/sysutils/k3b/distinfo b/sysutils/k3b/distinfo
new file mode 100644
index 00000000000..4e642b9b62c
--- /dev/null
+++ b/sysutils/k3b/distinfo
@@ -0,0 +1,20 @@
+$NetBSD: distinfo,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+SHA1 (k3b-0.12.10.tar.bz2) = 4b3550436644e9ec4f96374f1e09df1b50b3434f
+RMD160 (k3b-0.12.10.tar.bz2) = 03bcaad36bfecf90b5ce58fee1a581267a465909
+Size (k3b-0.12.10.tar.bz2) = 4084756 bytes
+SHA1 (patch-aa) = 700a7081dfb16fe47558b025519415d12aa2031d
+SHA1 (patch-ab) = acf80a5fb55fd236282754b6dda1743eb9790593
+SHA1 (patch-ac) = 3b65ca0ea8e585ce68611c0332a3851a107b68f7
+SHA1 (patch-ad) = 8e111ef2a75595261f95eb533459560f01b6fae7
+SHA1 (patch-ae) = eb0ac8518ae813027aa09961344c0ab1966d4601
+SHA1 (patch-af) = 58c924ed24897d65f04839638cd96f6b4bf51aac
+SHA1 (patch-ag) = c89d4310c31ecd991f782cac2fe4927d25a75215
+SHA1 (patch-ah) = 7e8822880873b3f7149a73f0d119fb52098114ff
+SHA1 (patch-ai) = cecb17457caf5bd2039b83eaf6d3e4824f5a2055
+SHA1 (patch-aj) = ebb452a3790b0cf228e3b272490bd9d6cb4c6479
+SHA1 (patch-ak) = 572915dc31f09b6c8c917749524e2042822966c8
+SHA1 (patch-al) = bcc69d3b5b68fad1c46989344b1fb622e7ec6ad4
+SHA1 (patch-am) = de11dbcf76ca29b303dcbc8ac3f19fd4ce8ee661
+SHA1 (patch-an) = 8329615e98f2b08292de9a6f7e875f76fcb8f3a9
+SHA1 (patch-ao) = 3e641c7020937ed2da591cd94a89a39341fd5f91
diff --git a/sysutils/k3b/patches/patch-aa b/sysutils/k3b/patches/patch-aa
new file mode 100644
index 00000000000..326da31cb1b
--- /dev/null
+++ b/sysutils/k3b/patches/patch-aa
@@ -0,0 +1,48 @@
+$NetBSD: patch-aa,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3b/core/k3bglobals.cpp.orig 2005-12-16 02:09:01.000000000 +1300
++++ libk3b/core/k3bglobals.cpp
+@@ -38,12 +38,21 @@
+ #include <cmath>
+ #include <sys/utsname.h>
+ #include <sys/stat.h>
++#ifdef __NetBSD__
++#define stat64 stat
++#endif
+
+-#ifdef __FreeBSD__
++#include <config.h>
++#if defined(__FreeBSD__) || defined(__NetBSD__)
+ #include <sys/param.h>
+ #include <sys/mount.h>
+ #else
+-#include <sys/vfs.h>
++# ifdef HAVE_SYS_STATVFS_H
++# include <sys/statvfs.h>
++# endif
++# ifdef HAVE_SYS_STATFS_H
++# include <sys/vfs.h>
++# endif
+ #endif
+
+
+@@ -235,10 +244,19 @@ QString K3b::systemName()
+
+ bool K3b::kbFreeOnFs( const QString& path, unsigned long& size, unsigned long& avail )
+ {
++#ifdef HAVE_STATVFS
++ struct statvfs fs;
++ if( ::statvfs( QFile::encodeName(path), &fs ) == 0 ) {
++ unsigned long kBfak = fs.f_frsize/1024;
++#else
++# ifndef HAVE_STATFS
++# error "No statfs, no statvfs? Help!"
++# endif
+ struct statfs fs;
+
+ if( ::statfs( QFile::encodeName(path), &fs ) == 0 ) {
+ unsigned long kBfak = fs.f_bsize/1024;
++#endif
+
+ size = fs.f_blocks*kBfak;
+ avail = fs.f_bavail*kBfak;
diff --git a/sysutils/k3b/patches/patch-ab b/sysutils/k3b/patches/patch-ab
new file mode 100644
index 00000000000..93d2b44256a
--- /dev/null
+++ b/sysutils/k3b/patches/patch-ab
@@ -0,0 +1,116 @@
+$NetBSD: patch-ab,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3bdevice/k3bdevice.cpp.orig 2005-12-16 02:08:38.000000000 +1300
++++ libk3bdevice/k3bdevice.cpp
+@@ -63,6 +63,10 @@ typedef unsigned char u8;
+ #define CD_FRAMESIZE_RAW 2352
+ #endif
+
++// #ifdef Q_OS_NETBSD
++// #include <sys/scsiio.h>
++// #endif
++
+ #ifdef HAVE_RESMGR
+ extern "C" {
+ #include <resmgr.h>
+@@ -100,7 +104,7 @@ const char* K3bDevice::Device::cdrdao_dr
+ };
+
+
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) || defined(Q_OS_NETBSD)
+ int K3bDevice::openDevice( const char* name, bool write )
+ {
+ int fd = -1;
+@@ -143,6 +147,9 @@ public:
+ #ifdef Q_OS_LINUX
+ deviceFd(-1),
+ #endif
++#ifdef Q_OS_NETBSD
++ deviceFd(-1),
++#endif
+ #ifdef Q_OS_FREEBSD
+ cam(0),
+ #endif
+@@ -157,6 +164,9 @@ public:
+ #ifdef Q_OS_LINUX
+ int deviceFd;
+ #endif
++#ifdef Q_OS_NETBSD
++ int deviceFd;
++#endif
+ #ifdef Q_OS_FREEBSD
+ struct cam_device *cam;
+ #endif
+@@ -1466,15 +1482,7 @@ bool K3bDevice::Device::fixupToc( K3bDev
+ bool K3bDevice::Device::block( bool b ) const
+ {
+ ScsiCommand cmd( this );
+- cmd[0] = MMC_PREVENT_ALLOW_MEDIUM_REMOVAL;
+- if( b )
+- cmd[4] = 0x01;
+- int r = cmd.transport();
+-
+- if( r )
+- kdDebug() << "(K3bDevice::Device) MMC ALLOW MEDIA REMOVAL failed." << endl;
+-
+- return ( r == 0 );
++ return cmd.traylock( b );
+ }
+
+ bool K3bDevice::Device::rewritable() const
+@@ -1497,25 +1505,14 @@ bool K3bDevice::Device::rewritable() con
+ bool K3bDevice::Device::eject() const
+ {
+ ScsiCommand cmd( this );
+- cmd[0] = MMC_START_STOP_UNIT;
+-
+- // Since all other eject methods I saw also start the unit before ejecting
+- // we do it also although I don't know why...
+- cmd[4] = 0x1; // Start unit
+- cmd.transport();
+-
+- cmd[4] = 0x2; // LoEj = 1, Start = 0
+-
+- return !cmd.transport();
++ return cmd.eject( true );
+ }
+
+
+ bool K3bDevice::Device::load() const
+ {
+ ScsiCommand cmd( this );
+- cmd[0] = MMC_START_STOP_UNIT;
+- cmd[4] = 0x3; // LoEj = 1, Start = 1
+- return !cmd.transport();
++ return !cmd.eject( false );
+ }
+
+
+@@ -1557,7 +1554,7 @@ bool K3bDevice::Device::open( bool write
+ }
+ return (d->cam != 0);
+ #endif
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) || defined(Q_OS_NETBSD)
+ if( d->deviceFd == -1 )
+ d->deviceFd = openDevice( QFile::encodeName(devicename()), write );
+
+@@ -1574,7 +1571,7 @@ void K3bDevice::Device::close() const
+ d->cam = 0;
+ }
+ #endif
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) || defined(Q_OS_NETBSD)
+ if( d->deviceFd != -1 ) {
+ ::close( d->deviceFd );
+ d->deviceFd = -1;
+@@ -1588,7 +1585,7 @@ bool K3bDevice::Device::isOpen() const
+ #ifdef Q_OS_FREEBSD
+ return d->cam;
+ #endif
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) || defined(Q_OS_NETBSD)
+ return ( d->deviceFd != -1 );
+ #endif
+ }
diff --git a/sysutils/k3b/patches/patch-ac b/sysutils/k3b/patches/patch-ac
new file mode 100644
index 00000000000..77bf4cc1831
--- /dev/null
+++ b/sysutils/k3b/patches/patch-ac
@@ -0,0 +1,12 @@
+$NetBSD: patch-ac,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3bdevice/k3bdevicemanager.h.orig 2005-12-16 02:08:38.000000000 +1300
++++ libk3bdevice/k3bdevicemanager.h
+@@ -219,6 +219,7 @@ namespace K3bDevice {
+
+ Device *addDevice( Device* );
+ void BSDDeviceScan();
++ void NetBSDDeviceScan();
+ void LinuxDeviceScan();
+ };
+ }
diff --git a/sysutils/k3b/patches/patch-ad b/sysutils/k3b/patches/patch-ad
new file mode 100644
index 00000000000..83f67f85820
--- /dev/null
+++ b/sysutils/k3b/patches/patch-ad
@@ -0,0 +1,131 @@
+$NetBSD: patch-ad,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3bdevice/k3bdevicemanager.cpp.orig 2005-12-16 02:08:38.000000000 +1300
++++ libk3bdevice/k3bdevicemanager.cpp
+@@ -100,6 +100,11 @@ typedef unsigned char u8;
+ #endif
+
+
++#ifdef Q_OS_NETBSD
++#include <sys/scsiio.h>
++#endif
++
++
+
+ class K3bDevice::DeviceManager::Private
+ {
+@@ -238,6 +243,9 @@ int K3bDevice::DeviceManager::scanBus()
+ #ifdef Q_OS_LINUX
+ LinuxDeviceScan();
+ #endif
++#ifdef Q_OS_NETBSD
++ NetBSDDeviceScan();
++#endif
+ #ifdef Q_OS_FREEBSD
+ BSDDeviceScan();
+ #endif
+@@ -335,6 +343,36 @@ void K3bDevice::DeviceManager::LinuxDevi
+ }
+
+
++void K3bDevice::DeviceManager::NetBSDDeviceScan()
++{
++ // Generate entries for /dev/cd* devices
++ // Note: As there are only 10 possible /dev/(r)cd devices,
++ // only these will be found.
++
++ int i;
++
++ // Whole disk mask (According to cd(4), the AMD64, i386 and BeBox ports use
++ // 'd' as whole-disk partition, the rest uses 'c'.)
++
++#if defined(__i386__) || defined (__amd64__) || defined (__bebox__)
++ char slicename = 'd';
++#else
++ char slicename = 'c';
++#endif
++
++ char devicename[11]; // /dev/rcdXd + trailing zero
++
++ for (i = 0; i < 10; i++ ) // cd(4) claims there are max. 10 CD devices.
++ {
++ snprintf(devicename,11,"/dev/rcd%d%c",i, slicename);
++ if (addDevice(QString(devicename))) // let addDevice figure it out.
++ {
++ m_foundDevices++;
++ }
++ }
++}
++
++
+ void K3bDevice::DeviceManager::BSDDeviceScan()
+ {
+ // Unfortunately uses lots of FBSD-specific data structures
+@@ -619,7 +657,7 @@ bool K3bDevice::DeviceManager::testForCd
+ Q_UNUSED(devicename);
+ return true;
+ #endif
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) || defined(Q_OS_NETBSD)
+ bool ret = false;
+ int cdromfd = K3bDevice::openDevice( devicename.ascii() );
+ if (cdromfd < 0) {
+@@ -636,7 +674,10 @@ bool K3bDevice::DeviceManager::testForCd
+ }
+ else {
+ kdDebug() << devicename << " is block device (" << (int)(cdromStat.st_rdev & 0xFF) << ")" << endl;
+-
++#if defined(Q_OS_NETBSD)
++ }
++ {
++#endif
+ // inquiry
+ // use a 36 bytes buffer since not all devices return the full inquiry struct
+ unsigned char buf[36];
+@@ -881,6 +922,46 @@ bool K3bDevice::DeviceManager::determine
+ /* NOTREACHED */
+ #endif
+
++#ifdef Q_OS_NETBSD
++ int cdromfd = K3bDevice::openDevice ( dev.ascii() );
++ if (cdromfd < 0) {
++ int local_errno = errno; // For all we know, kdDebug() destroys errno
++ kdDebug() << "could not open device " << dev << " (" << strerror(local_errno) << ")" << endl;
++ return false;
++ }
++
++ struct scsi_addr my_addr;
++
++ if (::ioctl(cdromfd, SCIOCIDENTIFY, &my_addr))
++ {
++ int local_errno = errno; // For all we know, kdDebug() destroys errno
++ kdDebug() << "ioctl(SCIOCIDENTIFY) failed on device " << dev << " (" << strerror(local_errno) << ")" << endl;
++
++ ::close(cdromfd);
++ return false;
++ }
++
++ if (my_addr.type == TYPE_ATAPI)
++ {
++ // XXX Re-map atapibus, so it doesn't conflict with "real" scsi
++ // busses
++
++ bus = 15;
++ id = my_addr.addr.atapi.drive + 2 * my_addr.addr.atapi.atbus;
++ lun = 0;
++ }
++ else
++ {
++ bus = my_addr.addr.scsi.scbus;
++ id = my_addr.addr.scsi.target;
++ lun = my_addr.addr.scsi.lun;
++ }
++
++ ::close(cdromfd);
++
++ return true;
++#endif
++
+ #ifdef Q_OS_LINUX
+ int ret = false;
+ int cdromfd = K3bDevice::openDevice( dev.ascii() );
diff --git a/sysutils/k3b/patches/patch-ae b/sysutils/k3b/patches/patch-ae
new file mode 100644
index 00000000000..9785c0b75b8
--- /dev/null
+++ b/sysutils/k3b/patches/patch-ae
@@ -0,0 +1,14 @@
+$NetBSD: patch-ae,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3bdevice/k3bscsicommand.cpp.orig 2005-12-16 02:08:38.000000000 +1300
++++ libk3bdevice/k3bscsicommand.cpp
+@@ -186,6 +186,9 @@ void K3bDevice::ScsiCommand::debugError(
+ #ifdef Q_OS_FREEBSD
+ #include "k3bscsicommand_bsd.cpp"
+ #endif
++#ifdef Q_OS_NETBSD
++#include "k3bscsicommand_netbsd.cpp"
++#endif
+
+
+
diff --git a/sysutils/k3b/patches/patch-af b/sysutils/k3b/patches/patch-af
new file mode 100644
index 00000000000..b03ee1e329d
--- /dev/null
+++ b/sysutils/k3b/patches/patch-af
@@ -0,0 +1,141 @@
+$NetBSD: patch-af,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- /dev/null 2006-01-31 00:47:43.000000000 +1300
++++ libk3bdevice/k3bscsicommand_netbsd.cpp 2006-01-31 00:08:25.000000000 +1300
+@@ -0,0 +1,136 @@
++/*
++ *
++ */
++
++#include "k3bscsicommand.h"
++#include "k3bdevice.h"
++
++#include <kdebug.h>
++
++#include <sys/ioctl.h>
++#include <sys/scsiio.h>
++#include <sys/cdio.h>
++#include <sys/dkio.h>
++
++#include <unistd.h>
++#include <sys/types.h>
++
++
++class K3bDevice::ScsiCommand::Private
++{
++public:
++ struct scsireq cmd;
++};
++
++
++void K3bDevice::ScsiCommand::clear()
++{
++ ::memset( &d->cmd, 0, sizeof(struct scsireq ) );
++}
++
++
++unsigned char& K3bDevice::ScsiCommand::operator[]( size_t i )
++{
++ return d->cmd.cmd[i];
++}
++
++
++int K3bDevice::ScsiCommand::transport( TransportDirection dir,
++ void* data,
++ size_t len )
++{
++ bool needToClose = false;
++ if( m_device ) {
++ if( !m_device->isOpen() ) {
++ needToClose = true;
++ }
++ m_device->open( dir == TR_DIR_WRITE );
++ m_deviceHandle = m_device->handle();
++ }
++
++ if( m_deviceHandle == -1 )
++ return -1;
++
++ d->cmd.cmdlen = 12;
++ d->cmd.timeout = 10000;
++ d->cmd.databuf = (caddr_t) data;
++ d->cmd.datalen = len;
++ // d->cmd.datalen_used = len;
++ d->cmd.senselen = SENSEBUFLEN;
++ switch (dir)
++ {
++ case TR_DIR_READ:
++ d->cmd.flags = SCCMD_READ;
++ break;
++ case TR_DIR_WRITE:
++ d->cmd.flags = SCCMD_WRITE;
++ break;
++ default:
++ d->cmd.flags = SCCMD_READ;
++ break;
++ }
++
++ int i = ::ioctl( m_deviceHandle, SCIOCCOMMAND, &d->cmd );
++
++ if( needToClose )
++ m_device->close();
++
++ if( i || (d->cmd.retsts != SCCMD_OK)) {
++ debugError( d->cmd.cmd[0],
++ d->cmd.retsts,
++ d->cmd.sense[2],
++ d->cmd.sense[12],
++ d->cmd.sense[13] );
++
++ return 1;
++ }
++ else
++ return 0;
++}
++
++bool K3bDevice::ScsiCommand::eject ( bool open )
++{
++ unsigned long request = open ? DIOCEJECT : CDIOCCLOSE;
++ int arg = 0;
++ bool needToClose = false;
++ if( m_device ) {
++ if( !m_device->isOpen() ) {
++ needToClose = true;
++ }
++ m_device->open( false );
++ m_deviceHandle = m_device->handle();
++ }
++
++ if( m_deviceHandle == -1 )
++ return false;
++
++ int i = ::ioctl( m_deviceHandle, request, &arg );
++
++ if( needToClose )
++ m_device->close();
++
++ return i >= 0;
++}
++
++bool K3bDevice::ScsiCommand::traylock ( bool on )
++{
++ int arg = on ? 1 : 0;
++ bool needToClose = false;
++ if( m_device ) {
++ if( !m_device->isOpen() ) {
++ needToClose = true;
++ }
++ m_device->open( false );
++ m_deviceHandle = m_device->handle();
++ }
++
++ if( m_deviceHandle == -1 )
++ return false;
++
++ int i = ::ioctl( m_deviceHandle, DIOCLOCK, &arg );
++
++ if( needToClose )
++ m_device->close();
++
++ return i >= 0;
++}
diff --git a/sysutils/k3b/patches/patch-ag b/sysutils/k3b/patches/patch-ag
new file mode 100644
index 00000000000..ed3194e6f21
--- /dev/null
+++ b/sysutils/k3b/patches/patch-ag
@@ -0,0 +1,15 @@
+$NetBSD: patch-ag,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- configure.in.orig 2005-12-16 02:26:31.000000000 +1300
++++ configure.in
+@@ -186,6 +186,10 @@ dnl - check the byte order -
+ dnl this will define WORDS_BIGENDIAN or do nothing
+ AC_C_BIGENDIAN()
+
++AC_CHECK_HEADERS(sys/statfs.h sys/statvfs.h)
++
++AC_CHECK_FUNCS(statfs statvfs)
++
+ dnl === Ogg Vorbis Test - Begin ===
+ AC_ARG_WITH(
+ oggvorbis,
diff --git a/sysutils/k3b/patches/patch-ah b/sysutils/k3b/patches/patch-ah
new file mode 100644
index 00000000000..3ebb1367533
--- /dev/null
+++ b/sysutils/k3b/patches/patch-ah
@@ -0,0 +1,50 @@
+$NetBSD: patch-ah,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- src/rip/k3bdvdripperwidget.cpp.orig 2005-12-16 02:08:56.000000000 +1300
++++ src/rip/k3bdvdripperwidget.cpp
+@@ -52,6 +52,7 @@
+ #include <kmessagebox.h>
+ #include <kcombobox.h>
+ #include <kurlrequester.h>
++#include <config.h>
+
+ // OS determination and specific includes. Unsupported systems
+ // will fail on the statfs() call below. Per-OS support is as
+@@ -60,11 +61,15 @@
+ // FreeBSD - kde@freebsd.org or groot@kde.org
+ #include <qglobal.h>
+
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) || defined(HAVE_SYS_STATFS_H)
+ #include <sys/vfs.h>
+ #endif
+
+-#ifdef Q_OS_FREEBSD
++#ifdef HAVE_SYS_STATVFS_H
++#include <sys/statvfs.h>
++#endif
++
++#if defined(Q_OS_FREEBSD) || defined (Q_OS_NETBSD)
+ #include <sys/param.h>
+ #include <sys/mount.h>
+ #endif
+@@ -231,9 +236,19 @@ void K3bDvdRipperWidget::slotSetDependDi
+ tmp = p.left( index+1 );
+ kdDebug() << "(K3bDvdRipperWidget) new directory. Check existing: " << tmp << endl;
+ }
++#ifdef HAVE_STATVFS
++ struct statvfs fs;
++ ::statvfs( QFile::encodeName( tmp ), &fs );
++ unsigned int kBfak = (unsigned int)(fs.f_frsize/1024);
++#else
++ #ifdef HAVE_STATFS
+ struct statfs fs;
+ ::statfs( QFile::encodeName( tmp ), &fs );
+ unsigned int kBfak = (unsigned int)(fs.f_bsize/1024);
++ #else
++ #error "No statfs, no statvfs? Help!"
++ #endif
++#endif
+ slotFreeTempSpace( tmp, fs.f_blocks*kBfak, (fs.f_blocks-fs.f_bfree)*kBfak, fs.f_bavail*kBfak );
+ }
+
diff --git a/sysutils/k3b/patches/patch-ai b/sysutils/k3b/patches/patch-ai
new file mode 100644
index 00000000000..6a420345177
--- /dev/null
+++ b/sysutils/k3b/patches/patch-ai
@@ -0,0 +1,13 @@
+$NetBSD: patch-ai,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3bdevice/k3bdevice.h.orig 2005-12-16 02:08:38.000000000 +1300
++++ libk3bdevice/k3bdevice.h
+@@ -784,7 +784,7 @@ namespace K3bDevice
+ friend class DeviceManager;
+ };
+
+-#ifdef Q_OS_LINUX
++#if defined(Q_OS_LINUX) || defined(Q_OS_NETBSD)
+ /**
+ * This should always be used to open a device since it
+ * uses the resmgr
diff --git a/sysutils/k3b/patches/patch-aj b/sysutils/k3b/patches/patch-aj
new file mode 100644
index 00000000000..0db5a733d8b
--- /dev/null
+++ b/sysutils/k3b/patches/patch-aj
@@ -0,0 +1,14 @@
+$NetBSD: patch-aj,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3b/tools/k3biso9660.h.orig 2005-12-16 02:09:00.000000000 +1300
++++ libk3b/tools/k3biso9660.h
+@@ -18,6 +18,9 @@
+ #define _K3B_ISO9660_H_
+
+ #include <sys/stat.h>
++#ifdef __NetBSD__
++#define stat64 stat
++#endif
+ #include <sys/types.h>
+
+ #include <qdatetime.h>
diff --git a/sysutils/k3b/patches/patch-ak b/sysutils/k3b/patches/patch-ak
new file mode 100644
index 00000000000..ab9a4e101d5
--- /dev/null
+++ b/sysutils/k3b/patches/patch-ak
@@ -0,0 +1,15 @@
+$NetBSD: patch-ak,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3b/projects/datacd/k3bfileitem.h.orig 2005-12-16 02:09:02.000000000 +1300
++++ libk3b/projects/datacd/k3bfileitem.h
+@@ -24,6 +24,10 @@
+ #include <qstring.h>
+
+ #include <sys/stat.h>
++#ifdef __NetBSD__
++#define stat64 stat
++#define lstat64 lstat
++#endif
+
+
+ class K3bDataDoc;
diff --git a/sysutils/k3b/patches/patch-al b/sysutils/k3b/patches/patch-al
new file mode 100644
index 00000000000..984cf4af515
--- /dev/null
+++ b/sysutils/k3b/patches/patch-al
@@ -0,0 +1,14 @@
+$NetBSD: patch-al,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3b/projects/datacd/k3bisoimager.cpp.orig 2005-12-16 02:09:02.000000000 +1300
++++ libk3b/projects/datacd/k3bisoimager.cpp
+@@ -42,6 +42,9 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/stat.h>
++#ifdef __NetBSD__
++#define stat64 stat
++#endif
+ #include <unistd.h>
+ #include <utime.h>
+
diff --git a/sysutils/k3b/patches/patch-am b/sysutils/k3b/patches/patch-am
new file mode 100644
index 00000000000..9546bec7d53
--- /dev/null
+++ b/sysutils/k3b/patches/patch-am
@@ -0,0 +1,14 @@
+$NetBSD: patch-am,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3bdevice/k3bscsicommand.h.orig 2005-12-16 02:08:38.000000000 +1300
++++ libk3bdevice/k3bscsicommand.h
+@@ -108,6 +108,9 @@ namespace K3bDevice
+ void* = 0,
+ size_t len = 0 );
+
++ bool eject ( bool open );
++ bool traylock ( bool on );
++
+ private:
+ static QString senseKeyToString( int key );
+ void debugError( int command, int errorCode, int senseKey, int asc, int ascq );
diff --git a/sysutils/k3b/patches/patch-an b/sysutils/k3b/patches/patch-an
new file mode 100644
index 00000000000..b03e01da5c9
--- /dev/null
+++ b/sysutils/k3b/patches/patch-an
@@ -0,0 +1,40 @@
+$NetBSD: patch-an,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3bdevice/k3bscsicommand_bsd.cpp.orig 2005-12-16 02:08:38.000000000 +1300
++++ libk3bdevice/k3bscsicommand_bsd.cpp
+@@ -190,3 +190,35 @@ int K3bDevice::ScsiCommand::transport( T
+
+ return ret;
+ }
++
++bool K3bDevice::ScsiCommand::eject ( bool b )
++{
++ d->cmd.cmd[0] = MMC_START_STOP_UNIT;
++
++ if ( b ) {
++ // Since all other eject methods I saw also start the unit before ejecting
++ // we do it also although I don't know why...
++ d->cmd.cmd[4] = 0x1; // Start unit
++ transport();
++
++ d->cmd.cmd[4] = 0x2; // LoEj = 1, Start = 0
++ }
++ else
++ d->cmd.cmd[4] = 0x3; // LoEj = 1, Start = 1
++
++ return !transport();
++
++}
++
++bool K3bDevice::ScsiCommand::traylock ( bool on )
++{
++ d->cmd.cmd[0] = MMC_PREVENT_ALLOW_MEDIUM_REMOVAL;
++ if( on )
++ d->cmd.cmd[4] = 0x01;
++ int r = transport();
++
++ if( r )
++ kdDebug() << "(K3bDevice::Device) MMC ALLOW MEDIA REMOVAL failed." << endl;
++
++ return ( r == 0 );
++}
diff --git a/sysutils/k3b/patches/patch-ao b/sysutils/k3b/patches/patch-ao
new file mode 100644
index 00000000000..54114135119
--- /dev/null
+++ b/sysutils/k3b/patches/patch-ao
@@ -0,0 +1,40 @@
+$NetBSD: patch-ao,v 1.1.1.1 2006/02/01 00:53:00 markd Exp $
+
+--- libk3bdevice/k3bscsicommand_linux.cpp.orig 2005-12-16 02:08:38.000000000 +1300
++++ libk3bdevice/k3bscsicommand_linux.cpp
+@@ -100,3 +100,35 @@ int K3bDevice::ScsiCommand::transport( T
+ else
+ return 0;
+ }
++
++bool K3bDevice::ScsiCommand::eject ( bool b )
++{
++ d->cmd.cmd[0] = MMC_START_STOP_UNIT;
++
++ if ( b ) {
++ // Since all other eject methods I saw also start the unit before ejecting
++ // we do it also although I don't know why...
++ d->cmd.cmd[4] = 0x1; // Start unit
++ transport();
++
++ d->cmd.cmd[4] = 0x2; // LoEj = 1, Start = 0
++ }
++ else
++ d->cmd.cmd[4] = 0x3; // LoEj = 1, Start = 1
++
++ return !transport();
++
++}
++
++bool K3bDevice::ScsiCommand::traylock ( bool on )
++{
++ d->cmd.cmd[0] = MMC_PREVENT_ALLOW_MEDIUM_REMOVAL;
++ if( on )
++ d->cmd.cmd[4] = 0x01;
++ int r = transport();
++
++ if( r )
++ kdDebug() << "(K3bDevice::Device) MMC ALLOW MEDIA REMOVAL failed." << endl;
++
++ return ( r == 0 );
++}