Browse Source

python-docutils 0.6-3

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@2640 ec354946-7b23-47d6-9f5a-488ba84defc7
iwaim 13 years ago
parent
commit
ab692bda11

+ 82 - 2
p/python-docutils/python-docutils-vl.spec

@@ -1,13 +1,22 @@
 %define srcname docutils
+%define elisppkgname rst-el
+%define prereq_ge()  %(LC_ALL="C" rpm -q --queryformat 'Requires(post,preun):%%{NAME} >= %%{VERSION}' %1| grep -v "is not")
+
 Summary: an open-source text processing system written in Python
 Summary(ja): Pythonで書かれたテキスト処理システム
 Name: python-%{srcname}
 Version: 0.6
-Release: 2%{?_dist_release}
+Release: 3%{?_dist_release}
 Group: Development/Languages
 License: Public Domain and MIT and Python and GPLv2
 URL: http://docutils.sourceforge.net/
 Source0: http://prdownloads.sourceforge.net/%{srcname}/%{srcname}-%{version}.tar.gz
+## for rst-mode
+Source1: %{elisppkgname}-install.sh
+Source2: %{elisppkgname}-remove.sh
+Source3: vine-default-%{elisppkgname}.el
+Source4: %{elisppkgname}-init.el
+
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildArch: noarch
 BuildRequires: python-devel
@@ -33,6 +42,19 @@ Docutilsはオープンソースのテキスト処理システムで、プレー
 読みやすく使いやすくWYSIWYGなプレーンテキストのマークアップ言語である
 reStructuresTextを含んでいます。
 
+%package -n %{elisppkgname}
+Summary: Emacs support for reStructuredText
+Summary(ja): reStructuredText の Emacs サポート
+Group: Applications/Editors/Emacs
+Requires:     emacsen
+Requires(post,preun):       emacsen
+%prereq_ge    emacsen-common
+
+%description -n %{elisppkgname}
+Emacs support for reStructuredText.
+
+%description -l ja -n %{elisppkgname}
+reStructuredText の Emacs サポート
 
 %prep
 %setup -q -n %{srcname}-%{version}
@@ -63,21 +85,79 @@ done
 install -D -m644 extras/roman.py ${RPM_BUILD_ROOT}/%{python_sitelib}/roman.py
 
 
+## for Emacs package
+mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/%{elisppkgname}/packages
+mkdir -p %{buildroot}%{emacsen_pkgdir}/install
+mkdir -p %{buildroot}%{emacsen_pkgdir}/remove
+
+#
+# install el files
+#
+mv tools/editors/emacs/rst.el %{buildroot}%{_datadir}/emacs/site-lisp/%{elisppkgname}
+cp -p %{SOURCE3} %{SOURCE4} %{buildroot}%{_datadir}/emacs/site-lisp/%{elisppkgname}
+
+#
+# install script (bytecompile el and install elc , remove)
+#
+%_installemacsenscript %{elisppkgname} %{SOURCE1}
+
+%_removeemacsenscript  %{elisppkgname} %{SOURCE2}
+
+
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 
+%post -n %{elisppkgname}
+#
+# bytecompile and install
+#
+if [ "$1" = 2 ]; then
+
+%_emacsenPackageRemove %{elisppkgname}
+
+fi
+
+%_addemacsenlist %{elisppkgname}
+
+%_emacsenPackageInstall %{elisppkgname}
+
+
+%preun -n %{elisppkgname}
+if [ "$1" = 0 ]; then
+
+%_emacsenPackageRemove %{elisppkgname}
+
+%_removeemacsenlist %{elisppkgname}
+
+fi
+
+
+
 %files
 %defattr(-,root,root)
 %doc BUGS.txt HISTORY.txt RELEASE-NOTES.txt docs COPYING.txt THANKS.txt FAQ.txt README.txt
