environment_information 1.4.124

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.
Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +1322 -0
  3. data/bin/envi +7 -0
  4. data/bin/fast_envi +7 -0
  5. data/doc/README.gen +1058 -0
  6. data/doc/todo/TODO_FOR_THE_ENVIRONMENT_INFORMATION_PROJECT.md +55 -0
  7. data/environment_information.gemspec +135 -0
  8. data/lib/environment_information/base/base.rb +166 -0
  9. data/lib/environment_information/class/class.rb +2580 -0
  10. data/lib/environment_information/class/colours.rb +282 -0
  11. data/lib/environment_information/colours/colours.rb +224 -0
  12. data/lib/environment_information/colours/sfancy.rb +19 -0
  13. data/lib/environment_information/colours/simp.rb +19 -0
  14. data/lib/environment_information/constants/array_tracked_components.rb +210 -0
  15. data/lib/environment_information/constants/constants.rb +17 -0
  16. data/lib/environment_information/constants/encoding.rb +21 -0
  17. data/lib/environment_information/constants/error_line.rb +17 -0
  18. data/lib/environment_information/constants/file_constants.rb +102 -0
  19. data/lib/environment_information/constants/misc.rb +86 -0
  20. data/lib/environment_information/constants/namespace.rb +14 -0
  21. data/lib/environment_information/constants/newline.rb +16 -0
  22. data/lib/environment_information/constants/regex.rb +30 -0
  23. data/lib/environment_information/constants/temp_directory.rb +52 -0
  24. data/lib/environment_information/gui/jruby/environment_information.rb +77 -0
  25. data/lib/environment_information/gui/shared_code/environment_information/environment_information_module.rb +99 -0
  26. data/lib/environment_information/gui/universal_widgets/environment_information/environment_information.rb +419 -0
  27. data/lib/environment_information/misc_components/README.md +3 -0
  28. data/lib/environment_information/misc_components/cflags.rb +36 -0
  29. data/lib/environment_information/misc_components/cpuinfo.rb +64 -0
  30. data/lib/environment_information/misc_components/operating_system.rb +54 -0
  31. data/lib/environment_information/misc_components/operating_system_bit_type.rb +42 -0
  32. data/lib/environment_information/misc_components/ram.rb +30 -0
  33. data/lib/environment_information/misc_components/rubygems_installation_directory.rb +54 -0
  34. data/lib/environment_information/misc_components/screen_resolution.rb +50 -0
  35. data/lib/environment_information/project/project.rb +27 -0
  36. data/lib/environment_information/queries/README.md +2 -0
  37. data/lib/environment_information/queries/complex_version.rb +273 -0
  38. data/lib/environment_information/queries/pkg_config.rb +125 -0
  39. data/lib/environment_information/queries/simple_version.rb +272 -0
  40. data/lib/environment_information/requires/require_asciitable.rb +15 -0
  41. data/lib/environment_information/requires/require_the_constants.rb +7 -0
  42. data/lib/environment_information/requires/require_the_environment_information_project.rb +23 -0
  43. data/lib/environment_information/requires/require_the_individual_misc_components.rb +30 -0
  44. data/lib/environment_information/requires/require_the_toplevel_methods.rb +22 -0
  45. data/lib/environment_information/toplevel_methods/autogenerate_all_relevant_methods.rb +153 -0
  46. data/lib/environment_information/toplevel_methods/cd.rb +16 -0
  47. data/lib/environment_information/toplevel_methods/e.rb +43 -0
  48. data/lib/environment_information/toplevel_methods/hash.rb +65 -0
  49. data/lib/environment_information/toplevel_methods/internet_is_available.rb +30 -0
  50. data/lib/environment_information/toplevel_methods/is_on_roebe.rb +16 -0
  51. data/lib/environment_information/toplevel_methods/menu.rb +90 -0
  52. data/lib/environment_information/toplevel_methods/misc.rb +324 -0
  53. data/lib/environment_information/toplevel_methods/n_subcommands.rb +31 -0
  54. data/lib/environment_information/toplevel_methods/prefix_to_use.rb +39 -0
  55. data/lib/environment_information/toplevel_methods/register_this_component_is_missing.rb +61 -0
  56. data/lib/environment_information/toplevel_methods/remote_url_of_this_program.rb +45 -0
  57. data/lib/environment_information/toplevel_methods/replay_from_the_stored_file.rb +84 -0
  58. data/lib/environment_information/toplevel_methods/return_alias_to.rb +30 -0
  59. data/lib/environment_information/toplevel_methods/return_pkgconfig_based_programs.rb +28 -0
  60. data/lib/environment_information/toplevel_methods/return_remote_gtk2_version.rb +54 -0
  61. data/lib/environment_information/toplevel_methods/return_simple_version_based_programs.rb +28 -0
  62. data/lib/environment_information/toplevel_methods/return_version_of_this_program.rb +182 -0
  63. data/lib/environment_information/toplevel_methods/show_all_available_components.rb +192 -0
  64. data/lib/environment_information/toplevel_methods/write_what_into.rb +24 -0
  65. data/lib/environment_information/version/version.rb +25 -0
  66. data/lib/environment_information/www/sinatra_interface.rb +213 -0
  67. data/lib/environment_information/www/webobject_interface.cgi +29 -0
  68. data/lib/environment_information/yaml/array_default_programs_on_linux.yml +15 -0
  69. data/lib/environment_information/yaml/array_lfs_core_programs.yml +37 -0
  70. data/lib/environment_information/yaml/array_science_cluster.yml +12 -0
  71. data/lib/environment_information/yaml/array_tracked_non_programs.yml +13 -0
  72. data/lib/environment_information/yaml/array_tracked_programs.yml +235 -0
  73. data/lib/environment_information/yaml/array_tracked_xorg_components.yml +37 -0
  74. data/lib/environment_information/yaml/colours.yml +3 -0
  75. data/lib/environment_information/yaml/query_to_use_for_the_individual_components.yml +284 -0
  76. data/lib/environment_information.rb +5 -0
  77. data/test/testing_environment_information.rb +26 -0
  78. data/test/testing_missing_components.rb +9 -0
  79. data/test/testing_prefix_for_the_environment_information_project.rb +20 -0
  80. metadata +177 -0
@@ -0,0 +1,272 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # === EnvironmentInformation::Queries::SimpleVersion
6
+ #
7
+ # This class will try to do a query based on the main binary at hand.
8
+ #
9
+ # It is only a wrapper over "--version" and nothing else.
10
+ # =========================================================================== #
11
+ # require 'environment_information/queries/simple_version.rb'
12
+ # EnvironmentInformation::Queries::SimpleVersion.new
13
+ # =========================================================================== #
14
+ require 'environment_information/base/base.rb'
15
+
16
+ module EnvironmentInformation
17
+
18
+ module Queries
19
+
20
+ class SimpleVersion < ::EnvironmentInformation::Base # === EnvironmentInformation::Queries::SimpleVersion
21
+
22
+ # ========================================================================= #
23
+ # === initialize
24
+ #
25
+ # The first argument is mandatory.
26
+ # ========================================================================= #
27
+ def initialize(
28
+ for_this_program = nil,
29
+ run_already = true
30
+ )
31
+ reset
32
+ set_program_name(
33
+ for_this_program
34
+ )
35
+ # ======================================================================= #
36
+ # === Handle blocks given next
37
+ # ======================================================================= #
38
+ if block_given?
39
+ yielded = yield
40
+ if yielded.is_a? Hash
41
+ if yielded.has_key? :prefix_to_use
42
+ @prefix_to_use << yielded.delete(:prefix_to_use)
43
+ end
44
+ end
45
+ end
46
+ run if run_already
47
+ end
48
+
49
+ # ========================================================================= #
50
+ # === reset
51
+ # ========================================================================= #
52
+ def reset
53
+ # ======================================================================= #
54
+ # === @program_name
55
+ # ======================================================================= #
56
+ @program_name = ''.dup
57
+ # ======================================================================= #
58
+ # === @program_version
59
+ # ======================================================================= #
60
+ @program_version = nil
61
+ # ======================================================================= #
62
+ # === @prefix_to_use
63
+ # ======================================================================= #
64
+ @prefix_to_use = ''.dup
65
+ end
66
+
67
+ # ========================================================================= #
68
+ # === set_program_name
69
+ # ========================================================================= #
70
+ def set_program_name(i)
71
+ @program_name = i.to_sym if i
72
+ end
73
+
74
+ # ========================================================================= #
75
+ # === program_name?
76
+ # ========================================================================= #
77
+ def program_name?
78
+ @program_name
79
+ end
80
+
81
+ # ========================================================================= #
82
+ # === program_version?
83
+ # ========================================================================= #
84
+ def program_version?
85
+ @program_version
86
+ end; alias version? program_version? # === version?
87
+
88
+ # ========================================================================= #
89
+ # === return_version_of
90
+ # ========================================================================= #
91
+ def return_version_of(
92
+ this_program = program_name?
93
+ )
94
+ # ======================================================================= #
95
+ # The next variable will store the Hash containing all individual
96
+ # queries for the registered programs. For instance:
97
+ #
98
+ # :busybox=>:custom_busybox, :bzip2=>:"bzip2recover --version",
99
+ # :cairo=>:pkgconfig, :ccache=>:version, :check=>:pkgconfig,
100
+ # :clang=>:version, :clutter=>:"pkg-config --modversion clutter-1.0",
101
+ # :lighttpd=>:version # and so forth
102
+ #
103
+ # ======================================================================= #
104
+ _ = ::EnvironmentInformation.query_to_use_for_the_individual_components?
105
+ if _.nil?
106
+ _ = ::EnvironmentInformation.load_file_query_to_use_for_the_individual_components
107
+ end
108
+ if _.has_key?(this_program) # Check whether the program is registered.
109
+ result = _[this_program]
110
+ case result
111
+ # ===================================================================== #
112
+ # === :version
113
+ #
114
+ # This is the simplest entry point; we will try the commandline flag
115
+ # "--version" here. If you have to use "-v" then use :short_version
116
+ # instead.
117
+ # ===================================================================== #
118
+ when :version
119
+ @program_version = `#{@prefix_to_use}#{this_program} --version #{ERROR_LINE}`.strip
120
+ # ===================================================================== #
121
+ # === :short_version
122
+ # ===================================================================== #
123
+ when :short_version,
124
+ :simple_version
125
+ @program_version = `#{@prefix_to_use}#{this_program} -v #{ERROR_LINE}`.strip
126
+ end
127
+ end
128
+ if @program_version
129
+ if @program_version.include? N
130
+ @program_version = @program_version.split(N).first
131
+ end
132
+ if @program_version.include? '--'
133
+ @program_version.gsub!(/--/,'') # For strace specifically.
134
+ end
135
+ # ===================================================================== #
136
+ # Next format entries such as:
137
+ #
138
+ # "lighttpd/1.4.71 - a light and fast webserver"
139
+ #
140
+ # This may fail, though - see vim:
141
+ #
142
+ # "VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Mar 15 2024 11:08:54)"
143
+ #
144
+ # ===================================================================== #
145
+ if @program_version.include? ' - '
146
+ unless this_program.to_s.include?('vim')
147
+ @program_version = @program_version.split(' - ').first.to_s
148
+ end
149
+ end
150
+ # if @program_version.include? 'GNOME Document Viewer'
151
+ # @program_version.sub!(/GNOME Document Viewer/,'') # For evince specifically.
152
+ # end
153
+ if @program_version.include? 'GNU'
154
+ @program_version.gsub!(/GNU/,'')
155
+ end
156
+ # ===================================================================== #
157
+ # Next we will specifically handle vim:
158
+ # ===================================================================== #
159
+ if @program_version =~ / (\d{1,2}\.\d{1,2}) \(/
160
+ @program_version = $1.to_s.dup
161
+ end
162
+ if @program_version.include? ' built on linux-gnu.'
163
+ @program_version.gsub!(/ built on linux-gnu\./, '') # Fixing wget specifically.
164
+ end
165
+ if @program_version.include?('Midnight Commander')
166
+ @program_version.gsub!(/Midnight Commander/, '')
167
+ end
168
+ if @program_version.include?('[') and @program_version.include?(']')
169
+ @program_version.gsub!(/\[.+\]/, '')
170
+ end
171
+ @program_version.strip!
172
+ if @program_version.start_with? "#{this_program} "
173
+ # For example: "ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]"
174
+ @program_version.sub!(/#{this_program} /, '')
175
+ elsif @program_version.start_with? "#{this_program.capitalize} "
176
+ # For example: "Wget 1.20.3 built on linux-gnu."
177
+ @program_version.sub!(/#{this_program.capitalize} /, '')
178
+ elsif @program_version.start_with? "#{this_program.upcase} "
179
+ # For example: "NASM version 2.15.04 compiled on Aug 27 2020"
180
+ @program_version.sub!(/#{this_program.upcase} /, '')
181
+ elsif @program_version.downcase.start_with? "#{this_program.downcase} "
182
+ # For example: "IceWM", has a unusual start.
183
+ @program_version.sub!(/#{this_program} /i, '')
184
+ elsif @program_version.start_with? 'Awk'
185
+ @program_version.sub!(/Awk /i, '') # Ad-hox fix here.
186
+ end
187
+ if @program_version.include? '- Vi IMproved '
188
+ @program_version.sub!(/- Vi IMproved /, '') # Fixing vim specifically.
189
+ end
190
+ if @program_version.include? '(v'
191
+ # This is specifically for perl:
192
+ # "This is perl 5, version 32, subversion 0 (v5.32.0) built for x86_64-linux-thread-multi"
193
+ @program_version = @program_version.scan(
194
+ /\(v(\d{0,2}\.?\d{0,2}\.\d{0,2})\)/
195
+ ).flatten.first.to_s.dup
196
+ end
197
+ # ===================================================================== #
198
+ # The next check for "Version" should come after we eliminated
199
+ # the leading program name.
200
+ # ===================================================================== #
201
+ if @program_version.include? 'Version '
202
+ @program_version = @program_version.scan(
203
+ /Version (\d{0,2}\.?\d{0,2}\.\d{0,2})/
204
+ ).flatten.first.to_s.dup
205
+ elsif @program_version.include? 'version '
206
+ # This here should work for most programs, save for perl.
207
+ @program_version = @program_version.scan(
208
+ /version (\d{0,2}\.?\d{0,2}\.\d{0,2})/
209
+ ).flatten.first.to_s.dup
210
+ end
211
+ if @program_version.include? ' patchlevel '
212
+ # =================================================================== #
213
+ # Gnuplot has this specifically: "5.4 patchlevel 0"
214
+ # =================================================================== #
215
+ @program_version = @program_version.sub(/ patchlevel /,'.').strip
216
+ end
217
+ # ===================================================================== #
218
+ # Next we kill everything inside (). This may sometimes be
219
+ # problematic, which is why this check comes quite late.
220
+ # ===================================================================== #
221
+ if @program_version.include?('(') and @program_version.include?(')')
222
+ @program_version.gsub!(/\(.+\)/, '')
223
+ end
224
+ # ===================================================================== #
225
+ # Handle: "IceWM 1.8.0, Copyright 1997-2003 Marko Macek, 2001 Mathias Hasselmann."
226
+ # ===================================================================== #
227
+ if @program_version.include?(',')
228
+ @program_version = @program_version.split(',').first
229
+ end
230
+ if @program_version.include?('/')
231
+ # =================================================================== #
232
+ # Assume something like "lighttpd/1.4.71".
233
+ # =================================================================== #
234
+ @program_version = @program_version.split('/').last
235
+ end
236
+ # ===================================================================== #
237
+ # Next, if a '-' is included, we split it and use the last part.
238
+ # This handles cases such as "valgrind-3.16.0".
239
+ # ===================================================================== #
240
+ if @program_version.include?('-')
241
+ @program_version = @program_version.split('-').last
242
+ end
243
+ # ===================================================================== #
244
+ # Last but not least, for "node" specifically.
245
+ # ===================================================================== #
246
+ if @program_version.start_with? 'v'
247
+ @program_version[0,1] = ''
248
+ end
249
+ if @program_version.include? ':' # e. g. for glslang.
250
+ @program_version = @program_version.split(':').last.to_s.strip
251
+ end
252
+ if @program_version.include? COMMAND_NOT_FOUND
253
+ @program_version = nil
254
+ end
255
+ end
256
+ return @program_version
257
+ end
258
+
259
+ # ========================================================================= #
260
+ # === run (run tag)
261
+ # ========================================================================= #
262
+ def run
263
+ return_version_of
264
+ end
265
+
266
+ end; end; end
267
+
268
+ if __FILE__ == $PROGRAM_NAME
269
+ seek_this_program = :gnuplot # :lftp
270
+ _ = EnvironmentInformation::Queries::SimpleVersion.new(seek_this_program)
271
+ _.report_left_right
272
+ end # rb simple_version
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/requires/require_asciitable.rb'
6
+ # =========================================================================== #
7
+ begin
8
+ class EnvironmentInformation::EnvironmentInformation; end # Define a prototype here.
9
+ require 'ascii_paradise/requires/require_asciitable_namespace.rb'
10
+ EnvironmentInformation::ASCIITABLE_IS_AVAILABLE = true
11
+ rescue LoadError
12
+ # puts 'asciitable is not available, consider installing it.'
13
+ # puts 'We will, however, continue, as it is not a mandatory package.'
14
+ EnvironmentInformation::ASCIITABLE_IS_AVAILABLE = false
15
+ end
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/requires/require_the_constants.rb'
6
+ # =========================================================================== #
7
+ require 'environment_information/constants/constants.rb'
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/requires/require_the_environment_information_project.rb'
6
+ # =========================================================================== #
7
+ require 'environment_information/requires/require_the_constants.rb'
8
+ require 'environment_information/colours/sfancy.rb'
9
+ require 'environment_information/colours/simp.rb'
10
+ require 'environment_information/version/version.rb'
11
+ # =========================================================================== #
12
+ # Next, require the individual components:
13
+ # =========================================================================== #
14
+ require 'environment_information/requires/require_the_individual_misc_components.rb'
15
+ # =========================================================================== #
16
+ # Next, require the toplevel-methods of environment_information/:
17
+ # =========================================================================== #
18
+ require 'environment_information/requires/require_the_toplevel_methods.rb'
19
+ # =========================================================================== #
20
+ # And then we will require the main class of the environment information
21
+ # project:
22
+ # =========================================================================== #
23
+ require 'environment_information/class/class.rb'
@@ -0,0 +1,30 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/requires/require_the_individual_misc_components.rb'
6
+ # =========================================================================== #
7
+ module EnvironmentInformation
8
+
9
+ require 'environment_information/constants/array_tracked_components.rb'
10
+
11
+ # ========================================================================= #
12
+ # === EnvironmentInformation.require_all_individual_misc_components
13
+ #
14
+ # This method can be used to load all the individual misc-components
15
+ # that are part of the EnvironmentInformation project.
16
+ # ========================================================================= #
17
+ def self.require_all_individual_misc_components
18
+
19
+ # ======================================================================= #
20
+ # Batch-require the components in the misc_components/ directory next:
21
+ # ======================================================================= #
22
+ tracked_non_programs?.each {|this_component|
23
+ require "environment_information/misc_components/#{this_component}.rb"
24
+ }
25
+
26
+ end
27
+
28
+ require_all_individual_misc_components
29
+
30
+ end
@@ -0,0 +1,22 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/requires/require_the_toplevel_methods.rb'
6
+ # =========================================================================== #
7
+ module EnvironmentInformation
8
+
9
+ require 'environment_information/project/project.rb'
10
+
11
+ # ========================================================================= #
12
+ # === EnvironmentInformation.require_the_toplevel_methods
13
+ # ========================================================================= #
14
+ def self.require_the_toplevel_methods
15
+ Dir["#{PROJECT_BASE_DIRECTORY}toplevel_methods/*.rb"].each {|this_file|
16
+ require "environment_information/toplevel_methods/#{File.basename(this_file)}"
17
+ }
18
+ end
19
+
20
+ require_the_toplevel_methods # And require them at once.
21
+
22
+ end
@@ -0,0 +1,153 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # Code in this file is tasked to autogenerate the relevant methods for use
6
+ # in the toplevel EnvironmentInformation namespace.
7
+ # =========================================================================== #
8
+ # require 'environment_information/toplevel_methods/autogenerate_all_relevant_methods.rb'
9
+ # =========================================================================== #
10
+ module EnvironmentInformation
11
+
12
+ require 'environment_information/constants/array_tracked_components.rb'
13
+ require 'environment_information/toplevel_methods/return_version_of_this_program.rb'
14
+
15
+ # ========================================================================= #
16
+ # === EnvironmentInformation.autogenerate_all_relevant_methods
17
+ #
18
+ # By default this method will scan for all tracked programs, and
19
+ # for the xorg-components.
20
+ # ========================================================================= #
21
+ def self.autogenerate_all_relevant_methods(
22
+ i = ARRAY_TRACKED_PROGRAMS+
23
+ ARRAY_XORG_COMPONENTS
24
+ )
25
+ i.flatten!
26
+ # ======================================================================= #
27
+ # Add some aliases which will be defined next.
28
+ # ======================================================================= #
29
+ hash_aliases = {
30
+ atk: :libatk, # === EnvironmentInformation.return_version_of_libatk
31
+ pcre2: :libpcre2, # === EnvironmentInformation.return_version_of_libpcre2
32
+ pcre: :libpcre, # === EnvironmentInformation.return_version_of_libpcre
33
+ zlib: :libzlib # === EnvironmentInformation.return_version_of_libzlib
34
+ }
35
+ # ======================================================================= #
36
+ # Iterate over our Array next:
37
+ # ======================================================================= #
38
+ i.each {|this_program|
39
+ case this_program
40
+ when :kde
41
+ this_program = :kde_frameworks
42
+ end
43
+ self.class.instance_eval {
44
+ # =================================================================== #
45
+ # To test this method, try to do:
46
+ #
47
+ # EnvironmentInformation.return_version_of_valgrind # => "3.15.0"
48
+ #
49
+ # =================================================================== #
50
+ this_method = "return_version_of_#{this_program}"
51
+ define_method(this_method) {
52
+ return_version_of_this_program(this_program)
53
+ }
54
+ if hash_aliases.has_key?(this_program)
55
+ # ================================================================= #
56
+ # To test this, try:
57
+ #
58
+ # EnvironmentInformation.return_version_of_libzlib
59
+ #
60
+ # ================================================================= #
61
+ use_this_as_the_alias_target = "return_version_of_#{hash_aliases[this_program]}"
62
+ define_method(use_this_as_the_alias_target) {
63
+ return_version_of_this_program(this_program)
64
+ }
65
+ end
66
+ }
67
+ }
68
+ end
69
+
70
+ autogenerate_all_relevant_methods # ← And call it at once.
71
+
72
+ # ========================================================================= #
73
+ # And add a few more aliases.
74
+ # ========================================================================= #
75
+ self.instance_eval { alias add_xz_information return_version_of_xz } # === EnvironmentInformation.add_xz_information
76
+ self.instance_eval { alias append_xz_version return_version_of_xz } # === EnvironmentInformation.append_xz_version
77
+ self.instance_eval { alias return_sed_version return_version_of_sed } # === EnvironmentInformation.return_sed_version
78
+ self.instance_eval { alias return_version_of_sed? return_version_of_sed } # === EnvironmentInformation.return_version_of_sed?
79
+ self.instance_eval { alias return_version_of_makeinfo return_version_of_texinfo } # === EnvironmentInformation.return_version_of_makeinfo
80
+ self.instance_eval { alias xfsprogs? return_version_of_xfsprogs } # === EnvironmentInformation.xfsprogs?
81
+ self.instance_eval { alias add_xfsprogs_information return_version_of_xfsprogs } # === EnvironmentInformation.add_xfsprogs_information
82
+ self.instance_eval { alias return_version_of_lftp? return_version_of_lftp } # === EnvironmentInformation.return_version_of_lftp?
83
+ self.instance_eval { alias add_llvm_information return_version_of_llvm } # === EnvironmentInformation.add_llvm_information
84
+ self.instance_eval { alias append_llvm_version return_version_of_llvm } # === EnvironmentInformation.append_llvm_version
85
+ self.instance_eval { alias add_mpc_information return_version_of_mpc } # === EnvironmentInformation.add_mpc_information
86
+ self.instance_eval { alias append_mpc_version return_version_of_mpc } # === EnvironmentInformation.append_mpc_version
87
+ self.instance_eval { alias try_to_show_re2c_version return_version_of_re2c } # === EnvironmentInformation.try_to_show_re2c_version
88
+ self.instance_eval { alias append_re2c_version return_version_of_re2c } # === EnvironmentInformation.append_nasm_version
89
+ self.instance_eval { alias return_version_of_pkg_config return_version_of_pkgconfig } # === EnvironmentInformation.return_version_of_pkg_config
90
+ self.instance_eval { alias add_readline_information return_version_of_readline } # === EnvironmentInformation.add_readline_information
91
+ self.instance_eval { alias append_readline_version return_version_of_readline } # === EnvironmentInformation.add_readline_information
92
+ self.instance_eval { alias return_version_of_liblibtasn1 return_version_of_libtasn1 } # === EnvironmentInformation.return_version_of_liblibtasn1
93
+ self.instance_eval { alias return_version_of_liblibtasn return_version_of_libtasn1 } # === EnvironmentInformation.return_version_of_liblibtasn
94
+ self.instance_eval { alias return_version_of_grep? return_version_of_grep } # === EnvironmentInformation.return_version_of_grep?
95
+ self.instance_eval { alias return_version_of_intltool? return_version_of_intltool } # === EnvironmentInformation.return_version_of_intltool?
96
+ self.instance_eval { alias glib? return_version_of_glib } # === EnvironmentInformation.glib?
97
+ self.instance_eval { alias add_gmp_information return_version_of_gmp } # === EnvironmentInformation.add_gmp_information
98
+ self.instance_eval { alias append_gmp_version return_version_of_gmp } # === EnvironmentInformation.append_gmp_version
99
+ self.instance_eval { alias kernel return_version_of_linux } # === EnvironmentInformation.kernel
100
+ self.instance_eval { alias linux_kernel return_version_of_linux } # === EnvironmentInformation.linux_kernel
101
+ self.instance_eval { alias linux_kernel? return_version_of_linux } # === EnvironmentInformation.linux_kernel?
102
+ self.instance_eval { alias return_information_about_the_component_called_linux_kernel return_version_of_linux } # === EnvironmentInformation.return_information_about_the_component_called_linux_kernel
103
+ self.instance_eval { alias append_kernel_version return_version_of_linux } # === EnvironmentInformation.append_kernel_version
104
+ self.instance_eval { alias add_kernel_information return_version_of_linux } # === EnvironmentInformation.add_kernel_information
105
+ self.instance_eval { alias return_version_of_linux_kernel return_version_of_linux } # === EnvironmentInformation.return_version_of_linux_kernel
106
+ self.instance_eval { alias return_version_of_linux_kernel? return_version_of_linux } # === EnvironmentInformation.return_version_of_linux_kernel?
107
+ self.instance_eval { alias boost? return_version_of_boost } # === EnvironmentInformation.boost?
108
+ self.instance_eval { alias return_version_of_boost? return_version_of_boost } # === EnvironmentInformation.return_version_of_boost?
109
+ self.instance_eval { alias return_version_of_find return_version_of_findutils } # === EnvironmentInformation.return_version_of_find
110
+ self.instance_eval { alias findutils? return_version_of_findutils } # === EnvironmentInformation.findutils?
111
+ self.instance_eval { alias awk? return_version_of_gawk } # === EnvironmentInformation.awk?
112
+ self.instance_eval { alias gawk? return_version_of_gawk } # === EnvironmentInformation.gawk?
113
+ self.instance_eval { alias return_information_about_the_component_called_awk return_version_of_gawk } # === EnvironmentInformation.return_information_about_the_component_called_awk
114
+ self.instance_eval { alias return_version_of_awk? return_version_of_gawk } # === EnvironmentInformation.return_version_of_awk?
115
+ self.instance_eval { alias return_version_of_awk return_version_of_gawk } # === EnvironmentInformation.return_version_of_awk
116
+ self.instance_eval { alias append_gdkpixbuf_version return_version_of_gdkpixbuf } # === EnvironmentInformation.append_gdkpixbuf_version
117
+ self.instance_eval { alias glibc? return_version_of_glibc } # === EnvironmentInformation.glibc?
118
+ self.instance_eval { alias glibc_version? return_version_of_glibc } # === EnvironmentInformation.glibc_version?
119
+ self.instance_eval { alias return_version_of_glibc? return_version_of_glibc } # === EnvironmentInformation.return_version_of_glibc?
120
+ self.instance_eval { alias ruby? return_version_of_ruby } # === EnvironmentInformation.ruby?
121
+ self.instance_eval { alias return_information_about_the_component_called_ruby return_version_of_ruby } # === EnvironmentInformation.return_information_about_the_component_called_ruby
122
+ self.instance_eval { alias return_version_of_ruby? return_version_of_ruby } # === EnvironmentInformation.return_version_of_ruby?
123
+ self.instance_eval { alias binutils? return_version_of_binutils } # === EnvironmentInformation.binutils?
124
+ self.instance_eval { alias return_version_of_binutils? return_version_of_binutils } # === EnvironmentInformation.return_version_of_binutils?
125
+ self.instance_eval { alias bison? return_version_of_bison } # === EnvironmentInformation.bison?
126
+ self.instance_eval { alias return_version_of_bison? return_version_of_bison } # === EnvironmentInformation.return_version_of_bison?
127
+ self.instance_eval { alias return_version_of_flex? return_version_of_flex } # === EnvironmentInformation.return_version_of_flex?
128
+ self.instance_eval { alias return_version_of_freetype2 return_version_of_freetype } # === EnvironmentInformation.return_version_of_freetype2
129
+ self.instance_eval { alias evince? return_version_of_evince } # === EnvironmentInformation.evince?
130
+ self.instance_eval { alias return_version_of_evince? return_version_of_evince } # === EnvironmentInformation.return_version_of_evince?
131
+ self.instance_eval { alias gcc? return_version_of_gcc } # === EnvironmentInformation.gcc?
132
+ self.instance_eval { alias return_information_about_the_component_called_gcc return_version_of_gcc } # === EnvironmentInformation.return_information_about_the_component_called_gcc
133
+ self.instance_eval { alias return_version_of_gcc? return_version_of_gcc } # === EnvironmentInformation.return_version_of_gcc?
134
+ self.instance_eval { alias return_version_of_R return_version_of_r } # === EnvironmentInformation.return_version_of_R
135
+ self.instance_eval { alias coreutils? return_version_of_coreutils } # === EnvironmentInformation.coreutils?
136
+ self.instance_eval { alias return_version_of_coreutils? return_version_of_coreutils } # === EnvironmentInformation.return_version_of_coreutils
137
+ self.instance_eval { alias return_version_of_diffutils? return_version_of_diffutils } # === EnvironmentInformation.return_version_of_diffutils?
138
+ self.instance_eval { alias return_version_of_libexempi return_version_of_exempi } # === EnvironmentInformation.return_version_of_libexempi
139
+ self.instance_eval { alias return_version_of_gpg return_version_of_gnupg } # === EnvironmentInformation.return_version_of_gpg
140
+ self.instance_eval { alias return_version_of_gnupg? return_version_of_gnupg } # === EnvironmentInformation.return_version_of_gnupg?
141
+ self.instance_eval { alias return_version_of_bzip return_version_of_bzip2 } # === EnvironmentInformation.return_version_of_bzip
142
+ self.instance_eval { alias return_version_of_llvm return_version_of_clang } # === EnvironmentInformation.return_version_of_llvm
143
+ self.instance_eval { alias return_clang_version return_version_of_clang } # === EnvironmentInformation.return_clang_version
144
+ self.instance_eval { alias kde5? return_version_of_kde_frameworks } # === EnvironmentInformation.kde5?
145
+ self.instance_eval { alias add_kde5_information return_version_of_kde_frameworks } # === EnvironmentInformation.add_kde5_information
146
+ self.instance_eval { alias add_kde_information return_version_of_kde_frameworks } # === EnvironmentInformation.add_kde_information
147
+ self.instance_eval { alias return_information_about_the_component_called_rubygems return_version_of_rubygems } # === EnvironmentInformation.return_information_about_the_component_called_rubygems
148
+ self.instance_eval { alias rubygems? return_version_of_rubygems } # === EnvironmentInformation.rubygems?
149
+ self.instance_eval { alias return_version_of_rubygems? return_version_of_rubygems } # === EnvironmentInformation.return_version_of_rubygems?
150
+ self.instance_eval { alias gtk3? return_version_of_gtk3 } # === EnvironmentInformation.gtk3?
151
+ self.instance_eval { alias gtk2? return_version_of_gtk2 } # === EnvironmentInformation.gtk2?
152
+
153
+ end
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/toplevel_methods/cd.rb'
6
+ # =========================================================================== #
7
+ module EnvironmentInformation
8
+
9
+ # ========================================================================= #
10
+ # === EnvironmentInformation.cd (cd tag)
11
+ # ========================================================================= #
12
+ def self.cd(i)
13
+ Dir.chdir(i) if File.directory? i
14
+ end
15
+
16
+ end
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'environment_information/toplevel_methods/e.rb'
6
+ # EnvironmentInformation.e
7
+ # =========================================================================== #
8
+ module EnvironmentInformation
9
+
10
+ # ========================================================================= #
11
+ # === EnvironmentInformation.e
12
+ # ========================================================================= #
13
+ def self.e(
14
+ i = '', hash = {}
15
+ )
16
+ if hash and
17
+ hash.has_key?(:display_everything_in_short_format) and
18
+ hash[:display_everything_in_short_format]
19
+ # ===================================================================== #
20
+ # Display the results in a single line in this case.
21
+ # ===================================================================== #
22
+ print "#{i}, "
23
+ else
24
+ puts i
25
+ end
26
+ end
27
+
28
+ # ========================================================================= #
29
+ # === EnvironmentInformation.ee
30
+ #
31
+ # This is simply a wrapper over print, as well as adding a ', ' to that.
32
+ # ========================================================================= #
33
+ def self.ee(
34
+ i = ''
35
+ )
36
+ print "#{i}, "
37
+ end
38
+
39
+ end
40
+
41
+ if __FILE__ == $PROGRAM_NAME
42
+ EnvironmentInformation.e('Hello world!')
43
+ end