This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, next has been updated via 3bdc0102722bdbccd4429f0b38c4fb6a21f3f1c8 (commit) via 946a2afee8ac9b5a97ba3347ae4eb4db10dd66bf (commit) via 45fba4eaff00c74564fb4a07fe8f62b11e723f92 (commit) from c9e01c8cb87ff79a6fbb3a98e552757072c251ef (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit 3bdc0102722bdbccd4429f0b38c4fb6a21f3f1c8 Author: Michael Tremer michael.tremer@ipfire.org Date: Wed Aug 8 10:48:55 2012 +0200
New package: minidlna.
Yet another UPnP/DLNA server.
commit 946a2afee8ac9b5a97ba3347ae4eb4db10dd66bf Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Aug 7 20:29:06 2012 +0200
New packages: flac+libexif.
commit 45fba4eaff00c74564fb4a07fe8f62b11e723f92 Author: Michael Tremer michael.tremer@ipfire.org Date: Tue Aug 7 20:21:06 2012 +0200
nasm: Update to 2.10.03.
nasm >= 2.0 is required to build flac.
-----------------------------------------------------------------------
Summary of changes: config/minidlna/minidlna.conf | 67 ++++ config/rootfiles/common/nasm | 4 +- config/rootfiles/packages/flac | 314 ++++++++++++++++++ config/rootfiles/packages/libexif | 64 ++++ config/rootfiles/packages/minidlna | 2 + lfs/{mediatomb => flac} | 30 +- lfs/{libdvbpsi => libexif} | 12 +- lfs/{libmad => minidlna} | 18 +- lfs/nasm | 9 +- make.sh | 3 + src/patches/flac-1.2.1-asm.patch | 73 +++++ src/patches/flac-1.2.1-bitreader.patch | 558 ++++++++++++++++++++++++++++++++ src/patches/flac-1.2.1-cflags.patch | 45 +++ src/patches/flac-1.2.1-gcc43.patch | 11 + src/patches/flac-1.2.1-hidesyms.patch | 39 +++ src/patches/flac-1.2.1-tests.patch | 41 +++ 16 files changed, 1257 insertions(+), 33 deletions(-) create mode 100644 config/minidlna/minidlna.conf create mode 100644 config/rootfiles/packages/flac create mode 100644 config/rootfiles/packages/libexif create mode 100644 config/rootfiles/packages/minidlna copy lfs/{mediatomb => flac} (79%) copy lfs/{libdvbpsi => libexif} (92%) copy lfs/{libmad => minidlna} (88%) create mode 100644 src/patches/flac-1.2.1-asm.patch create mode 100644 src/patches/flac-1.2.1-bitreader.patch create mode 100644 src/patches/flac-1.2.1-cflags.patch create mode 100644 src/patches/flac-1.2.1-gcc43.patch create mode 100644 src/patches/flac-1.2.1-hidesyms.patch create mode 100644 src/patches/flac-1.2.1-tests.patch
Difference in files: diff --git a/config/minidlna/minidlna.conf b/config/minidlna/minidlna.conf new file mode 100644 index 0000000..0a1813c --- /dev/null +++ b/config/minidlna/minidlna.conf @@ -0,0 +1,67 @@ +# port for HTTP (descriptions, SOAP, media transfer) traffic +port=8200 + +# network interfaces to serve, comma delimited +network_interface=green0,blue0 + +# set this to the directory you want scanned. +# * if have multiple directories, you can have multiple media_dir= lines +# * if you want to restrict a media_dir to a specific content type, you +# can prepend the type, followed by a comma, to the directory: +# + "A" for audio (eg. media_dir=A,/home/jmaggard/Music) +# + "V" for video (eg. media_dir=V,/home/jmaggard/Videos) +# + "P" for images (eg. media_dir=P,/home/jmaggard/Pictures) +media_dir=/var/mp3 + +# set this if you want to customize the name that shows up on your clients +#friendly_name=My DLNA Server + +# set this if you would like to specify the directory where you want MiniDLNA to store its database and album art cache +db_dir=/var/cache/minidlna + +# set this if you would like to specify the directory where you want MiniDLNA to store its log file +#log_dir=/var/log + +# set this to change the verbosity of the information that is logged +# each section can use a different level: off, fatal, error, warn, info, or debug +#log_level=general,artwork,database,inotify,scanner,metadata,http,ssdp,tivo=warn + +# this should be a list of file names to check for when searching for album art +# note: names should be delimited with a forward slash ("/") +album_art_names=Cover.jpg/cover.jpg/AlbumArtSmall.jpg/albumartsmall.jpg/AlbumArt.jpg/albumart.jpg/Album.jpg/album.jpg/Folder.jpg/folder.jpg/Thumb.jpg/thumb.jpg + +# set this to no to disable inotify monitoring to automatically discover new files +# note: the default is yes +inotify=yes + +# set this to yes to enable support for streaming .jpg and .mp3 files to a TiVo supporting HMO +enable_tivo=no + +# set this to strictly adhere to DLNA standards. +# * This will allow server-side downscaling of very large JPEG images, +# which may hurt JPEG serving performance on (at least) Sony DLNA products. +strict_dlna=no + +# default presentation url is http address on port 80 +#presentation_url=http://www.mylan/index.php + +# notify interval in seconds. default is 895 seconds. +notify_interval=900 + +# serial and model number the daemon will report to clients +# in its XML description +serial=12345678 +model_number=1 + +# specify the path to the MiniSSDPd socket +#minissdpdsocket=/var/run/minissdpd.sock + +# use different container as root of the tree +# possible values: +# + "." - use standard container (this is the default) +# + "B" - "Browse Directory" +# + "M" - "Music" +# + "V" - "Video" +# + "P" - "Pictures" +# if you specify "B" and client device is audio-only then "Music/Folders" will be used as root +#root_container=. diff --git a/config/rootfiles/common/nasm b/config/rootfiles/common/nasm index 8f20850..9d3e196 100644 --- a/config/rootfiles/common/nasm +++ b/config/rootfiles/common/nasm @@ -1,4 +1,4 @@ #usr/bin/nasm #usr/bin/ndisasm -#usr/man/man1/nasm.1 -#usr/man/man1/ndisasm.1 +#usr/share/man/man1/nasm.1 +#usr/share/man/man1/ndisasm.1 diff --git a/config/rootfiles/packages/flac b/config/rootfiles/packages/flac new file mode 100644 index 0000000..d5ca870 --- /dev/null +++ b/config/rootfiles/packages/flac @@ -0,0 +1,314 @@ +usr/bin/flac +usr/bin/metaflac +#usr/include/FLAC +#usr/include/FLAC++ +#usr/include/FLAC++/all.h +#usr/include/FLAC++/decoder.h +#usr/include/FLAC++/encoder.h +#usr/include/FLAC++/export.h +#usr/include/FLAC++/metadata.h +#usr/include/FLAC/all.h +#usr/include/FLAC/assert.h +#usr/include/FLAC/callback.h +#usr/include/FLAC/export.h +#usr/include/FLAC/format.h +#usr/include/FLAC/metadata.h +#usr/include/FLAC/ordinals.h +#usr/include/FLAC/stream_decoder.h +#usr/include/FLAC/stream_encoder.h +#usr/lib/libFLAC++.a +#usr/lib/libFLAC++.la +#usr/lib/libFLAC++.so +usr/lib/libFLAC++.so.6 +usr/lib/libFLAC++.so.6.2.0 +#usr/lib/libFLAC.a +#usr/lib/libFLAC.la +#usr/lib/libFLAC.so +usr/lib/libFLAC.so.8 +usr/lib/libFLAC.so.8.2.0 +#usr/lib/pkgconfig/flac++.pc +#usr/lib/pkgconfig/flac.pc +#usr/man/man1/flac.1 +#usr/man/man1/metaflac.1 +#usr/share/aclocal/libFLAC++.m4 +#usr/share/aclocal/libFLAC.m4 +#usr/share/doc/flac-1.2.1 +#usr/share/doc/flac-1.2.1/FLAC.tag +#usr/share/doc/flac-1.2.1/html +#usr/share/doc/flac-1.2.1/html/api +#usr/share/doc/flac-1.2.1/html/api/+_2all_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/+_2export_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/+_2export_8h.html +#usr/share/doc/flac-1.2.1/html/api/+_2metadata_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/+_2metadata_8h.html +#usr/share/doc/flac-1.2.1/html/api/all_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/annotated.html +#usr/share/doc/flac-1.2.1/html/api/assert_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/callback_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/callback_8h.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Decoder_1_1File-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Decoder_1_1File.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Decoder_1_1File.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Decoder_1_1Stream-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Decoder_1_1Stream.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Decoder_1_1Stream.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Decoder_1_1Stream_1_1State.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Encoder_1_1File-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Encoder_1_1File.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Encoder_1_1File.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Encoder_1_1Stream-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Encoder_1_1Stream.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Encoder_1_1Stream.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Encoder_1_1Stream_1_1State.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Application-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Application.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Application.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Chain-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Chain.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Chain_1_1Status.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1CueSheet-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1CueSheet.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1CueSheet.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Iterator-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Iterator.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Padding-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Padding.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Padding.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Picture-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Picture.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Picture.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Prototype-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Prototype.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Prototype.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1SeekTable-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1SeekTable.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1SeekTable.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1SimpleIterator-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1SimpleIterator.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1StreamInfo-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1StreamInfo.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1StreamInfo.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Unknown-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Unknown.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1Unknown.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1VorbisComment-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1VorbisComment.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1VorbisComment.png +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry-members.html +#usr/share/doc/flac-1.2.1/html/api/classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html +#usr/share/doc/flac-1.2.1/html/api/classes.html +#usr/share/doc/flac-1.2.1/html/api/decoder_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/decoder_8h.html +#usr/share/doc/flac-1.2.1/html/api/dir_000000.html +#usr/share/doc/flac-1.2.1/html/api/dir_000001.html +#usr/share/doc/flac-1.2.1/html/api/dir_000002.html +#usr/share/doc/flac-1.2.1/html/api/dirs.html +#usr/share/doc/flac-1.2.1/html/api/doxygen.css +#usr/share/doc/flac-1.2.1/html/api/doxygen.png +#usr/share/doc/flac-1.2.1/html/api/encoder_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/encoder_8h.html +#usr/share/doc/flac-1.2.1/html/api/export_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/export_8h.html +#usr/share/doc/flac-1.2.1/html/api/files.html +#usr/share/doc/flac-1.2.1/html/api/format_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/format_8h.html +#usr/share/doc/flac-1.2.1/html/api/functions.html +#usr/share/doc/flac-1.2.1/html/api/functions_func.html +#usr/share/doc/flac-1.2.1/html/api/functions_vars.html +#usr/share/doc/flac-1.2.1/html/api/globals.html +#usr/share/doc/flac-1.2.1/html/api/globals_0x66.html +#usr/share/doc/flac-1.2.1/html/api/globals_0x67.html +#usr/share/doc/flac-1.2.1/html/api/globals_defs.html +#usr/share/doc/flac-1.2.1/html/api/globals_enum.html +#usr/share/doc/flac-1.2.1/html/api/globals_eval.html +#usr/share/doc/flac-1.2.1/html/api/globals_func.html +#usr/share/doc/flac-1.2.1/html/api/globals_type.html +#usr/share/doc/flac-1.2.1/html/api/globals_vars.html +#usr/share/doc/flac-1.2.1/html/api/group__flac.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__callbacks.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__decoder.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__encoder.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__export.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__format.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__metadata.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__metadata__level0.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__metadata__level1.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__metadata__level2.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__metadata__object.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__stream__decoder.html +#usr/share/doc/flac-1.2.1/html/api/group__flac__stream__encoder.html +#usr/share/doc/flac-1.2.1/html/api/group__flacpp.html +#usr/share/doc/flac-1.2.1/html/api/group__flacpp__decoder.html +#usr/share/doc/flac-1.2.1/html/api/group__flacpp__encoder.html +#usr/share/doc/flac-1.2.1/html/api/group__flacpp__export.html +#usr/share/doc/flac-1.2.1/html/api/group__flacpp__metadata.html +#usr/share/doc/flac-1.2.1/html/api/group__flacpp__metadata__level0.html +#usr/share/doc/flac-1.2.1/html/api/group__flacpp__metadata__level1.html +#usr/share/doc/flac-1.2.1/html/api/group__flacpp__metadata__level2.html +#usr/share/doc/flac-1.2.1/html/api/group__flacpp__metadata__object.html +#usr/share/doc/flac-1.2.1/html/api/group__porting.html +#usr/share/doc/flac-1.2.1/html/api/group__porting__1__1__2__to__1__1__3.html +#usr/share/doc/flac-1.2.1/html/api/group__porting__1__1__3__to__1__1__4.html +#usr/share/doc/flac-1.2.1/html/api/group__porting__1__1__4__to__1__2__0.html +#usr/share/doc/flac-1.2.1/html/api/hierarchy.html +#usr/share/doc/flac-1.2.1/html/api/index.html +#usr/share/doc/flac-1.2.1/html/api/metadata_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/metadata_8h.html +#usr/share/doc/flac-1.2.1/html/api/modules.html +#usr/share/doc/flac-1.2.1/html/api/ordinals_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/stream__decoder_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/stream__decoder_8h.html +#usr/share/doc/flac-1.2.1/html/api/stream__encoder_8h-source.html +#usr/share/doc/flac-1.2.1/html/api/stream__encoder_8h.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____EntropyCodingMethod-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____EntropyCodingMethod.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____EntropyCodingMethod__PartitionedRice-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____EntropyCodingMethod__PartitionedRice.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____EntropyCodingMethod__PartitionedRiceContents.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Frame-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Frame.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____FrameFooter-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____FrameFooter.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____FrameHeader-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____FrameHeader.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____IOCallbacks-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____IOCallbacks.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamDecoder-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamDecoder.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamEncoder-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamEncoder.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__Application-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__Application.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__CueSheet-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__CueSheet.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__CueSheet__Index-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__CueSheet__Index.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__CueSheet__Track-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__CueSheet__Track.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__Padding-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__Padding.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__Picture-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__Picture.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__SeekPoint-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__SeekPoint.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__SeekTable-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__SeekTable.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__StreamInfo-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__StreamInfo.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__Unknown-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__Unknown.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__VorbisComment-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__VorbisComment.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__VorbisComment__Entry-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____StreamMetadata__VorbisComment__Entry.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe__Constant-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe__Constant.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe__Fixed-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe__Fixed.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe__LPC-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe__LPC.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe__Verbatim-members.html +#usr/share/doc/flac-1.2.1/html/api/structFLAC____Subframe__Verbatim.html +#usr/share/doc/flac-1.2.1/html/changelog.html +#usr/share/doc/flac-1.2.1/html/comparison.html +#usr/share/doc/flac-1.2.1/html/comparison__chopin_prelude_24.html +#usr/share/doc/flac-1.2.1/html/comparison__dream_theater_600.html +#usr/share/doc/flac-1.2.1/html/comparison__eddie_warner_titus.html +#usr/share/doc/flac-1.2.1/html/comparison__fanfare_de_l_eventail_de_jeanne.html +#usr/share/doc/flac-1.2.1/html/comparison__gloria_estefan_conga.html +#usr/share/doc/flac-1.2.1/html/comparison__hand_in_my_pocket.html +#usr/share/doc/flac-1.2.1/html/comparison__l_sub_raga_sivapriya.html +#usr/share/doc/flac-1.2.1/html/comparison__laetatus_sum.html +#usr/share/doc/flac-1.2.1/html/comparison__mummified_in_barbed_wire.html +#usr/share/doc/flac-1.2.1/html/comparison__prokofiev_pcon3_3.html +#usr/share/doc/flac-1.2.1/html/comparison__ravel_sq4_4.html +#usr/share/doc/flac-1.2.1/html/comparison__scarlatti_k42.html +#usr/share/doc/flac-1.2.1/html/comparison__tool_forty_six_and_2.html +#usr/share/doc/flac-1.2.1/html/comparison__white_room.html +#usr/share/doc/flac-1.2.1/html/comparison_all_cpudectime.html +#usr/share/doc/flac-1.2.1/html/comparison_all_cpuenctime.html +#usr/share/doc/flac-1.2.1/html/comparison_all_procdectime.html +#usr/share/doc/flac-1.2.1/html/comparison_all_procenctime.html +#usr/share/doc/flac-1.2.1/html/comparison_all_ratio.html +#usr/share/doc/flac-1.2.1/html/developers.html +#usr/share/doc/flac-1.2.1/html/documentation.html +#usr/share/doc/flac-1.2.1/html/documentation_bugs.html +#usr/share/doc/flac-1.2.1/html/documentation_example_code.html +#usr/share/doc/flac-1.2.1/html/documentation_format_overview.html +#usr/share/doc/flac-1.2.1/html/documentation_tasks.html +#usr/share/doc/flac-1.2.1/html/documentation_tools.html +#usr/share/doc/flac-1.2.1/html/documentation_tools_flac.html +#usr/share/doc/flac-1.2.1/html/documentation_tools_metaflac.html +#usr/share/doc/flac-1.2.1/html/documentation_tools_plugins.html +#usr/share/doc/flac-1.2.1/html/download.html +#usr/share/doc/flac-1.2.1/html/faq.html +#usr/share/doc/flac-1.2.1/html/favicon.ico +#usr/share/doc/flac-1.2.1/html/features.html +#usr/share/doc/flac-1.2.1/html/flac.css +#usr/share/doc/flac-1.2.1/html/format.html +#usr/share/doc/flac-1.2.1/html/id.html +#usr/share/doc/flac-1.2.1/html/images +#usr/share/doc/flac-1.2.1/html/images/1x1.gif +#usr/share/doc/flac-1.2.1/html/images/cafebug.gif +#usr/share/doc/flac-1.2.1/html/images/hw +#usr/share/doc/flac-1.2.1/html/images/hw/Blackbird_Front_low3_325x87.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/MS300frontsmall_270x108.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/MediaBox_Frt_170x325.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/SB_Hero_Black_325x182.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/Sooloos-ControlOne_325x328.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/Z500_front_325x94.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/a2_01_325x252.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/arcus_325x135.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/bmp-1430_325x241.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/cs505_front_lrg_325x113.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/enus_3-4lft-hires_product_eva8000_325x127.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/escient_ProductLine_325x163.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/hifidelio_bl_front_Z_RGB_325x163.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/i-station-mini-dx_325x237.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/iwod-g10_325x257.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/knc_hr-2800_325x209.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/mediaready_prodmain_MRMCa_325x232.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/meizu_m6_325x206.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/musica_artwork_325x90.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/neodigits_x5000_325x124.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/onda-vx737_325x240.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/request_n_front_325x103.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/rio_karma_279x254.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/sonos_family_RGB_325x200.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/teclast-tl29_325x244.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/transporter_hero_grey_325x208.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/tvix-4000_325x204.jpg +#usr/share/doc/flac-1.2.1/html/images/hw/vibez_nofm_combi_black_b_325x220.jpg +#usr/share/doc/flac-1.2.1/html/images/logo100.gif +#usr/share/doc/flac-1.2.1/html/images/logo130.gif +#usr/share/doc/flac-1.2.1/html/index.html +#usr/share/doc/flac-1.2.1/html/itunes.html +#usr/share/doc/flac-1.2.1/html/license.html +#usr/share/doc/flac-1.2.1/html/links.html +#usr/share/doc/flac-1.2.1/html/news.html +#usr/share/doc/flac-1.2.1/html/ogg_mapping.html +#usr/share/doc/flac-1.2.1/html/ru +#usr/share/doc/flac-1.2.1/html/ru/authors.html +#usr/share/doc/flac-1.2.1/html/ru/comparison.html +#usr/share/doc/flac-1.2.1/html/ru/developers.html +#usr/share/doc/flac-1.2.1/html/ru/documentation.html +#usr/share/doc/flac-1.2.1/html/ru/download.html +#usr/share/doc/flac-1.2.1/html/ru/features.html +#usr/share/doc/flac-1.2.1/html/ru/format.html +#usr/share/doc/flac-1.2.1/html/ru/goals.html +#usr/share/doc/flac-1.2.1/html/ru/id.html +#usr/share/doc/flac-1.2.1/html/ru/index.html +#usr/share/doc/flac-1.2.1/html/ru/links.html +#usr/share/doc/flac-1.2.1/html/ru/news.html diff --git a/config/rootfiles/packages/libexif b/config/rootfiles/packages/libexif new file mode 100644 index 0000000..9efbc1f --- /dev/null +++ b/config/rootfiles/packages/libexif @@ -0,0 +1,64 @@ +#usr/include/libexif +#usr/include/libexif/_stdint.h +#usr/include/libexif/exif-byte-order.h +#usr/include/libexif/exif-content.h +#usr/include/libexif/exif-data-type.h +#usr/include/libexif/exif-data.h +#usr/include/libexif/exif-entry.h +#usr/include/libexif/exif-format.h +#usr/include/libexif/exif-ifd.h +#usr/include/libexif/exif-loader.h +#usr/include/libexif/exif-log.h +#usr/include/libexif/exif-mem.h +#usr/include/libexif/exif-mnote-data.h +#usr/include/libexif/exif-tag.h +#usr/include/libexif/exif-utils.h +#usr/lib/libexif.la +#usr/lib/libexif.so +usr/lib/libexif.so.12 +usr/lib/libexif.so.12.3.3 +usr/lib/pkgconfig/libexif.pc +#usr/share/doc/libexif +#usr/share/doc/libexif/ABOUT-NLS +#usr/share/doc/libexif/AUTHORS +#usr/share/doc/libexif/COPYING +#usr/share/doc/libexif/ChangeLog +#usr/share/doc/libexif/NEWS +#usr/share/doc/libexif/README +#usr/share/locale/be/LC_MESSAGES/libexif-12.mo +#usr/share/locale/bs +#usr/share/locale/bs/LC_MESSAGES +#usr/share/locale/bs/LC_MESSAGES/libexif-12.mo +#usr/share/locale/cs/LC_MESSAGES/libexif-12.mo +#usr/share/locale/da/LC_MESSAGES/libexif-12.mo +#usr/share/locale/de/LC_MESSAGES/libexif-12.mo +#usr/share/locale/en_AU +#usr/share/locale/en_AU/LC_MESSAGES +#usr/share/locale/en_AU/LC_MESSAGES/libexif-12.mo +#usr/share/locale/en_CA +#usr/share/locale/en_CA/LC_MESSAGES +#usr/share/locale/en_CA/LC_MESSAGES/libexif-12.mo +#usr/share/locale/en_GB/LC_MESSAGES/libexif-12.mo +#usr/share/locale/es/LC_MESSAGES/libexif-12.mo +#usr/share/locale/fr/LC_MESSAGES/libexif-12.mo +#usr/share/locale/it/LC_MESSAGES/libexif-12.mo +#usr/share/locale/ja/LC_MESSAGES/libexif-12.mo +#usr/share/locale/nl/LC_MESSAGES/libexif-12.mo +#usr/share/locale/pl/LC_MESSAGES/libexif-12.mo +#usr/share/locale/pt +#usr/share/locale/pt/LC_MESSAGES +#usr/share/locale/pt/LC_MESSAGES/libexif-12.mo +#usr/share/locale/pt_BR/LC_MESSAGES/libexif-12.mo +#usr/share/locale/ru/LC_MESSAGES/libexif-12.mo +#usr/share/locale/sk/LC_MESSAGES/libexif-12.mo +#usr/share/locale/sq +#usr/share/locale/sq/LC_MESSAGES +#usr/share/locale/sq/LC_MESSAGES/libexif-12.mo +#usr/share/locale/sr +#usr/share/locale/sr/LC_MESSAGES +#usr/share/locale/sr/LC_MESSAGES/libexif-12.mo +#usr/share/locale/sv/LC_MESSAGES/libexif-12.mo +#usr/share/locale/tr/LC_MESSAGES/libexif-12.mo +#usr/share/locale/uk/LC_MESSAGES/libexif-12.mo +#usr/share/locale/vi/LC_MESSAGES/libexif-12.mo +#usr/share/locale/zh_CN/LC_MESSAGES/libexif-12.mo diff --git a/config/rootfiles/packages/minidlna b/config/rootfiles/packages/minidlna new file mode 100644 index 0000000..e53330e --- /dev/null +++ b/config/rootfiles/packages/minidlna @@ -0,0 +1,2 @@ +etc/minidlna.conf +usr/sbin/minidlna diff --git a/lfs/flac b/lfs/flac new file mode 100644 index 0000000..2143d36 --- /dev/null +++ b/lfs/flac @@ -0,0 +1,95 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.2.1 + +THISAPP = flac-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = flac +PAK_VER = 1 + +DEPS = "libogg" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 153c8b15a54da428d1f0fadc756c22c7 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/flac-1.2.1-asm.patch + cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/flac-1.2.1-bitreader.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/flac-1.2.1-cflags.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/flac-1.2.1-gcc43.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/flac-1.2.1-hidesyms.patch + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/flac-1.2.1-tests.patch + cd $(DIR_APP) && ./autogen.sh -V + cd $(DIR_APP) && \ + ./configure \ + --prefix=/usr \ + --disable-xmms-plugin \ + --disable-thorough-tests + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/libexif b/lfs/libexif new file mode 100644 index 0000000..e39508d --- /dev/null +++ b/lfs/libexif @@ -0,0 +1,84 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 0.6.21 + +THISAPP = libexif-$(VER) +DL_FILE = $(THISAPP).tar.bz2 +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = libexif +PAK_VER = 1 + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 27339b89850f28c8f1c237f233e05b27 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/usr --disable-static + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/minidlna b/lfs/minidlna new file mode 100644 index 0000000..d93a5c2 --- /dev/null +++ b/lfs/minidlna @@ -0,0 +1,86 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007 Michael Tremer & Christian Schmidt # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 1.0.25 + +THISAPP = minidlna-$(VER) +DL_FILE = minidlna_$(VER)_src.tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = minidlna +PAK_VER = 1 + +DEPS = "ffmpeg flac libexif libid3tag libogg" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = d966256baf2f9b068b9de871ab5dade5 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + + # Install configuration. + install -m 644 $(DIR_SRC)/config/minidlna/minidlna.conf /etc + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/lfs/nasm b/lfs/nasm index 9d5ad08..f6aeac7 100644 --- a/lfs/nasm +++ b/lfs/nasm @@ -24,10 +24,10 @@
include Config
-VER = 0.98.39 +VER = 2.10.03
THISAPP = nasm-$(VER) -DL_FILE = $(THISAPP).tar.bz2 +DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_MD5 = 2032ad44c7359f7a9a166a40a633e772 +$(DL_FILE)_MD5 = a5d0ed070476a7c5b4f0893dc4a4ea4b
install : $(TARGET)
@@ -69,8 +69,7 @@ $(subst %,%_MD5,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/$(THISAPP)-security_fix-1.patch + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install diff --git a/make.sh b/make.sh index c88a8eb..bf8d288 100755 --- a/make.sh +++ b/make.sh @@ -487,6 +487,7 @@ buildipfire() { ipfiremake libnl ipfiremake libidn ipfiremake libjpeg + ipfiremake libexif ipfiremake libpng ipfiremake libtiff ipfiremake libart @@ -632,6 +633,7 @@ buildipfire() { ipfiremake libogg ipfiremake libvorbis ipfiremake libdvbpsi + ipfiremake flac ipfiremake lame ipfiremake sox ipfiremake libshout @@ -767,6 +769,7 @@ buildipfire() { ipfiremake lcd4linux ipfiremake mtr ipfiremake tcpick + ipfiremake minidlna echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild diff --git a/src/patches/flac-1.2.1-asm.patch b/src/patches/flac-1.2.1-asm.patch new file mode 100644 index 0000000..932a761 --- /dev/null +++ b/src/patches/flac-1.2.1-asm.patch @@ -0,0 +1,73 @@ +diff -up flac-1.2.1/src/libFLAC/stream_decoder.c.asm flac-1.2.1/src/libFLAC/stream_decoder.c +--- flac-1.2.1/src/libFLAC/stream_decoder.c.asm 2007-09-13 17:38:05.000000000 +0200 ++++ flac-1.2.1/src/libFLAC/stream_decoder.c 2008-01-29 10:32:17.000000000 +0100 +@@ -421,7 +421,7 @@ static FLAC__StreamDecoderInitStatus ini + #ifdef FLAC__CPU_IA32 + FLAC__ASSERT(decoder->private_->cpuinfo.type == FLAC__CPUINFO_TYPE_IA32); + #ifdef FLAC__HAS_NASM +-#if 1 /*@@@@@@ OPT: not clearly faster, needs more testing */ ++#if 0 /*@@@@@@ OPT: not clearly faster, needs more testing */ + if(decoder->private_->cpuinfo.data.ia32.bswap) + decoder->private_->local_bitreader_read_rice_signed_block = FLAC__bitreader_read_rice_signed_block_asm_ia32_bswap; + #endif +diff -up flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm.asm flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm +--- flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm.asm 2007-03-22 05:13:05.000000000 +0100 ++++ flac-1.2.1/src/libFLAC/ia32/lpc_asm.nasm 2008-01-29 10:34:09.000000000 +0100 +@@ -1507,5 +1507,5 @@ cident FLAC__lpc_restore_signal_asm_ia32 + end + + %ifdef OBJ_FORMAT_elf +- section .note.GNU-stack noalloc ++ section .note.GNU-stack progbits noalloc noexec nowrite align=1 + %endif +diff -up flac-1.2.1/src/libFLAC/ia32/Makefile.am.asm flac-1.2.1/src/libFLAC/ia32/Makefile.am +--- flac-1.2.1/src/libFLAC/ia32/Makefile.am.asm 2007-04-04 02:01:13.000000000 +0200 ++++ flac-1.2.1/src/libFLAC/ia32/Makefile.am 2008-03-17 14:04:37.000000000 +0100 +@@ -37,7 +37,6 @@ STRIP_NON_ASM = sh $(top_srcdir)/strip_n + + noinst_LTLIBRARIES = libFLAC-asm.la + libFLAC_asm_la_SOURCES = \ +- bitreader_asm.nasm \ + cpu_asm.nasm \ + fixed_asm.nasm \ + lpc_asm.nasm \ +diff -up flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm.asm flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm +--- flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm.asm 2007-03-30 02:54:53.000000000 +0200 ++++ flac-1.2.1/src/libFLAC/ia32/bitreader_asm.nasm 2008-01-29 10:32:57.000000000 +0100 +@@ -564,5 +564,5 @@ cident FLAC__bitreader_read_rice_signed_ + end + + %ifdef OBJ_FORMAT_elf +- section .note.GNU-stack noalloc ++ section .note.GNU-stack progbits noalloc noexec nowrite align=1 + %endif +diff -up flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm.asm flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm +--- flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm.asm 2007-03-22 05:13:05.000000000 +0100 ++++ flac-1.2.1/src/libFLAC/ia32/fixed_asm.nasm 2008-01-29 10:33:52.000000000 +0100 +@@ -308,5 +308,5 @@ cident FLAC__fixed_compute_best_predicto + end + + %ifdef OBJ_FORMAT_elf +- section .note.GNU-stack noalloc ++ section .note.GNU-stack progbits noalloc noexec nowrite align=1 + %endif +diff -up flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm.asm flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm +--- flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm.asm 2007-03-22 05:13:05.000000000 +0100 ++++ flac-1.2.1/src/libFLAC/ia32/cpu_asm.nasm 2008-01-29 10:33:24.000000000 +0100 +@@ -117,5 +117,5 @@ cident FLAC__cpu_info_extended_amd_asm_i + end + + %ifdef OBJ_FORMAT_elf +- section .note.GNU-stack noalloc ++ section .note.GNU-stack progbits noalloc noexec nowrite align=1 + %endif +diff -up flac-1.2.1/src/libFLAC/ia32/stream_encoder_asm.nasm.asm flac-1.2.1/src/libFLAC/ia32/stream_encoder_asm.nasm +--- flac-1.2.1/src/libFLAC/ia32/stream_encoder_asm.nasm.asm 2007-06-19 22:01:27.000000000 +0200 ++++ flac-1.2.1/src/libFLAC/ia32/stream_encoder_asm.nasm 2008-01-29 10:34:40.000000000 +0100 +@@ -155,5 +155,5 @@ cident precompute_partition_info_sums_32 + end + + %ifdef OBJ_FORMAT_elf +- section .note.GNU-stack noalloc ++ section .note.GNU-stack progbits noalloc noexec nowrite align=1 + %endif diff --git a/src/patches/flac-1.2.1-bitreader.patch b/src/patches/flac-1.2.1-bitreader.patch new file mode 100644 index 0000000..9d47af3 --- /dev/null +++ b/src/patches/flac-1.2.1-bitreader.patch @@ -0,0 +1,558 @@ +Index: src/libFLAC/bitreader.c +=================================================================== +RCS file: /cvsroot/flac/flac/src/libFLAC/bitreader.c,v +retrieving revision 1.15 +diff -u -r1.15 bitreader.c +--- src/libFLAC/bitreader.c 28 Feb 2008 05:34:26 -0000 1.15 ++++ src/libFLAC/bitreader.c 14 Mar 2008 11:07:07 -0000 +@@ -69,13 +69,12 @@ + #endif + /* counts the # of zero MSBs in a word */ + #define COUNT_ZERO_MSBS(word) ( \ +- (word) <= 0xffff ? \ +- ( (word) <= 0xff? byte_to_unary_table[word] + 24 : byte_to_unary_table[(word) >> 8] + 16 ) : \ +- ( (word) <= 0xffffff? byte_to_unary_table[word >> 16] + 8 : byte_to_unary_table[(word) >> 24] ) \ ++ word > 0xffffff ? byte_to_unary_table[(word) >> 24] : \ ++ !word ? 32 : \ ++ word > 0xffff ? byte_to_unary_table[word >> 16] + 8 : \ ++ word > 0xff ? byte_to_unary_table[(word) >> 8] + 16 : \ ++ byte_to_unary_table[word] + 24 \ + ) +-/* this alternate might be slightly faster on some systems/compilers: */ +-#define COUNT_ZERO_MSBS2(word) ( (word) <= 0xff ? byte_to_unary_table[word] + 24 : ((word) <= 0xffff ? byte_to_unary_table[(word) >> 8] + 16 : ((word) <= 0xffffff ? byte_to_unary_table[(word) >> 16] + 8 : byte_to_unary_table[(word) >> 24])) ) +- + + /* + * This should be at least twice as large as the largest number of words +Index: src/libFLAC/bitreader.c +=================================================================== +RCS file: /cvsroot/flac/flac/src/libFLAC/bitreader.c,v +retrieving revision 1.15 +diff -u -r1.15 bitreader.c +--- src/libFLAC/bitreader.c 28 Feb 2008 05:34:26 -0000 1.15 ++++ src/libFLAC/bitreader.c 14 Mar 2008 13:19:46 -0000 +@@ -149,6 +148,7 @@ + FLAC__CPUInfo cpu_info; + }; + ++#if FLAC__BYTES_PER_WORD == 4 && FLAC__CPU_IA32 + #ifdef _MSC_VER + /* OPT: an MSVC built-in would be better */ + static _inline FLAC__uint32 local_swap32_(FLAC__uint32 x) +@@ -173,6 +173,15 @@ + done1: + } + } ++#elif __GNUC__ ++static void local_swap32_block_(FLAC__uint32 *start, FLAC__uint32 len) ++{ ++ FLAC__uint32 *end; ++ ++ for(end = start + len; start < end; start++) ++ asm ("bswap %0" : "=r"(*start) : "0"(*start)); ++} ++#endif + #endif + + static FLaC__INLINE void crc16_update_word_(FLAC__BitReader *br, brword word) +@@ -263,7 +272,7 @@ + #if WORDS_BIGENDIAN + #else + end = (br->words*FLAC__BYTES_PER_WORD + br->bytes + bytes + (FLAC__BYTES_PER_WORD-1)) / FLAC__BYTES_PER_WORD; +-# if defined(_MSC_VER) && (FLAC__BYTES_PER_WORD == 4) ++# if FLAC__CPU_IA32 && (__GNUC__ || defined(_MSC_VER)) && FLAC__BYTES_PER_WORD == 4 + if(br->cpu_info.type == FLAC__CPUINFO_TYPE_IA32 && br->cpu_info.data.ia32.bswap) { + start = br->words; + local_swap32_block_(br->buffer + start, end - start); +Index: src/libFLAC/bitreader.c +=================================================================== +RCS file: /cvsroot/flac/flac/src/libFLAC/bitreader.c,v +retrieving revision 1.15 +diff -u -r1.15 bitreader.c +--- src/libFLAC/bitreader.c 28 Feb 2008 05:34:26 -0000 1.15 ++++ src/libFLAC/bitreader.c 17 Mar 2008 15:42:57 -0000 +@@ -803,379 +812,144 @@ + } + + /* this is by far the most heavily used reader call. it ain't pretty but it's fast */ +-/* a lot of the logic is copied, then adapted, from FLAC__bitreader_read_unary_unsigned() and FLAC__bitreader_read_raw_uint32() */ + FLAC__bool FLAC__bitreader_read_rice_signed_block(FLAC__BitReader *br, int vals[], unsigned nvals, unsigned parameter) +-/* OPT: possibly faster version for use with MSVC */ +-#ifdef _MSC_VER + { +- unsigned i; +- unsigned uval = 0; +- unsigned bits; /* the # of binary LSBs left to read to finish a rice codeword */ +- + /* try and get br->consumed_words and br->consumed_bits into register; + * must remember to flush them back to *br before calling other +- * bitwriter functions that use them, and before returning */ +- register unsigned cwords; +- register unsigned cbits; ++ * bitreader functions that use them, and before returning */ ++ unsigned cwords, words, lsbs, msbs, x, y; ++ unsigned ucbits; /* keep track of the number of unconsumed bits in word */ ++ brword b; ++ int *val, *end; + + FLAC__ASSERT(0 != br); + FLAC__ASSERT(0 != br->buffer); + /* WATCHOUT: code does not work with <32bit words; we can make things much faster with this assertion */ + FLAC__ASSERT(FLAC__BITS_PER_WORD >= 32); + FLAC__ASSERT(parameter < 32); +- /* the above two asserts also guarantee that the binary part never straddles more that 2 words, so we don't have to loop to read it */ +- +- if(nvals == 0) +- return true; +- +- cbits = br->consumed_bits; +- cwords = br->consumed_words; ++ /* the above two asserts also guarantee that the binary part never straddles more than 2 words, so we don't have to loop to read it */ + +- while(1) { ++ val = vals; ++ end = vals + nvals; + +- /* read unary part */ +- while(1) { +- while(cwords < br->words) { /* if we've not consumed up to a partial tail word... */ +- brword b = br->buffer[cwords] << cbits; +- if(b) { +-#if 0 /* slower, probably due to bad register allocation... */ && defined FLAC__CPU_IA32 && !defined FLAC__NO_ASM && FLAC__BITS_PER_WORD == 32 +- __asm { +- bsr eax, b +- not eax +- and eax, 31 +- mov i, eax +- } +-#else +- i = COUNT_ZERO_MSBS(b); +-#endif +- uval += i; +- bits = parameter; +- i++; +- cbits += i; +- if(cbits == FLAC__BITS_PER_WORD) { +- crc16_update_word_(br, br->buffer[cwords]); +- cwords++; +- cbits = 0; +- } +- goto break1; +- } +- else { +- uval += FLAC__BITS_PER_WORD - cbits; +- crc16_update_word_(br, br->buffer[cwords]); +- cwords++; +- cbits = 0; +- /* didn't find stop bit yet, have to keep going... */ +- } +- } +- /* at this point we've eaten up all the whole words; have to try +- * reading through any tail bytes before calling the read callback. +- * this is a repeat of the above logic adjusted for the fact we +- * don't have a whole word. note though if the client is feeding +- * us data a byte at a time (unlikely), br->consumed_bits may not +- * be zero. +- */ +- if(br->bytes) { +- const unsigned end = br->bytes * 8; +- brword b = (br->buffer[cwords] & (FLAC__WORD_ALL_ONES << (FLAC__BITS_PER_WORD-end))) << cbits; +- if(b) { +- i = COUNT_ZERO_MSBS(b); +- uval += i; +- bits = parameter; +- i++; +- cbits += i; +- FLAC__ASSERT(cbits < FLAC__BITS_PER_WORD); +- goto break1; +- } +- else { +- uval += end - cbits; +- cbits += end; +- FLAC__ASSERT(cbits < FLAC__BITS_PER_WORD); +- /* didn't find stop bit yet, have to keep going... */ +- } +- } +- /* flush registers and read; bitreader_read_from_client_() does +- * not touch br->consumed_bits at all but we still need to set +- * it in case it fails and we have to return false. +- */ +- br->consumed_bits = cbits; +- br->consumed_words = cwords; +- if(!bitreader_read_from_client_(br)) ++ if(parameter == 0) { ++ while(val < end) { ++ /* read the unary MSBs and end bit */ ++ if(!FLAC__bitreader_read_unary_unsigned(br, &msbs)) + return false; +- cwords = br->consumed_words; +- } +-break1: +- /* read binary part */ +- FLAC__ASSERT(cwords <= br->words); +- +- if(bits) { +- while((br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits < bits) { +- /* flush registers and read; bitreader_read_from_client_() does +- * not touch br->consumed_bits at all but we still need to set +- * it in case it fails and we have to return false. +- */ +- br->consumed_bits = cbits; +- br->consumed_words = cwords; +- if(!bitreader_read_from_client_(br)) +- return false; +- cwords = br->consumed_words; +- } +- if(cwords < br->words) { /* if we've not consumed up to a partial tail word... */ +- if(cbits) { +- /* this also works when consumed_bits==0, it's just a little slower than necessary for that case */ +- const unsigned n = FLAC__BITS_PER_WORD - cbits; +- const brword word = br->buffer[cwords]; +- if(bits < n) { +- uval <<= bits; +- uval |= (word & (FLAC__WORD_ALL_ONES >> cbits)) >> (n-bits); +- cbits += bits; +- goto break2; +- } +- uval <<= n; +- uval |= word & (FLAC__WORD_ALL_ONES >> cbits); +- bits -= n; +- crc16_update_word_(br, word); +- cwords++; +- cbits = 0; +- if(bits) { /* if there are still bits left to read, there have to be less than 32 so they will all be in the next word */ +- uval <<= bits; +- uval |= (br->buffer[cwords] >> (FLAC__BITS_PER_WORD-bits)); +- cbits = bits; +- } +- goto break2; +- } +- else { +- FLAC__ASSERT(bits < FLAC__BITS_PER_WORD); +- uval <<= bits; +- uval |= br->buffer[cwords] >> (FLAC__BITS_PER_WORD-bits); +- cbits = bits; +- goto break2; +- } +- } +- else { +- /* in this case we're starting our read at a partial tail word; +- * the reader has guaranteed that we have at least 'bits' bits +- * available to read, which makes this case simpler. +- */ +- uval <<= bits; +- if(cbits) { +- /* this also works when consumed_bits==0, it's just a little slower than necessary for that case */ +- FLAC__ASSERT(cbits + bits <= br->bytes*8); +- uval |= (br->buffer[cwords] & (FLAC__WORD_ALL_ONES >> cbits)) >> (FLAC__BITS_PER_WORD-cbits-bits); +- cbits += bits; +- goto break2; +- } +- else { +- uval |= br->buffer[cwords] >> (FLAC__BITS_PER_WORD-bits); +- cbits += bits; +- goto break2; +- } +- } +- } +-break2: +- /* compose the value */ +- *vals = (int)(uval >> 1 ^ -(int)(uval & 1)); + +- /* are we done? */ +- --nvals; +- if(nvals == 0) { +- br->consumed_bits = cbits; +- br->consumed_words = cwords; +- return true; ++ *val++ = (int)(msbs >> 1) ^ -(int)(msbs & 1); + } + +- uval = 0; +- ++vals; +- ++ return true; + } +-} +-#else +-{ +- unsigned i; +- unsigned uval = 0; + +- /* try and get br->consumed_words and br->consumed_bits into register; +- * must remember to flush them back to *br before calling other +- * bitwriter functions that use them, and before returning */ +- register unsigned cwords; +- register unsigned cbits; +- unsigned ucbits; /* keep track of the number of unconsumed bits in the buffer */ ++ FLAC__ASSERT(parameter > 0); + +- FLAC__ASSERT(0 != br); +- FLAC__ASSERT(0 != br->buffer); +- /* WATCHOUT: code does not work with <32bit words; we can make things much faster with this assertion */ +- FLAC__ASSERT(FLAC__BITS_PER_WORD >= 32); +- FLAC__ASSERT(parameter < 32); +- /* the above two asserts also guarantee that the binary part never straddles more than 2 words, so we don't have to loop to read it */ ++ cwords = br->consumed_words; ++ words = br->words; + +- if(nvals == 0) +- return true; ++ /* if we've not consumed up to a partial tail word... */ ++ if(cwords >= words) { ++ x = 0; ++ goto process_tail; ++ } ++ ++ ucbits = FLAC__BITS_PER_WORD - br->consumed_bits; ++ b = br->buffer[cwords] << br->consumed_bits; /* keep unconsumed bits aligned to left */ ++ ++ while(val < end) { ++ /* read the unary MSBs and end bit */ ++ x = y = COUNT_ZERO_MSBS(b); ++ if(x == FLAC__BITS_PER_WORD) { ++ x = ucbits; ++ do { ++ /* didn't find stop bit yet, have to keep going... */ ++ crc16_update_word_(br, br->buffer[cwords++]); ++ if (cwords >= words) ++ goto incomplete_msbs; ++ b = br->buffer[cwords]; ++ y = COUNT_ZERO_MSBS(b); ++ x += y; ++ } while(y == FLAC__BITS_PER_WORD); ++ } ++ b <<= y; ++ b <<= 1; /* account for stop bit */ ++ ucbits = (ucbits - x - 1) % FLAC__BITS_PER_WORD; ++ msbs = x; ++ ++ /* read the binary LSBs */ ++ x = b >> (FLAC__BITS_PER_WORD - parameter); ++ if(parameter <= ucbits) { ++ ucbits -= parameter; ++ b <<= parameter; ++ } else { ++ /* there are still bits left to read, they will all be in the next word */ ++ crc16_update_word_(br, br->buffer[cwords++]); ++ if (cwords >= words) ++ goto incomplete_lsbs; ++ b = br->buffer[cwords]; ++ ucbits += FLAC__BITS_PER_WORD - parameter; ++ x |= b >> ucbits; ++ b <<= FLAC__BITS_PER_WORD - ucbits; ++ } ++ lsbs = x; + +- cbits = br->consumed_bits; +- cwords = br->consumed_words; +- ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits; ++ /* compose the value */ ++ x = (msbs << parameter) | lsbs; ++ *val++ = (int)(x >> 1) ^ -(int)(x & 1); + +- while(1) { ++ continue; + +- /* read unary part */ +- while(1) { +- while(cwords < br->words) { /* if we've not consumed up to a partial tail word... */ +- brword b = br->buffer[cwords] << cbits; +- if(b) { +-#if 0 /* is not discernably faster... */ && defined FLAC__CPU_IA32 && !defined FLAC__NO_ASM && FLAC__BITS_PER_WORD == 32 && defined __GNUC__ +- asm volatile ( +- "bsrl %1, %0;" +- "notl %0;" +- "andl $31, %0;" +- : "=r"(i) +- : "r"(b) +- ); +-#else +- i = COUNT_ZERO_MSBS(b); +-#endif +- uval += i; +- cbits += i; +- cbits++; /* skip over stop bit */ +- if(cbits >= FLAC__BITS_PER_WORD) { /* faster way of testing if(cbits == FLAC__BITS_PER_WORD) */ +- crc16_update_word_(br, br->buffer[cwords]); +- cwords++; +- cbits = 0; +- } +- goto break1; +- } +- else { +- uval += FLAC__BITS_PER_WORD - cbits; +- crc16_update_word_(br, br->buffer[cwords]); +- cwords++; +- cbits = 0; +- /* didn't find stop bit yet, have to keep going... */ +- } +- } +- /* at this point we've eaten up all the whole words; have to try +- * reading through any tail bytes before calling the read callback. +- * this is a repeat of the above logic adjusted for the fact we +- * don't have a whole word. note though if the client is feeding +- * us data a byte at a time (unlikely), br->consumed_bits may not +- * be zero. +- */ +- if(br->bytes) { +- const unsigned end = br->bytes * 8; +- brword b = (br->buffer[cwords] & ~(FLAC__WORD_ALL_ONES >> end)) << cbits; +- if(b) { +- i = COUNT_ZERO_MSBS(b); +- uval += i; +- cbits += i; +- cbits++; /* skip over stop bit */ +- FLAC__ASSERT(cbits < FLAC__BITS_PER_WORD); +- goto break1; +- } +- else { +- uval += end - cbits; +- cbits += end; +- FLAC__ASSERT(cbits < FLAC__BITS_PER_WORD); +- /* didn't find stop bit yet, have to keep going... */ +- } ++ /* at this point we've eaten up all the whole words */ ++process_tail: ++ do { ++ if(0) { ++incomplete_msbs: ++ br->consumed_bits = 0; ++ br->consumed_words = cwords; + } +- /* flush registers and read; bitreader_read_from_client_() does +- * not touch br->consumed_bits at all but we still need to set +- * it in case it fails and we have to return false. +- */ +- br->consumed_bits = cbits; +- br->consumed_words = cwords; +- if(!bitreader_read_from_client_(br)) ++ ++ /* read the unary MSBs and end bit */ ++ if(!FLAC__bitreader_read_unary_unsigned(br, &msbs)) + return false; +- cwords = br->consumed_words; +- ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits + uval; +- /* + uval to offset our count by the # of unary bits already +- * consumed before the read, because we will add these back +- * in all at once at break1 +- */ +- } +-break1: +- ucbits -= uval; +- ucbits--; /* account for stop bit */ +- +- /* read binary part */ +- FLAC__ASSERT(cwords <= br->words); +- +- if(parameter) { +- while(ucbits < parameter) { +- /* flush registers and read; bitreader_read_from_client_() does +- * not touch br->consumed_bits at all but we still need to set +- * it in case it fails and we have to return false. +- */ +- br->consumed_bits = cbits; ++ msbs += x; ++ x = ucbits = 0; ++ ++ if(0) { ++incomplete_lsbs: ++ br->consumed_bits = 0; + br->consumed_words = cwords; +- if(!bitreader_read_from_client_(br)) +- return false; +- cwords = br->consumed_words; +- ucbits = (br->words-cwords)*FLAC__BITS_PER_WORD + br->bytes*8 - cbits; +- } +- if(cwords < br->words) { /* if we've not consumed up to a partial tail word... */ +- if(cbits) { +- /* this also works when consumed_bits==0, it's just slower than necessary for that case */ +- const unsigned n = FLAC__BITS_PER_WORD - cbits; +- const brword word = br->buffer[cwords]; +- if(parameter < n) { +- uval <<= parameter; +- uval |= (word & (FLAC__WORD_ALL_ONES >> cbits)) >> (n-parameter); +- cbits += parameter; +- } +- else { +- uval <<= n; +- uval |= word & (FLAC__WORD_ALL_ONES >> cbits); +- crc16_update_word_(br, word); +- cwords++; +- cbits = parameter - n; +- if(cbits) { /* parameter > n, i.e. if there are still bits left to read, there have to be less than 32 so they will all be in the next word */ +- uval <<= cbits; +- uval |= (br->buffer[cwords] >> (FLAC__BITS_PER_WORD-cbits)); +- } +- } +- } +- else { +- cbits = parameter; +- uval <<= parameter; +- uval |= br->buffer[cwords] >> (FLAC__BITS_PER_WORD-cbits); +- } + } +- else { +- /* in this case we're starting our read at a partial tail word; +- * the reader has guaranteed that we have at least 'parameter' +- * bits available to read, which makes this case simpler. +- */ +- uval <<= parameter; +- if(cbits) { +- /* this also works when consumed_bits==0, it's just a little slower than necessary for that case */ +- FLAC__ASSERT(cbits + parameter <= br->bytes*8); +- uval |= (br->buffer[cwords] & (FLAC__WORD_ALL_ONES >> cbits)) >> (FLAC__BITS_PER_WORD-cbits-parameter); +- cbits += parameter; +- } +- else { +- cbits = parameter; +- uval |= br->buffer[cwords] >> (FLAC__BITS_PER_WORD-cbits); +- } +- } +- } + +- ucbits -= parameter; +- +- /* compose the value */ +- *vals = (int)(uval >> 1 ^ -(int)(uval & 1)); ++ /* read the binary LSBs */ ++ if(!FLAC__bitreader_read_raw_uint32(br, &lsbs, parameter - ucbits)) ++ return false; ++ lsbs = x | lsbs; + +- /* are we done? */ +- --nvals; +- if(nvals == 0) { +- br->consumed_bits = cbits; +- br->consumed_words = cwords; +- return true; +- } ++ /* compose the value */ ++ x = (msbs << parameter) | lsbs; ++ *val++ = (int)(x >> 1) ^ -(int)(x & 1); ++ x = 0; + +- uval = 0; +- ++vals; ++ cwords = br->consumed_words; ++ words = br->words; ++ ucbits = FLAC__BITS_PER_WORD - br->consumed_bits; ++ b = br->buffer[cwords] << br->consumed_bits; ++ } while(cwords >= words && val < end); ++ } + ++ if(ucbits == 0 && cwords < words) { ++ /* don't leave the head word with no unconsumed bits */ ++ crc16_update_word_(br, br->buffer[cwords++]); ++ ucbits = FLAC__BITS_PER_WORD; + } ++ ++ br->consumed_bits = FLAC__BITS_PER_WORD - ucbits; ++ br->consumed_words = cwords; ++ ++ return true; + } +-#endif + + #if 0 /* UNUSED */ + FLAC__bool FLAC__bitreader_read_golomb_signed(FLAC__BitReader *br, int *val, unsigned parameter) diff --git a/src/patches/flac-1.2.1-cflags.patch b/src/patches/flac-1.2.1-cflags.patch new file mode 100644 index 0000000..032fa5e --- /dev/null +++ b/src/patches/flac-1.2.1-cflags.patch @@ -0,0 +1,45 @@ +diff -up flac-1.2.1/src/libFLAC/Makefile.am.cflags flac-1.2.1/src/libFLAC/Makefile.am +--- flac-1.2.1/src/libFLAC/Makefile.am.cflags 2007-09-14 23:06:17.000000000 +0200 ++++ flac-1.2.1/src/libFLAC/Makefile.am 2008-03-17 14:19:29.000000000 +0100 +@@ -41,7 +41,7 @@ CPUCFLAGS = -faltivec -force_cpusubtype_ + else + # Linux-gcc for PPC does not have -force_cpusubtype_ALL, it is Darwin-specific + #@@@ PPC optimizations temporarily disabled +-CPUCFLAGS = -maltivec -mabi=altivec -DFLAC__NO_ASM ++CPUCFLAGS = -DFLAC__NO_ASM + endif + endif + +@@ -69,7 +69,7 @@ endif + endif + endif + +-libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@ ++libFLAC_la_LIBADD = $(LOCAL_EXTRA_LIBADD) @OGG_LIBS@ libFLAC_extracflags.la + + SUBDIRS = $(ARCH_SUBDIRS) include . + +@@ -112,7 +112,10 @@ libFLAC_la_SOURCES = \ + metadata_iterators.c \ + metadata_object.c \ + stream_decoder.c \ +- stream_encoder.c \ + stream_encoder_framing.c \ + window.c \ + $(extra_ogg_sources) ++ ++noinst_LTLIBRARIES = libFLAC_extracflags.la ++libFLAC_extracflags_la_SOURCES = stream_encoder.c ++libFLAC_extracflags_la_CFLAGS = $(AM_CFLAGS) -funroll-loops +diff -up flac-1.2.1/configure.in.cflags flac-1.2.1/configure.in +--- flac-1.2.1/configure.in.cflags 2007-09-13 17:48:42.000000000 +0200 ++++ flac-1.2.1/configure.in 2008-03-17 14:17:08.000000000 +0100 +@@ -301,7 +301,7 @@ else + CPPFLAGS="-DNDEBUG $CPPFLAGS" + if test "x$GCC" = xyes; then + CPPFLAGS="-DFLaC__INLINE=__inline__ $CPPFLAGS" +- CFLAGS="-O3 -funroll-loops -finline-functions -Wall -W -Winline $CFLAGS" ++ CFLAGS="-Wall -W -Winline $CFLAGS" + fi + fi + diff --git a/src/patches/flac-1.2.1-gcc43.patch b/src/patches/flac-1.2.1-gcc43.patch new file mode 100644 index 0000000..7fdbf80 --- /dev/null +++ b/src/patches/flac-1.2.1-gcc43.patch @@ -0,0 +1,11 @@ +diff -up flac-1.2.1/examples/cpp/encode/file/main.cpp.gcc43 flac-1.2.1/examples/cpp/encode/file/main.cpp +--- flac-1.2.1/examples/cpp/encode/file/main.cpp.gcc43 2007-09-13 17:58:03.000000000 +0200 ++++ flac-1.2.1/examples/cpp/encode/file/main.cpp 2008-01-08 10:27:39.000000000 +0100 +@@ -29,6 +29,7 @@ + #endif + + #include <stdio.h> ++#include <string.h> + #include <stdlib.h> + #include "FLAC++/metadata.h" + #include "FLAC++/encoder.h" diff --git a/src/patches/flac-1.2.1-hidesyms.patch b/src/patches/flac-1.2.1-hidesyms.patch new file mode 100644 index 0000000..0f4c104 --- /dev/null +++ b/src/patches/flac-1.2.1-hidesyms.patch @@ -0,0 +1,39 @@ +diff -up flac-1.2.1/src/libFLAC/include/private/ogg_helper.h.hidesyms flac-1.2.1/src/libFLAC/include/private/ogg_helper.h +--- flac-1.2.1/src/libFLAC/include/private/ogg_helper.h.hidesyms 2007-02-02 07:22:40.000000000 +0100 ++++ flac-1.2.1/src/libFLAC/include/private/ogg_helper.h 2008-01-29 15:27:13.000000000 +0100 +@@ -35,9 +35,13 @@ + #include <ogg/ogg.h> + #include "FLAC/stream_encoder.h" /* for FLAC__StreamEncoder */ + ++__attribute__((__visibility__("hidden"))) + void simple_ogg_page__init(ogg_page *page); ++__attribute__((__visibility__("hidden"))) + void simple_ogg_page__clear(ogg_page *page); ++__attribute__((__visibility__("hidden"))) + FLAC__bool simple_ogg_page__get_at(FLAC__StreamEncoder *encoder, FLAC__uint64 position, ogg_page *page, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderReadCallback read_callback, void *client_data); ++__attribute__((__visibility__("hidden"))) + FLAC__bool simple_ogg_page__set_at(FLAC__StreamEncoder *encoder, FLAC__uint64 position, ogg_page *page, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderWriteCallback write_callback, void *client_data); + + #endif +diff -up flac-1.2.1/src/libFLAC/include/private/bitreader.h.hidesyms flac-1.2.1/src/libFLAC/include/private/bitreader.h +--- flac-1.2.1/src/libFLAC/include/private/bitreader.h.hidesyms 2007-07-10 22:22:19.000000000 +0200 ++++ flac-1.2.1/src/libFLAC/include/private/bitreader.h 2008-01-29 15:27:13.000000000 +0100 +@@ -95,5 +95,6 @@ FLAC__bool FLAC__bitreader_read_golomb_u + FLAC__bool FLAC__bitreader_read_utf8_uint32(FLAC__BitReader *br, FLAC__uint32 *val, FLAC__byte *raw, unsigned *rawlen); + FLAC__bool FLAC__bitreader_read_utf8_uint64(FLAC__BitReader *br, FLAC__uint64 *val, FLAC__byte *raw, unsigned *rawlen); + ++__attribute__((__visibility__("hidden"))) + FLAC__bool bitreader_read_from_client_(FLAC__BitReader *br); + #endif +diff -up flac-1.2.1/src/libFLAC/ia32/stream_encoder_asm.nasm.hidesyms flac-1.2.1/src/libFLAC/ia32/stream_encoder_asm.nasm +--- flac-1.2.1/src/libFLAC/ia32/stream_encoder_asm.nasm.hidesyms 2008-01-29 15:27:13.000000000 +0100 ++++ flac-1.2.1/src/libFLAC/ia32/stream_encoder_asm.nasm 2008-01-29 15:28:32.000000000 +0100 +@@ -34,7 +34,7 @@ + + data_section + +-cglobal precompute_partition_info_sums_32bit_asm_ia32_ ++cglobal precompute_partition_info_sums_32bit_asm_ia32_:function hidden + + code_section + diff --git a/src/patches/flac-1.2.1-tests.patch b/src/patches/flac-1.2.1-tests.patch new file mode 100644 index 0000000..89c5921 --- /dev/null +++ b/src/patches/flac-1.2.1-tests.patch @@ -0,0 +1,41 @@ +diff -up flac-1.2.1/test/test_seeking.sh.tests flac-1.2.1/test/test_seeking.sh +--- flac-1.2.1/test/test_seeking.sh.tests 2007-09-11 09:33:04.000000000 +0200 ++++ flac-1.2.1/test/test_seeking.sh 2008-01-29 13:52:03.000000000 +0100 +@@ -103,7 +103,7 @@ tiny_seek_count=100 + if [ "$FLAC__TEST_LEVEL" -gt 1 ] ; then + small_seek_count=10000 + else +- small_seek_count=100000 ++ small_seek_count=100 + fi + + for suffix in '' '-s' ; do +diff -up flac-1.2.1/test/test_streams.sh.tests flac-1.2.1/test/test_streams.sh +--- flac-1.2.1/test/test_streams.sh.tests 2007-06-16 21:58:39.000000000 +0200 ++++ flac-1.2.1/test/test_streams.sh 2008-03-17 13:57:39.000000000 +0100 +@@ -39,6 +39,10 @@ if [ x"$FLAC__TEST_LEVEL" = x ] ; then + FLAC__TEST_LEVEL=1 + fi + ++if [ "$FLAC__TEST_LEVEL" -eq 0 ] ; then ++ exit 0 ++fi ++ + flac --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable" + + run_flac () +diff -up flac-1.2.1/src/test_streams/main.c.tests flac-1.2.1/src/test_streams/main.c +--- flac-1.2.1/src/test_streams/main.c.tests 2007-08-31 07:54:49.000000000 +0200 ++++ flac-1.2.1/src/test_streams/main.c 2008-01-29 13:53:46.000000000 +0100 +@@ -898,9 +898,9 @@ int main(int argc, char *argv[]) + if(!generate_noise("noise.raw", 65536 * 8 * 3)) return 1; + if(!generate_noise("noise8m32.raw", 32)) return 1; + if(!generate_wackywavs()) return 1; +- for(channels = 1; channels <= 8; channels++) { ++ for(channels = 1; channels <= 2; channels++) { + unsigned bits_per_sample; +- for(bits_per_sample = 4; bits_per_sample <= 24; bits_per_sample++) { ++ for(bits_per_sample = 8; bits_per_sample <= 24; bits_per_sample += 8) { + static const unsigned nsamples[] = { 1, 111, 4777 } ; + unsigned samples; + for(samples = 0; samples < sizeof(nsamples)/sizeof(nsamples[0]); samples++) {
hooks/post-receive -- IPFire 2.x development tree