Commit Graph

44 Commits

Author SHA1 Message Date
Alexandre Bouvier
747fbcd282
fresh: use catch2 from vcpkg 2023-01-05 04:32:29 +00:00
yzct12345
a7aa8659c0 linux-fresh: Add QtX11Extras 2022-12-13 19:41:25 -05:00
lat9nq
922149a2a5 fresh: Increase CMake version to 3.22.6
Required for yuzu-emu/yuzu#9300
2022-11-28 22:19:09 -05:00
lat9nq
22b1a82072
Revert "fresh: Specify vcpkg version" 2022-10-18 16:29:16 -04:00
lat9nq
6152c43af4 fresh: Drop Conan installation 2022-10-15 02:20:46 -04:00
lat9nq
9eecf6cdfc
Merge pull request #58 from lat9nq/fresh-control-vcpkg
fresh: Specify vcpkg version
2022-10-15 01:45:42 -04:00
lat9nq
8b8acfb24b fresh: Add patchelf
Required for lat9nq/deploy linux deploy script.
2022-09-24 16:17:36 -04:00
lat9nq
b91493afa8 fresh: Specify vcpkg version
Limits vcpkg to installing a specific set of package versions, such as
fmt 9.0.0. Prevents it from updating package versions beyond our
control.
2022-08-07 17:14:46 -04:00
lat9nq
9c46eafe78 fresh: Use vcpkg to install missing packages 2022-07-22 00:29:16 -04:00
Narr the Reg
a42ccb79d8 linux-fresh: Add multimedia 2022-07-15 10:34:49 -05:00
lat9nq
422768f4db fresh: Install GCC from yuzu-emu/ext-linux-bin
Use our own build of GCC instead of an old one from ubuntu-toolcahin-r,
which does not seem to be getting updates.

We still need the PPA to use apt.llvm.org.
2022-05-25 23:04:42 -04:00
lat9nq
1a8aca0ff7 fresh: Update Boost to 1.79.0 2022-05-21 22:54:55 -04:00
lat9nq
207671baf9 fresh: Misceallaneous fixes
Adds packages needed for Qt development, fixes Clang package typos,
patches Qt build error.

fresh: Add llvm-14 and libpulse-dev

Needed for lld and audio support, respectively.
2022-05-21 22:54:54 -04:00
lat9nq
bc8a489473 fresh: Remove savoury1/ffmpeg libraries
We currently don't use these, and they take up quite a bit of space. In
testing, the AppImage wouldn't run with these in use.

Remove them from the installation.

Also fix glslang package name, which was changed.
2022-05-19 20:39:36 -04:00
lat9nq
039cb48fa0 fresh: Add missing packages
yuzu optionally needs these packages for some uses. libudev-dev was
already installed but only implicitly.
2022-05-19 20:39:36 -04:00
lat9nq
438764dd2f fresh: Remove out-of-date packages
We don't use these packages for building yuzu with because yuzu
requires newer ones, so remove them.
2022-05-19 20:39:36 -04:00
lat9nq
308dcb3f62 fresh: Update GCC, Clang, CMake
Using GCC 11, Clang 14, and CMake 3.16.9 (latest version of 3.16).

Also adds lld-14 and llvm-14-linker-tools, the latter provides Polly and
the former is required to use ThinLTO and/or Polly.
2022-05-19 20:39:29 -04:00
lat9nq
913edcbb37 fresh: Add tools needed for AppImage verification
From https://github.com/AppImage/pkg2appimage/blob/master/appdir-lint.sh
2022-05-15 01:17:36 -04:00
liushuyu
20c0d3f040
linux-fresh: install glslang and hidapi from PPA 2021-12-23 04:08:24 -07:00
liushuyu
264af2410a
linux-fresh: use newer git 2021-12-23 00:54:09 -07:00
liushuyu
ccadba44f5 linux-fresh: update base image to use Qt 5.15 ...
... other images replaced MAINTAINER with LABEL
2021-12-23 00:03:08 -07:00
lat9nq
bd491190e7 fresh: Update to Qt 5.15.2
This also installs everything in one command so as to make pulling the
image download less data.

Primarily this was started to refresh the container, since the root
certificates for connecting to the internet (for things such as Conan)
have expired.
2021-09-30 19:40:04 -04:00
lat9nq
3146cfd659 fresh: Add hidapi 0.10.1 from ext-linux-bin
libhidapi-dev from Bionic repositories is too old for our needs.
Download and install a binary package for hidapi manually from
yuzu-emu/ext-linux-bin.

This also adds a number of packages required to compile hidapi. Needed
for producing new hidapi packages in the future.
2021-05-10 13:53:22 -04:00
lat9nq
63316f3e0a fresh: Remove Conan usage
Installing packages here does nothing: the container just re-downloads
them at CMake configure time. So skip installing them altogether.
2021-05-09 23:48:29 -04:00
lat9nq
627de07f96 linux-fresh: Install Boost manually
Manually install Boost using a pre-built package. Works around an issue
with the zlib Conan package failing to build with Clang.
2021-03-25 20:32:39 -04:00
lat9nq
670d16de7c fresh: Add package qt(512)wayland
Adds the qt[version]wayland package to linux-fresh. Required to run the
AppImage on Wayland.
2021-02-23 01:18:45 -05:00
lat9nq
1c37df5677 linux-fresh: Set DEBIAN_FRONTEND as environment variable
Prevents repeating the same code text over and over each time apt-get is
used. This is a required variable to use apt-get in a non-interactive
container, so it should be set globally, anyways.
2021-02-18 01:22:58 -05:00
lat9nq
63478434b8 linux-fresh: Add Clang 12 from llvm.org
Adds the Clang compiler from apt.llvm.org to linux-fresh. The intention
is to run two instances of linux-fresh when checking CI on yuzu, one
compiles with GCC and the other with Clang.

