Skip to content

Instantly share code, notes, and snippets.

@nezorflame
Last active November 21, 2018 03:13
Show Gist options
  • Save nezorflame/5683c5900dd5c6dc3ad60f9e767c5103 to your computer and use it in GitHub Desktop.
Save nezorflame/5683c5900dd5c6dc3ad60f9e767c5103 to your computer and use it in GitHub Desktop.
MEGAsync for Solus
Taken from here: https://dev.solus-project.com/T163
Source: https://ma.tc/ehuboqatec.md courtesy of @Logic-gate
Clone it -- https://github.com/meganz/MEGAsync
> git clone https://github.com/meganz/MEGAsync.git
> cd MEGAsync
> git submodule update --init --recursive
Get crypto++
> wget https://www.cryptopp.com/cryptopp565.zip #Tested on version 5.6.5
> mkdir ~/crypto && cd ~/crypto && unzip YOUR_MEGASYNC_PATH/cryptopp565.zip
> make libcryptopp.so libcryptopp.a #If anything goes wrong make clean. Note: only .so is needed..but what the heck.
> sudo make install PREFIX=/usr
make sure everything is set
> ld -lcryptopp
You should see something like this
>> ld: warning: cannot find entry symbol _start; not setting start address
Export CFLAG for c-ares
> cd YOUR_MEGASYNC_PATH
> nano src/MEGASync/mega/contrib/build_sdk.sh
Add before line...
"package_configure $name $cares_dir $install_dir "$cares_params""
...this line:
"export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2}""
...so that it looks like this:
>> package_extract $name $cares_file $cares_dir
>> export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2}"
>> package_configure $name $cares_dir $install_dir "$cares_params"
>> package_build $name $cares_dir
>> package_install $name $cares_dir $install_dir
Get Qt5 deps -- we want qmake(5) not qmake-qt4
> sudo eopkg it qt5-base-devel qt5-tools-devel qt5-svg-devel
More build dependencies
> sudo eopkg it ares-devel curl-devel libglu-devel
Configure and build:
> cd YOUR_MEGASYNC_PATH/src
> ./configure
> qmake MEGA.pro
> lrelease MEGASync/MEGASync.pro
> make
That's it.. Exec located at MEGAsync/src/MEGASync/megasync
Additional setup for ease of usage:
> sudo cp MEGASync/megasync /usr/bin/megasync
> sudo nano /usr/share/applications/megasync.desktop
Paste this:
[Desktop Entry]
Type=Application
Verion=2.9.8
GenericName=File Synchronizer
Name=MEGASync
Comment=Easy Automated syncing between your computers and your MEGA cloud drive.
TryExec=megasync
Exec=megasync
Icon=mega
Terminal=False
Categories=Network;System;
StartupNotify=False
And finally to get the icon in the app tray:
> sudo cp MEGASync/gui/images/app_128.png /usr/share/pixmaps/mega.png
@Splizard
Copy link

Splizard commented Feb 9, 2018

This doesn't seem to work any longer...Mega ./configure fails when extracting libuv.
Could you share a working Solus binary?

Otherwise it would be nice to know which GIT revision of MEGASync you are using.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment