Ejemplo n.º 1
0
 def package(self):
     self.copy("FindTBB.cmake", src=".", dst=".")
     self.copy("*.h", src="src/include", dst="include", keep_path=True)
     self.copy("*.lib", dst="lib", keep_path=False)
     self.copy("*.dll", dst="bin", keep_path=False)
     self.copy("*.so.*", dst="lib", keep_path=False, symlinks=True)
     self.copy("*.a", dst="lib", keep_path=False)
     self.copy("*tbb*.pdb", dst="bin", keep_path=False)
     # Symlink
     if self.settings.os == "Linux":
         lib_folder = os.path.join(self.package_folder, "lib")
         if not os.path.isdir(lib_folder):
             return
         with tools.chdir(lib_folder):
             for fname in os.listdir("."):
                 extension = ".so"
                 symlink = fname[0:fname.rfind(extension) + len(extension)]
                 self.run("ln -s \"%s\" \"%s\"" % (fname, symlink))
     # Sign DLL
     if get_safe(self.options, "dll_sign"):
         import windows_signtool
         pattern = os.path.join(self.package_folder, "bin", "*.dll")
         for fpath in glob.glob(pattern):
             fpath = fpath.replace("\\", "/")
             for alg in ["sha1", "sha256"]:
                 is_timestamp = True if self.settings.build_type == "Release" else False
                 cmd = windows_signtool.get_sign_command(
                     fpath, digest_algorithm=alg, timestamp=is_timestamp)
                 self.output.info("Sign %s" % fpath)
                 self.run(cmd)
Ejemplo n.º 2
0
 def package(self):
     self.copy("FreeImage.h", dst="include", src="src/Source", keep_path=False)
     # MSVC
     if self.settings.os == "Windows":
         for releasePath in [ "src/x64/Release", "src/Win32/Release" ]:
             self.copy("FreeImage.lib", dst="lib", src=releasePath, keep_path=False)
             self.copy("FreeImage.dll", dst="bin", src=releasePath, keep_path=False)
             self.copy("FreeImage.pdb", dst="bin", src=releasePath, keep_path=False)
         for debugPath in [ "src/x64/Debug", "src/Win32/Debug" ]:
             self.copy("FreeImaged.lib", dst="lib", src=debugPath, keep_path=False)
             self.copy("FreeImaged.dll", dst="bin", src=debugPath, keep_path=False)
             self.copy("FreeImaged.pdb", dst="bin", src=debugPath, keep_path=False)
         # Sign DLL
         if self.options.get_safe("dll_sign"):
             import windows_signtool
             pattern = os.path.join(self.package_folder, "bin", "*.dll")
             for fpath in glob.glob(pattern):
                 fpath = fpath.replace("\\", "/")
                 for alg in ["sha1", "sha256"]:
                     is_timestamp = True if self.settings.build_type == "Release" else False
                     cmd = windows_signtool.get_sign_command(fpath, digest_algorithm=alg, timestamp=is_timestamp)
                     self.output.info("Sign %s" % fpath)
                     self.run(cmd)
     # GNU
     if self.settings.os == "Linux":
         self.copy("libfreeimage-3.19.0.so", dst="lib", src="src", keep_path=False)
         with tools.chdir(os.path.join(self.package_folder, "lib")):
             self.run("ln --symbolic libfreeimage-3.19.0.so libfreeimage.so.3")
Ejemplo n.º 3
0
 def package(self):
     self.copy("FindNGHTTP2.cmake", dst=".", src=".")
     # Headers
     self.copy("*.h", dst="include", src="src/src/includes")
     self.copy("*.h", dst="include", src="src/lib/includes")
     # Libraries
     self.copy("*.lib",
               dst="lib",
               keep_path=False,
               excludes="*http-parser*")
     self.copy("*.dll", dst="bin", keep_path=False)
     self.copy("*.so", dst="lib", keep_path=False)
     self.copy("*.dylib", dst="lib", keep_path=False)
     self.copy("*.a", dst="lib", keep_path=False, excludes="*http-parser*")
     # PDB
     self.copy("*nghttp2.pdb", dst="bin", keep_path=False)
     self.copy("*nghttp2d.pdb", dst="bin", keep_path=False)
     self.copy("*nghttp2_asio.pdb", dst="bin", keep_path=False)
     self.copy("*nghttp2_asiod.pdb", dst="bin", keep_path=False)
     # Sign DLL
     if get_safe(self.options, "dll_sign"):
         import windows_signtool
         pattern = os.path.join(self.package_folder, "bin", "*.dll")
         for fpath in glob.glob(pattern):
             fpath = fpath.replace("\\", "/")
             for alg in ["sha1", "sha256"]:
                 is_timestamp = True if self.settings.build_type == "Release" else False
                 cmd = windows_signtool.get_sign_command(
                     fpath, digest_algorithm=alg, timestamp=is_timestamp)
                 self.output.info("Sign %s" % fpath)
                 self.run(cmd)
