galaaz 2.1.10.pre.9 → 2.1.10.pre.10

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: 581406d58b67e2d86faf8bf90147b41b2e007717c616ec6729c1564bdfdb2a05
4
- data.tar.gz: 28bf5eaf5a53824f952efa110850f419f10906ab8b82d1f976c095b9b8e4b648
3
+ metadata.gz: 6c17cdef4fee4cef82633cf115d082b71a23f8bc6c837a144cb9377113b4b86a
4
+ data.tar.gz: 667874709ce613f990909eea6d952270c26019df5d0a21492addcb752c5cae4e
5
5
  SHA512:
6
- metadata.gz: 8426a17da8b08bbf5615b5c4c770fdd1d82f4fb9a91efd74940ed89ee14d89fad37827ca4fe3d008ab4359c95ab8fc362b05b478c8818e67697df0554c49e7f0
7
- data.tar.gz: 243175fd0307965e82c5ad6d2fbb9462319f1f1e9ed36171dce80cb4952ae2cc509d6d7beeb8af9922e48b50147c8496373a1ed4d5d7fb1ca3441983604beea0
6
+ metadata.gz: e48c834304c88e05905e7a33a5e3bedb8e11447459cfa5688c70848fb475b17ce115de36440a75106508bebba858eab3c73757aab7a6f8614e7292428df34711
7
+ data.tar.gz: 1111967bc3b3b7ac1de61209889015e5ba5fb3a9bd8a39d983e52273aa9a1f7e2388fcd9b18568a888ad927c6e87cb5df70e7d049ebc6d20184cfa2dadece36c
data/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 2.1.10.pre.10
6
+
7
+ ### Changed
8
+
9
+ - Omarchy: split Arrow menu into **Arrow (R only)** (`galaaz add arrow-r`) and
10
+ **Arrow (Ruby)** (`galaaz add arrow-ruby`). Ruby install always ensures R only
11
+ first; no Stage A/B labels in the UI. Legacy `galaaz add arrow` aliases to
12
+ `arrow-ruby`. Ledger/demo pull `arrow-ruby`. Guide, doctor, and Arrow debug
13
+ use the same wording. Examples tree ships `examples/README.md` with run hints.
14
+
5
15
  ## 2.1.10.pre.9
6
16
 
7
17
  ### Fixed
