rpn/GENERATION.md
2017-06-19 21:43:26 +02:00

2.2 KiB

rpn v2.2 - generation

For now rpn is proposed only for GNU/Linux

It can be generated following the steps below

version identification

rpn v2.2 is statically linked against

  • GNU MP v6.1.2
  • GNU MPFR v3.1.5
  • linenoise-ng v1.0.1

GNU MP v6.1.2

GNU MPFR v3.1.5

linenoise-ng v1.0.1

--- ../../../linenoise-ng/src/linenoise.cpp	2017-06-10 18:13:31.752976287 +0200
+++ linenoise.cpp	2017-06-12 18:54:50.481794824 +0200
@@ -2587,12 +2587,15 @@
 
     // ctrl-I/tab, command completion, needs to be before switch statement
     if (c == ctrlChar('I') && completionCallback) {
+      // lru for rpn
+      #if 0
       if (pos == 0)  // SERVER-4967 -- in earlier versions, you could paste
                      // previous output
         continue;    //  back into the shell ... this output may have leading
                      //  tabs.
       // This hack (i.e. what the old code did) prevents command completion
       //  on an empty line but lets users paste text with leading tabs.
+      #endif
 
       killRing.lastAction = KillRing::actionOther;
       historyRecallMostRecent = false;

rpn

  • clone rpn project or download a zipped version from the release directory

    # git clone https://github.com/louisrubet/rpn.git
    
  • make

    CMake must be installed on the generation machine

    # cd rpn/
    # mkdir build
    # cd build && cmake .. && make
    
  • install

    # cd rpn/build
    # sudo make install
    
  • packages

    To build RPM package you should install CMake 2.6.0 or higher

    # cd rpn/build
    # make package
    [100%] Built target rpn
    Run CPack packaging tool...
    CPack: Create package using DEB
    (...)
    CPack: Create package using RPM
    (...)
    CPack: Create package using TGZ
    (...)
    # ls rpn*
    rpn  rpn-2.1-amd64.deb  rpn-2.1-amd64.rpm  rpn-2.1-amd64.tar.gz