X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=guix.scm;h=6a9869905e03602080f4e1ac4e67512db952143a;hp=0ae9e4ba9e9507145deac5ba6299fa38a78c37f3;hb=5beae5b135265d5230f574325623cb787069a51e;hpb=8d1fcac812b4af33a6c936234ba613514d3a95dd diff --git a/guix.scm b/guix.scm index 0ae9e4b..6a98699 100644 --- a/guix.scm +++ b/guix.scm @@ -2,10 +2,6 @@ ;;; Copyright (C) 2016 Jan Nieuwenhuizen ;;; Copyright (C) 2017 Christopher Allan Webber ;;; -;;; Also borrowing code from: -;;; guile-sdl2 --- FFI bindings for SDL2 -;;; Copyright © 2015 David Thompson -;;; ;;; This program is free software: you can redistribute it and/or modify ;;; it under the terms of the GNU General Public License as published by ;;; the Free Software Foundation, either version 3 of the License, or @@ -55,58 +51,20 @@ (define %source-dir (dirname (current-filename))) -(define git-file? - (let* ((pipe (with-directory-excursion %source-dir - (open-pipe* OPEN_READ "git" "ls-files"))) - (files (let loop ((lines '())) - (match (read-line pipe) - ((? eof-object?) - (reverse lines)) - (line - (loop (cons line lines)))))) - (status (close-pipe pipe))) - (lambda (file stat) - (match (stat:type stat) - ('directory #t) - ((or 'regular 'symlink) - (any (cut string-suffix? <> file) files)) - (_ #f))))) - -(define guile-without-select-bug - (package - (inherit guile-next) - (version (package-version guile-next)) - (source (origin - (method url-fetch) - (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-" - version ".tar.xz")) - (sha256 - (base32 - "0r9y4hw17dlxahik4zsccfb2f3p2a07wqndfm251bgmam9hln6gi")) - (modules '((guix build utils))) - - ;; Remove the pre-built object files. Instead, build everything - ;; from source, at the expense of significantly longer build - ;; times (almost 3 hours on a 4-core Intel i5). - (snippet '(for-each delete-file - (find-files "prebuilt" "\\.go$"))) - - ;; Here's what we're adding - (patches (list (string-append %source-dir - "/build-aux/patch-guile-fix-live-repl.patch"))))))) - (package (name "guile-mudsync") (version "git") - (source (local-file %source-dir #:recursive? #t #:select? git-file?)) + (source (local-file %source-dir + #:recursive? #t + #:select? (git-predicate %source-dir))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("guile" ,guile-without-select-bug) - ("guile-8sync" ,guile-8sync) - ("guile-irregex" ,guile2.2-irregex) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) + (inputs `(("guile" ,guile-2.2) + ("guile-8sync" ,guile-8sync) + ("guile-irregex" ,guile2.2-irregex))) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'bootstrap @@ -118,6 +76,5 @@ (home-page "https://notabug.org/cwebber/mudsync/") (synopsis "Live hackable MUD system") (description - "GNU 8sync (pronounced \"eight-sync\") is an asynchronous programming -library for GNU Guile based on the actor model.") + "Mudsync is a live hackable MUD system built on top of GNU 8sync.") (license gpl3+))