Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/video
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.com>2020-11-26 18:07:41 +0300
committerGuillaume Desmottes <guillaume.desmottes@collabora.com>2021-01-04 14:26:45 +0300
commit8bc2e5ebb872612140a986897a78b37d3e52f78e (patch)
treed42da5f971f5c30f1e9deebd17c87c14b4ad96e6 /video
parentfc1bae347e51f08d53631ab3319cc490b6a9cca4 (diff)
use cargo-c to produce cdy and static libs
cargo-c will produce a pkg-config file making it easier to statically link plugins. Also add 'static' features for plugins depending on < 1.14 as this is the minimal required version to use static linking because of ABI changes in core.
Diffstat (limited to 'video')
-rw-r--r--video/cdg/Cargo.toml19
-rw-r--r--video/closedcaption/Cargo.toml19
-rw-r--r--video/dav1d/Cargo.toml17
-rw-r--r--video/flavors/Cargo.toml19
-rw-r--r--video/gif/Cargo.toml19
-rw-r--r--video/hsv/Cargo.toml19
-rw-r--r--video/rav1e/Cargo.toml19
-rw-r--r--video/rspng/Cargo.toml19
8 files changed, 142 insertions, 8 deletions
diff --git a/video/cdg/Cargo.toml b/video/cdg/Cargo.toml
index e5c73207c..30db58d9a 100644
--- a/video/cdg/Cargo.toml
+++ b/video/cdg/Cargo.toml
@@ -23,8 +23,25 @@ gst-app = { package = "gstreamer-app", git = "https://gitlab.freedesktop.org/gst
[lib]
name = "gstcdg"
-crate-type = ["cdylib", "rlib", "staticlib"]
+crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[build-dependencies]
gst-plugin-version-helper = { path="../../version-helper" }
+
+[features]
+# GStreamer 1.14 is required for static linking
+static = ["gst/v1_14"]
+
+[package.metadata.capi]
+min_version = "0.7.0"
+
+[package.metadata.capi.header]
+enabled = false
+
+[package.metadata.capi.library]
+install_subdir = "gstreamer-1.0"
+versioning = false
+
+[package.metadata.capi.pkg_config]
+requires_private = "gstreamer-1.0, gstreamer-base-1.0, gstreamer-video-1.0, gobject-2.0, glib-2.0, gmodule-2.0"
diff --git a/video/closedcaption/Cargo.toml b/video/closedcaption/Cargo.toml
index edd3dad19..9646af5e7 100644
--- a/video/closedcaption/Cargo.toml
+++ b/video/closedcaption/Cargo.toml
@@ -45,9 +45,26 @@ package="gstreamer-check"
[lib]
name = "gstrsclosedcaption"
-crate-type = ["cdylib", "rlib", "staticlib"]
+crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[build-dependencies]
gst-plugin-version-helper = { path="../../version-helper" }
cc = "1.0"
+
+[features]
+# We already use 1.16 which is new enough for static build
+static = []
+
+[package.metadata.capi]
+min_version = "0.7.0"
+
+[package.metadata.capi.header]
+enabled = false
+
+[package.metadata.capi.library]
+install_subdir = "gstreamer-1.0"
+versioning = false
+
+[package.metadata.capi.pkg_config]
+requires_private = "gstreamer-1.0, gstreamer-base-1.0, gstreamer-video-1.0, gobject-2.0, glib-2.0, gmodule-2.0, pango, pangocairo, cairo-gobject"
diff --git a/video/dav1d/Cargo.toml b/video/dav1d/Cargo.toml
index 476fab14a..98d63cb5d 100644
--- a/video/dav1d/Cargo.toml
+++ b/video/dav1d/Cargo.toml
@@ -17,7 +17,7 @@ once_cell = "1.0"
[lib]
name = "gstrsdav1d"
-crate-type = ["cdylib", "rlib", "staticlib"]
+crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[build-dependencies]
@@ -25,3 +25,18 @@ gst-plugin-version-helper = { path = "../../version-helper" }
[features]
build = ["dav1d/build"]
+# GStreamer 1.14 is required for static linking
+static = ["gst/v1_14"]
+
+[package.metadata.capi]
+min_version = "0.7.0"
+
+[package.metadata.capi.header]
+enabled = false
+
+[package.metadata.capi.library]
+install_subdir = "gstreamer-1.0"
+versioning = false
+
+[package.metadata.capi.pkg_config]
+requires_private = "gstreamer-1.0, gstreamer-base-1.0, gstreamer-video-1.0, gobject-2.0, glib-2.0, gmodule-2.0, dav1d"
diff --git a/video/flavors/Cargo.toml b/video/flavors/Cargo.toml
index aa2c6ddb4..9da1c3643 100644
--- a/video/flavors/Cargo.toml
+++ b/video/flavors/Cargo.toml
@@ -21,8 +21,25 @@ smallvec = "1.0"
[lib]
name = "gstrsflv"
-crate-type = ["cdylib", "rlib", "staticlib"]
+crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[build-dependencies]
gst-plugin-version-helper = { path="../../version-helper" }
+
+[features]
+# GStreamer 1.14 is required for static linking
+static = ["gst/v1_14"]
+
+[package.metadata.capi]
+min_version = "0.7.0"
+
+[package.metadata.capi.header]
+enabled = false
+
+[package.metadata.capi.library]
+install_subdir = "gstreamer-1.0"
+versioning = false
+
+[package.metadata.capi.pkg_config]
+requires_private = "gstreamer-1.0, gstreamer-base-1.0, gobject-2.0, glib-2.0, gmodule-2.0"
diff --git a/video/gif/Cargo.toml b/video/gif/Cargo.toml
index f25283fe3..430da8480 100644
--- a/video/gif/Cargo.toml
+++ b/video/gif/Cargo.toml
@@ -20,7 +20,7 @@ gst-check = { package = "gstreamer-check", git = "https://gitlab.freedesktop.org
[lib]
name = "gstgif"
-crate-type = ["cdylib", "rlib", "staticlib"]
+crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[[example]]
@@ -29,3 +29,20 @@ path = "examples/testvideosrc2gif.rs"
[build-dependencies]
gst-plugin-version-helper = { path="../../version-helper" }
+
+[features]
+# GStreamer 1.14 is required for static linking
+static = ["gst/v1_14"]
+
+[package.metadata.capi]
+min_version = "0.7.0"
+
+[package.metadata.capi.header]
+enabled = false
+
+[package.metadata.capi.library]
+install_subdir = "gstreamer-1.0"
+versioning = false
+
+[package.metadata.capi.pkg_config]
+requires_private = "gstreamer-1.0, gstreamer-video-1.0, gobject-2.0, glib-2.0, gmodule-2.0"
diff --git a/video/hsv/Cargo.toml b/video/hsv/Cargo.toml
index bdcf6b9d7..45acbd342 100644
--- a/video/hsv/Cargo.toml
+++ b/video/hsv/Cargo.toml
@@ -23,8 +23,25 @@ gst_check = { package = "gstreamer-check", git = "https://gitlab.freedesktop.org
[lib]
name = "gsthsv"
-crate-type = ["cdylib", "rlib", "staticlib"]
+crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[build-dependencies]
gst-plugin-version-helper = { path="../../version-helper" }
+
+[features]
+# GStreamer 1.14 is required for static linking
+static = ["gst/v1_14"]
+
+[package.metadata.capi]
+min_version = "0.7.0"
+
+[package.metadata.capi.header]
+enabled = false
+
+[package.metadata.capi.library]
+install_subdir = "gstreamer-1.0"
+versioning = false
+
+[package.metadata.capi.pkg_config]
+requires_private = "gstreamer-1.0, gstreamer-base-1.0, gstreamer-video-1.0, gstreamer-audio-1.0, gobject-2.0, glib-2.0, gmodule-2.0" \ No newline at end of file
diff --git a/video/rav1e/Cargo.toml b/video/rav1e/Cargo.toml
index 8e0d2f30f..f1cf6c24d 100644
--- a/video/rav1e/Cargo.toml
+++ b/video/rav1e/Cargo.toml
@@ -20,8 +20,25 @@ gst-check = { package = "gstreamer-check", git = "https://gitlab.freedesktop.org
[lib]
name = "gstrav1e"
-crate-type = ["cdylib", "rlib", "staticlib"]
+crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[build-dependencies]
gst-plugin-version-helper = { path="../../version-helper" }
+
+[features]
+# GStreamer 1.14 is required for static linking
+static = ["gst/v1_14"]
+
+[package.metadata.capi]
+min_version = "0.7.0"
+
+[package.metadata.capi.header]
+enabled = false
+
+[package.metadata.capi.library]
+install_subdir = "gstreamer-1.0"
+versioning = false
+
+[package.metadata.capi.pkg_config]
+requires_private = "gstreamer-1.0, gstreamer-video-1.0, gobject-2.0, glib-2.0, gmodule-2.0"
diff --git a/video/rspng/Cargo.toml b/video/rspng/Cargo.toml
index 87a7c4051..71095a401 100644
--- a/video/rspng/Cargo.toml
+++ b/video/rspng/Cargo.toml
@@ -21,8 +21,25 @@ gst_check = { package = "gstreamer-check", git = "https://gitlab.freedesktop.org
[lib]
name = "gstrspng"
-crate-type = ["cdylib", "rlib", "staticlib"]
+crate-type = ["cdylib", "rlib"]
path = "src/lib.rs"
[build-dependencies]
gst-plugin-version-helper = { path="../../version-helper" }
+
+[features]
+# GStreamer 1.14 is required for static linking
+static = ["gst/v1_14"]
+
+[package.metadata.capi]
+min_version = "0.7.0"
+
+[package.metadata.capi.header]
+enabled = false
+
+[package.metadata.capi.library]
+install_subdir = "gstreamer-1.0"
+versioning = false
+
+[package.metadata.capi.pkg_config]
+requires_private = "gstreamer-1.0, gstreamer-video-1.0, gobject-2.0, glib-2.0, gmodule-2.0"