diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 922657c540..5a67f0d4fb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,6 +12,8 @@ If all apply, then please consider opening a [new issue](https://github.com/bott ## Want to Submit Code? You can submit code by [forking](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks) this project, editing the desired code and finally submitting a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request). +To build Bottles, refer to the [Building](README.md#Building) instructions. + ### Having Trouble Understanding the Source Code? If you want to inquire to understand the code base, you can contact us via [Discord](https://discord.com/invite/wF4JAdYrTR). We'd love to help you out! diff --git a/README.md b/README.md index 435f39f1f6..6c9f6d4d60 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,15 @@

Bottles

-

Easily run Windows Software using Bottles

+

Run Windows Software on Linux


+ + Flathub + @@ -16,10 +19,10 @@ +
-
@@ -36,63 +39,39 @@ ![Bottles Dark](docs/screenshot-dark.png#gh-dark-mode-only)![Bottles Light](docs/screenshot-light.png#gh-light-mode-only) -## 📚 Documentation -Before opening a new issue, check if the topic has already been covered -in our [documentation](https://docs.usebottles.com). - -Please note that some pages of the documentation are still being written. - -## 🗣 Help Bottles speak your language -Read [here](po#readme) how to translate Bottles to your language or how to help -improve existing ones. - -## 🦾 Features -- Create bottles based on environments (a set of rules and dependencies) -- Access to a customizable environment for all your experiments -- Automated installers -- Run every executable (.exe/.msi/.bat) in your bottles, using the context menu in your file manager -- Integrated management and storage for executable file arguments -- Support for custom environment variables -- Simplified DLL overrides -- Manage and install multiple wine/proton/dxvk versions and on-the-fly change -- Various optimizations for better gaming performance (esync, fsync, dxvk, cache, shader compiler, offload ... and much more.) -- Tweak different wine prefix settings, without leaving Bottles -- Automated dxvk installation -- System for checking runner updates for the bottle and automatic repair in case of breakage -- Integrated Dependencies installer with compatibility check based on a community-driven [repository](https://github.com/bottlesdevs/dependencies) -- Detection of installed programs -- Integrated Task manager for wine processes -- Easy access to ProtonDB and WineHQ for support -- Configurations update system across Bottles versions -- Backup and Import bottles from older version and from other managers (Lutris, POL, ..) -- Bottles versioning -- ... and much more that you can find by installing Bottles! - -### 🚧 Work in progress -- Layers (dependencies and programs on different layers) [#510](https://github.com/bottlesdevs/Bottles/issues/510) - -## ↗️ Install -Bottles is officially provided as [Flatpak](https://flathub.org/apps/details/com.usebottles.bottles). - -Read [here](https://docs.usebottles.com/getting-started/installation) how to -install Bottles on your distribution. - -## Shortcuts -| Shortcut | Action | -|:--------:|:-----------------------:| -| `Ctrl+Q` | Close Bottles | -| `Ctrl+R` | Reload the Bottles list | -| `F1` | Go to the documentation | -| `Esc` | Go back | - -## FAQ -- [Why Bottles?](https://docs.usebottles.com/faq/why-bottles) -- [Where is Winetricks?](https://docs.usebottles.com/faq/where-is-winetricks) -- [Older versions will be deprecated?](https://docs.usebottles.com/faq/updates-and-old-versions#older-versions-will-be-deprecated) -- [Backward compatibility?](https://docs.usebottles.com/faq/updates-and-old-versions#backward-compatibility) +## Installation + +Download on Flathub + +## Contributing + +Refer to the [Contributing](CONTRIBUTING.md) page. + +## Building + +⚠️ Be sure to backup all your data before testing experimental builds of Bottles! + +There are two methods to build Bottles. The first and longer method is using `org.flatpak.Builder`, and the second but shorter method is building directly. + +### org.flatpak.Builder + +1. Install [`org.flatpak.Builder`](https://github.com/flathub/org.flatpak.Builder) from Flathub +1. Clone `https://github.com/bottlesdevs/Bottles.git` (or your fork) +1. Run `flatpak run org.flatpak.Builder --install --install-deps-from=flathub --default-branch=master --force-clean build-dir com.usebottles.bottles.yml` in the terminal from the root of the repository (use `--user` if necessary) +1. Run `flatpak run com.usebottles.bottles//master` to launch it + +### Meson + +Since Bottles is primarily and officially distributed as a Flatpak, we only provide instructions to directly build it inside a Flatpak environment: + +1. Download and install the latest build of Bottles: [bottles-x86_64.zip](https://nightly.link/bottlesdevs/Bottles/workflows/build_flatpak/main/bottles-x86_64.zip). Unzip it, and run `flatpak install bottles.flatpak` (use `--user` if necessary) +2. Run `flatpak run -d --filesystem=$PWD --command=bash com.usebottles.bottles//master` from the root of the repository, followed by `./utils/install.sh`. This will build Bottles and install it under the `build/` directory. +3. Run `./build/bin/bottles` to launch Bottles + +Due to GNOME Builder limitations, Builder cannot build Bottles for the time being; see [GNOME/gnome-builder#2061](https://gitlab.gnome.org/GNOME/gnome-builder/-/issues/2061) for more context. This is the best workaround we can provide. ## Code of Conduct -This project follows the [GNOME Code of Conduct.](https://wiki.gnome.org/Foundation/CodeOfConduct) You are expected to follow it in all Bottles spaces, such as this repository, project's social media, messenger chats and forums. Bigotry and harassment will not be tolerated. +This project follows the [GNOME Code of Conduct](https://wiki.gnome.org/Foundation/CodeOfConduct). You are expected to follow it in all Bottles spaces, such as this repository, the project's social media, messenger chats and forums. Bigotry and harassment will not be tolerated. ## Sponsors     diff --git a/utils/install.sh b/utils/install.sh index 4e6299578d..94bcfb2fce 100755 --- a/utils/install.sh +++ b/utils/install.sh @@ -4,6 +4,5 @@ if [ -d "$BUILD_DIR" ]; then rm -r build fi mkdir build -meson build -ninja -j$(nproc) -C build -sudo ninja install -C build +meson --prefix=$PWD/build build +ninja -j$(nproc) -C build install \ No newline at end of file diff --git a/utils/uninstall.sh b/utils/uninstall.sh deleted file mode 100755 index 235237cc3b..0000000000 --- a/utils/uninstall.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -BUILD_DIR="build/" -if [ -d "$BUILD_DIR" ]; then - echo "Build directory not found, check if Bottles is installed." -fi -sudo ninja uninstall -C $BUILD_DIR