File: yorick.spec

package info (click to toggle)
yorick 2.2.03+dfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 9,620 kB
  • ctags: 9,317
  • sloc: ansic: 85,521; sh: 1,665; cpp: 1,282; lisp: 1,234; makefile: 1,034; fortran: 19
file content (163 lines) | stat: -rw-r--r-- 4,916 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
Name:       yorick
Version:    2.1
Release:    02
Summary:    interpreted language and scientific graphics
Packager:   David H. Munro <dhmunro@users.sourceforge.net>

Group:      Development/Languages
License:    BSD
URL:        http://yorick.sourceforge.net
Source0:    yorick-%{version}.%{release}.tgz
BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: info

Icon:       yicon48.xpm

# emacs site-lisp directories for fedora core, site-start.d is subdir
%define emacs_site_d  %{_datadir}/emacs/site-lisp
%define xemacs_site_d %{_datadir}/xemacs/site-packages/lisp
%define yordir %{_libdir}/yorick/%{version}

%description
Yorick is an interpreted programming language for:
 * scientific simulations or calculations
 * postprocessing or steering large simulation codes
 * interactive scientific graphics
 * reading, writing, and translating large files of numbers

The language features a compact syntax for many common array
operations, so it processes large arrays of numbers very quickly and
efficiently.  Superficially, yorick code resembles C code, but yorick
variables are never explicitly declared and have a dynamic scoping
similar to many Lisp dialects.  The yorick language is designed to be
typed interactively at a keyboard, as well as stored in files for
later use.

This package includes an emacs-based development environment, which
you can launch by typing M-x yorick in emacs.


%prep
%setup -q

%build
make reloc
CFLAGS="$RPM_OPT_FLAGS" make config
make
make docs
cd doc; make yorick.info; cd ..

%install
rm -rf $RPM_BUILD_ROOT
make install

install -dm 755 $RPM_BUILD_ROOT%{yordir}
mv relocate/* $RPM_BUILD_ROOT%{yordir}/
rmdir relocate
install -dm 755 $RPM_BUILD_ROOT%{_bindir}
ln -s ../..%{yordir}/bin/yorick $RPM_BUILD_ROOT%{_bindir}/yorick
ln -s ../..%{yordir}/bin/gist $RPM_BUILD_ROOT%{_bindir}/gist

install -dm 755 $RPM_BUILD_ROOT%{_datadir}/info
install -pm 644 doc/yorick.info* $RPM_BUILD_ROOT%{_datadir}/info
gzip -9qnf $RPM_BUILD_ROOT%{_datadir}/info/yorick.info*
install -dm 755 $RPM_BUILD_ROOT%{_mandir}/man1
install -pm 644 doc/yorick.1 doc/gist.1 $RPM_BUILD_ROOT%{_mandir}/man1
gzip -9qnf $RPM_BUILD_ROOT%{_mandir}/man1/yorick.1
gzip -9qnf $RPM_BUILD_ROOT%{_mandir}/man1/gist.1
install -dm 755 $RPM_BUILD_ROOT%{yordir}/emacs
install -pm 644 emacs/yorick.el $RPM_BUILD_ROOT%{yordir}/emacs
install -pm 644 emacs/yorick-auto.el $RPM_BUILD_ROOT%{yordir}/emacs
for dir in %{emacs_site_d} %{xemacs_site_d} ; do
  install -dm 755 $RPM_BUILD_ROOT$dir $RPM_BUILD_ROOT$dir/site-start.d
  ln -s %{yordir}/emacs/yorick.el $RPM_BUILD_ROOT$dir
  ln -s %{yordir}/emacs/yorick-auto.el $RPM_BUILD_ROOT$dir/site-start.d
done

%clean
rm -rf $RPM_BUILD_ROOT


%post
if [ "$1" = "1" ] ; then  # first install
 if [ -x /sbin/install-info ]; then
   /sbin/install-info %{_datadir}/info/yorick.info.gz %{_datadir}/info/dir
 fi
fi

%preun
if [ "$1" = "0" ] ; then # last uninstall
 if [ -x /sbin/install-info ]; then
   /sbin/install-info --delete yorick %{_datadir}/info/dir
 fi
fi


%triggerin -- emacs-common
if [ -d %{emacs_site_d} ] ; then
  ln -sf %{yordir}/emacs/yorick.el %{emacs_site_d}
  ln -sf %{yordir}/emacs/yorick-auto.el %{emacs_site_d}/site-start.d
fi

%triggerin -- xemacs-common
if [ -d %{xemacs_site_d} ] ; then
  ln -sf %{yordir}/emacs/yorick.el %{xemacs_site_d}
  ln -sf %{yordir}/emacs/yorick-auto.el %{xemacs_site_d}/site-start.d
fi

%triggerun -- emacs-common
if [ "$2" = "0" ] ; then
  rm -f %{emacs_site_d}/yorick.el*
  rm -f %{emacs_site_d}/site-start.d/yorick-auto.el*
fi

%triggerun -- xemacs-common
if [ "$2" = "0" ] ; then
  rm -f %{xemacs_site_d}/yorick.el*
  rm -f %{xemacs_site_d}/site-start.d/yorick-auto.el*
fi


%files
%defattr(-,root,root,-)
%doc LICENSE.md README.md
%docdir %{yordir}/doc
%doc %{_mandir}/man1/yorick.1.gz
%doc %{_mandir}/man1/gist.1.gz
%doc %{_datadir}/info/yorick*
%{yordir}/
%{_bindir}/yorick
%{_bindir}/gist
%ghost %{_datadir}/*emacs

%changelog
* Wed Jul 19 2006 David H. Munro <dave@dogberry.localdomain> - 2.1-02
- update to fedora core style

* Sat Mar 12 2005  <munro1@llnl.gov> 1.6-02
- 1.6.02 changed plugin support, package Makefile system, see NEWS

* Fri Jul 30 2004  <munro1@llnl.gov> 1.6-01
- 1.6.01 added plugin support, fixed bugs, see NEWS

* Wed Oct  1 2003  <munro1@llnl.gov> 1.5-14
- 1.5.14 numerous bug fixes, see NEWS

* Thu Oct 31 2002  <munro1@llnl.gov>
- 1.5.12 fixes double alignment for big speedup on i86

* Mon Jul  1 2002  <munro@star.llnl.gov>
- 1.5.10 has numerous bug fixes since 08, see NEWS

* Sat Feb  2 2002  <munro@star.llnl.gov>
- 1.5.08 is 07 infant mortality replacement, see NEWS

* Tue Jan 22 2002  <munro@star.llnl.gov>
- numerous 1.5.07 bug fixes, see NEWS file

* Wed Nov 14 2001  <munro@star.llnl.gov>
- 1.5-06 bug fixes, see NEWS file

* Fri Oct 19 2001  David H. Munro <munro1@llnl.gov>
- numerous bug fixes relative to 1.5-01, 1.5-02 releases, see NEWS file