Index: head/graphics/shotwell/Makefile =================================================================== --- head/graphics/shotwell/Makefile (revision 474702) +++ head/graphics/shotwell/Makefile (revision 474703) @@ -1,82 +1,82 @@ # Created by: Mario Sergio Fujikawa Ferreira et al. # $FreeBSD$ PORTNAME= shotwell -PORTVERSION= 0.28.3 +PORTVERSION= 0.28.4 CATEGORIES= graphics gnome MASTER_SITES= GNOME/sources/shotwell/${PORTVERSION:R} MAINTAINER= cmt@FreeBSD.org COMMENT= Open source photo manager for GNOME LICENSE= LGPL21+ LICENSE_FILE= ${WRKSRC}/COPYING BUILD_DEPENDS= vala>=0.20.1:lang/vala \ bash:shells/bash \ itstool:textproc/itstool LIB_DEPENDS= libappstream-glib.so:devel/appstream-glib \ libdbus-glib-1.so:devel/dbus-glib \ libexiv2.so:graphics/exiv2 \ libgcr-ui-3.so:security/gcr \ libgdata.so:devel/libgdata \ libgee-0.8.so:devel/libgee \ libgstapp-1.0.so:multimedia/gstreamer1-plugins \ libgstreamer-1.0.so:multimedia/gstreamer1 \ liblcms2.so:graphics/lcms2 \ libjson-glib-1.0.so:devel/json-glib \ libp11-kit.so:security/p11-kit \ libsoup-2.4.so:devel/libsoup \ libgexiv2.so:graphics/gexiv2 \ libexif.so:graphics/libexif \ libgphoto2.so:graphics/libgphoto2 \ libwebkit2gtk-4.0.so:www/webkit2-gtk3 \ libunique-1.0.so:x11-toolkits/unique \ libraw.so:graphics/libraw \ librest-0.7.so:devel/librest \ libxml2.so:textproc/libxml2 USES= autoreconf gettext desktop-file-utils gmake libtool pkgconfig \ sqlite tar:xz USE_GNOME= cairo dconf gtk30 gnomedocutils USE_GSTREAMER1= yes USE_LDCONFIG= yes USE_XORG= x11 GNU_CONFIGURE= yes CONFIGURE_ENV+= --define=NO_CAMERA CONFIGURE_ARGS+= --enable-publishers=all --enable-extra-plugins INSTALL_TARGET= install-strip INSTALLS_ICONS= yes PORTSCOUT= limitw:1,even MAKE_JOBS_UNSAFE= yes OPTIONS_DEFINE= OPENMP NLS OPENMP_DESC= libraw uses OpenMP (implies GCC) NLS_CONFIGURE_ENABLE= nls NLS_USES= gettext NLS_LIBS= -L${LOCALBASE}/lib -lintl OPENMP_USES= compiler:openmp OPENMP_USES_OFF= compiler:c++11-lib GLIB_SCHEMAS= org.yorba.shotwell.gschema.xml org.yorba.shotwell-extras.gschema.xml post-configure: @${REINPLACE_CMD} -E \ -e 's|share/shotwell|${DATADIR_REL}|g' \ ${WRKSRC}/${MAKEFILE} # attempt at a DATADIR safe port @${REINPLACE_CMD} -E \ -e 's|\.get_child\("share")\.get_child\("shotwell")|${SHOTWELL_DATADIR}|' \ ${WRKSRC}/src/AppDirs.vala .include # attempt at a DATADIR safe port .for dir in ${DATADIR:S,^${PREFIX}/,,:S,/, ,g} SHOTWELL_DATADIR+=.get_child("${dir}") .endfor .include Index: head/graphics/shotwell/distinfo =================================================================== --- head/graphics/shotwell/distinfo (revision 474702) +++ head/graphics/shotwell/distinfo (revision 474703) @@ -1,3 +1,3 @@ -TIMESTAMP = 1525791684 -SHA256 (shotwell-0.28.3.tar.xz) = d08603f3736f9791c1d7fcfe586ffaaf07b05e18cff370c94c07d8f23e06d403 -SIZE (shotwell-0.28.3.tar.xz) = 5531900 +TIMESTAMP = 1531658607 +SHA256 (shotwell-0.28.4.tar.xz) = a976f5ab972e8448a1509fa0dc132e4b40d94d3d7c8c33dc0cc1e25fa7b0670e +SIZE (shotwell-0.28.4.tar.xz) = 5529712 Index: head/graphics/shotwell/files/patch-src-camera-CameraTable.vala =================================================================== --- head/graphics/shotwell/files/patch-src-camera-CameraTable.vala (revision 474702) +++ head/graphics/shotwell/files/patch-src-camera-CameraTable.vala (nonexistent) @@ -1,127 +0,0 @@ ---- src/camera/CameraTable.vala.orig 2018-03-10 06:42:15 UTC -+++ 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; -@@ -43,7 +42,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); -@@ -107,36 +105,10 @@ public class CameraTable { - do_op(GPhoto.CameraAbilitiesList.create(out abilities_list), "create camera abilities list"); - do_op(abilities_list.load(null_context), "load camera abilities list"); - } -- -+ -+ // dummy stub - the original requires udev - private string[] get_all_usb_cameras() { -- string[] cameras = new string[0]; -- -- GLib.List 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; -+ return new string[0]; - } - - // USB (or libusb) is a funny beast; if only one USB device is present (i.e. the camera), -@@ -211,24 +183,8 @@ public class CameraTable { - return port.has_prefix("usb:") ? - "/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(VolumeIdentifier.UUID) == uuid) { -- return volume.get_name(); -- } -- } -- return null; -- } -- -- private string? get_icon_for_uuid(string uuid) { -- foreach (Volume volume in volume_monitor.get_volumes()) { -- if (volume.get_identifier(VolumeIdentifier.UUID) == uuid) { -- return volume.get_icon().to_string(); -- } -- } -- return null; -- } -+ -+ // get_name_for_uuid() and get_icon_for_uuid() are not used (udev removal) - - private void update_camera_table() throws GPhotoError { - // need to do this because virtual ports come and go in the USB world (and probably others) -@@ -326,23 +282,7 @@ public class CameraTable { - } - - // 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"); -- } -- } -- -+ // in absence of udev, we fall back to the GPhoto name - if (port.has_prefix("disk:")) { - try { - var mount = File.new_for_path (port.substring(5)).find_enclosing_mount(); -@@ -391,14 +331,8 @@ public class CameraTable { - camera_added(camera); - } - } -- -- 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); -- } -+ -+ // on_udev_event() removed - we do not have udev - - public void on_volume_changed(Volume volume) { - camera_update_scheduler.after_timeout(UPDATE_DELAY_MSEC, true); Property changes on: head/graphics/shotwell/files/patch-src-camera-CameraTable.vala ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/graphics/shotwell/files/patch-configure.ac =================================================================== --- head/graphics/shotwell/files/patch-configure.ac (revision 474702) +++ head/graphics/shotwell/files/patch-configure.ac (revision 474703) @@ -1,10 +1,10 @@ ---- configure.ac.orig 2018-03-17 13:41:22 UTC +--- configure.ac.orig 2018-07-15 15:12:12 UTC +++ configure.ac @@ -114,7 +114,6 @@ PKG_CHECK_MODULES(SHOTWELL, [ gstreamer-plugins-base-1.0 >= 1.0.0 gstreamer-pbutils-1.0 >= 1.0.0 gtk+-3.0 >= 3.18.0 - gudev-1.0 >= 145 libexif >= 0.6.16 libgphoto2 >= 2.5.0 libraw >= 0.13.2 Index: head/graphics/shotwell/files/patch-src_camera_CameraTable.vala =================================================================== --- head/graphics/shotwell/files/patch-src_camera_CameraTable.vala (nonexistent) +++ head/graphics/shotwell/files/patch-src_camera_CameraTable.vala (revision 474703) @@ -0,0 +1,83 @@ +--- src/camera/CameraTable.vala.orig 2018-07-15 15:10:47 UTC ++++ 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; +@@ -43,7 +42,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); +@@ -118,23 +116,7 @@ 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(VolumeIdentifier.UUID) == uuid) { +- return volume.get_name(); +- } +- } +- return null; +- } +- +- private string? get_icon_for_uuid(string uuid) { +- foreach (Volume volume in volume_monitor.get_volumes()) { +- if (volume.get_identifier(VolumeIdentifier.UUID) == uuid) { +- return volume.get_icon().to_string(); +- } +- } +- return null; +- } ++ // get_name_for_uuid() and get_icon_for_uuid() are not used (udev removal) + + private void update_camera_table() throws GPhotoError { + // need to do this because virtual ports come and go in the USB world (and probably others) +@@ -221,23 +203,7 @@ public class CameraTable { + } + + // 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"); +- } +- } +- ++ // in absence of udev, we fall back to the GPhoto name + if (port.has_prefix("disk:")) { + try { + var mount = File.new_for_path (port.substring(5)).find_enclosing_mount(); +@@ -287,13 +253,7 @@ 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); +- } ++ // on_udev_event() removed - we do not have udev + + public void on_volume_changed(Volume volume) { + camera_update_scheduler.after_timeout(UPDATE_DELAY_MSEC, true); Property changes on: head/graphics/shotwell/files/patch-src_camera_CameraTable.vala ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property