Subject: bug#26899: bbs100

From: ng0 <[email-masked]>
Date: Fri, 12 May 2017 17:56:24 +0000

ng0 transcribed 4.3K bytes:
> This adds bbs100. For possible past reviews search the [email-masked] archive.
> -- 
> https://pragmatique.xyz
> PGP: https://people.pragmatique.xyz/ng0/

> From 09746bd8021235c7c27bae10b4574011ea4e7f2b Mon Sep 17 00:00:00 2001
> From: ng0 <[email-masked]>
> Date: Sat, 17 Sep 2016 00:37:52 +0000
> Subject: [PATCH] gnu: Add bbs100.
> 
> * gnu/packages/bbs.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add bbs.scm.
> ---
>  gnu/local.mk         |  1 +
>  gnu/packages/bbs.scm | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 76 insertions(+)
>  create mode 100644 gnu/packages/bbs.scm
> 
> diff --git a/gnu/local.mk b/gnu/local.mk
> index 8599e6d3a..e75058d29 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -63,6 +63,7 @@ GNU_SYSTEM_MODULES =				\
>    %D%/packages/backup.scm			\
>    %D%/packages/base.scm				\
>    %D%/packages/bash.scm				\
> +  %D%/packages/bbs.scm                          \
>    %D%/packages/bdw-gc.scm			\
>    %D%/packages/benchmark.scm			\
>    %D%/packages/bioinformatics.scm		\
> diff --git a/gnu/packages/bbs.scm b/gnu/packages/bbs.scm
> new file mode 100644
> index 000000000..894c64721
> --- /dev/null
> +++ b/gnu/packages/bbs.scm
> @@ -0,0 +1,75 @@
> +;;; GNU Guix --- Functional package management for GNU
> +;;; Copyright © 2017 ng0 <[email-masked]>
> +;;;
> +;;; This file is part of GNU Guix.
> +;;;
> +;;; GNU Guix 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 (at
> +;;; your option) any later version.
> +;;;
> +;;; GNU Guix is distributed in the hope that it will be useful, but
> +;;; WITHOUT ANY WARRANTY; without even the implied warranty of
> +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +;;; GNU General Public License for more details.
> +;;;
> +;;; You should have received a copy of the GNU General Public License
> +;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
> +
> +(define-module (gnu packages bbs)
> +  #:use-module (gnu packages)
> +  #:use-module (gnu packages admin)
> +  #:use-module (gnu packages base)
> +  #:use-module (gnu packages perl)
> +  #:use-module ((guix licenses) #:prefix license:)
> +  #:use-module (guix packages)
> +  #:use-module (guix download)
> +  #:use-module (guix build-system gnu))
> +
> +(define-public bbs100
> +  (package
> +   (name "bbs100")
> +   (version "3.3.1")
> +   (source (origin
> +            (method url-fetch)
> +            (uri (string-append "http://www.heiho.net/bbs100/"
> +                                name "-" version ".tar.gz"))
> +            (sha256
> +             (base32
> +              "1wjqyxw5wpxgzwx83vx2c56v0jjq62bsj1xn4livm0crjbi4mdqb"))))
> +   (build-system gnu-build-system)
> +   (arguments
> +    `(#:test-target "test"
> +      #:parallel-build? #f
> +      #:phases
> +      ;; FIXME: the install phase creates a symlink 'bin' to 'bin-3.3.1'.
> +      ;; FIXME: the log directory is hardcoded without prefix.

It is my understanding that we need a service to run bbs100 anyway to see if it run.
It builds and make checks alright.

> +      (modify-phases %standard-phases
> +        (add-before 'configure 'patch-param-file
> +          (lambda _
> +            (substitute* "etc/param"
> +              (("/usr/share/zoneinfo/") "")
> +              (("^zoneinfodir")
> +               (string-append "zoneinfodir "
> +                              (assoc-ref %build-inputs "tzdata")
> +                              "/share/zoneinfo")))
> +            #t))
> +        (add-before 'configure 'chdir
> +          (lambda _
> +            (chdir "src")
> +            #t)))))
> +   (inputs
> +    `(("perl" ,perl)))
> +   (native-inputs
> +    `(("tzdata" ,tzdata)
> +      ("inetutils" ,inetutils)))
> +   (home-page "http://www.heiho.net/bbs100/")
> +   (synopsis "DOC style telnet BBS")
> +   (description
> +    "@code{bbs100} is a @dfn{Bulletin Board System} (BBS) in the style of
> +DOC (which remotely resembles @code{Citadel}).
> +It is a single process daemon that handles all connections at once, while
> +consuming very low cpu resources (< 1%).  Bbs100 can handle over a thousand
> +simultaneous users, is highly customizable, easy to setup, and has
> +many configurable features.")
> +   (license license:gpl2+)))
> -- 
> 2.12.2
> 

-- 
https://pragmatique.xyz
PGP: https://people.pragmatique.xyz/ng0/