Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ruby [2015/09/21 18:03] – SteveWillsruby [2022/02/03 00:44] (current) – Link to HomePages, delink Categories (already links), minor word tweaks KubilayKocak
Line 1: Line 1:
-This page describes stuff relating to ruby and ruby* ports in tree for ruby@+This page describes Ruby language and Ruby gem ports, package management and infrastructure in %%FreeBSD%%.
  
-[[http://www.freebsd.org/cgi/query-pr-summary.cgi?responsible=ruby|Gnats PR]]+[[https://bugs.freebsd.org/bugzilla/buglist.cgi?email1=ruby&emailassigned_to1=1&emailcc1=1&emaillongdesc1=1&emailreporter1=1&emailtype1=substring&list_id=183474&order=bug_id&query_format=advanced&resolution=---|Bugzilla PRs]]
  
-====== Current list of people in ruby@ ======+====== Ruby Team ======
  
-===== committers ===== +===== Active ===== 
-  * dinoex + 
-  * clsung +  * SteveWills 
-  * pgollucci +  * PhilipGollucci 
-  * wen +  * PoChuanHsieh 
-  * avl +  * BryanDrewery 
-  * swills +  * RyanSteinmetz 
-  * zi +  * MathieuArnold  
-  * sunpoet +  * DirkMeyer 
-  * jgh +  * DominicFandrey 
-  * bdrewery +  * JosephMingrone 
-  * tota + 
-  * xmj +===== Other ===== 
-  * mmoll+ 
 +  * AlanSung 
 +  * WenHeping 
 +  * AlexanderLogvinov 
 +  * JasonHelfman 
 +  * TomonariTakatsu
  
 ====== Important Ports ====== ====== Important Ports ======
Line 33: Line 38:
   * sysutils/vagrant   * sysutils/vagrant
   * www/redmine   * www/redmine
-  * www/rubygem-rails+  * www/rubygem-rails4
   * www/rubygem-passenger   * www/rubygem-passenger
   * net-mgmt/rubygem-blimpy   * net-mgmt/rubygem-blimpy
Line 39: Line 44:
   * www/rubygem-jekyll   * www/rubygem-jekyll
   * x11/rubygem-gnome2   * x11/rubygem-gnome2
 +  * www/gitlab-ce
  
 ====== How to commit for ruby@? ====== ====== How to commit for ruby@? ======
Line 44: Line 50:
 More to come for this, but one of the key things to remember is that when you update a gem, you must at least build all the things that depend on it. Also note that gems can be patched using normal patch files now, which is sometimes useful for updating versions of dependencies. More to come for this, but one of the key things to remember is that when you update a gem, you must at least build all the things that depend on it. Also note that gems can be patched using normal patch files now, which is sometimes useful for updating versions of dependencies.
  
-====== IRC ======+====== Contact ======
  
-You can find some of ruby@ people on EFNet and FreeNode IRC. There is now a #rubyports on EFNet. Feel free to connect and ask questions or discuss a future of ruby ports on %%FreeBSD%%.+You can find ruby@ people on EFNet and Libera Chat [[IRC]]. There is now a #rubyports on EFNet. Feel free to connect and ask questions or discuss ruby ports on %%FreeBSD%%.
  
 ====== Gem packaging FAQ ====== ====== Gem packaging FAQ ======
Line 56: Line 62:
 Properly and securely building software packages does create some restrictions. For example, when packages are built, the build can only download software during the "fetch" phase of ports building. Fetch during patch, build, install, etc. are not allowed. There are good reasons for that of course, but it adds some complexity. This conflicts in some sense with gem which fetchs, builds and installs all in one step. Properly and securely building software packages does create some restrictions. For example, when packages are built, the build can only download software during the "fetch" phase of ports building. Fetch during patch, build, install, etc. are not allowed. There are good reasons for that of course, but it adds some complexity. This conflicts in some sense with gem which fetchs, builds and installs all in one step.
  
-Another part of the reason we package gems is that it simplifies things. A user can simply "pkg install redmine" and, baring any bugs and local config, have a working [[http://redmine.org/|redmine]] install. This will include the redmine software, it's gem dependencies, the web server, any ImageMagick dependencies that might exist, etc. Contrast this with using the pkg to install just the web server and ImageMagick software, then using bundler to install gems and redmine.+Another part of the reason we package gems is that it simplifies things. A user can simply "pkg install redmine" and, baring any bugs and local config, have a working [[http://redmine.org/|redmine]] install. This will include the redmine software, it's gem dependencies, the web server, any %%ImageMagick%% dependencies that might exist, etc. Contrast this with using the pkg to install just the web server and %%ImageMagick%% software, then using bundler to install gems and redmine.
  
 Ports could perhaps be setup to call bundler, but this would complicate the package building, particularly where one package shares dependencies with another. And this would really violate the packaging requirements as well. Ports could perhaps be setup to call bundler, but this would complicate the package building, particularly where one package shares dependencies with another. And this would really violate the packaging requirements as well.
Line 69: Line 75:
   * Port Y depends on gem XYZ version ~> 1.1.1   * Port Y depends on gem XYZ version ~> 1.1.1
  
-This creates a conflict in ports or creates extra work creating a port for both 1.0.1 and 1.1.1. (This happens because gem and ruby software authors follow the default [[http://guides.rubygems.org/patterns/#pessimistic_version_constraint|pessimistic version constraints]] shown on [[rubygems.org|rubygems.org]] which suggests depending on the exact patch versions of a gem. We're referring here to the suggested depend line like:+This creates a conflict in ports or creates extra work creating a port for both 1.0.1 and 1.1.1. (This happens because gem and ruby software authors follow the default [[http://guides.rubygems.org/patterns/#pessimistic_version_constraint|pessimistic version constraints]] shown on [[https://rubygems.org|rubygems.org]] which suggests depending on the exact patch versions of a gem. We're referring here to the suggested depend line like:
  
 gem "XYZ", "~> 1.0.1" gem "XYZ", "~> 1.0.1"
Line 88: Line 94:
  
   * If there are multiple ports that could satisfy a dep and you need it, create a port which specifies the version you need. For example, if a port could depend on the rails 3.x or rails 4.x version of a dep, create two ports and suffix the less-used port (e.g. -rails4). This should only be done when needed and be sure to remove them when no longer needed.   * If there are multiple ports that could satisfy a dep and you need it, create a port which specifies the version you need. For example, if a port could depend on the rails 3.x or rails 4.x version of a dep, create two ports and suffix the less-used port (e.g. -rails4). This should only be done when needed and be sure to remove them when no longer needed.
 +
 +----
 +
 +{{tag>Team}}
 +{{tag>Ports}}
  
  • ruby.1442858587.txt.gz
  • Last modified: 2015/09/21 18:03
  • by SteveWills