Files
iDescriptor/com.idescriptor.idescriptor.json

249 lines
6.6 KiB
JSON

{
"app-id": "com.idescriptor.idescriptor",
"runtime": "org.kde.Platform",
"runtime-version": "6.8",
"sdk": "org.kde.Sdk",
"add-extensions": {
"org.kde.Platform.ffmpeg-full": {
"version": "24.08",
"directory": "lib/ffmpeg",
"add-ld-path": "."
}
},
"sdk-extensions": [
"org.freedesktop.Sdk.Extension.rust-stable",
"org.freedesktop.Sdk.Extension.llvm20"
],
"cleanup-commands": ["mkdir -p ${FLATPAK_DEST}/lib/ffmpeg"],
"command": "iDescriptor",
"finish-args": [
"--socket=x11",
"--share=ipc",
"--socket=pulseaudio",
"--share=network",
"--device=all",
"--socket=system-bus",
"--filesystem=/run/usbmuxd",
"--system-talk-name=org.freedesktop.Avahi",
"--talk-name=org.freedesktop.Platform.ffmpeg-full",
"--env=QT_MEDIA_BACKEND=ffmpeg",
"--env=AVAHI_COMPAT_NOWARN=1"
],
"modules": [
{
"name": "lxqt-build-tools",
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [
{
"type": "git",
"url": "https://github.com/lxqt/lxqt-build-tools.git"
}
]
},
{
"name": "golang",
"buildsystem": "simple",
"build-options": {
"append-path": "/app/sdk/golang/bin",
"env": {
"GOROOT": "/app/sdk/golang"
}
},
"sources": [
{
"type": "archive",
"only-arches": ["x86_64"],
"url": "https://go.dev/dl/go1.25.3.linux-amd64.tar.gz",
"sha256": "0335f314b6e7bfe08c3d0cfaa7c19db961b7b99fb20be62b0a826c992ad14e0f",
"strip-components": 0
},
{
"type": "archive",
"only-arches": ["aarch64"],
"url": "https://go.dev/dl/go1.25.3.linux-arm64.tar.gz",
"sha256": "1d42ebc84999b5e2069f5e31b67d6fc5d67308adad3e178d5a2ee2c9ff2001f5",
"strip-components": 0
}
],
"build-commands": ["mkdir -p /app/sdk", "mv go /app/sdk/golang"]
},
{
"name": "qtermwidget",
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [
{
"type": "git",
"url": "https://github.com/lxqt/qtermwidget"
}
]
},
{
"name": "libplist",
"buildsystem": "autotools",
"sources": [
{
"type": "git",
"url": "https://github.com/libimobiledevice/libplist.git"
}
]
},
{
"name": "libusb",
"config-opts": ["--disable-static", "--enable-udev"],
"cleanup": ["/lib/*.la", "/lib/pkgconfig", "/include"],
"sources": [
{
"type": "archive",
"url": "https://github.com/libusb/libusb/releases/download/v1.0.27/libusb-1.0.27.tar.bz2",
"sha256": "ffaa41d741a8a3bee244ac8e54a72ea05bf2879663c098c82fc5757853441575"
}
],
"post-install": [
"install -Dm644 COPYING ${FLATPAK_DEST}/share/licenses/libusb/COPYING"
]
},
{
"name": "libdaemon",
"buildsystem": "autotools",
"sources": [
{
"type": "archive",
"url": "http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz",
"sha256": "fd23eb5f6f986dcc7e708307355ba3289abe03cc381fc47a80bca4a50aa6b834"
}
]
},
{
"name": "libevent",
"buildsystem": "autotools",
"config-opts": [
"--disable-samples",
"--disable-openssl",
"--disable-debug-mode",
"--disable-regress",
"--disable-libevent-regress",
"--disable-test-programs"
],
"sources": [
{
"type": "git",
"url": "https://github.com/libevent/libevent.git"
}
]
},
{
"name": "avahi",
"buildsystem": "autotools",
"config-opts": [
"--disable-static",
"--disable-mono",
"--disable-python",
"--disable-qt5",
"--disable-gtk",
"--disable-gtk3",
"--with-distro=none",
"--disable-manpages",
"--disable-dbus-bus-activation",
"--enable-compat-libdns_sd"
],
"sources": [
{
"type": "git",
"url": "https://github.com/lathiat/avahi.git"
}
]
},
{
"name": "libde265",
"buildsystem": "autotools",
"config-opts": ["--disable-dec265", "--disable-sherlock265"],
"sources": [
{
"type": "git",
"url": "https://github.com/strukturag/libde265.git"
}
]
},
{
"name": "libheif",
"buildsystem": "cmake-ninja",
"config-opts": ["-DWITH_EXAMPLES=OFF", "-DWITH_DOCUMENTATION=OFF"],
"sources": [
{
"type": "git",
"url": "https://github.com/strukturag/libheif.git"
}
]
},
{
"name": "libzip",
"buildsystem": "cmake-ninja",
"sources": [
{
"type": "git",
"url": "https://github.com/nih-at/libzip.git",
"branch": "main"
}
]
},
{
"name": "libssh",
"buildsystem": "cmake-ninja",
"builddir": true,
"sources": [
{
"type": "archive",
"url": "https://www.libssh.org/files/0.11/libssh-0.11.3.tar.xz",
"sha256": "7d8a1361bb094ec3f511964e78a5a4dba689b5986e112afabe4f4d0d6c6125c3"
}
]
},
{
"name": "pugixml",
"buildsystem": "cmake-ninja",
"sources": [
{
"type": "git",
"url": "https://github.com/zeux/pugixml.git"
}
]
},
{
"name": "iDescriptor",
"buildsystem": "simple",
"build-options": {
"append-path": "/usr/lib/sdk/rust-stable/bin",
"env": {
"CARGO_HOME": "/run/build/iDescriptor/cargo",
"CARGO_NET_OFFLINE": "true",
"RUST_BACKTRACE": "1",
"CUSTOM_LIB_PATH": "/app/lib",
"CUSTOM_INCLUDE_PATH": "/app/include",
"CUSTOM_PKGCONFIG_PATH": "/app/lib/pkgconfig",
"GO_EXECUTABLE": "/app/sdk/golang/bin/go",
"FLATPAK_BUILD": "ON"
},
"build-args": ["--share=network"]
},
"build-commands": [
"cargo --offline fetch --manifest-path lib/idevice-rs/Cargo.toml --verbose",
"cargo build --offline --release --all-features --manifest-path lib/idevice-rs/Cargo.toml",
"cmake -B build -DGO_EXECUTABLE=$GO_EXECUTABLE .",
"cmake --build build --config Release",
"install -Dm0755 build/iDescriptor ${FLATPAK_DEST}/bin/iDescriptor"
],
"sources": [
{
"type": "dir",
"path": "."
},
"cargo-sources.idevice-rs.json",
"cargo-sources.idevice-rs.idevice.json",
"cargo-sources.idevice-rs.cpp.plist_ffi.json"
]
}
]
}