1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5
6 autoconf,
7 automake,
8 libtool,
9 pkg-config,
10
11 libimobiledevice,
12 libplist,
13 libusb1,
14 openssl,
15
16 nix-update-script,
17 testers,
18}:
19
20stdenv.mkDerivation (finalAttrs: {
21 pname = "ios-webkit-debug-proxy";
22 version = "1.9.2";
23
24 outputs = [
25 "out"
26 "dev"
27 ];
28
29 src = fetchFromGitHub {
30 owner = "google";
31 repo = "ios-webkit-debug-proxy";
32 rev = "v${finalAttrs.version}";
33 hash = "sha256-42hNAMokjfo7Vi1xclFcjUmioMFQW64HYTMvvTVk5hY=";
34 };
35
36 patches = [
37 # Examples compilation breaks with --disable-static, see https://github.com/google/ios-webkit-debug-proxy/issues/399
38 ./0001-Don-t-compile-examples.patch
39 ];
40
41 nativeBuildInputs = [
42 autoconf
43 automake
44 libtool
45 pkg-config
46 ];
47
48 buildInputs = [
49 libimobiledevice
50 libplist
51 libusb1
52 openssl
53 ];
54
55 preConfigure = ''
56 NOCONFIGURE=1 ./autogen.sh
57 '';
58
59 enableParallelBuilding = true;
60
61 passthru = {
62 updateScript = nix-update-script { };
63 tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
64 };
65
66 meta = with lib; {
67 description = "DevTools proxy (Chrome Remote Debugging Protocol) for iOS devices (Safari Remote Web Inspector)";
68 longDescription = ''
69 The ios_webkit_debug_proxy (aka iwdp) proxies requests from usbmuxd
70 daemon over a websocket connection, allowing developers to send commands
71 to MobileSafari and UIWebViews on real and simulated iOS devices.
72 '';
73 homepage = "https://github.com/google/ios-webkit-debug-proxy";
74 changelog = "https://github.com/google/ios-webkit-debug-proxy/releases/tag/${finalAttrs.src.rev}";
75 license = licenses.bsd3;
76 mainProgram = "ios_webkit_debug_proxy";
77 maintainers = with maintainers; [ abustany ];
78 };
79})