setup nix source formatter
This commit is contained in:
parent
09e4e34c41
commit
b6b30d2c10
35
default.nix
35
default.nix
|
@ -1,9 +1,12 @@
|
|||
let sources = import ./nix/sources.nix;
|
||||
in { system ? builtins.currentSystem, nixpkgs ? sources.nixpkgs
|
||||
, multiversal_src ? if builtins.pathExists ./multiversal/make-multiverse.rb then
|
||||
in { system ? builtins.currentSystem
|
||||
, nixpkgs ? sources.nixpkgs
|
||||
, multiversal_src ? if builtins.pathExists ./multiversal/make-multiverse.rb then
|
||||
./multiversal
|
||||
else
|
||||
sources.multiversal, ... }:
|
||||
else
|
||||
sources.multiversal
|
||||
, ...
|
||||
}:
|
||||
|
||||
let
|
||||
retroPlatforms = import nix/platforms.nix;
|
||||
|
@ -22,17 +25,21 @@ let
|
|||
overlays = [ overlay ];
|
||||
};
|
||||
|
||||
crossPkgs = lib.mapAttrs (name: plat:
|
||||
crossPkgs = lib.mapAttrs
|
||||
(name: plat:
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
overlays = [ overlay ];
|
||||
crossSystem = plat;
|
||||
config = { allowUnsupportedSystem = true; };
|
||||
}) retroPlatforms;
|
||||
})
|
||||
retroPlatforms;
|
||||
targetPkgs = lib.mapAttrs (name: cross: cross.buildPackages) crossPkgs;
|
||||
|
||||
shell = lib.mapAttrs (name: cross:
|
||||
cross.mkShell {
|
||||
shell = lib.mapAttrs
|
||||
(name: cross:
|
||||
cross.mkShell
|
||||
{
|
||||
nativeBuildInputs = with overlaidPkgs; [
|
||||
retro68.hfsutils
|
||||
retro68.tools
|
||||
|
@ -40,12 +47,14 @@ let
|
|||
gnumake
|
||||
];
|
||||
buildInputs = [ cross.retro68.console ];
|
||||
} // cross) crossPkgs;
|
||||
} // cross)
|
||||
crossPkgs;
|
||||
|
||||
in builtins.trace
|
||||
"Warning: Retro68's default.nix is deprecated and will disappear soon. Please use the flake instead."
|
||||
(shell.m68k // shell // {
|
||||
in
|
||||
builtins.trace
|
||||
"Warning: Retro68's default.nix is deprecated and will disappear soon. Please use the flake instead."
|
||||
(shell.m68k // shell // {
|
||||
inherit overlay;
|
||||
inherit (overlaidPkgs) retro68;
|
||||
targetPkg = targetPkgs;
|
||||
})
|
||||
})
|
||||
|
|
|
@ -18,6 +18,8 @@
|
|||
{
|
||||
_module.args.pkgs = import nixpkgs { inherit system; overlays = [ self.overlays.default ]; };
|
||||
|
||||
formatter = pkgs.nixpkgs-fmt;
|
||||
|
||||
legacyPackages.pkgsCross = lib.mapAttrs
|
||||
(name: plat:
|
||||
import nixpkgs {
|
||||
|
@ -52,7 +54,7 @@
|
|||
tools = pkgs.retro68.tools;
|
||||
hfsutils = pkgs.retro68.hfsutils;
|
||||
|
||||
default = pkgs.runCommand "Retro68" {} ''
|
||||
default = pkgs.runCommand "Retro68" { } ''
|
||||
mkdir $out
|
||||
mkdir $out/m68k-apple-macos
|
||||
mkdir $out/powerpc-apple-macos
|
||||
|
@ -86,7 +88,8 @@
|
|||
overlays.default =
|
||||
lib.composeManyExtensions [
|
||||
((import nix/overlay.nix) {
|
||||
multiversal_src = if builtins.pathExists ./multiversal/make-multiverse.rb
|
||||
multiversal_src =
|
||||
if builtins.pathExists ./multiversal/make-multiverse.rb
|
||||
then ./multiversal
|
||||
else multiversal;
|
||||
})
|
||||
|
|
|
@ -75,11 +75,13 @@ pkgs: prevPkgs: {
|
|||
++ stdenv.targetPlatform.retro68BinutilsConfig or [ ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = let
|
||||
postInstall =
|
||||
let
|
||||
ld = "$out/bin/${stdenv.targetPlatform.config}-ld";
|
||||
ld_real = "$out/bin/${stdenv.targetPlatform.config}-ld.real";
|
||||
|
||||
in ''
|
||||
in
|
||||
''
|
||||
mv ${ld} ${ld_real}
|
||||
|
||||
echo "#!${stdenv.shell}" > ${ld}
|
||||
|
@ -117,7 +119,7 @@ pkgs: prevPkgs: {
|
|||
make -j$NIX_BUILD_CORES
|
||||
make install
|
||||
'';
|
||||
env.CXXFLAGS="--std=c++14"; # gcc 9 doesn't seem to like C++17
|
||||
env.CXXFLAGS = "--std=c++14"; # gcc 9 doesn't seem to like C++17
|
||||
};
|
||||
|
||||
# binutils -- binutils with the wrappers provided by nixpkgs
|
||||
|
@ -147,7 +149,8 @@ pkgs: prevPkgs: {
|
|||
|
||||
} // prevPkgs.lib.optionalAttrs (prevPkgs.hostPlatform ? retro68) {
|
||||
|
||||
setup_hook = let
|
||||
setup_hook =
|
||||
let
|
||||
systemName = pkgs.targetPlatform.cmakeSystemName;
|
||||
toolchain = pkgs.writeTextFile {
|
||||
name = "retro68.cmake-toolchain";
|
||||
|
@ -194,7 +197,8 @@ pkgs: prevPkgs: {
|
|||
export RETRO68_REAL_LD="${pkgs.buildPackages.retro68.binutils_unwrapped}/bin/m68k-apple-macos-ld.real"
|
||||
'');
|
||||
};
|
||||
in pkgs.makeSetupHook { name = "retro68.setup_hook"; } hook;
|
||||
in
|
||||
pkgs.makeSetupHook { name = "retro68.setup_hook"; } hook;
|
||||
|
||||
# ----------- Retro68 core libraries -------------
|
||||
|
||||
|
@ -221,7 +225,8 @@ pkgs: prevPkgs: {
|
|||
|
||||
import_libraries = with pkgs;
|
||||
if stdenvNoCC.targetPlatform.system != "m68k-macos" then
|
||||
stdenvNoCC.mkDerivation {
|
||||
stdenvNoCC.mkDerivation
|
||||
{
|
||||
name = "retro68.import_libraries";
|
||||
src = ../ImportLibraries;
|
||||
buildCommand = ''
|
||||
|
@ -243,7 +248,8 @@ pkgs: prevPkgs: {
|
|||
set(CMAKE_CROSSCOMPILING TRUE)
|
||||
'';
|
||||
};
|
||||
in (pkgs.stdenv.override {
|
||||
in
|
||||
(pkgs.stdenv.override {
|
||||
cc = stdenv.cc.override { extraPackages = [ ]; };
|
||||
}).mkDerivation {
|
||||
name = "libretro";
|
||||
|
@ -279,13 +285,15 @@ pkgs: prevPkgs: {
|
|||
# binutils -- binutils with the wrappers provided by nixpkgs
|
||||
# note: on nix/darwin (as of nixpkgs 23.11), nixpkgs seems to
|
||||
# ignore (or re-override) this override.
|
||||
binutils = if (prevPkgs.targetPlatform ? retro68) then
|
||||
binutils =
|
||||
if (prevPkgs.targetPlatform ? retro68) then
|
||||
pkgs.retro68.binutils
|
||||
else
|
||||
prevPkgs.binutils;
|
||||
|
||||
# gcc -- gcc with the wrappers provided by nixpkgs
|
||||
gcc = if (prevPkgs.targetPlatform ? retro68) then
|
||||
gcc =
|
||||
if (prevPkgs.targetPlatform ? retro68) then
|
||||
pkgs.retro68.gcc
|
||||
else
|
||||
prevPkgs.gcc;
|
||||
|
|
|
@ -2,7 +2,8 @@ pkgs: prevPkgs: {
|
|||
retro68 = prevPkgs.retro68.overrideScope' (self: prevRetro: {
|
||||
samples = with pkgs;
|
||||
let
|
||||
individualSamples = lib.mapAttrs (key: path:
|
||||
individualSamples = lib.mapAttrs
|
||||
(key: path:
|
||||
stdenv.mkDerivation {
|
||||
name = "retro68.samples." + key;
|
||||
src = path;
|
||||
|
@ -13,7 +14,8 @@ pkgs: prevPkgs: {
|
|||
cp *.bin $out/
|
||||
rm -f $out/*.code.bin $out/*.rsrc.bin
|
||||
'';
|
||||
}) ({
|
||||
})
|
||||
({
|
||||
dialog = ../Samples/Dialog;
|
||||
helloworld = ../Samples/HelloWorld;
|
||||
raytracer = ../Samples/Raytracer;
|
||||
|
@ -26,7 +28,8 @@ pkgs: prevPkgs: {
|
|||
systemextension = ../Samples/SystemExtension;
|
||||
launcher = ../Samples/Launcher;
|
||||
}) // { launchapplserver = self.launchapplserver; };
|
||||
in runCommand "retro68.samples" { } ''
|
||||
in
|
||||
runCommand "retro68.samples" { } ''
|
||||
mkdir -p $out/
|
||||
|
||||
${lib.concatMapStrings (x: ''
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
pkgs: prevPkgs:
|
||||
{
|
||||
retro68 = if !(prevPkgs.hostPlatform ? retro68) then
|
||||
retro68 =
|
||||
if !(prevPkgs.hostPlatform ? retro68) then
|
||||
prevPkgs.retro68
|
||||
else
|
||||
prevPkgs.retro68.overrideScope' (self: prevRetro: {
|
||||
|
|
Loading…
Reference in New Issue