Skip to content

Commit

Permalink
Merge pull request #3004 from bottlesdevs/flatpak-build
Browse files Browse the repository at this point in the history
* misc: Improve building instructions to favor Flatpak

---------

Co-authored-by: Dallas Strouse <[email protected]>
  • Loading branch information
orowith2os authored Jul 29, 2023
2 parents 6aa5234 + b92976d commit 9e058ec
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 66 deletions.
2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -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!

Expand Down
93 changes: 36 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
<div align="center">
<img src="https://raw.githubusercontent.com/bottlesdevs/Bottles/main/data/icons/hicolor/scalable/apps/com.usebottles.bottles.svg" width="64">
<h1 align="center">Bottles</h1>
<p align="center">Easily run Windows Software using Bottles</p>
<p align="center">Run Windows Software on Linux</p>
</div>

<br/>

<div align="center">
<a href="https://flathub.org/apps/com.usebottles.bottles">
<img alt="Flathub" src="https://img.shields.io/flathub/downloads/com.usebottles.bottles" />
</a>
<a href="https://hosted.weblate.org/engage/bottles">
<img src="https://hosted.weblate.org/widgets/bottles/-/bottles/svg-badge.svg" />
</a>
Expand All @@ -16,10 +19,10 @@
<a href="https://github.com/bottlesdevs/Bottles/blob/main/LICENSE">
<img src="https://img.shields.io/badge/License-GPL--3.0-blue.svg">
</a>
<br>
<a href="https://github.com/bottlesdevs/Bottles/actions">
<img src="https://github.com/bottlesdevs/Bottles/workflows/Build%20release%20packages/badge.svg">
</a>
<br>
<a href="https://stopthemingmy.app" title="Please do not theme this app">
<img src="https://stopthemingmy.app/badge.svg">
</a>
Expand All @@ -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

<a href='https://flathub.org/apps/com.usebottles.bottles'><img width='240' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-en.png'/></a>

## 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
<a href="https://www.jetbrains.com/?from=bottles"><img height="55" src="https://unifiedban.solutions/static/images/jetbrains-logos/jetbrains.png" /></a>&nbsp;&nbsp;&nbsp;
Expand Down
5 changes: 2 additions & 3 deletions utils/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
6 changes: 0 additions & 6 deletions utils/uninstall.sh

This file was deleted.

0 comments on commit 9e058ec

Please sign in to comment.