diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libgphoto2')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libgphoto2/default.nix | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libgphoto2/default.nix b/nixpkgs/pkgs/development/libraries/libgphoto2/default.nix new file mode 100644 index 000000000000..5305b4922530 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libgphoto2/default.nix @@ -0,0 +1,80 @@ +{ lib +, stdenv +, fetchFromGitHub +, buildPackages +, autoreconfHook +, pkg-config +, gettext +, libusb1 +, libtool +, libexif +, libgphoto2 +, libjpeg +, curl +, libxml2 +, gd +}: + +stdenv.mkDerivation rec { + pname = "libgphoto2"; + version = "2.5.29"; + + src = fetchFromGitHub { + owner = "gphoto"; + repo = "libgphoto2"; + rev = "libgphoto2-${builtins.replaceStrings [ "." ] [ "_" ] version}-release"; + sha256 = "sha256-Js5gbD57lhtqBX6joGMiLKUwkPDaSclnTrwBR87AliQ="; + }; + + depsBuildBuild = [ pkg-config ]; + + nativeBuildInputs = [ + autoreconfHook + gettext + libtool + pkg-config + ]; + + buildInputs = [ + libjpeg + libtool # for libltdl + libusb1 + curl + libxml2 + gd + ]; + + # These are mentioned in the Requires line of libgphoto's pkg-config file. + propagatedBuildInputs = [ libexif ]; + + hardeningDisable = [ "format" ]; + + postInstall = + let + executablePrefix = + if stdenv.buildPlatform == stdenv.hostPlatform then + "$out" + else + buildPackages.libgphoto2; + in + '' + mkdir -p $out/lib/udev/rules.d + ${executablePrefix}/lib/libgphoto2/print-camera-list \ + udev-rules version 175 group camera \ + >$out/lib/udev/rules.d/40-gphoto2.rules + ''; + + meta = { + homepage = "http://www.gphoto.org/proj/libgphoto2/"; + description = "A library for accessing digital cameras"; + longDescription = '' + This is the library backend for gphoto2. It contains the code for PTP, + MTP, and other vendor specific protocols for controlling and transferring data + from digital cameras. + ''; + # XXX: the homepage claims LGPL, but several src files are lgpl21Plus + license = lib.licenses.lgpl21Plus; + platforms = with lib.platforms; unix; + maintainers = with lib.maintainers; [ jcumming ]; + }; +} |