debian/0000755000000000000000000000000012265065705007176 5ustar debian/squeezelite-pa.links0000644000000000000000000000005512263471062013170 0ustar /usr/bin/squeezelite-pa /usr/bin/squeezelite debian/compat0000644000000000000000000000000212257646455010404 0ustar 9 debian/source/0000755000000000000000000000000012263471062010471 5ustar debian/source/lintian-overrides0000644000000000000000000000017112263471062014051 0ustar # watch file uses fakeupstream.cgi; no GPG signatures available squeezelite source: debian-watch-may-check-gpg-signature debian/source/format0000644000000000000000000000001412257646455011714 0ustar 3.0 (quilt) debian/copyright0000644000000000000000000000664012263471062011132 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: squeezelite Upstream-Contact: Adrian Smith Source: https://code.google.com/p/squeezelite/ Files: * Copyright: 2012-2013 Adrian Smith License: GPL-3 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 . . On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". Files: dsd2pcm/* Copyright: 2009, 2011 Sebastian Gesemann 2013 Adrian Smith License: BSD 2-Clause Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. . THIS SOFTWARE IS PROVIDED BY SEBASTIAN GESEMANN ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SEBASTIAN GESEMANN OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. . The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of Sebastian Gesemann. Files: debian/* Copyright: 2013 Chris Boot License: GPL-2+ This package 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 2 of the License, or (at your option) any later version. . This package 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 . On Debian systems, the complete text of the GNU General Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". debian/squeezelite-pa.squeezelite.default0000777000000000000000000000000012263471062024272 2squeezelite.squeezelite.defaultustar debian/squeezelite.squeezelite.init0000644000000000000000000000601112263471062014751 0ustar #!/bin/sh ### BEGIN INIT INFO # Provides: squeezelite # Required-Start: $network $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Lightweight headless Squeezebox emulator # Description: Lightweight headless streaming audio player for Logitech's # Squeezebox audio server ### END INIT INFO # Author: Chris Boot PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Squeezebox client" NAME=squeezelite DAEMON=/usr/bin/$NAME PIDFILE=/run/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. . /lib/lsb/init-functions # # Function that starts the daemon/service # do_start() { DAEMON_ARGS="" # add squeezelite name if set if [ -n "$SL_NAME" ]; then DAEMON_ARGS="${DAEMON_ARGS} -n ${SL_NAME}" fi # add souncard setting if set if [ -n "$SL_SOUNDCARD" ]; then DAEMON_ARGS="${DAEMON_ARGS} -o ${SL_SOUNDCARD}" fi # add squeezebox server ip address if set if [ -n "$SB_SERVER_IP" ]; then DAEMON_ARGS="${DAEMON_ARGS} -s ${SB_SERVER_IP}" fi # add any other options given by the user if [ -n "$SB_EXTRA_ARGS" ]; then DAEMON_ARGS="${DAEMON_ARGS} ${SB_EXTRA_ARGS}" fi # Return # 0 if daemon has been started # 1 if daemon was already running # 2 if daemon could not be started start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \ --test > /dev/null || return 1 start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \ --background --make-pidfile -- $DAEMON_ARGS || return 2 } # # Function that stops the daemon/service # do_stop() { # Return # 0 if daemon has been stopped # 1 if daemon was already stopped # 2 if daemon could not be stopped # other if a failure occurred start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \ --pidfile $PIDFILE --exec $DAEMON } case "$1" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" do_start; RET=$? case $RET in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0; exit 0 ;; *) [ "$VERBOSE" != no ] && log_end_msg 1; exit 1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" do_stop; RET=$? case $RET in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0; exit 0 ;; *) [ "$VERBOSE" != no ] && log_end_msg 1; exit 1 ;; esac ;; status) status_of_proc "$DAEMON" "$NAME" ;; restart|force-reload) log_daemon_msg "Restarting $DESC" "$NAME" do_stop; RET=$? case $RET in 0|1) do_start; RET=$? case $RET in 0) log_end_msg 0; exit 0 ;; 1) log_end_msg 1; exit 1 ;; # Old process is still running *) log_end_msg 1; exit 1 ;; # Failed to start esac ;; *) # Failed to stop log_end_msg 1; exit 1 ;; esac ;; *) echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 exit 3 ;; esac debian/control0000644000000000000000000000355312263471062010602 0ustar Source: squeezelite Section: sound Priority: extra Maintainer: Chris Boot Build-Depends: debhelper (>= 9~), libasound2-dev, libflac-dev, libmad0-dev, libvorbis-dev, libfaad-dev, libmpg123-dev, libsoxr-dev, libavformat-dev, portaudio19-dev Standards-Version: 3.9.5 Homepage: https://code.google.com/p/squeezelite/ Vcs-Git: git://anonscm.debian.org/collab-maint/squeezelite.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/squeezelite.git;a=summary Package: squeezelite Architecture: linux-any Depends: ${shlibs:Depends}, ${misc:Depends} Conflicts: squeezelite-pa Description: lightweight headless Squeezebox emulator - ALSA version Squeezelite is a small headless Squeezebox emulator. It is aimed at supporting high quality audio including USB DAC based output at multiple sample rates. . It supports decoding PCM (WAV/AIFF), FLAC, MP3, Ogg, AAC, WMA and ALAC audio formats. It can also resample audio, which allows squeezelite to upsample the output to the highest sample rate supported by the output device. . This package is built with the resampling, ffmpeg and visualisation export options. It uses ALSA for audio output. Package: squeezelite-pa Architecture: linux-any Depends: ${shlibs:Depends}, ${misc:Depends} Conflicts: squeezelite Provides: squeezelite Description: lightweight headless Squeezebox emulator - PortAudio version Squeezelite is a small headless Squeezebox emulator. It is aimed at supporting high quality audio including USB DAC based output at multiple sample rates. . It supports decoding PCM (WAV/AIFF), FLAC, MP3, Ogg, AAC, WMA and ALAC audio formats. It can also resample audio, which allows squeezelite to upsample the output to the highest sample rate supported by the output device. . This package is built with the resampling, ffmpeg and visualisation export options. It uses PortAudio for audio output. debian/squeezelite.squeezelite.default0000644000000000000000000000120412263471062015431 0ustar # Defaults for squeezelite initscript # sourced by /etc/init.d/squeezelite # installed at /etc/default/squeezelite by the maintainer scripts # The name for the squeezelite player: SL_NAME="$(hostname -s)" # ALSA output device: #SL_SOUNDCARD="default:CARD=Set" # Squeezebox server (Logitech Media Server): # Uncomment the next line if you want to point squeezelite at the IP address of # your squeezebox server. This is usually unnecessary as the server is # automatically discovered. #SB_SERVER_IP="192.168.x.y" # Additional options to pass to squeezelite: # Please do not include -z to make squeezelite daemonise itself. #SB_EXTRA_ARGS="" debian/squeezelite-pa.manpages0000644000000000000000000000006512263471062013644 0ustar debian/man/squeezelite.1 debian/man/squeezelite-pa.1 debian/man/0000755000000000000000000000000012263471062007744 5ustar debian/man/squeezelite.10000644000000000000000000002257512263471062012400 0ustar .\" Hey, EMACS: -*- nroff -*- .\" (C) Copyright 2013 Chris Boot .\" .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH SQUEEZELITE 1 "November 24, 2013" "Debian Project" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH NAME squeezelite \- Lightweight headless Squeezebox emulator .SH SYNOPSIS .B squeezelite .RI [ options ] .SH DESCRIPTION .B Squeezelite is a small headless Logitech Squeezebox emulator. It is aimed at supporting high quality audio including USB DAC based output at multiple sample rates. .PP The player is controlled using, and media is streamed from, a Logitech Media Server instance running somewhere on the local network. .SH OPTIONS This program supports the following options: .TP .B \-h Show a summary of the available command-line options. .TP .B \-s [:] Connect to the specified Logitech Media Server, otherwise uses automatic discovery to find server on the local network. This option should only be needed if automatic discovery does not work, or the server is not on the local network segment (e.g. behind a router). .TP .B \-o Specify the audio output device; the default value is .IR default . Use the .B \-l option to list available output devices. .I - can be used to output raw samples to standard output. .TP .B \-l List available audio output devices to stdout and exit. These device names can be passed to the .B \-o option in order to select a particular device or configuration to use for audio playback. .TP .B \-a Specify parameters used when opening an audio output device. For ALSA, the format .B :

