# -*- ruby -*-
#
# Copyright (C) 2010-2018  Ruby-GNOME2 Project Team
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library 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
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

$LOAD_PATH.unshift("./../glib2/lib")
require 'gnome2-raketask'

package_task = GNOME2::Rake::PackageTask.new do |package|
  package.summary = "Ruby/Rsvg is a Ruby binding of librsvg-2.x."
  package.description = "Ruby/Rsvg is a Ruby binding of librsvg-2.x."
  package.dependency.gem.runtime = [
    ["cairo", ">= 1.12.8"],
    "gdk_pixbuf2",
    "cairo-gobject",
  ]
  package.windows.packages = []
  package.windows.dependencies = []
  package.windows.build_dependencies = [
    "glib2",
    "gobject-introspection",
    "pango",
    "gdk_pixbuf2",
    "cairo-gobject",
  ]
  package.windows.gobject_introspection_dependencies = [
    "pango",
    "gdk_pixbuf2",
    "cairo-gobject",
  ]
  package.cross_compiling do |spec|
    if /mingw|mswin/ =~ spec.platform.to_s
      spec.add_runtime_dependency("pango", ">= #{package.version}")
    end
  end

  if package.windows.build_architecture == "x86"
    librsvg_version = "2.40.20"
    librsvg_windows_patches = []
    librsvg_windows_need_autoreconf = false
    librsvg_windows_force_to_disable_deplibs_check = false
  else
    librsvg_version = "2.42.3"
    librsvg_windows_patches = [
      "librsvg-2.42-cross-compile.diff"
    ]
    librsvg_windows_need_autoreconf = true
    librsvg_windows_force_to_disable_deplibs_check = true
  end

  package.external_packages = [
    {
      :name => "libcroco",
      :download_site => :gnome,
      :label => "libcroco",
      :version => "0.6.12",
      :compression_method => "xz",
      :windows => {
        :configure_args => [
          "--enable-introspection",
        ],
        :built_file => "bin/libcroco-0.6-3.dll",
      },
    },
    {
      :name => "librsvg",
      :download_site => :gnome,
      :label => "librsvg",
      :version => librsvg_version,
      :compression_method => "xz",
      :windows => {
        :configure_args => [
          "--enable-introspection",
        ],
        :patches => librsvg_windows_patches,
        :need_autoreconf => librsvg_windows_need_autoreconf,
        :force_to_disable_deplibs_check => librsvg_windows_force_to_disable_deplibs_check,
        :built_file => "bin/librsvg-2-2.dll",
      },
    },
  ]
end
package_task.define
