Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Migrate core plugins to C?

オープン
#692 コメント 0 件 リアクション 1 件 担当者 0 名 GitHub で見る

@ItsZariep がすでに取り組んでいます。

2025年9月10日 から。

  • #694 @ItsZariep による — オープン

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
リファクタリング
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
c, python
領域
desktop

調査の方向性

リンクされている C への書き換えと、Text Size、Join Lines、Open URI に影響する libpeas Python ローダーの報告済みの障害を確認することから始めてください。影響を受けるコアプラグインが C に移行され、壊れた Python プラグインローダーに依存せずに読み込まれ、既存の機能を維持できれば作業は完了です。

索引モデルが issue の本文から書いたものです。

説明

As the title says, it might be a good idea to migrate core plugins to C. In recent months, most rolling release systems, like Arch Linux, have broken Xed plugins because:

Remove python3 loader
The loader is nonfunctional as of pygobject 3.52 because the latter was ported to libgirepository-2.0, which cannot be loaded together with libgirepository-1.0, which libpeas still depends on.

As a consequence, core Xed plugins written in Python don’t load because the plugin loader fails:

(xed:19216): libpeas-WARNING **: 12:31:31.714: Failed to load module 'python3loader': /usr/lib/libpeas-1.0/loaders/libpython3loader.so: cannot open shared object file: No such file or directory

(xed:19216): libpeas-WARNING **: 12:31:31.714: Could not load plugin loader 'python3'

** (xed:19216): WARNING **: 12:31:31.714: Failed to load builtin plugin: Text Size

** (xed:19216): WARNING **: 12:31:31.714: Failed to load builtin plugin: Join Lines

** (xed:19216): WARNING **: 12:31:31.714: Failed to load builtin plugin: Open URI

This has happened multiple times already, so I propose migrating these plugins to C, as some plugins, like Text Size, are fundamental features.

Plugins written in C don’t have this problem. I’m currently rewriting these plugins in C but I’m not sure if there are any considerations I should keep in mind during the process.

主要言語
C
スター
555
フォーク
118
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

linuxmint/xed のほかの issue

linuxmint/xed の issue をすべて見る

似ている issue

C の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。