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

Добрый день.
В школе для уроков информатики необходим Pascalabcnet.
На текущий момент получилось запустить методом описанным здесь Pascalabcnet на calculate linux

В связи с этим вопрос, возможно ли именно установить Pascalabcnet в Calculate?

Тут скорее распаковка будет, а не установка;

Да, действительно, архив дистрибутива достаточно распаковать и запускать с помощью mono, из этого следует, что всё может получиться и достаточно подготовить ebuild для “правильной” распаковки архива дистрибутива распространяемого по прямой ссылке с официального сайта.

В итоге можно выстроить такой сценарий ebuild:

  1. Загружаем архив дистрибутива по ссылке;
  2. Распаковываем его в нужный путь, пусть будет /opt;
  3. Устанавливаем зависимости;
  4. Подготавливаем сценарий запуска;
  5. Подготавливаем/ подкидываем ярлык запуска;
  6. Profit!

1, 2, 3 - это совсем не трудно.
4 и 5 - тоже не проблема (просто заранее подготовить нужные файлы в текстовом редакторе).
Но, грамотно написать ebuild и оттестировать будет несколько сложновато (можно на примере имеющихся сделать, скопировать команды).

Задался вопросом вообще обойтись без “сторонних” файлов, вроде как можно, но файл ebuild’а будет трудночитаемым.

Пока “по феншую” не получается, пойду почитаю документацию, но, что-то да и вырисовывается:

Спойлер

Никто не желает порадовать школьников в преддверии нового года рабочим ebuild?

Лучшее – детям

Давайте попробую (не судите строго, в каких-то моментах проявил вольность):

# eix-sync && eix-update
...
База данных содержит 19130 пакетов в 172 категориях
 * Вызов eix-diff
[N]   >> dev-lang/pascalabcnet (~9999) [3]: PascalABC.NET is a Pascal programming language that implements classic Pascal, most Delphi language features, as well as a number of their own extensions
 * Статистика времени:
...
# equery list -op dev-lang/pascalabcnet

 * Searching for pascalabcnet in dev-lang ...
[--O] [ ~] dev-lang/pascalabcnet-3.9.0-r3390:0
[--O] [ ~] dev-lang/pascalabcnet-9999:0
# eix dev-lang/pascalabcne
* 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 -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 10.40 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.9.2:0/5::gentoo  USE="bzip2 ssl zstd -gnutls -lzma -mbedtls -static-libs -test -tools" 246 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)" 0 KiB
[binary  NS    ] dev-qt/qtwebchannel-5.15.14:5/5.15::gentoo [6.7.3:6/6.7.3::gentoo] USE="qml -debug% -test" 101 KiB
[binary  N     ] dev-qt/qtpositioning-5.15.14: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.14_p20240510:5/5.15::gentoo  USE="alsa geolocation jumbo-build pulseaudio screencast system-icu widgets -bindist -debug -designer -kerberos -test" 50901 KiB
[ebuild  N    ~] app-text/kchmviewer-8.0::gentoo  305 KiB
[ebuild  N    ~] dev-lang/pascalabcnet-9999::custom  USE="chm -gtk2" 7883 KiB

Total: 11 packages (10 new, 1 in new slot, 9 binaries), Size of downloads: 60036 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] 
# cat /var/calculate/repos/custom/dev-lang/pascalabcnet/pascalabcnet-3.9.0-r3390.ebuild
Спойлер
# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit rpm

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"
HOMEPAGE="http://pascalabc.net/"
SRC_URI="amd64? ( http://mirror.rosalinux.ru/rosa/rosa2021.1/repository/x86_64/contrib/release/${P}-1.gitf309df.3-rosa2021.1.x86_64.rpm )"

LICENSE="LGPL-3.0"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="mirror strip"

IUSE="+chm gtk2"

RDEPEND="
    chm? ( app-text/kchmviewer )
    dev-dotnet/libgdiplus
    dev-lang/mono
    gtk2? ( media-libs/libcanberra[gtk2] )
    gtk2? ( x11-misc/appmenu-gtk-module[gtk2] )
