gnu: add plan9port

  • Done
  • quality assurance status badge
Details
2 participants
  • Hilton Chain
  • ??
Owner
unassigned
Submitted by
??
Severity
normal
?
(address . guix-patches@gnu.org)
CAGNyveh9oV=6Y4aaVY6ZvL_8T-DJNpfzPN=MJ0z_Qkh5=4_BnA@mail.gmail.com

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
---
gnu/packages/aux-files/plan9port/builder.sh | 73 +++++++++++++++++++++
1 file changed, 73 insertions(+)
create mode 100755 gnu/packages/aux-files/plan9port/builder.sh

Toggle diff (81 lines)
diff --git a/gnu/packages/aux-files/plan9port/builder.sh b/gnu/packages/aux-files/plan9port/builder.sh
new file mode 100755
index 0000000000..fd30cafda6
--- /dev/null
+++ b/gnu/packages/aux-files/plan9port/builder.sh
@@ -0,0 +1,73 @@
+# bash shell script
+# from nixpkgs: https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/system/plan9port/builder.sh
+
+export PLAN9=$out/plan9
+export PLAN9_TARGET=$PLAN9
+
+plan9portLinkFlags()
+{
+ eval set -- "$LDFLAGS"
+ local flag
+ for flag in "$@"; do
+ printf ' -Wl,%s' "$flag"
+ done
+}
+
+configurePhase()
+{
+ (
+ echo CC9=\"$(command -v $CC)\"
+ echo CFLAGS=\"$CFLAGS\"
+ echo LDFLAGS=\"$(plan9portLinkFlags)\"
+ echo X11=\"$libxt/include\"
+ case "$system" in
+ x86_64-linux) echo OBJTYPE=x86_64;;
+ i?86-linux) echo OBJTYPE=386;;
+ power-linux) echo OBJTYPE=power;;
+ sparc-linux) echo OBJTYPE=sparc;;
+ esac
+ if [[ $system =~ "linux" ]]; then
+ echo SYSVERSION=2.6.x
+ fi
+ ) >config
+
+ for f in `grep -l -r /usr/local/plan9`; do
+ sed "s,/usr/local/plan9,${PLAN9},g" -i $f
+ done
+}
+
+buildPhase()
+{
+ mkdir -p $PLAN9
+
+ # Copy sources, some necessary bin scripts
+ cp -R * $PLAN9
+
+ local originalPath="$PATH"
+ export PATH="$PLAN9/bin:$PATH"
+ pushd src
+ ../dist/buildmk
+ mk clean
+ mk libs-nuke
+ mk all
+ mk -k install
+ if [[ -f $PLAN9/bin/quote1 ]]; then
+ cp $PLAN9/bin/quote1 $PLAN9/bin/'"'
+ cp $PLAN9/bin/quote2 $PLAN9/bin/'""'
+ fi
+ popd
+ export PATH="$originalPath"
+}
+
+installPhase()
+{
+ # Copy the `9' utility. This way you can use
+ # $ 9 awk
+ # to use the plan 9 awk
+ mkdir $out/bin
+ ln -s $PLAN9/bin/9 $out/bin
+}
+
+configurePhase
+buildPhase
+installPhase
--
2.34.0
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(+)

Toggle diff (86 lines)
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
H
H
Hilton Chain wrote on 20 Aug 2023 07:02
(name . ??)(address . luhux76@gmail.com)(address . 54467-close@debbugs.gnu.org)
87cyzis3v0.wl-hako@ultrarare.space
Hello,
On Sun, 20 Mar 2022 00:47:15 +0800,
?? wrote:
Toggle quote (8 lines)
>
> 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
> ---
[...]
Toggle quote (7 lines)
> 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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 54467@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 54467
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch