Skip to content
/ nixnote2 Public
forked from robert7/nixnote2

Nixnote - Evernote desktop client for Linux

License

Notifications You must be signed in to change notification settings

MRC01/nixnote2

 
 

Repository files navigation

NixNote v2.1

Introduction

Nixnote is: Evernote desktop client for Linux.

Building from source

This app is mainly targeted at Linux, but it should compile quite easily on Windows and also macOS config is already present (see more detailed info bellow). As lot of refactoring has been made and I can't currently try anything else then linux, it is quite probable that minor adjustments are needed for the all non linux builds.

Linux - docker build

Recommended build for all but advanced users is using docker. This should work out of the box, no fiddling with any dependencies is needed. The created binary image should work on all ~recent distributions (at least in theory). Basic docker familiarity with docker is helpful.

More info in: DOCKER README

Linux - manual build

  • Install development dependencies - look in content of this docker file to see example what is needed for Ubuntu 16.04. If you use another distribution/version, you need to find the right packages.
  • Qt: you can either get Qt packages for your distribution or as alternative you can download Qt 5 directly from qt.io/download.
  • Get latest source from github...
    • I recommend using master branch.
  • Build
  • Optional: create AppImage package using linuxdeployqt
# replace path in 1st parameter with Qt root (`/usr` will use system Qt)
./development/build-with-qmake.sh /usr debug

If all got OK, you should have "qmake-build-debug/nixnote2" binary available now (and also a deployment copy in appdir). I suggest running from "appdir" (./appdir/usr/appdir/nixnote2).

# Optional second step: if all got well you may try to create AppImage package
# may be a bit tricky - recommended for advanced users 
./development/create-AppImage.sh

Preparation steps

  • You can either install the html-tidy56 package from my PPA or build yourself from source. To simplify things, the path fixed to /opt/tidy56. Of course this can be changed, but would require minor tweaks in the qmake project file.
  • Install from PPA:
    • first add PPA
    • then sudo apt install tidy-html56
  • Build tidy library from source:
    • clone source code switch to master branch
    • follow build instructions
      • short version:
      • cd build/cmake
      • cmake ../.. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
      • make
      • make DESTDIR=/opt/tidy56 install
      • library is now copied to /opt/tidy56/libs

If it doesn't work: use docker build - or compare with docker recipe, what is different.

macOS

Disclaimer: macOS build was added from RJVB/nixnote2. I can't currently test if it works. It is quite probable, that it will need minor adjustments mainly in path handling. Pull request is welcome.

mkdir build
cd build
qmake ../nixnote2/NixNote21.pro
make

Upon successful completion you will have the NixNote2.app bundle in the build directory.

Here, qmake is the one from Qt5. You will need to have Qt5 installed (qtbase, qtdeclarative and qtwebkit), as well as pkgconfig, poppler-qt5, hunspell and curl; dependencies can come from MacPorts, Fink or HomeBrew (I use MacPorts). It should be possible to use official Qt5 packages too but I haven't tested that.

The resulting application still depends MacPorts (or Fink or HomeBrew). To turn this into a standalone app bundle that can be deployed anywhere:

> cd build
> macdeployqt NixNote21.app [-no-strip]

As far as I can tell this will find and copy all required dependencies into the app bundle and modify them so they can be loaded from inside that bundle (wherever it ends up).

Windows

Should work Windows, but minor tweaks will be needed to make it run. I currently have no time for it. Pull request is welcome.

About

Nixnote - Evernote desktop client for Linux

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 96.6%
  • Java 2.7%
  • QMake 0.5%
  • JavaScript 0.1%
  • Shell 0.1%
  • C 0.0%