Commit Graph

39 Commits

Author SHA1 Message Date
Daniel Perry
fb9bcc72fd openmw: add darwin support
The OpenMW codebase already has Darwin build support within it, so porting
it over to nixpkgs was something I wanted to try out.

Issues encountered, in order:

A few dependencies in nixpkgs were missing Darwin support. Details of those
changes are in their respective commits.

After the dependencies were building, the build first failed with a missing
reference to VideoDecodeAcceleration, which was easily dealt with.

Then the build succeeded! Job's done, success! Except OpenMW.app was nowhere
to be found in the result folder. OpenMW-CS.app, however, was produced and
appeared to be running correctly (though I will admit I didn't test it very
much as I'm not very familiar).

Going through OpenMW's CMakeLists.txt showed that a CMake define was needed,
`OPENMW_OSX_DEPLOYMENT=ON`. This is what enables OpenMW.app to be built.

Once the define was added, the build began to fail with missing plugins to
OpenSceneGraph. Looking into that showed that OSG doesn't build certain plugins
on Darwin due to the fact that their functionality is replicated by built-
in system libraries. To save space, these libraries are not built on Darwin.

OpenMW, however, requires these libraries to exist. I was familiar with the
process of building OpenMW on Darwin already, due to having built it locally
ahead of time, so I remembered that the OpenMW folks have a separate repository
with Mac-specific patches. One of those patches is to OpenSceneGraph for this
exact issue, which is now applied here.

The next error was caused by `fixup_bundle` running from the OpenMW CMakeLists.txt,
which appears to be broken in Darwin under Nix. Searching nixpkgs shows that others
have worked around the issue by removing the call to `fixup_bundle` completely.

At this point, the build passed and OpenMW.app was created and was executable!
After the intro video played, it was clear that something wasn't working though.
Every texture was completely pink, navigating the main menu was impossible. Looking
at the console output showed that OpenSceneGraph was attempting to load dds
textures, but the plugin for doing so could not be loaded. I looked at the plugin
with `file` which showed the file was actually a bash script. It was setting
some QT environment variables before calling the real plugin executable. I
resolved this issue with setting `dontWrapQtApps`, as everything seems to work
without it (even the QT-based apps like the Construction Set).
2023-03-12 18:48:50 -04:00
Vladimír Čunát
555f300879
treewide: another round of gcc12 fixups 2023-02-05 15:29:43 +01:00
Nick Novitski
fb7287e6d2 openmw: enable with glibc fix 2022-05-10 10:54:06 +08:00
Maximilian Bosch
a3f4ff59ae
openmw: mark as broken 2022-02-27 10:26:49 +01:00
marius david
36e16d6979 openmw: 0.46 -> 0.47 2021-11-11 15:23:15 +01:00
Artturi
6463828755
openmw: add wrapQtAppsHook (#132131)
dontWrapQtApps was blanket added in
5590e365e4
2021-07-30 20:40:22 -04:00
Peter Hoeg
5c87334112 openmw: ffmpeg_3 -> ffmpeg 2021-05-20 09:06:25 +08:00
github-actions[bot]
5f9df37683
Merge master into staging-next 2021-02-11 00:36:09 +00:00
Sandro Jäckel
25e7d3949c
openmw: Add comment that commit does not exist on any branch on target repository 2021-01-26 15:19:01 +01:00
Thomas Tuegel
5590e365e4
qtbase: Check for wrapQtAppsHook in setupHook 2021-01-25 15:56:15 -06:00
Profpatsch
4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00
Ben Siraphob
3ae5e6ce03 treewide: remove enableParallelBuilding = true if using cmake 2021-01-03 18:37:40 +07:00
Ben Siraphob
b04fc593e7 treewide: cmake buildInputs to nativeBuildInputs, minor cleanups 2021-01-01 11:52:33 +07:00
marius851000
c6d32d816c
openmw: 0.45.0 -> 0.46.0 (#90589) 2020-06-16 14:45:23 -04:00
Doron Behar
01d4e2fe33 treewide: use ffmpeg_3 explicitly if not wanted otherwise
After making `ffmpeg` point to the latest `ffmpeg_4`, all packages that
used `ffmpeg` without requiring a specific version now use ffmpeg_3
explicitly so they shouldn't change.
2020-06-12 11:55:31 -07:00
Michael Reilly
84cf00f980
treewide: Per RFC45, remove all unquoted URLs 2020-04-10 17:54:53 +01:00
gnidorah
2414e8d51d openmw-tes3mp: fix build 2020-02-09 17:25:52 +01:00
Vladimír Čunát
2e6bf42a22
Merge branch 'master' into staging-next
There ver very many conflicts, basically all due to
name -> pname+version.  Fortunately, almost everything was auto-resolved
by kdiff3, and for now I just fixed up a couple evaluation problems,
as verified by the tarball job.  There might be some fallback to these
conflicts, but I believe it should be minimal.

Hydra nixpkgs: ?compare=1538299
2019-08-24 08:55:37 +02:00
gnidorah
f72d2041b7 openmw: use qt5's mkDerivation 2019-08-19 08:04:51 +02:00
volth
46420bbaa3 treewide: name -> pname (easy cases) (#66585)
treewide replacement of

stdenv.mkDerivation rec {
  name = "*-${version}";
  version = "*";

to pname
2019-08-15 13:41:18 +01:00
marius851000
3a6bc6e35d openmw: 0.44 -> 0.45 (#58486) 2019-03-29 21:59:34 -04:00
marius851000
2d03ed2f8d openmw: force the need of qt5 2019-03-14 15:53:34 +01:00
marius851000
610757e024 openmw: 0.43 -> 0.44; update to qt5 2019-03-13 08:33:02 +01:00
volth
52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00
Will Dietz
a8f3b1ad75 openmw: update hash missed in update to 0.43.0
Fixes #39712
2018-04-30 13:27:36 -05:00
Nikolay Amiantov
72d4625218 openmw: 0.42.0 -> 0.43.0 2018-02-25 22:24:09 +03:00
John Ericson
531e4b80c9 misc pkgs: Basic sed to get fix pkgconfig and autoreconfHook buildInputs
Only acts on one-line dependency lists.
2017-09-21 15:49:53 -04:00
Ricardo Ardissone
a2794ee5f6 openmw: 0.41 -> 0.42 2017-08-31 22:18:27 -03:00
Silvan Mosberger
f5fa5fa4d6 pkgs: refactor needless quoting of homepage meta attribute (#27809)
* pkgs: refactor needless quoting of homepage meta attribute

A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.

* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit

* Fixed some instances
2017-08-01 22:03:30 +02:00
Ricardo Ardissone
384185f942 openmw: 0.40.0 -> 0.41.0 2016-12-28 16:42:47 -02:00
Nikolay Amiantov
663e379fb9 openmw: update for new openscenegraph 2016-09-17 15:27:12 +03:00
Ricardo Ardissone
d2b6d912f2 openmw: 0.39.0 -> 0.40.0 2016-09-17 15:27:12 +03:00
Nikolay Amiantov
21b69058b0 openmw: fix build 2016-08-22 17:18:02 +03:00
Nikolay Amiantov
21f2481223 openmw: fix build 2016-07-23 13:05:10 +03:00
Nikolay Amiantov
bd5cd56a49 openmw: 0.38.0 -> 0.39.0 2016-04-17 05:24:40 +03:00
Nikolay Amiantov
0c978d7d4f openmw: build with its own openscenegraph fork
This gives speed improvement and fixes potential bugs.
For example: https://bugs.openmw.org/issues/3351
Updating our openscenegraph package would fix this too, but
it breaks some packages (i.e. simgear, bumping the version does
not help). Besides, fork has patches for better performance.
2016-04-13 04:35:42 +03:00
Nikolay Amiantov
d2dba02a87 openmw: add meta.platforms 2016-04-12 03:57:42 +03:00
Ricardo Ardissone
c6cb8ebe01 openmw: 0.36.1 -> 0.38.0 2016-04-11 21:47:57 -03:00
Enrico Fasoli
e3538153b5 openmw: init at 0.36.1 2015-09-27 23:22:31 +02:00