atom-beta.sh 2.37 KB
Newer Older
1 2 3 4 5 6 7
#!/bin/sh -x

# It will be run with two args: buildroot spec
BUILDROOT="$1"
SPEC="$2"

PRODUCT=atom
8 9
#PRODUCTCUR=atom-beta
PRODUCTCUR=$(basename $0 .sh)
10

11 12 13 14
for i in atom atom-beta ; do
    [ "$i"  = "$PRODUCTCUR" ] && continue
    subst "1iConflicts:$i" $SPEC
done
15

16
. $(dirname $0)/common-chromium-browser.sh
17 18 19 20

subst '1iAutoReq:yes,nomonolib,nomono,nopython' $SPEC
subst '1iAutoProv:no' $SPEC

21 22
move_to_opt
subst "s|\$USR_DIRECTORY/share/atom|/opt/atom|" $BUILDROOT/usr/bin/$PRODUCTCUR
23
add_bin_exec_command $PRODUCT /usr/bin/$PRODUCTCUR
24

25 26 27 28 29
rm $PRODUCTDIR/resources/app/apm/node_modules/.bin/apm
# TODO: app/apm/bin/apm?
rm -v $BUILDROOT/usr/bin/apm
add_bin_link_command apm $PRODUCTDIR/resources/app/apm/node_modules/.bin/apm

30
subst '1iBuildRequires:rpm-build-python3' $SPEC
31
subst "1i%add_python3_path $PRODUCTDIR" $SPEC
32 33

# replace embedded git with standalone (due Can't locate Git/LoadCPAN/Error.pm)
34
EMBDIR=$PRODUCTDIR/resources/app.asar.unpacked/node_modules/dugite/git
35
echo "Removing $BUILDROOT$EMBDIR/ ..."
36
remove_dir $EMBDIR
37 38
mkdir -p $BUILDROOT$EMBDIR/bin/
ln -s /usr/bin/git $BUILDROOT$EMBDIR/bin/git
39 40 41
pack_dir $EMBDIR
pack_dir $EMBDIR/bin
pack_file $EMBDIR/bin/git
42 43

# replace embedded npm with standalone
44
EMBDIR=$PRODUCTDIR/resources/app/apm/node_modules/npm
45
echo "Removing $BUILDROOT$EMBDIR/ ..."
46
remove_dir $EMBDIR
47
ln -s /usr/lib/node_modules/npm $BUILDROOT$EMBDIR
48
pack_file $EMBDIR
49 50

# replace embedded node and npm
51 52 53
for EMBDIR in $PRODUCTDIR/resources/app/apm/bin/{node,npm} \
              $PRODUCTDIR/resources/app/apm/node_modules/.bin/{npm,npx} \
              $PRODUCTDIR/resources/app/apm/node_modules/open/xdg-open ; do
54 55
    echo "Removing $BUILDROOT$EMBDIR ..."
    rm $BUILDROOT$EMBDIR
56 57 58 59 60 61 62 63 64 65 66
    ln -s /usr/bin/$(basename $EMBDIR) $BUILDROOT$EMBDIR
done

# TODO use separated chromium-sandbox
# TODO for other distros?

# install all requires packages before packing (the list have got with rpmreqs package | xargs echo)
epm install --skip-installed coreutils findutils git-core glib2 grep libalsa libatk libat-spi2-core \
            libcairo libcups libdbus libdrm libexpat libgbm libgdk-pixbuf libgio libgtk+3 libnspr libnss libpango libsecret \
            libX11 libxcb libXcomposite libXdamage libXext libXfixes libxkbcommon libxkbfile libXrandr \
            sed /usr/bin/git /usr/bin/node /usr/bin/npm /usr/bin/npx util-linux which xprop \
Vitaly Lipatov's avatar
Vitaly Lipatov committed
67
            node python3 rpm-build-python3
68
# enlightenment exo-utils seamonkey