aboutsummaryrefslogtreecommitdiff
path: root/graphics/shotwell
diff options
context:
space:
mode:
authorKoop Mast <kwm@FreeBSD.org>2011-08-13 20:04:44 +0000
committerKoop Mast <kwm@FreeBSD.org>2011-08-13 20:04:44 +0000
commit6adc6d8381728e563bbdfa6fc6602b42474ac2b2 (patch)
treeabe76d1ae506024c5af653d4e682828ec312ab15 /graphics/shotwell
parent1eba9231580ba44ad1e7a684e28224e6ed1b3fe1 (diff)
downloadports-6adc6d8381728e563bbdfa6fc6602b42474ac2b2.tar.gz
ports-6adc6d8381728e563bbdfa6fc6602b42474ac2b2.zip
Update to 0.10.1.
PR: ports/159733 Submitted by: David Thiel <lx@FreeBSD.org>
Notes
Notes: svn path=/head/; revision=279631
Diffstat (limited to 'graphics/shotwell')
-rw-r--r--graphics/shotwell/Makefile16
-rw-r--r--graphics/shotwell/distinfo5
-rw-r--r--graphics/shotwell/files/patch-Makefile199
-rw-r--r--graphics/shotwell/files/patch-src-camera-CameraTable.vala292
-rw-r--r--graphics/shotwell/files/patch-src_Dialogs.vala11
-rw-r--r--graphics/shotwell/files/patch-src_photos_GRaw.vala38
-rw-r--r--graphics/shotwell/files/patch-vapi_libraw.vapi19
-rw-r--r--graphics/shotwell/pkg-plist132
8 files changed, 564 insertions, 148 deletions
diff --git a/graphics/shotwell/Makefile b/graphics/shotwell/Makefile
index d2fce53b7c7c..19426dd1fa57 100644
--- a/graphics/shotwell/Makefile
+++ b/graphics/shotwell/Makefile
@@ -6,18 +6,18 @@
#
PORTNAME= shotwell
-PORTVERSION= 0.7.2
-PORTREVISION= 2
+PORTVERSION= 0.10.1
CATEGORIES= graphics gnome
MASTER_SITES= http://www.yorba.org/download/shotwell/${PORTVERSION:R}/
MAINTAINER= gnome@FreeBSD.org
COMMENT= Open source photo manager for GNOME
-BUILD_DEPENDS= vala>=0.10.0:${PORTSDIR}/lang/vala
+BUILD_DEPENDS= vala>=0.12.0:${PORTSDIR}/lang/vala
LIB_DEPENDS= sqlite3:${PORTSDIR}/databases/sqlite3 \
dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \
gee.2:${PORTSDIR}/devel/libgee \
+ json-glib-1.0.0:${PORTSDIR}/devel/json-glib \
soup-2.4.1:${PORTSDIR}/devel/libsoup \
gexiv2.0:${PORTSDIR}/graphics/gexiv2 \
exif.12:${PORTSDIR}/graphics/libexif \
@@ -26,8 +26,6 @@ LIB_DEPENDS= sqlite3:${PORTSDIR}/databases/sqlite3 \
unique-1.0.2:${PORTSDIR}/x11-toolkits/unique \
raw.2:${PORTSDIR}/graphics/libraw
-BROKEN= does not build
-
USE_BZIP2= yes
USE_GETTEXT= yes
USE_GNOME= gnomehier gconf2 gtk20 desktopfileutils librsvg2
@@ -36,6 +34,7 @@ HAS_CONFIGURE= yes
CONFIGURE_ARGS= --prefix=${PREFIX} \
--disable-icon-update \
--with-gconf-schema-file-dir=${PREFIX}/etc/gconf/schemas
+CONFIGURE_ENV+= --define=NO_CAMERA
INSTALLS_ICONS= yes
GCONF_SCHEMAS= shotwell.schemas
@@ -44,14 +43,17 @@ post-patch:
@${REINPLACE_CMD} -E \
-e 's|/bin/bash|${SH}|g ; s|/usr/bin/env.*bash|${SH}|g' \
${WRKSRC}/${CONFIGURE_SCRIPT} \
- ${WRKSRC}/libraw-config \
- ${WRKSRC}/minver
+ ${WRKSRC}/libraw-config
post-configure:
@${REINPLACE_CMD} -E \
-e 's|share/shotwell|${DATADIR_REL}|g ; \
s|%%GCONF_CONFIG_SOURCE%%|${GCONF_CONFIG_SOURCE}|g' \
${WRKSRC}/${MAKEFILE}
+
+ @${REINPLACE_CMD} -E \
+ -e 's|\-n ||g' \
+ ${WRKSRC}/configure.mk
# attempt at a DATADIR safe port
@${REINPLACE_CMD} -E \
-e 's|\.get_child\("share")\.get_child\("shotwell")|${SHOTWELL_DATADIR}|' \
diff --git a/graphics/shotwell/distinfo b/graphics/shotwell/distinfo
index de65036cbd2c..df207f959348 100644
--- a/graphics/shotwell/distinfo
+++ b/graphics/shotwell/distinfo
@@ -1,3 +1,2 @@
-SHA256 (shotwell-0.7.2.tar.bz2) = 8b4139407d59badcbe13e23db070e0a0709ecc0f9ad806335888382eebf5dfa3
-SIZE (shotwell-0.7.2.tar.bz2) = 1064127
-
+SHA256 (shotwell-0.10.1.tar.bz2) = f6ef4782780af201402afeaf8f9484d5579cedff75fbf07b22587bb7cef69893
+SIZE (shotwell-0.10.1.tar.bz2) = 1483679
diff --git a/graphics/shotwell/files/patch-Makefile b/graphics/shotwell/files/patch-Makefile
index 3c54b9c27a36..1c69b743c808 100644
--- a/graphics/shotwell/files/patch-Makefile
+++ b/graphics/shotwell/files/patch-Makefile
@@ -1,139 +1,86 @@
---- Makefile.orig 2010-09-10 17:55:54.000000000 -0500
-+++ Makefile 2010-12-28 16:15:44.000000000 -0600
-@@ -21,6 +21,10 @@
- LINUX = 1
- endif
-
-+ifeq "$(SYSTEM)" "FreeBSD"
-+ FreeBSD = 1
-+endif
+--- Makefile.orig 2011-06-02 12:11:21.000000000 -0700
++++ Makefile 2011-08-12 17:33:51.953748181 -0700
+@@ -264,7 +264,6 @@
+ gstreamer-0.10 \
+ gstreamer-base-0.10 \
+ gtk+-2.0 \
+- gudev-1.0 \
+ libexif \
+ libgphoto2 \
+ libsoup-2.4 \
+@@ -296,7 +295,6 @@
+ gstreamer-0.10 >= 0.10.28 \
+ gstreamer-base-0.10 >= 0.10.28 \
+ gtk+-2.0 >= 2.18.0 \
+- gudev-1.0 >= 145 \
+ libexif >= 0.6.16 \
+ libgphoto2 >= 2.4.2 \
+ libsoup-2.4 >= 2.26.0 \
+@@ -375,7 +373,7 @@
+ $(EXPANDED_HELP_FILES) $(EXPANDED_HELP_IMAGES) apport/shotwell.py $(UNIT_RESOURCES) $(UNIT_MKS) \
+ unitize.mk units.mk $(PC_INPUT) $(PLUGINS_DIST_FILES) \
+ $(EXPANDED_THUMBNAILER_SRC_FILES)
+-
+
- ifeq "$(SYSTEM)" "MinGW"
- WINDOWS = 1
- endif
-@@ -41,6 +45,10 @@
- EXPORT_FLAGS = -export-dynamic
- endif
-+ifdef FreeBSD
-+ EXPORT_FLAGS = -export-dynamic
-+endif
-+
- ifdef WINDOWS
- EXPORT_FLAGS = -export-all-symbols
- endif
-@@ -124,10 +132,13 @@
- FSpotDatabaseDriver.vala \
- FSpotDatabaseTables.vala
+ DIST_TAR = $(PROGRAM)-$(VERSION).tar
+ DIST_TAR_BZ2 = $(DIST_TAR).bz2
+@@ -420,7 +418,7 @@
+ # if not available.
+ LIBRAW_CONFIG=./libraw-config
-+# this should be ifndef LINUX && ifndef FreeBSD
- ifndef LINUX
-+ifndef FreeBSD
- SRC_FILES += \
- GConf.vala
+-define check_valac_version
++define xcheck_valac_version
+ @ ./chkver min $(VALAC_VERSION) $(MIN_VALAC_VERSION) || ( echo 'Shotwell requires Vala compiler $(MIN_VALAC_VERSION) or greater. You are running' $(VALAC_VERSION) '\b.'; exit 1 )
+ $(if $(MAX_VALAC_VERSION),\
+ @ ./chkver max $(VALAC_VERSION) $(MAX_VALAC_VERSION) || ( echo 'Shotwell cannot be built by Vala compiler $(MAX_VALAC_VERSION) or greater. You are running' $(VALAC_VERSION) '\b.'; exit 1 ),)
+@@ -561,6 +559,11 @@
+ mkdir -p $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures
+ $(INSTALL_DATA) $(EXPANDED_HELP_IMAGES) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures
endif
++ifndef DISABLE_SCHEMAS_INSTALL
++ GCONF_CONFIG_SOURCE=xml:merged:/usr/local/etc/gconf/gconf.xml.defaults gconftool-2 --makefile-install-rule misc/shotwell.schemas
++ mkdir -p $(DESTDIR)$(SCHEMA_FILE_DIR)
++ $(INSTALL_DATA) misc/shotwell.schemas $(DESTDIR)$(SCHEMA_FILE_DIR)
+endif
+ -$(foreach lang,$(CORE_SUPPORTED_LANGUAGES),`mkdir -p $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES ; \
+ $(INSTALL_DATA) $(LOCAL_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo \
+ $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`)
+@@ -638,7 +641,6 @@
- VAPI_FILES = \
- libexif.vapi \
-@@ -288,6 +299,18 @@
- gdk-x11-2.0
- endif
+ # EXPANDED_SRC_FILES includes UNITIZE_INITS and UNITIZE_ENTRY
+ $(VALA_STAMP): $(EXPANDED_SRC_FILES) $(EXPANDED_VAPI_FILES) $(EXPANDED_SRC_HEADER_FILES)
+- $(call check_valac_version)
+ @echo Compiling Vala code...
+ @mkdir -p $(BUILD_DIR)
+ @$(VALAC) --ccode --directory=$(BUILD_DIR) --basedir=src \
+@@ -655,10 +657,10 @@
+ @
-+ifdef FreeBSD
-+EXT_PKGS += \
-+ gconf-2.0 \
-+ libgphoto2 \
-+ libsoup-2.4 \
-+ libxml-2.0 \
-+ unique-1.0 \
-+ webkit-1.0 \
-+ dbus-glib-1 \
-+ gdk-x11-2.0
-+endif
-+
- # libraw is handled separately (see note below); when libraw-config is no longer needed, the version
- # should be added to this list
- EXT_PKG_VERSIONS = \
-@@ -313,6 +336,18 @@
- dbus-glib-1 >= 0.80
- endif
+ $(EXPANDED_OBJ_FILES): %.o: %.c $(CONFIG_IN) Makefile
+- $(CC) -c $(VALA_CFLAGS) `$(LIBRAW_CONFIG) --cflags` $(CFLAGS) -o $@ $<
++ $(CC) -c $(VALA_CFLAGS) $(CFLAGS) `pkg-config --cflags libraw` -o $@ $<
-+ifdef LINUX
-+EXT_PKG_VERSIONS += \
-+ gconf-2.0 >= 2.22.0 \
-+ libgphoto2 >= 2.4.2 \
-+ libsoup-2.4 >= 2.26.0 \
-+ libxml-2.0 >= 2.6.32 \
-+ unique-1.0 >= 1.0.0 \
-+ webkit-1.0 >= 1.1.5 \
-+ dbus-glib-1 >= 0.80
-+endif
-+
-+
- PKGS = $(EXT_PKGS) $(LOCAL_PKGS) $(LIBRAW_PKG)
+ $(PROGRAM): $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP) $(THUMBNAILER_BIN)
+- $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(RESOURCES) $(VALA_LDFLAGS) `$(LIBRAW_CONFIG) --libs` $(EXPORT_FLAGS) -o $@
++ $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(RESOURCES) $(VALA_LDFLAGS) `pkg-config --libs libraw` $(EXPORT_FLAGS) -o $@
- ifndef BUILD_DIR
-@@ -357,6 +392,10 @@
+ $(THUMBNAILER_BIN): $(EXPANDED_THUMBNAILER_SRC_FILES)
+ $(VALAC) $(EXPANDED_THUMBNAILER_SRC_FILES) $(VALAFLAGS) -o $@ $(foreach pkg,$(THUMBNAILER_PKGS),--pkg=$(pkg))
+@@ -668,7 +670,6 @@
- VALA_LDFLAGS = `pkg-config --libs $(EXT_PKGS) gthread-2.0`
-
-+ifdef FreeBSD
-+ VALA_DEFINES = -D NO_CAMERA
-+endif
-+
- ifdef WINDOWS
- VALA_DEFINES = -D WINDOWS -D NO_CAMERA -D NO_PRINTING -D NO_PUBLISHING -D NO_LIBUNIQUE -D NO_EXTENDED_POSIX -D NO_SET_BACKGROUND
- EXPANDED_OBJ_FILES += src/windows.o
-@@ -393,6 +432,11 @@
- LIBRAW_CONFIG=./libraw-config
- endif
+ .PHONY: $(PLUGINS_DIR)
+ $(PLUGINS_DIR): $(PLUGIN_VAPI) $(PLUGIN_HEADER) $(PLUGIN_DEPS)
+- $(call check_valac_version)
+ @$(MAKE) --directory=$@ PLUGINS_VERSION="$(VERSION)" USER_VALAFLAGS="$(USER_VALAFLAGS)" \
+ PLUGIN_CFLAGS="$(PLUGIN_CFLAGS)"
-+ifdef FreeBSD
-+LIBRAW_CONFIG=./libraw-config
-+endif
-+
-+
- ifdef WINDOWS
- LIBRAW_CONFIG=./libraw-config --windows
- endif
-@@ -488,9 +532,20 @@
- $(INSTALL_DATA) $(EXPANDED_HELP_IMAGES) $(DESTDIR)$(PREFIX)/share/gnome/help/shotwell/C/figures
- endif
- endif
-+ifdef FreeBSD
-+ifndef DISABLE_SCHEMAS_INSTALL
-+ GCONF_CONFIG_SOURCE=%%GCONF_CONFIG_SOURCE%% gconftool-2 --makefile-install-rule misc/shotwell.schemas
-+ mkdir -p $(DESTDIR)$(SCHEMA_FILE_DIR)
-+ $(INSTALL_DATA) misc/shotwell.schemas $(DESTDIR)$(SCHEMA_FILE_DIR)
-+endif
-+ifdef ENABLE_APPORT_HOOK_INSTALL
-+ mkdir -p $(DESTDIR)$(PREFIX)/share/apport/package-hooks
-+ $(INSTALL_DATA) apport/shotwell.py $(DESTDIR)$(PREFIX)/share/apport/package-hooks
-+endif
-+endif
- -$(foreach lang,$(SUPPORTED_LANGUAGES),`mkdir -p $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES ; \
-- $(INSTALL_DATA) $(LOCAL_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo \
-- $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`)
-+ $(INSTALL_DATA) $(LOCAL_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo \
-+ $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`)
+@@ -686,7 +687,7 @@
+ glade: lib$(PROGRAM).so
- uninstall:
- rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM)
-@@ -514,6 +569,16 @@
- rm -f $(DESTDIR)$(PREFIX)/share/apport/package-hooks/shotwell.py
- endif
- endif
-+ifdef FreeBSD
-+ifndef DISABLE_SCHEMAS_INSTALL
-+ GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule misc/shotwell.schemas
-+else
-+ rm -f $(DESTDIR)$(SCHEMA_FILE_DIR)/shotwell.schemas
-+endif
-+ifdef ENABLE_APPORT_HOOK_INSTALL
-+ rm -f $(DESTDIR)$(PREFIX)/share/apport/package-hooks/shotwell.py
-+endif
-+endif
- $(foreach lang,$(SUPPORTED_LANGUAGES),`rm -f $(SYSTEM_LANG_DIR)/$(lang)/LC_MESSAGES/shotwell.mo`)
+ lib$(PROGRAM).so: $(EXPANDED_OBJ_FILES) $(RESOURCES) $(LANG_STAMP)
+- $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(RESOURCES) $(VALA_LDFLAGS) `$(LIBRAW_CONFIG) --libs` $(EXPORT_FLAGS) -shared -o $@
++ $(CC) $(EXPANDED_OBJ_FILES) $(CFLAGS) $(RESOURCES) $(VALA_LDFLAGS) $(LDFLAGS) `pkg-config --libs libraw` $(EXPORT_FLAGS) -shared -o $@
- $(VALA_STAMP): $(EXPANDED_SRC_FILES) $(EXPANDED_VAPI_FILES) $(EXPANDED_SRC_HEADER_FILES) Makefile \
+ .PHONY: pkgcheck
+ pkgcheck:
diff --git a/graphics/shotwell/files/patch-src-camera-CameraTable.vala b/graphics/shotwell/files/patch-src-camera-CameraTable.vala
new file mode 100644
index 000000000000..32e3b88a6eee
--- /dev/null
+++ b/graphics/shotwell/files/patch-src-camera-CameraTable.vala
@@ -0,0 +1,292 @@
+$NetBSD: patch-ab,v 1.4 2011/07/12 19:00:57 drochner Exp $
+
+--- src/camera/CameraTable.vala.orig 2011-03-22 20:46:15.000000000 +0000
++++ src/camera/CameraTable.vala
+@@ -26,7 +26,6 @@ public class CameraTable {
+
+ private static CameraTable instance = null;
+
+- private GUdev.Client client = new GUdev.Client(SUBSYSTEMS);
+ private OneShotScheduler camera_update_scheduler = null;
+ private GPhoto.Context null_context = new GPhoto.Context();
+ private GPhoto.CameraAbilitiesList abilities_list;
+@@ -44,7 +43,6 @@ public class CameraTable {
+ on_update_cameras);
+
+ // listen for interesting events on the specified subsystems
+- client.uevent.connect(on_udev_event);
+ volume_monitor = VolumeMonitor.get();
+ volume_monitor.volume_changed.connect(on_volume_changed);
+ volume_monitor.volume_added.connect(on_volume_changed);
+@@ -96,43 +94,18 @@ public class CameraTable {
+ if (res != GPhoto.Result.OK)
+ throw new GPhotoError.LIBRARY("[%d] Unable to %s: %s", (int) res, op, res.as_string());
+ }
+-
++
+ private void init_camera_table() throws GPhotoError {
+ do_op(GPhoto.CameraAbilitiesList.create(out abilities_list), "create camera abilities list");
+ do_op(abilities_list.load(null_context), "load camera abilities list");
+ }
+-
++
+ private string[] get_all_usb_cameras() {
+ string[] cameras = new string[0];
+-
+- GLib.List<GUdev.Device> device_list = client.query_by_subsystem(null);
+- foreach (GUdev.Device device in device_list) {
+- string device_file = device.get_device_file();
+- if(
+- // only keep devices that have a non-null device file and that
+- // have both the ID_GPHOTO2 and GPHOTO2_DRIVER properties set
+- (device_file != null) &&
+- (device.has_property("ID_GPHOTO2")) &&
+- (device.has_property("GPHOTO2_DRIVER"))
+- ) {
+- int camera_bus, camera_device;
+- // extract the bus and device IDs from the device file string
+- // TODO: is it safe to parse the absolute path or should we be
+- // smarter and use a regex to only pick up the end of the path?
+- if (device_file.scanf("/dev/bus/usb/%d/%d", out camera_bus, out camera_device) < 2) {
+- critical("get_all_usb_cameras: Failed to scanf device file %s", device_file);
+-
+- continue;
+- }
+- string camera = "usb:%.3d,%.3d".printf(camera_bus, camera_device);
+- debug("USB camera detected at %s", camera);
+- cameras += camera;
+- }
+- }
+-
++
+ return cameras;
+ }
+-
++
+ // USB (or libusb) is a funny beast; if only one USB device is present (i.e. the camera),
+ // then a single camera is detected at port usb:. However, if multiple USB devices are
+ // present (including non-cameras), then the first attached camera will be listed twice,
+@@ -141,59 +114,59 @@ public class CameraTable {
+ //
+ // This function gleans the full port name of a particular port, even if it's the unadorned
+ // "usb:", by using GUdev.
+- private bool usb_esp(int current_camera_count, string[] usb_cameras, string port,
++ private bool usb_esp(int current_camera_count, string[] usb_cameras, string port,
+ out string full_port) {
+ // sanity
+ assert(current_camera_count > 0);
+-
++
+ debug("USB ESP: current_camera_count=%d port=%s", current_camera_count, port);
+-
++
+ // if GPhoto detects one camera, and USB reports one camera, all is swell
+ if (current_camera_count == 1 && usb_cameras.length == 1) {
+ full_port = usb_cameras[0];
+-
++
+ debug("USB ESP: port=%s full_port=%s", port, full_port);
+-
++
+ return true;
+ }
+
+ // with more than one camera, skip the mirrored "usb:" port
+ if (port == "usb:") {
+ debug("USB ESP: Skipping %s", port);
+-
++
+ return false;
+ }
+-
++
+ // parse out the bus and device ID
+ int bus, device;
+ if (port.scanf("usb:%d,%d", out bus, out device) < 2) {
+ critical("USB ESP: Failed to scanf %s", port);
+-
++
+ return false;
+ }
+-
++
+ foreach (string usb_camera in usb_cameras) {
+ int camera_bus, camera_device;
+ if (usb_camera.scanf("usb:%d,%d", out camera_bus, out camera_device) < 2) {
+ critical("USB ESP: Failed to scanf %s", usb_camera);
+-
++
+ continue;
+ }
+-
++
+ if ((bus == camera_bus) && (device == camera_device)) {
+ full_port = port;
+-
++
+ debug("USB ESP: port=%s full_port=%s", port, full_port);
+
+ return true;
+ }
+ }
+-
++
+ debug("USB ESP: No matching bus/device found for port=%s", port);
+-
++
+ return false;
+ }
+-
++
+ public static string get_port_uri(string port) {
+ return "gphoto2://[%s]/".printf(port);
+ }
+@@ -204,24 +177,6 @@ public class CameraTable {
+ "/dev/bus/usb/%s".printf(port.substring(4).replace(",", "/")) : null;
+ }
+
+- private string? get_name_for_uuid(string uuid) {
+- foreach (Volume volume in volume_monitor.get_volumes()) {
+- if (volume.get_identifier(VOLUME_IDENTIFIER_KIND_UUID) == uuid) {
+- return volume.get_name();
+- }
+- }
+- return null;
+- }
+-
+- private GLib.Icon? get_icon_for_uuid(string uuid) {
+- foreach (Volume volume in volume_monitor.get_volumes()) {
+- if (volume.get_identifier(VOLUME_IDENTIFIER_KIND_UUID) == uuid) {
+- return volume.get_icon();
+- }
+- }
+- return null;
+- }
+-
+ private void update_camera_table() throws GPhotoError {
+ // need to do this because virtual ports come and go in the USB world (and probably others)
+ GPhoto.PortInfoList port_info_list;
+@@ -231,13 +186,13 @@ public class CameraTable {
+ GPhoto.CameraList camera_list;
+ do_op(GPhoto.CameraList.create(out camera_list), "create camera list");
+ do_op(abilities_list.detect(port_info_list, camera_list, null_context), "detect cameras");
+-
++
+ Gee.HashMap<string, string> detected_map = new Gee.HashMap<string, string>(str_hash, str_equal,
+ str_equal);
+-
++
+ // walk the USB chain and find all PTP cameras; this is necessary for usb_esp
+ string[] usb_cameras = get_all_usb_cameras();
+-
++
+ // go through the detected camera list and glean their ports
+ for (int ctr = 0; ctr < camera_list.count(); ctr++) {
+ string name;
+@@ -245,55 +200,55 @@ public class CameraTable {
+
+ string port;
+ do_op(camera_list.get_value(ctr, out port), "get detected camera port");
+-
++
+ debug("Detected %d/%d %s @ %s", ctr + 1, camera_list.count(), name, port);
+-
++
+ // do some USB ESP, skipping ports that cannot be deduced
+ if (port.has_prefix("usb:")) {
+ string full_port;
+ if (!usb_esp(camera_list.count(), usb_cameras, port, out full_port))
+ continue;
+-
++
+ port = full_port;
+ }
+
+ detected_map.set(port, name);
+ }
+-
++
+ // find cameras that have disappeared
+ DiscoveredCamera[] missing = new DiscoveredCamera[0];
+ foreach (DiscoveredCamera camera in camera_map.values) {
+ GPhoto.PortInfo port_info;
+- do_op(camera.gcamera.get_port_info(out port_info),
++ do_op(camera.gcamera.get_port_info(out port_info),
+ "retrieve missing camera port information");
+-
++
+ GPhoto.CameraAbilities abilities;
+ do_op(camera.gcamera.get_abilities(out abilities), "retrieve camera abilities");
+-
++
+ if (detected_map.has_key(port_info.path)) {
+ debug("Found camera for %s @ %s in detected map", abilities.model, port_info.path);
+-
++
+ continue;
+ }
+-
++
+ debug("%s @ %s missing", abilities.model, port_info.path);
+-
++
+ missing += camera;
+ }
+-
++
+ // have to remove from hash map outside of iterator
+ foreach (DiscoveredCamera camera in missing) {
+ GPhoto.PortInfo port_info;
+ do_op(camera.gcamera.get_port_info(out port_info),
+ "retrieve missing camera port information");
+-
++
+ GPhoto.CameraAbilities abilities;
+ do_op(camera.gcamera.get_abilities(out abilities), "retrieve missing camera abilities");
+
+ debug("Removing from camera table: %s @ %s", abilities.model, port_info.path);
+
+ camera_map.unset(get_port_uri(port_info.path));
+-
++
+ camera_removed(camera);
+ }
+
+@@ -311,23 +266,6 @@ public class CameraTable {
+ continue;
+ }
+
+- // Get display name for camera.
+- string path = get_port_path(port);
+- if (null != path) {
+- GUdev.Device device = client.query_by_device_file(path);
+- string serial = device.get_property("ID_SERIAL_SHORT");
+- if (null != serial) {
+- // Try to get the name and icon.
+- display_name = get_name_for_uuid(serial);
+- icon = get_icon_for_uuid(serial);
+- }
+- if (null == display_name) {
+- display_name = device.get_sysfs_attr("product");
+- }
+- if (null == display_name) {
+- display_name = device.get_property("ID_MODEL");
+- }
+- }
+ if (null == display_name) {
+ // Default to GPhoto detected name.
+ display_name = name;
+@@ -365,13 +303,6 @@ public class CameraTable {
+ }
+ }
+
+- private void on_udev_event(string action, GUdev.Device device) {
+- debug("udev event: %s on %s", action, device.get_name());
+-
+- // Device add/removes often arrive in pairs; this allows for a single
+- // update to occur when they come in all at once
+- camera_update_scheduler.after_timeout(UPDATE_DELAY_MSEC, true);
+- }
+
+ public void on_volume_changed(Volume volume) {
+ camera_update_scheduler.after_timeout(UPDATE_DELAY_MSEC, true);
diff --git a/graphics/shotwell/files/patch-src_Dialogs.vala b/graphics/shotwell/files/patch-src_Dialogs.vala
deleted file mode 100644
index 5b2a1643b96b..000000000000
--- a/graphics/shotwell/files/patch-src_Dialogs.vala
+++ /dev/null
@@ -1,11 +0,0 @@
---- src/Dialogs.vala.orig 2011-03-17 22:13:24.000000000 -0500
-+++ src/Dialogs.vala 2011-03-17 22:14:45.000000000 -0500
-@@ -1449,7 +1449,7 @@
- ((FileIcon) app_icon).get_file().get_path()), Resources.DEFAULT_ICON_SCALE,
- Gdk.InterpType.BILINEAR, false));
- } else if (app_icon is ThemedIcon) {
-- unowned Gdk.Pixbuf icon_pixbuf =
-+ Gdk.Pixbuf icon_pixbuf =
- Gtk.IconTheme.get_default().load_icon(((ThemedIcon) app_icon).get_names()[0],
- Resources.DEFAULT_ICON_SCALE, Gtk.IconLookupFlags.FORCE_SIZE);
-
diff --git a/graphics/shotwell/files/patch-src_photos_GRaw.vala b/graphics/shotwell/files/patch-src_photos_GRaw.vala
new file mode 100644
index 000000000000..3f9655e9d3b3
--- /dev/null
+++ b/graphics/shotwell/files/patch-src_photos_GRaw.vala
@@ -0,0 +1,38 @@
+$NetBSD: patch-src_photos_GRaw.vala,v 1.1 2011/07/31 17:37:01 gls Exp $
+
+Fix importing with libraw 0.13.6 & 0.13.7
+Taken from upstream: http://redmine.yorba.org/issues/3868
+
+--- src/photos/GRaw.vala.orig 2011-05-26 23:43:17.000000000 +0000
++++ src/photos/GRaw.vala
+@@ -110,8 +110,8 @@ public class ProcessedImage {
+ }
+
+ public ProcessedImage(LibRaw.Processor proc) throws Exception {
+- LibRaw.Result result;
+- image = proc.make_mem_image(out result);
++ LibRaw.Result result = LibRaw.Result.SUCCESS;
++ image = proc.make_mem_image(ref result);
+ throw_exception("ProcessedImage", result);
+ assert(image != null);
+
+@@ -122,8 +122,8 @@ public class ProcessedImage {
+ }
+
+ public ProcessedImage.from_thumb(LibRaw.Processor proc) throws Exception {
+- LibRaw.Result result;
+- image = proc.make_mem_thumb(out result);
++ LibRaw.Result result = LibRaw.Result.SUCCESS;
++ image = proc.make_mem_thumb(ref result);
+ throw_exception("ProcessedImage.from_thumb", result);
+ assert(image != null);
+
+@@ -280,7 +280,7 @@ private void throw_exception(string call
+ if (result == LibRaw.Result.SUCCESS)
+ return;
+ else if (result > 0)
+- throw new Exception.SYSTEM_ERROR("System error %d: %s", (int) result, strerror(result));
++ throw new Exception.SYSTEM_ERROR("%s: System error %d: %s", caller, (int) result, strerror(result));
+
+ string msg = "%s: %s".printf(caller, result.to_string());
+
diff --git a/graphics/shotwell/files/patch-vapi_libraw.vapi b/graphics/shotwell/files/patch-vapi_libraw.vapi
new file mode 100644
index 000000000000..63e0dc999bf1
--- /dev/null
+++ b/graphics/shotwell/files/patch-vapi_libraw.vapi
@@ -0,0 +1,19 @@
+$NetBSD: patch-vapi_libraw.vapi,v 1.1 2011/07/31 17:37:01 gls Exp $
+
+Fix importing with libraw 0.13.6 & 0.13.7
+Taken from upstream: http://redmine.yorba.org/issues/3868
+
+--- vapi/libraw.vapi.orig 2011-05-26 23:43:17.000000000 +0000
++++ vapi/libraw.vapi
+@@ -182,9 +182,9 @@ public class Processor {
+ public unowned ImageSizes get_sizes() { return sizes; }
+ public unowned Thumbnail get_thumbnail() { return thumbnail; }
+ [CCode (cname="libraw_dcraw_make_mem_image")]
+- public ProcessedImage make_mem_image(out Result result);
++ public ProcessedImage make_mem_image(ref Result result);
+ [CCode (cname="libraw_dcraw_make_mem_thumb")]
+- public ProcessedImage make_mem_thumb(out Result result);
++ public ProcessedImage make_mem_thumb(ref Result result);
+ public Result open_buffer(uint8[] buffer);
+ public Result open_file(string filename);
+ [CCode (cname="libraw_dcraw_process")]
diff --git a/graphics/shotwell/pkg-plist b/graphics/shotwell/pkg-plist
index 177898802d99..41b88faf4e35 100644
--- a/graphics/shotwell/pkg-plist
+++ b/graphics/shotwell/pkg-plist
@@ -1,64 +1,177 @@
bin/shotwell
+bin/shotwell-video-thumbnailer
+lib/shotwell/plugins/builtin/facebook.png
+lib/shotwell/plugins/builtin/flickr.png
+lib/shotwell/plugins/builtin/picasa.png
+lib/shotwell/plugins/builtin/piwigo.png
+lib/shotwell/plugins/builtin/piwigo_authentication_pane.glade
+lib/shotwell/plugins/builtin/shotwell-publishing-extras.so
+lib/shotwell/plugins/builtin/shotwell-publishing.so
+lib/shotwell/plugins/builtin/shotwell-transitions.so
+lib/shotwell/plugins/builtin/slideshow-plugin.png
+lib/shotwell/plugins/builtin/yandex_publish_model.glade
+lib/shotwell/plugins/builtin/youtube.png
share/applications/shotwell-viewer.desktop
share/applications/shotwell.desktop
+share/gnome/help/shotwell/C/edit-adjustments.page
+share/gnome/help/shotwell/C/edit-crop.page
+share/gnome/help/shotwell/C/edit-enhance.page
+share/gnome/help/shotwell/C/edit-external.page
+share/gnome/help/shotwell/C/edit-nondestructive.page
+share/gnome/help/shotwell/C/edit-redeye.page
+share/gnome/help/shotwell/C/edit-rotate.page
+share/gnome/help/shotwell/C/edit-time-date.page
+share/gnome/help/shotwell/C/edit-undo.page
+share/gnome/help/shotwell/C/figures/crop_thirds.jpg
+share/gnome/help/shotwell/C/figures/edit_toolbar.png
+share/gnome/help/shotwell/C/figures/editing_overview.png
+share/gnome/help/shotwell/C/figures/shotwell_logo.png
+share/gnome/help/shotwell/C/figures/trash_process.png
+share/gnome/help/shotwell/C/formats.page
+share/gnome/help/shotwell/C/import-camera.page
+share/gnome/help/shotwell/C/import-f-spot.page
+share/gnome/help/shotwell/C/import-file.page
+share/gnome/help/shotwell/C/import-memorycard.page
+share/gnome/help/shotwell/C/index.page
+share/gnome/help/shotwell/C/organize-event.page
+share/gnome/help/shotwell/C/organize-flag.page
+share/gnome/help/shotwell/C/organize-rating.page
+share/gnome/help/shotwell/C/organize-remove.page
+share/gnome/help/shotwell/C/organize-search.page
+share/gnome/help/shotwell/C/organize-tag.page
+share/gnome/help/shotwell/C/organize-title.page
+share/gnome/help/shotwell/C/other-files.page
+share/gnome/help/shotwell/C/other-missing.page
+share/gnome/help/shotwell/C/other-multiple.page
+share/gnome/help/shotwell/C/running.page
+share/gnome/help/shotwell/C/share-background.page
+share/gnome/help/shotwell/C/share-export.page
+share/gnome/help/shotwell/C/share-print.page
+share/gnome/help/shotwell/C/share-send.page
+share/gnome/help/shotwell/C/share-slideshow.page
+share/gnome/help/shotwell/C/share-upload.page
+share/gnome/help/shotwell/C/view-displaying.page
+share/gnome/help/shotwell/C/view-information.page
+share/gnome/help/shotwell/C/view-sidebar.page
+share/icons/hicolor/16x16/apps/shotwell.svg
+share/icons/hicolor/24x24/apps/shotwell.svg
share/icons/hicolor/scalable/apps/shotwell.svg
+share/locale/ar/LC_MESSAGES/shotwell-extras.mo
share/locale/ar/LC_MESSAGES/shotwell.mo
+share/locale/ast/LC_MESSAGES/shotwell-extras.mo
share/locale/ast/LC_MESSAGES/shotwell.mo
+share/locale/bg/LC_MESSAGES/shotwell-extras.mo
share/locale/bg/LC_MESSAGES/shotwell.mo
+share/locale/bn/LC_MESSAGES/shotwell-extras.mo
share/locale/bn/LC_MESSAGES/shotwell.mo
+share/locale/ca/LC_MESSAGES/shotwell-extras.mo
share/locale/ca/LC_MESSAGES/shotwell.mo
+share/locale/cs/LC_MESSAGES/shotwell-extras.mo
share/locale/cs/LC_MESSAGES/shotwell.mo
+share/locale/da/LC_MESSAGES/shotwell-extras.mo
share/locale/da/LC_MESSAGES/shotwell.mo
+share/locale/de/LC_MESSAGES/shotwell-extras.mo
share/locale/de/LC_MESSAGES/shotwell.mo
+share/locale/el/LC_MESSAGES/shotwell-extras.mo
share/locale/el/LC_MESSAGES/shotwell.mo
+share/locale/en_GB/LC_MESSAGES/shotwell-extras.mo
share/locale/en_GB/LC_MESSAGES/shotwell.mo
+share/locale/es/LC_MESSAGES/shotwell-extras.mo
share/locale/es/LC_MESSAGES/shotwell.mo
+share/locale/et/LC_MESSAGES/shotwell-extras.mo
share/locale/et/LC_MESSAGES/shotwell.mo
+share/locale/eu/LC_MESSAGES/shotwell-extras.mo
+share/locale/eu/LC_MESSAGES/shotwell.mo
+share/locale/fi/LC_MESSAGES/shotwell-extras.mo
share/locale/fi/LC_MESSAGES/shotwell.mo
+share/locale/fr/LC_MESSAGES/shotwell-extras.mo
share/locale/fr/LC_MESSAGES/shotwell.mo
+share/locale/gl/LC_MESSAGES/shotwell-extras.mo
share/locale/gl/LC_MESSAGES/shotwell.mo
+share/locale/he/LC_MESSAGES/shotwell-extras.mo
+share/locale/he/LC_MESSAGES/shotwell.mo
+share/locale/hr/LC_MESSAGES/shotwell-extras.mo
share/locale/hr/LC_MESSAGES/shotwell.mo
+share/locale/hu/LC_MESSAGES/shotwell-extras.mo
share/locale/hu/LC_MESSAGES/shotwell.mo
+share/locale/id/LC_MESSAGES/shotwell-extras.mo
share/locale/id/LC_MESSAGES/shotwell.mo
+share/locale/it/LC_MESSAGES/shotwell-extras.mo
share/locale/it/LC_MESSAGES/shotwell.mo
+share/locale/ja/LC_MESSAGES/shotwell-extras.mo
share/locale/ja/LC_MESSAGES/shotwell.mo
+share/locale/kk/LC_MESSAGES/shotwell-extras.mo
share/locale/kk/LC_MESSAGES/shotwell.mo
+share/locale/ko/LC_MESSAGES/shotwell-extras.mo
share/locale/ko/LC_MESSAGES/shotwell.mo
+share/locale/lt/LC_MESSAGES/shotwell-extras.mo
share/locale/lt/LC_MESSAGES/shotwell.mo
+share/locale/lv/LC_MESSAGES/shotwell-extras.mo
share/locale/lv/LC_MESSAGES/shotwell.mo
+share/locale/mk/LC_MESSAGES/shotwell-extras.mo
+share/locale/mk/LC_MESSAGES/shotwell.mo
+share/locale/nb/LC_MESSAGES/shotwell-extras.mo
share/locale/nb/LC_MESSAGES/shotwell.mo
+share/locale/nl/LC_MESSAGES/shotwell-extras.mo
share/locale/nl/LC_MESSAGES/shotwell.mo
+share/locale/pa/LC_MESSAGES/shotwell-extras.mo
share/locale/pa/LC_MESSAGES/shotwell.mo
+share/locale/pl/LC_MESSAGES/shotwell-extras.mo
share/locale/pl/LC_MESSAGES/shotwell.mo
+share/locale/pt/LC_MESSAGES/shotwell-extras.mo
share/locale/pt/LC_MESSAGES/shotwell.mo
+share/locale/pt_BR/LC_MESSAGES/shotwell-extras.mo
+share/locale/pt_BR/LC_MESSAGES/shotwell.mo
+share/locale/ro/LC_MESSAGES/shotwell-extras.mo
share/locale/ro/LC_MESSAGES/shotwell.mo
+share/locale/ru/LC_MESSAGES/shotwell-extras.mo
share/locale/ru/LC_MESSAGES/shotwell.mo
+share/locale/sk/LC_MESSAGES/shotwell-extras.mo
share/locale/sk/LC_MESSAGES/shotwell.mo
+share/locale/sl/LC_MESSAGES/shotwell-extras.mo
share/locale/sl/LC_MESSAGES/shotwell.mo
+share/locale/sr/LC_MESSAGES/shotwell-extras.mo
share/locale/sr/LC_MESSAGES/shotwell.mo
+share/locale/sv/LC_MESSAGES/shotwell-extras.mo
share/locale/sv/LC_MESSAGES/shotwell.mo
+share/locale/ta/LC_MESSAGES/shotwell-extras.mo
+share/locale/ta/LC_MESSAGES/shotwell.mo
+share/locale/te/LC_MESSAGES/shotwell-extras.mo
+share/locale/te/LC_MESSAGES/shotwell.mo
+share/locale/th/LC_MESSAGES/shotwell-extras.mo
share/locale/th/LC_MESSAGES/shotwell.mo
+share/locale/tr/LC_MESSAGES/shotwell-extras.mo
share/locale/tr/LC_MESSAGES/shotwell.mo
+share/locale/uk/LC_MESSAGES/shotwell-extras.mo
share/locale/uk/LC_MESSAGES/shotwell.mo
+share/locale/zh_CN/LC_MESSAGES/shotwell-extras.mo
share/locale/zh_CN/LC_MESSAGES/shotwell.mo
+share/locale/zh_TW/LC_MESSAGES/shotwell-extras.mo
share/locale/zh_TW/LC_MESSAGES/shotwell.mo
%%DATADIR%%/icons/all-rejected.png
%%DATADIR%%/icons/crop-pivot-reticle.png
%%DATADIR%%/icons/crop.svg
%%DATADIR%%/icons/drag_nub.png
%%DATADIR%%/icons/enhance.png
+%%DATADIR%%/icons/filter-flagged.png
+%%DATADIR%%/icons/filter-photos.png
+%%DATADIR%%/icons/filter-raw.png
+%%DATADIR%%/icons/filter-videos.png
%%DATADIR%%/icons/five-star-filter.svg
%%DATADIR%%/icons/five-stars.svg
+%%DATADIR%%/icons/flag-page.png
+%%DATADIR%%/icons/flag-trinket.png
%%DATADIR%%/icons/four-star-filter-plus.svg
%%DATADIR%%/icons/four-stars.svg
+%%DATADIR%%/icons/generic-plugin.png
%%DATADIR%%/icons/image-adjust.svg
%%DATADIR%%/icons/import-all.png
%%DATADIR%%/icons/import.svg
-%%DATADIR%%/icons/last-import-roll.png
%%DATADIR%%/icons/make-primary.svg
%%DATADIR%%/icons/merge.svg
%%DATADIR%%/icons/multiple-events.png
%%DATADIR%%/icons/multiple-tags.png
+%%DATADIR%%/icons/noninterpretable-video.png
%%DATADIR%%/icons/one-event.png
%%DATADIR%%/icons/one-star-filter-plus.svg
%%DATADIR%%/icons/one-star.svg
@@ -67,15 +180,20 @@ share/locale/zh_TW/LC_MESSAGES/shotwell.mo
%%DATADIR%%/icons/publish.png
%%DATADIR%%/icons/redeye.png
%%DATADIR%%/icons/rejected.svg
+%%DATADIR%%/icons/searchbox-clear.svg
+%%DATADIR%%/icons/searchbox-find.svg
%%DATADIR%%/icons/shotwell-16.svg
%%DATADIR%%/icons/shotwell-24.svg
%%DATADIR%%/icons/shotwell-street.jpg
%%DATADIR%%/icons/shotwell.ico
%%DATADIR%%/icons/shotwell.svg
+%%DATADIR%%/icons/slideshow-extension-point.png
+%%DATADIR%%/icons/sprocket.png
%%DATADIR%%/icons/three-star-filter-plus.svg
%%DATADIR%%/icons/three-stars.svg
%%DATADIR%%/icons/two-star-filter-plus.svg
%%DATADIR%%/icons/two-stars.svg
+%%DATADIR%%/icons/videos-page.png
%%DATADIR%%/icons/zoom-in.png
%%DATADIR%%/icons/zoom-out.png
%%DATADIR%%/ui/collection.ui
@@ -85,9 +203,15 @@ share/locale/zh_TW/LC_MESSAGES/shotwell.mo
%%DATADIR%%/ui/fullscreen.ui
%%DATADIR%%/ui/import.ui
%%DATADIR%%/ui/import_queue.ui
+%%DATADIR%%/ui/media.ui
%%DATADIR%%/ui/offline.ui
%%DATADIR%%/ui/photo.ui
+%%DATADIR%%/ui/savedsearch.ui
+%%DATADIR%%/ui/search_bar.ui
+%%DATADIR%%/ui/set_background_dialog.glade
%%DATADIR%%/ui/shotwell.glade
+%%DATADIR%%/ui/shotwell.xml
+%%DATADIR%%/ui/sidebar_default.ui
%%DATADIR%%/ui/tags.ui
%%DATADIR%%/ui/trash.ui
@dirrm %%DATADIR%%/ui
@@ -97,6 +221,12 @@ share/locale/zh_TW/LC_MESSAGES/shotwell.mo
@dirrmtry share/locale/kk
@dirrmtry share/locale/ast/LC_MESSAGES
@dirrmtry share/locale/ast
+@dirrm share/gnome/help/shotwell/C/figures
+@dirrm share/gnome/help/shotwell/C
+@dirrm share/gnome/help/shotwell
@dirrmtry share/applications
+@dirrm lib/shotwell/plugins/builtin
+@dirrm lib/shotwell/plugins
+@dirrm lib/shotwell
@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true
@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true