Ejemplo n.º 4
0
 def sign_binary(self, path):
     import windows_signtool
     for fpath in glob.glob(path):
         fpath = fpath.replace("\\", "/")
         for alg in ["sha1", "sha256"]:
             is_timestamp = True if self.settings.build_type == "Release" else False
             cmd = windows_signtool.get_sign_command(fpath, digest_algorithm=alg, timestamp=is_timestamp)
             self.output.info("Sign %s" % fpath)
             self.run(cmd)
Ejemplo n.º 5
0
 def package(self):
     # Sign DLL
     if self.options.get_safe("dll_sign"):
         import windows_signtool
         pattern = os.path.join(self.package_folder, "bin", "*.dll")
         for fpath in glob.glob(pattern):
             fpath = fpath.replace("\\", "/")
             for alg in ["sha1", "sha256"]:
                 is_timestamp = True if self.settings.build_type == "Release" else False
                 cmd = windows_signtool.get_sign_command(
                     fpath, digest_algorithm=alg, timestamp=is_timestamp)
                 self.output.info("Sign %s" % fpath)
                 self.run(cmd)
Ejemplo n.º 6
0
 def package(self):
     self.copy("FindOpenLDAP.cmake", src=".", dst=".")
     self.copy("*.h", dst="include", src="./src/include", keep_path=True)
     self.copy("*.h",
               dst="libraries",
               src="./src/libraries",
               keep_path=True)
     # Sign DLL
     if self.options.get_safe("dll_sign"):
         import windows_signtool
         pattern = os.path.join(self.package_folder, "bin", "*.dll")
         for fpath in glob.glob(pattern):
             fpath = fpath.replace("\\", "/")
             for alg in ["sha1", "sha256"]:
                 is_timestamp = True if self.settings.build_type == "Release" else False
                 cmd = windows_signtool.get_sign_command(
                     fpath, digest_algorithm=alg, timestamp=is_timestamp)
                 self.output.info("Sign %s" % fpath)
                 self.run(cmd)
Ejemplo n.º 7
0
 def package(self):
     # Headers
     self.copy("*jscript.h", dst="include", keep_path=False)
     self.copy("*node.h", dst="include", keep_path=False)
     self.copy("*node_version.h", dst="include", keep_path=False)
     #self.copy("*node_internals.h", dst="include", keep_path=False)
     src_v8_headers = os.path.join(self.build_folder, "src", "deps", "v8",
                                   "include")
     self.copy("*.h", src=src_v8_headers, dst="include", keep_path=True)
     # Libraries
     self.copy("*jscript*.lib", dst="lib", keep_path=False)
     self.copy("*jscript*.dll", dst="bin", keep_path=False)
     if self.settings.os == "Linux":
         src_lib_folder = os.path.join(self.build_folder, "src", "out",
                                       str(self.settings.build_type),
                                       "lib.target")
         self.copy("*jscript.so.*",
                   src=src_lib_folder,
                   dst="lib",
                   keep_path=False)
         # Symlink
         lib_folder = os.path.join(self.package_folder, "lib")
         if not os.path.isdir(lib_folder):
             return
         with tools.chdir(lib_folder):
             for fname in os.listdir("."):
                 extension = ".so"
                 symlink = fname[0:fname.rfind(extension) + len(extension)]
                 self.run("ln -s \"%s\" \"%s\"" % (fname, symlink))
     # PDB
     self.copy("*node.pdb", dst="bin", keep_path=False)
     # Sign DLL
     if get_safe(self.options, "dll_sign"):
         import windows_signtool
         pattern = os.path.join(self.package_folder, "bin", "*.dll")
         for fpath in glob.glob(pattern):
             fpath = fpath.replace("\\", "/")
             for alg in ["sha1", "sha256"]:
                 is_timestamp = True if self.settings.build_type == "Release" else False
                 cmd = windows_signtool.get_sign_command(
                     fpath, digest_algorithm=alg, timestamp=is_timestamp)
                 self.output.info("Sign %s" % fpath)
                 self.run(cmd)
Ejemplo n.º 8
0
 def package(self):
     for releasePath in [
             "src/x64/Release-Patch", "src/Win32/Release-Patch"
     ]:
         self.copy("tcmalloc.lib",
                   dst="lib",
                   src=releasePath,
                   keep_path=False)
         self.copy("tcmalloc.dll",
                   dst="bin",
                   src=releasePath,
                   keep_path=False)
         self.copy("tcmalloc.pdb",
                   dst="bin",
                   src=releasePath,
                   keep_path=False)
     for debugPath in ["src/x64/Debug", "src/Win32/Debug"]:
         self.copy("tcmallocd.lib",
                   dst="lib",
                   src=debugPath,
                   keep_path=False)
         self.copy("tcmallocd.dll",
                   dst="bin",
                   src=debugPath,
                   keep_path=False)
         self.copy("tcmallocd.pdb",
                   dst="bin",
                   src=debugPath,
                   keep_path=False)
     # Sign DLL
     if get_safe(self.options, "dll_sign"):
         import windows_signtool
         pattern = os.path.join(self.package_folder, "bin", "*.dll")
         for fpath in glob.glob(pattern):
             fpath = fpath.replace("\\", "/")
             for alg in ["sha1", "sha256"]:
                 is_timestamp = True if self.settings.build_type == "Release" else False
                 cmd = windows_signtool.get_sign_command(
                     fpath, digest_algorithm=alg, timestamp=is_timestamp)
                 self.output.info("Sign %s" % fpath)
                 self.run(cmd)
