From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Luis Lavena" Newsgroups: gmane.comp.lang.ruby.mongrel.devel,gmane.comp.lang.ruby.general Subject: ANN: rake-compiler 0.2.1 Date: Sun, 30 Nov 2008 10:37:49 -0500 Message-ID: <71166b3b0811300737vfbce944k1421b5798fc7c909@mail.gmail.com> Reply-To: mongrel-development-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1228059484 16124 80.91.229.12 (30 Nov 2008 15:38:04 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 30 Nov 2008 15:38:04 +0000 (UTC) To: dev-VOnvfjT3a7c6cLIcX1r+ENBPR1lH4CV8@public.gmane.org, ruby-talk-X+L+6nJQZ58h9ZMKESR00Q@public.gmane.org, "Mongrel Developers (ML)" , "Seattle Ruby Brigade!" , "RubyInstaller Develop Original-X-From: mongrel-development-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Sun Nov 30 16:39:08 2008 Return-path: Envelope-to: gclrmd-mongrel-development@m.gmane.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=5OPq2dbgo1zC0pXN6Upq/ivaa4a2Qb+7qzgYZeEKC7I=; b=ilPIUI3QCN2iYxNBqwBid9Mg34wuRKWY4HSTooA68px+ri/0/2Ttm5d6EW8FVd28Yj 1UMELXKWjsMR86pOyY+H4QTZFIQra7kTvTBqgtktvWgnapbUp4WiLvMOqQMs2bAqvipK V9DHo8+TNKOw5s4S71877mjiVm26vveka8IOg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=eGfxWctCyycO7yFvlcf8yaQtXttFx1VHoa3B4Wpmj6c8XOyRC+RIikWOmgP6/Exlp6 hjwv7tuIbjEQo+4NTd/N/gRhE+jGsWs1fnVumz+HGnkPIfAs54GRa07Px1RKYt1fAl6k WtaiaZwng7HMF3/YvcFowqUWuAV5Xlzcr2Fa8= Content-Disposition: inline X-BeenThere: mongrel-development-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: mongrel-development-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Errors-To: mongrel-development-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Xref: news.gmane.org gmane.comp.lang.ruby.mongrel.devel:81 gmane.comp.lang.ruby.general:278681 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.50) id 1L6oO3-0000eA-7u for gclrmd-mongrel-development@m.gmane.org; Sun, 30 Nov 2008 16:39:07 +0100 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 75DB51858190; Sun, 30 Nov 2008 10:37:54 -0500 (EST) Received: from fk-out-0910.google.com (fk-out-0910.google.com [209.85.128.188]) by rubyforge.org (Postfix) with ESMTP id 5A54D185818B for ; Sun, 30 Nov 2008 10:37:51 -0500 (EST) Received: by fk-out-0910.google.com with SMTP id e30so2183227fke.3 for ; Sun, 30 Nov 2008 07:37:50 -0800 (PST) Received: by 10.187.159.15 with SMTP id l15mr2379957fao.57.1228059470532; Sun, 30 Nov 2008 07:37:50 -0800 (PST) Received: by 10.187.242.6 with HTTP; Sun, 30 Nov 2008 07:37:49 -0800 (PST) List-Post: Hello Rubysts: I'll like to introduce you rake-compiler gem version 0.2.1 rake-compiler aims to help Gem developers while dealing with Ruby C extensions, simplifying the code and reducing the duplication. It follows *convention over configuration* and set an standardized structure to build and package C extensions in your gems. This is the result of experiences dealing with several Gems that required native extensions across platforms and different user configurations where details like portability and clarity of code were lacking. http://github.com/luislavena/rake-compiler/tree/master == Current functionality: * One-liner to be able to compile extensions using Rake * One-liner to be able to package native extensions into Gems. * 3 Lines of code to be able to cross compile extensions for Windows from Linux or OSX * Same 3 lines of code to be able to package those extensions into Gems for Windows. I know 3 lines sounds a lot... but compared to current alternatives (ala: none), 3 lines is cheap. == How to get it Right now it's only available at github: gem install luislavena-rake-compiler --source http://gems.github.com Soon at rubyforge, both will be keep on sync. == Integration You can use any gem packaging and releasing tool with rake-compiler (Hoe, Echoe, MrBones, etc). It doesn't interfere as long you can provide a Gem::Specification to hook into the native gems generation. == Target audience rake-compiler is not only to generate gems for Windows. Under certain circumstances users request binary gems for Linux since their production servers lack the build tools available under development environments. This solution ease the path on all these fields. == Feedback While there is no project page for it (yet), I encourage users send their feedback to Ruby Installer development mailing list. rake-compiler is a side project of One-Click Installer and attempts reduce the gap between users across platforms. == Thanks Several users contributed to make this project a reality, which includes: * Aaron Patterson from nokogiri for the simplified cross compile ruby tasks that inspired the ones implemented in this project * Dan Kubb from DataMapper and DataObjects for care about support of Windows users. * Jonathan Stott from DataMapper and DataObjects for hacking in cross compilation into DO and playing with the workflow Thanks to everyone for their support and feedback during the development of this project! -- Luis Lavena AREA 17 - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams