Архив с исходным кодом codeblocks-17.12 в каталоге "src/plugins/contrib/FortranProject" содержит исходный код плагина FortranProject ( http://cbfortran.sourceforge.net/ ), который обеспечивает автодополнение кода, поддержку отладки, генерацию Makefile, переход к объявлению и обратно, генерацию шаблонов и т.д. при написании программ на языке Fortran. В скриптах сборки autotools основной программы для него не описаны правила. Поэтому собранный пакет "codeblocks-contrib" его не содержит. Если есть возможность, пересоберите, пожалуйста, codeblocks-17.12 с применением прикреплённого патча системы сборки. Патч взят из багзиллы Gentoo ( https://bugs.gentoo.org/643494 ). P.S. В том случае, если сборка после патча производится GCC-7 и новее, то дополнительно предварительно нужно применить патч: https://raw.githubusercontent.com/band-a-prend/gentoo/587ca5c3fee4dd1c6699a41871b643132081282f/dev-util/codeblocks/files/FortranProject_fix_build_gcc7_failed.patch или (сылка на тот же патч в upstream) https://sourceforge.net/p/fortranproject/code/184/ Точнее нужна даже только первая его часть для файла "parserf.cpp", иначе в процессе сборки FortranProject plugin будет появляться ошибка "call of overloaded ‘abs(unsigned int)’ is ambiguous".
Created attachment 7534 [details] FortranProject_autotools_build.diff
Я правильно понимаю, что апстрим принял приложенный патч не полностью? https://sourceforge.net/p/codeblocks/tickets/630/ В SVN я никак не могу отыскать концов этого патча. Покажите пожалуйста коммит, в котором они частично приняли его.
(В ответ на комментарий №2) > Я правильно понимаю, что апстрим принял приложенный патч не полностью? > https://sourceforge.net/p/codeblocks/tickets/630/ > > В SVN я никак не могу отыскать концов этого патча. Покажите пожалуйста коммит, > в котором они частично приняли его. К сожалению, апстрим самого Codeblocks данный патч принять не может: 1. плагин FotranProject имеет собственный репозиторий разработки и отсутствует в ветке trunk репозитория разработки Сodeblocks; 2. директорию "FotranProject" помещают в каталог "src/plugins/contrib" непосредственно перед архивированием "релиза"; 3. патчи добавляются в ветку "codeblocks/trunk", а из-за отсутствия в "src/plugins/contrib" директории "FotranProject" на постоянной основе, он будет ломать сборку при выставлении "--with-contrib-plugins=all" - не найдёт каталог. Из-за перечисленных выше причин, данный патч работает только для архива с релизом, в данном случае, 17.12. Более подробное обсуждение здесь: http://forums.codeblocks.org/index.php/topic,22448.0.html . Плагин "FotranProject" в собранном виде поставляется в официальных бинарных сборках Code::Blocks для Windows начиная с версии 13.12, для Linux официальных поставок данного плагина в бинарных сборках нет. В лучшем случае, пользователи Linux могли собрать плагин вручную сами или использовать отдельную сборку Codeblocks от автора плагина. Надеюсь, если пакет codeblocks будет пересобран с патчем, плагин будет полезен пользователям Alt Linux. В данный момент патч применяется в "майских" сборках Code::Blocks в Gentoo и Rosa. P.S. Апстрим плагина FortranProject принял фрагмент данного патча ( https://sourceforge.net/p/fortranproject/code/187/ ) после релиза его версии 1.5, вошедшей в сборку codeblocks-17.12. Но оставшуюся часть апстрим Codeblocks принять, по описанной выше причине принят не может. В то же время, дополнительно апрстримом плагина были приняты дополнительные патчи ( https://sourceforge.net/p/fortranproject/code/188/ и https://sourceforge.net/p/fortranproject/code/189/ ). Таким образом, патчи 187, 188, 189 в сумме позволяют собрать данный плагин как отдельный пакет при установленном codeblocks. Но раз уж исходники уже и так лежат в архиве с самим codeblocks (для 16.01 они там тоже были, но тоже не собирались автоматически), то проще сразу собирать с применением предложенного патча, чем отдельным пакетом. Тем более, что к следующей версии плагина, его код будет синхронизирован с кодовой базой разработки Codeblocks и новая его версия не сможет быть собрана без отката некоторых изменений в его коде.
apt-repo test 205838 Ваша проблема решилась?
Спасибо. На вид работает. Codeblocks запускается, меню Fortran отображается в списке меню. Подсветка блоков начала программы, процедуры и цикла работает; сворачиваются бблоки кода. Также, например, работает смена регистра набранных символов (из меню Fortran). Если б что-то было совсем не так, то после запуска codeblocks - он бы из-за сломанного плагина либо упал, либо выдал ошибку и отключил бы поломанный плагин. Только файлы /usr/share/codeblocks/images/16x16/fprojectjumpback.png /usr/share/codeblocks/images/16x16/fprojectjumpforward.png /usr/share/codeblocks/images/16x16/fprojectjumphome.png и /usr/share/codeblocks/images/fprojectjumpback.png /usr/share/codeblocks/images/fprojectjumpforward.png /usr/share/codeblocks/images/fprojectjumphome.png /usr/share/codeblocks/images/fprojectmakevisible.png /usr/share/codeblocks/images/fprojectmakevisible16.png должны устанавливаться пакетом codeblocs-contrib, а они установлены пакетом codeblocks - посмотрел вывод команды rpm -ql для данных пакетов. То есть список файлов в пакете codeblocks не должен измениться, так как как FortranProject является теперь (и должен быть) частью codeblocks-contrib.
codeblocks-17.12-alt2 -> sisyphus: Tue May 08 2018 Grigory Ustinov <grenka@altlinux> 17.12-alt2 - Add patches for fix FortranProject plugin (Closes: #34891).
(В ответ на комментарий №4) > apt-repo test 205838 > > Ваша проблема решилась? Спасибо большое. Расположение файлов не забыли поменять в итоговых пакетах?
(В ответ на комментарий №7) > (В ответ на комментарий №4) > > apt-repo test 205838 > > > > Ваша проблема решилась? > > Спасибо большое. Расположение файлов не забыли поменять в итоговых пакетах? Можете проверить rpm -ql codeblocks | grep fproject. Не хотите ли вступить в team и иметь возможность самим собирать пакеты?
Да, я утром уже проверил содержимое rpm-файлов, которые разошлись по зеркалам Sysiphus. К сожалению, я не смогу выделить время на полноценную поддержку пакета :(