"

DEPEND="${RDEPEND}"

S="${WORKDIR}"

src_unpack() {

    rpm_unpack ${P}-1.gitf309df.3-rosa2021.1.x86_64.rpm

}

src_install() {

    cp -R "${WORKDIR}/usr" "${D}" || die "install failed!"

}

pkg_postinst() {

    if !(use gtk2) ; then
        elog "Если будет докучать ошибка-предупреждение об отсутствующей библиотеке 'appmenu-gtk-module' или 'canberra-gtk-module', то поступите следующим образом:"
        elog ""
        elog "Задайте 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"
        elog ""
        elog "и переустановите программу 'PascalABCNETLinux' следующей командой: emerge -av dev-lang/pascalabcnet"
        elog ""
    fi

}

# cat /var/calculate/repos/custom/dev-lang/pascalabcnet/pascalabcnet-9999.ebuild 
Спойлер
# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit unpacker

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"
HOMEPAGE="http://pascalabc.net/"
SRC_URI="amd64? ( https://pascalabc.net/downloads/PascalABCNETLinux.zip )"

LICENSE="LGPL-3.0"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="mirror strip"

IUSE="+chm gtk2"

RDEPEND="
    chm? ( app-text/kchmviewer )
    dev-dotnet/libgdiplus
    dev-lang/mono
    gtk2? ( media-libs/libcanberra[gtk2] )
    gtk2? ( x11-misc/appmenu-gtk-module[gtk2] )
"

DEPEND="${RDEPEND}"

S="${WORKDIR}"

src_install() {

    local dst_path="opt"

    ###Извлечём файлы дистрибутива по пути:

    insinto "${dst_path}"
    doins -r "PascalABCNETLinux" || die "install failed!"

    insinto "${dst_path}/PascalABCNETLinux"
    doins -r "Samples" || die "install failed!"


    ###Создадим и наполним стартовый сценарий:

    insinto "${dst_path}/PascalABCNETLinux"
    newins - "PascalABCNETLinux.sh" <<_EOF
#!/bin/bash
export MONO_IOMAP=all
export MONO_HELP_VIEWER=kchmviewer
export MONO_REGISTRY_PATH="HOME_VAR/PABCWork.NET"
[ -d "MONO_VAR_REGISTRY_PATH" ] || mkdir -p "MONO_VAR_REGISTRY_PATH"
mono "/${dst_path}/PascalABCNETLinux/PascalABCNETLinux.exe"
_EOF
    sed -i 's|HOME_VAR|\$HOME|g' "${D}/${dst_path}/PascalABCNETLinux/PascalABCNETLinux.sh"
    sed -i 's|MONO_VAR|\$MONO|g' "${D}/${dst_path}/PascalABCNETLinux/PascalABCNETLinux.sh"
    chmod 0755 "${D}/${dst_path}/PascalABCNETLinux/PascalABCNETLinux.sh"


    ###Создадим файл иконки и наполним его:

    base64png="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"

    insinto "${dst_path}/PascalABCNETLinux"
    newins - "PascalABCNETLinux.png"
    base64 -d <<<${base64png} > "${D}/${dst_path}/PascalABCNETLinux/PascalABCNETLinux.png"
    insinto "usr/share/pixmaps"
    doins "${D}/${dst_path}/PascalABCNETLinux/PascalABCNETLinux.png"


    ###Создадим и наполним .desktop-файл:

    insinto "${dst_path}/PascalABCNETLinux"
    newins - "PascalABCNETLinux.desktop" <<_EOF
[Desktop Entry]
Categories=Education;Development;
Comment[ru]=Система программирования PascalABC.NET
Comment=
Exec=/${dst_path}/PascalABCNETLinux/PascalABCNETLinux.sh %F
GenericName[ru_RU]=
GenericName=
Icon=/${dst_path}/PascalABCNETLinux/PascalABCNETLinux.png
MimeType=
Name[ru_RU]=PascalABC.NET for Linux
Name=PascalABC.NET for Linux
StartupNotify=true
Terminal=false
Type=Application
X-KDE-SubstituteUID=false
X-KDE-Username=
_EOF

    insinto "usr/share/applications"
    doins "${D}/${dst_path}/PascalABCNETLinux/PascalABCNETLinux.desktop"

}

