diff mbox series

[bug#54467] gnu: add plan9port

Message ID CAGNyveh9oV=6Y4aaVY6ZvL_8T-DJNpfzPN=MJ0z_Qkh5=4_BnA@mail.gmail.com
State New
Headers show
Series [bug#54467] gnu: add plan9port | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job
cbaines/issue success View issue

Commit Message

路辉 March 19, 2022, 4:47 p.m. UTC

Comments

Hilton Chain Aug. 20, 2023, 5:02 a.m. UTC | #1
Hello,

On Sun, 20 Mar 2022 00:47:15 +0800,
路辉 wrote:
>
> From 5ebeaf63ab03a1c5201fb855ccc40de7ec25df17 Mon Sep 17 00:00:00 2001
> From: Lu Hui <luhux76@gmail.com>
> Date: Sun, 20 Mar 2022 00:17:40 +0800
> Subject: [PATCH 1/2] gnu: add script to build plan9port
>
> * gnu/packages/aux-files/plan9/builder.sh: configure & build & install plan9port
> ---
[...]
> From 6674eeadec48b44ab137ae7b874a254557c232dd Mon Sep 17 00:00:00 2001
> From: Lu Hui <luhux76@gmail.com>
> Date: Sun, 20 Mar 2022 00:20:01 +0800
> Subject: [PATCH 2/2] gnu: Add plan9port
>
> * gnu/packages/plan9.scm (plan9port) : New variable.
> ---

plan9port has been added in 0dc8d4f8f01461f5be375a3dcea94aeca27e3b83,
and the current package doesn't rely on an external builder.  So this
issue can be closed.

Thanks
diff mbox series

Patch

From 6674eeadec48b44ab137ae7b874a254557c232dd Mon Sep 17 00:00:00 2001
From: Lu Hui <luhux76@gmail.com>
Date: Sun, 20 Mar 2022 00:20:01 +0800
Subject: [PATCH 2/2] gnu: Add plan9port

* gnu/packages/plan9.scm (plan9port) : New variable.
---
 gnu/packages/plan9.scm | 59 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)

diff --git a/gnu/packages/plan9.scm b/gnu/packages/plan9.scm
index 73694c4ed3..5c4380e782 100644
--- a/gnu/packages/plan9.scm
+++ b/gnu/packages/plan9.scm
@@ -1,5 +1,6 @@ 
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2021 宋文武 <iyzsong@member.fsf.org>
+;;; Copyright © 2022 Lu Hui <luhux76@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -18,10 +19,16 @@ 
 
 (define-module (gnu packages plan9)
   #:use-module (guix build-system gnu)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module (guix utils)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages perl)
   #:use-module (gnu packages xorg))
 
 (define-public drawterm
@@ -63,3 +70,55 @@  (define-public drawterm
 Plan 9 systems.  It behaves like a Plan 9 kernel and will attempt to
 reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.")
       (license license:expat))))
+
+(define-public plan9port
+  (let ((revision "0") (commit "bab7b73b85f865d20a5c4f2d78ac9e81b3d39109"))
+    (package
+      (name "plan9port")
+      (version (git-version "20220124" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/9fans/plan9port")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "17h6xdij3h00j87lc94q887sq45540lcp9h3kbxwxisd020h1i3v"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:make-flags (list (string-append "CC="
+                                           ,(cc-for-target)))
+         #:tests?
+         #f ;no tests
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure) ;configure in install phase
+           (delete 'build) ;build in install phase
+           (replace 'install
+              ;configure & build & install
+             (lambda* (#:key outputs native-inputs inputs #:allow-other-keys)
+               (let* ((out (assoc-ref outputs "out")) (libxt (assoc-ref inputs
+                                                              "libxt"))
+                      (system ,(%current-system))
+                      (builder (assoc-ref inputs "builder.sh")))
+                 (copy-file builder "./builder.sh")
+                 (setenv "out" out)
+                 (setenv "libxt" libxt)
+                 (setenv "system" system)
+                 (invoke "bash" "builder.sh")))))))
+      (inputs `(("builder.sh" ,(search-auxiliary-file "plan9port/builder.sh"))
+                ("fontconfig" ,fontconfig)
+                ("freetype" ,freetype)
+                ("libx11" ,libx11)
+                ("libxt" ,libxt)
+                ("libxext" ,libxext)
+                ("xorgproto" ,xorgproto)))
+      (native-inputs `(("perl" ,perl) ("which" ,which)
+                       ("bash" ,bash)))
+      (synopsis "Plan 9 from User Space")
+      (home-page "https://9fans.github.io/plan9port/")
+      (description
+       "Plan 9 from User Space (aka plan9port) is a port of many Plan 9 programs
+ from their native Plan 9 environment to Unix-like operating systems.")
+      (license license:expat))))
-- 
2.34.0