Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 087a0f3f549f83130bf14c8a51ea368c > files > 4

jaskell-1.0-2.mga3.src.rpm

Name:          jaskell
Version:       1.0
Release:       %mkrel 2
Summary:       Java Haskell pure functional programming language
Group:         Development/Java
License:       BSD
Url:           http://jaskell.codehaus.org/
Source0:       http://dist.codehaus.org/jaskell/distributions/jaskell-%{version}.zip
Source1:       jaskell-1.0.pom
Patch0:        jaskell-1.0-build_xml.patch
BuildRequires: ant
BuildRequires: ant-junit
BuildRequires: apache-commons-lang
BuildRequires: bsf
BuildRequires: jfunutil
BuildRequires: jpackage-utils
BuildRequires: jparsec
BuildRequires: junit
Requires:      apache-commons-lang
Requires:      jfunutil
Requires:      jpackage-utils
Requires:      jparsec
BuildArch:     noarch

%description
There are already many cool scripting languages in jvm.
Jython, JRuby, Groovy etc. They are all excellent and very
practical scripting languages. Why yet another scripting
language?
Well. Jaskell is designed not to be a better language, but
a different one.
1. Most of the current scripting languages are Object-Oriented.
  Though they more or less have functional tastes (Ruby's
  sexy closure, for example), the heart of them are still
  Object-Oriented. One of the most important essenses of
  functional programming (combinators) is yet to be brought
  into Java.
2. Jaskell brings with it higher order function, function
  currying, pattern match and monadic combinator support.
3. Monadic combinator is ideal for designing Domain Specifi
  Language. It is relatively easy to tailor Jaskell runtime
  to make domain specific syntax look like simple atomic
  statements. See Neptune for a real example.
4. Jaskell bridges nicely between functional interpreter and
  Java. In fact, Jaskell is nothing but a Java library that
  passes Java objects in and out of the interpreter.

%package javadoc
Group:         Development/Java
Summary:       Javadoc for %{name}

%description javadoc
Jaskell, Java Haskell pure functional programming language.

This package contains javadoc for %{name}.

%package manual
Group:         Development/Java
Summary:       Documents for %{name}

%description manual
Jaskell, Java Haskell pure functional programming language.

This package contains documents for %{name}.

%prep
%setup -q -c

mkdir src
pushd src
  unzip -q ../jaskell_src-%{version}.zip
  for j in $(find . -name "*.jar"); do
    mv $j $j.no
  done
  pushd lib
    ln -sf $(build-classpath commons-lang) commons-lang-2.1.jar
    ln -sf $(build-classpath bsf) bsf.jar
    ln -sf $(build-classpath jfunutil) jfunutil.jar
    ln -sf $(build-classpath jparsec) jparsec.jar
#   jparsec_old2.jar.no
#   jparsec_old.jar.no
  popd
popd

%patch0 -p0

mkdir doc
pushd doc
  unzip -q ../jaskell_doc-%{version}.zip
popd

%build

pushd src
  export CLASSPATH=$(build-classpath junit)
  ant buildlib test doc
popd

%install
[ %{buildroot} != / ] && rm -rf %{buildroot}

mkdir -p %{buildroot}%{_javadir}/
mkdir -p %{buildroot}%{_mavenpomdir}

install -pm 644 src/bin/jaskell.jar \
  %{buildroot}%{_javadir}/jaskell-%{version}.jar

%add_to_maven_depmap jaskell jaskell %{version} JPP jaskell
install -m 644 %{SOURCE1} %{buildroot}%{_mavenpomdir}/JPP-jaskell.pom

(
  cd %{buildroot}%{_javadir}/
  for jar in *-%{version}*; do
    ln -sf ${jar} ${jar/-%{version}/}
  done
)

mkdir -p %{buildroot}%{_javadocdir}/jaskell-%{version}
cp -pr src/docs/jaskell/api/* %{buildroot}%{_javadocdir}/jaskell-%{version}
ln -sf jaskell-%{version} %{buildroot}%{_javadocdir}/jaskell
rm -rf doc/api

mkdir -p %{buildroot}%{_docdir}/jaskell
cp -pr doc/* %{buildroot}%{_docdir}/jaskell

%post
%update_maven_depmap

%postun
%update_maven_depmap

%files
%{_javadir}/jaskell-%{version}.jar
%{_javadir}/jaskell.jar
%{_mavenpomdir}/*
%{_mavendepmapfragdir}/*
%doc src/LICENSE.txt

%files javadoc
%{_javadocdir}/jaskell-%{version}
%{_javadocdir}/jaskell

%files manual
%{_docdir}/jaskell



%changelog

* Sat Jan 12 2013 umeabot <umeabot> 1.0-2.mga3
+ Revision: 354753
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Wed Jul 27 2011 dmorgan <dmorgan> 1.0-1.mga2
+ Revision: 129960
- Clean spec file

* Fri Jun 10 2011 gil <gil> 1.0-0.mga2
+ Revision: 102827
- imported package jaskell