ports/60673: New port: print/kover

Markus Brueffer brueffer at phoenix-systems.de
Mon Dec 29 04:20:21 UTC 2003


>Number:         60673
>Category:       ports
>Synopsis:       New port: print/kover
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 28 20:20:10 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Markus Brueffer
>Release:        FreeBSD 5.2-CURRENT i386
>Organization:
>Environment:
System: FreeBSD cheops.phoenix 5.2-CURRENT FreeBSD 5.2-CURRENT #16: Mon Dec 22 00:35:14 CET 2003 root at cheops.phoenix:/usr/obj/usr/src/sys/CHEOPS i386

>Description:
	New port: print/kover

	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

>How-To-Repeat:
>Fix:

--- kover.shar begins here ---
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	kover
#	kover/pkg-plist
#	kover/pkg-descr
#	kover/distinfo
#	kover/Makefile
#	kover/files
#	kover/files/patch-cddb_fill.cc
#	kover/files/patch-cdrom.h
#	kover/files/patch-net.cc
#	kover/files/patch-cdrom.cc
#	kover/files/patch-cdrom_cddb.cc
#
echo c - kover
mkdir -p kover > /dev/null 2>&1
echo x - kover/pkg-plist
sed 's/^X//' >kover/pkg-plist << 'END-of-kover/pkg-plist'
Xbin/cddb-id
Xbin/kover
Xshare/applnk/Multimedia/kover.desktop
Xshare/apps/kover/koverui.rc
Xshare/apps/kover/pics/back_content.png
Xshare/apps/kover/pics/back_title_content.png
Xshare/apps/kover/pics/front_title-content-right_content-left.png
Xshare/apps/kover/pics/front_title-right_content-left.png
Xshare/apps/kover/pics/front_title_only.png
Xshare/apps/kover/pics/one_page.png
Xshare/icons/hicolor/32x32/apps/kover.png
Xshare/icons/hicolor/48x48/apps/kover.png
Xshare/icons/locolor/16x16/apps/kover.png
Xshare/icons/locolor/32x32/apps/kover.png
Xshare/locale/de/LC_MESSAGES/kover.mo
Xshare/locale/es/LC_MESSAGES/kover.mo
Xshare/locale/fr/LC_MESSAGES/kover.mo
Xshare/locale/it/LC_MESSAGES/kover.mo
Xshare/locale/nb/LC_MESSAGES/kover.mo
Xshare/locale/no/LC_MESSAGES/kover.mo
Xshare/locale/pl/LC_MESSAGES/kover.mo
Xshare/mimelnk/application/x-kover.desktop
X at unexec rmdir %D/share/mimelnk/application 2>/dev/null || true
X at unexec rmdir %D/share/mimelnk 2>/dev/null || true
X at unexec rmdir %D/share/locale/pl/LC_MESSAGES 2>/dev/null || true
X at unexec rmdir %D/share/locale/pl 2>/dev/null || true
X at unexec rmdir %D/share/locale/no/LC_MESSAGES 2>/dev/null || true
X at unexec rmdir %D/share/locale/no 2>/dev/null || true
X at unexec rmdir %D/share/locale/nb/LC_MESSAGES 2>/dev/null || true
X at unexec rmdir %D/share/locale/nb 2>/dev/null || true
X at unexec rmdir %D/share/locale/it/LC_MESSAGES 2>/dev/null || true
X at unexec rmdir %D/share/locale/it 2>/dev/null || true
X at unexec rmdir %D/share/locale/fr/LC_MESSAGES 2>/dev/null || true
X at unexec rmdir %D/share/locale/fr 2>/dev/null || true
X at unexec rmdir %D/share/locale/es/LC_MESSAGES 2>/dev/null || true
X at unexec rmdir %D/share/locale/es 2>/dev/null || true
X at unexec rmdir %D/share/locale/de/LC_MESSAGES 2>/dev/null || true
X at unexec rmdir %D/share/locale/de 2>/dev/null || true
X at unexec rmdir %D/share/locale 2>/dev/null || true
X at unexec rmdir %D/share/icons/locolor/32x32/apps 2>/dev/null || true
X at unexec rmdir %D/share/icons/locolor/32x32 2>/dev/null || true
X at unexec rmdir %D/share/icons/locolor/16x16/apps 2>/dev/null || true
X at unexec rmdir %D/share/icons/locolor/16x16 2>/dev/null || true
X at unexec rmdir %D/share/icons/locolor 2>/dev/null || true
X at unexec rmdir %D/share/icons/hicolor/48x48/apps 2>/dev/null || true
X at unexec rmdir %D/share/icons/hicolor/48x48 2>/dev/null || true
X at unexec rmdir %D/share/icons/hicolor/32x32/apps 2>/dev/null || true
X at unexec rmdir %D/share/icons/hicolor/32x32 2>/dev/null || true
X at unexec rmdir %D/share/icons/hicolor 2>/dev/null || true
X at unexec rmdir %D/share/icons 2>/dev/null || true
X at dirrm share/apps/kover/pics
X at dirrm share/apps/kover
X at unexec rmdir %D/share/apps 2>/dev/null || true
X at unexec rmdir %D/share/applnk/Multimedia 2>/dev/null || true
X at unexec rmdir %D/share/applnk 2>/dev/null || true
END-of-kover/pkg-plist
echo x - kover/pkg-descr
sed 's/^X//' >kover/pkg-descr << 'END-of-kover/pkg-descr'
XKover is an easy to use WYSIWYG CD cover printer with CDDB support.
X
XSome features:
X   o CDDB support via freedb.org
X   o supports proxies with authentification (basic)
X   o image embedding in inlet and booklet
X   o should read files saved with Easy CD Pro 2.0
X   o saves CDDB queries locally
X   o do CDDB query without the CD
X   o files created with K3B can be imported
X
XAuthor: Adrian Reber <adrian at lisas.de>
XWWW: http://lisas.de/kover/
END-of-kover/pkg-descr
echo x - kover/distinfo
sed 's/^X//' >kover/distinfo << 'END-of-kover/distinfo'
XMD5 (kover-2.9.3.tar.gz) = 41446036588bdbf90ac4d7d1a4e56667
END-of-kover/distinfo
echo x - kover/Makefile
sed 's/^X//' >kover/Makefile << 'END-of-kover/Makefile'
X# New ports collection makefile for:	kover
X# Date created:			Mon Dec 29 05:07:17 CET 2003
X# Whom:				Markus Brueffer <brueffer at phoenix-systems.de>
X#
X# $FreeBSD$
X
XPORTNAME=		kover
XPORTVERSION=		2.9.3
XCATEGORIES=		print kde
XMASTER_SITES=		http://lisas.de/kover/
X
XMAINTAINER=		brueffer at phoenix-systems.de
XCOMMENT=		WYSIWYG CD cover printer
X
XUSE_KDELIBS_VER=	3
XUSE_GMAKE=		yes
XGNU_CONFIGURE=		yes
XUSE_REINPLACE=		yes
X
Xpost-patch:
X	@${REINPLACE_CMD} -e 's|-O2||g' ${WRKSRC}/${CONFIGURE_SCRIPT}
X
X.include <bsd.port.pre.mk>
X.include "${PORTSDIR}/x11/kde3/Makefile.kde"
X.include <bsd.port.post.mk>
END-of-kover/Makefile
echo c - kover/files
mkdir -p kover/files > /dev/null 2>&1
echo x - kover/files/patch-cddb_fill.cc
sed 's/^X//' >kover/files/patch-cddb_fill.cc << 'END-of-kover/files/patch-cddb_fill.cc'
X--- kover/cddb_fill.cc.orig	Mon Dec 29 03:32:23 2003
X+++ kover/cddb_fill.cc	Mon Dec 29 03:53:52 2003
X@@ -67,6 +67,11 @@
X #include "proxy_auth.h"
X #include "categories.h"
X 
X+#ifdef __FreeBSD__
X+#include <sys/cdio.h>
X+#define CDROM_LEADOUT 0xAA
X+#endif
X+
X extern "C" {
X 
X #ifdef HAVE_LINUX_CDROM_H
X@@ -263,6 +268,10 @@
X         globals.cdrom_device = strdup("/dev/cdrom");
X 
X     if ((cd_fd = open(globals.cdrom_device, O_RDONLY | O_NONBLOCK)) < 0) {
X+#ifdef __FreeBSD__
X+        emit statusText(QString(tr("Error while opening "))
X+                + QString(globals.cdrom_device));
X+#else
X         switch (errno) {
X         case EACCES:
X             emit statusText(QString(tr
X@@ -281,9 +290,11 @@
X             emit statusText(QString(tr("Unknown error while opening "))
X                 + QString(globals.cdrom_device));
X         }
X+#endif
X         return false;
X     }
X 
X+#ifndef __FreeBSD__
X     ds = ioctl(cd_fd, CDROM_DISC_STATUS);
X 
X     switch (ds) {
X@@ -300,6 +311,7 @@
X         return false;
X     }
X     _DEBUG_ fprintf(stderr, "CD opened: %d\n", ds);
X+#endif
X 
X     return true;
X }
X@@ -314,8 +326,13 @@
X 
X bool CDDB_Fill::readTOC()
X {
X+#ifdef __FreeBSD__
X+    ioc_toc_header hdr;
X+    ioc_read_toc_single_entry entry;
X+#else
X     cdrom_tochdr hdr;
X     cdrom_tocentry entry;
X+#endif
X     int i, pos;
X     _DEBUG_ fprintf(stderr, "Reading TOC\n");
X 
X@@ -327,7 +344,11 @@
X 
X     emit statusText(tr("Reading table of contents..."));
X 
X+#ifdef __FreeBSD__
X+    if (ioctl(cd_fd, CDIOREADTOCHEADER, &hdr) == -1) {
X+#else
X     if (ioctl(cd_fd, CDROMREADTOCHDR, &hdr)) {
X+#endif
X         emit statusText(tr("Error while reading table of contents!"));
X 
X         return false;
X@@ -336,24 +357,41 @@
X     cdinfo.artist = "Artist";
X     cdinfo.cdname = "Title";
X     cdinfo.length = 0;
X+#ifdef __FreeBSD__
X+    cdinfo.ntracks = hdr.ending_track;
X+#else
X     cdinfo.ntracks = hdr.cdth_trk1;
X-
X+#endif
X     cdinfo.trk.clear();
X 
X     for (i = 0; i <= cdinfo.ntracks; i++) {
X         if (i == cdinfo.ntracks)
X+#ifdef __FreeBSD__
X+            entry.track = CDROM_LEADOUT;
X+        else
X+            entry.track = i + 1;
X+        entry.address_format = CD_MSF_FORMAT;
X+        if (ioctl(cd_fd, CDIOREADTOCENTRY, &entry) == -1) {
X+#else
X             entry.cdte_track = CDROM_LEADOUT;
X         else
X             entry.cdte_track = i + 1;
X         entry.cdte_format = CDROM_MSF;
X         if (ioctl(cd_fd, CDROMREADTOCENTRY, &entry)) {
X+#endif
X             emit statusText(tr("Error while reading TOC entry!"));
X 
X             return false;
X         }
X 
X+#ifdef __FreeBSD__
X+        cdinfo.trk.append(new track_info(i + 1, entry.entry.addr.msf.minute,
X+                entry.entry.addr.msf.second, entry.entry.addr.msf.frame));
X+
X+#else
X         cdinfo.trk.append(new track_info(i + 1, entry.cdte_addr.msf.minute,
X                 entry.cdte_addr.msf.second, entry.cdte_addr.msf.frame));
X+#endif
X     }
X 
X     pos = cdinfo.trk.first()->length;
END-of-kover/files/patch-cddb_fill.cc
echo x - kover/files/patch-cdrom.h
sed 's/^X//' >kover/files/patch-cdrom.h << 'END-of-kover/files/patch-cdrom.h'
X--- kover/cdrom.h.orig	Mon Dec 29 03:57:18 2003
X+++ kover/cdrom.h	Mon Dec 29 03:57:39 2003
X@@ -41,6 +41,10 @@
X #include <sys/types.h>
X #include <sys/stat.h>
X 
X+#ifdef __FreeBSD__
X+#include <sys/cdio.h>
X+#endif
X+
X #ifdef HAVE_LINUX_CDROM_H
X #include <linux/cdrom.h>
X #endif
END-of-kover/files/patch-cdrom.h
echo x - kover/files/patch-net.cc
sed 's/^X//' >kover/files/patch-net.cc << 'END-of-kover/files/patch-net.cc'
X--- kover/net.cc.orig	Mon Dec 29 04:55:16 2003
X+++ kover/net.cc	Mon Dec 29 05:01:10 2003
X@@ -33,6 +33,9 @@
X #include "kover.h"
X 
X #include <netdb.h>
X+#ifdef __FreeBSD__
X+#include <sys/param.h>
X+#endif
X #include <netinet/in.h>
X #include <sys/socket.h>
X #include <unistd.h>
END-of-kover/files/patch-net.cc
echo x - kover/files/patch-cdrom.cc
sed 's/^X//' >kover/files/patch-cdrom.cc << 'END-of-kover/files/patch-cdrom.cc'
X--- kover/cdrom.cc.orig	Fri Feb  7 17:05:06 2003
X+++ kover/cdrom.cc	Mon Dec 29 04:51:51 2003
X@@ -64,7 +64,14 @@
X 				return -1;
X 	 }
X 	 if (cdrom_fd > 0)
X+#ifdef __FreeBSD__
X+         {
X+                  ioctl(cdrom_fd,CDIOCALLOW);
X+                  ioctl(cdrom_fd,CDIOCEJECT);
X+         }
X+#else
X 		  ioctl(cdrom_fd,CDROMEJECT);
X+#endif
X 	 else
X 		  return -1;
X 	 close();
END-of-kover/files/patch-cdrom.cc
echo x - kover/files/patch-cdrom_cddb.cc
sed 's/^X//' >kover/files/patch-cdrom_cddb.cc << 'END-of-kover/files/patch-cdrom_cddb.cc'
X--- kover/cdrom_cddb.cc.orig	Mon Dec 29 04:01:52 2003
X+++ kover/cdrom_cddb.cc	Mon Dec 29 04:08:20 2003
X@@ -31,6 +31,11 @@
X #include "cdrom_cddb.h"
X #include <stdio.h>
X 
X+#ifdef __FreeBSD__
X+#include <sys/cdio.h>
X+#define CDROM_LEADOUT 0xAA
X+#endif
X+
X cdrom_cddb::cdrom_cddb(char *path):cdrom(path)
X {
X     open();
X@@ -49,8 +54,13 @@
X 
X void cdrom_cddb::calc_cddb_id()
X {
X+#ifdef __FreeBSD__
X+    ioc_toc_header hdr;
X+    ioc_read_toc_single_entry entry;
X+#else
X     cdrom_tochdr hdr;
X     cdrom_tocentry entry;
X+#endif
X     int i = 0;
X     int pos = 0;
X     int length = 0;
X@@ -62,13 +72,28 @@
X         exit(0);
X     }
X 
X+#ifdef __FreeBSD__
X+    if (ioctl(cdrom_fd, CDIOREADTOCHEADER, &hdr) == -1) {
X+#else
X     if (ioctl(cdrom_fd, CDROMREADTOCHDR, &hdr)) {
X+#endif
X         fprintf(stderr,
X             "%s:error while reading table of contents. exiting now!\n",
X             PACKAGE);
X         exit(0);
X     }
X 
X+#ifdef __FreeBSD__
X+    i = ntracks = hdr.ending_track;
X+
X+    do {
X+        if (i == ntracks)
X+            entry.track = CDROM_LEADOUT;
X+        else
X+            entry.track = i + 1;
X+        entry.address_format = CD_MSF_FORMAT;
X+        if (ioctl(cdrom_fd, CDIOREADTOCENTRY, &entry)) {
X+#else
X     i = ntracks = hdr.cdth_trk1;
X 
X     do {
X@@ -78,12 +103,25 @@
X             entry.cdte_track = i + 1;
X         entry.cdte_format = CDROM_MSF;
X         if (ioctl(cdrom_fd, CDROMREADTOCENTRY, &entry)) {
X+#endif
X             fprintf(stderr,
X                 "%s:error while reading toc entry. exiting now!\n", PACKAGE);
X             exit(0);
X         }
X         if (i != ntracks)
X             pos +=
X+#ifdef __FreeBSD__
X+                cddb_sum((entry.entry.addr.msf.minute * 60) +
X+                entry.entry.addr.msf.second);
X+        if (i == 0)
X+            length =
X+                length - ((entry.entry.addr.msf.minute * 60) +
X+                entry.entry.addr.msf.second);
X+        if (i == ntracks)
X+            length =
X+                (entry.entry.addr.msf.minute * 60) +
X+                entry.entry.addr.msf.second;
X+#else
X                 cddb_sum((entry.cdte_addr.msf.minute * 60) +
X                 entry.cdte_addr.msf.second);
X         if (i == 0)
X@@ -94,6 +132,7 @@
X             length =
X                 (entry.cdte_addr.msf.minute * 60) +
X                 entry.cdte_addr.msf.second;
X+#endif
X 
X     } while (i--);
X 
END-of-kover/files/patch-cdrom_cddb.cc
exit
--- kover.shar ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list