tebako 0.12.2 → 0.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3acd4d518e560abf4901a25e53452f910db850469375deb7e13b5ebc7c8173c4
4
- data.tar.gz: 260a96de335ba92231b01543f4a19ef41a59156ae8ea8546ac7b277bb8b3d7de
3
+ metadata.gz: 633e17c7549e90b7c460701122d4331970925368dd0a17787a746ae2c71ed331
4
+ data.tar.gz: b143e619ff94f5bc5f296a7c611cd0f1ef00c60b3c50c0d731be2c9178b11ef6
5
5
  SHA512:
6
- metadata.gz: 3899ed838eb003e918e9adc91efeeb1eae7d6248bff9e664ace699c1042503b19dce0179cffacaf9c7e7d7418691f0142d9a30388059e82fdb5a07b9a6a395cc
7
- data.tar.gz: 499099ca4dfc86e43f8de369b590e052a46156f2bcbce28081562687dbc42fa3de044e944163df36955f639ab82655921beba41e5e8d29e884e1e2fcb69e874f
6
+ metadata.gz: 6f599028137f315f0394b84679f89874a264a48a9ca834b044a7b56943affaf3b5a79612860bc82ba7c4f6c5982d7edab6bbcda6ac0a0245db92fee422147189
7
+ data.tar.gz: c77a413e42a2d91bf7c8b05ea60372194ad52e225243eba05b86431f9dc25bbfae1ca08779ca7469fdfa63310ded32b00df0b2605888a811e59aa4c9b5eba4bf
data/CMakeLists.txt CHANGED
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2021-2024 [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2021-2025 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
3
  # This file is a part of tebako
4
4
  #
@@ -361,8 +361,11 @@ ExternalProject_Add(${RUBY_PRJ}
361
361
  DOWNLOAD_NO_PROGRESS true
362
362
  SOURCE_DIR ${RUBY_SOURCE_DIR}
363
363
  BUILD_IN_SOURCE true
364
- PATCH_COMMAND ruby ${EXE}/tebako-packager pass1 ${OSTYPE_TXT} ${RUBY_SOURCE_DIR} ${FS_MOUNT_POINT} ${DATA_SRC_DIR} ${RUBY_VER}
365
- CONFIGURE_COMMAND ${GNU_BASH} -c "${RUBY_SOURCE_DIR}/configure ${OPENSSL_RUBY_OPTION} ${LIBYAML_RUBY_OPTION} \
364
+ CONFIGURE_COMMAND ""
365
+ BUILD_COMMAND ruby ${EXE}/tebako-packager pass1 ${OSTYPE_TXT} ${RUBY_SOURCE_DIR} ${FS_MOUNT_POINT} ${DATA_SRC_DIR} ${RUBY_VER}
366
+ # Make it for MacOS otherwise LDFLAGS are invalid
367
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_LIB_DIR}
368
+ COMMAND ${GNU_BASH} -c "${RUBY_SOURCE_DIR}/configure ${OPENSSL_RUBY_OPTION} ${LIBYAML_RUBY_OPTION} \
366
369
  --without-gmp \
367
370
  --disable-dtrace \
368
371
  --disable-debug-env \
@@ -373,29 +376,31 @@ ExternalProject_Add(${RUBY_PRJ}
373
376
  --prefix=${DATA_SRC_DIR} \
374
377
  ${C_FLAGS_DEST}=\"${RUBY_C_FLAGS}\" \
375
378
  LDFLAGS=\"${RUBY_L_FLAGS}\""
376
- COMMAND ruby ${EXE}/tebako-packager pass1a ${RUBY_SOURCE_DIR}
377
- BUILD_COMMAND make -j${NCORES}
378
- INSTALL_COMMAND make install -j${NCORES}
379
- COMMAND ${GNU_BASH} -c "ruby ${EXE}/tebako-packager pass2 ${OSTYPE_TXT} ${RUBY_SOURCE_DIR} ${DEPS_LIB_DIR} ${DATA_SRC_DIR} ${RUBY_STASH_DIR} ${RUBY_VER}"
379
+ COMMAND ruby ${EXE}/tebako-packager pass2 ${OSTYPE_TXT} ${RUBY_SOURCE_DIR} ${DEPS_LIB_DIR} ${DATA_SRC_DIR} ${RUBY_STASH_DIR} ${RUBY_VER}
380
+ INSTALL_COMMAND ""
380
381
  )
381
382
 
382
- add_dependencies(${RUBY_PRJ} ${DWARFS_WR_PRJ} ${LIBDWARFS_WR_PRJ})
383
-
384
- if(IS_GNU)
385
- add_dependencies(${RUBY_PRJ} ${PATCHELF_PRJ})
386
- endif(IS_GNU)
387
-
383
+ # add_dependencies(${RUBY_PRJ} ${DWARFS_WR_PRJ})
388
384
 
389
385
  if (${SETUP_MODE})
390
386
  add_custom_target(setup
391
387
  ${CMAKE_COMMAND} -E echo "Tebako setup has completed"
392
388
  DEPENDS ${DWARFS_WR_PRJ} ${RUBY_PRJ}
393
389
  )
394
- else (${SETUP_MODE})
390
+ if(IS_GNU)
391
+ add_dependencies(setup ${PATCHELF_PRJ})
392
+ endif(IS_GNU)
393
+
394
+ else (${SETUP_MODE})
395
395
  add_custom_target(setup
396
396
  ${CMAKE_COMMAND} -E echo "Tebako setup has been verified"
397
397
  DEPENDS ${DWARFS_WR_PRJ} ${RUBY_PRJ}
398
398
  )
399
+ if(IS_GNU)
400
+ add_dependencies(setup ${PATCHELF_PRJ})
401
+ endif(IS_GNU)
402
+
403
+
399
404
 
400
405
  set(CMAKE_CXX_STANDARD 20)
401
406
  set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -406,7 +411,7 @@ else (${SETUP_MODE})
406
411
 
407
412
  add_custom_target(packaged_filesystem
408
413
  COMMAND ruby ${DEPS_BIN_DIR}/deploy.rb
409
- DEPENDS ${RUBY_PRJ}
414
+ DEPENDS setup
410
415
  BYPRODUCTS ${DATA_BIN_FILE}
411
416
  )
412
417
 
data/exe/tebako-packager CHANGED
@@ -51,14 +51,6 @@ begin
51
51
  ruby_ver = Tebako::RubyVersion.new(ARGV[5])
52
52
  Tebako::Packager.pass1(ARGV[1], ARGV[2], ARGV[3], ARGV[4], ruby_ver)
53
53
 
54
- when "pass1a"
55
- # ARGV[0] -- command
56
- # ARGV[1] -- RUBY_SOURCE_DIR
57
- unless ARGV.length == 2
58
- raise Tebako::Error,
59
- "tebako-packager pass1a command expects 2 arguments, #{ARGV.length} has been provided."
60
- end
61
- Tebako::Packager.pass1a(ARGV[1])
62
54
  when "pass2"
63
55
  # ARGV[0] -- command
64
56
  # ARGV[1] -- OSTYPE
@@ -72,7 +64,8 @@ begin
72
64
  "tebako-packager pass2 command expects 7 arguments, #{ARGV.length} has been provided."
73
65
  end
74
66
  ruby_ver = Tebako::RubyVersion.new(ARGV[6])
75
- Tebako::Packager.stash(ARGV[4], ARGV[5])
67
+ Tebako::Packager.pass1a(ARGV[2])
68
+ Tebako::Packager.stash(ARGV[4], ARGV[5], ARGV[2], ruby_ver)
76
69
  Tebako::Packager.pass2(ARGV[1], ARGV[2], ARGV[3], ruby_ver)
77
70
 
78
71
  when "finalize"
@@ -121,6 +121,10 @@ module Tebako
121
121
  @deps_bin_dir ||= File.join(deps, "bin")
122
122
  end
123
123
 
124
+ def deps_lib_dir
125
+ @deps_lib_dir ||= File.join(deps, "lib")
126
+ end
127
+
124
128
  def fs_current
125
129
  fs_current = Dir.pwd
126
130
  if RUBY_PLATFORM =~ /msys|mingw|cygwin/
@@ -92,7 +92,7 @@ module Tebako
92
92
  def finalize(os_type, src_dir, app_name, ruby_ver, patchelf)
93
93
  puts "-- Running finalize script"
94
94
 
95
- RubyBuilder.new(ruby_ver, src_dir).final_build
95
+ RubyBuilder.new(ruby_ver, src_dir).target_build
96
96
  exe_suffix = Packager::PatchHelpers.exe_suffix(os_type)
97
97
  src_name = File.join(src_dir, "ruby#{exe_suffix}")
98
98
  patchelf(src_name, patchelf)
@@ -149,19 +149,12 @@ module Tebako
149
149
  end
150
150
 
151
151
  # Stash
152
- # Saves pristine Ruby environment that is used to deploy applications for packaging
153
- def stash(src_dir, stash_dir)
152
+ # Created and saves pristine Ruby environment that is used to deploy applications for packaging
153
+ def stash(src_dir, stash_dir, ruby_source_dir, ruby_ver)
154
154
  puts "-- Running stash script"
155
- # .... this code snippet is executed 'outside' of Ruby scripts
156
- # shall be reconsidered
157
- # FileUtils.cd ruby_source_dir do
158
- # puts " ... creating pristine ruby environment at #{src_dir} [patience, it will take some time]"
159
- # out, st = Open3.capture2e("cmake", "-E", "chdir", ruby_source_dir, "make", "install")
160
- # print out if st.exitstatus != 0 || verbose
161
- # raise Tebako::Error.new("stash [make install] failed with code #{st.exitstatus}") if st.exitstatus != 0
162
- # end
163
-
164
- puts " ... saving pristine ruby environment to #{stash_dir}"
155
+ RubyBuilder.new(ruby_ver, ruby_source_dir).toolchain_build
156
+
157
+ puts " ... saving pristine Ruby environment to #{stash_dir}"
165
158
  PatchHelpers.recreate(stash_dir)
166
159
  FileUtils.cp_r "#{src_dir}/.", stash_dir
167
160
  end
@@ -41,7 +41,16 @@ module Tebako
41
41
  end
42
42
 
43
43
  # Final build of tebako package
44
- def final_build
44
+ def toolchain_build
45
+ puts " ... building toolchain Ruby"
46
+ Dir.chdir(@src_dir) do
47
+ BuildHelpers.run_with_capture(["make", "-j#{@ncores}"])
48
+ BuildHelpers.run_with_capture(["make", "install", "-j#{@ncores}"])
49
+ end
50
+ end
51
+
52
+ # Final build of tebako package
53
+ def target_build
45
54
  puts " ... building tebako package"
46
55
  Dir.chdir(@src_dir) do
47
56
  BuildHelpers.run_with_capture(["make", "ruby", "-j#{@ncores}"]) if @ruby_ver.ruby3x?
@@ -26,5 +26,5 @@
26
26
  # POSSIBILITY OF SUCH DAMAGE.
27
27
 
28
28
  module Tebako
29
- VERSION = "0.12.2"
29
+ VERSION = "0.12.4"
30
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tebako
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.2
4
+ version: 0.12.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-01-15 00:00:00.000000000 Z
11
+ date: 2025-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor