build: Get rid of nix flake stuff

This commit is contained in:
mintsuki 2024-08-01 05:59:31 +02:00
parent df22413384
commit d40cec11f6
7 changed files with 4 additions and 158 deletions

View File

@ -14,5 +14,5 @@ max_line_length = 80
[{Makefile,GNUmakefile*}]
indent_style = tab
[{*.nix,*.toml,*.yml}]
[{*.toml,*.yml}]
indent_size = 2

1
.envrc
View File

@ -1 +0,0 @@
use flake

View File

@ -29,12 +29,3 @@ jobs:
- name: Build the bootloader (GNU, riscv64)
run: ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=riscv64-linux-gnu --enable-werror --enable-uefi-riscv64 && make all && make maintainer-clean
build_nix_shell:
name: Build with Nix shell toolchain
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cachix/install-nix-action@V27
- uses: DeterminateSystems/magic-nix-cache-action@main
- run: nix develop --command bash -c "./bootstrap && ./configure --enable-all && make -j $(nproc)"

5
.gitignore vendored
View File

@ -1,7 +1,6 @@
# We don't want to ignore the following files
!.clang-format
!.editorconfig
!.envrc
!.gitattributes
!.gitignore
!.typos.toml
@ -72,7 +71,3 @@ compile_commands.json
# clangd caches
/.clangd
/.cache/clangd
# Nix
/.direnv
/result*

View File

@ -87,18 +87,7 @@ Host utility binaries are provided for Windows.
*The following steps are not necessary if cloning a binary release. If so, skip to*
*"Installing Limine binaries".*
### Building with Nix
This repository provides [Nix](https://nixos.org/)-based tooling for a convenient
development environment and building Limine using Nix.
To use the regular build flow using a toolchain obtained by Nix, simply
run `$ nix develop` to open a Nix shell. Then follow the guide below,
skipping the "Prerequisites" step.
### Regular build
#### Prerequisites
### Prerequisites
In order to build Limine, the following programs have to be installed:
common UNIX tools (also known as `coreutils`),
@ -107,7 +96,7 @@ common UNIX tools (also known as `coreutils`),
Furthermore, `gcc` or `llvm/clang` must also be installed, alongside
the respective binutils.
#### Configure
### Configure
If using a release tarball (recommended, see https://github.com/limine-bootloader/limine/releases),
run `./configure` directly.
@ -125,7 +114,7 @@ Limine supports both in-tree and out-of-tree builds. Simply run the `configure`
script from the directory you wish to execute the build in. The following `make`
commands are supposed to be run inside the build directory.
#### Building Limine
### Building Limine
To build Limine, run:
```bash

View File

@ -1,65 +0,0 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1712014858,
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1712588820,
"narHash": "sha256-y31s5idk3jMJMAVE4Ud9AdI7HT3CgTAeMTJ0StqKN7Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d272ca50d1f7424fbfcd1e6f1c9e01d92f6da167",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1712666087,
"narHash": "sha256-WwjUkWsjlU8iUImbivlYxNyMB1L5YVqE8QotQdL9jWc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a76c4553d7e741e17f289224eda135423de0491d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable"
}
}
},
"root": "root",
"version": 7
}

View File

@ -1,63 +0,0 @@
# This flake is supposed to enable a convenient development environment.
# It is independent of any packaging in nixpkgs.
#
# See https://github.com/limine-bootloader/limine/issues/330 for more details
# regarding the packaging in nixpkgs.
{
description = "Limine";
inputs = {
flake-parts.url = "github:hercules-ci/flake-parts";
flake-parts.inputs.nixpkgs-lib.follows = "nixpkgs";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
};
outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, flake-parts }:
flake-parts.lib.mkFlake { inherit inputs; } {
flake = { };
# Don't artificially limit users at this point. If a build fails, they
# will notice it soon enough.
systems = nixpkgs.lib.systems.flakeExposed;
perSystem = { config, pkgs, ... }:
{
devShells = {
default = pkgs.mkShell {
packages = with pkgs; [
# Dependencies for ./bootstrap
autoconf
automake
# General build dependencies
cacert
git
mtools
nasm
pkg-config # Checked for by ./configure but seems unused?
# gcc toolchain (comes as default, here only for completeness)
binutils
gcc
gnumake
# llvm toolchain (with TOOLCHAIN_FOR_TARGET=llvm)
llvmPackages.bintools
llvmPackages.clang
llvmPackages.lld
# Nix
nixpkgs-fmt
# Misc
# typos is not yet frequently updated in the stable channel
nixpkgs-unstable.legacyPackages.${pkgs.system}.typos
];
};
};
# `$ nix fmt`
formatter = pkgs.nixpkgs-fmt;
};
};
}