Bug 177492 - [New Port] graphics/multiraw (replace prev)
Summary: [New Port] graphics/multiraw (replace prev)
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Matthias Andree
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-30 04:40 UTC by Waitman Gobble
Modified: 2014-01-14 15:00 UTC (History)
0 users

See Also:


Attachments
multiraw.shar.txt (3.39 KB, text/plain)
2013-03-30 04:40 UTC, Waitman Gobble
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Waitman Gobble 2013-03-30 04:40:00 UTC
This replaces ports/177482, (dcraw-m was split into ports/177490)
Typically a polyhedral optimizer is used to create an automatically
parallelized binary of dcraw, which may or may not be efficient. The 
strategy in multiraw.c is to consider an entire photoshoot of perhaps 100, 
200, 300 photos, and to process them in parallel as quickly as possible using
all available processors, if so desired. This program will analyze the task 
requested and split up the work into optimal threads to complete the job as 
quickly as possible. The user may also specify the number of threads.

multiraw.c is used to process Camera Raw files in parallel on multi-core 
machines. 

Thank you.
Comment 1 Jason Helfman freebsd_committer freebsd_triage 2013-03-30 05:23:40 UTC
Responsible Changed
From-To: freebsd-ports-bugs->jgh

I'll take it.
Comment 2 Jason Helfman freebsd_committer freebsd_triage 2013-06-09 04:42:33 UTC
Responsible Changed
From-To: jgh->freebsd-ports-bugs

back to the heap
Comment 3 Matthias Andree freebsd_committer freebsd_triage 2014-01-14 02:08:07 UTC
Responsible Changed
From-To: freebsd-ports-bugs->mandree

I'll take it.
Comment 4 waitman 2014-01-14 06:49:22 UTC
On Tue, January 14, 2014 1:46 am, Matthias Andree wrote:
> I am about to commit your port.  Do note that "multiraw -v -a /dev/null"
> causes a floating point exception and a core dump here - might be an
> unhandled division by zero, but I did not check closer.
>
> You are invited to see that this issue gets fixed and then file a new PR
> with a port upgrade, in the future.
>
> Thank you for your contributions (including dcraw-m)!
>
>

Thank you, I'll take a look at it and update.

-- 
Waitman Gobble
San Jose California USA
+1.510-830-7975
Comment 5 dfilter service freebsd_committer freebsd_triage 2014-01-14 09:45:03 UTC
Author: mandree
Date: Tue Jan 14 09:44:54 2014
New Revision: 339672
URL: http://svnweb.freebsd.org/changeset/ports/339672

Log:
  Add new port graphics/multiraw, a parallel-execution batch converter for
  camera raw format photographs using pthreads.
  
  Multiraw uses the graphics/dcraw-m or graphics/dcraw ports and their
  executables.  dcraw-m is a modified version of dcraw which automatically
  rotates exported thumbnails and has a camera timezone offset adjustment
  variable.
  
  WWW: https://dx.burplex.com/bin/multiraw.html
  
  PR:		ports/177492
  Submitted by:	Waitman Gobble <uzimac@da3m0n8t3r.com>

Added:
  head/graphics/multiraw/
  head/graphics/multiraw/Makefile   (contents, props changed)
  head/graphics/multiraw/distinfo   (contents, props changed)
  head/graphics/multiraw/pkg-descr   (contents, props changed)
Modified:
  head/graphics/Makefile

Modified: head/graphics/Makefile
==============================================================================
--- head/graphics/Makefile	Tue Jan 14 09:43:24 2014	(r339671)
+++ head/graphics/Makefile	Tue Jan 14 09:44:54 2014	(r339672)
@@ -590,6 +590,7 @@
     SUBDIR += mscgen
     SUBDIR += mtpaint
     SUBDIR += multican
+    SUBDIR += multiraw
     SUBDIR += mupdf
     SUBDIR += mxp
     SUBDIR += mypaint

