summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO29
-rw-r--r--PKGBUILD79
-rw-r--r--c99.patch23
-rw-r--r--clearsilver-ruby-1.9.patch244
4 files changed, 375 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..fa9a5c60fc2f
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,29 @@
+pkgbase = clearsilver
+ pkgdesc = clearsilver is a fast, powerful, and language-neutral HTML template system
+ pkgver = 0.10.5
+ pkgrel = 26
+ url = http://www.clearsilver.net
+ arch = x86_64
+ license = custom
+ makedepends = java-environment
+ depends = python2
+ depends = perl
+ depends = ruby
+ depends = java-runtime
+ options = !emptydirs
+ options = staticlibs
+ source = http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz
+ source = clearsilver-ruby-1.9.patch
+ source = c99.patch
+ md5sums = b8c0c7fbe0ef5e06e0c935f134304d44
+ md5sums = d9db4e5985254e1b0d63e9ff042773f4
+ md5sums = 18b9bf6755786f202b25477b5e882792
+
+pkgname = clearsilver
+ depends = python2
+ depends = perl
+ depends = ruby
+ depends = java-runtime
+ depends = perl>=
+ depends = perl<
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..86d8b2c63aec
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,79 @@
+# $Id: PKGBUILD 277866 2018-01-03 07:07:24Z foutrelis $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Maintainer : Aaron Griffin <aaron@archlinux.org>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=clearsilver
+pkgver=0.10.5
+pkgrel=26
+pkgdesc="clearsilver is a fast, powerful, and language-neutral HTML template system"
+arch=('x86_64')
+url='http://www.clearsilver.net'
+license=('custom')
+depends=('python2' 'perl' 'ruby' 'java-runtime')
+makedepends=('java-environment')
+options=('!emptydirs' 'staticlibs')
+source=("http://www.clearsilver.net/downloads/$pkgname-$pkgver.tar.gz"
+ "clearsilver-ruby-1.9.patch"
+ "c99.patch")
+md5sums=('b8c0c7fbe0ef5e06e0c935f134304d44'
+ 'd9db4e5985254e1b0d63e9ff042773f4'
+ '18b9bf6755786f202b25477b5e882792')
+
+prepare() {
+ cd "$srcdir"/$pkgname-$pkgver
+ sed -i "s@/usr/local/bin/python@/usr/bin/env python2@g" scripts/document.py
+ sed -i "s@install.rb install@install.rb install --prefix="$pkgdir"@g" ruby/Makefile
+ patch -p1 <"$srcdir"/clearsilver-ruby-1.9.patch
+ patch -p1 <"$srcdir"/c99.patch
+ patch -p0 ruby/install.rb <<EOF
+71,73c71,73
+< siteruby = subprefix.call(c['sitedir'])
+< versite = subprefix.call(c['sitelibdir'])
+< sodir = subprefix.call(c['sitearchdir'])
+---
+> siteruby = subprefix.call(c['vendordir'])
+> versite = subprefix.call(c['vendorlibdir'])
+> sodir = subprefix.call(c['vendorarchdir'])
+EOF
+ sed -i 's|LIBRARIES = inserted + LIBRARIES|LIBRARIES = LIBRARIES + inserted|' python/setup.py
+
+ # fix for ruby 2.2
+ sed -i 's|::Config::|RbConfig::|g' ruby/install.rb
+ if [ $CARCH == "x86_64" ]; then
+ sed -i 's|-2128917020|2166050276|' cs/test_crc.cs.gold
+ fi
+}
+
+build() {
+ cd "$srcdir"/$pkgname-$pkgver
+ export PERL_MM_OPT='INSTALLDIRS=vendor'
+ ./configure --disable-csharp --prefix=/usr --with-python=/usr/bin/python2
+ make
+}
+
+check() {
+ cd "$srcdir"/$pkgname-$pkgver
+ (cd ruby && make testrb)
+ (cd perl && make test)
+}
+
+package() {
+ cd "$srcdir"/$pkgname-$pkgver
+ make PREFIX="$pkgdir" DESTDIR="$pkgdir" install
+
+ install -Dm644 CS_LICENSE "$pkgdir"/usr/share/licenses/clearsilver/license.txt
+ mv "$pkgdir"/usr/man/man3/* "$pkgdir"/usr/share/man/man3/
+ rm -rf "$pkgdir"/usr/man
+
+ find "$pkgdir" -name '.packlist' -delete
+ find "$pkgdir" -name '*.pod' -delete
+
+# template start; name=perl-binary-module-dependency; version=1;
+if [[ $(find "$pkgdir/usr/lib/perl5/" -name "*.so") ]]; then
+ _perlver_min=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);')
+ _perlver_max=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]+1);')
+ depends+=("perl>=$_perlver_min" "perl<$_perlver_max")
+fi
+# template end;
+}
diff --git a/c99.patch b/c99.patch
new file mode 100644
index 000000000000..092923e3de20
--- /dev/null
+++ b/c99.patch
@@ -0,0 +1,23 @@
+diff -wbBur clearsilver-0.10.5/util/neo_err.h clearsilver-0.10.5.my/util/neo_err.h
+--- clearsilver-0.10.5/util/neo_err.h 2007-07-12 07:09:09.000000000 +0400
++++ clearsilver-0.10.5.my/util/neo_err.h 2015-06-05 19:06:34.961297962 +0300
+@@ -84,9 +84,6 @@
+ * NEOERR fails
+ */
+ #if defined(USE_C99_VARARG_MACROS)
+-#define nerr_raise(e,f,...) \
+- nerr_raisef(__PRETTY_FUNCTION__,__FILE__,__LINE__,e,f,__VA_ARGS__)
+-#elif defined(USE_GNUC_VARARG_MACROS)
+ #define nerr_raise(e,f,a...) \
+ nerr_raisef(__PRETTY_FUNCTION__,__FILE__,__LINE__,e,f,##a)
+ #endif
+@@ -98,9 +95,6 @@
+
+
+ #if defined(USE_C99_VARARG_MACROS)
+-#define nerr_raise_errno(e,f,...) \
+- nerr_raise_errnof(__PRETTY_FUNCTION__,__FILE__,__LINE__,e,f,__VA_ARGS__)
+-#elif defined(USE_GNUC_VARARG_MACROS)
+ #define nerr_raise_errno(e,f,a...) \
+ nerr_raise_errnof(__PRETTY_FUNCTION__,__FILE__,__LINE__,e,f,##a)
+ #endif
diff --git a/clearsilver-ruby-1.9.patch b/clearsilver-ruby-1.9.patch
new file mode 100644
index 000000000000..4a1a83f99432
--- /dev/null
+++ b/clearsilver-ruby-1.9.patch
@@ -0,0 +1,244 @@
+diff -u -Nr clearsilver-0.10.5/ruby/ext/hdf/neo_cs.c clearsilver-0.10.5.my/ruby/ext/hdf/neo_cs.c
+--- clearsilver-0.10.5/ruby/ext/hdf/neo_cs.c 2007-02-16 01:31:39.000000000 +0100
++++ clearsilver-0.10.5.my/ruby/ext/hdf/neo_cs.c 2010-09-18 18:20:40.088619662 +0200
+@@ -19,7 +19,7 @@
+
+ VALUE r_neo_error(NEOERR *err);
+
+-#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RSTRING(val)->ptr)
++#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RARRAY_PTR(RSTRING(val)))
+
+ static void c_free (CSPARSE *csd) {
+ if (csd) {
+@@ -57,7 +57,7 @@
+ char *path;
+
+ Data_Get_Struct(self, CSPARSE, cs);
+- path = STR2CSTR(oPath);
++ path = StringValuePtr(oPath);
+
+ err = cs_parse_file (cs, path);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -73,7 +73,8 @@
+ long l;
+
+ Data_Get_Struct(self, CSPARSE, cs);
+- s = rb_str2cstr(oString, &l);
++ s = StringValuePtr(oString);
++ l = RSTRING_LEN(oString);
+
+ /* This should be changed to use memory from the gc */
+ ms = strdup(s);
+diff -u -Nr clearsilver-0.10.5/ruby/ext/hdf/neo_util.c clearsilver-0.10.5.my/ruby/ext/hdf/neo_util.c
+--- clearsilver-0.10.5/ruby/ext/hdf/neo_util.c 2007-02-16 01:32:03.000000000 +0100
++++ clearsilver-0.10.5.my/ruby/ext/hdf/neo_util.c 2010-09-18 18:24:05.928058973 +0200
+@@ -10,7 +10,7 @@
+ */
+
+ #include <ruby.h>
+-#include <version.h>
++//#include <version.h>
+ #include "ClearSilver.h"
+ #include "neo_ruby.h"
+
+@@ -19,7 +19,7 @@
+ VALUE eHdfError;
+ static ID id_to_s;
+
+-#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RSTRING(val)->ptr)
++#define Srb_raise(val) rb_raise(eHdfError, "%s/%d %s",__FILE__,__LINE__,RARRAY_PTR(RSTRING(val)))
+
+ VALUE r_neo_error (NEOERR *err)
+ {
+@@ -96,7 +96,7 @@
+ VALUE rv;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name = STR2CSTR(oName);
++ name = StringValuePtr(oName);
+
+ rv = rb_hash_new();
+
+@@ -118,12 +118,12 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- name = STR2CSTR(oName);
+- key = STR2CSTR(oKey);
++ name = StringValuePtr(oName);
++ key = StringValuePtr(oKey);
+ if ( NIL_P(oValue) )
+ value = NULL;
+ else
+- value = STR2CSTR(oValue);
++ value = StringValuePtr(oValue);
+
+ err = hdf_set_attr(hdfh->hdf, name, key, value);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -134,22 +134,22 @@
+ static VALUE h_set_value (VALUE self, VALUE oName, VALUE oValue)
+ {
+ t_hdfh *hdfh;
+- char *name, *value;
++ VALUE name, value;
+ NEOERR *err;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+ if ( TYPE(oName) == T_STRING )
+- name=STR2CSTR(oName);
++ name=oName;
+ else
+- name=STR2CSTR(rb_funcall(oName,id_to_s,0));
++ name=rb_funcall(oName,id_to_s,0);
+
+ if ( TYPE(oValue) == T_STRING )
+- value=STR2CSTR(oValue);
++ value=oValue;
+ else
+- value=STR2CSTR(rb_funcall(oValue,id_to_s,0));
++ value=rb_funcall(oValue,id_to_s,0);
+
+- err = hdf_set_value (hdfh->hdf, name, value);
++ err = hdf_set_value (hdfh->hdf, StringValuePtr(name), StringValuePtr(value));
+
+ if (err) Srb_raise(r_neo_error(err));
+
+@@ -165,7 +165,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- name=STR2CSTR(oName);
++ name=StringValuePtr(oName);
+ d=NUM2INT(oDefault);
+
+ r = hdf_get_int_value (hdfh->hdf, name, d);
+@@ -181,8 +181,8 @@
+ VALUE rv;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name=STR2CSTR(oName);
+- d=STR2CSTR(oDefault);
++ name=StringValuePtr(oName);
++ d=StringValuePtr(oDefault);
+
+ r = hdf_get_value (hdfh->hdf, name, d);
+ rv = rb_str_new2(r);
+@@ -197,7 +197,7 @@
+ char *name;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name=STR2CSTR(oName);
++ name=StringValuePtr(oName);
+
+ r = hdf_get_child (hdfh->hdf, name);
+ if (r == NULL) {
+@@ -219,7 +219,7 @@
+ char *name;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name=STR2CSTR(oName);
++ name=StringValuePtr(oName);
+
+ r = hdf_get_obj (hdfh->hdf, name);
+ if (r == NULL) {
+@@ -243,7 +243,7 @@
+ NEOERR *err;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name=STR2CSTR(oName);
++ name=StringValuePtr(oName);
+
+ err = hdf_get_node (hdfh->hdf, name, &r);
+ if (err)
+@@ -384,7 +384,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- path=STR2CSTR(oPath);
++ path=StringValuePtr(oPath);
+
+ err = hdf_read_file (hdfh->hdf, path);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -400,7 +400,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- path=STR2CSTR(oPath);
++ path=StringValuePtr(oPath);
+
+ err = hdf_write_file (hdfh->hdf, path);
+
+@@ -417,7 +417,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- path=STR2CSTR(oPath);
++ path=StringValuePtr(oPath);
+
+ err = hdf_write_file_atomic (hdfh->hdf, path);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -432,7 +432,7 @@
+ NEOERR *err;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- name = STR2CSTR(oName);
++ name = StringValuePtr(oName);
+
+ err = hdf_remove_tree (hdfh->hdf, name);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -489,7 +489,7 @@
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+
+- s = STR2CSTR(oString);
++ s = StringValuePtr(oString);
+ ignore = NUM2INT(oIgnore);
+
+ err = hdf_read_string_ignore (hdfh->hdf, s, ignore);
+@@ -508,7 +508,7 @@
+ Data_Get_Struct(self, t_hdfh, hdfh);
+ Data_Get_Struct(oHdfSrc, t_hdfh, hdfh_src);
+
+- name = STR2CSTR(oName);
++ name = StringValuePtr(oName);
+
+ if (hdfh_src == NULL) rb_raise(eHdfError, "second argument must be an Hdf object");
+
+@@ -526,8 +526,8 @@
+ NEOERR *err;
+
+ Data_Get_Struct(self, t_hdfh, hdfh);
+- src = STR2CSTR(oSrc);
+- dest = STR2CSTR(oDest);
++ src = StringValuePtr(oSrc);
++ dest = StringValuePtr(oDest);
+
+ err = hdf_set_symlink (hdfh->hdf, src, dest);
+ if (err) Srb_raise(r_neo_error(err));
+@@ -545,9 +545,10 @@
+ char *ret = NULL;
+ NEOERR *err;
+
+- s = rb_str2cstr(oString,&buflen);
+- esc_char = STR2CSTR(oEsc_char);
+- escape = STR2CSTR(oEsc);
++ s = StringValuePtr(oString);
++ buflen = RSTRING_LEN(oString);
++ esc_char = StringValuePtr(oEsc_char);
++ escape = StringValuePtr(oEsc);
+
+ err = neos_escape((UINT8*)s, buflen, esc_char[0], escape, &ret);
+
+@@ -566,8 +567,9 @@
+ char *esc_char;
+ long buflen;
+
+- s = rb_str2cstr(oString,&buflen);
+- esc_char = STR2CSTR(oEsc_char);
++ s = StringValuePtr(oString);
++ buflen = RSTRING_LEN(oString);
++ esc_char = StringValuePtr(oEsc_char);
+
+ /* This should be changed to use memory from the gc */
+ copy = strdup(s);