aboutsummaryrefslogtreecommitdiff
path: root/graphics/picpuz
diff options
context:
space:
mode:
authorPhilip M. Gollucci <pgollucci@FreeBSD.org>2010-01-08 01:26:58 +0000
committerPhilip M. Gollucci <pgollucci@FreeBSD.org>2010-01-08 01:26:58 +0000
commit122ca74b23cc56c002189f0c32914d3237b4f704 (patch)
treef68a3ac9ef1bfea25d5f6ce224ffc83b8b7e1d73 /graphics/picpuz
parent5c3f9db93aeeb2593a1abb5010c1a324565372c8 (diff)
downloadports-122ca74b23cc56c002189f0c32914d3237b4f704.tar.gz
ports-122ca74b23cc56c002189f0c32914d3237b4f704.zip
Notes
Diffstat (limited to 'graphics/picpuz')
-rw-r--r--graphics/picpuz/Makefile29
-rw-r--r--graphics/picpuz/distinfo3
-rw-r--r--graphics/picpuz/files/patch-Makefile37
-rw-r--r--graphics/picpuz/files/patch-zfuncs.cpp23
-rw-r--r--graphics/picpuz/files/patch-zfuncs.h205
-rw-r--r--graphics/picpuz/pkg-descr6
-rw-r--r--graphics/picpuz/pkg-plist49
7 files changed, 352 insertions, 0 deletions
diff --git a/graphics/picpuz/Makefile b/graphics/picpuz/Makefile
new file mode 100644
index 000000000000..735606880079
--- /dev/null
+++ b/graphics/picpuz/Makefile
@@ -0,0 +1,29 @@
+# New ports collection makefile for: graphics/picpuz
+# Date created: 04 Jan 2010
+# Whom: Stas Timokhin <devel@stasyan.com>
+#
+# $FreeBSD$
+#
+
+PORTNAME= picpuz
+PORTVERSION= 2.1.1
+CATEGORIES= graphics games
+MASTER_SITES= http://kornelix.squarespace.com/storage/downloads/
+
+MAINTAINER= devel@stasyan.com
+COMMENT= Jigsaw puzzle program
+
+USE_GMAKE= yes
+USE_GNOME= gtk20 pkgconfig
+
+ALL_TARGET= #
+#RUN_DEPENDS+= xdg-desktop-menu:${PORTSDIR}/devel/xdg-utils
+LIB_DEPENDS+= execinfo.1:${PORTSDIR}/devel/libexecinfo
+DESKTOP_ENTRIES="Picpuz" \
+ "Jigsaw Puzzle" \
+ "picpuz.png" \
+ "picpuz" \
+ "Application;Game;" \
+ true
+
+.include <bsd.port.mk>
diff --git a/graphics/picpuz/distinfo b/graphics/picpuz/distinfo
new file mode 100644
index 000000000000..fb5d0e493c2b
--- /dev/null
+++ b/graphics/picpuz/distinfo
@@ -0,0 +1,3 @@
+MD5 (picpuz-2.1.1.tar.gz) = 56e8033746739abe34ef84e6458bf27f
+SHA256 (picpuz-2.1.1.tar.gz) = 9c22d81e5f3e4b21fcb9055e3ac6e56407b31382455471aba63863619bc6938c
+SIZE (picpuz-2.1.1.tar.gz) = 214984
diff --git a/graphics/picpuz/files/patch-Makefile b/graphics/picpuz/files/patch-Makefile
new file mode 100644
index 000000000000..9795e9200cac
--- /dev/null
+++ b/graphics/picpuz/files/patch-Makefile
@@ -0,0 +1,37 @@
+--- Makefile.orig 2009-10-29 14:38:40.000000000 +0600
++++ Makefile 2010-01-04 19:55:10.000000000 +0600
+@@ -6,7 +6,7 @@
+
+ # replace CFLAGS and LFLAGS -O (oh) with -g for GDB debugging
+ CFLAGS = -O -Wall -c `pkg-config --cflags gtk+-2.0`
+-LFLAGS = -O -Wall -rdynamic `pkg-config --libs gtk+-2.0 gthread-2.0`
++LFLAGS = -O -Wall -rdynamic -lexecinfo `pkg-config --libs gtk+-2.0 gthread-2.0`
+
+ # use $PREFIX if defined, else assume /usr/local
+ ifeq "$(PREFIX)" ""
+@@ -39,15 +39,16 @@
+ cp $(PROGRAM) $(DESTDIR)$(BINDIR)
+ cp -R locales/* $(DESTDIR)$(DATADIR)/locales
+ # install .desktop file (menu entry)
+- @echo "[Desktop Entry]" > $(DESKTOP)
+- @echo "Name=$(PROGRAM)" >> $(DESKTOP)
+- @echo "Categories=Game" >> $(DESKTOP)
+- @echo "Type=Application" >> $(DESKTOP)
+- @echo "Terminal=false" >> $(DESKTOP)
+- @echo "Exec=$(BINDIR)/$(PROGRAM)" >> $(DESKTOP)
+- @echo "Icon=$(DATADIR)/icons/$(PROGRAM).png" >> $(DESKTOP)
+- @echo "GenericName=Jigsaw Puzzle" >> $(DESKTOP)
+- xdg-desktop-menu install $(DESKTOP)
++ ln -s $(DESTDIR)$(DATADIR)/icons/picpuz.png ${PREFIX}/share/pixmaps/picpuz.png
++# @echo "[Desktop Entry]" > $(DESKTOP)
++# @echo "Name=$(PROGRAM)" >> $(DESKTOP)
++# @echo "Categories=Game" >> $(DESKTOP)
++# @echo "Type=Application" >> $(DESKTOP)
++# @echo "Terminal=false" >> $(DESKTOP)
++# @echo "Exec=$(BINDIR)/$(PROGRAM)" >> $(DESKTOP)
++# @echo "Icon=$(DATADIR)/icons/$(PROGRAM).png" >> $(DESKTOP)
++# @echo "GenericName=Jigsaw Puzzle" >> $(DESKTOP)
++# xdg-desktop-menu install $(DESKTOP)
+
+ uninstall:
+ xdg-desktop-menu uninstall $(DESKTOP)
diff --git a/graphics/picpuz/files/patch-zfuncs.cpp b/graphics/picpuz/files/patch-zfuncs.cpp
new file mode 100644
index 000000000000..0bfebfc1f6dc
--- /dev/null
+++ b/graphics/picpuz/files/patch-zfuncs.cpp
@@ -0,0 +1,23 @@
+--- zfuncs.cpp.orig 2009-10-02 03:20:15.000000000 +0700
++++ zfuncs.cpp 2009-10-07 12:35:45.000000000 +0700
+@@ -23,6 +23,11 @@
+ // zfuncs version v.2.25
+
+ #include "zfuncs.h"
++#ifdef __FreeBSD__
++#include <sys/wait.h>
++#include <sys/types.h>
++#include <pwd.h>
++#endif
+
+ /**************************************************************************
+ system-level utility functions
+@@ -2875,7 +2880,7 @@
+ strcpy(zicondir,zdatadir);
+ strcat(zicondir,"/icons");
+
+- pp = cuserid(0);
++ pp = getpwuid(geteuid())->pw_name;
+ 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
+
diff --git a/graphics/picpuz/files/patch-zfuncs.h b/graphics/picpuz/files/patch-zfuncs.h
new file mode 100644
index 000000000000..c8493303d282
--- /dev/null
+++ b/graphics/picpuz/files/patch-zfuncs.h
@@ -0,0 +1,205 @@
+--- zfuncs.h.orig 2009-10-07 08:40:43.000000000 +0700
++++ zfuncs.h 2009-10-07 08:50:37.000000000 +0700
+@@ -19,7 +19,201 @@
+ #include <signal.h>
+ #include <execinfo.h>
+ #include <locale.h>
+-#include <sys/inotify.h>
++// inotify_local.h injected directly into zfuncs.h
++
++/*
++ * inotify_local.h - wrapping of libc features and kernel defines
++ *
++ * Copyright (C) 2005-2006 Kay Sievers <kay.sievers at vrfy.org>
++ *
++ * This program is free software; you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License as published by the
++ * Free Software Foundation version 2 of the License.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License along
++ * with this program; if not, write to the Free Software Foundation, Inc.,
++ * 675 Mass Ave, Cambridge, MA 02139, USA.
++ *
++ */
++
++#ifndef _INOTIFY_LOCAL_H_
++#define _INOTIFY_LOCAL_H_
++
++#include <string.h>
++#include <unistd.h>
++#include <stdint.h>
++
++/* needed until Inotify! syscalls reach glibc */
++#include <sys/syscall.h>
++#ifndef __NR_inotify_init
++#if defined(__i386__)
++# define __NR_inotify_init 291
++# define __NR_inotify_add_watch 292
++# define __NR_inotify_rm_watch 293
++#elif defined(__x86_64__)
++# define __NR_inotify_init 253
++# define __NR_inotify_add_watch 254
++# define __NR_inotify_rm_watch 255
++#elif defined(__powerpc__) || defined(__powerpc64__)
++# define __NR_inotify_init 275
++# define __NR_inotify_add_watch 276
++# define __NR_inotify_rm_watch 277
++#elif defined (__ia64__)
++# define __NR_inotify_init 1277
++# define __NR_inotify_add_watch 1278
++# define __NR_inotify_rm_watch 1279
++#elif defined (__s390__)
++# define __NR_inotify_init 284
++# define __NR_inotify_add_watch 285
++# define __NR_inotify_rm_watch 286
++#elif defined (__mc68000__)
++# define __NR_inotify_init 284
++# define __NR_inotify_add_watch 285
++# define __NR_inotify_rm_watch 286
++#elif defined (__alpha__)
++# define __NR_inotify_init 444
++# define __NR_inotify_add_watch 445
++# define __NR_inotify_rm_watch 446
++#elif defined (__sparc__) || defined (__sparc64__)
++# define __NR_inotify_init 151
++# define __NR_inotify_add_watch 152
++# define __NR_inotify_rm_watch 156
++#elif defined (__arm__)
++# define __NR_inotify_init __NR_SYSCALL_BASE+316
++# define __NR_inotify_add_watch __NR_SYSCALL_BASE+317
++# define __NR_inotify_rm_watch __NR_SYSCALL_BASE+318
++#elif defined (__sh__)
++# define __NR_inotify_init 290
++# define __NR_inotify_add_watch 291
++# define __NR_inotify_rm_watch 292
++#elif defined (__m32r__)
++# define __NR_inotify_init 290
++# define __NR_inotify_add_watch 291
++# define __NR_inotify_rm_watch 292
++#elif defined (__hppa__)
++# define __NR_inotify_init 269
++# define __NR_inotify_add_watch 270
++# define __NR_inotify_rm_watch 271
++#elif defined (__mips__)
++# include <sgidefs.h>
++# if _MIPS_SIM == _MIPS_SIM_ABI32
++# define __NR_Linux 4000
++# define __NR_inotify_init (__NR_Linux + 284)
++# define __NR_inotify_add_watch (__NR_Linux + 285)
++# define __NR_inotify_rm_watch (__NR_Linux + 286)
++# elif _MIPS_SIM == _MIPS_SIM_ABI64
++# define __NR_Linux 5000
++# define __NR_inotify_init (__NR_Linux + 243)
++# define __NR_inotify_add_watch (__NR_Linux + 244)
++# define __NR_inotify_rm_watch (__NR_Linux + 245)
++# elif _MIPS_SIM == _MIPS_SIM_NABI32
++# define __NR_Linux 6000
++# define __NR_inotify_init (__NR_Linux + 247)
++# define __NR_inotify_add_watch (__NR_Linux + 248)
++# define __NR_inotify_rm_watch (__NR_Linux + 249)
++# endif
++#else
++# warning "inotify unsupported on this architecture!"
++#endif
++#endif /* __NR_inotify_init */
++
++/* dummy if we don't have the syscalls defined */
++#ifndef __NR_inotify_init
++static inline int inotify_init(void)
++{
++ return -1;
++}
++
++static inline int inotify_add_watch(int fd, const char *name, uint32_t mask)
++{
++ return -1;
++}
++
++static inline int inotify_rm_watch(int fd, uint32_t wd)
++{
++ return -1;
++}
++#else
++static inline int inotify_init(void)
++{
++ return syscall(__NR_inotify_init);
++}
++
++static inline int inotify_add_watch(int fd, const char *name, uint32_t mask)
++{
++ return syscall(__NR_inotify_add_watch, fd, name, mask);
++}
++
++static inline int inotify_rm_watch(int fd, uint32_t wd)
++{
++ return syscall(__NR_inotify_rm_watch, fd, wd);
++}
++#endif /* __NR_inotify_init */
++
++#ifndef IN_CREATE
++#define IN_CREATE 0x00000100 /* Subfile was created */
++#define IN_MOVED_FROM 0x00000040 /* File was moved from X */
++#define IN_MOVED_TO 0x00000080 /* File was moved to Y */
++#define IN_DELETE 0x00000200 /* Subfile was deleted */
++#define IN_CLOSE_WRITE 0x00000008 /* Writtable file was closed */
++#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */
++#endif /* IN_CREATE */
++
++struct inotify_event {
++ int wd;
++ uint32_t mask;
++ uint32_t cookie;
++ uint32_t len;
++ char *name;
++};
++
++/* the following are legal, implemented events that user-space can watch for */
++#define IN_ACCESS 0x00000001 /* File was accessed */
++#define IN_MODIFY 0x00000002 /* File was modified */
++#define IN_ATTRIB 0x00000004 /* Metadata changed */
++#define IN_CLOSE_WRITE 0x00000008 /* Writtable file was closed */
++#define IN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed */
++#define IN_OPEN 0x00000020 /* File was opened */
++#define IN_MOVED_FROM 0x00000040 /* File was moved from X */
++#define IN_MOVED_TO 0x00000080 /* File was moved to Y */
++#define IN_CREATE 0x00000100 /* Subfile was created */
++#define IN_DELETE 0x00000200 /* Subfile was deleted */
++#define IN_DELETE_SELF 0x00000400 /* Self was deleted */
++#define IN_MOVE_SELF 0x00000800 /* Self was moved */
++
++/* the following are legal events. they are sent as needed to any watch */
++#define IN_UNMOUNT 0x00002000 /* Backing fs was unmounted */
++#define IN_Q_OVERFLOW 0x00004000 /* Event queued overflowed */
++#define IN_IGNORED 0x00008000 /* File was ignored */
++
++/* helper events */
++#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* close */
++#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */
++
++/* special flags */
++#define IN_ONLYDIR 0x01000000 /* only watch the path if it is a directory */
++#define IN_DONT_FOLLOW 0x02000000 /* don't follow a sym link */
++#define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */
++#define IN_ISDIR 0x40000000 /* event occurred against dir */
++#define IN_ONESHOT 0x80000000 /* only send event once */
++
++/*
++ * All of the events - we build the list by hand so that we can add flags in
++ * the future and not break backward compatibility. Apps will get only the
++ * events that they originally wanted. Be sure to add new events here!
++ */
++#define IN_ALL_EVENTS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \
++ IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \
++ IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF | \
++ IN_MOVE_SELF)
++
++#endif /* _INOTIFY_LOCAL_H_ */
++
+
+ #define int8 char // number types
+ #define int16 short
diff --git a/graphics/picpuz/pkg-descr b/graphics/picpuz/pkg-descr
new file mode 100644
index 000000000000..026d7a74c340
--- /dev/null
+++ b/graphics/picpuz/pkg-descr
@@ -0,0 +1,6 @@
+Picpuz is a free Linux "jigsaw puzzle" program.
+You can take almost any image (jpeg, tiff, png ...)
+and scramble it into many pieces (tens to hundreds).
+You can then reassemble the picture using the mouse to move the pieces around.
+
+WWW: http://kornelix.squarespace.com/picpuz/
diff --git a/graphics/picpuz/pkg-plist b/graphics/picpuz/pkg-plist
new file mode 100644
index 000000000000..0314ed8ab7d6
--- /dev/null
+++ b/graphics/picpuz/pkg-plist
@@ -0,0 +1,49 @@
+bin/picpuz
+%%DOCSDIR%%/CHANGES
+%%DOCSDIR%%/COPYING
+%%DOCSDIR%%/README
+%%DOCSDIR%%/TRANSLATIONS
+%%DOCSDIR%%/images/screenshot.jpg
+%%DOCSDIR%%/userguide-en.html
+share/pixmaps/picpuz.png
+%%DATADIR%%/icons/bigger.png
+%%DATADIR%%/icons/first-page.png
+%%DATADIR%%/icons/folder.png
+%%DATADIR%%/icons/folder128.png
+%%DATADIR%%/icons/folder256.png
+%%DATADIR%%/icons/gallery.png
+%%DATADIR%%/icons/last-page.png
+%%DATADIR%%/icons/line.png
+%%DATADIR%%/icons/next-page.png
+%%DATADIR%%/icons/next-row.png
+%%DATADIR%%/icons/open.png
+%%DATADIR%%/icons/picpuz.png
+%%DATADIR%%/icons/piece.png
+%%DATADIR%%/icons/prev-page.png
+%%DATADIR%%/icons/prev-row.png
+%%DATADIR%%/icons/show.png
+%%DATADIR%%/icons/smaller.png
+%%DATADIR%%/icons/tile.png
+%%DATADIR%%/locales/de/picpuz.po
+%%DATADIR%%/locales/de/zfuncs.po
+%%DATADIR%%/locales/es/picpuz.po
+%%DATADIR%%/locales/es/picpuz.po.old
+%%DATADIR%%/locales/es/zfuncs.po
+%%DATADIR%%/locales/fr/picpuz.po
+%%DATADIR%%/locales/fr/zfuncs.po
+%%DATADIR%%/locales/gl/picpuz.po
+%%DATADIR%%/locales/gl/picpuz.po.old
+%%DATADIR%%/locales/gl/zfuncs.po
+%%DATADIR%%/locales/zh_CN/picpuz.po
+%%DATADIR%%/locales/zh_CN/zfuncs.po
+@dirrm %%DATADIR%%/locales/zh_CN
+@dirrm %%DATADIR%%/locales/gl
+@dirrm %%DATADIR%%/locales/fr
+@dirrm %%DATADIR%%/locales/es
+@dirrm %%DATADIR%%/locales/de
+@dirrm %%DATADIR%%/locales
+@dirrm %%DATADIR%%/icons
+@dirrm %%DATADIR%%
+@dirrm %%DOCSDIR%%/images
+@dirrm %%DOCSDIR%%
+@dirrmtry share/applications