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