From 29cc07ed51912d52dee7bc7c9b37c783780e64db Mon Sep 17 00:00:00 2001 From: Vic Nightfall Date: Fri, 17 Nov 2023 17:45:57 +0100 Subject: [PATCH 1/4] Update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ffe26d3b..d0e007e9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Princess + + +# Princess ![Build Status](https://github.com/Princess-org/Princess/actions/workflows/build-and-test.yml/badge.svg) ![Build on Windows](https://github.com/Princess-org/Princess/actions/workflows/windows.yml/badge.svg) From 25168351cf0bf59647ad53ee0630dfe91f3c34f0 Mon Sep 17 00:00:00 2001 From: Vic Nightfall Date: Fri, 24 Nov 2023 11:31:08 +0100 Subject: [PATCH 2/4] Fix repl --- src/repl.pr | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/repl.pr b/src/repl.pr index 68ac9d7b..f5284d08 100644 --- a/src/repl.pr +++ b/src/repl.pr @@ -105,10 +105,10 @@ def read_input { while lines[line][column - 1] & 0b11000000 == 0b10000000 { column -= 1 - lines[line].remove(column) + lines[line] = lines[line].remove(column) } column -= 1 - lines[line].remove(column) + lines[line] = lines[line].remove(column) if column < lines[line].length { print("\x1B7") @@ -235,6 +235,7 @@ def read_input { } } history[history_item] = lines[line] + fflush(std::stdout()) } var br = false From ad55fc747d08da02b7a7b9f514804d318ae9a354 Mon Sep 17 00:00:00 2001 From: Vic Nightfall Date: Fri, 24 Nov 2023 11:36:09 +0100 Subject: [PATCH 3/4] Use python3 plain --- build.py | 2 +- include/gencstd.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.py b/build.py index 24134429..759e180c 100755 --- a/build.py +++ b/build.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3.9 +#!/usr/bin/python3 import json from os import system diff --git a/include/gencstd.py b/include/gencstd.py index ad64af71..cc4af772 100644 --- a/include/gencstd.py +++ b/include/gencstd.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3.9 +#!/usr/bin/python3 from abc import ABC, abstractmethod from dataclasses import dataclass @@ -665,4 +665,4 @@ def main(): process_module("windows", "User32.lib", "Kernel32.lib", "Dbghelp.lib") if __name__ == "__main__": - main() \ No newline at end of file + main() From 6e1e9e2e46cd4b703c41a012218cbec58a8de9c7 Mon Sep 17 00:00:00 2001 From: Vic Nightfall Date: Fri, 24 Nov 2023 12:03:10 +0100 Subject: [PATCH 4/4] Update README.md --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d0e007e9..3d5ae985 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,13 @@ https://princess.sh Site hosted by github-pages. Source over at https://github.com/Princess-org/Princess-org.github.io ## Build instructions -Note: The linux release does only work properly on Ubuntu 20.04 and derivatives, due to its dependencies. + +Note: The linux release does only work properly on Ubuntu 20.04 and derivatives, due to its dependencies. + +There is now a bootstrap compiler provided on the releases page. This compiler doesn't have any dependencies (except clang >= 13) and is statically linked using MUSL. +In order to use it you need to download the .tar.gz file, extract it and place `princess` in the bin directory. The other alternative is cloning the repo and doing the same there. + +Building the bootstrap compiler is not very straight forward but will eventually be handled by the CI process. There is a native Windows version, but for working on the compiler it is recommended to use WSL in order to get a Linux environment. This is because the tests currently don't run on Windows since @@ -23,7 +29,6 @@ $ pip install -r requirements.txt In order to bootstrap the compiler simply run: ``` -$ ./build.py download $ ./build.py -p ```