diff --git a/Makefile b/Makefile index 98e0916..73ee3e8 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,3 @@ -.SILENT: build install test-r6rs test-r6rs-docker test-r7rs test-r7rs-docker clean -.PHONY: test-r6rs test-r7rs example.scm example.sps SCHEME=chibi RNRS=r7rs LIBRARY=system @@ -23,9 +21,9 @@ endif all: build build: retropikzel/${LIBRARY}/LICENSE retropikzel/${LIBRARY}/VERSION - @rm -rf *.tgz - @echo "
$$(cat retropikzel/${LIBRARY}/README.md)
" > ${README} - @snow-chibi package --version=${VERSION} --authors=${AUTHOR} --doc=${README} --description="${DESCRIPTION}" ${LIBRARY_FILE} + rm -rf *.tgz + echo "
$$(cat retropikzel/${LIBRARY}/README.md)
" > ${README} + snow-chibi package --version=${VERSION} --authors=${AUTHOR} --doc=${README} --description="${DESCRIPTION}" ${LIBRARY_FILE} install: snow-chibi install --impls=${SCHEME} ${SNOW_CHIBI_ARGS} ${PKG} @@ -34,22 +32,22 @@ uninstall: -snow-chibi remove --impls=${SCHEME} ${PKG} init-venv: build - @rm -rf venv - @scheme-venv ${SCHEME} ${RNRS} venv - @echo "(import (scheme base) (scheme write) (scheme read) (scheme char) (scheme file) (scheme process-context) (srfi 64) (retropikzel ${LIBRARY}))" > venv/test.scm - @printf "#!r6rs\n(import (rnrs) (srfi :64) (retropikzel ${LIBRARY}))" > venv/test.sps - @cat ${TESTFILE} >> venv/test.scm - @cat ${TESTFILE} >> venv/test.sps - @if [ "${RNRS}" = "r6rs" ]; then if [ -d ../foreign-c ]; then cp -r ../foreign-c/foreign venv/lib/; fi; fi - @if [ "${RNRS}" = "r6rs" ]; then cp -r retropikzel venv/lib/; fi - @if [ "${SCHEME}" = "chezs" ]; then ./venv/bin/akku install akku-r7rs chez-srfi; fi - @if [ "${SCHEME}" = "ikarus" ]; then ./venv/bin/akku install akku-r7rs chez-srfi; fi - @if [ "${SCHEME}" = "ironscheme" ]; then ./venv/bin/akku install akku-r7rs chez-srfi; fi - @if [ "${SCHEME}" = "racket" ]; then ./venv/bin/akku install akku-r7rs chez-srfi; fi - @if [ "${RNRS}" = "r6rs" ]; then ./venv/bin/akku install; fi - @if [ "${SCHEME}" = "chicken" ]; then ./venv/bin/snow-chibi install --always-yes srfi.64; fi - @if [ "${SCHEME}-${RNRS}" = "mosh-r7rs" ]; then ./venv/bin/snow-chibi install --always-yes srfi.64; fi - @if [ "${RNRS}" = "r7rs" ]; then ./venv/bin/snow-chibi install ${PKG}; fi + rm -rf venv + scheme-venv ${SCHEME} ${RNRS} venv + echo "(import (scheme base) (scheme write) (scheme read) (scheme char) (scheme file) (scheme process-context) (srfi 64) (retropikzel ${LIBRARY}))" > venv/test.scm + printf "#!r6rs\n(import (rnrs) (srfi :64) (retropikzel ${LIBRARY}))" > venv/test.sps + cat ${TESTFILE} >> venv/test.scm + cat ${TESTFILE} >> venv/test.sps + if [ "${RNRS}" = "r6rs" ]; then if [ -d ../foreign-c ]; then cp -r ../foreign-c/foreign venv/lib/; fi; fi + if [ "${RNRS}" = "r6rs" ]; then cp -r retropikzel venv/lib/; fi + if [ "${SCHEME}" = "chezs" ]; then ./venv/bin/akku install akku-r7rs chez-srfi; fi + if [ "${SCHEME}" = "ikarus" ]; then ./venv/bin/akku install akku-r7rs chez-srfi; fi + if [ "${SCHEME}" = "ironscheme" ]; then ./venv/bin/akku install akku-r7rs chez-srfi; fi + if [ "${SCHEME}" = "racket" ]; then ./venv/bin/akku install akku-r7rs chez-srfi; fi + if [ "${RNRS}" = "r6rs" ]; then ./venv/bin/akku install; fi + if [ "${SCHEME}" = "chicken" ]; then ./venv/bin/snow-chibi install --always-yes srfi.64; fi + if [ "${SCHEME}-${RNRS}" = "mosh-r7rs" ]; then ./venv/bin/snow-chibi install --always-yes srfi.64; fi + if [ "${RNRS}" = "r7rs" ]; then ./venv/bin/snow-chibi install ${PKG}; fi run-test: init-venv if [ "${RNRS}" = "r6rs" ]; then ./venv/bin/scheme-compile venv/test.sps; fi diff --git a/retropikzel/system.scm b/retropikzel/system.scm index 04644ec..c6ca52b 100644 --- a/retropikzel/system.scm +++ b/retropikzel/system.scm @@ -1,8 +1,8 @@ -(define-c-library libc '("stdlib.h") libc-name '((additional-versions ("6")))) +(define-c-library libc '("stdlib.h") #f '()) (define-c-procedure c-system libc 'system 'int '(pointer)) (define (system command) - (let* ((command-pointer (string->c-utf8 command)) + (let* ((command-pointer (string->c-bytevector command)) (result (c-system command-pointer))) - (c-free command-pointer) + (c-bytevector-free command-pointer) result)) diff --git a/retropikzel/system/VERSION b/retropikzel/system/VERSION index 781dcb0..65087b4 100644 --- a/retropikzel/system/VERSION +++ b/retropikzel/system/VERSION @@ -1 +1 @@ -1.1.3 +1.1.4