clutter-gstreamer 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []