From a40f1543c034bad0aae9fef03fcc858a54011925 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 12 Feb 2013 19:35:54 +0100 Subject: [PATCH] gnu: Add Samba and iniparser. * gnu/packages/samba.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/samba.scm | 143 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 144 insertions(+) create mode 100644 gnu/packages/samba.scm diff --git a/Makefile.am b/Makefile.am index df106b899d..2528a85d95 100644 --- a/Makefile.am +++ b/Makefile.am @@ -132,6 +132,7 @@ MODULES = \ gnu/packages/readline.scm \ gnu/packages/recutils.scm \ gnu/packages/rsync.scm \ + gnu/packages/samba.scm \ gnu/packages/scheme.scm \ gnu/packages/screen.scm \ gnu/packages/shishi.scm \ diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm new file mode 100644 index 0000000000..d414c285f8 --- /dev/null +++ b/gnu/packages/samba.scm @@ -0,0 +1,143 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Ludovic Courtès +;;; +;;; 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 . + +(define-module (gnu packages samba) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix licenses) + #:use-module (gnu packages acl) + #:use-module (gnu packages popt) + #:use-module (gnu packages openldap) + #:use-module (gnu packages readline) + #:use-module (gnu packages libunwind) + #:use-module (gnu packages linux) + #:use-module (gnu packages perl) + #:use-module (gnu packages python)) + +(define-public iniparser + (package + (name "iniparser") + (version "3.1") + (source (origin + (method url-fetch) + (uri (string-append "http://ndevilla.free.fr/iniparser/iniparser-" + version ".tar.gz")) + (sha256 + (base32 + "1igmxzcy0s25zcy9vmcw0kd13lh60r0b4qg8lnp1jic33f427pxf")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("/usr/lib") + (string-append (assoc-ref outputs "out") "/lib")))) + (alist-replace + 'build + (lambda _ + (and (zero? (system* "make" "libiniparser.so")) + (symlink "libiniparser.so.0" "libiniparser.so"))) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (inc (string-append out "/include")) + (doc (string-append out "/share/doc")) + (html (string-append doc "/html"))) + (define (copy dir) + (lambda (file) + (copy-file file + (string-append dir "/" + (basename file))))) + (mkdir-p lib) + (for-each (copy lib) + (find-files "." "^lib.*\\.(so\\.|a)")) + (with-directory-excursion lib + (symlink "libiniparser.so.0" "libiniparser.so")) + (mkdir-p inc) + (for-each (copy inc) + (find-files "src" "\\.h$")) + (mkdir-p html) + (for-each (copy html) + (find-files "html" ".*")) + (for-each (copy doc) + '("AUTHORS" "INSTALL" "LICENSE" + "README")))) + %standard-phases))))) + (home-page "http://ndevilla.free.fr/iniparser") + (synopsis "Standalone ini file parsing library") + (description + "iniparser is a free stand-alone `ini' file parsing library (Windows +configuration files). It is written in portable ANSI C and should compile +anywhere.") + (license x11))) + +(define-public samba + (package + (name "samba") + (version "3.6.8") + (source (origin + (method url-fetch) + (uri (string-append "http://us3.samba.org/samba/ftp/stable/samba-" + version ".tar.gz")) + (sha256 + (base32 + "1phl6mmrc72jyvbyrw6cv6b92cxq3v2pbn1fh97nnb4hild1fnjg")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-before 'configure 'chdir + (lambda _ + (chdir "source3")) + %standard-phases) + + ;; This flag is required to allow for "make test". + #:configure-flags '("--enable-socket-wrapper") + + #:test-target "test" + + ;; XXX: The test infrastructure attempts to set password with + ;; smbpasswd, which fails with "smbpasswd -L can only be used by root." + ;; So disable tests until there's a workaround. + #:tests? #f)) + (inputs ; TODO: Add missing dependencies + `(;; ("cups" ,cups) + ("acl" ,acl) + ;; ("gamin" ,gamin) + ("libunwind" ,libunwind) + ("iniparser" ,iniparser) + ("popt" ,popt) + ("openldap" ,openldap) + ("linux-pam" ,linux-pam) + ("readline" ,readline))) + (native-inputs ; for the test suite + `(("perl" ,perl) + ("python" ,python))) + (home-page "http://www.samba.org/") + (synopsis + "The standard Windows interoperability suite of programs for GNU and Unix") + (description + "Since 1992, Samba has provided secure, stable and fast file and print +services for all clients using the SMB/CIFS protocol, such as all versions of +DOS and Windows, OS/2, GNU/Linux and many others. + +Samba is an important component to seamlessly integrate Linux/Unix Servers and +Desktops into Active Directory environments using the winbind daemon.") + (license gpl3+)))