tags 581662 +patch thanks Note: I'm just doing flyby rc bugsquashing here.
I made the build-dependency linux in question linux-specific (since afaict the library in question is linux-specific and likely to stay that way). Then I tried to build the package. Unsurprisingly it failed. Looking at the makefile it seems it only knew what to do on linux so I fixed that.
Then I discovered that as well as build-depending on gudev it also unconditionally asked pkg-config for it so I modified the makefile again so it didn't ask for those things on kfreebsd.
Then I found the camera stuff was pretty reliant on gudev. Lukilly there seemed to be a #if to disable the camera stuff so I used this.
Finally I ran into a build error which seemed to be a case of a missed #if in the camera stuff disabling, I've put one in but i'm not positive it's correct.
With these fixes the package builds and installs successfully on kfreebsd and appears to run. I have not further tested it.
I have also tried to make the Makefile treat hurd the same as kfreebsd but I have not tested on hurd.
A patch implementing the above is attatched ready for adding to the quilt series
Description: Fixes for non-linux ports Add support for freebsd and hurd (hurd untested) to makefile . Disable camera support (which appears to depend heavilly on gudev which in turn depends on udev which is linux specific) on freebsd and hurd . Fix a build issue with camera support disabled Author: Peter Green <plugw...@p10link.net> --- shotwell-0.5.0+dfsg.orig/Makefile +++ shotwell-0.5.0+dfsg/Makefile @@ -20,6 +20,13 @@ SYSTEM := $(UNAME:MINGW32_%=MinGW) ifeq "$(SYSTEM)" "Linux" LINUX = 1 + NIX = 1 +endif + +ifeq "$(SYSTEM)" "GNU/kFreeBSD" + KFBSD = 1 + USER_VALAFLAGS += -D NO_CAMERA + NIX = 1 endif ifeq "$(SYSTEM)" "MinGW" @@ -95,7 +102,7 @@ SRC_FILES = \ PicasaConnector.vala \ Screensaver.vala -ifndef LINUX +ifndef NIX SRC_FILES += \ GConf.vala endif @@ -155,6 +162,10 @@ EXT_PKGS = \ sqlite3 ifdef LINUX +EXT_PKGS += gudev-1.0 +endif + +ifdef NIX EXT_PKGS += \ gconf-2.0 \ libgphoto2 \ @@ -163,7 +174,6 @@ EXT_PKGS += \ unique-1.0 \ webkit-1.0 \ libusb \ - gudev-1.0 \ dbus-glib-1 endif @@ -179,6 +189,10 @@ EXT_PKG_VERSIONS = \ sqlite3 >= 3.5.9 ifdef LINUX + EXT_PKG_VERSIOS += gudev-1.0 >= 145 +endif + +ifdef NIX EXT_PKG_VERSIONS += \ gconf-2.0 >= 2.22.0 \ libgphoto2 >= 2.4.2 \ @@ -187,7 +201,6 @@ EXT_PKG_VERSIONS += \ unique-1.0 >= 1.0.0 \ webkit-1.0 >= 1.1.5 \ libusb >= 0.1.12 \ - gudev-1.0 >= 145 \ dbus-glib-1 >= 0.80 endif @@ -334,7 +347,7 @@ endif ifndef DISABLE_DESKTOP_UPDATE -update-desktop-database || : endif -ifdef LINUX +ifdef NIX ifndef DISABLE_SCHEMAS_INSTALL GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule misc/shotwell.schemas else @@ -355,7 +368,7 @@ uninstall: ifndef DISABLE_DESKTOP_UPDATE -update-desktop-database || : endif -ifdef LINUX +ifdef NIX ifndef DISABLE_SCHEMAS_INSTALL GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule misc/shotwell.schemas else --- shotwell-0.5.0+dfsg.orig/src/main.vala +++ shotwell-0.5.0+dfsg/src/main.vala @@ -17,7 +17,9 @@ Unique.Response on_shotwell_message(Uniq switch (command) { case ShotwellCommand.MOUNTED_CAMERA: - LibraryWindow.get_app().mounted_camera_shell_notification(data.get_text()); + #if !NO_CAMERA + LibraryWindow.get_app().mounted_camera_shell_notification(data.get_text()); + #endif break; case Unique.Command.ACTIVATE: