]>
Commit | Line | Data |
---|---|---|
160c4671 JB |
1 | # |
2 | # Conditional build: | |
3 | %bcond_without gui # GUI (gmixvm) | |
4 | ||
9f1d5d1d | 5 | Summary: GNU MIX Development Kit |
801b7626 | 6 | Summary(pl.UTF-8): GNU MIX Development Kit - zestaw programistyczny dla języka MIXAL |
9f1d5d1d | 7 | Name: mdk |
160c4671 | 8 | Version: 1.2.11 |
4374eb7c | 9 | Release: 2 |
9f1d5d1d | 10 | License: GPL v2 |
11 | Group: Applications | |
160c4671 JB |
12 | Source0: https://ftp.gnu.org/gnu/mdk/v%{version}/%{name}-%{version}.tar.gz |
13 | # Source0-md5: 5598a4c20a0c5c670e25a7bbda6d8f3e | |
14 | Patch0: %{name}-gettext.patch | |
15 | Patch1: %{name}-info.patch | |
9f1d5d1d | 16 | URL: http://www.gnu.org/software/mdk/mdk.html |
160c4671 | 17 | BuildRequires: autoconf >= 2.50 |
9d1000e2 | 18 | BuildRequires: automake |
160c4671 | 19 | BuildRequires: flex >= 2.5 |
861ff11f | 20 | BuildRequires: gettext-tools >= 0.14 |
160c4671 JB |
21 | BuildRequires: glib2-devel >= 1:2.4.0 |
22 | # 2.0, 2.2 or 3.0 | |
23 | BuildRequires: guile-devel >= 2.0 | |
24 | BuildRequires: intltool >= 0.37 | |
25 | BuildRequires: ncurses-devel | |
ed714492 JB |
26 | BuildRequires: pkgconfig |
27 | BuildRequires: readline-devel | |
160c4671 JB |
28 | BuildRequires: texinfo |
29 | %if %{with gui} | |
9d1000e2 | 30 | BuildRequires: gtk+2-devel >= 2:2.6.0 |
160c4671 | 31 | BuildRequires: libglade2-devel >= 1:2.4.0 |
9d1000e2 | 32 | BuildRequires: pango-devel >= 1:1.4 |
160c4671 JB |
33 | %endif |
34 | Requires: glib2 >= 1:2.4.0 | |
9f1d5d1d | 35 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
36 | ||
37 | %description | |
38 | MDK stands for MIX Development Kit, and provides tools for developing | |
39 | and executing, in a MIX virtual machine, MIXAL programs. | |
40 | ||
41 | The MIX is Donald Knuth's mythical computer, described in the first | |
42 | volume of The Art of Computer Programming, which is programmed using | |
43 | MIXAL, the MIX assembly language. | |
44 | ||
45 | MDK includes a MIXAL assembler (mixasm) and a MIX virtual machine | |
46 | (mixvm) with a command line interface. In addition, a GTK+ GUI to | |
47 | mixvm, called gmixvm, is provided; and, for Emacs guy, exists emacs | |
48 | mode, which allows running mixvm inside an Emacs GUD buffer. | |
49 | ||
37a4c74f | 50 | %description -l pl.UTF-8 |
dd25d1a7 | 51 | MDK oznacza MIX Development Kit (zestaw programistyczny MIX) i |
37a4c74f | 52 | dostarcza narzędzia do tworzenia i wykonywania programów w języku |
dd25d1a7 JB |
53 | MIXAL na wirtualnej maszynie MIX. |
54 | ||
37a4c74f JR |
55 | MIX to mityczny komputer Donalda Knutha opisany w pierwszej części |
56 | "The Art of Computer Programming", którą programuje się w języku | |
dd25d1a7 JB |
57 | asemblera MIXAL (MIX assembly language). |
58 | ||
37a4c74f JR |
59 | MDK zawiera asembler MIXAL (mixasm) oraz maszynę wirtualną MIX (mixvm) |
60 | z interfejsem linii poleceń. Ponadto dostarczony jest graficzny | |
61 | interfejs GTK+ do mixvm o nazwie gmixvm; a dla emacsowców istnieje | |
62 | tryb Emacsa pozwalający na uruchomienie mixvm wewnątrz bufora GUD | |
dd25d1a7 | 63 | Emacsa. |
9f1d5d1d | 64 | |
160c4671 JB |
65 | %package gui |
66 | Summary: gmixvm - GUI for mixvm (MIX virtual machine) | |
67 | Summary(pl.UTF-8): gmixvm - GUI do mixvm (maszyny wirtualnej MIX) | |
68 | Group: X11/Applications | |
69 | Requires: %{name} = %{version}-%{release} | |
70 | Requires: gtk+2 >= 2:2.6.0 | |
71 | Requires: libglade2 >= 1:2.4.0 | |
72 | Requires: pango >= 1:1.4 | |
73 | ||
74 | %description gui | |
75 | gmixvm - GUI for mixvm (MIX virtual machine). | |
76 | ||
77 | %description gui -l pl.UTF-8 | |
78 | gmixvm - GUI do mixvm (maszyny wirtualnej MIX). | |
79 | ||
9f1d5d1d | 80 | %prep |
81 | %setup -q | |
9d1000e2 | 82 | %patch0 -p1 |
160c4671 | 83 | %patch1 -p1 |
9f1d5d1d | 84 | |
85 | %build | |
160c4671 | 86 | %{__intltoolize} |
9d1000e2 | 87 | %{__libtoolize} |
160c4671 | 88 | %{__aclocal} -I m4 |
9d1000e2 JB |
89 | %{__autoconf} |
90 | %{__autoheader} | |
91 | %{__automake} | |
160c4671 JB |
92 | %configure \ |
93 | %{!?with_gui:--disable-gui} | |
94 | ||
9f1d5d1d | 95 | %{__make} |
9d1000e2 | 96 | |
9f1d5d1d | 97 | ln -s doc/img |
dd25d1a7 | 98 | %{__make} -C doc html |
9f1d5d1d | 99 | |
100 | %install | |
101 | rm -rf $RPM_BUILD_ROOT | |
102 | ||
103 | %{__make} install \ | |
104 | DESTDIR=$RPM_BUILD_ROOT | |
105 | ||
106 | %find_lang %{name} | |
160c4671 | 107 | %{__rm} img/Makefile* |
9f1d5d1d | 108 | |
109 | %clean | |
110 | rm -rf $RPM_BUILD_ROOT | |
111 | ||
9d1000e2 | 112 | %post -p /sbin/postshell |
45a9f7a9 | 113 | -/usr/sbin/fix-info-dir -c %{_infodir} |
9f1d5d1d | 114 | |
9d1000e2 | 115 | %postun -p /sbin/postshell |
45a9f7a9 | 116 | -/usr/sbin/fix-info-dir -c %{_infodir} |
9f1d5d1d | 117 | |
9f1d5d1d | 118 | %files -f %{name}.lang |
119 | %defattr(644,root,root,755) | |
160c4671 | 120 | %doc AUTHORS ChangeLog NEWS README THANKS doc/{img,mdk.html} |
9d1000e2 JB |
121 | %attr(755,root,root) %{_bindir}/mixasm |
122 | %attr(755,root,root) %{_bindir}/mixguile | |
123 | %attr(755,root,root) %{_bindir}/mixvm | |
124 | %dir %{_datadir}/%{name} | |
125 | %{_datadir}/%{name}/mixal-mode.el | |
126 | %{_datadir}/%{name}/mixvm.el | |
127 | %{_datadir}/%{name}/mixguile*.scm | |
9d1000e2 | 128 | %{_infodir}/mdk.info* |
160c4671 JB |
129 | |
130 | %if %{with gui} | |
131 | %files gui | |
132 | %defattr(644,root,root,755) | |
133 | %attr(755,root,root) %{_bindir}/gmixvm | |
134 | %{_datadir}/%{name}/mixgtk.glade | |
135 | %endif |