lib/phusion_passenger/dependencies.rb in passenger-2.1.3 vs lib/phusion_passenger/dependencies.rb in passenger-2.2.0
- old
+ new
@@ -1,22 +1,27 @@
# Phusion Passenger - http://www.modrails.com/
-# Copyright (C) 2008 Phusion
+# Copyright (c) 2008, 2009 Phusion
#
-# Phusion Passenger is a trademark of Hongli Lai & Ninh Bui.
+# "Phusion Passenger" is a trademark of Hongli Lai & Ninh Bui.
#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; version 2 of the License.
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
require 'phusion_passenger/platform_info'
module PhusionPassenger
# Represents a dependency software that Passenger requires. It's used by the
@@ -325,9 +330,39 @@
rescue LoadError
result.not_found
end
end
dep.install_instructions = "Please install RubyGems first, then run <b>#{PlatformInfo::GEM || "gem"} install rack</b>"
+ end
+
+ Zlib_Dev = Dependency.new do |dep|
+ dep.name = "Zlib development headers"
+ dep.define_checker do |result|
+ begin
+ File.open('/tmp/r8ee-check.c', 'w') do |f|
+ f.write("#include <zlib.h>")
+ end
+ Dir.chdir('/tmp') do
+ if system("(g++ -c r8ee-check.c) >/dev/null 2>/dev/null")
+ result.found
+ else
+ result.not_found
+ end
+ end
+ ensure
+ File.unlink('/tmp/r8ee-check.c') rescue nil
+ File.unlink('/tmp/r8ee-check.o') rescue nil
+ end
+ end
+ if RUBY_PLATFORM =~ /linux/
+ case PlatformInfo.linux_distro
+ when :ubuntu, :debian
+ dep.install_command = "apt-get install zlib1g-dev"
+ when :rhel, :fedora, :centos
+ dep.install_command = "yum install zlib-devel"
+ end
+ end
+ dep.website = "http://www.zlib.net/"
end
end
end # module PhusionPassenger