rfc: vim 5.3
Marcin Korzonek
mkorz w shadow.eu.org
Nie, 4 Paź 1998, 19:49:47 CEST
Witam,
Ponieważ vim-athena z develu ma przykry błąd, zacząłem przygotowywać
nowego speca dla mojego ulubionego edytora. Aktualną wersję dołączam do
tego listu do dyskusji.
Cechy w skrócie - generacja 6 pakietów:
vim -- zawiera statycznie linkowaną minimalną (ale i tak ważącą 600 KB)
wersję vim-a, kompilowaną bez optymalizacji i lądującą w /bin
jako vi, linki do niej: ex, view, rview oraz xxd, co do którego
nie jestem przekonany, czy powinien być w tym pakiecie. Słowem,
jest to typowa wersja do instalacji i używania na wypadek
awarii. IMHO powinna wchodzić w skład instalacji bazowej.
vim-slang i
vim-ncurses -- bogatsze w możliwości (ale bez wsparcia dla pythona, tcl
i perla) wersje vim, kompilowane z RPM_OPT_FLAGS. Pakiet zawiera
plik /usr/bin/vim.[slang,ncurses] i odpowiedniego linka
/usr/bin/vim (tworzonego w %post). Pakiety wzajemnie się
wykluczają Uwaga: wersja skompilowana ze slangiem nie chce na moim
testowym komputerze działać poprawnie.
vim-athena i
vim-lesstif -- wersje vim-a pod X11, konfiguracja taka jak w
vim-[slang,ncurses] (z tym, że jako biblioteka konsolowa
jest termcap).
vim-rt -- makra, dokumentacja, strony manuala i pliki składni do vima.
Taki podział wynikł z wcześniejszej dyskusji na liście, ale jest tylko
moją propozycją. Chętnie przyjmę wszystkie uwagi i poprawki (dlatego
jest rfc a nie info) ;)
Pozdrawiam wszystkich Vi(m)owców i nie tylko ;)
Marcin
P.S.0 Zauważyłem, że pojawił się syntax highlighting do speców. Wygląda
nieziemsko ;)
P.S.1 Nie mogę się dobić do ftp.vim.org, więc w Source? brakuje pełnych
URLi.
--
Marcin Korzonek
mkorz w shadow.eu.org
-------------- następna część ---------
Summary: Vim 5.3 static
Summary(pl): Vim 5.3a skompilowany statycznie
Name: vim
Version: 5.3
Release: 1
Source: %{name}-%{version}-src.tar.gz
Source1: %{name}-%{version}-rt.tar.gz
Source2: gvim.wmconfig
Copyright: GPL
Group: Applications/Editors
URL: http://www.vim.org/
Buildroot: /var/tmp/%{name}-%{version}-%{release}-root
%description
The classic Unix text editor. This version is build with minimal
feature and is installed in /bin as a rescue tool. The installation of
this package is STRONGLY recommended.
%description -l pl
Pakiet zawiera vim - klasyczny (unixowy) edytor tekstowy skompilowany
statycznie. Instalacja tego pakietu jest MOCNO zalecana, może on pomóc
Tobie uratować system w czasie awarii.
%package rt
Summary: Vim 5.3 runtime files
Summary(pl): Pliki przydatne edytorowi vim
Group: Applications/Editors
%description rt
This package contains macros, documentation, syntax configuration and
manual pages for vim. If you want to take advantage of vim more powerful
features, you should install this package.
%description rt -l pl
W tym pakiecie znajdziesz dokumentację, makra, pliki konfiguracyjne i strony
podręcznika edytora vim. Jeżeli zamierzasz korzystać z vim-a, powinieneś
zainstalować ten pakiet.
%package slang
Summary: Vim 5.3 built with slang
Summary(pl): Vim 5.3 korzystający z bibliotek Slang
Group: Applications/Editors
Obsoletes: vim-ncurses
%description slang
The classic Unix text editor build with slang library. It adds
multiple windows, multi-level undo, block highliting, and many other
features to the standard vi program.
%description slang -l pl
Wersja edytora vim skompilowana z biblioteką slang. W porownaniu z
edytorem vi, ta wersja oferuje dodatkowo pracę z wieloma plikami,
wielopoziomowe operacje cofnij, bloki, podświetlanie składni i wiele
innych usprawnień.
%package ncurses
Summary: Vim 5.3 built with ncurses
Summary(pl): Vim 5.3 korzystający z bibliotek ncurses
Group: Applications/Editors
Obsoletes: vim-slang
%description ncurses
The classic Unix text editor build with ncurses library. It adds
multiple windows, multi-level undo, block highliting, and many other
features to the standard vi program.
%description ncurses -l pl
Wersja edytora vim skompilowana z biblioteką ncurses. W porownaniu z
edytorem vi, ta wersja oferuje dodatkowo pracę z wieloma plikami,
wielopoziomowe operacje cofnij, bloki, podświetlanie składni i wiele
innych usprawnień.
%package athena
Summary: Vim 5.3 built with X11 and athena support
Summary(pl): Vim 5.3 pod X-Window korzystający z Athena Widget Set
Group: Applications/Editors
Obsoletes: vim-lesstif
%description athena
The classic Unix text editor now also under X Window System!
This version is build with Athena Widget Set.
%description athena -l pl
Wersja edytora vim pracująca w graficznym środowisku X Window
z wykorzystaniem Athena Widget Set.
%package lesstif
Summary: Vim 5.3 built with X11 and LessTif support
Summary(pl): Vim 5.3 pod X-Window korzystający z bibliotek LessTif
Group: Applications/Editors
Obsoletes: vim-athena
%description lesstif
The classic Unix text editor now also under X Window System!
This version is build with LessTiff.
%description lesstif -l pl
Wersja edytora vim pracująca w graficznym środowisku X Window
z wykorzystaniem LessTif.
#####################################################################
%prep
%setup -q -b 1
#%patch -p1
%build
LDFLAGS=-static CFLAGS=-O ./configure --disable-gui --without-x \
--disable-perlinterp --disable-pythoninterp --disable-tclinterp \
--disable-cscope --enable-min-features --with-tlib=termcap --prefix=/usr
make
mv src/vim src/vim.termcap
mv src/xxd/xxd src/xxd.termcap
make distclean
LDFLAGS=-s CFLAGS="$RPM_OPT_FLAGS" ./configure --disable-gui --without-x \
--disable-perlinterp --disable-pythoninterp --disable-tclinterp \
--disable-cscope --with-tlib=slang --prefix=/usr
make
mv src/vim src/vim.slang
make distclean
LDFLAGS=-s CFLAGS="$RPM_OPT_FLAGS" ./configure --disable-gui --without-x \
--disable-perlinterp --disable-pythoninterp --disable-tclinterp \
--disable-cscope --with-tlib=ncurses --prefix=/usr
make
mv src/vim src/vim.ncurses
make distclean
LDFLAGS=-s CFLAGS="$RPM_OPT_FLAGS" ./configure --enable-gui=athena --with-x \
--disable-perlinterp --disable-pythoninterp --disable-tclinterp \
--disable-cscope --with-tlib=termcap --prefix=/usr
make
mv src/vim src/vim.athena
make distclean
LDFLAGS=-s CFLAGS="$RPM_OPT_FLAGS" ./configure --enable-gui=motif --with-x \
--disable-perlinterp --disable-pythoninterp --disable-tclinterp \
--disable-cscope --with-tlib=termcap --prefix=/usr
make
mv src/vim src/vim.lesstif
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/X11/wmconfig
install -d $RPM_BUILD_ROOT/bin
install -d $RPM_BUILD_ROOT/usr/{bin,X11R6/bin,share/vim,man/man1}
#make prefix=$RPM_BUILD_ROOT/usr install
install -s src/vim.termcap $RPM_BUILD_ROOT/bin/vi
install -s src/xxd.termcap $RPM_BUILD_ROOT/bin/xxd
install -s src/vim.slang $RPM_BUILD_ROOT/usr/bin/vim.slang
install -s src/vim.ncurses $RPM_BUILD_ROOT/usr/bin/vim.ncurses
install -s src/vim.athena $RPM_BUILD_ROOT/usr/X11R6/bin/gvim.athena
install -s src/vim.lesstif $RPM_BUILD_ROOT/usr/X11R6/bin/gvim.lesstif
install doc/vim.1 $RPM_BUILD_ROOT/usr/man/man1
install doc/xxd.1 $RPM_BUILD_ROOT/usr/man/man1
echo "so vim.1" >$RPM_BUILD_ROOT/usr/man/man1/vi.1
echo "so vim.1" >$RPM_BUILD_ROOT/usr/man/man1/ex.1
echo "so vim.1" >$RPM_BUILD_ROOT/usr/man/man1/view.1
echo "so vim.1" >$RPM_BUILD_ROOT/usr/man/man1/gvim.1
echo "so vim.1" >$RPM_BUILD_ROOT/usr/man/man1/gview.1
echo "so vim.1" >$RPM_BUILD_ROOT/usr/man/man1/rvim.1
echo "so vim.1" >$RPM_BUILD_ROOT/usr/man/man1/rview.1
echo "so vim.1" >$RPM_BUILD_ROOT/usr/man/man1/rgvim.1
echo "so vim.1" >$RPM_BUILD_ROOT/usr/man/man1/rgview.1
cp -a macros $RPM_BUILD_ROOT/usr/share/vim/macros
cp -a syntax $RPM_BUILD_ROOT/usr/share/vim/syntax
cp -a tutor $RPM_BUILD_ROOT/usr/share/vim/tutor
install bugreport.vim menu.vim $RPM_BUILD_ROOT/usr/share/vim
install vimrc_example $RPM_BUILD_ROOT/usr/share/vim/vimrc
install %{SOURCE2} $RPM_BUILD_ROOT/etc/X11/wmconfig/gvim
touch $RPM_BUILD_ROOT/usr/bin/vim $RPM_BUILD_ROOT/usr/X11R6/bin/gvim
cd $RPM_BUILD_ROOT/bin
ln -sf vi ex
ln -sf vi view
ln -sf vi rview
cd ../usr/bin
ln -sf vim rvim
cd ../X11R6/bin
ln -sf gvim rgvim
ln -sf gvim gview
ln -sf gvim rgview
%clean
rm -rf $RPM_BUILD_ROOT
%post slang
ln -sf /usr/bin/vim.slang /usr/bin/vim
%post ncurses
ln -sf /usr/bin/vim.ncurses /usr/bin/vim
%post athena
ln -sf /usr/X11R6/bin/gvim.athena /usr/X11R6/bin/gvim
%post lesstif
ln -sf /usr/X11R6/bin/gvim.lesstif /usr/X11R6/bin/gvim
%files
%defattr(0644, root, root, 755)
%attr(0711, root, root) /bin/*
%files slang
%attr(0711, root, root) /usr/bin/vim.slang
%attr(0711, root, root) /usr/bin/rvim
%attr(0711, root, root) %ghost /usr/bin/vim
%files ncurses
%attr(0711, root, root) /usr/bin/vim.ncurses
%attr(0711, root, root) /usr/bin/rvim
%attr(0711, root, root) %ghost /usr/bin/vim
%files athena
%attr(0711, root, root) /usr/X11R6/bin/gvim.athena
%attr(0711, root, root) /usr/X11R6/bin/rgvim
%attr(0711, root, root) /usr/X11R6/bin/rgview
%attr(0644, root, root) /etc/X11/wmconfig/gvim
%attr(0711, root, root) %ghost /usr/X11R6/bin/gvim
%files lesstif
%attr(0711, root, root) /usr/X11R6/bin/gvim.lesstif
%attr(0711, root, root) /usr/X11R6/bin/rgvim
%attr(0711, root, root) /usr/X11R6/bin/rgview
%attr(0644, root, root) /etc/X11/wmconfig/gvim
%attr(0711, root, root) %ghost /usr/X11R6/bin/gvim
%files rt
%defattr(0644, root, root, 755)
%doc doc/*.txt
%dir /usr/share/vim
%attr(0644, root, man) /usr/man/man1/*
/usr/share/vim/macros
/usr/share/vim/syntax
/usr/share/vim/tutor
/usr/share/vim/bugreport.vim
%config %verify(not size mtime md5) /usr/share/vim/menu.vim
%config %verify(not size mtime md5) /usr/share/vim/vimrc
%changelog
* Sun Oct 04 1998 Marcin Korzonek <mkorz w shadow.eu.org>
[5.3-1]
- completely rewritten spec, added 5 subpackages
* Thu Aug 13 1998 Wojtek Slusarczyk <wojtek w shadow.eu.org>
[5.0-1d]
- build against glibc-2.1,
- translation modified for pl,
- added build-root support,
- added %changelog,
- fixed permissions fo ELF binaries.
Więcej informacji o liście dyskusyjnej pld-devel-pl