-%doc licenses docs tools/editors
+%doc licenses docs
 %{_bindir}/*
 %{python_sitelib}/%{srcname}/
 %{python_sitelib}/roman.*
 %{python_sitelib}/docutils-*.egg-info
 
+%files -n %{elisppkgname}
+%defattr(-,root,root)
+%doc BUGS.txt HISTORY.txt RELEASE-NOTES.txt COPYING.txt THANKS.txt FAQ.txt README.txt
+%doc licenses tools/editors
+%{_datadir}/emacs/site-lisp/%{elisppkgname}
+%{emacsen_pkgdir}/install/%{elisppkgname}
+%{emacsen_pkgdir}/remove/%{elisppkgname}
+
 
 %changelog
+* Sat Jan 29 2011 IWAI, Masaharu <iwai@alib.jp> 0.6-3
+- new package: rst-el (Emacs Lisp)
+ - add Source1-4
+
 * Thu Sep 02 2010 Shu KONNO <owa@bg.wakwak.com> 0.6-2
 - changed package-name to python-docutils from docutils
 - added Provides: docutils = %%{version}-%%{release}

+ 16 - 0
p/python-docutils/rst-el-init.el

@@ -0,0 +1,16 @@
+;;
+;; rst-el-init.el
+;;
+;;      for Vine Linux with emacsen-common
+;;      IWAI, Masaharu <iwai@alib.jp>
+
+(defcustom vine-default-rst-el t
+  "A boolean for vine-default-rst-el"
+  :type 'boolean)
+
+(add-hook 'vine-default-setup-hook
+          (lambda()
+            (if vine-default-rst-el
+                (require 'vine-default-rst-el))))
+
+;;; end of file

+ 35 - 0
p/python-docutils/rst-el-install.sh

@@ -0,0 +1,35 @@
+#! /bin/sh -e
+# /usr/lib/emacsen-common/packages/install/rst-el
+
+FLAVOR=$1
+PACKAGE=rst-el
+
+FLAGS="${SITEFLAG} -q -batch -f batch-byte-compile"
+
+ELDIR="/usr/share/emacs/site-lisp/${PACKAGE}"
+ELCDIR="/usr/share/${FLAVOR}/site-lisp/${PACKAGE}"
+STARTDIR=/etc/${FLAVOR}/site-start.d
+STARTFILE="${PACKAGE}-init.el"
+
+SOURCES="rst.el"
+
+case "${FLAVOR}" in
+    emacs)
+    ;;
+    *) 
+    echo -n "install/${PACKAGE}: Byte-compiling for ${FLAVOR} ..."
+    install -m 755 -d ${ELCDIR}
+    cd ${ELDIR}
+    cp *.el ${ELCDIR}
+    FILES="${SOURCES}"
+    cd ${ELCDIR}
+    ${FLAVOR} ${FLAGS} ${FILES} > ${ELCDIR}/CompilationLog 2>&1
+    rm -f ${SOURCES}
+    gzip -9 ${ELCDIR}/CompilationLog
+
+    ln -sf ${ELDIR}/${STARTFILE} ${STARTDIR}/95${STARTFILE};
+    echo " done."
+    ;;
+esac
+
+exit 0 ;

+ 32 - 0
p/python-docutils/rst-el-remove.sh

@@ -0,0 +1,32 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/rst-el
+
+FLAVOR=$1
+PACKAGE=rst-el
+STARTDIR=/etc/${FLAVOR}/site-start.d
+STARTFILE="${PACKAGE}-init.el"
+
+if [ "X${FLAVOR}" = "X" ]; then
+    echo Need argument to determin FLAVOR of emacs;
+    exit 1
+fi
+
+if [ "X${PACKAGE}" = "X" ]; then
+    echo Internal error: need package name;
+    exit 1;
+fi
+
+ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+
+case "${FLAVOR}" in
+    emacs)
+    ;;
+    *)
+    echo -n "remove/${PACKAGE}: Handling removal of emacsen flavor ${FLAVOR} ..."
+    rm -rf ${ELCDIR}
+    rm -f ${STARTDIR}/95${STARTFILE}*
+    echo " done."
+    ;;
+esac
+
+exit 0

+ 32 - 0
p/python-docutils/vine-default-rst-el.el

@@ -0,0 +1,32 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;  -*- coding: utf-8-unix -*-
+;;  FSF Emacs 23 用 Vine Linux rst-el 設定
+;;    IWAI, Masaharu <iwai@alib.jp>
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; rst-el の設定
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+(require 'rst)
+
+(setq auto-mode-alist
+       (append '(
+                 ("\\.rst$" . rst-mode)
+                 ("\\.rest$" . rst-mode)
+;;		 ("\\.txt$" . rst-mode)
+		 ) auto-mode-alist))
+
+;; rst-modeのときのインデントにタブを使わない
+(add-hook 'rst-mode-hook 
+	  '(lambda()
+	     (setq indent-tabs-mode nil)))
+
+;; 背景色が暗いとき
+;(setq frame-background-mode 'dark)
+
+(provide 'vine-default-rst-el)
+
+;; Local Variables:
+;; mode: emacs-lisp
+;; End: