depot/third_party/nixpkgs/pkgs/development/libraries/libgphoto2/default.nix
Default email 5e7c2d6cef Project import generated by Copybara.
GitOrigin-RevId: f99e5f03cc0aa231ab5950a15ed02afec45ed51a
2023-10-09 21:29:22 +02:00

83 lines
1.9 KiB
Nix

{ lib
, stdenv
, fetchFromGitHub
, buildPackages
, autoreconfHook
, pkg-config
, gettext
, libusb1
, libtool
, libexif
, libgphoto2
, libjpeg
, curl
, libxml2
, gd
}:
stdenv.mkDerivation rec {
pname = "libgphoto2";
version = "2.5.31";
src = fetchFromGitHub {
owner = "gphoto";
repo = "libgphoto2";
rev = "libgphoto2-${builtins.replaceStrings [ "." ] [ "_" ] version}-release";
sha256 = "sha256-UmyDKEaPP9VJqi8f+y6JZcTlQomhMTN+/C//ODYx6/w=";
};
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,hwdb.d}
${executablePrefix}/lib/libgphoto2/print-camera-list \
udev-rules version 201 group camera \
>$out/lib/udev/rules.d/40-libgphoto2.rules
${executablePrefix}/lib/libgphoto2/print-camera-list \
hwdb version 201 group camera \
>$out/lib/udev/hwdb.d/20-gphoto.hwdb
'';
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 ];
};
}