Added: head/graphics/multiraw/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/multiraw/Makefile	Tue Jan 14 09:44:54 2014	(r339672)
@@ -0,0 +1,55 @@
+# Created by: "Waitman Gobble" <uzimac@da3m0n8t3r.com>
+# $FreeBSD$
+# New ports collection makefile for: multiraw
+# Date created: 29 March 2013
+
+PORTNAME=	multiraw
+PORTVERSION=	1.0
+CATEGORIES=	graphics
+MASTER_SITES=	GH
+DISTNAME=	${GH_ACCOUNT}-${GH_PROJECT}-${PORTVERSION}-0-g${GH_COMMIT}
+
+MAINTAINER=	waitman@waitman.net
+COMMENT=	Parallel process Camera RAW files using pthreads
+
+LICENSE=	MULTIRAW
+LICENSE_NAME=	MULTIRAW BSD LICENSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+LICENSE_PERMS=	${_LICENSE_PERMS_DEFAULT}
+
+RUN_DEPENDS=	${LOCALBASE}/bin/dcraw:${PORTSDIR}/graphics/dcraw \
+		${LOCALBASE}/bin/dcraw-m:${PORTSDIR}/graphics/dcraw-m
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	waitman
+GH_PROJECT=	multiraw
+GH_COMMIT=	71a7651
+GH_TAGNAME=	${GH_COMMIT}
+
+WRKSRC=		${WRKDIR}/waitman-multiraw-${GH_COMMIT}
+
+PLIST_FILES=	bin/multiraw man/man7/multiraw.7.gz
+PORTDOCS=	*
+
+WITH_PTHREAD=	yes
+
+OPTIONS_DEFINE=	OPTIMIZE_O3
+OPTIMIZE_O3_DESC=	Use O3 Optimization
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MOPTIMIZE_O3}
+CFLAGS+=	-O3
+.endif
+
+CFLAGS+=	-std=c99 -pthread
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/multiraw ${STAGEDIR}${PREFIX}/bin/
+	${INSTALL_MAN}     ${WRKSRC}/multiraw.7 ${STAGEDIR}${PREFIX}/man/man7/
+.if ${PORT_OPTIONS:MDOCS}
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR}
+.endif
+
+.include <bsd.port.mk>

Added: head/graphics/multiraw/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/multiraw/distinfo	Tue Jan 14 09:44:54 2014	(r339672)
@@ -0,0 +1,2 @@
+SHA256 (waitman-multiraw-1.0-0-g71a7651.tar.gz) = cc62eb00fa067d05f6853e578c68f1f6ade7eb9962c3cdb86187cd4889b89bb2
+SIZE (waitman-multiraw-1.0-0-g71a7651.tar.gz) = 4262

Added: head/graphics/multiraw/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/multiraw/pkg-descr	Tue Jan 14 09:44:54 2014	(r339672)
@@ -0,0 +1,23 @@
+Processing Camera Raw files to JPEG, TIFF, or PPM formats is extremely time 
+intensive. Utilizing multiple threads on multi-core systems can realize an 
+increase of productivity and time savings of 60%.
+
+The multiraw.c program allows the user to batch convert Camera Raw format files
+in parallel using pthreads. The user may specify the number of threads to run,
+or they may use the Auto Thread switch which will cause the software to
+determine the appropriate number of threads based on the task requested.
+By default, multiraw.c calls dcraw-m, which is included. If the user wishes
+to use the unmodified dcraw program, it may be specified using the -o switch.
+
+Use the -n switch to specify number of threads, or use -a to instruct the 
+software to automatically determine the optimal number of threads to use 
+depending on the commanded task.
+
+multiraw uses dcraw-m, a modified version of dcraw which automatically 
+rotates exported thumbnails and has a camera timezone offset adjustment
+variable.
+
+WWW:
+https://dx.burplex.com/bin/multiraw.html
+https://dx.burplex.com/bin/autorot.html
+https://dx.burplex.com/bin/photohack.html
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 6 Matthias Andree 2014-01-14 09:46:42 UTC
I am about to commit your port.  Do note that "multiraw -v -a /dev/null"
causes a floating point exception and a core dump here - might be an
unhandled division by zero, but I did not check closer.

You are invited to see that this issue gets fixed and then file a new PR
with a port upgrade, in the future.

Thank you for your contributions (including dcraw-m)!
Comment 7 Matthias Andree freebsd_committer freebsd_triage 2014-01-14 09:48:17 UTC
State Changed
From-To: open->closed

Committed, with minor changes - note that GH_TAGNAME=master is invalid, 
I have used ${GH_COMMIT} instead, which makes sure that the tarball 
remains the same even if you push new commits to Github. Else the first 
new commit would break the checksum and fetching.