Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

New formula: InspIRCd. #14854

Closed
wants to merge 1 commit into from

3 participants

@SaberUK

InspIRCd is a modular Internet Relay Chat (IRC) server written in C++ for Linux, BSD, Windows and Mac OS X systems which was created from scratch to be stable, modern and lightweight.

As InspIRCd is one of the few IRC servers written from scratch, it avoids a number of design flaws and performance issues that plague other more established projects, such as UnrealIRCd, while providing the same level of feature parity.

InspIRCd is one of only a few IRC servers to provide a tunable number of features through the use of an advanced but well documented module system. By keeping core functionality to a minimum we hope to increase the stability, security and speed of InspIRCd while also making it customisable to the needs of many different users.

@jacknagel
Collaborator

2 space indent, please.

@SaberUK

@jacknagel Fixed.

@adamv Most people only really use the GnuTLS module from extras so I have enabled that one by default.

@SaberUK

Is this acceptable. If so, would you like me to rebase it into a single commit?

@adamv
Owner

Please rebase for review, thanks.

@SaberUK

@adamv Done!

@SaberUK

@adamv I have modified the formula so it only calls configure twice. It unfortunately can't be called once as enabling extra modules must be done in it's own call to configure.

Library/Formula/inspircd.rb
@@ -0,0 +1,35 @@
+require 'formula'
+
+class Inspircd < Formula
+
+ homepage 'http://inspircd.github.com'
+
+ url 'https://github.com/downloads/inspircd/inspircd/InspIRCd-2.0.8.tar.bz2'
+ sha1 'c8bcbc222df40bc8110cefdb4a1fee91ad7c73d1'
+
+ head 'https://github.com/inspircd/inspircd.git', :branch => 'insp20'
+
+ option 'without-gnutls-module', 'Disable the GnuTLS module'
+ option 'with-openssl-module', 'Enable the OpenSSL module'
+ option 'with-pcre-module', 'Enable the PCRE module'
+ option 'with-tre-module', 'Enable the TRE module'
@jacknagel Collaborator

These options should probably be simply "without-gnutls", "with-pcre", etc. As soon we will be able to simplify it to depends_on 'gnutls' => :recommended or depends_on 'pcre' => :optional and the options will be auto-generated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Library/Formula/inspircd.rb
((3 lines not shown))
+class Inspircd < Formula
+
+ homepage 'http://inspircd.github.com'
+
+ url 'https://github.com/downloads/inspircd/inspircd/InspIRCd-2.0.8.tar.bz2'
+ sha1 'c8bcbc222df40bc8110cefdb4a1fee91ad7c73d1'
+
+ head 'https://github.com/inspircd/inspircd.git', :branch => 'insp20'
+
+ option 'without-gnutls-module', 'Disable the GnuTLS module'
+ option 'with-openssl-module', 'Enable the OpenSSL module'
+ option 'with-pcre-module', 'Enable the PCRE module'
+ option 'with-tre-module', 'Enable the TRE module'
+
+ depends_on 'gnutls' unless build.include? 'without-gnutls-module'
+ depends_on 'openssl' if build.include? 'with-openssl-module'
@jacknagel Collaborator

Is the system openssl not good enough?

@SaberUK
SaberUK added a note

I have seen people having problems getting it to build with the bundled OpenSSL in the past so probably not.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@SaberUK SaberUK New formula: InspIRCd
InspIRCd is a modular Internet Relay Chat (IRC) server written in C++ for Linux,
BSD, Windows and Mac OS X systems which was created from scratch to be stable,
modern and lightweight.

As InspIRCd is one of the few IRC servers written from scratch, it avoids a
number of design flaws and performance issues that plague other more established
projects, such as UnrealIRCd, while providing the same level of feature parity.

InspIRCd is one of only a few IRC servers to provide a tunable number of
features through the use of an advanced but well documented module system. By
keeping core functionality to a minimum we hope to increase the stability,
security and speed of InspIRCd while also making it customisable to the needs of
many different users.
8ffcd26
@SaberUK

Is this acceptable?

@adamv
Owner

Sorry for the delay. I think this looks essentially OK; @jacknagel ?

@jacknagel
Collaborator

modulo style nits, yeah.

@adamv adamv was assigned
@adamv
Owner

Will merge soon

@adamv adamv closed this pull request from a commit
@SaberUK SaberUK InspIRCd 2.0.8
Closes #14854.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
14c6692
@adamv adamv closed this in 14c6692
@allenhuang allenhuang referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
@allenhuang allenhuang referenced this pull request from a commit in allenhuang/homebrew
@SaberUK SaberUK InspIRCd 2.0.8
Closes #14854.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
576265e
@theirix theirix referenced this pull request from a commit
Commit has since been removed from the repository and is no longer available.
@snakeyroc3 snakeyroc3 referenced this pull request from a commit in snakeyroc3/homebrew
@SaberUK SaberUK InspIRCd 2.0.8
Closes #14854.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
9d3ca1b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Commits on Sep 15, 2012
  1. @SaberUK

    New formula: InspIRCd

    SaberUK authored
    InspIRCd is a modular Internet Relay Chat (IRC) server written in C++ for Linux,
    BSD, Windows and Mac OS X systems which was created from scratch to be stable,
    modern and lightweight.
    
    As InspIRCd is one of the few IRC servers written from scratch, it avoids a
    number of design flaws and performance issues that plague other more established
    projects, such as UnrealIRCd, while providing the same level of feature parity.
    
    InspIRCd is one of only a few IRC servers to provide a tunable number of
    features through the use of an advanced but well documented module system. By
    keeping core functionality to a minimum we hope to increase the stability,
    security and speed of InspIRCd while also making it customisable to the needs of
    many different users.
This page is out of date. Refresh to see the latest.
Showing with 35 additions and 0 deletions.
  1. +35 −0 Library/Formula/inspircd.rb
View
35 Library/Formula/inspircd.rb
@@ -0,0 +1,35 @@
+require 'formula'
+
+class Inspircd < Formula
+
+ homepage 'http://inspircd.github.com'
+
+ url 'https://github.com/downloads/inspircd/inspircd/InspIRCd-2.0.8.tar.bz2'
+ sha1 'c8bcbc222df40bc8110cefdb4a1fee91ad7c73d1'
+
+ head 'https://github.com/inspircd/inspircd.git', :branch => 'insp20'
+
+ option 'without-gnutls', 'Disable the GnuTLS module'
+ option 'with-openssl', 'Enable the OpenSSL module'
+ option 'with-pcre', 'Enable the PCRE module'
+ option 'with-tre', 'Enable the TRE module'
+
+ depends_on 'gnutls' unless build.include? 'without-gnutls'
+ depends_on 'openssl' if build.include? 'with-openssl'
+ depends_on 'pcre' if build.include? 'with-pcre'
+ depends_on 'tre' if build.include? 'with-tre'
+ depends_on 'pkg-config' => :build
+
+ def install
+ modules = []
+ modules << 'm_ssl_gnutls.cpp' unless build.include? 'without-gnutls'
+ modules << 'm_ssl_openssl.cpp' if build.include? 'with-openssl'
+ modules << 'm_regex_pcre.cpp' if build.include? 'with-pcre'
+ modules << 'm_regex_tre.cpp' if build.include? 'with-tre'
+ system './configure', "--enable-extras=#{modules.join(',')}" unless modules.empty?
+ system './configure', "--prefix=#{prefix}", "--with-cc=#{ENV.cc}"
+ system 'make install'
+ inreplace("#{prefix}/org.inspircd.plist", 'ircdaemon', ENV['USER'])
+ end
+
+end
Something went wrong with that request. Please try again.