pkg_postinst() {

    if !(use gtk2) ; then
        elog "Если будет докучать ошибка-предупреждение об отсутствующей библиотеке 'appmenu-gtk-module' или 'canberra-gtk-module', то поступите следующим образом:"
        elog ""
        elog "Задайте 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"
        elog ""
        elog "и переустановите программу 'PascalABCNETLinux' следующей командой: emerge -av dev-lang/pascalabcnet"
        elog ""
    fi

}

Куда уж без скринов, прикладываю один из:

Спойлер

А что такая древняя версия - 3.9?

Сейчас - 3.10.2

Welcome!

Предложите ebuild для “сейчас”-версии.

Если быть чуть-чуть повнимательней, то можно увидеть, что и эта версия тоже “обыграна” :wink:

Я думаю школьники будут в восторге если не удастся установить, такие нынче детишки.

Теперь по делу, все делал по аналогии с КУМИРом, но тут успех прошел мимо:

Summary
# emerge -av dev-lang/pascalabcnet

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 5.30 s (backtrack: 0/20).

[ebuild  N     ] x11-misc/appmenu-gtk-module-24.05-r2::gentoo  USE="gtk2 wayland -test" 0 KiB
[binary  N     ] dev-qt/qtpositioning-5.15.14:5/5.15::gentoo  USE="geoclue qml -debug -test" 0 KiB
[binary  N     ] app-misc/geoclue-2.7.2:2.0::gentoo  USE="introspection -gtk-doc -modemmanager -vala -zeroconf" 0 KiB
[ebuild     UD ] media-libs/libcanberra-0.30-r7::gentoo [0.30-r8::gentoo] USE="alsa gtk2%* gtk3%* pulseaudio udev -gnome% -gstreamer -oss -sound% -tdb" ABI_X86="32 (64) (-x32)" 0 KiB
[uninstall     ] media-libs/libcanberra-gtk3-0.30::gentoo  USE="-gnome" ABI_X86="32 (64) (-x32)" 
[blocks b      ] <media-libs/libcanberra-0.30-r8[gtk3(-)] ("<media-libs/libcanberra-0.30-r8[gtk3(-)]" is soft blocking media-libs/libcanberra-gtk3-0.30)
[binary  N     ] dev-qt/qtwebengine-5.15.14_p20240510:5/5.15::gentoo  USE="alsa geolocation jumbo-build pulseaudio screencast system-icu widgets -bindist -debug -designer -kerberos -test" 0 KiB
[ebuild  N    ~] app-text/kchmviewer-8.0::gentoo  0 KiB
[ebuild  N    ~] dev-lang/pascalabcnet-9999::custom  USE="chm gtk2" 0 KiB

Total: 7 packages (1 downgrade, 6 new, 3 binaries, 1 uninstall), Size of downloads: 0 KiB
Conflict: 1 block (all satisfied)

Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Running pre-merge checks for dev-qt/qtwebengine-5.15.14_p20240510
>>> Emerging (1 of 7) x11-misc/appmenu-gtk-module-24.05-r2::gentoo
>>> Emerging binary (2 of 7) dev-qt/qtpositioning-5.15.14::gentoo
>>> Emerging binary (3 of 7) app-misc/geoclue-2.7.2::gentoo
>>> Emerging (4 of 7) media-libs/libcanberra-0.30-r7::gentoo
>>> Failed to emerge x11-misc/appmenu-gtk-module-24.05-r2, Log file:
>>>  '/var/calculate/tmp/portage/x11-misc/appmenu-gtk-module-24.05-r2/temp/build.log'
>>> Jobs: 0 of 7 complete, 2 running, 1 failed, 2 merge waitLoad avg: 0.81, 0.23>>> Jobs: 0 of 7 complete, 1 running, 1 failed, 2 merge waitLoad avg: 0.81, 0.23>>> Failed to emerge media-libs/libcanberra-0.30-r7, Log file:
>>> Jobs: 0 of 7 complete, 1 running, 1 failed, 2 merge waitLoad avg: 0.81, 0.23>>>  '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/temp/build.log'
>>> Jobs: 0 of 7 complete, 1 running, 1 failed, 2 merge waitLoad avg: 0.81, 0.23>>> Jobs: 0 of 7 complete, 1 running, 2 failed, 2 merge waitLoad avg: 0.81, 0.23>>> Installing (2 of 7) dev-qt/qtpositioning-5.15.14::gentoo
>>> Installing (3 of 7) app-misc/geoclue-2.7.2::gentoo
>>> Completed (2 of 7) dev-qt/qtpositioning-5.15.14::gentoo
>>> Completed (3 of 7) app-misc/geoclue-2.7.2::gentoo
>>> Jobs: 2 of 7 complete, 2 failed                 Load avg: 0.92, 0.27, 0.10

 * Messages for package x11-misc/appmenu-gtk-module-24.05-r2:

 * ERROR: x11-misc/appmenu-gtk-module-24.05-r2::gentoo failed (configure phase):
 *   (no error message)
 * 
 * Call stack:
 *     ebuild.sh, line  136:  Called src_configure
 *   environment, line 3335:  Called meson_src_configure
 *   environment, line 2472:  Called setup_meson_src_configure
 *   environment, line 3268:  Called tc-is-lto
 *   environment, line 4084:  Called die
 * The specific snippet of code:
 *               $(tc-getCC) ${CFLAGS} -c -o "${f}" -x c - <<< "" || die;
 * 
 * If you need support, post the output of `emerge --info '=x11-misc/appmenu-gtk-module-24.05-r2::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=x11-misc/appmenu-gtk-module-24.05-r2::gentoo'`.
 * The complete build log is located at '/var/calculate/tmp/portage/x11-misc/appmenu-gtk-module-24.05-r2/temp/build.log'.
 * The ebuild environment file is located at '/var/calculate/tmp/portage/x11-misc/appmenu-gtk-module-24.05-r2/temp/environment'.
 * Working directory: '/var/calculate/tmp/portage/x11-misc/appmenu-gtk-module-24.05-r2/work/appmenu-gtk-module-24.02'
 * S: '/var/calculate/tmp/portage/x11-misc/appmenu-gtk-module-24.05-r2/work/appmenu-gtk-module-24.02'

 * Messages for package media-libs/libcanberra-0.30-r7:

 * ERROR: media-libs/libcanberra-0.30-r7::gentoo failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *               ebuild.sh, line  136:  Called src_configure
 *             environment, line 1841:  Called multilib-minimal_src_configure
 *             environment, line 1170:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *             environment, line 1420:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 1125:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 1123:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *             environment, line  414:  Called multilib-minimal_abi_src_configure
 *             environment, line 1164:  Called multilib_src_configure
 *             environment, line 1640:  Called econf '--docdir=/usr/share/doc/libcanberra-0.30-r7' '--enable-alsa' '--disable-oss' '--enable-pulse' '--disable-gstreamer' '--enable-gtk' '--enable-gtk3' '--disable-tdb' '--enable-udev' '--disable-lynx' '--disable-gtk-doc' '--with-systemdsystemunitdir=/lib/systemd/system'
 *        phase-helpers.sh, line  647:  Called __helpers_die 'econf failed'
 *   isolated-functions.sh, line  112:  Called die
 * The specific snippet of code:
 *   		die "$@"
 * 
 * If you need support, post the output of `emerge --info '=media-libs/libcanberra-0.30-r7::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-libs/libcanberra-0.30-r7::gentoo'`.
 * The complete build log is located at '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/temp/build.log'.
 * The ebuild environment file is located at '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/temp/environment'.
 * Working directory: '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30-abi_x86_32.x86'
 * S: '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30'
 * 
 * The following 2 packages have failed to build, install, or execute
 * postinst:
 * 
 *  (x11-misc/appmenu-gtk-module-24.05-r2:0/0::gentoo, ebuild scheduled for merge), Log file:
 *   '/var/calculate/tmp/portage/x11-misc/appmenu-gtk-module-24.05-r2/temp/build.log'
 *  (media-libs/libcanberra-0.30-r7:0/0::gentoo, ebuild scheduled for merge), Log file:
 *   '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/temp/build.log'
 * 

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