@@ -0,0 +1,81 @@
1
+ # Galaaz examples
2
+
3
+ Copied here by `galaaz add examples` (default: `~/galaaz-examples`).
4
+
5
+ These are Ruby scripts that use the **installed `galaaz` gem** and GNU R. From a
6
+ git checkout you can also use `bin/run_example` / `bin/galaaz-ruby`; after a gem
7
+ install on Omarchy, use plain `ruby` as below.
8
+
9
+ ## Prerequisites
10
+
11
+ ```bash
12
+ galaaz doctor # setup OK, gatekeeper, Rcpp
13
+ # plots: galaaz add knit (ggplot2 and friends)
14
+ # Arrow IPC: galaaz add arrow (Stage A/B)
15
+ # Bio: galaaz add bio (DESeq2 / airway)
16
+ ```
17
+
18
+ If you built Arrow GLib under `/usr/local` (Omarchy Stage B):
19
+
20
+ ```bash
21
+ source ~/.config/galaaz/arrow-env.sh # or open a new shell after menu Arrow
22
+ ```
23
+
24
+ Graphical examples need a display (Omarchy Wayland session is fine).
25
+
26
+ ## Run a script (gem / Omarchy)
27
+
28
+ ```bash
29
+ cd ~/galaaz-examples
30
+
31
+ # small / misc
32
+ ruby misc/subsetting.rb
33
+ ruby misc/ggplot.rb
34
+
35
+ # ISLR chapter demos (installs ISLR/MASS on first run)
36
+ ruby islr/ch3_boston.rb
37
+
38
+ # ggplot gallery (many windows / plots)
39
+ ruby sthda_ggplot/one_variable_continuous/geom_density.rb
40
+ ruby sthda_ggplot/all.rb
41
+
42
+ # Bioconductor walkthrough (needs galaaz add bio)
43
+ ruby bioconductor_deseq2_airway/deseq2_airway_galaaz.rb
44
+
45
+ # Arrow shard handoff sketch (needs arrow)
46
+ ruby multithread_shards_to_r/shards_to_r.rb
47
+ ```
48
+
49
+ Under **mise**:
50
+
51
+ ```bash
52
+ mise x ruby -- ruby ~/galaaz-examples/misc/ggplot.rb
53
+ ```
54
+
55
+ ## Layout
56
+
57
+ | Directory | What |
58
+ |-----------|------|
59
+ | `misc/` | Short demos (subsetting, ggplot, moneyball) |
60
+ | `islr/` | ISLR book chapter scripts / specs |
61
+ | `sthda_ggplot/` | ggplot2 gallery (see `sthda_ggplot/README.md`, `RUN.md`) |
62
+ | `bioconductor_deseq2_airway/` | DESeq2 airway pipeline |
63
+ | `multithread_shards_to_r/` | Parallel shards → R / Arrow sketch |
64
+ | `rmarkdown/`, `latex_templates/` | Knit / LaTeX template samples (`gknit`) |
65
+ | `50Plots_MasterList/` | Extra plot scripts |
66
+
67
+ ## From a Galaaz git checkout
68
+
69
+ ```bash
70
+ bin/run_example examples/misc/ggplot.rb
71
+ bin/galaaz-ruby examples/bioconductor_deseq2_airway/deseq2_airway_galaaz.rb
72
+ # JRuby:
73
+ GALAAZ_RUBY=jruby bin/run_example examples/sthda_ggplot/all.rb
74
+ ```
75
+
76
+ ## Troubleshooting
77
+
78
+ - `cannot load such file -- galaaz` → `gem install galaaz` (or `gem list galaaz`)
79
+ - `Typelib file for namespace 'Arrow'` → `source ~/.config/galaaz/arrow-env.sh`
80
+ - Missing R packages → script often calls `R.install_and_loads`; or `galaaz add knit` / `bio`
81
+ - No plot window → run inside a graphical session, not a bare SSH TTY
data/lib/galaaz/cli.rb CHANGED
@@ -11,7 +11,7 @@ module Galaaz
11
11
  BLOG_NAMES = %w[
12
12
  oh_my gknit galaaz_ggplot galaaz_2_0 r_on_rails_ledger manual nse_dplyr ruby_plot
13
13
  ].freeze
14
- PROFILES = %w[knit arrow tex bio examples ledger demo].freeze
14
+ PROFILES = %w[knit arrow-r arrow-ruby arrow tex bio examples ledger demo].freeze
15
15
  CONFIG_DIR = File.join(Dir.home, '.config', 'galaaz')
16
16
  PROFILES_DIR = File.join(CONFIG_DIR, 'profiles')
17
17
  DEFAULT_BLOGS_DIR = File.join(Dir.home, 'galaaz-blogs')
@@ -508,14 +508,18 @@ module Galaaz
508
508
  false
509
509
  end
510
510
 
