~ruther/guix-local

8cc91fa04131e1b37339bd08c48b117f1c32aa29 — Andreas Enge 11 years ago 94c4300
gnu: Add weex.

* gnu/packages/ftp.scm (weex): New variable.
* gnu/packages/patches/weex-vacopy.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
3 files changed, 57 insertions(+), 3 deletions(-)

M gnu-system.am
M gnu/packages/ftp.scm
A gnu/packages/patches/weex-vacopy.patch
M gnu-system.am => gnu-system.am +1 -0
@@ 504,6 504,7 @@ dist_patch_DATA =						\
  gnu/packages/patches/vpnc-script.patch			\
  gnu/packages/patches/vtk-mesa-10.patch			\
  gnu/packages/patches/w3m-fix-compile.patch			\
  gnu/packages/patches/weex-vacopy.patch			\
  gnu/packages/patches/wicd-urwid-1.3.patch			\
  gnu/packages/patches/wmctrl-64-fix.patch			\
  gnu/packages/patches/xf86-video-ark-remove-mibstore.patch	\

M gnu/packages/ftp.scm => gnu/packages/ftp.scm +43 -3
@@ 1,5 1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;


@@ 17,10 18,11 @@
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu packages ftp)
  #:use-module ((guix licenses) #:select (gpl3+ clarified-artistic))
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module ((guix licenses) #:select (gpl2+ gpl3+ clarified-artistic))
  #:use-module (guix build-system gnu)
  #:use-module (guix download)
  #:use-module (guix packages)
  #:use-module (gnu packages)
  #:use-module (gnu packages ncurses)
  #:use-module (gnu packages readline)
  #:use-module (gnu packages pkg-config)


@@ 103,3 105,41 @@ File Transfer Protocol (FTP) servers.  This includes 'ncftp', an interactive
FTP browser, as well as non-interactive commands such as 'ncftpput' and
'ncftpget'.")
    (license clarified-artistic)))


(define-public weex
  (package
    (name "weex")
    (version "2.6.1.5")
    (source
      (origin
        (method url-fetch)
        (uri
          (string-append "mirror://sourceforge/weex/weex/" version
                         "/weex-" version ".tar.gz"))
        (sha256
          (base32
            "0f5cj5p852wkm24mzy2sxgxyahv2p9rk4wlq21j310pi7wlhgwyl"))
        (patches (list (search-patch "weex-vacopy.patch")))))
    (build-system gnu-build-system)
    (arguments
      `(#:phases
        (alist-replace 'configure
          ;; configure does not work followed by both "SHELL=..." and
          ;; "CONFIG_SHELL=..."; set environment variables instead
          (lambda* (#:key outputs #:allow-other-keys)
            (let* ((out (assoc-ref outputs "out"))
                  (bash (which "bash")))
              (setenv "SHELL" bash)
              (setenv "CONFIG_SHELL" bash)
              (zero? (system* bash "./configure"
                              (string-append "--prefix=" out)))))
          %standard-phases)))
    (home-page "http://weex.sourceforge.net/")
    (synopsis "Non-interactive client for FTP synchronization")
    (description
     "Weex is a utility designed to automate the task of remotely
maintaining a web page or other FTP archive.  It synchronizes a set of
local files to a remote server by performing uploads and remote deletes
as required.")
    (license gpl2+)))

A gnu/packages/patches/weex-vacopy.patch => gnu/packages/patches/weex-vacopy.patch +13 -0
@@ 0,0 1,13 @@
Taken from the Debian 2.8.0 package.

--- weex-2.6.1.5/src/strlib.c	2003-08-18 11:52:38.000000000 +0200
+++ weex-2.8.0/src/strlib.c	2007-12-04 14:22:02.000000000 +0100
@@ -42,6 +42,8 @@
 #  define G_VA_COPY(ap1, ap2)     (*(ap1) = *(ap2))
 #  elif defined (G_VA_COPY_AS_ARRAY)
 #  define G_VA_COPY(ap1, ap2)     g_memmove ((ap1), (ap2), sizeof (va_list))
+#  elif defined (__x86_64__)
+#  define G_VA_COPY(ap1, ap2)     memmove ((ap1), (ap2), sizeof (va_list))
 #  else /* va_list is a pointer */
 #  define G_VA_COPY(ap1, ap2)     ((ap1) = (ap2))
 #  endif /* va_list is a pointer */