aboutsummaryrefslogtreecommitdiffstats
path: root/print
diff options
context:
space:
mode:
authorlinimon <linimon@FreeBSD.org>2003-12-29 17:54:25 +0800
committerlinimon <linimon@FreeBSD.org>2003-12-29 17:54:25 +0800
commit3a8d382cd58342b4f42579b4e8c44465eb5592b7 (patch)
treef105b0c033e68df04d4f220f5f4d67b9a1a444ef /print
parentadb47a13d7429466982884c440b5dc5873572eba (diff)
downloadfreebsd-ports-gnome-3a8d382cd58342b4f42579b4e8c44465eb5592b7.tar.gz
freebsd-ports-gnome-3a8d382cd58342b4f42579b4e8c44465eb5592b7.tar.zst
freebsd-ports-gnome-3a8d382cd58342b4f42579b4e8c44465eb5592b7.zip
Add two new KDE apps to deal with CDs:
kcdlabel creates covers, labels and booklets for your CD cases; kover is a WYSIWYG CD cover printer. PR: ports/60674, ports/60673 Submitted by: Markus Brueffer <brueffer@phoenix-systems.de>
Diffstat (limited to 'print')
-rw-r--r--print/Makefile2
-rw-r--r--print/kcdlabel/Makefile27
-rw-r--r--print/kcdlabel/distinfo1
-rw-r--r--print/kcdlabel/files/patch-audiocd.cpp97
-rw-r--r--print/kcdlabel/files/patch-audiocd.h27
-rw-r--r--print/kcdlabel/files/patch-kdirtree.cpp12
-rw-r--r--print/kcdlabel/pkg-descr5
-rw-r--r--print/kcdlabel/pkg-plist40
-rw-r--r--print/kover/Makefile25
-rw-r--r--print/kover/distinfo1
-rw-r--r--print/kover/files/patch-cddb_fill.cc114
-rw-r--r--print/kover/files/patch-cdrom.cc17
-rw-r--r--print/kover/files/patch-cdrom.h13
-rw-r--r--print/kover/files/patch-cdrom_cddb.cc91
-rw-r--r--print/kover/files/patch-net.cc12
-rw-r--r--print/kover/pkg-descr13
-rw-r--r--print/kover/pkg-plist55
17 files changed, 552 insertions, 0 deletions
diff --git a/print/Makefile b/print/Makefile
index 06dad71b630b..97df2b6be0a3 100644
--- a/print/Makefile
+++ b/print/Makefile
@@ -88,6 +88,8 @@
SUBDIR += hyperlatex
SUBDIR += ifhp
SUBDIR += jadetex
+ SUBDIR += kcdlabel
+ SUBDIR += kover
SUBDIR += latex
SUBDIR += latex2rtf
SUBDIR += latex2slides
diff --git a/print/kcdlabel/Makefile b/print/kcdlabel/Makefile
new file mode 100644
index 000000000000..baa92880219f
--- /dev/null
+++ b/print/kcdlabel/Makefile
@@ -0,0 +1,27 @@
+# New ports collection makefile for: kcdlabel
+# Date created: Mon Dec 29 03:01:39 CET 2003
+# Whom: Markus Brueffer <brueffer@phoenix-systems.de>
+#
+# $FreeBSD$
+
+PORTNAME= kcdlabel
+PORTVERSION= 2.12
+CATEGORIES= print kde
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
+DISTNAME= ${PORTNAME}-${PORTVERSION}-KDE3
+
+MAINTAINER= brueffer@phoenix-systems.de
+COMMENT= Create covers, labels and booklets for your CD cases
+
+USE_KDELIBS_VER= 3
+USE_GMAKE= yes
+GNU_CONFIGURE= yes
+USE_REINPLACE= yes
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|-O2||g' ${WRKSRC}/${CONFIGURE_SCRIPT}
+
+.include <bsd.port.pre.mk>
+.include "${PORTSDIR}/x11/kde3/Makefile.kde"
+.include <bsd.port.post.mk>
diff --git a/print/kcdlabel/distinfo b/print/kcdlabel/distinfo
new file mode 100644
index 000000000000..3f6e20336949
--- /dev/null
+++ b/print/kcdlabel/distinfo
@@ -0,0 +1 @@
+MD5 (kcdlabel-2.12-KDE3.tar.gz) = b1a3f875fa3c6005db1fc7da47b13020
diff --git a/print/kcdlabel/files/patch-audiocd.cpp b/print/kcdlabel/files/patch-audiocd.cpp
new file mode 100644
index 000000000000..3ee6abd6ae86
--- /dev/null
+++ b/print/kcdlabel/files/patch-audiocd.cpp
@@ -0,0 +1,97 @@
+--- kcdlabel/audiocd.cpp.orig Mon Dec 29 01:15:28 2003
++++ kcdlabel/audiocd.cpp Mon Dec 29 02:15:09 2003
+@@ -58,8 +58,13 @@
+
+ bool AudioCD::readTOC()
+ {
++#ifdef __FreeBSD__
++ struct ioc_toc_header tochdr;
++ struct ioc_read_toc_single_entry tocentry;
++#else
+ struct cdrom_tochdr tochdr;
+ struct cdrom_tocentry tocentry;
++#endif
+ int i;
+
+ emit statusText((char *)"Reading Toc...");
+@@ -73,36 +78,61 @@
+ return(false);
+ }
+
++#ifdef __FreeBSD__
++ if (ioctl(cdromfd, CDIOREADTOCHEADER, &tochdr) == -1)
++#else
+ if (ioctl(cdromfd,CDROMREADTOCHDR,&tochdr) == -1)
++#endif
+ {
+ emit statusText((char *)"Read Toc - Read TOC Header error");
+ close(cdromfd);
+ return(false);
+ }
+
++#ifdef __FreeBSD__
++ tocentry.address_format = CD_MSF_FORMAT;
++ for (i = tochdr.starting_track; i <= tochdr.ending_track; i++) {
++ tocentry.track = i;
++ if (ioctl(cdromfd, CDIOREADTOCENTRY, &tocentry) == -1)
++#else
+ tocentry.cdte_format = CDROM_MSF;
+ for (i=tochdr.cdth_trk0;i<=tochdr.cdth_trk1;i++)
+ {
+ tocentry.cdte_track = i;
+ if (ioctl(cdromfd,CDROMREADTOCENTRY,&tocentry) == -1)
++#endif
+ {
+ emit statusText((char *)"Read Toc - Read TOC Entry error");
+ close(cdromfd);
+ return(false);
+ }
++#ifdef __FreeBSD__
++ TOC[nr_tracks++] = tocentry.entry;
++ TrackOffsets.push_back( (TOC[nr_tracks-1].addr.msf.minute*60+TOC[nr_tracks-1].addr.msf.second)*75+TOC[nr_tracks-1].addr.msf.frame );
++ }
++ tocentry.track = CDROM_LEADOUT;
++ if (ioctl(cdromfd, CDIOREADTOCENTRY, &tocentry) == -1)
++#else
+ TOC[nr_tracks++] = tocentry.cdte_addr.msf;
+ TrackOffsets.push_back( (TOC[nr_tracks-1].minute*60+TOC[nr_tracks-1].second)*75+TOC[nr_tracks-1].frame );
+ }
+ tocentry.cdte_track = CDROM_LEADOUT;
+ if (ioctl(cdromfd,CDROMREADTOCENTRY,&tocentry) == -1)
++#endif
+ {
+ emit statusText((char *)"Read Toc - Read TOC Entry (Lead-out) error");
+ close(cdromfd);
+ return(false);
+ }
++#ifdef __FreeBSD__
++ TOC[nr_tracks] = tocentry.entry;
++ // cd length in seconds
++ CDLength = TOC[nr_tracks].addr.msf.minute*60 + TOC[nr_tracks].addr.msf.second;
++#else
+ TOC[nr_tracks] = tocentry.cdte_addr.msf;
+ // cd length in seconds
+ CDLength = TOC[nr_tracks].minute*60 + TOC[nr_tracks].second;
++#endif
+ // close the cdrom device
+ close(cdromfd);
+ TOCAvailable=true;
+@@ -120,10 +150,18 @@
+
+ while ( i < nr_tracks )
+ {
++#ifdef __FreeBSD__
++ n = n + cddb_sum( ( TOC[i].addr.msf.minute * 60 ) + TOC[i].addr.msf.second );
++#else
+ n = n + cddb_sum( ( TOC[i].minute * 60 ) + TOC[i].second );
++#endif
+ i++;
+ }
++#ifdef __FreeBSD__
++ t = (( TOC[nr_tracks].addr.msf.minute * 60 ) + TOC[nr_tracks].addr.msf.second ) - (( TOC[0].addr.msf.minute * 60)+ TOC[0].addr.msf.second );
++#else
+ t = (( TOC[nr_tracks].minute * 60 ) + TOC[nr_tracks].second ) - (( TOC[0].minute * 60)+ TOC[0].second );
++#endif
+ // get the discid in unsigned long
+ ulDiscID = (( n % 0xff) << 24 | t << 8 | nr_tracks);
+ // format the disc id to get a hexdecimal 8 digits string
diff --git a/print/kcdlabel/files/patch-audiocd.h b/print/kcdlabel/files/patch-audiocd.h
new file mode 100644
index 000000000000..45c723f47058
--- /dev/null
+++ b/print/kcdlabel/files/patch-audiocd.h
@@ -0,0 +1,27 @@
+--- kcdlabel/audiocd.h.orig Mon Dec 29 01:08:45 2003
++++ kcdlabel/audiocd.h Mon Dec 29 02:15:45 2003
+@@ -30,7 +30,12 @@
+ #include <qobject.h>
+ #include <qstring.h>
+
++#ifdef __FreeBSD__
++#include <sys/cdio.h>
++#define CDROM_LEADOUT 0xAA
++#else
+ #include <linux/cdrom.h> // specific to Linux !!! --> must be encapsulated in DEFINE IFDEF to enable compilation on other Un*x platforms...
++#endif
+
+ /**Access all the audio CD functions and compute CDDB DiscID
+ *@author Pascal 'PeP' Panneels
+@@ -74,7 +79,11 @@
+ QString DiscID; // CDDB DiscID
+ int cdromfd; // device descriptor of the CDROM
+ unsigned int nr_tracks; // # of tracks
++#ifdef __FreeBSD__
++ struct cd_toc_entry TOC[101]; // Table Of Content of the CD (max 99 tracks + lead-out + lead in)
++#else
+ struct cdrom_msf0 TOC[101]; // Table Of Content of the CD (max 99 tracks + lead-out + lead in)
++#endif
+ bool TOCAvailable; // true when the TOC is available
+ unsigned long ulDiscID; // computed disc id as an unsigned long
+ VectorIntType TrackOffsets; // offsets of each track
diff --git a/print/kcdlabel/files/patch-kdirtree.cpp b/print/kcdlabel/files/patch-kdirtree.cpp
new file mode 100644
index 000000000000..c349505877f3
--- /dev/null
+++ b/print/kcdlabel/files/patch-kdirtree.cpp
@@ -0,0 +1,12 @@
+--- kcdlabel/kdirtree.cpp.orig Mon Dec 29 02:18:03 2003
++++ kcdlabel/kdirtree.cpp Mon Dec 29 02:18:49 2003
+@@ -20,7 +20,9 @@
+ #include <string>
+ #include <vector>
+ #include <algorithm>
++#ifndef __FreeBSD__
+ #include <error.h>
++#endif
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
diff --git a/print/kcdlabel/pkg-descr b/print/kcdlabel/pkg-descr
new file mode 100644
index 000000000000..eefcbf07d503
--- /dev/null
+++ b/print/kcdlabel/pkg-descr
@@ -0,0 +1,5 @@
+KCDLabel is a KDE program used to create covers, labels and
+booklets for your CD cases.
+
+Author: Pascal Panneels <pascal.panneels@skynet.be>
+WWW: http://kcdlabel.sourceforge.net/
diff --git a/print/kcdlabel/pkg-plist b/print/kcdlabel/pkg-plist
new file mode 100644
index 000000000000..b32fc32ab374
--- /dev/null
+++ b/print/kcdlabel/pkg-plist
@@ -0,0 +1,40 @@
+bin/kcdlabel
+share/applnk/Multimedia/kcdlabel.desktop
+share/doc/HTML/en/kcdlabel/en.new
+share/doc/HTML/en/kcdlabel/index-1.html
+share/doc/HTML/en/kcdlabel/index-2.html
+share/doc/HTML/en/kcdlabel/index-3.html
+share/doc/HTML/en/kcdlabel/index-4.html
+share/doc/HTML/en/kcdlabel/index-5.html
+share/doc/HTML/en/kcdlabel/index.html
+share/doc/HTML/en/kcdlabel/index.sgml
+share/icons/medium/locolor/apps/kcdlabel.xpm
+share/icons/small/locolor/apps/mini-kcdlabel.xpm
+share/locale/cs/LC_MESSAGES/kcdlabel.mo
+share/locale/de/LC_MESSAGES/kcdlabel.mo
+share/locale/fr/LC_MESSAGES/kcdlabel.mo
+share/locale/hu/LC_MESSAGES/kcdlabel.mo
+share/locale/it/LC_MESSAGES/kcdlabel.mo
+@unexec rmdir %D/share/locale/it/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/it 2>/dev/null || true
+@unexec rmdir %D/share/locale/hu/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/hu 2>/dev/null || true
+@unexec rmdir %D/share/locale/fr/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/fr 2>/dev/null || true
+@unexec rmdir %D/share/locale/de/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/de 2>/dev/null || true
+@unexec rmdir %D/share/locale/cs/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/cs 2>/dev/null || true
+@unexec rmdir %D/share/locale 2>/dev/null || true
+@unexec rmdir %D/share/icons/small/locolor/apps 2>/dev/null || true
+@unexec rmdir %D/share/icons/small/locolor 2>/dev/null || true
+@unexec rmdir %D/share/icons/small 2>/dev/null || true
+@unexec rmdir %D/share/icons/medium/locolor/apps 2>/dev/null || true
+@unexec rmdir %D/share/icons/medium/locolor 2>/dev/null || true
+@unexec rmdir %D/share/icons/medium 2>/dev/null || true
+@unexec rmdir %D/share/icons 2>/dev/null || true
+@dirrm share/doc/HTML/en/kcdlabel
+@unexec rmdir %D/share/doc/HTML/en 2>/dev/null || true
+@unexec rmdir %D/share/doc/HTML 2>/dev/null || true
+@unexec rmdir %D/share/applnk/Multimedia 2>/dev/null || true
+@unexec rmdir %D/share/applnk 2>/dev/null || true
diff --git a/print/kover/Makefile b/print/kover/Makefile
new file mode 100644
index 000000000000..4f599a24e317
--- /dev/null
+++ b/print/kover/Makefile
@@ -0,0 +1,25 @@
+# New ports collection makefile for: kover
+# Date created: Mon Dec 29 05:07:17 CET 2003
+# Whom: Markus Brueffer <brueffer@phoenix-systems.de>
+#
+# $FreeBSD$
+
+PORTNAME= kover
+PORTVERSION= 2.9.3
+CATEGORIES= print kde
+MASTER_SITES= http://lisas.de/kover/
+
+MAINTAINER= brueffer@phoenix-systems.de
+COMMENT= WYSIWYG CD cover printer
+
+USE_KDELIBS_VER= 3
+USE_GMAKE= yes
+GNU_CONFIGURE= yes
+USE_REINPLACE= yes
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|-O2||g' ${WRKSRC}/${CONFIGURE_SCRIPT}
+
+.include <bsd.port.pre.mk>
+.include "${PORTSDIR}/x11/kde3/Makefile.kde"
+.include <bsd.port.post.mk>
diff --git a/print/kover/distinfo b/print/kover/distinfo
new file mode 100644
index 000000000000..ef40a090c21d
--- /dev/null
+++ b/print/kover/distinfo
@@ -0,0 +1 @@
+MD5 (kover-2.9.3.tar.gz) = 41446036588bdbf90ac4d7d1a4e56667
diff --git a/print/kover/files/patch-cddb_fill.cc b/print/kover/files/patch-cddb_fill.cc
new file mode 100644
index 000000000000..7afc9b6a1d20
--- /dev/null
+++ b/print/kover/files/patch-cddb_fill.cc
@@ -0,0 +1,114 @@
+--- kover/cddb_fill.cc.orig Mon Dec 29 03:32:23 2003
++++ kover/cddb_fill.cc Mon Dec 29 03:53:52 2003
+@@ -67,6 +67,11 @@
+ #include "proxy_auth.h"
+ #include "categories.h"
+
++#ifdef __FreeBSD__
++#include <sys/cdio.h>
++#define CDROM_LEADOUT 0xAA
++#endif
++
+ extern "C" {
+
+ #ifdef HAVE_LINUX_CDROM_H
+@@ -263,6 +268,10 @@
+ globals.cdrom_device = strdup("/dev/cdrom");
+
+ if ((cd_fd = open(globals.cdrom_device, O_RDONLY | O_NONBLOCK)) < 0) {
++#ifdef __FreeBSD__
++ emit statusText(QString(tr("Error while opening "))
++ + QString(globals.cdrom_device));
++#else
+ switch (errno) {
+ case EACCES:
+ emit statusText(QString(tr
+@@ -281,9 +290,11 @@
+ emit statusText(QString(tr("Unknown error while opening "))
+ + QString(globals.cdrom_device));
+ }
++#endif
+ return false;
+ }
+
++#ifndef __FreeBSD__
+ ds = ioctl(cd_fd, CDROM_DISC_STATUS);
+
+ switch (ds) {
+@@ -300,6 +311,7 @@
+ return false;
+ }
+ _DEBUG_ fprintf(stderr, "CD opened: %d\n", ds);
++#endif
+
+ return true;
+ }
+@@ -314,8 +326,13 @@
+
+ bool CDDB_Fill::readTOC()
+ {
++#ifdef __FreeBSD__
++ ioc_toc_header hdr;
++ ioc_read_toc_single_entry entry;
++#else
+ cdrom_tochdr hdr;
+ cdrom_tocentry entry;
++#endif
+ int i, pos;
+ _DEBUG_ fprintf(stderr, "Reading TOC\n");
+
+@@ -327,7 +344,11 @@
+
+ emit statusText(tr("Reading table of contents..."));
+
++#ifdef __FreeBSD__
++ if (ioctl(cd_fd, CDIOREADTOCHEADER, &hdr) == -1) {
++#else
+ if (ioctl(cd_fd, CDROMREADTOCHDR, &hdr)) {
++#endif
+ emit statusText(tr("Error while reading table of contents!"));
+
+ return false;
+@@ -336,24 +357,41 @@
+ cdinfo.artist = "Artist";
+ cdinfo.cdname = "Title";
+ cdinfo.length = 0;
++#ifdef __FreeBSD__
++ cdinfo.ntracks = hdr.ending_track;
++#else
+ cdinfo.ntracks = hdr.cdth_trk1;
+-
++#endif
+ cdinfo.trk.clear();
+
+ for (i = 0; i <= cdinfo.ntracks; i++) {
+ if (i == cdinfo.ntracks)
++#ifdef __FreeBSD__
++ entry.track = CDROM_LEADOUT;
++ else
++ entry.track = i + 1;
++ entry.address_format = CD_MSF_FORMAT;
++ if (ioctl(cd_fd, CDIOREADTOCENTRY, &entry) == -1) {
++#else
+ entry.cdte_track = CDROM_LEADOUT;
+ else
+ entry.cdte_track = i + 1;
+ entry.cdte_format = CDROM_MSF;
+ if (ioctl(cd_fd, CDROMREADTOCENTRY, &entry)) {
++#endif
+ emit statusText(tr("Error while reading TOC entry!"));
+
+ return false;
+ }
+
++#ifdef __FreeBSD__
++ cdinfo.trk.append(new track_info(i + 1, entry.entry.addr.msf.minute,
++ entry.entry.addr.msf.second, entry.entry.addr.msf.frame));
++
++#else
+ cdinfo.trk.append(new track_info(i + 1, entry.cdte_addr.msf.minute,
+ entry.cdte_addr.msf.second, entry.cdte_addr.msf.frame));
++#endif
+ }
+
+ pos = cdinfo.trk.first()->length;
diff --git a/print/kover/files/patch-cdrom.cc b/print/kover/files/patch-cdrom.cc
new file mode 100644
index 000000000000..8bf827d09de3
--- /dev/null
+++ b/print/kover/files/patch-cdrom.cc
@@ -0,0 +1,17 @@
+--- kover/cdrom.cc.orig Fri Feb 7 17:05:06 2003
++++ kover/cdrom.cc Mon Dec 29 04:51:51 2003
+@@ -64,7 +64,14 @@
+ return -1;
+ }
+ if (cdrom_fd > 0)
++#ifdef __FreeBSD__
++ {
++ ioctl(cdrom_fd,CDIOCALLOW);
++ ioctl(cdrom_fd,CDIOCEJECT);
++ }
++#else
+ ioctl(cdrom_fd,CDROMEJECT);
++#endif
+ else
+ return -1;
+ close();
diff --git a/print/kover/files/patch-cdrom.h b/print/kover/files/patch-cdrom.h
new file mode 100644
index 000000000000..44e52a2bbfa6
--- /dev/null
+++ b/print/kover/files/patch-cdrom.h
@@ -0,0 +1,13 @@
+--- kover/cdrom.h.orig Mon Dec 29 03:57:18 2003
++++ kover/cdrom.h Mon Dec 29 03:57:39 2003
+@@ -41,6 +41,10 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+
++#ifdef __FreeBSD__
++#include <sys/cdio.h>
++#endif
++
+ #ifdef HAVE_LINUX_CDROM_H
+ #include <linux/cdrom.h>
+ #endif
diff --git a/print/kover/files/patch-cdrom_cddb.cc b/print/kover/files/patch-cdrom_cddb.cc
new file mode 100644
index 000000000000..8aa792c35be5
--- /dev/null
+++ b/print/kover/files/patch-cdrom_cddb.cc
@@ -0,0 +1,91 @@
+--- kover/cdrom_cddb.cc.orig Mon Dec 29 04:01:52 2003
++++ kover/cdrom_cddb.cc Mon Dec 29 04:08:20 2003
+@@ -31,6 +31,11 @@
+ #include "cdrom_cddb.h"
+ #include <stdio.h>
+
++#ifdef __FreeBSD__
++#include <sys/cdio.h>
++#define CDROM_LEADOUT 0xAA
++#endif
++
+ cdrom_cddb::cdrom_cddb(char *path):cdrom(path)
+ {
+ open();
+@@ -49,8 +54,13 @@
+
+ void cdrom_cddb::calc_cddb_id()
+ {
++#ifdef __FreeBSD__
++ ioc_toc_header hdr;
++ ioc_read_toc_single_entry entry;
++#else
+ cdrom_tochdr hdr;
+ cdrom_tocentry entry;
++#endif
+ int i = 0;
+ int pos = 0;
+ int length = 0;
+@@ -62,13 +72,28 @@
+ exit(0);
+ }
+
++#ifdef __FreeBSD__
++ if (ioctl(cdrom_fd, CDIOREADTOCHEADER, &hdr) == -1) {
++#else
+ if (ioctl(cdrom_fd, CDROMREADTOCHDR, &hdr)) {
++#endif
+ fprintf(stderr,
+ "%s:error while reading table of contents. exiting now!\n",
+ PACKAGE);
+ exit(0);
+ }
+
++#ifdef __FreeBSD__
++ i = ntracks = hdr.ending_track;
++
++ do {
++ if (i == ntracks)
++ entry.track = CDROM_LEADOUT;
++ else
++ entry.track = i + 1;
++ entry.address_format = CD_MSF_FORMAT;
++ if (ioctl(cdrom_fd, CDIOREADTOCENTRY, &entry)) {
++#else
+ i = ntracks = hdr.cdth_trk1;
+
+ do {
+@@ -78,12 +103,25 @@
+ entry.cdte_track = i + 1;
+ entry.cdte_format = CDROM_MSF;
+ if (ioctl(cdrom_fd, CDROMREADTOCENTRY, &entry)) {
++#endif
+ fprintf(stderr,
+ "%s:error while reading toc entry. exiting now!\n", PACKAGE);
+ exit(0);
+ }
+ if (i != ntracks)
+ pos +=
++#ifdef __FreeBSD__
++ cddb_sum((entry.entry.addr.msf.minute * 60) +
++ entry.entry.addr.msf.second);
++ if (i == 0)
++ length =
++ length - ((entry.entry.addr.msf.minute * 60) +
++ entry.entry.addr.msf.second);
++ if (i == ntracks)
++ length =
++ (entry.entry.addr.msf.minute * 60) +
++ entry.entry.addr.msf.second;
++#else
+ cddb_sum((entry.cdte_addr.msf.minute * 60) +
+ entry.cdte_addr.msf.second);
+ if (i == 0)
+@@ -94,6 +132,7 @@
+ length =
+ (entry.cdte_addr.msf.minute * 60) +
+ entry.cdte_addr.msf.second;
++#endif
+
+ } while (i--);
+
diff --git a/print/kover/files/patch-net.cc b/print/kover/files/patch-net.cc
new file mode 100644
index 000000000000..fb852c37d443
--- /dev/null
+++ b/print/kover/files/patch-net.cc
@@ -0,0 +1,12 @@
+--- kover/net.cc.orig Mon Dec 29 04:55:16 2003
++++ kover/net.cc Mon Dec 29 05:01:10 2003
+@@ -33,6 +33,9 @@
+ #include "kover.h"
+
+ #include <netdb.h>
++#ifdef __FreeBSD__
++#include <sys/param.h>
++#endif
+ #include <netinet/in.h>
+ #include <sys/socket.h>
+ #include <unistd.h>
diff --git a/print/kover/pkg-descr b/print/kover/pkg-descr
new file mode 100644
index 000000000000..a8c43ed3c798
--- /dev/null
+++ b/print/kover/pkg-descr
@@ -0,0 +1,13 @@
+Kover is an easy to use WYSIWYG CD cover printer with CDDB support.
+
+Some features:
+ o CDDB support via freedb.org
+ o supports proxies with authentification (basic)
+ o image embedding in inlet and booklet
+ o should read files saved with Easy CD Pro 2.0
+ o saves CDDB queries locally
+ o do CDDB query without the CD
+ o files created with K3B can be imported
+
+Author: Adrian Reber <adrian@lisas.de>
+WWW: http://lisas.de/kover/
diff --git a/print/kover/pkg-plist b/print/kover/pkg-plist
new file mode 100644
index 000000000000..78fe02798436
--- /dev/null
+++ b/print/kover/pkg-plist
@@ -0,0 +1,55 @@
+bin/cddb-id
+bin/kover
+share/applnk/Multimedia/kover.desktop
+share/apps/kover/koverui.rc
+share/apps/kover/pics/back_content.png
+share/apps/kover/pics/back_title_content.png
+share/apps/kover/pics/front_title-content-right_content-left.png
+share/apps/kover/pics/front_title-right_content-left.png
+share/apps/kover/pics/front_title_only.png
+share/apps/kover/pics/one_page.png
+share/icons/hicolor/32x32/apps/kover.png
+share/icons/hicolor/48x48/apps/kover.png
+share/icons/locolor/16x16/apps/kover.png
+share/icons/locolor/32x32/apps/kover.png
+share/locale/de/LC_MESSAGES/kover.mo
+share/locale/es/LC_MESSAGES/kover.mo
+share/locale/fr/LC_MESSAGES/kover.mo
+share/locale/it/LC_MESSAGES/kover.mo
+share/locale/nb/LC_MESSAGES/kover.mo
+share/locale/no/LC_MESSAGES/kover.mo
+share/locale/pl/LC_MESSAGES/kover.mo
+share/mimelnk/application/x-kover.desktop
+@unexec rmdir %D/share/mimelnk/application 2>/dev/null || true
+@unexec rmdir %D/share/mimelnk 2>/dev/null || true
+@unexec rmdir %D/share/locale/pl/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/pl 2>/dev/null || true
+@unexec rmdir %D/share/locale/no/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/no 2>/dev/null || true
+@unexec rmdir %D/share/locale/nb/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/nb 2>/dev/null || true
+@unexec rmdir %D/share/locale/it/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/it 2>/dev/null || true
+@unexec rmdir %D/share/locale/fr/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/fr 2>/dev/null || true
+@unexec rmdir %D/share/locale/es/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/es 2>/dev/null || true
+@unexec rmdir %D/share/locale/de/LC_MESSAGES 2>/dev/null || true
+@unexec rmdir %D/share/locale/de 2>/dev/null || true
+@unexec rmdir %D/share/locale 2>/dev/null || true
+@unexec rmdir %D/share/icons/locolor/32x32/apps 2>/dev/null || true
+@unexec rmdir %D/share/icons/locolor/32x32 2>/dev/null || true
+@unexec rmdir %D/share/icons/locolor/16x16/apps 2>/dev/null || true
+@unexec rmdir %D/share/icons/locolor/16x16 2>/dev/null || true
+@unexec rmdir %D/share/icons/locolor 2>/dev/null || true
+@unexec rmdir %D/share/icons/hicolor/48x48/apps 2>/dev/null || true
+@unexec rmdir %D/share/icons/hicolor/48x48 2>/dev/null || true
+@unexec rmdir %D/share/icons/hicolor/32x32/apps 2>/dev/null || true
+@unexec rmdir %D/share/icons/hicolor/32x32 2>/dev/null || true
+@unexec rmdir %D/share/icons/hicolor 2>/dev/null || true
+@unexec rmdir %D/share/icons 2>/dev/null || true
+@dirrm share/apps/kover/pics
+@dirrm share/apps/kover
+@unexec rmdir %D/share/apps 2>/dev/null || true
+@unexec rmdir %D/share/applnk/Multimedia 2>/dev/null || true
+@unexec rmdir %D/share/applnk 2>/dev/null || true