Loupe/build-aux/flatpak/org.gnome.Loupe.Devel.json
Christopher Davis 490a46d7c4 flatpak: Use sparse registry protocol
Rust 1.68.0 introduces the sparse registry protocol,
which significantly reduces the amount of time cargo
takes to fetch the crates.io index. This new
protocol only downloads the information for crates we
need, rather than all crates in the registry.

See
https://blog.rust-lang.org/2023/03/09/Rust-1.68.0.html#cargos-sparse-protocol

Part-of: <https://gitlab.gnome.org/Incubator/loupe/-/merge_requests/134>
2023-03-14 01:40:14 +00:00

167 lines
5.6 KiB
JSON

{
"id" : "org.gnome.Loupe.Devel",
"runtime" : "org.gnome.Platform",
"runtime-version" : "master",
"sdk" : "org.gnome.Sdk",
"sdk-extensions" : [
"org.freedesktop.Sdk.Extension.rust-stable",
"org.freedesktop.Sdk.Extension.llvm14"
],
"command" : "loupe",
"finish-args" : [
"--share=network",
"--share=ipc",
"--socket=fallback-x11",
"--socket=wayland",
"--device=dri",
"--filesystem=host",
"--env=RUST_BACKTRACE=1",
"--env=RUST_LOG=loupe=debug",
"--talk-name=org.gtk.vfs.*",
"--filesystem=xdg-run/gvfs",
"--filesystem=xdg-run/gvfsd"
],
"build-options" : {
"append-path" : "/usr/lib/sdk/rust-stable/bin:/usr/lib/sdk/llvm14/bin",
"build-args" : [
"--share=network"
],
"env" : {
"CARGO_REGISTRIES_CRATES_IO_PROTOCOL" : "sparse",
"CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER" : "clang",
"CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER" : "clang",
"CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS" : "-C link-arg=-fuse-ld=/usr/lib/sdk/rust-stable/bin/mold",
"CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS" : "-C link-arg=-fuse-ld=/usr/lib/sdk/rust-stable/bin/mold"
}
},
"cleanup" : [
"/include",
"/lib/pkgconfig",
"/man",
"/share/doc",
"/share/gtk-doc",
"/share/man",
"/share/pkgconfig",
"*.la",
"*.a"
],
"add-extensions": {
/* Exile HEIC (x265) codec into extension */
"org.gnome.Loupe.Devel.HEIC" : {
/* Relative to app dir */
"directory" : "lib/libheif-heic",
/* Relative to directory above */
"add-ld-path" : "lib",
/* Remove extension data from main flatpak package */
"bundle" : true,
/* Remove this extension when Loupe is deinstalled */
"autodelete" : true
}
},
"modules" : [
{
"name": "geocode-glib",
"buildsystem": "meson",
"config-opts": [
"-Denable-installed-tests=false",
"-Denable-introspection=false",
"-Denable-gtk-doc=false",
"-Dsoup2=false"
],
"sources": [
{
"type": "archive",
"url": "https://download.gnome.org/sources/geocode-glib/3.26/geocode-glib-3.26.4.tar.xz",
"sha256": "2d9a6826d158470449a173871221596da0f83ebdcff98b90c7049089056a37aa",
"x-checker-data": {
"type": "gnome",
"name": "geocode-glib"
}
}
]
},
{
"name": "libgweather",
"buildsystem": "meson",
"config-opts": [
"-Denable_vala=false",
"-Dgtk_doc=false",
"-Dintrospection=false",
"-Dtests=false"
],
"sources": [
{
"type": "archive",
"url": "https://download.gnome.org/sources/libgweather/4.2/libgweather-4.2.0.tar.xz",
"sha256": "af8a812da0d8976a000e1d62572c256086a817323fbf35b066dbfdd8d2ca6203",
"x-checker-data": {
"type": "gnome",
"name": "libgweather",
"versions": {
"<": "40.0"
}
}
}
]
},
{
/* HEIC (x265) decoder */
"name" : "libde265",
"buildsystem" : "cmake",
"config-opts": [
/* Install into folder for extension */
"-DCMAKE_INSTALL_PREFIX=/app/lib/libheif-heic",
"-DENABLE_SDL=Off"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/strukturag/libde265.git",
"tag" : "v1.0.11"
}
]
},
{
"name" : "libheif",
"buildsystem" : "cmake",
"config-opts": [
/* Build HEIC (x265) as plugin */
"-DWITH_LIBDE265_PLUGIN=On",
"-DPLUGIN_DIRECTORY=/app/lib/libheif-heic/lib",
"-DLIBDE265_INCLUDE_DIR=/app/lib/libheif-heic/include",
"-DLIBDE265_PKGCONF_LIBRARY_DIRS=/app/lib/libheif-heic/lib",
/* Turn all encoders off */
"-DWITH_X265=Off",
"-DWITH_SvtEnc=Off",
"-DWITH_SvtEnc_PLUGIN=Off",
"-DWITH_AOM_ENCODER=Off",
/* Turn off plugins for AV1 */
"-DWITH_RAV1E_PLUGIN=Off",
/* Turn off unused AV1 decoders */
"-DWITH_RAV1E=Off",
/* No need for examples */
"-DWITH_EXAMPLES=Off"
],
"sources" : [
{
"type" : "git",
"url" : "https://github.com/strukturag/libheif.git",
"tag" : "v1.15.1"
}
]
},
{
"name" : "loupe",
"buildsystem" : "meson",
"config-opts": [
"-Dprofile=development"
],
"sources" : [
{
"type" : "git",
"url" : "https://gitlab.gnome.org/Incubator/loupe.git"
}
]
}
]
}