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.
This commit is contained in:
Andreas Enge 2015-02-21 19:24:54 +01:00
parent 94c4300720
commit 8cc91fa041
3 changed files with 57 additions and 3 deletions

View File

@ -504,6 +504,7 @@ dist_patch_DATA = \
gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/vtk-mesa-10.patch \ gnu/packages/patches/vtk-mesa-10.patch \
gnu/packages/patches/w3m-fix-compile.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/wicd-urwid-1.3.patch \
gnu/packages/patches/wmctrl-64-fix.patch \ gnu/packages/patches/wmctrl-64-fix.patch \
gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \ gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -17,10 +18,11 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ftp) (define-module (gnu packages ftp)
#:use-module ((guix licenses) #:select (gpl3+ clarified-artistic)) #:use-module ((guix licenses) #:select (gpl2+ gpl3+ clarified-artistic))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu) #: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 ncurses)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages pkg-config) #: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 FTP browser, as well as non-interactive commands such as 'ncftpput' and
'ncftpget'.") 'ncftpget'.")
(license clarified-artistic))) (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+)))

View File

@ -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 */