<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nila</id>
	<title>GRASS-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nila"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/Nila"/>
	<updated>2026-05-16T06:55:52Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=PSC_Meeting_2026-05-08&amp;diff=28871</id>
		<title>PSC Meeting 2026-05-08</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=PSC_Meeting_2026-05-08&amp;diff=28871"/>
		<updated>2026-05-07T20:27:10Z</updated>

		<summary type="html">&lt;p&gt;Nila: Add RFC on C11 atomic note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Participants ==&lt;br /&gt;
&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
The topics proposed are:&lt;br /&gt;
&lt;br /&gt;
* Review action points from previous meetings:&lt;br /&gt;
** Community Meeting (see below)&lt;br /&gt;
** Was Corey added to the list of GRASS people with access to the OSGeo server?&lt;br /&gt;
** Status of translation, grass-gui and grass-stats mailman lists?&lt;br /&gt;
&lt;br /&gt;
* [[GRASS Community Meeting San Michele 2026]]&lt;br /&gt;
** Wiki created, [https://grass.osgeo.org/news/2026%2004%2022%20grass%20community%20meeting%20san%20michele%202026/ event announced], [https://grass.osgeo.org/ main page carousel updated]&lt;br /&gt;
** Agenda&lt;br /&gt;
** Rooms, food, housing &lt;br /&gt;
** FOSSGIS e.V. request: support needed to complete and submit the request&lt;br /&gt;
&lt;br /&gt;
* Releases&lt;br /&gt;
** [https://github.com/OSGeo/grass/releases/tag/8.5.0RC1 8.5 RC1]&lt;br /&gt;
*** did anyone test it?&lt;br /&gt;
** How are we for 8.5.0?&lt;br /&gt;
** [https://github.com/OSGeo/grass/discussions/7328 GitHub Discussion: What to cut from our release procedure to simplify it? #7328]&lt;br /&gt;
&lt;br /&gt;
* GSoC&lt;br /&gt;
** Support the mentees in maximizing a good use of AI to allow mentors spend time on higher level code reviews and open-source mentoring ''by purchasing a professional subscription for the mentees''?&lt;br /&gt;
&lt;br /&gt;
* Funding/Sponsoring&lt;br /&gt;
** New sponsoring tiers at https://grass.osgeo.org/contribute/sponsoring/&lt;br /&gt;
** Updates from NumFocus?&lt;br /&gt;
&lt;br /&gt;
* RFC&lt;br /&gt;
** New planned RFC to make C11's optional feature 'atomic support' required for 8.6&lt;br /&gt;
&lt;br /&gt;
* ... &lt;br /&gt;
* add your topic here&lt;br /&gt;
&lt;br /&gt;
== Minutes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:PSC]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28814</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28814"/>
		<updated>2026-03-12T07:11:03Z</updated>

		<summary type="html">&lt;p&gt;Nila: add co-mentor&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, r.proj, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: difficult&lt;br /&gt;
* Expected Outcomes: parallelized 2-5 tools, depending on complexity&lt;br /&gt;
* Test of skills (one or more):&lt;br /&gt;
** Address https://github.com/OSGeo/grass/issues/5776 (carefully read the existing conversation in the issue and linked PR)&lt;br /&gt;
** Pick a tool and develop prototype implementation of the parallelization.&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as better symbology handling and adding legend to InteractiveMap and better integration with matplotlib.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here] or rewrite some of the functions in grass.jupyter library using the new [https://grass.osgeo.org/grass-devel/manuals/python_intro.html#running-tools Tools API].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Note: A lot of work on JSON was already done, but there is more! Some of the remaining tools require more design. There are also Python tools (not just C which was the focus previously) and then also the grass-addons repo. Some tools also don't have any machine readable output right now and should. Also current tools which use other tools should use the new JSON as opposed to what they are using now. Preparing a well-reasoned list of tasks is a part of the application.&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Nicklas Larsson&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix e.g., [https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html GCC Static Analysis], [https://clang.llvm.org/docs/ClangStaticAnalyzer.html Clang Static Analyzer] or [https://cppcheck.sourceforge.io Cppcheck] issues.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Searchable metadata in Space Time Datasets ===&lt;br /&gt;
The temporal framework in GRASS was initially developed almost 15 years ago. Spatio-temporal data has become more widely available since then and new standards emerged like e.g. ''[https://docs.ogc.org/cs/25-004/25-004.html STAC]'' with ''[https://github.com/stac-extensions/stac-extensions.github.io extensions]'', or the ''[https://cfconventions.org/ CF-conventions]''. The aim of this project is to extend the metadata model in the temporal framework to improve discoverability of map datasets registered in TGIS and to allow users to embed extended metadata with the registered maps in a Space Time Dataset in a searchable way. Ideally, the new model is able to account for the standards mentioned above.&lt;br /&gt;
 &lt;br /&gt;
See also: https://github.com/OSGeo/grass/issues/1938&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python, SQL, JSON&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Stefan Blumentrath&lt;br /&gt;
* Co-mentor: ???&lt;br /&gt;
* Proposed by: Stefan Blumentrath&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:&lt;br /&gt;
** an updated TGIS database model (version 4) that:&lt;br /&gt;
*** is oriented on relevant metadata standards (STAC, CF-Convention, ...)&lt;br /&gt;
*** allows to use metadata in temporal_where to select relevant elements of Space time datasets&lt;br /&gt;
** updated tool to create space time datasets (t.create) in the TGIS database with extended metadata&lt;br /&gt;
** updated tool to register map datasets (t.register) in the TGIS database with extended metadata&lt;br /&gt;
** Conversion tool for database Upgrades (v3 to v4)&lt;br /&gt;
** a new tool to update / modify metadata in the TGIS database&lt;br /&gt;
** Storage of timeseries metadata for both C-based and temporal Tools&lt;br /&gt;
&lt;br /&gt;
* Test of skills (e.g.):&lt;br /&gt;
** address one or more sub-tasks from https://github.com/OSGeo/grass/issues/3427 (add append-mode to selected new tool(s))&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/3394 (more complex task)&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/7041&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28813</id>
		<title>GRASS GSoC Ideas 2026</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GSoC_Ideas_2026&amp;diff=28813"/>
		<updated>2026-03-12T07:09:31Z</updated>

		<summary type="html">&lt;p&gt;Nila: add training task tools&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== About ==&lt;br /&gt;
Important: While we are still an OSGeo project, we changed our fiscal sponsor to [https://numfocus.org/ NumFOCUS].&lt;br /&gt;
&lt;br /&gt;
''As a result, GRASS participates in GSoC under the [https://numfocus.org/ NumFOCUS] umbrella organization.''&lt;br /&gt;
&lt;br /&gt;
Read more about our governance [https://grass.osgeo.org/about/governance/ on GRASS website].&lt;br /&gt;
&lt;br /&gt;
* [https://numfocus.org/programs/google-summer-code The NumFOCUS GSoC main page]&lt;br /&gt;
* [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines for contributors].&lt;br /&gt;
* [https://summerofcode.withgoogle.com/ Official GSoC page at Google]&lt;br /&gt;
&lt;br /&gt;
== AI Tool Usage Policy ==&lt;br /&gt;
We acknowledge that applicants may use AI tools (like ChatGPT, Copilot, etc.) to assist with proposal writing and coding. However:&lt;br /&gt;
&lt;br /&gt;
* Your proposal should reflect your own understanding and voice. AI-generated &amp;quot;slop&amp;quot; (overly generic or regurgitated content) is easy to spot and will hurt your application.&lt;br /&gt;
* We evaluate applications primarily on GitHub contributions and communication with the GRASS community, not just proposal polish.&lt;br /&gt;
* Show us you understand the project through high-quality pull requests on GitHub.&lt;br /&gt;
* Disclose AI usage: If you use AI tools in your proposal or code contributions, please disclose the extent to which you used them (e.g., for brainstorming, proofreading, code suggestions, etc.).&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
If you are a student you can suggest a new idea or pick up an existing one. In any case write about it to [https://discourse.osgeo.org/c/grass/developer/61 OSGeo Discourse forum for GRASS developers], [https://github.com/OSGeo/grass/discussions GitHub Discussions], or [https://gitter.im/grassgis/community Gitter].&lt;br /&gt;
&lt;br /&gt;
You are invited as well to have a close look at ideas from previous years ([https://trac.osgeo.org/grass/wiki/GSoC/2014 2014], [https://trac.osgeo.org/grass/wiki/GSoC/2015 2015], [https://trac.osgeo.org/grass/wiki/GSoC/2016 2016],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2017 2017],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2018 2018],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2019 2019],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2020 2020],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2021 2021],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2022 2022],&lt;br /&gt;
[https://trac.osgeo.org/grass/wiki/GSoC/2023 2023])&lt;br /&gt;
which have not yet been implemented.&lt;br /&gt;
You can also look at accepted GRASS GSoC [https://trac.osgeo.org/grass/wiki/GSoC projects from previous years] for an idea of scope.''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Parallelization of existing tools ===&lt;br /&gt;
&lt;br /&gt;
There are several tools that would benefit from parallelization with OpenMP, e.g. r.texture, r.fill.stats, r/v.surf.idw, r.viewshed, v.to.rast, r.grow.distance, v.surf.bspline, r.proj, ...&lt;br /&gt;
For overview of current state, see [[Raster_Parallelization_with_OpenMP]].&lt;br /&gt;
&lt;br /&gt;
* Requirements: familiarity with C, OpenMP&lt;br /&gt;
* Mentor: Huidae Cho&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: difficult&lt;br /&gt;
* Expected Outcomes: parallelized 2-5 tools, depending on complexity&lt;br /&gt;
* Test of skills (one or more):&lt;br /&gt;
** Address https://github.com/OSGeo/grass/issues/5776 (carefully read the existing conversation in the issue and linked PR)&lt;br /&gt;
** Pick a tool and develop prototype implementation of the parallelization.&lt;br /&gt;
&lt;br /&gt;
=== Improve GRASS user experience in Jupyter Notebook ===&lt;br /&gt;
[[File:Jupyter_interactive_viewshed.png|500px|thumb|right|InteractiveMap in grass.jupyter library]]&lt;br /&gt;
Python package [https://grass.osgeo.org/grass-stable/manuals/libpython/grass.jupyter.html grass.jupyter] was developed during [https://trac.osgeo.org/grass/wiki/GSoC/2021/JupyterAndGRASS GSoC 2021] to simplify running GRASS from Jupyter Notebooks and displaying data. This project could focus on adding features such as better symbology handling and adding legend to InteractiveMap and better integration with matplotlib.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Mentor: Anna Petrasova&lt;br /&gt;
* Co-mentor: Vaclav Petras, Helena Mitasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: improved user experience when using GRASS through notebooks&lt;br /&gt;
* Test of skills: write a test for [https://github.com/OSGeo/grass/tree/main/python/grass/jupyter grass.jupyter library] using python unittest or pytest, more info [https://grass.osgeo.org/grass-devel/manuals/libpython/gunittest_testing.html here] or rewrite some of the functions in grass.jupyter library using the new [https://grass.osgeo.org/grass-devel/manuals/python_intro.html#running-tools Tools API].&lt;br /&gt;
&lt;br /&gt;
=== Add JSON output to different tools ===&lt;br /&gt;
There are several tools in GRASS that would benefit from a JSON-formatted output.&lt;br /&gt;
Besides adding the JSON output, the work would also include adding tests and basic documentation.&lt;br /&gt;
* Requirements: C, Python&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Anna Petrasova, Corey White&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: 10-20 tools (depending on project length and complexity of the tool) tools with well tested JSON output&lt;br /&gt;
* Note: A lot of work on JSON was already done, but there is more! Some of the remaining tools require more design. There are also Python tools (not just C which was the focus previously) and then also the grass-addons repo. Some tools also don't have any machine readable output right now and should. Also current tools which use other tools should use the new JSON as opposed to what they are using now. Preparing a well-reasoned list of tasks is a part of the application.&lt;br /&gt;
* Test of skills (pick one or more): &lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6968&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6969&lt;br /&gt;
** https://github.com/OSGeo/grass/issues/6970&lt;br /&gt;
&lt;br /&gt;
=== Support writing tests with pytest ===&lt;br /&gt;
&lt;br /&gt;
* The current testing framework, ''[https://grass.osgeo.org/grass-stable/manuals/libpython/gunittest.html grass.gunittest]'', was written before migration to Git/GitHub and when long free runs in 3rd party services were unthinkable. Additionally, some no longer relevant goals were prioritized, such as independence on the current code, detailed custom HTML reports, success tracking over time, and high specialization towards GRASS-specifics.&lt;br /&gt;
* ''grass.gunittest'' is based on Python ''unittest'' package and many projects since then migrated to //pytest//, e.g., GDAL and Numpy. While ''unittest'' is inspired by Java's JUnit, ''pytest'' is designed to support writing small, readable tests, and uses plain `assert` statements instead of many different assert methods.&lt;br /&gt;
* Using ''pytest'' should lead to tests which feel more like Python scripts and to minimum of testing-specific code.&lt;br /&gt;
* An example issue of ''grass.gunittest'' is that it doesn't work well with tests of the main GRASS executable (prominence of `grass ... --exec` is yet another new thing which changed since ''grass.gunittest'' was designed).&lt;br /&gt;
* Two main things needed:&lt;br /&gt;
** Create general comparison functions from the ''grass.gunittest'' assert methods so that they can be used with pytest.&lt;br /&gt;
** Current grass.script.setup.init function and grass.script.core.create_location function don't work well in the context of a pytest test function. More  &lt;br /&gt;
* Additional things needed:&lt;br /&gt;
** Fixture for pytest to set up and tear down a GRASS session in a temporary mapset.&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Vaclav Petras&lt;br /&gt;
* Co-mentor: Stefan Blumentrath&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Rating: easy to medium&lt;br /&gt;
* Expected Outcomes: Convenient way of writing tests with pytest&lt;br /&gt;
* Test of skills: Fix failing tests and/or write new tests (more is better). Alternatively, addressing a smaller problem in the testing framework is a good task, too.&lt;br /&gt;
&lt;br /&gt;
=== Fix known code defects ===&lt;br /&gt;
&lt;br /&gt;
* Fix code defects (security or code quality) such as those reported by Coverity Scan.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: ?&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: C&lt;br /&gt;
** Proposal: Define milestones which will be used during the evaluation.&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** Reduction of issues by 70-100%.&lt;br /&gt;
** New tests for changed code if missing.&lt;br /&gt;
* Test and training tasks (complete more than one): Fix e.g., [https://gcc.gnu.org/onlinedocs/gcc/Static-Analyzer-Options.html GCC Static Analysis], [https://clang.llvm.org/docs/ClangStaticAnalyzer.html Clang Static Analyzer] or [https://cppcheck.sourceforge.io Cppcheck] issues.&lt;br /&gt;
&lt;br /&gt;
=== Subcommand CLI for GRASS ===&lt;br /&gt;
&lt;br /&gt;
* Make running of GRASS tools in command line as easy as possible.&lt;br /&gt;
** `grass run r.slope.aspect elevation=elevation.tiff slope=slope.tiff aspect=aspect.tiff`&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language: Python&lt;br /&gt;
** Proposal: Student needs to show sufficient understanding of data and project handling in GRASS. Furthermore, the proposal needs to present, at least, concrete formulation of ideas, identification of missing and existing parts, and new subcommands.&lt;br /&gt;
* Mentors: Vaclav Petras&lt;br /&gt;
* Co-mentors: Stefan Blumentrath, Corey White&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcomes:&lt;br /&gt;
** A subcommand which runs a GRASS tool on GeoTiff and GeoPackage in one step.&lt;br /&gt;
** A complete parity with the existing CLI.&lt;br /&gt;
** An underlying Python API which will be used to implement the CLI.&lt;br /&gt;
* Test and training tasks (complete one or more): Add a subcommand, sub-subcommand, or an option to the experimental interface (with tests).&lt;br /&gt;
** Add `--region` to set a temporary computational region for the execution, e.g. `--region=&amp;quot;raster=raster_name&amp;quot;`.&lt;br /&gt;
** Add `--import-raster=some/file.tiff` which imports (r.import) a raster file (same for vector and similarly for export).&lt;br /&gt;
** Add `--link-raster=some/file.tiff` which links (r.external) a raster file (same for vector and similarly for r.external.out).&lt;br /&gt;
&lt;br /&gt;
Current state:&lt;br /&gt;
&lt;br /&gt;
 # Reveals the existing subcommands&lt;br /&gt;
 PYTHONPATH=$(grass --config python-path) python -m grass.app --help&lt;br /&gt;
 # Allows running subset of commands&lt;br /&gt;
 grass run --help&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== STAC (SpatioTemporal Asset Catalog) Integration ===&lt;br /&gt;
&lt;br /&gt;
Create new import and export capabilities for GRASS which allow users to easily ingest data from STAC catalogs and export locations and mapsets as STAC specs for data discovery within STAC browsers. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with python, STAC specs&lt;br /&gt;
* Mentor: Corey White&lt;br /&gt;
* Co-mentor: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes: completion of t.in.stac and t.out.stac&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest or implement solution for implementing t.out.stac using the prototype STAC spec https://github.com/tomorrownow/grass-stac-extension &lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass-addons/pull/802&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== GUI: Add space-time datasets support in Data Catalog ===&lt;br /&gt;
[[File:GUI_data_tab.png|400px|thumb|right|Data catalog]]&lt;br /&gt;
Currently GRASS Data Catalog shows only raster and vector maps. The goal of this project is to add support for space-time datasets. It is mainly space-time raster datasets. In the next phase of the project support for other types of space-time datasets (vector and 3D raster) could be added. Besides displaying space-time datasets in the layer tree, it is also about adding the equivalent functionality currently available for raster and vector layers from the context menu. &lt;br /&gt;
&lt;br /&gt;
* Requirements: familiar with Python&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Martin Landa&lt;br /&gt;
* Co-mentor: Anna Petrasova&lt;br /&gt;
* Proposed by: Martin Landa&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:  175 hours basic support for space-time raster datasets; 350 extended support also for other space-time datasets types (vector, 3D raster)&lt;br /&gt;
* Test of skills:&lt;br /&gt;
** suggest/implement solution for completing https://github.com/OSGeo/grass/issues/2599&lt;br /&gt;
&lt;br /&gt;
=== Searchable metadata in Space Time Datasets ===&lt;br /&gt;
The temporal framework in GRASS was initially developed almost 15 years ago. Spatio-temporal data has become more widely available since then and new standards emerged like e.g. ''[https://docs.ogc.org/cs/25-004/25-004.html STAC]'' with ''[https://github.com/stac-extensions/stac-extensions.github.io extensions]'', or the ''[https://cfconventions.org/ CF-conventions]''. The aim of this project is to extend the metadata model in the temporal framework to improve discoverability of map datasets registered in TGIS and to allow users to embed extended metadata with the registered maps in a Space Time Dataset in a searchable way. Ideally, the new model is able to account for the standards mentioned above.&lt;br /&gt;
 &lt;br /&gt;
See also: https://github.com/OSGeo/grass/issues/1938&lt;br /&gt;
&lt;br /&gt;
* Requirements: Python, SQL, JSON&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Mentor: Stefan Blumentrath&lt;br /&gt;
* Co-mentor: ???&lt;br /&gt;
* Proposed by: Stefan Blumentrath&lt;br /&gt;
* Rating: medium&lt;br /&gt;
* Expected Outcomes:&lt;br /&gt;
** an updated TGIS database model (version 4) that:&lt;br /&gt;
*** is oriented on relevant metadata standards (STAC, CF-Convention, ...)&lt;br /&gt;
*** allows to use metadata in temporal_where to select relevant elements of Space time datasets&lt;br /&gt;
** updated tool to create space time datasets (t.create) in the TGIS database with extended metadata&lt;br /&gt;
** updated tool to register map datasets (t.register) in the TGIS database with extended metadata&lt;br /&gt;
** Conversion tool for database Upgrades (v3 to v4)&lt;br /&gt;
** a new tool to update / modify metadata in the TGIS database&lt;br /&gt;
** Storage of timeseries metadata for both C-based and temporal Tools&lt;br /&gt;
&lt;br /&gt;
* Test of skills (e.g.):&lt;br /&gt;
** address one or more sub-tasks from https://github.com/OSGeo/grass/issues/3427 (add append-mode to selected new tool(s))&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/3394 (more complex task)&lt;br /&gt;
** suggest/implement solution for https://github.com/OSGeo/grass/issues/7041&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add {your research idea} to GRASS ===&lt;br /&gt;
&lt;br /&gt;
* In general, you can propose any topic, but you can specifically propose integrating your research or research idea into GRASS.&lt;br /&gt;
* Requirements:&lt;br /&gt;
** Language:&lt;br /&gt;
*** Depends on the project, often Python, sometimes C.&lt;br /&gt;
*** Adding your latest ecological analysis &lt;br /&gt;
** Proposal:&lt;br /&gt;
*** Discuss relevance to GRASS.&lt;br /&gt;
*** Describe technical steps needed for integration.&lt;br /&gt;
*** Describe whether it is an addition of a tool (module) or a change in one of the libraries. If it is a tool, specify if it should be included in the core grass repository or in grass-addons repository and why.&lt;br /&gt;
*** Specify what research was done and what needs to be accomplished in order to have usable product at the end of summer.&lt;br /&gt;
*** Specify who will provide the research expertise.&lt;br /&gt;
* Project length: Large (350 hours)&lt;br /&gt;
* Rating: from low to hard&lt;br /&gt;
* Mentors:&lt;br /&gt;
** GRASS project will provide technical mentors, but it is up to the applicant to ensure the research part is mentored well. An exception may be granted to applicants which can demonstrate that the research is finished or that they have enough expertise themselves.&lt;br /&gt;
** Possible technical mentors: Vaclav Petras, Anna Petrasova&lt;br /&gt;
** Research mentors: Bring in an expert from your field, e.g., your academic advisor or project principal investigator (if needed).&lt;br /&gt;
* Proposed by: Vaclav Petras&lt;br /&gt;
* Expected outcome: Working feature which is integrated and merged at the end of the project.&lt;br /&gt;
* Test and training tasks:&lt;br /&gt;
** Create a test in Python for an existing tool in the grass-addons repository or in the core grass repository.&lt;br /&gt;
&lt;br /&gt;
=== Title of idea ===&lt;br /&gt;
&lt;br /&gt;
Description here&lt;br /&gt;
&lt;br /&gt;
* Requirements:&lt;br /&gt;
* Project length: (175 or 350 hours) &lt;br /&gt;
* Mentor: &lt;br /&gt;
* Proposed by: &lt;br /&gt;
* Rating: &lt;br /&gt;
* Expected Outcomes:  &lt;br /&gt;
* Test of skills: &lt;br /&gt;
* Other:&lt;br /&gt;
&lt;br /&gt;
== Tips for students ==&lt;br /&gt;
* Follow official [https://github.com/numfocus/gsoc/blob/master/CONTRIBUTING-contributors.md NumFOCUS guidelines].&lt;br /&gt;
* Include &amp;quot;GRASS&amp;quot; in the title of our idea to easily distinguish ideas and projects inside NumFOCUS.&lt;br /&gt;
* If you have your own ideas we encourage you to propose them. Explain them on the [https://discourse.osgeo.org/c/grass/developer/61 on our Discourse].&lt;br /&gt;
* Follow some good practices in your ideas and proposals:&lt;br /&gt;
** Stress why the project would be useful.&lt;br /&gt;
** Show that you know how you will proceed. That is, make sure that you can demonstrate that the proposal is feasible in the given time frame.&lt;br /&gt;
** Be specific in the implementation (or at least as specific as you can).&lt;br /&gt;
** Explain what the final product will look like and how it will work. You can add drawings or mock-ups.&lt;br /&gt;
** Explain how the idea relates to existing GRASS functions, features, and needs.&lt;br /&gt;
** Do not include steps such as &amp;quot;install GRASS&amp;quot;, &amp;quot;compile GRASS libraries (on my machine)&amp;quot;, &amp;quot;read about the API&amp;quot;. You should do this before applying to GSoC.&lt;br /&gt;
* Compile GRASS from source and prepare environment for development:&lt;br /&gt;
** Read [https://github.com/OSGeo/grass/blob/main/CONTRIBUTING.md CONTRIBUTING file].&lt;br /&gt;
* Prove your worth by being active on the [https://discourse.osgeo.org/c/grass/developer/61 GRASS Discourse] or other channels ([https://github.com/OSGeo/grass/discussions GitHub Discussions], fix some [https://github.com/OSGeo/grass/issues bugs], and/or implement some (smaller) features, or write some (simpler) GRASS module, and post it to mailing list. There's no better way to demonstrate your willingness and abilities. Do this before start you apply to GSoC. &lt;br /&gt;
* Also note that fixing existing bugs and/or implementing enhancements will be a part of student evaluation.&lt;br /&gt;
&lt;br /&gt;
{{GSoC}}&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=28766</id>
		<title>Compiling on macOS using MacPorts</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compiling_on_macOS_using_MacPorts&amp;diff=28766"/>
		<updated>2026-01-28T17:48:47Z</updated>

		<summary type="html">&lt;p&gt;Nila: Update with example from version 8.4.2&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Installing GRASS GIS with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
MacPorts is a package management system for macOS. It makes it easy to install and update any supported software &amp;amp;mdash; dependencies (that can be either executables or libraries) are installed and updated automatically. It is recommended to install the MacPort base software with the package installer available at [https://guide.macports.org macports.org] where also detailed installation and usage instructions can be found. Note that Xcode is a prerequisite and that MacPorts is controlled through the Terminal with the '''port''' command.&lt;br /&gt;
&lt;br /&gt;
Assuming you succeeded with the installation of the MacPorts base, the base software can be updated with:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Information on software, i.e. ''ports'', that can be installed can be retrieved with the '''info''' action, this is an example with the port '''grass''' (which is the latest version):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
port info grass&lt;br /&gt;
&lt;br /&gt;
grass @8.4.2 (gis)&lt;br /&gt;
Sub-ports:            grass-gui&lt;br /&gt;
Variants:             debug, debugoptimized, gui, mysql57, mysql8, openblas,&lt;br /&gt;
                      openmp, postgresql12, postgresql13, postgresql14,&lt;br /&gt;
                      postgresql15, postgresql16, [+]postgresql17, python310,&lt;br /&gt;
                      python311, python312, [+]python313, universal&lt;br /&gt;
&lt;br /&gt;
Description:          GRASS offers powerful raster, vector, and geospatial&lt;br /&gt;
                      processing engines in a single integrated software suite.&lt;br /&gt;
                      It includes tools for terrain and ecosystem modeling,&lt;br /&gt;
                      hydrology, visualization of raster and vector data,&lt;br /&gt;
                      management and analysis of geospatial data, and the&lt;br /&gt;
                      processing of satellite and aerial imagery. It comes with&lt;br /&gt;
                      a temporal framework for advanced time series processing&lt;br /&gt;
                      and a Python API for rapid geospatial programming. GRASS&lt;br /&gt;
                      has been optimized for performance and large geospatial&lt;br /&gt;
                      data analysis. Install the port `grass-gui` to enable&lt;br /&gt;
                      graphical user interface.&lt;br /&gt;
Homepage:             https://grass.osgeo.org&lt;br /&gt;
&lt;br /&gt;
Build Dependencies:   bison, flex, pkgconfig&lt;br /&gt;
Library Dependencies: bzip2, cairo, fftw-3, freetype, gdal, geos, liblas, libpng,&lt;br /&gt;
                      libsvm, pdal, proj, readline, sqlite3, tiff, zlib,&lt;br /&gt;
                      postgresql17, python313, py313-Pillow, py313-numpy,&lt;br /&gt;
                      py313-six&lt;br /&gt;
Runtime Dependencies: py313-psycopg2&lt;br /&gt;
Platforms:            darwin&lt;br /&gt;
License:              GPL-2+&lt;br /&gt;
Maintainers:          Email: n_larsson yahoo com, GitHub: nilason&lt;br /&gt;
                      Policy: openmaintainer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ''variants'' are options for a port that can be chosen at installation. The variants marked with a '''+''', are included by default.&lt;br /&gt;
&lt;br /&gt;
Installing GRASS with default variants:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
will download, compile and install GRASS with dependencies ''postgresql17'' and ''python313''.&lt;br /&gt;
&lt;br /&gt;
However, a customized installation may look like:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass +python312 +postgresql16&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
which will replace the default ''python313'' with ''python312''. The default variants ''postgresql16'' will in this case also be included.&lt;br /&gt;
&lt;br /&gt;
'''Note:''' you need to add '''grass-gui''' port to install wxPython for GRASS graphical user interface, this in not included by default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port install grass-gui&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To check if any of the installed ports (or dependencies) have been updated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port selfupdate&lt;br /&gt;
port outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To update outdated ports:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo port upgrade outdated&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Using GRASS GIS installed with MacPorts ==&lt;br /&gt;
&lt;br /&gt;
A standard installation of MacPorts will install ports at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation with the port ''grass-gui'' will also install an app bundle at:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/Applications/MacPorts/GRASS-8.4.app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can start GRASS GIS from terminal with command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/opt/local/bin/grass&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28753</id>
		<title>Compile and Install With CMake</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28753"/>
		<updated>2026-01-21T15:46:04Z</updated>

		<summary type="html">&lt;p&gt;Nila: /* Install according to Filesystem Hierarchy Standard (FHS) -(DWITH_FHS) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Disclaimer''': As of Spring 2025, the development of GRASS GIS using CMake is ongoing. Both the functionality of the CMake build system and the content of this documentation are subject to change.&lt;br /&gt;
&lt;br /&gt;
== Building With CMake ==&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended to perform the build process with CMake in a separate directory, as opposed to the traditional approach of running `./configure &amp;amp;&amp;amp; make` in the top-level directory of the source repository using Autotools. The designated build directory may be located anywhere.&lt;br /&gt;
&lt;br /&gt;
A simple configuration, which creates a build directory named &amp;quot;build&amp;quot; (with -B argument) with current directory as source directory (with -S), can look like this:&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S .&lt;br /&gt;
&lt;br /&gt;
Executing the building process is made with:&lt;br /&gt;
&lt;br /&gt;
      cmake --build build&lt;br /&gt;
&lt;br /&gt;
A custom configuration may look like:&lt;br /&gt;
&lt;br /&gt;
      export CFLAGS=&amp;quot;-DGL_SILENCE_DEPRECATION&amp;quot;&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S . -G Ninja \&lt;br /&gt;
            -DCMAKE_PREFIX_PATH=&amp;quot;/opt/local&amp;quot; \&lt;br /&gt;
            -DWITH_OPENMP=ON&lt;br /&gt;
      cmake --build build -v -j8&lt;br /&gt;
      &lt;br /&gt;
To clean up the configuration and build files (equivalent to `make distclean`):&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      rm -rf build&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
      cmake --install build&lt;br /&gt;
&lt;br /&gt;
It is possible to run GRASS for testing purposes in build directory:&lt;br /&gt;
&lt;br /&gt;
     ./build/output/bin/grass&lt;br /&gt;
&lt;br /&gt;
== Required Software for GRASS ==&lt;br /&gt;
&lt;br /&gt;
Required software to build GRASS:&lt;br /&gt;
&lt;br /&gt;
* [https://www.gnu.org/software/bison/ Bison]&lt;br /&gt;
* [https://cmake.org CMake] (version 3.22+)&lt;br /&gt;
* [https://github.com/westes/flex flex]&lt;br /&gt;
* [https://gdal.org/en/stable/ GDAL]&lt;br /&gt;
* [https://www.pcre.org PCRE] (required for MSVC only, on *NIX based platforms the Regex library is part of the system)&lt;br /&gt;
* [https://proj.org/ PROJ]&lt;br /&gt;
* [https://www.python.org Python] (version 3.9+)&lt;br /&gt;
* [https://zlib.net zlib]&lt;br /&gt;
&lt;br /&gt;
== Optional Software and Configuration Flags ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Optional Libraries and Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Software !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| bzip2 || WITH_BZLIB || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Cairo || WITH_CAIRO || ON&lt;br /&gt;
|-&lt;br /&gt;
| CBLAS || WITH_CBLAS || ON&lt;br /&gt;
|-&lt;br /&gt;
| FFTW || WITH_FFTW || ON&lt;br /&gt;
|-&lt;br /&gt;
| FreeType || WITH_FREETYPE || ON&lt;br /&gt;
|-&lt;br /&gt;
| GEOS || WITH_GEOS || ON&lt;br /&gt;
|-&lt;br /&gt;
| LAPACKE || WITH_LAPACKE || ON&lt;br /&gt;
|-&lt;br /&gt;
| libLAS || WITH_LIBLAS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| libpng || WITH_LIBPNG || ON&lt;br /&gt;
|-&lt;br /&gt;
| LibTIFF || WITH_TIFF || ON&lt;br /&gt;
|-&lt;br /&gt;
| MySQL || WITH_MYSQL || OFF&lt;br /&gt;
|-&lt;br /&gt;
| NetCDF || WITH_NETCDF || OFF&lt;br /&gt;
|-&lt;br /&gt;
| ODBC || WITH_ODBC || OFF&lt;br /&gt;
|-&lt;br /&gt;
| OpenGL || WITH_OPENGL || ON&lt;br /&gt;
|-&lt;br /&gt;
| OpenMP || WITH_OPENMP || OFF&lt;br /&gt;
|-&lt;br /&gt;
| PDAL || WITH_PDAL || ON&lt;br /&gt;
|-&lt;br /&gt;
| PostgreSQL || WITH_POSTGRES || ON&lt;br /&gt;
|-&lt;br /&gt;
| Readline || WITH_READLINE || ON&lt;br /&gt;
|-&lt;br /&gt;
| SQLite || WITH_SQLITE || ON&lt;br /&gt;
|-&lt;br /&gt;
| X11 || WITH_X11 || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Zstandard || WITH_ZSTD || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Other Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| Build documentation || WITH_DOCS || ON&lt;br /&gt;
|-&lt;br /&gt;
| Install according to Filesystem Hierarchy Standard (FHS) &amp;lt;/br&amp;gt; (full support after GRASS 8.5 release) || WITH_FHS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Build GUI || WITH_GUI || ON&lt;br /&gt;
|-&lt;br /&gt;
| Large file support || WITH_LARGEFILES || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Build with National Language Support (NLS) || WITH_NLS || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Use Ccache || USE_CCACHE || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) the default setting varies by platform.&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
==== bzip2 (-DWITH_BZLIB) ====&lt;br /&gt;
&lt;br /&gt;
[https://sourceware.org/bzip2/ bzip2] is a freely available high-quality data compressor.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Cairo (-DWITH_CAIRO) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.cairographics.org Cairo] is a 2D graphics library with support for multiple output devices.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Cairo Display Driver and `g.cairocomp`.&lt;br /&gt;
&lt;br /&gt;
==== CBLAS (-DWITH_CBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/blas/ CBLAS] C interface to the BLAS (Basic Linear Algebra Subprograms) which are routines that provide standard building blocks for performing basic vector and matrix operations.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library).&lt;br /&gt;
&lt;br /&gt;
==== FFTW (-DWITH_FFTW) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.fftw.org FFTW] is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), `i.fft` and `i.ifft`.&lt;br /&gt;
&lt;br /&gt;
==== FreeType (-DWITH_FREETYPE) ====&lt;br /&gt;
&lt;br /&gt;
[https://freetype.org FreeType] is a freely available software library to render fonts.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Display Driver, GRASS Cairo Display Driver and `v.label.sa`.&lt;br /&gt;
&lt;br /&gt;
==== GEOS (-DWITH_GEOS) ====&lt;br /&gt;
&lt;br /&gt;
[https://libgeos.org GEOS] is a C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `v.buffer`, `v.profile` and `v.select`.&lt;br /&gt;
&lt;br /&gt;
==== LAPACKE (-DWITH_LAPACKE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/lapack/lapacke.html LAPACKE]is the C Interface to LAPACK, the Linear Algebra PACKage.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Vector Library, GRASS numerical math interface (GRASS Math Library) and GRASS Raster Library&lt;br /&gt;
&lt;br /&gt;
==== libLAS (-DWITH_LIBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://liblas.org libLAS] is a C/C++ library for reading and writing the very common LAS LiDAR format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.lidar`, `r3.in.lidar`, `v.in.lidar`, `v.lidar.correction`, `v.lidar.edgedetection`, `v.lidar.growing` and `v.out.lidar`.&lt;br /&gt;
&lt;br /&gt;
==== libpng (-DWITH_LIBPNG) ====&lt;br /&gt;
&lt;br /&gt;
[http://www.libpng.org/pub/png/ libpng] provides support for Portable Network Graphics (PNG) image file format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS PNG Display Driver Library, `r.in.png` and `r.out.png`.&lt;br /&gt;
&lt;br /&gt;
==== LibTIFF (-DWITH_TIFF) ====&lt;br /&gt;
&lt;br /&gt;
[https://libtiff.gitlab.io/libtiff/ LibTIFF] provides support for the Tag Image File Format (TIFF), a widely used format for storing image data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library.&lt;br /&gt;
&lt;br /&gt;
==== MySQL (-DWITH_MYSQL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.mysql.com MySQL] or [https://mariadb.org MariaDB] are two forks of a relational database.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase MySQL driver.&lt;br /&gt;
&lt;br /&gt;
==== NetCDF (-DWITH_NETCDF) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.unidata.ucar.edu/software/netcdf/ NetCDF] (Network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r3.out.netcdf`.&lt;br /&gt;
&lt;br /&gt;
==== ODBC (-DWITH_ODBC) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Open_Database_Connectivity Open Database Connectivity] (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS).&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase ODBC driver.&lt;br /&gt;
&lt;br /&gt;
==== OpenGL (-DWITH_OPENGL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.opengl.org OpenGL] (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. &lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library and GRASS Nviz Library.&lt;br /&gt;
&lt;br /&gt;
==== OpenMP (-DWITH_OPENMP) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/OpenMP OpenMP] is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), GRASS Partial differential equations Library (GPDE), GRASS Library for interpolation with regularized splines with tension (RST), `r.mfilter`,&lt;br /&gt;
`r.neighbors`, `r.proj`, `r.resamp.filter`, `r.resamp.interp`, `r.series`, `r.series.accumulate`, `r.slope.aspect`, `r.sun`, `r.sim`, `r.univar`, `r3.univar` and `v.surf.rst`.&lt;br /&gt;
&lt;br /&gt;
==== PDAL (-DWITH_PDAL) ====&lt;br /&gt;
&lt;br /&gt;
[https://pdal.io/ PDAL] is a C++ library for translating and manipulating point cloud data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.pdal` and `v.in.pdal`.&lt;br /&gt;
&lt;br /&gt;
==== PostgreSQL (-DWITH_POSTGRES) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.postgresql.org PostgreSQL] is a powerful, open source object-relational database system.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase PostgreSQL driver, GRASS General Library (GRASS GIS Library), `v.external` and `v.out.postgis`.&lt;br /&gt;
&lt;br /&gt;
==== Readline (-DWITH_READLINE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/readline/ Readline] library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.mapcalc` and `r3.mapcalc`.&lt;br /&gt;
&lt;br /&gt;
==== SQLite (-DWITH_SQLITE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.sqlite.org SQLite] is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase SQLite driver and `g.version`.&lt;br /&gt;
&lt;br /&gt;
==== X11 (-DWITH_X11) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.x.org/wiki/ X Window System] (X11) is a windowing system for bitmap displays, common on Unix-like operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Nviz Library, `g.cairocomp` and `ximgview`.&lt;br /&gt;
&lt;br /&gt;
==== Zstandard (-DWITH_ZSTD) ====&lt;br /&gt;
&lt;br /&gt;
[https://facebook.github.io/zstd/ Zstandard] is a fast compression algorithm, providing high compression ratios. It also offers a special mode for small data, called dictionary compression.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Build documentation (-DWITH_DOCS) ====&lt;br /&gt;
&lt;br /&gt;
==== Install according to Filesystem Hierarchy Standard (FHS) -(DWITH_FHS) ====&lt;br /&gt;
Full FHS support has not yet been implemented; the release following GRASS 8.5 is expected to be the first to provide such support.&lt;br /&gt;
&lt;br /&gt;
==== Build GUI (-DWITH_GUI) ====&lt;br /&gt;
&lt;br /&gt;
==== Large file support (-DWITH_LARGEFILES) ====&lt;br /&gt;
&lt;br /&gt;
==== Build with National Language Support (-DWITH_NLS) ====&lt;br /&gt;
&lt;br /&gt;
Requires: [https://www.gnu.org/software/gettext/ Gettext]&lt;br /&gt;
&lt;br /&gt;
==== Use Ccache (-DUSE_CCACHE) ====&lt;br /&gt;
&lt;br /&gt;
[https://ccache.dev Ccache] is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.&lt;br /&gt;
&lt;br /&gt;
Requires: Ccache&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28752</id>
		<title>Compile and Install With CMake</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28752"/>
		<updated>2026-01-21T15:41:39Z</updated>

		<summary type="html">&lt;p&gt;Nila: Note on FHS support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Disclaimer''': As of Spring 2025, the development of GRASS GIS using CMake is ongoing. Both the functionality of the CMake build system and the content of this documentation are subject to change.&lt;br /&gt;
&lt;br /&gt;
== Building With CMake ==&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended to perform the build process with CMake in a separate directory, as opposed to the traditional approach of running `./configure &amp;amp;&amp;amp; make` in the top-level directory of the source repository using Autotools. The designated build directory may be located anywhere.&lt;br /&gt;
&lt;br /&gt;
A simple configuration, which creates a build directory named &amp;quot;build&amp;quot; (with -B argument) with current directory as source directory (with -S), can look like this:&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S .&lt;br /&gt;
&lt;br /&gt;
Executing the building process is made with:&lt;br /&gt;
&lt;br /&gt;
      cmake --build build&lt;br /&gt;
&lt;br /&gt;
A custom configuration may look like:&lt;br /&gt;
&lt;br /&gt;
      export CFLAGS=&amp;quot;-DGL_SILENCE_DEPRECATION&amp;quot;&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S . -G Ninja \&lt;br /&gt;
            -DCMAKE_PREFIX_PATH=&amp;quot;/opt/local&amp;quot; \&lt;br /&gt;
            -DWITH_OPENMP=ON&lt;br /&gt;
      cmake --build build -v -j8&lt;br /&gt;
      &lt;br /&gt;
To clean up the configuration and build files (equivalent to `make distclean`):&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      rm -rf build&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
      cmake --install build&lt;br /&gt;
&lt;br /&gt;
It is possible to run GRASS for testing purposes in build directory:&lt;br /&gt;
&lt;br /&gt;
     ./build/output/bin/grass&lt;br /&gt;
&lt;br /&gt;
== Required Software for GRASS ==&lt;br /&gt;
&lt;br /&gt;
Required software to build GRASS:&lt;br /&gt;
&lt;br /&gt;
* [https://www.gnu.org/software/bison/ Bison]&lt;br /&gt;
* [https://cmake.org CMake] (version 3.22+)&lt;br /&gt;
* [https://github.com/westes/flex flex]&lt;br /&gt;
* [https://gdal.org/en/stable/ GDAL]&lt;br /&gt;
* [https://www.pcre.org PCRE] (required for MSVC only, on *NIX based platforms the Regex library is part of the system)&lt;br /&gt;
* [https://proj.org/ PROJ]&lt;br /&gt;
* [https://www.python.org Python] (version 3.9+)&lt;br /&gt;
* [https://zlib.net zlib]&lt;br /&gt;
&lt;br /&gt;
== Optional Software and Configuration Flags ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Optional Libraries and Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Software !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| bzip2 || WITH_BZLIB || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Cairo || WITH_CAIRO || ON&lt;br /&gt;
|-&lt;br /&gt;
| CBLAS || WITH_CBLAS || ON&lt;br /&gt;
|-&lt;br /&gt;
| FFTW || WITH_FFTW || ON&lt;br /&gt;
|-&lt;br /&gt;
| FreeType || WITH_FREETYPE || ON&lt;br /&gt;
|-&lt;br /&gt;
| GEOS || WITH_GEOS || ON&lt;br /&gt;
|-&lt;br /&gt;
| LAPACKE || WITH_LAPACKE || ON&lt;br /&gt;
|-&lt;br /&gt;
| libLAS || WITH_LIBLAS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| libpng || WITH_LIBPNG || ON&lt;br /&gt;
|-&lt;br /&gt;
| LibTIFF || WITH_TIFF || ON&lt;br /&gt;
|-&lt;br /&gt;
| MySQL || WITH_MYSQL || OFF&lt;br /&gt;
|-&lt;br /&gt;
| NetCDF || WITH_NETCDF || OFF&lt;br /&gt;
|-&lt;br /&gt;
| ODBC || WITH_ODBC || OFF&lt;br /&gt;
|-&lt;br /&gt;
| OpenGL || WITH_OPENGL || ON&lt;br /&gt;
|-&lt;br /&gt;
| OpenMP || WITH_OPENMP || OFF&lt;br /&gt;
|-&lt;br /&gt;
| PDAL || WITH_PDAL || ON&lt;br /&gt;
|-&lt;br /&gt;
| PostgreSQL || WITH_POSTGRES || ON&lt;br /&gt;
|-&lt;br /&gt;
| Readline || WITH_READLINE || ON&lt;br /&gt;
|-&lt;br /&gt;
| SQLite || WITH_SQLITE || ON&lt;br /&gt;
|-&lt;br /&gt;
| X11 || WITH_X11 || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Zstandard || WITH_ZSTD || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Other Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| Build documentation || WITH_DOCS || ON&lt;br /&gt;
|-&lt;br /&gt;
| Install according to Filesystem Hierarchy Standard (FHS) &amp;lt;/br&amp;gt; (full support after GRASS 8.5 release) || WITH_FHS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Build GUI || WITH_GUI || ON&lt;br /&gt;
|-&lt;br /&gt;
| Large file support || WITH_LARGEFILES || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Build with National Language Support (NLS) || WITH_NLS || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Use Ccache || USE_CCACHE || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) the default setting varies by platform.&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
==== bzip2 (-DWITH_BZLIB) ====&lt;br /&gt;
&lt;br /&gt;
[https://sourceware.org/bzip2/ bzip2] is a freely available high-quality data compressor.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Cairo (-DWITH_CAIRO) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.cairographics.org Cairo] is a 2D graphics library with support for multiple output devices.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Cairo Display Driver and `g.cairocomp`.&lt;br /&gt;
&lt;br /&gt;
==== CBLAS (-DWITH_CBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/blas/ CBLAS] C interface to the BLAS (Basic Linear Algebra Subprograms) which are routines that provide standard building blocks for performing basic vector and matrix operations.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library).&lt;br /&gt;
&lt;br /&gt;
==== FFTW (-DWITH_FFTW) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.fftw.org FFTW] is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), `i.fft` and `i.ifft`.&lt;br /&gt;
&lt;br /&gt;
==== FreeType (-DWITH_FREETYPE) ====&lt;br /&gt;
&lt;br /&gt;
[https://freetype.org FreeType] is a freely available software library to render fonts.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Display Driver, GRASS Cairo Display Driver and `v.label.sa`.&lt;br /&gt;
&lt;br /&gt;
==== GEOS (-DWITH_GEOS) ====&lt;br /&gt;
&lt;br /&gt;
[https://libgeos.org GEOS] is a C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `v.buffer`, `v.profile` and `v.select`.&lt;br /&gt;
&lt;br /&gt;
==== LAPACKE (-DWITH_LAPACKE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/lapack/lapacke.html LAPACKE]is the C Interface to LAPACK, the Linear Algebra PACKage.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Vector Library, GRASS numerical math interface (GRASS Math Library) and GRASS Raster Library&lt;br /&gt;
&lt;br /&gt;
==== libLAS (-DWITH_LIBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://liblas.org libLAS] is a C/C++ library for reading and writing the very common LAS LiDAR format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.lidar`, `r3.in.lidar`, `v.in.lidar`, `v.lidar.correction`, `v.lidar.edgedetection`, `v.lidar.growing` and `v.out.lidar`.&lt;br /&gt;
&lt;br /&gt;
==== libpng (-DWITH_LIBPNG) ====&lt;br /&gt;
&lt;br /&gt;
[http://www.libpng.org/pub/png/ libpng] provides support for Portable Network Graphics (PNG) image file format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS PNG Display Driver Library, `r.in.png` and `r.out.png`.&lt;br /&gt;
&lt;br /&gt;
==== LibTIFF (-DWITH_TIFF) ====&lt;br /&gt;
&lt;br /&gt;
[https://libtiff.gitlab.io/libtiff/ LibTIFF] provides support for the Tag Image File Format (TIFF), a widely used format for storing image data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library.&lt;br /&gt;
&lt;br /&gt;
==== MySQL (-DWITH_MYSQL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.mysql.com MySQL] or [https://mariadb.org MariaDB] are two forks of a relational database.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase MySQL driver.&lt;br /&gt;
&lt;br /&gt;
==== NetCDF (-DWITH_NETCDF) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.unidata.ucar.edu/software/netcdf/ NetCDF] (Network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r3.out.netcdf`.&lt;br /&gt;
&lt;br /&gt;
==== ODBC (-DWITH_ODBC) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Open_Database_Connectivity Open Database Connectivity] (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS).&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase ODBC driver.&lt;br /&gt;
&lt;br /&gt;
==== OpenGL (-DWITH_OPENGL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.opengl.org OpenGL] (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. &lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library and GRASS Nviz Library.&lt;br /&gt;
&lt;br /&gt;
==== OpenMP (-DWITH_OPENMP) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/OpenMP OpenMP] is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), GRASS Partial differential equations Library (GPDE), GRASS Library for interpolation with regularized splines with tension (RST), `r.mfilter`,&lt;br /&gt;
`r.neighbors`, `r.proj`, `r.resamp.filter`, `r.resamp.interp`, `r.series`, `r.series.accumulate`, `r.slope.aspect`, `r.sun`, `r.sim`, `r.univar`, `r3.univar` and `v.surf.rst`.&lt;br /&gt;
&lt;br /&gt;
==== PDAL (-DWITH_PDAL) ====&lt;br /&gt;
&lt;br /&gt;
[https://pdal.io/ PDAL] is a C++ library for translating and manipulating point cloud data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.pdal` and `v.in.pdal`.&lt;br /&gt;
&lt;br /&gt;
==== PostgreSQL (-DWITH_POSTGRES) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.postgresql.org PostgreSQL] is a powerful, open source object-relational database system.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase PostgreSQL driver, GRASS General Library (GRASS GIS Library), `v.external` and `v.out.postgis`.&lt;br /&gt;
&lt;br /&gt;
==== Readline (-DWITH_READLINE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/readline/ Readline] library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.mapcalc` and `r3.mapcalc`.&lt;br /&gt;
&lt;br /&gt;
==== SQLite (-DWITH_SQLITE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.sqlite.org SQLite] is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase SQLite driver and `g.version`.&lt;br /&gt;
&lt;br /&gt;
==== X11 (-DWITH_X11) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.x.org/wiki/ X Window System] (X11) is a windowing system for bitmap displays, common on Unix-like operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Nviz Library, `g.cairocomp` and `ximgview`.&lt;br /&gt;
&lt;br /&gt;
==== Zstandard (-DWITH_ZSTD) ====&lt;br /&gt;
&lt;br /&gt;
[https://facebook.github.io/zstd/ Zstandard] is a fast compression algorithm, providing high compression ratios. It also offers a special mode for small data, called dictionary compression.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Build documentation (-DWITH_DOCS) ====&lt;br /&gt;
&lt;br /&gt;
==== Install according to Filesystem Hierarchy Standard (FHS) -(DWITH_FHS) ====&lt;br /&gt;
&lt;br /&gt;
==== Build GUI (-DWITH_GUI) ====&lt;br /&gt;
&lt;br /&gt;
==== Large file support (-DWITH_LARGEFILES) ====&lt;br /&gt;
&lt;br /&gt;
==== Build with National Language Support (-DWITH_NLS) ====&lt;br /&gt;
&lt;br /&gt;
Requires: [https://www.gnu.org/software/gettext/ Gettext]&lt;br /&gt;
&lt;br /&gt;
==== Use Ccache (-DUSE_CCACHE) ====&lt;br /&gt;
&lt;br /&gt;
[https://ccache.dev Ccache] is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.&lt;br /&gt;
&lt;br /&gt;
Requires: Ccache&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Developer_Summit_Raleigh_2025&amp;diff=28373</id>
		<title>Talk:GRASS Developer Summit Raleigh 2025</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Developer_Summit_Raleigh_2025&amp;diff=28373"/>
		<updated>2025-05-22T12:06:07Z</updated>

		<summary type="html">&lt;p&gt;Nila: /* Nicklas Larsson | Hungarian National Museum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Developer Summit Raleigh 2025|Meeting page]] | [[#Participant_reports|Reports]]  |  [[GRASS_Developer_Summit_Raleigh_2025#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Vaclav Petras, Anna Petrasova, Veronica Andreo, Corey White, Lois Utt, Sarah White, Doug Newcomb, Huidae Cho, Veronica Andreo ([[GRASS_Developer_Summit_Raleigh_2025#Organizing_Committee|Organizing Committee]])&lt;br /&gt;
* Budget: Vaclav Petras, Lois Utt, Anna Petrasova&lt;br /&gt;
* Raising support: Helena Mitasova, Vaclav Petras, Anna Petrasova, Michael Barton, Giuseppe Amatulli ([[NSF POSE Project 2023-2025 Timeline|NSF POSE project]] proposal authors)&lt;br /&gt;
* Travel: Lois Utt&lt;br /&gt;
* Venue: Vaclav Petras, Lois Utt&lt;br /&gt;
* Meals: Lois Utt, Sarah White, Vaclav Petras, Corey White, Anna Petrasova&lt;br /&gt;
* Agenda: Vaclav Petras, Huidae Cho, Anna Petrasova&lt;br /&gt;
* Wiki page: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Swag: Sarah White, Vaclav Petras, Anna Petrasova, Corey White&lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Sarah White, Corey White, John Vogler&lt;br /&gt;
* Lightning talks organization: Vaclav Petras, Zachary Arcaro, John Vogler&lt;br /&gt;
* Lightning talk speakers: Vaclav Petras (welcome), Markus Metz and Markus Neteler (talk presented by Vaclav Petras), Anna Petrasova, Veronica Andreo, Robert Dzur, Nick Brady, Huidae Cho, Gregory Power, Doug Newcomb, Caitlin Haedrich&lt;br /&gt;
* Photography: Caitlin Haedrich, Māris Nartišs, Pratikshya Regmi&lt;br /&gt;
&lt;br /&gt;
== Detailed Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Day 1, Monday, May 19 ===&lt;br /&gt;
&lt;br /&gt;
Location: Talley Student Union, 2610 Cates Ave ([https://www.google.com/maps/place/Talley+Student+Union/data=!4m2!3m1!1s0x0:0x38989377c96adef0?sa=X&amp;amp;ved=1t:2428&amp;amp;ictx=111 map])&lt;br /&gt;
&lt;br /&gt;
Room: 5101-Executive Board Room&lt;br /&gt;
&lt;br /&gt;
Highlighted topic: ''Contributing to GRASS. Getting started. Is it easy to contribute?''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:30-9:00 || Breakfast || Catered breakfast on site. Meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || What to expect from the event, contributing to GRASS using Git and GitHub, making your first contribution.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || i.hyper: Integrating Hyperspectral Imagery Processing into GRASS - Alen Mangafić&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || &lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Project Image - Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || Catered food on site.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || We will walk to [https://www.trophybrewing.com/brewing-pizza Trophy Brewing &amp;amp; Pizza] ([https://maps.app.goo.gl/ggnZ7EvXbWqDUmvP9 directions], 30 min walk from Talley)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 2, Tuesday, May 20 ===&lt;br /&gt;
&lt;br /&gt;
Location: Talley Student Union, 2610 Cates Ave ([https://www.google.com/maps/place/Talley+Student+Union/data=!4m2!3m1!1s0x0:0x38989377c96adef0?sa=X&amp;amp;ved=1t:2428&amp;amp;ictx=111 map])&lt;br /&gt;
&lt;br /&gt;
Room: 5101-Executive Board Room&lt;br /&gt;
&lt;br /&gt;
Highlighted topics: ''Hydrology and Interfacing with R and QGIS (gathering user feedback, testing, discussing with developers, developing action items)''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:30-9:00 || Breakfast || Breakfast on site. Start the day, meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || Introduction to writing GRASS tools, program for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || fasterRaster R package - Adam Smith&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || Hydography90m + Geocomputation Courses - Giuseppe&lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Flood modelling with grass and itzi ([https://itzi.org]) - Laurent Courty&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || [https://maps.app.goo.gl/womSkce9DrE8CTnR8 Case dining hall]&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || [https://maps.app.goo.gl/CQiWoCAQNt1ymZkb7 Served in Jordan Hall at the Center for Geospatial Analytics], evaluate the day's accomplishments, plan and prioritize for the next few days.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 3, Wednesday, May 21 ===&lt;br /&gt;
&lt;br /&gt;
Location: Talley Student Union, 2610 Cates Ave ([https://www.google.com/maps/place/Talley+Student+Union/data=!4m2!3m1!1s0x0:0x38989377c96adef0?sa=X&amp;amp;ved=1t:2428&amp;amp;ictx=111 map])&lt;br /&gt;
&lt;br /&gt;
Room: 5101-Executive Board Room&lt;br /&gt;
&lt;br /&gt;
Highlighted topic: ''Non-coding contributions, natural language translation, and internationalization.''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 7:00-9:00 || Breakfast || [https://maps.app.goo.gl/eZ8VK8Mx6TjMt9NP8 Case dining hall]&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || Introduction to non-coding contributions, tutorials, contributing examples, natural language translation and internationalization (procedures, glossaries, code customization, translation).&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || Easier access to GRASS tools - Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || &lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || GRASS backend for xarray and temporal framework global variables ([https://github.com/OSGeo/grass/issues/629]) - Laurent Courty&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || Served on site. Eat, drink, and continue the discussion from the feedback sessions.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || [https://maps.app.goo.gl/1E39eySMVaxYJUUS8 Picnic at Pullen Park, shelter #3. In case of bad weather, dinner at the Center for Geospatial Analytics.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 4, Thursday, May 22 ===&lt;br /&gt;
&lt;br /&gt;
Location: Center for Geospatial Analytics, Jordan Hall, 2800 Faucette Drive ([https://www.google.com/maps/search/Jordan+Hall/@35.7816832,-78.6772765,18z/data=!3m1!4b1?entry=ttu&amp;amp;g_ep=EgoyMDI1MDQyMC4wIKXMDSoJLDEwMjExNDUzSAFQAw%3D%3D map])&lt;br /&gt;
&lt;br /&gt;
Room: 5103 (straight from the two elevators, at the end of the hallway)&lt;br /&gt;
&lt;br /&gt;
Highlighted topic: ''Project vision and computational engine use case.''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:00-9:00 || Breakfast || On site. Start the day, meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || Project vision and the computational engine use case (missing features, documentation, user groups).&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || Your topic here (10-minute presentation and 10-minute discussion)&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || YAIT - Yet Another Interface to Tools - Vaclav Petras &lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Modernizing Color Tables (Brendan)&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || On site. Eat, drink, and continue the discussion from the feedback sessions.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-16:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 16:00-17:00 || Lightning talks || Fast-paced talks, showcasing applications of GRASS, room 5111.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Reception || Connect with researchers, government professionals, and industry collaborators, rooms 5111 and 5119.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 5, Friday, May 23 ===&lt;br /&gt;
&lt;br /&gt;
Location: James B. Hunt Jr. Library, 1070 Partners Way - Centennial Campus ([https://www.google.com/maps/place/James+B.+Hunt+Jr.+Library/@35.7693736,-78.679167,17z/data=!3m1!5s0x89acf5759f5a31df:0xc547454a0151c440!4m10!1m2!2m1!1shunt+library!3m6!1s0x89acf5759f591f41:0xbe0266269ce37f59!8m2!3d35.7693215!4d-78.6764409!15sCgxodW50IGxpYnJhcnlaDiIMaHVudCBsaWJyYXJ5kgESdW5pdmVyc2l0eV9saWJyYXJ54AEA!16s%2Fm%2F0r4wjf_?entry=ttu&amp;amp;g_ep=EgoyMDI1MDQyMC4wIKXMDSoJLDEwMjExNDUzSAFQAw%3D%3D map])&lt;br /&gt;
&lt;br /&gt;
Room: Faculty Research Commons - 5100 ([https://www.lib.ncsu.edu/hunt/map floor plan])&lt;br /&gt;
&lt;br /&gt;
Highlighted topic: ''GRASS project's future course.''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:00-9:00 || Breakfast || On site. Start the day, meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || GRASS project's future course.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || PSC meeting || Project Steering Committee meets (public).&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || Walk to [https://maps.app.goo.gl/kHVHY62QxTd6wHKd9 On the Oval Culinary Creatins]. Eat, drink, and continue the discussion from the feedback sessions.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || Dinner on your own. Corey White will organize trip to downtown. Bus 41 from Hunt library to hotel and then walk.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 6, Saturday, May 24 ===&lt;br /&gt;
&lt;br /&gt;
Location: James B. Hunt Jr. Library, 1070 Partners Way - Centennial Campus ([https://www.google.com/maps/place/James+B.+Hunt+Jr.+Library/@35.7693736,-78.679167,17z/data=!3m1!5s0x89acf5759f5a31df:0xc547454a0151c440!4m10!1m2!2m1!1shunt+library!3m6!1s0x89acf5759f591f41:0xbe0266269ce37f59!8m2!3d35.7693215!4d-78.6764409!15sCgxodW50IGxpYnJhcnlaDiIMaHVudCBsaWJyYXJ5kgESdW5pdmVyc2l0eV9saWJyYXJ54AEA!16s%2Fm%2F0r4wjf_?entry=ttu&amp;amp;g_ep=EgoyMDI1MDQyMC4wIKXMDSoJLDEwMjExNDUzSAFQAw%3D%3D map])&lt;br /&gt;
&lt;br /&gt;
Room: Faculty Research Commons - 5100 ([https://www.lib.ncsu.edu/hunt/map floor plan])&lt;br /&gt;
&lt;br /&gt;
Highlighted topics: ''NSF POSE project evaluation.''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:00-9:00 || Breakfast || TBA. Start the day, meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || NSF POSE project evaluation, contributor community feedback.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || Your topic here (10-minute presentation and 10-minute discussion)&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || TBA. Eat, drink, and continue the discussion from the feedback sessions.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || TBA. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Daily tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* List all the things you are working on in the Participant reports section below. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you want to discuss something with the whole group, add yourself to a Self-organized feedback sessions slot in the schedule above or tell Vaclav (Vashek) Petras.&lt;br /&gt;
* For people with triage access and above: If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Participant reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting.&lt;br /&gt;
&lt;br /&gt;
=== Giuseppe Amatulli | Yale University ===&lt;br /&gt;
&lt;br /&gt;
* Testing r.watershed and r.stream.* for handling large datasets&lt;br /&gt;
* Running r.flowaccumulation at global level using water direction from hydrography90m &lt;br /&gt;
* Preparing the grass tutorial material for the https://www.geomorphometry2025.org/ conference&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo | CONICET - Instituto Gulich ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/veroandreo?tab=overview&amp;amp;from=2025-05-12&amp;amp;to=2025-05-24 GitHub contributions]&lt;br /&gt;
* Website footer enhancement&lt;br /&gt;
* Sync icons on the Tutorials website footer to those on the main website&lt;br /&gt;
* Fix descriptions and their display in the tutorials website&lt;br /&gt;
* Fix GRASS page on OSGeo website [https://www.osgeo.org/projects/grass-gis/] &lt;br /&gt;
** Changed logo, removed GIS from the name, fixed old links&lt;br /&gt;
* Social media posts&lt;br /&gt;
* Discussion about hyperspectral with Alen and Anna&lt;br /&gt;
* Expand the GRASS acronym on the home page&lt;br /&gt;
* Remove GIS from GRASS name on the website&lt;br /&gt;
* Review tutorials by Huidae and Adam Smith&lt;br /&gt;
* GRASS PSC admin&lt;br /&gt;
&lt;br /&gt;
=== Abdullah Azzam | New Mexico State University ===&lt;br /&gt;
&lt;br /&gt;
* r.runoff&lt;br /&gt;
&lt;br /&gt;
=== Michael Barton | Arizona State University ===&lt;br /&gt;
&lt;br /&gt;
* POSE related activities&lt;br /&gt;
&lt;br /&gt;
=== Laura Belica | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* have been working on developing a workflow-tool tutorial template that facilitates GRASS learners who tend to 'jump in' or have a 'choose your own adventure' approach to learning GRASS (i.e., want to use their data for their study area for their objective from the start).  The structure of the tutorial template is a concise, basic, general description/instructions of the workflow with optional links to pertinent explanatory/deeper dive content  (e.g.,  plain language explainers of the tool, options, defaults, etc.) in a variety of formats (e.g., captioned images, short tool demo videos (30 sec to 2 min)) in addition to the more comprehensive resources available (e.g. documentation, examples, tutorials).  The main motivation for this approach is to help new and occasional GRASS users avoid some of the common pitfalls and to learn how to find workarounds for some of the unanticipated challenges they may encounter with their specific datasets or use cases so that they can learn as they go.  Another motivation for this approach is to facilitate the translation, extension, and updating of workflow tutorials by the community over time (e.g., providing audio and closed captioning for one of the tool-demo videos in another language, replacing an outdated GUI demo with one for the current release, or incorporating a new add-on as an option in the workflow).&lt;br /&gt;
&lt;br /&gt;
* my focus this week is on developing a draft/test tutorial (in Quarto) for a standard hydrological modelling workflow that begins with the crucial pre-work of how to figure out the appropriate project/location, etc. as well as considerations of some of the downstream impacts of resolution, extent, region etc. It may not be ready for sharing by the end of the week, but suggestions and advice are welcomed in advance.&lt;br /&gt;
&lt;br /&gt;
19 May&lt;br /&gt;
* discussed a novice user issue with 'moving' vector data from one location to another with Vero and learned a neat GUI option &lt;br /&gt;
* revised and added workflow tutorial text&lt;br /&gt;
&lt;br /&gt;
=== Shonil Sateesh Bhide | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* CI optimization&lt;br /&gt;
&lt;br /&gt;
=== Huidae Cho | New Mexico State University ===&lt;br /&gt;
&lt;br /&gt;
* CMake, conda, CI, Mentoring&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
&lt;br /&gt;
* Quick ideas, way too much for a week: Helping others (may take a reasonable part of the time), managing CI, setting up localization template updating workflow, backporting tool? Pytest/coverage improvements? Discuss and design other projects, to work on during the year. Open to change on other priorities once there, anything that is useful. Maybe make a little progress on high dpi GUI, especially on Windows.&lt;br /&gt;
&lt;br /&gt;
* Weekend before sprint:&lt;br /&gt;
** Clear up Renovate PRs to not use CI time during the sprint, reviewing and merging: [https://github.com/OSGeo/grass/pull/5664 #5664], [https://github.com/OSGeo/grass/pull/5665 #5665], [https://github.com/OSGeo/grass/pull/5666 #5666], [https://github.com/OSGeo/grass/pull/5667 #5667], [https://github.com/OSGeo/grass/pull/5668 #5668]&lt;br /&gt;
** PR to avoid some CI run time for the sprint: [https://github.com/OSGeo/grass/pull/5670 #5670]&lt;br /&gt;
** Reviewed open PRs for PRs that were mergeable before the sprint, updated outdated PRs to avoid having it needing CI time during sprint. Only ended up merging [https://github.com/OSGeo/grass/pull/5658 #5658], but another reviewed one that might still need changes: [https://github.com/OSGeo/grass/pull/5628 #5628]&lt;br /&gt;
* Monday May 19, 2025:&lt;br /&gt;
** PR got merged: [https://github.com/OSGeo/grass/pull/5670 #5670],[https://github.com/OSGeo/grass/pull/5550 #5550]&lt;br /&gt;
** Reviewed PRs: [https://github.com/OSGeo/grass/pull/5671 #5671], [https://github.com/OSGeo/grass/pull/5672 #5672]&lt;br /&gt;
** Discussions:&lt;br /&gt;
*** Shonil Sateesh Bhid &amp;amp; Shuham on their CI &amp;amp; pytest work and project.&lt;br /&gt;
*** Māris Nartišs about a potential issue and improvement for it. Will be discussed in the security reporting tab, also allowing to test the security vulnerability reporting process. + Research on existing solutions&lt;br /&gt;
** Reviewed: [https://github.com/OSGeo/grass/pull/5682 #5682], [https://github.com/OSGeo/grass/pull/5660 #5660],&lt;br /&gt;
** Reviewed, edited and merged: [https://github.com/OSGeo/grass/pull/3672 #3672]&lt;br /&gt;
** Discussed/helped user for: [https://github.com/OSGeo/grass/pull/5678 #5678] and [https://github.com/OSGeo/grass/pull/5684 #5684]&lt;br /&gt;
** Long discussion and vision planning for windows scripting with Vaclav, concerning [https://github.com/OSGeo/grass/pull/5624 #5624]. Tested alternatives and tried the consequences of that PR. This older PR finally got merged.&lt;br /&gt;
** Created PRs for NSIS installer: [https://github.com/OSGeo/grass/pull/5685 #5685] and also [https://github.com/OSGeo/grass/pull/5686 #5686], which should address [https://github.com/OSGeo/grass/issues/5663 #5663]. Still needs to test it.&lt;br /&gt;
** Agreed on convention for titles with Vaclav, unblocking [https://github.com/OSGeo/grass/pull/5341 #5341]&lt;br /&gt;
** Found a name with Ondrej and finally merged older PRs of an external contributor [https://github.com/OSGeo/grass/pull/5473 #5473] and [https://github.com/OSGeo/grass/pull/5474 #5474]&lt;br /&gt;
* Thursday May 20, 2025:&lt;br /&gt;
** Reviewed: [https://github.com/OSGeo/grass/pull/5695 #5695]&lt;br /&gt;
** Merged PRs: [https://github.com/OSGeo/grass/pull/5673 #5673], [https://github.com/OSGeo/grass/pull/5691 #5691], [https://github.com/OSGeo/grass/pull/5690 #5690], [https://github.com/OSGeo/grass/pull/5684 #5684],&lt;br /&gt;
** Discussed with author of [https://github.com/OSGeo/grass/pull/5660 #5660] and [https://github.com/OSGeo/grass/issues/5659 #5659] about rgb/hsl bug and tests for help.&lt;br /&gt;
** Worked with Corey to adjust markdown links for new markdownlint rule, finishing up [https://github.com/OSGeo/grass/pull/5669 #5669]&lt;br /&gt;
** Created PRs: [https://github.com/OSGeo/grass/pull/5692 #5692], [https://github.com/OSGeo/grass/pull/5694 #5694], [https://github.com/OSGeo/grass/pull/5689 #5689]&lt;br /&gt;
* Wednesday May 21, 2025:&lt;br /&gt;
** Created a new set of GitHub rulesets for the required checks, applied with Vaclav. One of them is separated in order to increase velocity during the sprint&lt;br /&gt;
** Reviewed the branch protection rules for grass-addons repo with Vaclav. Creating rulesets will be possible after the sprint with the info collected.&lt;br /&gt;
** Reviewed the security reporting settings and secret scanning settings with Vaclav for the main grass repo.&lt;br /&gt;
** Got shown by Huidae Cho how to update the translation files, and reviewed Weblate settings. No settings changed, but a backup stored for 30 days was kept.&lt;br /&gt;
** Created a first implementation of a translation file update workflow&lt;br /&gt;
** Tested out the two NSIS installer PRs, the first one, for installing the VC runtime earlier doesn't work as expected, and after more research I don't know enough to fix it. The second PR with High-DPI improvement was correct and got merged [https://github.com/OSGeo/grass/pull/5685 #5685]&lt;br /&gt;
** Helped a student set up a grass installation on WSL with conda.&lt;br /&gt;
** PRs created: [https://github.com/OSGeo/grass/pull/5736 #5736], [https://github.com/OSGeo/grass/pull/5734 #5734]&lt;br /&gt;
** My PRs that got merged: [https://github.com/OSGeo/grass/pull/5685 #5685], [https://github.com/OSGeo/grass/pull/5341 #5341], [https://github.com/OSGeo/grass/pull/5689 #5689]&lt;br /&gt;
** Reviewed and merged multiple PRs, restarting failed required checks of the previous night.&lt;br /&gt;
&lt;br /&gt;
=== Laurent Courty ===&lt;br /&gt;
&lt;br /&gt;
* Objectives: An xarray backend for GRASS STRDS. Fixing related issues&lt;br /&gt;
* May 20&lt;br /&gt;
** Presented itzi&lt;br /&gt;
** Uploaded arm64 wheels to PyPI for MacOS and Linux ([https://pypi.org/project/itzi/#files])&lt;br /&gt;
** Discussed with other developers about issue #629&lt;br /&gt;
* May 21&lt;br /&gt;
** Uploaded xarray-grass to PyPI&lt;br /&gt;
** Added CI tests to xarray-grass&lt;br /&gt;
** Discussed with the group about the xarray-grass backend&lt;br /&gt;
** Discussed with the group about solving mapset switching in the temporal framework (issue #629)&lt;br /&gt;
** Created PR #5735 to address issue #629&lt;br /&gt;
&lt;br /&gt;
=== Robert S. Dzur | Bohannan Huston, Inc. ===&lt;br /&gt;
&lt;br /&gt;
* r.in.pdal&lt;br /&gt;
&lt;br /&gt;
=== David W. Farris | East Carolina University ===&lt;br /&gt;
&lt;br /&gt;
* A tool to calculate gravity terrain corrections&lt;br /&gt;
&lt;br /&gt;
=== Neel Ghoshal | NC State University ===&lt;br /&gt;
• LLM for helping users find tools&amp;lt;br&amp;gt;&lt;br /&gt;
5/19&amp;lt;br&amp;gt;&lt;br /&gt;
• Learnt how to PR (#5674)&amp;lt;br&amp;gt;&lt;br /&gt;
• Setup GRASS on system&amp;lt;br&amp;gt;&lt;br /&gt;
• Found small issue with compilation document&amp;lt;br&amp;gt;&lt;br /&gt;
• Discussed about the possible use case of LLM for helping users find tools&amp;lt;br&amp;gt;&lt;br /&gt;
5/20&amp;lt;br&amp;gt;&lt;br /&gt;
• Learnt about cookie cutter&amp;lt;br&amp;gt;&lt;br /&gt;
• Set up wsl on system&amp;lt;br&amp;gt;&lt;br /&gt;
• Compiled GRASS&amp;lt;br&amp;gt;&lt;br /&gt;
• Listed data sources for LLM training&amp;lt;br&amp;gt;&lt;br /&gt;
5/21&amp;lt;br&amp;gt;&lt;br /&gt;
• Extracted tool information from Markdown files&amp;lt;br&amp;gt;&lt;br /&gt;
• Started off with data cleaning&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Caitlin Haedrich | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* Event photographs&lt;br /&gt;
* git/github mentoring&lt;br /&gt;
* Lightning Talk preparation&lt;br /&gt;
* Preparing workshop for [https://www.geomorphometry2025.org/ Geomorphometry2025]&lt;br /&gt;
&lt;br /&gt;
=== Brendan Harmon | Louisiana State University ===&lt;br /&gt;
&lt;br /&gt;
* Developing ([https://github.com/baharmon/r.earthworks r.earthworks]) addon &amp;amp; tutorials&lt;br /&gt;
* [https://github.com/baharmon?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
&lt;br /&gt;
=== Linda Karlovska | Czech Technical University in Prague ===&lt;br /&gt;
&lt;br /&gt;
* Fix uninitialized variables in DOutFile() method: ([https://github.com/OSGeo/grass/pull/5650 PR])&lt;br /&gt;
* Update figures related to GUI: ([https://github.com/OSGeo/grass/pull/5651  PR])&lt;br /&gt;
&lt;br /&gt;
Working on integration of the Jupyter notebooks to GUI (work for the whole week :-))&lt;br /&gt;
&lt;br /&gt;
=== Martin Landa | Czech Technical University in Prague ===&lt;br /&gt;
&lt;br /&gt;
* Tutorial: GISMentors courses updated ([https://github.com/OSGeo/grass-tutorials/pull/45 PR])&lt;br /&gt;
* libgis: G__usage_markdown() include tool label in metadata if defined ([https://github.com/OSGeo/grass/pull/5677 PR])&lt;br /&gt;
* PyGRASS: Module description property not defined always ([https://github.com/OSGeo/grass/pull/5681 PR])&lt;br /&gt;
* Website: OpenGeoLabs commercial support ([https://github.com/OSGeo/grass-website/pull/537 PR])&lt;br /&gt;
* v.select: create output also when no features found ([https://github.com/OSGeo/grass/pull/5696 PR])&lt;br /&gt;
* wxGUI: avoid creating nested list of errors (Graphical modeler) ([https://github.com/OSGeo/grass/pull/5700 PR])&lt;br /&gt;
* wxGUI/gmodeler: refactor - move ModelParamDialog to dialogs.py ([https://github.com/OSGeo/grass/pull/5715 PR])&lt;br /&gt;
* GUI: make Python editor dockable ([https://github.com/OSGeo/grass/pull/5733 PR])&lt;br /&gt;
&lt;br /&gt;
=== Nicklas Larsson | Hungarian National Museum ===&lt;br /&gt;
&lt;br /&gt;
Planned work: CMake build system; perhaps Conda recipe&lt;br /&gt;
&lt;br /&gt;
[https://github.com/nilason?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
&lt;br /&gt;
* Preparation for CMake build conforming to Filesystem Hierarchy Standard (FHS), resolving resource paths for both the current and FHS in code. In collaboration with Huidae Cho and with important input from Vaclav Petras ([https://github.com/OSGeo/grass/pull/5630 PR5630])&lt;br /&gt;
&lt;br /&gt;
* Helped young students in build configuration and debugging techniques.&lt;br /&gt;
&lt;br /&gt;
* Discussion with several participants on solutions to publish a GRASS package to Conda-forge.&lt;br /&gt;
&lt;br /&gt;
=== Chung-Yuan Liang ===&lt;br /&gt;
&lt;br /&gt;
* parallelize some modules, improve testing&lt;br /&gt;
&lt;br /&gt;
=== Andres Lucero | Bohannan Huston Inc ===&lt;br /&gt;
&lt;br /&gt;
* r.in.pdal&lt;br /&gt;
&lt;br /&gt;
=== Alen Mangafić | Geodetic Institute of Slovenia ===&lt;br /&gt;
Monday May 19 &lt;br /&gt;
* Presentationf of i.hyper, add-on which offers hyperspectral data support in GRASS.&lt;br /&gt;
* Architecture of the multi-module addon&lt;br /&gt;
Tuesday May 20&lt;br /&gt;
* i.hyper.import module: importing EnMAP imagery as 3D raster map&lt;br /&gt;
* i.hyper.preproc module: draft&lt;br /&gt;
Wednesday May 21&lt;br /&gt;
* fixing the i.hyper.import module&lt;br /&gt;
* i.hyper.preproc module: implementing Savitzky-Golay filter&lt;br /&gt;
&lt;br /&gt;
=== Helena Mitasova | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* standardized data set and related tutorials&lt;br /&gt;
* documentation for interpolation tools&lt;br /&gt;
* collaborate/coordinate/discuss hydrology tools (analytics, simulations, soil properties inputs)&lt;br /&gt;
* assist with wiki cleanup if needed&lt;br /&gt;
&lt;br /&gt;
Monday May 19&lt;br /&gt;
* investigated issues with v.surf.rst documentation in source code, tested and identified fixes needed&lt;br /&gt;
* discussed coupling GRASS with Blender versus potree for 3D object rendering with Brendan, Anna and Caitlin (for TL activities and other applications)&lt;br /&gt;
* discussed soil data for runoff estimation and other hydro topics, to be worked on on day 2&lt;br /&gt;
&lt;br /&gt;
Tuesday May 20&lt;br /&gt;
* worked with Corey on fixing v.surf.rst documentation, discussed ideas for improvements and for documentation / tutorial for cross-valiadation&lt;br /&gt;
* discussed suggestions for graphics and examples to be inculded in v.surf.rst docs with Michelle &lt;br /&gt;
* discussed new developments in hydrology tools&lt;br /&gt;
* experimented with basic/standardized versus specialized data sets for documentation and tutorials&lt;br /&gt;
&lt;br /&gt;
=== Michael Mulqueen | MassGIS ===&lt;br /&gt;
&lt;br /&gt;
* depth to water, hydro from lidar, etc&lt;br /&gt;
&lt;br /&gt;
=== Māris Nartišs ===&lt;br /&gt;
&lt;br /&gt;
* Worked on a new raster data analysis tool r.smooth for inclusion into GRASS core&lt;br /&gt;
* Discussed architecture of hyperspectral data import and per-processing tool&lt;br /&gt;
* Discussed testing and organizing AI modules downloading data from internet&lt;br /&gt;
* Prepared and gave a presentation on code preparation for translations (best practice)&lt;br /&gt;
&lt;br /&gt;
=== Ondřej Pešek | Czech Technical University in Prague ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/pesekon2?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
* Refactoring, fixing, improving, discussing g.gui.gmodeler&lt;br /&gt;
* Discussing hyperspectral with Alen Mangafic&lt;br /&gt;
* Discussing jupyter in single GUI with Linda Karlovska&lt;br /&gt;
* PyGRASS&lt;br /&gt;
* Docs&lt;br /&gt;
* CQ&lt;br /&gt;
* Reviewing PRs, PR archeology&lt;br /&gt;
&lt;br /&gt;
=== Vaclav (Vashek) Petras | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/wenzeslaus?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
* My focus: Getting feedback and ideas for computational engine use case, APIs, funding.&lt;br /&gt;
* Summit organizing&lt;br /&gt;
* Implementing rebranding on GitHub (repos, teams)&lt;br /&gt;
* Feedback session on project image&lt;br /&gt;
* Feedback session on easier access to tools&lt;br /&gt;
* Discussed LLMs with Neel Ghoshal, Riya&lt;br /&gt;
* Discussed session setupp  Martin Landa&lt;br /&gt;
* Discussed conda with Nicklas Larsson&lt;br /&gt;
* Discussed hyperspectral with Alen Mangafić, Veronica Andreo, and Anna Petrasova&lt;br /&gt;
* Discussed code for new smoothing tool, integer overflows, translations with Māris Nartišs&lt;br /&gt;
* Compared setup of GRASS session and project in fasterRaster, QGIS, and GRASS itself with Adam Smith&lt;br /&gt;
* Discussed potential of Pixi for packaging or compilation with Gregory Power&lt;br /&gt;
* Discussed itzi model distribution issues with Laurent Courty&lt;br /&gt;
* Discussed r.horizon parallelization with Chung-Yuan Liang and Anna Petrasova&lt;br /&gt;
* Answered coding and setup questions for Neel Ghoshal, Abdullah Azzam, and Alen Mangafić&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/petrasovaa?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
* plan: mentoring, documentation&lt;br /&gt;
* Monday&lt;br /&gt;
** discussing hyperspectral implementation with Alen&lt;br /&gt;
** helping mentee David Farris implementing his gravity correction addon&lt;br /&gt;
* Tuesday&lt;br /&gt;
** delivered intro to creating an addon, documentation&lt;br /&gt;
** mentoring Alen, Abdullah&lt;br /&gt;
** discussing bug in i.his.rgb with Jayneel&lt;br /&gt;
** reviews&lt;br /&gt;
* Wednesday&lt;br /&gt;
** discuss and demonstrate tutorials page&lt;br /&gt;
** mentoring Alen, Jayneel&lt;br /&gt;
* call with GSoC student&lt;br /&gt;
&lt;br /&gt;
=== Gregory Power | Town of Cary ===&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
&lt;br /&gt;
=== Pratikshya Regmi | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* Event photographs and videos&lt;br /&gt;
* Opened a pull request to change GRASS GIS to GRASS on the documentation (this was my first contribution to GRASS)&lt;br /&gt;
* Worked on preparing the mock document for LLM RAG&lt;br /&gt;
* Write a tutorial to  Visualize Contour Lines with a Color Gradient with Folium.&lt;br /&gt;
&lt;br /&gt;
=== Riya | Indian Institute of Technology, Roorkee ===&lt;br /&gt;
&lt;br /&gt;
* I am currently thinking of developing an AI Agent for the grass jupyter library which will help the users with mathematical calculations done in GIS.&lt;br /&gt;
&lt;br /&gt;
=== Jayneel Shah | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* improve the test coverage of imagery modules.&lt;br /&gt;
&lt;br /&gt;
=== Krishna Prasad Sheshadri ===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Adam Smith | Missouri Botanical Garden ===&lt;br /&gt;
&lt;br /&gt;
Overall: R package fasterRaster (fielding bug reports, adding features)&lt;br /&gt;
&lt;br /&gt;
Monday:&lt;br /&gt;
* Assessed scope of fasterRaster issue [https://github.com/adamlilith/fasterRaster/issues/83 83]&lt;br /&gt;
&lt;br /&gt;
Tuesday:&lt;br /&gt;
* Created a PR for fasterRaster tutorial on GRASS tutorials page.&lt;br /&gt;
* Improved handling of addons, including autodetect and installing when needed, enabling easier creation of addon-dependent methods.&lt;br /&gt;
* Presented *fasterRaster* package to group.&lt;br /&gt;
&lt;br /&gt;
Wednesday:&lt;br /&gt;
* Created fasterRaster methods for neighborhood matrices, terrain ruggedness index, and multivariate environmental similarity&lt;br /&gt;
&lt;br /&gt;
=== Michelle (Mimi) Stephens | ERDC ===&lt;br /&gt;
&lt;br /&gt;
* Previous work: coupling R and Python scripts for computational analysis in GRASS.&lt;br /&gt;
* Current work: Running through GRASS commands to create visual outputs that can be added to the new GRASS 8.5 manual pages. r.mapcalc, v.surf.rst, examples with topographic parameters. AND- Working on tutorial for Windows users to install a WSL2 Linux environment running Ubuntu 22.04LTS. Creates a conda environment with wxpython, then uses WSL2 to install GRASS from unstable repo without requiring OSGeo installer. Fast, minimal install. Preserves all the goofy windows python paths that get all tangled up with grass sometimes, and isolated distro can be completely removed if needed. Once set up it does not need special network routing through vpn. (For other uses that always wanted a more native feel to their grass instance!)&lt;br /&gt;
* Future work: Presenting on GRASS in JUNE at CERLCON.&lt;br /&gt;
&lt;br /&gt;
=== Corey White | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* JSON, mentoring&lt;br /&gt;
&lt;br /&gt;
=== Doug Newcomb | Semi Retired Cartographer ===&lt;br /&gt;
&lt;br /&gt;
* Discussed hydroflattening method&lt;br /&gt;
* Discussed direct point cloud input to v.surf.rst&lt;br /&gt;
* Learning git procedures by updating branding (GRASS GIS to GRASS)  for raster commands&lt;br /&gt;
Tuesday&lt;br /&gt;
* Continued updating branding for raster commands&lt;br /&gt;
* Started working on tutorial for r.hydro.flatten&lt;br /&gt;
&lt;br /&gt;
=== Natalie Trso | Balance Geo LLC ===&lt;br /&gt;
&lt;br /&gt;
* r.sim.water&lt;br /&gt;
&lt;br /&gt;
== Guests and remote participants ==&lt;br /&gt;
&lt;br /&gt;
=== Luís de Sousa | University of Lisbon ===&lt;br /&gt;
&lt;br /&gt;
* Review outstanding PRs&lt;br /&gt;
* Prepare GRASS sessions for the OpenGeoHub Summer School&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler | mundialis ===&lt;br /&gt;
&lt;br /&gt;
* Support full automation of new GRASS manual pages deployment on server (upload artifacts from GitHub to OSGeo servers (grass and download))&lt;br /&gt;
* Source code license documentation: Using SPDX License IDs ({{GH-Issues|4190}})&lt;br /&gt;
* Support Wiki cleanup&lt;br /&gt;
* [https://github.com/neteler?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub contributions]&lt;br /&gt;
&lt;br /&gt;
=== Nishant Bansal | Indian Institute of Technology, Varanasi ===&lt;br /&gt;
&lt;br /&gt;
* Review the previous work on JSON during last year’s GSoC, including enhancements and the addition of JSON output support to other modules.&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Developer_Summit_Raleigh_2025&amp;diff=28372</id>
		<title>Talk:GRASS Developer Summit Raleigh 2025</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Developer_Summit_Raleigh_2025&amp;diff=28372"/>
		<updated>2025-05-22T12:04:28Z</updated>

		<summary type="html">&lt;p&gt;Nila: /* Nicklas Larsson | Hungarian National Museum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
Quick links: [[GRASS Developer Summit Raleigh 2025|Meeting page]] | [[#Participant_reports|Reports]]  |  [[GRASS_Developer_Summit_Raleigh_2025#Sponsors|Sponsors]]&lt;br /&gt;
&lt;br /&gt;
== Organizing Team ==&lt;br /&gt;
&lt;br /&gt;
* Initial planning: Vaclav Petras, Anna Petrasova, Veronica Andreo, Corey White, Lois Utt, Sarah White, Doug Newcomb, Huidae Cho, Veronica Andreo ([[GRASS_Developer_Summit_Raleigh_2025#Organizing_Committee|Organizing Committee]])&lt;br /&gt;
* Budget: Vaclav Petras, Lois Utt, Anna Petrasova&lt;br /&gt;
* Raising support: Helena Mitasova, Vaclav Petras, Anna Petrasova, Michael Barton, Giuseppe Amatulli ([[NSF POSE Project 2023-2025 Timeline|NSF POSE project]] proposal authors)&lt;br /&gt;
* Travel: Lois Utt&lt;br /&gt;
* Venue: Vaclav Petras, Lois Utt&lt;br /&gt;
* Meals: Lois Utt, Sarah White, Vaclav Petras, Corey White, Anna Petrasova&lt;br /&gt;
* Agenda: Vaclav Petras, Huidae Cho, Anna Petrasova&lt;br /&gt;
* Wiki page: Vaclav Petras, Anna Petrasova&lt;br /&gt;
* Swag: Sarah White, Vaclav Petras, Anna Petrasova, Corey White&lt;br /&gt;
* Promotion, invitations, and social media: Vaclav Petras, Sarah White, Corey White, John Vogler&lt;br /&gt;
* Lightning talks organization: Vaclav Petras, Zachary Arcaro, John Vogler&lt;br /&gt;
* Lightning talk speakers: Vaclav Petras (welcome), Markus Metz and Markus Neteler (talk presented by Vaclav Petras), Anna Petrasova, Veronica Andreo, Robert Dzur, Nick Brady, Huidae Cho, Gregory Power, Doug Newcomb, Caitlin Haedrich&lt;br /&gt;
* Photography: Caitlin Haedrich, Māris Nartišs, Pratikshya Regmi&lt;br /&gt;
&lt;br /&gt;
== Detailed Schedule ==&lt;br /&gt;
&lt;br /&gt;
=== Day 1, Monday, May 19 ===&lt;br /&gt;
&lt;br /&gt;
Location: Talley Student Union, 2610 Cates Ave ([https://www.google.com/maps/place/Talley+Student+Union/data=!4m2!3m1!1s0x0:0x38989377c96adef0?sa=X&amp;amp;ved=1t:2428&amp;amp;ictx=111 map])&lt;br /&gt;
&lt;br /&gt;
Room: 5101-Executive Board Room&lt;br /&gt;
&lt;br /&gt;
Highlighted topic: ''Contributing to GRASS. Getting started. Is it easy to contribute?''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:30-9:00 || Breakfast || Catered breakfast on site. Meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || What to expect from the event, contributing to GRASS using Git and GitHub, making your first contribution.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || i.hyper: Integrating Hyperspectral Imagery Processing into GRASS - Alen Mangafić&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || &lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Project Image - Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || Catered food on site.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || We will walk to [https://www.trophybrewing.com/brewing-pizza Trophy Brewing &amp;amp; Pizza] ([https://maps.app.goo.gl/ggnZ7EvXbWqDUmvP9 directions], 30 min walk from Talley)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 2, Tuesday, May 20 ===&lt;br /&gt;
&lt;br /&gt;
Location: Talley Student Union, 2610 Cates Ave ([https://www.google.com/maps/place/Talley+Student+Union/data=!4m2!3m1!1s0x0:0x38989377c96adef0?sa=X&amp;amp;ved=1t:2428&amp;amp;ictx=111 map])&lt;br /&gt;
&lt;br /&gt;
Room: 5101-Executive Board Room&lt;br /&gt;
&lt;br /&gt;
Highlighted topics: ''Hydrology and Interfacing with R and QGIS (gathering user feedback, testing, discussing with developers, developing action items)''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:30-9:00 || Breakfast || Breakfast on site. Start the day, meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || Introduction to writing GRASS tools, program for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || fasterRaster R package - Adam Smith&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || Hydography90m + Geocomputation Courses - Giuseppe&lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Flood modelling with grass and itzi ([https://itzi.org]) - Laurent Courty&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || [https://maps.app.goo.gl/womSkce9DrE8CTnR8 Case dining hall]&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || [https://maps.app.goo.gl/CQiWoCAQNt1ymZkb7 Served in Jordan Hall at the Center for Geospatial Analytics], evaluate the day's accomplishments, plan and prioritize for the next few days.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 3, Wednesday, May 21 ===&lt;br /&gt;
&lt;br /&gt;
Location: Talley Student Union, 2610 Cates Ave ([https://www.google.com/maps/place/Talley+Student+Union/data=!4m2!3m1!1s0x0:0x38989377c96adef0?sa=X&amp;amp;ved=1t:2428&amp;amp;ictx=111 map])&lt;br /&gt;
&lt;br /&gt;
Room: 5101-Executive Board Room&lt;br /&gt;
&lt;br /&gt;
Highlighted topic: ''Non-coding contributions, natural language translation, and internationalization.''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 7:00-9:00 || Breakfast || [https://maps.app.goo.gl/eZ8VK8Mx6TjMt9NP8 Case dining hall]&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || Introduction to non-coding contributions, tutorials, contributing examples, natural language translation and internationalization (procedures, glossaries, code customization, translation).&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || Easier access to GRASS tools - Vaclav Petras&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || &lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || GRASS backend for xarray and temporal framework global variables ([https://github.com/OSGeo/grass/issues/629]) - Laurent Courty&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || Served on site. Eat, drink, and continue the discussion from the feedback sessions.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || [https://maps.app.goo.gl/1E39eySMVaxYJUUS8 Picnic at Pullen Park, shelter #3. In case of bad weather, dinner at the Center for Geospatial Analytics.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 4, Thursday, May 22 ===&lt;br /&gt;
&lt;br /&gt;
Location: Center for Geospatial Analytics, Jordan Hall, 2800 Faucette Drive ([https://www.google.com/maps/search/Jordan+Hall/@35.7816832,-78.6772765,18z/data=!3m1!4b1?entry=ttu&amp;amp;g_ep=EgoyMDI1MDQyMC4wIKXMDSoJLDEwMjExNDUzSAFQAw%3D%3D map])&lt;br /&gt;
&lt;br /&gt;
Room: 5103 (straight from the two elevators, at the end of the hallway)&lt;br /&gt;
&lt;br /&gt;
Highlighted topic: ''Project vision and computational engine use case.''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:00-9:00 || Breakfast || On site. Start the day, meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || Project vision and the computational engine use case (missing features, documentation, user groups).&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || Your topic here (10-minute presentation and 10-minute discussion)&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || YAIT - Yet Another Interface to Tools - Vaclav Petras &lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Modernizing Color Tables (Brendan)&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || On site. Eat, drink, and continue the discussion from the feedback sessions.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-16:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 16:00-17:00 || Lightning talks || Fast-paced talks, showcasing applications of GRASS, room 5111.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Reception || Connect with researchers, government professionals, and industry collaborators, rooms 5111 and 5119.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 5, Friday, May 23 ===&lt;br /&gt;
&lt;br /&gt;
Location: James B. Hunt Jr. Library, 1070 Partners Way - Centennial Campus ([https://www.google.com/maps/place/James+B.+Hunt+Jr.+Library/@35.7693736,-78.679167,17z/data=!3m1!5s0x89acf5759f5a31df:0xc547454a0151c440!4m10!1m2!2m1!1shunt+library!3m6!1s0x89acf5759f591f41:0xbe0266269ce37f59!8m2!3d35.7693215!4d-78.6764409!15sCgxodW50IGxpYnJhcnlaDiIMaHVudCBsaWJyYXJ5kgESdW5pdmVyc2l0eV9saWJyYXJ54AEA!16s%2Fm%2F0r4wjf_?entry=ttu&amp;amp;g_ep=EgoyMDI1MDQyMC4wIKXMDSoJLDEwMjExNDUzSAFQAw%3D%3D map])&lt;br /&gt;
&lt;br /&gt;
Room: Faculty Research Commons - 5100 ([https://www.lib.ncsu.edu/hunt/map floor plan])&lt;br /&gt;
&lt;br /&gt;
Highlighted topic: ''GRASS project's future course.''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:00-9:00 || Breakfast || On site. Start the day, meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || GRASS project's future course.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || PSC meeting || Project Steering Committee meets (public).&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || Walk to [https://maps.app.goo.gl/kHVHY62QxTd6wHKd9 On the Oval Culinary Creatins]. Eat, drink, and continue the discussion from the feedback sessions.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || Dinner on your own. Corey White will organize trip to downtown. Bus 41 from Hunt library to hotel and then walk.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Day 6, Saturday, May 24 ===&lt;br /&gt;
&lt;br /&gt;
Location: James B. Hunt Jr. Library, 1070 Partners Way - Centennial Campus ([https://www.google.com/maps/place/James+B.+Hunt+Jr.+Library/@35.7693736,-78.679167,17z/data=!3m1!5s0x89acf5759f5a31df:0xc547454a0151c440!4m10!1m2!2m1!1shunt+library!3m6!1s0x89acf5759f591f41:0xbe0266269ce37f59!8m2!3d35.7693215!4d-78.6764409!15sCgxodW50IGxpYnJhcnlaDiIMaHVudCBsaWJyYXJ5kgESdW5pdmVyc2l0eV9saWJyYXJ54AEA!16s%2Fm%2F0r4wjf_?entry=ttu&amp;amp;g_ep=EgoyMDI1MDQyMC4wIKXMDSoJLDEwMjExNDUzSAFQAw%3D%3D map])&lt;br /&gt;
&lt;br /&gt;
Room: Faculty Research Commons - 5100 ([https://www.lib.ncsu.edu/hunt/map floor plan])&lt;br /&gt;
&lt;br /&gt;
Highlighted topics: ''NSF POSE project evaluation.''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Time !! Slot !! &lt;br /&gt;
|-&lt;br /&gt;
| 8:00-9:00 || Breakfast || TBA. Start the day, meet people, and plan your personal agenda for the day.&lt;br /&gt;
|-&lt;br /&gt;
| 9:00-10:00 || Morning opening sessions || NSF POSE project evaluation, contributor community feedback.&lt;br /&gt;
|-&lt;br /&gt;
| 10:00-11:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 11:00-11:20 || Self-organized feedback session || Your topic here (10-minute presentation and 10-minute discussion)&lt;br /&gt;
|-&lt;br /&gt;
| 11:20-11:40 || Self-organized feedback sessions || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 11:40-12:00 || Self-organized feedback sessions || Your topic here&lt;br /&gt;
|-&lt;br /&gt;
| 12:00-13:00 || Lunch || TBA. Eat, drink, and continue the discussion from the feedback sessions.&lt;br /&gt;
|-&lt;br /&gt;
| 13:00-17:00 || Focus time || Time to work on your laptop, whiteboard solutions with a group, or anything in between.&lt;br /&gt;
|-&lt;br /&gt;
| 18:00 || Dinner || TBA. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Daily tasks for participants ==&lt;br /&gt;
&lt;br /&gt;
* List all the things you are working on in the Participant reports section below. Update the list each day. Include things you work on with other people.&lt;br /&gt;
* If you want to discuss something with the whole group, add yourself to a Self-organized feedback sessions slot in the schedule above or tell Vaclav (Vashek) Petras.&lt;br /&gt;
* For people with triage access and above: If you are or will be working on an issue or on a PR which is not originally submitted by you, assign yourself to the issue or PR. (You can unassign yourself later if you change your mind.)&lt;br /&gt;
&lt;br /&gt;
== Participant reports ==&lt;br /&gt;
&lt;br /&gt;
Per-person reports from the meeting.&lt;br /&gt;
&lt;br /&gt;
=== Giuseppe Amatulli | Yale University ===&lt;br /&gt;
&lt;br /&gt;
* Testing r.watershed and r.stream.* for handling large datasets&lt;br /&gt;
* Running r.flowaccumulation at global level using water direction from hydrography90m &lt;br /&gt;
* Preparing the grass tutorial material for the https://www.geomorphometry2025.org/ conference&lt;br /&gt;
&lt;br /&gt;
=== Veronica Andreo | CONICET - Instituto Gulich ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/veroandreo?tab=overview&amp;amp;from=2025-05-12&amp;amp;to=2025-05-24 GitHub contributions]&lt;br /&gt;
* Website footer enhancement&lt;br /&gt;
* Sync icons on the Tutorials website footer to those on the main website&lt;br /&gt;
* Fix descriptions and their display in the tutorials website&lt;br /&gt;
* Fix GRASS page on OSGeo website [https://www.osgeo.org/projects/grass-gis/] &lt;br /&gt;
** Changed logo, removed GIS from the name, fixed old links&lt;br /&gt;
* Social media posts&lt;br /&gt;
* Discussion about hyperspectral with Alen and Anna&lt;br /&gt;
* Expand the GRASS acronym on the home page&lt;br /&gt;
* Remove GIS from GRASS name on the website&lt;br /&gt;
* Review tutorials by Huidae and Adam Smith&lt;br /&gt;
* GRASS PSC admin&lt;br /&gt;
&lt;br /&gt;
=== Abdullah Azzam | New Mexico State University ===&lt;br /&gt;
&lt;br /&gt;
* r.runoff&lt;br /&gt;
&lt;br /&gt;
=== Michael Barton | Arizona State University ===&lt;br /&gt;
&lt;br /&gt;
* POSE related activities&lt;br /&gt;
&lt;br /&gt;
=== Laura Belica | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* have been working on developing a workflow-tool tutorial template that facilitates GRASS learners who tend to 'jump in' or have a 'choose your own adventure' approach to learning GRASS (i.e., want to use their data for their study area for their objective from the start).  The structure of the tutorial template is a concise, basic, general description/instructions of the workflow with optional links to pertinent explanatory/deeper dive content  (e.g.,  plain language explainers of the tool, options, defaults, etc.) in a variety of formats (e.g., captioned images, short tool demo videos (30 sec to 2 min)) in addition to the more comprehensive resources available (e.g. documentation, examples, tutorials).  The main motivation for this approach is to help new and occasional GRASS users avoid some of the common pitfalls and to learn how to find workarounds for some of the unanticipated challenges they may encounter with their specific datasets or use cases so that they can learn as they go.  Another motivation for this approach is to facilitate the translation, extension, and updating of workflow tutorials by the community over time (e.g., providing audio and closed captioning for one of the tool-demo videos in another language, replacing an outdated GUI demo with one for the current release, or incorporating a new add-on as an option in the workflow).&lt;br /&gt;
&lt;br /&gt;
* my focus this week is on developing a draft/test tutorial (in Quarto) for a standard hydrological modelling workflow that begins with the crucial pre-work of how to figure out the appropriate project/location, etc. as well as considerations of some of the downstream impacts of resolution, extent, region etc. It may not be ready for sharing by the end of the week, but suggestions and advice are welcomed in advance.&lt;br /&gt;
&lt;br /&gt;
19 May&lt;br /&gt;
* discussed a novice user issue with 'moving' vector data from one location to another with Vero and learned a neat GUI option &lt;br /&gt;
* revised and added workflow tutorial text&lt;br /&gt;
&lt;br /&gt;
=== Shonil Sateesh Bhide | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* CI optimization&lt;br /&gt;
&lt;br /&gt;
=== Huidae Cho | New Mexico State University ===&lt;br /&gt;
&lt;br /&gt;
* CMake, conda, CI, Mentoring&lt;br /&gt;
&lt;br /&gt;
=== Edouard Choinière ===&lt;br /&gt;
&lt;br /&gt;
* Quick ideas, way too much for a week: Helping others (may take a reasonable part of the time), managing CI, setting up localization template updating workflow, backporting tool? Pytest/coverage improvements? Discuss and design other projects, to work on during the year. Open to change on other priorities once there, anything that is useful. Maybe make a little progress on high dpi GUI, especially on Windows.&lt;br /&gt;
&lt;br /&gt;
* Weekend before sprint:&lt;br /&gt;
** Clear up Renovate PRs to not use CI time during the sprint, reviewing and merging: [https://github.com/OSGeo/grass/pull/5664 #5664], [https://github.com/OSGeo/grass/pull/5665 #5665], [https://github.com/OSGeo/grass/pull/5666 #5666], [https://github.com/OSGeo/grass/pull/5667 #5667], [https://github.com/OSGeo/grass/pull/5668 #5668]&lt;br /&gt;
** PR to avoid some CI run time for the sprint: [https://github.com/OSGeo/grass/pull/5670 #5670]&lt;br /&gt;
** Reviewed open PRs for PRs that were mergeable before the sprint, updated outdated PRs to avoid having it needing CI time during sprint. Only ended up merging [https://github.com/OSGeo/grass/pull/5658 #5658], but another reviewed one that might still need changes: [https://github.com/OSGeo/grass/pull/5628 #5628]&lt;br /&gt;
* Monday May 19, 2025:&lt;br /&gt;
** PR got merged: [https://github.com/OSGeo/grass/pull/5670 #5670],[https://github.com/OSGeo/grass/pull/5550 #5550]&lt;br /&gt;
** Reviewed PRs: [https://github.com/OSGeo/grass/pull/5671 #5671], [https://github.com/OSGeo/grass/pull/5672 #5672]&lt;br /&gt;
** Discussions:&lt;br /&gt;
*** Shonil Sateesh Bhid &amp;amp; Shuham on their CI &amp;amp; pytest work and project.&lt;br /&gt;
*** Māris Nartišs about a potential issue and improvement for it. Will be discussed in the security reporting tab, also allowing to test the security vulnerability reporting process. + Research on existing solutions&lt;br /&gt;
** Reviewed: [https://github.com/OSGeo/grass/pull/5682 #5682], [https://github.com/OSGeo/grass/pull/5660 #5660],&lt;br /&gt;
** Reviewed, edited and merged: [https://github.com/OSGeo/grass/pull/3672 #3672]&lt;br /&gt;
** Discussed/helped user for: [https://github.com/OSGeo/grass/pull/5678 #5678] and [https://github.com/OSGeo/grass/pull/5684 #5684]&lt;br /&gt;
** Long discussion and vision planning for windows scripting with Vaclav, concerning [https://github.com/OSGeo/grass/pull/5624 #5624]. Tested alternatives and tried the consequences of that PR. This older PR finally got merged.&lt;br /&gt;
** Created PRs for NSIS installer: [https://github.com/OSGeo/grass/pull/5685 #5685] and also [https://github.com/OSGeo/grass/pull/5686 #5686], which should address [https://github.com/OSGeo/grass/issues/5663 #5663]. Still needs to test it.&lt;br /&gt;
** Agreed on convention for titles with Vaclav, unblocking [https://github.com/OSGeo/grass/pull/5341 #5341]&lt;br /&gt;
** Found a name with Ondrej and finally merged older PRs of an external contributor [https://github.com/OSGeo/grass/pull/5473 #5473] and [https://github.com/OSGeo/grass/pull/5474 #5474]&lt;br /&gt;
* Thursday May 20, 2025:&lt;br /&gt;
** Reviewed: [https://github.com/OSGeo/grass/pull/5695 #5695]&lt;br /&gt;
** Merged PRs: [https://github.com/OSGeo/grass/pull/5673 #5673], [https://github.com/OSGeo/grass/pull/5691 #5691], [https://github.com/OSGeo/grass/pull/5690 #5690], [https://github.com/OSGeo/grass/pull/5684 #5684],&lt;br /&gt;
** Discussed with author of [https://github.com/OSGeo/grass/pull/5660 #5660] and [https://github.com/OSGeo/grass/issues/5659 #5659] about rgb/hsl bug and tests for help.&lt;br /&gt;
** Worked with Corey to adjust markdown links for new markdownlint rule, finishing up [https://github.com/OSGeo/grass/pull/5669 #5669]&lt;br /&gt;
** Created PRs: [https://github.com/OSGeo/grass/pull/5692 #5692], [https://github.com/OSGeo/grass/pull/5694 #5694], [https://github.com/OSGeo/grass/pull/5689 #5689]&lt;br /&gt;
* Wednesday May 21, 2025:&lt;br /&gt;
** Created a new set of GitHub rulesets for the required checks, applied with Vaclav. One of them is separated in order to increase velocity during the sprint&lt;br /&gt;
** Reviewed the branch protection rules for grass-addons repo with Vaclav. Creating rulesets will be possible after the sprint with the info collected.&lt;br /&gt;
** Reviewed the security reporting settings and secret scanning settings with Vaclav for the main grass repo.&lt;br /&gt;
** Got shown by Huidae Cho how to update the translation files, and reviewed Weblate settings. No settings changed, but a backup stored for 30 days was kept.&lt;br /&gt;
** Created a first implementation of a translation file update workflow&lt;br /&gt;
** Tested out the two NSIS installer PRs, the first one, for installing the VC runtime earlier doesn't work as expected, and after more research I don't know enough to fix it. The second PR with High-DPI improvement was correct and got merged [https://github.com/OSGeo/grass/pull/5685 #5685]&lt;br /&gt;
** Helped a student set up a grass installation on WSL with conda.&lt;br /&gt;
** PRs created: [https://github.com/OSGeo/grass/pull/5736 #5736], [https://github.com/OSGeo/grass/pull/5734 #5734]&lt;br /&gt;
** My PRs that got merged: [https://github.com/OSGeo/grass/pull/5685 #5685], [https://github.com/OSGeo/grass/pull/5341 #5341], [https://github.com/OSGeo/grass/pull/5689 #5689]&lt;br /&gt;
** Reviewed and merged multiple PRs, restarting failed required checks of the previous night.&lt;br /&gt;
&lt;br /&gt;
=== Laurent Courty ===&lt;br /&gt;
&lt;br /&gt;
* Objectives: An xarray backend for GRASS STRDS. Fixing related issues&lt;br /&gt;
* May 20&lt;br /&gt;
** Presented itzi&lt;br /&gt;
** Uploaded arm64 wheels to PyPI for MacOS and Linux ([https://pypi.org/project/itzi/#files])&lt;br /&gt;
** Discussed with other developers about issue #629&lt;br /&gt;
* May 21&lt;br /&gt;
** Uploaded xarray-grass to PyPI&lt;br /&gt;
** Added CI tests to xarray-grass&lt;br /&gt;
** Discussed with the group about the xarray-grass backend&lt;br /&gt;
** Discussed with the group about solving mapset switching in the temporal framework (issue #629)&lt;br /&gt;
** Created PR #5735 to address issue #629&lt;br /&gt;
&lt;br /&gt;
=== Robert S. Dzur | Bohannan Huston, Inc. ===&lt;br /&gt;
&lt;br /&gt;
* r.in.pdal&lt;br /&gt;
&lt;br /&gt;
=== David W. Farris | East Carolina University ===&lt;br /&gt;
&lt;br /&gt;
* A tool to calculate gravity terrain corrections&lt;br /&gt;
&lt;br /&gt;
=== Neel Ghoshal | NC State University ===&lt;br /&gt;
• LLM for helping users find tools&amp;lt;br&amp;gt;&lt;br /&gt;
5/19&amp;lt;br&amp;gt;&lt;br /&gt;
• Learnt how to PR (#5674)&amp;lt;br&amp;gt;&lt;br /&gt;
• Setup GRASS on system&amp;lt;br&amp;gt;&lt;br /&gt;
• Found small issue with compilation document&amp;lt;br&amp;gt;&lt;br /&gt;
• Discussed about the possible use case of LLM for helping users find tools&amp;lt;br&amp;gt;&lt;br /&gt;
5/20&amp;lt;br&amp;gt;&lt;br /&gt;
• Learnt about cookie cutter&amp;lt;br&amp;gt;&lt;br /&gt;
• Set up wsl on system&amp;lt;br&amp;gt;&lt;br /&gt;
• Compiled GRASS&amp;lt;br&amp;gt;&lt;br /&gt;
• Listed data sources for LLM training&amp;lt;br&amp;gt;&lt;br /&gt;
5/21&amp;lt;br&amp;gt;&lt;br /&gt;
• Extracted tool information from Markdown files&amp;lt;br&amp;gt;&lt;br /&gt;
• Started off with data cleaning&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Caitlin Haedrich | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* Event photographs&lt;br /&gt;
* git/github mentoring&lt;br /&gt;
* Lightning Talk preparation&lt;br /&gt;
* Preparing workshop for [https://www.geomorphometry2025.org/ Geomorphometry2025]&lt;br /&gt;
&lt;br /&gt;
=== Brendan Harmon | Louisiana State University ===&lt;br /&gt;
&lt;br /&gt;
* Developing ([https://github.com/baharmon/r.earthworks r.earthworks]) addon &amp;amp; tutorials&lt;br /&gt;
* [https://github.com/baharmon?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
&lt;br /&gt;
=== Linda Karlovska | Czech Technical University in Prague ===&lt;br /&gt;
&lt;br /&gt;
* Fix uninitialized variables in DOutFile() method: ([https://github.com/OSGeo/grass/pull/5650 PR])&lt;br /&gt;
* Update figures related to GUI: ([https://github.com/OSGeo/grass/pull/5651  PR])&lt;br /&gt;
&lt;br /&gt;
Working on integration of the Jupyter notebooks to GUI (work for the whole week :-))&lt;br /&gt;
&lt;br /&gt;
=== Martin Landa | Czech Technical University in Prague ===&lt;br /&gt;
&lt;br /&gt;
* Tutorial: GISMentors courses updated ([https://github.com/OSGeo/grass-tutorials/pull/45 PR])&lt;br /&gt;
* libgis: G__usage_markdown() include tool label in metadata if defined ([https://github.com/OSGeo/grass/pull/5677 PR])&lt;br /&gt;
* PyGRASS: Module description property not defined always ([https://github.com/OSGeo/grass/pull/5681 PR])&lt;br /&gt;
* Website: OpenGeoLabs commercial support ([https://github.com/OSGeo/grass-website/pull/537 PR])&lt;br /&gt;
* v.select: create output also when no features found ([https://github.com/OSGeo/grass/pull/5696 PR])&lt;br /&gt;
* wxGUI: avoid creating nested list of errors (Graphical modeler) ([https://github.com/OSGeo/grass/pull/5700 PR])&lt;br /&gt;
* wxGUI/gmodeler: refactor - move ModelParamDialog to dialogs.py ([https://github.com/OSGeo/grass/pull/5715 PR])&lt;br /&gt;
* GUI: make Python editor dockable ([https://github.com/OSGeo/grass/pull/5733 PR])&lt;br /&gt;
&lt;br /&gt;
=== Nicklas Larsson | Hungarian National Museum ===&lt;br /&gt;
&lt;br /&gt;
Planned work: CMake build system; perhaps Conda recipe&lt;br /&gt;
&lt;br /&gt;
[https://github.com/nilason?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
&lt;br /&gt;
* Preparation for CMake build conforming to Filesystem Hierarchy Standard (FHS), resolving resource paths for both the current and FHS in code. In collaboration with Huidae Cho and with important input from Vaclav Petras ([https://github.com/OSGeo/grass/pull/5630] PR#5630)&lt;br /&gt;
&lt;br /&gt;
* Helped young students in build configuration and debugging techniques.&lt;br /&gt;
&lt;br /&gt;
* Discussion with several participants on solutions to publish a GRASS package to Conda-forge.&lt;br /&gt;
&lt;br /&gt;
=== Chung-Yuan Liang ===&lt;br /&gt;
&lt;br /&gt;
* parallelize some modules, improve testing&lt;br /&gt;
&lt;br /&gt;
=== Andres Lucero | Bohannan Huston Inc ===&lt;br /&gt;
&lt;br /&gt;
* r.in.pdal&lt;br /&gt;
&lt;br /&gt;
=== Alen Mangafić | Geodetic Institute of Slovenia ===&lt;br /&gt;
Monday May 19 &lt;br /&gt;
* Presentationf of i.hyper, add-on which offers hyperspectral data support in GRASS.&lt;br /&gt;
* Architecture of the multi-module addon&lt;br /&gt;
Tuesday May 20&lt;br /&gt;
* i.hyper.import module: importing EnMAP imagery as 3D raster map&lt;br /&gt;
* i.hyper.preproc module: draft&lt;br /&gt;
Wednesday May 21&lt;br /&gt;
* fixing the i.hyper.import module&lt;br /&gt;
* i.hyper.preproc module: implementing Savitzky-Golay filter&lt;br /&gt;
&lt;br /&gt;
=== Helena Mitasova | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* standardized data set and related tutorials&lt;br /&gt;
* documentation for interpolation tools&lt;br /&gt;
* collaborate/coordinate/discuss hydrology tools (analytics, simulations, soil properties inputs)&lt;br /&gt;
* assist with wiki cleanup if needed&lt;br /&gt;
&lt;br /&gt;
Monday May 19&lt;br /&gt;
* investigated issues with v.surf.rst documentation in source code, tested and identified fixes needed&lt;br /&gt;
* discussed coupling GRASS with Blender versus potree for 3D object rendering with Brendan, Anna and Caitlin (for TL activities and other applications)&lt;br /&gt;
* discussed soil data for runoff estimation and other hydro topics, to be worked on on day 2&lt;br /&gt;
&lt;br /&gt;
Tuesday May 20&lt;br /&gt;
* worked with Corey on fixing v.surf.rst documentation, discussed ideas for improvements and for documentation / tutorial for cross-valiadation&lt;br /&gt;
* discussed suggestions for graphics and examples to be inculded in v.surf.rst docs with Michelle &lt;br /&gt;
* discussed new developments in hydrology tools&lt;br /&gt;
* experimented with basic/standardized versus specialized data sets for documentation and tutorials&lt;br /&gt;
&lt;br /&gt;
=== Michael Mulqueen | MassGIS ===&lt;br /&gt;
&lt;br /&gt;
* depth to water, hydro from lidar, etc&lt;br /&gt;
&lt;br /&gt;
=== Māris Nartišs ===&lt;br /&gt;
&lt;br /&gt;
* Worked on a new raster data analysis tool r.smooth for inclusion into GRASS core&lt;br /&gt;
* Discussed architecture of hyperspectral data import and per-processing tool&lt;br /&gt;
* Discussed testing and organizing AI modules downloading data from internet&lt;br /&gt;
* Prepared and gave a presentation on code preparation for translations (best practice)&lt;br /&gt;
&lt;br /&gt;
=== Ondřej Pešek | Czech Technical University in Prague ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/pesekon2?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
* Refactoring, fixing, improving, discussing g.gui.gmodeler&lt;br /&gt;
* Discussing hyperspectral with Alen Mangafic&lt;br /&gt;
* Discussing jupyter in single GUI with Linda Karlovska&lt;br /&gt;
* PyGRASS&lt;br /&gt;
* Docs&lt;br /&gt;
* CQ&lt;br /&gt;
* Reviewing PRs, PR archeology&lt;br /&gt;
&lt;br /&gt;
=== Vaclav (Vashek) Petras | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/wenzeslaus?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
* My focus: Getting feedback and ideas for computational engine use case, APIs, funding.&lt;br /&gt;
* Summit organizing&lt;br /&gt;
* Implementing rebranding on GitHub (repos, teams)&lt;br /&gt;
* Feedback session on project image&lt;br /&gt;
* Feedback session on easier access to tools&lt;br /&gt;
* Discussed LLMs with Neel Ghoshal, Riya&lt;br /&gt;
* Discussed session setupp  Martin Landa&lt;br /&gt;
* Discussed conda with Nicklas Larsson&lt;br /&gt;
* Discussed hyperspectral with Alen Mangafić, Veronica Andreo, and Anna Petrasova&lt;br /&gt;
* Discussed code for new smoothing tool, integer overflows, translations with Māris Nartišs&lt;br /&gt;
* Compared setup of GRASS session and project in fasterRaster, QGIS, and GRASS itself with Adam Smith&lt;br /&gt;
* Discussed potential of Pixi for packaging or compilation with Gregory Power&lt;br /&gt;
* Discussed itzi model distribution issues with Laurent Courty&lt;br /&gt;
* Discussed r.horizon parallelization with Chung-Yuan Liang and Anna Petrasova&lt;br /&gt;
* Answered coding and setup questions for Neel Ghoshal, Abdullah Azzam, and Alen Mangafić&lt;br /&gt;
&lt;br /&gt;
=== Anna Petrasova | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/petrasovaa?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub activity]&lt;br /&gt;
* plan: mentoring, documentation&lt;br /&gt;
* Monday&lt;br /&gt;
** discussing hyperspectral implementation with Alen&lt;br /&gt;
** helping mentee David Farris implementing his gravity correction addon&lt;br /&gt;
* Tuesday&lt;br /&gt;
** delivered intro to creating an addon, documentation&lt;br /&gt;
** mentoring Alen, Abdullah&lt;br /&gt;
** discussing bug in i.his.rgb with Jayneel&lt;br /&gt;
** reviews&lt;br /&gt;
* Wednesday&lt;br /&gt;
** discuss and demonstrate tutorials page&lt;br /&gt;
** mentoring Alen, Jayneel&lt;br /&gt;
* call with GSoC student&lt;br /&gt;
&lt;br /&gt;
=== Gregory Power | Town of Cary ===&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
&lt;br /&gt;
=== Pratikshya Regmi | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* Event photographs and videos&lt;br /&gt;
* Opened a pull request to change GRASS GIS to GRASS on the documentation (this was my first contribution to GRASS)&lt;br /&gt;
* Worked on preparing the mock document for LLM RAG&lt;br /&gt;
* Write a tutorial to  Visualize Contour Lines with a Color Gradient with Folium.&lt;br /&gt;
&lt;br /&gt;
=== Riya | Indian Institute of Technology, Roorkee ===&lt;br /&gt;
&lt;br /&gt;
* I am currently thinking of developing an AI Agent for the grass jupyter library which will help the users with mathematical calculations done in GIS.&lt;br /&gt;
&lt;br /&gt;
=== Jayneel Shah | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* improve the test coverage of imagery modules.&lt;br /&gt;
&lt;br /&gt;
=== Krishna Prasad Sheshadri ===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=== Adam Smith | Missouri Botanical Garden ===&lt;br /&gt;
&lt;br /&gt;
Overall: R package fasterRaster (fielding bug reports, adding features)&lt;br /&gt;
&lt;br /&gt;
Monday:&lt;br /&gt;
* Assessed scope of fasterRaster issue [https://github.com/adamlilith/fasterRaster/issues/83 83]&lt;br /&gt;
&lt;br /&gt;
Tuesday:&lt;br /&gt;
* Created a PR for fasterRaster tutorial on GRASS tutorials page.&lt;br /&gt;
* Improved handling of addons, including autodetect and installing when needed, enabling easier creation of addon-dependent methods.&lt;br /&gt;
* Presented *fasterRaster* package to group.&lt;br /&gt;
&lt;br /&gt;
Wednesday:&lt;br /&gt;
* Created fasterRaster methods for neighborhood matrices, terrain ruggedness index, and multivariate environmental similarity&lt;br /&gt;
&lt;br /&gt;
=== Michelle (Mimi) Stephens | ERDC ===&lt;br /&gt;
&lt;br /&gt;
* Previous work: coupling R and Python scripts for computational analysis in GRASS.&lt;br /&gt;
* Current work: Running through GRASS commands to create visual outputs that can be added to the new GRASS 8.5 manual pages. r.mapcalc, v.surf.rst, examples with topographic parameters. AND- Working on tutorial for Windows users to install a WSL2 Linux environment running Ubuntu 22.04LTS. Creates a conda environment with wxpython, then uses WSL2 to install GRASS from unstable repo without requiring OSGeo installer. Fast, minimal install. Preserves all the goofy windows python paths that get all tangled up with grass sometimes, and isolated distro can be completely removed if needed. Once set up it does not need special network routing through vpn. (For other uses that always wanted a more native feel to their grass instance!)&lt;br /&gt;
* Future work: Presenting on GRASS in JUNE at CERLCON.&lt;br /&gt;
&lt;br /&gt;
=== Corey White | NC State University ===&lt;br /&gt;
&lt;br /&gt;
* JSON, mentoring&lt;br /&gt;
&lt;br /&gt;
=== Doug Newcomb | Semi Retired Cartographer ===&lt;br /&gt;
&lt;br /&gt;
* Discussed hydroflattening method&lt;br /&gt;
* Discussed direct point cloud input to v.surf.rst&lt;br /&gt;
* Learning git procedures by updating branding (GRASS GIS to GRASS)  for raster commands&lt;br /&gt;
Tuesday&lt;br /&gt;
* Continued updating branding for raster commands&lt;br /&gt;
* Started working on tutorial for r.hydro.flatten&lt;br /&gt;
&lt;br /&gt;
=== Natalie Trso | Balance Geo LLC ===&lt;br /&gt;
&lt;br /&gt;
* r.sim.water&lt;br /&gt;
&lt;br /&gt;
== Guests and remote participants ==&lt;br /&gt;
&lt;br /&gt;
=== Luís de Sousa | University of Lisbon ===&lt;br /&gt;
&lt;br /&gt;
* Review outstanding PRs&lt;br /&gt;
* Prepare GRASS sessions for the OpenGeoHub Summer School&lt;br /&gt;
&lt;br /&gt;
=== Markus Neteler | mundialis ===&lt;br /&gt;
&lt;br /&gt;
* Support full automation of new GRASS manual pages deployment on server (upload artifacts from GitHub to OSGeo servers (grass and download))&lt;br /&gt;
* Source code license documentation: Using SPDX License IDs ({{GH-Issues|4190}})&lt;br /&gt;
* Support Wiki cleanup&lt;br /&gt;
* [https://github.com/neteler?tab=overview&amp;amp;from=2025-05-19&amp;amp;to=2025-05-24 GitHub contributions]&lt;br /&gt;
&lt;br /&gt;
=== Nishant Bansal | Indian Institute of Technology, Varanasi ===&lt;br /&gt;
&lt;br /&gt;
* Review the previous work on JSON during last year’s GSoC, including enhancements and the addition of JSON output support to other modules.&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28147</id>
		<title>Compile and Install With CMake</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28147"/>
		<updated>2025-03-20T15:48:40Z</updated>

		<summary type="html">&lt;p&gt;Nila: run GRASS in build dir&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Disclaimer''': As of Spring 2025, the development of GRASS GIS using CMake is ongoing. Both the functionality of the CMake build system and the content of this documentation are subject to change.&lt;br /&gt;
&lt;br /&gt;
== Building With CMake ==&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended to perform the build process with CMake in a separate directory, as opposed to the traditional approach of running `./configure &amp;amp;&amp;amp; make` in the top-level directory of the source repository using Autotools. The designated build directory may be located anywhere.&lt;br /&gt;
&lt;br /&gt;
A simple configuration, which creates a build directory named &amp;quot;build&amp;quot; (with -B argument) with current directory as source directory (with -S), can look like this:&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S .&lt;br /&gt;
&lt;br /&gt;
Executing the building process is made with:&lt;br /&gt;
&lt;br /&gt;
      cmake --build build&lt;br /&gt;
&lt;br /&gt;
A custom configuration may look like:&lt;br /&gt;
&lt;br /&gt;
      export CFLAGS=&amp;quot;-DGL_SILENCE_DEPRECATION&amp;quot;&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S . -G Ninja \&lt;br /&gt;
            -DCMAKE_PREFIX_PATH=&amp;quot;/opt/local&amp;quot; \&lt;br /&gt;
            -DWITH_OPENMP=ON&lt;br /&gt;
      cmake --build build -v -j8&lt;br /&gt;
      &lt;br /&gt;
To clean up the configuration and build files (equivalent to `make distclean`):&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      rm -rf build&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
      cmake --install build&lt;br /&gt;
&lt;br /&gt;
It is possible to run GRASS for testing purposes in build directory:&lt;br /&gt;
&lt;br /&gt;
     ./build/output/bin/grass&lt;br /&gt;
&lt;br /&gt;
== Required Software for GRASS ==&lt;br /&gt;
&lt;br /&gt;
Required software to build GRASS:&lt;br /&gt;
&lt;br /&gt;
* [https://www.gnu.org/software/bison/ Bison]&lt;br /&gt;
* [https://cmake.org CMake] (version 3.22+)&lt;br /&gt;
* [https://github.com/westes/flex flex]&lt;br /&gt;
* [https://gdal.org/en/stable/ GDAL]&lt;br /&gt;
* [https://www.pcre.org PCRE] (required for MSVC only, on *NIX based platforms the Regex library is part of the system)&lt;br /&gt;
* [https://proj.org/ PROJ]&lt;br /&gt;
* [https://www.python.org Python] (version 3.9+)&lt;br /&gt;
* [https://zlib.net zlib]&lt;br /&gt;
&lt;br /&gt;
== Optional Software and Configuration Flags ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Optional Libraries and Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Software !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| bzip2 || WITH_BZLIB || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Cairo || WITH_CAIRO || ON&lt;br /&gt;
|-&lt;br /&gt;
| CBLAS || WITH_CBLAS || ON&lt;br /&gt;
|-&lt;br /&gt;
| FFTW || WITH_FFTW || ON&lt;br /&gt;
|-&lt;br /&gt;
| FreeType || WITH_FREETYPE || ON&lt;br /&gt;
|-&lt;br /&gt;
| GEOS || WITH_GEOS || ON&lt;br /&gt;
|-&lt;br /&gt;
| LAPACKE || WITH_LAPACKE || ON&lt;br /&gt;
|-&lt;br /&gt;
| libLAS || WITH_LIBLAS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| libpng || WITH_LIBPNG || ON&lt;br /&gt;
|-&lt;br /&gt;
| LibTIFF || WITH_TIFF || ON&lt;br /&gt;
|-&lt;br /&gt;
| MySQL || WITH_MYSQL || OFF&lt;br /&gt;
|-&lt;br /&gt;
| NetCDF || WITH_NETCDF || OFF&lt;br /&gt;
|-&lt;br /&gt;
| ODBC || WITH_ODBC || OFF&lt;br /&gt;
|-&lt;br /&gt;
| OpenGL || WITH_OPENGL || ON&lt;br /&gt;
|-&lt;br /&gt;
| OpenMP || WITH_OPENMP || OFF&lt;br /&gt;
|-&lt;br /&gt;
| PDAL || WITH_PDAL || ON&lt;br /&gt;
|-&lt;br /&gt;
| PostgreSQL || WITH_POSTGRES || ON&lt;br /&gt;
|-&lt;br /&gt;
| Readline || WITH_READLINE || ON&lt;br /&gt;
|-&lt;br /&gt;
| SQLite || WITH_SQLITE || ON&lt;br /&gt;
|-&lt;br /&gt;
| X11 || WITH_X11 || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Zstandard || WITH_ZSTD || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Other Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| Build documentation || WITH_DOCS || ON&lt;br /&gt;
|-&lt;br /&gt;
| Install according to Filesystem Hierarchy Standard (FHS) || WITH_FHS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Build GUI || WITH_GUI || ON&lt;br /&gt;
|-&lt;br /&gt;
| Large file support || WITH_LARGEFILES || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Build with National Language Support (NLS) || WITH_NLS || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Use Ccache || USE_CCACHE || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) the default setting varies by platform.&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
==== bzip2 (-DWITH_BZLIB) ====&lt;br /&gt;
&lt;br /&gt;
[https://sourceware.org/bzip2/ bzip2] is a freely available high-quality data compressor.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Cairo (-DWITH_CAIRO) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.cairographics.org Cairo] is a 2D graphics library with support for multiple output devices.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Cairo Display Driver and `g.cairocomp`.&lt;br /&gt;
&lt;br /&gt;
==== CBLAS (-DWITH_CBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/blas/ CBLAS] C interface to the BLAS (Basic Linear Algebra Subprograms) which are routines that provide standard building blocks for performing basic vector and matrix operations.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library).&lt;br /&gt;
&lt;br /&gt;
==== FFTW (-DWITH_FFTW) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.fftw.org FFTW] is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), `i.fft` and `i.ifft`.&lt;br /&gt;
&lt;br /&gt;
==== FreeType (-DWITH_FREETYPE) ====&lt;br /&gt;
&lt;br /&gt;
[https://freetype.org FreeType] is a freely available software library to render fonts.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Display Driver, GRASS Cairo Display Driver and `v.label.sa`.&lt;br /&gt;
&lt;br /&gt;
==== GEOS (-DWITH_GEOS) ====&lt;br /&gt;
&lt;br /&gt;
[https://libgeos.org GEOS] is a C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `v.buffer`, `v.profile` and `v.select`.&lt;br /&gt;
&lt;br /&gt;
==== LAPACKE (-DWITH_LAPACKE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/lapack/lapacke.html LAPACKE]is the C Interface to LAPACK, the Linear Algebra PACKage.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Vector Library, GRASS numerical math interface (GRASS Math Library) and GRASS Raster Library&lt;br /&gt;
&lt;br /&gt;
==== libLAS (-DWITH_LIBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://liblas.org libLAS] is a C/C++ library for reading and writing the very common LAS LiDAR format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.lidar`, `r3.in.lidar`, `v.in.lidar`, `v.lidar.correction`, `v.lidar.edgedetection`, `v.lidar.growing` and `v.out.lidar`.&lt;br /&gt;
&lt;br /&gt;
==== libpng (-DWITH_LIBPNG) ====&lt;br /&gt;
&lt;br /&gt;
[http://www.libpng.org/pub/png/ libpng] provides support for Portable Network Graphics (PNG) image file format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS PNG Display Driver Library, `r.in.png` and `r.out.png`.&lt;br /&gt;
&lt;br /&gt;
==== LibTIFF (-DWITH_TIFF) ====&lt;br /&gt;
&lt;br /&gt;
[https://libtiff.gitlab.io/libtiff/ LibTIFF] provides support for the Tag Image File Format (TIFF), a widely used format for storing image data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library.&lt;br /&gt;
&lt;br /&gt;
==== MySQL (-DWITH_MYSQL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.mysql.com MySQL] or [https://mariadb.org MariaDB] are two forks of a relational database.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase MySQL driver.&lt;br /&gt;
&lt;br /&gt;
==== NetCDF (-DWITH_NETCDF) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.unidata.ucar.edu/software/netcdf/ NetCDF] (Network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r3.out.netcdf`.&lt;br /&gt;
&lt;br /&gt;
==== ODBC (-DWITH_ODBC) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Open_Database_Connectivity Open Database Connectivity] (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS).&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase ODBC driver.&lt;br /&gt;
&lt;br /&gt;
==== OpenGL (-DWITH_OPENGL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.opengl.org OpenGL] (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. &lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library and GRASS Nviz Library.&lt;br /&gt;
&lt;br /&gt;
==== OpenMP (-DWITH_OPENMP) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/OpenMP OpenMP] is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), GRASS Partial differential equations Library (GPDE), GRASS Library for interpolation with regularized splines with tension (RST), `r.mfilter`,&lt;br /&gt;
`r.neighbors`, `r.proj`, `r.resamp.filter`, `r.resamp.interp`, `r.series`, `r.series.accumulate`, `r.slope.aspect`, `r.sun`, `r.sim`, `r.univar`, `r3.univar` and `v.surf.rst`.&lt;br /&gt;
&lt;br /&gt;
==== PDAL (-DWITH_PDAL) ====&lt;br /&gt;
&lt;br /&gt;
[https://pdal.io/ PDAL] is a C++ library for translating and manipulating point cloud data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.pdal` and `v.in.pdal`.&lt;br /&gt;
&lt;br /&gt;
==== PostgreSQL (-DWITH_POSTGRES) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.postgresql.org PostgreSQL] is a powerful, open source object-relational database system.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase PostgreSQL driver, GRASS General Library (GRASS GIS Library), `v.external` and `v.out.postgis`.&lt;br /&gt;
&lt;br /&gt;
==== Readline (-DWITH_READLINE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/readline/ Readline] library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.mapcalc` and `r3.mapcalc`.&lt;br /&gt;
&lt;br /&gt;
==== SQLite (-DWITH_SQLITE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.sqlite.org SQLite] is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase SQLite driver and `g.version`.&lt;br /&gt;
&lt;br /&gt;
==== X11 (-DWITH_X11) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.x.org/wiki/ X Window System] (X11) is a windowing system for bitmap displays, common on Unix-like operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Nviz Library, `g.cairocomp` and `ximgview`.&lt;br /&gt;
&lt;br /&gt;
==== Zstandard (-DWITH_ZSTD) ====&lt;br /&gt;
&lt;br /&gt;
[https://facebook.github.io/zstd/ Zstandard] is a fast compression algorithm, providing high compression ratios. It also offers a special mode for small data, called dictionary compression.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Build documentation (-DWITH_DOCS) ====&lt;br /&gt;
&lt;br /&gt;
==== Install according to Filesystem Hierarchy Standard (FHS) -(DWITH_FHS) ====&lt;br /&gt;
&lt;br /&gt;
==== Build GUI (-DWITH_GUI) ====&lt;br /&gt;
&lt;br /&gt;
==== Large file support (-DWITH_LARGEFILES) ====&lt;br /&gt;
&lt;br /&gt;
==== Build with National Language Support (-DWITH_NLS) ====&lt;br /&gt;
&lt;br /&gt;
Requires: [https://www.gnu.org/software/gettext/ Gettext]&lt;br /&gt;
&lt;br /&gt;
==== Use Ccache (-DUSE_CCACHE) ====&lt;br /&gt;
&lt;br /&gt;
[https://ccache.dev Ccache] is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.&lt;br /&gt;
&lt;br /&gt;
Requires: Ccache&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28146</id>
		<title>Compile and Install With CMake</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28146"/>
		<updated>2025-03-20T15:46:28Z</updated>

		<summary type="html">&lt;p&gt;Nila: add install command&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Disclaimer''': As of Spring 2025, the development of GRASS GIS using CMake is ongoing. Both the functionality of the CMake build system and the content of this documentation are subject to change.&lt;br /&gt;
&lt;br /&gt;
== Building With CMake ==&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended to perform the build process with CMake in a separate directory, as opposed to the traditional approach of running `./configure &amp;amp;&amp;amp; make` in the top-level directory of the source repository using Autotools. The designated build directory may be located anywhere.&lt;br /&gt;
&lt;br /&gt;
A simple configuration, which creates a build directory named &amp;quot;build&amp;quot; (with -B argument) with current directory as source directory (with -S), can look like this:&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S .&lt;br /&gt;
&lt;br /&gt;
Executing the building process is made with:&lt;br /&gt;
&lt;br /&gt;
      cmake --build build&lt;br /&gt;
&lt;br /&gt;
A custom configuration may look like:&lt;br /&gt;
&lt;br /&gt;
      export CFLAGS=&amp;quot;-DGL_SILENCE_DEPRECATION&amp;quot;&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S . -G Ninja \&lt;br /&gt;
            -DCMAKE_PREFIX_PATH=&amp;quot;/opt/local&amp;quot; \&lt;br /&gt;
            -DWITH_OPENMP=ON&lt;br /&gt;
      cmake --build build -v -j8&lt;br /&gt;
      &lt;br /&gt;
To clean up the configuration and build files (equivalent to `make distclean`):&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      rm -rf build&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
&lt;br /&gt;
      cmake --install build&lt;br /&gt;
&lt;br /&gt;
== Required Software for GRASS ==&lt;br /&gt;
&lt;br /&gt;
Required software to build GRASS:&lt;br /&gt;
&lt;br /&gt;
* [https://www.gnu.org/software/bison/ Bison]&lt;br /&gt;
* [https://cmake.org CMake] (version 3.22+)&lt;br /&gt;
* [https://github.com/westes/flex flex]&lt;br /&gt;
* [https://gdal.org/en/stable/ GDAL]&lt;br /&gt;
* [https://www.pcre.org PCRE] (required for MSVC only, on *NIX based platforms the Regex library is part of the system)&lt;br /&gt;
* [https://proj.org/ PROJ]&lt;br /&gt;
* [https://www.python.org Python] (version 3.9+)&lt;br /&gt;
* [https://zlib.net zlib]&lt;br /&gt;
&lt;br /&gt;
== Optional Software and Configuration Flags ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Optional Libraries and Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Software !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| bzip2 || WITH_BZLIB || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Cairo || WITH_CAIRO || ON&lt;br /&gt;
|-&lt;br /&gt;
| CBLAS || WITH_CBLAS || ON&lt;br /&gt;
|-&lt;br /&gt;
| FFTW || WITH_FFTW || ON&lt;br /&gt;
|-&lt;br /&gt;
| FreeType || WITH_FREETYPE || ON&lt;br /&gt;
|-&lt;br /&gt;
| GEOS || WITH_GEOS || ON&lt;br /&gt;
|-&lt;br /&gt;
| LAPACKE || WITH_LAPACKE || ON&lt;br /&gt;
|-&lt;br /&gt;
| libLAS || WITH_LIBLAS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| libpng || WITH_LIBPNG || ON&lt;br /&gt;
|-&lt;br /&gt;
| LibTIFF || WITH_TIFF || ON&lt;br /&gt;
|-&lt;br /&gt;
| MySQL || WITH_MYSQL || OFF&lt;br /&gt;
|-&lt;br /&gt;
| NetCDF || WITH_NETCDF || OFF&lt;br /&gt;
|-&lt;br /&gt;
| ODBC || WITH_ODBC || OFF&lt;br /&gt;
|-&lt;br /&gt;
| OpenGL || WITH_OPENGL || ON&lt;br /&gt;
|-&lt;br /&gt;
| OpenMP || WITH_OPENMP || OFF&lt;br /&gt;
|-&lt;br /&gt;
| PDAL || WITH_PDAL || ON&lt;br /&gt;
|-&lt;br /&gt;
| PostgreSQL || WITH_POSTGRES || ON&lt;br /&gt;
|-&lt;br /&gt;
| Readline || WITH_READLINE || ON&lt;br /&gt;
|-&lt;br /&gt;
| SQLite || WITH_SQLITE || ON&lt;br /&gt;
|-&lt;br /&gt;
| X11 || WITH_X11 || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Zstandard || WITH_ZSTD || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Other Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| Build documentation || WITH_DOCS || ON&lt;br /&gt;
|-&lt;br /&gt;
| Install according to Filesystem Hierarchy Standard (FHS) || WITH_FHS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Build GUI || WITH_GUI || ON&lt;br /&gt;
|-&lt;br /&gt;
| Large file support || WITH_LARGEFILES || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Build with National Language Support (NLS) || WITH_NLS || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Use Ccache || USE_CCACHE || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) the default setting varies by platform.&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
==== bzip2 (-DWITH_BZLIB) ====&lt;br /&gt;
&lt;br /&gt;
[https://sourceware.org/bzip2/ bzip2] is a freely available high-quality data compressor.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Cairo (-DWITH_CAIRO) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.cairographics.org Cairo] is a 2D graphics library with support for multiple output devices.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Cairo Display Driver and `g.cairocomp`.&lt;br /&gt;
&lt;br /&gt;
==== CBLAS (-DWITH_CBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/blas/ CBLAS] C interface to the BLAS (Basic Linear Algebra Subprograms) which are routines that provide standard building blocks for performing basic vector and matrix operations.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library).&lt;br /&gt;
&lt;br /&gt;
==== FFTW (-DWITH_FFTW) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.fftw.org FFTW] is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), `i.fft` and `i.ifft`.&lt;br /&gt;
&lt;br /&gt;
==== FreeType (-DWITH_FREETYPE) ====&lt;br /&gt;
&lt;br /&gt;
[https://freetype.org FreeType] is a freely available software library to render fonts.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Display Driver, GRASS Cairo Display Driver and `v.label.sa`.&lt;br /&gt;
&lt;br /&gt;
==== GEOS (-DWITH_GEOS) ====&lt;br /&gt;
&lt;br /&gt;
[https://libgeos.org GEOS] is a C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `v.buffer`, `v.profile` and `v.select`.&lt;br /&gt;
&lt;br /&gt;
==== LAPACKE (-DWITH_LAPACKE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/lapack/lapacke.html LAPACKE]is the C Interface to LAPACK, the Linear Algebra PACKage.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Vector Library, GRASS numerical math interface (GRASS Math Library) and GRASS Raster Library&lt;br /&gt;
&lt;br /&gt;
==== libLAS (-DWITH_LIBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://liblas.org libLAS] is a C/C++ library for reading and writing the very common LAS LiDAR format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.lidar`, `r3.in.lidar`, `v.in.lidar`, `v.lidar.correction`, `v.lidar.edgedetection`, `v.lidar.growing` and `v.out.lidar`.&lt;br /&gt;
&lt;br /&gt;
==== libpng (-DWITH_LIBPNG) ====&lt;br /&gt;
&lt;br /&gt;
[http://www.libpng.org/pub/png/ libpng] provides support for Portable Network Graphics (PNG) image file format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS PNG Display Driver Library, `r.in.png` and `r.out.png`.&lt;br /&gt;
&lt;br /&gt;
==== LibTIFF (-DWITH_TIFF) ====&lt;br /&gt;
&lt;br /&gt;
[https://libtiff.gitlab.io/libtiff/ LibTIFF] provides support for the Tag Image File Format (TIFF), a widely used format for storing image data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library.&lt;br /&gt;
&lt;br /&gt;
==== MySQL (-DWITH_MYSQL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.mysql.com MySQL] or [https://mariadb.org MariaDB] are two forks of a relational database.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase MySQL driver.&lt;br /&gt;
&lt;br /&gt;
==== NetCDF (-DWITH_NETCDF) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.unidata.ucar.edu/software/netcdf/ NetCDF] (Network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r3.out.netcdf`.&lt;br /&gt;
&lt;br /&gt;
==== ODBC (-DWITH_ODBC) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Open_Database_Connectivity Open Database Connectivity] (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS).&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase ODBC driver.&lt;br /&gt;
&lt;br /&gt;
==== OpenGL (-DWITH_OPENGL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.opengl.org OpenGL] (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. &lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library and GRASS Nviz Library.&lt;br /&gt;
&lt;br /&gt;
==== OpenMP (-DWITH_OPENMP) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/OpenMP OpenMP] is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), GRASS Partial differential equations Library (GPDE), GRASS Library for interpolation with regularized splines with tension (RST), `r.mfilter`,&lt;br /&gt;
`r.neighbors`, `r.proj`, `r.resamp.filter`, `r.resamp.interp`, `r.series`, `r.series.accumulate`, `r.slope.aspect`, `r.sun`, `r.sim`, `r.univar`, `r3.univar` and `v.surf.rst`.&lt;br /&gt;
&lt;br /&gt;
==== PDAL (-DWITH_PDAL) ====&lt;br /&gt;
&lt;br /&gt;
[https://pdal.io/ PDAL] is a C++ library for translating and manipulating point cloud data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.pdal` and `v.in.pdal`.&lt;br /&gt;
&lt;br /&gt;
==== PostgreSQL (-DWITH_POSTGRES) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.postgresql.org PostgreSQL] is a powerful, open source object-relational database system.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase PostgreSQL driver, GRASS General Library (GRASS GIS Library), `v.external` and `v.out.postgis`.&lt;br /&gt;
&lt;br /&gt;
==== Readline (-DWITH_READLINE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/readline/ Readline] library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.mapcalc` and `r3.mapcalc`.&lt;br /&gt;
&lt;br /&gt;
==== SQLite (-DWITH_SQLITE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.sqlite.org SQLite] is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase SQLite driver and `g.version`.&lt;br /&gt;
&lt;br /&gt;
==== X11 (-DWITH_X11) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.x.org/wiki/ X Window System] (X11) is a windowing system for bitmap displays, common on Unix-like operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Nviz Library, `g.cairocomp` and `ximgview`.&lt;br /&gt;
&lt;br /&gt;
==== Zstandard (-DWITH_ZSTD) ====&lt;br /&gt;
&lt;br /&gt;
[https://facebook.github.io/zstd/ Zstandard] is a fast compression algorithm, providing high compression ratios. It also offers a special mode for small data, called dictionary compression.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Build documentation (-DWITH_DOCS) ====&lt;br /&gt;
&lt;br /&gt;
==== Install according to Filesystem Hierarchy Standard (FHS) -(DWITH_FHS) ====&lt;br /&gt;
&lt;br /&gt;
==== Build GUI (-DWITH_GUI) ====&lt;br /&gt;
&lt;br /&gt;
==== Large file support (-DWITH_LARGEFILES) ====&lt;br /&gt;
&lt;br /&gt;
==== Build with National Language Support (-DWITH_NLS) ====&lt;br /&gt;
&lt;br /&gt;
Requires: [https://www.gnu.org/software/gettext/ Gettext]&lt;br /&gt;
&lt;br /&gt;
==== Use Ccache (-DUSE_CCACHE) ====&lt;br /&gt;
&lt;br /&gt;
[https://ccache.dev Ccache] is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.&lt;br /&gt;
&lt;br /&gt;
Requires: Ccache&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28145</id>
		<title>Compile and Install With CMake</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28145"/>
		<updated>2025-03-20T13:54:49Z</updated>

		<summary type="html">&lt;p&gt;Nila: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Disclaimer''': As of Spring 2025, the development of GRASS GIS using CMake is ongoing. Both the functionality of the CMake build system and the content of this documentation are subject to change.&lt;br /&gt;
&lt;br /&gt;
== Building With CMake ==&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended to perform the build process with CMake in a separate directory, as opposed to the traditional approach of running `./configure &amp;amp;&amp;amp; make` in the top-level directory of the source repository using Autotools. The designated build directory may be located anywhere.&lt;br /&gt;
&lt;br /&gt;
A simple configuration, which creates a build directory named &amp;quot;build&amp;quot; (with -B argument) with current directory as source directory (with -S), can look like this:&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S .&lt;br /&gt;
&lt;br /&gt;
Executing the building process is made with:&lt;br /&gt;
&lt;br /&gt;
      cmake --build build&lt;br /&gt;
&lt;br /&gt;
A custom configuration may look like:&lt;br /&gt;
&lt;br /&gt;
      export CFLAGS=&amp;quot;-DGL_SILENCE_DEPRECATION&amp;quot;&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S . -G Ninja \&lt;br /&gt;
            -DCMAKE_PREFIX_PATH=&amp;quot;/opt/local&amp;quot; \&lt;br /&gt;
            -DWITH_OPENMP=ON&lt;br /&gt;
      cmake --build build -v -j8&lt;br /&gt;
      &lt;br /&gt;
To clean up the configuration and build files (equivalent to `make distclean`):&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      rm -rf build&lt;br /&gt;
&lt;br /&gt;
== Required Software for GRASS ==&lt;br /&gt;
&lt;br /&gt;
Required software to build GRASS:&lt;br /&gt;
&lt;br /&gt;
* [https://www.gnu.org/software/bison/ Bison]&lt;br /&gt;
* [https://cmake.org CMake] (version 3.22+)&lt;br /&gt;
* [https://github.com/westes/flex flex]&lt;br /&gt;
* [https://gdal.org/en/stable/ GDAL]&lt;br /&gt;
* [https://www.pcre.org PCRE] (required for MSVC only, on *NIX based platforms the Regex library is part of the system)&lt;br /&gt;
* [https://proj.org/ PROJ]&lt;br /&gt;
* [https://www.python.org Python] (version 3.9+)&lt;br /&gt;
* [https://zlib.net zlib]&lt;br /&gt;
&lt;br /&gt;
== Optional Software and Configuration Flags ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Optional Libraries and Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Software !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| bzip2 || WITH_BZLIB || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Cairo || WITH_CAIRO || ON&lt;br /&gt;
|-&lt;br /&gt;
| CBLAS || WITH_CBLAS || ON&lt;br /&gt;
|-&lt;br /&gt;
| FFTW || WITH_FFTW || ON&lt;br /&gt;
|-&lt;br /&gt;
| FreeType || WITH_FREETYPE || ON&lt;br /&gt;
|-&lt;br /&gt;
| GEOS || WITH_GEOS || ON&lt;br /&gt;
|-&lt;br /&gt;
| LAPACKE || WITH_LAPACKE || ON&lt;br /&gt;
|-&lt;br /&gt;
| libLAS || WITH_LIBLAS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| libpng || WITH_LIBPNG || ON&lt;br /&gt;
|-&lt;br /&gt;
| LibTIFF || WITH_TIFF || ON&lt;br /&gt;
|-&lt;br /&gt;
| MySQL || WITH_MYSQL || OFF&lt;br /&gt;
|-&lt;br /&gt;
| NetCDF || WITH_NETCDF || OFF&lt;br /&gt;
|-&lt;br /&gt;
| ODBC || WITH_ODBC || OFF&lt;br /&gt;
|-&lt;br /&gt;
| OpenGL || WITH_OPENGL || ON&lt;br /&gt;
|-&lt;br /&gt;
| OpenMP || WITH_OPENMP || OFF&lt;br /&gt;
|-&lt;br /&gt;
| PDAL || WITH_PDAL || ON&lt;br /&gt;
|-&lt;br /&gt;
| PostgreSQL || WITH_POSTGRES || ON&lt;br /&gt;
|-&lt;br /&gt;
| Readline || WITH_READLINE || ON&lt;br /&gt;
|-&lt;br /&gt;
| SQLite || WITH_SQLITE || ON&lt;br /&gt;
|-&lt;br /&gt;
| X11 || WITH_X11 || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Zstandard || WITH_ZSTD || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Other Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| Build documentation || WITH_DOCS || ON&lt;br /&gt;
|-&lt;br /&gt;
| Install according to Filesystem Hierarchy Standard (FHS) || WITH_FHS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Build GUI || WITH_GUI || ON&lt;br /&gt;
|-&lt;br /&gt;
| Large file support || WITH_LARGEFILES || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Build with National Language Support (NLS) || WITH_NLS || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Use Ccache || USE_CCACHE || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) the default setting varies by platform.&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
==== bzip2 (-DWITH_BZLIB) ====&lt;br /&gt;
&lt;br /&gt;
[https://sourceware.org/bzip2/ bzip2] is a freely available high-quality data compressor.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Cairo (-DWITH_CAIRO) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.cairographics.org Cairo] is a 2D graphics library with support for multiple output devices.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Cairo Display Driver and `g.cairocomp`.&lt;br /&gt;
&lt;br /&gt;
==== CBLAS (-DWITH_CBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/blas/ CBLAS] C interface to the BLAS (Basic Linear Algebra Subprograms) which are routines that provide standard building blocks for performing basic vector and matrix operations.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library).&lt;br /&gt;
&lt;br /&gt;
==== FFTW (-DWITH_FFTW) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.fftw.org FFTW] is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), `i.fft` and `i.ifft`.&lt;br /&gt;
&lt;br /&gt;
==== FreeType (-DWITH_FREETYPE) ====&lt;br /&gt;
&lt;br /&gt;
[https://freetype.org FreeType] is a freely available software library to render fonts.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Display Driver, GRASS Cairo Display Driver and `v.label.sa`.&lt;br /&gt;
&lt;br /&gt;
==== GEOS (-DWITH_GEOS) ====&lt;br /&gt;
&lt;br /&gt;
[https://libgeos.org GEOS] is a C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `v.buffer`, `v.profile` and `v.select`.&lt;br /&gt;
&lt;br /&gt;
==== LAPACKE (-DWITH_LAPACKE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/lapack/lapacke.html LAPACKE]is the C Interface to LAPACK, the Linear Algebra PACKage.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Vector Library, GRASS numerical math interface (GRASS Math Library) and GRASS Raster Library&lt;br /&gt;
&lt;br /&gt;
==== libLAS (-DWITH_LIBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://liblas.org libLAS] is a C/C++ library for reading and writing the very common LAS LiDAR format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.lidar`, `r3.in.lidar`, `v.in.lidar`, `v.lidar.correction`, `v.lidar.edgedetection`, `v.lidar.growing` and `v.out.lidar`.&lt;br /&gt;
&lt;br /&gt;
==== libpng (-DWITH_LIBPNG) ====&lt;br /&gt;
&lt;br /&gt;
[http://www.libpng.org/pub/png/ libpng] provides support for Portable Network Graphics (PNG) image file format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS PNG Display Driver Library, `r.in.png` and `r.out.png`.&lt;br /&gt;
&lt;br /&gt;
==== LibTIFF (-DWITH_TIFF) ====&lt;br /&gt;
&lt;br /&gt;
[https://libtiff.gitlab.io/libtiff/ LibTIFF] provides support for the Tag Image File Format (TIFF), a widely used format for storing image data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library.&lt;br /&gt;
&lt;br /&gt;
==== MySQL (-DWITH_MYSQL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.mysql.com MySQL] or [https://mariadb.org MariaDB] are two forks of a relational database.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase MySQL driver.&lt;br /&gt;
&lt;br /&gt;
==== NetCDF (-DWITH_NETCDF) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.unidata.ucar.edu/software/netcdf/ NetCDF] (Network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r3.out.netcdf`.&lt;br /&gt;
&lt;br /&gt;
==== ODBC (-DWITH_ODBC) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Open_Database_Connectivity Open Database Connectivity] (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS).&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase ODBC driver.&lt;br /&gt;
&lt;br /&gt;
==== OpenGL (-DWITH_OPENGL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.opengl.org OpenGL] (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. &lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library and GRASS Nviz Library.&lt;br /&gt;
&lt;br /&gt;
==== OpenMP (-DWITH_OPENMP) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/OpenMP OpenMP] is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), GRASS Partial differential equations Library (GPDE), GRASS Library for interpolation with regularized splines with tension (RST), `r.mfilter`,&lt;br /&gt;
`r.neighbors`, `r.proj`, `r.resamp.filter`, `r.resamp.interp`, `r.series`, `r.series.accumulate`, `r.slope.aspect`, `r.sun`, `r.sim`, `r.univar`, `r3.univar` and `v.surf.rst`.&lt;br /&gt;
&lt;br /&gt;
==== PDAL (-DWITH_PDAL) ====&lt;br /&gt;
&lt;br /&gt;
[https://pdal.io/ PDAL] is a C++ library for translating and manipulating point cloud data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.pdal` and `v.in.pdal`.&lt;br /&gt;
&lt;br /&gt;
==== PostgreSQL (-DWITH_POSTGRES) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.postgresql.org PostgreSQL] is a powerful, open source object-relational database system.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase PostgreSQL driver, GRASS General Library (GRASS GIS Library), `v.external` and `v.out.postgis`.&lt;br /&gt;
&lt;br /&gt;
==== Readline (-DWITH_READLINE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/readline/ Readline] library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.mapcalc` and `r3.mapcalc`.&lt;br /&gt;
&lt;br /&gt;
==== SQLite (-DWITH_SQLITE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.sqlite.org SQLite] is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase SQLite driver and `g.version`.&lt;br /&gt;
&lt;br /&gt;
==== X11 (-DWITH_X11) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.x.org/wiki/ X Window System] (X11) is a windowing system for bitmap displays, common on Unix-like operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Nviz Library, `g.cairocomp` and `ximgview`.&lt;br /&gt;
&lt;br /&gt;
==== Zstandard (-DWITH_ZSTD) ====&lt;br /&gt;
&lt;br /&gt;
[https://facebook.github.io/zstd/ Zstandard] is a fast compression algorithm, providing high compression ratios. It also offers a special mode for small data, called dictionary compression.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Build documentation (-DWITH_DOCS) ====&lt;br /&gt;
&lt;br /&gt;
==== Install according to Filesystem Hierarchy Standard (FHS) -(DWITH_FHS) ====&lt;br /&gt;
&lt;br /&gt;
==== Build GUI (-DWITH_GUI) ====&lt;br /&gt;
&lt;br /&gt;
==== Large file support (-DWITH_LARGEFILES) ====&lt;br /&gt;
&lt;br /&gt;
==== Build with National Language Support (-DWITH_NLS) ====&lt;br /&gt;
&lt;br /&gt;
Requires: [https://www.gnu.org/software/gettext/ Gettext]&lt;br /&gt;
&lt;br /&gt;
==== Use Ccache (-DUSE_CCACHE) ====&lt;br /&gt;
&lt;br /&gt;
[https://ccache.dev Ccache] is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.&lt;br /&gt;
&lt;br /&gt;
Requires: Ccache&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28144</id>
		<title>Compile and Install With CMake</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install_With_CMake&amp;diff=28144"/>
		<updated>2025-03-20T13:54:10Z</updated>

		<summary type="html">&lt;p&gt;Nila: Initial addition of instructions for compiling with CMake&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Disclaimer''': As of Spring 2025, the development of GRASS GIS using CMake is ongoing. Both the functionality of the CMake build system and the content of this documentation are subject to change.&lt;br /&gt;
&lt;br /&gt;
== Building With CMake ==&lt;br /&gt;
&lt;br /&gt;
It is strongly recommended to perform the build process with CMake in a separate directory, as opposed to the traditional approach of running `./configure &amp;amp;&amp;amp; make` in the top-level directory of the source repository using Autotools. The designated build directory may be located anywhere.&lt;br /&gt;
&lt;br /&gt;
A simple configuration, which creates a build directory named &amp;quot;build&amp;quot; (with -B argument) with current directory as source directory (with -S), can look like this:&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S .&lt;br /&gt;
&lt;br /&gt;
Executing the building process is made with:&lt;br /&gt;
&lt;br /&gt;
      cmake --build build&lt;br /&gt;
&lt;br /&gt;
A custom configuration may look like:&lt;br /&gt;
&lt;br /&gt;
      export CFLAGS=&amp;quot;-DGL_SILENCE_DEPRECATION&amp;quot;&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      cmake -B build -S . -G Ninja\&lt;br /&gt;
            -DCMAKE_PREFIX_PATH=&amp;quot;/opt/local&amp;quot; \&lt;br /&gt;
            -DWITH_OPENMP=ON&lt;br /&gt;
      cmake --build build -v -j8&lt;br /&gt;
      &lt;br /&gt;
To clean up the configuration and build files (equivalent to `make distclean`):&lt;br /&gt;
&lt;br /&gt;
      cd grass_source_dir&lt;br /&gt;
      rm -rf build&lt;br /&gt;
&lt;br /&gt;
== Required Software for GRASS ==&lt;br /&gt;
&lt;br /&gt;
Required software to build GRASS:&lt;br /&gt;
&lt;br /&gt;
* [https://www.gnu.org/software/bison/ Bison]&lt;br /&gt;
* [https://cmake.org CMake] (version 3.22+)&lt;br /&gt;
* [https://github.com/westes/flex flex]&lt;br /&gt;
* [https://gdal.org/en/stable/ GDAL]&lt;br /&gt;
* [https://www.pcre.org PCRE] (required for MSVC only, on *NIX based platforms the Regex library is part of the system)&lt;br /&gt;
* [https://proj.org/ PROJ]&lt;br /&gt;
* [https://www.python.org Python] (version 3.9+)&lt;br /&gt;
* [https://zlib.net zlib]&lt;br /&gt;
&lt;br /&gt;
== Optional Software and Configuration Flags ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Optional Libraries and Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Software !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| bzip2 || WITH_BZLIB || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Cairo || WITH_CAIRO || ON&lt;br /&gt;
|-&lt;br /&gt;
| CBLAS || WITH_CBLAS || ON&lt;br /&gt;
|-&lt;br /&gt;
| FFTW || WITH_FFTW || ON&lt;br /&gt;
|-&lt;br /&gt;
| FreeType || WITH_FREETYPE || ON&lt;br /&gt;
|-&lt;br /&gt;
| GEOS || WITH_GEOS || ON&lt;br /&gt;
|-&lt;br /&gt;
| LAPACKE || WITH_LAPACKE || ON&lt;br /&gt;
|-&lt;br /&gt;
| libLAS || WITH_LIBLAS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| libpng || WITH_LIBPNG || ON&lt;br /&gt;
|-&lt;br /&gt;
| LibTIFF || WITH_TIFF || ON&lt;br /&gt;
|-&lt;br /&gt;
| MySQL || WITH_MYSQL || OFF&lt;br /&gt;
|-&lt;br /&gt;
| NetCDF || WITH_NETCDF || OFF&lt;br /&gt;
|-&lt;br /&gt;
| ODBC || WITH_ODBC || OFF&lt;br /&gt;
|-&lt;br /&gt;
| OpenGL || WITH_OPENGL || ON&lt;br /&gt;
|-&lt;br /&gt;
| OpenMP || WITH_OPENMP || OFF&lt;br /&gt;
|-&lt;br /&gt;
| PDAL || WITH_PDAL || ON&lt;br /&gt;
|-&lt;br /&gt;
| PostgreSQL || WITH_POSTGRES || ON&lt;br /&gt;
|-&lt;br /&gt;
| Readline || WITH_READLINE || ON&lt;br /&gt;
|-&lt;br /&gt;
| SQLite || WITH_SQLITE || ON&lt;br /&gt;
|-&lt;br /&gt;
| X11 || WITH_X11 || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Zstandard || WITH_ZSTD || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Other Configuration Flags&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Flag (BOOL) !! Default&lt;br /&gt;
|-&lt;br /&gt;
| Build documentation || WITH_DOCS || ON&lt;br /&gt;
|-&lt;br /&gt;
| Install according to Filesystem Hierarchy Standard (FHS) || WITH_FHS || OFF&lt;br /&gt;
|-&lt;br /&gt;
| Build GUI || WITH_GUI || ON&lt;br /&gt;
|-&lt;br /&gt;
| Large file support || WITH_LARGEFILES || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Build with National Language Support (NLS) || WITH_NLS || ON/OFF*&lt;br /&gt;
|-&lt;br /&gt;
| Use Ccache || USE_CCACHE || ON&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*) the default setting varies by platform.&lt;br /&gt;
&lt;br /&gt;
=== Configuration Options ===&lt;br /&gt;
&lt;br /&gt;
==== bzip2 (-DWITH_BZLIB) ====&lt;br /&gt;
&lt;br /&gt;
[https://sourceware.org/bzip2/ bzip2] is a freely available high-quality data compressor.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Cairo (-DWITH_CAIRO) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.cairographics.org Cairo] is a 2D graphics library with support for multiple output devices.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Cairo Display Driver and `g.cairocomp`.&lt;br /&gt;
&lt;br /&gt;
==== CBLAS (-DWITH_CBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/blas/ CBLAS] C interface to the BLAS (Basic Linear Algebra Subprograms) which are routines that provide standard building blocks for performing basic vector and matrix operations.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library).&lt;br /&gt;
&lt;br /&gt;
==== FFTW (-DWITH_FFTW) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.fftw.org FFTW] is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), `i.fft` and `i.ifft`.&lt;br /&gt;
&lt;br /&gt;
==== FreeType (-DWITH_FREETYPE) ====&lt;br /&gt;
&lt;br /&gt;
[https://freetype.org FreeType] is a freely available software library to render fonts.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Display Driver, GRASS Cairo Display Driver and `v.label.sa`.&lt;br /&gt;
&lt;br /&gt;
==== GEOS (-DWITH_GEOS) ====&lt;br /&gt;
&lt;br /&gt;
[https://libgeos.org GEOS] is a C/C++ library for computational geometry with a focus on algorithms used in geographic information systems (GIS) software.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `v.buffer`, `v.profile` and `v.select`.&lt;br /&gt;
&lt;br /&gt;
==== LAPACKE (-DWITH_LAPACKE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.netlib.org/lapack/lapacke.html LAPACKE]is the C Interface to LAPACK, the Linear Algebra PACKage.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Vector Library, GRASS numerical math interface (GRASS Math Library) and GRASS Raster Library&lt;br /&gt;
&lt;br /&gt;
==== libLAS (-DWITH_LIBLAS) ====&lt;br /&gt;
&lt;br /&gt;
[https://liblas.org libLAS] is a C/C++ library for reading and writing the very common LAS LiDAR format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.lidar`, `r3.in.lidar`, `v.in.lidar`, `v.lidar.correction`, `v.lidar.edgedetection`, `v.lidar.growing` and `v.out.lidar`.&lt;br /&gt;
&lt;br /&gt;
==== libpng (-DWITH_LIBPNG) ====&lt;br /&gt;
&lt;br /&gt;
[http://www.libpng.org/pub/png/ libpng] provides support for Portable Network Graphics (PNG) image file format.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS PNG Display Driver Library, `r.in.png` and `r.out.png`.&lt;br /&gt;
&lt;br /&gt;
==== LibTIFF (-DWITH_TIFF) ====&lt;br /&gt;
&lt;br /&gt;
[https://libtiff.gitlab.io/libtiff/ LibTIFF] provides support for the Tag Image File Format (TIFF), a widely used format for storing image data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library.&lt;br /&gt;
&lt;br /&gt;
==== MySQL (-DWITH_MYSQL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.mysql.com MySQL] or [https://mariadb.org MariaDB] are two forks of a relational database.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase MySQL driver.&lt;br /&gt;
&lt;br /&gt;
==== NetCDF (-DWITH_NETCDF) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.unidata.ucar.edu/software/netcdf/ NetCDF] (Network Common Data Form) is a set of software libraries and machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r3.out.netcdf`.&lt;br /&gt;
&lt;br /&gt;
==== ODBC (-DWITH_ODBC) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Open_Database_Connectivity Open Database Connectivity] (ODBC) is a standard application programming interface (API) for accessing database management systems (DBMS).&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase ODBC driver.&lt;br /&gt;
&lt;br /&gt;
==== OpenGL (-DWITH_OPENGL) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.opengl.org OpenGL] (Open Graphics Library) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. &lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS OGSF Library and GRASS Nviz Library.&lt;br /&gt;
&lt;br /&gt;
==== OpenMP (-DWITH_OPENMP) ====&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/OpenMP OpenMP] is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS numerical math interface (GRASS Math Library), GRASS Partial differential equations Library (GPDE), GRASS Library for interpolation with regularized splines with tension (RST), `r.mfilter`,&lt;br /&gt;
`r.neighbors`, `r.proj`, `r.resamp.filter`, `r.resamp.interp`, `r.series`, `r.series.accumulate`, `r.slope.aspect`, `r.sun`, `r.sim`, `r.univar`, `r3.univar` and `v.surf.rst`.&lt;br /&gt;
&lt;br /&gt;
==== PDAL (-DWITH_PDAL) ====&lt;br /&gt;
&lt;br /&gt;
[https://pdal.io/ PDAL] is a C++ library for translating and manipulating point cloud data.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.in.pdal` and `v.in.pdal`.&lt;br /&gt;
&lt;br /&gt;
==== PostgreSQL (-DWITH_POSTGRES) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.postgresql.org PostgreSQL] is a powerful, open source object-relational database system.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase PostgreSQL driver, GRASS General Library (GRASS GIS Library), `v.external` and `v.out.postgis`.&lt;br /&gt;
&lt;br /&gt;
==== Readline (-DWITH_READLINE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.gnu.org/software/readline/ Readline] library provides a set of functions for use by applications that allow users to edit command lines as they are typed in.&lt;br /&gt;
&lt;br /&gt;
The library is used by: `r.mapcalc` and `r3.mapcalc`.&lt;br /&gt;
&lt;br /&gt;
==== SQLite (-DWITH_SQLITE) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.sqlite.org SQLite] is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS DataBase SQLite driver and `g.version`.&lt;br /&gt;
&lt;br /&gt;
==== X11 (-DWITH_X11) ====&lt;br /&gt;
&lt;br /&gt;
[https://www.x.org/wiki/ X Window System] (X11) is a windowing system for bitmap displays, common on Unix-like operating systems.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS Nviz Library, `g.cairocomp` and `ximgview`.&lt;br /&gt;
&lt;br /&gt;
==== Zstandard (-DWITH_ZSTD) ====&lt;br /&gt;
&lt;br /&gt;
[https://facebook.github.io/zstd/ Zstandard] is a fast compression algorithm, providing high compression ratios. It also offers a special mode for small data, called dictionary compression.&lt;br /&gt;
&lt;br /&gt;
The library is used by: GRASS General Library (GRASS GIS Library).&lt;br /&gt;
&lt;br /&gt;
==== Build documentation (-DWITH_DOCS) ====&lt;br /&gt;
&lt;br /&gt;
==== Install according to Filesystem Hierarchy Standard (FHS) -(DWITH_FHS) ====&lt;br /&gt;
&lt;br /&gt;
==== Build GUI (-DWITH_GUI) ====&lt;br /&gt;
&lt;br /&gt;
==== Large file support (-DWITH_LARGEFILES) ====&lt;br /&gt;
&lt;br /&gt;
==== Build with National Language Support (-DWITH_NLS) ====&lt;br /&gt;
&lt;br /&gt;
Requires: [https://www.gnu.org/software/gettext/ Gettext]&lt;br /&gt;
&lt;br /&gt;
==== Use Ccache (-DUSE_CCACHE) ====&lt;br /&gt;
&lt;br /&gt;
[https://ccache.dev Ccache] is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.&lt;br /&gt;
&lt;br /&gt;
Requires: Ccache&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=PSC_Meeting_2025-02-14&amp;diff=28111</id>
		<title>PSC Meeting 2025-02-14</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=PSC_Meeting_2025-02-14&amp;diff=28111"/>
		<updated>2025-01-31T20:04:51Z</updated>

		<summary type="html">&lt;p&gt;Nila: Add cmake&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Participants ==&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
The topics proposed are:&lt;br /&gt;
&lt;br /&gt;
Communication means related:&lt;br /&gt;
* Further mailman transition to discourse.osgeo.org (grass-user, grass-psc, ...): plans?&lt;br /&gt;
* Close &amp;quot;Gitter&amp;quot; channels in favor of discourse.osgeo.org?&lt;br /&gt;
* Closure of grass-web? Archive https://lists.osgeo.org/mailman/listinfo/grass-web and update related web entries to point to discourse&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Budget:&lt;br /&gt;
* [[GRASS GIS Budget 2025]]&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* Status of new GRASS GIS tutorials: https://grass-tutorials.osgeo.org/: who maintains it and how to get further content into it&lt;br /&gt;
&lt;br /&gt;
Releases:&lt;br /&gt;
* Release of GRASS GIS 8.4.1: [https://github.com/OSGeo/grass/milestone/23 GH milestone]&lt;br /&gt;
** related [https://discourse.osgeo.org/t/re-release-planning-grass-gis-8-4-1/111926 discussion]&lt;br /&gt;
&lt;br /&gt;
NSF Grant:&lt;br /&gt;
* Update on [[NSF POSE Project 2023-2025 Timeline|POSE]]?&lt;br /&gt;
&lt;br /&gt;
Marketing related:&lt;br /&gt;
* report on first experiences with our paid Publer account&lt;br /&gt;
* rgrass maintenance shift from Roger Bivand to Steven Pawley incl. [https://github.com/OSGeo/rgrass/ new rgrass URL] -&amp;gt; news on website + social media&lt;br /&gt;
* Code signed and notarised GRASS GIS 8.4 Mac binary -&amp;gt; news on website + social media&lt;br /&gt;
* new OSGeo subdomain for GRASS GIS tutorials: https://grass-tutorials.osgeo.org/ -&amp;gt; news on website + social media&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
* CMake support: current status and discussion on how to proceed&lt;br /&gt;
&lt;br /&gt;
== Minutes ==&lt;br /&gt;
* From previous meeting:&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[[Category:PSC]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=PSC_Meeting_2025-02-14&amp;diff=28110</id>
		<title>PSC Meeting 2025-02-14</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=PSC_Meeting_2025-02-14&amp;diff=28110"/>
		<updated>2025-01-31T19:42:27Z</updated>

		<summary type="html">&lt;p&gt;Nila: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Participants ==&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
The topics proposed are:&lt;br /&gt;
&lt;br /&gt;
Communication means related:&lt;br /&gt;
* Further mailman transition to discourse.osgeo.org (grass-user, grass-psc, ...): plans?&lt;br /&gt;
* Close &amp;quot;Gitter&amp;quot; channels in favor of discourse.osgeo.org?&lt;br /&gt;
* Closure of grass-web? Archive https://lists.osgeo.org/mailman/listinfo/grass-web and update related web entries to point to discourse&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Budget:&lt;br /&gt;
* [[GRASS GIS Budget 2025]]&lt;br /&gt;
&lt;br /&gt;
Tutorials:&lt;br /&gt;
* Status of new GRASS GIS tutorials: https://grass-tutorials.osgeo.org/: who maintains it and how to get further content into it&lt;br /&gt;
&lt;br /&gt;
Releases:&lt;br /&gt;
* Release of GRASS GIS 8.4.1: [https://github.com/OSGeo/grass/milestone/23 GH milestone]&lt;br /&gt;
** related [https://discourse.osgeo.org/t/re-release-planning-grass-gis-8-4-1/111926 discussion]&lt;br /&gt;
&lt;br /&gt;
NSF Grant:&lt;br /&gt;
* Update on [[NSF POSE Project 2023-2025 Timeline|POSE]]?&lt;br /&gt;
&lt;br /&gt;
Marketing related:&lt;br /&gt;
* report on first experiences with our paid Publer account&lt;br /&gt;
* rgrass maintenance shift from Roger Bivand to Steven Pawley incl. [https://github.com/OSGeo/rgrass/ new rgrass URL] -&amp;gt; news on website + social media&lt;br /&gt;
* Code signed and notarised GRASS GIS 8.4 Mac binary -&amp;gt; news on website + social media&lt;br /&gt;
* new OSGeo subdomain for GRASS GIS tutorials: https://grass-tutorials.osgeo.org/ -&amp;gt; news on website + social media&lt;br /&gt;
&lt;br /&gt;
Other:&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Minutes ==&lt;br /&gt;
* From previous meeting:&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
== Next meeting ==&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
[[Category:PSC]]&lt;/div&gt;</summary>
		<author><name>Nila</name></author>
	</entry>
</feed>