по поводу канберы, установлена версия -0.30-r8

Попробовал поставить -0.30-r7:

Summary
# emerge -av =media-libs/libcanberra-0.30-r7

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 3.28 s (backtrack: 0/20).

[ebuild     UD ] media-libs/libcanberra-0.30-r7::gentoo [0.30-r8::gentoo] USE="alsa gtk2%* gtk3%* pulseaudio udev -gnome% -gstreamer -oss -sound% -tdb" ABI_X86="32 (64) (-x32)" 0 KiB
[uninstall     ] media-libs/libcanberra-gtk3-0.30::gentoo  USE="-gnome" ABI_X86="32 (64) (-x32)" 
[blocks b      ] <media-libs/libcanberra-0.30-r8[gtk3(-)] ("<media-libs/libcanberra-0.30-r8[gtk3(-)]" is soft blocking media-libs/libcanberra-gtk3-0.30)

Total: 1 package (1 downgrade, 1 uninstall), Size of downloads: 0 KiB
Conflict: 1 block (all satisfied)

Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild manifests
>>> Emerging (1 of 1) media-libs/libcanberra-0.30-r7::gentoo
>>> Failed to emerge media-libs/libcanberra-0.30-r7, Log file:
>>>  '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/temp/build.log'
>>> Jobs: 0 of 1 complete, 1 failed                 Load avg: 0.26, 0.32, 0.26
 * Package:    media-libs/libcanberra-0.30-r7:0
 * Repository: gentoo
 * Maintainer: gnome@gentoo.org sound@gentoo.org
 * USE:        abi_x86_32 abi_x86_64 alsa amd64 elibc_glibc gtk2 gtk3 kernel_linux pulseaudio udev
 * FEATURES:   network-sandbox preserve-libs sandbox usersandbox
>>> Unpacking source...
>>> Unpacking libcanberra-0.30.tar.xz to /var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work
>>> Source unpacked in /var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work
>>> Preparing source in /var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30 ...
 * Applying libcanberra-0.30-wayland.patch ...                           [ ok ]
 * Running elibtoolize in: libcanberra-0.30/
 *   Applying target-nm/2.4.2 patch ...
 *   Applying ppc64le/2.4.2 patch ...
 *   Applying clang-runtime/2.4.7 patch ...
 * Running elibtoolize in: libcanberra-0.30/build-aux/
 *   Applying portage/1.2.0 patch ...
 *   Applying sed/1.5.6 patch ...
 *   Applying as-needed/2.4.2 patch ...
 *   Applying g-debug/2.4.2 patch ...
 *   Applying specs/2.4.2 patch ...
 *   Applying fsanitize/2.4.2 patch ...
 *   Applying fuse-ld/2.4.2 patch ...
 *   Applying werror/2.4.2 patch ...
 *   Applying cxx-pthread/2.4.6 patch ...
 *   Applying color-record/2.4.2 patch ...
 *   Applying verbose-pic/2.4.7 patch ...
 *   Applying clang-runtime-ltmain/2.4.7 patch ...
>>> Source prepared.
>>> Configuring source in /var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30 ...
 * abi_x86_32.x86: running multilib-minimal_abi_src_configure
 * econf: updating libcanberra-0.30/build-aux/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating libcanberra-0.30/build-aux/config.sub with /usr/share/gnuconfig/config.sub
/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30/configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-silent-rules --docdir=/usr/share/doc/libcanberra-0.30-r7 --htmldir=/usr/share/doc/libcanberra-0.30-r7/html --with-sysroot=/ --libdir=/usr/lib --docdir=/usr/share/doc/libcanberra-0.30-r7 --enable-alsa --disable-oss --enable-pulse --disable-gstreamer --enable-gtk --enable-gtk3 --disable-tdb --enable-udev --disable-lynx --disable-gtk-doc --with-systemdsystemunitdir=/lib/systemd/system
checking for a BSD-compatible install... /usr/lib/portage/python3.12/ebuild-helpers/xattr/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking how to create a pax tar archive... gnutar
checking whether make supports nested variables... (cached) yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking whether ln -s works... yes
checking for style of include used by make... GNU
checking for i686-pc-linux-gnu-gcc... x86_64-pc-linux-gnu-gcc -m32 -mfpmath=sse
checking whether the C compiler works... no
configure: error: in `/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30-abi_x86_32.x86':
configure: error: C compiler cannot create executables
See `config.log' for more details

!!! Please attach the following file when seeking support:
!!! /var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30-abi_x86_32.x86/config.log
 * ERROR: media-libs/libcanberra-0.30-r7::gentoo failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *               ebuild.sh, line  136:  Called src_configure
 *             environment, line 1841:  Called multilib-minimal_src_configure
 *             environment, line 1170:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *             environment, line 1420:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 1125:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 1123:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *             environment, line  414:  Called multilib-minimal_abi_src_configure
 *             environment, line 1164:  Called multilib_src_configure
 *             environment, line 1640:  Called econf '--docdir=/usr/share/doc/libcanberra-0.30-r7' '--enable-alsa' '--disable-oss' '--enable-pulse' '--disable-gstreamer' '--enable-gtk' '--enable-gtk3' '--disable-tdb' '--enable-udev' '--disable-lynx' '--disable-gtk-doc' '--with-systemdsystemunitdir=/lib/systemd/system'
 *        phase-helpers.sh, line  647:  Called __helpers_die 'econf failed'
 *   isolated-functions.sh, line  112:  Called die
 * The specific snippet of code:
 *   		die "$@"
 * 
 * If you need support, post the output of `emerge --info '=media-libs/libcanberra-0.30-r7::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-libs/libcanberra-0.30-r7::gentoo'`.
 * The complete build log is located at '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/temp/build.log'.
 * The ebuild environment file is located at '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/temp/environment'.
 * Working directory: '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30-abi_x86_32.x86'
 * S: '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30'

 * Messages for package media-libs/libcanberra-0.30-r7:

 * ERROR: media-libs/libcanberra-0.30-r7::gentoo failed (configure phase):
 *   econf failed
 * 
 * Call stack:
 *               ebuild.sh, line  136:  Called src_configure
 *             environment, line 1841:  Called multilib-minimal_src_configure
 *             environment, line 1170:  Called multilib_foreach_abi 'multilib-minimal_abi_src_configure'
 *             environment, line 1420:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 1125:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_configure'
 *             environment, line 1123:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_configure'
 *             environment, line  414:  Called multilib-minimal_abi_src_configure
 *             environment, line 1164:  Called multilib_src_configure
 *             environment, line 1640:  Called econf '--docdir=/usr/share/doc/libcanberra-0.30-r7' '--enable-alsa' '--disable-oss' '--enable-pulse' '--disable-gstreamer' '--enable-gtk' '--enable-gtk3' '--disable-tdb' '--enable-udev' '--disable-lynx' '--disable-gtk-doc' '--with-systemdsystemunitdir=/lib/systemd/system'
 *        phase-helpers.sh, line  647:  Called __helpers_die 'econf failed'
 *   isolated-functions.sh, line  112:  Called die
 * The specific snippet of code:
 *   		die "$@"
 * 
 * If you need support, post the output of `emerge --info '=media-libs/libcanberra-0.30-r7::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=media-libs/libcanberra-0.30-r7::gentoo'`.
 * The complete build log is located at '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/temp/build.log'.
 * The ebuild environment file is located at '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/temp/environment'.
 * Working directory: '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30-abi_x86_32.x86'
 * S: '/var/calculate/tmp/portage/media-libs/libcanberra-0.30-r7/work/libcanberra-0.30'

