X-Git-Url: https://jxself.org/git/?p=mudsync.git;a=blobdiff_plain;f=guix.scm;h=6a9869905e03602080f4e1ac4e67512db952143a;hp=8cb315c17bbf7f027fbe83703b0547dc3cf19104;hb=refs%2Fheads%2Fmaster;hpb=2cb0d7e771236309dcab8c5a4fe04b46f2929223 diff --git a/guix.scm b/guix.scm index 8cb315c..1cbe7a9 100644 --- a/guix.scm +++ b/guix.scm @@ -1,10 +1,6 @@ ;;; mudsync --- Live hackable MUDs in Guile ;;; 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 +;;; Copyright (C) 2017 Christine Lemmer-Webber ;;; ;;; 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 @@ -50,63 +46,26 @@ (gnu packages) (gnu packages autotools) (gnu packages guile) + (gnu packages guile-xyz) (gnu packages pkg-config) (gnu packages texinfo)) (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" ,guile-irregex) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) + (inputs `(("guile" ,guile-3.0) + ("guile-8sync" ,guile-8sync) + ("guile-irregex" ,guile-irregex))) (arguments `(#:phases (modify-phases %standard-phases (add-before 'configure 'bootstrap @@ -118,6 +77,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+))