<commit_before>require 'formula'

def build_java?;   build.include? "java";   end
def build_perl?;   build.include? "perl";   end
def build_python?; build.include? "python"; end
def build_ruby?;   build.include? "ruby";   end
def with_unicode_path?; build.include? "unicode-path"; end

class UniversalNeon < Requirement
  def message; <<-EOS.undent
      A universal build was requested, but neon was already built for a single arch.
      You will need to `brew rm neon` first.
    EOS
  end

  def fatal?
    true
  end

  def satisfied?
    f = Formula.factory('neon')
    !f.installed? || archs_for_command(f.lib+'libneon.dylib').universal?
  end
end

class UniversalSqlite < Requirement
  def message; <<-EOS.undent
      A universal build was requested, but sqlite was already built for a single arch.
      You will need to `brew rm sqlite` first.
    EOS
  end

  def fatal?
    true
  end

  def satisfied?
    f = Formula.factory('sqlite')
    !f.installed? || archs_for_command(f.lib+'libsqlite3.dylib').universal?
  end
end

class UniversalSerf < Requirement
  def message; <<-EOS.undent
      A universal build was requested, but serf was already built for a single arch.
      You will need to `brew rm serf` first.
    EOS
  end

  def fatal?
    true
  end

  def satisfied?
    f = Formula.factory('serf')
    !f.installed? || archs_for_command(f.lib+'libserf-1.0.0.0.dylib').universal?
  end
end

class Subversion < Formula
  homepage 'http://subversion.apache.org/'
  url 'http://www.apache.org/dyn/closer.cgi?path=subversion/subversion-1.7.7.tar.bz2'
  sha1 'c9fc0c5992eda36ba9affd93a15929e25958a951'

  option :universal
  option 'java', 'Build Java bindings'
  option 'perl', 'Build Perl bindings'
  option 'python', 'Build Python bindings'
  option 'ruby', 'Build Ruby bindings'
  option 'unicode-path', 'Include support for OS X UTF-8-MAC filename'

  depends_on 'pkg-config' => :build

  # If Subversion can use the Lion versions of these, please
  # open an issue with a patch. Build against Homebrewed versions
  # for consistency. - @adamv
  depends_on 'neon'
  depends_on 'sqlite'
  depends_on 'serf'

  if build.universal?
    depends_on UniversalNeon.new
    depends_on UniversalSqlite.new
    depends_on UniversalSerf.new
  end

  # Building Ruby bindings requires libtool
  depends_on :libtool if build_ruby?

  def patches
    ps = []

    # Patch for Subversion handling of OS X UTF-8-MAC filename.
    if with_unicode_path?
      ps << "https://raw.github.com/gist/3044094/1648c28f6133bcbb68b76b42669b0dc237c02dba/patch-path.c.diff"
    end

    # Patch to prevent '-arch ppc' from being pulled in from Perl's $Config{ccflags}
    if build_perl?
      ps << DATA
    end

    unless ps.empty?
      { :p0 => ps }
    end
  end

  # When building Perl, Python or Ruby bindings, need to use a compiler that
  # recognizes GCC-style switches, since that's what the system languages
  # were compiled against.
  fails_with :clang do
    build 318
    cause "core.c:1: error: bad value (native) for -march= switch"
  end if build_perl? or build_python? or build_ruby?

  def install
    if build_java?
      unless build.universal?
        opoo "A non-Universal Java build was requested."
        puts "To use Java bindings with various Java IDEs, you might need a universal build:"
        puts "  brew install subversion --universal --java"
      end

      unless (ENV["JAVA_HOME"] or "").empty?
        opoo "JAVA_HOME is set. Try unsetting it if JNI headers cannot be found."
      end
    end

    ENV.universal_binary if build.universal?

    # Use existing system zlib
    # Use dep-provided other libraries
    # Don't mess with Apache modules (since we're not sudo)
    args = ["--disable-debug",
            "--prefix=#{prefix}",
            "--with-ssl",
            "--with-zlib=/usr",
            "--with-sqlite=#{HOMEBREW_PREFIX}",
            "--with-serf=#{HOMEBREW_PREFIX}",
            # use our neon, not OS X's
            "--disable-neon-version-check",
            "--disable-mod-activation",
            "--without-apache-libexecdir",
            "--without-berkeley-db"]

    args << "--enable-javahl" << "--without-jikes" if build_java?
    args << "--with-ruby-sitedir=#{lib}/ruby" if build_ruby?

    # The system Python is built with llvm-gcc, so we override this
    # variable to prevent failures due to incompatible CFLAGS
    ENV['ac_cv_python_compile'] = ENV.cc

    system "./configure", *args
    system "make"
    system "make install"<commit_msg>Subversion: use correct apr<commit_after>require 'formula'

def build_java?;   build.include? "java";   end
def build_perl?;   build.include? "perl";   end
def build_python?; build.include? "python"; end
def build_ruby?;   build.include? "ruby";   end
def with_unicode_path?; build.include? "unicode-path"; end

class UniversalNeon < Requirement
  def message; <<-EOS.undent
      A universal build was requested, but neon was already built for a single arch.
      You will need to `brew rm neon` first.
    EOS
  end

  def fatal?
    true
  end

  def satisfied?
    f = Formula.factory('neon')
    !f.installed? || archs_for_command(f.lib+'libneon.dylib').universal?
  end
end

class UniversalSqlite < Requirement
  def message; <<-EOS.undent
      A universal build was requested, but sqlite was already built for a single arch.
      You will need to `brew rm sqlite` first.
    EOS
  end

  def fatal?
    true
  end

  def satisfied?
    f = Formula.factory('sqlite')
    !f.installed? || archs_for_command(f.lib+'libsqlite3.dylib').universal?
  end
end

class UniversalSerf < Requirement
  def message; <<-EOS.undent
      A universal build was requested, but serf was already built for a single arch.
      You will need to `brew rm serf` first.
    EOS
  end

  def fatal?
    true
  end

  def satisfied?
    f = Formula.factory('serf')
    !f.installed? || archs_for_command(f.lib+'libserf-1.0.0.0.dylib').universal?
  end
end

class Subversion < Formula
  homepage 'http://subversion.apache.org/'
  url 'http://www.apache.org/dyn/closer.cgi?path=subversion/subversion-1.7.7.tar.bz2'
  sha1 'c9fc0c5992eda36ba9affd93a15929e25958a951'

  option :universal
  option 'java', 'Build Java bindings'
  option 'perl', 'Build Perl bindings'
  option 'python', 'Build Python bindings'
  option 'ruby', 'Build Ruby bindings'
  option 'unicode-path', 'Include support for OS X UTF-8-MAC filename'

  depends_on 'pkg-config' => :build

  # Always build against Homebrew versions instead of system versions for consistency.
  depends_on 'neon'
  depends_on 'sqlite'
  depends_on 'serf'

  if build.universal?
    depends_on UniversalNeon.new
    depends_on UniversalSqlite.new
    depends_on UniversalSerf.new
  end

  # Building Ruby bindings requires libtool
  depends_on :libtool if build_ruby?

  def patches
    ps = []

    # Patch for Subversion handling of OS X UTF-8-MAC filename.
    if with_unicode_path?
      ps << "https://raw.github.com/gist/3044094/1648c28f6133bcbb68b76b42669b0dc237c02dba/patch-path.c.diff"
    end

    # Patch to prevent '-arch ppc' from being pulled in from Perl's $Config{ccflags}
    if build_perl?
      ps << DATA
    end

    unless ps.empty?
      { :p0 => ps }
    end
  end

  # When building Perl, Python or Ruby bindings, need to use a compiler that
  # recognizes GCC-style switches, since that's what the system languages
  # were compiled against.
  fails_with :clang do
    build 318
    cause "core.c:1: error: bad value (native) for -march= switch"
  end if build_perl? or build_python? or build_ruby?

  def apr_bin
    superbin or "/usr/bin"
  end

  def install
    if build_java?
      unless build.universal?
        opoo "A non-Universal Java build was requested."
        puts "To use Java bindings with various Java IDEs, you might need a universal build:"
        puts "  brew install subversion --universal --java"
      end

      unless (ENV["JAVA_HOME"] or "").empty?
        opoo "JAVA_HOME is set. Try unsetting it if JNI headers cannot be found."
      end
    end

    ENV.universal_binary if build.universal?

    # Use existing system zlib
    # Use dep-provided other libraries
    # Don't mess with Apache modules (since we're not sudo)
    args = ["--disable-debug",
            "--prefix=#{prefix}",
            "--with-apr=#{apr_bin}",
            "--with-ssl",
            "--with-zlib=/usr",
            "--with-sqlite=#{HOMEBREW_PREFIX}",
            "--with-serf=#{HOMEBREW_PREFIX}",
            # use our neon, not OS X's
            "--disable-neon-version-check",
            "--disable-mod-activation",
            "--without-apache-libexecdir",
            "--without-berkeley-db"]

    args << "--enable-javahl" << "--without-jikes" if build_java?
    args << "--with-ruby-sitedir=#{lib}/ruby" if build_ruby?

    # The system Python is built with llvm-gcc, so we override this
    # variable to prevent failures due to incompatible CFLAGS
    ENV['ac_cv_python_compile'] = ENV.cc

    system "./configure", *args
    system "make"
    system "make install"
{'fraction_non_alphanumeric': 0.10453692460536483, 'fraction_numerical': 0.01611656915774368, 'mean_word_length': 2.835732430143946, 'pattern_counts': {'":': 0, '<': 43, '<?xml version=': 0, '>': 7, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6572670', 'n_tokens_mistral': 3078, 'n_tokens_neox': 2861, 'n_words': 915}