diff --git a/templates/packages/grpc-native-core/binding.gyp.template b/templates/packages/grpc-native-core/binding.gyp.template deleted file mode 100644 index c3fa37b4..00000000 --- a/templates/packages/grpc-native-core/binding.gyp.template +++ /dev/null @@ -1,420 +0,0 @@ -%YAML 1.2 ---- | - # GRPC Node gyp file - # This currently builds the Node extension and dependencies - # This file has been automatically generated from a template file. - # Please look at the templates directory instead. - # This file can be regenerated from the template by running - # tools/buildgen/generate_projects.sh - - # Copyright 2015 gRPC authors. - # - # Licensed under the Apache License, Version 2.0 (the "License"); - # you may not use this file except in compliance with the License. - # You may obtain a copy of the License at - # - # http://www.apache.org/licenses/LICENSE-2.0 - # - # Unless required by applicable law or agreed to in writing, software - # distributed under the License is distributed on an "AS IS" BASIS, - # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - # See the License for the specific language governing permissions and - # limitations under the License. - <% - def gyp_target_name(lib_name): - if lib_name.startswith("absl/"): - return lib_name.replace("/", "__").replace(":", "__") - else: - return lib_name - %> - # Some of this file is built with the help of - # https://n8.io/converting-a-c-library-to-gyp/ - { - 'variables': { - 'runtime%': 'node', - # Some Node installations use the system installation of OpenSSL, and on - # some systems, the system OpenSSL still does not have ALPN support. This - # will let users recompile gRPC to work without ALPN. - 'grpc_alpn%': 'true', - # Indicates that the library should be built with gcov. - 'grpc_gcov%': 'false', - # Indicates that the library should be built with compatibility for musl - # libc, so that it can run on Alpine Linux. This is only necessary if not - # building on Alpine Linux - 'grpc_alpine%': 'false' - }, - 'target_defaults': { - 'configurations': { - % for name, args in configs.iteritems(): - % if name in ['dbg', 'opt']: - '${{'dbg':'Debug', 'opt': 'Release'}[name]}': { - % for arg, prop in [('CPPFLAGS', 'cflags'), ('DEFINES', 'defines')]: - % if args.get(arg, None) is not None: - '${prop}': [ - % for item in args.get(arg).split(): - '${item}', - % endfor - ], - % endif - % endfor - }, - % endif - % endfor - }, - % for arg, prop in [('CPPFLAGS', 'cflags'), ('LDFLAGS', 'ldflags')]: - % if defaults['global'].get(arg, None) is not None: - '${prop}': [ - % for item in defaults['global'].get(arg).split() + (['-fvisibility=hidden'] if arg == 'CPPFLAGS' else []): - '${item}', - % endfor - ], - % endif - % endfor - 'cflags_c': [ - '-std=c99' - ], - 'cflags_cc': [ - '-std=c++1y' - ], - 'include_dirs': [ - 'deps/grpc', - 'deps/grpc/include', - 'deps/grpc/src/core/ext/upb-generated', - 'deps/grpc/third_party/abseil-cpp', - 'deps/grpc/third_party/address_sorting/include', - 'deps/grpc/third_party/cares', - 'deps/grpc/third_party/cares/cares', - 'deps/grpc/third_party/upb', - 'deps/grpc/third_party/upb/generated_for_cmake', - ], - 'defines': [ - 'GPR_BACKWARDS_COMPATIBILITY_MODE', - 'GRPC_ARES=1', - 'GRPC_UV', - 'GRPC_NODE_VERSION="${settings.get('node_version', settings.version)}"', - 'CARES_STATICLIB', - 'CARES_SYMBOL_HIDING' - ], - 'defines!': [ - 'OPENSSL_THREADS' - ], - 'conditions': [ - ['grpc_gcov=="true"', { - % for arg, prop in [('CPPFLAGS', 'cflags'), ('DEFINES', 'defines'), ('LDFLAGS', 'ldflags')]: - % if configs['gcov'].get(arg, None) is not None: - '${prop}': [ - % for item in configs['gcov'].get(arg).split(): - '${item}', - % endfor - ], - % endif - % endfor - }], - ['grpc_alpine=="true"', { - 'defines': [ - 'GPR_MUSL_LIBC_COMPAT' - ] - }], - # This is the condition for using boringssl - ['OS=="win" or runtime=="electron"', { - "include_dirs": [ - "deps/grpc/third_party/boringssl/include" - ], - "defines": [ - 'OPENSSL_NO_ASM' - ] - }, { - 'conditions': [ - ["target_arch=='ia32'", { - "include_dirs": [ "<(node_root_dir)/deps/openssl/config/piii" ] - }], - ["target_arch=='x64'", { - "include_dirs": [ "<(node_root_dir)/deps/openssl/config/k8" ] - }], - ["target_arch=='arm'", { - "include_dirs": [ "<(node_root_dir)/deps/openssl/config/arm" ] - }], - ['grpc_alpn=="true"', { - 'defines': [ - 'TSI_OPENSSL_ALPN_SUPPORT=1' - ], - }, { - 'defines': [ - 'TSI_OPENSSL_ALPN_SUPPORT=0' - ], - }] - ], - 'include_dirs': [ - '<(node_root_dir)/deps/openssl/openssl/include', - ] - }], - ['OS == "win"', { - "include_dirs": [ - "deps/grpc/third_party/zlib" - ], - "defines": [ - '_WIN32_WINNT=0x0600', - 'WIN32_LEAN_AND_MEAN', - '_HAS_EXCEPTIONS=0', - 'UNICODE', - '_UNICODE', - 'NOMINMAX', - ], - "msvs_settings": { - 'VCCLCompilerTool': { - 'RuntimeLibrary': 1, # static debug - } - }, - "libraries": [ - "ws2_32" - ] - }, { # OS != "win" - 'include_dirs': [ - '<(node_root_dir)/deps/zlib' - ] - }], - ['OS == "mac"', { - 'xcode_settings': { - % if defaults['global'].get('CPPFLAGS', None) is not None: - 'OTHER_CFLAGS': [ - % for item in defaults['global'].get('CPPFLAGS').split() + ['-fvisibility=hidden']: - '${item}', - % endfor - ], - 'OTHER_CPLUSPLUSFLAGS': [ - % for item in defaults['global'].get('CPPFLAGS').split() + ['-fvisibility=hidden']: - '${item}', - % endfor - '-stdlib=libc++', - '-std=c++1y', - '-Wno-error=deprecated-declarations' - ], - % endif - }, - }] - ] - }, - 'conditions': [ - ['OS=="win" or runtime=="electron"', { - 'targets': [ - % for lib in libs: - % if lib.name == 'boringssl': - { - 'target_name': '${lib.name}', - 'product_prefix': 'lib', - 'type': 'static_library', - 'cflags': [ - '-Wno-implicit-fallthrough' - ], - 'defines': [ - '_XOPEN_SOURCE=700' - ], - 'dependencies': [ - % for dep in getattr(lib, 'deps', []): - '${dep}', - % endfor - ], - 'sources': [ - % for source in lib.src: - 'deps/grpc/${source}', - % endfor - ], - 'conditions': [ - ['OS == "mac"', { - 'xcode_settings': { - 'MACOSX_DEPLOYMENT_TARGET': '10.9' - } - }] - ] - }, - % endif - % endfor - ], - }], - ['OS == "win" and runtime!="electron"', { - 'targets': [ - { - # IMPORTANT WINDOWS BUILD INFORMATION - # This library does not build on Windows without modifying the Node - # development packages that node-gyp downloads in order to build. - # Due to https://github.com/nodejs/node/issues/4932, the headers for - # BoringSSL conflict with the OpenSSL headers included by default - # when including the Node headers. The remedy for this is to remove - # the OpenSSL headers, from the downloaded Node development package, - # which is typically located in `.node-gyp` in your home directory. - # - # This is not true of Electron, which does not have OpenSSL headers. - 'target_name': 'WINDOWS_BUILD_WARNING', - 'rules': [ - { - 'rule_name': 'WINDOWS_BUILD_WARNING', - 'extension': 'S', - 'inputs': [ - 'package.json' - ], - 'outputs': [ - 'ignore_this_part' - ], - 'action': ['echo', 'IMPORTANT: Due to https://github.com/nodejs/node/issues/4932, to build this library on Windows, you must first remove <(node_root_dir)/include/node/openssl/'] - } - ] - }, - ] - }], - ['OS == "win"', { - 'targets': [ - # Only want to compile zlib under Windows - % for lib in libs: - % if lib.name == 'z': - { - 'target_name': '${lib.name}', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - % for dep in getattr(lib, 'deps', []): - '${dep}', - % endfor - ], - 'sources': [ - % for source in lib.src: - 'deps/grpc/${source}', - % endfor - ] - }, - % endif - % endfor - ] - }] - ], - 'targets': [ - % for lib in libs: - % if lib.name == 'ares': - { - 'target_name': '${lib.name}', - 'product_prefix': 'lib', - 'type': 'static_library', - 'sources': [ - % for source in lib.src: - 'deps/grpc/${source}', - % endfor - ], - 'defines': [ - '_GNU_SOURCE' - ], - 'conditions': [ - ['OS == "mac"', { - 'xcode_settings': { - 'MACOSX_DEPLOYMENT_TARGET': '10.9' - }, - 'include_dirs': [ - 'deps/grpc/third_party/cares/config_darwin' - ], - 'defines': [ - 'HAVE_CONFIG_H' - ] - }], - ['OS == "linux"', { - 'include_dirs': [ - 'deps/grpc/third_party/cares/config_linux' - ], - 'defines': [ - 'HAVE_CONFIG_H' - ] - }], - ['OS == "win"', { - 'include_dirs': [ - 'deps/grpc/third_party/cares/config_windows' - ], - 'defines': [ - 'HAVE_CONFIG_H' - ] - }] - ] - }, - % endif - % endfor - % for core in libs: - % if core.name == 'grpc' or core.name == 'address_sorting': - % for lib in libs: - % if lib.name == core.name or (lib.name in core.transitive_deps and lib.name not in ('boringssl', 'z')): - { - 'target_name': '${gyp_target_name(lib.name)}', - 'product_prefix': 'lib', - 'type': 'static_library', - 'dependencies': [ - % for dep in getattr(lib, 'deps', []): - '${gyp_target_name(dep)}', - % endfor - ], - 'sources': [ - % for source in lib.src: - 'deps/grpc/${source}', - % endfor - ], - 'conditions': [ - ['OS == "mac"', { - 'xcode_settings': { - 'MACOSX_DEPLOYMENT_TARGET': '10.9' - } - }] - ] - }, - % endif - % endfor - % endif - % endfor - { - 'include_dirs': [ - "'ext/'+f).join(' ')\")" - ], - "dependencies": [ - "grpc", - "gpr", - "ares", - "address_sorting" - ] - }, - { - "target_name": "action_after_build", - "type": "none", - "dependencies": [ "<(module_name)" ], - "copies": [ - { - "files": [ "<(PRODUCT_DIR)/<(module_name).node"], - "destination": "<(module_path)" - } - ] - } - ] - } diff --git a/templates/packages/grpc-native-core/package.json.template b/templates/packages/grpc-native-core/package.json.template deleted file mode 100644 index 515614db..00000000 --- a/templates/packages/grpc-native-core/package.json.template +++ /dev/null @@ -1,107 +0,0 @@ -%YAML 1.2 ---- | - { - "name": "grpc", - "version": "${settings.get('node_version', settings.version)}", - "author": "Google Inc.", - "description": "gRPC Library for Node", - "homepage": "https://grpc.io/", - "repository": { - "type": "git", - "url": "https://github.com/grpc/grpc-node.git" - }, - "bugs": "https://github.com/grpc/grpc-node/issues", - "contributors": [ - { - "name": "Michael Lumish", - "email": "mlumish@google.com" - } - ], - "directories": { - "lib": "src" - }, - "scripts": { - "build": "node-pre-gyp build", - "electron-build": "node-pre-gyp configure build --runtime=electron --disturl=https://atom.io/download/atom-shell", - "coverage": "istanbul cover ./node_modules/.bin/_mocha test", - "install": "node-pre-gyp install --fallback-to-build --library=static_library", - "prepack": "git submodule update --init --recursive && npm install" - }, - "bundledDependencies": [ - "node-pre-gyp" - ], - "dependencies": { - "@types/bytebuffer": "^5.0.40", - "lodash.camelcase": "^4.3.0", - "lodash.clone": "^4.5.0", - "nan": "^2.13.2", - "node-pre-gyp": "^0.14.0", - "protobufjs": "^5.0.3" - }, - "devDependencies": { - "body-parser": "^1.15.2", - "electron-mocha": "^3.1.1", - "express": "^4.14.0", - "google-protobuf": "^3.0.0", - "istanbul": "^0.4.4", - "lodash": "^4.17.4", - "minimist": "^1.1.0", - "node-forge": "^0.7.5", - "poisson-process": "^0.2.1" - }, - "engines": { - "node": ">=4" - }, - "binary": { - "module_name": "grpc_node", - "module_path": "src/node/extension_binary/{node_abi}-{platform}-{arch}-{libc}", - "host": "https://node-precompiled-binaries.grpc.io/", - "remote_path": "{name}/v{version}", - "package_name": "{node_abi}-{platform}-{arch}-{libc}.tar.gz" - }, - "files": [ - "LICENSE", - "README.md", - "deps/grpc/etc/", - "index.js", - "index.d.ts", - "src/*.js", - "ext/*.{cc,h}", - "deps/grpc/include/grpc/**/*.h", - "deps/grpc/src/core/**/*.{c,cc,h}", - "deps/grpc/src/boringssl/err_data.c", - "deps/grpc/third_party/abseil-cpp/absl/**/*.{cc,h,inc}", - "deps/grpc/third_party/boringssl/crypto/**/*.{c,cc,h}", - "deps/grpc/third_party/boringssl/include/**/*.{c,cc,h}", - "deps/grpc/third_party/boringssl/ssl/**/*.{c,cc,h}", - "deps/grpc/third_party/boringssl/third_party/**/*.{c,h}", - "deps/grpc/third_party/upb/**/*.{c,h,inc}", - "deps/grpc/third_party/zlib/**/*.{c,cc,h}", - "deps/grpc/third_party/address_sorting/**/*.{c,h}", - "deps/grpc/third_party/cares/**/*.{c,h}", - "binding.gyp" - ], - "main": "index.js", - "typings": "index.d.ts", - "license": "Apache-2.0", - "jshintConfig": { - "bitwise": true, - "curly": true, - "eqeqeq": true, - "esnext": true, - "freeze": true, - "immed": true, - "indent": 2, - "latedef": "nofunc", - "maxlen": 80, - "mocha": true, - "newcap": true, - "node": true, - "noarg": true, - "quotmark": "single", - "strict": true, - "trailing": true, - "undef": true, - "unused": "vars" - } - }