Index: sysutils/dvdisaster/Makefile =================================================================== --- sysutils/dvdisaster/Makefile +++ sysutils/dvdisaster/Makefile @@ -2,98 +2,67 @@ # $FreeBSD$ PORTNAME= dvdisaster -PORTVERSION= 0.72.6 -PORTREVISION= 1 +PORTVERSION= 0.79.5 CATEGORIES= sysutils -MASTER_SITES= http://dvdisaster.net/downloads/ +MASTER_SITES= http://www.ml1.org.uk/distfiles/ \ + http://www.ancientgeek.org.uk/distfiles/ -MAINTAINER= ports@FreeBSD.org -COMMENT= CD/DVD error recovery tool +MAINTAINER= bob@eager.cx +COMMENT= Optical disc error correction data and recovery tool -LICENSE= GPLv2 +LICENSE= GPLv3+ +LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= bash:shells/bash +LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ + libfreetype.so:print/freetype2 -MAKEFILE= GNUmakefile +USES= gmake gnome pkgconfig +USE_GCC= yes +USE_GNOME= gdkpixbuf2 gtk20 cairo -USES= gmake pkgconfig tar:bzip2 -USE_GNOME= gtk20 cairo -GNU_CONFIGURE= yes +CFLAGS+= -Wno-stringop-overflow +MAKEFILE= GNUmakefile +HAS_CONFIGURE= yes CONFIGURE_LOG= configure.log -CONFIGURE_ARGS= --prefix=${PREFIX} \ - --docsubdir="/" \ - --png-includes=${LOCALBASE}/include \ - --png-libraries=${LOCALBASE}/lib \ - --phpmountdir=${LOCALBASE}/www/${PORTNAME} \ +CONFIGURE_ARGS= --docsubdir="/" \ --localedir=${PREFIX}/share/locale \ --buildroot=${STAGEDIR} MAKE_JOBS_UNSAFE= yes PORTDOCS= * +SUB_FILES= pkg-message DEVICES.md DEVICES.html OPTIONS_DEFINE= DOCS NLS -OPTIONS_GROUP= DEBUG -OPTIONS_GROUP_DEBUG= EFENCE MEMDEBUG OPTIONS_SUB= yes -EFENCE_DESC= Electric Fence malloc() debugger -MEMDEBUG_DESC= Enable memory debugging - DOCS_CONFIGURE_ON= --docdir=${DOCSDIR} - -MEMDEBUG_CONFIGURE_ON= -with-memdebug=yes - -EFENCE_LIB_DEPENDS= libefence.so.0:devel/ElectricFence -EFENCE_CONFIGURE_ON= -with-efence=yes - NLS_USES= gettext NLS_CONFIGURE_OFF= -with-nls=no -.include - post-patch: - ${REINPLACE_CMD} -e '/REQUIRE_GCC/d' \ - ${WRKSRC}/configure ${WRKSRC}/tools/configure - ${REINPLACE_CMD} -e '/dvdisaster uninstaller/,+12 d' \ + ${REINPLACE_CMD} -e '/dvdisaster uninstaller/,+19 d' \ ${WRKSRC}/GNUmakefile.template - ${REINPLACE_CMD} -e 's|(ctx)|(*ctx)|' \ - ${WRKSRC}/md5.c - ${REINPLACE_CMD} -e 's|stdout, msg|stdout, "msg\\n"|' \ - ${WRKSRC}/tools/memory.c -.if ! ${PORT_OPTIONS:MDOCS} - ${REINPLACE_CMD} -e 's|THESE_ARE_THE_DEVEL_SOURCES;|GNUmakefile;|; \ - /install -d $$(BUILDROOT)$$(DOCSUBDIR)/,+18 d' \ - ${WRKSRC}/GNUmakefile.template -.elif ${ARCH} == i386 +post-patch-DOCS-off: ${REINPLACE_CMD} -e 's|THESE_ARE_THE_DEVEL_SOURCES;|GNUmakefile;|; \ - /install -m 644 README.MODIFYING/{N;p;s/.*/ install -m 644 TODO $$(BUILDROOT)$$(DOCSUBDIR)/;}; \ - /install -m 644 TODO $$(BUILDROOT)$$(DOCSUBDIR)/,+13 d' \ + /install -d $$(BUILDROOT)$$(DOCSUBDIR)/,+7 d' \ ${WRKSRC}/GNUmakefile.template -.endif post-patch-NLS-off: - ${REINPLACE_CMD} -e 's|DOC_LOCALES = cs de en ru|DOC_LOCALES = en|; \ + ${REINPLACE_CMD} -Ee 's|(PO_LOCALES)|#\1|; \ s|install -m 644 CREDITS\*|install -m 644 CREDITS\.en|' \ ${WRKSRC}/GNUmakefile.template -do-configure: - @(cd ${CONFIGURE_WRKSRC} && \ - if ! ${SETENV} CC="${CC}" CXX="${CXX}" \ - CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \ - INSTALL="${INSTALL} -c " \ - INSTALL_DATA="${INSTALL_DATA}" \ - INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ - INSTALL_SCRIPT="${INSTALL_SCRIPT}" \ - ${CONFIGURE_ENV} bash configure ${CONFIGURE_ARGS}; then \ - ${ECHO_CMD} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \ - (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \ - ${FALSE}; \ - fi) - post-install: -.if ! ${PORT_OPTIONS:MEFENCE} || ! ${PORT_OPTIONS:MMEMDEBUG} + @${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps + ${INSTALL_DATA} ${WRKSRC}/contrib/dvdisaster48.png ${STAGEDIR}${PREFIX}/share/pixmaps/ + @${MKDIR} ${STAGEDIR}${PREFIX}/share/applications + ${INSTALL_DATA} ${WRKSRC}/contrib/dvdisaster.desktop ${STAGEDIR}${PREFIX}/share/applications/ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} -.endif -.include +post-install-DOCS-on: + ${INSTALL_MAN} ${WRKDIR}/DEVICES.md ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${WRKDIR}/DEVICES.html ${STAGEDIR}${DOCSDIR} + +.include Index: sysutils/dvdisaster/distinfo =================================================================== --- sysutils/dvdisaster/distinfo +++ sysutils/dvdisaster/distinfo @@ -1,2 +1,3 @@ -SHA256 (dvdisaster-0.72.6.tar.bz2) = e9787dea39aeafa38b26604752561bc895083c17b588489d857ac05c58be196b -SIZE (dvdisaster-0.72.6.tar.bz2) = 5048399 +TIMESTAMP = 1551738342 +SHA256 (dvdisaster-0.79.5.tar.gz) = d6efa1643945fe7b16382f4164a68bdad14de48c8506d844d740cd3a2b143e55 +SIZE (dvdisaster-0.79.5.tar.gz) = 9722312 Index: sysutils/dvdisaster/files/DEVICES.html.in =================================================================== --- /dev/null +++ sysutils/dvdisaster/files/DEVICES.html.in @@ -0,0 +1,80 @@ +

