* "Joe Peterson (lavajoe)" <lava...@gentoo.org>:
> 1.1                  
> media-sound/squeezeboxserver/squeezeboxserver-7.4.1.ebuild
> 
> file : 
> http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-sound/squeezeboxserver/squeezeboxserver-7.4.1.ebuild?rev=1.1&view=markup
> plain: 
> http://sources.gentoo.org/viewcvs.py/gentoo-x86/media-sound/squeezeboxserver/squeezeboxserver-7.4.1.ebuild?rev=1.1&content-type=text/plain
> 
> Index: squeezeboxserver-7.4.1.ebuild
> ===================================================================

> RDEPEND="

>       >=dev-perl/Class-XSAccessor-1.03
>       >=dev-perl/Class-XSAccessor-Array-1.04

Class-XSAccessor-Array was merge in dev-perl/Class-XSAccessor-1.05 (#275520)
Please depend on ">=dev-perl/Class-XSAccessor-1.05" and drop -Array.

>       "

> # Selected contents of SqueezeCenter's local CPAN collection that we include
> # in the installation. This removes duplication of CPAN modules. (See Gentoo
> # bug #251494).

Hm, I've added a bunch of these modules as requested in 
https://bugs.gentoo.org/showdependencytree.cgi?id=251494

Why don't you use them now?

> CPANKEEP="
>       Class/XSAccessor/Array.pm
> 
>       JSON/XS/VersionOneAndTwo.pm
>       Class/Accessor/
>       Class/Accessor.pm
>       MRO/Compat.pm
>       Algorithm/C3.pm
>       Data/
>       DBIx/
>       File/BOM.pm
>       Net/UPnP/
>       Net/UPnP.pm
>       Proc/Background/
>       Proc/Background.pm
>       Text/Unidecode/
>       Text/Unidecode.pm
>       Tie/Cache/LRU/
>       Tie/Cache/LRU.pm
>       Tie/LLHash.pm
>       Tie/RegexpHash.pm
>       UUID/Tiny.pm
>       URI/Find.pm
>       PAR/
>       PAR.pm
>       enum.pm
>       "


> LIBDIR="/usr/lib/squeezeboxserver"

get_libdir ?

> pkg_setup() {
>       # Sox has optional OGG and FLAC support, so make sure it has that 
> included
>       # if required
>       if use ogg; then
>               if ! built_with_use media-sound/sox ogg; then
>                       eerror "media-sound/sox not built with USE=ogg"
>                       die "Squeezebox Server needs media-sound/sox to be 
> built with USE=ogg"
>               fi
>       fi
>       if use flac; then
>               if ! built_with_use media-sound/sox flac; then
>                       eerror "media-sound/sox not built with USE=flac"
>                       die "Squeezebox Server needs media-sound/sox to be 
> built with USE=flac"
>               fi
>       fi

Use EAPI=2 and "USE Dependencies"
<http://devmanual.gentoo.org/ebuild-writing/eapi/index.html>


> src_install() {

>       # The main Perl executables
>       exeinto /usr/sbin
>       newexe slimserver.pl squeezeboxserver
>       newexe scanner.pl squeezeboxserver-scanner
>       newexe cleanup.pl squeezeboxserver-cleanup

|| die

>       # Get the Perl package name and version
>       eval `perl '-V:package'`
>       eval `perl '-V:version'`
> 
>       # The custom OS module for Gentoo - provides OS-specific path details
>       cp "${FILESDIR}/gentoo-filepaths.pm" "Slim/Utils/OS/Custom.pm" || die 
> "Unable to install Gentoo custom OS module"
> 
>       # The server Perl modules
>       dodir "/usr/lib/${package}/vendor_perl/${version}"
>       cp -r Slim "${D}/usr/lib/${package}/vendor_perl/${version}" || die 
> "Unable to install server Perl modules"

You can make use of:
perl -V:installvendorlib

>       # Compiled CPAN module go under lib as they are arch-specific
>       dodir "/usr/lib/squeezeboxserver/CPAN"
>       cp -r CPAN/arch "${D}/usr/lib/squeezeboxserver/CPAN" || die "Unable to 
> install compiled CPAN modules"
> 
>       # Preseve some of the Squeezebox Server-packaged CPAN modules that 
> Gentoo
>       # doesn't provide ebuilds for.
>       for ITEM in ${CPANKEEP}; do
>               dodir "/usr/share/squeezeboxserver/CPAN/$(dirname ${ITEM})"
>               cp -r "CPAN/${ITEM}" 
> "${D}/usr/share/squeezeboxserver/CPAN/${ITEM}" || die "Unable to preserve 
> CPAN item ${ITEM}"
>       done

For CPANKEEP, see above.

>       # Install preferences
>       insinto "${PREFSDIR}"
>       if [ ! -f "${PREFSDIR}/squeezeboxserver.prefs" ]; then

This test in src_test is wrong.

>               newins "${FILESDIR}/squeezeboxserver.prefs" 
> squeezeboxserver.prefs
>       fi
>       fowners squeezeboxserver:squeezeboxserver "${PREFSDIR}"
>       fperms 770 "${PREFSDIR}"


> pkg_postinst() {

>       # Album art requires PNG and JPEG support from GD, so if it's not there
>       # then warn the user.  It's not mandatory as the user may not be using
>       # album art.
>       if ! built_with_use dev-perl/GD jpeg || \
>          ! built_with_use dev-perl/GD png || \
>          ! built_with_use media-libs/gd jpeg || \
>          ! built_with_use media-libs/gd png; then

EAPI=2 and "if ! has_version dev-perl/GD[jpeg] || \ ..." is prefered.

Regards

Reply via email to