Skip to content

Instantly share code, notes, and snippets.

@monkstone
Last active November 16, 2018 11:23
Show Gist options
  • Save monkstone/8f06529790c36f5b7f668015faadcbc5 to your computer and use it in GitHub Desktop.
Save monkstone/8f06529790c36f5b7f668015faadcbc5 to your computer and use it in GitHub Desktop.
Set up a local gem environment on RaspberryPi, install jruby and install gems
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>auto_install_picrate</title>
<style>.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178, 191); background-color: rgb(40, 44, 52); overflow: auto; }
.markdown-preview:not([data-use-github-style]) > :first-child { margin-top: 0px; }
.markdown-preview:not([data-use-github-style]) h1, .markdown-preview:not([data-use-github-style]) h2, .markdown-preview:not([data-use-github-style]) h3, .markdown-preview:not([data-use-github-style]) h4, .markdown-preview:not([data-use-github-style]) h5, .markdown-preview:not([data-use-github-style]) h6 { line-height: 1.2; margin-top: 1.5em; margin-bottom: 0.5em; color: rgb(255, 255, 255); }
.markdown-preview:not([data-use-github-style]) h1 { font-size: 2.4em; font-weight: 300; }
.markdown-preview:not([data-use-github-style]) h2 { font-size: 1.8em; font-weight: 400; }
.markdown-preview:not([data-use-github-style]) h3 { font-size: 1.5em; font-weight: 500; }
.markdown-preview:not([data-use-github-style]) h4 { font-size: 1.2em; font-weight: 600; }
.markdown-preview:not([data-use-github-style]) h5 { font-size: 1.1em; font-weight: 600; }
.markdown-preview:not([data-use-github-style]) h6 { font-size: 1em; font-weight: 600; }
.markdown-preview:not([data-use-github-style]) strong { color: rgb(255, 255, 255); }
.markdown-preview:not([data-use-github-style]) del { color: rgb(124, 135, 156); }
.markdown-preview:not([data-use-github-style]) a, .markdown-preview:not([data-use-github-style]) a code { color: rgb(82, 139, 255); }
.markdown-preview:not([data-use-github-style]) img { max-width: 100%; }
.markdown-preview:not([data-use-github-style]) > p { margin-top: 0px; margin-bottom: 1.5em; }
.markdown-preview:not([data-use-github-style]) > ul, .markdown-preview:not([data-use-github-style]) > ol { margin-bottom: 1.5em; }
.markdown-preview:not([data-use-github-style]) blockquote { margin: 1.5em 0px; font-size: inherit; color: rgb(124, 135, 156); border-color: rgb(75, 83, 98); border-width: 4px; }
.markdown-preview:not([data-use-github-style]) hr { margin: 3em 0px; border-top: 2px dashed rgb(75, 83, 98); background: none; }
.markdown-preview:not([data-use-github-style]) table { margin: 1.5em 0px; }
.markdown-preview:not([data-use-github-style]) th { color: rgb(255, 255, 255); }
.markdown-preview:not([data-use-github-style]) th, .markdown-preview:not([data-use-github-style]) td { padding: 0.66em 1em; border: 1px solid rgb(75, 83, 98); }
.markdown-preview:not([data-use-github-style]) code { color: rgb(255, 255, 255); background-color: rgb(58, 63, 75); }
.markdown-preview:not([data-use-github-style]) pre.editor-colors { margin: 1.5em 0px; padding: 1em; font-size: 0.92em; border-radius: 3px; background-color: rgb(49, 54, 63); }
.markdown-preview:not([data-use-github-style]) kbd { color: rgb(255, 255, 255); border-width: 1px 1px 2px; border-style: solid; border-color: rgb(75, 83, 98) rgb(75, 83, 98) rgb(62, 68, 81); border-image: initial; background-color: rgb(58, 63, 75); }
.markdown-preview[data-use-github-style] { font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif; line-height: 1.6; word-wrap: break-word; padding: 30px; font-size: 16px; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255); overflow: scroll; }
.markdown-preview[data-use-github-style] > :first-child { margin-top: 0px !important; }
.markdown-preview[data-use-github-style] > :last-child { margin-bottom: 0px !important; }
.markdown-preview[data-use-github-style] a:not([href]) { color: inherit; text-decoration: none; }
.markdown-preview[data-use-github-style] .absent { color: rgb(204, 0, 0); }
.markdown-preview[data-use-github-style] .anchor { position: absolute; top: 0px; left: 0px; display: block; padding-right: 6px; padding-left: 30px; margin-left: -30px; }
.markdown-preview[data-use-github-style] .anchor:focus { outline: none; }
.markdown-preview[data-use-github-style] h1, .markdown-preview[data-use-github-style] h2, .markdown-preview[data-use-github-style] h3, .markdown-preview[data-use-github-style] h4, .markdown-preview[data-use-github-style] h5, .markdown-preview[data-use-github-style] h6 { position: relative; margin-top: 1em; margin-bottom: 16px; font-weight: bold; line-height: 1.4; }
.markdown-preview[data-use-github-style] h1 .octicon-link, .markdown-preview[data-use-github-style] h2 .octicon-link, .markdown-preview[data-use-github-style] h3 .octicon-link, .markdown-preview[data-use-github-style] h4 .octicon-link, .markdown-preview[data-use-github-style] h5 .octicon-link, .markdown-preview[data-use-github-style] h6 .octicon-link { display: none; color: rgb(0, 0, 0); vertical-align: middle; }
.markdown-preview[data-use-github-style] h1:hover .anchor, .markdown-preview[data-use-github-style] h2:hover .anchor, .markdown-preview[data-use-github-style] h3:hover .anchor, .markdown-preview[data-use-github-style] h4:hover .anchor, .markdown-preview[data-use-github-style] h5:hover .anchor, .markdown-preview[data-use-github-style] h6:hover .anchor { padding-left: 8px; margin-left: -30px; text-decoration: none; }
.markdown-preview[data-use-github-style] h1:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h2:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h3:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h4:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h5:hover .anchor .octicon-link, .markdown-preview[data-use-github-style] h6:hover .anchor .octicon-link { display: inline-block; }
.markdown-preview[data-use-github-style] h1 tt, .markdown-preview[data-use-github-style] h2 tt, .markdown-preview[data-use-github-style] h3 tt, .markdown-preview[data-use-github-style] h4 tt, .markdown-preview[data-use-github-style] h5 tt, .markdown-preview[data-use-github-style] h6 tt, .markdown-preview[data-use-github-style] h1 code, .markdown-preview[data-use-github-style] h2 code, .markdown-preview[data-use-github-style] h3 code, .markdown-preview[data-use-github-style] h4 code, .markdown-preview[data-use-github-style] h5 code, .markdown-preview[data-use-github-style] h6 code { font-size: inherit; }
.markdown-preview[data-use-github-style] h1 { padding-bottom: 0.3em; font-size: 2.25em; line-height: 1.2; border-bottom: 1px solid rgb(238, 238, 238); }
.markdown-preview[data-use-github-style] h1 .anchor { line-height: 1; }
.markdown-preview[data-use-github-style] h2 { padding-bottom: 0.3em; font-size: 1.75em; line-height: 1.225; border-bottom: 1px solid rgb(238, 238, 238); }
.markdown-preview[data-use-github-style] h2 .anchor { line-height: 1; }
.markdown-preview[data-use-github-style] h3 { font-size: 1.5em; line-height: 1.43; }
.markdown-preview[data-use-github-style] h3 .anchor { line-height: 1.2; }
.markdown-preview[data-use-github-style] h4 { font-size: 1.25em; }
.markdown-preview[data-use-github-style] h4 .anchor { line-height: 1.2; }
.markdown-preview[data-use-github-style] h5 { font-size: 1em; }
.markdown-preview[data-use-github-style] h5 .anchor { line-height: 1.1; }
.markdown-preview[data-use-github-style] h6 { font-size: 1em; color: rgb(119, 119, 119); }
.markdown-preview[data-use-github-style] h6 .anchor { line-height: 1.1; }
.markdown-preview[data-use-github-style] p, .markdown-preview[data-use-github-style] blockquote, .markdown-preview[data-use-github-style] ul, .markdown-preview[data-use-github-style] ol, .markdown-preview[data-use-github-style] dl, .markdown-preview[data-use-github-style] table, .markdown-preview[data-use-github-style] pre { margin-top: 0px; margin-bottom: 16px; }
.markdown-preview[data-use-github-style] hr { height: 4px; padding: 0px; margin: 16px 0px; background-color: rgb(231, 231, 231); border: 0px none; }
.markdown-preview[data-use-github-style] ul, .markdown-preview[data-use-github-style] ol { padding-left: 2em; }
.markdown-preview[data-use-github-style] ul.no-list, .markdown-preview[data-use-github-style] ol.no-list { padding: 0px; list-style-type: none; }
.markdown-preview[data-use-github-style] ul ul, .markdown-preview[data-use-github-style] ul ol, .markdown-preview[data-use-github-style] ol ol, .markdown-preview[data-use-github-style] ol ul { margin-top: 0px; margin-bottom: 0px; }
.markdown-preview[data-use-github-style] li > p { margin-top: 16px; }
.markdown-preview[data-use-github-style] dl { padding: 0px; }
.markdown-preview[data-use-github-style] dl dt { padding: 0px; margin-top: 16px; font-size: 1em; font-style: italic; font-weight: bold; }
.markdown-preview[data-use-github-style] dl dd { padding: 0px 16px; margin-bottom: 16px; }
.markdown-preview[data-use-github-style] blockquote { padding: 0px 15px; color: rgb(119, 119, 119); border-left: 4px solid rgb(221, 221, 221); }
.markdown-preview[data-use-github-style] blockquote > :first-child { margin-top: 0px; }
.markdown-preview[data-use-github-style] blockquote > :last-child { margin-bottom: 0px; }
.markdown-preview[data-use-github-style] table { display: block; width: 100%; overflow: auto; word-break: keep-all; }
.markdown-preview[data-use-github-style] table th { font-weight: bold; }
.markdown-preview[data-use-github-style] table th, .markdown-preview[data-use-github-style] table td { padding: 6px 13px; border: 1px solid rgb(221, 221, 221); }
.markdown-preview[data-use-github-style] table tr { background-color: rgb(255, 255, 255); border-top: 1px solid rgb(204, 204, 204); }
.markdown-preview[data-use-github-style] table tr:nth-child(2n) { background-color: rgb(248, 248, 248); }
.markdown-preview[data-use-github-style] img { max-width: 100%; box-sizing: border-box; }
.markdown-preview[data-use-github-style] .emoji { max-width: none; }
.markdown-preview[data-use-github-style] span.frame { display: block; overflow: hidden; }
.markdown-preview[data-use-github-style] span.frame > span { display: block; float: left; width: auto; padding: 7px; margin: 13px 0px 0px; overflow: hidden; border: 1px solid rgb(221, 221, 221); }
.markdown-preview[data-use-github-style] span.frame span img { display: block; float: left; }
.markdown-preview[data-use-github-style] span.frame span span { display: block; padding: 5px 0px 0px; clear: both; color: rgb(51, 51, 51); }
.markdown-preview[data-use-github-style] span.align-center { display: block; overflow: hidden; clear: both; }
.markdown-preview[data-use-github-style] span.align-center > span { display: block; margin: 13px auto 0px; overflow: hidden; text-align: center; }
.markdown-preview[data-use-github-style] span.align-center span img { margin: 0px auto; text-align: center; }
.markdown-preview[data-use-github-style] span.align-right { display: block; overflow: hidden; clear: both; }
.markdown-preview[data-use-github-style] span.align-right > span { display: block; margin: 13px 0px 0px; overflow: hidden; text-align: right; }
.markdown-preview[data-use-github-style] span.align-right span img { margin: 0px; text-align: right; }
.markdown-preview[data-use-github-style] span.float-left { display: block; float: left; margin-right: 13px; overflow: hidden; }
.markdown-preview[data-use-github-style] span.float-left span { margin: 13px 0px 0px; }
.markdown-preview[data-use-github-style] span.float-right { display: block; float: right; margin-left: 13px; overflow: hidden; }
.markdown-preview[data-use-github-style] span.float-right > span { display: block; margin: 13px auto 0px; overflow: hidden; text-align: right; }
.markdown-preview[data-use-github-style] code, .markdown-preview[data-use-github-style] tt { padding: 0.2em 0px; margin: 0px; font-size: 85%; background-color: rgba(0, 0, 0, 0.04); border-radius: 3px; }
.markdown-preview[data-use-github-style] code::before, .markdown-preview[data-use-github-style] tt::before, .markdown-preview[data-use-github-style] code::after, .markdown-preview[data-use-github-style] tt::after { letter-spacing: -0.2em; content: " "; }
.markdown-preview[data-use-github-style] code br, .markdown-preview[data-use-github-style] tt br { display: none; }
.markdown-preview[data-use-github-style] del code { text-decoration: inherit; }
.markdown-preview[data-use-github-style] pre > code { padding: 0px; margin: 0px; font-size: 100%; word-break: normal; white-space: pre; background: transparent; border: 0px; }
.markdown-preview[data-use-github-style] .highlight { margin-bottom: 16px; }
.markdown-preview[data-use-github-style] .highlight pre, .markdown-preview[data-use-github-style] pre { padding: 16px; overflow: auto; font-size: 85%; line-height: 1.45; background-color: rgb(247, 247, 247); border-radius: 3px; }
.markdown-preview[data-use-github-style] .highlight pre { margin-bottom: 0px; word-break: normal; }
.markdown-preview[data-use-github-style] pre { word-wrap: normal; }
.markdown-preview[data-use-github-style] pre code, .markdown-preview[data-use-github-style] pre tt { display: inline; max-width: initial; padding: 0px; margin: 0px; overflow: initial; line-height: inherit; word-wrap: normal; background-color: transparent; border: 0px; }
.markdown-preview[data-use-github-style] pre code::before, .markdown-preview[data-use-github-style] pre tt::before, .markdown-preview[data-use-github-style] pre code::after, .markdown-preview[data-use-github-style] pre tt::after { content: normal; }
.markdown-preview[data-use-github-style] kbd { display: inline-block; padding: 3px 5px; font-size: 11px; line-height: 10px; color: rgb(85, 85, 85); vertical-align: middle; background-color: rgb(252, 252, 252); border-width: 1px; border-style: solid; border-color: rgb(204, 204, 204) rgb(204, 204, 204) rgb(187, 187, 187); border-image: initial; border-radius: 3px; box-shadow: rgb(187, 187, 187) 0px -1px 0px inset; }
.markdown-preview[data-use-github-style] a { color: rgb(51, 122, 183); }
.markdown-preview[data-use-github-style] code { color: inherit; }
.markdown-preview[data-use-github-style] pre.editor-colors { padding: 0.8em 1em; margin-bottom: 1em; font-size: 0.85em; border-radius: 4px; overflow: auto; }
.scrollbars-visible-always .markdown-preview pre.editor-colors .vertical-scrollbar, .scrollbars-visible-always .markdown-preview pre.editor-colors .horizontal-scrollbar { visibility: hidden; }
.scrollbars-visible-always .markdown-preview pre.editor-colors:hover .vertical-scrollbar, .scrollbars-visible-always .markdown-preview pre.editor-colors:hover .horizontal-scrollbar { visibility: visible; }
.markdown-preview .task-list-item-checkbox { position: absolute; margin: 0.25em 0px 0px -1.4em; }
@keyframes RotatingBackground {
0% {
background-position-x: 0%;
}
100% {
background-position-x: 100%;
}
}
.debugger-breakpoint-icon::before,
.debugger-shadow-breakpoint-icon::before {
font-family: 'Octicons Regular';
font-weight: normal;
font-style: normal;
display: inline-block;
line-height: 1;
-webkit-font-smoothing: antialiased;
text-decoration: none;
font-size: 130%;
width: 130%;
height: 130%;
content: "\f052";
}
.debugger-breakpoint-icon,
.debugger-breakpoint-icon-disabled,
.debugger-breakpoint-icon-unresolved,
.debugger-breakpoint-icon-conditional,
.debugger-shadow-breakpoint-icon {
text-align: center;
display: block;
width: 0.8em;
cursor: pointer;
}
.debugger-breakpoint-icon-nonconditional {
color: #6494ed;
}
.debugger-breakpoint-icon-conditional {
color: #e2c08d;
}
.debugger-breakpoint-icon-disabled {
position: relative;
top: -4px;
left: 2px;
}
.debugger-breakpoint-icon-disabled::before {
font-family: 'Octicons Regular';
font-weight: normal;
font-style: normal;
display: inline-block;
line-height: 1;
-webkit-font-smoothing: antialiased;
text-decoration: none;
font-size: 78%;
width: 78%;
height: 78%;
content: "\f084";
}
.debugger-breakpoint-icon-unresolved {
position: relative;
top: -2px;
}
.debugger-breakpoint-icon-unresolved::before {
font-family: 'Octicons Regular';
font-weight: normal;
font-style: normal;
display: inline-block;
line-height: 1;
-webkit-font-smoothing: antialiased;
text-decoration: none;
font-size: 80%;
width: 80%;
height: 80%;
content: "\f0e8";
}
.debugger-shadow-breakpoint-icon {
color: rgba(100, 148, 237, 0.4);
}
.debugger-current-line-highlight {
background: linear-gradient(to bottom, rgba(15, 130, 230, 0.8) 0%, rgba(15, 130, 230, 0.8) 5%, rgba(15, 130, 230, 0.3) 5%, rgba(15, 130, 230, 0.3) 95%, rgba(15, 130, 230, 0.8) 95%, rgba(15, 130, 230, 0.8) 100%);
}
.gutter[gutter-name=diagnostics-gutter] {
width: 0.7em;
}
.diagnostics-gutter-ui-item {
display: flex;
}
.diagnostics-gutter-ui-item .icon {
display: flex;
width: 0.7em;
height: 0.7em;
font-size: 0.7em;
align-self: center;
}
.diagnostics-gutter-ui-item .icon::before {
width: 1em;
height: 1em;
font-size: 1em;
margin: 0;
align-self: center;
}
.diagnostics-gutter-ui-item.diagnostics-gutter-ui-gutter-info,
.diagnostics-gutter-ui-item.diagnostics-gutter-ui-gutter-review {
color: #6494ed;
}
.diagnostics-gutter-ui-item.diagnostics-gutter-ui-gutter-error {
color: #ff6347;
}
.diagnostics-gutter-ui-item.diagnostics-gutter-ui-gutter-action,
.diagnostics-gutter-ui-item.diagnostics-gutter-ui-gutter-warning {
color: #e2c08d;
}
.bracket-matcher .region {
border-bottom: 1px dotted lime;
position: absolute;
}
.line-number.bracket-matcher.bracket-matcher {
color: #abb2bf;
background-color: #3a3f4b;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--bold,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--bold {
font-weight: bold;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--italic,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--italic {
font-style: italic;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--mark,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--mark {
color: #cc89a2;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--highlight,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--highlight {
color: black;
background-color: #bec010;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--character-reference,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--character-reference {
font-style: italic;
color: #bc8e99;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--biblioref,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--biblioref,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--blockid,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--blockid {
font-weight: bold;
color: #89a899;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--xref,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--xref {
font-style: italic;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--admonition,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--admonition,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--heading,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--heading,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--heading-0,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--heading-0,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--heading-1,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--heading-1,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--heading-2,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--heading-2,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--heading-3,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--heading-3,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--heading-4,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--heading-4,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--heading-5,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--heading-5 {
font-weight: bold;
color: #e5e7eb;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--meta.syntax--attribute-list,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--meta.syntax--attribute-list,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--substitution,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--substitution {
color: rgba(171, 178, 191, 0.5);
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--heading.syntax--blocktitle,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--heading.syntax--blocktitle {
color: #c8ccd5;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--todo.syntax--box,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--todo.syntax--box,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--list.syntax--bullet,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--list.syntax--bullet {
color: #cc6b73;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--macro.syntax--block,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--macro.syntax--block {
font-weight: bold;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--super,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--super {
color: #559960;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--sub,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--sub {
color: #559960;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--table.syntax--cell.syntax--delimiter,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--table.syntax--cell.syntax--delimiter,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--table.syntax--delimiter,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--table.syntax--delimiter {
color: #61afef;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--table.syntax--content,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--table.syntax--content {
color: #9ca4b4;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--block.syntax--sidebar,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--block.syntax--sidebar,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--block.syntax--passthrough,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--block.syntax--passthrough,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--block.syntax--front-matter,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--block.syntax--front-matter,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--block.syntax--example,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--block.syntax--example {
color: rgba(171, 178, 191, 0.7);
}
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--block.syntax--listing,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--block.syntax--listing,
pre.editor-colors.editor .syntax--asciidoc .syntax--markup.syntax--block.syntax--literal,
pre.editor-colors .syntax--asciidoc .syntax--markup.syntax--block.syntax--literal {
color: #98c379;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--super,
pre.editor-colors .syntax--asciidoc .syntax--super {
vertical-align: text-top;
font-size: 9.1px;
}
pre.editor-colors.editor .syntax--asciidoc .syntax--sub,
pre.editor-colors .syntax--asciidoc .syntax--sub {
vertical-align: text-bottom;
font-size: 9.1px;
}
.spell-check-misspelling .region {
border-bottom: 2px dotted rgba(255, 51, 51, 0.75);
}
.spell-check-corrections {
width: 25em !important;
}
pre.editor-colors {
background-color: #282c34;
color: #abb2bf;
}
pre.editor-colors .line.cursor-line {
background-color: rgba(153, 187, 255, 0.04);
}
pre.editor-colors .invisible {
color: #abb2bf;
}
pre.editor-colors .cursor {
border-left: 2px solid #528bff;
}
pre.editor-colors .selection .region {
background-color: #3e4451;
}
pre.editor-colors .bracket-matcher .region {
border-bottom: 1px solid #528bff;
box-sizing: border-box;
}
pre.editor-colors .invisible-character {
color: rgba(171, 178, 191, 0.15);
}
pre.editor-colors .indent-guide {
color: rgba(171, 178, 191, 0.15);
}
pre.editor-colors .wrap-guide {
background-color: rgba(171, 178, 191, 0.15);
}
pre.editor-colors .find-result .region.region.region,
pre.editor-colors .current-result .region.region.region {
border-radius: 2px;
background-color: rgba(82, 139, 255, 0.24);
transition: border-color 0.4s;
}
pre.editor-colors .find-result .region.region.region {
border: 2px solid transparent;
}
pre.editor-colors .current-result .region.region.region {
border: 2px solid #528bff;
transition-duration: .1s;
}
pre.editor-colors .gutter .line-number {
color: #636d83;
-webkit-font-smoothing: antialiased;
}
pre.editor-colors .gutter .line-number.cursor-line {
color: #abb2bf;
background-color: #3a3f4b;
}
pre.editor-colors .gutter .line-number.cursor-line-no-selection {
background-color: transparent;
}
pre.editor-colors .gutter .line-number .icon-right {
color: #abb2bf;
}
pre.editor-colors .gutter:not(.git-diff-icon) .line-number.git-line-removed.git-line-removed::before {
bottom: -3px;
}
pre.editor-colors .gutter:not(.git-diff-icon) .line-number.git-line-removed::after {
content: "";
position: absolute;
left: 0px;
bottom: 0px;
width: 25px;
border-bottom: 1px dotted rgba(224, 82, 82, 0.5);
pointer-events: none;
}
pre.editor-colors .gutter .line-number.folded,
pre.editor-colors .gutter .line-number:after,
pre.editor-colors .fold-marker:after {
color: #abb2bf;
}
.syntax--comment {
color: #5c6370;
font-style: italic;
}
.syntax--comment .syntax--markup.syntax--link {
color: #5c6370;
}
.syntax--entity.syntax--name.syntax--type {
color: #e5c07b;
}
.syntax--entity.syntax--other.syntax--inherited-class {
color: #98c379;
}
.syntax--keyword {
color: #c678dd;
}
.syntax--keyword.syntax--control {
color: #c678dd;
}
.syntax--keyword.syntax--operator {
color: #abb2bf;
}
.syntax--keyword.syntax--other.syntax--special-method {
color: #61afef;
}
.syntax--keyword.syntax--other.syntax--unit {
color: #d19a66;
}
.syntax--storage {
color: #c678dd;
}
.syntax--storage.syntax--type.syntax--annotation,
.syntax--storage.syntax--type.syntax--primitive {
color: #c678dd;
}
.syntax--storage.syntax--modifier.syntax--package,
.syntax--storage.syntax--modifier.syntax--import {
color: #abb2bf;
}
.syntax--constant {
color: #d19a66;
}
.syntax--constant.syntax--variable {
color: #d19a66;
}
.syntax--constant.syntax--character.syntax--escape {
color: #56b6c2;
}
.syntax--constant.syntax--numeric {
color: #d19a66;
}
.syntax--constant.syntax--other.syntax--color {
color: #56b6c2;
}
.syntax--constant.syntax--other.syntax--symbol {
color: #56b6c2;
}
.syntax--variable {
color: #e06c75;
}
.syntax--variable.syntax--interpolation {
color: #be5046;
}
.syntax--variable.syntax--parameter {
color: #abb2bf;
}
.syntax--string {
color: #98c379;
}
.syntax--string.syntax--regexp {
color: #56b6c2;
}
.syntax--string.syntax--regexp .syntax--source.syntax--ruby.syntax--embedded {
color: #e5c07b;
}
.syntax--string.syntax--other.syntax--link {
color: #e06c75;
}
.syntax--punctuation.syntax--definition.syntax--comment {
color: #5c6370;
}
.syntax--punctuation.syntax--definition.syntax--method-parameters,
.syntax--punctuation.syntax--definition.syntax--function-parameters,
.syntax--punctuation.syntax--definition.syntax--parameters,
.syntax--punctuation.syntax--definition.syntax--separator,
.syntax--punctuation.syntax--definition.syntax--seperator,
.syntax--punctuation.syntax--definition.syntax--array {
color: #abb2bf;
}
.syntax--punctuation.syntax--definition.syntax--heading,
.syntax--punctuation.syntax--definition.syntax--identity {
color: #61afef;
}
.syntax--punctuation.syntax--definition.syntax--bold {
color: #e5c07b;
font-weight: bold;
}
.syntax--punctuation.syntax--definition.syntax--italic {
color: #c678dd;
font-style: italic;
}
.syntax--punctuation.syntax--section.syntax--embedded {
color: #be5046;
}
.syntax--punctuation.syntax--section.syntax--method,
.syntax--punctuation.syntax--section.syntax--class,
.syntax--punctuation.syntax--section.syntax--inner-class {
color: #abb2bf;
}
.syntax--support.syntax--class {
color: #e5c07b;
}
.syntax--support.syntax--type {
color: #56b6c2;
}
.syntax--support.syntax--function {
color: #56b6c2;
}
.syntax--support.syntax--function.syntax--any-method {
color: #61afef;
}
.syntax--entity.syntax--name.syntax--function {
color: #61afef;
}
.syntax--entity.syntax--name.syntax--class,
.syntax--entity.syntax--name.syntax--type.syntax--class {
color: #e5c07b;
}
.syntax--entity.syntax--name.syntax--section {
color: #61afef;
}
.syntax--entity.syntax--name.syntax--tag {
color: #e06c75;
}
.syntax--entity.syntax--other.syntax--attribute-name {
color: #d19a66;
}
.syntax--entity.syntax--other.syntax--attribute-name.syntax--id {
color: #61afef;
}
.syntax--meta.syntax--class {
color: #e5c07b;
}
.syntax--meta.syntax--class.syntax--body {
color: #abb2bf;
}
.syntax--meta.syntax--method-call,
.syntax--meta.syntax--method {
color: #abb2bf;
}
.syntax--meta.syntax--definition.syntax--variable {
color: #e06c75;
}
.syntax--meta.syntax--link {
color: #d19a66;
}
.syntax--meta.syntax--require {
color: #61afef;
}
.syntax--meta.syntax--selector {
color: #c678dd;
}
.syntax--meta.syntax--separator {
color: #abb2bf;
}
.syntax--meta.syntax--tag {
color: #abb2bf;
}
.syntax--underline {
text-decoration: underline;
}
.syntax--none {
color: #abb2bf;
}
.syntax--invalid.syntax--deprecated {
color: #523d14 !important;
background-color: #e0c285 !important;
}
.syntax--invalid.syntax--illegal {
color: white !important;
background-color: #e05252 !important;
}
.syntax--markup.syntax--bold {
color: #d19a66;
font-weight: bold;
}
.syntax--markup.syntax--changed {
color: #c678dd;
}
.syntax--markup.syntax--deleted {
color: #e06c75;
}
.syntax--markup.syntax--italic {
color: #c678dd;
font-style: italic;
}
.syntax--markup.syntax--heading {
color: #e06c75;
}
.syntax--markup.syntax--heading .syntax--punctuation.syntax--definition.syntax--heading {
color: #61afef;
}
.syntax--markup.syntax--link {
color: #56b6c2;
}
.syntax--markup.syntax--inserted {
color: #98c379;
}
.syntax--markup.syntax--quote {
color: #d19a66;
}
.syntax--markup.syntax--raw {
color: #98c379;
}
.syntax--source.syntax--c .syntax--keyword.syntax--operator {
color: #c678dd;
}
.syntax--source.syntax--cpp .syntax--keyword.syntax--operator {
color: #c678dd;
}
.syntax--source.syntax--cs .syntax--keyword.syntax--operator {
color: #c678dd;
}
.syntax--source.syntax--css .syntax--property-name,
.syntax--source.syntax--css .syntax--property-value {
color: #828997;
}
.syntax--source.syntax--css .syntax--property-name.syntax--support,
.syntax--source.syntax--css .syntax--property-value.syntax--support {
color: #abb2bf;
}
.syntax--source.syntax--elixir .syntax--source.syntax--embedded.syntax--source {
color: #abb2bf;
}
.syntax--source.syntax--elixir .syntax--constant.syntax--language,
.syntax--source.syntax--elixir .syntax--constant.syntax--numeric,
.syntax--source.syntax--elixir .syntax--constant.syntax--definition {
color: #61afef;
}
.syntax--source.syntax--elixir .syntax--variable.syntax--definition,
.syntax--source.syntax--elixir .syntax--variable.syntax--anonymous {
color: #c678dd;
}
.syntax--source.syntax--elixir .syntax--parameter.syntax--variable.syntax--function {
color: #d19a66;
font-style: italic;
}
.syntax--source.syntax--elixir .syntax--quoted {
color: #98c379;
}
.syntax--source.syntax--elixir .syntax--keyword.syntax--special-method,
.syntax--source.syntax--elixir .syntax--embedded.syntax--section,
.syntax--source.syntax--elixir .syntax--embedded.syntax--source.syntax--empty {
color: #e06c75;
}
.syntax--source.syntax--elixir .syntax--readwrite.syntax--module .syntax--punctuation {
color: #e06c75;
}
.syntax--source.syntax--elixir .syntax--regexp.syntax--section,
.syntax--source.syntax--elixir .syntax--regexp.syntax--string {
color: #be5046;
}
.syntax--source.syntax--elixir .syntax--separator,
.syntax--source.syntax--elixir .syntax--keyword.syntax--operator {
color: #d19a66;
}
.syntax--source.syntax--elixir .syntax--variable.syntax--constant {
color: #e5c07b;
}
.syntax--source.syntax--elixir .syntax--array,
.syntax--source.syntax--elixir .syntax--scope,
.syntax--source.syntax--elixir .syntax--section {
color: #828997;
}
.syntax--source.syntax--gfm .syntax--markup {
-webkit-font-smoothing: auto;
}
.syntax--source.syntax--gfm .syntax--link .syntax--entity {
color: #61afef;
}
.syntax--source.syntax--go .syntax--storage.syntax--type.syntax--string {
color: #c678dd;
}
.syntax--source.syntax--ini .syntax--keyword.syntax--other.syntax--definition.syntax--ini {
color: #e06c75;
}
.syntax--source.syntax--java .syntax--storage.syntax--modifier.syntax--import {
color: #e5c07b;
}
.syntax--source.syntax--java .syntax--storage.syntax--type {
color: #e5c07b;
}
.syntax--source.syntax--java .syntax--keyword.syntax--operator.syntax--instanceof {
color: #c678dd;
}
.syntax--source.syntax--java-properties .syntax--meta.syntax--key-pair {
color: #e06c75;
}
.syntax--source.syntax--java-properties .syntax--meta.syntax--key-pair > .syntax--punctuation {
color: #abb2bf;
}
.syntax--source.syntax--js .syntax--keyword.syntax--operator {
color: #56b6c2;
}
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--delete,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--in,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--of,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--instanceof,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--new,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--typeof,
.syntax--source.syntax--js .syntax--keyword.syntax--operator.syntax--void {
color: #c678dd;
}
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--string.syntax--quoted.syntax--json {
color: #e06c75;
}
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation.syntax--string {
color: #e06c75;
}
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json,
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--array.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json,
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation,
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--array.syntax--json > .syntax--value.syntax--json > .syntax--string.syntax--quoted.syntax--json > .syntax--punctuation {
color: #98c379;
}
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--dictionary.syntax--json > .syntax--constant.syntax--language.syntax--json,
.syntax--source.syntax--json .syntax--meta.syntax--structure.syntax--array.syntax--json > .syntax--constant.syntax--language.syntax--json {
color: #56b6c2;
}
.syntax--source.syntax--ruby .syntax--constant.syntax--other.syntax--symbol > .syntax--punctuation {
color: inherit;
}
.syntax--source.syntax--php .syntax--class.syntax--bracket {
color: #abb2bf;
}
.syntax--source.syntax--python .syntax--keyword.syntax--operator.syntax--logical.syntax--python {
color: #c678dd;
}
.syntax--source.syntax--python .syntax--variable.syntax--parameter {
color: #d19a66;
}
</style>
</head>
<body class='markdown-preview' data-use-github-style><h1 id="readme">README</h1>
<p>If you have not setup a local gem environment then run the bash script:-</p>
<pre class="editor-colors lang-bash"><div class="line"><span class="syntax--source syntax--shell"><span>bash&nbsp;gem_environment.sh</span></span></div></pre>
<p>This sets up a local gem environment so you can install gems without sudo</p>
<p>If you opened a new shell (without a re-login) you need to re-initialize your gem_environment</p>
<pre class="editor-colors lang-bash"><div class="line"><span class="syntax--source syntax--shell"><span class="syntax--support syntax--function syntax--builtin syntax--shell"><span>source</span></span><span>&nbsp;</span><span class="syntax--keyword syntax--operator syntax--tilde syntax--shell"><span>~</span></span><span>/.profile</span></span></div><div class="line"><span class="syntax--source syntax--shell"><span class="syntax--support syntax--function syntax--builtin syntax--shell"><span>source</span></span><span>&nbsp;</span><span class="syntax--keyword syntax--operator syntax--tilde syntax--shell"><span>~</span></span><span>/.gemrc</span></span></div></pre>
<p>To download and install jruby and the PiCrate gem:-</p>
<pre class="editor-colors lang-bash"><div class="line"><span class="syntax--source syntax--shell"><span>rake</span></span></div></pre>
<p>The default is to install jruby to opt, then provide link using update-alternatives (requires sudo password). It then in install PiCrate and its dependency arcball gems (currently there is an issue with jgem downloads from rubygems on raspberryPI, so script downloads gems and does a <code style="font-family: Menlo, Consolas, &quot;DejaVu Sans Mono&quot;, monospace;">local</code> install).</p>
<p>You can also do individual tasks by calling <code style="font-family: Menlo, Consolas, &quot;DejaVu Sans Mono&quot;, monospace;">rake task</code> eg:-</p>
<pre class="editor-colors lang-bash"><div class="line"><span class="syntax--source syntax--shell"><span>rake&nbsp;install_jruby</span></span></div></pre>
<p>This could be useful to update jruby just change <code style="font-family: Menlo, Consolas, &quot;DejaVu Sans Mono&quot;, monospace;">JRUBY_VERSION</code> in script but afterwards set the version you want to use:-</p>
<pre class="editor-colors lang-bash"><div class="line"><span class="syntax--source syntax--shell"><span>sudo&nbsp;update-alternatives&nbsp;--config&nbsp;jruby</span></span></div></pre>
<p>repeat for <code style="font-family: Menlo, Consolas, &quot;DejaVu Sans Mono&quot;, monospace;">jgem</code> etc.</p></body>
</html>
mkdir -p ~/.gem/ruby/2.3.0/bin
echo "export GEM_HOME=\"$HOME/.gem/ruby/2.3.0\"" >> ~/.profile
echo "export GEM_PATH=\"$HOME/.gem/ruby/2.3.0\"" >> ~/.profile
echo "export PATH=\"${GEM_PATH}bin:$PATH\"" >> ~/.profile
echo "gem: --no-document" >> ~/.gemrc
source ~/.profile
require 'rake/clean'
WARNING = <<-EOS.freeze
WARNING: you may not have wget installed, you could just download
the correct version of jruby and install manually
EOS
TAR_DIR = File.expand_path(File.dirname(__FILE__))
ARCBALL_VERSION = '1.0.1'
JRUBYC_VERSION = '9.2.4.0'
PICRATE_VERSION = '0.4.3'
HOME_DIR = ENV['HOME']
CLOBBER << "jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz.sha256"
CLOBBER << "jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz"
file "jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz.sha256" do
begin
sh "https://repo1.maven.org/maven2/org/jruby/jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz.sha256"
rescue
warn(WARNING)
end
end
desc "get sha256"
task :get_sha256 => ["jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz.sha256"]
desc "download and install jruby"
task :default => [:get_sha256, :download, :install_jruby, :create_links, :install_gems]
desc "download JRuby upstream sources"
task :download => ["jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz"]
file "jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz" do
begin
sh "wget https://repo1.maven.org/maven2/org/jruby/jruby-dist/#{JRUBYC_VERSION}/jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz"
rescue
warn(WARNING)
end
value=File.read("jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz.sha256")
check_sha256("jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz", value)
end
def check_sha256(filename, expected_hash)
require "digest"
sha256 = Digest::SHA256.new
File.open(filename, "r") do |f|
while buf = f.read(4096)
sha256.update(buf)
end
end
if sha256.hexdigest != expected_hash
raise "bad sha256 checksum for #{filename} (expected #{expected_hash} got #{sha256.hexdigest})"
end
end
desc "unpack tar"
task :install_jruby do
Dir.chdir("/opt") do
sh "sudo tar xzvf #{TAR_DIR}/jruby-dist-#{JRUBYC_VERSION}-bin.tar.gz"
end
end
desc "create_links"
task :create_links do
sh "sudo update-alternatives --install /usr/bin/jruby jruby /opt/jruby-#{JRUBYC_VERSION}/bin/jruby 100"
sh "sudo update-alternatives --install /usr/bin/jgem jgem /opt/jruby-#{JRUBYC_VERSION}/bin/jgem 100"
end
desc "install gems"
task :install_gems do
sh "jgem install arcball"
sh "jgem install picrate"
end
@monkstone
Copy link
Author

monkstone commented Jun 26, 2018

Automating PiCrate install on RaspberryPI

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