Useful hints for dvdisaster

+ +

Device access

+ +

dvdisaster tries to read /dev/pass* to list available optical drives, +so it will not detect any available drives if the user running +dvdisaster does not have permissions to read /dev/pass*.

+ +

The solution is to create the file /etc/devfs.rules, containing +something like the following.

+ +
    [localrules=10]
+    add path 'pass*' mode 0775 group mygroup
+
+ +

You also need to add this line to /etc/rc.conf:

+ +
    devfs_system_ruleset="localrules"
+
+ +

You can use anything you like for localrules, and the number does not have to be 10. +See devfs.rules(5) for more details.

+ +

If /etc/devfs.rules already exists, add the line starting add to the section for the ruleset +mentioned in /etc/rc.conf.

+ +

For this to take effect, either reboot, or issue the command:

+ +
    # service devfs restart
+
+ +

as root.

+ +

Missing optical drives

+ +

The most common problem encountered is that dvdisaster does not detect +optical drives on older versions of FreeBSD.

+ +

FreeBSD 9.x does not pre-install a uniform CD-ROM driver for SCSI and +ATAPI drives, thus it cannot use any ATAPI drives in an out-of-the-box +FreeBSD 9.x installation. Normally, this can be fixed by loading a +kernel module called atapicam.

+ +

Loading the atapicam kernel module by hand

+ +

To manually load the required kernel module, issue the command:

+ +
    # kldload atapicam
+
+ +

To see if any optical drives are available:

+ +
    # camcontrol devlist
+    <NAME OF YOUR DRIVE>           at scbus1 target 0 lun 0 (pass0,cd0)
+
+ +

Loading the atapicam kernel module permanently

+ +

If the above step works, the module can be loaded automatically at boot time by adding +the line:

