From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Darrington Subject: [PATCH] gnu: Add cssc. Date: Tue, 27 May 2014 21:41:43 +0200 Message-ID: <1401219703-29822-1-git-send-email-jmd@gnu.org> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:59096) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WpNGF-0007t3-3s for guix-devel@gnu.org; Tue, 27 May 2014 15:42:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WpNG9-0001Sg-Rm for guix-devel@gnu.org; Tue, 27 May 2014 15:42:11 -0400 List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Cc: John Darrington * gnu/packages/version-control.scm (cssc): New variable. * gnu/packages/patches/cssc-gets-undeclared.patch: New file * gnu/packages/patches/cssc-missing-include.patch: New file --- gnu/packages/patches/cssc-gets-undeclared.patch | 15 ++++++++ gnu/packages/patches/cssc-missing-include.patch | 10 +++++ gnu/packages/version-control.scm | 47 ++++++++++++++++++++++- 3 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/cssc-gets-undeclared.patch create mode 100644 gnu/packages/patches/cssc-missing-include.patch diff --git a/gnu/packages/patches/cssc-gets-undeclared.patch b/gnu/packages/patches/cssc-gets-undeclared.patch new file mode 100644 index 0000000..b1adf87 --- /dev/null +++ b/gnu/packages/patches/cssc-gets-undeclared.patch @@ -0,0 +1,15 @@ +--- CSSC-1.3.0/gl/lib/stdio.in.h 2010-05-15 00:15:35.000000000 +0200 ++++ CSSC-1.3.0/gl/lib/stdio.in.h 2014-02-03 21:27:10.000000000 +0100 +@@ -135,12 +135,6 @@ + "use gnulib module fflush for portable POSIX compliance"); + #endif + +-/* It is very rare that the developer ever has full control of stdin, +- so any use of gets warrants an unconditional warning. Assume it is +- always declared, since it is required by C89. */ +-#undef gets +-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); +- + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/gnu/packages/patches/cssc-missing-include.patch b/gnu/packages/patches/cssc-missing-include.patch new file mode 100644 index 0000000..cb50947 --- /dev/null +++ b/gnu/packages/patches/cssc-missing-include.patch @@ -0,0 +1,10 @@ +--- CSSC-1.3.0/src/file.h 2010-05-16 19:31:33.000000000 +0200 ++++ CSSC-1.3.0/src/file.h 2014-02-03 21:48:30.000000000 +0100 +@@ -30,6 +30,7 @@ + #ifndef CSSC__FILE_H__ + #define CSSC__FILE_H__ + ++#include + #include "filelock.h" + + enum create_mode { diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index ed7d6f6..5b37310 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -44,7 +44,8 @@ #:use-module (gnu packages emacs) #:use-module (gnu packages compression) #:use-module (gnu packages swig) - #:use-module (gnu packages tcl)) + #:use-module (gnu packages tcl) + #:use-module (gnu packages)) (define-public bazaar (package @@ -435,3 +436,47 @@ standards-compliant ChangeLog entries based on the changes that it detects.") insertions, deletions, and modifications per-file. It is useful for reviewing large, complex patch files.") (license (x11-style "file://COPYING")))) + + +(define-public cssc + (package + (name "cssc") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/" name "/CSSC-" + version ".tar.gz")) + (sha256 + (base32 + "0bkw6fjh20ppvn54smv05461lm1vcwvn02avx941c4acafmkl1cm")) + (patches (list (search-patch "cssc-gets-undeclared.patch") + (search-patch "cssc-missing-include.patch"))))) + (build-system gnu-build-system) + (arguments + `(#:phases (alist-cons-before + 'check 'precheck + (lambda _ + (begin + (substitute* "tests/common/test-common" + (("/bin/pwd") (which "pwd"))) + + (substitute* "tests/prt/all-512.sh" + (("/bin/sh") (which "sh"))) + + ;; This test has no hope of passing until there is a "nogroup" + ;; entry (or at least some group to which the guix builder does + ;; not belong) in the /etc/group file of the build environment. + ;; Currently we do not have such a group. This test is therefore + ;; destined to fail. + (substitute* "tests/Makefile" + (("test-delta ") "")))) + %standard-phases))) + ;; These are needed for the tests + (native-inputs `(("git" ,git) + ("cvs" ,cvs))) + (home-page "http://www.gnu.org/software/cssc/") + (synopsis "File-based version control like SCCS") + (description "GNU CSSC provides a replacement for the legacy Unix source +code control system SCCS. This allows old code still under that system to be +accessed and migrated on modern systems.") + (license gpl3+))) -- 1.7.10.4