Ejemplo n.º 9
0
 def package(self):
     self.copy("FindOpenSSL.cmake", src=".", dst=".")
     self.copy("*.h",
               src="src/include/openssl",
               dst="include/openssl",
               keep_path=False,
               excludes="__DECC_INCLUDE_*")
     self.copy("*.h",
               src="include/openssl",
               dst="include/openssl",
               keep_path=False)
     if self.options.shared:
         self.copy("libcrypto.so*",
                   dst="lib",
                   keep_path=False,
                   symlinks=True)
         self.copy("libssl.so*", dst="lib", keep_path=False, symlinks=True)
     else:
         self.copy("*.a", dst="lib", keep_path=False)
     if self.settings.os == "Windows":
         self.copy("*applink.c", dst="include/openssl", keep_path=False)
         self.copy("libcrypto.lib",
                   src=self.build_folder,
                   dst="lib",
                   keep_path=False)
         self.copy("libssl.lib",
                   src=self.build_folder,
                   dst="lib",
                   keep_path=False)
         self.copy("libcrypto-*.dll",
                   src=self.build_folder,
                   dst="bin",
                   keep_path=False)
         self.copy("libssl-*.dll",
                   src=self.build_folder,
                   dst="bin",
                   keep_path=False)
         self.copy("libcrypto-*.pdb",
                   src=self.build_folder,
                   dst="bin",
                   keep_path=False)
         self.copy("libssl-*.pdb",
                   src=self.build_folder,
                   dst="bin",
                   keep_path=False)
     # Pack application
     self.copy("openssl", dst="bin", src="apps", keep_path=False)
     self.copy("openssl.exe", dst="bin", src="apps", keep_path=False)
     # Sign DLL
     if self.options.get_safe("dll_sign"):
         import windows_signtool
         patternDLL = os.path.join(self.package_folder, "bin", "*.dll")
         patternEXE = os.path.join(self.package_folder, "bin", "*.exe")
         for fpath in (glob.glob(patternDLL) + glob.glob(patternEXE)):
             fpath = fpath.replace("\\", "/")
             for alg in ["sha1", "sha256"]:
                 is_timestamp = True if self.settings.build_type == "Release" else False
                 cmd = windows_signtool.get_sign_command(
                     fpath, digest_algorithm=alg, timestamp=is_timestamp)
                 self.output.info("Sign %s" % fpath)
                 self.run(cmd)
Ejemplo n.º 10
0
 def package(self):
     # CMake script
     self.copy("FindICU.cmake", dst=".", src=".", keep_path=False)
     # Headers
     self.copy("*",
               dst="include",
               src="icu_install/include",
               keep_path=True)
     # Linux libraries
     self.copy("libicudata.so*",
               dst="lib",
               src="icu_install/lib",
               keep_path=False,
               symlinks=True)
     self.copy("libicuuc.so*",
               dst="lib",
               src="icu_install/lib",
               keep_path=False,
               symlinks=True)
     self.copy("libicui18n.so*",
               dst="lib",
               src="icu_install/lib",
               keep_path=False,
               symlinks=True)
     self.copy("libicuio.so*",
               dst="lib",
               src="icu_install/lib",
               keep_path=False,
               symlinks=True)
     self.copy("libicudata.a",
               dst="lib",
               src="icu_install/lib",
               keep_path=False)
     self.copy("libicuuc.a",
               dst="lib",
               src="icu_install/lib",
               keep_path=False)
     self.copy("libicui18n.a",
               dst="lib",
               src="icu_install/lib",
               keep_path=False)
     self.copy("libicuio.a",
               dst="lib",
               src="icu_install/lib",
               keep_path=False)
     # Windows libraries
     self.copy("*.dll",
               dst="bin",
               src="src/source/lib",
               keep_path=False,
               excludes=["icutu*", "sicutu*"])
     self.copy("*.pdb",
               dst="bin",
               src="src/source/lib",
               keep_path=False,
               excludes=["icutu*", "sicutu*"])
     self.copy("*.lib",
               dst="lib",
               src="src/source/lib",
               keep_path=False,
               excludes=["icutu*", "sicutu*"])
     # Sign DLL
     if get_safe(self.options, "dll_sign"):
         import windows_signtool
         pattern = os.path.join(self.package_folder, "bin", "*.dll")
         for fpath in glob.glob(pattern):
             fpath = fpath.replace("\\", "/")
             for alg in ["sha1", "sha256"]:
                 is_timestamp = True if self.settings.build_type == "Release" else False
                 cmd = windows_signtool.get_sign_command(
                     fpath, digest_algorithm=alg, timestamp=is_timestamp)
                 self.output.info("Sign %s" % fpath)
                 self.run(cmd)