Установка Pascalabcnet в Calculate

  1. Узнаем, где расположен локальный оверлей:
    # cat /etc/portage/repos.conf/zz-calculate.conf
Спойлер
# cat /etc/portage/repos.conf/zz-calculate.conf
[DEFAULT]
main-repo = gentoo

[distros]
priority = 50
sync-uri = https://github.com/calculatelinux/distros
location = /var/db/repos/distros
auto-sync = Yes
sync-type = calculate

[calculate]
priority = 50
sync-uri = https://github.com/calculatelinux/calculate
location = /var/db/repos/calculate
auto-sync = Yes
sync-type = calculate

[gentoo]
priority = 50
sync-uri = https://github.com/calculatelinux/gentoo
location = /var/db/repos/gentoo
auto-sync = Yes
sync-type = calculate

[custom]
location = /var/calculate/repos/custom
  1. Создадим категорию программ в локальном оверлее:
    # mkdir -p /var/calculate/repos/custom/dev-lang/pascalabcnet

  2. Создадим ebuild-файлы программы (использую mcedit из пакета app-misc/mc, который сразу создаёт отсутствующий файл и позволяет наполнить его. Для создания пустого файла можно использовать touch):
    # mcedit /var/calculate/repos/custom/dev-lang/pascalabcnet/pascalabcnet-3.9.0-r3390.ebuild
    и
    # mcedit /var/calculate/repos/custom/dev-lang/pascalabcnet/pascalabcnet-9999.ebuild

  3. Вставим код ebuild-файлов, который можно взять из этого сообщения;

  4. Проверим наполненные Нами файлы:
    # cat /var/calculate/repos/custom/dev-lang/pascalabcnet/pascalabcnet-3.9.0-r3390.ebuild
    и
    # cat /var/calculate/repos/custom/dev-lang/pascalabcnet/pascalabcnet-9999.ebuild

  5. Создадим manifest для Наших ebuild:

Спойлер

ebuild /var/calculate/repos/custom/dev-lang/pascalabcnet/pascalabcnet-3.9.0-r3390.ebuild manifest

# ebuild /var/calculate/repos/custom/dev-lang/pascalabcnet/pascalabcnet-3.9.0-r3390.ebuild manifest
>>> Downloading 'http://mirror.rosalinux.ru/rosa/rosa2021.1/repository/x86_64/contrib/release/pascalabcnet-3.9.0-1.gitf309df.3-rosa2021.1.x86_64.rpm'
--2025-01-07 19:53:35--  http://mirror.rosalinux.ru/rosa/rosa2021.1/repository/x86_64/contrib/release/pascalabcnet-3.9.0-1.gitf309df.3-rosa2021.1.x86_64.rpm
Resolving mirror.rosalinux.ru (mirror.rosalinux.ru)... 195.19.76.246
Connecting to mirror.rosalinux.ru (mirror.rosalinux.ru)|195.19.76.246|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 7031257 (6.7M) [application/x-redhat-package-manager]
Saving to: ‘/var/calculate/distfiles/pascalabcnet-3.9.0-1.gitf309df.3-rosa2021.1.x86_64.rpm.__download__’

/var/calculate/distfiles/pascalabcnet-3.9.0-1.gitf309df.3-r 100%[=========================================================================================================================================>]   6.71M  2.44MB/s    in 2.8s    

2025-01-07 19:53:38 (2.44 MB/s) - ‘/var/calculate/distfiles/pascalabcnet-3.9.0-1.gitf309df.3-rosa2021.1.x86_64.rpm.__download__’ saved [7031257/7031257]

>>> Downloading 'https://pascalabc.net/downloads/PascalABCNETLinux.zip'
--2025-01-07 19:53:39--  https://pascalabc.net/downloads/PascalABCNETLinux.zip
Resolving pascalabc.net (pascalabc.net)... 195.208.245.34
Connecting to pascalabc.net (pascalabc.net)|195.208.245.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 8071253 (7.7M) [application/zip]
Saving to: ‘/var/calculate/distfiles/PascalABCNETLinux.zip.__download__’

/var/calculate/distfiles/PascalABCNETLinux.zip.__download__ 100%[=========================================================================================================================================>]   7.70M  1.57MB/s    in 5.0s    

2025-01-07 19:53:44 (1.54 MB/s) - ‘/var/calculate/distfiles/PascalABCNETLinux.zip.__download__’ saved [8071253/8071253]

>>> Creating Manifest for /var/calculate/repos/custom/dev-lang/pascalabcnet
  1. Выполним синхронизацию:
# eix-sync && eix-update
Спойлер
# eix-sync && eix-update
 * Выполняются !-хуки
 * Запуск /usr/sbin/cl-core --method update --sync-only --skip-eix-update
Синхронизация репозиториев
 * Проверка текущего сервера обновлений ...                                                                                                                                                                                             [ ok ]
 * Проверка обновлений Distros ...                                                                                                                                                                                                      [ ok ]
 * Проверка обновлений Calculate ...                                                                                                                                                                                                    [ ok ]
 * Проверка обновлений Gentoo ...                                                                                                                                                                                                       [ ok ]
 * Синхронизация завершена
Конфигурация системы
 * Сервер обновлений https://mirror.yandex.ru/calculate
 * Синхронизация репозиториев завершена!
 * Копирую старую базу данных в /var/cache/eix/previous.eix
 * Запуск eix-update
Чтение настроек Portage…
Построение базы данных (/var/cache/eix/portage.eix)…
[0] «gentoo» /var/db/repos/gentoo/ (кэш: metadata-md5-or-flat)
     Чтение категории 172|172 (100) Готово             
[1] «custom» /var/calculate/repos/custom (кэш: parse|ebuild*3.0.24#metadata-md5#metadata-flat#assign)
     Чтение категории 172|172 (100) Готово      
[2] «calculate» /var/db/repos/calculate (кэш: parse|ebuild*3.0.24#metadata-md5#metadata-flat#assign)
     Чтение категории 172|172 (100) Готово        
[3] «distros» /var/db/repos/distros (кэш: parse|ebuild*3.0.24#metadata-md5#metadata-flat#assign)
     Чтение категории 172|172 (100) ПУСТО!
Применение масок…
Расчёт хеш-таблиц…
Запись файла базы данных /var/cache/eix/portage.eix…
База данных содержит 19125 пакетов в 172 категориях
 * Вызов eix-diff
[<]   == sys-apps/calculate-utils (3.7.7.7@17.12.2024; 9999 -> 3.7.7.7^t) [2]: A set of Calculate utilities for system installation, build and upgrade
[N]   >> dev-lang/pascalabcnet (~9999) [1]: PascalABC.NET is a Pascal programming language that implements classic Pascal, most Delphi language features, as well as a number of their own extensions
 * Статистика времени:
     4 секунд для синхронизация
     8 секунд для eix-update
     1 секунд для eix-diff
    13 секунд всего
Чтение настроек Portage…
Построение базы данных (/var/cache/eix/portage.eix)…
[0] «gentoo» /var/db/repos/gentoo/ (кэш: metadata-md5-or-flat)
     Чтение категории 172|172 (100) Готово             
[1] «custom» /var/calculate/repos/custom (кэш: parse|ebuild*3.0.24#metadata-md5#metadata-flat#assign)
     Чтение категории 172|172 (100) Готово      
[2] «calculate» /var/db/repos/calculate (кэш: parse|ebuild*3.0.24#metadata-md5#metadata-flat#assign)
     Чтение категории 172|172 (100) Готово        
[3] «distros» /var/db/repos/distros (кэш: parse|ebuild*3.0.24#metadata-md5#metadata-flat#assign)
     Чтение категории 172|172 (100) ПУСТО!
Применение масок…
Расчёт хеш-таблиц…
Запись файла базы данных /var/cache/eix/portage.eix…
База данных содержит 19125 пакетов в 172 категориях

, где увидим, что созданный pascalabcnet отобразился в добавленных:

* Вызов eix-diff
[<]   == sys-apps/calculate-utils (3.7.7.7@17.12.2024; 9999 -> 3.7.7.7^t) [2]: A set of Calculate utilities for system installation, build and upgrade
[N]   >> dev-lang/pascalabcnet (~9999) [1]: PascalABC.NET is a Pascal programming language that implements classic Pascal, most Delphi language features, as well as a number of their own extensions
  1. Для наглядности выполним поиск пакета таким образом (в выводе можно увидеть, что присутствует две версии пакета. Первая версия - “3.9.0 сборка 3390”, а вторая версия - “живая”):
# eix dev-lang/pascalabcnet
* dev-lang/pascalabcnet [1]
     Доступные версии:      ~3.9.0-r3390^ms ~9999^ms {+chm gtk2}
     Домашняя страница:     http://pascalabc.net/
     Описание:              PascalABC.NET is a Pascal programming language that implements classic Pascal, most Delphi language features, as well as a number of their own extensions

[1] "custom" /var/calculate/repos/custom

или таким образом:

# emerge -s dev-lang/pascalabcnet

Спойлер
# emerge -s dev-lang/pascalabcnet

Local copy of remote index is up-to-date and will be used.
  
[ Results for search key : dev-lang/pascalabcnet ]
Searching...

*  dev-lang/pascalabcnet [ Masked ]
      Latest version available: 9999
      Latest version installed: [ Not Installed ]
      Size of files: 7883 KiB
      Homepage:      http://pascalabc.net/
      Description:   PascalABC.NET is a Pascal programming language that implements classic Pascal, most Delphi language features, as well as a number of their own extensions
      License:       LGPL-3.0

[ Applications found : 1 ]

, где обратим внимание на то, что пакет замаскирован;

  1. Попробуем выполнить установку:
    # emerge -av dev-lang/pascalabcnet
Спойлер
# emerge -av dev-lang/pascalabcnet

Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 14.06 s (backtrack: 0/20).

[binary  N     ] acct-group/geoclue-0-r2::gentoo  12 KiB
[binary  N     ] acct-user/geoclue-0-r2::gentoo  0 KiB
[binary  N     ] dev-libs/chmlib-0.40-r2::gentoo  USE="examples -static-libs" 49 KiB
[binary  N     ] dev-libs/libzip-1.11.2:0/5::gentoo  USE="bzip2 ssl zstd -gnutls -lzma -mbedtls -static-libs -test -tools" 262 KiB
[binary  N     ] dev-lang/mono-6.12.0.199-r2::gentoo  USE="minimal nls -doc -pax-kernel (-selinux) -xen" ABI_X86="32 (64) (-x32)" 72356 KiB
[binary  N     ] dev-dotnet/libgdiplus-6.0.2-r4::gentoo  USE="cairo" 192 KiB
[binary  N     ] dev-qt/qtprintsupport-5.15.16:5/5.15::gentoo  USE="cups -debug -gles2-only -test" 222 KiB
[binary  NS    ] dev-qt/qtwebchannel-5.15.16:5/5.15::gentoo [6.8.1:6/6.8.1::gentoo] USE="qml -debug% -test" 101 KiB
[binary  N     ] dev-qt/qtpositioning-5.15.16:5/5.15::gentoo  USE="geoclue qml -debug -test" 337 KiB
[binary  N     ] app-misc/geoclue-2.7.2:2.0::gentoo  USE="introspection -gtk-doc -modemmanager -vala -zeroconf" 206 KiB
[binary  N     ] dev-qt/qtwebengine-5.15.16_p20241115:5/5.15::gentoo  USE="alsa geolocation jumbo-build pulseaudio screencast system-icu widgets -bindist -debug -designer -kerberos -test" 50930 KiB
[ebuild  N    ~] app-text/kchmviewer-8.0::gentoo  305 KiB
[ebuild  N    ~] dev-lang/pascalabcnet-9999::custom  USE="chm -gtk2" 0 KiB

Total: 13 packages (12 new, 1 in new slot, 11 binaries), Size of downloads: 124966 KiB

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by dev-lang/pascalabcnet (argument)
=dev-lang/pascalabcnet-9999 ~amd64
# required by dev-lang/pascalabcnet-9999::custom[chm]
# required by dev-lang/pascalabcnet (argument)
=app-text/kchmviewer-8.0 ~amd64

Would you like to add these changes to your config files? [Yes/No] y

Autounmask changes successfully written.

 * IMPORTANT: config file '/etc/portage/package.accept_keywords/custom' needs updating.
 * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
 * sections of the emerge man page to learn how to update config files.

, где увидим, какие зависимости требуется установить, и что требуется принять изменения для keywords;

  1. Принимаем эти изменения, выполняя нижеуказанную команду с нажатием клавиши u:
    # dispatch-conf
Спойлер
--- /etc/portage/package.accept_keywords/custom 2025-01-07 19:55:38.007168436 +0300
+++ /etc/portage/package.accept_keywords/._cfg0000_custom       2025-01-07 20:20:56.547968948 +0300
@@ -1,3 +1,8 @@
 # Этот файл будет перенесён при установке системы
 # required by anydesk (argument)
 =net-misc/anydesk-6.3.3 ~amd64
+# required by dev-lang/pascalabcnet (argument)
+=dev-lang/pascalabcnet-9999 ~amd64
+# required by dev-lang/pascalabcnet-9999::custom[chm]
+# required by dev-lang/pascalabcnet (argument)
+=app-text/kchmviewer-8.0 ~amd64

>> (1 of 1) -- /etc/portage/package.accept_keywords/custom
>> q quit, h help, n next, e edit-new, z zap-new, u use-new
   m merge, t toggle-merge, l look-merge: 
  1. Вот теперь производим установку:
    # emerge -av dev-lang/pascalabcnet
Спойлер
# emerge -av dev-lang/pascalabcnet

Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 13.72 s (backtrack: 0/20).

[binary  N     ] acct-group/geoclue-0-r2::gentoo  12 KiB
[binary  N     ] acct-user/geoclue-0-r2::gentoo  0 KiB
[binary  N     ] dev-libs/chmlib-0.40-r2::gentoo  USE="examples -static-libs" 49 KiB
[binary  N     ] dev-libs/libzip-1.11.2:0/5::gentoo  USE="bzip2 ssl zstd -gnutls -lzma -mbedtls -static-libs -test -tools" 262 KiB
[binary  N     ] dev-lang/mono-6.12.0.199-r2::gentoo  USE="minimal nls -doc -pax-kernel (-selinux) -xen" ABI_X86="32 (64) (-x32)" 72356 KiB
[binary  N     ] dev-dotnet/libgdiplus-6.0.2-r4::gentoo  USE="cairo" 192 KiB
[binary  N     ] dev-qt/qtprintsupport-5.15.16:5/5.15::gentoo  USE="cups -debug -gles2-only -test" 222 KiB
[binary  NS    ] dev-qt/qtwebchannel-5.15.16:5/5.15::gentoo [6.8.1:6/6.8.1::gentoo] USE="qml -debug% -test" 101 KiB
[binary  N     ] dev-qt/qtpositioning-5.15.16:5/5.15::gentoo  USE="geoclue qml -debug -test" 337 KiB
[binary  N     ] app-misc/geoclue-2.7.2:2.0::gentoo  USE="introspection -gtk-doc -modemmanager -vala -zeroconf" 206 KiB
[binary  N     ] dev-qt/qtwebengine-5.15.16_p20241115:5/5.15::gentoo  USE="alsa geolocation jumbo-build pulseaudio screencast system-icu widgets -bindist -debug -designer -kerberos -test" 50930 KiB
[ebuild  N    ~] app-text/kchmviewer-8.0::gentoo  305 KiB
[ebuild  N    ~] dev-lang/pascalabcnet-9999::custom  USE="chm -gtk2" 0 KiB

Total: 13 packages (12 new, 1 in new slot, 11 binaries), Size of downloads: 124966 KiB

Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Running pre-merge checks for acct-group/geoclue-0-r2
 * Fetching in the background:
 * /var/calculate/packages/x86_64/acct-group/geoclue-0-r2.tbz2.partial
 * To view fetch progress, run in another terminal:
 * tail -f /var/log/emerge-fetch.log
>>> Running pre-merge checks for acct-user/geoclue-0-r2
>>> Running pre-merge checks for dev-lang/mono-6.12.0.199-r2
 * Fetching in the background:
 * /var/calculate/packages/x86_64/dev-lang/mono-6.12.0.199-r2.tbz2.partial
 * To view fetch progress, run in another terminal:
 * tail -f /var/log/emerge-fetch.log
 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     6.6.57-calculate
>>> Running pre-merge checks for dev-qt/qtwebengine-5.15.16_p20241115
 * Fetching in the background:
 * /var/calculate/packages/x86_64/dev-qt/qtwebengine-5.15.16_p20241115.tbz2.partial
 * To view fetch progress, run in another terminal:
 * tail -f /var/log/emerge-fetch.log
>>> Emerging binary (1 of 13) acct-group/geoclue-0-r2::gentoo
>>> Emerging binary (2 of 13) dev-libs/chmlib-0.40-r2::gentoo
>>> Emerging binary (3 of 13) dev-libs/libzip-1.11.2::gentoo
>>> Emerging binary (4 of 13) dev-lang/mono-6.12.0.199-r2::gentoo
>>> Emerging binary (5 of 13) dev-dotnet/libgdiplus-6.0.2-r4::gentoo
>>> Emerging binary (6 of 13) dev-qt/qtprintsupport-5.15.16::gentoo
>>> Emerging binary (7 of 13) dev-qt/qtwebchannel-5.15.16::gentoo
>>> Installing (2 of 13) dev-libs/chmlib-0.40-r2::gentoo
>>> Installing (1 of 13) acct-group/geoclue-0-r2::gentoo
>>> Installing (3 of 13) dev-libs/libzip-1.11.2::gentoo
>>> Installing (5 of 13) dev-dotnet/libgdiplus-6.0.2-r4::gentoo
>>> Completed (2 of 13) dev-libs/chmlib-0.40-r2::gentoo
>>> Installing (6 of 13) dev-qt/qtprintsupport-5.15.16::gentoo
>>> Completed (3 of 13) dev-libs/libzip-1.11.2::gentoo
>>> Installing (4 of 13) dev-lang/mono-6.12.0.199-r2::gentoo
>>> Completed (1 of 13) acct-group/geoclue-0-r2::gentoo
>>> Installing (7 of 13) dev-qt/qtwebchannel-5.15.16::gentoo
>>> Completed (5 of 13) dev-dotnet/libgdiplus-6.0.2-r4::gentoo
>>> Completed (6 of 13) dev-qt/qtprintsupport-5.15.16::gentoo
>>> Completed (7 of 13) dev-qt/qtwebchannel-5.15.16::gentoo
>>> Completed (4 of 13) dev-lang/mono-6.12.0.199-r2::gentoo
>>> Emerging binary (8 of 13) acct-user/geoclue-0-r2::gentoo
>>> Installing (8 of 13) acct-user/geoclue-0-r2::gentoo
>>> Completed (8 of 13) acct-user/geoclue-0-r2::gentoo
>>> Emerging binary (9 of 13) dev-qt/qtpositioning-5.15.16::gentoo
>>> Emerging binary (10 of 13) app-misc/geoclue-2.7.2::gentoo
>>> Installing (10 of 13) app-misc/geoclue-2.7.2::gentoo
>>> Installing (9 of 13) dev-qt/qtpositioning-5.15.16::gentoo
>>> Completed (10 of 13) app-misc/geoclue-2.7.2::gentoo
>>> Completed (9 of 13) dev-qt/qtpositioning-5.15.16::gentoo
>>> Emerging binary (11 of 13) dev-qt/qtwebengine-5.15.16_p20241115::gentoo
>>> Installing (11 of 13) dev-qt/qtwebengine-5.15.16_p20241115::gentoo
>>> Completed (11 of 13) dev-qt/qtwebengine-5.15.16_p20241115::gentoo
>>> Emerging (12 of 13) app-text/kchmviewer-8.0::gentoo
>>> Installing (12 of 13) app-text/kchmviewer-8.0::gentoo
>>> Completed (12 of 13) app-text/kchmviewer-8.0::gentoo
>>> Emerging (13 of 13) dev-lang/pascalabcnet-9999::custom
>>> Installing (13 of 13) dev-lang/pascalabcnet-9999::custom
>>> Recording dev-lang/pascalabcnet in "world" favorites file...
>>> Completed (13 of 13) dev-lang/pascalabcnet-9999::custom
>>> Jobs: 13 of 13 complete                                             Load avg: 4.45, 2.73, 1.50

 * Messages for package acct-group/geoclue-0-r2:

 * Group geoclue already exists

 * Messages for package acct-user/geoclue-0-r2:

 * User geoclue already exists
 * Updating user geoclue

 * Messages for package dev-qt/qtwebengine-5.15.16_p20241115:

 * This version of Qt WebEngine is based on Chromium version 87.0.4280.144,
 * with additional security fixes from newer versions. Extensive as it is, the
 * list of backports is impossible to evaluate, but always bound to be behind
 * Chromium's release schedule.
 * In addition, various online services may deny service based on an outdated
 * user agent version (and/or other checks). Google is already known to do so.
 * 
 * tldr: Your web browsing experience will be compromised.

 * Messages for package dev-lang/pascalabcnet-9999:

 * Если будет докучать ошибка-предупреждение об отсутствующей библиотеке 'appmenu-gtk-module' или 'canberra-gtk-module', то поступите следующим образом:
 * 
 * Задайте USE-флаги командой: echo 'dev-lang/pascalabcnet gtk2' >> /etc/portage/package.use/custom && echo 'x11-misc/appmenu-gtk-module gtk2' >> /etc/portage/package.use/custom && echo 'media-libs/libcanberra gtk2' >> /etc/portage/package.use/custom
 * 
 * и переустановите программу 'PascalABCNETLinux' следующей командой: emerge -av dev-lang/pascalabcnet
 * 
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

  1. Получаем результат (скрином запущенной программы порадовать не получится, т.к. в HYPER-V она не работает, увы):
Спойлер

, но некоторый вывод из консоли приложу:

Спойлер
# ls -l /opt/PascalABCNETLinux/
итого 12020
-rw-r--r--  1 root root  381952 янв  7 20:31 CodeCompletion.dll
-rw-r--r--  1 root root  245760 янв  7 20:31 Compiler.dll
-rw-r--r--  1 root root   13824 янв  7 20:31 CompilerTools.dll
-rw-r--r--  1 root root  307200 янв  7 20:31 Debugger.Core.dll
-rw-r--r--  1 root root    9728 янв  7 20:31 Errors.dll
drwxr-xr-x  2 root root      60 янв  7 20:31 Highlighting
-rw-r--r--  1 root root  110592 янв  7 20:31 ICSharpCode.Core.dll
-rw-r--r--  1 root root   57344 янв  7 20:31 ICSharpCode.Core.WinForms.dll
-rw-r--r--  1 root root  663552 янв  7 20:31 ICSharpCode.NRefactory.dll
-rw-r--r--  1 root root 1454080 янв  7 20:31 ICSharpCode.SharpDevelop.dll
-rw-r--r--  1 root root  368640 янв  7 20:31 ICSharpCode.SharpDevelop.Dom.dll
-rw-r--r--  1 root root  352256 янв  7 20:31 ICSharpCode.TextEditorLinux.dll
-rw-r--r--  1 root root    5632 янв  7 20:31 LambdaAnySynToSemConverter.dll
-rw-r--r--  1 root root   11264 янв  7 20:31 LanguageIntegrator.dll
drwxr-xr-x  2 root root     820 янв  7 20:31 Lib
drwxr-xr-x  2 root root     800 янв  7 20:31 LibSource
drwxr-xr-x  4 root root      80 янв  7 20:31 Lng
-rw-r--r--  1 root root  118272 янв  7 20:31 Localization.dll
-rw-r--r--  1 root root  144384 янв  7 20:31 Microsoft.Scripting.dll
-rw-r--r--  1 root root  275968 янв  7 20:31 Mono.Cecil.dll
-rw-r--r--  1 root root   33280 янв  7 20:31 Mono.Debugger.Soft.dll
-rw-r--r--  1 root root  200704 янв  7 20:31 NETGenerator.dll
-rw-r--r--  1 root root   32256 янв  7 20:31 OptimizerConversion.dll
-rw-r--r--  1 root root   28672 янв  7 20:31 pabcnetcclear.exe
-rw-r--r--  1 root root     150 янв  7 20:31 pabcnetcclear.exe.config
-rw-r--r--  1 root root   32768 янв  7 20:31 pabcnetc.exe
-rw-r--r--  1 root root     148 янв  7 20:31 pabcnetc.exe.config
-rw-r--r--  1 root root  159744 янв  7 20:31 ParserTools.dll
-rw-r--r--  1 root root    6144 янв  7 20:31 PascalABCLanguageInfo.dll
-rw-r--r--  1 root root 3019554 янв  7 20:31 PascalABCNET.chm
-rw-r--r--  1 root root     436 янв  7 20:31 PascalABCNETLinux.desktop
-rw-r--r--  1 root root 1507328 янв  7 20:31 PascalABCNETLinux.exe
-rw-r--r--  1 root root     499 янв  7 20:31 PascalABCNETLinux.exe.config
-rw-r--r--  1 root root    3460 янв  7 20:31 PascalABCNETLinux.png
-rwxr-xr-x  1 root root     231 янв  7 20:31 PascalABCNETLinux.sh
-rw-r--r--  1 root root  526336 янв  7 20:31 PascalABCParser.dll
-rw-r--r--  1 root root   16384 янв  7 20:31 Pause.exe
-rw-r--r--  1 root root   22528 янв  7 20:31 PluginsSupportLinux.dll
-rw-r--r--  1 root root    5120 янв  7 20:31 ProgrammRunner.exe
drwxr-xr-x 14 root root     280 янв  7 20:31 Samples
-rw-r--r--  1 root root   57344 янв  7 20:31 SemanticTree.dll
-rw-r--r--  1 root root   23552 янв  7 20:31 StringConstants.dll
-rw-r--r--  1 root root    6656 янв  7 20:31 SyntaxTreeConverters.dll
-rw-r--r--  1 root root  532480 янв  7 20:31 SyntaxTree.dll
-rw-r--r--  1 root root  155136 янв  7 20:31 SyntaxVisitors.dll
-rw-r--r--  1 root root   66560 янв  7 20:31 TeacherControlPlugin.dll
-rw-r--r--  1 root root    1494 янв  7 20:31 template.pct
-rw-r--r--  1 root root  942080 янв  7 20:31 TreeConverter.dll
-rw-r--r--  1 root root  244736 янв  7 20:31 WeifenLuo.WinFormsUI.DockingLinux.dll
-rw-r--r--  1 root root   90112 янв  7 20:31 WeifenLuo.WinFormsUI.Docking.ThemeVS2005Linux.dll
-rw-r--r--  1 root root    4608 янв  7 20:31 YieldHelpers.dll

  1. Например, следующим образом производится установка конкретной версии:
    Узнаем какие версии доступны к установке:
# equery list -op dev-lang/pascalabcnet
 * Searching for pascalabcnet in dev-lang ...
[--O] [ ~] dev-lang/pascalabcnet-3.9.0-r3390:0
[I-O] [  ] dev-lang/pascalabcnet-9999:0

Маскируем “живую” версию:

# echo ">dev-lang/pascalabcnet-3.9.0-r3390" >> /etc/portage/package.mask/custom

Попробуем выполнить установку:
# emerge -av =dev-lang/pascalabcnet-3.9.0-r3390

Спойлер
# emerge -av =dev-lang/pascalabcnet-3.9.0-r3390

Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 15.10 s (backtrack: 0/20).

[binary  N     ] app-arch/rpm2targz-2021.03.16::gentoo  25 KiB
[ebuild     UD~] dev-lang/pascalabcnet-3.9.0-r3390::custom [9999::custom] USE="chm -gtk2" 0 KiB

Total: 2 packages (1 downgrade, 1 new, 1 binary), Size of downloads: 25 KiB

The following keyword changes are necessary to proceed:
 (see "package.accept_keywords" in the portage(5) man page for more details)
# required by =dev-lang/pascalabcnet-3.9.0-r3390 (argument)
=dev-lang/pascalabcnet-3.9.0-r3390 ~amd64

Would you like to add these changes to your config files? [Yes/No] y

Autounmask changes successfully written.

 * IMPORTANT: config file '/etc/portage/package.accept_keywords/custom' needs updating.
 * See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
 * sections of the emerge man page to learn how to update config files.

, снова видим, что для пакета требуется размаскирование, выполняем и устанавливаем:

Спойлер
# emerge -av =dev-lang/pascalabcnet-3.9.0-r3390

Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 13.25 s (backtrack: 0/20).

[binary  N     ] app-arch/rpm2targz-2021.03.16::gentoo  25 KiB
[ebuild     UD~] dev-lang/pascalabcnet-3.9.0-r3390::custom [9999::custom] USE="chm -gtk2" 0 KiB

Total: 2 packages (1 downgrade, 1 new, 1 binary), Size of downloads: 25 KiB

Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Emerging binary (1 of 2) app-arch/rpm2targz-2021.03.16::gentoo
>>> Installing (1 of 2) app-arch/rpm2targz-2021.03.16::gentoo
>>> Completed (1 of 2) app-arch/rpm2targz-2021.03.16::gentoo
>>> Emerging (2 of 2) dev-lang/pascalabcnet-3.9.0-r3390::custom
>>> Installing (2 of 2) dev-lang/pascalabcnet-3.9.0-r3390::custom
>>> Completed (2 of 2) dev-lang/pascalabcnet-3.9.0-r3390::custom
>>> Jobs: 2 of 2 complete                                               Load avg: 1.67, 1.13, 1.28

 * Messages for package dev-lang/pascalabcnet-3.9.0-r3390:

 * Если будет докучать ошибка-предупреждение об отсутствующей библиотеке 'appmenu-gtk-module' или 'canberra-gtk-module', то поступите следующим образом:
 * 
 * Задайте USE-флаги командой: echo 'dev-lang/pascalabcnet gtk2' >> /etc/portage/package.use/custom && echo 'x11-misc/appmenu-gtk-module gtk2' >> /etc/portage/package.use/custom && echo 'media-libs/libcanberra gtk2' >> /etc/portage/package.use/custom
 * 
 * и переустановите программу 'PascalABCNETLinux' следующей командой: emerge -av dev-lang/pascalabcnet
 * 
>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.

 * GNU info directory index is up-to-date.

  1. Результат:
# whereis pascalabcnet
pascalabcnet: /usr/bin/pascalabcnet /usr/libexec/pascalabcnet
  1. Снова возвращаемся на “живую” версию, для этого убираем маскирование:
    # sed -i "/$pascalabcnet-3.9.0-r3390/d" /etc/portage/package.mask/custom
    , и выполняем либо:
    # cl-update
    , что предложит обновить текущую версию программы:
Спойлер
# cl-update
Синхронизация репозиториев
 * Проверка текущего сервера обновлений ...                                                                                                                                                                                             [ ok ]
 * Проверка обновлений Distros ...                                                                                                                                                                                                      [ ok ]
 * Проверка обновлений Calculate ...                                                                                                                                                                                                    [ ok ]
 * Проверка обновлений Gentoo ...                                                                                                                                                                                                       [ ok ]
 * Синхронизация завершена
Конфигурация системы
 * Сервер обновлений https://mirror.yandex.ru/calculate
Обновление пакетов
 * Вычисление зависимостей ...
 * Список пакетов для установки  
 * PascalABC.NET is a Pascal programming language that implements classic Pascal, most Delphi language features, as well as a number of their own extensions (U) dev-lang/pascalabcnet-9999 (0 KiB)
 * 1 пакетов будет установлено, 0 kB будет загружено

Вы хотите установить эти пакеты? (Yes/No): 

либо повторяем установку:
# emerge -av dev-lang/pascalabcnet
, что так же предложит обновить версию программы:

Спойлер
# emerge -av dev-lang/pascalabcnet

Local copy of remote index is up-to-date and will be used.

Local copy of remote index is up-to-date and will be used.

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 12.46 s (backtrack: 0/20).

[ebuild     U ~] dev-lang/pascalabcnet-9999::custom [3.9.0-r3390::custom] USE="chm -gtk2" 0 KiB

Total: 1 package (1 upgrade), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] 
  1. Парам пам пам. Всё!