Ага, Вы взвели флаг gtk2 и возник конфликт библиотек gtk3, т.к. указанная библиотека предоставляется как пакетом media-libs/libcanberra-gtk3 так и пакетом media-libs/libcanberra.

Как вариант попробуйте убрать внесённые ранее изменения в файле:

  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. Парам пам пам. Всё!

Огромное спасибо. Сегодня на рабочей машине попробовал, точнее повторно попробовал, со второго раза стал.

Что было в первый раз? Ошибка или что? Слишком мало информации выдаёте, остаётся только догадываться.

Сам не понял что случилось, по-этому и мало информации. В пятницу попробовал, но по времени уже надо было убегать, глянул только, появился ярлык или нет, его не было и ошибок вроде тоже(сильно спешил). Сегодня заново попробовал запустить установку, установился 1 пакет, вот не вспомню сейчас какой именно и после этого все появилось. Завтра буду на других пробовать, если что появится приду с комментариями.

Вот что-что, а спешить не надо, иначе и дров можно наломать :upside_down_face:

Обязательно приходите, иначе получается малополезный монолог.

Сегодня еще 2 машины, полет нормальный. Ошибок не выявлено.
Визуально увидел, вспомнил, вчера доустановился:
app-text/kchmviewer-8.0::gentoo, и после этого паскаль появился.

Данный пакет требуется для отображения/ работы справочной системы “PascalABCNET”, и на работу программы не влияет.

И да, не совсем понятно, что значит “доустановился и программа заработала”? Возможно, Вы не понимаете каким образом разрешаются зависимости и происходит установка пакетов.

Поэтому, в таких случаях всегда помогает разобраться вывод программы, а не “домысел и фантазии”.

Возьму за правило копировать все из терминала, чтобы потом можно было разобрать, что да как.
Еще раз спасибо, очень помогли

1 Like

Всё не надо, только сомнительное, и (если из терминала) то только через текстовый редактор (не через офис) чтобы всякие разные неотображаемые спецсимволы не прилетали простым копипастом через буфер обмена. редактор их опознаёт и отсеивает оставляя только видимые символы (кроме символа перевода строки). Даже Баш не всегда тупой копипаст принимает.

Оставлю это здесь:

$ /var/calculate/custom-overlay/dev-lang/pascalabcnet/pascalabcnet-3.10.3-r3611.ebuild
Спойлер
# Copyright 2020-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit rpm

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"
HOMEPAGE="http://pascalabc.net/"
SRC_URI="amd64? ( https://mirror.rosalinux.ru/rosa/rosa13/repository/x86_64/contrib/release/${P}-3.git80b718.1-rosa13.x86_64.rpm )"

LICENSE="LGPL-3.0"
SLOT="0"
KEYWORDS="~amd64"
RESTRICT="mirror strip"

IUSE="+chm gtk2"

RDEPEND="
    chm? ( app-text/kchmviewer )
    dev-dotnet/libgdiplus
    dev-lang/mono
    gtk2? ( media-libs/libcanberra[gtk2] )
    gtk2? ( x11-misc/appmenu-gtk-module[gtk2] )
"

DEPEND="${RDEPEND}"

S="${WORKDIR}"

src_unpack() {

    rpm_unpack ${P}-3.git80b718.1-rosa13.x86_64.rpm

}

src_install() {

    cp -R "${WORKDIR}/usr" "${D}" || die "install failed!"

}

pkg_postinst() {

    if !(use gtk2) ; then
        elog "Если будет докучать ошибка-предупреждение об отсутствующей библиотеке 'appmenu-gtk-module' или 'canberra-gtk-module', то поступите следующим образом:"
        elog ""
        elog "Задайте 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"
        elog ""
        elog "и переустановите программу 'PascalABCNETLinux' следующей командой: emerge -av dev-lang/pascalabcnet"
        elog ""
    fi

}

Спойлер