windows includes angepasst
This commit is contained in:
		| @@ -1,10 +1,21 @@ | ||||
| #(define noStandaloneOutput (if (defined? 'noStandaloneOutput) noStandaloneOutput #f)) | ||||
|  | ||||
| #(define windows? (eq? "windows" (system-file-name-convention))) | ||||
|  | ||||
| #(if (defined? 'LAYOUT) #f | ||||
|   (let ((scmdir (string-append (dirname (current-filename)) file-name-separator-string "scm" file-name-separator-string))) | ||||
|     (load (string-append scmdir "json_parser.scm")) | ||||
|     (load (string-append scmdir "resolve_inherits.scm")) | ||||
|     (load (string-append scmdir "yaml_parser.scm")))) | ||||
|   (let ((scm-load (lambda (filename) (load ( | ||||
|     string-append | ||||
|       ; on windows the detection of absolute pathes is broken (cause they start with a drive letter and not with a /) | ||||
|       ; so we have to use relative pathes for load. That works in frescobaldi, but not if you call lilypond from command line, | ||||
|       ; with a relative path to the .ly file, so we use absolute pathes on posix systems, where it works. | ||||
|       (if windows? | ||||
|         "" | ||||
|         (string-append (dirname (current-filename)) file-name-separator-string)) | ||||
|       "scm" file-name-separator-string filename | ||||
|     ))))) | ||||
|     (scm-load "json_parser.scm") | ||||
|     (scm-load "resolve_inherits.scm") | ||||
|     (scm-load "yaml_parser.scm"))) | ||||
| #(define AUTHOR_DATA (if (defined? 'AUTHOR_DATA) AUTHOR_DATA (parse-yml-file "../../lilypond-song-includes/data/authors.yml"))) | ||||
| #(define SONG_DATA (if (defined? 'SONG_DATA) SONG_DATA (parse-yml-file "../../lilypond-song-includes/data/songs.yml"))) | ||||
|  | ||||
|   | ||||
| @@ -2,7 +2,9 @@ | ||||
|  | ||||
| (define (yml-file->scm filename) | ||||
|   (let* ((python_cmd (string-append "import sys, yaml, json; print(json.dumps(yaml.safe_load(open('" filename "'))))")) | ||||
|           (pipe (open-pipe* OPEN_READ "python3" "-c" python_cmd)) | ||||
|           ; WTF? On Windows there is "py" and we need to specify the encoding, on linux there is "python3" or "python" | ||||
|           ; but "python3" seems to work better. Be sure you have PyYAML installed. | ||||
|           (pipe (open-pipe* OPEN_READ (if windows? "py" "python3") "-X" "utf8" "-c" python_cmd)) | ||||
|           (json (get-string-all pipe))) | ||||
|     (close-pipe pipe) | ||||
|     (json-string->scm json))) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user