# Buildsheet autogenerated by ravenadm tool -- Do not edit. NAMEBASE= gnatstudio VERSION= 20250919 REVISION= 1 KEYWORDS= devel VARIANTS= std SDESC[std]= Multilanguage IDE for Ada, SPARK, C/C++, and more HOMEPAGE= https://www.adacore.com/gnatpro/toolsuite/gnatstudio CONTACT= John_Marino[draco@marino.st] DOWNLOAD_GROUPS= main SITES[main]= GITHUB/AdaCore:gnatstudio:14a6978 DISTFILE[1]= generated:main DF_INDEX= 1 SPKGS[std]= set primary docs examples OPTIONS_AVAILABLE= DEBUG OPTIONS_STANDARD= DEBUG OPT_ON[all]= DEBUG BUILD_DEPENDS= libadalang:dev:std libadalang-tools:dev:std libadalang:tools:std lal-refactor:dev:std ada_language_server:dev:std python-PyGObject:dev:python_used python-Sphinx:single:python_used python-sphinx-rtd-theme:single:python_used clang:compiler:std gnatcoll-db:dev:std gnatcoll-bindings:dev:std BUILDRUN_DEPENDS= gnatcoll-db:sql:std gnatcoll-db:xref:std gnatcoll-db:sqlite:std gnatcoll-db:primary:std gnatcoll-bindings:python3:std ada_language_server:primary:std prettier-ada:primary:std gtkada:primary:std python-PyGObject:primary:python_used gmp:primary:std clang:dynlibs:std RUN_DEPENDS= librsvg:primary:std gdb:primary:std libcanberra:primary:std python-jedi:single:python_used python-pycodestyle:single:python_used EXRUN[primary]= ravensys-gcc:compilers:std ravensys-gcc:ada_run:std ravensys-gcc:cxx_run:std ravensys-gcc:libs:std ravensys-binutils:single:std USES= gprbuild:buildrun gmake pkgconfig zlib python perl:build shebangfix iconv:standalone fontconfig gettext:build GNOME_COMPONENTS= gtk3 cairo gdkpixbuf XORG_COMPONENTS= x11 LICENSE= GPLv3+:primary LICENSE_TERMS= primary:{{WRKDIR}}/TERMS LICENSE_FILE= GPLv3+:{{WRKSRC}}/COPYING3 LICENSE_AWK= TERMS:"^$$" LICENSE_SOURCE= TERMS:{{WRKSRC}}/gnatstudio/src/gps-main.adb LICENSE_SCHEME= solo SHEBANG_FILES= share/support/core/gs_utils/internal/dialogs.py MUST_CONFIGURE= gnu CONFIGURE_ARGS= --with-gtk=3.0 CONFIGURE_ENV= AWK=/usr/bin/awk BUILD_TARGET= default MAKE_ARGS= PROCESSORS={{MAKE_JOBS_NUMBER}} PYTHON_CMD={{PYTHON_CMD}} LIBRARY_TYPE=relocatable MAKE_ENV= GPR_PROJECT_PATH={{LOCALBASE}}/share/gpr SUB_FILES= gps SUB_LIST= ADA_PATH={{PREFIX}}/toolchain/ravensys-gcc/bin [DEBUG].MAKEFILE_ON= WITH_DEBUG=yes [DEBUG].MAKE_ARGS_OFF= BUILD=Production [DEBUG].MAKE_ARGS_ON= BUILD=Debug pre-install: # .gitignore can't be removed after the build ${FIND} ${WRKSRC} -type f -name ".gitignore" -delete ${FIND} ${WRKSRC} -type f -name ".cvsignore" -delete ${FIND} ${WRKSRC} -type d -empty -delete do-build: cd ${WRKSRC}/docs && ${SETENVI} ${MAKE_ENV} \ ${MAKE_CMD} ${MAKE_ARGS} all cd ${WRKSRC} && ${SETENVI} ${MAKE_ENV} \ ${MAKE_CMD} ${MAKE_ARGS} ${BUILD_TARGET} post-install: ${FIND} ${STAGEDIR}${PREFIX} -type d -empty -delete ${FIND} ${STAGEDIR}${PREFIX} -type d -name "__pycache__" | ${XARGS} rm -rf (cd ${STAGEDIR} && ${PYTHON_CMD} -m compileall -d / . ||:) ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/gnatdoc3 ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/gnatstudio ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/gnatstudio_cli ${INSTALL_SCRIPT} ${WRKDIR}/gps ${STAGEDIR}${PREFIX}/bin echo "This is the GPS GPL Edition for Ravenports." \ > ${STAGEDIR}${PREFIX}/share/gnatstudio/about.txt # Automatically add __pycache__ files to the primary manifest (cd ${STAGEDIR}${PREFIX} && \ ${FIND} share/gnatstudio -type d -name __pycache__ |\ ${XARGS} -I DIR ${FIND} DIR ! -type d 2>/dev/null | \ ${SORT} >> ${WRKDIR}/.manifest.primary.mktmp) # Automatically add __pycache__ files to the examples manifest (cd ${STAGEDIR}${PREFIX} && \ ${FIND} share/examples -type d -name __pycache__ |\ ${XARGS} -I DIR ${FIND} DIR ! -type d 2>/dev/null | \ ${SORT} >> ${WRKDIR}/.manifest.examples.mktmp) pre-configure: ${REINPLACE_CMD} -e 's|@PREFIX@|${PREFIX}|g' \ ${WRKSRC}/gnatstudio/gps.gpr \ ${WRKSRC}/gnatdoc/gnatdoc.gpr \ ${WRKSRC}/widgets/widgets.gpr ${REINPLACE_CMD} -e '/Gdb_Command/ s|"gdb"|"${PREFIX}/bin/gdb"|' \ ${WRKSRC}/gvd/src/debugger-base_gdb-gdb_mi.adb \ ${WRKSRC}/gvd/src/debugger-base_gdb-gdb_cli.adb ${REINPLACE_CMD} -i'' -e 's|ISO-8859|ISO8859|' \ ${WRKSRC}/kernel/src/gps-kernel-charsets.adb \ ${WRKSRC}/share/support/core/os_utils.py \ ${WRKSRC}/configure* ${REINPLACE_CMD} -e 's|iso-8859|ISO8859|' \ ${WRKSRC}/cli/src/gps-cli_scripts.adb \ ${WRKSRC}/cli/src/gnatdoc_main.adb ${REINPLACE_CMD} -e 's/relocatable/static/g' \ -e '/GPRBUILD_BUILD_TYPE_FLAGS=/ s|FLAGS=|FLAGS=-j${MAKE_JOBS_NUMBER} |' \ -e 's| -ws||' \ ${WRKSRC}/gnatstudio/Makefile ${REINPLACE_CMD} -e 's/relocatable/static/g' \ ${WRKSRC}/testsuite/Makefile ${REINPLACE_CMD} -e 's/latexpdf//g' ${WRKSRC}/docs/Makefile.in ${FIND} ${WRKSRC} -type f -name "*.orig" -delete ${FIND} ${WRKSRC} -type f -name "*.bak" -delete post-extract: echo "19 September 2025" > ${WRKSRC}/DATE.txt echo "Continuous Release 20250919" > ${WRKSRC}/VERSION.txt post-install-netbsd: ${PAXCTL} +m ${STAGEDIR}${PREFIX}/bin/gnatstudio [FILE:1090:descriptions/desc.primary] A Lightweight, Powerful IDE GNAT Studio is a multi-language IDE with advanced support out-of-the-box for Ada, SPARK, C, C++ and Python. With GNAT Studio you get advanced code intelligence and navigation features and the ability to produce graphs of project organization, source dependencies and type / class inheritance. GNAT Studio gives you a direct interface to the GNAT tools and thus easy access to program builders, debuggers, and static and dynamic analysis tools. It also allows integration of third-party version control systems and can be tailored to your specific project needs. Versatile and Extensible Especially suited for large, complex systems, GNAT Studio is designed with versatility in mind, and can adapt to systems of any complexity. The IDE is highly extensible. A straightforward scripting approach lets you tailor GNAT Studio to meet your workflow requirements and to integrate additional tools. With its built-in support for remote programming, GNAT Studio can run on a local workstation while the build and debug processes are performed on a separate server. [FILE:112:distinfo] 0d9381f932b1b646866d8488a6e22e9c8bf530e5a4fc72ca1172e36f498450c2 16511298 AdaCore-gnatstudio-14a6978.tar.gz [FILE:16260:manifests/plist.primary] @comment __pycache__ files are automatically generated bin/ gnatdoc3 gnatstudio gnatstudio_cli gps share/gnatstudio/ about.txt activity_log.tmplt default.gpr gnatstudio-splash.png gps-Adwaita (Dark).css gps-Adwaita.css gps-gtk-win32-base.css gps-gtk-win32-classic.css gps-gtk-win32-xp.css gps-gtk-win32.css gps.css menus.xml perspectives6.xml predefined_ada.xml readonly.gpr show_coverage.xsl share/gnatstudio/color_themes/themes/gruvbox/ LICENSE README.txt gruvbox (Dark) (Hard).tmTheme gruvbox (Dark) (Medium).tmTheme gruvbox (Dark) (Soft).tmTheme gruvbox (Light) (Hard).tmTheme gruvbox (Light) (Medium).tmTheme gruvbox (Light) (Soft).tmTheme share/gnatstudio/color_themes/themes/solarized/ LICENSE README.mkd README.txt Solarized (dark).tmTheme Solarized (light).tmTheme share/gnatstudio/color_themes/themes/tomorrow/ Tomorrow-Night-Blue.tmTheme Tomorrow-Night-Bright.tmTheme Tomorrow-Night-Eighties.tmTheme Tomorrow-Night.tmTheme Tomorrow.tmTheme share/gnatstudio/fonts/README.txt share/gnatstudio/gnatdoc/html/compile.sh share/gnatstudio/gnatdoc/html/static/ blank.html gnatdoc.css gnatdoc.js index.html inheritance_index.html share/gnatstudio/gnatdoc/html/templates/ documentation.html.tmpl documentation.js.tmpl documentation_index.js.tmpl entities_categories_index.js.tmpl entities_category.html.tmpl entities_category.js.tmpl index.js.tmpl inheritance_index.js.tmpl source_file.html.tmpl source_file.js.tmpl source_file_index.js.tmpl share/gnatstudio/gnatdoc/simple/ entities.tmpl files_index.tmpl index.tmpl prj_index.tmpl src.tmpl share/gnatstudio/gnatdoc/simple/support/ Makefile conf.py make.bat share/gnatstudio/icons/hicolor/index.theme share/gnatstudio/icons/hicolor/32x32/apps/ gnatstudio_logo.png gnatstudio_welcome-dark.png gnatstudio_welcome.png share/gnatstudio/icons/hicolor/scalable/16x16/ alr-logo-symbolic.svg gps-add-folder-symbolic.svg gps-add-symbolic.svg gps-backward-symbolic.svg gps-boardloading-debug-symbolic.svg gps-boardloading-flash-symbolic.svg gps-boardloading-symbolic.svg gps-build-all-symbolic.svg gps-build-main-symbolic.svg gps-build-mdl-symbolic.svg gps-case-sensitive-symbolic.svg gps-clean-symbolic.svg gps-clear-entry-symbolic.svg gps-clear-symbolic.svg gps-close-symbolic.svg gps-codefix-multi.svg gps-codefix.svg gps-collapse-all-symbolic.svg gps-compile-symbolic.svg gps-compute-xref-symbolic.svg gps-config-menu-symbolic.svg gps-confirmation-symbolic.svg gps-connect-to-target-symbolic.svg gps-copy-symbolic.svg gps-custom-build-symbolic.svg gps-cut-symbolic.svg gps-debugger-arguments-symbolic.svg gps-debugger-detach-symbolic.svg gps-debugger-down-symbolic.svg gps-debugger-finish-symbolic.svg gps-debugger-initialize-symbolic.svg gps-debugger-local-vars-symbolic.svg gps-debugger-next-symbolic.svg gps-debugger-pause-symbolic.svg gps-debugger-registers-symbolic.svg gps-debugger-run-symbolic.svg gps-debugger-step-symbolic.svg gps-debugger-stop-symbolic.svg gps-debugger-terminate-symbolic.svg gps-debugger-up-symbolic.svg gps-double-arrow-symbolic.svg gps-edit-symbolic.svg gps-emulatorloading-debug-symbolic.svg gps-emulatorloading-run-symbolic.svg gps-emulatorloading-symbolic.svg gps-error-symbolic.svg gps-expand-all-symbolic.svg gps-flash-memory-symbolic.svg gps-fold-block-symbolic.svg gps-forward-symbolic.svg gps-github-symbolic.svg gps-gnatprove-symbolic.svg gps-gnattest-run.svg gps-goto-symbolic.svg gps-info-symbolic.svg gps-lock-symbolic.svg gps-new-document-symbolic.svg gps-open-file-symbolic.svg gps-open-project-symbolic.svg gps-paste-symbolic.svg gps-pause-symbolic.svg gps-print-symbolic.svg gps-qgen-debug-symbolic.svg gps-ram-memory-symbolic.svg gps-redo-symbolic.svg gps-refresh-symbolic.svg gps-regexp-symbolic.svg gps-remove-symbolic.svg gps-remove-unselected-symbolic.svg gps-rename-symbolic.svg gps-run-gnatcov-symbolic.svg gps-run-symbolic.svg gps-save-symbolic.svg gps-search-and-menu-symbolic.svg gps-search-symbolic.svg gps-select-all-symbolic.svg gps-semantic-check-symbolic.svg gps-settings-symbolic.svg gps-stop-save-symbolic.svg gps-stop-symbolic.svg gps-syntax-check-symbolic.svg gps-tag-symbolic.svg gps-toggle-links-symbolic.svg gps-undo-symbolic.svg gps-unfold-block-symbolic.svg gps-unlock-symbolic.svg gps-upward-symbolic.svg gps-warning-symbolic.svg gps-whole-word-symbolic.svg gps-zoom-100-symbolic.svg gps-zoom-fit-symbolic.svg gps-zoom-in-symbolic.svg gps-zoom-out-symbolic.svg share/gnatstudio/icons/hicolor/scalable/256x256/ git-commit-amend-symbolic.svg github-check-symbolic.svg github-commit-symbolic.svg github-repo-push-symbolic.svg github-repo-symbolic.svg vcs-added.svg vcs-branch-symbolic.svg vcs-cloud-symbolic.svg vcs-compare-symbolic.svg vcs-conflicts-staged.svg vcs-diff-symbolic.svg vcs-discard-changes-symbolic.svg vcs-gerrit-symbolic.svg vcs-git-worktrees-symbolic.svg vcs-has-conflicts.svg vcs-ignored.svg vcs-merge-symbolic.svg vcs-modified-staged-unstaged.svg vcs-modified-staged.svg vcs-modified.svg vcs-needs-merge.svg vcs-needs-update.svg vcs-pull-symbolic.svg vcs-removed-staged.svg vcs-removed.svg vcs-stash-symbolic.svg vcs-submodules-symbolic.svg vcs-tag-symbolic.svg vcs-untracked.svg vcs-up-to-date.svg share/gnatstudio/icons/hicolor/scalable/emblems/ gps-debugger-continue-until.svg gps-diff-conflict-symbolic.svg gps-diff-noconflict-symbolic.svg gps-emblem-alias.svg gps-emblem-build-error.svg gps-emblem-build-info-symbolic.svg gps-emblem-build-style.svg gps-emblem-build-warning.svg gps-emblem-category.svg gps-emblem-debugger-breakpoint.svg gps-emblem-debugger-conditional-breakpoint.svg gps-emblem-debugger-current-inside.svg gps-emblem-debugger-current.svg gps-emblem-debugger-disabled-breakpoint.svg gps-emblem-directory-closed.svg gps-emblem-directory-open.svg gps-emblem-directory-root-symbolic.svg gps-emblem-directory-symbolic.svg gps-emblem-entity-constant-dark.svg gps-emblem-entity-constant-private-dark.svg gps-emblem-entity-constant-private.svg gps-emblem-entity-constant-protected-dark.svg gps-emblem-entity-constant-protected.svg gps-emblem-entity-constant.svg gps-emblem-entity-generic-private-spec-dark.svg gps-emblem-entity-generic-private-spec.svg gps-emblem-entity-generic-private.svg gps-emblem-entity-generic-protected-spec-dark.svg gps-emblem-entity-generic-protected-spec.svg gps-emblem-entity-generic-protected.svg gps-emblem-entity-generic-spec-dark.svg gps-emblem-entity-generic-spec.svg gps-emblem-entity-generic.svg gps-emblem-entity-package-private-spec-dark.svg gps-emblem-entity-package-private-spec.svg gps-emblem-entity-package-private.svg gps-emblem-entity-package-protected-spec-dark.svg gps-emblem-entity-package-protected-spec.svg gps-emblem-entity-package-protected.svg gps-emblem-entity-package-spec-dark.svg gps-emblem-entity-package-spec.svg gps-emblem-entity-package.svg gps-emblem-entity-subprogram-private-spec-dark.svg gps-emblem-entity-subprogram-private-spec.svg gps-emblem-entity-subprogram-private.svg gps-emblem-entity-subprogram-protected-spec-dark.svg gps-emblem-entity-subprogram-protected-spec.svg gps-emblem-entity-subprogram-protected.svg gps-emblem-entity-subprogram-spec-dark.svg gps-emblem-entity-subprogram-spec.svg gps-emblem-entity-subprogram.svg gps-emblem-entity-type-private-spec-dark.svg gps-emblem-entity-type-private-spec.svg gps-emblem-entity-type-private.svg gps-emblem-entity-type-protected-spec-dark.svg gps-emblem-entity-type-protected-spec.svg gps-emblem-entity-type-protected.svg gps-emblem-entity-type-spec-dark.svg gps-emblem-entity-type-spec.svg gps-emblem-entity-type.svg gps-emblem-entity-variable-private-spec-dark.svg gps-emblem-entity-variable-private-spec.svg gps-emblem-entity-variable-private.svg gps-emblem-entity-variable-protected-spec-dark.svg gps-emblem-entity-variable-protected-spec.svg gps-emblem-entity-variable-protected.svg gps-emblem-entity-variable-spec-dark.svg gps-emblem-entity-variable-spec.svg gps-emblem-entity-variable.svg gps-emblem-execdir-closed.svg gps-emblem-execdir-open.svg gps-emblem-file-modified-locked.svg gps-emblem-file-modified.svg gps-emblem-file-unmodified-locked.svg gps-emblem-file-unmodified.svg gps-emblem-file-unsaved-locked.svg gps-emblem-file-unsaved.svg gps-emblem-gcov-covered-symbolic.svg gps-emblem-gcov-uncovered-symbolic.svg gps-emblem-info.svg gps-emblem-libdir-closed.svg gps-emblem-libdir-open.svg gps-emblem-objdir-closed.svg gps-emblem-objdir-open.svg gps-emblem-pencil-blue.svg gps-emblem-pencil-grey.svg gps-emblem-pencil-purple.svg gps-emblem-pencil-red.svg gps-emblem-project-closed.svg gps-emblem-project-modified-closed.svg gps-emblem-project-modified-open.svg gps-emblem-project-open.svg gps-emblem-project-root-closed.svg gps-emblem-project-root-open.svg gps-emblem-project-runtime-closed.svg gps-emblem-project-runtime-open.svg gps-hidden-item-symbolic.svg gps-light-bulb.svg gps-sync-to-local.svg gps-sync-to-remote.svg gps-unknown-item-symbolic.svg share/gnatstudio/key_themes/ default.xml default_legacy.xml emacs.xml mac_os.xml share/gnatstudio/key_themes/include/common.xml share/gnatstudio/library/ ada_expansion.py addr2line.py auto_changelog.py auto_locate_file.py auto_set_path.py autoformat.py build_and_run_all.py c_pre_processor.py closeold.py copy_file_name.py copy_paste.py copy_paste_toolbar.py cov_export.py create_missing_dirs.py dependencies.py eclipse.py enter.py file_to_clipboard.py filedeps.py filepos.py first_subtype.py formatfile.py gnatfind.py gnatpp_switches.py gnatr.py goto_begin.py hide_non_writable_files.py highlight_column.py isearch.py ispell.py local_history.py occurrences.py open_file.py parasail.py prevent_project_edition.py remote_rsh.py save_on_compile.py separate.py treemove.py unicode_in_editor.py unused_entities.py vi.py vim.py share/gnatstudio/plug-ins/ astyle.py dispatching.py explorer.py gnatprove_runs.py pep8_integration.py show_globals.py show_representation.py spark2014.py share/gnatstudio/plug-ins/memory_usage_providers/ __init__.py core.py ld.py share/gnatstudio/plug-ins/qgen/ __init__.py gdb_scripts.py project_support.py sig_utils.py signal_setter.py share/gnatstudio/plug-ins/spark2014/ gnatprove.xml gnatprove_menus.xml share/gnatstudio/support/core/ GS_help.py __init__.py aliases.py align.py alire.py auto_load.py block_completion.py build.py calc.py cgpr.py changelog.py codepeer.py codepeer_xml.py color_utils.py completion.py console_utils.py constructs.py cross_references.py customFiles.xsd diff_match_patch.py editors.py expanded_code.py gcov.py gnat_examples.py gnat_help_menus.py gnat_switches.py gnatcheck.py gnatdist.py gnatdoc.py gnathub.py gnatname.py gnatpsta.py gnatsas.py gnatsas_xml.py gnatstack.py gnatstub.py gpr.py lal_view.py languages.py makefile.py modules.py navigation_utils.py os_utils.py pipe.py pre_processing_code.py projects.py protocols.py read_only_lines.py rectangles.py restart_build.py search.py shell.py sort_selection.py tab.py target_connector.py text_utils.py time_utils.py tool_output.py toolchains.py url.py zoom.py share/gnatstudio/support/core/extensions/__init__.py share/gnatstudio/support/core/extensions/private/ __init__.py xml.py share/gnatstudio/support/core/gs_utils/ __init__.py console_process.py gnat_rules.py gnatcheck_default.py gnatcheck_rules_editor.py highlighter.py switches.py share/gnatstudio/support/core/gs_utils/internal/ __init__.py asserts.py demo_infrastructure.py dialogs.py driver.py editor.py menu.py tree.py utils.py vcs.py share/gnatstudio/support/core/lal_utils/__init__.py share/gnatstudio/support/languages/ __init__.py ada_support.py asm_highlighter.py c_highlighter.py c_support.py csharp.py css_highlighter.py css_support.py diff_highlighter.py diff_language.py fortran_highlighter.py jedi_support.py matlab_support.py python_highlighter.py python_support.py why3_highlighter.py why3_support.py xml_support.py share/gnatstudio/support/languages/highlighter/ __init__.py common.py engine.py interface.py share/gnatstudio/support/ui/ adareducer.py board_support.py bug_report.py colorschemes.py console.py gnatcov.py gnatemulator.py gnatformat.py gnatfuzz.py gnatfuzz_test_cases_view.py gnatfuzz_view.py gnatmetric.py gnattest.py gpsbrowsers.py locations_view_utils.py multi_cursors.py reloadcss.py task_manager.py textmate.py theme_handling.py workflow_buttons.py share/gnatstudio/support/ui/GNATStudio_doc/ Browsers.py __init__.py generated_hooks.py share/gnatstudio/support/ui/pygps/ __init__.py notebook.py project.py tree.py share/gnatstudio/support/ui/vcs2/ __init__.py clearcase.py core.py core_staging.py cvs.py gerrit.py git.py subversion.py share/gnatstudio/support/ui/workflows/ __init__.py promises.py share/gnatstudio/templates/ada_library_project/ @_project_name_@.gpr ada_library.gpt share/gnatstudio/templates/ada_library_project/src/ my_lib.adb my_lib.ads share/gnatstudio/templates/ajis_hello/ @_project_name_@.gpr Makefile ajis_hello.gpt share/gnatstudio/templates/ajis_hello/src_ada/ hello.adb hello.ads share/gnatstudio/templates/ajis_hello/src_java/com/adacore/example/@_Main_Name_@.java share/gnatstudio/templates/aws_simple_web_server/ @_project_name_@.gpr simple_web_server.gpt share/gnatstudio/templates/aws_simple_web_server/src/ @_project_name_@-callbacks.adb @_project_name_@-callbacks.ads @_project_name_@-main.adb @_project_name_@.ads share/gnatstudio/templates/aws_web_server/ @_project_name_@.gpr web_server.gpt share/gnatstudio/templates/aws_web_server/css/style.css share/gnatstudio/templates/aws_web_server/img/gnatstudio_logo.png share/gnatstudio/templates/aws_web_server/src/ @_project_name_@-dispatchers.adb @_project_name_@-dispatchers.ads @_project_name_@-main.adb @_project_name_@.ads share/gnatstudio/templates/aws_web_server/tmplt/main.thtml share/gnatstudio/templates/aws_web_server_blocks/ @_project_name_@.gpr Makefile README open_readme.py web_server_blocks.gpt share/gnatstudio/templates/aws_web_server_blocks/css/style.css share/gnatstudio/templates/aws_web_server_blocks/gen/templates.tada share/gnatstudio/templates/aws_web_server_blocks/img/gnatstudio_logo.png share/gnatstudio/templates/aws_web_server_blocks/js/ ajax_api.tjs aws.tjs aws_kernel.tjs behaviour.js prototype.js scriptaculous.js share/gnatstudio/templates/aws_web_server_blocks/src/ @_project_name_@-ajax.adb @_project_name_@-ajax.ads @_project_name_@-dispatchers.adb @_project_name_@-dispatchers.ads @_project_name_@-main.adb @_project_name_@-web_blocks.adb @_project_name_@-web_blocks.ads @_project_name_@.ads share/gnatstudio/templates/aws_web_server_blocks/tmplt/ main.thtml r_widget_counter.txml widget_counter.thtml share/gnatstudio/templates/gtkada_minimal/ @_project_name_@.gpr gtkada_minimal.gpt share/gnatstudio/templates/gtkada_minimal/src/@_main_name_@.adb share/gnatstudio/templates/microbit_example/ microbit_example.gpr microbit_example.gpt share/gnatstudio/templates/microbit_example/src/ display.adb display.ads font5x5.ads generic_timers.adb generic_timers.ads hal.ads main.adb nrf51_svd-gpio.ads nrf51_svd.ads share/gnatstudio/templates/simple_ada_project/ @_project_name_@.gpr simple_project.gpt share/gnatstudio/templates/simple_ada_project/src/@_main_name_@.adb share/gnatstudio/templates/simple_c_project/ @_project_name_@.gpr simple_c_project.gpt share/gnatstudio/templates/simple_c_project/src/@_main_name_@.c share/gnatstudio/templates/simple_cpp_project/ @_project_name_@.gpr simple_cpp_project.gpt share/gnatstudio/templates/simple_cpp_project/src/@_main_name_@.cpp share/gnatstudio/templates/stm32f_leds/ @_project_name_@.gpr stm32f_leds.gpt share/gnatstudio/templates/stm32f_leds/src/ @_main_name_@.adb button.adb button.ads driver.adb driver.ads last_chance_handler.adb last_chance_handler.ads leds.adb leds.ads registers.ads stm32f4-gpio.ads stm32f4-reset_clock_control.ads stm32f4-sysconfig_control.ads stm32f4.ads [FILE:6302:manifests/plist.docs] share/doc/gnatstudio/html/ gnatstudio-welcome.html gnatstudio_index.xml help_index.html share/doc/gnatstudio/html/tutorial/ building.html callgraph.html completion.html debug.html editing.html epilogue.html genindex.html index.html intro.html locations.html navigating.html objects.inv overview.html projects.html run.html search.html searchindex.js share/doc/gnatstudio/html/tutorial/_sources/ building.rst.txt callgraph.rst.txt completion.rst.txt debug.rst.txt editing.rst.txt epilogue.rst.txt index.rst.txt intro.rst.txt locations.rst.txt navigating.rst.txt overview.rst.txt projects.rst.txt run.rst.txt share/doc/gnatstudio/html/tutorial/_static/ _sphinx_javascript_frameworks_compat.js adacore-logo-white.png base-stemmer.js basic.css doctools.js documentation_options.js english-stemmer.js favicon.ico file.png jquery.js language_data.js minus.png plus.png pygments.css searchtools.js sphinx_highlight.js share/doc/gnatstudio/html/tutorial/_static/css/ badge_only.css theme.css share/doc/gnatstudio/html/tutorial/_static/css/fonts/ Roboto-Slab-Bold.woff Roboto-Slab-Bold.woff2 Roboto-Slab-Regular.woff Roboto-Slab-Regular.woff2 fontawesome-webfont.eot fontawesome-webfont.svg fontawesome-webfont.ttf fontawesome-webfont.woff fontawesome-webfont.woff2 lato-bold-italic.woff lato-bold-italic.woff2 lato-bold.woff lato-bold.woff2 lato-normal-italic.woff lato-normal-italic.woff2 lato-normal.woff lato-normal.woff2 share/doc/gnatstudio/html/tutorial/_static/fonts/Lato/ lato-bold.eot lato-bold.ttf lato-bold.woff lato-bold.woff2 lato-bolditalic.eot lato-bolditalic.ttf lato-bolditalic.woff lato-bolditalic.woff2 lato-italic.eot lato-italic.ttf lato-italic.woff lato-italic.woff2 lato-regular.eot lato-regular.ttf lato-regular.woff lato-regular.woff2 share/doc/gnatstudio/html/tutorial/_static/fonts/RobotoSlab/ roboto-slab-v7-bold.eot roboto-slab-v7-bold.ttf roboto-slab-v7-bold.woff roboto-slab-v7-bold.woff2 roboto-slab-v7-regular.eot roboto-slab-v7-regular.ttf roboto-slab-v7-regular.woff roboto-slab-v7-regular.woff2 share/doc/gnatstudio/html/tutorial/_static/js/ badge_only.js theme.js versions.js share/doc/gnatstudio/html/users_guide/ GPS.Browsers.html GPS.html compilation.html cross_env.html debugging.html editing.html environment.html extending.html genindex.html index.html intro.html license.html main_window.html mdi.html menus.html navigation.html objects.inv plugins.html projects.html py-modindex.html search.html searchindex.js searching.html tools.html transition_from_gps.html vcs.html share/doc/gnatstudio/html/users_guide/_images/ aliases.png assembly.png bookmark_add.png bookmark_create.png bookmark_drag_text.png bookmark_file.png bookmark_filter.png bookmark_note.png bookmark_organize.png bookmark_unattached.png bp-advanced.png breakpoints-add.png breakpoints.png bug_report_dialog.png call-stack.png circle_x.png debugger-variables.png dependency-browser.png diamond_x.png dot_x.png elaboration-graph.png file-view.png gnatstudio-main.png gps-main-window.png key-shortcuts.png lal_view.png learn_view.png memory-view.png menubar.png omnisearch-settings.png omnisearch.png open-file.png os_shell-window.png outline-view3.png preferences_assistant.png project-browser.png project-properties.png project-view.png project-wizard.png python-window.png refactoring-lightbulb.png save-dialog.png scenarios.png search_replace.png search_view.png source-editor.png square_x.png stack-usage-editor.jpg switch-editor-revert.png target-configuration-editor.png task-manager-exit.png task-manager.png toolbar.png toolbar_hud.png toolchains-config.png tooltips.png triangle_x.png vcs-branches-cvs.png vcs-branches-git.png vcs-branches-svn.png vcs-commits.png vcs-diff.png vcs-editor.png vcs-history-details.png vcs-history1.png vcs-history2.png vcs-history3.png vcs-perspective.png vcs-project_view.png vcs-selector.png views-call_tree.png views-clipboard.png views-locations.png views-messages.png views-outline-default.png views-outline-flat-group.png views-scenario.png views-windows-flat.png views-windows-notebooks.png visual-diff.jpg welcome.png share/doc/gnatstudio/html/users_guide/_sources/ GPS.Browsers.rst.txt GPS.rst.txt compilation.rst.txt cross_env.rst.txt debugging.rst.txt editing.rst.txt environment.rst.txt extending.rst.txt index.rst.txt intro.rst.txt license.rst.txt main_window.rst.txt mdi.rst.txt menus.rst.txt navigation.rst.txt plugins.rst.txt projects.rst.txt searching.rst.txt tools.rst.txt transition_from_gps.rst.txt vcs.rst.txt share/doc/gnatstudio/html/users_guide/_static/ _sphinx_javascript_frameworks_compat.js adacore-logo-white.png adacore.css base-stemmer.js basic.css doctools.js documentation_options.js english-stemmer.js favicon.ico file.png graphviz.css jquery.js language_data.js minus.png plus.png pygments.css searchtools.js sphinx_highlight.js share/doc/gnatstudio/html/users_guide/_static/css/ badge_only.css theme.css share/doc/gnatstudio/html/users_guide/_static/css/fonts/ Roboto-Slab-Bold.woff Roboto-Slab-Bold.woff2 Roboto-Slab-Regular.woff Roboto-Slab-Regular.woff2 fontawesome-webfont.eot fontawesome-webfont.svg fontawesome-webfont.ttf fontawesome-webfont.woff fontawesome-webfont.woff2 lato-bold-italic.woff lato-bold-italic.woff2 lato-bold.woff lato-bold.woff2 lato-normal-italic.woff lato-normal-italic.woff2 lato-normal.woff lato-normal.woff2 share/doc/gnatstudio/html/users_guide/_static/fonts/Lato/ lato-bold.eot lato-bold.ttf lato-bold.woff lato-bold.woff2 lato-bolditalic.eot lato-bolditalic.ttf lato-bolditalic.woff lato-bolditalic.woff2 lato-italic.eot lato-italic.ttf lato-italic.woff lato-italic.woff2 lato-regular.eot lato-regular.ttf lato-regular.woff lato-regular.woff2 share/doc/gnatstudio/html/users_guide/_static/fonts/RobotoSlab/ roboto-slab-v7-bold.eot roboto-slab-v7-bold.ttf roboto-slab-v7-bold.woff roboto-slab-v7-bold.woff2 roboto-slab-v7-regular.eot roboto-slab-v7-regular.ttf roboto-slab-v7-regular.woff roboto-slab-v7-regular.woff2 share/doc/gnatstudio/html/users_guide/_static/js/ badge_only.js theme.js versions.js [FILE:2034:manifests/plist.examples] @comment __pycache__ files are automatically generated share/examples/gnatstudio/demo/ demo.gpr input.txt share/examples/gnatstudio/demo/common/ except.ads input.adb input.ads screen_output.adb screen_output.ads sdc.adb sdc.ads stack.adb stack.ads share/examples/gnatstudio/demo/matrix_handling/ matrix.c matrix.h matrix_binding.adb matrix_binding.ads matrix_utils.c share/examples/gnatstudio/demo/projects/ prj1.gpr prj2.gpr prj3.gpr prj4.gpr share/examples/gnatstudio/demo/projects/prj1/src1.adb share/examples/gnatstudio/demo/projects/prj2/src2.adb share/examples/gnatstudio/demo/projects/prj3/src3.adb share/examples/gnatstudio/demo/projects/prj4/src4.adb share/examples/gnatstudio/demo/struct/ instructions.adb instructions.ads tokens.adb tokens.ads values-operations.adb values-operations.ads values.adb values.ads share/examples/gnatstudio/python/ README bookmarks.py build.py clipboards.py colors.py doc.py globals.py hello_gtk.py indent_all.py misc_text_utils.py prefs.py project_view.py readonly.py readonly2.py reformat_project.py remote_server_assign_variable.py share/examples/gnatstudio/remote/ README my_ssh remote.gpr share/examples/gnatstudio/remote/src/ demo1.adb gen_list.adb gen_list.ads instr.adb instr.ads share/examples/gnatstudio/tutorial/ input.txt sdc.gpr share/examples/gnatstudio/tutorial/common/ except.ads input.adb input.ads screen_output.adb screen_output.ads sdc.adb sdc.ads stack.adb stack.ads share/examples/gnatstudio/tutorial/projects/ prj1.gpr prj2.gpr prj3.gpr prj4.gpr share/examples/gnatstudio/tutorial/projects/prj1/src1.adb share/examples/gnatstudio/tutorial/projects/prj2/src2.adb share/examples/gnatstudio/tutorial/projects/prj3/src3.adb share/examples/gnatstudio/tutorial/projects/prj4/src4.adb share/examples/gnatstudio/tutorial/struct/ instructions.adb instructions.ads tokens.adb tokens.ads values-operations.adb values-operations.ads values.adb values.ads share/examples/gnatstudio/xml/ README gnatmake.xml [FILE:1402:patches/patch-Makefile.in] --- Makefile.in.orig 2025-09-19 10:04:04 UTC +++ Makefile.in @@ -3,17 +3,16 @@ MV = mv MKDIR = mkdir -p RMDIR = rm -rf STRIP = strip -AWK = @AWK@ +AWK = /usr/bin/awk PERL = perl -PYTHON = python -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ -GNATCOLL_INSTALL = @GNATCOLL_INSTALL@ +PYTHON = $(PYTHON_CMD) +INSTALL_PROGRAM = $(BSD_INSTALL_PROGRAM) +INSTALL_DATA = $(BSD_INSTALL_DATA) +GNATCOLL_INSTALL= prefix = @prefix@ -bindir = $(prefix)/bin -sharedir = $(prefix)/share -examplesdir = $(prefix)/share/examples/gnatstudio +bindir = $(DESTDIR)$(prefix)/bin +sharedir = $(DESTDIR)$(prefix)/share +examplesdir = $(DESTDIR)$(prefix)/share/examples/gnatstudio BUILD?=Debug @@ -61,7 +60,7 @@ install-common: (cd share; tar cf - library/*.py) | (cd $(sharedir)/gnatstudio; tar xf -) (cd share; tar cf - support/) | (cd $(sharedir)/gnatstudio; tar xf -) - -${PYTHON} distrib/gnat_switches.py > $(sharedir)/gnatstudio/support/core/gnat_switches.py + echo "switches_comments={}" > $(sharedir)/gnatstudio/support/core/gnat_switches.py $(RM) $(sharedir)/gnatstudio/plug-ins/emacs.xml $(RM) $(sharedir)/gnatstudio/plug-ins/python_doc.py $(RM) $(sharedir)/gnatstudio/plug-ins/python_doc.pyc [FILE:1865:patches/patch-cherry-001] From b367314f312245194fbcfcdaa599cd0491936605 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Thu, 11 Dec 2025 01:25:28 +0100 Subject: [PATCH] Fix an illegal Ada 2012 construct now spotted by the compiler The call to the first Nth_Arg in the second Nth_Arg is illegal per the RM 6.4.1(6.4) subclause: In a function call, the accessibility level of the actual object for each explicitly aliased parameter shall not be statically deeper than the accessibility level of the master of the call. Issue: eng/toolchain/gnat#1696 --- gnatcoll_extras/src/gnatcoll-scripts-vss_utils.adb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --- gnatcoll_extras/src/gnatcoll-scripts-vss_utils.adb.orig 2025-09-19 10:04:04 UTC +++ gnatcoll_extras/src/gnatcoll-scripts-vss_utils.adb @@ -41,7 +41,7 @@ package body GNATCOLL.Scripts.VSS_Utils function Nth_Arg (Data : GNATCOLL.Scripts.Python.Python_Callback_Data'Class; N : Positive; - Success : aliased out Boolean) return VSS.Strings.Virtual_String; + Success : out Boolean) return VSS.Strings.Virtual_String; procedure Initialize (Text : in out VSS.Implementation.UTF8_Strings.UTF8_String_Data; @@ -102,7 +102,7 @@ package body GNATCOLL.Scripts.VSS_Utils function Nth_Arg (Data : GNATCOLL.Scripts.Python.Python_Callback_Data'Class; - N : Positive; Success : aliased out Boolean) + N : Positive; Success : out Boolean) return VSS.Strings.Virtual_String is Item : GNATCOLL.Python.PyObject; @@ -136,7 +136,7 @@ package body GNATCOLL.Scripts.VSS_Utils (Data : Callback_Data'Class; N : Positive) return VSS.Strings.Virtual_String is - Success : aliased Boolean; + Success : Boolean; begin if Data in GNATCOLL.Scripts.Python.Python_Callback_Data'Class then [FILE:750:patches/patch-docs_Makefile.in] --- docs/Makefile.in.orig 2025-09-19 10:04:04 UTC +++ docs/Makefile.in @@ -1,10 +1,9 @@ prefix = @prefix@ -docdir = $(prefix)/share/doc/gnatstudio -sharedir = $(prefix)/share/gnatstudio +docdir = $(DESTDIR)$(prefix)/share/doc/gnatstudio +sharedir = $(DESTDIR)$(prefix)/share/gnatstudio MKDIR = mkdir -p -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ +INSTALL_DATA = $(BSD_INSTALL_DATA) CONVERT = convert CP = cp -p @@ -12,14 +11,14 @@ all: ug tutorial pg static: pg: - make -C programmers_guide html + $(MAKE) -C programmers_guide html ug: - make -C users_guide html latexpdf + $(MAKE) -C users_guide html .PHONY: tutorial tutorial: - make -C tutorial html latexpdf + $(MAKE) -C tutorial html install: $(MKDIR) $(docdir) [FILE:1411:patches/patch-docs_users__guide_GPS_____init____.py] --- docs/users_guide/GPS/__init__.py.orig 2025-09-19 10:04:04 UTC +++ docs/users_guide/GPS/__init__.py @@ -2147,7 +2147,7 @@ class Console(GUI): pass # implemented in Ada def write_with_links(self, text): - """ + r""" Outputs some text on the console, highlighting the parts of it that match the regular expression registered by :func:`GPS.Console.create_link`. @@ -4540,7 +4540,7 @@ class EditorHighlighter(object): """ def __init__(self, pattern, action, index=0, secondary_action=None): - """ + r""" Register a highlighter. The action is a Python function that takes a string as a parameter: the string being passed is the section of text which is highlighted. @@ -7377,7 +7377,7 @@ class MDI(object): @staticmethod def file_selector(file_filter="empty", base_dir="", except_filter=""): - """ + r""" Displays a modal file selector. The user selected file is returned, or a file with an empty name if :guilabel:`Cancel` is pressed. @@ -11086,7 +11086,7 @@ class XMLViewer(object): def __init__( self, name, columns=3, parser=None, on_click=None, on_select=None, sorted=False ): - """ + r""" Creates a new XMLViewer, named ``name``. ``columns`` is the number of columns that the table representation [FILE:331:patches/patch-gnatdoc_gnatdoc.gpr] --- gnatdoc/gnatdoc.gpr.orig 2025-09-19 10:04:04 UTC +++ gnatdoc/gnatdoc.gpr @@ -15,5 +15,8 @@ project GNATdoc is package Compiler renames Shared.Compiler; package Documentation renames Shared.Documentation; + package Linker is + for Linker_Options use ("-Wl,-rpath,@PREFIX@/lib"); + end Linker; end GNATdoc; [FILE:186:patches/patch-gnatstudio_Makefile] --- gnatstudio/Makefile.orig 2025-09-19 10:04:04 UTC +++ gnatstudio/Makefile @@ -22,7 +22,7 @@ else GPRBUILD_FLAGS=-j0 endif -PYTHON=python +PYTHON=${PYTHON_CMD} BUILD?=Debug [FILE:504:patches/patch-gnatstudio_gps.gpr] --- gnatstudio/gps.gpr.orig 2025-09-19 10:04:04 UTC +++ gnatstudio/gps.gpr @@ -37,6 +37,7 @@ with "../views/views"; with "../vfs/vfs"; with "../vsearch/vsearch"; with "../valgrind/valgrind"; +with "vss_os"; project GPS is @@ -81,6 +82,8 @@ project GPS is -- for Switches ("Ada") use ("-lgmem"); -- for Switches ("Ada") use ("-pg"); + for Switches ("Ada") use ("-lclang"); + for Linker_Options use ("-Wl,-rpath,@PREFIX@/lib"); end Linker; package CodePeer is [FILE:536:patches/patch-python_core_gps-python__core.adb] --- python/core/gps-python_core.adb.orig 2025-09-19 10:04:04 UTC +++ python/core/gps-python_core.adb @@ -43,8 +43,7 @@ package body GPS.Python_Core is if Python_Home.Is_Empty then declare Packaged_Python_Location : constant Virtual_File := - Create (+Executable_Location) - / (+"share") / (+"gnatstudio") / (+"python"); + Create (+Executable_Location); begin Register_Python_Scripting (Kernel.Scripts, [FILE:1332:patches/patch-share_plug-ins_dispatching.py] --- share/plug-ins/dispatching.py.orig 2025-09-19 10:04:04 UTC +++ share/plug-ins/dispatching.py @@ -44,22 +44,14 @@ class Dispatching_Highlighter(Location_H GPS.Hook("preferences_changed").add(self.__on_preferences_changed) GPS.Hook("file_edited").add(self.__on_file_edited) GPS.Hook("file_changed_on_disk").add(self.__on_file_edited) - - if GPS.Logger("ENTITIES.SQLITE").active: - GPS.Hook("xref_updated").add(self.__on_compilation_finished) - else: - GPS.Hook("compilation_finished").add(self.__on_compilation_finished) + GPS.Hook("compilation_finished").add(self.__on_compilation_finished) def __del__(self): Location_Highlighter.__del__(self) GPS.Hook("preferences_changed").remove(self.__on_preferences_changed) GPS.Hook("file_edited").remove(self.__on_file_edited) GPS.Hook("file_changed_on_disk").remove(self.__on_file_edited) - - if GPS.Logger("ENTITIES.SQLITE").active: - GPS.Hook("xref_updated").remove(self.__on_compilation_finished) - else: - GPS.Hook("compilation_finished").remove(self.__on_compilation_finished) + GPS.Hook("compilation_finished").remove(self.__on_compilation_finished) def __on_preferences_changed(self, hook): changed = False [FILE:664:patches/patch-share_support_core_aliases.py] --- share/support/core/aliases.py.orig 2025-09-19 10:04:04 UTC +++ share/support/core/aliases.py @@ -12,13 +12,13 @@ from text_utils import goto_word_start import re from color_utils import Color -subst_pattern = re.compile("%\(.*?\)|%_") +subst_pattern = re.compile(r"%\(.*?\)|%_") # The regexp used to detect aliases parameters -lsp_subst_pattern = re.compile("\${[^}]*}|\$[0-9]") +lsp_subst_pattern = re.compile(r"\${[^}]*}|\$[0-9]") # The regexp used to detect LSP snippets parameters -lsp_get_placeholder = re.compile("\${[0-9]+:([^}]*)}") +lsp_get_placeholder = re.compile(r"\${[0-9]+:([^}]*)}") color_pref_name = "Src-Editor-Ephemeral-Smart" [FILE:1065:patches/patch-share_support_core_align.py] --- share/support/core/align.py.orig 2025-09-19 10:04:04 UTC +++ share/support/core/align.py @@ -495,7 +495,7 @@ def align_formal_params(): """ # The regexp needs the three nested groups, since we want \\1 to always # returns at least the empty string - buffer_align_on(sep=":\s*(((in\s+out|out|in|access) )?)", replace_with=" : \\1") + buffer_align_on(sep=r":\s*(((in\s+out|out|in|access) )?)", replace_with=r" : \\1") @interactive( @@ -523,7 +523,7 @@ def align_end_of_line_comments(): buffer = GPS.EditorBuffer.get() lang = buffer.file().language().lower() if lang in ("ada", "project file"): - buffer_align_on(sep="\s*[^\s]+\s*( --\s*)", replace_with=" -- ", sep_group=1) + buffer_align_on(sep=r"\s*[^\s]+\s*( --\s*)", replace_with=" -- ", sep_group=1) else: - buffer_align_on(sep=" //\s*", replace_with=" // ") - buffer_align_on(sep=" #\s*", replace_with=" # ") + buffer_align_on(sep=r" //\s*", replace_with=r" // ") + buffer_align_on(sep=r" #\s*", replace_with=r" # ") [FILE:3078:patches/patch-share_support_core_extensions_____init____.py] --- share/support/core/extensions/__init__.py.orig 2025-09-19 10:04:04 UTC +++ share/support/core/extensions/__init__.py @@ -54,14 +54,14 @@ class extend_module: if not hasattr(orig_class, name): if is_override: - GPS.Console().write( + GPS.Console("jane").write( "Method %s.%s is not overriding\n" % (class_name, name) ) setattr(orig_class, name, method) else: if not is_override: - GPS.Console().write( + GPS.Console("jane").write( "Method %s.%s is overriding, ignored\n" % (class_name, name) ) else: @@ -187,11 +187,11 @@ class EditorBuffer(object): """ if not GPS.EditorBuffer.__warned_about_undo_redo: GPS.EditorBuffer.__warned_about_undo_redo = True - GPS.Console().write( + GPS.Console("jane").write( "GPS.EditorBuffer.start_undo_group is deprecated:" " use GPS.EditorBuffer.new_undo_group instead:\n\n" ) - GPS.Console().write(self.new_undo_group.__doc__) + GPS.Console("jane").write(self.new_undo_group.__doc__) self._start_undo_group() if hasattr(self, "undo_group"): self.undo_group += 1 @@ -203,12 +203,12 @@ class EditorBuffer(object): global warned_about_undo_redo if not warned_about_undo_redo: warned_about_undo_redo = True - GPS.Console().write( + GPS.Console("jane").write( "GPS.EditorBuffer.finish_undo_group is deprecated:" " use GPS.EditorBuffer.new_undo_group instead.\n" ) if not hasattr(self, "undo_group"): - GPS.Console().write( + GPS.Console("jane").write( "Error: 'finish_undo_group' not matching 'start_undo_group'\n" ) else: @@ -216,7 +216,7 @@ class EditorBuffer(object): if self.undo_group >= 0: self._finish_undo_group() else: - GPS.Console().write( + GPS.Console("jane").write( "Error: more calls to 'finish_undo_group'" " than to 'start_undo_group'\n" ) @@ -565,7 +565,7 @@ class Menu(GPS.GUI): self.action.disable(False) def pywidget(self): - GPS.Console().write( + GPS.Console("jane").write( "GPS.Menu.pywidget is no longer supported." + " Use GPS.Menu.action to interacte with the action" + " directly" @@ -625,7 +625,7 @@ class Menu(GPS.GUI): """ if on_activate: - GPS.Console().write( + GPS.Console("jane").write( 'GPS.Menu.create("%s") is deprecated.' % path + " Please use gs_utils.interactive()\n" ) [FILE:478:patches/patch-share_support_core_gnat__examples.py] --- share/support/core/gnat_examples.py.orig 2025-09-19 10:04:04 UTC +++ share/support/core/gnat_examples.py @@ -72,7 +72,7 @@ class GNATExamples(Module): """ actions = [] - title_regexp = re.compile("GNAT \&prefix;(.+)") + title_regexp = re.compile(r"GNAT \&prefix;(.+)") for subdir in glob.glob(os.path.join(example_directory, "*")) + glob.glob( os.path.join(example_directory, "*", "*") [FILE:282:patches/patch-share_support_core_gnatdist.py] --- share/support/core/gnatdist.py.orig 2025-09-19 10:04:04 UTC +++ share/support/core/gnatdist.py @@ -22,7 +22,7 @@ if gnatdist_tool == "": if gnatdist_tool != "": GPS.parse_xml( - """ + r""" gnatdist Ada [FILE:672:patches/patch-share_support_core_gnathub.py] --- share/support/core/gnathub.py.orig 2025-09-19 10:04:04 UTC +++ share/support/core/gnathub.py @@ -18,14 +18,14 @@ class GNAThub_Parser(tool_output.OutputP self.open_report = False if NEED_INIT: GPS.Console().create_link( - "\[PASSED\]", + r"\[PASSED\]", lambda x: None, foreground="green", background="", underline=False, ) GPS.Console().create_link( - "\[FAILED\]", + r"\[FAILED\]", lambda x: None, foreground="red", background="", [FILE:475:patches/patch-share_support_core_gs__utils_highlighter.py] --- share/support/core/gs_utils/highlighter.py.orig 2025-09-19 10:04:04 UTC +++ share/support/core/gs_utils/highlighter.py @@ -673,7 +673,7 @@ class Location_Highlighter(Background_Hi class Regexp_Highlighter(On_The_Fly_Highlighter): - """ + r""" The Regexp_Highlighter is a concrete implementation to highlight editors based on regular expressions. One example is for instance to highlight tabs or trailing spaces on lines, when this is considered [FILE:1284:patches/patch-share_support_core_makefile.py] --- share/support/core/makefile.py.orig 2025-09-19 10:04:04 UTC +++ share/support/core/makefile.py @@ -185,20 +185,20 @@ class Makefile(Builder): # The list of targets at the beginning of a line. Ignore # special characters like #.= that are used by GNU make. # The list of targets is stored in the 'target' capturing group. - targets = "^(?P[^#.=%\t][^#=\(\)%]*?)" + targets = r"^(?P[^#.=%\t][^#=\(\)%]*?)" # The dependencies for these targets - deps = "[^#=:]*" + deps = r"[^#=:]*" # Extra comments at the ened of the line. Adding #IGNORE is used # to hide this target from GPS. - comments = "(?:#(?P.+))?$" + comments = r"(?:#(?P.+))?$" # It is valid for a target to be followed by two colons, in GNU # make at least. - self.target_matcher = re.compile(targets + "::?" + deps + comments) + self.target_matcher = re.compile(targets + r"::?" + deps + comments) - self.include_matcher = re.compile("^include (?P.*)$") + self.include_matcher = re.compile(r"^include (?P.*)$") self.current_dir = None # The directory of the toplevel makefile. All include statements [FILE:547:patches/patch-share_support_core_shell.py] --- share/support/core/shell.py.orig 2025-09-19 10:04:04 UTC +++ share/support/core/shell.py @@ -41,7 +41,7 @@ class Unix_Shell(ANSI_Console_Process): ANSI_Console_Process.__init__(self, command) if GPS.Preference("External Commands:Shell/stty").get(): self.send( - 'stty echo; PS1="\[\e[1G\]$PS1";' + r'stty echo; PS1="\[\e[1G\]$PS1";' ' echo -en "\\e[1;"$(stty size | cut -d" " -f1)' '";1;"$(stty size | cut -d" " -f2)"r";' " clear" [FILE:524:patches/patch-share_support_languages_highlighter_engine.py] --- share/support/languages/highlighter/engine.py.orig 2025-09-19 10:04:04 UTC +++ share/support/languages/highlighter/engine.py @@ -635,7 +635,7 @@ class Highlighter(object): gtk_ed.connect("insert-text", highlighting_insert_text_before) def generate_markup(self, text, allow_nested_tag=False): - """ + r""" Generate the pango markup representation of text by Highlighter. :param allow_nested_tag: When True, insert markup for each tags. Otherwise skip nested tags. [FILE:343:patches/patch-share_support_languages_why3__highlighter.py] --- share/support/languages/why3_highlighter.py.orig 2025-09-19 10:04:04 UTC +++ share/support/languages/why3_highlighter.py @@ -48,7 +48,7 @@ keywords = "|".join( ] ) -comment_region = region(r"\(\*", "\*\)", tag=tag_comment) +comment_region = region(r"\(\*", r"\*\)", tag=tag_comment) ada_keywords = "|".join(["True", "False"]) [FILE:268:patches/patch-share_support_languages_xml__support.py] --- share/support/languages/xml_support.py.orig 2025-09-19 10:04:04 UTC +++ share/support/languages/xml_support.py @@ -166,7 +166,7 @@ def goto_matching_tag(): parse_xml( - """ + r""" XML .xml [FILE:494:patches/patch-share_support_ui_gnattest.py] --- share/support/ui/gnattest.py.orig 2025-09-19 10:04:04 UTC +++ share/support/ui/gnattest.py @@ -682,7 +682,7 @@ def is_supported_by_tgen(subp_spec): @interactive( "General", fuzz_subp_filter, - contextual="GNATtest/Start\/Stop fuzzing subprogram", + contextual=r"GNATtest/Start\/Stop fuzzing subprogram", name="gnattest fuzz subprogram", description="Fuzz suprogram using test cases as initial seeds", contextual_group=GPS.Contextual.Group.EXTRA_INFORMATION, [FILE:389:patches/patch-share_support_ui_pygps_____init____.py] --- share/support/ui/pygps/__init__.py.orig 2025-09-19 10:04:04 UTC +++ share/support/ui/pygps/__init__.py @@ -431,7 +431,7 @@ try: # it is better to directly call the appropriate GPS action or menu # rather than rely on these functions - if "linux" in sys.platform: + if True: GDK_BACKSPACE = 65288 GDK_TAB = 65289 GDK_RETURN = Gdk.KEY_Return [FILE:526:patches/patch-share_support_ui_theme__handling.py] --- share/support/ui/theme_handling.py.orig 2025-09-19 10:04:04 UTC +++ share/support/ui/theme_handling.py @@ -145,7 +145,7 @@ class Color: if len(from_rgba) == 4: self.a = from_rgba[3] / 255.0 else: - rgba_values = re.findall("\d+", from_pref) + rgba_values = re.findall(r"\d+", from_pref) self.r, self.g, self.b = (int(x) / 255.0 for x in rgba_values[0:3]) if len(rgba_values) == 4: self.a = int(rgba_values[3]) / 255.0 [FILE:1767:patches/patch-share_support_ui_vcs2_cvs.py] --- share/support/ui/vcs2/cvs.py.orig 2025-09-19 10:04:04 UTC +++ share/support/ui/vcs2/cvs.py @@ -27,13 +27,13 @@ REV_HEADER = "revision " @core.register_vcs(default_status=GPS.VCS2.Status.UNTRACKED) class CVS(core_staging.Emulate_Staging, core.File_Based_VCS): __re_status = re.compile( - "^(?:" - + "(?:cvs status: Examining (?P.+))|" - + "(?:File: (?Pno file )?(?P\S+)\s+" - + "Status: (?P.+))|" - + "(?:\s+Working revision:\s*(?P[\d.]+).*)|" - + "(?:\s+Repository revision:\s*(?P[\d.]+).*)" - + ")$" + r"^(?:" + + r"(?:cvs status: Examining (?P.+))|" + + r"(?:File: (?Pno file )?(?P\S+)\s+" + + r"Status: (?P.+))|" + + r"(?:\s+Working revision:\s*(?P[\d.]+).*)|" + + r"(?:\s+Repository revision:\s*(?P[\d.]+).*)" + + r")$" ) def _cvs(self, args, block_exit=False, spawn_console=False): @@ -155,7 +155,7 @@ class CVS(core_staging.Emulate_Staging, self.current = None self.names = [] self.__re_log = re.compile( - "^date: (?P[^;]+);\s+author: (?P[^;]+)" + r"^date: (?P[^;]+);\s+author: (?P[^;]+)" ) def emit_previous(self, out_stream): @@ -278,7 +278,7 @@ class CVS(core_staging.Emulate_Staging, @core.run_in_background def async_annotations(self, visitor, file): r = re.compile( - "^(?P\d+\.\d+)" "\s+\(" "(?P\S+)" "\s+" "(?P[^)]+)" + r"^(?P\d+\.\d+)" r"\s+\(" r"(?P\S+)" r"\s+" "(?P[^)]+)" ) lines = [] ids = [] [FILE:1429:patches/patch-share_support_ui_vcs2_subversion.py] --- share/support/ui/vcs2/subversion.py.orig 2025-09-19 10:04:04 UTC +++ share/support/ui/vcs2/subversion.py @@ -14,8 +14,8 @@ CAN_RENAME = True @core.register_vcs(name="subversion", default_status=GPS.VCS2.Status.UNTRACKED) class SVN(core_staging.Emulate_Staging, core.File_Based_VCS): __re_status = re.compile( - "^(?P....... .)\s+(?P\S+)\s+" - + "(?P\S+)\s+(?P\S+)\s+(?P.+)$" + r"^(?P....... .)\s+(?P\S+)\s+" + + r"(?P\S+)\s+(?P\S+)\s+(?P.+)$" ) @staticmethod @@ -130,11 +130,11 @@ class SVN(core_staging.Emulate_Staging, """ _re_log = re.compile( - "^r(?P\d+)" - + "\s\|\s" - + "(?P[^\|]+)" - + "\s\|\s" - + "(?P[^|]+)" + r"^r(?P\d+)" + + r"\s\|\s" + + r"(?P[^\|]+)" + + r"\s\|\s" + + r"(?P[^|]+)" ) class line_to_block: @@ -219,7 +219,7 @@ class SVN(core_staging.Emulate_Staging, @core.run_in_background def async_annotations(self, visitor, file): r = re.compile( - "^\s*(?P\d\S*)" "\s+" "(?P\S+)" "\s+" "(?P....-..-..)" + r"^\s*(?P\d\S*)" r"\s+" r"(?P\S+)" r"\s+" r"(?P....-..-..)" ) lines = [] ids = [] [FILE:1039:patches/patch-shared.gpr.in] --- shared.gpr.in.orig 2025-09-19 10:04:04 UTC +++ shared.gpr.in @@ -49,8 +49,8 @@ project Shared is when "Debug" | "Coverage" => for Switches ("Ada") use Common & ("-O0", "-gnata", "-gnatVa", "-gnatQ", "-gnatygO", - "-gnatwaCJe", "-gnateE", "-Wtrampolines"); - for Switches ("C") use ("-g", "-O1"); + "-gnatwaCJe", "-gnateE", "-Wtrampolines", "-fstack-check"); + for Switches ("C") use ("-g", "-O1", "-Wno-implicit-function-declaration"); when "Production" => for Switches ("Ada") use Common & Optimize & @@ -61,7 +61,7 @@ project Shared is "-gnatygO", "-Wtrampolines" ); - for Switches ("C") use Optimize & ("-g", "-O2"); + for Switches ("C") use Optimize & ("-g", "-O2", "-Wno-implicit-function-declaration"); when "AddressSanitizer" => for Switches ("Ada") use Common & ("-O0", "-gnata", "-gnatVa", "-gnatQ", "-gnatygO", [FILE:557:patches/patch-widgets_widgets.gpr] --- widgets/widgets.gpr.orig 2025-09-19 10:04:04 UTC +++ widgets/widgets.gpr @@ -6,7 +6,10 @@ with "../gnatcoll_extras/gnatcoll_extras project Widgets is for Languages use ("C", "Ada"); - for Source_Dirs use ("src"); + for Source_Dirs use ("src", "@PREFIX@/include/gtk-3.0", + "@PREFIX@/include/glib-2.0", "@PREFIX@/include/pango-1.0", + "@PREFIX@/include/cairo", "@PREFIX@/include/gdk-pixbuf-2.0", + "@PREFIX@/include/atk-1.0", "@PREFIX@/lib/glib-2.0/include"); for Object_Dir use Shared'Object_Dir; package Compiler is [FILE:518:files/gps.in] #!/bin/sh # # GPS wrapper written by John Marino # It sets ADA_PROJECT_PATH in environment if unset # It also adds the path to the default Ada toolchain if not already present # VIAS=$(echo ${PATH} | /usr/bin/tr ":" " ") if [ -z "${ADA_PROJECT_PATH}" ] then ADA_PROJECT_PATH=%%PREFIX%%/share/gpr export ADA_PROJECT_PATH fi FOUND=0 for via in ${VIAS} do [ "${via}" = "%%ADA_PATH%%" ] && FOUND=1; done; if [ ${FOUND} -eq 0 ] then PATH=${PATH}:%%ADA_PATH%% export PATH; fi exec "%%PREFIX%%/bin/gnatstudio" "$@"