-
Notifications
You must be signed in to change notification settings - Fork 168
Building Shoes on Linux
You should build Shoes with 1.9.3.
One should note that in the following, ${SHOES_DIR}
is just wherever you want to install your shoes installation to. If you are unsure what to use, just use ~/shoes
here. You can make this file hidden (to keep your filesystem navigator from getting cluttered) by using "~/.shoes" instead.
Another option for $SHOES_DIR}
is to not clutter ~/.shoes
with additional cruft and create a directory in your user account for the shoes source code and building.
Linux users should install dependencies through the distro’s package manager (these are the yum, apt-get and so on commands you will see below).
The following has been tested on Fedora 7, but should work on Fedora 6, CentOS v5 and RHEL5 as well:
git clone git://github.com/shoes/shoes.git ${SHOES_DIR}
cd ${SHOES_DIR}
gem install bundler
sudo yum install -y giflib-devel cairo-devel libpixman-devel pango-devel libjpeg-devel gtk2-devel libcurl-devel ruby-devel portaudio-devel gcc libxml2 libxml2-devel libxslt libxslt-devel sqlite-devel sqlite
bundle install
rake
git clone git://github.com/shoes/shoes.git ${SHOES_DIR}
cd ${SHOES_DIR}
gem install bundler
sudo apt-get install libcairo2-dev libpixman-1-dev libpango1.0-dev libungif4-dev libjpeg62-dev libgtk2.0-dev libsqlite3-dev libcurl4-openssl-dev portaudio19-dev ruby1.9.1-full rake
bundle install
rake
git clone git://github.com/shoes/shoes.git ${SHOES_DIR}
cd ${SHOES_DIR}
gem install bundler
sudo zypper in giflib-devel cairo-devel libpixman-devel pango-devel libjpeg-devel gtk2-devel libcurl-devel ruby-devel portaudio-devel gcc libxml2 libxml2-devel libxslt libxslt-devel sqlite-devel sqlite
bundle install
rake
Have a look at https://gist.github.com/plexus/4194d8c47e9493019e04 first, it's a bash script that tries to be relatively robust, and does as much as possible under a sandbox directory so it doesn't clutter up your system. It uses ruby-build and chruby instead of RVM.
These are older instructions but might still work:
# Install dependencies
sudo apt-get install git-core libcairo2-dev libpixman-1-dev libpango1.0-dev libgif-dev libjpeg-dev libgtk2.0-dev vlc libvlc-dev portaudio19-dev libsqlite3-dev libcurl4-openssl-dev libxslt1-dev makeself curl libxslt-dev libxml2-dev libcurl4-openssl-dev libungif4-dev ruby1.9.1-full
# Install RVM (see https://rvm.beginrescueend.com/rvm/install/ for detailed instruction)
sudo apt-get install ruby-rvm
echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
source ~/.bash_profile
# Test RVM install (should output 'rvm is a function')
type rvm | head -1
# Install ruby and required gems
rvm install ruby-1.9.3
rvm use 1.9.3
gem install bundler
# Clone Shoes source and build
git clone git://github.com/shoes/shoes.git ${SHOES_DIR}
cd ${SHOES_DIR}
rvm use 1.9.3
bundle install
rake
-
Older Ubuntus may get apt-get errors with portaudio19-dev, which was previously known as libportaudio19-dev.
-
The above steps work on ARM Ubuntu - however you will need to edit the following file to include the library path for the ARM distribution:
./shoes/make/linux/tasks.rb
and add the following path to the list of lib paths for the function find_and_copy()
"/usr/lib/arm-linux-gnueabihf/#{thelib}"
- portaudio19-dev caused some package conflicts, use aptitude (sudo apt-get install aptitude) in stead of apt-get and it will propose a solution
- if you get the error that
ld: can't find -lruby
or something to that effect, it means the linker (ld) is unable to find the shared library (so file) of Ruby to link against. As a quick fix trysudo ln -s /usr/lib/libruby-1.9.1.so /usr/lib/libruby.so
and run rake again. - Now it will get further along, but possibly complain later of 'No such file or directory - /path/to/ruby/ruby-1.9.3-p392/lib/libruby.so'. In that case do a
ln -s /usr/lib/libruby.so /path/to/ruby/ruby-1.9.3-p392/lib/libruby.so
, using the exact path from the error messages.
git clone git://github.com/shoes/shoes.git
cd shoes
gem install bundler
bundle install
rake
There is a package available in AUR. If you have yaourt
installed, just
$ yaourt -S shoes-git
Otherwise, build it like any other package from the AUR.
Once installed (wherever you set #{SHOES_DIR}
to), you can run shoes by entering the command #{SHOES_DIR}/dist/shoes
.
If you would prefer a desktop link that will start shoes for you, you can create a custom application launcher which points to this command. In Ubuntu, you can do this by right clicking on the desktop and selecting "Create Launcher" from the drop-down. Enter in "Shoes" for the name and the command #{SHOES_DIR}/dist/shoes
into the "command" section. Note though that if you use a ~
in #{SHOES_DIR}
, you must replace that with the actual location of your home folder. If your username is bob
on the computer, then you would replace ~
with /home/bob/
in the command you enter into this field. Once you click "OK" you should be able to run shoes straight from your desktop. (You can also go through a similar process in order to make the application launchable from you Applications Menu).