2025-09-10 03:41:01 -05:00
|
|
|
#!/usr/bin/env ruby
|
|
|
|
|
|
2025-09-10 18:35:55 +02:00
|
|
|
# Simple Ruby package manager mock
|
|
|
|
|
# Supports:
|
|
|
|
|
# pkg --user install nvim
|
|
|
|
|
# pkg --system install nvim
|
|
|
|
|
# pkg install nvim # defaults to --package
|
|
|
|
|
# pkg --package install nvim
|
|
|
|
|
|
|
|
|
|
require "package"
|
|
|
|
|
|
2025-09-10 03:41:01 -05:00
|
|
|
puts "Welcome to package manager"
|
2025-09-10 18:35:55 +02:00
|
|
|
|
|
|
|
|
# Extract options and commands from arguments
|
|
|
|
|
args = ARGV.dup
|
|
|
|
|
|
|
|
|
|
scope = :package # default
|
|
|
|
|
if args.first&.start_with?("--")
|
|
|
|
|
case args.shift
|
|
|
|
|
when "--user"
|
|
|
|
|
scope = :user
|
|
|
|
|
when "--system"
|
|
|
|
|
scope = :system
|
|
|
|
|
when "--package"
|
|
|
|
|
scope = :package
|
|
|
|
|
else
|
|
|
|
|
puts "Unknown option: #{args.first}"
|
|
|
|
|
exit 1
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
command = args.shift
|
|
|
|
|
package = args.shift
|
|
|
|
|
|
|
|
|
|
if command.nil?
|
|
|
|
|
puts "Usage: pkg [--user|--system|--package] <install|make> <package>"
|
|
|
|
|
exit 1
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
case command
|
|
|
|
|
when "install"
|
|
|
|
|
Package.install(package, scope)
|
|
|
|
|
when "make"
|
|
|
|
|
Package.make(package, scope)
|
|
|
|
|
when "daemon"
|
|
|
|
|
Package.daemon
|
|
|
|
|
else
|
|
|
|
|
puts "Unknown command: #{command}"
|
|
|
|
|
exit 1
|
|
|
|
|
end
|