diff --git a/.gitignore b/.gitignore index 288995a..f223af3 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ libsvm-3.91.tar.gz /LibSVM-svm-toy-48.png /libsvm-svm-toy-gtk.desktop /libsvm-svm-toy-qt.desktop +/libsvm-3.20.tar.gz diff --git a/libsvm-3.17.pom b/libsvm-3.17.pom new file mode 100644 index 0000000..511b1b2 --- /dev/null +++ b/libsvm-3.17.pom @@ -0,0 +1,36 @@ + + 4.0.0 + tw.edu.ntu.csie + libsvm + 3.20 + jar + LIBSVM + A Library for Support Vector Machines + http://www.csie.ntu.edu.tw/~cjlin/libsvm/ + + + BSD 3-Clause License + http://www.csie.ntu.edu.tw/~cjlin/libsvm/COPYRIGHT + + + + http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz + http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz + + + + chih-jen.lin + Chih-Jen Lin + cjlin@csie.ntu.edu.tw + + + + 1.5 + 1.5 + UTF-8 + + + java + + diff --git a/libsvm-3.18.javaDir.patch b/libsvm-3.20.javaDir.patch similarity index 100% rename from libsvm-3.18.javaDir.patch rename to libsvm-3.20.javaDir.patch diff --git a/libsvm-3.18.packageMain.patch b/libsvm-3.20.packageMain.patch similarity index 100% rename from libsvm-3.18.packageMain.patch rename to libsvm-3.20.packageMain.patch diff --git a/libsvm-3.18.pythonDir.patch b/libsvm-3.20.pythonDir.patch similarity index 100% rename from libsvm-3.18.pythonDir.patch rename to libsvm-3.20.pythonDir.patch diff --git a/libsvm-3.18.svm-toy.patch b/libsvm-3.20.svm-toy.patch similarity index 100% rename from libsvm-3.18.svm-toy.patch rename to libsvm-3.20.svm-toy.patch diff --git a/libsvm-3.18.toolsDir.patch b/libsvm-3.20.toolsDir.patch similarity index 100% rename from libsvm-3.18.toolsDir.patch rename to libsvm-3.20.toolsDir.patch diff --git a/libsvm.spec b/libsvm.spec index 602ed7d..e1996c1 100644 --- a/libsvm.spec +++ b/libsvm.spec @@ -3,10 +3,12 @@ %{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %define libdir_libsvm %{_libdir}/libsvm %define libsvm_python_dir %{python_sitearch}/libsvm +%global maven_group_id tw.edu.ntu.csie +%global pom_file_version 3.17 Name: libsvm -Version: 3.18 -Release: 6%{?dist} +Version: 3.20 +Release: 1%{?dist} Summary: A Library for Support Vector Machines Group: Development/Libraries @@ -18,6 +20,7 @@ Source2: http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf Source3: libsvm-svm-toy-gtk.desktop Source4: libsvm-svm-toy-qt.desktop Source5: LibSVM-svm-toy-48.png +Source6: http://central.maven.org/maven2/tw/edu/ntu/csie/libsvm/%{pom_file_version}/libsvm-%{pom_file_version}.pom Patch0: %{name}-%{version}.packageMain.patch Patch1: %{name}-%{version}.pythonDir.patch Patch2: %{name}-%{version}.javaDir.patch @@ -26,6 +29,7 @@ Patch4: %{name}-%{version}.toolsDir.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRequires: grep +%global pom_file_name "JPP.%{maven_group_id}-%{name}.pom" %if 0%{?rhel} != 0 && 0%{?rhel} <= 5 %define moc_path %{_libdir}/qt4/bin/moc %define with_vendor "fedora" @@ -131,6 +135,23 @@ cp %{SOURCE4} . cp %{SOURCE5} %{name}-svm-toy-gtk-48.png cp %{SOURCE5} %{name}-svm-toy-qt-48.png + +%if "%{no_java}" == "FALSE" +# Update the POM file, which is stuck on version 3.17 +# pom_xpath_set does not work in rpm-4.11.1 +# as it generated something like +# +# +# 3.20 +# +# +# +%{__sed} -e 's/%{pom_file_version}/%{version}/' %{SOURCE6} > %{name}.pom +%{__sed} -i 's|http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz|https://github.com/cjlin1/libsvm|' %{name}.pom +%{__sed} -i 's|http://www.csie.ntu.edu.tw/~cjlin/cgi-bin/libsvm.cgi?+http://www.csie.ntu.edu.tw/~cjlin/libsvm+tar.gz|scm:git:https://github.com/cjlin1/libsvm.git|' %{name}.pom + +%endif + %build %{__sed} -i 's/\r//' FAQ.html %{__sed} -i 's/\r//' ChangeLog @@ -142,38 +163,54 @@ cp README svm-toy/gtk cp README svm-toy/qt %install -rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir} PYTHON_VERSION="%{pyver}" LIBSVM_VER="%{version}" NO_JAVA="%{no_java}" JAVA_TARGET_DIR="${RPM_BUILD_ROOT}/%{_javadir}" -rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/src -mkdir -p $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/ -cp %{name}-svm-toy-gtk-48.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/ -cp %{name}-svm-toy-qt-48.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/48x48/apps/ -mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications -cp %{name}-svm-toy-gtk.desktop $RPM_BUILD_ROOT/%{_datadir}/applications -cp %{name}-svm-toy-qt.desktop $RPM_BUILD_ROOT/%{_datadir}/applications - -%__ln_s %{name}.so.%{shver} $RPM_BUILD_ROOT/%{_libdir}/%{name}.so - +rm -rf %{buildroot} +make install DESTDIR=%{buildroot} LIBDIR=%{_libdir} PYTHON_VERSION="%{pyver}" LIBSVM_VER="%{version}" NO_JAVA="%{no_java}" JAVA_TARGET_DIR="%{buildroot}/%{_javadir}" +rm -rf %{buildroot}%{_datadir}/%{name}/src +mkdir -p %{buildroot}/%{_datadir}/icons/hicolor/48x48/apps/ +cp %{name}-svm-toy-gtk-48.png %{buildroot}/%{_datadir}/icons/hicolor/48x48/apps/ +cp %{name}-svm-toy-qt-48.png %{buildroot}/%{_datadir}/icons/hicolor/48x48/apps/ +mkdir -p %{buildroot}/%{_datadir}/applications +cp %{name}-svm-toy-gtk.desktop %{buildroot}/%{_datadir}/applications +cp %{name}-svm-toy-qt.desktop %{buildroot}/%{_datadir}/applications + +%__ln_s %{name}.so.%{shver} %{buildroot}/%{_libdir}/%{name}.so # [Bug 521194] Python: 'import libsvm' doesn't work +mkdir -p %{buildroot}/%{libsvm_python_dir} echo -e "# This file is not in the original libsvm tarball, but added for convenience of import libsvm.\n\ # This file is released under BSD license, just like the rest of the package.\n"\ - > $RPM_BUILD_ROOT/%{libsvm_python_dir}/__init__.py + > %{buildroot}/%{libsvm_python_dir}/__init__.py %if 0%{?with_vendor:1} desktop-file-install --delete-original --vendor=%{with_vendor} \ - --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \ - ${RPM_BUILD_ROOT}/%{_datadir}/applications/%{name}-svm-toy-gtk.desktop \ - ${RPM_BUILD_ROOT}/%{_datadir}/applications/%{name}-svm-toy-qt.desktop + --dir=%{buildroot}%{_datadir}/applications \ + %{buildroot}/%{_datadir}/applications/%{name}-svm-toy-gtk.desktop \ + %{buildroot}/%{_datadir}/applications/%{name}-svm-toy-qt.desktop %else desktop-file-install --delete-original \ - --dir=${RPM_BUILD_ROOT}%{_datadir}/applications \ - ${RPM_BUILD_ROOT}/%{_datadir}/applications/%{name}-svm-toy-gtk.desktop \ - ${RPM_BUILD_ROOT}/%{_datadir}/applications/%{name}-svm-toy-qt.desktop + --dir=%{buildroot}%{_datadir}/applications \ + %{buildroot}/%{_datadir}/applications/%{name}-svm-toy-gtk.desktop \ + %{buildroot}/%{_datadir}/applications/%{name}-svm-toy-qt.desktop %endif # Fix Bug 646154 - libsvm-python's pth is not set correctly -echo 'libsvm' > $RPM_BUILD_ROOT/%{python_sitearch}/libsvm.pth +echo 'libsvm' > %{buildroot}/%{python_sitearch}/libsvm.pth + + +# Java +%if "%{no_java}" == "FALSE" +## Move jars to correct directory +mkdir -p %{buildroot}/%{_javadir}/%{maven_group_id} +mv %{buildroot}/%{_javadir}/%{name}.jar %{buildroot}/%{_javadir}/%{maven_group_id}/%{name}-%{version}.jar +ln -s %{name}-%{version}.jar %{buildroot}/%{_javadir}/%{maven_group_id}/%{name}.jar +ln -s %{_javadir}/%{maven_group_id}/%{name}.jar %{buildroot}/%{_javadir}/%{name}.jar + +## Install the Java POM +mkdir -p %{buildroot}%{_mavenpomdir} +cp -p %{name}.pom %{buildroot}%{_mavenpomdir}/%{pom_file_name} +%add_maven_depmap %{pom_file_name} %{maven_group_id}/%{name}.jar +%endif + %post -p /sbin/ldconfig @@ -194,7 +231,7 @@ fi %clean -rm -rf $RPM_BUILD_ROOT +rm -rf %{buildroot} %files @@ -221,11 +258,11 @@ rm -rf $RPM_BUILD_ROOT %{python_sitearch}/libsvm.pth %if "%{no_java}" == "FALSE" -%files java +%files java -f .mfiles %defattr(-,root,root,-) %doc java/README-Java java/test_applet.html %{_javadir}/%{name}.jar -#%{_datadir}/javadoc/%{name}-%{version} +%{_javadir}/%{maven_group_id}/%{name}-%{version}.jar %endif %files svm-toy-gtk @@ -244,6 +281,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Jan 20 2015 Ding-Yi Chen - 3.20-1 +- Upstream update to 3.20 + +* Fri Dec 19 2014 Jerry James - 3.18-7 +- Install maven POM and depmaps (bz 1175898) + * Sun Aug 17 2014 Fedora Release Engineering - 3.18-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild diff --git a/log b/log index 056a560..4c7d592 100644 --- a/log +++ b/log @@ -212,7 +212,6 @@ i subroutines to get SVs new make.m for unix/mac/windows and for matlab/octave matlab and python: fix a problem that decision values returned by svmpredict is empty if number of classes = 1 -<<<<<<< HEAD 3.12: 2012/04/01 svm-toy: support loading/saving of regression data @@ -259,4 +258,4 @@ i subroutines to get SVs initialize model->sv_indices as null in svm_load_model if nr_fold > # data, change nr_fold to be # data and ro leave-one-out cv matlab interface: - handle the problem where output variables are not specified + handle the problem where output variables are not specified \ No newline at end of file diff --git a/sources b/sources index 4a9b52a..2aa72d2 100644 --- a/sources +++ b/sources @@ -1,6 +1,2 @@ b1543809993e2653dd2787f62c3c390a guide.pdf -bba35e2cf9d14e158009ef8b90fd840a libsvm-3.18.tar.gz -95918671ee5435803a1646e1ad2f3317 log -0bc4868057a7c1c422f91a798f14a562 LibSVM-svm-toy-48.png -398721fc66bb0903d46c685e9a3cba27 libsvm-svm-toy-gtk.desktop -9a518db15afe9224e3a04695c82d7142 libsvm-svm-toy-qt.desktop +5f088e5f89da1c65b642300c9c5ea772 libsvm-3.20.tar.gz