+ +
    atapicam_load="YES"
+
+ +

to the file /boot/loader.conf.

+ +

Building the atapicam module

+ +

If the atapicam kernel module is not available (check the contents +of /boot/kernel) you will need to recompile the kernel with the following +additional device line in the kernel configuration:

+ +
    device atapicam
+
+ +

This will actually build the module into the kernel. To build it separately, +see make.conf(5).

+ +

The devices ata, scbus, cd, and pass are also required, but are included by +default in FreeBSD 6.0 and later.

Index: sysutils/dvdisaster/files/DEVICES.md.in =================================================================== --- /dev/null +++ sysutils/dvdisaster/files/DEVICES.md.in @@ -0,0 +1,76 @@ +Useful hints for dvdisaster +=========================== + +Device access +------------- +dvdisaster tries to read `/dev/pass*` to list available optical drives, +so it will not detect any available drives if the user running +dvdisaster does not have permissions to read `/dev/pass*`. + +The solution is to create the file `/etc/devfs.rules`, containing +something like the following. + + [localrules=10] + add path 'pass*' mode 0775 group mygroup + +You also need to add this line to `/etc/rc.conf`: + + devfs_system_ruleset="localrules" + +You can use anything you like for `localrules`, and the number does not have to be `10`. +See `devfs.rules(5)` for more details. + +If `/etc/devfs.rules` already exists, add the line starting `add` to the section for the ruleset +mentioned in `/etc/rc.conf`. + +For this to take effect, either reboot, or issue the command: + + # service devfs restart + +as root. + +Missing optical drives +---------------------- + +The most common problem encountered is that dvdisaster does not detect +optical drives on older versions of FreeBSD. + +FreeBSD 9.x does not pre-install a uniform CD-ROM driver for SCSI and +ATAPI drives, thus it cannot use any ATAPI drives in an out-of-the-box +FreeBSD 9.x installation. Normally, this can be fixed by loading a +kernel module called `atapicam`. + +### Loading the `atapicam` kernel module by hand + +To manually load the required kernel module, issue the command: + + # kldload atapicam + +To see if any optical drives are available: + + # camcontrol devlist + at scbus1 target 0 lun 0 (pass0,cd0) + +### Loading the `atapicam` kernel module permanently + +If the above step works, the module can be loaded automatically at boot time by adding +the line: + + atapicam_load="YES" + +to the file `/boot/loader.conf`. + +### Building the `atapicam` module + +If the atapicam kernel module is not available (check the contents +of /boot/kernel) you will need to recompile the kernel with the following +additional device line in the kernel configuration: + + device atapicam + +This will actually build the module into the kernel. To build it separately, +see `make.conf(5)`. + +The devices `ata`, `scbus`, `cd`, and `pass` are also required, but are included by +default in FreeBSD 6.0 and later. + Index: sysutils/dvdisaster/files/patch-icon-factory.c =================================================================== --- /dev/null +++ sysutils/dvdisaster/files/patch-icon-factory.c @@ -0,0 +1,11 @@ +--- icon-factory.c.orig 2019-03-06 11:28:20 UTC ++++ icon-factory.c +@@ -20,6 +20,8 @@ + * along with dvdisaster. If not, see . + */ + ++#define GDK_PIXBUF_VERSION_MIN_REQUIRED GDK_PIXBUF_VERSION_2_30 ++ + #include "dvdisaster.h" + + #include "inlined-icons.h" Index: sysutils/dvdisaster/files/patch-locale_pt__BR.po =================================================================== --- /dev/null +++ sysutils/dvdisaster/files/patch-locale_pt__BR.po @@ -0,0 +1,11 @@ +--- locale/pt_BR.po.orig 2019-03-06 10:42:22 UTC ++++ locale/pt_BR.po +@@ -11,7 +11,7 @@ msgstr "" + "PO-Revision-Date: 2010-06-09 11:13+0200\n" + "Last-Translator: cg \n" + "Language-Team: Portuguese\n" +-"Language: \n" ++"Language: Portuguese\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" Index: sysutils/dvdisaster/files/patch-locale_ru.po =================================================================== --- /dev/null +++ sysutils/dvdisaster/files/patch-locale_ru.po @@ -0,0 +1,11 @@ +--- locale/ru.po.orig 2019-03-06 10:41:55 UTC ++++ locale/ru.po +@@ -13,7 +13,7 @@ msgstr "" + "PO-Revision-Date: 2009-07-23 08:11+0300\n" + "Last-Translator: Igor Gorbounov \n" + "Language-Team: Russian\n" +-"Language: \n" ++"Language: Russian\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" Index: sysutils/dvdisaster/files/patch-scripts_bash-based-configure =================================================================== --- sysutils/dvdisaster/files/patch-scripts_bash-based-configure +++ sysutils/dvdisaster/files/patch-scripts_bash-based-configure @@ -1,6 +1,6 @@ ---- scripts/bash-based-configure.orig 2014-05-28 19:22:05 UTC +--- scripts/bash-based-configure.orig 2015-12-07 20:06:50 UTC +++ scripts/bash-based-configure -@@ -126,7 +126,7 @@ case "$cfg_uname" in +@@ -127,7 +127,7 @@ case "$cfg_uname" in } ;; Index: sysutils/dvdisaster/files/pkg-message.in =================================================================== --- /dev/null +++ sysutils/dvdisaster/files/pkg-message.in @@ -0,0 +1,8 @@ +---------------------------------------------------------------------- +If there are problems detecting optical drives, please see the files +DEVICES.md or DEVICES.html in the directory: + %%DOCSDIR%% + +Note that the documentation option (DOCS) must be selected for these +files to be installed. +---------------------------------------------------------------------- Index: sysutils/dvdisaster/pkg-descr =================================================================== --- sysutils/dvdisaster/pkg-descr +++ sysutils/dvdisaster/pkg-descr @@ -1,4 +1,3 @@ -The dvdisaster project: dvdisaster provides a margin of safety against data loss on CD and DVD media caused by aging or scratches. @@ -17,4 +16,4 @@ you have a good chance of recovering the medium contents from typical read errors and to transfer your complete data onto a new medium. -WWW: http://dvdisaster.net/ +WWW: http://www.bobeager.uk/software.html Index: sysutils/dvdisaster/pkg-message =================================================================== --- sysutils/dvdisaster/pkg-message +++ /dev/null @@ -1,43 +0,0 @@ -=============================================================================== - -dvdisaster has been installed. - -Note that dvdisaster tries to read /dev/pass* to list available CD/DVD drives, -so the program will not detect any available drives if the user running -dvdisaster does not have permissions to read /dev/pass* - -FreeBSD 9.x does not pre-install an uniform CD-ROM driver for SCSI and ATAPI -drives. Therefore dvdisaster cannot use any ATAPI drives in an out-of-the-box -FreeBSD 9.x installation. - -* Loading the atapicam kernel module by hand - -To manually load the required kernel module, do: - -root@freebsd# kldload atapicam - -Use the follwing command to see if any CD/DVD/BD drives became available: - -root@freebsd# camcontrol devlist - at scbus1 target 0 lun 0 (pass0,cd0) - -* (Optionally) loading the atapicam kernel module permanently - -If the above step works you can load the kernel module at boot time by adding - -atapicam_load="YES" - -at the end of /boot/loader.conf - -* (Optionally) recompiling the kernel - -If the atapicam kernel module is not available (check the contents -of /boot/kernel) you will need to recompile the kernel with the following -additional device line in the kernel configuration: - -device atapicam - -The devices ata, scbus, cd, and pass are also required, but are included by -default in FreeBSD 6.0 and later. - -=============================================================================== Index: sysutils/dvdisaster/pkg-plist =================================================================== --- sysutils/dvdisaster/pkg-plist +++ sysutils/dvdisaster/pkg-plist @@ -1,11 +1,11 @@ bin/dvdisaster -man/cs/man1/dvdisaster.1.gz man/de/man1/dvdisaster.1.gz -man/it/man1/dvdisaster.1.gz man/man1/dvdisaster.1.gz +share/applications/dvdisaster.desktop +share/pixmaps/dvdisaster48.png %%NLS%%share/locale/cs/LC_MESSAGES/dvdisaster.mo %%NLS%%share/locale/de/LC_MESSAGES/dvdisaster.mo %%NLS%%share/locale/it/LC_MESSAGES/dvdisaster.mo +%%NLS%%share/locale/pt_BR/LC_MESSAGES/dvdisaster.mo %%NLS%%share/locale/ru/LC_MESSAGES/dvdisaster.mo %%NLS%%share/locale/sv/LC_MESSAGES/dvdisaster.mo -%%NLS%%share/locale/pt_BR/LC_MESSAGES/dvdisaster.mo