diff --git a/.gitignore b/.gitignore index f8f25d0d..e5e62afa 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,4 @@ tools/init/acpid.o initrds hdd.img netdump.dat +build-* diff --git a/jinx-config b/Jinxfile similarity index 81% rename from jinx-config rename to Jinxfile index 67305bcf..9fb285c0 100644 --- a/jinx-config +++ b/Jinxfile @@ -1,3 +1,3 @@ -JINX_MAJOR_VER=0.4 +JINX_MAJOR_VER=0.6 export CFLAGS="-O2 -march=x86-64 -pipe -mtune=generic" export CXXFLAGS="${CFLAGS}" diff --git a/Makefile b/Makefile index 15b247f7..bdfcd050 100644 --- a/Makefile +++ b/Makefile @@ -1,22 +1,24 @@ -ISODIR=$(shell pwd)/iso -IMGDIR=$(shell pwd)/img -ISO=astral.iso -IMG=astral-bootable.img -DISKNAME=hdd.img -LIMINEDIR=$(shell pwd)/host-pkgs/limine/usr/local/share/limine/ -KERNEL=$(shell pwd)/builds/astral/astral -QEMUFLAGS=-M q35 -m 4g -smp cpus=1 -no-shutdown -no-reboot -monitor stdio -debugcon file:/dev/stdout -serial file:/dev/stdout -netdev user,id=net0 -device virtio-net,netdev=net0 -object filter-dump,id=f1,netdev=net0,file=netdump.dat +JINX_ARCH=x86_64 +JINX_DIR=$(shell pwd)/build-$(JINX_ARCH) +ISODIR=$(JINX_DIR)/iso +IMGDIR=$(JINX_DIR)/img +ISO=$(JINX_DIR)/astral.iso +IMG=$(JINX_DIR)/astral-bootable.img +DISKNAME=$(JINX_DIR)/hdd.img +LIMINEDIR=$(JINX_DIR)/host-pkgs/limine/usr/local/share/limine/ +KERNEL=$(JINX_DIR)/builds/astral/astral +QEMUFLAGS=-M q35 -m 2g -smp cpus=4 -no-shutdown -no-reboot -debugcon file:/dev/stdout -serial stdio -netdev user,id=net0 -device virtio-net,netdev=net0 -object filter-dump,id=f1,netdev=net0,file=netdump.dat QEMUISOFLAGS=-cdrom $(ISO) -QEMUDISKFLAGS=-drive file=$(DISKNAME),if=none,id=nvme -device nvme,serial=deadc0ff,drive=nvme -boot order=dc +QEMUDISKFLAGS=-drive file=$(DISKNAME),if=none,id=nvme -device virtio-blk,serial=deadc0ff,drive=nvme -boot order=dc QEMUIMGFLAGS=-drive file=$(IMG),if=none,id=usb -device nec-usb-xhci,id=xhci -device usb-storage,bus=xhci.0,drive=usb,removable=on -INITRD=$(shell pwd)/initrds/initrd +INITRD=$(JINX_DIR)/initrds/initrd DISTROTYPE=full MINIMALPACKAGES=mlibc bash coreutils init distro-files vim nano mount netd shadow sudo neofetch -.PHONY: all kernel clean clean-kernel iso img initrd full minimal disk +.PHONY: all kernel clean clean-kernel iso img initrd full minimal disk distro-minimal distro-full -all: jinx +all: $(JINX_DIR)/.astral_ok git submodule update --init --recursive mkdir -p $(ISODIR) make kernel @@ -30,9 +32,15 @@ all: jinx @echo jinx: - curl https://astral-os.org/jinx > jinx + curl https://codeberg.org/Mintsuki/jinx/raw/commit/fba7f3150aa0bd13d27161968b1f441836d06279/jinx > jinx chmod +x jinx +$(JINX_DIR)/.astral_ok: jinx + mkdir -p $(JINX_DIR) + cd $(JINX_DIR) && \ + ../jinx init .. ARCH=$(JINX_ARCH) && \ + touch .astral_ok + iso: $(ISO) img: $(IMG) @@ -48,64 +56,69 @@ $(IMG): limine.conf liminebg.bmp $(KERNEL) $(INITRD)-$(DISTROTYPE) cp $(KERNEL) liminebg.bmp limine.conf $(LIMINEDIR)/limine-bios.sys $(IMGDIR) cp $(LIMINEDIR)/BOOTIA32.EFI $(IMGDIR)/EFI/BOOT cp $(LIMINEDIR)/BOOTX64.EFI $(IMGDIR)/EFI/BOOT - ./genbootimg.sh 1G $(IMG) $(IMGDIR) + ../genbootimg.sh 200m $(IMG) $(IMGDIR) # ------ build targets ------ kernel: - rm -f builds/astral.packaged - rm -f builds/astral.built - ./jinx build astral + cd $(JINX_DIR) && \ + rm -f builds/astral.packaged && \ + rm -f builds/astral.built && \ + ../jinx build astral + +distro-minimal: + cd $(JINX_DIR) && \ + ../jinx build-if-needed $(MINIMALPACKAGES) + +distro-full: + cd $(JINX_DIR) && \ + ../jinx build-if-needed '*' # ------ initrd targets ------ -$(INITRD)-full: - ./jinx install sysroot \* - mkdir -p initrds - ./geninitrd.sh sysroot $(INITRD)-full +$(INITRD)-full: distro-full + cd $(JINX_DIR) && \ + ../jinx install sysroot \* && \ + mkdir -p initrds && \ + ../geninitrd.sh sysroot $(INITRD)-full -$(INITRD)-minimal: - ./jinx install minimalsysroot $(MINIMALPACKAGES) - mkdir -p initrds - ./geninitrd.sh minimalsysroot $(INITRD)-minimal +$(INITRD)-minimal: distro-minimal + cd $(JINX_DIR) && \ + ../jinx install minimalsysroot $(MINIMALPACKAGES) && \ + mkdir -p initrds && \ + ../geninitrd.sh minimalsysroot $(INITRD)-minimal initrd: - rm $(INITRD)-$(DISTROTYPE) + cd $(JINX_DIR) && \ + rm $(INITRD)-$(DISTROTYPE) && \ make $(INITRD)-$(DISTROTYPE) # ------ disk targets ------ disk: disk-$(DISTROTYPE) -disk-full: - ./jinx install sysroot \* - ./gendisk.sh 4g sysroot $(DISKNAME) +disk-full: distro-full + cd $(JINX_DIR) && \ + ../jinx install sysroot \* && \ + ../gendisk.sh 8g sysroot $(DISKNAME) -disk-minimal: - ./jinx install minimalsysroot $(MINIMALPACKAGES) - ./gendisk.sh 1g minimalsysroot $(DISKNAME) +disk-minimal: distro-minimal + cd $(JINX_DIR) && \ + ../jinx install minimalsysroot $(MINIMALPACKAGES) && \ + ../gendisk.sh 1g minimalsysroot $(DISKNAME) # ------ clean targets ------ clean-kernel: - find builds/astral/ -name *.d -delete - find builds/astral/ -name *.o -delete + cd $(JINX_DIR) && \ + find builds/astral/ -name *.d -delete && \ + find builds/astral/ -name *.o -delete && \ find builds/astral/ -name *.asmo -delete clean: - make -i clean-kernel - rm jinx - rm -rf builds - rm -rf host-builds - rm -rf pkgs - rm -rf host-pkgs + rm -rf jinx rm -rf sources - rm -rf sysroot - rm -rf $(ISODIR) - rm -f $(ISO) - rm -f $(DISKNAME) - rm -rf initrds - + rm -rf $(JINX_DIR) # ------ run targets ------ run: @@ -124,7 +137,11 @@ run-disk-gdb: qemu-system-x86_64 $(QEMUFLAGS) $(QEMUISOFLAGS) $(QEMUDISKFLAGS) -S -s run-disk-kvm: - qemu-system-x86_64 $(QEMUFLAGS) $(QEMUISOFLAGS) $(QEMUDISKFLAGS) -enable-kvm -cpu host,migratable=off + qemu-system-x86_64 $(QEMUFLAGS) $(QEMUISOFLAGS) $(QEMUDISKFLAGS) -enable-kvm -cpu host,migratable=off -s + +run-disk-kvm-gdb: + qemu-system-x86_64 $(QEMUFLAGS) $(QEMUISOFLAGS) $(QEMUDISKFLAGS) -enable-kvm -cpu host,migratable=off -S -s + run-img: qemu-system-x86_64 $(QEMUFLAGS) $(QEMUIMGFLAGS) diff --git a/distro-files/etc/rc b/distro-files/etc/rc index 054be043..0085c27f 100644 --- a/distro-files/etc/rc +++ b/distro-files/etc/rc @@ -13,6 +13,8 @@ chmod 1777 /tmp chmod 0755 /dev/pts +mkdir -p /var/log + # required to be owned by root and sticky for rootless Xorg. mkdir -p /tmp/.X11-unix chmod 1777 /tmp/.X11-unix diff --git a/genbootimg.sh b/genbootimg.sh index ccff0c10..c0f3dffa 100755 --- a/genbootimg.sh +++ b/genbootimg.sh @@ -2,7 +2,7 @@ if [ $# != 3 ] then - echo "usage: $0 size diskname" + echo "usage: $0 size diskname imgdir" exit 1 fi diff --git a/host-recipes/file b/host-recipes/file new file mode 100644 index 00000000..358bbcc8 --- /dev/null +++ b/host-recipes/file @@ -0,0 +1,17 @@ +name=file +revision=1 +from_source=file +imagedeps="build-essential" + +configure() { + cp -rp ${source_dir}/* . + ./configure --prefix=${prefix} +} + +build() { + make -j ${parallelism} +} + +package() { + make install DESTDIR=${dest_dir} +} diff --git a/host-recipes/libstdc++-v3 b/host-recipes/libstdc++-v3 index 686b25ac..c158b96b 100644 --- a/host-recipes/libstdc++-v3 +++ b/host-recipes/libstdc++-v3 @@ -6,12 +6,12 @@ hostdeps="automake autoconf xbinutils xgcc" deps="mlibc" build() { - cd ${base_dir}/host-builds/xgcc + cd ${base_dir}/build-${JINX_ARCH}/host-builds/xgcc make all-target-libstdc++-v3 -j7 } package(){ - cd ${base_dir}/host-builds/xgcc + cd ${base_dir}/build-${JINX_ARCH}/host-builds/xgcc make DESTDIR="${dest_dir}" install-target-libstdc++-v3 rm -rf ${dest_dir}/usr/local/lib/gcc/x86_64-astral/12.1.0/ } diff --git a/host-recipes/libtool b/host-recipes/libtool index c6628b18..e8e36dbf 100644 --- a/host-recipes/libtool +++ b/host-recipes/libtool @@ -1,11 +1,11 @@ name=libtool revision=1 from_source=libtool -hostdeps="autoconf automake" -imagedeps="gcc build-essential help2man" +imagedeps="gcc build-essential help2man autoconf automake" configure() { cp -pr ${source_dir}/* . + cp -pr ${source_dir}/.* . ./configure --prefix=${prefix} } diff --git a/host-recipes/pkgconfig b/host-recipes/pkgconfig index b4cf53f0..4b50957e 100644 --- a/host-recipes/pkgconfig +++ b/host-recipes/pkgconfig @@ -1,7 +1,8 @@ name=pkgconfig revision=1 from_source=pkgconfig -imagedeps="gcc build-essential automake autoconf libtool" +imagedeps="gcc build-essential autoconf automake" +hostdeps="libtool" configure() { ${source_dir}/configure --prefix=${prefix} diff --git a/host-recipes/python b/host-recipes/python index 5c99cce9..effd8131 100644 --- a/host-recipes/python +++ b/host-recipes/python @@ -1,7 +1,7 @@ name=python from_source=python revision=1 -imagedeps="build-essential" +imagedeps="build-essential zlib1g-dev" configure() { "${source_dir}/configure" --prefix=${prefix} diff --git a/kernel-src/Makefile b/kernel-src/Makefile index ff49e419..6bf65325 100644 --- a/kernel-src/Makefile +++ b/kernel-src/Makefile @@ -1,7 +1,6 @@ CSOURCES= $(shell find -name "*.c" -not -path "*/uacpi/tests/*") ASMSOURCES= $(shell find -name "*.asm") OBJS=$(CSOURCES:.c=.o) $(ASMSOURCES:.asm=.asmo) -TARGET=x86-64 INCDIR=$(shell pwd)/include ARCHINCDIR=$(shell pwd)/include/$(TARGET)/ ARCHDIR=$(shell pwd)/arch/$(TARGET)/ diff --git a/limine.conf b/limine.conf index a11f0491..b5776f15 100644 --- a/limine.conf +++ b/limine.conf @@ -3,28 +3,29 @@ TERM_MARGIN_GRADIENT: 40 WALLPAPER: boot():/liminebg.bmp WALLPAPER_STYLE: stretched TIMEOUT: 5 +SERIAL: yes /Astral (X.org, nvme0n1, ext2) PROTOCOL: limine KERNEL_PATH: boot():/astral -KERNEL_CMDLINE: rootfs=ext2 root=nvme0n1 initarg=withx nosmp +KERNEL_CMDLINE: rootfs=ext2 root=nvme0n1 initarg=withx COMMENT: "The Astral operating system" /Astral (login prompt, nvme0n1, ext2) PROTOCOL: limine KERNEL_PATH: boot():/astral -KERNEL_CMDLINE: rootfs=ext2 root=nvme0n1 initarg=withlogin nosmp +KERNEL_CMDLINE: rootfs=ext2 root=nvme0n1 initarg=withlogin COMMENT: "The Astral operating system" /Astral (root shell, nvme0n1, ext2) PROTOCOL: limine KERNEL_PATH: boot():/astral -KERNEL_CMDLINE: rootfs=ext2 root=nvme0n1 nosmp +KERNEL_CMDLINE: rootfs=ext2 root=nvme0n1 COMMENT: "The Astral operating system" /Astral (root shell, initrd) PROTOCOL: limine KERNEL_PATH: boot():/astral MODULE_PATH: boot():/initrd -KERNEL_CMDLINE: initrd rootfs=tmpfs nosmp +KERNEL_CMDLINE: initrd rootfs=tmpfs COMMENT: "The Astral operating system" diff --git a/patches/libtool/jinx-working-patch.patch b/patches/libtool/jinx-working-patch.patch index d6750734..ac3563f9 100644 --- a/patches/libtool/jinx-working-patch.patch +++ b/patches/libtool/jinx-working-patch.patch @@ -1,21 +1,8 @@ -diff --git libtool-clean/build-aux/ltmain.in libtool-workdir/build-aux/ltmain.in -index a5f21a1..085711c 100644 ---- libtool-clean/build-aux/ltmain.in -+++ libtool-workdir/build-aux/ltmain.in -@@ -6497,7 +6497,7 @@ func_mode_link () - fi - else - # We cannot seem to hardcode it, guess we'll fake it. -- add_dir=-L$libdir -+ add_dir=-L$lt_sysroot$$libdir - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in diff --git libtool-clean/libtoolize.in libtool-workdir/libtoolize.in -index 0c40fed..763619b 100644 +index 6c15aa5..4f4d4f0 100644 --- libtool-clean/libtoolize.in +++ libtool-workdir/libtoolize.in -@@ -1891,7 +1891,7 @@ func_require_seen_libtool () +@@ -1922,7 +1922,7 @@ func_require_seen_libtool () # Do not remove config.guess, config.sub or install-sh, we don't # install them without --install, and the project may not be using # Automake. Similarly, do not remove Gnulib files. @@ -25,19 +12,19 @@ index 0c40fed..763619b 100644 all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__argz.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__argz.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h ltdl.mk slist.c" diff --git libtool-clean/m4/libtool.m4 libtool-workdir/m4/libtool.m4 -index 79a2451..1682c56 100644 +index 8d323b3..072834b 100644 --- libtool-clean/m4/libtool.m4 +++ libtool-workdir/m4/libtool.m4 -@@ -1696,7 +1696,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl +@@ -1725,7 +1725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; -- gnu*) -+ astral* | gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. +- gnu* | ironclad*) ++ gnu* | ironclad* | astral*) + # Under GNU Hurd and Ironclad, this test is not required because there + # is no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever -@@ -2521,6 +2521,18 @@ amigaos*) +@@ -2550,6 +2550,18 @@ amigaos*) esac ;; @@ -56,7 +43,7 @@ index 79a2451..1682c56 100644 beos*) library_names_spec='$libname$shared_ext' dynamic_linker="$host_os ld.so" -@@ -3468,6 +3480,10 @@ aix[[4-9]]*) +@@ -3576,6 +3588,10 @@ aix[[4-9]]*) lt_cv_deplibs_check_method=pass_all ;; @@ -67,7 +54,7 @@ index 79a2451..1682c56 100644 beos*) lt_cv_deplibs_check_method=pass_all ;; -@@ -4310,6 +4326,8 @@ m4_if([$1], [CXX], [ +@@ -4427,6 +4443,8 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; @@ -76,7 +63,7 @@ index 79a2451..1682c56 100644 chorus*) case $cc_basename in cxch68*) -@@ -4561,6 +4579,12 @@ m4_if([$1], [CXX], [ +@@ -4682,6 +4700,12 @@ m4_if([$1], [CXX], [ ;; esac ;; @@ -89,7 +76,7 @@ index 79a2451..1682c56 100644 beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. -@@ -5106,6 +5130,11 @@ _LT_EOF +@@ -5239,6 +5263,11 @@ _LT_EOF ;; esac ;; @@ -101,7 +88,7 @@ index 79a2451..1682c56 100644 beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then -@@ -5570,7 +5599,8 @@ _LT_EOF +@@ -5710,7 +5739,8 @@ _LT_EOF ;; esac ;; @@ -111,7 +98,7 @@ index 79a2451..1682c56 100644 bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; -@@ -6630,6 +6660,10 @@ if test yes != "$_lt_caught_CXX_error"; then +@@ -6776,6 +6806,10 @@ if test yes != "$_lt_caught_CXX_error"; then fi fi ;; @@ -122,17 +109,3 @@ index 79a2451..1682c56 100644 beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then -diff --git libtool-clean/m4/ltdl.m4 libtool-workdir/m4/ltdl.m4 -index 772c150..13807b5 100644 ---- libtool-clean/m4/ltdl.m4 -+++ libtool-workdir/m4/ltdl.m4 -@@ -466,6 +466,9 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen], - ;; - esac - ;; -+ astral*) -+ lt_cv_sys_dlopen_deplibs=yes -+ ;; - bitrig*) - lt_cv_sys_dlopen_deplibs=yes - ;; diff --git a/recipes/astral b/recipes/astral index cbe53061..c1d1120d 100644 --- a/recipes/astral +++ b/recipes/astral @@ -6,7 +6,7 @@ hostdeps="xgcc xbinutils limine" build() { cp -pr "${source_dir}"/* . - CC="x86_64-astral-gcc" LD="x86_64-astral-gcc" AS="nasm" make -j${parallelism} + CC="x86_64-astral-gcc" LD="x86_64-astral-gcc" AS="nasm" TARGET=x86-64 make -j${parallelism} } package() { diff --git a/recipes/base b/recipes/base index b23453fd..cbd375c1 100644 --- a/recipes/base +++ b/recipes/base @@ -1,3 +1,4 @@ name=base +version=1 revision=1 deps="mlibc libintl libiconv libxcrypt" diff --git a/recipes/brogue b/recipes/brogue new file mode 100644 index 00000000..bc6145e8 --- /dev/null +++ b/recipes/brogue @@ -0,0 +1,21 @@ +name=brogue +revision=1 +from_source=brogue +imagedeps="build-essential" +hostdeps="xgcc xbinutils pkgconfig" +deps="readline base ncurses" + +configure() { + cp -rp ${source_dir}/* . +} + +build() { + make CC=x86_64-astral-gcc TERMINAL=YES DATADIR="/usr/share/games/brogue" RELEASE=YES GRAPHICS=NO LDLIBS=-ltinfow +} + +package() { + mkdir -p ${dest_dir}/usr/bin + mkdir -p ${dest_dir}/usr/share/games + cp bin/brogue ${dest_dir}/usr/bin/brogue + cp -r bin ${dest_dir}/usr/share/games/brogue +} diff --git a/recipes/file b/recipes/file index 3470a3f7..7363bc72 100644 --- a/recipes/file +++ b/recipes/file @@ -2,7 +2,7 @@ name=file revision=1 from_source=file imagedeps="build-essential" -hostdeps="xgcc xbinutils" +hostdeps="xgcc xbinutils file" deps="base" configure() { diff --git a/recipes/make-ca b/recipes/make-ca index 468ff214..98faa010 100644 --- a/recipes/make-ca +++ b/recipes/make-ca @@ -13,4 +13,6 @@ package() { # install certificate data MOZILLA_CERT_SYSROOT=${dest_dir} ${dest_dir}/usr/sbin/make-ca -g -D ${dest_dir} + + chmod -v 0755 "${dest_dir}/etc/ssl/certs" } diff --git a/recipes/python b/recipes/python index cb419a3d..bed9944f 100644 --- a/recipes/python +++ b/recipes/python @@ -1,7 +1,7 @@ name=python revision=1 from_source=python -imagedeps="build-essential" +imagedeps="build-essential zlib1g-dev" hostdeps="xgcc xbinutils pkgconfig python" deps="base" diff --git a/recipes/wine b/recipes/wine index 5c7a84b6..2c4a3bfe 100644 --- a/recipes/wine +++ b/recipes/wine @@ -35,7 +35,7 @@ configure() { --without-xcomposite \ --without-xinerama \ --with-x \ - --with-wine-tools="${base_dir}/host-builds/wine/" + --with-wine-tools="${base_dir}/build-${JINX_ARCH}/host-builds/wine/" } build() { diff --git a/recipes/xorg-server b/recipes/xorg-server index a3add5a6..b8196c09 100644 --- a/recipes/xorg-server +++ b/recipes/xorg-server @@ -6,7 +6,7 @@ hostdeps="xgcc xbinutils pkgconfig autoconf automake libtool pkgconfig util-macr deps="base libxcvt pixman xorgproto xtrans xkbfile libxfont2 fontutil libgcrypt freetype xkeyboardconfig xkbcomp libxi libxrender libxcb libxext pixman libxdamage" configure() { - ${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 + ${source_dir}/configure --prefix=/usr --localstatedir=/var --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 } build() { diff --git a/source-recipes/autoconf b/source-recipes/autoconf index 93357640..1d128410 100644 --- a/source-recipes/autoconf +++ b/source-recipes/autoconf @@ -1,7 +1,7 @@ name=autoconf version=2.69 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/autoconf/autoconf-${version}.tar.xz" +tarball_url="https://ftpmirror.gnu.org/gnu/autoconf/autoconf-${version}.tar.xz" tarball_sha512="995d3e5a8eb1eb37e2b7fae53c6ec7a9b4df997286b7d643344818f94636756b1bf5ff5ea9155e755cb9461149a853dfbf2886fc6bd7132e5afa9c168e306e9b" prepare() { diff --git a/source-recipes/autoconf-archive b/source-recipes/autoconf-archive index 1da152ee..68cb05b3 100644 --- a/source-recipes/autoconf-archive +++ b/source-recipes/autoconf-archive @@ -1,7 +1,7 @@ name=autoconf-archive version=2022.09.03 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/autoconf-archive/autoconf-archive-${version}.tar.xz" +tarball_url="https://ftpmirror.gnu.org/gnu/autoconf-archive/autoconf-archive-${version}.tar.xz" tarball_sha512="157b5b6a979d5ec5bfab6ddf34422da620fec1e95f4c901821abbb7361544af77747b4a449029b84750d75679d6130a591e98da8772de2c121ecdea163f0340b" prepare() { diff --git a/source-recipes/automake b/source-recipes/automake index ffcadd13..46a2dafe 100644 --- a/source-recipes/automake +++ b/source-recipes/automake @@ -1,7 +1,7 @@ name=automake version=1.15.1 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/automake/automake-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/automake/automake-${version}.tar.gz" tarball_sha512="f0d4717ebe2c76cec5d487de090f6e1c0f784b0d382fd964ffa846287e2a364a52531a26ab98b7033ac04ed302a247b3b114299def54819a03439bfc962ff61b" prepare() { diff --git a/source-recipes/bash b/source-recipes/bash index 3dd5b049..2be96c6a 100644 --- a/source-recipes/bash +++ b/source-recipes/bash @@ -1,7 +1,7 @@ name=bash version=5.1 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/bash/bash-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/bash/bash-${version}.tar.gz" tarball_sha512=c44a0ce381469219548a3a27589af3fea4f22eda1ca4e9434b59fc16da81b471c29ce18e31590e0860a6a251a664b68c2b45e3a17d22cfc02799ffd9a208390c prepare() { diff --git a/source-recipes/brogue b/source-recipes/brogue new file mode 100644 index 00000000..b01d1d6f --- /dev/null +++ b/source-recipes/brogue @@ -0,0 +1,9 @@ +name=brogue +version=1.14.1 +source_method=tarball +tarball_url="https://github.com/tmewett/BrogueCE/archive/refs/tags/v${version}.tar.gz" +tarball_sha512=7af6cc97e3903fd4985051aaf7ec425e4751489ac6a0d83b12822edf74d6440b17720f6d0e145cac9d19400a3f70911ee0af9bcaaf754cdc55d287bd9fa934f6 + +prepare() { + true +} diff --git a/source-recipes/coreutils b/source-recipes/coreutils index d4221cd4..6c7ee74b 100644 --- a/source-recipes/coreutils +++ b/source-recipes/coreutils @@ -1,7 +1,7 @@ name=coreutils version=9.1 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/coreutils/coreutils-${version}.tar.xz" +tarball_url="https://ftpmirror.gnu.org/gnu/coreutils/coreutils-${version}.tar.xz" tarball_sha512=a6ee2c549140b189e8c1b35e119d4289ec27244ec0ed9da0ac55202f365a7e33778b1dc7c4e64d1669599ff81a8297fe4f5adbcc8a3a2f75c919a43cd4b9bdfa hostdeps="autoconf automake pkgconfig libtool" prepare() { diff --git a/source-recipes/diffutils b/source-recipes/diffutils index 7dad0c10..b856475b 100644 --- a/source-recipes/diffutils +++ b/source-recipes/diffutils @@ -1,7 +1,7 @@ name=diffutils version=3.9 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/diffutils/diffutils-${version}.tar.xz" +tarball_url="https://ftpmirror.gnu.org/gnu/diffutils/diffutils-${version}.tar.xz" tarball_sha512="d43280cb1cb2615a8867d971467eb9a3fa037fe9a411028068036f733dab42b10d42767093cea4de71e62b2659a3ec73bd7d1a8f251befd49587e32802682d0f" hostdeps="autoconf automake pkgconfig libtool" prepare() { diff --git a/source-recipes/findutils b/source-recipes/findutils index 2d893cb8..b7ec9876 100644 --- a/source-recipes/findutils +++ b/source-recipes/findutils @@ -1,7 +1,7 @@ name=findutils version=4.9.0 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/findutils/findutils-${version}.tar.xz" +tarball_url="https://ftpmirror.gnu.org/gnu/findutils/findutils-${version}.tar.xz" tarball_sha512="ba4844f4403de0148ad14b46a3dbefd5a721f6257c864bf41a6789b11705408524751c627420b15a52af95564d8e5b52f0978474f640a62ab86a41d20cf14be9" hostdeps="autoconf automake pkgconfig libtool" prepare() { diff --git a/source-recipes/gawk b/source-recipes/gawk index a5f61463..c55cecc6 100644 --- a/source-recipes/gawk +++ b/source-recipes/gawk @@ -1,7 +1,7 @@ name=gawk version=5.2.2 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/gawk/gawk-${version}.tar.xz" +tarball_url="https://ftpmirror.gnu.org/gnu/gawk/gawk-${version}.tar.xz" tarball_sha512="90611e4daba7226d5ce8230843bf479dc71c0101740c005d851ef7c5b935b6cd4c42089b858abc1619adc05ed25fc7234f993690a76d2ea0b8e61bcbb7dc5a58" hostdeps="autoconf automake pkgconfig libtool" prepare() { diff --git a/source-recipes/gcc b/source-recipes/gcc index af27cd57..7474431a 100644 --- a/source-recipes/gcc +++ b/source-recipes/gcc @@ -1,7 +1,7 @@ name=gcc version=12.1.0 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/gcc/gcc-${version}/gcc-${version}.tar.xz" +tarball_url="https://ftpmirror.gnu.org/gnu/gcc/gcc-${version}/gcc-${version}.tar.xz" tarball_sha512="2121d295292814a6761edf1fba08c5f633ebe16f52b80e7b73a91050e71e1d2ed98bf17eebad263e191879561c02b48906c53faa4c4670c486a26fc75df23900" hostdeps="automake autoconf" diff --git a/source-recipes/gettext b/source-recipes/gettext index 88187630..680beff4 100644 --- a/source-recipes/gettext +++ b/source-recipes/gettext @@ -1,15 +1,16 @@ name=gettext version=0.22.5 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/gettext/gettext-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/gettext/gettext-${version}.tar.gz" tarball_sha512=d8b22d7fba10052a2045f477f0a5b684d932513bdb3b295c22fbd9dfc2a9d8fccd9aefd90692136c62897149aa2f7d1145ce6618aa1f0be787cb88eba5bc09be hostdeps="autoconf automake libtool pkgconfig" prepare() { - ( cd gettext-runtime/libasprintf && autoreconf -fvi ) - ( cd gettext-runtime/intl && autoreconf -fvi ) - ( cd gettext-runtime && autoreconf -fvi ) - ( cd gettext-tools && autoreconf -fvi ) - ( cd libtextstyle && autoreconf -fvi ) + ( cd gettext-runtime/libasprintf && autoreconf -fvi && libtoolize -f) + ( cd gettext-runtime/intl && autoreconf -fvi && libtoolize -f) + ( cd gettext-runtime && autoreconf -fvi && libtoolize -f) + ( cd gettext-tools && autoreconf -fvi && libtoolize -f) + ( cd libtextstyle && autoreconf -fvi && libtoolize -f) autoreconf -fvi + libtoolize -f } diff --git a/source-recipes/grep b/source-recipes/grep index 9b3f60fd..a176172d 100644 --- a/source-recipes/grep +++ b/source-recipes/grep @@ -1,7 +1,7 @@ name=grep version=3.11 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/grep/grep-${version}.tar.xz" +tarball_url="https://ftpmirror.gnu.org/gnu/grep/grep-${version}.tar.xz" tarball_sha512="f254a1905a08c8173e12fbdd4fd8baed9a200217fba9d7641f0d78e4e002c1f2a621152d67027d9b25f0bb2430898f5233dc70909d8464fd13d7dd9298e65c42" hostdeps="autoconf automake pkgconfig libtool" prepare() { diff --git a/source-recipes/gzip b/source-recipes/gzip index 19ce8a1a..147a9798 100644 --- a/source-recipes/gzip +++ b/source-recipes/gzip @@ -1,7 +1,7 @@ name=gzip version=1.13 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/gzip/gzip-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/gzip/gzip-${version}.tar.gz" tarball_sha512=8d78cea6770bf53c744ee1f6435af96921883b5910d14a10ced695279ad057f316de7228ad45ad4294fdd4dd0dacf86576094d11731c4d64cbafef00bc49a5a1 hostdeps="autoconf automake pkgconfig libtool" diff --git a/source-recipes/libiconv b/source-recipes/libiconv index 51134931..f49927f1 100644 --- a/source-recipes/libiconv +++ b/source-recipes/libiconv @@ -1,7 +1,7 @@ name=libiconv version=1.17 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/libiconv/libiconv-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/libiconv/libiconv-${version}.tar.gz" tarball_sha512=18a09de2d026da4f2d8b858517b0f26d853b21179cf4fa9a41070b2d140030ad9525637dc4f34fc7f27abca8acdc84c6751dfb1d426e78bf92af4040603ced86 hostdeps="autoconf automake libtool pkgconfig" diff --git a/source-recipes/libtool b/source-recipes/libtool index 13306d72..c166e334 100644 --- a/source-recipes/libtool +++ b/source-recipes/libtool @@ -1,17 +1,18 @@ name=libtool -version=2.4.7 +version=2.5.4 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/libtool/libtool-${version}.tar.gz" -tarball_sha512="27acef46d9eb67203d708b57d80b853f76fa4b9c2720ff36ec161e6cdf702249e7982214ddf60bae75511aa79bc7d92aa27e3eab7ef9c0f5c040e8e42e76a385" +tarball_url="https://ftpmirror.gnu.org/gnu/libtool/libtool-${version}.tar.gz" +tarball_sha512="60599f5c3168a287fe3a35062fd2e32e0b73433fce820bfd18d28b0e3bd7a8fefde6d6f0505fbbc2d664119ab7c539269184993843289932c895847ea1ab9f04" hostdeps="autoconf automake" imagedeps="build-essential help2man wget git" allow_network="yes" prepare() { - git clone https://git.savannah.gnu.org/git/gnulib.git - cd gnulib - git checkout 4b17a1ae49e69df1ac5dc35a4f60b20ab958baf2 - rm -rf .git - cd .. - ./bootstrap --force --skip-git --skip-po --gnulib-srcdir=gnulib + #git clone https://git.savannah.gnu.org/git/gnulib.git + #cd gnulib + #git checkout 4b17a1ae49e69df1ac5dc35a4f60b20ab958baf2 + #rm -rf .git + #cd .. + #./bootstrap --force --skip-git --skip-po --gnulib-srcdir=gnulib + true } diff --git a/source-recipes/mpc b/source-recipes/mpc index d183cdc1..c84986cf 100644 --- a/source-recipes/mpc +++ b/source-recipes/mpc @@ -1,7 +1,7 @@ name=mpc version=1.2.1 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/mpc/mpc-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/mpc/mpc-${version}.tar.gz" tarball_sha512=3279f813ab37f47fdcc800e4ac5f306417d07f539593ca715876e43e04896e1d5bceccfb288ef2908a3f24b760747d0dbd0392a24b9b341bc3e12082e5c836ee hostdeps="autoconf automake libtool pkgconfig" diff --git a/source-recipes/nano b/source-recipes/nano index d2e62040..6eca36ac 100644 --- a/source-recipes/nano +++ b/source-recipes/nano @@ -1,7 +1,7 @@ name=nano version=6.4 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/nano/nano-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/nano/nano-${version}.tar.gz" tarball_sha512=340317fa2e068c5b10ea40c30298e972b406c5b81a987ec0a1fea73a516a09b02b6dcf96ed503236710a04889860369de5c462d555aaa9dbba9ff3a3735fde35 hostdeps="autoconf automake libtool pkgconfig" diff --git a/source-recipes/ncurses b/source-recipes/ncurses index dacae917..418b0f0a 100644 --- a/source-recipes/ncurses +++ b/source-recipes/ncurses @@ -1,7 +1,7 @@ name=ncurses version=6.3 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/ncurses/ncurses-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/ncurses/ncurses-${version}.tar.gz" tarball_sha512=5373f228cba6b7869210384a607a2d7faecfcbfef6dbfcd7c513f4e84fbd8bcad53ac7db2e7e84b95582248c1039dcfc7c4db205a618f7da22a166db482f0105 prepare() { diff --git a/source-recipes/readline b/source-recipes/readline index 3a5b1bfa..13b50747 100644 --- a/source-recipes/readline +++ b/source-recipes/readline @@ -1,7 +1,7 @@ name=readline version=8.2 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/readline/readline-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/readline/readline-${version}.tar.gz" tarball_sha512=0a451d459146bfdeecc9cdd94bda6a6416d3e93abd80885a40b334312f16eb890f8618a27ca26868cebbddf1224983e631b1cbc002c1a4d1cd0d65fba9fea49a prepare() { diff --git a/source-recipes/sed b/source-recipes/sed index f9f45aa9..4b48bfaa 100644 --- a/source-recipes/sed +++ b/source-recipes/sed @@ -1,7 +1,7 @@ name=sed version=4.9 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/sed/sed-${version}.tar.xz" +tarball_url="https://ftpmirror.gnu.org/gnu/sed/sed-${version}.tar.xz" tarball_sha512="36157a4b4a2430cf421b7bd07f1675d680d9f1616be96cf6ad6ee74a9ec0fe695f8d0b1e1f0b008bbb33cc7fcde5e1c456359bbbc63f8aebdd4fedc3982cf6dc" hostdeps="autoconf automake pkgconfig libtool" prepare() { diff --git a/source-recipes/tar b/source-recipes/tar index 4d0b5b8d..4b9822ae 100644 --- a/source-recipes/tar +++ b/source-recipes/tar @@ -1,7 +1,7 @@ name=tar version=1.35 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/tar/tar-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/tar/tar-${version}.tar.gz" tarball_sha512=38dca8fbc193859770902c31aa6a6cf7a8fcd28687792b5aa8ba938bf39ce1e25c1b0de05f2a982b7b371eeb13502eb67cd27428ae1ade439bd6771aa9d05271 prepare() { diff --git a/source-recipes/wget b/source-recipes/wget index e4e75d2d..4cf05f56 100644 --- a/source-recipes/wget +++ b/source-recipes/wget @@ -1,7 +1,7 @@ name=wget version=1.24.5 source_method=tarball -tarball_url="https://ftp.gnu.org/gnu/wget/wget-${version}.tar.gz" +tarball_url="https://ftpmirror.gnu.org/gnu/wget/wget-${version}.tar.gz" tarball_sha512="572aa54717e51a9eb9959e127c7afb696645088f32ff7df2cfe9d243957e34ee235e98988fa94649df023d2e3d62b6973e8c9f2eb92beba820dd96d5de2a950d" hostdeps="autoconf automake pkgconfig libtool autoconf-archive" prepare() {