Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix issue #115 #116

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,16 +111,34 @@ $ meson test

## Windows support (experimental)

To run on windows, install [msys2](msys2.org) and follow the instructions to set up a development environment. Once the setup is done, install the following dependencies:
To run on windows, install [msys2](msys2.org) and follow the instructions to set up a development environment. Once the configuration is done, follow the instructions:

### Install the dependencies

```bash
$ pacman -Suy
$ pacman -S git mingw-w64-ucrt-x86_64-meson mingw-w64-ucrt-x86_64-gtk4 mingw-w64-ucrt-x86_64-python3 mingw-w64-ucrt-x86_64-python3-gobject mingw-w64-ucrt-x86_64-libadwaita mingw-w64-ucrt-x86_64-gstreamer mingw-w64-ucrt-x86_64-gst-plugins-good mingw-w64-ucrt-x86_64-gtksourceview5 mingw-w64-ucrt-x86_64-librsvg mingw-w64-ucrt-x86_64-desktop-file-utils
$ pacman -S git mingw-w64-ucrt-x86_64-meson mingw-w64-ucrt-x86_64-gtk4 mingw-w64-ucrt-x86_64-python3 mingw-w64-ucrt-x86_64-python3-gobject mingw-w64-ucrt-x86_64-libadwaita mingw-w64-ucrt-x86_64-gstreamer mingw-w64-ucrt-x86_64-gst-plugins-good mingw-w64-ucrt-x86_64-gtksourceview5 mingw-w64-ucrt-x86_64-librsvg mingw-w64-ucrt-x86_64-desktop-file-utils unzip meson cmake
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that meson is already in this list (as mingw-w64-ucrt-x86_64-meson). As per cmake, it's not needed here, since we're not building anything else manually that requires cmake.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even so, the unzip package is necessary for the subsequent steps.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unzip is fine, the other aren't necessary.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A recent change we merged made pandoc not needed anymore to build Gameeky, can you update accordingly?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Tom5521 any chance to get this done ? :)

```

### Install pandoc

Now we download pandoc and copy it to `/usr/bin` by entering the msys2 terminal and typing the following commands
```bash
$ cd /tmp # Go to temporary directory
$ wget https://github.com/jgm/pandoc/releases/download/3.1.13/pandoc-3.1.13-windows-x86_64.zip # Download pandoc zip
$ unzip pandoc-3.1.13-windows-x86_64.zip # Unzip it
$ cp pandoc-3.1.13/pandoc.exe /usr/bin # Copy it
Tom5521 marked this conversation as resolved.
Show resolved Hide resolved
```

Additionally, [download](https://pandoc.org/installing.html) and copy `pandoc.exe` to `msys2/usr/bin`.
### Copy gettext files

Lastly, make sure to copy gettext ITS files from `/ucrt64/share/gettext/its` to `/usr/share/gettext/its`.
```bash
$ mkdir -p /usr/share/gettext/its # Create the directory if it does not exist
$ cp /ucrt64/share/gettext/its/* /usr/share/gettext/its -rf # and copy the files
```
#### Note: in windows you have to disable the webkit by using `meson setup build -Dwebkit=disabled`
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To speed this up for less technical users, let's also include the complete build steps, e.g., git clone, meson setup, ninja install, etc.


Lastly, make sure to copy gettext ITS files from `msys2/ucrt64/share/gettext/its` to `msys2/usr/share/gettext/its`.

Copy link
Owner

@tchx84 tchx84 Apr 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lastly, something to take into account when you're contributing to a project is to "inspect" how things are organized, e.g., commit messages, directories structure, file naming, coding style, etc. The closer you follow these things the better.

In this particular case, you can run git log CONTRIBUTING.md and you will see how I organize commits, you can modify your commit message with git commit --amend.

For this change, a single commit is enough, and you can squash the commits using git rebase --interactive. This is something very useful to learn.

You should still add Fixes #115 under the commit title (again, check the git log for examples).

## License

Expand Down