This includes a workaround in Conan where the default configuration file
is not set up to permit using Clang 12. settings.yml is there to allow
using Clang 12.
2021-02-18 01:16:18 -05:00
lat9nq
c47cdf2ee8 linux-fresh: Add package nasm
Adds nasm to linux-fresh so that FFmpeg can be compiled.
2021-02-05 22:34:25 -05:00
lat9nq
6f0ed60b4d linux-fresh: Add package 'zsync'
Soft-requirement to embed update information into AppImages. Requirement
to create the actual update files.
2021-01-06 12:40:09 -05:00
lat9nq
8d8fddaf4e linux-fresh: Downgrade to Bionic Beaver
This is in preparation to have a legal AppImage when Ubuntu 16.04 is
deprecated in April 2021. As stated in [AppImage's
documentation](https://docs.appimage.org/packaging-guide/distribution.html#appimagehub),
to distribute yuzu on AppImageHub, an AppImage needs to compatible with
the oldest still supported release of Ubuntu, which will be 18.04 in
April.

Beyond making AppImages, this brings a number of other changes:
- The needed CMake, GCC, and Qt versions are now variables at the top of
  the Dockerfile.
- The dependencies list is sorted lexicographically.
- Added package `file`, required for the Qt linuxdeploy plugin, thus
  superseding #23.
- Added package `software-properties-common`, required to use
  `add-apt-repository`.
- Added package `python3-setuptools`, a dependency of `python3-pip` that
  somehow isn't installed with it by default.
- Removed package `python` as yuzu no longer uses Unicorn, thus Python 2
  was no longer required.
- Moved installing GCC, Qt, FFmpeg, and SDL2 from the main Ubuntu
  repositories to updated launchpad repositories.
- Removed packages `cmake` and `glslang-tools`, instead opting to
  download and install them from their upstream repositories.
  - In the case of `glslang-tools`, Ubuntu does not have any equivalent
    package for Bionic.

This does not upgrade any package versions. This only brings Ubuntu
18.04 roughly to parity with the current 20.04 container. Once an
AppImage is in action, we can upgrade the GCC and Qt versions to our
heart's content (up to GCC 11 and Qt 5.15.2). Until then, it should be
said **Mainline builds are not compatible with Ubuntu versions below
20.04 despite using 18.04 to build yuzu**. We need an AppImage to make
yuzu compatible with older distro releases, and we need an AppImage to
make yuzu compatible with current releases if we upgrade Qt and/or GCC.

Another note is that the Qt version here is being downgraded from 5.12.8
to 5.12.6. The Qt launchpad PPA used here did not release usable
`qt512webengine` packages for 5.12.8 nor 5.12.7, and since upgrading to
5.12.10 would break compatibility with wild Ubuntu 20.04 installs, a
downgrade is necessary. Hopefully this is a temporary change during our
transition to 5.15.2.

Massive thank you to @AniLeo from RPCS3 for telling me about updated GCC
and Qt launchpad PPAs.
2020-12-29 18:54:48 -05:00
lat9nq
cbbee60824 linux-fresh: Install Boost through Conan
Ubuntu 20.04's version of Boost (1.71.0) is older than yuzu's minimum requirement
(1.73.0). Thus the container was downloading Boost through conan each
time it builds yuzu.

Instead, install Boost through Conan ahead of time, as opposed to
installed effectively garbage.
2020-12-08 17:48:32 -05:00
lat9nq
0a9e0ecccc linux: Add glslang and glslang-utils to mingw and fresh containers
...respectively. Required for TCR.
2020-11-19 19:57:56 -05:00
lat9nq
9854161ae7 linux-fresh: Remove unneeded rapidjson dependency.
Raptor client leftover that is no longer needed.
2020-11-18 01:20:28 -05:00
lat9nq
6a14e3f5d0 linux-fresh: Update to GCC 10.2
While we're at it, also update conan packages.
Required for texture cache updates.
2020-11-18 01:18:38 -05:00
lat9nq
4439b95fb1 linux-fresh: add avcodec, avutil, and swscale library headers 2020-09-27 15:24:40 -04:00
Morph
6e5efdd94a
Add qttools5-dev and qttools5-dev-tools for translation support (#13)
* Add qttools5-dev and qttools5-dev-tools for translation support

* Remove qttools5-dev-tools as it's already a dependency of qttools5-dev
2020-07-19 13:26:50 +02:00
James Rowe
2f78410b2b Update the docker images to run as yuzu user (UID 1027) 2020-05-07 21:12:25 -06:00
James Rowe
58cb2114b5 Use the libstdc++11 libcxx for conan and include libzip in the base image 2020-05-06 00:28:32 -06:00
James Rowe
4fe0ebbd8f Add new system libraries and install some additional libraries through conan 2020-05-06 00:11:36 -06:00
James Rowe
48dc64253f Combine RUN statements into one and remove shell expansion 2020-04-30 22:39:10 -06:00
James Rowe
affcece6a6 Remove any leftover apt caches 2020-04-24 21:52:57 -06:00
James Rowe
4bf0830796 Update build envs to ubunto 20.04. Change mingw build env to arch 2020-04-24 18:12:02 -06:00
chris062689
8a43699577 Initial addition of build-environment files. 2019-03-22 20:27:11 -04:00