diff options
author | Kai Knoblich <kai@FreeBSD.org> | 2019-04-07 21:00:25 +0000 |
---|---|---|
committer | Kai Knoblich <kai@FreeBSD.org> | 2019-04-07 21:00:25 +0000 |
commit | 37406deaa63059a36ec44a2d6c4312a446bb4c40 (patch) | |
tree | c85d5ee447947c068258f18b20cdd60b18041e82 /sysutils/dvdisaster | |
parent | 876632143150b4b922243f1eab9fd17f2555eeda (diff) | |
download | ports-37406deaa63059a36ec44a2d6c4312a446bb4c40.tar.gz ports-37406deaa63059a36ec44a2d6c4312a446bb4c40.zip |
sysutils/dvdisaster: Update to 0.79.5
* Pass maintainership to submitter
* Switch to new MASTER_SITES as the previous one ceased to exist
* Switch to GCC as upstream officially supports GCC only (it still compiles
with CLANG if appropriate patching of the GNUMakefile is used. But the
chances are somewhat higher that it might introduce subtle errors during
runtime because some valid statements are optimized out by CLANG)
* Add desktop and icon file
* Add missing library dependencies
* Add additional documentation that describes how dvdisaster accesses
optical drives with FreeBSD
* Add more information to pkg-message and make it dynamic
* Include two patches from Debian that fix the missing language fields with
.po files. [1]
* Remove debug options that are not really useful for end users
* Remove redundant configure script arguments
* Remove redundant do-configure target
* Sort pkg-plist
While I'm here:
* Fix the license
* Simplify the makefile targets further by using only option helpers and
thus remove the need for <bsd.port.{pre,post}.mk>
Changelog since 0.72.6 (summary):
The most prominent feature of this version is that the multithreaded RS03
codec reached production quality, and all required features have been
implemented.
A few things will be added with the next releases:
* Adaptive reading is currently disabled as it does not support RS03 yet and
would crash or misbehave on RS03 error correction data
* A heuristic for an exhaustive re-discovery of RS03 structures in a badly
damaged medium is missing in the decoder
But these things should not keep you from using RS03, as the encoder is
complete and future decoder enhancements do not affect already created RS03
data.
0.79.4 (07-10-2012 / not released)
* Optical drives would only be detected for /dev/pass[0-9] on FreeBSD. Fixed
to work with arbitrary /dev/pass numbers.
* Blocked menu selection when any other action is in progress
* Made actions properly shut down (e.g. remove incomplete ecc data) when
closing the window or pushing the "Quit" button.
* Changed sources for clean compile on gcc 4.4.3
* Added #include <zlib.h> for libpng 1.5 compatibility
* Introduced internal Image object for unified access to optical media and
on disk ISO images; lots of internal changes and fixes due to that
* Added --ignore-iso-size option
* Fixed bug in pngpack
* Added remaining patches for Czech online manual.
* More comprehensive and unified version information for banner, --version,
log window and log file to aid in working on bug reports
* Hardcoded icons to defeat theming
* Changed glib.h include for compatibility with glib 2.32
* Removed Darwin / Mac OS X support
* Synced with dvdisaster 0.72.4 fixes
* Completed RS01 and RS03 specification in the papers subdir
0.79.3 (21-11-2010)
* Fixed and documented -n command line options for RS02.
* Reworked configure for current NetBSD release
PR: 236423
Submitted by: Bob Eager <bob@eager.cx>
Approved by: tcberner (mentor)
Obtained from: Debian [1]
Differential Revision: https://reviews.freebsd.org/D19807
Notes
Notes:
svn path=/head/; revision=498334
Diffstat (limited to 'sysutils/dvdisaster')
-rw-r--r-- | sysutils/dvdisaster/Makefile | 91 | ||||
-rw-r--r-- | sysutils/dvdisaster/distinfo | 5 | ||||
-rw-r--r-- | sysutils/dvdisaster/files/DEVICES.html.in | 80 | ||||
-rw-r--r-- | sysutils/dvdisaster/files/DEVICES.md.in | 76 | ||||
-rw-r--r-- | sysutils/dvdisaster/files/patch-icon-factory.c | 11 | ||||
-rw-r--r-- | sysutils/dvdisaster/files/patch-locale_pt__BR.po | 12 | ||||
-rw-r--r-- | sysutils/dvdisaster/files/patch-locale_ru.po | 12 | ||||
-rw-r--r-- | sysutils/dvdisaster/files/pkg-message.in | 8 | ||||
-rw-r--r-- | sysutils/dvdisaster/pkg-descr | 3 | ||||
-rw-r--r-- | sysutils/dvdisaster/pkg-message | 43 | ||||
-rw-r--r-- | sysutils/dvdisaster/pkg-plist | 6 |
11 files changed, 236 insertions, 111 deletions
diff --git a/sysutils/dvdisaster/Makefile b/sysutils/dvdisaster/Makefile index 4f0d225ea4b4..d22b72b3c4c3 100644 --- a/sysutils/dvdisaster/Makefile +++ b/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 <bsd.port.pre.mk> - 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 <bsd.port.post.mk> +post-install-DOCS-on: + ${INSTALL_MAN} ${WRKDIR}/DEVICES.md ${STAGEDIR}${DOCSDIR} + ${INSTALL_MAN} ${WRKDIR}/DEVICES.html ${STAGEDIR}${DOCSDIR} + +.include <bsd.port.mk> diff --git a/sysutils/dvdisaster/distinfo b/sysutils/dvdisaster/distinfo index c1f0b0b1e595..ff8ceb3f0e0b 100644 --- a/sysutils/dvdisaster/distinfo +++ b/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 diff --git a/sysutils/dvdisaster/files/DEVICES.html.in b/sysutils/dvdisaster/files/DEVICES.html.in new file mode 100644 index 000000000000..d82677ea971d --- /dev/null +++ b/sysutils/dvdisaster/files/DEVICES.html.in @@ -0,0 +1,80 @@ +<h1>Useful hints for dvdisaster</h1> + +<h2>Device access</h2> + +<p>dvdisaster tries to read <code>/dev/pass*</code> to list available optical drives, +so it will not detect any available drives if the user running +dvdisaster does not have permissions to read <code>/dev/pass*</code>.</p> + +<p>The solution is to create the file <code>/etc/devfs.rules</code>, containing +something like the following.</p> + +<pre><code> [localrules=10] + add path 'pass*' mode 0775 group mygroup +</code></pre> + +<p>You also need to add this line to <code>/etc/rc.conf</code>:</p> + +<pre><code> devfs_system_ruleset="localrules" +</code></pre> + +<p>You can use anything you like for <code>localrules</code>, and the number does not have to be <code>10</code>. +See <code>devfs.rules(5)</code> for more details.</p> + +<p>If <code>/etc/devfs.rules</code> already exists, add the line starting <code>add</code> to the section for the ruleset +mentioned in <code>/etc/rc.conf</code>.</p> + +<p>For this to take effect, either reboot, or issue the command:</p> + +<pre><code> # service devfs restart +</code></pre> + +<p>as root.</p> + +<h2>Missing optical drives</h2> + +<p>The most common problem encountered is that dvdisaster does not detect +optical drives on older versions of FreeBSD.</p> + +<p>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 <code>atapicam</code>.</p> + +<h3>Loading the <code>atapicam</code> kernel module by hand</h3> + +<p>To manually load the required kernel module, issue the command:</p> + +<pre><code> # kldload atapicam +</code></pre> + +<p>To see if any optical drives are available:</p> + +<pre><code> # camcontrol devlist + <NAME OF YOUR DRIVE> at scbus1 target 0 lun 0 (pass0,cd0) +</code></pre> + +<h3>Loading the <code>atapicam</code> kernel module permanently</h3> + +<p>If the above step works, the module can be loaded automatically at boot time by adding +the line:</p> + +<pre><code> atapicam_load="YES" +</code></pre> + +<p>to the file <code>/boot/loader.conf</code>.</p> + +<h3>Building the <code>atapicam</code> module</h3> + +<p>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:</p> + +<pre><code> device atapicam +</code></pre> + +<p>This will actually build the module into the kernel. To build it separately, +see <code>make.conf(5)</code>.</p> + +<p>The devices <code>ata</code>, <code>scbus</code>, <code>cd</code>, and <code>pass</code> are also required, but are included by +default in FreeBSD 6.0 and later.</p> diff --git a/sysutils/dvdisaster/files/DEVICES.md.in b/sysutils/dvdisaster/files/DEVICES.md.in new file mode 100644 index 000000000000..839886b3878c --- /dev/null +++ b/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 + <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. + diff --git a/sysutils/dvdisaster/files/patch-icon-factory.c b/sysutils/dvdisaster/files/patch-icon-factory.c new file mode 100644 index 000000000000..8b0eef55ecef --- /dev/null +++ b/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 <http://www.gnu.org/licenses/>. + */ + ++#define GDK_PIXBUF_VERSION_MIN_REQUIRED GDK_PIXBUF_VERSION_2_30 ++ + #include "dvdisaster.h" + + #include "inlined-icons.h" diff --git a/sysutils/dvdisaster/files/patch-locale_pt__BR.po b/sysutils/dvdisaster/files/patch-locale_pt__BR.po new file mode 100644 index 000000000000..daba989e3903 --- /dev/null +++ b/sysutils/dvdisaster/files/patch-locale_pt__BR.po @@ -0,0 +1,12 @@ +Taken from Debian "13-fix-missing-language-field-in-po-files.patch" +--- 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 <cg@dvdisaster.org>\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" diff --git a/sysutils/dvdisaster/files/patch-locale_ru.po b/sysutils/dvdisaster/files/patch-locale_ru.po new file mode 100644 index 000000000000..2bfe02b92f54 --- /dev/null +++ b/sysutils/dvdisaster/files/patch-locale_ru.po @@ -0,0 +1,12 @@ +Taken from Debian "13-fix-missing-language-field-in-po-files.patch" +--- 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 <igor.gorbounov@gmail.com>\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" diff --git a/sysutils/dvdisaster/files/pkg-message.in b/sysutils/dvdisaster/files/pkg-message.in new file mode 100644 index 000000000000..29dbe67a15bb --- /dev/null +++ b/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. +---------------------------------------------------------------------- diff --git a/sysutils/dvdisaster/pkg-descr b/sysutils/dvdisaster/pkg-descr index de74d9afdd6f..3a6cf9489304 100644 --- a/sysutils/dvdisaster/pkg-descr +++ b/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 @@ If you create the error correction data in time and keep it at a safe place, 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 diff --git a/sysutils/dvdisaster/pkg-message b/sysutils/dvdisaster/pkg-message deleted file mode 100644 index 53d552a16433..000000000000 --- a/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 -<NAME OF YOUR DRIVE> 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. - -=============================================================================== diff --git a/sysutils/dvdisaster/pkg-plist b/sysutils/dvdisaster/pkg-plist index e4a7efe1ac2a..add15479e371 100644 --- a/sysutils/dvdisaster/pkg-plist +++ b/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 |