1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-23 04:23:08 +00:00

Unbreak and upgrade to new upstream release 14.02.2.

Based on a patch to upgrade to 14.01.1 by Rainer Hurling,
based on a patch to upgrade to 13.03.1 by Rod Person.

Rainer's changes:
- new mastersite; 2nd mastersites contents has to be updated
- unbreak the port
- modernize LIB_DEPENDS
- support STAGE_DIR
- strip bin/fotoxx
- correct usage of desktop-file-utils
- update URL in pkg-descr
- update pkg-plist

Committer's changes:
- work around fetch(1)/nginx incompatibility making fetch commands with
  unmerged fix r261263 (and ancestors) unable to fetch from the primary
  site.
- add USES=pkgconfig
- add mirror sites
- fix installation of manfile
- fix paths in desktop file
- stop using xdg-desktop-menu for now, breaks the build and does not
  appear to be required

PR:		ports/177643
Submitted by:	Rod Person, Rainer Hurling
This commit is contained in:
Matthias Andree 2014-02-07 01:01:37 +00:00
parent 24215aa71a
commit 92500c08eb
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=343178
13 changed files with 474 additions and 369 deletions

View File

@ -2,36 +2,59 @@
# $FreeBSD$
PORTNAME= fotoxx
PORTVERSION= 11.03
PORTREVISION= 2
PORTVERSION= 14.02.2
CATEGORIES= graphics
MASTER_SITES= http://kornelix.squarespace.com/downloads/ \
http://www.rodperson.com/DL/
MASTER_SITES= http://www.kornelix.com/uploads/1/3/0/3/13035936/ \
LOCAL/mandree
MAINTAINER= ports@FreeBSD.org
COMMENT= Application to organize and edit image collections
BROKEN= Does not fetch, but see PR 177643
LICENSE= GPLv3
LIB_DEPENDS= execinfo.1:${PORTSDIR}/devel/libexecinfo
LIB_DEPENDS= libexecinfo.so:${PORTSDIR}/devel/libexecinfo
RUN_DEPENDS= xdg-open:${PORTSDIR}/devel/xdg-utils \
ufraw-batch:${PORTSDIR}/graphics/ufraw \
exiftool:${PORTSDIR}/graphics/p5-Image-ExifTool
exiftool:${PORTSDIR}/graphics/p5-Image-ExifTool \
dcraw:${PORTSDIR}/graphics/dcraw
USE_GNOME= gtk20
USE_GMAKE= yes
MANCOMPRESSED= yes
MAN1= fotoxx.1
USES= gmake desktop-file-utils pkgconfig
USE_GNOME= gtk30
ALL_TARGET= fotoxx
INSTALL_TARGET= install manpage
INSTALL_TARGET= install MANDIR=${PREFIX}/man/man1/
LDFLAGS+= -O3 -g -Wall -rdynamic -lexecinfo
NO_STAGE= yes
post-patch:
@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
${WRKSRC}/Makefile \
${WRKSRC}/dependencies.sh
@# drop xdg-desktop-menu calls, they fail
${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
-e '/xdg-desktop-menu/d' \
-e '/rm -f -R/d' \
${WRKSRC}/Makefile
@# replace obsolete include files
${REINPLACE_CMD} -e 's|<malloc.h>|<stdlib.h>|' \
${WRKSRC}/zfuncs.h
@# fix up icon path in XDG .desktop file
${REINPLACE_CMD} -e 's}/usr/share/fotoxx}${DATADIR}}' \
${WRKSRC}/desktop
.include <bsd.port.mk>
post-install:
${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/fotoxx
.include <bsd.port.pre.mk>
# These hacks are required because the nginx server at the primary
# master site and most of our fetch(1) versions do not get along well.
# This code can be removed once r261263 has been merged from
# base/head into all ports-supported releases.
# We depend on cURL unless wget is in $LOCALPATH:
DISABLE_SIZE= yes
.if exists(${LOCALBASE}/bin/wget) && !exists(${PREFIX}/bin/curl)
FETCH_CMD= ${LOCALBASE}/bin/wget -c -nc
.else
FETCH_DEPENDS= curl:${PORTSDIR}/ftp/curl
FETCH_CMD= ${PREFIX}/bin/curl -OL0C -
.endif
.include <bsd.port.post.mk>

View File

@ -1,2 +1,2 @@
SHA256 (fotoxx-11.03.tar.gz) = c23e6b7c5517d1509b14a270bd2ad2af6fd2de613e55e79104f77d1748492577
SIZE (fotoxx-11.03.tar.gz) = 1152890
SHA256 (fotoxx-14.02.2.tar.gz) = 60b6d9e8a5f19bc92b53d585cb36795d951c7a6d2d0bd1bd30ae3ca0465ed767
SIZE (fotoxx-14.02.2.tar.gz) = 2715089

View File

@ -1,26 +1,15 @@
--- Makefile.orig 2011-02-28 17:04:24.000000000 +0100
+++ Makefile 2011-05-25 17:26:15.000000000 +0200
@@ -15,13 +15,12 @@
--- ./Makefile.orig 2014-02-05 20:42:34.000000000 +0100
+++ ./Makefile 2014-02-06 10:32:37.000000000 +0100
@@ -3,9 +3,9 @@
FOTOXX = fotoxx-14.02.2.cc
# defaults for parameters that may be pre-defined
-CXXFLAGS ?= -O2 -Wall -ggdb
-LDFLAGS ?= -rdynamic
-PREFIX ?= /usr
+CXXFLAGS ?= -O3 -g -Wall
+LDFLAGS ?= -O3 -g -Wall -rdynamic
+PREFIX ?= $(LOCALBASE)
# target install directories
BINDIR = $(PREFIX)/bin
DATADIR = $(PREFIX)/share/$(PROGRAM)
DOCDIR = $(PREFIX)/share/doc/$(PROGRAM)
-MANDIR = $(PREFIX)/share/man/man1
+MANDIR = $(PREFIX)/man/man1
ICONDIR = $(DATADIR)/icons
DESKTOP = $(DATADIR)/kornelix-$(PROGRAM).desktop
$(PROGRAM): $(PROGRAM).o zfuncs.o
$(CXX) $(LFLAGS) -ltiff -o $(PROGRAM) $(PROGRAM).o zfuncs.o
- @ ./dependencies.sh
$(PROGRAM).o: $(SOURCE)
$(CXX) $(CFLAGS) -o $(PROGRAM).o $(SOURCE) \
@@ -42,8 +41,6 @@
cp -f icons/* $(DESTDIR)$(ICONDIR)
cp -f -R locales/* $(DESTDIR)$(DATADIR)/locales
cp -f $(PROGRAM) $(DESTDIR)$(BINDIR)
- @ echo use make menu to install desktop menu
- @ echo use make manpage to install man page
menu:
cp -f desktop $(DESTDIR)$(DESKTOP)

View File

@ -1,37 +0,0 @@
--- dependencies.sh.orig 2011-02-28 11:04:24.000000000 -0500
+++ dependencies.sh 2011-03-28 08:52:03.000000000 -0400
@@ -1,4 +1,4 @@
-#! /bin/bash
+#!/bin/sh
#
# Check if dependencies are installed before build.
#
@@ -7,15 +7,15 @@
# but they are required at run time to handle EXIF data
# and RAW files from digital cameras.
-dlist=" g++ /usr/include/gtk-2.0/gtk/gtk.h
- /usr/include/tiffio.h /usr/lib*/libtiff.so
- xdg-open xdg-desktop-menu exiftool"
+dlist=" /usr/local/include/gtk-2.0/gtk/gtk.h
+ /usr/local/include/tiffio.h /usr/local/lib/libtiff.so
+ /usr/local/bin/xdg-open /usr/local/bin/xdg-desktop-menu /usr/local/bin/exiftool"
error=0
for dname in $dlist
do
- if [ ${dname:0:1} = "/" ]
+ if [ ${dname#/*} = ${dname} ]
then find $dname >/dev/null 2>&1
else which $dname >/dev/null
fi
@@ -40,7 +40,7 @@
for dname in $dlist
do
- if [ ${dname:0:1} = "/" ]
+ if [ ${dname#/*} = ${dname} ]
then find $dname >/dev/null 2>&1
else which $dname >/dev/null
fi

View File

@ -0,0 +1,10 @@
--- ./f.file.cc.orig 2014-02-05 20:42:34.000000000 +0100
+++ ./f.file.cc 2014-02-06 10:32:37.000000000 +0100
@@ -23,6 +23,7 @@
#define EX extern // disable extern declarations
#include "fotoxx.h"
+#include <sys/wait.h>
/**************************************************************************
Fotoxx image edit - file menu functions

View File

@ -0,0 +1,46 @@
--- ./f.meta.cc.orig 2014-02-05 20:42:34.000000000 +0100
+++ ./f.meta.cc 2014-02-06 10:32:37.000000000 +0100
@@ -23,6 +23,7 @@
#define EX extern // enable extern declarations
#include "fotoxx.h"
+#include <sys/wait.h>
/**************************************************************************
@@ -5786,7 +5787,7 @@
strcpy(sxrec.size,"null");
if (! sxrec.tags)
- sxrec.tags = strdupz("null"tagdelimB,0,"search-index");
+ sxrec.tags = strdupz("null" tagdelimB,0,"search-index");
if (! sxrec.capt)
sxrec.capt = strdupz("null",0,"search-index");
@@ -5993,7 +5994,7 @@
if (sxrec->tags)
nn = fprintf(fid2,"tags: %s\n",sxrec->tags); // tags rec.
- else nn = fprintf(fid2,"tags: null"tagdelimB"\n");
+ else nn = fprintf(fid2,"tags: null" tagdelimB"\n");
if (! nn) goto file_err;
if (sxrec->capt)
@@ -6147,7 +6148,7 @@
strcpy(sxrec.size,"null");
if (! sxrec.tags)
- sxrec.tags = strdupz("null"tagdelimB,0,"search-index");
+ sxrec.tags = strdupz("null" tagdelimB,0,"search-index");
if (! sxrec.capt)
sxrec.capt = strdupz("null",0,"search-index");
@@ -6259,7 +6260,7 @@
if (sxrec->tags)
nn = fprintf(fid,"tags: %s\n",sxrec->tags); // tags rec.
- else nn = fprintf(fid,"tags: null"tagdelimB"\n");
+ else nn = fprintf(fid,"tags: null" tagdelimB"\n");
if (! nn) goto file_err;
if (sxrec->capt)

View File

@ -1,52 +0,0 @@
--- fotoxx-11.03.cc.orig 2011-02-28 16:04:24.000000000 +0000
+++ fotoxx-11.03.cc 2013-03-30 08:59:16.000000000 +0000
@@ -24,6 +24,13 @@
#include <tiffio.h>
#include "zfuncs.h"
+#ifdef __FreeBSD__
+ #include <unistd.h> /* for getcwd */
+ #include <sys/types.h> /* for getpwuid */
+ #include <pwd.h> /* for getpwuid */
+ #define WEXITSTATUS(w)((w)>>8) // fixes WEXITSTATUS not declared on FreeBSD
+#endif
+
#define fversion "Fotoxx v.11.03 2011.03.01" // version and date
#define fversioncc 16 // cc to use for window title bar
#define flicense "Free software - GNU General Public License v.3"
@@ -200,7 +207,7 @@
PXM *Dpxm16 = 0; // drawing window pixmap, 1x 16-bits
PXM *Dpxm8 = 0; // drawing window pixmap, Mscale 8-bits
-mutex Fpixmap_lock; // lock for accessing PXM pixmaps
+mutex_tp Fpixmap_lock; // lock for accessing PXM pixmaps
int Fww, Fhh; // input image dimensions
int E1ww, E1hh, E3ww, E3hh; // edit image dimensions
@@ -986,7 +993,7 @@
}
if (! curr_file) { // set curr. directory anyway v.11.01
- ppv = get_current_dir_name();
+ ppv = getwd(null);
curr_dirk = strdupz(ppv,0,"curr_dirk");
free(ppv);
err = chdir(curr_dirk);
@@ -2428,7 +2435,7 @@
if (curr_file)
image_gallery(curr_file,"paint1",0,m_gallery2,mWin); // overlay main window v.10.9
else {
- char *pp = get_current_dir_name();
+ char *pp = getwd(null);
if (pp) {
image_gallery(pp,"paint1",0,m_gallery2,mWin); // use current directory v.10.9
free(pp);
@@ -5169,7 +5176,7 @@
}
*tempdir = 0; // temp directory: /tmp/<user>/fotoxx/email
- strncatv(tempdir,99,"/tmp/",cuserid(null),"/fotoxx/email",null);
+ strncatv(tempdir,99,"/tmp/",getpwuid(null),"/fotoxx/email",null);
sprintf(command,"mkdir -p %s",tempdir); // (re)create directory
err = system(command);

View File

@ -0,0 +1,116 @@
--- ./fotoxx-14.02.2.cc.orig 2014-02-05 20:42:34.000000000 +0100
+++ ./fotoxx-14.02.2.cc 2014-02-06 10:32:37.000000000 +0100
@@ -133,7 +133,8 @@
#define EX // disable extern declarations
#include "fotoxx.h"
-
+#include <sys/types.h>
+#include <sys/sysctl.h>
// fotoxx main program
@@ -451,7 +452,6 @@
char procfile[20], buff[200];
char KBshortsU[200], KBshortsI[200];
char favorites_config[200], badnews[200];
- double freememory, cachememory; // available memory at startup
float exifver = 0;
FILE *fid;
struct stat statb;
@@ -542,19 +542,12 @@
snprintf(URS_filename,200,"%s/undo_nn",tempdir); // /run/shm/fotoxx-nnnnnn/undo_nn
- // check free memory and suggest image size limits
-
- parseprocfile("/proc/meminfo","MemFree:",&freememory,null); // get amount of free memory
- parseprocfile("/proc/meminfo","Cached:",&cachememory,null);
- freememory = (freememory + cachememory) / 1024; // megabytes
- printz("free memory: %.0f MB \n",freememory);
- printz("image size limits for good performance: \n"); // v.13.04
- printz(" view: %.0f megapixels \n",(freememory-100)/6); // F + preview, 3 bytes/pixel each
- printz(" edit: %.0f megapixels \n",(freememory-100)/54); // + E0/E1/E3/ER, 12 bytes/pixel each
-
// miscellaneous
- Nwt = get_nprocs(); // get SMP CPU count
+ //Nwt = get_nprocs(); // get SMP CPU count
+ size_t len = sizeof(Nwt);
+ sysctlbyname("hw.ncpu",&Nwt,&len,NULL,0);
+
if (Nwt <= 0) Nwt = 2;
if (Nwt > max_threads) Nwt = max_threads; // compile time limit
printz("using %d threads \n",Nwt);
@@ -4321,31 +4314,6 @@
}
-/**************************************************************************/
-
-// popup a warning message if real memory is below specified threshold
-// returns margin: real memory - threshold, in megabytes
-// (+ if enough memory, - if not)
-// the popup message only appears if real memory < threshold
-// the popup message goes away after a few seconds
-
-int warn_memory(int req_mb)
-{
- double freemem, cachemem;
- int act_mb, gap_mb;
- cchar *message = ZTX("warning: real memory %d MB < required %d MB \n"
- "response time may become very long \n");
-
- parseprocfile("/proc/meminfo","MemFree:",&freemem,null); // get current free memory
- parseprocfile("/proc/meminfo","Cached:",&cachemem,null);
- act_mb = (freemem + cachemem) / 1024; // megabytes
- gap_mb = act_mb - req_mb;
- if (gap_mb > -10) return gap_mb;
- zpopup_message(message,act_mb,req_mb); // deficit > 10 MB
- return gap_mb;
-}
-
-
/**************************************************************************
PXM pixmap functions - RGB float pixel map
pixel RGB values may range from 0.0 to 255.99
@@ -4386,9 +4354,6 @@
return 0;
}
- int req_mb = ww * hh * 12 / mega; // warn if memory low
- warn_memory(req_mb);
-
PXM *pxm = (PXM *) zmalloc(sizeof(PXM),"PXM"); // 0.45 sec for 116 megapix image (1.4 GB)
pxm->ww = ww;
pxm->hh = hh;
@@ -4806,9 +4771,6 @@
PXB * PXB_make(int ww, int hh)
{
- int req_mb = ww * hh * 3 / mega; // warn if memory low
- warn_memory(req_mb);
-
PXB *pxb = (PXB *) zmalloc(sizeof(PXB),"PXB");
strcpy(pxb->wmi,"pxbpix");
pxb->pixbuf = gdk_pixbuf_new(GDKRGB,0,8,ww,hh);
@@ -4857,9 +4819,6 @@
PXB * PXB_copy(PXB *pxb1)
{
- int req_mb = pxb1->ww * pxb1->hh * 3 / mega; // warn if memory low
- warn_memory(req_mb);
-
PXB *pxb2 = (PXB *) zmalloc(sizeof(PXB),"PXB");
strcpy(pxb2->wmi,"pxbpix");
pxb2->pixbuf = gdk_pixbuf_copy(pxb1->pixbuf);
@@ -4876,9 +4835,6 @@
PXB * PXB_rescale(PXB *pxb1, int ww2, int hh2)
{
GdkPixbuf *pixbuf2 = 0;
- int req_mb = ww2 * hh2 * 3 / mega; // warn if memory low
- warn_memory(req_mb);
-
if (strEqu(interpolation,"tiles")) // v.13.05
pixbuf2 = gdk_pixbuf_scale_simple(pxb1->pixbuf,ww2,hh2,GDK_INTERP_TILES);
else if (strEqu(interpolation,"hyperbolic"))

View File

@ -0,0 +1,13 @@
--- ./fotoxx.h.orig 2014-02-05 20:42:34.000000000 +0100
+++ ./fotoxx.h 2014-02-06 10:32:37.000000000 +0100
@@ -339,8 +339,8 @@
EX int dww, dhh; // Dpxb size in drawing window, <= Dww, Dhh
EX int zoomx, zoomy; // req. zoom center of window
-EX mutex Fpixmap_lock; // lock for accessing PXM pixmaps
-EX mutex preload_lock; // lock for image file preload function
+EX mutex_tp Fpixmap_lock; // lock for accessing PXM pixmaps
+EX mutex_tp preload_lock; // lock for image file preload function
EX int Mbutton; // mouse button, 1/3 = left/right
EX int Mwxposn, Mwyposn; // mouse position, window space

View File

@ -1,137 +1,20 @@
--- zfuncs.cc.orig 2011-02-28 16:04:24.000000000 +0000
+++ zfuncs.cc 2013-03-30 09:00:04.000000000 +0000
@@ -24,6 +24,15 @@
--- ./zfuncs.cc.orig 2014-02-05 20:42:34.000000000 +0100
+++ ./zfuncs.cc 2014-02-06 10:32:37.000000000 +0100
@@ -854,7 +854,7 @@
// A mutex lock is used to insure one thread at a time has access to the parameter.
// Many parameters can be used but there is only one mutex lock.
#include "zfuncs.h"
+#ifdef __FreeBSD__
+ #include <sys/event.h>
+ #include <sys/types.h>
+ #include <sys/times.h>
+ #include <pwd.h>
+ #include <execinfo.h>
+
+ #define WEXITSTATUS(w)((w)>>8) // fixes the WEXITSTATUS not declared on FreeBSD
+#endif
/**************************************************************************
system-level utility functions
@@ -281,7 +290,7 @@
// safely access parameters from multiple threads
// limitation: one lock for any number of parameters
-mutex zget_lock = PTHREAD_MUTEX_INITIALIZER;
+mutex_tp zget_lock = PTHREAD_MUTEX_INITIALIZER;
-mutex zget_lock = PTHREAD_MUTEX_INITIALIZER;
+mutex_tp zget_lock = PTHREAD_MUTEX_INITIALIZER;
int zget_locked(int &param) // lock and return parameter
{
@@ -778,23 +787,27 @@
char fname[200]; // null-terminated file name within directory
};
+ int f, kq, nev;
+ struct kevent change;
+ struct kevent event;
+
inotify_event evbuff;
struct timeval waitime;
fd_set fids;
int wd, retval, cc, fcc;
- int evbcc = sizeof(evbuff);
+ int evbcc = sizeof(event);
static int fid = -1;
if (strEqu(action,"open")) // setup a monitored directory
{
- fid = inotify_init();
- if (fid < 0) {
+ f = kqueue();
+ if (f < 0) {
return -1;
}
- wd = inotify_add_watch(fid,dirk,IN_ALL_EVENTS);
+ wd = kevent(f, &change, 1, &event, 1, NULL);
if (wd < 0) {
- close(fid);
- fid = -1;
+ close(f);
+ f = -1;
return -1;
}
return 0;
@@ -802,7 +815,7 @@
if (strEqu(action,"event")) // return pending event or zero
{
- if (fid < 0) return -1;
+ if (f < 0) return -1;
@@ -1276,7 +1276,7 @@
namespace shell_asynch_names {
char *command[10];
int status[10];
- mutex mlock = PTHREAD_MUTEX_INITIALIZER;
+ mutex_tp mlock = PTHREAD_MUTEX_INITIALIZER;
}
if (file) {
if (*file) zfree(*file); // free prior memory
@@ -816,12 +829,12 @@
waitime.tv_sec = 0;
waitime.tv_usec = 1;
- retval = select(fid+1, &fids, null, null, &waitime);
+ retval = select(f+1, &fids, null, null, &waitime);
if (retval == 0) return 0; // nothing pending
if (retval == -1) { // error
close(fid);
- fid = -1;
+ f = -1;
return -1;
}
@@ -832,28 +845,21 @@
return -1;
}
- fcc = evbuff.len;
- if (fcc > 199) return -1;
- if (fcc > 0 && file)
- *file = strdupz(evbuff.fname,0,"zmondirk_file"); // return filename v.3.5
-
- if (evbuff.mask & (IN_CREATE | IN_MOVED_TO)) // file was added
+ if (event.fflags & (NOTE_WRITE | NOTE_RENAME)) // file was added
return 1;
- if (evbuff.mask & (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE | IN_MODIFY)) // file was possibly added
+ if (event.fflags & (NOTE_EXIT | NOTE_REVOKE | NOTE_ATTRIB)) // file was possibly added
return 1;
- if (evbuff.mask & (IN_DELETE | IN_MOVED_FROM)) // file was deleted
+ if (event.fflags & (NOTE_DELETE)) // file was deleted
return 2;
- if (evbuff.mask & (IN_DELETE_SELF | IN_MOVE_SELF)) // monitored directory gone
- return 3;
return 9; // other
}
}
if (strEqu(action,"close")) // stop monitoring
{
- if (fid > -1) retval = close(fid);
+ if (f > -1) retval = close(f);
else retval = -1;
- fid = -1;
+ f = -1;
return retval;
}
@@ -2983,7 +2989,7 @@
strcpy(zicondir,zdatadir);
strcat(zicondir,"/icons");
- pp = cuserid(0);
+ pp = getlogin();
if (strEqu(pp,"root")) snprintf(zuserdir,199,"/root/.%s",zappname); // get /root/.appname
else snprintf(zuserdir,199,"%s/.%s",getenv("HOME"),zappname); // or /home/user/.appname
@@ -3435,7 +3441,7 @@
pthread_t tids[tmax];
int tlocks[tmax];
int zinit = 0;
-mutex zmutex;
+mutex_tp zmutex;
void zlockInit() // initz. call from main()
{
int shell_asynch(cchar *Fcommand, ...) // v.5.5

View File

@ -1,35 +1,37 @@
--- zfuncs.h.orig 2011-02-28 16:04:24.000000000 +0000
+++ zfuncs.h 2013-03-30 08:58:28.000000000 +0000
@@ -36,7 +36,13 @@
#include <signal.h>
#include <execinfo.h>
#include <locale.h>
-#include <sys/inotify.h>
+
+#ifdef __linux__
+ #include <sys/inotify.h>
+#elif defined(__FreeBSD__)
+ #include <sys/event.h>
+ #include <sys/types.h>
+#endif
--- ./zfuncs.h.orig 2014-02-05 20:42:34.000000000 +0100
+++ ./zfuncs.h 2014-02-06 10:32:37.000000000 +0100
@@ -22,7 +22,7 @@
#define int8 char // number types
#define int16 short
@@ -52,7 +58,7 @@
// zfuncs.h version v.5.8
-#include <sys/sysinfo.h>
+//#include <sys/sysinfo.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <sys/resource.h>
@@ -33,6 +33,7 @@
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
+#include <sys/wait.h>
#include <string.h>
#include <ctype.h>
#include <math.h>
@@ -60,7 +61,7 @@
#define wstrerror(err) strerror(WEXITSTATUS(err)) // get text status for child process
-#define mutex pthread_mutex_t // abbreviations
+#define mutex_tp pthread_mutex_t // abbreviations
+#define mutex_tp pthread_mutex_t // abbreviations
#define mutex_init pthread_mutex_init
#define mutex_lock pthread_mutex_lock
#define mutex_trylock pthread_mutex_trylock
@@ -504,7 +510,7 @@
@@ -625,7 +626,7 @@
{
char wmi[8];
Vxstring * vd; // vector of xstrings
- mutex qmutex; // for multi-thread access
+ mutex_tp qmutex; // for multi-thread access
+ mutex_tp qmutex; // for multi-thread access
int qcap; // queue capacity
int qcount; // curr. queue count
int ent1; // first entry pointer

View File

@ -2,4 +2,4 @@ Fotoxx is a free open source Linux program for photo editing
and collection management. The goal is to meet most user needs
while remaining fast and easy to use.
WWW: http://kornelix.squarespace.com/fotoxx
WWW: http://www.kornelix.com/fotoxx.html

View File

@ -1,97 +1,209 @@
bin/fotoxx
%%DATADIR%%/icons/arrow.png
%%DATADIR%%/icons/busy.png
%%DATADIR%%/icons/drag.png
%%DATADIR%%/icons/draw.png
%%DATADIR%%/icons/first-page.png
share/applications/fotoxx.desktop
%%PORTDOCS%%%%DOCSDIR%%/README-ca
%%PORTDOCS%%%%DOCSDIR%%/README-en
%%PORTDOCS%%%%DOCSDIR%%/README-es
%%PORTDOCS%%%%DOCSDIR%%/changelog.gz
%%PORTDOCS%%%%DOCSDIR%%/copyright
%%PORTDOCS%%%%DOCSDIR%%/fotoxx-release
%%PORTDOCS%%%%DOCSDIR%%/fotoxx.man
%%PORTDOCS%%%%DOCSDIR%%/freecode
%%PORTDOCS%%%%DOCSDIR%%/translations-ca
%%PORTDOCS%%%%DOCSDIR%%/translations-en
%%PORTDOCS%%%%DOCSDIR%%/translations-es
%%DATADIR%%/data/KB-shortcuts-ca
%%DATADIR%%/data/KB-shortcuts-en
%%DATADIR%%/data/KB-shortcuts-es
%%DATADIR%%/data/edit-menus-ca
%%DATADIR%%/data/edit-menus-en
%%DATADIR%%/data/edit-menus-es
%%DATADIR%%/data/favorites/menu-config
%%DATADIR%%/data/favorites/menu-config-pixbuf-009.png
%%DATADIR%%/data/images/F-toolbar.jpg
%%DATADIR%%/data/images/G-toolbar.jpg
%%DATADIR%%/data/images/HDF-paint.jpg
%%DATADIR%%/data/images/HDR-adjust.jpg
%%DATADIR%%/data/images/KB-shortcuts.jpg
%%DATADIR%%/data/images/add-geotags.jpg
%%DATADIR%%/data/images/add-text.jpg
%%DATADIR%%/data/images/add-text2.jpg
%%DATADIR%%/data/images/anti-alias.jpg
%%DATADIR%%/data/images/auto-trim.jpg
%%DATADIR%%/data/images/batch-add-geotags.jpg
%%DATADIR%%/data/images/batch-convert.jpg
%%DATADIR%%/data/images/batch-raw-conv.jpg
%%DATADIR%%/data/images/brightness-distribution.jpg
%%DATADIR%%/data/images/brightness-ramp.jpg
%%DATADIR%%/data/images/brightness steps.jpg
%%DATADIR%%/data/images/chromatic.jpg
%%DATADIR%%/data/images/cmyk.jpg
%%DATADIR%%/data/images/collections.jpg
%%DATADIR%%/data/images/colorchart.png
%%DATADIR%%/data/images/denoise.jpg
%%DATADIR%%/data/images/dots.jpg
%%DATADIR%%/data/images/drawing.jpg
%%DATADIR%%/data/images/edit-metadata.jpg
%%DATADIR%%/data/images/edit-translation.jpg
%%DATADIR%%/data/images/favorites.jpg
%%DATADIR%%/data/images/file-save.jpg
%%DATADIR%%/data/images/flatbook.jpg
%%DATADIR%%/data/images/fotoxx.jpg
%%DATADIR%%/data/images/gallery-select.jpg
%%DATADIR%%/data/images/gammachart.png
%%DATADIR%%/data/images/geotag-groups.jpg
%%DATADIR%%/data/images/grad_blur.jpg
%%DATADIR%%/data/images/grid-lines.jpg
%%DATADIR%%/data/images/index.jpg
%%DATADIR%%/data/images/jpeg quality.jpg
%%DATADIR%%/data/images/keystone.jpg
%%DATADIR%%/data/images/leverage-edits.jpg
%%DATADIR%%/data/images/mashup.jpg
%%DATADIR%%/data/images/mashup2.jpg
%%DATADIR%%/data/images/match-colors.jpg
%%DATADIR%%/data/images/move-collections.jpg
%%DATADIR%%/data/images/paint-clone.jpg
%%DATADIR%%/data/images/paint-edits.jpg
%%DATADIR%%/data/images/pano-color.jpg
%%DATADIR%%/data/images/pano-pre-align.jpg
%%DATADIR%%/data/images/plugins.jpg
%%DATADIR%%/data/images/print.jpg
%%DATADIR%%/data/images/remove-dust.jpg
%%DATADIR%%/data/images/rename.jpg
%%DATADIR%%/data/images/resize.jpg
%%DATADIR%%/data/images/retouch-combo.jpg
%%DATADIR%%/data/images/retouch-combo2.jpg
%%DATADIR%%/data/images/revise-RGB.jpg
%%DATADIR%%/data/images/search-images-metadata.jpg
%%DATADIR%%/data/images/search-images.jpg
%%DATADIR%%/data/images/select-area.jpg
%%DATADIR%%/data/images/sharpen.jpg
%%DATADIR%%/data/images/sharpen4.jpg
%%DATADIR%%/data/images/shift-colors.jpg
%%DATADIR%%/data/images/show-RGB.jpg
%%DATADIR%%/data/images/sketch.jpg
%%DATADIR%%/data/images/slide-show.jpg
%%DATADIR%%/data/images/smart-erase.jpg
%%DATADIR%%/data/images/stack-noise.jpg
%%DATADIR%%/data/images/stack-paint.jpg
%%DATADIR%%/data/images/stuck-pixels.jpg
@comment %%DATADIR%%/data/images/synchronize.jpg
%%DATADIR%%/data/images/tabsF&G.png
%%DATADIR%%/data/images/texture.jpg
%%DATADIR%%/data/images/tone-mapping.jpg
%%DATADIR%%/data/images/trim-rotate.jpg
%%DATADIR%%/data/images/unbend.jpg
%%DATADIR%%/data/images/user-settings.jpg
%%DATADIR%%/data/images/vignette.jpg
%%DATADIR%%/data/images/warps.jpg
%%DATADIR%%/data/quickstart-ca.html
%%DATADIR%%/data/quickstart-de.html
%%DATADIR%%/data/quickstart-en.html
%%DATADIR%%/data/quickstart-es.html
%%DATADIR%%/data/quickstart-fr.html
%%DATADIR%%/data/quickstart-it.html
%%DATADIR%%/data/quickstart-pt.html
%%DATADIR%%/data/slideshow-tone.oga
%%DATADIR%%/data/tags_defined
%%DATADIR%%/data/userguide-en.html
%%DATADIR%%/data/userguide-es.html
%%DATADIR%%/data/userguide-it.html
%%DATADIR%%/icons/F-tab.png
%%DATADIR%%/icons/G-tab.png
%%DATADIR%%/icons/W-tab.png
%%DATADIR%%/icons/bottom.png
%%DATADIR%%/icons/broken.png
%%DATADIR%%/icons/cancel.png
%%DATADIR%%/icons/down+.png
%%DATADIR%%/icons/down.png
%%DATADIR%%/icons/edit-funcs/CMYK.png
%%DATADIR%%/icons/edit-funcs/HDF.png
%%DATADIR%%/icons/edit-funcs/HDR.png
%%DATADIR%%/icons/edit-funcs/RGB.png
%%DATADIR%%/icons/edit-funcs/blur.png
%%DATADIR%%/icons/edit-funcs/bright distrib.png
%%DATADIR%%/icons/edit-funcs/brigth color sat.png
%%DATADIR%%/icons/edit-funcs/brigth ramp.png
%%DATADIR%%/icons/edit-funcs/color depth.png
%%DATADIR%%/icons/edit-funcs/crop rotate.png
%%DATADIR%%/icons/edit-funcs/dots.png
%%DATADIR%%/icons/edit-funcs/drawing01.png
%%DATADIR%%/icons/edit-funcs/embossing.png
%%DATADIR%%/icons/edit-funcs/expand bright.png
%%DATADIR%%/icons/edit-funcs/fix fringes.png
%%DATADIR%%/icons/edit-funcs/fix stuck pixels.png
%%DATADIR%%/icons/edit-funcs/flatten bright.png
%%DATADIR%%/icons/edit-funcs/flip.png
%%DATADIR%%/icons/edit-funcs/gamma.png
%%DATADIR%%/icons/edit-funcs/invert.png
%%DATADIR%%/icons/edit-funcs/keystone.png
%%DATADIR%%/icons/edit-funcs/landscape.png
%%DATADIR%%/icons/edit-funcs/leverage edit.png
%%DATADIR%%/icons/edit-funcs/outlines.png
%%DATADIR%%/icons/edit-funcs/paint edits.png
%%DATADIR%%/icons/edit-funcs/paint pixels.png
%%DATADIR%%/icons/edit-funcs/painting.png
%%DATADIR%%/icons/edit-funcs/panorama.png
%%DATADIR%%/icons/edit-funcs/pencil.png
%%DATADIR%%/icons/edit-funcs/red eyes.png
%%DATADIR%%/icons/edit-funcs/reduce noise.png
%%DATADIR%%/icons/edit-funcs/remove dust.png
%%DATADIR%%/icons/edit-funcs/resize.png
%%DATADIR%%/icons/edit-funcs/sharpen.png
%%DATADIR%%/icons/edit-funcs/shiftcolors.png
%%DATADIR%%/icons/edit-funcs/smarterase.png
%%DATADIR%%/icons/edit-funcs/stacknoise.png
%%DATADIR%%/icons/edit-funcs/stackpaint.png
%%DATADIR%%/icons/edit-funcs/text.png
%%DATADIR%%/icons/edit-funcs/tiles.png
%%DATADIR%%/icons/edit-funcs/tonemapping.png
%%DATADIR%%/icons/edit-funcs/unbend.png
%%DATADIR%%/icons/edit-funcs/vert panorama.png
%%DATADIR%%/icons/edit-funcs/voodoo.png
%%DATADIR%%/icons/edit-funcs/warp affine.png
%%DATADIR%%/icons/edit-funcs/warp area.png
%%DATADIR%%/icons/edit-funcs/warp curved.png
%%DATADIR%%/icons/edit-funcs/warp linear.png
%%DATADIR%%/icons/edit-funcs/whitebalance.png
%%DATADIR%%/icons/favorites.png
%%DATADIR%%/icons/fg-color.png
%%DATADIR%%/icons/folder.png
%%DATADIR%%/icons/folder256.png
%%DATADIR%%/icons/fotoxx.png
%%DATADIR%%/icons/gallery.png
%%DATADIR%%/icons/goto.png
%%DATADIR%%/icons/help.png
%%DATADIR%%/icons/last-page.png
%%DATADIR%%/icons/next-page.png
%%DATADIR%%/icons/next-row.png
%%DATADIR%%/icons/next.png
%%DATADIR%%/icons/open.png
%%DATADIR%%/icons/prev-page.png
%%DATADIR%%/icons/prev-row.png
%%DATADIR%%/icons/prev.png
%%DATADIR%%/icons/print.png
%%DATADIR%%/icons/quit.png
%%DATADIR%%/icons/redo.png
%%DATADIR%%/icons/rotate-left.png
%%DATADIR%%/icons/rotate-right.png
%%DATADIR%%/icons/save.png
%%DATADIR%%/icons/saveas.png
%%DATADIR%%/icons/sort.png
%%DATADIR%%/icons/sync.G.png
%%DATADIR%%/icons/top.png
%%DATADIR%%/icons/trash.png
%%DATADIR%%/icons/undo.png
%%DATADIR%%/icons/up+.png
%%DATADIR%%/icons/up.png
%%DATADIR%%/icons/warning.png
%%DATADIR%%/icons/zoom+.png
%%DATADIR%%/icons/zoom-.png
%%DOCSDIR%%/userguide-en.html
%%DOCSDIR%%/freshmeat
%%DOCSDIR%%/fotoxx.man
%%DOCSDIR%%/TRANSLATIONS
%%DOCSDIR%%/README
%%DOCSDIR%%/COPYING
%%DOCSDIR%%/CHANGES
%%DOCSDIR%%/images/HDF-paint.jpg
%%DOCSDIR%%/images/HDR-adjust.jpg
%%DOCSDIR%%/images/annotate.jpg
%%DOCSDIR%%/images/brightness-color.jpg
%%DOCSDIR%%/images/brightness-ramp.png
%%DOCSDIR%%/images/edit-tags.jpg
%%DOCSDIR%%/images/expand-brightness.png
%%DOCSDIR%%/images/gallery image selection.jpg
%%DOCSDIR%%/images/manage-tags.jpg
%%DOCSDIR%%/images/navigation.jpeg
%%DOCSDIR%%/images/pano-dialog.jpeg
%%DOCSDIR%%/images/rename.jpeg
%%DOCSDIR%%/images/save-as.jpeg
%%DOCSDIR%%/images/search-images.jpg
%%DOCSDIR%%/images/select-area.png
%%DOCSDIR%%/images/select-whole-image.jpg
%%DOCSDIR%%/images/select_edit.jpg
%%DOCSDIR%%/images/sharpen.jpeg
%%DOCSDIR%%/images/smart-erase.png
%%DOCSDIR%%/images/stack.png
%%DOCSDIR%%/images/tone-mapping.png
%%DOCSDIR%%/images/trim.jpg
%%DOCSDIR%%/images/watermark.jpg
%%DATADIR%%/locales/de/fotoxx.po
%%DATADIR%%/locales/de/zfuncs.po
%%DATADIR%%/locales/en/fotoxx.po
%%DATADIR%%/locales/en/zfuncs.po
%%DATADIR%%/locales/es/fotoxx.po
%%DATADIR%%/locales/es/zfuncs.po
%%DATADIR%%/locales/fr/fotoxx.po
%%DATADIR%%/locales/fr/fotoxx.po.old
%%DATADIR%%/locales/fr/zfuncs.po
%%DATADIR%%/locales/gl/fotoxx.po
%%DATADIR%%/locales/gl/zfuncs.po
%%DATADIR%%/locales/it/fotoxx.po
%%DATADIR%%/locales/it/zfuncs.po
%%DATADIR%%/locales/nl/fotoxx.po
%%DATADIR%%/locales/nl/zfuncs.po
%%DATADIR%%/locales/pt/fotoxx.po
%%DATADIR%%/locales/pt/zfuncs.po
%%DATADIR%%/locales/ru/fotoxx.po
%%DATADIR%%/locales/ru/zfuncs.po
%%DATADIR%%/locales/sv/fotoxx.po
%%DATADIR%%/locales/sv/zfuncs.po
%%DATADIR%%/locales/zh_CN/fotoxx.po
%%DATADIR%%/locales/zh_CN/zfuncs.po
@dirrm %%DOCSDIR%%/images
@dirrm %%DOCSDIR%%
@dirrm %%DATADIR%%/locales/de
@dirrm %%DATADIR%%/locales/en
@dirrm %%DATADIR%%/locales/es
@dirrm %%DATADIR%%/locales/fr
@dirrm %%DATADIR%%/locales/gl
@dirrm %%DATADIR%%/locales/it
@dirrm %%DATADIR%%/locales/nl
@dirrm %%DATADIR%%/locales/pt
@dirrm %%DATADIR%%/locales/ru
@dirrm %%DATADIR%%/locales/sv
@dirrm %%DATADIR%%/locales/zh_CN
@dirrm %%DATADIR%%/locales
@dirrm %%DATADIR%%/icons
@dirrm %%DATADIR%%
%%DATADIR%%/locales/translate-ca.po
%%DATADIR%%/locales/translate-de.po
%%DATADIR%%/locales/translate-en.po
%%DATADIR%%/locales/translate-es.po
%%DATADIR%%/locales/translate-fr.po
%%DATADIR%%/locales/translate-it.po
%%DATADIR%%/locales/translate-nl.po
%%DATADIR%%/locales/translate-pt.po
%%DATADIR%%/locales/translate-ru.po
%%DATADIR%%/locales/translate-sv.po
man/man1/fotoxx.1.gz
@dirrmtry %%DATADIR%%/locales
@dirrmtry %%DATADIR%%/icons/edit-funcs
@dirrmtry %%DATADIR%%/icons
@dirrmtry %%DATADIR%%/data/images
@dirrmtry %%DATADIR%%/data/favorites
@dirrmtry %%DATADIR%%/data
@dirrmtry %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%