mirror of
https://github.com/limine-bootloader/limine
synced 2024-11-28 11:23:09 +03:00
build: Get rid of nix flake stuff
This commit is contained in:
parent
df22413384
commit
d40cec11f6
@ -14,5 +14,5 @@ max_line_length = 80
|
||||
[{Makefile,GNUmakefile*}]
|
||||
indent_style = tab
|
||||
|
||||
[{*.nix,*.toml,*.yml}]
|
||||
[{*.toml,*.yml}]
|
||||
indent_size = 2
|
||||
|
9
.github/workflows/check.yml
vendored
9
.github/workflows/check.yml
vendored
@ -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
5
.gitignore
vendored
@ -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*
|
||||
|
17
README.md
17
README.md
@ -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
|
||||
|
65
flake.lock
65
flake.lock
@ -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
|
||||
}
|
63
flake.nix
63
flake.nix
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user