Browse Source

Provide both app IDs in our linux metainfo

FlatHub uses org.kicad.KiCad and everyone else uses org.kicad.kicad,
which leads to two entries in the Gnome Software search list for kicad.
To unify this into one entry, have each just provide the other app ID to
link them together.
9.0
Ian McInerney 8 months ago
parent
commit
5cfa946cda
  1. 12
      resources/CMakeLists.txt
  2. 1
      resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in

12
resources/CMakeLists.txt

@ -5,9 +5,18 @@ if( APPLE )
#TODO Generate this at runtime as well
include( ${KICAD_CMAKE_MODULE_PATH}/WritePlatformMetadata_macos.cmake )
elseif( UNIX )
# Note: We use two different app IDs here for legacy reasons. The org.kicad.KiCad
# ID is from FlatHub Flatpaks, while the org.kicad.kicad ID is used everywhere else.
# Having these two be separate causes problems in Gnome Software because they wll
# each appear as their own app, so KiCad gets two entries.
#
# To work around this, we include a provides statement in the metainfo for the other
# app ID to link the two IDs together.
# Default values for regular builds
set( KICAD_REVERSE_DOMAIN "org.kicad" )
set( KICAD_APP_NAME "${KICAD_REVERSE_DOMAIN}.kicad" )
set( KICAD_PROVIDES_APP_ID "${KICAD_REVERSE_DOMAIN}.KiCad" )
set( KICAD_APP_PREFIX "${KICAD_REVERSE_DOMAIN}" )
set( KICAD_ICON_PREFIX "" )
set( KICAD_DESKTOP_FILE_ICON_PREFIX "" )
@ -18,8 +27,10 @@ elseif( UNIX )
# Override default values from above if we are building a flatpak
if( KICAD_BUILD_FLATPAK )
set( KICAD_APP_NAME "${KICAD_REVERSE_DOMAIN}.KiCad" )
set( KICAD_PROVIDES_APP_ID "${KICAD_REVERSE_DOMAIN}.kicad" )
if( KICAD_BUILD_NIGHTLY_FLATPAK )
set( KICAD_APP_NAME "${KICAD_APP_NAME}.Nightly" )
set( KICAD_PROVIDES_APP_ID "${KICAD_PROVIDES_APP_ID}.Nightly" )
endif()
set( KICAD_APP_PREFIX "${KICAD_APP_NAME}" )
set( KICAD_ICON_PREFIX "${KICAD_APP_NAME}" )
@ -37,6 +48,7 @@ elseif( UNIX )
-DBUILD_PATH=${PROJECT_BINARY_DIR}
-DKICAD_CMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR}/cmake
-DKICAD_APP_NAME=${KICAD_APP_NAME}
-DKICAD_PROVIDES_APP_ID=${KICAD_PROVIDES_APP_ID}
-P ${KICAD_CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake
DEPENDS ${KICAD_CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake
COMMENT "Configuring Linux metainfo"

1
resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in

@ -14,6 +14,7 @@
<summary>An EDA suite for schematic and circuit board design</summary>
<provides>
<id>@KICAD_PROVIDES_APP_ID@</id>
<binary>kicad</binary>
<binary>eeschema</binary>
<binary>pcbnew</binary>

Loading…
Cancel
Save