aboutsummaryrefslogtreecommitdiff
path: root/audio/google-musicmanager/google-musicmanager.SlackBuild
blob: dc95cc68a1e6dcdbca33a7c4a499ecfc214501d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/bin/bash

# Slackware build script for google-musicmanager

# Written by Steven Pledger <spledger91@yahoo.com>
# Based on google-chrome.SlackBuild from Slackware

# Copyright 2009-2010,2014-2015  Erik Hanson, Minneapolis, MN, USA
# Copyright 2011  Patrick J. Volkerding, Sebeka, MN, USA
# Copyright 2011 Steven Pledger, Vacaville, CA, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''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 THE AUTHOR 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.

# 20220322 bkw: Modified by SlackBuilds.org: fix 32-bit build.

cd $(dirname $0) ; CWD=$(pwd)

PRGNAM=google-musicmanager
VERSION=${VERSION:-1.0.243.1116}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}

# 20220322 bkw: changed this stuff to allow building a 32-bit package
# on x86_64 with 'export ARCH=i586', or build a 64-bit package on
# 32-bit with 'export ARCH=x86_64'. Please leave it this way; it makes
# testing ever so much simpler.
if [ -z "$ARCH" ]; then
  case "$( uname -m )" in
    i?86) ARCH=i586 ;;
    arm*) ARCH=arm ;;
       *) ARCH=$( uname -m ) ;;
  esac
fi

case "$ARCH" in
  i?86)   DEBARCH="i386"  ; LIBDIRSUFFIX=""   ;;
  x86_64) DEBARCH="amd64" ; LIBDIRSUFFIX="64" ;;
  *) echo "Package for $(uname -m) architecture is not available." ; exit 1 ;;
esac

if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
  echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
  exit 0
fi

TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}

RELEASE=${RELEASE:-beta}    # stable, beta, or unstable
# Get the version from the Debian/Ubuntu .deb (thanks to Fred Richards):
SRCVER=$(ar p $PRGNAM-${RELEASE}_current_${DEBARCH}.deb control.tar.gz 2> /dev/null | tar zxO ./control 2> /dev/null | grep Version | awk '{print $2}' | cut -d- -f1)

if [ "$VERSION" != "$SRCVER" ]; then
  cat <<EOF
WARNING: The source version ($SRCVER) does not match the VERSION variable ($VERSION).
To build anyway, run the SlackBuild like this:

  VERSION=$SRCVER ./$PRGNAM.SlackBuild

exiting...
EOF
  exit 1
fi

set -e

rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $PKG

# 20220322 bkw: 32-bit .deb has lzma compression, not xz. Handle either.
DEB=$CWD/$PRGNAM-${RELEASE}_current_${DEBARCH}.deb
for i in lzma xz; do
  ar -t "$DEB" | fgrep -q data.tar.$i && COMP=$i
done

ar p $DEB data.tar.$COMP | $COMP -d | tar xv

# 20220218 bkw: absolute path symlink in deb, no good.
rm -f usr/bin/$PRGNAM
ln -s ../../opt/google/musicmanager/MusicManager usr/bin/$PRGNAM

chown -R root:root .
find -L . \
 \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
 -o -perm 511 \) -exec chmod 755 {} \+ -o \
 \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
 -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+

# Make sure top-level perms are correct:
chmod 0755 .

# The cron job is for Debian/Ubuntu only:
rm -rf etc

# Nothing in here
rm -rf usr/share/man

# Install a .desktop launcher:
sed -i -e "s#Icon=google-musicmanager#Icon=/opt/google/musicmanager/product_logo_128.png#" \
  $PKG/opt/google/musicmanager/google-musicmanager.desktop
mkdir -p $PKG/usr/share/applications
ln -s /opt/google/musicmanager/google-musicmanager.desktop \
  $PKG/usr/share/applications/google-musicmanager.desktop

mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild

mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc

cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE