Bug 272121 - [NEW PORT] sysutils/limine: Modern, advanced, portable, multiprotocol bootloader
Summary: [NEW PORT] sysutils/limine: Modern, advanced, portable, multiprotocol bootloader
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Joseph Mingrone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-21 03:33 UTC by mintsuki
Modified: 2023-09-29 15:46 UTC (History)
3 users (show)

See Also:


Attachments
New port patch (2.71 KB, patch)
2023-06-21 03:33 UTC, mintsuki
fuz: maintainer-approval+
Details | Diff
New port patch 2 (3.03 KB, patch)
2023-09-29 06:49 UTC, mintsuki
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mintsuki 2023-06-21 03:33:18 UTC
Created attachment 242909 [details]
New port patch

Initial port of the Limine bootloader which I am the main developer of.

Limine is a modern, advanced, portable, multiprotocol bootloader mainly targetting OS/kernel developers, but also capable of being a fast Linux bootloader, amongst other things.

Note that this isn't really meant to be for booting FreeBSD, that is not the main scope of this port. Limine can be used to generate ISOs and disk images containing itself alongside a custom kernel, Linux, or more.
Comment 1 Joseph Mingrone freebsd_committer freebsd_triage 2023-09-28 01:31:23 UTC
Thanks for submitting.

- We need an entry in sysutils/Makefile.  I can add it, but I mention it for your next port submission. :)

- Is USES=compiler:c11 necessary?  I believe the base compiler on all archs/versions supports the c11 standard.

- Is BUILD_DEPENDS=llvm15>=15.0:devel/llvm15 necessary?  The port builds fine without this dependency on 13.2/amd64 and a recent build from the main branch (amd64).

- The port fails to build on 12.4/amd64

clang -target riscv64-elf -g -O2 -pipe -g -Wall -Wextra -Wshadow -Wvla -Wno-error -std=gnu11 -nostdinc -ffreestanding -fno-stack-protector -fno-stack-check -fno-omit-frame-pointer -fno-strict-aliasing -fno-lto -fPIE -fshort-wchar -march=rv64imac -mabi=lp64 -I'/wrkdirs/usr/ports/sysutils/limine/work/limine-5.20230620.0/common-uefi-riscv64/limine-efi/inc' -I'/wrkdirs/usr/ports/sysutils/limine/work/limine-5.20230620.0/common-uefi-riscv64/limine-efi/inc/riscv64' -I../freestanding-headers -I'/wrkdirs/usr/ports/sysutils/limine/work/limine-5.20230620.0/common-uefi-riscv64/..' -I.  -DCOM_OUTPUT=false -DE9_OUTPUT=false -MMD -MP -DUEFI -D__riscv64 -x assembler-with-cpp -c 'sys/smp_trampoline.asm_riscv64' -o '/wrkdirs/usr/ports/sysutils/limine/work/limine-5.20230620.0/common-uefi-riscv64/./sys/smp_trampoline.o'
sys/smp_trampoline.asm_riscv64:56:4: error: unknown directive
0: .insn i 0x0F, 0, x0, x0, 0x010
Comment 2 mintsuki 2023-09-29 06:49:20 UTC
Created attachment 245319 [details]
New port patch 2
Comment 3 mintsuki 2023-09-29 06:51:43 UTC
Thanks for reviewing the patch!
I believe I have fixed all the issues that were raised in the comment.
Comment 4 commit-hook freebsd_committer freebsd_triage 2023-09-29 15:45:33 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=da5357de393c1423c2b7fef13df9555fce02f38c

commit da5357de393c1423c2b7fef13df9555fce02f38c
Author:     mintsuki <mintsuki@protonmail.com>
AuthorDate: 2023-09-29 06:40:00 +0000
Commit:     Joseph Mingrone <jrm@FreeBSD.org>
CommitDate: 2023-09-29 15:44:12 +0000

    sysutils/limine: Modern, advanced, portable, multiprotocol bootloader

    https://limine-bootloader.org/

    PR:             272121

 sysutils/Makefile               |  1 +
 sysutils/limine/Makefile (new)  | 24 ++++++++++++++++++++++++
 sysutils/limine/distinfo (new)  |  3 +++
 sysutils/limine/pkg-descr (new) |  3 +++
 sysutils/limine/pkg-plist (new) | 16 ++++++++++++++++
 5 files changed, 47 insertions(+)
Comment 5 Joseph Mingrone freebsd_committer freebsd_triage 2023-09-29 15:46:27 UTC
Thanks!  Committed (with some minor style tweaks from portclippy/portfmt).