Dconf-Editor: add recipe

This commit is contained in:
Gerasim Troeglazov
2022-12-01 16:58:15 +10:00
parent da5cdbc81b
commit 4b2c79a35f
4 changed files with 206 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
#!/bin/sh
SYSTEM_DATA_DIR="`finddir B_SYSTEM_DATA_DIRECTORY`"
NONPACKAGED_DATA_DIR="`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY`"
mkdir -p $NONPACKAGED_DATA_DIR/glib-2.0/schemas
cp -nrf $SYSTEM_DATA_DIR/glib-2.0/schemas/* $NONPACKAGED_DATA_DIR/glib-2.0/schemas
glib-compile-schemas $NONPACKAGED_DATA_DIR/glib-2.0/schemas

View File

@@ -0,0 +1,62 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = 0,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Dconf Editor",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E63696606020016023ABACC3C5D6DBC2D6F3A83674AE1B449F76B0068FF8505"
$"01011A171B660554020016020000003C4000BC40000000004D700048C00000FF"
$"FFE50401660B06047FC719B454C719B454C261B454C426BB3CC17EBB3CC6CEBB"
$"3CC719B454CBD2B454C719B454B45406047FBF48BA2BBF48BA2BC0B4BA40BF97"
$"B567C244B514BCEAB5BBBF48BA2BBDDBBA16BF48BA2BBA2B06047FB8ABBDD7B8"
$"ABBDD7B9AEBD60B714BA14B8CDB8D8B55BBB51B8ABBDD7B7A8BE4EB8ABBDD7BD"
$"D706057F01BB85BB39BB85BB39BCBABAFCBAA5B719BCCBB63FB87EB7F3BB85BB"
$"39BA51BB75BB85BB39BB39BB390609FF7F01C1EBC68BC1EBC68BC223C826BF50"
$"C7E8C0B5C8F2BADDC49BC5E6BE74C6AEC2F6C541BAB6B820C1B8B977BBDDB737"
$"C5AEC0B7CB2CBBDDCB2CC31ACB2CC65EC66AC5DAC913C6C3C463C1EBC68BC1BD"
$"C533C1EBC68BC68BC68B0606FF0737303730BA9E30303730BA9E30BDB3373EBA"
$"9E3EBDB33E3E373EBDB33EBA9E3730BDB3303730300216C3BABC26C3BABC26C3"
$"BABCF2C359BE83C399BDBEC267BEA9C084BEF6C176BECFC01ABF9ABEF6C083BF"
$"91C01EBECFC176BE81C35BBEA8C268BDBFC39BBC24C3B9BCF2C3B9BBB5C2DFBA"
$"D7C12BBB46C205BA1AC0FAB8E1C02BB971C0A0B7EEC051B609C09E2AC077B590"
$"BFF9B4F4BE7CB535BF40B5A2BDCFB6FDBC74B64FBD21B6F1BBB1B755BA49B712"
$"BAF5B6E6B96EB607B7B7B676B892B67EB712B7B8B608B711B681B892B677BA47"
$"B755B96DB6E6BAFDB70EBC73B6FEBBBAB6F2BD21B650BE7CB4F4BDCEB5A2BF3F"
$"B534C09EB60CBFF7B592C077B6FEC02BB8E1C051B7EFC0A6B978C12ABAD7C0FA"
$"BA24C205BB47C3BABC26C2E0BBB7C3BABC26C3BABC26C3BABC26C3BABC260216"
$"C2EEBB5AC2EEBB5AC2EEBC26C28DBDB7C2CDBCF2C19BBDDDBFB8BE2AC0AABE03"
$"BF4EBECEBE2ABFB7BEC5BF52BE03C0AABDB5C28FBDDCC19CBCF3C2CFBB58C2ED"
$"BC26C2EDBAE9C213BA0BC05FBA7AC139B94EC02EB815BF5FB8A5BFD4B722BF85"
$"B53DBFD228BFABB4C4BF2DB428BDB0B469BE74B4D6BD03B631BBA8B583BC55B6"
$"25BAE5B689B97DB646BA29B61AB8A2B53BB6EBB5AAB7C6B5B2B646B6ECB53CB6"
$"45B5B5B7C6B5ABB97BB689B8A1B61ABA31B642BBA7B632BAEEB626BC55B584BD"
$"B0B428BD02B4D6BE73B468BFD2B540BF2BB4C6BFABB632BF5FB815BF85B723BF"
$"DAB8ACC05EBA0BC02EB958C139BA7BC2EEBB5AC214BAEBC2EEBB5AC2EEBB5AC2"
$"EEBB5AC2EEBB5A0606FF07352E352EB9D22E2E352EB9D22EBCE7353CB9D23CBC"
$"E73C3C353CBCE73CB9D2352EBCE72E352E2E0606FF07352E352EB9D22E2E352E"
$"B9D22EBCE7353CB9D23CBCE73C3C353CBCE73CB9D2352EBCE72E352E2E0216C2"
$"EEBB5AC2EEBB5AC2EEBC26C28DBDB7C2CDBCF2C19BBDDDBFB8BE2AC0AABE03BF"
$"4EBECEBE2ABFB7BEC5BF52BE03C0AABDB5C28FBDDCC19CBCF3C2CFBB58C2EDBC"
$"26C2EDBAE9C213BA0BC05FBA7AC139B94EC02EB815BF5FB8A5BFD4B722BF85B5"
$"3DBFD228BFABB4C4BF2DB428BDB0B469BE74B4D6BD03B631BBA8B583BC55B625"
$"BAE5B689B97DB646BA29B61AB8A2B53BB6EBB5AAB7C6B5B2B646B6ECB53CB645"
$"B5B5B7C6B5ABB97BB689B8A1B61ABA31B642BBA7B632BAEEB626BC55B584BDB0"
$"B428BD02B4D6BE73B468BFD2B540BF2BB4C6BFABB632BF5FB815BF85B723BFDA"
$"B8ACC05EBA0BC02EB958C139BA7BC2EEBB5AC214BAEBC2EEBB5AC2EEBB5AC2EE"
$"BB5AC2EEBB5A0A0A05050403020100023F24910000000000003B3B81487BC34B"
$"289B0A0105040302010030241F01178300040A00010020241F0A00010120241F"
$"0A00010220241F0A00010320241F0A00010420241F0A02020506123EE4D00000"
$"000000003EE4BA3AB82C4A02BA01178400040A03020708123EE4D00000000000"
$"003EE4BA3AB82C4A02BA01178500040A0402090A023EE4D00000000000003EE4"
$"BA3AB82C4A02BA"
};

View File

@@ -0,0 +1,110 @@
SUMMARY="A GSettings editor for GNOME"
DESCRIPTION="Dconf Editor is a viewer and editor of applications internal settings. \
It allows editing options not exposed in some applications interface. It\'s a \
powerful tool, that could break some applications if misused, and you should \
only use it understanding that."
HOMEPAGE="https://wiki.gnome.org/Apps/DconfEditor"
COPYRIGHT="2022 The GNOME Project"
LICENSE="GNU GPL v3"
REVISION="1"
SOURCE_URI="https://gitlab.gnome.org/GNOME/dconf-editor/-/archive/$portVersion/dconf-editor-$portVersion.tar.gz"
CHECKSUM_SHA256="9c74aaaa37beb55c94df160ff26b18004c9f601e6af4c5cc33fb421b74245218"
SOURCE_DIR="dconf-editor-$portVersion"
PATCHES="dconf_editor-$portVersion.patchset"
ADDITIONAL_FILES="
dconf_editor.rdef.in
compile-schemas.sh
"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
POST_INSTALL_SCRIPTS="
$relativePostInstallDir/compile-schemas.sh
"
PROVIDES="
dconf_editor$secondaryArchSuffix = $portVersion
app:DconfEditor = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libdconf$secondaryArchSuffix
lib:libgtk_3$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix
lib:libgmodule_2.0$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libgthread_2.0$secondaryArchSuffix
lib:libhandy_1$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libdconf$secondaryArchSuffix
devel:libgtk_3$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libhandy_1$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:find
cmd:gcc$secondaryArchSuffix
cmd:itstool
cmd:meson
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
cmd:xargs
cmd:valac
"
PATCH()
{
cd $sourceDir
find editor -type f -regex '.*\(vala\|ui\|css\)' -print0 | xargs -0 sed -i 's/-symbolic//g'
}
BUILD()
{
meson Build \
--buildtype=release \
--prefix="$prefix" \
--bindir="$appsDir" \
--datadir="$dataDir" \
--localedir="$dataDir/locale"
ninja -C Build
}
INSTALL()
{
ninja install -C Build
mv $appsDir/dconf-editor "$appsDir/Dconf Editor"
rm -rf $prefix/share
rm -rf $dataDir/{applications,dbus-1,bash-completion}
mkdir -p $postInstallDir
cp -f $portDir/additional-files/compile-schemas.sh $postInstallDir
chmod -v a+rx $postInstallDir/compile-schemas.sh
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local APP_NAME="Dconf Editor"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-vnd.gnome-dconf-editor"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
-e "s|@APP_NAME@|$APP_NAME|" \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
$portDir/additional-files/dconf_editor.rdef.in > dconf_editor.rdef
addResourcesToBinaries dconf_editor.rdef "$appsDir/Dconf Editor"
addAppDeskbarSymlink "$appsDir/Dconf Editor"
}

View File

@@ -0,0 +1,26 @@
From 78dadff19ee55c7e6af99d4a99baf06627336223 Mon Sep 17 00:00:00 2001
From: Gerasim Troeglazov <3dEyes@gmail.com>
Date: Thu, 1 Dec 2022 16:10:27 +1000
Subject: Dirty hack for XDG vars
diff --git a/editor/dconf-editor.vala b/editor/dconf-editor.vala
index ca3ce16..55c37f0 100644
--- a/editor/dconf-editor.vala
+++ b/editor/dconf-editor.vala
@@ -184,6 +184,12 @@ private class ConfigurationEditor : Gtk.Application, BaseApplication
private static int main (string [] args)
{
+ GLib.Environment.set_variable("XDG_CONFIG_DIRS", "/boot/system/settings", false);
+ GLib.Environment.set_variable("XDG_DATA_HOME", "/boot/home/config/non-packaged/data", false);
+ GLib.Environment.set_variable("XDG_CONFIG_HOME", "/boot/home/config/settings", false);
+ GLib.Environment.set_variable("XDG_CACHE_HOME", "/boot/home/config/cache", false);
+ GLib.Environment.set_variable("XDG_DATA_DIRS", "/boot/system/non-packaged/data:/boot/system/data", false);
+
Intl.setlocale (LocaleCategory.ALL, "");
Intl.bindtextdomain (Config.GETTEXT_PACKAGE, Config.LOCALEDIR);
Intl.bind_textdomain_codeset (Config.GETTEXT_PACKAGE, "UTF-8");
--
2.37.3