aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Enge <andreas@enge.fr>2015-02-21 19:24:54 +0100
committerAndreas Enge <andreas@enge.fr>2015-02-21 19:24:54 +0100
commit8cc91fa04131e1b37339bd08c48b117f1c32aa29 (patch)
tree3f69b804e09a78a1a1ab0aa16927be2e9282551c
parent94c43007200ba97879004db546dfc6bd8473da0d (diff)
downloadgnu-guix-8cc91fa04131e1b37339bd08c48b117f1c32aa29.tar
gnu-guix-8cc91fa04131e1b37339bd08c48b117f1c32aa29.tar.gz
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.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/ftp.scm46
-rw-r--r--gnu/packages/patches/weex-vacopy.patch13
3 files changed, 57 insertions, 3 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 71697be181..24c5dc1a91 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -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 \
diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm
index c5649812c0..f002122bb6 100644
--- a/gnu/packages/ftp.scm
+++ b/gnu/packages/ftp.scm
@@ -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+)))
diff --git a/gnu/packages/patches/weex-vacopy.patch b/gnu/packages/patches/weex-vacopy.patch
new file mode 100644
index 0000000000..f593e86c08
--- /dev/null
+++ b/gnu/packages/patches/weex-vacopy.patch
@@ -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 */