depot/third_party/nixpkgs/pkgs/tools/misc/usbmuxd2/default.nix

87 lines
2 KiB
Nix

{ lib
, clangStdenv
, fetchFromGitHub
, autoreconfHook
, pkg-config
, libimobiledevice
, libusb1
, avahi
, clang
, git
}: let
libgeneral = clangStdenv.mkDerivation rec {
pname = "libgeneral";
version = "74";
src = fetchFromGitHub {
owner = "tihmstar";
repo = pname;
rev = "refs/tags/${version}";
hash = "sha256-6aowcIYssc1xqH6kTi/cpH2F7rgc8+lGC8HgZWYH2w0=";
# Leave DotGit so that autoconfigure can read version from git tags
leaveDotGit = true;
};
nativeBuildInputs = [
autoreconfHook
git
pkg-config
];
meta = with lib; {
description = "Helper library used by usbmuxd2";
homepage = "https://github.com/tihmstar/libgeneral";
license = licenses.lgpl21;
platforms = platforms.all;
};
};
in
clangStdenv.mkDerivation rec {
pname = "usbmuxd2";
version = "unstable-2023-12-12";
src = fetchFromGitHub {
owner = "tihmstar";
repo = pname;
rev = "2ce399ddbacb110bd5a83a6b8232d42c9a9b6e84";
hash = "sha256-UVLLE73XuWTgGlpTMxUDykFmiBDqz6NCRO2rpRAYfow=";
# Leave DotGit so that autoconfigure can read version from git tags
leaveDotGit = true;
};
postPatch = ''
# Checking for libgeneral version still fails
sed -i 's/libgeneral >= $LIBGENERAL_MINVERS_STR/libgeneral/' configure.ac
'';
nativeBuildInputs = [
autoreconfHook
clang
git
pkg-config
];
propagatedBuildInputs = [
avahi
libgeneral
libimobiledevice
libusb1
];
configureFlags = [
"--with-udevrulesdir=${placeholder "out"}/lib/udev/rules.d"
"--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
];
makeFlags = [
"sbindir=${placeholder "out"}/bin"
];
meta = with lib; {
homepage = "https://github.com/tihmstar/usbmuxd2";
description = "Socket daemon to multiplex connections from and to iOS devices";
license = licenses.lgpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ onny ];
mainProgram = "usbmuxd";
};
}