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>
167 lines
5.6 KiB
JSON
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"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|