gnu: Add cssc.
* 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-system.am: Add gnu/packages/patches/cssc-gets-undeclared.patch and gnu/packages/patches/cssc-missing-include.patch
This commit is contained in:
		
							parent
							
								
									93c3de921a
								
							
						
					
					
						commit
						25f76ef0ba
					
				
					 4 changed files with 76 additions and 1 deletions
				
			
		| 
						 | 
					@ -279,6 +279,8 @@ dist_patch_DATA =						\
 | 
				
			||||||
  gnu/packages/patches/coreutils-dummy-man.patch		\
 | 
					  gnu/packages/patches/coreutils-dummy-man.patch		\
 | 
				
			||||||
  gnu/packages/patches/coreutils-skip-nohup.patch		\
 | 
					  gnu/packages/patches/coreutils-skip-nohup.patch		\
 | 
				
			||||||
  gnu/packages/patches/cpio-gets-undeclared.patch		\
 | 
					  gnu/packages/patches/cpio-gets-undeclared.patch		\
 | 
				
			||||||
 | 
					  gnu/packages/patches/cssc-gets-undeclared.patch               \
 | 
				
			||||||
 | 
					  gnu/packages/patches/cssc-missing-include.patch               \
 | 
				
			||||||
  gnu/packages/patches/curl-fix-test172.patch			\
 | 
					  gnu/packages/patches/curl-fix-test172.patch			\
 | 
				
			||||||
  gnu/packages/patches/dbus-localstatedir.patch			\
 | 
					  gnu/packages/patches/dbus-localstatedir.patch			\
 | 
				
			||||||
  gnu/packages/patches/diffutils-gets-undeclared.patch		\
 | 
					  gnu/packages/patches/diffutils-gets-undeclared.patch		\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										17
									
								
								gnu/packages/patches/cssc-gets-undeclared.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								gnu/packages/patches/cssc-gets-undeclared.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,17 @@
 | 
				
			||||||
 | 
					CSSC uses a gets in a couple of places.  For security reasons, modern gnulib
 | 
				
			||||||
 | 
					does not allow this.  This patch allows it again.
 | 
				
			||||||
 | 
					--- 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)
 | 
				
			||||||
							
								
								
									
										12
									
								
								gnu/packages/patches/cssc-missing-include.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								gnu/packages/patches/cssc-missing-include.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					Added a missing include file (necessary for gid_t and others).
 | 
				
			||||||
 | 
					So far as I am aware, this has not been added upstream yet.
 | 
				
			||||||
 | 
					--- 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 <sys/types.h>
 | 
				
			||||||
 | 
					 #include "filelock.h"
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 enum create_mode {
 | 
				
			||||||
| 
						 | 
					@ -44,7 +44,8 @@
 | 
				
			||||||
  #:use-module (gnu packages emacs)
 | 
					  #:use-module (gnu packages emacs)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages swig)
 | 
					  #:use-module (gnu packages swig)
 | 
				
			||||||
  #:use-module (gnu packages tcl))
 | 
					  #:use-module (gnu packages tcl)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public bazaar
 | 
					(define-public bazaar
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					@ -435,3 +436,46 @@ standards-compliant ChangeLog entries based on the changes that it detects.")
 | 
				
			||||||
insertions, deletions, and modifications per-file.  It is useful for reviewing
 | 
					insertions, deletions, and modifications per-file.  It is useful for reviewing
 | 
				
			||||||
large, complex patch files.")
 | 
					large, complex patch files.")
 | 
				
			||||||
    (license (x11-style "file://COPYING"))))
 | 
					    (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")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                     ;; XXX: 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.  Disable this test for now.
 | 
				
			||||||
 | 
					                     (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+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue