3

I've tried using the xapps PPA but it doesn't have a Groovy release file.

Melebius
  • 11,431
  • 9
  • 52
  • 78
Hidan
  • 31

2 Answers2

4

You can use other PPA - Ubuntu Cinnamon Remix PPA and install Xed from it

sudo add-apt-repository ppa:ubuntucinnamonremix/all
sudo apt-get update
sudo apt-get install xed
N0rbert
  • 99,918
1

Xed was installable from PPA repositories for Ubuntu 16 and 18. There appears to be no available PPA for Ubuntu 20.04 in November 2022.

Xed, the fork of editor Pluma by LinuxMint, has GitHub source available for download: https://github.com/linuxmint/xed

The conflict for Ubuntu 20.04 seems to be code base additions to xed that involve favorites. In particular, header file xed/xapp-favorites.h was added and several new functions for favorites were added to file xed/xed-window.c. This affected file meson.build, which in October 2022 version 3.2.7 has requirement

    xapp = dependency('xapp', version: '>= 1.9.0')

This can be edited to '>= 1.6.0' to allow the Ubuntu 20.04 xapp library to be used. But that edit breaks some code in xed version 3.2.7. After download of the GitHub zip file (source) and performing the edit 1.9.0 -> 1.6.0 a compile and install on Ubuntu 20.04 used the following:

Step 1. Use the three steps in README.md at https://github.com/linuxmint/xed:

  1. run the 'configure' script meson --prefix=/usr build
  2. build xed ninja -v -C build
  3. install xed sudo ninja install -v -C build

A newly installed Ubuntu 20.04 could be missing apps meson and ninja. Install them following instructions at https://mesonbuild.com/Tutorial.html. The tutorial outlines the basic steps needed to compile the source.

The compile will fail several times due to missing development libraries and the gotcha in xed/xed-window.c. On each library fail, using the Dev library name in the error messages, find the missing DEV library in Synaptic and install it. Recompile. Iterate until there are no missing dev libraries. Here are some of the steps:

sudo apt install libgtk-3-dev
cd Downloads/xed-github/   # location of downloaded GitHub source zip.
unzip xed-master.zip 
sudo apt install meson
gedit meson.build # Change 1.9.0 to 1.6.0
gedit xed/xed-window.c # Do Step 2 edits.
meson setup builddir
sudo apt install libxml2-dev
sudo apt install libpeas-dev 
sudo apt install libgtksourceview-4-dev
sudo apt install cmake
sudo apt install libgspell-1-dev
sudo apt install intltool
sudo apt install itstool 
# synaptic installed numerous other dependencies
cd builddir/
ninja   # Expect failure until all DEV libraries are installed

Step 2. Edit xed/xed-window.c to remove dependencies on 'favorites'. Do this by inserting '#if 0' and '#endif' around the affected code:

Lines 244-251:  [if(window->priv->favorites ...handler_id=0;}]
Lines 993-1059: [static void favorite_activated ...                        
    g_object_unref);}]
Line 1095: [XAppFavorites *favorites;]
Lines 1171-1183: [action_group = ... Favorite ... favorites_menu         
    (window);]
Lines 3006-3010: [/* allow extensions to sync ... _activate 
    (action);]

Step 3. Compile until no errors. App xed-master/build/xed/xed will run only after it is installed. Install xed:

meson --prefix=/usr build 
ninja -v -C build
sudo ninja install -v -C build
xed # test it!

The xed version: 3.2.7, November 3, 2022.