patch/first-patch master
Apply changes from runtimejs-comm/runtime fork
Patch does not have a description.
8 files changed+548 -38
+ Dockerfile.build | 26 | |
README.md | 44 | |
SConstruct | 2 | |
+ package-lock.json | 479 | |
package.json | 6 | |
- docker/Dockerfile | 23 | |
- docker/docker-build.sh | 3 | |
- docker/docker-prepare.sh | 3 |
Dockerfile.build+26
@@ -0,0 +1,26 @@ 1FROM archlinux 2 3RUN echo 'LANG="en_US.UTF-8"' > /etc/locale.conf 4 5RUN pacman --quiet -Syy --noconfirm 6RUN pacman --quiet -S --noconfirm base-devel 7RUN pacman --quiet -S --noconfirm scons 8RUN pacman --quiet -S --noconfirm libunistring 9RUN cd home && curl ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.1/gcc-4.9.1.tar.gz | tar xz 10RUN cd home && curl ftp://gcc.gnu.org/pub/binutils/releases/binutils-2.24.tar.gz | tar xz 11RUN cd home && curl http://flatassembler.net/fasm-1.73.18.tgz | tar xz 12RUN cd home && mkdir cross 13 14ENV PREFIX /home/cross 15ENV TARGET x86_64-elf 16ENV PATH /home/cross/bin:/home/fasm:$PATH 17 18RUN cd home && mkdir build-binutils && cd build-binutils && \ 19 ../binutils-2.24/configure --target=$TARGET --prefix="$PREFIX" --disable-nls --disable-werror && \ 20 make && make install 21 22RUN cd home && mkdir build-gcc && cd build-gcc && \ 23 ../gcc-4.9.1/configure CXXFLAGS="-std=gnu++98" --target=$TARGET --prefix="$PREFIX" --disable-nls --enable-languages=c,c++ && \ 24 make all-gcc && make all-target-libgcc && make install-gcc && make install-target-libgcc 25 26RUN pacman -S --noconfirm nodejs npm1
README.md+37 -7
@@ -1,11 +1,8 @@ 1 # Project is not maintained, use at your own risk 2 There is a project at [runtimejs-comm/runtime](https://github.com/runtimejs-comm/runtime) that is looking to continue by maintaining a fork. Visit the [repository](https://github.com/runtimejs-comm/runtime) on Github for more details. 3 4 1# runtime.js 5 2 6 [](https://travis-ci.org/runtimejs/runtime) [](https://www.npmjs.com/package/runtimejs) [](https://freenode.net/) [](https://gitter.im/runtimejs/runtime) 7 8 __runtime.js__ is an open-source library operating system (unikernel) for the cloud that runs JavaScript, can be bundled up with an application and deployed as a lightweight and immutable VM image. 3[](https://www.npmjs.com/package/runtimejs) 4 5__runtime.js__ is an open-source library operating system (unikernel) for the cloud that runs JavaScript, can be bundled up with an application and deployed as a lightweight and immutable VM image. 9 6 10 7It's built on [V8 JavaScript engine](https://code.google.com/p/v8/) and uses event-driven and non-blocking I/O model inspired by [Node.js](https://nodejs.org/). At the moment [KVM](http://www.linux-kvm.org/page/Main_Page) is the only supported hypervisor. 11 8 @@ -13,6 +10,19 @@ 13 10 14 11_WARNING: project is in development and not ready for production use._ 15 12 13### Project goals 14 15#### Short term 16- Update documentation for both the C++ kernel and the JS API and 17 modules 18- Get Tests for the JS portion working 19- Maintain what's currently here 20- Maintain build tooling for easy development 21 22#### Long term 23- Upgrade v8 to a more modern version 24- Implement threads with v8 Isolates 25 16 26### Installation 17 27 18 28First thing is the command line tool `runtime-cli`, it will add `runtime` command to the shell. Type `runtime` to get full usage help. @@ -46,7 +56,7 @@ 46 56runtime start 47 57``` 48 58 49 That's it, it should start and print `ok` in the console. 59That's it, it should start and print `ok` in the console. 50 60 51 61Optionally you can let it watch directory for changes and restart QEMU automatically: 52 62 @@ -60,6 +70,26 @@ 60 70 61 71The kernel is written in C++ and manages low-level resources like CPU and memory, runs JavaScript using embedded V8 engine. Library drives the entire system and manages hardware devices (usually virtualized by hypervisor). 62 72 73## Building the Kernel 74 75Build the initial Docker image used for building the kernel, and build 76the kernel. 77``` 78npm run build 79``` 80 81To build the kernel in stages, assemble the Docker image used for 82building. 83``` 84npm run prebuild 85``` 86 87The kernel can be built without needing to run the prebuild step every 88time now. 89``` 90npm run scons 91``` 92 63 93## Docs 64 94 65 95[API docs](https://github.com/runtimejs/runtime/wiki/API-docs)1
SConstruct+1 -1
@@ -5,7 +5,7 @@ 5 5SetOption('num_jobs', 4) 6 6 7 7build = os.getenv('RUNTIME_BUILD', "debug") 8 print 'Build', build 8print('Build', build) 9 9 10 10config = { 11 11 "project_name": "out/runtimejs",1
package-lock.json+479
@@ -0,0 +1,479 @@ 1{ 2 "name": "runtimejs", 3 "version": "0.2.16", 4 "lockfileVersion": 1, 5 "requires": true, 6 "dependencies": { 7 "ansi-styles": { 8 "version": "3.2.1", 9 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 10 "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 11 "dev": true, 12 "requires": { 13 "color-convert": "^1.9.0" 14 } 15 }, 16 "balanced-match": { 17 "version": "1.0.0", 18 "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", 19 "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", 20 "dev": true 21 }, 22 "brace-expansion": { 23 "version": "1.1.11", 24 "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 25 "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 26 "dev": true, 27 "requires": { 28 "balanced-match": "^1.0.0", 29 "concat-map": "0.0.1" 30 } 31 }, 32 "chalk": { 33 "version": "2.4.2", 34 "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 35 "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 36 "dev": true, 37 "requires": { 38 "ansi-styles": "^3.2.1", 39 "escape-string-regexp": "^1.0.5", 40 "supports-color": "^5.3.0" 41 } 42 }, 43 "color-convert": { 44 "version": "1.9.3", 45 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 46 "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 47 "dev": true, 48 "requires": { 49 "color-name": "1.1.3" 50 } 51 }, 52 "color-name": { 53 "version": "1.1.3", 54 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 55 "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 56 "dev": true 57 }, 58 "concat-map": { 59 "version": "0.0.1", 60 "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 61 "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", 62 "dev": true 63 }, 64 "cross-spawn": { 65 "version": "6.0.5", 66 "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 67 "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 68 "dev": true, 69 "requires": { 70 "nice-try": "^1.0.4", 71 "path-key": "^2.0.1", 72 "semver": "^5.5.0", 73 "shebang-command": "^1.2.0", 74 "which": "^1.2.9" 75 } 76 }, 77 "define-properties": { 78 "version": "1.1.3", 79 "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", 80 "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", 81 "dev": true, 82 "requires": { 83 "object-keys": "^1.0.12" 84 } 85 }, 86 "error-ex": { 87 "version": "1.3.2", 88 "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 89 "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 90 "dev": true, 91 "requires": { 92 "is-arrayish": "^0.2.1" 93 } 94 }, 95 "es-abstract": { 96 "version": "1.16.2", 97 "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.2.tgz", 98 "integrity": "sha512-jYo/J8XU2emLXl3OLwfwtuFfuF2w6DYPs+xy9ZfVyPkDcrauu6LYrw/q2TyCtrbc/KUdCiC5e9UajRhgNkVopA==", 99 "dev": true, 100 "requires": { 101 "es-to-primitive": "^1.2.1", 102 "function-bind": "^1.1.1", 103 "has": "^1.0.3", 104 "has-symbols": "^1.0.1", 105 "is-callable": "^1.1.4", 106 "is-regex": "^1.0.4", 107 "object-inspect": "^1.7.0", 108 "object-keys": "^1.1.1", 109 "string.prototype.trimleft": "^2.1.0", 110 "string.prototype.trimright": "^2.1.0" 111 } 112 }, 113 "es-to-primitive": { 114 "version": "1.2.1", 115 "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 116 "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 117 "dev": true, 118 "requires": { 119 "is-callable": "^1.1.4", 120 "is-date-object": "^1.0.1", 121 "is-symbol": "^1.0.2" 122 } 123 }, 124 "escape-string-regexp": { 125 "version": "1.0.5", 126 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 127 "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 128 "dev": true 129 }, 130 "function-bind": { 131 "version": "1.1.1", 132 "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", 133 "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", 134 "dev": true 135 }, 136 "graceful-fs": { 137 "version": "4.2.3", 138 "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", 139 "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", 140 "dev": true 141 }, 142 "has": { 143 "version": "1.0.3", 144 "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", 145 "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", 146 "dev": true, 147 "requires": { 148 "function-bind": "^1.1.1" 149 } 150 }, 151 "has-flag": { 152 "version": "3.0.0", 153 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 154 "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 155 "dev": true 156 }, 157 "has-symbols": { 158 "version": "1.0.1", 159 "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", 160 "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", 161 "dev": true 162 }, 163 "hosted-git-info": { 164 "version": "2.8.5", 165 "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.5.tgz", 166 "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==", 167 "dev": true 168 }, 169 "is-arrayish": { 170 "version": "0.2.1", 171 "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 172 "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", 173 "dev": true 174 }, 175 "is-callable": { 176 "version": "1.1.4", 177 "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", 178 "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", 179 "dev": true 180 }, 181 "is-date-object": { 182 "version": "1.0.1", 183 "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", 184 "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", 185 "dev": true 186 }, 187 "is-regex": { 188 "version": "1.0.4", 189 "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", 190 "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", 191 "dev": true, 192 "requires": { 193 "has": "^1.0.1" 194 } 195 }, 196 "is-symbol": { 197 "version": "1.0.3", 198 "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", 199 "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", 200 "dev": true, 201 "requires": { 202 "has-symbols": "^1.0.1" 203 } 204 }, 205 "isexe": { 206 "version": "2.0.0", 207 "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 208 "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", 209 "dev": true 210 }, 211 "json-parse-better-errors": { 212 "version": "1.0.2", 213 "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 214 "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 215 "dev": true 216 }, 217 "load-json-file": { 218 "version": "4.0.0", 219 "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", 220 "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", 221 "dev": true, 222 "requires": { 223 "graceful-fs": "^4.1.2", 224 "parse-json": "^4.0.0", 225 "pify": "^3.0.0", 226 "strip-bom": "^3.0.0" 227 } 228 }, 229 "memorystream": { 230 "version": "0.3.1", 231 "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", 232 "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", 233 "dev": true 234 }, 235 "minimatch": { 236 "version": "3.0.4", 237 "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", 238 "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", 239 "dev": true, 240 "requires": { 241 "brace-expansion": "^1.1.7" 242 } 243 }, 244 "nice-try": { 245 "version": "1.0.5", 246 "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 247 "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 248 "dev": true 249 }, 250 "normalize-package-data": { 251 "version": "2.5.0", 252 "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 253 "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 254 "dev": true, 255 "requires": { 256 "hosted-git-info": "^2.1.4", 257 "resolve": "^1.10.0", 258 "semver": "2 || 3 || 4 || 5", 259 "validate-npm-package-license": "^3.0.1" 260 } 261 }, 262 "npm-run-all": { 263 "version": "4.1.5", 264 "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", 265 "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", 266 "dev": true, 267 "requires": { 268 "ansi-styles": "^3.2.1", 269 "chalk": "^2.4.1", 270 "cross-spawn": "^6.0.5", 271 "memorystream": "^0.3.1", 272 "minimatch": "^3.0.4", 273 "pidtree": "^0.3.0", 274 "read-pkg": "^3.0.0", 275 "shell-quote": "^1.6.1", 276 "string.prototype.padend": "^3.0.0" 277 } 278 }, 279 "object-inspect": { 280 "version": "1.7.0", 281 "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", 282 "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", 283 "dev": true 284 }, 285 "object-keys": { 286 "version": "1.1.1", 287 "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 288 "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 289 "dev": true 290 }, 291 "parse-json": { 292 "version": "4.0.0", 293 "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 294 "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", 295 "dev": true, 296 "requires": { 297 "error-ex": "^1.3.1", 298 "json-parse-better-errors": "^1.0.1" 299 } 300 }, 301 "path-key": { 302 "version": "2.0.1", 303 "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 304 "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", 305 "dev": true 306 }, 307 "path-parse": { 308 "version": "1.0.6", 309 "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 310 "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 311 "dev": true 312 }, 313 "path-type": { 314 "version": "3.0.0", 315 "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", 316 "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", 317 "dev": true, 318 "requires": { 319 "pify": "^3.0.0" 320 } 321 }, 322 "pidtree": { 323 "version": "0.3.0", 324 "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz", 325 "integrity": "sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg==", 326 "dev": true 327 }, 328 "pify": { 329 "version": "3.0.0", 330 "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 331 "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", 332 "dev": true 333 }, 334 "read-pkg": { 335 "version": "3.0.0", 336 "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", 337 "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", 338 "dev": true, 339 "requires": { 340 "load-json-file": "^4.0.0", 341 "normalize-package-data": "^2.3.2", 342 "path-type": "^3.0.0" 343 } 344 }, 345 "resolve": { 346 "version": "1.13.0", 347 "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.0.tgz", 348 "integrity": "sha512-HHZ3hmOrk5SvybTb18xq4Ek2uLqLO5/goFCYUyvn26nWox4hdlKlfC/+dChIZ6qc4ZeYcN9ekTz0yyHsFgumMw==", 349 "dev": true, 350 "requires": { 351 "path-parse": "^1.0.6" 352 } 353 }, 354 "semver": { 355 "version": "5.7.1", 356 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 357 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 358 "dev": true 359 }, 360 "shebang-command": { 361 "version": "1.2.0", 362 "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 363 "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", 364 "dev": true, 365 "requires": { 366 "shebang-regex": "^1.0.0" 367 } 368 }, 369 "shebang-regex": { 370 "version": "1.0.0", 371 "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 372 "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", 373 "dev": true 374 }, 375 "shell-quote": { 376 "version": "1.7.2", 377 "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", 378 "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", 379 "dev": true 380 }, 381 "spdx-correct": { 382 "version": "3.1.0", 383 "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", 384 "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", 385 "dev": true, 386 "requires": { 387 "spdx-expression-parse": "^3.0.0", 388 "spdx-license-ids": "^3.0.0" 389 } 390 }, 391 "spdx-exceptions": { 392 "version": "2.2.0", 393 "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", 394 "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", 395 "dev": true 396 }, 397 "spdx-expression-parse": { 398 "version": "3.0.0", 399 "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", 400 "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", 401 "dev": true, 402 "requires": { 403 "spdx-exceptions": "^2.1.0", 404 "spdx-license-ids": "^3.0.0" 405 } 406 }, 407 "spdx-license-ids": { 408 "version": "3.0.5", 409 "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", 410 "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", 411 "dev": true 412 }, 413 "string.prototype.padend": { 414 "version": "3.0.0", 415 "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz", 416 "integrity": "sha1-86rvfBcZ8XDF6rHDK/eA2W4h8vA=", 417 "dev": true, 418 "requires": { 419 "define-properties": "^1.1.2", 420 "es-abstract": "^1.4.3", 421 "function-bind": "^1.0.2" 422 } 423 }, 424 "string.prototype.trimleft": { 425 "version": "2.1.0", 426 "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", 427 "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", 428 "dev": true, 429 "requires": { 430 "define-properties": "^1.1.3", 431 "function-bind": "^1.1.1" 432 } 433 }, 434 "string.prototype.trimright": { 435 "version": "2.1.0", 436 "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", 437 "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", 438 "dev": true, 439 "requires": { 440 "define-properties": "^1.1.3", 441 "function-bind": "^1.1.1" 442 } 443 }, 444 "strip-bom": { 445 "version": "3.0.0", 446 "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 447 "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", 448 "dev": true 449 }, 450 "supports-color": { 451 "version": "5.5.0", 452 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 453 "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 454 "dev": true, 455 "requires": { 456 "has-flag": "^3.0.0" 457 } 458 }, 459 "validate-npm-package-license": { 460 "version": "3.0.4", 461 "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 462 "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 463 "dev": true, 464 "requires": { 465 "spdx-correct": "^3.0.0", 466 "spdx-expression-parse": "^3.0.0" 467 } 468 }, 469 "which": { 470 "version": "1.3.1", 471 "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 472 "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 473 "dev": true, 474 "requires": { 475 "isexe": "^2.0.0" 476 } 477 } 478 } 479}1
package.json+5 -1
@@ -8,7 +8,10 @@ 8 8 "postinstall": "node scripts/update-versions.js", 9 9 "lint": "eslint js", 10 10 "test": "runtimeify test/unit/index.js -o initrd && runtime-qemu ./initrd", 11 "test-build": "runtimeify test/unit/index.js -o initrd && runtime-qemu ./initrd --kernel ../disk/boot/runtime" 11 "test-build": "runtimeify test/unit/index.js -o initrd && runtime-qemu ./initrd --kernel ../disk/boot/runtime", 12 "prebuild": "docker build . -t runtimejs -f Dockerfile.build", 13 "scons": "docker run --rm -w /mnt -v $(pwd):/mnt:rw runtimejs scons", 14 "build": "npm-run-all prebuild scons" 12 15 }, 13 16 "repository": { 14 17 "type": "git", @@ -25,6 +28,7 @@ 25 28 "eslint-config-airbnb-base": "^4.0.0", 26 29 "eslint-plugin-import": "^1.10.2", 27 30 "eslint-plugin-runtime-internal": "^1.0.0", 31 "npm-run-all": "^4.1.5", 28 32 "tape": "^4.0.0" 29 33 }, 30 34 "runtimejs": {1
docker/Dockerfile-23
@@ -1,23 +0,0 @@ 1 FROM base/arch 2 3 RUN echo 'LANG="en_US.UTF-8"' > /etc/locale.conf 4 RUN pacman --quiet -Syy 5 RUN pacman --quiet -S --noconfirm base-devel 6 RUN pacman --quiet -S --noconfirm scons 7 RUN pacman --quiet -S --noconfirm libunistring 8 RUN cd home && curl ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.1/gcc-4.9.1.tar.gz | tar xz 9 RUN cd home && curl ftp://gcc.gnu.org/pub/binutils/releases/binutils-2.24.tar.gz | tar xz 10 RUN cd home && curl http://flatassembler.net/fasm-1.71.17.tgz | tar xz 11 RUN cd home && mkdir cross 12 13 ENV PREFIX /home/cross 14 ENV TARGET x86_64-elf 15 ENV PATH /home/cross/bin:/home/fasm:$PATH 16 17 RUN cd home && mkdir build-binutils && cd build-binutils && \ 18 ../binutils-2.24/configure --target=$TARGET --prefix="$PREFIX" --disable-nls --disable-werror && \ 19 make && make install 20 21 RUN cd home && mkdir build-gcc && cd build-gcc && \ 22 ../gcc-4.9.1/configure --target=$TARGET --prefix="$PREFIX" --disable-nls --enable-languages=c,c++ --without-headers && \ 23 make all-gcc && make all-target-libgcc && make install-gcc && make install-target-libgcc1
docker/docker-build.sh-3
@@ -1,3 +0,0 @@ 1 #!/bin/bash 2 3 docker run --rm -w /mnt -v $(pwd):/mnt:rw runtimejs scons1
docker/docker-prepare.sh-3
@@ -1,3 +0,0 @@ 1 #!/bin/bash 2 3 docker build -t runtimejs docker1