Skip to content

Instantly share code, notes, and snippets.

@darealshinji
Created November 11, 2016 19:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save darealshinji/abcfffb658f1a801ce12a332809b084b to your computer and use it in GitHub Desktop.
Save darealshinji/abcfffb658f1a801ce12a332809b084b to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
# use Ubuntu 14.04 (chroot) as build system
if [ "$(lsb_release -sc)" != "trusty" ]; then
echo "error: build system needs to be Ubuntu 14.04"
echo "use chroot if possible"
exit 1
fi
APP=Nightingale
LOWERAPP=nightingale
sudo add-apt-repository -y ppa:djcj/nightingale
sudo apt-get update
sudo apt-get -y install $LOWERAPP
mkdir -p $APP/$APP.AppDir/gstreamer
mkdir -p $APP/$APP.AppDir/libs
mkdir -p $APP/$APP.AppDir/usr/bin
cd $APP
wget -q https://github.com/probonopd/AppImages/raw/master/functions.sh -O ./functions.sh
. ./functions.sh
cd $APP.AppDir
MULTIARCH=$(dpkg-architecture -qDEB_HOST_MULTIARCH)
cp -r /usr/lib/nightingale .
cp -rf /usr/share/nightingale .
cp /usr/lib/$MULTIARCH/libnspr4.so nightingale/xulrunner
cp /usr/lib/$MULTIARCH/libgst*-0.10.so.0 gstreamer
cp /usr/lib/$MULTIARCH/libgst*-0.10.so.23 gstreamer
cp /usr/lib/$MULTIARCH/gstreamer-0.10/libgstcore*.so gstreamer
cp /usr/lib/$MULTIARCH/gstreamer0.10/gstreamer-0.10/gst-plugin-scanner gstreamer
# probably not all needed
cp /usr/lib/$MULTIARCH/gstreamer-0.10/libgst*.so nightingale/gst-plugins
cp /usr/lib/$MULTIARCH/gstreamer-0.10/libresindvd.so nightingale/gst-plugins
# most stuff except xlibs, glib, gtk+, glibc, stdc++ or similar
LIBS="
liba52-0.7.4.so
libaa.so.1
libasn1.so.8
libass.so.4
libavc1394.so.0
libcaca.so.0
libcairo-gobject.so.2
libcdaudio.so.1
libcdda_interface.so.0
libcdda_paranoia.so.0
libcdio.so.13
libcroco-0.6.so.3
libcurl-gnutls.so.4
libdc1394.so.22
libdca.so.0
libdirac_encoder.so.0
libdirect-1.2.so.9
libdirectfb-1.2.so.9
libdvdnav.so.4
libdvdread.so.4
libdv.so.4
libenca.so.0
libfaad.so.2
libffi.so.6
libfftw3.so.3
libFLAC.so.8
libflite_cmulex.so.1
libflite_cmu_us_kal.so.1
libflite.so.1
libflite_usenglish.so.1
libfusion-1.2.so.9
libgcrypt.so.11
libgme.so.0
libgmp.so.10
libgnutls.so.26
libgpm.so.2
libgsm.so.1
libgssapi.so.3
libgudev-1.0.so.0
libhcrypto.so.4
libheimbase.so.1
libheimntlm.so.0
libhx509.so.5
libidn.so.11
libiec61883.so.0
libjack.so.0
libjasper.so.1
libjpeg.so.8
libkate.so.1
libkrb5.so.26
liblber-2.4.so.2
libldap_r-2.4.so.2
libltdl.so.7
liblzma.so.5
libmad.so.0
libmhash.so.2
libmimic.so.0
libmms.so.0
libmodplug.so.1
libmp3lame.so.0
libmpcdec.so.6
libmpeg2.so.0
libofa.so.0
libogg.so.0
libopenal.so.1
libopencore-amrnb.so.0
libopencore-amrwb.so.0
libopus.so.0
liborc-0.4.so.0
liborc-test-0.4.so.0
libp11-kit.so.0
libpng12.so.0
libraptor2.so.0
librasqal.so.3
libraw1394.so.11
librdf.so.0
libroken.so.18
librom1394.so.0
librsvg-2.so.2
librtmp.so.0
libsasl2.so.2
libschroedinger-1.0.so.0
libshout.so.3
libsidplay.so.1
libslv2.so.9
libsndfile.so.1
libSoundTouch.so.0
libsoup-2.4.so.1
libsoup-gnome-2.4.so.1
libspandsp.so.2
libspeex.so.1
libtag.so.1
libtasn1.so.6
libtheoradec.so.1
libtheoraenc.so.1
libtheora.so.0
libtwolame.so.0
libusb-1.0.so.0
libv4l2.so.0
libv4lconvert.so.0
libvisual-0.4.so.0
libvo-aacenc.so.0
libvo-amrwbenc.so.0
libvorbisenc.so.2
libvorbis.so.0
libvpx.so.1
libwavpack.so.1
libWildMidi.so.1
libwind.so.0
libx264.so.142
libxml2.so.2
libxslt.so.1
libxvidcore.so.4
libyajl.so.2
libzbar.so.0
libz.so.1
libzvbi.so.0
"
for l in `echo $LIBS | tr '\n' ' '` ; do
if [ -e /usr/lib/$MULTIARCH/$l ]; then
cp $l libs
elif [ -e /lib/$MULTIARCH/$l ]; then
cp $l libs
else
echo "error: $l not found"
exit 1
fi
done
cat <<EOF> usr/bin/nightingale
#!/bin/sh
cd "`dirname "\$0"`/../.."
APPROOT="`pwd`"
export GST_PLUGIN_SCANNER="\$APPROOT/gstreamer/gst-plugin-scanner"
export LD_LIBRARY_PATH="\$APPROOT/libs:\$APPROOT/gstreamer:\$APPROOT/nightingale/xulrunner:\$LD_LIBRARY_PATH"
nightingale/nightingale \$*
EOF
chmod a+x usr/bin/nightingale
cp /usr/share/applications/$LOWERAPP.desktop .
cp /usr/share/icons/hicolor/64x64/apps/nightingale.png .
get_apprun
delete_blacklisted
generate_appimage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment