X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=debian%2Frules;h=fb7fb381dc57b8d7f8002aed97dbebb9d6907ba0;hb=b7940e0e499e110b2ed09f5f68fe40c56948e529;hp=dc5b5f876cfaf381f0703d65f8578dc7a17ee00c;hpb=9667c93001de8537e8ccf0edfd1d10590b0ebffd;p=vlc diff --git a/debian/rules b/debian/rules index dc5b5f876c..fb7fb381dc 100755 --- a/debian/rules +++ b/debian/rules @@ -6,16 +6,160 @@ #export DH_VERBOSE=1 # This is the debhelper compatability version to use. -export DH_COMPAT=1 +export DH_COMPAT=3 -build: build-stamp +# +# Compilation options +# + +CONFIG_FLAGS = --enable-release --prefix=/usr +CONFIG_FLAGS += \ + --enable-gnome \ + --enable-gtk \ + --enable-familiar \ + --enable-fb \ + --enable-ggi \ + --enable-sdl \ + --enable-esd \ + --enable-qt \ + --enable-mad \ + --enable-arts \ + --enable-alsa \ + --enable-lirc \ + --enable-a52 \ + --enable-aa \ + --enable-dvbpsi \ + --enable-xosd \ + --enable-mozilla \ + --enable-kde \ + --enable-mp4 \ + --enable-dvb \ + --enable-dv \ + --enable-satellite \ + --enable-ogg \ + --enable-vorbis \ + --enable-wxwindows \ + --enable-slp \ + --enable-flac \ + --enable-skins \ + --disable-basic-skins \ + --disable-freetype \ + --disable-mkv \ + --enable-v4l \ + $(NULL) + +# These ones are currently shipped with VLC +CONFIG_FLAGS += --enable-ffmpeg --with-ffmpeg-tree=extras/ffmpeg +CONFIG_FLAGS += --enable-faad --with-faad-tree=extras/faad +CONFIG_FLAGS += --enable-libmpeg2 --with-libmpeg2-tree=extras/mpeg2dec + +# Glide is only for x86 +ifeq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386) +CONFIG_FLAGS += --enable-glide +CONFIG_FLAGS += --enable-svgalib +endif + +# Remove --without-dvdcss in non-totalitarian countries +CONFIG_FLAGS += --enable-dvd --without-dvdcss + +# A few shortcuts +VIDDIR = usr/share/vlc +PIXDIR = usr/share/pixmaps +GNOMEDIR = usr/share/gnome/apps/Multimedia + +# +# Build rules +# + +configure: configure-stamp +configure-stamp: + dh_testdir + + # Touch stuff + touch configure.ac \ + && touch aclocal.m4 \ + && touch configure \ + && touch config.h.in \ + && touch `find . -name Makefile.in` + + # Check that we have an ffmpeg tree in here (can be a symlink) + test -d extras/ffmpeg + if test ! -d CVS; then \ + cd extras/ffmpeg \ + && ./configure \ + && cd libavcodec \ + && $(MAKE); \ + fi + + # Check that we have an faad tree in here (can be a symlink) + test -d extras/faad + if test ! -d CVS; then \ + cd extras/faad \ + && touch `find . -name configure.in` \ + && touch `find . -name aclocal.m4` \ + && touch `find . -name configure` \ + && touch `find . -name config.h.in` \ + && touch `find . -name Makefile.in` \ + && ./configure --disable-shared \ + && cd libfaad \ + && $(MAKE); \ + fi + + # Check that we have an mpeg2dec tree in here (can be a symlink) + test -d extras/mpeg2dec + if test ! -d CVS; then \ + cd extras/mpeg2dec \ + && touch configure.in \ + && touch aclocal.m4 \ + && touch acinclude.m4 \ + && touch configure \ + && touch `find . -name config.h.in` \ + && touch `find . -name Makefile.in` \ + && ./configure --disable-shared \ + && cd libmpeg2 \ + && $(MAKE); \ + fi + + # Configure VLC + ./configure --mandir=$${prefix}/share/man \ + --infodir=$${prefix}/share/info $(CONFIG_FLAGS) + + touch configure-stamp + +build: configure-stamp build-stamp build-stamp: dh_testdir - ./configure --prefix=/usr \ - --mandir=\$${prefix}/share/man \ - --infodir=\$${prefix}/share/info \ - --enable-mmx --enable-gnome --enable-fb + # Build only VLC, with the non-PIC libs + $(MAKE) vlc + +ifneq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386) + # Hackety hackety hack + if test ! -d CVS; then \ + cd extras/ffmpeg/libavcodec \ + && $(MAKE) clean \ + && rm -f Makefile.pic \ + && sed 's/^CFLAGS *=/&-fPIC -DPIC /' Makefile.pic \ + && $(MAKE) -f Makefile.pic \ + && rm -f Makefile.pic; \ + fi + + # HACKETY HACKETY HACK + if test ! -d CVS; then \ + cd extras/faad/libfaad \ + && $(MAKE) clean \ + && $(MAKE) AM_CFLAGS=-fPIC; \ + fi + + # HACK ME PLENTY MORE!!! + if test ! -d CVS; then \ + cd extras/mpeg2dec/libmpeg2 \ + && $(MAKE) clean \ + && $(MAKE) LIBMPEG2_CFLAGS=-fPIC; \ + fi +endif + + # Build all the rest, with the PIC libs $(MAKE) touch build-stamp @@ -23,7 +167,20 @@ build-stamp: clean: dh_testdir dh_testroot - rm -f build-stamp + rm -f configure-stamp build-stamp + + # Check that we have an ffmpeg tree in here (can be a symlink) + test -d extras/ffmpeg + -if test ! -d CVS; then cd extras/ffmpeg && $(MAKE) distclean; fi + # Check that we have an faad tree in here (can be a symlink) + test -d extras/faad + -if test ! -d CVS; then cd extras/faad && $(MAKE) distclean; fi + # Check that we have an mpeg2dec tree in here (can be a symlink) + test -d extras/mpeg2dec + -if test ! -d CVS; then cd extras/mpeg2dec && $(MAKE) distclean; fi + + # Remove spurious autotools stuff + rm -f config.log confdefs.h -$(MAKE) distclean @@ -35,8 +192,161 @@ install: build dh_clean -k dh_installdirs - $(MAKE) install prefix=`pwd`/debian/tmp/usr + DESTDIR=`pwd`/debian/vlc/ $(MAKE) install prefix=/usr + + # Package: vlc + mv debian/vlc/$(VIDDIR)/vlc48x48.png debian/vlc/$(PIXDIR)/vlc.png + mv debian/vlc/$(VIDDIR)/vlc32x32.xpm debian/vlc/$(VIDDIR)/vlc.xpm + cp debian/gvlc.desktop debian/gvlc/$(GNOMEDIR) + cp debian/gnome-vlc.desktop debian/gnome-vlc/$(GNOMEDIR) + + cp doc/fortunes.txt debian/vlc/usr/share/games/fortunes/vlc + strfile doc/fortunes.txt debian/vlc/usr/share/games/fortunes/vlc.dat + + # Package: libvlc0-dev + mv debian/vlc/usr/bin/vlc-config debian/libvlc0-dev/usr/bin/ + mv debian/vlc/usr/lib/*.a debian/libvlc0-dev/usr/lib/ + mv debian/vlc/usr/lib/vlc/*.a debian/libvlc0-dev/usr/lib/vlc/ + mv debian/vlc/usr/include/vlc/*.h debian/libvlc0-dev/usr/include/vlc/ + rm -Rf debian/vlc/usr/include + ln -s vlc debian/libvlc0-dev/usr/share/doc/libvlc0-dev + # Package: gnome-vlc + mv debian/vlc/usr/bin/gnome-vlc debian/gnome-vlc/usr/bin/ + ln -s vlc debian/gnome-vlc/usr/share/doc/gnome-vlc + mv debian/vlc/usr/lib/vlc/misc/libgnome_main_plugin.so \ + debian/gnome-vlc/usr/lib/vlc/gui/ + mv debian/vlc/usr/lib/vlc/gui/libgnome_plugin.so \ + debian/gnome-vlc/usr/lib/vlc/gui/ + ln -s vlc.1.gz debian/gnome-vlc/usr/share/man/man1/gnome-vlc.1.gz + mv debian/vlc/$(VIDDIR)/gnome-vlc32x32.xpm debian/gnome-vlc/$(VIDDIR)/gnome-vlc.xpm + mv debian/vlc/$(VIDDIR)/gnome-vlc48x48.png debian/gnome-vlc/$(PIXDIR)/gnome-vlc.png + + # Package: vlc-gnome + mkdir -p debian/vlc-gnome/usr/share/doc/ + ln -s vlc debian/vlc-gnome/usr/share/doc/vlc-gnome + + # Package: gvlc + mv debian/vlc/usr/bin/gvlc debian/gvlc/usr/bin/ + ln -s vlc debian/gvlc/usr/share/doc/gvlc + mv debian/vlc/usr/lib/vlc/misc/libgtk_main_plugin.so \ + debian/gvlc/usr/lib/vlc/gui/ + mv debian/vlc/usr/lib/vlc/gui/libgtk_plugin.so \ + debian/gvlc/usr/lib/vlc/gui/ + mv debian/vlc/usr/lib/vlc/gui/libfamiliar_plugin.so \ + debian/gvlc/usr/lib/vlc/gui/ + ln -s vlc.1.gz debian/gvlc/usr/share/man/man1/gvlc.1.gz + mv debian/vlc/$(VIDDIR)/gvlc32x32.xpm debian/gvlc/$(VIDDIR)/gvlc.xpm + mv debian/vlc/$(VIDDIR)/gvlc48x48.png debian/gvlc/$(PIXDIR)/gvlc.png + + # Package: vlc-gtk + mkdir -p debian/vlc-gtk/usr/share/doc/ + ln -s vlc debian/vlc-gtk/usr/share/doc/vlc-gtk + + # Package: vlc-plugin-esd + ln -s vlc debian/vlc-plugin-esd/usr/share/doc/vlc-plugin-esd + mv debian/vlc/usr/lib/vlc/audio_output/libesd_plugin.so \ + debian/vlc-plugin-esd/usr/lib/vlc/audio_output/ + + # Package: vlc-esd + mkdir -p debian/vlc-esd/usr/share/doc/ + ln -s vlc debian/vlc-esd/usr/share/doc/vlc-esd + + # Package: vlc-plugin-alsa + ln -s vlc debian/vlc-plugin-alsa/usr/share/doc/vlc-plugin-alsa + mv debian/vlc/usr/lib/vlc/audio_output/libalsa_plugin.so \ + debian/vlc-plugin-alsa/usr/lib/vlc/audio_output/ + + # Package: vlc-alsa + mkdir -p debian/vlc-alsa/usr/share/doc/ + ln -s vlc debian/vlc-alsa/usr/share/doc/vlc-alsa + + # Package: vlc-plugin-sdl + ln -s vlc debian/vlc-plugin-sdl/usr/share/doc/vlc-plugin-sdl + mv debian/vlc/usr/lib/vlc/audio_output/libaout_sdl_plugin.so \ + debian/vlc-plugin-sdl/usr/lib/vlc/audio_output/ + mv debian/vlc/usr/lib/vlc/video_output/libvout_sdl_plugin.so \ + debian/vlc-plugin-sdl/usr/lib/vlc/video_output/ + + # Package: vlc-sdl + mkdir -p debian/vlc-sdl/usr/share/doc/ + ln -s vlc debian/vlc-sdl/usr/share/doc/vlc-sdl + + # Package: vlc-plugin-ggi + ln -s vlc debian/vlc-plugin-ggi/usr/share/doc/vlc-plugin-ggi + mv debian/vlc/usr/lib/vlc/video_output/libggi_plugin.so \ + debian/vlc-plugin-ggi/usr/lib/vlc/video_output/ + + # Package: vlc-ggi + mkdir -p debian/vlc-ggi/usr/share/doc/ + ln -s vlc debian/vlc-ggi/usr/share/doc/vlc-ggi + + # Package: vlc-plugin-glide +ifeq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386) + ln -s vlc debian/vlc-plugin-glide/usr/share/doc/vlc-plugin-glide + mv debian/vlc/usr/lib/vlc/video_output/libglide_plugin.so \ + debian/vlc-plugin-glide/usr/lib/vlc/video_output/ + + # Package: vlc-glide + mkdir -p debian/vlc-glide/usr/share/doc/ + ln -s vlc debian/vlc-glide/usr/share/doc/vlc-glide +endif + + # Package: qvlc + mv debian/vlc/usr/bin/qvlc debian/qvlc/usr/bin/ + ln -s vlc debian/qvlc/usr/share/doc/qvlc + mv debian/vlc/usr/lib/vlc/gui/libqt_plugin.so \ + debian/qvlc/usr/lib/vlc/gui/ + ln -s vlc.1.gz debian/qvlc/usr/share/man/man1/qvlc.1.gz + mv debian/vlc/$(VIDDIR)/qvlc32x32.xpm debian/qvlc/$(VIDDIR)/qvlc.xpm + mv debian/vlc/$(VIDDIR)/qvlc48x48.png debian/qvlc/$(PIXDIR)/qvlc.png + + # Package: vlc-qt + mkdir -p debian/vlc-qt/usr/share/doc/ + ln -s vlc debian/vlc-qt/usr/share/doc/vlc-qt + + # Package: vlc-plugin-arts + ln -s vlc debian/vlc-plugin-arts/usr/share/doc/vlc-plugin-arts + mv debian/vlc/usr/lib/vlc/audio_output/libarts_plugin.so \ + debian/vlc-plugin-arts/usr/lib/vlc/audio_output/ + + # Package: mozilla-plugin-vlc + ln -s vlc debian/mozilla-plugin-vlc/usr/share/doc/mozilla-plugin-vlc + mv debian/vlc/usr/lib/mozilla debian/mozilla-plugin-vlc/usr/lib + + # Package: kvlc + mv debian/vlc/usr/bin/kvlc debian/kvlc/usr/bin/ + ln -s vlc debian/kvlc/usr/share/doc/kvlc + mv debian/vlc/usr/lib/vlc/gui/libkde_plugin.so \ + debian/kvlc/usr/lib/vlc/gui/ + mv debian/vlc/usr/share/vlc/ui.rc \ + debian/kvlc/usr/share/vlc + ln -s vlc.1.gz debian/kvlc/usr/share/man/man1/kvlc.1.gz + mv debian/vlc/$(VIDDIR)/kvlc32x32.xpm debian/kvlc/$(VIDDIR)/kvlc.xpm + mv debian/vlc/$(VIDDIR)/kvlc48x48.png debian/kvlc/$(PIXDIR)/kvlc.png + + # Package: vlc-plugin-svgalib +ifeq ($(shell dpkg-architecture -qDEB_BUILD_GNU_CPU),i386) + ln -s vlc debian/vlc-plugin-svgalib/usr/share/doc/vlc-plugin-svgalib + mv debian/vlc/usr/lib/vlc/video_output/libsvgalib_plugin.so \ + debian/vlc-plugin-svgalib/usr/lib/vlc/video_output +endif + + # Package: wxvlc + mv debian/vlc/usr/bin/wxvlc debian/wxvlc/usr/bin/ + ln -s vlc debian/wxvlc/usr/share/doc/wxvlc + mv debian/vlc/usr/lib/vlc/gui/libwxwindows_plugin.so \ + debian/wxvlc/usr/lib/vlc/gui/ + mv debian/vlc/usr/lib/vlc/gui/libskins_plugin.so \ + debian/wxvlc/usr/lib/vlc/gui/ + mv debian/vlc/usr/share/vlc/skins \ + debian/wxvlc/usr/share/vlc/ + ln -s vlc.1.gz debian/wxvlc/usr/share/man/man1/wxvlc.1.gz + + # Clean up + rm -f debian/vlc/$(VIDDIR)/*.png + + #gzip -9 < doc/vlc.1 >| debian/vlc/usr/share/man/man1/vlc.1.gz # Build architecture-independent files here. binary-indep: build install @@ -48,30 +358,28 @@ binary-arch: build install dh_testdir dh_testroot # dh_installdebconf - dh_installdocs - dh_installexamples - dh_installmenu -# dh_installemacsen -# dh_installpam -# dh_installinit - dh_installcron - dh_installmanpages - dh_installinfo -# dh_undocumented - dh_installchangelogs - dh_link - dh_strip - dh_compress - dh_fixperms - # You may want to make some executables suid here. - dh_suidregister -# dh_makeshlibs - dh_installdeb + dh_installdocs -p vlc +# dh_installexamples + dh_installmenu -s + dh_installmime -s + dh_installman doc/vlc.1 -p vlc + dh_installman doc/vlc-config.1 -p libvlc0-dev +# dh_installchangelogs ChangeLog -p vlc + cp ChangeLog debian/vlc/usr/share/doc/vlc/changelog + for x in doc/ChangeLog-* ; do cp "doc/ChangeLog-$${x\#*/\#*-}" "debian/vlc/usr/share/doc/vlc/changelog-$${x\#*/\#*-}" ; done + cp debian/changelog debian/vlc/usr/share/doc/vlc/changelog.Debian + dh_link -s + dh_strip -s + dh_compress -s + dh_fixperms -s + dh_makeshlibs -s + dh_installdeb -s # dh_perl - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb + dh_shlibdeps -s + dh_gencontrol -s + dh_md5sums -s + dh_builddeb -s binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install +