tebako 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CMakeLists.txt +13 -10
- data/README.adoc +24 -10
- data/lib/tebako/cli_helpers.rb +12 -2
- data/lib/tebako/version.rb +1 -1
- data/version.txt +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: edab24288967cc4085b927ef069adab649b24282a6cc320a595bc2b20cb636e9
|
4
|
+
data.tar.gz: 7964a2bcf62cf28d4cd34ee1f1744afe21980e934a4fa1a649f0b854b15b1ca3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a77dc3a2c810aad7597cab4a3d5a8f3c6378d2f9313e129edf17097700a0210eb9008b73bb5402921af53e5cccf450602865b4cc1518e5f8a2fd0e34e15163c
|
7
|
+
data.tar.gz: 40b417b5bb8e13e40618015d04f5f3c085bc08325d798bba5fb1cf6c43c0e44daef392755473f2110cb21c95134dcee24c6559933226eee0f41a5f9fc074d602
|
data/CMakeLists.txt
CHANGED
@@ -117,6 +117,7 @@ set(IS_MSYS OFF)
|
|
117
117
|
set(IS_DARWIN OFF)
|
118
118
|
set(RB_W32 OFF)
|
119
119
|
set(FORCE_RUBY_PLATFORM "false")
|
120
|
+
set(NOKOGIRI_OPTION "--no-use-system-libraries")
|
120
121
|
set(RUBY_WITHOUT_EXT "dbm,win32,win32ole")
|
121
122
|
set(RUBY_NAME "ruby")
|
122
123
|
set(RUBY_SUFFIX "")
|
@@ -132,6 +133,7 @@ if("${OSTYPE_TXT}" MATCHES "^linux-musl.*")
|
|
132
133
|
elseif("${OSTYPE_TXT}" MATCHES "^msys*")
|
133
134
|
set(IS_MSYS ON)
|
134
135
|
set(FORCE_RUBY_PLATFORM "true")
|
136
|
+
set(NOKOGIRI_OPTION "--use-system-libraries")
|
135
137
|
# set(DWARFS_PRELOAD ON)
|
136
138
|
set(RB_W32 ON)
|
137
139
|
set(RUBY_WITHOUT_EXT "dbm,syslog,pty,gdbm,readline")
|
@@ -368,6 +370,7 @@ message(STATUS "Ruby build ${C_FLAGS_DEST}='${RUBY_C_FLAGS}'")
|
|
368
370
|
message(STATUS "Ruby build LDFLAGS='${RUBY_L_FLAGS}'")
|
369
371
|
message(STATUS "openssl Ruby option='${OPENSSL_RUBY_OPTION}'")
|
370
372
|
message(STATUS "libyaml Ruby option='${LIBYAML_RUBY_OPTION}'")
|
373
|
+
message(STATUS "nokogiri build option='${NOKOGIRI_OPTION}'")
|
371
374
|
|
372
375
|
ExternalProject_Add(${RUBY_PRJ}
|
373
376
|
PREFIX ${DEPS}
|
@@ -438,7 +441,7 @@ else (${SETUP_MODE})
|
|
438
441
|
COMMAND ${CMAKE_COMMAND} -E chdir ${DATA_PRE_DIR} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
439
442
|
${TBD}/bundle${BAT_SUFFIX} config set --local build.ffi --disable-system-libffi
|
440
443
|
COMMAND ${CMAKE_COMMAND} -E chdir ${DATA_PRE_DIR} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
441
|
-
${TBD}/bundle${BAT_SUFFIX} config set --local build.nokogiri
|
444
|
+
${TBD}/bundle${BAT_SUFFIX} config set --local build.nokogiri ${NOKOGIRI_OPTION}
|
442
445
|
COMMAND ${CMAKE_COMMAND} -E chdir ${DATA_PRE_DIR} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
443
446
|
${TBD}/bundle${BAT_SUFFIX} config set --local force_ruby_platform ${FORCE_RUBY_PLATFORM}
|
444
447
|
COMMAND ${CMAKE_COMMAND} -E chdir ${DATA_PRE_DIR} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
@@ -480,16 +483,16 @@ else (${SETUP_MODE})
|
|
480
483
|
COMMAND test -f ${FS_ROOT}/${FS_ENTRANCE} ||
|
481
484
|
(${CMAKE_COMMAND} -E echo "Entry point ${FS_ROOT}/${FS_ENTRANCE} does not exist or is not accessible" &&
|
482
485
|
${CMAKE_COMMAND} -E false )
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
486
|
+
COMMAND ${CMAKE_COMMAND} -E make_directory ${TLD}
|
487
|
+
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${FS_ROOT} -DTARGET_DIR=${TLD} -P ${CMAKE_SOURCE_DIR}/cmake/copy_dir.cmake
|
488
|
+
COMMAND ${CMAKE_COMMAND} -E chdir ${TLD} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
489
|
+
${TBD}/bundle${BAT_SUFFIX} config set --local build.ffi --disable-system-libffi
|
490
|
+
COMMAND ${CMAKE_COMMAND} -E chdir ${TLD} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
491
|
+
${TBD}/bundle${BAT_SUFFIX} config set --local build.nokogiri ${NOKOGIRI_OPTION}
|
492
|
+
COMMAND ${CMAKE_COMMAND} -E chdir ${TLD} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
493
|
+
${TBD}/bundle${BAT_SUFFIX} config set --local force_ruby_platform ${FORCE_RUBY_PLATFORM}
|
487
494
|
COMMAND ${CMAKE_COMMAND} -E chdir ${TLD} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
488
|
-
|
489
|
-
COMMAND ${CMAKE_COMMAND} -E chdir ${TLD} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
490
|
-
${TBD}/bundle${BAT_SUFFIX} config set --local force_ruby_platform ${FORCE_RUBY_PLATFORM}
|
491
|
-
COMMAND ${CMAKE_COMMAND} -E chdir ${TLD} ${CMAKE_COMMAND} -E env --unset=GEM_HOME --unset=GEM_PATH TEBAKO_PASS_THROUGH=1
|
492
|
-
${TBD}/bundle${BAT_SUFFIX} install --jobs=${NCORES}
|
495
|
+
${TBD}/bundle${BAT_SUFFIX} install --jobs=${NCORES}
|
493
496
|
# COMMAND_EXPAND_LISTS
|
494
497
|
# [TODO] Open question - how to deploy a project to source filesystem
|
495
498
|
# ruby packer does bundle install --deployment --binstubs
|
data/README.adoc
CHANGED
@@ -119,7 +119,7 @@ apk --no-cache --upgrade add build-base cmake git bash autoconf boost-static \
|
|
119
119
|
brotli-static jemalloc-dev fmt-dev xz-static
|
120
120
|
----
|
121
121
|
|
122
|
-
=== macOS 12 (Monterey)
|
122
|
+
=== macOS 12 (Monterey) through macOS 14 (Sonoma)
|
123
123
|
|
124
124
|
[source,sh]
|
125
125
|
----
|
@@ -211,6 +211,23 @@ gem install tebako
|
|
211
211
|
gem install tebako
|
212
212
|
----
|
213
213
|
|
214
|
+
=== Tebako Root Folder (aka Prefix) Selection
|
215
|
+
|
216
|
+
The prefix in Tebako determines the base directory for the Tebako setup. It is an essential part of configuring how Tebako operates within your system.
|
217
|
+
The selection of the prefix follows a specific order of precedence to ensure flexibility and ease of use:
|
218
|
+
|
219
|
+
. *User-Specified Prefix*: The most direct way to set the root folder is by specifying it through an option. This can be done via command-line argument.
|
220
|
+
|
221
|
+
. *Current Working Directory (PWD)*: If the prefix option is explicitly set to "PWD", Tebako uses the current working directory as Tebako root folder.
|
222
|
+
|
223
|
+
. *Environment Variable (TEBAKO_PREFIX)*: In the absence of a user-specified option, Tebako looks for an environment variable named `TEBAKO_PREFIX`. If found, its value is used as the root folder.
|
224
|
+
|
225
|
+
. *Default Value*: If no prefix is specified and the `TEBAKO_DIR` environment variable is not set, Tebako defaults to using a directory named `.tebako` in the user's home directory.
|
226
|
+
|
227
|
+
|
228
|
+
Path Expansion: Regardless of the method used to set the prefix, Tebako expands the provided path to an absolute path. This expansion includes resolving relative paths based on the current working
|
229
|
+
directory and expanding user directory shortcuts like `~`.
|
230
|
+
|
214
231
|
==== Press
|
215
232
|
|
216
233
|
This command "presses" a Ruby project using the Tebako setup from the Tebako root
|
@@ -227,7 +244,7 @@ cmmands below.
|
|
227
244
|
----
|
228
245
|
tebako press \
|
229
246
|
[-p|--prefix=<tebako-root-folder>] \
|
230
|
-
[-R|--Ruby=<2.7.8|3.0.
|
247
|
+
[-R|--Ruby=<2.7.8|3.0.7|3.1.4|3.1.5|3.1.6|3.2.3|3.2.4>] \
|
231
248
|
-r|--root=<project-root-folder> \
|
232
249
|
-e|--entry-point=<entry-point> \
|
233
250
|
[-o|--output=<packaged file name>] \
|
@@ -236,10 +253,9 @@ tebako press \
|
|
236
253
|
|
237
254
|
Where:
|
238
255
|
|
239
|
-
* `<tebako-root-folder>`, the Tebako
|
240
|
-
folder)
|
256
|
+
* `<tebako-root-folder>`, the Tebako root folder (see details in the Tebako Root Folder Selection section)
|
241
257
|
|
242
|
-
* `Ruby` parameter defines Ruby version that will be packaged (optional, defaults to 3.1.
|
258
|
+
* `Ruby` parameter defines Ruby version that will be packaged (optional, defaults to 3.1.6)
|
243
259
|
|
244
260
|
* `<project-root>`, a folder at the host source file system where project files
|
245
261
|
are located
|
@@ -284,8 +300,7 @@ tebako setup \
|
|
284
300
|
|
285
301
|
Where:
|
286
302
|
|
287
|
-
* `<tebako-root-folder>`, the Tebako
|
288
|
-
folder)
|
303
|
+
* `<tebako-root-folder>`, the Tebako root folder (see details in the Tebako Root Folder Selection section)
|
289
304
|
|
290
305
|
* `Ruby` parameter defines Ruby version that will be packaged (optional, defaults to 3.1.6)
|
291
306
|
|
@@ -302,8 +317,7 @@ tebako clean \
|
|
302
317
|
|
303
318
|
Where:
|
304
319
|
|
305
|
-
* `<tebako-root-folder>`, the Tebako
|
306
|
-
folder)
|
320
|
+
* `<tebako-root-folder>`, the Tebako root folder (see details in the Tebako Root Folder Selection section)
|
307
321
|
|
308
322
|
[example]
|
309
323
|
====
|
@@ -322,7 +336,7 @@ Normally you do not need to do it since tebako packager optimizes artifacts life
|
|
322
336
|
----
|
323
337
|
tebako clean_ruby
|
324
338
|
[-p|--prefix=<tebako-root-folder>]
|
325
|
-
[-R|--Ruby=<2.7.8|3.0.
|
339
|
+
[-R|--Ruby=<2.7.8|3.0.7|3.1.4|3.1.5|3.1.6|3.2.3|3.2.4>]
|
326
340
|
----
|
327
341
|
|
328
342
|
Where:
|
data/lib/tebako/cli_helpers.rb
CHANGED
@@ -115,10 +115,20 @@ module Tebako
|
|
115
115
|
end
|
116
116
|
end
|
117
117
|
|
118
|
+
def handle_nil_prefix
|
119
|
+
env_prefix = ENV.fetch("TEBAKO_PREFIX", nil)
|
120
|
+
if env_prefix.nil?
|
121
|
+
puts "No prefix specified, using ~/.tebako"
|
122
|
+
File.expand_path("~/.tebako")
|
123
|
+
else
|
124
|
+
puts "Using TEBAKO_PREFIX environment variable as prefix"
|
125
|
+
File.expand_path(env_prefix)
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
118
129
|
def prefix
|
119
130
|
@prefix ||= if options["prefix"].nil?
|
120
|
-
|
121
|
-
File.expand_path("~/.tebako")
|
131
|
+
handle_nil_prefix
|
122
132
|
elsif options["prefix"] == "PWD"
|
123
133
|
Dir.pwd
|
124
134
|
else
|
data/lib/tebako/version.rb
CHANGED
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.1
|
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.7.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-06-
|
11
|
+
date: 2024-06-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|