clutter-gstreamer 2.0.1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile ADDED
@@ -0,0 +1,70 @@
1
+ # -*- ruby -*-
2
+ #
3
+ # Copyright (C) 2013 Ruby-GNOME2 Project Team
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+
19
+ $LOAD_PATH.unshift("./../glib2/lib")
20
+ require "gnome2/rake/package-task"
21
+
22
+ package_task = GNOME2::Rake::PackageTask.new do |package|
23
+ package.summary = "Ruby/ClutterGStreamer is a Ruby binding of Clutter-GStreamer."
24
+ package.description = "Ruby/ClutterGStreamer is a Ruby binding of Clutter-GStreamer."
25
+ package.dependency.gem.runtime = ["clutter", "gstreamer"]
26
+ package.dependency.gem.development = ["test-unit-notify"]
27
+ package.windows.packages = []
28
+ package.windows.dependencies = []
29
+ package.windows.build_dependencies = [
30
+ "glib2",
31
+ "gdk_pixbuf2",
32
+ "atk",
33
+ "pango",
34
+ "gobject-introspection",
35
+ "clutter",
36
+ "gstreamer",
37
+ ]
38
+ package.windows.gobject_introspection_dependencies = [
39
+ "atk",
40
+ "pango",
41
+ "clutter",
42
+ "gstreamer",
43
+ ]
44
+ package.external_packages = [
45
+ {
46
+ :name => "clutter-gst",
47
+ :download_site => :gnome,
48
+ :label => "Clutter-GStreamer",
49
+ :version => "2.0.2",
50
+ :compression_method => "xz",
51
+ :windows => {
52
+ :configure_args => [
53
+ "--enable-introspection",
54
+ ],
55
+ },
56
+ }
57
+ ]
58
+ end
59
+ package_task.define
60
+
61
+ Rake::Task["native:clutter-gstreamer:i386-mingw32"].prerequisites.clear
62
+
63
+ namespace :dependency do
64
+ desc "Install depenencies"
65
+ task :install do
66
+ # TODO: Install gir1.2-clutter-gst-1.0 on Debian.
67
+ end
68
+ end
69
+
70
+ task :build => "dependency:install"
@@ -0,0 +1,77 @@
1
+ # Copyright (C) 2013 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ require "clutter"
18
+ require "gst"
19
+
20
+ base_dir = Pathname.new(__FILE__).dirname.dirname.expand_path
21
+ vendor_dir = base_dir + "vendor" + "local"
22
+ vendor_bin_dir = vendor_dir + "bin"
23
+ GLib.prepend_dll_path(vendor_bin_dir)
24
+ vendor_girepository_dir = vendor_dir + "lib" + "girepository-1.0"
25
+ GObjectIntrospection.prepend_typelib_path(vendor_girepository_dir)
26
+
27
+ module ClutterGst
28
+ LOG_DOMAIN = "Clutter-GStreamer"
29
+ GLib::Log.set_log_domain(LOG_DOMAIN)
30
+
31
+ class << self
32
+ def const_missing(name)
33
+ init
34
+ if const_defined?(name)
35
+ const_get(name)
36
+ else
37
+ super
38
+ end
39
+ end
40
+
41
+ def init(argv=[])
42
+ loader = Loader.new(self, argv)
43
+ loader.load("ClutterGst")
44
+ class << self
45
+ remove_method(:init)
46
+ remove_method(:const_missing)
47
+ end
48
+ end
49
+ end
50
+
51
+ class Loader < GObjectIntrospection::Loader
52
+ class InitError < StandardError
53
+ end
54
+
55
+ def initialize(base_module, init_arguments)
56
+ super(base_module)
57
+ @init_arguments = init_arguments
58
+ end
59
+
60
+ private
61
+ def pre_load(repository, namespace)
62
+ init = repository.find(namespace, "init")
63
+ arguments = [
64
+ 1 + @init_arguments.size,
65
+ [$0] + @init_arguments,
66
+ ]
67
+ error, argc, argv = init.invoke(arguments)
68
+ @init_arguments.replace(argv)
69
+ if error.to_i <= 0
70
+ raise InitError, "failed to initialize Clutter-GStreamer: #{error.name}"
71
+ end
72
+ end
73
+
74
+ def post_load(repository, namespace)
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,21 @@
1
+ # Copyright (C) 2013 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ require "test-unit"
18
+ require "test/unit/notify"
19
+
20
+ module ClutterGStreamerTestUtils
21
+ end
data/test/run-test.rb ADDED
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Copyright (C) 2013 Ruby-GNOME2 Project Team
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+
19
+ ruby_gnome2_base = File.join(File.dirname(__FILE__), "..", "..")
20
+ ruby_gnome2_base = File.expand_path(ruby_gnome2_base)
21
+
22
+ glib_base = File.join(ruby_gnome2_base, "glib2")
23
+ gobject_introspection_base = File.join(ruby_gnome2_base, "gobject-introspection")
24
+ clutter_base = File.join(ruby_gnome2_base, "clutter")
25
+ gstreamer_base = File.join(ruby_gnome2_base, "gstreamer")
26
+
27
+ modules = [
28
+ [glib_base, "glib2"],
29
+ [gobject_introspection_base, "gobject-introspection"],
30
+ [clutter_base, "clutter"],
31
+ [gstreamer_base, "gstreamer"],
32
+ ]
33
+ modules.each do |target, module_name|
34
+ if system("which make > /dev/null")
35
+ `make -C #{target.dump} > /dev/null` or exit(false)
36
+ end
37
+ $LOAD_PATH.unshift(File.join(target, "ext", module_name))
38
+ $LOAD_PATH.unshift(File.join(target, "lib"))
39
+ end
40
+
41
+ $LOAD_PATH.unshift(File.join(glib_base, "test"))
42
+ require "glib-test-init"
43
+
44
+ $LOAD_PATH.unshift(File.join(gobject_introspection_base, "test"))
45
+ require "gobject-introspection-test-utils"
46
+
47
+ $LOAD_PATH.unshift(File.join(clutter_base, "test"))
48
+ require "clutter-test-utils"
49
+
50
+ require "clutter-gstreamer"
51
+
52
+ exit Test::Unit::AutoRunner.run(true)
metadata ADDED
@@ -0,0 +1,96 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: clutter-gstreamer
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - The Ruby-GNOME2 Project Team
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-05-25 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: clutter
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - '='
20
+ - !ruby/object:Gem::Version
21
+ version: 2.0.1
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - '='
28
+ - !ruby/object:Gem::Version
29
+ version: 2.0.1
30
+ - !ruby/object:Gem::Dependency
31
+ name: gstreamer
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - '='
36
+ - !ruby/object:Gem::Version
37
+ version: 2.0.1
38
+ type: :runtime
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - '='
44
+ - !ruby/object:Gem::Version
45
+ version: 2.0.1
46
+ - !ruby/object:Gem::Dependency
47
+ name: test-unit-notify
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description: Ruby/ClutterGStreamer is a Ruby binding of Clutter-GStreamer.
63
+ email: ruby-gnome2-devel-en@lists.sourceforge.net
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - Rakefile
69
+ - lib/clutter-gst.rb
70
+ - test/clutter-gstreamer-test-utils.rb
71
+ - test/run-test.rb
72
+ homepage: http://ruby-gnome2.sourceforge.jp/
73
+ licenses: []
74
+ post_install_message:
75
+ rdoc_options: []
76
+ require_paths:
77
+ - lib
78
+ required_ruby_version: !ruby/object:Gem::Requirement
79
+ none: false
80
+ requirements:
81
+ - - ! '>='
82
+ - !ruby/object:Gem::Version
83
+ version: 1.8.5
84
+ required_rubygems_version: !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ requirements: []
91
+ rubyforge_project:
92
+ rubygems_version: 1.8.23
93
+ signing_key:
94
+ specification_version: 3
95
+ summary: Ruby/ClutterGStreamer is a Ruby binding of Clutter-GStreamer.
96
+ test_files: []