+#
+# Conditional build:
+# _with_static - linked static
+#
+# TODO: look at commented out patches
+# documentation build is very very slow, I don't why
+
Summary: A DOS emulator
Summary(de): DOS-Emulator
+Summary(es): Emulador DOS
Summary(fr): Emulateur DOS
+Summary(pl): Emulator DOSa
+Summary(pt_BR): Emulador DOS
Summary(tr): DOS öykünümcüsü
Name: dosemu
-Version: 1.0.1
-Release: 2
-License: Distributable
+%define ver 1.1.4
+%define subver 13
+Version: %{ver}.%{subver}
+# Please don't bump to 1 until dosemu-1.2
+Release: 0.2
+License: GPL v2
Group: Applications/Emulators
-Group(de): Applikationen/Emulators
-Group(pl): Aplikacje/Emulatory
-Source0: ftp://ftp.dosemu.org/dosemu/%{name}-%{version}.tgz
-Source1: http://www.freedos.org/files/distributions/base1.zip
-Source2: http://www.freedos.org/files/distributions/util1.zip
-Source3: http://www.freedos.org/files/distributions/edit1.zip
-Source4: ftp://ftp.gcfl.net/freedos/kernel/ker2019x.zip
-Source5: ftp://ftp.home.vim.org/pub/vim/pc/vim56d16.zip
-Source6: ftp://ftp.home.vim.org/pub/vim/pc/vim56rt.zip
-Source7: autoexec.bat
-Source8: config.sys
-Patch0: %{name}-0.66.7-config.patch
-Patch1: %{name}-0.66.7-glibc.patch
-Patch2: %{name}-0.66.7-pushal.patch
-Patch3: %{name}-0.98.1-security.patch
-Patch4: %{name}-0.98.1-justroot.patch
-Patch5: %{name}-make-new.patch
-Patch6: %{name}m-1.0.0-glibc22.patch
-Patch7: %{name}-1.0.1-broken.patch
+Source0: ftp://ftp.sourceforge.net/pub/sourceforge/dosemu/%{name}-%{ver}.tgz
+Source1: http://dosemu.sourceforge.net/testing/patchset-%{version}.tgz
+#Source2: %{name}-sys.tar.gz
+Source3: %{name}-PRZECZYTAJ_TO
+Source4: %{name}-README.PLD
+Source5: %{name}.desktop
+Source6: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-pl-man-pages.tar.bz2
+Patch0: %{name}-man-pages.patch
+Patch1: %{name}-parser-buf.patch
+Patch2: %{name}-make-new.patch
+Patch3: %{name}-%{name}_conf.patch
+Patch4: %{name}-doSgmlTools.patch
+Patch5: %{name}-makehtml.patch
+Patch6: %{name}-nox.patch
URL: http://www.dosemu.org/
+BuildRequires: XFree86-devel
+BuildRequires: autoconf
BuildRequires: bin86
-BuildRequires: mtools
-BuildRequires: unzip
BuildRequires: bison
+BuildRequires: docbook-dtd30-sgml
BuildRequires: flex
-Requires: mtools >= 3.6
-Exclusivearch: %{ix86}
+BuildRequires: lynx
+BuildRequires: openjade
+BuildRequires: perl
+BuildRequires: sgml-tools
+BuildRequires: slang-devel
+BuildRequires: util-linux
+BuildRequires: unzip
+%{?_with_static:BuildRequires: glibc-static}
+%{?_with_static:BuildRequires: XFree86-static}
+%{?_with_static:BuildRequires: slang-static}
+ExclusiveArch: %{ix86}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Conflicts: kernel < 2.0.28
+Conflicts: mtools < 3.6
+Obsoletes: xdosemu
+
+%define _xbindir /usr/X11R6/bin
+%define _dosemudir /var/lib/dosemu
%description
Dosemu is a DOS emulator. Once you've installed dosemu, start the DOS
You need to install dosemu if you use DOS programs and you want to be
able to run them on your GNU/Linux system. You may also need to
-install the dosemu-freedos package.
+install the dosemu-freedos-* packages.
+
+%description -l es
+Esta es una versión del emulador DOS que fue proyectada para
+ejecutarse en secciones X Window. Ofrece soporte a gráficos VGA como
+también soporte a ratón.
+
+%description -l pl
+Dosemu to Emulator systemu DOS. Po zainstalowaniu mo¿esz go uruchomiæ
+komend± "dos".
+
+Je¶li korzystasz z dosowych programów i chcia³by¶ je uruchamiaæ na
+twoim Linuksowym systemie zainstaluj dosemu. Mo¿esz te¿ potrzebowaæ
+pakietów dosemu-freedos-*.
+
+%description -l pt_BR
+Essa é uma versão do emulador DOS que foi projetada para rodar em
+sessões X Window. Oferece suporte para gráficos VGA bem como suporte
+para mouse.
%package -n xdosemu
Summary: A DOS emulator for the X Window System
Summary(de): DOS-Emulator für X
+Summary(es): Emulador DOS que se ejecuta en X
Summary(fr): Émulateur DOS conçu pou être lancé sous X
+Summary(pl): Emulator DOSa dla Systemu X Window
+Summary(pt_BR): Emulador DOS que roda no X
Summary(tr): X altýnda çalýþan DOS öykünümcüsü
Group: Applications/Emulators
-Group(de): Applikationen/Emulators
-Group(pl): Aplikacje/Emulatory
-Requires: %{name} = %{version}
+Provides: dosemu
+Obsoletes: dosemu
%description -n xdosemu
Xdosemu is a version of the dosemu DOS emulator that runs with the X
Window System. Xdosemu provides VGA graphics and mouse support.
-Install xdosemu if you need to run DOS programs on your system, and
-you'd like to do so with the convenience of graphics support and mouse
-capabilities.
-
-%description -l de -n xdosemu
+%description -n xdosemu -l de
Dies ist eine Version des DOS-Emulators für X-Windows-Sitzungen. Er
unterstützt VGA-Grafiken und Maus.
-%description -l fr -n xdosemu
+%description -n xdosemu -l es
+Esta es la versión del emulador DOS dibujada para ejecutarse en una
+ventana del X Window. Posee soporte para gráficos VGA y ratón.
+
+%description -n xdosemu -l fr
Version de l'émulateur DOS conçue pour tourner dans une session X.
Offre une gestion des graphismes VGA et de la souris.
-%description -l tr -n xdosemu
+%description -n xdosemu -l pl
+Xdosemu jest wersj± emulatora dosemu dzia³aj±c± w X Window System.
+Xdosemu ma wsparcie dla grafiki VGA i obs³ugi myszki.
+
+%description -n xdosemu -l pt_BR
+Esta é a versão do emulador DOS desenhada para rodar em uma janela do
+X Window. Possui suporte a gráficos VGA e mouse.
+
+%description -n xdosemu -l tr
Bu yazýlým, DOS öykünümcüsünün X altýnda çalýþan bir sürümüdür. VGA
grafikleri ve fare desteði vardýr.
-%package freedos
-Requires: %{name} = %{version}
-Summary: A FreeDOS hdimage for dosemu, a DOS emulator, to use.
+%package utils
+Summary: Utilities for dosemu
+Summary(pl): Programy pomocnicze do dosemu
Group: Applications/Emulators
-Group(de): Applikationen/Emulators
-Group(pl): Aplikacje/Emulatory
-
-%description freedos
-Generally, the dosemu DOS emulator requires either that your system
-have some version of DOS available or that your system's partitions
-were formatted and installed with DOS. If your system does not meet
-either of the previous requirements, you can instead use the dosemu-
-freedos package, which contains an hdimage file which will be
-installed in the /var/lib/dosemu directory. The hdimage file is
-already bootable with FreeDOS.
+Requires: dosemu
-You will need to edit your /etc/dosemu.conf file to add the image to
-the list of disk 'drives' used by dosemu.
+%description utils
+Utilities for dosemu: dexeconfig, hdinfo, mkhdimage, mkfatimage16.
-Install dosemu-freedos if you are installing the dosemu package and
-you don't have a version of DOS available on your system, and your
-system's partitions were not formatted and installed with DOS.
+%description utils -l pl
+Programy pomocnicze dla dosemu: dexeconfig, hdinfo, mkhdimage,
+mkfatimage16.
%prep
-%setup -q
-%patch0 -p1
+%setup -q -n %{name}-%{ver} -a1 -a6
+sh tmp/do_patch
+
+#%patch0 -p1
+#%patch1 -p1
#%patch2 -p1
-%patch3 -p1
-%patch4 -p1
+#%patch3 -p1
+%patch4 -p1
%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-
-rm -rf freedos
-mkdir freedos
-mkdir freedos/kernel
-mkdir freedos/tmp
-mkdir freedos/vim
-
-unzip -o -L -d freedos/kernel/ -j %{SOURCE4}
-cp -f contrib/dosC/dist/* freedos/kernel
-for i in %{SOURCE1} %{SOURCE3} %{SOURCE2} ; do
- unzip -o -L -d freedos/tmp $i
-done
-for i in freedos/tmp/*.zip ; do
- unzip -o -L -o -d freedos $i
-done
-unzip -L -o -d freedos %{SOURCE6}
-unzip -L -o -d freedos/vim-5.6 %{SOURCE5}
+%patch6 -p0
%build
-./default-configure --without-x
-echo | make
-mv -f bin/dos bin/dos-nox
-./default-configure
-echo | make
-mv -f bin/dos bin/dos-x
-mv -f bin/dos-nox bin/dos
+OPTFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}"; export OPTFLAGS
-%install
-rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir}/man1,%{_pixmapsdir},/var/lib/dosemu,%{_datadir}/fonts}
-%{__make} install INSTROOT=$RPM_BUILD_ROOT
+./mkpluginhooks enable plugin_keyboard off plugin_kbd_unicode on \
+plugin_extra_charset on plugin_term on plugin_translate on plugin_demo off
+
+#cp -f base-configure.in configure.in
+%{__autoconf}
+
+# non-X version
+%configure2_13 \
+%{?_with_static:--enable-linkstatic} \
+ --enable-new-intcode \
+ --enable-aspi \
+ --without-x
+
+%{__make} WAIT=no
+mv -f bin/dosemu.bin bin/dos-nox
+
+# X version
+%configure2_13 \
+%{?_with_static:--enable-linkstatic} \
+ --enable-new-intcode \
+ --enable-aspi
+%{__make} WAIT=no
+mv -f bin/dosemu.bin bin/dos-x
+mv -f bin/dos-nox bin/dosemu.bin
-rm -f $RPM_BUILD_ROOT%{_bindir}/xdos
+mv -f man/dosemu.bin.1 man/dos.1
-install bin/dos-x $RPM_BUILD_ROOT%{_bindir}/xdos
-install setup-hdimage $RPM_BUILD_ROOT%{_bindir}
+# documentation
+%{__make} -C src/doc/DANG html
+%{__make} -C src/doc/HOWTO html
+%{__make} -C src/doc/README html
+
+find src/doc -name "*.html" -exec cp -f '{}' doc/ ';'
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_xbindir},%{_sysconfdir},%{_pixmapsdir}} \
+ $RPM_BUILD_ROOT{%{_mandir}/man1,%{_mandir}/pl/man1} \
+ $RPM_BUILD_ROOT%{_dosemudir}/bootdir/{dosemu,freedos/doc/fdkernel} \
+ $RPM_BUILD_ROOT%{_applnkdir}/System
+
+#%{__make} install DESTDIR=$RPM_BUILD_ROOT
+
+install bin/dosemu.bin $RPM_BUILD_ROOT%{_bindir}/dos
+install bin/dos-x $RPM_BUILD_ROOT%{_xbindir}/dos
+install bin/midid $RPM_BUILD_ROOT%{_bindir}/midid
+ln -sf dos $RPM_BUILD_ROOT%{_xbindir}/xdos
+ln -sf dos $RPM_BUILD_ROOT%{_xbindir}/dosexec
+install bin/dosdebug $RPM_BUILD_ROOT%{_bindir}/dosdebug
install src/tools/periph/{dexeconfig,hdinfo,mkhdimage,mkfatimage16} $RPM_BUILD_ROOT%{_bindir}
-install etc/dosemu.xpm $RPM_BUILD_ROOT%{_prefix}/X11R6/share/pixmaps
-install etc/dosemu.users.secure $RPM_BUILD_ROOT%{_sysconfdir}/dosemu.users
- src/tools/periph/mkfatimage16 -p -k 16192 -l FreeDos \
- -b freedos/kernel/boot.bin \
- -f $RPM_BUILD_ROOT/var/lib/dosemu/hdimage.freedos \
- freedos/kernel/*
-FREEDOS=`/bin/mktemp /tmp/freedos.XXXXXX`
-echo "drive n: file=\"$RPM_BUILD_ROOT/var/lib/dosemu/hdimage.freedos\" offset=8832" > $FREEDOS
-MTOOLSRC=$FREEDOS
-export MTOOLSRC
-mcopy -o/ freedos/vim-5.6 freedos/bin freedos/doc freedos/help freedos/emacs n:
-mmd n:/DOSEMU
-mcopy -/ commands/* n:/DOSEMU
-mcopy -o %{SOURCE7} %{SOURCE8} commands/exitemu* n:/
-mdir -w n:
-rm -f $FREEDOS
-unset MTOOLSRC
-
-install etc/hdimage.dist $RPM_BUILD_ROOT/var/lib/dosemu/hdimage
-# install dexe utils
-install dexe/{do_mtools,extract-dos,mkdexe,myxcopy} $RPM_BUILD_ROOT%{_bindir}
-
-cat <<EOF >$RPM_BUILD_ROOT%{_bindir}/rundos
-#!/bin/sh
-BINDIR=/bin
-export BINDIR
-# ignore errors if user does not have module installed
-%attr(755,root,root) %{_bindir}/dos
-EOF
+ln -sf dos $RPM_BUILD_ROOT%{_bindir}/dosexec
-# Take out irritating ^H's from the documentation
-for i in `ls --color=no doc/` ; do cat doc/$i > $i ; cat $i | perl -p -e 's/.\b//g' > doc/$i ; done
+install etc/dosemu.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
+install etc/dosemu.users.example $RPM_BUILD_ROOT%{_sysconfdir}/dosemu.users
+install etc/global.conf $RPM_BUILD_ROOT%{_dosemudir}/global.conf
+install etc/dosemu.conf $RPM_BUILD_ROOT%{_sysconfdir}/dosemu.conf
-rm -f doc/{configuration,dosemu.lsm}
+install man/{dos.1,dosdebug.1,xdos.1,mkfatimage16.1} $RPM_BUILD_ROOT%{_mandir}/man1
+install pl/man1/{dos.1,dosdebug.1,xdos.1} $RPM_BUILD_ROOT%{_mandir}/pl/man1
+
+install commands/*.com $RPM_BUILD_ROOT%{_dosemudir}/bootdir/dosemu
+install commands/*.sys $RPM_BUILD_ROOT%{_dosemudir}/bootdir/dosemu
+cp %{SOURCE3} PRZECZYTAJ_TO
+cp %{SOURCE4} README.PLD
+install %{SOURCE5} $RPM_BUILD_ROOT%{_applnkdir}/System
-mv $RPM_BUILD_ROOT/usr/X11R6/lib/X11/fonts/misc \
- $RPM_BUILD_ROOT%{_datadir}/fonts
+#ln -sf dosemu/comcom.com $RPM_BUILD_ROOT%{_dosemudir}/bootdir/command.com
-gzip -9nf QuickStart COPYING ChangeLog* doc/* \
- $RPM_BUILD_ROOT%{_datadir}/fonts/misc/*
+rm -f doc/{configuration,dosemu.lsm}
%clean
rm -rf $RPM_BUILD_ROOT
-%post -n xdosemu
-if [ -x /usr/X11R6/bin/mkfontdir ]; then
- (cd /usr/share/fonts/misc; /usr/X11R6/bin/mkfontdir)
-fi
-killall -USR1 xfs > /dev/null 2>&1 ||:
-
-%postun -n xdosemu
-if [ -x /usr/X11R6/bin/mkfontdir ]; then
- (cd /usr/share/fonts/misc; /usr/X11R6/bin/mkfontdir)
-fi
-killall -USR1 xfs > /dev/null 2>&1 ||:
-
-%post freedos
-[ -e /var/lib/dosemu/hdimage.first ] || \
- ln -s hdimage.freedos /var/lib/dosemu/hdimage.first
-
-%postun freedos
-if [ "$1" =" 0" ]; then
- if [ -e /var/lib/dosemu/hdimage.first ]; then
- rm -f /var/lib/dosemu/hdimage.first
- fi
-fi
-
%files
%defattr(644,root,root,755)
-%doc *.gz doc/*
-%dir /var/lib/dosemu
-%config %{_sysconfdir}/dosemu.conf
-%config %{_sysconfdir}/dosemu.users
-%config /var/lib/dosemu/hdimage
-%config /var/lib/dosemu/global.conf
-%attr(4755,root,root) %{_bindir}/dos
+%doc QuickStart COPYING ChangeLog* doc/*.html PRZECZYTAJ_TO README.PLD
+%dir %{_dosemudir}
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/dosemu.conf
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/dosemu.users
+%config(noreplace) %verify(not size mtime md5) %{_dosemudir}/global.conf
+%attr(755,root,root) %{_bindir}/dos
%attr(755,root,root) %{_bindir}/dosdebug
%attr(755,root,root) %{_bindir}/dosexec
-%attr(755,root,root) %{_bindir}/dexeconfig
-%attr(755,root,root) %{_bindir}/hdinfo
-%attr(755,root,root) %{_bindir}/do_mtools
-%attr(755,root,root) %{_bindir}/extract-dos
-%attr(755,root,root) %{_bindir}/mkdexe
-%attr(755,root,root) %{_bindir}/myxcopy
-%attr(755,root,root) %{_bindir}/mkhdimage
-%attr(755,root,root) %{_bindir}/mkfatimage16
-%attr(755,root,root) %{_bindir}/rundos
-%attr(755,root,root) %{_bindir}/setup-hdimage
-%{_mandir}/man1/dos.1*
-%{_mandir}/man1/dosdebug.1*
-%{_mandir}/man1/mkfatimage16.1*
+%attr(755,root,root) %{_bindir}/midid
+%dir %{_dosemudir}/bootdir
+%dir %{_dosemudir}/bootdir/dosemu
+%{_dosemudir}/bootdir/dosemu/*
+#%{_dosemudir}/bootdir/command.com
+%{_mandir}/man1/[dm]*
+%lang(pl) %{_mandir}/pl/man1/d*
%{_pixmapsdir}/dosemu.xpm
%files -n xdosemu
%defattr(644,root,root,755)
-%attr(4755,root,root) %{_bindir}/xdos
-# %attr(755,root,root) %{_bindir}/xtermdos
+%doc QuickStart COPYING ChangeLog* doc/*.html PRZECZYTAJ_TO README.PLD
+%dir %{_dosemudir}
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/dosemu.conf
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/dosemu.users
+%config(noreplace) %verify(not size mtime md5) %{_dosemudir}/global.conf
+%attr(755,root,root) %{_bindir}/dosdebug
+%attr(755,root,root) %{_bindir}/midid
+%attr(755,root,root) %{_xbindir}/*
+%dir %{_dosemudir}/bootdir
+%dir %{_dosemudir}/bootdir/dosemu
+%{_dosemudir}/bootdir/dosemu/*
+#%{_dosemudir}/bootdir/command.com
+%{_mandir}/man1/[dm]*
%{_mandir}/man1/xdos.1*
-# %{_mandir}/man1/xtermdos.1*
-%{_datadir}/fonts/misc/*
+%lang(pl) %{_mandir}/pl/man1/d*
+%lang(pl) %{_mandir}/pl/man1/xdos.1*
+%{_applnkdir}/System/*
+%{_pixmapsdir}/dosemu.xpm
-%files freedos
+%files utils
%defattr(644,root,root,755)
-%config /var/lib/dosemu/hdimage.freedos
+%attr(755,root,root) %{_bindir}/dexeconfig
+%attr(755,root,root) %{_bindir}/hdinfo
+%attr(755,root,root) %{_bindir}/mkhdimage
+%attr(755,root,root) %{_bindir}/mkfatimage16