511
- puts " arrow C++: #{arrow_cpp ? "OK (#{arrow_cpp_ver})" : 'MISSING (Omarchy: menu Arrow installs Arch arrow)'}"
512
- puts " arrow-glib: #{arrow_glib ? "OK (#{arrow_glib_ver})" : 'MISSING (needed for Stage B / red-arrow)'}"
513
- puts " R arrow: #{r_arrow ? 'OK' : 'MISSING (Stage A)'}"
514
- puts " red-arrow: #{red ? 'OK' : 'MISSING (Stage B CRuby writer)'}"
511
+ puts " arrow C++: #{arrow_cpp ? "OK (#{arrow_cpp_ver})" : 'MISSING (Omarchy: menu Arrow (Ruby) installs Arch arrow)'}"
512
+ puts " arrow-glib: #{arrow_glib ? "OK (#{arrow_glib_ver})" : 'MISSING (needed for Arrow (Ruby) / red-arrow)'}"
513
+ puts " R arrow: #{r_arrow ? 'OK' : 'MISSING (menu: Arrow (R only))'}"
514
+ puts " red-arrow: #{red ? 'OK' : 'MISSING (menu: Arrow (Ruby))'}"
515
515
  if listed_profiles.include?('arrow') && !(arrow_glib && (RUBY_ENGINE != 'ruby' || red))
516
- puts ' arrow tip: profiles/arrow is set but Stage B incomplete — menu Arrow is disabled.'
517
- puts ' rm ~/.config/galaaz/profiles/arrow then re-run menu Arrow,'
516
+ puts ' arrow tip: legacy profiles/arrow set but Ruby bridge incomplete —'
517
+ puts ' rm ~/.config/galaaz/profiles/arrow ~/.config/galaaz/profiles/arrow-ruby'
518
+ puts ' then: omarchy-galaaz-add arrow-ruby'
518
519
  puts ' or: omarchy-galaaz-arrow-debug status'
520
+ elsif listed_profiles.include?('arrow-ruby') && !(arrow_glib && (RUBY_ENGINE != 'ruby' || red))
521
+ puts ' arrow tip: profiles/arrow-ruby set but bridge incomplete —'
522
+ puts ' rm ~/.config/galaaz/profiles/arrow-ruby && omarchy-galaaz-add arrow-ruby'
519
523
  end
520
524
  end
521
525
 
@@ -618,7 +622,9 @@ module Galaaz
618
622
 
619
623
  case profile
620
624
  when 'knit' then add_knit
621
- when 'arrow' then add_arrow
625
+ when 'arrow-r' then add_arrow_r
626
+ when 'arrow-ruby' then add_arrow_ruby
627
+ when 'arrow' then add_arrow_ruby # alias: full Ruby bridge (includes R)
622
628
  when 'tex' then add_tex
623
629
  when 'bio' then add_bio
624
630
  when 'examples' then add_examples
@@ -627,7 +633,7 @@ module Galaaz
627
633
  end
628
634
 
629
635
  def add_demo
630
- %w[knit arrow ledger].each do |p|
636
+ %w[knit arrow-ruby ledger].each do |p|
631
637
  code = cmd_add([p])
632
638
  return code unless code.zero?
633
639
  end
@@ -671,15 +677,36 @@ module Galaaz
671
677
  0
672
678
  end
673
679
 
674
- def add_arrow
675
- # R 'arrow' needs a matching libarrow. Compiling Arrow C++ + Boost from the
676
- # CRAN source tarball is fragile (especially Arch/Omarchy). Distro libarrow
677
- # (e.g. Arch extra/arrow) often mismatches the CRAN package major and then
678
- # pkg-config configure fails. Apache's version-matched prebuilt libarrow is
679
- # the reliable automated path — HTTPS from Apache, no interactive steps.
680
+ # Arrow (R only): CRAN arrow via Apache prebuilt libarrow.
681
+ def add_arrow_r
682
+ if profile_marked?('arrow-r') && r_namespace?('arrow')
683
+ puts 'galaaz add arrow-r: already installed'
684
+ return 0
685
+ end
680
686
  prepare_arrow_cran_env!
681
687
  pkgs = read_pkg_list('arrow.txt')
682
688
  install_cran!(pkgs)
689
+ mark_profile!('arrow-r')
690
+ puts 'galaaz add arrow-r: OK (R only)'
691
+ 0
692
+ end
693
+
694
+ # Arrow (Ruby): R arrow first, then arrow-glib + red-arrow (CRuby) / JARs tip (JRuby).
695
+ def add_arrow_ruby
696
+ if profile_marked?('arrow-ruby') &&
697
+ (RUBY_ENGINE != 'ruby' || begin
698
+ Gem::Specification.find_by_name('red-arrow')
699
+ true
700
+ rescue Gem::LoadError
701
+ false
702
+ end)
703
+ puts 'galaaz add arrow-ruby: already installed'
704
+ return 0
705
+ end
706
+
707
+ code = add_arrow_r
708
+ return code unless code.zero?
709
+
683
710
  if RUBY_ENGINE == 'ruby'
684
711
  ENV['GI_TYPELIB_PATH'] = [
685
712
  '/usr/local/lib/girepository-1.0',
@@ -698,27 +725,29 @@ module Galaaz
698
725
  ].compact.reject(&:empty?).join(File::PATH_SEPARATOR)
699
726
  glib_ok = system('pkg-config', '--exists', 'arrow-glib')
700
727
  if glib_ok
701
- puts 'galaaz add arrow: gem install red-arrow (CRuby Stage B writer; MAKEFLAGS=-j1)'
728
+ puts 'galaaz add arrow-ruby: gem install red-arrow (MAKEFLAGS=-j1)'
702
729
  ok = system({ 'MAKEFLAGS' => '-j1', 'PKG_CONFIG_PATH' => ENV['PKG_CONFIG_PATH'] },
703
730
  'gem', 'install', 'red-arrow', '--no-document')
704
731
  unless ok
705
- warn 'galaaz add arrow: red-arrow gem install failed. R arrow is installed; ' \
732
+ warn 'galaaz add arrow-ruby: red-arrow gem install failed. R arrow is installed; ' \
706
733
  'Ruby IPC writer may be unavailable.'
707
- warn 'galaaz add arrow: profile NOT marked — fix Stage B then re-run ' \
734
+ warn 'galaaz add arrow-ruby: profile NOT marked — fix then re-run ' \
708
735
  '(omarchy-galaaz-arrow-debug status)'
709
736
  return 1
710
737
  end
711
738
  else
712
- warn 'galaaz add arrow: arrow-glib not found (pkg-config); skipping red-arrow. ' \
713
- 'On Omarchy use omarchy-galaaz-add arrow so Stage B GLib is built first.'
714
- warn 'galaaz add arrow: profile NOT marked (Stage B incomplete)'
739
+ warn 'galaaz add arrow-ruby: arrow-glib not found (pkg-config); skipping red-arrow. ' \
740
+ 'On Omarchy use: omarchy-galaaz-add arrow-ruby (builds GLib first).'
741
+ warn 'galaaz add arrow-ruby: profile NOT marked'
715
742
  return 1
716
743
  end
717
744
  else
718
- warn 'galaaz add arrow: on JRuby, set GALAAZ_ARROW_JARS (or ~/arrow_jars) and JAVA_OPTS nio opens for Arrow Java'
745
+ warn 'galaaz add arrow-ruby: on JRuby, set GALAAZ_ARROW_JARS (or ~/arrow_jars) ' \
746
+ 'and JAVA_OPTS nio opens for Arrow Java'
719
747
  end
720
- mark_profile!('arrow')
721
- puts 'galaaz add arrow: OK'
748
+ mark_profile!('arrow-ruby')
749
+ mark_profile!('arrow') # legacy marker (older menus / scripts)
750
+ puts 'galaaz add arrow-ruby: OK'
722
751
  0
723
752
  end
724
753
 
@@ -730,7 +759,7 @@ module Galaaz
730
759
  ENV['LIBARROW_BUILD'] = 'false'
731
760
  # Avoid linking against a mismatched system libarrow (e.g. pacman 24.x vs CRAN 25.x).
732
761
  ENV['ARROW_USE_PKG_CONFIG'] = 'false'
733
- puts 'galaaz add arrow: LIBARROW_BINARY=true (Apache prebuilt libarrow; no source build)'
762
+ puts 'galaaz add arrow-r: LIBARROW_BINARY=true (Apache prebuilt libarrow; no source build)'
734
763
  end
735
764
 
736
765
  def add_tex
@@ -784,13 +813,17 @@ module Galaaz
784
813
  File.write(File.join(dest, EXAMPLES_MARKER), "galaaz add examples\n")
785
814
  mark_profile!('examples')
786
815
  puts "galaaz add examples: #{dest}"
816
+ puts 'Try:'
817
+ puts " ruby #{File.join(dest, 'misc', 'ggplot.rb')}"
818
+ puts " ruby #{File.join(dest, 'sthda_ggplot', 'one_variable_continuous', 'geom_density.rb')}"
819
+ puts " less #{File.join(dest, 'README.md')}"
787
820
  0
788
821
  end
789
822
 
790
823
  def add_ledger
791
- unless profile_marked?('arrow') || r_namespace?('arrow')
792
- puts 'galaaz add ledger: installing arrow profile first'
793
- code = add_arrow
824
+ unless profile_marked?('arrow-ruby') || profile_marked?('arrow')
825
+ puts 'galaaz add ledger: installing arrow-ruby first (includes Arrow R only)'
826
+ code = add_arrow_ruby
794
827
  return code unless code.zero?
795
828
  end
796
829
 
@@ -73,14 +73,16 @@ Core configures **setup + blogs + doctor** using the gem you already installed
73
73
  (it does **not** run `gem install` again). It fails if the gatekeeper `.so` is
74
74
  missing — “gem installed” alone is not success.
75
75
 
76
- 4. After core finishes, the same submenu shows Knit / Arrow / TeX / Bio / Examples / Ledger.
76
+ 4. After core finishes, the same submenu shows Knit / Arrow (R only) / Arrow (Ruby) /
77
+ TeX / Bio / Examples / Ledger.
77
78
 
78
79
  5. **Ledger (required dogfood / pitch):** Install → Development → **Galaaz → Ledger**
79
- (or `omarchy-galaaz-add ledger` / `galaaz add ledger`). That pulls **arrow** if
80
- needed using Apache’s **LIBARROW_BINARY** prebuilt libarrow (no manual steps;
81
- Arch `pacman` arrow is not used for the R package — version skew breaks
82
- configure), clones `~/r_on_rails_ledger`, rewrites any `path:` gem to RubyGems
83
- galaaz, then `bundle install` + fast seed.
80
+ (or `omarchy-galaaz-add ledger` / `galaaz add ledger`). That pulls **arrow-ruby**
81
+ if needed (Arrow R only first, then arrow-glib / red-arrow). R’s CRAN arrow uses
82
+ Apache’s **LIBARROW_BINARY** prebuilt libarrow (no manual steps; Arch `pacman`
83
+ arrow is not used for the R package — version skew breaks configure), clones
84
+ `~/r_on_rails_ledger`, rewrites any `path:` gem to RubyGems galaaz, then
85
+ `bundle install` + fast seed.
84
86
 
85
87
  **Knit / TeX pandoc:** the add wrapper does **not** install Arch `pandoc` /
86
88
  `pandoc-cli` (Haskell mega-deps; often fails on TryOmarchy). It uses
@@ -3,13 +3,13 @@
3
3
  # - Installs system deps the gem cannot (e.g. pandoc for knit)
4
4
  # - Keeps the TUI open on success/failure so errors are readable
5
5
  #
6
- # Usage: omarchy-galaaz-add knit|arrow|tex|bio|examples|ledger|demo
6
+ # Usage: omarchy-galaaz-add knit|arrow-r|arrow-ruby|arrow|tex|bio|examples|ledger|demo
7
7
  set -euo pipefail
8
8
 
9
9
  PROFILE="${1:-}"
10
10
  if [[ -z "${PROFILE}" ]]; then
11
11
  echo "Usage: omarchy-galaaz-add <profile>"
12
- echo "Profiles: knit arrow tex bio examples ledger demo"
12
+ echo "Profiles: knit arrow-r arrow-ruby arrow tex bio examples ledger demo"
13
13
  exit 1
14
14
  fi
15
15
 
@@ -157,7 +157,7 @@ EOF
157
157
  echo "arrow runtime env: ${dest}"
158
158
  }
159
159
 
160
- # red-arrow (Stage B) needs pkg-config "arrow" + "arrow-glib" at the same version.
160
+ # red-arrow (Arrow Ruby) needs pkg-config "arrow" + "arrow-glib" at the same version.
161
161
  # Arch ships C++ Arrow but not Arrow GLib. We build only c_glib from the Apache
162
162
  # tarball against pacman arrow — with a *slim* PKG_CONFIG_PATH so meson does not
163
163
  # also link flight/dataset/parquet (those explode RAM on TryOmarchy and kill the TUI).
@@ -180,7 +180,7 @@ ensure_arrow_for_red_arrow() {
180
180
 
181
181
  : >"${trace_log}"
182
182
  atracel "ensure_arrow_for_red_arrow start"
183
- echo "==> system: Apache Arrow C++ + GLib (Stage B / red-arrow)"
183
+ echo "==> system: Apache Arrow C++ + GLib (Arrow Ruby / red-arrow)"
184
184
  echo " build log: ${log}"
185
185
  echo " trace log: ${trace_log}"
186
186
 
@@ -389,10 +389,17 @@ case "${PROFILE}" in
389
389
  pause 1
390
390
  fi
391
391
  ;;
392
- arrow|ledger|demo)
393
- # R package arrow: do NOT link pacman arrow (version skew vs CRAN)
394
- # LIBARROW_BINARY uses Apache's version-matched prebuilt. pacman arrow +
395
- # built arrow-glib are only for CRuby red-arrow (Stage B).
392
+ arrow-r)
393
+ # R package arrow only Apache prebuilt libarrow (no system GLib / red-arrow).
394
+ export LIBARROW_BINARY=true
395
+ export NOT_CRAN=true
396
+ export LIBARROW_BUILD=false
397
+ export ARROW_USE_PKG_CONFIG=false
398
+ echo "==> arrow env: LIBARROW_BINARY=true LIBARROW_BUILD=false ARROW_USE_PKG_CONFIG=false"
399
+ ;;
400
+ arrow-ruby|arrow|ledger|demo)
401
+ # Arrow (Ruby) needs R arrow first, then pacman arrow + arrow-glib + red-arrow.
402
+ # LIBARROW_* is for CRAN R arrow; pacman arrow + glib are for the Ruby gem only.
396
403
  export LIBARROW_BINARY=true
397
404
  export NOT_CRAN=true
398
405
  export LIBARROW_BUILD=false
@@ -7,7 +7,7 @@
7
7
  # omarchy-galaaz-arrow-debug status
8
8
  # omarchy-galaaz-arrow-debug probe # light checks + write report
9
9
  # omarchy-galaaz-arrow-debug last-log # show build log tails + dmesg OOM
10
- # omarchy-galaaz-arrow-debug install # run omarchy-galaaz-add arrow with tracing
10
+ # omarchy-galaaz-arrow-debug install # run omarchy-galaaz-add arrow-ruby with tracing
11
11
  #
12
12
  # Report: ~/.local/share/galaaz/arrow-debug.log
13
13
  set -uo pipefail
@@ -71,7 +71,7 @@ run_status() {
71
71
  if pkg-config --exists arrow-glib; then
72
72
  trace "OK arrow-glib: $(pkg-config --modversion arrow-glib)"
73
73
  else
74
- trace "MISS arrow-glib (Stage B GLib required for red-arrow)"
74
+ trace "MISS arrow-glib (needed for Arrow (Ruby) / red-arrow)"
75
75
  fi
76
76
  fi
77
77
 
@@ -89,10 +89,18 @@ run_status() {
89
89
 
90
90
  section "galaaz profile markers"
91
91
  ls -la "${HOME}/.config/galaaz/profiles/" 2>/dev/null | tee -a "${REPORT}" || trace "no profiles dir"
92
+ if [[ -f "${HOME}/.config/galaaz/profiles/arrow-r" ]]; then
93
+ trace "OK profiles/arrow-r (Arrow R only) — menu row disabled"
94
+ else
95
+ trace "MISS profiles/arrow-r"
96
+ fi
97
+ if [[ -f "${HOME}/.config/galaaz/profiles/arrow-ruby" ]]; then
98
+ trace "OK profiles/arrow-ruby (Arrow Ruby) — menu row disabled"
99
+ else
100
+ trace "MISS profiles/arrow-ruby"
101
+ fi
92
102
  if [[ -f "${HOME}/.config/galaaz/profiles/arrow" ]]; then
93
- trace "NOTE: profiles/arrow exists → Omarchy menu Arrow row is DISABLED"
94
- trace " If Stage B is incomplete, remove it to re-enable the menu:"
95
- trace " rm ~/.config/galaaz/profiles/arrow"
103
+ trace "NOTE: legacy profiles/arrow also present"
96
104
  fi
97
105
 
98
106
  section "prior build / install logs"
@@ -114,16 +122,16 @@ run_status() {
114
122
  elif have ruby; then
115
123
  ruby -e 'gem "red-arrow"; puts' 2>/dev/null && ra=1 || true
116
124
  fi
117
- trace "Stage A (R arrow): $([[ ${r} -eq 1 ]] && echo OK || echo MISSING)"
125
+ trace "Arrow (R only): $([[ ${r} -eq 1 ]] && echo OK || echo MISSING)"
118
126
  trace "Arrow C++ (pkg-config): $([[ ${a} -eq 1 ]] && echo OK || echo MISSING)"
119
127
  trace "Arrow GLib: $([[ ${g} -eq 1 ]] && echo OK || echo MISSING)"
120
- trace "Stage B (red-arrow): $([[ ${ra} -eq 1 ]] && echo OK || echo MISSING)"
128
+ trace "Arrow (Ruby)/red-arrow:$([[ ${ra} -eq 1 ]] && echo OK || echo MISSING)"
121
129
  if [[ ${r} -eq 1 && ${g} -eq 1 && ${ra} -eq 1 ]]; then
122
- trace "RESULT: Arrow Stage A+B look OK"
130
+ trace "RESULT: Arrow (R only) + Arrow (Ruby) look OK"
123
131
  elif [[ ${r} -eq 1 ]]; then
124
- trace "RESULT: Stage A OK; Stage B incomplete — menu install still needed for GLib/red-arrow"
132
+ trace "RESULT: Arrow (R only) OK; Arrow (Ruby) incomplete — menu: Arrow (Ruby)"
125
133
  else
126
- trace "RESULT: Arrow not fully installed"
134
+ trace "RESULT: Arrow not fully installed — start with menu: Arrow (R only)"
127
135
  fi
128
136
  trace "Full report: ${REPORT}"
129
137
  }
@@ -149,7 +157,7 @@ run_last_log() {
149
157
  }
150
158
 
151
159
  run_install() {
152
- section "traced install via omarchy-galaaz-add arrow"
160
+ section "traced install via omarchy-galaaz-add arrow-ruby"
153
161
  trace "If the terminal dies, re-open a terminal and run:"
154
162
  trace " omarchy-galaaz-arrow-debug last-log"
155
163
  trace " omarchy-galaaz-arrow-debug status"
@@ -161,16 +169,18 @@ run_install() {
161
169
  trace "ERROR: omarchy-galaaz-add missing — run: galaaz omarchy install"
162
170
  return 1
163
171
  fi
164
- # Clear stale profile so menu/add can redo Stage B.
165
- if [[ -f "${HOME}/.config/galaaz/profiles/arrow" ]]; then
166
- trace "removing incomplete/stale profiles/arrow so install can run cleanly"
167
- rm -f "${HOME}/.config/galaaz/profiles/arrow"
168
- fi
172
+ # Clear stale markers so menu/add can redo Arrow (Ruby).
173
+ for m in arrow arrow-ruby; do
174
+ if [[ -f "${HOME}/.config/galaaz/profiles/${m}" ]]; then
175
+ trace "removing incomplete/stale profiles/${m}"
176
+ rm -f "${HOME}/.config/galaaz/profiles/${m}"
177
+ fi
178
+ done
169
179
  export GALAAZ_ARROW_TRACE=1
170
180
  export GALAAZ_ARROW_GLIB_JOBS="${GALAAZ_ARROW_GLIB_JOBS:-1}"
171
- trace "exec: GALAAZ_ARROW_TRACE=1 GALAAZ_ARROW_GLIB_JOBS=${GALAAZ_ARROW_GLIB_JOBS} ${add} arrow"
181
+ trace "exec: GALAAZ_ARROW_TRACE=1 GALAAZ_ARROW_GLIB_JOBS=${GALAAZ_ARROW_GLIB_JOBS} ${add} arrow-ruby"
172
182
  sync
173
- "${add}" arrow
183
+ "${add}" arrow-ruby
174
184
  }
175
185
 
176
186
  pause_end() {
@@ -56,11 +56,14 @@ After: galaaz add knit (Install → Development → Galaaz → Knit)
56
56
  Or from the menu: Knit demo (oh_my)
57
57
 
58
58
  Other add-ons
59
- galaaz add arrow # Apache Arrow
60
- galaaz add ledger # R-on-Rails demo app ~/r_on_rails_ledger && bin/dev
61
- galaaz add examples # Ruby examples → ~/galaaz-examples
62
- galaaz add tex # TinyTeX / PDF (large)
63
- galaaz add bio # Bioconductor DESeq2 (large)
59
+ galaaz add arrow-r # Arrow (R only) — CRAN arrow / Apache prebuilt
60
+ galaaz add arrow-ruby # Arrow (Ruby) installs R only first, then red-arrow
61
+ galaaz add ledger # R-on-Rails demo app → ~/r_on_rails_ledger && bin/dev
62
+ galaaz add examples # Ruby examples ~/galaaz-examples
63
+ # ruby ~/galaaz-examples/misc/ggplot.rb
64
+ # less ~/galaaz-examples/README.md
65
+ galaaz add tex # TinyTeX / PDF (large)
66
+ galaaz add bio # Bioconductor DESeq2 (large)
64
67
 
65
68
  Check: galaaz doctor
66
69
  Menu: Super+Space → Install → Development → Galaaz
@@ -54,19 +54,27 @@
54
54
  "action": "omarchy-launch-tui omarchy-galaaz-add knit",
55
55
  "disabled": "test -f ~/.config/galaaz/profiles/knit"
56
56
  },
57
- "install.development.galaaz.arrow": {
57
+ "install.development.galaaz.arrow-r": {
58
58
  "icon": "\uE90E",
59
59
  "iconFont": "omarchy",
60
- "label": "Arrow",
61
- "description": "R arrow + Stage B (arrow-glib / red-arrow)",
62
- "action": "omarchy-launch-tui omarchy-galaaz-add arrow",
63
- "disabled": "test -f ~/.config/galaaz/profiles/arrow"
60
+ "label": "Arrow (R only)",
61
+ "description": "CRAN arrow via Apache prebuilt libarrow",
62
+ "action": "omarchy-launch-tui omarchy-galaaz-add arrow-r",
63
+ "disabled": "test -f ~/.config/galaaz/profiles/arrow-r -o -f ~/.config/galaaz/profiles/arrow"
64
+ },
65
+ "install.development.galaaz.arrow-ruby": {
66
+ "icon": "\uE90E",
67
+ "iconFont": "omarchy",
68
+ "label": "Arrow (Ruby)",
69
+ "description": "R arrow + arrow-glib / red-arrow (installs R only first)",
70
+ "action": "omarchy-launch-tui omarchy-galaaz-add arrow-ruby",
71
+ "disabled": "test -f ~/.config/galaaz/profiles/arrow-ruby -o -f ~/.config/galaaz/profiles/arrow"
64
72
  },
65
73
  "install.development.galaaz.arrow-debug": {
66
74
  "icon": "\uE90E",
67
75
  "iconFont": "omarchy",
68
76
  "label": "Arrow debug",
69
- "description": "Diagnose Stage A/B; show logs if install crashed",
77
+ "description": "Diagnose R-only / Ruby Arrow; show logs if install crashed",
70
78
  "action": "omarchy-launch-tui omarchy-galaaz-arrow-debug status"
71
79
  },
72
80
  "install.development.galaaz.bio": {
data/version.rb CHANGED
@@ -1,2 +1,2 @@
1
1
  $gem_name = "galaaz"
2
- $version="2.1.10.pre.9"
2
+ $version="2.1.10.pre.10"
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: galaaz
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.10.pre.9
4
+ version: 2.1.10.pre.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Botafogo
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 2026-09-09 00:00:00.000000000 Z
11
+ date: 2026-09-10 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: msgpack
@@ -86,11 +87,11 @@ description: |
86
87
  email: rodrigo.a.botafogo@gmail.com
87
88
  executables:
88
89
  - galaaz
89
- - gbookdown
90
+ - gstudio
90
91
  - gknit
91
- - gknit-draft
92
+ - gbookdown
92
93
  - grun
93
- - gstudio
94
+ - gknit-draft
94
95
  extensions: []
95
96
  extra_rdoc_files: []
96
97
  files:
@@ -250,6 +251,7 @@ files:
250
251
  - examples/Bibliography/stats.bib
251
252
  - examples/R/calc.R
252
253
  - examples/R/java_interop.R
254
+ - examples/README.md
253
255
  - examples/bioconductor_deseq2_airway/Documentation/DESeq2-airway-walkthrough.md
254
256
  - examples/bioconductor_deseq2_airway/bench_galaaz_three_same_process.rb
255
257
  - examples/bioconductor_deseq2_airway/bench_r_three_same_process.R
@@ -549,6 +551,7 @@ metadata:
549
551
  documentation_uri: https://rbotafogo.github.io/galaaz/
550
552
  changelog_uri: https://github.com/rbotafogo/galaaz/blob/galaaz2_0/CHANGELOG.md
551
553
  yard.run: yri
554
+ post_install_message:
552
555
  rdoc_options: []
553
556
  require_paths:
554
557
  - lib
@@ -563,7 +566,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
563
566
  - !ruby/object:Gem::Version
564
567
  version: '0'
565
568
  requirements: []
566
- rubygems_version: 4.0.3
569
+ rubygems_version: 3.5.22
570
+ signing_key:
567
571
  specification_version: 4
568
572
  summary: 'R-on-Rails: tightly couple Ruby and GNU R for data science on the web'
569
573
  test_files: []