├── .gitignore ├── .gitmodules ├── LICENSE ├── Makefile ├── README.md ├── distro-files ├── etc │ ├── default │ │ └── useradd │ ├── group │ ├── hostname │ ├── hosts │ ├── issue │ ├── localtime │ ├── passwd │ ├── profile │ ├── rc │ ├── shells │ ├── skel │ │ ├── .Xdefaults │ │ ├── .curlrc │ │ ├── hello.asm │ │ ├── hello.c │ │ ├── hello.cpp │ │ └── hello.sh │ └── xorg.conf ├── home │ └── astral │ │ ├── .Xdefaults │ │ ├── .curlrc │ │ ├── hello.asm │ │ ├── hello.c │ │ ├── hello.cpp │ │ └── hello.sh ├── root │ ├── .Xdefaults │ ├── .curlrc │ ├── hello.asm │ ├── hello.c │ ├── hello.cpp │ └── hello.sh └── usr │ ├── libexec │ └── astral │ │ └── startwm │ └── share │ └── games │ ├── doom │ └── DOOM1.WAD │ └── quake │ └── id1 │ └── pak0.pak ├── genbootimg.sh ├── gendisk.sh ├── geninitrd.sh ├── host-recipes ├── autoconf ├── autoconf-archive ├── automake ├── cmake ├── fontutil ├── freetype ├── host-openjdk-bin ├── libstdc++-v3 ├── libtool ├── limine ├── pkgconfig ├── python ├── util-macros ├── wine ├── xbinutils ├── xgcc ├── xorgproto └── xtrans ├── jinx-config ├── kernel-src ├── Makefile ├── arch │ └── x86-64 │ │ ├── acpi.c │ │ ├── apic.c │ │ ├── archctl.c │ │ ├── context.asm │ │ ├── cpu.c │ │ ├── e9.c │ │ ├── gdt.c │ │ ├── hpet.c │ │ ├── idt.c │ │ ├── isr.asm │ │ ├── kernel.ld │ │ ├── kvmclock.c │ │ ├── main.c │ │ ├── mmu.c │ │ ├── ps2.c │ │ ├── ps2kbd.c │ │ ├── ps2mouse.c │ │ ├── smp.c │ │ ├── syscall.asm │ │ ├── syscalllog.c │ │ └── tsc.c ├── fs │ ├── devfs.c │ ├── ext2.c │ ├── file.c │ ├── initrd.c │ ├── pipefs.c │ ├── sockfs.c │ ├── tmpfs.c │ └── vfs.c ├── include │ ├── errno.h │ ├── hashtable.h │ ├── kernel │ │ ├── abi.h │ │ ├── acpi.h │ │ ├── alloc.h │ │ ├── auth.h │ │ ├── block.h │ │ ├── cmdline.h │ │ ├── console.h │ │ ├── cred.h │ │ ├── defaultauth.h │ │ ├── devfs.h │ │ ├── dpc.h │ │ ├── elf.h │ │ ├── eth.h │ │ ├── event.h │ │ ├── ext2.h │ │ ├── fb.h │ │ ├── file.h │ │ ├── hda.h │ │ ├── initrd.h │ │ ├── interrupt.h │ │ ├── iovec.h │ │ ├── itimer.h │ │ ├── jobctl.h │ │ ├── keyboard.h │ │ ├── mouse.h │ │ ├── net.h │ │ ├── nvme.h │ │ ├── pci.h │ │ ├── pgcache.h │ │ ├── pipefs.h │ │ ├── pmm.h │ │ ├── poll.h │ │ ├── proc.h │ │ ├── pseudodevices.h │ │ ├── pty.h │ │ ├── scheduler.h │ │ ├── signal.h │ │ ├── slab.h │ │ ├── sock.h │ │ ├── syscalls.h │ │ ├── term.h │ │ ├── thread.h │ │ ├── timekeeper.h │ │ ├── timer.h │ │ ├── tmpfs.h │ │ ├── topology.h │ │ ├── tty.h │ │ ├── usercopy.h │ │ ├── vfs.h │ │ ├── virtio.h │ │ ├── vmm.h │ │ └── vmmcache.h │ ├── logging.h │ ├── mutex.h │ ├── panic.h │ ├── pushlock.h │ ├── ringbuffer.h │ ├── semaphore.h │ ├── spinlock.h │ ├── string.h │ ├── termios.h │ ├── time.h │ ├── uacpi_libc.h │ ├── util.h │ └── x86-64 │ │ └── arch │ │ ├── apic.h │ │ ├── context.h │ │ ├── cpu.h │ │ ├── cpuid.h │ │ ├── e9.h │ │ ├── gdt.h │ │ ├── hpet.h │ │ ├── idt.h │ │ ├── io.h │ │ ├── ist.h │ │ ├── mmu.h │ │ ├── msr.h │ │ ├── pci.h │ │ ├── ps2.h │ │ ├── ps2kbd.h │ │ ├── ps2mouse.h │ │ ├── signal.h │ │ ├── smp.h │ │ └── tsc.h ├── io │ ├── acpi │ │ ├── acpi.c │ │ ├── dev.c │ │ └── glue.c │ ├── audio │ │ └── hda.c │ ├── block │ │ ├── block.c │ │ ├── nvme.c │ │ └── vioblk.c │ ├── console.c │ ├── fb.c │ ├── iovec.c │ ├── keyboard.c │ ├── logging.c │ ├── mouse.c │ ├── net │ │ ├── arp.c │ │ ├── eth.c │ │ ├── ipv4.c │ │ ├── localsocket.c │ │ ├── loopback.c │ │ ├── netdev.c │ │ ├── socket.c │ │ ├── tcp.c │ │ ├── udp.c │ │ └── vionet.c │ ├── pci.c │ ├── poll.c │ ├── pseudodevices.c │ ├── pty.c │ ├── term.c │ ├── tty.c │ └── virtio.c ├── lib │ ├── hashtable.c │ ├── panic.c │ ├── pushlock.c │ ├── ringbuffer.c │ ├── semaphore.c │ ├── string.c │ ├── ubsan.c │ └── util.c ├── mm │ ├── alloc.c │ ├── pmm.c │ ├── slab.c │ ├── usercopy.c │ ├── vmm.c │ └── vmmcache.c └── sys │ ├── auth.c │ ├── cmdline.c │ ├── cred.c │ ├── defaultauth.c │ ├── dpc.c │ ├── elf.c │ ├── interrupt.c │ ├── itimer.c │ ├── jobctl.c │ ├── proc.c │ ├── scheduler │ └── scheduler.c │ ├── signal.c │ ├── syscalls │ ├── accept.c │ ├── bind.c │ ├── chdir.c │ ├── chmod.c │ ├── chroot.c │ ├── clockget.c │ ├── close.c │ ├── connect.c │ ├── dup.c │ ├── execve.c │ ├── exit.c │ ├── faccessat.c │ ├── fchownat.c │ ├── fcntl.c │ ├── fork.c │ ├── futex.c │ ├── getdent.c │ ├── getpeername.c │ ├── getpid.c │ ├── getresgid.c │ ├── getresuid.c │ ├── getsockname.c │ ├── gettid.c │ ├── hostname.c │ ├── invalid.c │ ├── ioctl.c │ ├── isatty.c │ ├── kill.c │ ├── killthread.c │ ├── linkat.c │ ├── listen.c │ ├── mkdirat.c │ ├── mknodat.c │ ├── mmap.c │ ├── mount.c │ ├── mprotect.c │ ├── munmap.c │ ├── newthread.c │ ├── open.c │ ├── pause.c │ ├── pipe2.c │ ├── poll.c │ ├── pread.c │ ├── print.c │ ├── pwrite.c │ ├── read.c │ ├── readlinkat.c │ ├── recvmsg.c │ ├── renameat.c │ ├── seek.c │ ├── sendmsg.c │ ├── setitimer.c │ ├── setpid.c │ ├── setresgid.c │ ├── setresuid.c │ ├── setsockopt.c │ ├── shutdown.c │ ├── sigaction.c │ ├── sigaltstack.c │ ├── sigpending.c │ ├── sigprocmask.c │ ├── sigreturn.c │ ├── sigsuspend.c │ ├── sigtimedwait.c │ ├── sleep.c │ ├── socket.c │ ├── socketpair.c │ ├── stat.c │ ├── sync.c │ ├── threadexit.c │ ├── truncate.c │ ├── umask.c │ ├── uname.c │ ├── unlinkat.c │ ├── utime.c │ ├── waitpid.c │ └── write.c │ ├── thread.c │ ├── timekeeper.c │ ├── timer.c │ └── topology.c ├── limine.conf ├── liminebg.bmp ├── patches ├── ace-of-penguins │ └── jinx-working-patch.patch ├── alsa-lib │ └── jinx-working-patch.patch ├── automake │ └── jinx-working-patch.patch ├── bash │ └── jinx-working-patch.patch ├── binutils │ └── jinx-working-patch.patch ├── bzip2 │ └── jinx-working-patch.patch ├── coreutils │ └── jinx-working-patch.patch ├── diffutils │ └── jinx-working-patch.patch ├── doomgeneric │ └── jinx-working-patch.patch ├── e2fsprogs │ └── jinx-working-patch.patch ├── fontconfig │ └── jinx-working-patch.patch ├── fvwm │ └── jinx-working-patch.patch ├── gawk │ └── jinx-working-patch.patch ├── gcc │ └── jinx-working-patch.patch ├── git │ └── jinx-working-patch.patch ├── grep │ └── jinx-working-patch.patch ├── libevent │ └── jinx-working-patch.patch ├── libgpg-error │ └── jinx-working-patch.patch ├── libtool │ └── jinx-working-patch.patch ├── libxcb │ └── jinx-working-patch.patch ├── limine │ └── jinx-working-patch.patch ├── llvm │ └── jinx-working-patch.patch ├── make-ca │ └── jinx-working-patch.patch ├── make │ └── jinx-working-patch.patch ├── mesa-demos │ └── jinx-working-patch.patch ├── mesa │ └── jinx-working-patch.patch ├── mlibc │ └── jinx-working-patch.patch ├── nasm │ └── jinx-working-patch.patch ├── ncurses │ └── jinx-working-patch.patch ├── neofetch │ └── jinx-working-patch.patch ├── nyancat │ └── jinx-working-patch.patch ├── openjdk17 │ └── jinx-working-patch.patch ├── openssh │ └── jinx-working-patch.patch ├── openssl │ └── jinx-working-patch.patch ├── oss │ └── jinx-working-patch.patch ├── python │ └── jinx-working-patch.patch ├── qemu │ └── jinx-working-patch.patch ├── readline │ └── jinx-working-patch.patch ├── shadow │ └── jinx-working-patch.patch ├── sudo │ └── jinx-working-patch.patch ├── tar │ └── jinx-working-patch.patch ├── tyrquake │ └── jinx-working-patch.patch ├── vim │ └── jinx-working-patch.patch ├── wine │ └── jinx-working-patch.patch ├── xclock │ └── jinx-working-patch.patch ├── xedit │ └── jinx-working-patch.patch ├── xf86-input-keyboard │ └── jinx-working-patch.patch ├── xf86-input-mouse │ └── jinx-working-patch.patch ├── xf86-video-fbdev │ └── jinx-working-patch.patch ├── xorg-server │ └── jinx-working-patch.patch ├── xorgproto │ └── jinx-working-patch.patch ├── xscreensaver │ └── jinx-working-patch.patch ├── xterm │ └── jinx-working-patch.patch ├── xz │ └── jinx-working-patch.patch └── zlib │ └── jinx-working-patch.patch ├── recipes ├── ace-of-penguins ├── alsa-lib ├── astral ├── base ├── bash ├── binutils ├── bzip2 ├── coreutils ├── cups ├── curl ├── diffutils ├── distro-files ├── doomgeneric ├── doomgeneric-x11 ├── e2fsprogs ├── file ├── findutils ├── fontconfig ├── fontutil ├── freestnd-c-hdrs ├── freestnd-cxx-hdrs ├── freetype ├── frigg ├── fvwm ├── gawk ├── gcc ├── gettext ├── git ├── glib ├── glu ├── gmp ├── grep ├── gzip ├── imlib2 ├── init ├── less ├── libXau ├── libXdmcp ├── libevent ├── libexpat ├── libffi ├── libfontenc ├── libgcrypt ├── libgpg-error ├── libice ├── libiconv ├── libintl ├── libjpeg-turbo ├── libpng ├── libsm ├── libstb ├── libx11 ├── libxaw ├── libxcb ├── libxcrypt ├── libxcursor ├── libxcvt ├── libxdamage ├── libxext ├── libxfixes ├── libxfont2 ├── libxft ├── libxi ├── libxinerama ├── libxml ├── libxmu ├── libxpm ├── libxrandr ├── libxrender ├── libxt ├── libxtst ├── libxxf86vm ├── limine ├── links ├── linux-headers ├── llvm ├── make ├── make-ca ├── mesa ├── mesa-demos ├── mkfontscale ├── mlibc ├── mlibc-headers ├── mount ├── mpc ├── mpfr ├── nano ├── nasm ├── ncurses ├── neofetch ├── netd ├── nyancat ├── openjdk17 ├── openssh ├── openssl ├── oss ├── pcre2 ├── pixman ├── python ├── qemu ├── readline ├── sdl2 ├── sed ├── shadow ├── sudo ├── tar ├── twm ├── tyrquake ├── util-macros ├── vim ├── wget ├── wine ├── xauth ├── xbitmaps ├── xcb-proto ├── xclock ├── xedit ├── xev ├── xeyes ├── xf86-input-keyboard ├── xf86-input-mouse ├── xf86-video-fbdev ├── xfishtank ├── xfontalias ├── xfontmiscethipic ├── xfontmiscmisc ├── xkbcomp ├── xkbfile ├── xkeyboardconfig ├── xneko ├── xorg-server ├── xorgproto ├── xrandr ├── xscreensaver ├── xsetroot ├── xterm ├── xtrans └── zlib ├── screenshots ├── Xgames.png ├── console.png └── fvwm3.png ├── source-recipes ├── ace-of-penguins ├── alsa-lib ├── astral ├── autoconf ├── autoconf-archive ├── automake ├── bash ├── binutils ├── bzip2 ├── cmake ├── coreutils ├── cups ├── curl ├── diffutils ├── distro-files ├── doomgeneric ├── e2fsprogs ├── file ├── findutils ├── fontconfig ├── fontutil ├── freestnd-c-hdrs ├── freestnd-cxx-hdrs ├── freetype ├── frigg ├── fvwm ├── gawk ├── gcc ├── gettext ├── git ├── glib ├── glu ├── gmp ├── grep ├── gzip ├── host-openjdk-bin ├── imlib2 ├── init ├── less ├── libXau ├── libXdmcp ├── libevent ├── libexpat ├── libffi ├── libfontenc ├── libgcrypt ├── libgpg-error ├── libice ├── libiconv ├── libjpeg-turbo ├── libpng ├── libsm ├── libstb ├── libtool ├── libx11 ├── libxaw ├── libxcb ├── libxcrypt ├── libxcursor ├── libxcvt ├── libxdamage ├── libxext ├── libxfixes ├── libxfont2 ├── libxft ├── libxi ├── libxinerama ├── libxml ├── libxmu ├── libxpm ├── libxrandr ├── libxrender ├── libxt ├── libxtst ├── libxxf86vm ├── limine ├── links ├── linux ├── llvm ├── make ├── make-ca ├── mesa ├── mesa-demos ├── mkfontscale ├── mlibc ├── mount ├── mpc ├── mpfr ├── nano ├── nasm ├── ncurses ├── neofetch ├── netd ├── nyancat ├── openjdk17 ├── openssh ├── openssl ├── oss ├── pcre2 ├── pixman ├── pkgconfig ├── python ├── qemu ├── readline ├── sdl2 ├── sed ├── shadow ├── sudo ├── tar ├── twm ├── tyrquake ├── util-macros ├── vim ├── wget ├── wine ├── xauth ├── xbitmaps ├── xcb-proto ├── xclock ├── xedit ├── xev ├── xeyes ├── xf86-input-keyboard ├── xf86-input-mouse ├── xf86-video-fbdev ├── xfishtank ├── xfontalias ├── xfontmiscethipic ├── xfontmiscmisc ├── xkbcomp ├── xkbfile ├── xkeyboardconfig ├── xneko ├── xorg-server ├── xorgproto ├── xrandr ├── xscreensaver ├── xsetroot ├── xterm ├── xtrans └── zlib ├── tools ├── init │ ├── Makefile │ ├── acpid.c │ ├── common.h │ ├── main.c │ ├── poweroff.c │ └── reboot.c ├── mount │ ├── Makefile │ └── main.c └── netd │ ├── Makefile │ └── main.c └── util ├── cmake ├── crossfile └── llvmconfig /.gitignore: -------------------------------------------------------------------------------- 1 | .jinx-cache 2 | builds 3 | host-builds 4 | host-pkgs 5 | iso 6 | img 7 | jinx 8 | pkgs 9 | sources 10 | astral.iso 11 | astral-bootable.img 12 | kernel-src/include/limine.h 13 | kernel-src/include/printf.h 14 | kernel-src/include/build.h 15 | kernel-src/io/printf.c 16 | kernel-src/flanterm 17 | sysroot 18 | minimalsysroot 19 | tools/init/init 20 | tools/init/main.o 21 | tools/mount/mount 22 | tools/mount/main.o 23 | tools/netd/main.o 24 | tools/netd/netd 25 | tools/init/poweroff 26 | tools/init/poweroff.o 27 | tools/init/reboot 28 | tools/init/reboot.o 29 | tools/init/acpid 30 | tools/init/acpid.o 31 | initrds 32 | hdd.img 33 | netdump.dat 34 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "kernel-src/io/acpi/uacpi"] 2 | path = kernel-src/io/acpi/uacpi 3 | url = https://github.com/UltraOS/uACPI 4 | -------------------------------------------------------------------------------- /distro-files/etc/default/useradd: -------------------------------------------------------------------------------- 1 | GROUP=999 2 | HOME=/home 3 | INACTIVE=-1 4 | EXPIRE= 5 | SHELL=/usr/bin/bash 6 | SKEL=/etc/skel 7 | CREATE_MAIL_SPOOL=no 8 | LOG_INIT=yes 9 | -------------------------------------------------------------------------------- /distro-files/etc/group: -------------------------------------------------------------------------------- 1 | root::0:root 2 | sshd::100:sshd 3 | unknown::999:unknown 4 | astral::1000:astral 5 | -------------------------------------------------------------------------------- /distro-files/etc/hostname: -------------------------------------------------------------------------------- 1 | astral 2 | -------------------------------------------------------------------------------- /distro-files/etc/hosts: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | 127.0.0.1 astral 3 | -------------------------------------------------------------------------------- /distro-files/etc/issue: -------------------------------------------------------------------------------- 1 | 2 | Password for the astral user is: astral 3 | Password for the root user is: root 4 | To start a graphical environment, run: startwm 5 | -------------------------------------------------------------------------------- /distro-files/etc/localtime: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mathewnd/Astral/0358d37820a6e9676b12b09a36bf1c256bc53302/distro-files/etc/localtime -------------------------------------------------------------------------------- /distro-files/etc/passwd: -------------------------------------------------------------------------------- 1 | root:$6$Y60.qkhq.v3jWUVR$UyDvutrBYQNNhX1VvIrX2O7CcRPxuZ8EqyBktx7RG1nXzgXi7QHj3khzl14jxfKx45DpbVMIOXJziW2GqsOss.:0:0:root:/root:/usr/bin/bash 2 | sshd::100:100:sshd privsep:/var/lib/ssh:/usr/bin/false 3 | astral:$6$se/T4Wiigv5GmnhV$O0u5pgb57Oq5Of7.W5RkRFCjHsHFdqhnbWISKfv5n9REDUyKu0QsITlVQHG91ctn/PAxoYQ.d1HybLqFji3RH.:1000:1000::/home/astral:/usr/bin/bash 4 | -------------------------------------------------------------------------------- /distro-files/etc/profile: -------------------------------------------------------------------------------- 1 | NORMAL="\[\e[0m\]" 2 | RED="\[\e[1;31m\]" 3 | GREEN="\[\e[1;32m\]" 4 | BLUE="\[\e[1;36m\]" 5 | WHITE="\[\e[1;37m\]" 6 | PS1="$GREEN\u$NORMAL@$BLUE\h$NORMAL:$WHITE\w$NORMAL>" 7 | 8 | alias ls="ls --color=auto" 9 | alias grep="grep --color=auto" 10 | 11 | if [ $(tty) == "/dev/console" ] 12 | then 13 | alias startwm="exec /usr/libexec/astral/startwm" 14 | fi 15 | -------------------------------------------------------------------------------- /distro-files/etc/rc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | mkdir -p /dev 3 | mount /dev devfs 4 | chmod 0755 /dev 5 | 6 | mkdir -p /dev/shm 7 | mount /dev/shm tmpfs 8 | chmod 1777 /dev/shm 9 | 10 | mkdir -p /tmp 11 | mount /tmp tmpfs 12 | chmod 1777 /tmp 13 | 14 | chmod 0755 /dev/pts 15 | 16 | # required to be owned by root and sticky for rootless Xorg. 17 | mkdir -p /tmp/.X11-unix 18 | chmod 1777 /tmp/.X11-unix 19 | 20 | /usr/sbin/acpid 21 | -------------------------------------------------------------------------------- /distro-files/etc/shells: -------------------------------------------------------------------------------- 1 | /usr/bin/bash 2 | /bin/sh 3 | -------------------------------------------------------------------------------- /distro-files/etc/skel/.Xdefaults: -------------------------------------------------------------------------------- 1 | xterm*background: black 2 | xterm*foreground: white 3 | -------------------------------------------------------------------------------- /distro-files/etc/skel/.curlrc: -------------------------------------------------------------------------------- 1 | --ipv4 2 | -------------------------------------------------------------------------------- /distro-files/etc/skel/hello.asm: -------------------------------------------------------------------------------- 1 | section .text 2 | global _start 3 | _start: 4 | mov rax, 7 5 | mov rdi, 1 6 | mov rsi, msg 7 | mov rdx, 14 8 | syscall 9 | mov rax, 13 10 | xor rdi, rdi 11 | syscall 12 | section .data 13 | msg: db "Hello, world!", 0xA 14 | -------------------------------------------------------------------------------- /distro-files/etc/skel/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(){ 4 | printf("Hello, world!\n"); 5 | } 6 | -------------------------------------------------------------------------------- /distro-files/etc/skel/hello.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(){ 4 | std::cout << "Hello, world!" << std::endl; 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /distro-files/etc/skel/hello.sh: -------------------------------------------------------------------------------- 1 | echo Hello, World! 2 | -------------------------------------------------------------------------------- /distro-files/etc/xorg.conf: -------------------------------------------------------------------------------- 1 | Section "Module" 2 | Load "fbdev" 3 | EndSection 4 | 5 | Section "Device" 6 | Identifier "Card0" 7 | Driver "fbdev" 8 | EndSection 9 | 10 | Section "InputDevice" 11 | Identifier "Keyboard" 12 | Driver "kbd" 13 | Option "Device" "/dev/keyboard" 14 | Option "Protocol" "Standard" 15 | EndSection 16 | -------------------------------------------------------------------------------- /distro-files/home/astral/.Xdefaults: -------------------------------------------------------------------------------- 1 | xterm*background: black 2 | xterm*foreground: white 3 | -------------------------------------------------------------------------------- /distro-files/home/astral/.curlrc: -------------------------------------------------------------------------------- 1 | --ipv4 2 | -------------------------------------------------------------------------------- /distro-files/home/astral/hello.asm: -------------------------------------------------------------------------------- 1 | section .text 2 | global _start 3 | _start: 4 | mov rax, 7 5 | mov rdi, 1 6 | mov rsi, msg 7 | mov rdx, 14 8 | syscall 9 | mov rax, 13 10 | xor rdi, rdi 11 | syscall 12 | section .data 13 | msg: db "Hello, world!", 0xA 14 | -------------------------------------------------------------------------------- /distro-files/home/astral/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(){ 4 | printf("Hello, world!\n"); 5 | } 6 | -------------------------------------------------------------------------------- /distro-files/home/astral/hello.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(){ 4 | std::cout << "Hello, world!" << std::endl; 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /distro-files/home/astral/hello.sh: -------------------------------------------------------------------------------- 1 | echo Hello, World! 2 | -------------------------------------------------------------------------------- /distro-files/root/.Xdefaults: -------------------------------------------------------------------------------- 1 | xterm*background: black 2 | xterm*foreground: white 3 | -------------------------------------------------------------------------------- /distro-files/root/.curlrc: -------------------------------------------------------------------------------- 1 | --ipv4 2 | -------------------------------------------------------------------------------- /distro-files/root/hello.asm: -------------------------------------------------------------------------------- 1 | section .text 2 | global _start 3 | _start: 4 | mov rax, 7 5 | mov rdi, 1 6 | mov rsi, msg 7 | mov rdx, 14 8 | syscall 9 | mov rax, 13 10 | xor rdi, rdi 11 | syscall 12 | section .data 13 | msg: db "Hello, world!", 0xA 14 | -------------------------------------------------------------------------------- /distro-files/root/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(){ 4 | printf("Hello, world!\n"); 5 | } 6 | -------------------------------------------------------------------------------- /distro-files/root/hello.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main(){ 4 | std::cout << "Hello, world!" << std::endl; 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /distro-files/root/hello.sh: -------------------------------------------------------------------------------- 1 | echo Hello, World! 2 | -------------------------------------------------------------------------------- /distro-files/usr/libexec/astral/startwm: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | export DISPLAY=":0" 3 | X & 4 | while [ 1 ] 5 | do 6 | if [ -S /tmp/.X11-unix/X0 ] 7 | then 8 | break 9 | fi 10 | 11 | if [ $SECONDS -gt 15 ] 12 | then 13 | echo timeout 14 | exit 1 15 | fi 16 | 17 | sleep 0.5 18 | done 19 | stty -echo -echoctl -isig -icanon min 0 time 0 20 | xterm -e "bash -l" & &> /tmp/.xtermstderr > /tmp/.xtermstdout 21 | fvwm3 &> /tmp/.fvwm3stderr > /tmp/.fvwm3stdout 22 | stty -echo -echoctl -isig -icanon min 0 time 0 23 | cat - 24 | -------------------------------------------------------------------------------- /distro-files/usr/share/games/doom/DOOM1.WAD: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mathewnd/Astral/0358d37820a6e9676b12b09a36bf1c256bc53302/distro-files/usr/share/games/doom/DOOM1.WAD -------------------------------------------------------------------------------- /distro-files/usr/share/games/quake/id1/pak0.pak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mathewnd/Astral/0358d37820a6e9676b12b09a36bf1c256bc53302/distro-files/usr/share/games/quake/id1/pak0.pak -------------------------------------------------------------------------------- /host-recipes/autoconf: -------------------------------------------------------------------------------- 1 | name=autoconf 2 | revision=1 3 | from_source=autoconf 4 | imagedeps="gcc" 5 | 6 | configure() { 7 | ${source_dir}/configure --prefix=${prefix} 8 | } 9 | 10 | build() { 11 | make -j${parallelism} 12 | } 13 | 14 | package() { 15 | make install DESTDIR="${dest_dir}" 16 | } 17 | -------------------------------------------------------------------------------- /host-recipes/autoconf-archive: -------------------------------------------------------------------------------- 1 | name=autoconf-archive 2 | revision=1 3 | from_source=autoconf-archive 4 | imagedeps="gcc" 5 | 6 | configure() { 7 | ${source_dir}/configure --prefix=${prefix} 8 | } 9 | 10 | build() { 11 | make -j${parallelism} 12 | } 13 | 14 | package() { 15 | make install DESTDIR="${dest_dir}" 16 | } 17 | -------------------------------------------------------------------------------- /host-recipes/automake: -------------------------------------------------------------------------------- 1 | name=automake 2 | revision=1 3 | from_source=automake 4 | imagedeps="gcc" 5 | hostdeps="autoconf" 6 | 7 | configure() { 8 | ${source_dir}/configure --prefix=${prefix} 9 | } 10 | 11 | build() { 12 | make -j${parallelism} 13 | } 14 | 15 | package() { 16 | DESTDIR="${dest_dir}" make install 17 | } 18 | -------------------------------------------------------------------------------- /host-recipes/cmake: -------------------------------------------------------------------------------- 1 | name=cmake 2 | revision=1 3 | from_source=cmake 4 | imagedeps="gcc build-essential libssl-dev" 5 | 6 | configure() { 7 | ${source_dir}/configure --prefix=${prefix} --parallel=${parallelism} 8 | } 9 | 10 | build() { 11 | make -j${parallelism} 12 | } 13 | 14 | package() { 15 | DESTDIR="${dest_dir}" make install 16 | echo "include(Platform/UnixPaths)" > ${dest_dir}${prefix}/share/cmake-3.29/Modules/Platform/Astral.cmake 17 | } 18 | -------------------------------------------------------------------------------- /host-recipes/fontutil: -------------------------------------------------------------------------------- 1 | name=fontutil 2 | revision=1 3 | from_source=fontutil 4 | imagedeps="gcc build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros xorgproto" 6 | 7 | configure() { 8 | ${source_dir}/configure --prefix=${prefix} 9 | } 10 | 11 | build() { 12 | make -j${parallelism} 13 | } 14 | 15 | package() { 16 | 17 | make install DESTDIR=${dest_dir} 18 | 19 | } 20 | -------------------------------------------------------------------------------- /host-recipes/freetype: -------------------------------------------------------------------------------- 1 | name=freetype 2 | revision=1 3 | from_source=freetype 4 | imagedeps="gcc build-essential" 5 | hostdeps="pkgconfig" 6 | 7 | configure() { 8 | ${source_dir}/configure --prefix=${prefix} --enable-shared --disable-static 9 | } 10 | 11 | build() { 12 | make -j${parallelism} 13 | } 14 | 15 | package() { 16 | make install DESTDIR=${dest_dir} 17 | } 18 | -------------------------------------------------------------------------------- /host-recipes/host-openjdk-bin: -------------------------------------------------------------------------------- 1 | name=host-openjdk-bin 2 | revision=1 3 | from_source=host-openjdk-bin 4 | 5 | package() { 6 | cp -r "${source_dir}/." "${dest_dir}/${prefix}" 7 | } 8 | -------------------------------------------------------------------------------- /host-recipes/libstdc++-v3: -------------------------------------------------------------------------------- 1 | name=libstdc++-v3 2 | revision=1 3 | from_source=gcc 4 | imagedeps="build-essential" 5 | hostdeps="automake autoconf xbinutils xgcc" 6 | deps="mlibc" 7 | 8 | build() { 9 | cd ${base_dir}/host-builds/xgcc 10 | make all-target-libstdc++-v3 -j7 11 | } 12 | 13 | package(){ 14 | cd ${base_dir}/host-builds/xgcc 15 | make DESTDIR="${dest_dir}" install-target-libstdc++-v3 16 | rm -rf ${dest_dir}/usr/local/lib/gcc/x86_64-astral/12.1.0/ 17 | } 18 | -------------------------------------------------------------------------------- /host-recipes/libtool: -------------------------------------------------------------------------------- 1 | name=libtool 2 | revision=1 3 | from_source=libtool 4 | hostdeps="autoconf automake" 5 | imagedeps="gcc build-essential help2man" 6 | 7 | configure() { 8 | cp -pr ${source_dir}/* . 9 | ./configure --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR="${dest_dir}" 18 | } 19 | 20 | -------------------------------------------------------------------------------- /host-recipes/limine: -------------------------------------------------------------------------------- 1 | name=limine 2 | from_source=limine 3 | revision=1 4 | imagedeps="build-essential mtools nasm" 5 | 6 | configure() { 7 | "${source_dir}/configure" --enable-bios-cd --enable-bios-pxe --enable-bios --enable-uefi-ia32 --enable-uefi-x86-64 --enable-uefi-cd --prefix="${prefix}" 8 | } 9 | 10 | build() { 11 | make -j${parallelism} 12 | } 13 | 14 | package() { 15 | make install DESTDIR=${dest_dir} 16 | } 17 | -------------------------------------------------------------------------------- /host-recipes/python: -------------------------------------------------------------------------------- 1 | name=python 2 | from_source=python 3 | revision=1 4 | imagedeps="build-essential" 5 | 6 | configure() { 7 | "${source_dir}/configure" --prefix=${prefix} 8 | } 9 | 10 | build() { 11 | make -j${parallelism} 12 | } 13 | 14 | package() { 15 | make install DESTDIR=${dest_dir} 16 | } 17 | -------------------------------------------------------------------------------- /host-recipes/util-macros: -------------------------------------------------------------------------------- 1 | name=util-macros 2 | revision=1 3 | from_source=util-macros 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | 13 | build() { 14 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 15 | make -j ${parallelism} 16 | } 17 | 18 | package() { 19 | make install DESTDIR=${dest_dir} 20 | } 21 | -------------------------------------------------------------------------------- /host-recipes/wine: -------------------------------------------------------------------------------- 1 | name=wine 2 | revision=1 3 | from_source=wine 4 | imagedeps="build-essential" 5 | hostdeps="freetype pkgconfig" 6 | 7 | configure() { 8 | ${source_dir}/configure \ 9 | --prefix=/usr \ 10 | --disable-tests \ 11 | --enable-win64 \ 12 | --disable-win16 \ 13 | --without-x 14 | } 15 | 16 | build() { 17 | make -j ${parallelism} 18 | } 19 | 20 | package() { 21 | make install DESTDIR=${dest_dir} 22 | } 23 | -------------------------------------------------------------------------------- /host-recipes/xbinutils: -------------------------------------------------------------------------------- 1 | name=xbinutils 2 | revision=1 3 | from_source=binutils 4 | imagedeps="build-essential gcc" 5 | hostdeps="automake autoconf" 6 | 7 | configure() { 8 | ${source_dir}/configure --target=x86_64-astral --prefix=${prefix} --with-sysroot=${sysroot_dir} --disable-werror 9 | } 10 | 11 | build() { 12 | make -j${parallelism} 13 | } 14 | 15 | package() { 16 | make install DESTDIR="${dest_dir}" 17 | } 18 | -------------------------------------------------------------------------------- /host-recipes/xgcc: -------------------------------------------------------------------------------- 1 | name=xgcc 2 | revision=1 3 | from_source=gcc 4 | imagedeps="build-essential libmpfr-dev libmpc-dev libgmp-dev" 5 | hostdeps="automake autoconf xbinutils pkgconfig" 6 | deps="mlibc-headers" 7 | 8 | configure() { 9 | ${source_dir}/configure --target=x86_64-astral --prefix=${prefix} --with-sysroot=${sysroot_dir} --enable-languages=c,c++ -enable-threads=posix --disable-multilib --enable-shared --enable-host-shared --with-pic 10 | } 11 | 12 | build() { 13 | make all-gcc all-target-libgcc -j ${parallelism} 14 | } 15 | 16 | package(){ 17 | make DESTDIR="${dest_dir}" install-gcc install-target-libgcc 18 | } 19 | -------------------------------------------------------------------------------- /host-recipes/xorgproto: -------------------------------------------------------------------------------- 1 | name=xorgproto 2 | revision=1 3 | from_source=xorgproto 4 | imagedeps="meson ninja-build gcc build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | 7 | configure() { 8 | meson --prefix=${prefix} -Dlegacy=true ${source_dir} 9 | } 10 | 11 | build() { 12 | ninja 13 | } 14 | 15 | package() { 16 | DESTDIR=${dest_dir} ninja install 17 | } 18 | -------------------------------------------------------------------------------- /host-recipes/xtrans: -------------------------------------------------------------------------------- 1 | name=xtrans 2 | revision=1 3 | from_source=xtrans 4 | imagedeps="meson ninja-build gcc build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} make install 18 | } 19 | -------------------------------------------------------------------------------- /jinx-config: -------------------------------------------------------------------------------- 1 | JINX_MAJOR_VER=0.4 2 | export CFLAGS="-O2 -march=x86-64 -pipe -mtune=generic" 3 | export CXXFLAGS="${CFLAGS}" 4 | -------------------------------------------------------------------------------- /kernel-src/arch/x86-64/acpi.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include 6 | 7 | static volatile struct limine_rsdp_request rsdp_request = { 8 | .id = LIMINE_RSDP_REQUEST, 9 | .revision = 0 10 | }; 11 | 12 | uacpi_status uacpi_kernel_get_rsdp(uacpi_phys_addr *rsdp_out) { 13 | *rsdp_out = (uintptr_t)FROM_HHDM(rsdp_request.response->address); 14 | return UACPI_STATUS_OK; 15 | } 16 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/acpi.h: -------------------------------------------------------------------------------- 1 | #ifndef _ACPI_H 2 | #define _ACPI_H 3 | 4 | // Doesn't depend on PCI, only makes table search available 5 | void acpi_early_init(void); 6 | 7 | // Loads the actual ACPI namespace, hooks up the power button 8 | void acpi_init(void); 9 | 10 | int acpi_poweroff(void); 11 | int acpi_reboot(void); 12 | 13 | void acpi_signaldevice(char c); 14 | 15 | // Depends on devfs 16 | void acpi_initdevice(void); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/alloc.h: -------------------------------------------------------------------------------- 1 | #ifndef _ALLOC_H 2 | #define _ALLOC_H 3 | 4 | #include 5 | 6 | void alloc_init(); 7 | void *alloc(size_t s); 8 | void *realloc(void *addr, size_t s); 9 | void free(void *addr); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/block.h: -------------------------------------------------------------------------------- 1 | #ifndef _BLOCK_H 2 | #define _BLOCK_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #define BLOCK_TYPE_DISK 0 9 | #define BLOCK_TYPE_PART 1 10 | 11 | #define BLOCK_IOCTL_GETDESC 0xb10ccd35c 12 | 13 | typedef struct { 14 | void *private; 15 | int type; 16 | uintmax_t lbaoffset; 17 | size_t blockcapacity; 18 | size_t blocksize; 19 | int (*write)(void *private, iovec_iterator_t *buffer, uintmax_t lba, size_t count); 20 | int (*read)(void *private, iovec_iterator_t *buffer, uintmax_t lba, size_t count); 21 | } blockdesc_t; 22 | 23 | void block_register(blockdesc_t *desc, char *name); 24 | void block_init(); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/cmdline.h: -------------------------------------------------------------------------------- 1 | #ifndef _CMDLINE_H 2 | #define _CMDLINE_H 3 | 4 | char *cmdline_get(char *); 5 | void cmdline_parse(); 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/console.h: -------------------------------------------------------------------------------- 1 | #ifndef _CONSOLE_H 2 | #define _CONSOLE_H 3 | 4 | #include 5 | 6 | void console_init(); 7 | void console_putc(char c); 8 | size_t console_write(char *str, size_t size); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/defaultauth.h: -------------------------------------------------------------------------------- 1 | #ifndef _DEFAULTAUTH_H 2 | #define _DEFAULTAUTH_H 3 | 4 | void defaultauth_init(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/dpc.h: -------------------------------------------------------------------------------- 1 | #ifndef _DPC_H 2 | #define _DPC_H 3 | 4 | #include 5 | #include 6 | 7 | typedef void * dpcarg_t; 8 | typedef void (*dpcfn_t)(context_t *, dpcarg_t); 9 | 10 | typedef struct _dpc_t { 11 | struct _dpc_t *next; 12 | struct _dpc_t *prev; 13 | bool enqueued; 14 | dpcfn_t fn; 15 | dpcarg_t arg; 16 | } dpc_t; 17 | 18 | void dpc_enqueue(dpc_t *dpc, dpcfn_t, dpcarg_t); 19 | void dpc_dequeue(dpc_t *dpc); 20 | void dpc_init(); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/eth.h: -------------------------------------------------------------------------------- 1 | #ifndef _ETH_H 2 | #define _ETH_H 3 | 4 | #include 5 | #include 6 | 7 | typedef struct { 8 | uint8_t destination[6]; 9 | uint8_t source[6]; 10 | uint16_t type; 11 | } __attribute__((packed)) ethframe_t; 12 | 13 | #define ETH_PROTO_IP 0x0800 14 | #define ETH_PROTO_ARP 0x0806 15 | 16 | void eth_process(netdev_t *netdev, void *buffer); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/ext2.h: -------------------------------------------------------------------------------- 1 | #ifndef _EXT2_H 2 | #define _EXT2_H 3 | 4 | void ext2_init(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/fb.h: -------------------------------------------------------------------------------- 1 | #ifndef _FB_H 2 | #define _FB_h 3 | 4 | void fb_init(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/hda.h: -------------------------------------------------------------------------------- 1 | #ifndef _HDA_H 2 | #define _HDA_H 3 | 4 | void hda_init(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/initrd.h: -------------------------------------------------------------------------------- 1 | #ifndef _INITRD_H 2 | #define _INITRD_H 3 | 4 | void initrd_unpack(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/itimer.h: -------------------------------------------------------------------------------- 1 | #ifndef _ITIMER_H 2 | #define _ITIMER_H 3 | 4 | #include 5 | #include 6 | 7 | typedef struct { 8 | struct cpu_t *cpu; 9 | timerentry_t entry; 10 | uintmax_t remainingus; 11 | uintmax_t repeatus; 12 | dpcfn_t fn; 13 | dpcarg_t arg; 14 | bool paused; 15 | spinlock_t lock; 16 | } itimer_t; 17 | 18 | void itimer_init(itimer_t *itimer, dpcfn_t fn, dpcarg_t arg); 19 | void itimer_pause(itimer_t *itimer, uintmax_t *remainingus, uintmax_t *repeatus); 20 | void itimer_set(itimer_t *itimer, uintmax_t timerus, uintmax_t repeatus); 21 | void itimer_resume(itimer_t *itimer); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/jobctl.h: -------------------------------------------------------------------------------- 1 | #ifndef _JOBCTL_H 2 | #define _JOBCTL_H 3 | 4 | #include 5 | 6 | int jobctl_newsession(proc_t *proc); 7 | int jobctl_newgroup(proc_t *proc); 8 | int jobctl_changegroup(proc_t *proc, proc_t *group); 9 | void jobctl_detach(proc_t *); 10 | void jobctl_addproc(proc_t *parent, proc_t *proc); 11 | void jobctl_procremove(proc_t *proc); 12 | pid_t jobctl_getpgid(proc_t *proc); 13 | pid_t jobctl_getsid(proc_t *proc); 14 | int jobctl_setctty(proc_t *proc, void *ctty, bool steal); 15 | void *jobctl_getctty(proc_t *proc); 16 | int jobctl_signal(proc_t *proc, int signal, proc_t *sender); 17 | proc_t *jobctl_getforeground(proc_t *proc); 18 | int jobctl_setforeground(proc_t *session, proc_t *pgrp); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/mouse.h: -------------------------------------------------------------------------------- 1 | #ifndef _MOUSE_H 2 | #define _MOUSE_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #define MOUSE_FLAG_RB 1 9 | #define MOUSE_FLAG_MB 2 10 | #define MOUSE_FLAG_LB 4 11 | #define MOUSE_FLAG_B4 8 12 | #define MOUSE_FLAG_B5 16 13 | 14 | typedef struct { 15 | int flags; 16 | int x,y,z; 17 | } mousepacket_t; 18 | 19 | typedef struct { 20 | ringbuffer_t packetbuffer; 21 | spinlock_t lock; 22 | pollheader_t pollheader; 23 | int flags; 24 | mutex_t readmutex; 25 | } mouse_t; 26 | 27 | void mouse_init(); 28 | mouse_t *mouse_new(); 29 | void mouse_packet(mouse_t *mouse, mousepacket_t *packet); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/nvme.h: -------------------------------------------------------------------------------- 1 | #ifndef _NVME_H 2 | #define _NVME_H 3 | 4 | void nvme_init(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/pgcache.h: -------------------------------------------------------------------------------- 1 | #ifndef _PGCACHE_H 2 | #define _PGCACHE_H 3 | 4 | void pgcache_init(); 5 | int pgcache_getpage(vnode_t *node, uintmax_t offset, void **ret); 6 | int pgcache_setdirty(void *addr); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/pipefs.h: -------------------------------------------------------------------------------- 1 | #ifndef _PIPEFS_H 2 | #define _PIPEFS_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | typedef struct pipenode_t { 11 | vnode_t vnode; 12 | vattr_t attr; 13 | ringbuffer_t data; 14 | size_t readers, writers; 15 | pollheader_t pollheader; 16 | eventheader_t readopenevent; 17 | eventheader_t writeopenevent; 18 | } pipenode_t; 19 | 20 | void pipefs_init(); 21 | int pipefs_newpipe(vnode_t **nodep); 22 | int pipefs_getbinding(vnode_t *node, vnode_t **pipep); 23 | void pipefs_leavebinding(vnode_t *pipenode); 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/pseudodevices.h: -------------------------------------------------------------------------------- 1 | #ifndef _PSEUDODEVICES_H 2 | #define _PSEUDODEVICES_H 3 | 4 | void pseudodevices_init(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/pty.h: -------------------------------------------------------------------------------- 1 | #ifndef _PTY_H 2 | #define _PTY_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | typedef struct { 10 | bool hangup; 11 | tty_t *tty; 12 | int minor; 13 | vnode_t *mastervnode; 14 | ringbuffer_t ringbuffer; 15 | pollheader_t pollheader; 16 | spinlock_t lock; 17 | } pty_t; 18 | 19 | void pty_init(); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/scheduler.h: -------------------------------------------------------------------------------- 1 | #ifndef _SCHEDULER_H 2 | #define _SCHEDULER_H 3 | 4 | #include 5 | #include 6 | 7 | #define SCHED_WAKEUP_REASON_NORMAL 0 8 | #define SCHED_WAKEUP_REASON_INTERRUPTED -1 9 | 10 | #define STACK_TOP (void *)0x0000800000000000 11 | #define INTERP_BASE (void *)0x00000beef0000000 12 | 13 | void sched_init(); 14 | void sched_ap_entry(); 15 | 16 | void sched_queue(thread_t *thread); 17 | bool sched_wakeup(thread_t *thread, int reason); 18 | 19 | void sched_stop_current_thread(); 20 | void sched_prepare_sleep(bool interruptible); 21 | void sched_target_cpu(struct cpu_t *cpu); 22 | void sched_reschedule_on_cpu(struct cpu_t *cpu, bool target); 23 | void sched_sleep_us(size_t us); 24 | int sched_yield(); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/term.h: -------------------------------------------------------------------------------- 1 | #ifndef _TERM_H 2 | #define _TERM_H 3 | 4 | void term_init(); 5 | void term_putchar(char c); 6 | void term_write(char *str, size_t count); 7 | void term_getsize(size_t *x, size_t *y, size_t *fbx, size_t *fby); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/tmpfs.h: -------------------------------------------------------------------------------- 1 | #ifndef _TMPFS_H 2 | #define _TMPFS_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | typedef struct tmpfs_t { 10 | vfs_t vfs; 11 | uintmax_t inodenumber; 12 | uintmax_t id; 13 | } tmpfs_t; 14 | 15 | typedef struct tmpfsnode_t { 16 | vnode_t vnode; 17 | vattr_t attr; 18 | union { 19 | hashtable_t children; 20 | char *link; 21 | }; 22 | } tmpfsnode_t; 23 | 24 | void tmpfs_init(); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/topology.h: -------------------------------------------------------------------------------- 1 | #ifndef _TOPOLOGY_H 2 | #define _TOPOLOGY_H 3 | 4 | #define TOPOLOGY_MAKE_ID(depth, id) (((depth & 0xfffflu) << 16) | id) 5 | 6 | #include 7 | 8 | typedef struct topology_node_t { 9 | int id; 10 | struct topology_node_t *parent; 11 | struct topology_node_t *sibling; 12 | struct topology_node_t *children; 13 | cpu_t *cpu; 14 | } topology_node_t; 15 | 16 | extern topology_node_t topology_root; 17 | 18 | topology_node_t *topology_create_node(void); 19 | void topology_insert(topology_node_t *node, topology_node_t *parent, int id, cpu_t *cpu); 20 | 21 | static inline topology_node_t *topology_get_root(void) { 22 | return &topology_root; 23 | } 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /kernel-src/include/kernel/vmmcache.h: -------------------------------------------------------------------------------- 1 | #ifndef _VMMCACHE_H 2 | #define _VMMCACHE_H 3 | 4 | #include 5 | #include 6 | 7 | extern size_t vmmcache_cachedpages; 8 | 9 | void vmmcache_init(); 10 | int vmmcache_getpage(vnode_t *vnode, uintmax_t offset, page_t **res); 11 | int vmmcache_takepage(page_t *page); 12 | int vmmcache_makedirty(page_t *page); 13 | int vmmcache_truncate(vnode_t *vnode, uintmax_t offset); 14 | int vmmcache_syncvnode(vnode_t *vnode, uintmax_t startoffset, size_t size); 15 | int vmmcache_pushpage(vnode_t *vnode, uintmax_t offset, page_t *page); 16 | int vmmcache_sync(); 17 | int vmmcache_evict(page_t *page); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /kernel-src/include/logging.h: -------------------------------------------------------------------------------- 1 | #ifndef _LOGGING_H 2 | #define _LOGGING_H 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | void _putchar(char c); 11 | void logging_sethook(void (*fun)(char)); 12 | void logging_init(); 13 | extern mutex_t printf_mutex; 14 | 15 | #ifdef printf 16 | #undef printf 17 | #endif 18 | 19 | #define printf(...) { \ 20 | if (likely(current_thread())) {\ 21 | MUTEX_ACQUIRE(&printf_mutex); \ 22 | } else { \ 23 | while (MUTEX_TRY(&printf_mutex) == false) CPU_PAUSE(); \ 24 | } \ 25 | printf_(__VA_ARGS__); \ 26 | MUTEX_RELEASE(&printf_mutex); \ 27 | } 28 | 29 | #define __assert(x) \ 30 | if (unlikely(!(x))){ \ 31 | printf("\e[91m%s:%s:%d: %s failed\n\e[0m", __FILE__, __func__, __LINE__, #x); \ 32 | _panic(NULL, NULL); \ 33 | }; 34 | 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /kernel-src/include/mutex.h: -------------------------------------------------------------------------------- 1 | #ifndef _MUTEX_H 2 | #define _MUTEX_H 3 | 4 | #include 5 | 6 | typedef pushlock_t mutex_t; 7 | 8 | #define MUTEX_INIT(m) \ 9 | *m = 0; 10 | 11 | #define MUTEX_ACQUIRE(m) \ 12 | pushlock_acquire_exclusive(m) 13 | 14 | #define MUTEX_RELEASE(m) \ 15 | pushlock_release(m) 16 | 17 | #define MUTEX_TRY(m) \ 18 | pushlock_try_acquire_exclusive(m) 19 | 20 | #define MUTEX_DEFINE(x) pushlock_t x = 0; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /kernel-src/include/panic.h: -------------------------------------------------------------------------------- 1 | #ifndef _PANIC_H 2 | #define _PANIC_H 3 | 4 | #include 5 | 6 | __attribute__((noreturn)) void _panic(char *msg, context_t *ctx); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /kernel-src/include/string.h: -------------------------------------------------------------------------------- 1 | #ifndef _STRING_H 2 | #define _STRING_H 3 | 4 | #include 5 | 6 | size_t strlen(const char *str); 7 | char *strcpy(char *dest, const char *src); 8 | char *strcat(char *dest, const char *str); 9 | void *memcpy(void *dest, const void *src, size_t size); 10 | void *memset(void *dest, int what, size_t size); 11 | int strcmp(const char *a, const char *b); 12 | int strncmp(const char *a, const char *b, size_t c); 13 | int memcmp(const void *a, const void *b, size_t s); 14 | char *strerror(int errno); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /kernel-src/include/uacpi_libc.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #define uacpi_memcpy memcpy 5 | #define uacpi_memset memset 6 | #define uacpi_memcmp memcmp 7 | #define uacpi_strcmp strcmp 8 | #define uacpi_strlen strlen 9 | 10 | #define uacpi_snprintf snprintf 11 | #define uacpi_vsnprintf vsnprintf 12 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/apic.h: -------------------------------------------------------------------------------- 1 | #ifndef _APIC_H 2 | #define _APIC_H 3 | 4 | #define APIC_MODE_NMI 4 5 | 6 | void arch_apic_timerinit(); 7 | void arch_apic_init(); 8 | void arch_apic_initap(); 9 | void arch_apic_eoi(); 10 | void arch_ioapic_setirq(uint8_t gsi, uint8_t vector, uint8_t proc, bool masked); 11 | void arch_apic_sendipi(uint8_t cpu, uint8_t vec, uint8_t dest, uint8_t mode, uint8_t level); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/e9.h: -------------------------------------------------------------------------------- 1 | #ifndef _E9_H 2 | #define _E9_H 3 | 4 | void arch_e9_putc(char); 5 | void arch_e9_puts(char *); 6 | void arch_e9_initdev(); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/gdt.h: -------------------------------------------------------------------------------- 1 | #ifndef _GDT_H 2 | #define _GDT_H 3 | 4 | void arch_gdt_reload(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/hpet.h: -------------------------------------------------------------------------------- 1 | #ifndef _HPET_H 2 | #define _HPET_h 3 | 4 | #include 5 | #include 6 | 7 | time_t arch_hpet_calibrate_tsc(time_t ms_wait); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/idt.h: -------------------------------------------------------------------------------- 1 | #ifndef _IDT_H 2 | #define _IDT_h 3 | 4 | void arch_idt_reload(); 5 | void arch_idt_setup(); 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/ist.h: -------------------------------------------------------------------------------- 1 | #ifndef _IST_H 2 | #define _IST_H 3 | 4 | typedef struct { 5 | uint32_t reserved; 6 | uint64_t rsp0; 7 | uint64_t rsp1; 8 | uint64_t rsp2; 9 | uint64_t reserved2; 10 | uint64_t ist1; 11 | uint64_t ist2; 12 | uint64_t ist3; 13 | uint64_t ist4; 14 | uint64_t ist5; 15 | uint64_t ist6; 16 | uint64_t ist7; 17 | uint32_t reserved3[3]; 18 | uint32_t iopb; 19 | } __attribute__((packed)) ist_t; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/ps2kbd.h: -------------------------------------------------------------------------------- 1 | #ifndef _PS2KBD_H 2 | #define _PS2KBD_H 3 | 4 | void ps2kbd_init(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/ps2mouse.h: -------------------------------------------------------------------------------- 1 | #ifndef _PS2MOUSE_H 2 | #define _PS2MOUSE_H 3 | 4 | void ps2mouse_init(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/smp.h: -------------------------------------------------------------------------------- 1 | #ifndef _SMP_H 2 | #define _SMP_H 3 | 4 | #define ARCH_SMP_IPI_TARGET 0 5 | #define ARCH_SMP_IPI_SELF 1 6 | #define ARCH_SMP_IPI_ALL 2 7 | #define ARCH_SMP_IPI_OTHERCPUS 3 8 | 9 | #include 10 | 11 | extern size_t arch_smp_cpusawake; 12 | extern cpu_t **smp_cpus; 13 | 14 | void arch_smp_wakeup(); 15 | void arch_smp_sendipi(cpu_t *targcpu, isr_t *isr, int target, bool nmi); 16 | void arch_smp_haltallothers(); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /kernel-src/include/x86-64/arch/tsc.h: -------------------------------------------------------------------------------- 1 | #ifndef _TSC_H 2 | #define _TSC_H 3 | 4 | static inline uint64_t rdtsc_serialized(void) { 5 | uint32_t high; 6 | uint32_t low; 7 | asm volatile("cpuid; rdtsc;" : "=a"(low), "=d"(high) : : "rbx", "rcx"); 8 | return ((uint64_t)high << 32) | low; 9 | } 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /kernel-src/io/logging.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | MUTEX_DEFINE(printf_mutex); 4 | 5 | static void nohook(char c) { 6 | 7 | } 8 | 9 | static void (*hook)(char) = nohook; 10 | 11 | // hook used by mpaland printf 12 | void _putchar(char c) { 13 | hook(c); 14 | } 15 | 16 | void logging_sethook(void (*fun)(char)) { 17 | hook = fun; 18 | } 19 | -------------------------------------------------------------------------------- /kernel-src/io/net/socket.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | static socket_t *(*createsocket[])() = { 5 | udp_createsocket, 6 | localsock_createsocket, 7 | tcp_createsocket 8 | }; 9 | 10 | socket_t *socket_create(int type) { 11 | __assert(type < sizeof(createsocket) / sizeof(createsocket[0])); 12 | socket_t *socket = createsocket[type](); 13 | if (socket == NULL) 14 | return NULL; 15 | 16 | POLL_INITHEADER(&socket->pollheader); 17 | socket->state = SOCKET_STATE_UNBOUND; 18 | MUTEX_INIT(&socket->mutex); 19 | socket->type = type; 20 | 21 | return socket; 22 | } 23 | -------------------------------------------------------------------------------- /kernel-src/lib/panic.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | __attribute__((noreturn)) void _panic(char *msg, context_t *ctx) { 7 | printf("cpu%lu: Oops.\n", current_cpu_id()); 8 | 9 | if (msg) 10 | printf("%s\n", msg); 11 | 12 | if (ctx) 13 | PRINT_CTX(ctx); 14 | 15 | interrupt_set(false); 16 | for (;;); 17 | } 18 | -------------------------------------------------------------------------------- /kernel-src/lib/util.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | uint8_t util_zerobuffer[UTIL_ZEROBUFFERSIZE]; 4 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/close.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | syscallret_t syscall_close(context_t *context, int fd) { 5 | syscallret_t ret = { 6 | .ret = -1 7 | }; 8 | 9 | ret.errno = fd_close(fd); 10 | ret.ret = 0; 11 | 12 | return ret; 13 | } 14 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/exit.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | __attribute__((noreturn)) void syscall_exit(context_t *context, int status) { 9 | proc_terminate(status << 8); 10 | __builtin_unreachable(); 11 | } 12 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/getresgid.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | syscallret_t syscall_getresgid(context_t *, gid_t *gidp, gid_t *egidp, gid_t *sgidp) { 6 | syscallret_t ret = { 7 | .ret = -1 8 | }; 9 | 10 | int gid, egid, sgid; 11 | cred_getgids(¤t_thread()->proc->cred, &gid, &egid, &sgid); 12 | 13 | ret.errno = usercopy_touser(gidp, &gid, sizeof(gid)); 14 | if (ret.errno) 15 | goto leave; 16 | 17 | ret.errno = usercopy_touser(egidp, &egid, sizeof(egid)); 18 | if (ret.errno) 19 | goto leave; 20 | 21 | ret.errno = usercopy_touser(sgidp, &sgid, sizeof(sgid)); 22 | if (ret.errno) 23 | goto leave; 24 | 25 | ret.ret = 0; 26 | 27 | leave: 28 | return ret; 29 | } 30 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/getresuid.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | syscallret_t syscall_getresuid(context_t *, uid_t *uidp, uid_t *euidp, uid_t *suidp) { 6 | syscallret_t ret = { 7 | .ret = -1 8 | }; 9 | 10 | int uid, euid, suid; 11 | cred_getuids(¤t_thread()->proc->cred, &uid, &euid, &suid); 12 | 13 | ret.errno = usercopy_touser(uidp, &uid, sizeof(uid)); 14 | if (ret.errno) 15 | goto leave; 16 | 17 | ret.errno = usercopy_touser(euidp, &euid, sizeof(euid)); 18 | if (ret.errno) 19 | goto leave; 20 | 21 | ret.errno = usercopy_touser(suidp, &suid, sizeof(suid)); 22 | if (ret.errno) 23 | goto leave; 24 | 25 | ret.ret = 0; 26 | 27 | leave: 28 | return ret; 29 | } 30 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/gettid.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | syscallret_t syscall_gettid(context_t *) { 5 | syscallret_t ret = { 6 | .errno = 0, 7 | .ret = current_thread()->tid 8 | }; 9 | 10 | return ret; 11 | } 12 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/invalid.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | syscallret_t syscall_invalid() { 5 | syscallret_t ret = { 6 | .errno = ENOSYS, 7 | .ret = -1 8 | }; 9 | return ret; 10 | } 11 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/ioctl.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | syscallret_t syscall_ioctl(context_t *, int fd, unsigned long request, void *arg) { 6 | syscallret_t ret = { 7 | .ret = -1 8 | }; 9 | 10 | if (IS_USER_ADDRESS(arg) == false) { 11 | ret.errno = EFAULT; 12 | return ret; 13 | } 14 | 15 | file_t *file = fd_get(fd); 16 | if (file == NULL) { 17 | ret.errno = EBADF; 18 | return ret; 19 | } 20 | 21 | int r = 0; 22 | VOP_LOCK(file->vnode); 23 | ret.errno = VOP_IOCTL(file->vnode, request, arg, &r, ¤t_thread()->proc->cred); 24 | VOP_UNLOCK(file->vnode); 25 | ret.ret = ret.errno ? -1 : r; 26 | 27 | fd_release(file); 28 | 29 | return ret; 30 | } 31 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/isatty.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | syscallret_t syscall_isatty(context_t *context, int fd) { 6 | syscallret_t ret = { 7 | .ret = -1 8 | }; 9 | 10 | file_t *file = fd_get(fd); 11 | if (file == NULL) { 12 | ret.errno = EBADF; 13 | return ret; 14 | } 15 | 16 | // mlibc expects isatty to return 1 if a terminal and 0 if not. 17 | VOP_LOCK(file->vnode); 18 | int e = VOP_ISATTY(file->vnode); 19 | VOP_UNLOCK(file->vnode); 20 | 21 | ret.errno = e; 22 | ret.ret = e ? 0 : 1; 23 | 24 | fd_release(file); 25 | 26 | return ret; 27 | } 28 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/listen.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | syscallret_t syscall_listen(context_t *, int fd, int backlog) { 6 | syscallret_t ret = { 7 | .ret = -1 8 | }; 9 | 10 | file_t *file = fd_get(fd); 11 | if (file == NULL) { 12 | ret.errno = EBADF; 13 | return ret; 14 | } 15 | 16 | if (file->vnode->type != V_TYPE_SOCKET) { 17 | ret.errno = ENOTSOCK; 18 | goto cleanup; 19 | } 20 | 21 | socket_t *socket = SOCKFS_SOCKET_FROM_NODE(file->vnode); 22 | 23 | ret.errno = socket->ops->listen ? socket->ops->listen(socket, backlog) : EOPNOTSUPP; 24 | ret.ret = ret.errno ? -1 : 0; 25 | 26 | cleanup: 27 | fd_release(file); 28 | 29 | return ret; 30 | } 31 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/munmap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | syscallret_t syscall_munmap(context_t *ctx, void *addr, size_t length) { 6 | syscallret_t ret = { 7 | .ret = -1, 8 | .errno = 0 9 | }; 10 | 11 | if (addr > USERSPACE_END) { 12 | ret.errno = EFAULT; 13 | return ret; 14 | } 15 | 16 | if (length == 0 || length % PAGE_SIZE > 0) { 17 | ret.errno = EINVAL; 18 | return ret; 19 | } 20 | 21 | vmm_unmap(addr, length, 0); 22 | 23 | ret.ret = 0; 24 | ret.errno = 0; 25 | 26 | return ret; 27 | } 28 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/pause.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | syscallret_t syscall_pause(context_t *) { 4 | syscallret_t ret = { 5 | .errno = EINTR, 6 | .ret = -1 7 | }; 8 | 9 | sched_prepare_sleep(true); 10 | sched_yield(); 11 | 12 | return ret; 13 | } 14 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/print.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | syscallret_t syscall_print(context_t *context, char *message) { 7 | syscallret_t ret = { 8 | .ret = 0, 9 | .errno = 0 10 | }; 11 | 12 | static mutex_t mutex; 13 | static bool initialized = false; 14 | 15 | if (initialized == false) { 16 | MUTEX_INIT(&mutex); 17 | initialized = true; 18 | } 19 | 20 | MUTEX_ACQUIRE(&mutex); 21 | arch_e9_puts(message); 22 | arch_e9_putc('\n'); 23 | MUTEX_RELEASE(&mutex); 24 | return ret; 25 | } 26 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/setresgid.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | syscallret_t syscall_setresgid(context_t *, gid_t gid, gid_t egid, gid_t sgid) { 6 | syscallret_t ret; 7 | 8 | ret.errno = cred_setgids(¤t_thread()->proc->cred, gid, egid, sgid); 9 | ret.ret = ret.errno ? -1 : 0; 10 | 11 | return ret; 12 | } 13 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/sigaltstack.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | syscallret_t syscall_sigaltstack(context_t *, stack_t *new, stack_t *old) { 5 | syscallret_t ret = { 6 | .ret = -1 7 | }; 8 | 9 | stack_t newtmp, oldtmp; 10 | if (new && usercopy_fromuser(&newtmp, new, sizeof(stack_t))) { 11 | ret.errno = EFAULT; 12 | return ret; 13 | } 14 | 15 | signal_altstack(current_thread(), new ? &newtmp : NULL, old ? &oldtmp : NULL); 16 | 17 | if (old && usercopy_touser(old, &oldtmp, sizeof(stack_t))) { 18 | ret.errno = EFAULT; 19 | return ret; 20 | } 21 | 22 | ret.errno = 0; 23 | ret.ret = 0; 24 | return ret; 25 | } 26 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/sigpending.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | syscallret_t syscall_sigpending(context_t *, sigset_t *uset) { 6 | syscallret_t ret; 7 | 8 | sigset_t set; 9 | signal_pending(current_thread(), &set); 10 | 11 | ret.errno = usercopy_touser(uset, &set, sizeof(sigset_t)); 12 | ret.ret = ret.errno ? -1 : 0; 13 | return ret; 14 | } 15 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/sigsuspend.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | syscallret_t syscall_sigsuspend(context_t *, sigset_t *umask) { 6 | syscallret_t ret = { 7 | .ret = -1 8 | }; 9 | 10 | sigset_t mask; 11 | 12 | ret.errno = usercopy_fromuser(&mask, umask, sizeof(sigset_t)); 13 | if (ret.errno) 14 | return ret; 15 | 16 | signal_suspend(&mask); 17 | 18 | ret.errno = EINTR; 19 | return ret; 20 | } 21 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/sync.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | syscallret_t syscall_sync(context_t *) { 5 | syscallret_t ret = {0}; 6 | vmmcache_sync(); 7 | return ret; 8 | } 9 | 10 | syscallret_t syscall_fsync(context_t *context, int fd) { 11 | syscallret_t ret = { 12 | .ret = -1 13 | }; 14 | 15 | file_t *file = fd_get(fd); 16 | if (file == NULL) { 17 | ret.errno = EBADF; 18 | return ret; 19 | } 20 | 21 | VOP_LOCK(file->vnode); 22 | ret.errno = VOP_SYNC(file->vnode); 23 | VOP_UNLOCK(file->vnode); 24 | 25 | fd_release(file); 26 | ret.ret = ret.errno ? -1 : 0; 27 | return ret; 28 | } 29 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/threadexit.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | syscallret_t syscall_threadexit(context_t *) { 5 | sched_threadexit(); 6 | } 7 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/truncate.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | syscallret_t syscall_ftruncate(context_t *, int fd, size_t size) { 5 | syscallret_t ret = { 6 | .ret = -1 7 | }; 8 | 9 | file_t *file = fd_get(fd); 10 | if (file == NULL) { 11 | ret.errno = EBADF; 12 | return ret; 13 | } 14 | 15 | if ((file->flags & FILE_WRITE) == 0 || file->vnode->type != V_TYPE_REGULAR) { 16 | ret.errno = EINVAL; 17 | goto cleanup; 18 | } 19 | 20 | MUTEX_ACQUIRE(&file->vnode->size_lock); 21 | VOP_LOCK(file->vnode); 22 | 23 | ret.errno = VOP_RESIZE(file->vnode, size, ¤t_thread()->proc->cred); 24 | 25 | VOP_UNLOCK(file->vnode); 26 | MUTEX_RELEASE(&file->vnode->size_lock); 27 | 28 | ret.ret = ret.errno ? -1 : 0; 29 | 30 | cleanup: 31 | 32 | fd_release(file); 33 | 34 | return ret; 35 | } 36 | -------------------------------------------------------------------------------- /kernel-src/sys/syscalls/umask.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | syscallret_t syscall_umask(context_t *, mode_t mode) { 5 | syscallret_t ret = { 6 | .errno = 0 7 | }; 8 | 9 | mode &= 0777; 10 | 11 | ret.ret = __atomic_exchange_n(¤t_thread()->proc->umask, mode, __ATOMIC_SEQ_CST); 12 | 13 | return ret; 14 | } 15 | -------------------------------------------------------------------------------- /liminebg.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mathewnd/Astral/0358d37820a6e9676b12b09a36bf1c256bc53302/liminebg.bmp -------------------------------------------------------------------------------- /patches/coreutils/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git coreutils-clean/src/stat.c coreutils-workdir/src/stat.c 2 | index 3765a8f..f6b129f 100644 3 | --- coreutils-clean/src/stat.c 4 | +++ coreutils-workdir/src/stat.c 5 | @@ -75,11 +75,7 @@ 6 | #include "xvasprintf.h" 7 | #include "statx.h" 8 | 9 | -#if HAVE_STATX && defined STATX_INO 10 | -# define USE_STATX 1 11 | -#else 12 | # define USE_STATX 0 13 | -#endif 14 | 15 | #if USE_STATVFS 16 | # define STRUCT_STATXFS_F_FSID_IS_INTEGER STRUCT_STATVFS_F_FSID_IS_INTEGER 17 | -------------------------------------------------------------------------------- /patches/diffutils/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git diffutils-clean/Makefile.am diffutils-workdir/Makefile.am 2 | index c47bc83..ca1ec3c 100644 3 | --- diffutils-clean/Makefile.am 4 | +++ diffutils-workdir/Makefile.am 5 | @@ -19,7 +19,7 @@ 6 | ALL_RECURSIVE_TARGETS = 7 | 8 | EXTRA_DIST = bootstrap exgettext ChangeLog-2008 cfg.mk dist-check.mk 9 | -SUBDIRS = lib src tests doc man po gnulib-tests 10 | +SUBDIRS = lib src tests doc po gnulib-tests 11 | 12 | ACLOCAL_AMFLAGS = -I m4 13 | AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS) 14 | -------------------------------------------------------------------------------- /patches/e2fsprogs/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git e2fsprogs-clean/config/config.sub e2fsprogs-workdir/config/config.sub 2 | index de4259e..e9e2707 100755 3 | --- e2fsprogs-clean/config/config.sub 4 | +++ e2fsprogs-workdir/config/config.sub 5 | @@ -1727,7 +1727,7 @@ case $os in 6 | # Now accept the basic system types. 7 | # The portable systems comes first. 8 | # Each alternative MUST end in a * to match a version number. 9 | - gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 10 | + gnu* | android* | astral* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 11 | | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ 12 | | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 13 | | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ 14 | -------------------------------------------------------------------------------- /patches/fontconfig/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git fontconfig-clean/src/fcstat.c fontconfig-workdir/src/fcstat.c 2 | index 4f69eae..03c1b95 100644 3 | --- fontconfig-clean/src/fcstat.c 4 | +++ fontconfig-workdir/src/fcstat.c 5 | @@ -386,7 +386,7 @@ FcFStatFs (int fd, FcStatFS *statb) 6 | # endif 7 | # if defined(HAVE_STRUCT_STATFS_F_FSTYPENAME) 8 | p = buf.f_fstypename; 9 | -# elif defined(__linux__) || defined (__EMSCRIPTEN__) 10 | +# elif defined(__linux__) || defined (__EMSCRIPTEN__) || defined(__astral__) 11 | switch (buf.f_type) 12 | { 13 | case 0x6969: /* nfs */ 14 | -------------------------------------------------------------------------------- /patches/git/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git git-clean/configure.ac git-workdir/configure.ac 2 | index d1a96da..05aed44 100644 3 | --- git-clean/configure.ac 4 | +++ git-workdir/configure.ac 5 | @@ -755,7 +755,7 @@ GIT_CONF_SUBST([LIBC_CONTAINS_LIBINTL]) 6 | # Define NO_GETTEXT if you don't want Git output to be translated. 7 | # A translated Git requires GNU libintl or another gettext implementation 8 | AC_CHECK_HEADER([libintl.h], 9 | -[NO_GETTEXT=], 10 | +[NO_GETTEXT=YesPlease], 11 | [NO_GETTEXT=YesPlease]) 12 | GIT_CONF_SUBST([NO_GETTEXT]) 13 | 14 | -------------------------------------------------------------------------------- /patches/grep/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git grep-clean/src/grep.c grep-workdir/src/grep.c 2 | index 491dd02..5a0250a 100644 3 | --- grep-clean/src/grep.c 4 | +++ grep-workdir/src/grep.c 5 | @@ -1774,7 +1774,7 @@ drain_input (int fd, struct stat const *st) 6 | ssize_t nbytes; 7 | if (S_ISFIFO (st->st_mode) && dev_null_output) 8 | { 9 | -#ifdef SPLICE_F_MOVE 10 | +#if 0 11 | /* Should be faster, since it need not copy data to user space. */ 12 | nbytes = splice (fd, NULL, STDOUT_FILENO, NULL, 13 | INITIAL_BUFSIZE, SPLICE_F_MOVE); 14 | -------------------------------------------------------------------------------- /patches/libxcb/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git libxcb-clean/configure.ac libxcb-workdir/configure.ac 2 | index 4198a50..d583696 100644 3 | --- libxcb-clean/configure.ac 4 | +++ libxcb-workdir/configure.ac 5 | @@ -54,6 +54,7 @@ PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.14) 6 | NEEDED="xau >= 0.99.2" 7 | case $host_os in 8 | linux*) ;; 9 | +astral*) ;; 10 | *) NEEDED="$NEEDED pthread-stubs" ;; 11 | esac 12 | PKG_CHECK_MODULES(NEEDED, $NEEDED) 13 | -------------------------------------------------------------------------------- /patches/limine/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git limine-clean/build-aux/config.sub limine-workdir/build-aux/config.sub 2 | index defe52c..5346bc8 100755 3 | --- limine-clean/build-aux/config.sub 4 | +++ limine-workdir/build-aux/config.sub 5 | @@ -1735,7 +1735,7 @@ case $os in 6 | # Now accept the basic system types. 7 | # The portable systems comes first. 8 | # Each alternative MUST end in a * to match a version number. 9 | - gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 10 | + gnu* | android* | astral* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 11 | | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ 12 | | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 13 | | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ 14 | -------------------------------------------------------------------------------- /patches/make-ca/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git make-ca-clean/make-ca make-ca-workdir/make-ca 2 | index a7663be..f00ad05 100644 3 | --- make-ca-clean/make-ca 4 | +++ make-ca-workdir/make-ca 5 | @@ -15,7 +15,7 @@ VERSION="1.13" 6 | MAKE_CA_CONF="/etc/make-ca.conf" 7 | 8 | # CA root for hg.mozilla.org 9 | -MOZILLA_CA_ROOT="/etc/make-ca/mozilla-ca-root.pem" 10 | +MOZILLA_CA_ROOT="${MOZILLA_CERT_SYSROOT}/etc/make-ca/mozilla-ca-root.pem" 11 | 12 | # Get/set defaults 13 | if test -f "${MAKE_CA_CONF}"; then 14 | -------------------------------------------------------------------------------- /patches/make/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git make-clean/build-aux/config.sub make-workdir/build-aux/config.sub 2 | index dba16e8..bbd0740 100755 3 | --- make-clean/build-aux/config.sub 4 | +++ make-workdir/build-aux/config.sub 5 | @@ -1723,7 +1723,7 @@ case $os in 6 | # Now accept the basic system types. 7 | # The portable systems comes first. 8 | # Each alternative MUST end in a * to match a version number. 9 | - gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 10 | + gnu* | android* | astral* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 11 | | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ 12 | | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 13 | | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ 14 | -------------------------------------------------------------------------------- /patches/mesa-demos/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git mesa-demos-clean/meson.build mesa-demos-workdir/meson.build 2 | index c1853f9..1edc2d9 100644 3 | --- mesa-demos-clean/meson.build 4 | +++ mesa-demos-workdir/meson.build 5 | @@ -99,7 +99,7 @@ if not dep_glu.found() and host_machine.system() != 'darwin' 6 | endif 7 | 8 | dep_glx = dependency('glx', required: false, disabler : true) 9 | -if not dep_glx.found() and host_machine.system() == 'darwin' 10 | +if not dep_glx.found() and (host_machine.system() == 'darwin' or host_machine.system() == 'astral') 11 | # xquartz doesn't have a glx.pc, but it does have the header. And all the 12 | # symbols reside in libGL, so let's just use that. 13 | if cc.check_header('GL/glx.h', dependencies: dep_x11) 14 | -------------------------------------------------------------------------------- /patches/nasm/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff -ruN nasm-2.15.05/autoconf/helpers/config.sub nasm/autoconf/helpers/config.sub 2 | --- nasm-2.15.05/autoconf/helpers/config.sub 2020-08-28 13:04:07.000000000 -0300 3 | +++ nasm/autoconf/helpers/config.sub 2022-09-27 10:03:57.846657324 -0300 4 | @@ -1360,7 +1360,7 @@ 5 | | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ 6 | | skyos* | haiku* | rdos* | toppers* | drops* | es* \ 7 | | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ 8 | - | midnightbsd*) 9 | + | midnightbsd* | astral*) 10 | # Remember, each alternative MUST END IN *, to match a version number. 11 | ;; 12 | qnx*) 13 | -------------------------------------------------------------------------------- /patches/openssh/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git openssh-clean/sshd.c openssh-workdir/sshd.c 2 | index b4f2b97..302ac7a 100644 3 | --- openssh-clean/sshd.c 4 | +++ openssh-workdir/sshd.c 5 | @@ -1403,7 +1403,7 @@ server_accept_loop(int *sock_in, int *sock_out, int *newsock, int *config_s) 6 | static void 7 | check_ip_options(struct ssh *ssh) 8 | { 9 | -#ifdef IP_OPTIONS 10 | +#if 0//def IP_OPTIONS 11 | int sock_in = ssh_packet_get_connection_in(ssh); 12 | struct sockaddr_storage from; 13 | u_char opts[200]; 14 | -------------------------------------------------------------------------------- /patches/readline/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff -ruN readline-clean/support/config.sub readline/support/config.sub 2 | --- readline-clean/support/config.sub 2022-10-14 16:21:57.553229749 -0300 3 | +++ readline/support/config.sub 2022-10-14 16:22:12.479896273 -0300 4 | @@ -1723,7 +1723,7 @@ 5 | # Now accept the basic system types. 6 | # The portable systems comes first. 7 | # Each alternative MUST end in a * to match a version number. 8 | - gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 9 | + gnu* | android* | astral* |bsd* | mach* | minix* | genix* | ultrix* | irix* \ 10 | | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ 11 | | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 12 | | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ 13 | -------------------------------------------------------------------------------- /patches/tar/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git tar-clean/build-aux/config.sub tar-workdir/build-aux/config.sub 2 | index f6ede1d..5b7f3f8 100755 3 | --- tar-clean/build-aux/config.sub 4 | +++ tar-workdir/build-aux/config.sub 5 | @@ -1727,7 +1727,7 @@ case $os in 6 | # Now accept the basic system types. 7 | # The portable systems comes first. 8 | # Each alternative MUST end in a * to match a version number. 9 | - gnu* | android* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 10 | + gnu* | android* | astral* | bsd* | mach* | minix* | genix* | ultrix* | irix* \ 11 | | *vms* | esix* | aix* | cnk* | sunos | sunos[34]* \ 12 | | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \ 13 | | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \ 14 | -------------------------------------------------------------------------------- /patches/zlib/jinx-working-patch.patch: -------------------------------------------------------------------------------- 1 | diff --git zlib-clean/configure zlib-workdir/configure 2 | index cc867c9..0c21718 100755 3 | --- zlib-clean/configure 4 | +++ zlib-workdir/configure 5 | @@ -226,7 +226,7 @@ if test "$gcc" -eq 1 && ($cc -c $test.c) >> configure.log 2>&1; then 6 | uname=`(uname -s || echo unknown) 2>/dev/null` 7 | fi 8 | case "$uname" in 9 | - Linux* | linux* | *-linux* | GNU | GNU/* | solaris*) 10 | + Linux* | linux* | *-linux* | GNU | GNU/* | solaris* | *astral*) 11 | case "$mname" in 12 | *sparc*) 13 | LDFLAGS="${LDFLAGS} -Wl,--no-warn-rwx-segments" ;; 14 | -------------------------------------------------------------------------------- /recipes/ace-of-penguins: -------------------------------------------------------------------------------- 1 | name=ace-of-penguins 2 | revision=1 3 | from_source=ace-of-penguins 4 | imagedeps="meson build-essential libpng-dev" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11 libxpm libpng zlib" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/alsa-lib: -------------------------------------------------------------------------------- 1 | name=alsa-lib 2 | revision=1 3 | from_source=alsa-lib 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig autoconf automake" 6 | deps="base" 7 | 8 | configure() { 9 | cp -r "${source_dir}/." "." 10 | ./configure --prefix=${prefix} --host=x86_64-astral 11 | } 12 | 13 | build() { 14 | make -j${parallelism} 15 | } 16 | 17 | package() { 18 | make DESTDIR=${dest_dir} install 19 | } 20 | -------------------------------------------------------------------------------- /recipes/astral: -------------------------------------------------------------------------------- 1 | name=astral 2 | revision=1 3 | from_source=astral 4 | imagedeps="build-essential nasm" 5 | hostdeps="xgcc xbinutils limine" 6 | 7 | build() { 8 | cp -pr "${source_dir}"/* . 9 | CC="x86_64-astral-gcc" LD="x86_64-astral-gcc" AS="nasm" make -j${parallelism} 10 | } 11 | 12 | package() { 13 | mkdir -p "${dest_dir}/boot" 14 | cp astral "${dest_dir}/boot" 15 | } 16 | -------------------------------------------------------------------------------- /recipes/base: -------------------------------------------------------------------------------- 1 | name=base 2 | revision=1 3 | deps="mlibc libintl libiconv libxcrypt" 4 | -------------------------------------------------------------------------------- /recipes/bash: -------------------------------------------------------------------------------- 1 | name=bash 2 | revision=1 3 | from_source=bash 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="readline base" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} --without-bash-malloc 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | 20 | mkdir -p ${dest_dir}/bin 21 | pushd ${dest_dir}/bin 22 | ln -sv ${prefix}/bin/bash sh 23 | ln -sv ${prefix}/bin/bash bash 24 | popd 25 | } 26 | -------------------------------------------------------------------------------- /recipes/binutils: -------------------------------------------------------------------------------- 1 | name=binutils 2 | revision=1 3 | from_source=binutils 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils automake autoconf" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --target=x86_64-astral --prefix=${prefix} --disable-werror 10 | } 11 | 12 | build() { 13 | make -j${parallelism} tooldir=/usr 14 | } 15 | 16 | package() { 17 | make install DESTDIR="${dest_dir}" tooldir=/usr 18 | } 19 | -------------------------------------------------------------------------------- /recipes/bzip2: -------------------------------------------------------------------------------- 1 | name=bzip2 2 | revision=1 3 | from_source=bzip2 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | build() { 9 | cp -rpf ${source_dir}/* . 10 | sed -i 's@\(ln -s -f \)$(prefix)/bin/@\1@' Makefile 11 | sed -i "s@(prefix)/man@(prefix)/share/man@g" Makefile 12 | make -f Makefile-libbz2_so CC=x86_64-astral-gcc 13 | make clean 14 | make -j${parallelism} CC=x86_64-astral-gcc 15 | } 16 | 17 | package() { 18 | make install PREFIX=${dest_dir}/${prefix} 19 | cp -av libbz2.so.* ${dest_dir}/${prefix}/lib 20 | ln -sv libbz2.so.1.0.8 ${dest_dir}${prefix}/lib/libbz2.so 21 | cp -v bzip2-shared ${dest_dir}/${prefix}/bin/bzip2 22 | for i in ${dest_dir}/${prefix}/bin/{bzcat,bunzip2}; do 23 | ln -sfv bzip2 $i 24 | done 25 | rm -fv ${dest_dir}/${prefix}/lib/libbz2.a 26 | } 27 | -------------------------------------------------------------------------------- /recipes/coreutils: -------------------------------------------------------------------------------- 1 | name=coreutils 2 | revision=1 3 | from_source=coreutils 4 | imagedeps="build-essential gperf" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | cp -pr ${source_dir}/* . 10 | CFLAGS="-DSLOW_BUT_NO_HACKS $CFLAGS" ./configure --host=x86_64-astral --prefix=${prefix} 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/cups: -------------------------------------------------------------------------------- 1 | name=cups 2 | revision=1 3 | from_source=cups 4 | imagedeps="build-essential xdg-utils" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libiconv zlib" 7 | 8 | configure() { 9 | cp -r "${source_dir}/." "." 10 | ./configure \ 11 | --prefix=${prefix} \ 12 | --host=x86_64-astral \ 13 | --with-rcdir=/tmp/cupsinit \ 14 | --with-docdir=/usr/share/cups/doc \ 15 | --disable-dbus \ 16 | --disable-gssapi \ 17 | --disable-pam \ 18 | --disable-browsing \ 19 | --with-tls=no \ 20 | --with-components=libcups 21 | sed -i s/-Werror//g Makedefs 22 | } 23 | 24 | build() { 25 | make -j${parallelism} 26 | } 27 | 28 | package() { 29 | make DESTDIR=${dest_dir} install -j${parallelism} 30 | } 31 | -------------------------------------------------------------------------------- /recipes/curl: -------------------------------------------------------------------------------- 1 | name=curl 2 | revision=1 3 | from_source=curl 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base openssl zlib" 7 | 8 | configure() { 9 | cp -rpv ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} --with-openssl --with-zlib --disable-ipv6 --with-ca-path=/etc/ssl/certs --disable-static 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/diffutils: -------------------------------------------------------------------------------- 1 | name=diffutils 2 | revision=1 3 | from_source=diffutils 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} --disable-docs 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/doomgeneric: -------------------------------------------------------------------------------- 1 | name=doomgeneric 2 | revision=1 3 | from_source=doomgeneric 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | build() { 9 | cp -rp ${source_dir}/doomgeneric/* . 10 | make 11 | } 12 | 13 | package() { 14 | mkdir -p ${dest_dir}/usr/bin 15 | cp -f doomgeneric ${dest_dir}/usr/bin/doomgeneric 16 | } 17 | -------------------------------------------------------------------------------- /recipes/doomgeneric-x11: -------------------------------------------------------------------------------- 1 | name=doomgeneric-x11 2 | revision=1 3 | from_source=doomgeneric 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base libx11" 7 | 8 | build() { 9 | cp -rp ${source_dir}/doomgeneric/* . 10 | cp -vp Makefile.x11 Makefile 11 | make 12 | } 13 | 14 | package() { 15 | mkdir -p ${dest_dir}/usr/bin 16 | cp -f doomgeneric ${dest_dir}/usr/bin/doomgeneric-x11 17 | } 18 | -------------------------------------------------------------------------------- /recipes/e2fsprogs: -------------------------------------------------------------------------------- 1 | name=e2fsprogs 2 | revision=1 3 | from_source=e2fsprogs 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/file: -------------------------------------------------------------------------------- 1 | name=file 2 | revision=1 3 | from_source=file 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/findutils: -------------------------------------------------------------------------------- 1 | name=findutils 2 | revision=1 3 | from_source=findutils 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/fontconfig: -------------------------------------------------------------------------------- 1 | name=fontconfig 2 | revision=1 3 | from_source=fontconfig 4 | imagedeps="build-essential python3 gperf" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base freetype libexpat" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/fontutil: -------------------------------------------------------------------------------- 1 | name=fontutil 2 | revision=1 3 | from_source=fontutil 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorgproto" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/freestnd-c-hdrs: -------------------------------------------------------------------------------- 1 | name=freestnd-c-hdrs 2 | from_source=freestnd-c-hdrs 3 | revision=1 4 | 5 | build() { 6 | cp -rp "${source_dir}"/. ./ 7 | } 8 | 9 | package() { 10 | make install DESTDIR="${dest_dir}" PREFIX="${prefix}" 11 | } 12 | 13 | -------------------------------------------------------------------------------- /recipes/freestnd-cxx-hdrs: -------------------------------------------------------------------------------- 1 | name=freestnd-cxx-hdrs 2 | from_source=freestnd-cxx-hdrs 3 | revision=1 4 | 5 | build() { 6 | cp -rp "${source_dir}"/. ./ 7 | } 8 | 9 | package() { 10 | make install DESTDIR="${dest_dir}" PREFIX="${prefix}" 11 | } 12 | 13 | -------------------------------------------------------------------------------- /recipes/freetype: -------------------------------------------------------------------------------- 1 | name=freetype 2 | revision=1 3 | from_source=freetype 4 | imagedeps="gcc build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/frigg: -------------------------------------------------------------------------------- 1 | name=frigg 2 | from_source=frigg 3 | revision=1 4 | hostdeps="xgcc xbinutils pkgconfig" 5 | imagedeps="meson ninja-build build-essential" 6 | 7 | configure() { 8 | meson --cross-file ${base_dir}/util/crossfile --prefix=${prefix} -Dbuild_tests=disabled ${source_dir} --includedir="share/mlibc-build/frigg/include" 9 | } 10 | 11 | build() { 12 | ninja 13 | } 14 | 15 | package() { 16 | DESTDIR=${dest_dir} ninja install 17 | } 18 | 19 | -------------------------------------------------------------------------------- /recipes/fvwm: -------------------------------------------------------------------------------- 1 | name=fvwm 2 | revision=1 3 | from_source=fvwm 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="base libx11 libxinerama libxcursor libxt libevent libxrandr freetype libpng libxft" 7 | 8 | configure() { 9 | cp -rvp ${source_dir}/* . 10 | ac_cv_func_setpgrp_void=yes \ 11 | ac_cv_func_mkstemp=yes \ 12 | has_safety_mkstemp=yes \ 13 | ./configure --prefix=${prefix} --host=x86_64-astral 14 | } 15 | 16 | build() { 17 | make -j${parallelism} libevent_LIBS="-levent" 18 | } 19 | 20 | package() { 21 | make DESTDIR=${dest_dir} install 22 | } 23 | -------------------------------------------------------------------------------- /recipes/gawk: -------------------------------------------------------------------------------- 1 | name=gawk 2 | revision=1 3 | from_source=gawk 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} --disable-nls --disable-extensions 11 | 12 | # we need to remove the test as gawk seems to autoexecute it 13 | 14 | echo "all:" > test/Makefile 15 | echo " echo ignore" >> test/Makefile 16 | echo "install:" >> test/Makefile 17 | echo " echo ignore" >> test/Makefile 18 | } 19 | 20 | build() { 21 | make -j ${parallelism} 22 | } 23 | 24 | package() { 25 | make install DESTDIR=${dest_dir} 26 | } 27 | -------------------------------------------------------------------------------- /recipes/gcc: -------------------------------------------------------------------------------- 1 | name=gcc 2 | revision=1 3 | from_source=gcc 4 | imagedeps="build-essential" 5 | hostrundeps="automake autoconf xgcc xbinutils libstdc++-v3" 6 | deps="base gmp mpfr mpc binutils" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --target=x86_64-astral --prefix=${prefix} --enable-languages=c,c++ --with-sysroot=/ --with-build-sysroot=${sysroot_dir} 10 | } 11 | 12 | build() { 13 | make -j${parallelism} all-gcc all-target-libgcc all-target-libstdc++-v3 14 | } 15 | 16 | package() { 17 | make install-gcc install-target-libgcc install-target-libstdc++-v3 DESTDIR="${dest_dir}" 18 | } 19 | -------------------------------------------------------------------------------- /recipes/gettext: -------------------------------------------------------------------------------- 1 | name=gettext 2 | revision=1 3 | from_source=gettext 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils autoconf automake pkgconfig libtool" 6 | deps="base libiconv" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | 11 | ACLOCAL=true AUTCONF=true AUTOMAKE=true AUTOHEADER=true ./configure --host=x86_64-astral --prefix=${prefix} --disable-static 12 | } 13 | 14 | build() { 15 | make -j ${parallelism} 16 | } 17 | 18 | package() { 19 | make install DESTDIR=${dest_dir} 20 | 21 | rm -f ${dest_dir}/${prefix}/include/libintl.h 22 | rm -f ${dest_dir}/${prefix}/lib/libintl.so* 23 | rm -f ${dest_dir}/${prefix}/share/locale/locale.alias 24 | } 25 | -------------------------------------------------------------------------------- /recipes/git: -------------------------------------------------------------------------------- 1 | name=git 2 | revision=1 3 | from_source=git 4 | imagedeps="build-essential curl libcurl4-openssl-dev" 5 | hostdeps="xgcc xbinutils" 6 | deps="base python zlib curl openssl openssh" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | ac_cv_iconv_omits_bom=yes ac_cv_fread_reads_directories=no ac_cv_snprintf_returns_bogus=no ./configure --host=x86_64-astral --prefix=${prefix} --with-gitconfig=/etc/gitconfig --with-python=python3 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/glib: -------------------------------------------------------------------------------- 1 | name=glib 2 | revision=1 3 | from_source=glib 4 | imagedeps="gcc meson ninja-build" 5 | hostdeps="xgcc xbinutils pkgconfig automake autoconf util-macros libtool" 6 | deps="base libiconv pcre2 libffi libintl" 7 | 8 | configure() { 9 | meson --cross-file ${base_dir}/util/crossfile --prefix=${prefix} --buildtype=release -Dxattr=false ${source_dir} 10 | } 11 | 12 | build() { 13 | ninja -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} ninja install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/glu: -------------------------------------------------------------------------------- 1 | name=glu 2 | revision=1 3 | from_source=glu 4 | imagedeps="gcc meson ninja-build" 5 | hostdeps="xgcc xbinutils pkgconfig libtool libstdc++-v3" 6 | deps="base mesa" 7 | 8 | configure() { 9 | meson setup --cross-file ${base_dir}/util/crossfile --prefix=${prefix} --buildtype=release ${source_dir} -Dgl_provider=gl 10 | } 11 | 12 | build() { 13 | ninja -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} ninja install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/gmp: -------------------------------------------------------------------------------- 1 | name=gmp 2 | revision=1 3 | from_source=gmp 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR="${dest_dir}" 18 | } 19 | -------------------------------------------------------------------------------- /recipes/grep: -------------------------------------------------------------------------------- 1 | name=grep 2 | revision=1 3 | from_source=grep 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/gzip: -------------------------------------------------------------------------------- 1 | name=gzip 2 | revision=1 3 | from_source=gzip 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils automake autoconf" 6 | deps="base" 7 | 8 | configure() { 9 | cp -rf ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/imlib2: -------------------------------------------------------------------------------- 1 | name=imlib2 2 | revision=1 3 | from_source=imlib2 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils libtool pkgconfig" 6 | deps="base freetype libx11 libice libpng libjpeg-turbo bzip2 zlib libxext" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR="${dest_dir}" 18 | } 19 | -------------------------------------------------------------------------------- /recipes/init: -------------------------------------------------------------------------------- 1 | name=init 2 | revision=1 3 | from_source=init 4 | imagedeps="build-essential" 5 | hostdeps="xbinutils xgcc" 6 | deps="base" 7 | 8 | build() { 9 | make -C ${source_dir} -j ${parallelism} 10 | } 11 | 12 | package() { 13 | make -C ${source_dir} install DESTDIR=${dest_dir} 14 | } 15 | -------------------------------------------------------------------------------- /recipes/less: -------------------------------------------------------------------------------- 1 | name=less 2 | revision=1 3 | from_source=less 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base ncurses" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} #LDFLAGS='-ltinfo' 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libXau: -------------------------------------------------------------------------------- 1 | name=libXau 2 | revision=1 3 | from_source=libXau 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorgproto" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libXdmcp: -------------------------------------------------------------------------------- 1 | name=libXdmcp 2 | revision=1 3 | from_source=libXdmcp 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorgproto" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libevent: -------------------------------------------------------------------------------- 1 | name=libevent 2 | revision=1 3 | from_source=libevent 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --disable-static --enable-shared --disable-openssl 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR="${dest_dir}" 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libexpat: -------------------------------------------------------------------------------- 1 | name=libexpat 2 | revision=1 3 | from_source=libexpat 4 | imagedeps="build-essential python3" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libffi: -------------------------------------------------------------------------------- 1 | name=libffi 2 | revision=1 3 | from_source=libffi 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils autoconf automake pkgconfig libtool" 6 | deps="base ncurses" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --disable-static --enable-shared 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libfontenc: -------------------------------------------------------------------------------- 1 | name=libfontenc 2 | revision=1 3 | from_source=libfontenc 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros" 6 | deps="base zlib xorgproto" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | 18 | make install DESTDIR=${dest_dir} 19 | 20 | } 21 | -------------------------------------------------------------------------------- /recipes/libgcrypt: -------------------------------------------------------------------------------- 1 | name=libgcrypt 2 | revision=1 3 | from_source=libgcrypt 4 | imagedeps="meson ninja-build gcc build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="base libgpg-error" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral \ 10 | --enable-shared \ 11 | --disable-doc \ 12 | --disable-dev-random \ 13 | --disable-asm \ 14 | --with-libgpg-error-prefix=${sysroot_dir}/${prefix} 15 | } 16 | 17 | build() { 18 | make -j${parallelism} 19 | } 20 | 21 | package() { 22 | make install DESTDIR=${dest_dir} 23 | } 24 | -------------------------------------------------------------------------------- /recipes/libgpg-error: -------------------------------------------------------------------------------- 1 | name=libgpg-error 2 | revision=1 3 | from_source=libgpg-error 4 | imagedeps="gcc build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="mlibc" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libice: -------------------------------------------------------------------------------- 1 | name=libice 2 | revision=1 3 | from_source=libice 4 | imagedeps="meson build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libiconv: -------------------------------------------------------------------------------- 1 | name=libiconv 2 | revision=1 3 | from_source=libiconv 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils libstdc++-v3 pkgconfig libtool" 6 | deps="mlibc" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --disable-nls --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libintl: -------------------------------------------------------------------------------- 1 | name=libintl 2 | revision=1 3 | from_source=gettext 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils libstdc++-v3 automake autoconf pkgconfig libtool" 6 | deps="mlibc" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | 11 | ACLOCAL=true AUTCONF=true AUTOMAKE=true AUTOHEADER=true ./configure \ 12 | --host=x86_64-astral --prefix=${prefix} --without-emacs --without-lispdir --enable-nls --with-included-gettext --disable-c++ --disable-libasprintf --disable-java --enable-threads=posix --disable-curses --without-git --without-cvs --without-bzip2 --without-xz --disable-static 13 | sed -i 's/touch $@//g' gettext-runtime/intl/Makefile 14 | } 15 | 16 | build() { 17 | make -C gettext-runtime/intl -j${parallelism} 18 | } 19 | 20 | package() { 21 | make install -C gettext-runtime/intl DESTDIR=${dest_dir} 22 | } 23 | -------------------------------------------------------------------------------- /recipes/libjpeg-turbo: -------------------------------------------------------------------------------- 1 | name=libjpeg-turbo 2 | revision=1 3 | from_source=libjpeg-turbo 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils cmake" 6 | deps="base" 7 | 8 | configure() { 9 | cmake \ 10 | -DCMAKE_TOOLCHAIN_FILE=${base_dir}/util/cmake \ 11 | -DCMAKE_INSTALL_PREFIX=${prefix} \ 12 | -DCMAKE_BUILD_TYPE=Release \ 13 | -DENABLE_STATIC=FALSE \ 14 | -DCMAKE_INSTALL_DOCIDR=/usr/share/doc/libjpeg-turbo-3.0.3 \ 15 | -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \ 16 | -DWITH_JPEG8=ON \ 17 | -DCMAKE_SYSTEM_PROCESSOR=x86_64 \ 18 | ${source_dir} 19 | } 20 | 21 | build() { 22 | make -j${parallelism} 23 | } 24 | 25 | package() { 26 | make install DESTDIR="${dest_dir}" 27 | } 28 | -------------------------------------------------------------------------------- /recipes/libpng: -------------------------------------------------------------------------------- 1 | name=libpng 2 | revision=1 3 | from_source=libpng 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base zlib" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR="${dest_dir}" 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libsm: -------------------------------------------------------------------------------- 1 | name=libsm 2 | revision=1 3 | from_source=libsm 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros" 6 | deps="base xorgproto libx11 libice" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libstb: -------------------------------------------------------------------------------- 1 | name=libstb 2 | revision=1 3 | from_source=libstb 4 | 5 | package() { 6 | mkdir -p ${dest_dir}/${prefix}/include/ 7 | cp -r ${source_dir}/*.h ${dest_dir}/${prefix}/include/ 8 | } 9 | -------------------------------------------------------------------------------- /recipes/libx11: -------------------------------------------------------------------------------- 1 | name=libx11 2 | revision=1 3 | from_source=libx11 4 | imagedeps="meson ninja-build gcc build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorgproto xtrans libxcb" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} make install 18 | 19 | } 20 | -------------------------------------------------------------------------------- /recipes/libxaw: -------------------------------------------------------------------------------- 1 | name=libxaw 2 | revision=1 3 | from_source=libxaw 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11 libxt libxext libxmu libxpm" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxcb: -------------------------------------------------------------------------------- 1 | name=libxcb 2 | revision=1 3 | from_source=libxcb 4 | imagedeps="python3 gcc" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros libtool autoconf automake" 6 | deps="base xorgproto libXau libXdmcp xcb-proto" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --disable-static --with-sysroot=${sysroot_dir} 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxcrypt: -------------------------------------------------------------------------------- 1 | name=libxcrypt 2 | revision=1 3 | from_source=libxcrypt 4 | imagedeps="python3-passlib gcc" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="mlibc libgpg-error libiconv libintl" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-obsolete-api=yes --disable-xcrypt-compat-files 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxcursor: -------------------------------------------------------------------------------- 1 | name=libxcursor 2 | revision=1 3 | from_source=libxcursor 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libxrender libxfixes libx11" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} make install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxcvt: -------------------------------------------------------------------------------- 1 | name=libxcvt 2 | revision=1 3 | from_source=libxcvt 4 | imagedeps="meson ninja-build gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base" 7 | 8 | configure() { 9 | meson --cross-file=${base_dir}/util/crossfile --prefix=${prefix} ${source_dir} 10 | } 11 | 12 | build() { 13 | ninja 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} ninja install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxdamage: -------------------------------------------------------------------------------- 1 | name=libxdamage 2 | revision=1 3 | from_source=libxdamage 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11 libxfixes" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxext: -------------------------------------------------------------------------------- 1 | name=libxext 2 | revision=1 3 | from_source=libxext 4 | imagedeps="meson build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxfixes: -------------------------------------------------------------------------------- 1 | name=libxfixes 2 | revision=1 3 | from_source=libxfixes 4 | imagedeps="meson build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxfont2: -------------------------------------------------------------------------------- 1 | name=libxfont2 2 | revision=1 3 | from_source=libxfont2 4 | imagedeps="meson ninja-build gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorgproto freetype zlib xtrans libfontenc" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} make install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxft: -------------------------------------------------------------------------------- 1 | name=libxft 2 | revision=1 3 | from_source=libxft 4 | imagedeps="meson build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11 libxt libxrender freetype fontconfig" 7 | 8 | build() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | make -j${parallelism} 11 | } 12 | 13 | package() { 14 | make DESTDIR=${dest_dir} install 15 | } 16 | -------------------------------------------------------------------------------- /recipes/libxi: -------------------------------------------------------------------------------- 1 | name=libxi 2 | revision=1 3 | from_source=libxi 4 | imagedeps="meson build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11 libxext libxfixes" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxinerama: -------------------------------------------------------------------------------- 1 | name=libxinerama 2 | revision=1 3 | from_source=libxinerama 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros" 6 | deps="base xorgproto libx11 libxext" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} make install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxml: -------------------------------------------------------------------------------- 1 | name=libxml 2 | revision=1 3 | from_source=libxml 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="base zlib" 7 | 8 | configure () { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --without-python --disable-static --with-threads --disable-ipv6 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxmu: -------------------------------------------------------------------------------- 1 | name=libxmu 2 | revision=1 3 | from_source=libxmu 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11 libxt libxext" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxpm: -------------------------------------------------------------------------------- 1 | name=libxpm 2 | revision=1 3 | from_source=libxpm 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11 libxt libxext libxmu libxrender" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxrandr: -------------------------------------------------------------------------------- 1 | name=libxrandr 2 | revision=1 3 | from_source=libxrandr 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros" 6 | deps="base libx11 xorgproto util-macros libxext libxrender" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxrender: -------------------------------------------------------------------------------- 1 | name=libxrender 2 | revision=1 3 | from_source=libxrender 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxt: -------------------------------------------------------------------------------- 1 | name=libxt 2 | revision=1 3 | from_source=libxt 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros" 6 | deps="base xorgproto libx11 libice libsm" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxtst: -------------------------------------------------------------------------------- 1 | name=libxtst 2 | revision=1 3 | from_source=libxtst 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros" 6 | deps="base xorgproto libx11 libxext libxi" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/libxxf86vm: -------------------------------------------------------------------------------- 1 | name=libxxf86vm 2 | revision=1 3 | from_source=libxxf86vm 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros" 6 | deps="base libxext xorgproto" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-shared --disable-static --disable-malloc0returnsnull 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/limine: -------------------------------------------------------------------------------- 1 | name=limine 2 | from_source=limine 3 | revision=1 4 | imagedeps="build-essential mtools nasm" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | "${source_dir}/configure" --host=x86_64-astral --enable-bios-cd --enable-bios-pxe --enable-bios --enable-uefi-ia32 --enable-uefi-x86-64 --enable-uefi-cd --prefix="${prefix}" 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/links: -------------------------------------------------------------------------------- 1 | name=links 2 | revision=1 3 | from_source=links 4 | imagedeps="meson ninja-build build-essential libpng-dev" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base zlib openssl bzip2 libpng libxext freetype fontconfig libjpeg-turbo" 7 | 8 | configure() { 9 | CC=x86_64-astral-gcc ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --enable-graphics --without-directfb --without-librsvg --with-bzip2 --with-X --x-includes=${sysroot_dir}/usr/include --x-libraries=${sysroot_dir}/usr/lib --with-zlib --with-openssl --without-libtiff --without-openmp --without-lzma --with-freetype --without-ipv6 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/linux-headers: -------------------------------------------------------------------------------- 1 | name=linux-headers 2 | from_source=linux 3 | revision=1 4 | imagedeps="build-essential rsync" 5 | 6 | build() { 7 | true 8 | } 9 | 10 | package() { 11 | true 12 | } 13 | -------------------------------------------------------------------------------- /recipes/llvm: -------------------------------------------------------------------------------- 1 | name=llvm 2 | revision=1 3 | from_source=llvm 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig cmake libstdc++-v3" 6 | deps="base ncurses zlib" 7 | 8 | configure() { 9 | cmake \ 10 | -GNinja \ 11 | -DCMAKE_TOOLCHAIN_FILE=${base_dir}/util/cmake \ 12 | -DCMAKE_INSTALL_PREFIX=${prefix} \ 13 | -DCMAKE_BUILD_TYPE=Release \ 14 | -DLLVM_LINK_LLVM_DYLIB=ON \ 15 | -DLLVM_ENABLE_FFI=ON \ 16 | -DLLVM_ENABLE_EH=ON \ 17 | -DLLVM_ENABLE_RTTI=ON \ 18 | -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-astral \ 19 | -DLLVM_HOST_TRIPLE=x86_64-astral \ 20 | -DLLVM_TARGETS_TO_BUILD="X86" \ 21 | -Wno-dev \ 22 | ${source_dir}/llvm 23 | } 24 | 25 | build() { 26 | ninja -j${parallelism} 27 | } 28 | 29 | package() { 30 | DESTDIR="${dest_dir}" ninja install 31 | 32 | find ${dest_dir} -name '*.a' -delete 33 | } 34 | -------------------------------------------------------------------------------- /recipes/make: -------------------------------------------------------------------------------- 1 | name=make 2 | revision=1 3 | from_source=make 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/make-ca: -------------------------------------------------------------------------------- 1 | name=make-ca 2 | revision=1 3 | from_source=make-ca 4 | imagedeps="openssl p11-kit" 5 | rundeps="bash" 6 | allow_network="yes" 7 | 8 | package() { 9 | # install it 10 | cp -rpv ${source_dir}/* . 11 | make install DESTDIR=${dest_dir} PREFIX=/usr 12 | install -vdm 755 ${dest_dir}/etc/ssl/local 13 | 14 | # install certificate data 15 | MOZILLA_CERT_SYSROOT=${dest_dir} ${dest_dir}/usr/sbin/make-ca -g -D ${dest_dir} 16 | } 17 | -------------------------------------------------------------------------------- /recipes/mesa: -------------------------------------------------------------------------------- 1 | name=mesa 2 | revision=1 3 | from_source=mesa 4 | imagedeps="gcc meson ninja-build python3-mako python3-setuptools python3-yaml" 5 | hostdeps="xgcc xbinutils pkgconfig automake autoconf util-macros libtool libstdc++-v3" 6 | deps="base llvm libexpat libxcb libx11 libxext zlib" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | mkdir -p build 11 | cd build 12 | 13 | meson --cross-file ${base_dir}/util/crossfile --prefix=${prefix} --buildtype=release -Dplatforms=x11 -Dglx=xlib -Dgallium-drivers=swrast -Dvulkan-drivers= -Dllvm=enabled -Dvalgrind=disabled -Dlibunwind=disabled .. 14 | } 15 | 16 | build() { 17 | cd build 18 | ninja -j${parallelism} 19 | } 20 | 21 | package() { 22 | cd build 23 | DESTDIR=${dest_dir} ninja install 24 | } 25 | -------------------------------------------------------------------------------- /recipes/mesa-demos: -------------------------------------------------------------------------------- 1 | name=mesa-demos 2 | revision=1 3 | from_source=mesa-demos 4 | imagedeps="gcc meson ninja-build" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="base mesa freetype libx11 libxext glu" 7 | 8 | configure() { 9 | meson setup --cross-file ${base_dir}/util/crossfile --prefix=${prefix} --buildtype=release ${source_dir} -Dx11=enabled -Dwith-system-data-files=true 10 | } 11 | 12 | build() { 13 | ninja -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} ninja install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/mkfontscale: -------------------------------------------------------------------------------- 1 | name=mkfontscale 2 | revision=1 3 | from_source=mkfontscale 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base freetype libfontenc" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/mlibc: -------------------------------------------------------------------------------- 1 | name=mlibc 2 | from_source=mlibc 3 | revision=1 4 | hostdeps="xgcc xbinutils pkgconfig" 5 | builddeps="freestnd-c-hdrs freestnd-cxx-hdrs frigg" 6 | imagedeps="meson ninja-build git build-essential binutils" 7 | deps="mlibc-headers" 8 | 9 | configure() { 10 | meson --cross-file ${base_dir}/util/crossfile -Dmlibc_no_headers=true --prefix=${prefix} ${source_dir} -Dlinux_kernel_headers=${sysroot_dir}/${prefix}/include -Ddisable_crypt_option=true -Ddisable_iconv_option=true -Ddisable_intl_option=true 11 | } 12 | 13 | build() { 14 | ninja 15 | } 16 | 17 | package() { 18 | DESTDIR=${dest_dir} ninja install 19 | } 20 | -------------------------------------------------------------------------------- /recipes/mlibc-headers: -------------------------------------------------------------------------------- 1 | name=mlibc-headers 2 | from_source=mlibc 3 | revision=1 4 | imagedeps="ninja-build meson build-essential rsync" 5 | builddeps="linux-headers" 6 | 7 | configure() { 8 | meson setup --cross-file "${base_dir}/util/crossfile" --prefix="${prefix}" -Dheaders_only=true "${source_dir}" -Ddisable_crypt_option=true -Ddisable_iconv_option=true -Ddisable_intl_option=true 9 | } 10 | 11 | build() { 12 | ninja 13 | mkdir linux 14 | cp -rp ${base_dir}/sources/linux/* linux 15 | } 16 | 17 | package() { 18 | pushd linux 19 | make headers_install ARCH=x86_64 INSTALL_HDR_PATH=${dest_dir}/${prefix}/ 20 | popd 21 | DESTDIR=${dest_dir} ninja install 22 | } 23 | -------------------------------------------------------------------------------- /recipes/mount: -------------------------------------------------------------------------------- 1 | name=mount 2 | revision=1 3 | from_source=mount 4 | imagedeps="build-essential" 5 | hostdeps="xbinutils xgcc" 6 | deps="base" 7 | 8 | build() { 9 | make -C ${source_dir} -j ${parallelism} 10 | } 11 | 12 | package() { 13 | make -C ${source_dir} install PREFIX=${prefix} DESTDIR=${dest_dir} 14 | } 15 | -------------------------------------------------------------------------------- /recipes/mpc: -------------------------------------------------------------------------------- 1 | name=mpc 2 | revision=1 3 | from_source=mpc 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base gmp mpfr" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR="${dest_dir}" 18 | } 19 | -------------------------------------------------------------------------------- /recipes/mpfr: -------------------------------------------------------------------------------- 1 | name=mpfr 2 | revision=1 3 | from_source=mpfr 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base gmp" 7 | 8 | configure() { 9 | cp -pr ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} 11 | } 12 | 13 | build() { 14 | make -j${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR="${dest_dir}" 19 | } 20 | -------------------------------------------------------------------------------- /recipes/nano: -------------------------------------------------------------------------------- 1 | name=nano 2 | revision=1 3 | from_source=nano 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="base ncurses" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} LDFLAGS='-ltinfo' 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/nasm: -------------------------------------------------------------------------------- 1 | name=nasm 2 | revision=1 3 | from_source=nasm 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR="${dest_dir}" 18 | } 19 | -------------------------------------------------------------------------------- /recipes/neofetch: -------------------------------------------------------------------------------- 1 | name=neofetch 2 | revision=1 3 | from_source=neofetch 4 | rundeps="bash" 5 | 6 | package() { 7 | mkdir -p ${dest_dir}/usr/bin 8 | cp -f ${source_dir}/neofetch ${dest_dir}/usr/bin/neofetch 9 | } 10 | -------------------------------------------------------------------------------- /recipes/netd: -------------------------------------------------------------------------------- 1 | name=netd 2 | revision=1 3 | from_source=netd 4 | imagedeps="build-essential" 5 | hostdeps="xbinutils xgcc" 6 | deps="base" 7 | 8 | build() { 9 | make -C ${source_dir} -j ${parallelism} 10 | } 11 | 12 | package() { 13 | make -C ${source_dir} install PREFIX=${prefix} DESTDIR=${dest_dir} 14 | } 15 | -------------------------------------------------------------------------------- /recipes/nyancat: -------------------------------------------------------------------------------- 1 | name=nyancat 2 | revision=1 3 | from_source=nyancat 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | build() { 9 | cp -rp ${source_dir}/* . 10 | CC=x86_64-astral-gcc make -j${parallelism} 11 | } 12 | 13 | package() { 14 | make install DESTDIR="${dest_dir}" 15 | } 16 | -------------------------------------------------------------------------------- /recipes/openssh: -------------------------------------------------------------------------------- 1 | name=openssh 2 | revision=1 3 | from_source=openssh 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils" 6 | deps="base zlib openssl libxcrypt" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --sysconfdir=/etc/ssh --with-privsep-path=/var/lib/sshd --with-default-path=${prefix}/bin --with-superuser-path=${prefix}/sbin:${prefix}/bin --with-pid-dir=/run 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | install -v -m700 -d ${dest_dir}/var/lib/sshd 18 | install -v -d ${dest_dir}/run 19 | make install DESTDIR=${dest_dir} 20 | } 21 | -------------------------------------------------------------------------------- /recipes/openssl: -------------------------------------------------------------------------------- 1 | name=openssl 2 | revision=1 3 | from_source=openssl 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils" 6 | deps="base zlib" 7 | 8 | configure() { 9 | cp -rpv ${source_dir}/* . 10 | CC=x86_64-astral-gcc CXX=x86_64-astral-gcc ./Configure --prefix=/usr --openssldir=/etc/ssl --libdir=lib "x86_64-astral" shared zlib-dynamic no-afalgeng 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install MANSUFFIX=ssl DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/oss: -------------------------------------------------------------------------------- 1 | name=oss 2 | revision=1 3 | from_source=oss 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | ASTRAL_CC=x86_64-astral-gcc \ 10 | ASTRAL_HOSTCC=cc \ 11 | ASTRAL_CPLUSPLUS=x86_64-astral-g++ \ 12 | ASTRAL_CFLAGS="${CFLAGS}" \ 13 | ASTRAL_LDFLAGS="${LDFLAGS}" \ 14 | ASTRAL_ENDIAN=LITTLE \ 15 | ASTRAL_OS=Astral \ 16 | ASTRAL_ARCH=x86_64 \ 17 | ${source_dir}/configure --enable-libsalsa=NO --only-drv= --target=astral-x86_64 18 | } 19 | 20 | build() { 21 | CC=x86_64-astral-gcc make -j${parallelism} 22 | } 23 | 24 | package() { 25 | make copy DESTDIR="${dest_dir}" 26 | } 27 | -------------------------------------------------------------------------------- /recipes/pcre2: -------------------------------------------------------------------------------- 1 | name=pcre2 2 | revision=1 3 | from_source=pcre2 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils" 6 | deps="base zlib bzip2" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --docdir=/usr/share/doc/pcre2-10.42 --enable-pcre2-16 --enable-pcre2-32 --enable-pcre2grep-libz --enable-pcre2grep-libbz2 --disable-static 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/pixman: -------------------------------------------------------------------------------- 1 | name=pixman 2 | revision=1 3 | from_source=pixman 4 | imagedeps="meson ninja-build gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base" 7 | 8 | configure() { 9 | meson --cross-file=${base_dir}/util/crossfile --prefix=${prefix} ${source_dir} 10 | } 11 | 12 | build() { 13 | ninja 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} ninja install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/python: -------------------------------------------------------------------------------- 1 | name=python 2 | revision=1 3 | from_source=python 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig python" 6 | deps="base" 7 | 8 | configure() { 9 | echo "ac_cv_file__dev_ptmx=yes" > /tmp/configsite 10 | echo "ac_cv_file__dev_ptc=no" >> /tmp/configsite 11 | CONFIG_SITE=/tmp/configsite ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --build=x86_64 --with-build-python=python3 --disable-ipv6 --enable-shared 12 | } 13 | 14 | build() { 15 | make -j${parallelism} 16 | } 17 | 18 | package() { 19 | make DESTDIR=${dest_dir} install 20 | } 21 | -------------------------------------------------------------------------------- /recipes/qemu: -------------------------------------------------------------------------------- 1 | name=qemu 2 | revision=1 3 | from_source=qemu 4 | imagedeps="build-essential python3-venv python3-sphinx ninja-build meson git" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="base sdl2 glib libiconv libintl" 7 | allow_network="yes" 8 | 9 | configure() { 10 | cp -rp ${source_dir}/* . 11 | ./configure --cross-prefix=x86_64-astral- --host=x86_64-astral --prefix=${prefix} --target-list=x86_64-softmmu,i386-softmmu,aarch64-softmmu --with-coroutine=sigaltstack --disable-pie 12 | } 13 | 14 | build() { 15 | cd build 16 | ninja -j${parallelism} 17 | } 18 | 19 | package() { 20 | cd build 21 | DESTDIR=${dest_dir} ninja install 22 | } 23 | -------------------------------------------------------------------------------- /recipes/readline: -------------------------------------------------------------------------------- 1 | name=readline 2 | revision=1 3 | from_source=readline 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base ncurses" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --enable-multibyte --disable-static --enable-shared 10 | } 11 | 12 | build() { 13 | make -j${parallelism} SHLIB_LIBS="-lncursesw" 14 | } 15 | 16 | package() { 17 | make install SHLIB_LIBS="-lncursesw" DESTDIR="${dest_dir}" 18 | } 19 | -------------------------------------------------------------------------------- /recipes/sed: -------------------------------------------------------------------------------- 1 | name=sed 2 | revision=1 3 | from_source=sed 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/sudo: -------------------------------------------------------------------------------- 1 | name=sudo 2 | revision=1 3 | from_source=sudo 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base libxcrypt" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --with-secure-path --with-env-editor --with-passprompt="[sudo] password for %p: " --disable-nls 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | export mode=$(stat -c "%a" ${dest_dir}/etc/sudoers) 19 | chmod 700 ${dest_dir}/etc/sudoers 20 | echo "astral ALL=(ALL:ALL) ALL" >> ${dest_dir}/etc/sudoers 21 | chmod ${mode} ${dest_dir}/etc/sudoers 22 | chmod u+s ${dest_dir}/etc/sudoers 23 | } 24 | -------------------------------------------------------------------------------- /recipes/tar: -------------------------------------------------------------------------------- 1 | name=tar 2 | revision=1 3 | from_source=tar 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="base bzip2 zlib gzip" 7 | 8 | configure() { 9 | cp -rpf ${source_dir}/* . 10 | LDFLAGS="${LDFLAGS} -lintl -liconv" ./configure --host=x86_64-astral --prefix=${prefix} 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/twm: -------------------------------------------------------------------------------- 1 | name=twm 2 | revision=1 3 | from_source=twm 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorg-server xsetroot" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/tyrquake: -------------------------------------------------------------------------------- 1 | name=tyrquake 2 | revision=1 3 | from_source=tyrquake 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base libx11 libxext libxxf86vm sdl2" 7 | 8 | configure() { 9 | cp -rp ${source_dir}/* . 10 | } 11 | 12 | build() { 13 | make -j${parallelism} CC=x86_64-astral-gcc LFLAGS="-lc" V=1 LOCALBASE=${sysroot_dir} SDL_CFLAGS="-I${sysroot_dir}/${prefix}/include/SDL2" SDL_LFLAGS="-lSDL2" DEBUG=Y CD_TARGET=null CFLAGS=-msse2 14 | } 15 | 16 | package() { 17 | mkdir -p ${dest_dir}/${prefix}/bin 18 | cp -vf bin/* ${dest_dir}/${prefix}/bin/ 19 | } 20 | -------------------------------------------------------------------------------- /recipes/util-macros: -------------------------------------------------------------------------------- 1 | name=util-macros 2 | revision=1 3 | from_source=util-macros 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/wget: -------------------------------------------------------------------------------- 1 | name=wget 2 | revision=1 3 | from_source=wget 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base zlib pcre2 openssl" 7 | 8 | configure() { 9 | cp -rpv ${source_dir}/* . 10 | ./configure --host=x86_64-astral --prefix=${prefix} --without-libpsl --with-ssl=openssl --disable-ipv6 11 | } 12 | 13 | build() { 14 | make -j ${parallelism} 15 | } 16 | 17 | package() { 18 | make install DESTDIR=${dest_dir} 19 | } 20 | -------------------------------------------------------------------------------- /recipes/xauth: -------------------------------------------------------------------------------- 1 | name=xauth 2 | revision=1 3 | from_source=xauth 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig xorgproto" 6 | deps="base libx11 libxaw libxext libxmu" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xbitmaps: -------------------------------------------------------------------------------- 1 | name=xbitmaps 2 | revision=1 3 | from_source=xbitmaps 4 | imagedeps="meson build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros" 6 | deps="base" 7 | 8 | build() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | package() { 13 | make DESTDIR=${dest_dir} install 14 | } 15 | -------------------------------------------------------------------------------- /recipes/xcb-proto: -------------------------------------------------------------------------------- 1 | name=xcb-proto 2 | revision=1 3 | from_source=xcb-proto 4 | imagedeps="build-essential python3" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | PYTHON=python3 ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xclock: -------------------------------------------------------------------------------- 1 | name=xclock 2 | revision=1 3 | from_source=xclock 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorg-server libxmu libxaw libxft" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xedit: -------------------------------------------------------------------------------- 1 | name=xedit 2 | revision=1 3 | from_source=xedit 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11 xorgproto libxt libxaw libxmu" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xev: -------------------------------------------------------------------------------- 1 | name=xev 2 | revision=1 3 | from_source=xev 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11 xorgproto libxrandr" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xeyes: -------------------------------------------------------------------------------- 1 | name=xeyes 2 | revision=1 3 | from_source=xeyes 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorg-server libxt libxmu libxext libxi libxrender" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xf86-input-keyboard: -------------------------------------------------------------------------------- 1 | name=xf86-input-keyboard 2 | revision=1 3 | from_source=xf86-input-keyboard 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig automake autoconf util-macros libtool" 6 | deps="base xorg-server" 7 | 8 | configure() { 9 | SYSROOT=${sysroot_dir} ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xf86-input-mouse: -------------------------------------------------------------------------------- 1 | name=xf86-input-mouse 2 | revision=1 3 | from_source=xf86-input-mouse 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig automake autoconf util-macros libtool" 6 | deps="base xorg-server" 7 | 8 | configure() { 9 | SYSROOT=${sysroot_dir} ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --disable-static 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xf86-video-fbdev: -------------------------------------------------------------------------------- 1 | name=xf86-video-fbdev 2 | revision=1 3 | from_source=xf86-video-fbdev 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig automake autoconf util-macros libtool" 6 | deps="base xorg-server" 7 | 8 | configure() { 9 | SYSROOT=${sysroot_dir} ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --disable-static --disable-pciaccess 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xfishtank: -------------------------------------------------------------------------------- 1 | name=xfishtank 2 | revision=1 3 | from_source=xfishtank 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils libtool pkgconfig" 6 | deps="base imlib2" 7 | 8 | build() { 9 | # the build system sucks, so we will directly call the compiler and ignore it! 10 | cp -rp ${source_dir}/* . 11 | 12 | gcc makeh.c -o makeh 13 | 14 | ./makeh fishmaps/?*.h > xfishy.h 15 | x86_64-astral-gcc -Dlinux -I./fishmaps -lX11 -lImlib2 -lm xfish.c medcut.c -o xfishtank 16 | } 17 | 18 | package() { 19 | mkdir -p ${dest_dir}/usr/bin/ 20 | cp -v xfishtank ${dest_dir}/usr/bin/xfishtank 21 | } 22 | -------------------------------------------------------------------------------- /recipes/xfontalias: -------------------------------------------------------------------------------- 1 | name=xfontalias 2 | revision=1 3 | from_source=xfontalias 4 | imagedeps="gcc xfonts-base" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros fontutil" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xfontmiscethipic: -------------------------------------------------------------------------------- 1 | name=xfontmiscethipic 2 | revision=1 3 | from_source=xfontmiscethipic 4 | imagedeps="gcc xfonts-base" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros fontutil" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xfontmiscmisc: -------------------------------------------------------------------------------- 1 | name=xfontmiscmisc 2 | revision=1 3 | from_source=xfontmiscmisc 4 | imagedeps="gcc xfonts-base xfonts-base" 5 | hostdeps="xgcc xbinutils pkgconfig fontutil" 6 | deps="base fontutil" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --with-fontrootdir=${prefix}/share/fonts/X11 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xkbcomp: -------------------------------------------------------------------------------- 1 | name=xkbcomp 2 | revision=1 3 | from_source=xkbcomp 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig automake autoconf util-macros libtool" 6 | deps="base libxcb xcb-proto xkbfile" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xkbfile: -------------------------------------------------------------------------------- 1 | name=xkbfile 2 | revision=1 3 | from_source=xkbfile 4 | imagedeps="meson ninja-build gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorgproto libx11" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} make install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xkeyboardconfig: -------------------------------------------------------------------------------- 1 | name=xkeyboardconfig 2 | revision=1 3 | from_source=xkeyboardconfig 4 | imagedeps="gcc meson ninja-build" 5 | hostdeps="xgcc xbinutils pkgconfig automake autoconf util-macros libtool" 6 | deps="base" 7 | 8 | configure() { 9 | meson --cross-file ${base_dir}/util/crossfile --prefix=${prefix} ${source_dir} 10 | } 11 | 12 | build() { 13 | ninja 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} ninja install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xneko: -------------------------------------------------------------------------------- 1 | name=xneko 2 | revision=1 3 | from_source=xneko 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libx11" 7 | 8 | build() { 9 | x86_64-astral-gcc -o xneko ${source_dir}/xneko.c -lX11 -lm 10 | } 11 | 12 | package() { 13 | mkdir -vp "${dest_dir}/${prefix}/bin" 14 | cp -v xneko "${dest_dir}/${prefix}/bin" 15 | } 16 | -------------------------------------------------------------------------------- /recipes/xorg-server: -------------------------------------------------------------------------------- 1 | name=xorg-server 2 | revision=1 3 | from_source=xorg-server 4 | imagedeps="meson ninja-build build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig autoconf automake libtool pkgconfig util-macros xtrans fontutil" 6 | deps="base libxcvt pixman xorgproto xtrans xkbfile libxfont2 fontutil libgcrypt freetype xkeyboardconfig xkbcomp libxi libxrender libxcb libxext pixman libxdamage" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --disable-pciaccess --disable-libdrm --disable-glx --disable-int10-module --disable-glamor --disable-vgahw --disable-dri3 --disable-dri2 --disable-dri --disable-xephyr --disable-xwayland --disable-xnest --disable-dmx --with-fontrootdir=${prefix}/share/fonts/X11 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xorgproto: -------------------------------------------------------------------------------- 1 | name=xorgproto 2 | revision=1 3 | from_source=xorgproto 4 | imagedeps="meson ninja-build gcc build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base" 7 | 8 | configure() { 9 | meson --cross-file=${base_dir}/util/crossfile --prefix=${prefix} -Dlegacy=true ${source_dir} 10 | } 11 | 12 | build() { 13 | ninja 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} ninja install 18 | rm -v ${dest_dir}/${prefix}/include/X11/extensions/XKBgeom.h # installed by libx11 19 | } 20 | -------------------------------------------------------------------------------- /recipes/xrandr: -------------------------------------------------------------------------------- 1 | name=xrandr 2 | revision=1 3 | from_source=xrandr 4 | imagedeps="gcc" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorgproto libx11 libxrandr" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xscreensaver: -------------------------------------------------------------------------------- 1 | name=xscreensaver 2 | revision=1 3 | from_source=xscreensaver 4 | imagedeps="meson build-essential intltool" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base libxcrypt libx11 libxt libjpeg-turbo libpng libxft libxext libxi mesa glu" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral --with-glx 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install_prefix=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xsetroot: -------------------------------------------------------------------------------- 1 | name=xsetroot 2 | revision=1 3 | from_source=xsetroot 4 | imagedeps="meson build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig" 6 | deps="base xorg-server libxmu xbitmaps libxcursor" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make DESTDIR=${dest_dir} install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xterm: -------------------------------------------------------------------------------- 1 | name=xterm 2 | revision=1 3 | from_source=xterm 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils pkgconfig libtool" 6 | deps="base libx11 libxaw ncurses" 7 | 8 | configure() { 9 | ${source_dir}/configure --host=x86_64-astral --prefix=${prefix} --disable-tcap-fkeys --disable-tcap-query --enable-256-color 10 | } 11 | 12 | build() { 13 | make -j ${parallelism} SHLIB_LIBS="-ltinfow" 14 | } 15 | 16 | package() { 17 | make install DESTDIR=${dest_dir} 18 | } 19 | -------------------------------------------------------------------------------- /recipes/xtrans: -------------------------------------------------------------------------------- 1 | name=xtrans 2 | revision=1 3 | from_source=xtrans 4 | imagedeps="meson ninja-build gcc" 5 | hostdeps="xgcc xbinutils pkgconfig util-macros" 6 | deps="base" 7 | 8 | configure() { 9 | ${source_dir}/configure --prefix=${prefix} --host=x86_64-astral 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | DESTDIR=${dest_dir} make install 18 | } 19 | -------------------------------------------------------------------------------- /recipes/zlib: -------------------------------------------------------------------------------- 1 | name=zlib 2 | revision=1 3 | from_source=zlib 4 | imagedeps="build-essential" 5 | hostdeps="xgcc xbinutils" 6 | deps="base" 7 | 8 | configure() { 9 | CHOST=x86_64-astral prefix=${prefix} ${source_dir}/configure 10 | } 11 | 12 | build() { 13 | make -j${parallelism} 14 | } 15 | 16 | package() { 17 | make install DESTDIR="${dest_dir}" 18 | } 19 | -------------------------------------------------------------------------------- /screenshots/Xgames.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mathewnd/Astral/0358d37820a6e9676b12b09a36bf1c256bc53302/screenshots/Xgames.png -------------------------------------------------------------------------------- /screenshots/console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mathewnd/Astral/0358d37820a6e9676b12b09a36bf1c256bc53302/screenshots/console.png -------------------------------------------------------------------------------- /screenshots/fvwm3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mathewnd/Astral/0358d37820a6e9676b12b09a36bf1c256bc53302/screenshots/fvwm3.png -------------------------------------------------------------------------------- /source-recipes/ace-of-penguins: -------------------------------------------------------------------------------- 1 | name=ace-of-penguins 2 | version=1.4 3 | source_method=tarball 4 | tarball_url="https://www.delorie.com/store/ace/ace-1.4.tar.gz" 5 | tarball_sha512=cd382db95dc17d75a76809c7f1e096e14f5863c1166aa5db7f93204ce949a9ed21979212946b9d3a09667f4a93b30f4cc44a220940f9b5dd8996f28ecb4a6dcc 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/alsa-lib: -------------------------------------------------------------------------------- 1 | name=alsa-lib 2 | version=1.2.13 3 | source_method=tarball 4 | tarball_url="https://github.com/alsa-project/alsa-lib/archive/refs/tags/v${version}.tar.gz" 5 | tarball_sha512=ae21380c75ab2f318b14d42b1f06e35d2a80b377fe0a12177e7f5c926b189bb242037891e3e7d780d77376e57d6f074abe5701eecd55035ff0498bdbca55e42a 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/astral: -------------------------------------------------------------------------------- 1 | name=astral 2 | version=0 3 | source_dir="kernel-src" 4 | allow_network="yes" 5 | imagedeps="wget" 6 | flanterm_commit="347d9cf1e3fced64aa20ab278e2fdcc834086035" 7 | 8 | prepare() { 9 | rm -f include/limine.h 10 | rm -f io/printf.c 11 | rm -f include/printf.h 12 | rm -rf flanterm 13 | curl https://raw.githubusercontent.com/limine-bootloader/limine/trunk/limine.h > include/limine.h 14 | pushd /tmp/ 15 | wget https://github.com/mpaland/printf/archive/refs/tags/v4.0.0.tar.gz 16 | tar -xf v4.0.0.tar.gz 17 | wget https://github.com/mintsuki/flanterm/archive/${flanterm_commit}.tar.gz 18 | tar -xf ${flanterm_commit}.tar.gz 19 | popd 20 | cp /tmp/printf-4.0.0/printf.c io/printf.c 21 | cp /tmp/printf-4.0.0/printf.h include/printf.h 22 | cp -r /tmp/flanterm-${flanterm_commit} flanterm 23 | } 24 | -------------------------------------------------------------------------------- /source-recipes/autoconf: -------------------------------------------------------------------------------- 1 | name=autoconf 2 | version=2.69 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/autoconf/autoconf-${version}.tar.xz" 5 | tarball_sha512="995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b" 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/autoconf-archive: -------------------------------------------------------------------------------- 1 | name=autoconf-archive 2 | version=2022.09.03 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/autoconf-archive/autoconf-archive-${version}.tar.xz" 5 | tarball_sha512="157b5b6a979d5ec5bfab6ddf34422da620fec1e95f4c901821abbb7361544af77747b4a449029b84750d75679d6130a591e98da8772de2c121ecdea163f0340b" 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/automake: -------------------------------------------------------------------------------- 1 | name=automake 2 | version=1.15.1 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/automake/automake-${version}.tar.gz" 5 | tarball_sha512="f0d4717ebe2c76cec5d487de090f6e1c0f784b0d382fd964ffa846287e2a364a52531a26ab98b7033ac04ed302a247b3b114299def54819a03439bfc962ff61b" 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/bash: -------------------------------------------------------------------------------- 1 | name=bash 2 | version=5.1 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/bash/bash-${version}.tar.gz" 5 | tarball_sha512=c44a0ce381469219548a3a27589af3fea4f22eda1ca4e9434b59fc16da81b471c29ce18e31590e0860a6a251a664b68c2b45e3a17d22cfc02799ffd9a208390c 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/binutils: -------------------------------------------------------------------------------- 1 | name=binutils 2 | version=2.39 3 | source_method=tarball 4 | tarball_url="https://ftpmirror.gnu.org/binutils/binutils-${version}.tar.xz" 5 | tarball_sha512="68e038f339a8c21faa19a57bbc447a51c817f47c2e06d740847c6e9cc3396c025d35d5369fa8c3f8b70414757c89f0e577939ddc0d70f283182504920f53b0a3" 6 | hostdeps="autoconf automake" 7 | 8 | prepare() { 9 | (cd ld && automake) 10 | } 11 | 12 | -------------------------------------------------------------------------------- /source-recipes/bzip2: -------------------------------------------------------------------------------- 1 | name=bzip2 2 | version=1.0.8 3 | source_method=tarball 4 | tarball_url="https://sourceware.org/pub/bzip2/bzip2-${version}.tar.gz" 5 | tarball_sha512=083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | 8 | prepare() { 9 | true 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/cmake: -------------------------------------------------------------------------------- 1 | name=cmake 2 | version=3.29.2 3 | source_method=tarball 4 | tarball_url="https://github.com/Kitware/CMake/releases/download/v${version}/cmake-${version}.tar.gz" 5 | tarball_sha512="0dad9e0e3ad9c1178d337cd3a14e9ce145e011175e9d9fce4961d12b8fe37091f9fdf05f4303cdd846408955b11bac3cfe5064f852833b99e31f5a7b82a9d1eb" 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/coreutils: -------------------------------------------------------------------------------- 1 | name=coreutils 2 | version=9.1 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/coreutils/coreutils-${version}.tar.xz" 5 | tarball_sha512=a6ee2c549140b189e8c1b35e119d4289ec27244ec0ed9da0ac55202f365a7e33778b1dc7c4e64d1669599ff81a8297fe4f5adbcc8a3a2f75c919a43cd4b9bdfa 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/cups: -------------------------------------------------------------------------------- 1 | name=cups 2 | version=2.4.11 3 | source_method=tarball 4 | tarball_url="https://github.com/OpenPrinting/cups/releases/download/v2.4.11/cups-2.4.11-source.tar.gz" 5 | tarball_sha512=5868f069cb5eaa5c74e703ed7773914376fb819ebabd7881df8726092eab390c8a1db75c4d08377a836a87807765ad2c16a15b406ab0580fdda2b176e2da3162 6 | hostdeps="automake autoconf" 7 | prepare() { 8 | cp -v $(find /usr/local/share/automake* -name config.sub) . 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/curl: -------------------------------------------------------------------------------- 1 | name=curl 2 | version=8.8.0 3 | source_method=tarball 4 | tarball_url="https://github.com/curl/curl/releases/download/curl-8_8_0/curl-${version}.tar.xz" 5 | tarball_sha512="9d2c0d3a0d8f6c31ba4fabe48f801910f886fde43dc198dc4213708d6967ed5e040a1bb7348aa1cb126577ee508a3ec36fe65256d027d861d6ffb70f6383967a" 6 | hostdeps="autoconf automake pkgconfig libtool autoconf-archive" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/diffutils: -------------------------------------------------------------------------------- 1 | name=diffutils 2 | version=3.9 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/diffutils/diffutils-${version}.tar.xz" 5 | tarball_sha512="d43280cb1cb2615a8867d971467eb9a3fa037fe9a411028068036f733dab42b10d42767093cea4de71e62b2659a3ec73bd7d1a8f251befd49587e32802682d0f" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/distro-files: -------------------------------------------------------------------------------- 1 | name=distro-files 2 | version=0 3 | source_dir="distro-files" 4 | 5 | prepare() { 6 | true 7 | } 8 | -------------------------------------------------------------------------------- /source-recipes/doomgeneric: -------------------------------------------------------------------------------- 1 | name=doomgeneric 2 | version=0 3 | source_method=tarball 4 | tarball_url="https://github.com/ozkl/doomgeneric/archive/b694f097ab8271c0a59bb52de631cbaf42ae0fa7.tar.gz" 5 | tarball_sha512=b1e71af6bb762a1eb3be71b4cbb43abba41a246d4232f4e3cb8efe9a4c268a3f1adbde14cc6636f8ea4e7475a4f56951dbaadc5f01eeb319a2f98fa0324d9e16 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/e2fsprogs: -------------------------------------------------------------------------------- 1 | name=e2fsprogs 2 | version=1.47.0 3 | source_method=tarball 4 | tarball_url="https://github.com/tytso/e2fsprogs/archive/refs/tags/v1.47.0.tar.gz" 5 | tarball_sha512=9cb895f7deed8ee513595b7c232db8345cb7e54e6cbb33e6eeab31c860c892cbc9d721756ac1429e6731e219e1c6aacc25075d517e979397c66bf764bc8bc9fa 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/file: -------------------------------------------------------------------------------- 1 | name=file 2 | version=45 3 | source_method=tarball 4 | tarball_url="https://github.com/file/file/archive/refs/tags/FILE5_${version}.tar.gz" 5 | tarball_sha512="fdd4c5d13d5ea1d25686c76d8ebc3252c54040c4871e3f0f623c4548b3841795d4e36050292a9453eedf0fbf932573890e9d6ac9fa63ccf577215598ae84b9ea" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/findutils: -------------------------------------------------------------------------------- 1 | name=findutils 2 | version=4.9.0 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/findutils/findutils-${version}.tar.xz" 5 | tarball_sha512="ba4844f4403de0148ad14b46a3dbefd5a721f6257c864bf41a6789b11705408524751c627420b15a52af95564d8e5b52f0978474f640a62ab86a41d20cf14be9" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/fontconfig: -------------------------------------------------------------------------------- 1 | name=fontconfig 2 | version=2.14.0 3 | source_method=tarball 4 | tarball_url="https://www.freedesktop.org/software/fontconfig/release/fontconfig-${version}.tar.xz" 5 | tarball_sha512="a5257249d031b3cd1a7b1521cd58f48d235a970020da4136a727db5407ec98e74a3776bc467d7e39f30ec664f56ff9fe39068317744a5e737a65109f7a005bfc" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/fontutil: -------------------------------------------------------------------------------- 1 | name=fontutil 2 | version=1.4.1 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive//individual/font/font-util-${version}.tar.xz" 5 | tarball_sha512="cec7fc38ba64ca9c81c59a8395da94d71c75e14f19faf6457da0a1a8c3c1cf51bcaab227834f6f5a6d274ba2557555e542dbe2bd88e527c45ea196318bbc38d0" 6 | hostdeps="automake autoconf libtool pkgconfig util-macros" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/freestnd-c-hdrs: -------------------------------------------------------------------------------- 1 | name=freestnd-c-hdrs 2 | version=2a75fc37ab374e52bd5862adb785169cc26cdb50 3 | source_method=tarball 4 | tarball_url="https://github.com/osdev0/freestnd-c-hdrs/archive/${version}.tar.gz" 5 | tarball_sha512=87f5e1d98539142da216766a269792ae4ee0a02abd02e8af45c33514866a408e01eca03bd6122574b3000b2234ab40f31c846a99d882162c6ecd89d0b08779e8 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/freestnd-cxx-hdrs: -------------------------------------------------------------------------------- 1 | name=freestnd-cxx-hdrs 2 | version=34b801a8d6b601bf17b00df36fa82614e5be811d 3 | source_method=tarball 4 | tarball_url="https://github.com/osdev0/freestnd-cxx-hdrs/archive/${version}.tar.gz" 5 | tarball_sha512=39e25168ba5dcfad0b222c82d84d9c01337c989afb3aaaf61be4bef71cde0e7f618e7a6ab475b0b6372ef95b47ab915c4f4c61182a1292f04083fa4b24714569 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/freetype: -------------------------------------------------------------------------------- 1 | name=freetype 2 | version=2.12.1 3 | source_method=tarball 4 | tarball_url="https://downloads.sourceforge.net/freetype/freetype-${version}.tar.xz" 5 | tarball_sha512="6482de1748dc2cc01e033d21a3b492dadb1f039d13d9179685fdcf985e24d7f587cbca4c27ed8a7fdb7d9ad59612642ac5f4db062443154753295363f45c052f" 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | prepare() { 8 | ./autogen.sh 9 | cp /usr/local/share/automake-*/config.sub builds/unix/ 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/frigg: -------------------------------------------------------------------------------- 1 | name=frigg 2 | version=91ada7d4e12b9e73a454e7be13919e989444faa2 3 | source_method=tarball 4 | tarball_url="https://github.com/managarm/frigg/archive/${version}.tar.gz" 5 | tarball_sha512=d7011bcb0b2adfe88968de7cf9080fc71664725784491e66266b34b7fd83c2e3005f8ba7b530116075a7f5f7b31103af9aef1b32dab3143ed9ae3a247d2aa655 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/fvwm: -------------------------------------------------------------------------------- 1 | name=fvwm 2 | version=1.1.0 3 | source_method=tarball 4 | tarball_url="https://github.com/fvwmorg/fvwm3/releases/download/${version}/fvwm3-${version}.tar.gz" 5 | tarball_sha512="47eea05cbdecf4da3313b9183fa938544b451b9f133d7a68062feb222c3c1af3873402f80b60485d603afe8cd23a03f3e86a503fc1f2070e1ad2e6e64d012341" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/gawk: -------------------------------------------------------------------------------- 1 | name=gawk 2 | version=5.2.2 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/gawk/gawk-${version}.tar.xz" 5 | tarball_sha512="90611e4daba7226d5ce8230843bf479dc71c0101740c005d851ef7c5b935b6cd4c42089b858abc1619adc05ed25fc7234f993690a76d2ea0b8e61bcbb7dc5a58" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | sed -i 's/extras//' Makefile.in 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/gcc: -------------------------------------------------------------------------------- 1 | name=gcc 2 | version=12.1.0 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/gcc/gcc-${version}/gcc-${version}.tar.xz" 5 | tarball_sha512="2121d295292814a6761edf1fba08c5f633ebe16f52b80e7b73a91050e71e1d2ed98bf17eebad263e191879561c02b48906c53faa4c4670c486a26fc75df23900" 6 | hostdeps="automake autoconf" 7 | 8 | prepare() { 9 | (cd libstdc++-v3 && autoconf) 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/gettext: -------------------------------------------------------------------------------- 1 | name=gettext 2 | version=0.22.5 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/gettext/gettext-${version}.tar.gz" 5 | tarball_sha512=d8b22d7fba10052a2045f477f0a5b684d932513bdb3b295c22fbd9dfc2a9d8fccd9aefd90692136c62897149aa2f7d1145ce6618aa1f0be787cb88eba5bc09be 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | 8 | prepare() { 9 | ( cd gettext-runtime/libasprintf && autoreconf -fvi ) 10 | ( cd gettext-runtime/intl && autoreconf -fvi ) 11 | ( cd gettext-runtime && autoreconf -fvi ) 12 | ( cd gettext-tools && autoreconf -fvi ) 13 | ( cd libtextstyle && autoreconf -fvi ) 14 | autoreconf -fvi 15 | } 16 | -------------------------------------------------------------------------------- /source-recipes/git: -------------------------------------------------------------------------------- 1 | name=git 2 | version=2.45.2 3 | source_method=tarball 4 | tarball_url="https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz" 5 | tarball_sha512="dce30d0d563f3f76ef49c8dc88105e0cf0941c8cd70303418d9d737f840ffba36bcc575c380c75080edf64af74487e1a680db146ec5f527a32104e887d4ceb73" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/glib: -------------------------------------------------------------------------------- 1 | name=glib 2 | version=2.82 3 | source_method=tarball 4 | tarball_url="https://download.gnome.org/sources/glib/${version}/glib-${version}.0.tar.xz" 5 | tarball_sha512="7ce4dbc2b80fea1dca722bea02b1c35404108747b94c296760469b5416fc5ca737fc29c56a091120e5457a732656761424da614f3a626eb79b80b145507deb00" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/glu: -------------------------------------------------------------------------------- 1 | name=glu 2 | version=9.0.3 3 | source_method=tarball 4 | tarball_url="https://archive.mesa3d.org/glu/glu-${version}.tar.xz" 5 | tarball_sha512="b2781059c0e176192c3fc0d7244645020937a463311171efddb9f35fb94ee43faabcf627fa7f429d48fceaf6dd9c5adb69c86c7a21ec4ea490f4ab143d52e3ba" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/gmp: -------------------------------------------------------------------------------- 1 | name=gmp 2 | version=6.2.1 3 | source_method=tarball 4 | tarball_url="https://gmplib.org/download/gmp/gmp-${version}.tar.xz" 5 | tarball_sha512=c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | 8 | prepare() { 9 | autoreconf -vfi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/grep: -------------------------------------------------------------------------------- 1 | name=grep 2 | version=3.11 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/grep/grep-${version}.tar.xz" 5 | tarball_sha512="f254a1905a08c8173e12fbdd4fd8baed9a200217fba9d7641f0d78e4e002c1f2a621152d67027d9b25f0bb2430898f5233dc70909d8464fd13d7dd9298e65c42" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/gzip: -------------------------------------------------------------------------------- 1 | name=gzip 2 | version=1.13 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/gzip/gzip-${version}.tar.gz" 5 | tarball_sha512=8d78cea6770bf53c744ee1f6435af96921883b5910d14a10ced695279ad057f316de7228ad45ad4294fdd4dd0dacf86576094d11731c4d64cbafef00bc49a5a1 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | 8 | prepare() { 9 | autoreconf -fvi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/host-openjdk-bin: -------------------------------------------------------------------------------- 1 | name=host-openjdk-bin 2 | version=17.0.9.9 3 | source_method=tarball 4 | tarball_url="https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz" 5 | tarball_blake2b=0bf5a6583f27a2d961fc72de11154e2fc6ba6383ebaf58fb328ea7ef40994188d1aee6fbdef5784f5629f552d6942c43e29fa3f7b99af250e4179da9bd7fcbe4 6 | -------------------------------------------------------------------------------- /source-recipes/imlib2: -------------------------------------------------------------------------------- 1 | name=imlib2 2 | version=1.12.3 3 | source_method=tarball 4 | tarball_url="https://downloads.sourceforge.net/enlightenment/imlib2-${version}.tar.xz" 5 | tarball_sha512=79feea73fb67508ffdce52f8430c2c887b06d8bcb70f6e3bc551c86d521ebf61fc1eff10994b69def4d7a237873f107066aefa367e05b5f89b5d675751d9314f 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | prepare() { 8 | autoreconf -vfi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/init: -------------------------------------------------------------------------------- 1 | name=init 2 | version=0 3 | source_dir="tools/init" 4 | 5 | prepare() { 6 | true 7 | } 8 | -------------------------------------------------------------------------------- /source-recipes/less: -------------------------------------------------------------------------------- 1 | name=less 2 | version=643 3 | source_method=tarball 4 | tarball_url="http://greenwoodsoftware.com/less/less-${version}.tar.gz" 5 | tarball_sha512=6a324ac54e22429ac652dc303bc1fe48933555d1cbf8ad7ecf345940910c014fef9551a3219743cfb7115e356b5841ae97d6ce62e7a1ba1e3300d243efca34d9 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | 8 | prepare() { 9 | autoreconf -vfi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/libXau: -------------------------------------------------------------------------------- 1 | name=libXau 2 | version=1.0.9 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/lib/libXau-${version}.tar.bz2" 5 | tarball_sha512="3ca454ba466a807ea28b0f715066d73dc76ad312697b121d43e4d5766215052e9b7ffb8fe3ed3e496fa3f2a13f164ac692ff85cc428e26731b679f0f06a1d562" 6 | hostdeps="autoconf automake pkgconfig xorgproto libtool util-macros" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libXdmcp: -------------------------------------------------------------------------------- 1 | name=libXdmcp 2 | version=1.1.3 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/lib/libXdmcp-${version}.tar.bz2" 5 | tarball_sha512="cb1d4650f97d66e73acd2465ec7d757b9b797cce2f85e301860a44997a461837eea845ec9bd5b639ec5ca34c804f8bdd870697a5ce3f4e270b687c9ef74f25ec" 6 | hostdeps="autoconf automake libtool pkgconfig xorgproto util-macros" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libevent: -------------------------------------------------------------------------------- 1 | name=libevent 2 | version=2.1.12 3 | source_method=tarball 4 | tarball_url="https://github.com/libevent/libevent/releases/download/release-${version}-stable/libevent-${version}-stable.tar.gz" 5 | tarball_sha512=88d8944cd75cbe78bc4e56a6741ca67c017a3686d5349100f1c74f8a68ac0b6410ce64dff160be4a4ba0696ee29540dfed59aaf3c9a02f0c164b00307fcfe84f 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | 8 | prepare() { 9 | autoreconf -fvi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/libexpat: -------------------------------------------------------------------------------- 1 | name=libexpat 2 | version=2.4.9 3 | source_method=tarball 4 | tarball_url="https://github.com/libexpat/libexpat/releases/download/R_2_4_9/expat-${version}.tar.xz" 5 | tarball_sha512="8508379b4915d84d50f3638678a90792179c98247d1cb5e6e6387d117af4dc148ac7031c1debea8b96e7b710ef436cf0dd5da91f3d22b8186a00cfafe1201169" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libffi: -------------------------------------------------------------------------------- 1 | name=libffi 2 | version=3.4.2 3 | source_method=tarball 4 | tarball_url="https://github.com/libffi/libffi/releases/download/v${version}/libffi-${version}.tar.gz" 5 | tarball_sha512=31bad35251bf5c0adb998c88ff065085ca6105cf22071b9bd4b5d5d69db4fadf16cadeec9baca944c4bb97b619b035bb8279de8794b922531fddeb0779eb7fb1 6 | hostdeps="autoconf automake libtool pkgconfig libtool" 7 | 8 | prepare() { 9 | autoreconf -fvi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/libfontenc: -------------------------------------------------------------------------------- 1 | name=libfontenc 2 | version=1.1.6 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libfontenc-${version}.tar.gz" 5 | tarball_sha512="0fec921d23ef6680b563f37bebc63d9a70a8d9adfe158c31e62cbb2cacb55086fd55932c146a9b3a758725f0130bd649979b100e8a631b64aa453121a9e2beef" 6 | #imagedeps="xfonts-util" 7 | hostdeps="autoconf automake libtool pkgconfig util-macros fontutil" 8 | prepare() { 9 | autoreconf -fvi --verbose && libtoolize -cvf 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/libgcrypt: -------------------------------------------------------------------------------- 1 | name=libgcrypt 2 | version=1.10.1 3 | source_method=tarball 4 | tarball_url="https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-${version}.tar.bz2" 5 | tarball_sha512="e5ca7966624fff16c3013795836a2c4377f0193dbb4ac5ad2b79654b1fa8992e17d83816569a402212dc8367a7980d4141f5d6ac282bae6b9f02186365b61f13" 6 | hostdeps="libtool automake autoconf pkgconfig" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libgpg-error: -------------------------------------------------------------------------------- 1 | name=libgpg-error 2 | version=1.45 3 | source_method=tarball 4 | tarball_url="https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-${version}.tar.bz2" 5 | tarball_sha512="882f2dd617e89137d7a9d61b60488dac32321dd4fdb699e9687b6bd9380c056c027da502837f4482289c0fe00e7de01210e804428f05a0843ae2ca23fdcc6457" 6 | hostdeps="automake autoconf pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libice: -------------------------------------------------------------------------------- 1 | name=libice 2 | version=1.0.10 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libICE-${version}.tar.gz" 5 | tarball_sha512="2d4757f7325eb01180b5d7433cc350eb9606bd3afe82dabc8aa164feda75ef03a0624d74786e655c536c24a80d0ccb2f1e3ecbb04d3459b23f85455006ca8a91" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libjpeg-turbo: -------------------------------------------------------------------------------- 1 | name=libjpeg-turbo 2 | version=3.0.3 3 | source_method=tarball 4 | tarball_url="https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/${version}/libjpeg-turbo-${version}.tar.gz" 5 | tarball_sha512=7c3a6660e7a54527eaa40929f5cc3d519842ffb7e961c32630ae7232b71ecaa19e89dbf5600c61038f0c5db289b607c2316fe9b6b03d482d770bcac29288d129 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/libpng: -------------------------------------------------------------------------------- 1 | name=libpng 2 | version=1.6.37 3 | source_method=tarball 4 | tarball_url="https://downloads.sourceforge.net/libpng/libpng-${version}.tar.xz" 5 | tarball_sha512=59e8c1059013497ae616a14c3abbe239322d3873c6ded0912403fc62fb260561768230b6ab997e2cccc3b868c09f539fd13635616b9fa0dd6279a3f63ec7e074 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | prepare() { 8 | autoreconf -vfi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libsm: -------------------------------------------------------------------------------- 1 | name=libsm 2 | version=1.2.3 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libSM-${version}.tar.gz" 5 | tarball_sha512="03b77d86b33cdb3df4f9d65131a0025182f3cb0c17b33a90d236e8563b3011d225b9d006186302d07850edafa5b899aec6a086b8d437d357cd69fedd5f22d94b" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libstb: -------------------------------------------------------------------------------- 1 | name=libstb 2 | version=5736b15f7ea0ffb08dd38af21067c314d6a3aae9 3 | source_method=tarball 4 | tarball_url="https://github.com/nothings/stb/archive/${version}.tar.gz" 5 | tarball_sha512=55bc75284cf8a092c527d1ae18c461c9d0ab6aacdcf3b873abde54c06d9b8a0ae249ce47c7ad25809e075bfbb58e9c879d43e1df2708083860c07ac3bbb30d60 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libtool: -------------------------------------------------------------------------------- 1 | name=libtool 2 | version=2.4.7 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/libtool/libtool-${version}.tar.gz" 5 | tarball_sha512="27acef46d9eb67203d708b57d80b853f76fa4b9c2720ff36ec161e6cdf702249e7982214ddf60bae75511aa79bc7d92aa27e3eab7ef9c0f5c040e8e42e76a385" 6 | hostdeps="autoconf automake" 7 | imagedeps="build-essential help2man wget git" 8 | allow_network="yes" 9 | 10 | prepare() { 11 | git clone https://git.savannah.gnu.org/git/gnulib.git 12 | cd gnulib 13 | git checkout 4b17a1ae49e69df1ac5dc35a4f60b20ab958baf2 14 | rm -rf .git 15 | cd .. 16 | ./bootstrap --force --skip-git --skip-po --gnulib-srcdir=gnulib 17 | } 18 | -------------------------------------------------------------------------------- /source-recipes/libx11: -------------------------------------------------------------------------------- 1 | name=libx11 2 | version=1.8.1 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libX11-${version}.tar.gz" 5 | tarball_sha512="ac73ff99abfc13a0b8d04e3e4fde2a3b97813120c73c4dbf57e0ec56bbde8cd0272f1c09f417f10561f57def22878509adced897ebb2adfc1cb0d30385ee9396" 6 | hostdeps="xorgproto autoconf automake libtool pkgconfig util-macros xtrans" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxaw: -------------------------------------------------------------------------------- 1 | name=libxaw 2 | version=1.0.14 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXaw-${version}.tar.gz" 5 | tarball_sha512="1205481443627b428f6c447a3926a060af30440badc401ca8d209849faef21ce967cf7f26ab452b47a64071980f9892cce83b2d70db0c2b7d6cabf838ab93884" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxcb: -------------------------------------------------------------------------------- 1 | name=libxcb 2 | version=1.15 3 | source_method=tarball 4 | tarball_url="https://xorg.freedesktop.org/archive/individual/lib/libxcb-${version}.tar.xz" 5 | tarball_sha512="f6c7d766b7cf9cab6abe948ee424cbae6951dbfe2f76fa58a109cdc05b0f0919dcc4e38176a22ff4b95fc1e38596115317e32ba33b24cae0035a4e30dbcbdad9" 6 | hostdeps="automake autoconf xorgproto util-macros libtool pkgconfig xtrans" 7 | prepare() { 8 | autoreconf -vfi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxcrypt: -------------------------------------------------------------------------------- 1 | name=libxcrypt 2 | version=4.4.36 3 | source_method=tarball 4 | tarball_url="https://github.com/besser82/libxcrypt/releases/download/v${version}/libxcrypt-${version}.tar.xz" 5 | tarball_sha512="468560e6f90877540d22e32c867cbcf3786983a6fdae6ef86454f4b7f2bbaae1b6589d1af75cda73078fa8f6e91b1a32f8353f26d433246eef7be3e96d4ae1c7" 6 | hostdeps="libtool automake autoconf pkgconfig" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxcursor: -------------------------------------------------------------------------------- 1 | name=libxcursor 2 | version=1.2.1 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXcursor-${version}.tar.gz" 5 | tarball_sha512="381c8762b5aa0dedb610e563bc595f901ec06eac0da832be4829f413869ce5092b47b33c2059d816e29dc525e5615358add98c305b9bda63c5ffac8b52b2e287" 6 | hostdeps="autoconf automake libtool pkgconfig util-macros" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxcvt: -------------------------------------------------------------------------------- 1 | name=libxcvt 2 | version=0.1.2 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/lib/libxcvt-${version}.tar.xz" 5 | tarball_sha512="3f6b2baca712a4608780686932f8881255c07bb74b1a788f9b07d4e22975c038d75111cd6b452257882a0b2bad57eebb2002f80a3e435d2e2d16936597f039b0" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/libxdamage: -------------------------------------------------------------------------------- 1 | name=libxdamage 2 | version=1.1.5 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXdamage-${version}.tar.gz" 5 | tarball_sha512="fe0bdf86f2bddd3dddd4362e9c83c6cbb894f9384cab41b76a9e6a7e1da1d1187dcb4339868b429dc7ddbf69df86c880b4e2ce6b0fe2f9124ad43dfbde45ed59" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxext: -------------------------------------------------------------------------------- 1 | name=libxext 2 | version=1.3.4 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXext-${version}.tar.gz" 5 | tarball_sha512="4eebd639fd57cb9b84a1e17e368f82fbf3d9f021eef5ad3fe31dd128500db57862a82c1e0d214d447cb7641b2be3fd7e949ee1196f2a482793c6628fb1e5cd70" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxfixes: -------------------------------------------------------------------------------- 1 | name=libxfixes 2 | version=6.0.0 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXfixes-${version}.tar.gz" 5 | tarball_sha512="422ff6aa6dddbb5d790ddf351b12556d37312d67b3adc8c276fb507b8278703b30841f81e526f119b9ab53a3bb8c7c5a742a43826287110ef5417dd84f01348a" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxfont2: -------------------------------------------------------------------------------- 1 | name=libxfont2 2 | version=2.0.6 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXfont2-${version}.tar.gz" 5 | tarball_sha512="58b51281e930b1b99f2eee7edbbc08e5bd34b135dd2ac145d600181557e1a465b3d65fdaae7b964fc39a6e7ad09a0b7cc7026a4c013ef7ff1cdce094723eedac" 6 | hostdeps="autoconf automake libtool pkgconfig util-macros" 7 | prepare() { 8 | autoreconf -vfi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxft: -------------------------------------------------------------------------------- 1 | name=libxft 2 | version=2.3.6 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXft-${version}.tar.gz" 5 | tarball_sha512="291bec2cc297a6e39baff5c2dec37017f37f97b438468a6d6b66f496a9987936da6ee2e3ace77e4527d8c5fd09e1dd731b2f042fa74880f667b8a03a913512d2" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxi: -------------------------------------------------------------------------------- 1 | name=libxi 2 | version=1.8 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXi-${version}.tar.gz" 5 | tarball_sha512="98b65084065cb28395cbd75213d7b52ac857840237d544714cf3cbddba6f940f93dd5846546365613da02fd5b4cd8c5be01ef2ac34b2503e500ea189e3c81005" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxinerama: -------------------------------------------------------------------------------- 1 | name=libxinerama 2 | version=1.1.4 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXinerama-${version}.tar.gz" 5 | tarball_sha512="fa2cc45214cc591da8867dcd7e332312e8d224c390912dc8580f8b15c3c9d8ffc797eee97c20263faf129fbfc6b0d931b6bf10dc04b8ec439b852451886eba75" 6 | hostdeps="autoconf automake libtool pkgconfig util-macros xtrans" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxml: -------------------------------------------------------------------------------- 1 | name=libxml 2 | version=2.10.0 3 | source_method=tarball 4 | tarball_url="https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${version}/libxml2-v${version}.tar.gz" 5 | tarball_sha512="eb0cef809e189eafb948c313bd82dd49a0871f0b664f5891dd891f46579c48a0929e1d2144f4286e0ac858463e6726e4a7d446678a006f0b299e1f83bb20e98b" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxmu: -------------------------------------------------------------------------------- 1 | name=libxmu 2 | version=1.1.4 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXmu-${version}.tar.xz" 5 | tarball_sha512="3cf90cb3ff380aafefbb39297bdd95b9e1e6d6618cecb53ff09faf38f9b9c54599d28367f07a9ec77a20214c6c3e661b8d0a12b38082556790a79a59942039c1" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxpm: -------------------------------------------------------------------------------- 1 | name=libxpm 2 | version=3.5.13 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXpm-${version}.tar.gz" 5 | tarball_sha512="faf9c75f969da2738ab01b7a28c85ad2bb42a4421509769b56ef9ddaabb0eacb1b06553cfcb1daa03d7fdceb1d3a7c5eee078c3bc3f5e3902fec41b82d3f8d82" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxrandr: -------------------------------------------------------------------------------- 1 | name=libxrandr 2 | version=1.5.2 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/lib/libXrandr-${version}.tar.gz" 5 | tarball_sha512="309df91127ae17d8bb5a4382b22d1cf788733775dfddcb7932b3edb6f4121728daa7bba1e95ee5e250b2f8b03907a2564dcb3d645d7a5ef6314d0d7b09bac75d" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxrender: -------------------------------------------------------------------------------- 1 | name=libxrender 2 | version=0.9.11 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXrender-${version}.tar.gz" 5 | tarball_sha512="48b490f707f39a33b4a408610cababfa45c0942441cc55da9278323791344e8eded1d730f4b003e655e718467964808ef0673df4f74408937e45a7375c7861c4" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxt: -------------------------------------------------------------------------------- 1 | name=libxt 2 | version=1.2.1 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXt-${version}.tar.gz" 5 | tarball_sha512="73c2fd8a6590ab5ee93cf646e4f41fb71d424961ecbf9bc13c68abdf539c63ab0c59a4d3b22195ba21859523f4cf0e937648424532794a1350a5891061096503" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxtst: -------------------------------------------------------------------------------- 1 | name=libxtst 2 | version=1.2.5 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXtst-${version}.tar.xz" 5 | tarball_sha512="848fa580d7abccd48c9ca3440f92e299839ada0912ed60d38d4d4f5bf37431cd02d7059265ab4e524c3e2cb9c368b9b90b863d1ed97d74979ef8811fc5e635a9" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/libxxf86vm: -------------------------------------------------------------------------------- 1 | name=libxxf86vm 2 | version=1.1.5 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libXxf86vm-${version}.tar.xz" 5 | tarball_sha512="68226fcb9773a583ea417ab413146203dd7db6ff8a4d388285da972353355e11e179861a77c9fa284aefac025bb3bbf5a9537fa0bf246c782e0116a667c9d9b6" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/limine: -------------------------------------------------------------------------------- 1 | name=limine 2 | version=8.0.10 3 | source_method=tarball 4 | tarball_url="https://github.com/limine-bootloader/limine/releases/download/v${version}/limine-${version}.tar.gz" 5 | tarball_sha512="28110a666932197c01a7c8628ad8ff532695e56d4ed7047755601ede737b256f64e6978a2627d2a90c14fea9a545302e60bf7d9a2eac897e57f7dd7aa8133dbe" 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | 8 | prepare() { 9 | autoreconf -fvi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/links: -------------------------------------------------------------------------------- 1 | name=links 2 | version=2.29 3 | source_method=tarball 4 | tarball_url="http://links.twibright.com/download/links-${version}.tar.gz" 5 | tarball_sha512=8ebcc63b5f2c70039079f7aa7d35382a3ae692453561af534d8d44db51d73a9f9cb1e55fc71db26a8aa7da4bb0cea9cae3620fc18210c6b5e7410f7a532f27a1 6 | #hostdeps="autoconf automake pkgconfig libtool" 7 | 8 | prepare() { 9 | #autoreconf -fvi 10 | true 11 | } 12 | -------------------------------------------------------------------------------- /source-recipes/linux: -------------------------------------------------------------------------------- 1 | name=linux 2 | version=6.1.22 3 | source_method=tarball 4 | tarball_url="https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${version}.tar.xz" 5 | tarball_sha512="9db5360c85a2e8c7d1a3a37e0d79dafe3561566e098394a15e8cb48929a7afa74b203d3d67c286a8ddb4359a0ba8d45f33678219f9ccb8f728d1c4d4455fd27f" 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/llvm: -------------------------------------------------------------------------------- 1 | name=llvm 2 | version=18.1.7 3 | source_method=tarball 4 | tarball_url="https://github.com/llvm/llvm-project/releases/download/llvmorg-${version}/llvm-project-${version}.src.tar.xz" 5 | tarball_sha512="0f67818267803aca9d2bc9eb89335ee6dc56269e8066a0f8a48c4a959e8805dbf6bc839b9f96a92f86ee50d72e7cc326ffe18febb5eb06751ab54a217c0221c8" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/make: -------------------------------------------------------------------------------- 1 | name=make 2 | version=4.4 3 | source_method=tarball 4 | tarball_url="https://mirror.fcix.net/gnu/make/make-${version}.tar.gz" 5 | tarball_sha512="4be73f494295dcfa10034531b0d920cfdb5438bc20625f863f5c878549c140e1e67195162580c53060c3c11c67a2c739c09051f02cdd283e5aa9ebcd68975a1f" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/make-ca: -------------------------------------------------------------------------------- 1 | name=make-ca 2 | version=1.13 3 | source_method=tarball 4 | tarball_url="https://github.com/lfs-book/make-ca/releases/download/v${version}/make-ca-${version}.tar.xz" 5 | tarball_sha512=c961aec436ad2e88d462e77498640e1b55e9ed90fbe5964bbf44ab55bab511da4f3147bcd40fdac5a362db68414ba5a2f3709d1bdfdf2eb185aa0673986973ab 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/mesa: -------------------------------------------------------------------------------- 1 | name=mesa 2 | version=24.2.0 3 | source_method=tarball 4 | tarball_url="https://archive.mesa3d.org/mesa-${version}.tar.xz" 5 | tarball_sha512="a585c788801b5a341d356e44d958b148e6e14f6b3d7224e99a92faa2f004bf0cfc90103c5fdc651afb22f805c6f9dc594f9f3f5ecebcea36f6305b3a6ccb9294" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/mesa-demos: -------------------------------------------------------------------------------- 1 | name=mesa-demos 2 | version=9.0.0 3 | source_method=tarball 4 | tarball_url="https://archive.mesa3d.org/demos/mesa-demos-${version}.tar.xz" 5 | tarball_sha512="af33ef72a521416e39d93370b2b4ccb768f08084c9e4c0aa62868210d9465c858e5cb8e5d23952295a3073946f609eb8723ee60b39dd9fb6696c4e45aafbb2c1" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/mkfontscale: -------------------------------------------------------------------------------- 1 | name=mkfontscale 2 | version=1.2.3 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/app/mkfontscale-${version}.tar.xz" 5 | tarball_sha512="816e7b2885bb7a4b2eb0e506b659600011bfa4ec1a3010243c2cc2241fa0b792f3c8de1dec1855a4d13de89405973967074e379b0d01dcf9de8a1277a2fc4296" 6 | hostdeps="automake autoconf libtool pkgconfig util-macros" 7 | 8 | prepare() { 9 | autoreconf -fvi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/mlibc: -------------------------------------------------------------------------------- 1 | name=mlibc 2 | version=a89e933faf08fb4392afc9f7170cd23555af77e4 3 | source_method=tarball 4 | tarball_url="https://github.com/managarm/mlibc/archive/${version}.tar.gz" 5 | tarball_sha512="df6fccb461ca84f4628568f0555e3f09f3234ea39766df3c09f39e0e9f3277356473d3cd9d67f09e9aacc69e607f3e0db63331321bb83a375e20ab3b37c61451" 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/mount: -------------------------------------------------------------------------------- 1 | name=mount 2 | version=0 3 | source_dir="tools/mount" 4 | 5 | prepare() { 6 | true 7 | } 8 | -------------------------------------------------------------------------------- /source-recipes/mpc: -------------------------------------------------------------------------------- 1 | name=mpc 2 | version=1.2.1 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/mpc/mpc-${version}.tar.gz" 5 | tarball_sha512=3279f813ab37f47fdcc800e4ac5f306417d07f539593ca715876e43e04896e1d5bceccfb288ef2908a3f24b760747d0dbd0392a24b9b341bc3e12082e5c836ee 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | 8 | prepare() { 9 | autoreconf -fvi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/mpfr: -------------------------------------------------------------------------------- 1 | name=mpfr 2 | version=4.1.0 3 | source_method=tarball 4 | tarball_url="https://www.mpfr.org/mpfr-4.1.0/mpfr-${version}.tar.xz" 5 | tarball_sha512=1bd1c349741a6529dfa53af4f0da8d49254b164ece8a46928cdb13a99460285622d57fe6f68cef19c6727b3f9daa25ddb3d7d65c201c8f387e421c7f7bee6273 6 | hostdeps="autoconf automake libtool pkgconfig autoconf-archive" 7 | 8 | prepare() { 9 | autoreconf -vfi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/nano: -------------------------------------------------------------------------------- 1 | name=nano 2 | version=6.4 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/nano/nano-${version}.tar.gz" 5 | tarball_sha512=340317fa2e068c5b10ea40c30298e972b406c5b81a987ec0a1fea73a516a09b02b6dcf96ed503236710a04889860369de5c462d555aaa9dbba9ff3a3735fde35 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | 8 | prepare() { 9 | autoreconf -vfi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/nasm: -------------------------------------------------------------------------------- 1 | name=nasm 2 | version=2.15.05 3 | source_method=tarball 4 | tarball_url="https://www.nasm.us/pub/nasm/releasebuilds/${version}/nasm-${version}.tar.xz" 5 | tarball_sha512=512f90a2584f1c5811429274b97c64a2cedf37b9fdeffb1bcd0ea64afd9ecc19a2d7877ca8f1e05393aa324153fc9f39ea51dacbf8d25a7d5a2d7728c925dba7 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/ncurses: -------------------------------------------------------------------------------- 1 | name=ncurses 2 | version=6.3 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/ncurses/ncurses-${version}.tar.gz" 5 | tarball_sha512=5373f228cba6b7869210384a607a2d7faecfcbfef6dbfcd7c513f4e84fbd8bcad53ac7db2e7e84b95582248c1039dcfc7c4db205a618f7da22a166db482f0105 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/neofetch: -------------------------------------------------------------------------------- 1 | name=neofetch 2 | version=7.1.0 3 | source_method=tarball 4 | tarball_url="https://github.com/dylanaraps/neofetch/archive/refs/tags/${version}.tar.gz" 5 | tarball_sha512=fe1013fb54585c15ba556054478a2c8c503120387e81bd16bfdfbb6f3a188ed4124585540abf43da9209cbbe0d7fb90d50914cd6620137d00f013cfb6954a042 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/netd: -------------------------------------------------------------------------------- 1 | name=mount 2 | version=0 3 | source_dir="tools/netd" 4 | 5 | prepare() { 6 | true 7 | } 8 | -------------------------------------------------------------------------------- /source-recipes/nyancat: -------------------------------------------------------------------------------- 1 | name=nyancat 2 | version=1.2.1 3 | source_method=tarball 4 | tarball_url="https://github.com/klange/nyancat/archive/refs/tags/${version}.tar.gz" 5 | tarball_sha512=882bdcfe702d4613484b293f767a2ed74da63f222071e59f56a4246f56947882540930bcb2deae22f6e3326064f1c6f0ff7eb78ac6d7aa08125ebe64ebdf16eb 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/openjdk17: -------------------------------------------------------------------------------- 1 | name=openjdk17 2 | version=17.0.35 3 | source_method=tarball 4 | tarball_url="https://github.com/openjdk/jdk17/archive/refs/tags/jdk-17+35.tar.gz" 5 | tarball_sha512=c43fea864059ec2e5ca8c9ac96253cf429359774105842353c413a3bf0f4a348d6a2a4948f3a5a9af83667b0312b066002d5d5efa8234a37e2370b14ed6733df 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | cp -v $(find /usr/local/share/automake* -name config.sub) make/autoconf/build-aux/ 9 | cp -v $(find /usr/local/share/automake* -name config.guess) make/autoconf/build-aux/ 10 | chmod +x configure 11 | } 12 | -------------------------------------------------------------------------------- /source-recipes/openssh: -------------------------------------------------------------------------------- 1 | name=openssh 2 | version=9.7p1 3 | source_method=tarball 4 | tarball_url="https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${version}.tar.gz" 5 | tarball_sha512="0cafc17d22851605a4a5495a1d82c2b3fbbe6643760aad226dbf2a25b5f49d4375c3172833706ea3cb6c05d5d02a40feb9a7e790eae5c4570dd344a43e94ca55" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | cp -v $(find /usr/local/share/automake* -name config.sub) . 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/openssl: -------------------------------------------------------------------------------- 1 | name=openssl 2 | version=1.1.1q 3 | source_method=tarball 4 | tarball_url="https://www.openssl.org/source/openssl-${version}.tar.gz" 5 | tarball_sha512="cb9f184ec4974a3423ef59c8ec86b6bf523d5b887da2087ae58c217249da3246896fdd6966ee9c13aea9e6306783365239197e9f742c508a0e35e5744e3e085f" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/oss: -------------------------------------------------------------------------------- 1 | name=oss 2 | version=4.2 3 | source_method=tarball 4 | tarball_url="http://www.4front-tech.com/developer/sources/stable/gpl/oss-v4.2-build2020-src-gpl.tar.bz2" 5 | tarball_sha512=6b0c5390e92f9c9466669600321140b54d1fde5eeaef2f9938d6bdbc7ae686f4a1ad0fa9669a1505962eb515d61d29d8a677911557a9b245ce039e1ab3b77d69 6 | 7 | prepare() { 8 | true 9 | #touch ${source_dir}/cmd/ossdevlinks/.nomake 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/pcre2: -------------------------------------------------------------------------------- 1 | name=pcre2 2 | version=10.42 3 | source_method=tarball 4 | tarball_url="https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${version}/pcre2-${version}.tar.bz2" 5 | tarball_sha512="72fbde87fecec3aa4b47225dd919ea1d55e97f2cbcf02aba26e5a0d3b1ffb58c25a80a9ef069eb99f9cf4e41ba9604ad06a7ec159870e1e875d86820e12256d3" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/pixman: -------------------------------------------------------------------------------- 1 | name=pixman 2 | version=0.40.0 3 | source_method=tarball 4 | tarball_url="https://www.cairographics.org/releases/pixman-${version}.tar.gz" 5 | tarball_sha512="063776e132f5d59a6d3f94497da41d6fc1c7dca0d269149c78247f0e0d7f520a25208d908cf5e421d1564889a91da44267b12d61c0bd7934cd54261729a7de5f" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/pkgconfig: -------------------------------------------------------------------------------- 1 | name=pkgconfig 2 | version=1.8.0 3 | source_method=tarball 4 | tarball_url="https://github.com/pkgconf/pkgconf/archive/refs/tags/pkgconf-${version}.tar.gz" 5 | tarball_sha512="6b0ce203e85dc671503ad4bebdfdddc567916a8cdd77f739350db99e1e01c098ea2e3111309d2beeff2eff5389f328372ec327eb590f7b3a120b2452ed24021d" 6 | imagedeps="autoconf automake libtool" 7 | 8 | prepare() { 9 | ./autogen.sh 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/python: -------------------------------------------------------------------------------- 1 | name=python 2 | version=3.10.12 3 | source_method=tarball 4 | tarball_url="https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz" 5 | tarball_sha512=5ea018e71bfe7872e02eaf8aef56d5583c0880e4ce5fbbdf8ea76da20c2e94ac6a3ba8badb4b7d1bc21853402a3b63541b04181737417b1626e786b696595cf5 6 | hostdeps="autoconf automake pkgconfig libtool autoconf-archive" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/qemu: -------------------------------------------------------------------------------- 1 | name=qemu 2 | version=9.1.0 3 | source_method=tarball 4 | tarball_url="https://download.qemu.org/qemu-${version}.tar.xz" 5 | tarball_sha512="bf61d65e37945fa8ee8640712c719ace05164d86e6df700b98bdc5f79e0a8d5e8f85bd48e726edb62b2419db20673f63ec8b63a60393a914b09cb365621b35e2" 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/readline: -------------------------------------------------------------------------------- 1 | name=readline 2 | version=8.2 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/readline/readline-${version}.tar.gz" 5 | tarball_sha512=0a451d459146bfdeecc9cdd94bda6a6416d3e93abd80885a40b334312f16eb890f8618a27ca26868cebbddf1224983e631b1cbc002c1a4d1cd0d65fba9fea49a 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/sdl2: -------------------------------------------------------------------------------- 1 | name=sdl2 2 | version=2.30.2 3 | source_method=tarball 4 | tarball_url="https://github.com/libsdl-org/SDL/archive/refs/tags/release-${version}.tar.gz" 5 | tarball_sha512="915f28c8406df36e6440b7d690c193076c3f886ad1b18c871c70869fe08dbe48d4ec5d2541d36d1b97ab26e1299fef2e3048e641e76ab4b63c687273968b0e5e" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/sed: -------------------------------------------------------------------------------- 1 | name=sed 2 | version=4.9 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/sed/sed-${version}.tar.xz" 5 | tarball_sha512="36157a4b4a2430cf421b7bd07f1675d680d9f1616be96cf6ad6ee74a9ec0fe695f8d0b1e1f0b008bbb33cc7fcde5e1c456359bbbc63f8aebdd4fedc3982cf6dc" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/shadow: -------------------------------------------------------------------------------- 1 | name=shadow 2 | version=4.15.1 3 | source_method=tarball 4 | tarball_url="https://github.com/shadow-maint/shadow/releases/download/${version}/shadow-${version}.tar.xz" 5 | tarball_sha512="e3ae51bf53bfa1662d81bbe0150ada19c116514f1e56391d877045d48e16776326446561759edbf5006c0f97ab1d5f4bae63521bf1fae67e118ddda0d4a8f6cb" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/sudo: -------------------------------------------------------------------------------- 1 | name=sudo 2 | version=1.9.15p5 3 | source_method=tarball 4 | tarball_url="https://github.com/sudo-project/sudo/releases/download/SUDO_1_9_15p5/sudo-1.9.15p5.tar.gz" 5 | tarball_sha512="ebac69719de2fe7bd587924701bdd24149bf376a68b17ec02f69b2b96d4bb6fa5eb8260a073ec5ea046d3ac69bb5b1c0b9d61709fe6a56f1f66e40817a70b15a" 6 | hostdeps="autoconf automake pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | cp -v $(find /usr/local/share/automake* -name config.sub) scripts 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/tar: -------------------------------------------------------------------------------- 1 | name=tar 2 | version=1.35 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/tar/tar-${version}.tar.gz" 5 | tarball_sha512=38dca8fbc193859770902c31aa6a6cf7a8fcd28687792b5aa8ba938bf39ce1e25c1b0de05f2a982b7b371eeb13502eb67cd27428ae1ade439bd6771aa9d05271 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/twm: -------------------------------------------------------------------------------- 1 | name=twm 2 | version=1.0.12 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/app/twm-${version}.tar.xz" 5 | tarball_sha512="f3d68df7e06516f6b74f19181efcfd9db2479c8ea0c72c3a6ed0dc1b222405b40d81a2dea17b662955e0c1783e87d0d3eb067c3b6e7c6eed8c0d38d03d362260" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/tyrquake: -------------------------------------------------------------------------------- 1 | name=tyrquake 2 | version=0.71 3 | source_method=tarball 4 | tarball_url="https://disenchant.net/files/engine/tyrquake-${version}.tar.gz" 5 | tarball_sha512=ecceeecb43866c10c0669b4362ce2eda7a790c502764b3d644566e7637ffbde0548676c9dcea07963db0d91d83c248e3497603c0a3a2e1a12a1418a82c07179a 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/util-macros: -------------------------------------------------------------------------------- 1 | name=util-macros 2 | version=1.20.0 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/util/util-macros-${version}.tar.xz" 5 | tarball_sha512="76caefb118bf1675d7b2b96e1bbb04eb9a320b02e120839e55a22ef98538ecf00d0e686a67186fc8fdc8492d277ffe3125ae8b7ac61ce4739edc0de3f468d2eb" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/vim: -------------------------------------------------------------------------------- 1 | name=vim 2 | version=9.0.1676 3 | source_method=tarball 4 | tarball_url="https://github.com/vim/vim/archive/refs/tags/v${version}.tar.gz" 5 | tarball_sha512=89e2e142d2dcbd162efd3f552ac745c2f2aaa905c08f8ffb88122feb53c9150a8906cfbfbba6203c186d7651276c8582ffc39c0b54f5bbf81e9a32546e7b1715 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/wget: -------------------------------------------------------------------------------- 1 | name=wget 2 | version=1.24.5 3 | source_method=tarball 4 | tarball_url="https://ftp.gnu.org/gnu/wget/wget-${version}.tar.gz" 5 | tarball_sha512="572aa54717e51a9eb9959e127c7afb696645088f32ff7df2cfe9d243957e34ee235e98988fa94649df023d2e3d62b6973e8c9f2eb92beba820dd96d5de2a950d" 6 | hostdeps="autoconf automake pkgconfig libtool autoconf-archive" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/wine: -------------------------------------------------------------------------------- 1 | name=wine 2 | version=10.0 3 | source_method=tarball 4 | tarball_url="https://dl.winehq.org/wine/source/${version}/wine-${version}.tar.xz" 5 | tarball_sha512="effb41c5641993e2e52eaa825cc19b7d9846e084992c5a5b066ead2339b24384d320898a9cee347a9a87106bcb3b0f54c8cd2c8d4de3a887a658052ddd5168d6" 6 | hostdeps="autoconf automake pkgconfig libtool autoconf-archive" 7 | prepare() { 8 | cp -v $(find /usr/local/share/automake* -name config.sub) tools/ 9 | cp -v $(find /usr/local/share/automake* -name config.guess) tools/ 10 | chmod +x configure 11 | } 12 | -------------------------------------------------------------------------------- /source-recipes/xauth: -------------------------------------------------------------------------------- 1 | name=xauth 2 | version=1.1.3 3 | source_method=tarball 4 | tarball_url="https://www.x.org/releases/individual/app/xauth-${version}.tar.xz" 5 | tarball_sha512="536434f6c607673c00b9658ea591bf32419cc151d138f991ea38167220563519a6a84a5504003da15820f2a7ed50ea2449c6ce9c991d1446ee9a7305c647d694" 6 | hostdeps="automake" 7 | prepare() { 8 | cp -v $(find /usr/local/share/automake* -name config.sub) . 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xbitmaps: -------------------------------------------------------------------------------- 1 | name=xbitmaps 2 | version=1.1.2 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/data/xbitmaps-${version}.tar.bz2" 5 | tarball_sha512="eed5e2fce9fc6c532984e6ed1262e440591e311ca6c61a7fe7a5c877df84bfc2d7aff388fb9c894fc098785b8e5352f0bd7c918252247a040cf123874847450d" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xcb-proto: -------------------------------------------------------------------------------- 1 | name=xcb-proto 2 | version=1.15.2 3 | source_method=tarball 4 | tarball_url="https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-${version}.tar.xz" 5 | tarball_sha512="9d0b2f0a4dbbf2d64e32ff4658d1663e13d7e5f1bffc1e8d45be7b9dd5bab46e29fc1c2f6e66a7a569e374ba6756faf3c39b0b5e5560df6d7f8b68beec97659d" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/xclock: -------------------------------------------------------------------------------- 1 | name=xclock 2 | version=1.1.1 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/app/xclock-${version}.tar.xz" 5 | tarball_sha512="059ea986bc7537c2796e8855676e8357bd8a7852fbac0839b3f8a9e3ffa088de41bc4e4961973353f0a7b7293366b81bc764d74f3dc4e90e361da06185d976e7" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xedit: -------------------------------------------------------------------------------- 1 | name=xedit 2 | version=1.2.3 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/app/xedit-${version}.tar.xz" 5 | tarball_sha512="1089c35ef961e53f74cc7d892960e1ee7f0da17529e3173e7f7764b0eb4ee94d1e068cb177d8502ca55c1dd6808962d4b1427e303adc7e6db80be8828557f45a" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xev: -------------------------------------------------------------------------------- 1 | name=xev 2 | version=1.2.5 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/app/xev-${version}.tar.xz" 5 | tarball_sha512="9fbfb78c9547974c2256a678948bf4a694a40b1c2bd5c5dec5f365a713e6d938c6039f055a9629f49de27f02f3d7cb912f07c035df129798a4b2ddc20febe66a" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xeyes: -------------------------------------------------------------------------------- 1 | name=xeyes 2 | version=1.2.0 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/app/xeyes-${version}.tar.gz" 5 | tarball_sha512="95461702cf27615bb7d4eb09b84f9589b810fa905a913b11050b32ce4004a4926e1521b3506a1bf378cb42b0bd6d8735871b6be2382824e2706f4ca24356db45" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xf86-input-keyboard: -------------------------------------------------------------------------------- 1 | name=xf86-input-keyboard 2 | version=2.0.0 3 | source_method=tarball 4 | tarball_url="https://xorg.freedesktop.org/archive/individual/driver/xf86-input-keyboard-${version}.tar.gz" 5 | tarball_sha512=2243d6b93315c0fdd97e57f62f86fcb26117a512817bfee0a5af76f686d5f8a5c8ea7b3f4e543e2d8ffc8d52129b6b575b9dc2a59e42fa8b23d8ba223544715a 6 | hostdeps="autoconf automake libtool pkgconfig util-macros" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xf86-input-mouse: -------------------------------------------------------------------------------- 1 | name=xf86-input-mouse 2 | version=1.9.4 3 | source_method=tarball 4 | tarball_url="https://xorg.freedesktop.org/archive/individual/driver/xf86-input-mouse-${version}.tar.gz" 5 | tarball_sha512=31c23fa6fe7f77707b6eeb61e8d928b0fe8ffb49c3a5ddda36e36d48d20618c438580c573c5d9e40bc32d28612dd60886b3fff983aafd90b20a198b14c228587 6 | hostdeps="autoconf automake libtool pkgconfig util-macros" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xf86-video-fbdev: -------------------------------------------------------------------------------- 1 | name=xf86-video-fbdev 2 | version=0.5.0 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/driver/xf86-video-fbdev-${version}.tar.bz2" 5 | tarball_sha512="c1217b943bbe3301b3c2a8649ed1004c3c67b02607bd56bbc14f6dfa05e7f0184332c81a6a19595514745501ed88526aee932e555779b7c3a8233646b0979448" 6 | hostdeps="autoconf automake libtool pkgconfig util-macros" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xfishtank: -------------------------------------------------------------------------------- 1 | name=xfishtank 2 | version=0 3 | source_method=tarball 4 | tarball_url="https://github.com/sydneyjd/xfishtank/archive/63022c8877710cefa7e4815dda8bd6ae50557fb5.tar.gz" 5 | tarball_sha512=1ef1e0b89cc3fbe3d9a246509dac158d1663d784e302be7e3e28baf52205a11d83a5a0b4170ccef1e8befb49e013177a7480b2ae0e87953129b19d75723d0b81 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xfontalias: -------------------------------------------------------------------------------- 1 | name=xfontalias 2 | version=1.0.5 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/font/font-alias-${version}.tar.xz" 5 | tarball_sha512="86bffa6b9ff789eeba715c079965157806ed633d44cd3dbf5e2a4bba2b390a0f48db65edc8e3264acbc2368d78a8d7e05bc2e2e3a86ddbf6b08bfe7f5e862bcc" 6 | hostdeps="automake autoconf libtool pkgconfig util-macros fontutil" 7 | 8 | prepare() { 9 | autoreconf -fvi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/xfontmiscethipic: -------------------------------------------------------------------------------- 1 | name=xfontmiscethipic 2 | version=1.0.5 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/font/font-misc-ethiopic-${version}.tar.xz" 5 | tarball_sha512="7732a828c005e3762b6383729134c5656fd575ac59288504d047fbe26e9965a80519a37b0cc4c6b89379a85a62160c5ea76017f790447a230c015aa7a9143ba0" 6 | hostdeps="automake autoconf libtool pkgconfig util-macros fontutil" 7 | 8 | prepare() { 9 | autoreconf -fvi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/xfontmiscmisc: -------------------------------------------------------------------------------- 1 | name=xfontmiscmisc 2 | version=1.1.3 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive//individual/font/font-misc-misc-${version}.tar.xz" 5 | tarball_sha512="fac4bfda0e4189d1a9999abc47bdd404f2beeec5301da190d92afc2176cd344789b7223c1b2f4748bd0efe1b9a81fa7f13f7037015d5d800480fa2236f369b48" 6 | hostdeps="automake autoconf libtool pkgconfig util-macros fontutil" 7 | 8 | prepare() { 9 | autoreconf -fvi 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/xkbcomp: -------------------------------------------------------------------------------- 1 | name=xkbcomp 2 | version=1.4.5 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive//individual/app/xkbcomp-${version}.tar.gz" 5 | tarball_sha512="c80a854779aa2c6ab79953870fbf712eb866e427643803bdecc129932b07f10c90482dfda178719808547d65aedfec44fca0ee3c271625bd77edf995fafaf4a0" 6 | hostdeps="autoconf automake libtool pkgconfig util-macros" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xkbfile: -------------------------------------------------------------------------------- 1 | name=xkbfile 2 | version=1.1.1 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/libxkbfile-${version}.tar.gz" 5 | tarball_sha512="8dc3894d306666c8222e00aae62989b77bbe194f058a85dc162127d652d772181426da617c97018ebc530eba070fe4a42c2048b314db2485b62774af1741d4de" 6 | hostdeps="autoconf automake libtool pkgconfig util-macros" 7 | prepare() { 8 | autoreconf -vif 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xkeyboardconfig: -------------------------------------------------------------------------------- 1 | name=xkeyboardconfig 2 | version=2.36 3 | source_method=tarball 4 | tarball_url="http://www.x.org/releases/individual/data/xkeyboard-config/xkeyboard-config-${version}.tar.xz" 5 | tarball_sha512="a81054ff6b7928a445a913b80fad995056559feff7bc1f4926657f171a102108b6e22958dc6c814ae2a25445f65c94485f13399628016f1358cf3840e235e3de" 6 | hostdeps="autoconf automake libtool pkgconfig util-macros" 7 | prepare() { 8 | pushd ${source_dir} 9 | sed -i -E "s/(ln -s)/\1f/" rules/meson.build 10 | popd 11 | } 12 | -------------------------------------------------------------------------------- /source-recipes/xneko: -------------------------------------------------------------------------------- 1 | name=xneko 2 | version=1.4 3 | source_method=tarball 4 | tarball_url="https://astral-os.org/mirror/xneko.tar.gz" 5 | tarball_sha512=7e2429f8a66ecfe342e3df907ccd6b4f5378a3441ec05aaf4cbb3cae67e95ea1ac4427abad400704f489619d0dd107ae5b58dc8bdba09a4a05d8332c33a06a6f 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/xorg-server: -------------------------------------------------------------------------------- 1 | name=xorg-server 2 | version=21.1.4 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/xserver/xorg-server-${version}.tar.xz" 5 | tarball_sha512="eb5b8520d02908f72719e6ecfbf7a9bf139acb65ccae04d1db4223a8a2384cd3a94bd5afef10cce327b751b800cc2b79bfaa5ae35c95c3a217f775168082e68f" 6 | hostdeps="autoconf automake pkgconfig libtool util-macros fontutil xtrans" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xorgproto: -------------------------------------------------------------------------------- 1 | name=xorgproto 2 | version=2022.2 3 | source_method=tarball 4 | tarball_url="https://xorg.freedesktop.org/archive/individual/proto/xorgproto-2022.2.tar.xz" 5 | tarball_sha512="8e6108110600d076a94cc6d0e465b2e9adfbbe8d7e6b75fae9c5262d99dc6074ab1ed561a74d6d451f00f5b7af9f507a6317be9c0770efeed9e60b64beb7a1c9" 6 | prepare() { 7 | true 8 | } 9 | -------------------------------------------------------------------------------- /source-recipes/xrandr: -------------------------------------------------------------------------------- 1 | name=xrandr 2 | version=1.5.1 3 | source_method=tarball 4 | tarball_url="https://www.x.org/pub/individual/app/xrandr-${version}.tar.xz" 5 | tarball_sha512="3d0d37e974b9dffb996276ee7fd676327fd0956e5f5f572dd142a651a35d3cdfa2f6dd415cf27bf87f306981957aba4cc014c12baebefcabaa5d66b78a114922" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xscreensaver: -------------------------------------------------------------------------------- 1 | name=xscreensaver 2 | version=6.09 3 | source_method=tarball 4 | tarball_url="https://www.jwz.org/xscreensaver/xscreensaver-${version}.tar.gz" 5 | tarball_sha512="6002c1879e3f9c509b4f6b645146978da82def0ed7b9e9c421b11dadf0116380c63403c30167fa70a289321928abe39795a96f1a796afb920bd0e3ac416d3653" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | cp -v $(find /usr/local/share/automake* -name config.sub) . 10 | } 11 | -------------------------------------------------------------------------------- /source-recipes/xsetroot: -------------------------------------------------------------------------------- 1 | name=xsetroot 2 | version=1.1.2 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/app/xsetroot-${version}.tar.gz" 5 | tarball_sha512="e6ff6d5e53f14f965d2923289bd4a4fd77e7d254c8ea68a6c53c1404f9c7b31ac810cd213926820b280b04ae2e0ec66a7a3b7e98ea4a37d0e22755a7ed0693c3" 6 | hostdeps="autoconf automake util-macros pkgconfig libtool" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xterm: -------------------------------------------------------------------------------- 1 | name=xterm 2 | version=390 3 | source_method=tarball 4 | tarball_url="https://invisible-mirror.net/archives/xterm/xterm-${version}.tgz" 5 | tarball_sha512=865ae292a56635ec2811a950763da22cbbb4de463bee75b4595b7387a09227f612c5620986e431631c3d73fe783d862fd9a6694c54c33898327339467b7085b7 6 | 7 | prepare() { 8 | true 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/xtrans: -------------------------------------------------------------------------------- 1 | name=xtrans 2 | version=1.4.0 3 | source_method=tarball 4 | tarball_url="https://www.x.org/archive/individual/lib/xtrans-${version}.tar.gz" 5 | tarball_sha512="21287ccf18fe2ebd458765496b026d175bf47c6e8e5c21d5b9ea17203967efc0cf6928fa2f3385d289a680c7002c3640e4731937029e99933c2a64bb9fab5326" 6 | hostdeps="autoconf automake libtool pkgconfig util-macros" 7 | prepare() { 8 | autoreconf -fvi 9 | } 10 | -------------------------------------------------------------------------------- /source-recipes/zlib: -------------------------------------------------------------------------------- 1 | name=zlib 2 | version=1.3 3 | source_method=tarball 4 | tarball_url="https://github.com/madler/zlib/releases/download/v${version}/zlib-${version}.tar.xz" 5 | tarball_sha512=3868ac4da5842dd36c9dad794930675b9082ce15cbd099ddb79c0f6bd20a24aa8f33a123f378f26fe0ae02d91f31f2994dccaac565cedeaffed7b315e6ded2a2 6 | hostdeps="autoconf automake libtool pkgconfig" 7 | 8 | prepare() { 9 | true 10 | } 11 | -------------------------------------------------------------------------------- /tools/init/Makefile: -------------------------------------------------------------------------------- 1 | .phony: all install 2 | CC=x86_64-astral-gcc 3 | LD=x86_64-astral-gcc 4 | 5 | all: init poweroff reboot acpid 6 | 7 | install: 8 | mkdir -pv "$(DESTDIR)/usr/sbin" 9 | cp -v init "$(DESTDIR)/init" 10 | cp -v poweroff "$(DESTDIR)/usr/sbin/poweroff" 11 | cp -v reboot "$(DESTDIR)/usr/sbin/reboot" 12 | cp -v acpid "$(DESTDIR)/usr/sbin/acpid" 13 | 14 | init: main.o 15 | $(LD) $(LDFLAGS) -o $@ $^ 16 | 17 | poweroff: poweroff.o 18 | $(LD) $(LDFLAGS) -o $@ $^ 19 | 20 | reboot: reboot.o 21 | $(LD) $(LDFLAGS) -o $@ $^ 22 | 23 | acpid: acpid.o 24 | $(LD) $(LDFLAGS) -o $@ $^ 25 | 26 | main.o: main.c 27 | $(CC) -c $(CFLAGS) -o $@ $< 28 | 29 | poweroff.o: poweroff.c 30 | $(CC) -c $(CFLAGS) -o $@ $< 31 | 32 | reboot.o: reboot.c 33 | $(CC) -c $(CFLAGS) -o $@ $< 34 | 35 | acpid.o: acpid.c 36 | $(CC) -c $(CFLAGS) -o $@ $< 37 | -------------------------------------------------------------------------------- /tools/init/common.h: -------------------------------------------------------------------------------- 1 | #ifndef _COMMON_H 2 | #define _COMMON_H 3 | 4 | #define COMMAND_POWEROFF 'p' 5 | #define COMMAND_REBOOT 'r' 6 | #define COMMAND_FIFO "/tmp/.initcmd" 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /tools/init/poweroff.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #include "common.h" 7 | 8 | int main() { 9 | char c = COMMAND_POWEROFF; 10 | int fd = open(COMMAND_FIFO, O_WRONLY); 11 | 12 | if (fd == -1) { 13 | perror("poweroff: open"); 14 | return EXIT_FAILURE; 15 | } 16 | 17 | if (write(fd, &c, 1) < 0) { 18 | perror("poweroff: write"); 19 | return EXIT_FAILURE; 20 | } 21 | 22 | close(fd); 23 | return EXIT_SUCCESS; 24 | } 25 | -------------------------------------------------------------------------------- /tools/init/reboot.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #include "common.h" 7 | 8 | int main() { 9 | char c = COMMAND_REBOOT; 10 | int fd = open(COMMAND_FIFO, O_WRONLY); 11 | 12 | if (fd == -1) { 13 | perror("poweroff: open"); 14 | return EXIT_FAILURE; 15 | } 16 | 17 | if (write(fd, &c, 1) < 0) { 18 | perror("poweroff: write"); 19 | return EXIT_FAILURE; 20 | } 21 | 22 | close(fd); 23 | return EXIT_SUCCESS; 24 | } 25 | -------------------------------------------------------------------------------- /tools/mount/Makefile: -------------------------------------------------------------------------------- 1 | .phony: all install 2 | CC=x86_64-astral-gcc 3 | LD=x86_64-astral-gcc 4 | all: mount 5 | 6 | install: 7 | mkdir -p "$(DESTDIR)/$(PREFIX)/bin/" 8 | cp mount "$(DESTDIR)/$(PREFIX)/bin/mount" 9 | 10 | mount: main.o 11 | $(LD) $(LDFLAGS) -o $@ $^ 12 | 13 | main.o: main.c 14 | $(CC) -c $(CFLAGS) -o $@ $< 15 | -------------------------------------------------------------------------------- /tools/netd/Makefile: -------------------------------------------------------------------------------- 1 | .phony: all install 2 | CC=x86_64-astral-gcc 3 | LD=x86_64-astral-gcc 4 | all: netd 5 | 6 | install: 7 | mkdir -p "$(DESTDIR)/$(PREFIX)/sbin/" 8 | cp netd "$(DESTDIR)/$(PREFIX)/sbin/netd" 9 | 10 | netd: main.o 11 | $(LD) $(LDFLAGS) -g -o $@ $^ 12 | 13 | main.o: main.c 14 | $(CC) -c $(CFLAGS) -g -o $@ $< 15 | -------------------------------------------------------------------------------- /util/cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_SYSTEM_NAME Astral) 2 | 3 | set(CMAKE_FIND_ROOT_PATH /sysroot) 4 | 5 | set(CMAKE_C_COMPILER x86_64-astral-gcc) 6 | set(CMAKE_CXX_COMPILER x86_64-astral-g++) 7 | 8 | # search for programs in the build host directories 9 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 10 | # for libraries and headers in the target directories 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 13 | 14 | # flags for shared libraries 15 | set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,") 16 | set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1) 17 | -------------------------------------------------------------------------------- /util/crossfile: -------------------------------------------------------------------------------- 1 | [host_machine] 2 | system = 'astral' 3 | cpu_family = 'x86_64' 4 | cpu = 'x86_64' 5 | endian = 'little' 6 | [binaries] 7 | c = 'x86_64-astral-gcc' 8 | cpp = 'x86_64-astral-g++' 9 | ar = 'x86_64-astral-ar' 10 | strip = 'x86_64-astral-strip' 11 | ld = 'x86_64-astral-ld' 12 | pkgconfig = 'x86_64-astral-pkg-config' 13 | llvm-config = '/base_dir/util/llvmconfig' 14 | --------------------------------------------------------------------------------