ports/159733: Update: graphics/shotwell -> 0.10.1
David Thiel
lx at FreeBSD.org
Sat Aug 13 01:50:09 UTC 2011
>Number: 159733
>Category: ports
>Synopsis: Update: graphics/shotwell -> 0.10.1
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Sat Aug 13 01:50:09 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: David Thiel
>Release: FreeBSD 8.2-RELEASE amd64
>Organization:
>Environment:
System: FreeBSD redundancy.redundancy.org 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Thu Feb 17 02:41:51 UTC 2011 root at mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
Shotwell has been broken for quite a while. Here is a fix and update to 0.10.1,
partly based off of patches from NetBSD.
>How-To-Repeat:
Attempt to build shotwell. It will fail.
>Fix:
diff -ruN /usr/ports/graphics/shotwell/Makefile shotwell/Makefile
--- /usr/ports/graphics/shotwell/Makefile 2011-03-25 14:05:03.000000000 -0700
+++ shotwell/Makefile 2011-08-12 17:19:47.000000000 -0700
@@ -6,8 +6,7 @@
#
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}/
@@ -26,8 +25,6 @@
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 +33,7 @@
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 +42,17 @@
@${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 -ruN /usr/ports/graphics/shotwell/distinfo shotwell/distinfo
--- /usr/ports/graphics/shotwell/distinfo 2011-07-03 07:12:09.000000000 -0700
+++ shotwell/distinfo 2011-08-12 16:33:55.000000000 -0700
@@ -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 -ruN /usr/ports/graphics/shotwell/files/patch-Makefile shotwell/files/patch-Makefile
--- /usr/ports/graphics/shotwell/files/patch-Makefile 2010-12-28 14:39:11.000000000 -0800
+++ shotwell/files/patch-Makefile 2011-08-12 17:35:10.000000000 -0700
@@ -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
-+
- 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
-
-+# this should be ifndef LINUX && ifndef FreeBSD
- ifndef LINUX
-+ifndef FreeBSD
- SRC_FILES += \
- GConf.vala
- endif
-+endif
-
- VAPI_FILES = \
- libexif.vapi \
-@@ -288,6 +299,18 @@
- gdk-x11-2.0
- endif
-
-+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
-
-+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)
-
- ifndef BUILD_DIR
-@@ -357,6 +392,10 @@
-
- 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 @@
+--- 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)
+-
++
+
+ DIST_TAR = $(PROGRAM)-$(VERSION).tar
+ DIST_TAR_BZ2 = $(DIST_TAR).bz2
+@@ -420,7 +418,7 @@
+ # if not available.
LIBRAW_CONFIG=./libraw-config
- endif
-+ifdef FreeBSD
-+LIBRAW_CONFIG=./libraw-config
-+endif
-+
-+
- ifdef WINDOWS
- LIBRAW_CONFIG=./libraw-config --windows
- endif
-@@ -488,9 +532,20 @@
+-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
- endif
-+ifdef FreeBSD
+ifndef DISABLE_SCHEMAS_INSTALL
-+ GCONF_CONFIG_SOURCE=%%GCONF_CONFIG_SOURCE%% gconftool-2 --makefile-install-rule misc/shotwell.schemas
++ 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
-+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`)
-
- 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`)
+ -$(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 @@
+
+ # 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 @@
+ @
+
+ $(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 $@ $<
+
+ $(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 $@
+
+ $(THUMBNAILER_BIN): $(EXPANDED_THUMBNAILER_SRC_FILES)
+ $(VALAC) $(EXPANDED_THUMBNAILER_SRC_FILES) $(VALAFLAGS) -o $@ $(foreach pkg,$(THUMBNAILER_PKGS),--pkg=$(pkg))
+@@ -668,7 +670,6 @@
+
+ .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)"
+
+@@ -686,7 +687,7 @@
+ glade: lib$(PROGRAM).so
+
+ 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 -ruN /usr/ports/graphics/shotwell/files/patch-src-camera-CameraTable.vala shotwell/files/patch-src-camera-CameraTable.vala
--- /usr/ports/graphics/shotwell/files/patch-src-camera-CameraTable.vala 1969-12-31 16:00:00.000000000 -0800
+++ shotwell/files/patch-src-camera-CameraTable.vala 2011-07-12 18:01:04.000000000 -0700
@@ -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 -ruN /usr/ports/graphics/shotwell/files/patch-src_Dialogs.vala shotwell/files/patch-src_Dialogs.vala
--- /usr/ports/graphics/shotwell/files/patch-src_Dialogs.vala 2011-03-17 20:23:51.000000000 -0700
+++ shotwell/files/patch-src_Dialogs.vala 1969-12-31 16:00:00.000000000 -0800
@@ -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 -ruN /usr/ports/graphics/shotwell/files/patch-src_photos_GRaw.vala shotwell/files/patch-src_photos_GRaw.vala
--- /usr/ports/graphics/shotwell/files/patch-src_photos_GRaw.vala 1969-12-31 16:00:00.000000000 -0800
+++ shotwell/files/patch-src_photos_GRaw.vala 2011-07-31 10:37:01.000000000 -0700
@@ -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 -ruN /usr/ports/graphics/shotwell/files/patch-vapi_libraw.vapi shotwell/files/patch-vapi_libraw.vapi
--- /usr/ports/graphics/shotwell/files/patch-vapi_libraw.vapi 1969-12-31 16:00:00.000000000 -0800
+++ shotwell/files/patch-vapi_libraw.vapi 2011-07-31 10:37:01.000000000 -0700
@@ -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 -ruN /usr/ports/graphics/shotwell/pkg-plist shotwell/pkg-plist
--- /usr/ports/graphics/shotwell/pkg-plist 2010-12-28 14:39:11.000000000 -0800
+++ shotwell/pkg-plist 2011-08-12 17:56:38.000000000 -0700
@@ -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 @@
%%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,18 +203,24 @@
%%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
- at dirrm %%DATADIR%%/ui
@dirrm %%DATADIR%%/icons
+ at dirrm %%DATADIR%%/ui
@dirrm %%DATADIR%%
- at dirrmtry share/locale/kk/LC_MESSAGES
- at dirrmtry share/locale/kk
- at dirrmtry share/locale/ast/LC_MESSAGES
- at dirrmtry share/locale/ast
@dirrmtry share/applications
+ at dirrmtry share/locale/ast
+ at dirrmtry share/locale/ast/LC_MESSAGES
+ at dirrmtry share/locale/kk
+ at dirrmtry share/locale/kk/LC_MESSAGES
@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true
@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list