:: is used where .B is the buffer time in milliseconds (values less than 500) or size in bytes (default .IR 40 ms); .B

is the period count (values less than 50) or size in bytes (default .IR 4 " periods);" .B is the sample format (possible values: .IR 16 ", " 24 ", " 24_3 " or " 32 ); .B is whether to use mmap (possible values: .IR 0 " or " 1 ). For PortAudio, the value is simply the target latency in milliseconds. When the output is sent to standard output, the value can be .IR 16 ", " 24 " or " 32 , which denotes the sample size in bits. .TP .B \-b : Specify internal stream and output buffer sizes in kilobytes. .TP .B \-c ,... Restrict codecs to those specified, otherwise load all available codecs; known codecs: .IR flac ", " pcm ", " mp3 ", " ogg ", " aac ", " wma ", " alac . .IR mad " or " mpg can be supplied instead of .I mp3 to use a specific decoder library. .TP .B \-d = Set logging level. Categories are: .IR all ", " slimproto ", " stream ", " decode " or " output . Levels can be: .IR info ", " debug " or " sdebug . The option can be repeated to set different log levels for different categories. .TP .B \-f Send logging output to a log file instead of standard output or standard error. .TP .B \-m Override the player's MAC address. The format must be colon-delimited hexadecimal, for example: ab:cd:ef:12:34:56. This is usually automatically detected, and should not need to be provided in most circumstances. .TP .B \-n Set the player name. This name is used by the Logitech Media Server to refer to the player by name. This option is mututally exclusive with .BR \-N . .TP .B \-N Allow the server to set the player's name. The player name is stored in the file pointed to by .B so that it can persist between restarts. This option is mututally exclusive with .BR \-n . .TP .B \-p Set real time priority of output thread (1-99; default .IR 45 ). Not applicable when using PortAudio. .TP .B \-r Specify sample rates supported by the output device; this is required if the output device is switched off when squeezelite is started. The format is either a single maximum sample rate, a range of sample rates in the format .IR - , or a comma-separated list of available rates. .TP .B \-u|-R [params] Enable upsampling of played audio. The argument is optional; see .B RESAMPLING (below) for more information. The options .BR -u " and " -R are synonymous. .TP .B \-D Output device supports DSD over PCM (DoP). DSD streams will be converted to DoP before output. If this option is not supplied, DSD streams will be converted to PCM and resampled, so they can be played on a PCM DAC. .TP .B \-v Enable visualiser support. This creates a shared memory segment that contains some of the audio being played, so that an external visualiser can read and process this to create visualisations. .TP .B \-z Cause \fBsqueezelite\fR to run as a daemon. That is, it detaches itself from the terminal and runs in the background. .TP .B \-t Display version and license information. .SH RESAMPLING Audio can be resampled or upsampled before being sent to the output device. This can be enabled simply by passing the \fB\-u\fR option to \fBsqueezelite\fR, but further configuration can be given as an argument to the option. .PP Resampling is performed using the SoX Resampler library; the documentation for that library and the SoX \fIrate\fR effect many be helpful when configuring upsampling for \fBsqueezelite\fR. .PP The format of the argument is .B :::::: .SS recipe This part of the argument string is made up of a number of single-character flags: \fB[v|h|m|l|q][L|I|M][s][E|X]\fR. The default value is \fBhL\fR. .TP .IR v ", " h ", " m ", " l " or " q are mutually exclusive and correspond to very high, high, medium, low or quick quality. .TP .IR L ", " I " or " M correspond to linear, intermediate or minimum phase. .TP .IR s changes resampling bandwidth from the default 95% (based on the 3dB point) to 99%. .TP .IR E exception - avoids resampling if the output device supports the playback sample rate natively. .TP .IR X resamples to the maximum sample rate for the output device ("asynchronous" resampling). .TP .B Examples .B \-u vLs would use very high quality setting, linear phase filter and steep cut-off. .br .B \-u hM would specify high quality, with the minimum phase filter. .br .B \-u hMX would specify high quality, with the minimum phase filter and async upsampling to max device rate. .SS flags The second optional argument to \fB\-u\fR allows the user to specify the following arguments (taken from the \fIsoxr.h\fR header file), in hex: .sp #define SOXR_ROLLOFF_SMALL 0u /* <= 0.01 dB */ .br #define SOXR_ROLLOFF_MEDIUM 1u /* <= 0.35 dB */ .br #define SOXR_ROLLOFF_NONE 2u /* For Chebyshev bandwidth. */ .sp #define SOXR_MAINTAIN_3DB_PT 4u /* Reserved for internal use. */ .br #define SOXR_HI_PREC_CLOCK 8u /* Increase 'irrational' ratio accuracy. */ .br #define SOXR_DOUBLE_PRECISION 16u /* Use D.P. calcs even if precision <= 20. */ .br #define SOXR_VR 32u /* Experimental, variable-rate resampling. */ .TP .B Examples .B \-u :2 would specify \fBSOXR_ROLLOFF_NONE\fR. .sp \fBNB:\fR In the example above the first option, \fB\fR, has not been specified so would default to \fBhL\fR. Therefore, specifying \fB\-u :2\fR is equivalent to having specified \fB\-u hL:2\fR. .SS attenuation Internally, data is passed to the SoX resample process as 32 bit integers and output from the SoX resample process as 32 bit integers. Why does this matter? There is the possibility that integer samples, once resampled may be clipped (i.e. exceed the maximum value). By default, if you do not specify an \fBattenuation\fR value, it will default to \-1db. A value of \fI0\fR on the command line, i.e. \fB-u ::0\fR will disable the default \-1db attenuation being applied. .sp \fBNB:\fR Clipped samples will be logged. Keep an eye on the log file. .TP .B Examples .B \-u ::6 specifies to apply \-6db (ie. halve the volume) prior to the resampling process. .SS precision The internal 'bit' precision used in the re-sampling calculations (ie. quality). .sp \fBNB:\fR HQ = 20, VHQ = 28. .TP .B Examples .B \-u :::28 specifies 28-bit precision. .SS passband_end A percentage value between 0 and 100, where 100 is the Nyquist frequency. The default if not explicitly set is \fI91.3\fR. .TP .B Examples .B \-u ::::98 specifies passband ends at 98 percent of the Nyquist frequency. .SS stopband_start A percentage value between 0 and 100, where 100 is the Nyquist frequency. The default if not explicitly set is \fI100\fR. .TP .B Examples .B \-u :::::100 specifies that the stopband starts at the Nyquist frequency. .SS phase_response A value between 0-100, where \fI0\fR is equivalent to the recipe \fIM\fR flag for minimum phase, \fI25\fR is equivalent to the recipe \fII\fR flag for intermediate phase and \fI50\fR is equivalent to the recipe \fIL\fR flag for linear phase. .TP .B Examples .B \-u ::::::50 specifies linear phase. .SH SEE ALSO https://code.google.com/p/squeezelite/ .br http://www.communitysqueeze.org/squeezelite_about.jsp .br http://www.communitysqueeze.org/squeezelite_upsample.jsp .br .BR sox (1) \- for further information about resampling debian/man/squeezelite-pa.10000644000000000000000000000002712263471062012762 0ustar .so man1/squeezelite.1 debian/rules0000755000000000000000000000225512263471062010255 0ustar #!/usr/bin/make -f # -*- makefile -*- # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # Enable ffmpeg, soxr resampling, visualisation export and disable dlopening # libraries export OPTS := -DDSD -DFFMPEG -DRESAMPLE -DVISEXPORT -DLINKALL # Enable all hardening build flags export DEB_BUILD_MAINT_OPTIONS := hardening=+all # Re-enable compiler warning flags (CFLAGS overridden by dpkg-buildflags) export DEB_CFLAGS_MAINT_PREPEND := -Wall %: dh $@ override_dh_auto_build: build_squeezelite build_squeezelite-pa override_dh_auto_clean: clean_squeezelite clean_squeezelite-pa # This is needed to fully clean built objects if the Makefile patches # are not applied. rm -f *.o dsd2pcm/*.o override_dh_installinit: dh_installinit --name=squeezelite build_squeezelite: clean_squeezelite dh_auto_build -- EXECUTABLE=squeezelite clean_squeezelite: dh_auto_clean -- EXECUTABLE=squeezelite build_squeezelite-pa: OPTS += -DPORTAUDIO build_squeezelite-pa: clean_squeezelite-pa dh_auto_build -- EXECUTABLE=squeezelite-pa clean_squeezelite-pa: dh_auto_clean -- EXECUTABLE=squeezelite-pa .PHONY: build_squeezelite clean_squeezelite \ build_squeezelite-pa clean_squeezelite-pa debian/patches/0000755000000000000000000000000012263471062010620 5ustar debian/patches/Makefile-portaudio.patch0000644000000000000000000000235012263471062015362 0ustar Description: Simplify building of PortAudio based binary This Makefile patch conditionally adds libasound or libportaudio to the build flags depending on whether -DPORTAUDIO is included in CFLAGS. Author: Chris Boot Forwarded: no Last-Update: 2013-12-28 --- a/Makefile +++ b/Makefile @@ -1,12 +1,13 @@ # Cross compile support - create a Makefile which defines these three variables and then includes this Makefile... CFLAGS ?= -Wall -fPIC -O2 -LDADD ?= -lasound -lpthread -lm -lrt +LDADD ?= -lpthread -lm -lrt EXECUTABLE ?= squeezelite # passing one or more of these in $(OPTS) enables optional feature inclusion OPT_DSD = -DDSD OPT_FF = -DFFMPEG OPT_LINKALL = -DLINKALL +OPT_PORTAUDIO = -DPORTAUDIO OPT_RESAMPLE= -DRESAMPLE OPT_VIS = -DVISEXPORT @@ -21,6 +22,8 @@ SOURCES_VIS = output_vis.c LINK_LINUX = -ldl +LINK_ALSA = -lasound +LINK_PORTAUDIO = -lportaudio LINKALL = -lFLAC -lmad -lvorbisfile -lfaad -lmpg123 LINKALL_FF = -lavcodec -lavformat -lavutil @@ -60,6 +63,12 @@ endif endif +ifneq (,$(findstring $(OPT_PORTAUDIO), $(OPTS))) + LDADD += $(LINK_PORTAUDIO) +else + LDADD += $(LINK_ALSA) +endif + OBJECTS = $(SOURCES:.c=.o) all: $(EXECUTABLE) debian/patches/series0000644000000000000000000000010712263471062012033 0ustar Makefile-tweaks.patch Makefile-portaudio.patch typo-fix-suppored.patch debian/patches/typo-fix-suppored.patch0000644000000000000000000000144612263471062015264 0ustar Description: Fix typo: suppored/supported Author: Chris Boot Forwarded: yes, privately Last-Update: 2013-12-29 --- squeezelite-1.4.orig/main.c +++ squeezelite-1.4/main.c @@ -52,7 +52,7 @@ static void usage(const char *argv0) { " -f \t\tWrite debug to logfile\n" " -m \t\tSet mac address, format: ab:cd:ef:12:34:56\n" " -n \t\tSet the player name\n" - " -N \t\tStore player name in filename to allow server defined name changes to be shared between servers (not suppored with -n)\n" + " -N \t\tStore player name in filename to allow server defined name changes to be shared between servers (not supported with -n)\n" #if ALSA " -p \t\tSet real time priority of output thread (1-99)\n" #endif debian/patches/Makefile-tweaks.patch0000644000000000000000000000453112263471062014655 0ustar Description: Makefile tweaks for hardening build options This patch changes the Makefile to add options to CFLAGS and LDFLAGS instead of overriding the values from the environment, and ensures that CPPFLAGS is also used when building C source. Author: Chris Boot Forwarded: not-needed Last-Update: 2013-12-28 --- squeezelite-1.4.orig/Makefile +++ squeezelite-1.4/Makefile @@ -1,6 +1,6 @@ # Cross compile support - create a Makefile which defines these three variables and then includes this Makefile... -CFLAGS ?= -Wall -fPIC -O2 $(OPTS) -LDFLAGS ?= -lasound -lpthread -lm -lrt +CFLAGS ?= -Wall -fPIC -O2 +LDADD ?= -lasound -lpthread -lm -lrt EXECUTABLE ?= squeezelite # passing one or more of these in $(OPTS) enables optional feature inclusion @@ -31,32 +31,32 @@ DEPS = squeezelite.h slimpro UNAME = $(shell uname -s) # add optional sources -ifneq (,$(findstring $(OPT_DSD), $(CFLAGS))) +ifneq (,$(findstring $(OPT_DSD), $(OPTS))) SOURCES += $(SOURCES_DSD) endif -ifneq (,$(findstring $(OPT_FF), $(CFLAGS))) +ifneq (,$(findstring $(OPT_FF), $(OPTS))) SOURCES += $(SOURCES_FF) endif -ifneq (,$(findstring $(OPT_RESAMPLE), $(CFLAGS))) +ifneq (,$(findstring $(OPT_RESAMPLE), $(OPTS))) SOURCES += $(SOURCES_RESAMPLE) endif -ifneq (,$(findstring $(OPT_VIS), $(CFLAGS))) +ifneq (,$(findstring $(OPT_VIS), $(OPTS))) SOURCES += $(SOURCES_VIS) endif # add optional link options -ifneq (,$(findstring $(OPT_LINKALL), $(CFLAGS))) - LDFLAGS += $(LINKALL) -ifneq (,$(findstring $(OPT_FF), $(CFLAGS))) - LDFLAGS += $(LINKALL_FF) +ifneq (,$(findstring $(OPT_LINKALL), $(OPTS))) + LDADD += $(LINKALL) +ifneq (,$(findstring $(OPT_FF), $(OPTS))) + LDADD += $(LINKALL_FF) endif -ifneq (,$(findstring $(OPT_RESAMPLE), $(CFLAGS))) - LDFLAGS += $(LINKALL_RESAMPLE) +ifneq (,$(findstring $(OPT_RESAMPLE), $(OPTS))) + LDADD += $(LINKALL_RESAMPLE) endif else # if not LINKALL and linux add LINK_LINUX ifeq ($(UNAME), Linux) - LDFLAGS += $(LINK_LINUX) + LDADD += $(LINK_LINUX) endif endif @@ -65,12 +65,12 @@ OBJECTS = $(SOURCES:.c=.o) all: $(EXECUTABLE) $(EXECUTABLE): $(OBJECTS) - $(CC) $(OBJECTS) $(LDFLAGS) -o $@ + $(CC) $(OBJECTS) $(LDFLAGS) $(LDADD) -o $@ $(OBJECTS): $(DEPS) .c.o: - $(CC) $(CFLAGS) $(CPPFLAGS) $< -c -o $@ + $(CC) $(CFLAGS) $(CPPFLAGS) $(OPTS) $< -c -o $@ clean: rm -f $(OBJECTS) $(EXECUTABLE) debian/changelog0000644000000000000000000000232012263471062011040 0ustar squeezelite (1.4-1) unstable; urgency=low * New upstream release. * Refresh Makefile-tweaks.patch due to Makefile rewrite. * Enable full hardening build flags: - Add DEB_BUILD_MAINT_OPTIONS := hardening=+all * Add squeezelite-pa compiled with PortAudio instead of ALSA: - Add new squeezelite-pa binary package - Add Build-Depends on portaudio19-dev - Add Makefile-portaudio.patch - Adjust debian/rules to build twice with different options - Minor shuffling around to accommodate the new package * Remove no-upstream-changelog lintian override now that there is one. * Add lintian override for debian-watch-may-check-gpg-signature; no signatures are available. * Fix typo: suppored/supported (typo-fix-suppored.patch). * Update man page to document new/changed options. * Update debian/copyright for included dsd2pcm source. * Enable DSD (Direct Stream Digital) and DoP (DSD over PCM). * Confine to linux-any for the time being; builds fail on kFreeBSD / Hurd. -- Chris Boot Thu, 09 Jan 2014 09:54:22 +0000 squeezelite (1.3.1-1) unstable; urgency=low * Initial release (Closes: #729885) -- Chris Boot Mon, 18 Nov 2013 15:44:55 +0000 debian/watch0000644000000000000000000000015512257646455010240 0ustar version=3 http://qa.debian.org/cgi-bin/fakeupstream.cgi?upstream=vcs/git/google/squeezelite .*/v(.*)\.tar.gz debian/squeezelite.install0000644000000000000000000000002512257646455013132 0ustar squeezelite /usr/bin debian/squeezelite-pa.squeezelite.init0000777000000000000000000000000012263471062023130 2squeezelite.squeezelite.initustar debian/squeezelite-pa.install0000644000000000000000000000003012263471062013507 0ustar squeezelite-pa /usr/bin debian/squeezelite.manpages0000644000000000000000000000003112257646455013254 0ustar debian/man/squeezelite.1