diff options
author | Artturin <Artturin@artturin.com> | 2021-06-29 05:42:37 +0300 |
---|---|---|
committer | Jonathan Ringer <jonringer@users.noreply.github.com> | 2021-06-30 00:10:57 -0700 |
commit | cd3ed54f6ea1c13d45c6772b4752ae6d2ff35997 (patch) | |
tree | 45682c2ed94ab6955665bcceefd27c66065c0681 /pkgs/games/dwarf-fortress/default.nix | |
parent | 4e75706a468a795c2bc67102211b43d41a449df7 (diff) |
dwarf-fortress: refactor
Diffstat (limited to 'pkgs/games/dwarf-fortress/default.nix')
-rw-r--r-- | pkgs/games/dwarf-fortress/default.nix | 92 |
1 files changed, 48 insertions, 44 deletions
diff --git a/pkgs/games/dwarf-fortress/default.nix b/pkgs/games/dwarf-fortress/default.nix index 2a4df9bf7cf75..3e96351acbbb7 100644 --- a/pkgs/games/dwarf-fortress/default.nix +++ b/pkgs/games/dwarf-fortress/default.nix @@ -1,4 +1,4 @@ -{ pkgs, stdenv, stdenvNoCC, gccStdenv, lib, recurseIntoAttrs }: +{ stdenv, stdenvNoCC, gccStdenv, lib, recurseIntoAttrs, libsForQt5, newScope, texlive, perlPackages, jdk8, jre8 }: # To whomever it may concern: # @@ -35,7 +35,7 @@ with lib; let - callPackage = pkgs.newScope self; + callPackage = newScope self; # The latest Dwarf Fortress version. Maintainers: when a new version comes # out, ensure that (unfuck|dfhack|twbt) are all up to date before changing @@ -45,51 +45,54 @@ let # Converts a version to a package name. versionToName = version: "dwarf-fortress_${lib.replaceStrings ["."] ["_"] version}"; - dwarf-therapist-original = pkgs.qt5.callPackage ./dwarf-therapist { - texlive = pkgs.texlive.combine { - inherit (pkgs.texlive) scheme-basic float caption wrapfig adjmulticol sidecap preprint enumitem; + dwarf-therapist-original = libsForQt5.callPackage ./dwarf-therapist { + texlive = texlive.combine { + inherit (texlive) scheme-basic float caption wrapfig adjmulticol sidecap preprint enumitem; }; }; # A map of names to each Dwarf Fortress package we know about. - df-games = lib.listToAttrs (map (dfVersion: { - name = versionToName dfVersion; - value = - let - # I can't believe this syntax works. Spikes of Nix code indeed... - dwarf-fortress = callPackage ./game.nix { - inherit dfVersion; - inherit dwarf-fortress-unfuck; + df-games = lib.listToAttrs (map + (dfVersion: { + name = versionToName dfVersion; + value = + let + # I can't believe this syntax works. Spikes of Nix code indeed... + dwarf-fortress = callPackage ./game.nix { + inherit dfVersion; + inherit dwarf-fortress-unfuck; + }; + + # unfuck is linux-only right now, we will only use it there. + dwarf-fortress-unfuck = + if stdenv.isLinux then callPackage ./unfuck.nix { inherit dfVersion; } + else null; + + twbt = callPackage ./twbt { inherit dfVersion; }; + + dfhack = callPackage ./dfhack { + inherit (perlPackages) XMLLibXML XMLLibXSLT; + inherit dfVersion twbt; + stdenv = gccStdenv; + }; + + dwarf-therapist = libsForQt5.callPackage ./dwarf-therapist/wrapper.nix { + inherit dwarf-fortress; + dwarf-therapist = dwarf-therapist-original; + }; + in + callPackage ./wrapper { + inherit (self) themes; + + dwarf-fortress = dwarf-fortress; + twbt = twbt; + dfhack = dfhack; + dwarf-therapist = dwarf-therapist; + + jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; - - # unfuck is linux-only right now, we will only use it there. - dwarf-fortress-unfuck = if stdenv.isLinux then callPackage ./unfuck.nix { inherit dfVersion; } - else null; - - twbt = callPackage ./twbt { inherit dfVersion; }; - - dfhack = callPackage ./dfhack { - inherit (pkgs.perlPackages) XMLLibXML XMLLibXSLT; - inherit dfVersion twbt; - stdenv = gccStdenv; - }; - - dwarf-therapist = callPackage ./dwarf-therapist/wrapper.nix { - inherit dwarf-fortress; - dwarf-therapist = dwarf-therapist-original; - }; - in - callPackage ./wrapper { - inherit (self) themes; - - dwarf-fortress = dwarf-fortress; - twbt = twbt; - dfhack = dfhack; - dwarf-therapist = dwarf-therapist; - - jdk = pkgs.jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 - }; - }) (lib.attrNames self.df-hashes)); + }) + (lib.attrNames self.df-hashes)); self = rec { df-hashes = builtins.fromJSON (builtins.readFile ./game.json); @@ -107,7 +110,7 @@ let soundSense = callPackage ./soundsense.nix { }; legends-browser = callPackage ./legends-browser { - jre = pkgs.jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 + jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 }; themes = recurseIntoAttrs (callPackage ./themes { @@ -119,4 +122,5 @@ let cla-theme = themes.cla; }; -in self // df-games +in +self // df-games |